A Model for Image Splicing Tian-Tsong Ng, Shih-Fu Chang

advertisement
A Model for Image Splicing
Tian-Tsong Ng, Shih-Fu Chang
Department of Electrical Engineering
Columbia University, New York, USA
Outline
„
Review
„
„
„
„
„
Bicoherence Features
„
„
„
Problem and Motivation
Our Approach
Definition: Bicoherence
Why Bicoherence good for splicing detection? Previous Hypothesis
Magnitude feature
Phase feature
Proposed Image Splicing Model
„
„
„
„
Bipolar Perturbation Hypothesis
Bicoherence of bipolar signal
Bipolar perturbation effect on magnitude feature
Bipolar perturbation effect on phase feature
Problem & Motivation: How much
can we trust digital images?
„
„
„
General problem: Image Forgery
Detection
Image Forgery: Images with manipulated
or fake content
(In)Famous examples:
„
„
„
March 2003: A Iraq war news photograph
on LA Times front page was found to be a
photomontage
Feb 2004: A photomontage showing John
Kerry and Jane Fonda together was
circulated on the Internet
Adobe Photoshop: 5 million registered
users
Definitions: Photomontage and
Spliced Image
„
Specific problem: Image Splicing Detection
„
Photomontage: A paste-up produced by sticking together
„
„
photographic images, possibly followed by post-processing
(e.g. edge softening and adding noise).
Spliced Image (see figures): Splicing of image fragments
without post-processing. A simplest form of photomontage.
Why interested in detecting image splicing?
„
„
spliced
Image splicing is a basic and essential operation in the
creation of photomontage
Therefore, a comprehensive solution for photomontage
detection includes detection of post-processing operations
and intelligent techniques for detecting internal scene
inconsistencies
spliced
Image Forgery Detection Approaches
Active approach:
„
„
„
Fragile/Semi Fragile Digital
Watermarking: Inserting digital
watermark at the source side
and verifying the mark integrity
at the detection side.
Authentication Signature:
Extracting image features for
generating authentication
signature at the source side and
verifying the image integrity by
signature comparison at the
receiver side.
Effective when there is
„
A secure trustworthy
camera
„
A secure digital
watermarking algorithm
„
A widely accepted
watermarking standard
Passive and blind approach:
„
„
Without any prior information (e.g.
digital watermark or authentication
signature), verifying whether an
image is authentic or fake.
Advantages: No need for watermark
embedding or signature generation
at the source side
What are the qualities of authentic
images?
„
Image Authenticity
„
Natural-imaging Quality
„
„
„
Natural-scene Quality
„
„
„
Entailed by natural imaging process with real
imaging devices, e.g. camera and scanner
Effects from optical low-pass, sensor noise, lens
distortion, demosicking, nonlinear transformation.
Entailed by physical light transport in 3D realworld scene with real-world objects
Results are real-looking texture, right shadow,
right perspective and shading, etc.
Computer Graphics
Examples:
„
Computer graphics and photomontages lack in
both qualities.
photomontage
Definition: Bicoherence
„
„
Bicoherence = normalized bispectrum (3rd order moment
spectra)
Definition (Bicoherence) The bicoherence of a signal x(t)
with its Fourier transform being X(ω) is given by:
Numerator =
Bispectrum
b(ω1 , ω2 ) =
E X [ X (ω1 ) X (ω2 ) X * (ω1 + ω2 )]
2
2
E X [ X (ω1 ) X (ω2 ) ]E X [ X (ω1 + ω2 ) ]
= b(ω1 , ω2 ) e jΦ ( b (ω1 ,ω2 )
Magnitude
Normalized by the Cauchy-Schwartz
Inequality upper bound
Notations:
⋅ = magnitude
Cauchy-Schwartz Inequality
2
Hilbert space, Κ = {x : x is a random variable satisfying E[ x ] < ∞}
2
2
E[ xy ∗ ] ≤ E[ x ] E[ y ]
Phase
( x , y ∈ Κ)
Φ (⋅) = phase
Why BIC is Good for Splicing
Detection? Hypothesis I [Farid99]
„
Quadratic Phase Coupling (QPC)
„
A phenomena where quadratic related frequencies
ω1 , ω2 and ω1 + ω2 has the same quadratic relationship
φ1 , φ2 and φ1 + φ2
Phases are quadratic coupled
(not independent)!
If (ω1 , ω2 , ω1+ω2) are quadratic phase
coupled,
If (ω1 , ω2 , ω1+ω2) have statistically
independent phase,
1) b(ω1 , ω2 ) would be 0 due
1) Φ[b(ω1 , ω2 )] would be 0
to statistical averaging
2) Φ[b(ω1 , ω2 )] would be random
Φ[X (ω1 ) X (ω2 ) X * (ω1 + ω2 )]
= Φ[X (ω1 )] + Φ[X (ω2 )] −Φ[X (ω1 + ω2 )]
= φ1 + φ2 − (φ1 + φ2 ) = 0
b(ω1 , ω2 ) =
E X [ X (ω1 ) X (ω2 ) X * (ω1 + ω2 )]
2
2
E X [ X (ω1 ) X (ω2 ) ]E X [ X (ω1 + ω 2 ) ]
2) b(ω1 , ω2 ) would be close to unity
(imagine X now becomes positive RV)
Hypothesis I (cont.)
Quadratic linear Operation
y (t ) = x (t ) 2 + x (t )
x(t ) = cos(ω1t + φ1 ) + cos(ω2 t + φ2 )
y (t ) = 12 cos(2ω1t + 2φ1 ) + 12 cos(2ω2t + 2φ2 )
+ cos((ω1 + ω2 )t + (φ1 + φ2 ))
+ cos((ω1 − ω2 )t + (φ1 − φ2 )) +
cos(ω1t + φ1 ) + cos(ω2t + φ2 ) + 1
Argument [Farid99]: Quadratic-linear operation gives rise to QPC and a
nonlinear function, in Taylor expansion, contains quadratic-linear term.
As splicing is a nonlinear operation, hence bicoherence is good at
detecting splicing.
Problems:
1. No detailed analysis was given.
2. The quadratic-linear operation here is a point-wise operation, it is not
clear how splicing can be related to a point-wise operation?
Outline
„
Review
„
„
„
„
„
Bicoherence Features
„
„
„
Problem and Motivation
Our Approach
Definition: Bicoherence
Why Bicoherence good for splicing? Quadratic Phase Coupling
Hypothesis
Magnitude feature
Phase feature
Proposed Image Splicing Model
„
„
„
„
Bipolar Perturbation Hypothesis
Bicoherence of bipolar signal
Bipolar perturbation effect on magnitude feature
Bipolar perturbation effect on phase feature
Columbia Image Splicing Detection
Evaluation Dataset
„
„
933 authentic and 912 spliced image blocks (128x128 pixels)
Extracted from
„
„
„
Berkeley’s CalPhotos images (contributed by photographers) which
we assume to be authentic
Splicing is done by cut-and-paste of arbitrary-shaped objects
and also vertical/horizontal strip.
Authentic
Samples
Textured Smooth
„
Textured Smooth Textured
Smooth Smooth Textured
Spliced
Download URL:
http://www.ee.columbia.edu/dvmm/newDownloads.htm
Definition: Phase Histogram
„
Phase histogram (normalized)
p(Ψ i ) =
1
M2
∑
Ω
1{Φ[b(ω1 , ω2 )] ∈ Ψ i }, i = −N ,..., N
where
1{true} = 1 otherwise 0
2πm1
2π m2
, ω2 =
; m1 , m2 = 0,..., M −1}
Ω = {ω1 , ω2 | ω1 =
M
M
(2i −1)π
(2i + 1)π
}
Ψ i = {φ |
≤φ ≤
(2 N + 1)
(2 N + 1)
Symmetry Property: For realvalued signal, bicoherence
phase histogram is
symmetrical, i.e.,
„
p ( Ψ i ) = p ( Ψ −i )
Strong phase
concentration at
±90°
Bicoherence Features
„
Definition: Phase feature
fP =
„
∑
i
p ( Ψ i ) log p ( Ψ i ) where p ( Ψ i ) is phase histogram
Definition: Magnitude feature
1
fM = 2
M
∑
( ω1 ,ω2 )∈Ω
b(ω1 , ω2 )
Additional Results on Bicoherence
Features [ISCAS’04]
0.9
0.85
0.8
62%
72%
Plain BIC
0.75
Prediction Residue
Plain BIC + Prediction Residue
0.7
Plain BIC + Edge
0.65
Prediction Residue + Edge
0.6
Plain BIC + Prediction Residue + Edge
0.55
0.5
Accuracy Mean
Average Percision
Average Recall
Outline
„
Review
„
„
„
„
„
Bicoherence Features
„
„
„
Problem and Motivation
Our Approach
Definition: Bicoherence
Why Bicoherence good for splicing? Quadratic Phase Coupling
Hypothesis
Magnitude feature
Phase feature
Proposed Image Splicing Model
„
„
„
„
Bipolar Perturbation Hypothesis
Bicoherence of bipolar signal
Bipolar perturbation effect on phase feature
Bipolar perturbation effect on magnitude feature
Hypothesis II:
Bipolar perturbation model
„
„
Original image signal is relatively smooth due to the
low-pass anti-aliasing operation in camera or
scanner.
Spliced image signal can have arbitrary discontinuity
∆
d ( x)
s p ( x)
k2
xo
= s ( x) + d ( x)
s ( x)
difference
s p ( x) − s ( x)
k1
Definition (Bipolar signal):
d ( x) = k 1 δ ( x − xo ) + k 2 δ ( x − xo − ∆) ⇔ D(ω ) = k1 exp(− jxo ω ) + k2 exp(− j ( xo + ∆)ω )
Fourier
transform
where δ (⋅) is a delta function, k1k2 < 0, ∆ > 0
Bicoherence of Bipolar Signal
„
Results: Bicoherence phase of bipolar
signal is concentrated at ±90°:
D(ω1 ) D(ω2 ) D∗ (ω1 + ω2 ) = 2k 3 j [sin(∆ω1 ) + sin(∆ω1 ) − sin(∆(ω1 + ω 2 ))]
Resulting in ±90° phase bias
„
When there is phase coherency,
bicoherence magnitude is close to unity
Bipolar Perturbation Effect on
Phase Feature
„
Bipolar perturbation
s p ( x ) = s ( x ) + d ( x ) ⇔ S p (ω ) = S (ω ) + D (ω )
Fourier
Transform
Numerator of the perturbed signal bicoherence:
Consistently contributing
to the ±90° phase, for
every (ω1, ω2) frequency
pair.
The contribution
depends on k, the
magnitude of the bipolar
S p (ω1 ) S p (ω2 ) S P∗ (ω1 + ω2 ) = S (ω1 ) S (ω2 ) S ∗ (ω1 + ω 2 ) +
C (ω1 , ω2 , k , ∆) + 2k 3 j [sin(∆ω1 ) + sin(∆ω1 ) − sin(∆(ω1 + ω2 )) ]
Cross term involves both
S(ω) and D(ω), hence we
assume that it has no
consistent phase across
all (ω1, ω2) frequency pair
Empirical Support for Bipolar
Perturbation Model
Spliced averaged phase histogram
- Authentic averaged phase histogram
More Spliced image
Spliced average phase histogram has blocks have large phase
Significantly greater 90 deg phase bias feature value
Effect of Bipolar Perturbation on
Magnitude Feature
s p ( x ) = s ( x ) + d ( x ) ⇔ S p (ω ) = S (ω ) + D (ω ) = k (
Fourier
Transform
S (ω )
+ G (ω ))
k
S (ω1 )
S (ω 2 )
S * (ω1 + ω 2 )
E[ k [
+ G (ω1 )] ⋅ [
+ G (ω 2 )] ⋅ [
+ G * (ω1 + ω 2 )]]
k
k
k
3
b(ω1 , ω 2 ) =
2
2
S (ω1 )
S (ω 2 )
S (ω1 + ω 2 )
E[ k [
+ G (ω1 )] ⋅ [
+ G (ω 2 )] ]E[k 2
+ G * (ω1 + ω 2 ) ]
k
k
k
4
Markov Inequality:
E[ S ( ω ) ]
S (ω )
p(
≥ ε) ≤
k
kε
For energy signal
(finite power)
∑
2
S (ω ) < ∞
S (ω )
≥ ε) = 0
lim p (
k →∞
k
Effect of Bipolar Perturbation on
Magnitude Feature (cont.)
S (ω )
lim p (
≥ ε) = 0
k →∞
k
⎛
⎞
⎜
⎟
| E[ D (ω1 ) D (ω 2 ) D * (ω1 + ω 2 )] |
lim P⎜ b(ω1 , ω 2 ) −
≥ε⎟=0
k →∞ ⎜
⎟
E[| D (ω1 ) D(ω 2 )] | 2 ]E[| D * (ω1 + ω 2 ) | 2 ]
⎝
⎠
Close to 1, due to phase
coherency of bipolar
signal
More Spliced image
blocks have large
magnitude feature value
Conclusions
„
„
„
„
We propose a bipolar perturbation model for
explaining the effectiveness of bicoherence in
detecting image splicing
The prediction of the model matches empirical
observations (90 deg phase bias)
Columbia Dataset for Image Splicing Detection
http://www.ee.columbia.edu/dvmm/newDow
nloads.htm
Recent related work in using image phase
information for estimating perceptual image blur:
„
Local phase coherence and the perception of blur
Z Wang and E P Simoncelli.
Neural Information Processing Systems, December 2003
(NIPS 2003).
Thank You
Proof of Markov Inequality
p ( x ≥ ε) =
∫
x ≥ε
p ( x) dx ≤
∫
x ≥ε
1
p ( x) dx ≤
ε
ε
x
+∞
∫
−∞
x p ( x)dx =
E[ x ]
ε
Proof of Cauchy-Schwartz
Inequality
tf + g
2
=t
2
f
2
+ 2t f , g + g
2
≥ 0, where t is a scalar
Note, the above expression is a quadratic polynomial of t
Then:
4 f,g
2
−4 f
f,g ≤ f
2
g
2
≤0
g = f, f
g, g
Effect of Bipolar Perturbation on
Magnitude Feature
„
Recall the correlation of bipolar signal:
D(ω1 ) D(ω2 ) D∗ (ω1 + ω2 ) = 2k 3 j [sin(∆ω1 ) + sin(∆ω1 ) − sin(∆(ω1 + ω2 )) ]
D (ω ) = k exp(− jxo ω ) + k exp(− j ( xo + ∆)ω ) = k exp(− jxo )(1 − exp(− j∆ω ))
In ideal case, if bipolar signal at every segment in the averaging term is
identical (having same k, xo and ∆) …..
Then, for every (ω1, ω2) frequency pair:
2
2
E[ D(ω1 ) D(ω2 ) D* (ω1 + ω2 )] = E[ D(ω1 ) D(ω2 ) ] E[ D(ω1 + ω 2 ) ]
⇔ D(ω1 ) D(ω2 ) = cD(ω1 + ω2 ) where c=constant
⇒ b(ω1 , ω2 ) = 1
Bicoherence
magnitude is 1!
Reach Cauchy-Schwartz
Inequality Upper Bound
Goal: Image Splicing Detection using
Natural-imaging Quality (NIQ)
„
„
„
NIQ: Authentic images comes directly from camera
and have low-pass property due to camera optical
anti-aliasing low-pass
Deviations from NIQ: Image splicing introduces
arbitrarily rough edges/discontinuities in image signal
We characterize such NIQ using bicoherence
Extraction of BIC Features from
image
128
1
2
3
Overlapping
segments
Negative Phase Entropy (P) *
fP =
∑
p (Ψ n ) log p (Ψ n )
n
5
h
∑
i
4
64
1
X k (ω1 ) X k (ω2 ) X k* (ω1 + ω2 )
∑
k
k
bˆ(ω1 , ω2 ) =
2 ⎞⎛ 1
2⎞
⎛1
⎜ ∑k X k (ω1 ) X k (ω2 ) ⎟⎜ ∑k X k (ω1 + ω2 ) ⎟
⎠
⎠⎝ k
⎝k
5
6
P = ( N1
128-points DFT
(with zero padding and
Hanning windowing)
Magnitude mean, f M =
f PiHorizontal )2 + ( N1
v
∑
* To reduce noise effect, phase
histogram is obtained from the BIC
components with magnitude
exceeding a threshold
i
f PiVertical )2
1
2
Ω
∑ω ω
(
1 , 2 )∈Ω
6
M = ( N1
h
∑
i
f MiHorizontal )2 + ( N1
v
∑
i
Vertical 2
f Mi
)
b(ω1 , ω2 )
Bipolar Perturbation Effect on
Phase Feature (cont.)
„
„
1
k
Estimation: ˆ
b(ω1, ω2 ) =
⎛1
⎜
⎝k
∑
k
∑
k
X k (ω1 ) X k (ω2 ) X k* (ω1 + ω2 )
2 ⎞⎛ 1
X k (ω1 ) X k (ω2 ) ⎟⎜
⎠⎝ k
∑
k
2⎞
X k (ω1 + ω2 ) ⎟
⎠
The strength of the final ±90° degree phase
bias also depends on
„
% segments in the averaging term having bipolar
Download