9
P. Muneesawang et al. (Eds.): PCM 2009, LNCS 5879, pp. 858–866, 2009. © Springer-Verlag Berlin Heidelberg 2009 Image Splicing Detection Using Multi-resolution Histogram Jin Liu, Hefei Ling * , Fuhao Zou, and Zhengding Lu Intelligent and Distributed Computing Lab, College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, 430074, China [email protected], [email protected], [email protected], [email protected] Abstract. In this paper, we investigate the prospect of using multi-resolution histogram of an image as features to detect image splicing which is the operations that copy and move a part of an image to another destination. Multi-resolution histogram is a kind of statistical feature which contains image’s spatial information. Then Support Vector Machine (SVM) is used to train and test as classifier for estimating whether a given digital image is a splicing image or an authentic image. The experiment shows that the method is simplicity and efficiency. Keywords: Digital image forensic, blind forensic, image splicing detection, multi-resolution histogram. 1 Introduction With the development of digital image processing technology, and widely use of digital image processing software, such as Photoshop, modification of digital image becomes an easy work for many people who has no professional knowledge. On one hand, it makes our lives more colorful; On the other hand, the digital image’s authenticity becomes more and more doubtful. Then, digital image forensics aiming at the digital image’s authentication becomes a significant research area. Basically, image forgery methods may be divided into two kinds, one is computer graphics, and it’s forensic method is discussed in [1]. Another kind of image forgery method, splicing, is the operation that copy a part of an image, then paste it to different position of the image, or paste it to different image, as shown in Fig. 1. This operation can easily misguide people’s understanding about the content of the image. An example is demonstrated in Fig 1 (c), (d), people may be confused with the environment where the cheetah is in. Splicing in the same image is also called copy-move operation. Exhausting search is an easy way to detect this operation, because there are two or more completely identical parts in one image. And this kind of method has been studied in [2-6]. Obviously, this * Corresponding author.

[Lecture Notes in Computer Science] Advances in Multimedia Information Processing - PCM 2009 Volume 5879 || Image Splicing Detection Using Multi-resolution Histogram

  • Upload
    xiaoou

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

P. Muneesawang et al. (Eds.): PCM 2009, LNCS 5879, pp. 858–866, 2009. © Springer-Verlag Berlin Heidelberg 2009

Image Splicing Detection Using Multi-resolution Histogram

Jin Liu, Hefei Ling*, Fuhao Zou, and Zhengding Lu

Intelligent and Distributed Computing Lab, College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, 430074, China

[email protected], [email protected], [email protected], [email protected]

Abstract. In this paper, we investigate the prospect of using multi-resolution histogram of an image as features to detect image splicing which is the operations that copy and move a part of an image to another destination. Multi-resolution histogram is a kind of statistical feature which contains image’s spatial information. Then Support Vector Machine (SVM) is used to train and test as classifier for estimating whether a given digital image is a splicing image or an authentic image. The experiment shows that the method is simplicity and efficiency.

Keywords: Digital image forensic, blind forensic, image splicing detection, multi-resolution histogram.

1 Introduction

With the development of digital image processing technology, and widely use of digital image processing software, such as Photoshop, modification of digital image becomes an easy work for many people who has no professional knowledge. On one hand, it makes our lives more colorful; On the other hand, the digital image’s authenticity becomes more and more doubtful. Then, digital image forensics aiming at the digital image’s authentication becomes a significant research area.

Basically, image forgery methods may be divided into two kinds, one is computer graphics, and it’s forensic method is discussed in [1]. Another kind of image forgery method, splicing, is the operation that copy a part of an image, then paste it to different position of the image, or paste it to different image, as shown in Fig. 1. This operation can easily misguide people’s understanding about the content of the image. An example is demonstrated in Fig 1 (c), (d), people may be confused with the environment where the cheetah is in.

Splicing in the same image is also called copy-move operation. Exhausting search is an easy way to detect this operation, because there are two or more completely identical parts in one image. And this kind of method has been studied in [2-6]. Obviously, this * Corresponding author.

