Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers -...

26
Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012 Steganalysis by Ensemble Classifiers with Boosting by Regression, and Post-Selection of Features Marc Chaumont, Sarra Kouider LIRMM, Montpellier, France October 2, 2012 IEEE International Conference on Image Processing 2012, Sept. 30 - Oct. 3 2012, Orlando, USA.

Transcript of Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers -...

Page 1: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Steganalysis by Ensemble Classifierswith Boosting by Regression,

and Post-Selection of Features

Marc Chaumont, Sarra KouiderLIRMM, Montpellier, France

October 2, 2012

IEEE International Conference on Image Processing 2012,

Sept. 30 - Oct. 3 2012, Orlando, USA.

Page 2: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Preamble

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 3: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Preamble

Steganography vs Steganalysis

Page 4: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Preamble

The proposition

An Improvement of a state-of-the-art steganalyzer

PE ↘ of the steganalyzer THANKS TO

boosting by regression of low complexity,

post-selection of features of low complexity.

Page 5: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

The Kodovsky’s Ensemble Classifiers

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 6: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

The Kodovsky’s Ensemble Classifiers

Notable properties

Appeared during BOSS challenge (sept. 2010 - jan. 2011),

Performances ≡ to SVM,

Scalable regarding the dimension of the features vector,

Low computational complexity,

Low memory complexity,

Easily parallelizable.

J. Kodovsky, J. Fridrich, and V. Holub,“Ensemble classifiers for steganalysis of digital media,”IEEE Transactions on Information Forensics and Security, vol. 7, no. 2, pp. 432–444, 2012.

Page 7: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

The Kodovsky’s Ensemble Classifiers

Definition of a weak classifier

Ensemble Classifiers is made of L weak classifiers

Let x ∈ Rd a feature vector,

A weak classifier, hl , returns 0 for cover, 1 for stego :

hl : Rd → {0, 1}x → hl(x)

Page 8: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

The Kodovsky’s Ensemble Classifiers

How does classification work?

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (majority vote):

C (x) =

{0 if

∑l=Ll=1 hl(x) ≤ L/2,

1 otherwise.

Page 9: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 10: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Weighting the weak classifiers

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (majority vote):

C (x) =

{0 if

∑l=Ll=1 hl(x) ≤ L/2,

1 otherwise.

The classification (steganalysis) process was:

Page 11: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Weighting the weak classifiers

BUT : some weak classifiers are less efficient than others.THEN : introduce weights !

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (majority vote):

C (x) =

{0 if

∑l=Ll=1 hl(x) ≤ L/2,

1 otherwise.

The classification (steganalysis) process was:

Page 12: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Weighting the weak classifiers

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (weighted vote):

C (x) =

{0 if

∑l=Ll=1 αlhl(x) ≤

∑l=Ll=1 αl

2 ,1 otherwise.

The classification (steganalysis) process is now:

Page 13: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Weighting the weak classifiers

How to calculate those weights with a small computational complexity ?

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (weighted vote):

C (x) =

{0 if

∑l=Ll=1 αlhl(x) ≤

∑l=Ll=1 αl

2 ,1 otherwise.

The classification (steganalysis) process is now:

Page 14: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Boosting by regression

Analytic expression of the weights

During learning step:

{αl} = arg{αl}

min PE .

simplify PE expression,

least squares problem⇒ linear system A.X = B with X the weights :

Ai ,j =n=N∑n=1

hi (xn)hj(xn), Bi =n=N∑n=1

hi (xn)yn.

... solved thanks to a library of linear algebra.

Order of complexity unchanged.

Page 15: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Post-selection of features

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 16: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Post-selection of features

Reducing the dimension with few computations

Selection of features:

Pre-selection may cost a lot.

What about post-selection?

1 Take an image to analys (i.e. classify in cover or stego),

2 Extract the features vector x ∈ Rd ,

3 Decide to classify cover or stego (weighted vote):

C (x) =

{0 if

∑l=Ll=1 αlhl(x) ≤

∑l=Ll=1 αl

2 ,1 otherwise.

Remember: The classification (steganalysis) process is now:

Page 17: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Post-selection of features

Order of complexity unchanged.

Algorithm :

1 Compute a score for each feature; first database reading,

2 Define an order of selection of the features,

3 Find the best subset (lowest PE ); second database reading.

Once a weak classifier learned : suppress the features reducing PE :

Page 18: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Experiments

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 19: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Experiments

Experimental conditions

10 000 greyscale images (512×512, BOSS database),

The same 10 000 embedded at 0.4 bpp with HUGO,

Feature vector dimension d = 5330 features (HOLMES subset),

5 different splits, 5 different seeds,

HUGO: “Using High-Dimensional Image Models to Perform Highly UndetectableSteganography”T. Pevny, T. Filler, and P. Bas, in Information Hiding, IH’2010.

HOLMES: “Steganalysis of Content-Adaptive Steganography in Spatial Domain”

J. Fridrich, J. Kodovsky, V. Holub, and M. Goljan, in Information Hiding, IH’2011.

Page 20: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Experiments

Steganalysis results

Page 21: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Experiments

Steganalysis results

Recall increase = 1.7%

Same computational complexity order

Page 22: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Conclusion

Outline

1 Preamble

2 The Kodovsky’s Ensemble Classifiers

3 Boosting by regression

4 Post-selection of features

5 Experiments

6 Conclusion

Page 23: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Conclusion

Summary

Two propositions for the Kodovsky steganalyzer:

boosting by regression,post-selection of features.

Significant recall increase (1.7%)

No change in computational complexity order

Page 24: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Conclusion

Annex: Metrics (1)

Distance between the two classes:

c(l)1 [j] =

|µ1[j]− µ0[j]|√σ2

1 [j] + σ20 [j]

.

Influence of a feature on the final correlation/decision ( = dot product) used toclassify:

c(l)2 [j] =

i=N∑i=1

count(x(l)i [j],w(l)[j], yi ),

with:

count(x ,w , y) =

1 if [(x .w > 0 and y = 1)or (x .w < 0 and y = 0)],

0 otherwise.

c(l)3 [j] =

i=N∑i=1

count(x(l)i [j],w(l)[j], yi )∑k=dred

k=1 count(x(l)i [k],w(l)[k], yi )

.

Page 25: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Conclusion

Annex: Metrics (2)

Feature correlation with the class:

c(l)4 [j] = corr(x(l)[j], y)

=

∑i=Ni=1

(x

(l)i [j]− x(l)[j]

)(yi − y)√∑i=N

i=1

(x

(l)i [j]− x(l)[j]

)2√∑i=N

i=1 (yi − y)2

.

Feature correlation with the weak classifier:

c(l)5 [j] = corr(x(l)[j].w(l)[j], y).

Page 26: Steganalysis by Ensemble Classifiers with Boosting by ... · Steganalysis by Ensemble Classi ers - Marc Chaumont - ICIP’2012 Boosting by regression Weighting the weak classi ers

Steganalysis by Ensemble Classifiers - Marc Chaumont - ICIP’2012

Conclusion

Annex: PE in the Boosting by Regression

During learning step:{αl} = arg

{αl}min PE .

PE =1

N

i=N∑i=1

(f

(l=L∑l=1

αlhl(xi )

)− yi

).

with f a thresholding function defined by:

f : R → {0, 1}

x → f (x) =

{0 if x ≤

∑l=Ll=1 αl

2 ,1 otherwise.

Let’s simplify, PE :

PE ≈1

N

i=N∑i=1

(l=L∑l=1

αlhl(xi )− yi

)2

.

⇒ least squares problem ... solved thanks to a library of linear algebra.