Image Splicing Detection Using Multi-resolution Histogram 859

method may be invalidation when splicing is between different images. Recently, lots of work has been done on this kind of splicing detection. In [7], bi-coherence features were used to train SVM to make blind detection of photomontage. In [8], moment features and selected Image Quality Metrics (IQMs) were used as features and trained by SVM to classify authentic and spliced images. And in another paper [9] of theirs, the classifier is changed to Artificial Neural Network. In [10], higher order statistical fea-tures of 2D DWT local autocorrelation and RBF neural network are employed to detect splice process. In [11], geometry invariants and camera characteristics consistency are used to detect image splicing. These studies focus on the accuracy of detection, but ignore the efficiency. For example, in [11], feature extraction costs 11 minutes, and the training of SVM costs 5 hours.

Fig. 1. Shown are authentic image and spliced image samples from Columbia Image Splicing Detection Evaluation Dataset. (a) is an authentic image, and (b), (c), (d) are spliced images.

In this paper, we focus on the method which may ensure the efficiency and accuracy of the splicing detection at the same time. We suppose that all images are divided into two classes, one is the spliced image, and the other is the authentic image. Therefore splicing detection between different images can be regarded as a binary decision problem. The goal is to decide which class a new image belongs to. We endeavor to extract multi-resolution histogram from an image as features that characterize an image because of the multi-resolution histogram’s simplicity and efficiency, and then choose support vector machine (SVM) as a classifier to train and test the data.

The rest of the paper is organized as follows: Section 2 describes the extraction of multi-resolution histogram of an image. Section 3 describes experiment procedure. And then, the experiment procedure and results are reported in Section 4. Finally, conclusion is presented in Section 5.

(a) (b)

(d) (c)

860 J. Liu et al.

2 Feature Extraction

A plain histogram of an image is produced first by discretization of the graylevel in the image into a number of bins, and counting the number of image pixels. The plain his-togram provides a compact summarization of the distribution of data in an image. It is highly efficient and robust, but does not represent spatial information.

A multi-resolution histogram is the set of plain histograms of an image at multiple resolutions. It is an image representation since multi-resolution is applied to the image [12]. So, the multi-resolution retains the simplicity and efficiency of plain histogram. The multi-resolution histogram represents spatial information while the plain histo-gram doesn’t. To illuminate that, the equivalence between the histogram and the generalized image entropies has been exploited, and extended to multi-resolution his-togram in [12, 13] as below.

Assume an image L has a continuous domain D with spatial coordi-nates ( ),X x y= . The resolution of the image is decreased linearly with σ by con-volving the image with a Gaussian kernel ( )G σ . The convolution gives the image

( )L G σ∗ with histogram ( )( )h L G σ∗ . The rate of change of the image histogram with respect to image resolution is given by ( )( )d

h L Gd

σσ

∗ . Then the Tsallis generalized entropies of the image L with a unit 1L norm and M graylevels are given by:

( ) ( ) 12

01 1

qq Mj j

q jjD

v vL X L XS d x h

q q

=

⎛ ⎞−−= = ⎜ ⎟⎜ ⎟− −⎝ ⎠

∑∫ (1)

Where q is a continuous parameter, and jh is the histogram density of grayscale value

jv . In the limit 1q → the Tsallis generalized entropies reduce to the Shannon entropy. The rate at which generalized image entropies change with respect to image reso-

lution, ( )( )q

dS L G

σ∗ , are given by the generalized Fisher information measures by:

( )( ) ( ) ( )( ) ( )2 2| | q

q q

D

L XdS L G J L L X d x

d L Xσ

σ∇

∗ = = ∫ (2)

The “sharpness” or spatial variation at a pixel is given by ( ) ( ) 2| / |L X L X∇ . Hence, the average sharpness as can be seen from equation (2) is 1J , namely the Fisher informa-tion. In general, functional qJ measures a weighted average “sharpness” of an image.

Differentiate equation (1) with respect to resolution and substitute the first equality in equation (2) to get:

1

0 1

qMj j j

qj

v v dhJ

q dσ

=

⎛ ⎞−= ⎜ ⎟⎜ ⎟−⎝ ⎠∑ (3)

Therefore, qJ is a linear function of the rate at which the histogram bins change with resolution. The proportionality factors of qJ weigh heavier the rate of change of the histogram bins corresponding to large intensity values.

Then it is derived that the histogram bins change’s rate with image resolution are linear transforms of the values of qJ . In other word, the values of qJ are the measures of image variation that can encode shape and texture parameters. So, the multi-resolution histogram is sensitivity to spatial information.

Image Splicing Detection Using Multi-resolution Histogram 861

Compared with plain histogram, the multi-resolution histogram possesses more spatial information and then has been widely used in the area of object recognition [13]. Moreover, the multi-resolution histogram retains the simplicity, efficiency of the plain histograms. As described in section 1, image splicing is kind of copy-move operation which may change image spatial information. So, in this paper, we investigate the prospect of using multi-resolution histogram of an image as features to detect image splicing operations.

While a plain histogram with bins width w is described as { ( ) | 1, , }w wH h j j n= = , where n is the number of bins. Then the procedure of an image’s multi-resolution histogram extraction is shown in Fig.2:

1) For an image, an 8 bit depth Burt-Adelson pyramid algorithm is used to build a l levels pyramid which is multi-resolution. That means each level of pyramid is corresponding to one resolution of the image.

2) Compute the plain histogram iwH of each resolution of the image, where i is

corresponding to the level of multi-resolution pyramid, and 0 1i l≤ ≤ − . w is the width of bins.

3) Compute the cumulative histogram 'iwH corresponding to each resolution of

the image. The cumulative histogram is used to eliminate the negative effects of the zero value in plain histogram. Then all l cumulative histograms of an image are obtained.

4) Compute the differences between the cumulative histograms 'iwH of consecu-

tive image resolutions, where 1'' ' ' (0 2)i i iw w wH H H i l+= − ≤ ≤ − . An image with l

levels resolution pyramid has 1l − difference histograms. If each of difference histograms is regarded as n dimensions feature vector (each dimension is corresponding to one bin), all of them compose ( )1n l⋅ − dimensions feature vector of an image.

0 5 10 15 20 25 30 35-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

Difference

histograms

(

Plain

histograms

Cumulative

histograms Multi-resolution pyramid

L

0 5 10 15 20 25 30 35-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

0 5 10 15 20 25 30 35-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

dimension

feature vector)

Fig. 2. Obtain multi-resolution histogram as features of an image. For l levels of multi- resolution pyramid of an image, l corresponding cumulative histograms are obtained, and then

1l − difference histograms are computed.

862 J. Liu et al.

In this paper, considering the efficiency of experiment, the bins width is 8w = , and the pyramid level number is 8l = . So, the number of bins of each histogram of the multi-resolution histogram is 82 / 32n w= = . And total number of bins of multi-resolution histogram of an image is ( ) ( )1 32 8 1 224n l⋅ − = ⋅ − = . Then the multi-resolution histogram may be regarded as a 224-D vector, and it is used as features which characterize an image.

3 Training and Testing Using SVM

With the procedure which is described in section 2, each image is represented as a 224-D feature, which is used as data by support vector machine (SVM). The SVM is employed to estimate the image is an authentic image or not. In short, the estimation can be divided into two steps, training and testing.

If some data is given as a set of points of the form:

( ) { }{ }1

, | , 1,1np

i i i i iD X c X R c

== ∈ ∈ − (4)

Fig. 3. Maximum-margin hyperplane and margins for a SVM trained with samples from two classes. Samples on the margin are called support vectors. Any hyperplane can be written as the set of points X satisfying 0W X b⋅ − = , where ⋅ denotes the dot product. The vector W is a normal vector: it is perpendicular to the hyperplane. Then SVM chooses W and b to maximize the margin, or distance between the parallel hyperplanes that are as far apart as possible while still separating the data.

Image Splicing Detection Using Multi-resolution Histogram 863

where the ic is either 1 or -1, indication the class to which the point iX belongs. Each

iX is a n -dimensional real vector. Then the maximum-margin hyperplane which divides the points having 1ic = from those having 1ic = − is given by SVM, and it is also called a SVM model. This step of obtaining SVM model is called training, and the data is used by this step is called training data. Then in the next step, the SVM model is used to estimate that a new data belongs to which class. The second step is called testing, and the data is called test data.

In Fig.3, an example of 2-dimension vector trained by SVM is shown. LIBSVM, one of the implements of the SVM classifier, is downloaded from [14]

and used in the experiment. In this paper, the images are divided into two classes, and +1 denotes the authentic images, -1 denotes the spliced image. We train part of images with LIBSVM to get SVM model. Then the SVM model is used to separate the test images into two classes, and this process is also called predict.

4 Experiment and Result

The Columbia Image Splicing Detection Evaluation Dataset [15] is an open data set which including 1845 image blocks with a fixed size of 128 128× pixels, 933 blocks of them are authentic images, and the rest 912 blocks are spliced images. In this work, the Columbia Image Splicing Detection Evaluation Dataset is used to create experimental data, part of them is used as training data, and the rest is test data.

The experiment procedure is shown in Fig.4:

1) Randomly select part of each of spliced images and authentic images to com-pose training sample set. The rest of images compose test sample set.

2) Obtain an image from training sample set, and +1 denotes authentic image, -1 denotes spliced image.

3) Calculate multi-resolution histogram of the image using the procedure de-scribed in section 2. Obtain a 224-D vector as features characterize the image.

4) Repeat 2) to 4) for each image in training sample set to obtain their features as training data for SVM.

5) Repeat 2) to 4) for each image in test sample set to obtain their features as test data for SVM.

6) Train SVM with training data to obtain SVM model and then use SVM model to predict test data. The result is recorded.

If p denotes percentage of training image set in total image set, and ASet , SSet denote authentic image set and spliced image set in total dataset respectively, then training image set ( )training A SSet p Set Set= ⋅ + , and test image set ( ) ( )1test A SSet p Set Set= − ⋅ + . Percentage p may be selected several times to get different result with different size of training image set. In this paper, p is selected as 60%, 70%, 80%, and 90%. While training image sample set is randomly select from total data set, considering experiment accuracy, the experiment procedure of each p is repeated several turns to get average result.

Experiment result is shown in Table 1.

864 J. Liu et al.

Image set

Obtain multi-resolution

histograms of an image

Obtain multi-resolution

histograms of an image

224-D feature 224-D feature

Train SVM

SVM Model Predict

Result

Training data

Train image set Test image set

Test data

All images done?

No No

All images done?

Yes Yes

Fig. 4. Experiment procedure. The procedure may repeat several times because the size of train image set is alterable and the experimental image set is randomly selected from the dataset.

Table 1. Experiment result

Ratio for

training

Accuracy Mean Average Precision Average Recall Average Time

(minutes)

60% 0.5997 0.6184 0.5041 14

70% 0.6129 0.6264 0.5355 13

80% 0.6224 0.6206 0.6026 13

90% 0.6488 0.6447 0.6595 12

Average 0.6210 0.6275 0.5754 13

Image Splicing Detection Using Multi-resolution Histogram 865

The accuracy mean accuracyM , average precision precisionM , and average recall recallM are little modified the definition in [7]:

( ) ( )| | | |

1/k k k k

accuracy S S A A S AkM N N N N

t • •= + +∑ (5)

| |

1/k k

precision S S SkM N N

t •= ∑ (6)

| |

1/k k

recall S S SkM N N

t •= ∑ (7)

where t denotes turns of experiment, and 0 1k t≤ ≤ − . It is easy to find that the test score improves with the increase of the size of training

image set, and better score is expected if the size of dataset is large enough. Meanwhile, because of the multi-resolution histogram’s simplicity and efficiency which retains from the plain histogram, the experiment’s efficiency is high, as one turn of the ex-periment which including feature extraction and train SVM costs no more than 15 minutes.

5 Conclusion

As the detection of splicing between different images is treated as a binary decision problem, there are two key points to make this decision easily and exact: one is the features which can characterize the image; another is the classifier which makes the decision.

In this paper, the multi-resolution histogram of an image is adopted as feature, and then trained with SVM to detect splicing operations.

Obviously, the experiment result’s baseline is not high, and the best accuracy in the result of experiment is not higher than 65%. But on the other hand, the result shows that the score improves with the increase of the size of training image set, especially the average recall.

With the multi-resolution histogram’s simplicity and efficiency and the use of SVM tool, the entire experiment’s procedure is simple and highly-efficient. And we think it is important as the real-time is a new requirement of splicing detection, especially when the splicing detection is used in a web-based system.

Acknowledgement

This work was supported by the National Natural Science Foundation of China (Grant No.60803112, Grant No.60873226, and Grant No.60502024); the Electronic Devel-opment Fund of Ministry of Information Industry of China (Grant No.[2007]329); the National High Technology Research and Development (863) Program of China (Grant No.2007AA01Z161).

Credits for the use of the Columbia Image Splicing Detection Evaluation Dataset are given to the DVMM Laboratory of Columbia University, CalPhotos Digital Library

866 J. Liu et al.

and the photographers listed in http://www.ee.columbia.edu/ln/dvmm/downloads/ AuthSplicedDataSet/photographers.htm

References

1. Tian-Tsong, N., et al.: Physics-motivated features for distinguishing photographic images and computer graphics. ACM, New York (2005)

2. Fridrich, J., Soukal, D., Lukas, J.: Detection of copy-move forgery in digital images. In: Proceedings of Digital Forensic Research Workshop. Springer, Cleveland (2003)

3. Popescu.A.C and Farid.H, Exposing Digital Forgeries by Detecting Duplicated Image Re-gions, in Technical Report TR2004-515, Department of Computer Science, Dartmouth College (2004)

4. Guohui, L., et al.: A sorted neighborhood approach for detecting duplicated regions in image forgeries based on DWT and SVD. IEEE, Piscataway (2007)

5. XiaoBing, K., ShengMin, W.: Identifying tampered regions using singular value decom-position in digital image forensics. IEEE, Piscataway (2008)

6. Hailing, H., Weiqiang, G., Yu, Z.: Detection of copy-move forgery in digital images using SIFT algorithm. IEEE, Piscataway (2008)

7. Ng, T., Chang, S., Sun, Q.: Blind Detection of Photomontage Using Higher Order Statistics. In: IEEE International Symposium on Circuits and Systems (ISCAS), Vancouver, Canada (2004)

8. Zhang, Z., Kang, J., Ren, Y.: An effective algorithm of image splicing detection. Inst. of Elec. and Elec. Eng. Computer Society, Wuhan (2008)

9. Zhen, Z., Yukun, B., Xijian, P.: Image blind forensics using artificial neural network. IEEE, Piscataway (2008)

10. Wei, L., et al.: Digital image forensics using statistical features and neural network classi-fier. IEEE, Piscataway (2008)

11. Hsu, Y.-F., Chang, S.-F.: Detecting image splicing using geometry invariants and camera characteristics consistency. Inst. of Elec. and Elec. Eng. Computer Society, Toronto (2006)

12. Hadjidemetriou, E., Grossberg, M.D., Nayar, S.K.: Spatial information in multiresolution histograms. IEEE Comput. Soc., Los Alamitos (2001)

13. Hadjidemetriou, E., Grossberg, M.D., Nayar, S.K.: Multiresolution histograms and their use for recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence 26(7), 831–847 (2004)

14. Chang, C.C., Lin, C.J.: LIBSVM: A Library for Support Vector Machines, http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html

15. Lab, C.D.R. Columbia Image Splicing Detection Evaluation Dataset (2004), http://www.ee.columbia.edu/ln/dvmm/downloads/ AuthSplicedDataSet/AuthSplicedDataSet.htm