Enhanced state selection Markov model for image splicing detection
- Bo Su^{1},
- Quanqiao Yuan^{1},
- Shilin Wang^{1},
- Chenglin Zhao^{2} and
- Shenghong Li^{3}Email author
https://doi.org/10.1186/1687-1499-2014-7
© Su et al.; licensee Springer. 2014
Received: 20 November 2013
Accepted: 30 December 2013
Published: 15 January 2014
Abstract
Digital image splicing blind detection is becoming a new and important subject in information security area. Among various approaches in extracting splicing clues, Markov state transition probability feature based on transform domain (discrete cosine transform or discrete wavelet transform) seems to be most promising in the state of the arts. However, the up-to-date extraction method of Markov features has some disadvantages in not exploiting the information of transformed coefficients thoroughly. In this paper, an enhanced approach of Markov state selection is proposed, which matches coefficients to Markov states base on well-performed function model. Experiments and analysis show that the improved Markov model can employ more useful underlying information in transformed coefficients and can achieve a higher recognition rate as results.
Keywords
1. Introduction
With digital imaging equipment and processing software springing up, tampering of digital image has become so easy and convenient. A frequent and fundamental type of image tampering is splicing which pastes image fragments from the same or different images into the host image by crop-and-paste operation. Though there might be some more professional artifices such as scaling, rotation, brightening, blurring, and smoothing after splicing, a careful and skillful splicing image can avoid any obvious trace of manipulation even without any of those above post-operations. Just as what the dissymmetry of information security reveals, though digital image tampering is quite a simple thing with modern techniques, its detection is actually a tough mission. Consequently, when photos as a record of what have happened cannot be trusted, it is a great threat to our society security especially in aspects like news media, military, and legal arguments.
To certify the authenticity of photos, one of the traditional and useful detection methods is watermarking, which is widely used in copyright protection and digital image authentication [1]. Watermark method detects the tampered images by checking the embedded information which is inserted at the time of imaging [2]. However, most digital cameras do not have that function owing to cost or imaging quality consideration, which makes the approach not universal in application. What is more, all active detecting methods need prior information, which is not available for the third party, and so they are not adapted to many practical applications. In contrast, passive or named blind approaches for image splicing detection have no demand of prior information and only exploit the knowledge of the image itself, which make them more popular and make them gain more attention. In this paper, we focus on passive image splicing detection approach.
Many passive image splicing detection methods have been proposed in recent years [3]. In contrast to some earlier researches which emphasized on the splicing trace or duplication property on the space domain [4, 5], it is now widely believed that some statistical features in the transform domain which stand for the regularities of coefficient correlation would be disturbed by splicing. Upon this assumption, many promising models or algorithms have been proposed. Chen et al. [6] put forward a blind image splicing detection method based on two-dimensional (2-D) phase congruency and statistical moments of characteristic functions of wavelet sub-bands, which achieved a detection rate of 82.32%. Dong et al. [7] proposed a simple but efficient approach that is performing well both in detection accuracy and computational complexity; it extracted statistical features from image run-length representation and image edge statistics. Zhao et al. [8] came up with a method exploiting features of gray-level run-length run-number vectors from de-correlated chroma channels. In the work of Shi et al. [9], a nature image model was proposed, which combined together the characteristic function moments of wavelet sub-bands and Markov transition probabilities on block discrete cosine transform (DCT) coefficients as splicing features and achieved an average accuracy as high as 91.87%. Though it seems natural when we take more splicing features together, we are more likely to get some higher detection rates at the cost of more algorithm complexity and time consumption. The best merit of the work of Shi et al. [9] is that it revealed the promising prospect of Markov features on transform domain, in the sense of the 88.31% accuracy achieved by the 96-D Markov features alone which contributed most in the combined feature model. In another work [10], He et al. extended the Markov features in [9] to discrete wavelet transform (DWT) coefficients and combined them with features on block DCT coefficients. Also, despite the dimension of features going up to as high as 7,290 before REF feature elimination, it did achieve the best detection rate of 93.55% up to now on Columbia Image Splicing Detection Evaluation Dataset [11].
As previous research shows, the Markov feature on transform domain seems to have a better performance on image splicing detection compared with other statistical features. Thus, it is our best concern with Markov feature extraction model which has mostly two steps, i.e., state selection and state transform probability calculation. Both state selection methods in [9] and [10] are rounding and threshold, which is too simple to reflect all the useful information embodied in the transformed domain coefficients. In this paper, instead of resorting to higher dimensions and more complicated combination of features, we will thoroughly analyze the distribution characteristic of transformed domain coefficients and put forward our enhanced state selection method.
The rest of this paper is organized as follows. Splicing feature extraction process is explained in Section 2. We then analyze the coefficient distribution regulation, point out the disadvantages of previous state selection method, and propose our improved algorithm in Section 3. In Section 4, we give the experiment results which confirm the analysis in Section 3. Conclusion and discussion is given in Section 5.
2. Feature extraction
2. 1 Block discrete cosine transform
2.2 Discrete wavelet transform
2.3 Difference 2-D array
where (u, v) represents difference array coordinates, (i and j stand for original array coordinates, θ represents different directions (horizontal (h), vertical (v), diagonal (d), and minor diagonal (m)). This paper exploits difference array in horizontal and vertical directions to represent splicing features.
2.4 Markov transition probability matrix
Under the assumption that pasted parts are additive to the host image and the additive noise is independent to the host image, the distribution of the spliced image is the convolution of the distribution of the host image and that of the additive noise [9]. When additive splicing noise obeys Gaussian distribution, the splicing operation will cause the disturbance of concentration along the main diagonal of Markov transition probability matrix of the difference array, and this statistical artifact can be employed to detect splicing.
3. The enhanced Markov state selection method
The process of Markov feature extraction based on DCT or DWT are the same, as shown in Figure 1. Other parts except state selection are introduced in Section 2, and we will describe this part in detail, e.g., why doing this and how to do, after which our enhanced method is given.
As shown in the Section 2.4, Markov features are in fact transition probabilities calculated between states. However, the coefficients after difference operation of DCT or DWT are both continuous rational numbers, which is not convenient to be regarded as states directly. So, we need to select some limited states to represent all coefficients. By state selection, we mean the method of determining which state a specific coefficient stands for. Supposing we get N states, and the dimension of Markov transition probabilities will be N × N, which should be as small as possible considering the calculation complex and time consumption for classification on the premise of not affecting the recognition results too much.
3.1 The original Markov state selecting method and its disadvantages
- 1.
Rounding operation matches decimal coefficients to two neighboring states in a simple way and loses information carried by the variety of difference.
- 2.
Threshold makes the coefficients above T to T and loses the difference information, too.
Coefficient distribution after BDCT and difference operation with T = 3 or T = 4
BDCT | Horizontal difference (%) | Vertical difference (%) | ||||
---|---|---|---|---|---|---|
Threshold | In range T | Out of range T | Ratio of zero | In range T | Out of range T | Ratio of zero |
T = 3 | 57.3 | 42.7 | 30.3 | 57.2 | 42.8 | 30.3 |
T = 4 | 62.2 | 37.8 | 30.3 | 62.4 | 37.6 | 30.3 |
Level 2 sub-band coefficient distribution after DWT and difference operation with T = 3
T = 3 | Horizontal difference (%) | Vertical difference (%) | ||||
---|---|---|---|---|---|---|
Sub-band | In range T | Out of range T | Ratio of zero | In range T | Out of range T | Ratio of zero |
H1 | 71.2 | 28.8 | 29.4 | 69.2 | 30.8 | 28.5 |
V1 | 69.3 | 30.7 | 27.3 | 71.5 | 28.5 | 28.3 |
D1 | 85.2 | 14.8 | 45.4 | 86.3 | 13.7 | 46.2 |
H2 | 44.2 | 55.8 | 17.6 | 44.1 | 55.9 | 13.4 |
V2 | 43.6 | 56.4 | 12.2 | 42.5 | 57.5 | 11.3 |
D2 | 54.4 | 46.6 | 13.6 | 53.3 | 46.7 | 17.2 |
Level 2 sub-band coefficient distribution after DWT and difference operation with T = 4
T = 4 | Horizontal difference (%) | Vertical difference (%) | ||||
---|---|---|---|---|---|---|
Sub-band | In range T | Out of range T | Ratio of zero | In range T | Out of range T | Ratio of zero |
H1 | 77.4 | 22.6 | 29.2 | 75.1 | 24.9 | 28.6 |
V1 | 75.3 | 24.7 | 27.3 | 77.5 | 22.5 | 28.1 |
D1 | 89.1 | 10.9 | 45.2 | 90.2 | 9.8 | 46.5 |
H2 | 51.7 | 48.3 | 17.4 | 50.3 | 49.7 | 13.2 |
V2 | 49.5 | 50.5 | 12.1 | 49.6 | 50.4 | 11.5 |
D2 | 60.1 | 39.9 | 13.5 | 60.3 | 39.7 | 17.4 |
3.2 The proposed Markov state selection method
The Markov state number must be finite and not too large; how to map the vast number of coefficients with limited states has great meaning. The method we give is to map states with the coefficients according to various presupposed function models. Those functions are just envelopes of discrete matching probabilities for each state. The matching probability is defined as follows: suppose the number of all coefficients is M and the number of coefficients corresponding to a specific state is K, then the matching probability for this state is K/M. The simplest model is the average function, i.e., mapping the states evenly with the coefficients according to a fixed ratio determined by the number of state N. Though the average function model can avoid matching too many outbound coefficients to the same state and each state stands for coefficients evenly, it fails to employ thoroughly the regularity of coefficient distribution analyzed above. Therefore, besides the average function, we considered other models like absolute linear function, quadratic function, Gaussian function, and exponential function. Experiment results are given in next section, and the comparison will demonstrate which function model reaches our target best.
Whatever function model is adopted, the mapping process is similar with that of the average function model. When the Markov state number is set to be N (odd), the coefficients will be divided to N parts with N − 1 border values and there are N corresponding percentages or matching probabilities for each part.
From Figures 2 and 3, we know that coefficients distribute symmetrically approximately at X = 0. Thus, when calculating matching probabilities, we count the negative and positive parts together and the number of border values will be reduced by half. To calculate the (N − 1)/2 border values, (N + 1)/2 probabilities for each nonnegative state are needed, noted as p_{1}, p_{2},…, p_{(N + 1)/2}. We employ the function models with estimated parameters to get these probabilities.
- 1.
Set initial values T _{ s } = 0, T _{ e } = ω, and i = 1.
- 2.
Calculate the percentage of coefficients in [−T _{ e }, − T _{ s }) and (T _{ s }, T _{ e }]; if not above or equal to P _{ i }, then T _{ e } = T _{ e } + ω.
- 3.
Repeat step 2. If the percentage is above or equal to P _{ i }, then end the inner loop; return T _{ e }, set T _{ s } = T _{ e }, T _{ e } = T _{ e } + ω, and i = i + 1.
- 4.
Repeat steps 2 and 3. If the outer loop number is above (N − 1)/2 or T _{ e } is above or equal to the max coefficient, then end the outer loop and return T _{ e }.
For each function model and combination of parameters in grid search process, after border values are determined by the above algorithm, we can easily calculate the Markov transition matrix as described in Section 2 and at last find the most suitable parameters which lead to the highest detection rate for a specific function model.
4. Experiment results and analysis
4.1 The image dataset
4.2 Classification
We mark real images +1 and spliced images −1, and then the problem becomes a two-way classification, which can be solved by a support vector machine. In experiments, the classifier is LIBSVM by Lin [14] and an RBF kernel is used. Each time before classification, grid algorithm is used to find the best C and G, and half of real and splicing images is selected randomly as train set, with the left as test set. Since the experiment sample number is small, we conducted independent experiments 50 times and got the average results to reduce the stochastic impact.
4.3 Analysis of experiment results
4.3.1 Comparison of different function models for Markov state selection
Detection result comparison of different function models for Markov state selection (BDCT)
Function model | P _{1} | P _{2} | P _{3} | P _{4} | AC (%) | TP (%) | TN (%) | |
---|---|---|---|---|---|---|---|---|
Average function | $y=\frac{2}{N+1},N=7$ | 0.25 | 0.25 | 0.25 | 0.25 | 86.1 | 86.3 | 85.8 |
0.93 | 1.6 | 1.8 | ||||||
Linear function | y = a * |x|, a = − 0.1 | 0.4 | 0.3 | 0.2 | 0.1 | 86.6 | 87.0 | 86.3 |
1.0 | 1.9 | 1.7 | ||||||
Quadratic function | y = a * x^{2} + c, a = − 0.027, c = 0.346 | 0.34 | 0.32 | 0.22 | 0.12 | 85.3 | 85.9 | 84.7 |
1.0 | 1.9 | 2.0 | ||||||
Gaussian function | $y=a*{e}^{-{x}^{2}/{c}^{2}},a=0.027,c=2.620$ | 0.37 | 0.32 | 0.16 | 0.14 | 86.3 | 86.4 | 86.2 |
1.0 | 1.7 | 1.6 | ||||||
Exponential function | y = a * e^{b|x|}, a = 0.460, b = − 0.051 | 0.46 | 0.27 | 0.16 | 0.11 | 87.5 | 87.6 | 87.5 |
1.0 | 1.8 | 1.9 |
Detection result comparison of different function models for Markov state selection (DWT)
Function model | P _{1} | P _{2} | P _{3} | P _{4} | AC (%) | TP (%) | TN (%) | |
---|---|---|---|---|---|---|---|---|
Average function | $y=\frac{2}{N+1},N=7$ | 0.25 | 0.25 | 0.25 | 0.25 | 78.4 | 79.2 | 77.6 |
1.0 | 2.3 | 2.2 | ||||||
Linear function | y = a * |x|, a = − 0.160 | 0.34 | 0.28 | 0.22 | 0.16 | 77.9 | 79.4 | 76.4 |
1.0 | 2.5 | 2.3 | ||||||
Quadratic function | y = a * x^{2} + c, a = − 0.013, c = 0.294 | 0.37 | 0.28 | 0.24 | 0.18 | 77.5 | 78.4 | 76.5 |
1.0 | 2.7 | 2.1 | ||||||
Gaussian function | $y=a*{e}^{-{x}^{2}/{c}^{2}},a=0.351,c=2.890$ | 0.35 | 0.31 | 0.22 | 0.12 | 78.0 | 79.6 | 76.4 |
0.9 | 2.5 | 2.3 | ||||||
Exponential function | y = a * e^{b|x|}, a = 0.404, b = − 0.378 | 0.40 | 0.28 | 0.19 | 0.13 | 77.6 | 78.7 | 76.5 |
0.9 | 2.5 | 1.9 |
Results show that exponential function model performs best for the BDCT domain. As shown in Figure 2, the shape of the histogram in the positive part for BDCT is close to the exponential distribution, and it seems that the best choice of the state matching function model is just the same type of function as the envelopes of the coefficient histogram. Though this assumption does not hold in the DWT domain in which the histogram in Figure 3 is near the Gaussian distribution, the best result of state matching function model is the average function as demonstrated in Table 5. We also found that the Gaussian model is the second best choice, and the result is very close to that of average model. Taking into account that the samples in the experimental dataset are limited, it may be difficult to find out all the underlying secrets on limited testing data. In any case, our experiment does suggest that the best choice of the Markov state matching function model has something to do with the regularity of coefficient distribution.
4.3.2 Results of the enhanced state selection method on BDCT domain
What is more, when Figures 5 and 6 are compared, we find that the AC increment when N = 7 is larger than when N = 9, which verifies our assumption for the disadvantage of original state selection method: it is not suitable to threshold too many coefficients above T to T with very useful information for splicing detection lost. When N = 9, the rate increment is about 1%. If we continue to enlarge T, the improved state selection method will lose its superiority because the ratio of coefficients above T will be decreased.
4.3.3 Results of the new state selection method on DWT domain
5. Conclusions
This paper improves the Markov state selection method in the works of Shi et al. [9] and He et al. [10], whose detection rate was the highest in the state of the art on Columbia Image Splicing Detection Evaluation Dataset. Our proposed method maps coefficients with the Markov states according to various function models. Experiments reveal that different coefficient distribution may have different best function models for state selection. Our enhanced method increases the detection ability of Markov features and can promote the AC rate by up to 2.2% without increasing the feature dimension.
Declarations
Acknowledgements
This work is funded by the National Natural Science Foundation of China (61071152, 61271316), 973 Program of China (2010CB731403, 2010CB731406), and National ‘Twelfth Five-Year’ Plan for Science and Technology Support (2012BAH38 B04).
Authors’ Affiliations
References
- Nikolaidis N, Pitas I: Copyright protection of images using robust digital signatures. In Proceeding on International Conference on Acoustics, Speech, and Signal Processing, Atlanta. Edited by: Reeves Stanley J. Piscataway: IEEE Press; 1996:2168-2171.Google Scholar
- Cox IJ, Kilian J, Leighton FT, Shamoon T: Secure spread spectrum watermarking for multimedia. IEEE Trans. Image Process. 1997, 6(12):1673-1687. 10.1109/83.650120View ArticleGoogle Scholar
- Farid H: A survey of image forgery detection. IEEE Signal Process. Mag. 2009, 26(2):16-25.View ArticleGoogle Scholar
- Popescu AC, Farid H: Exposing digital forgeries by detecting duplicated image regions, Technical report TR2004-515. Dartmouth College 2004.Google Scholar
- Wang J, Zhang H: Exposing digital forgeries by detecting traces of image splicing. In 2006 8th International Conference on Signal Processing (ICSP 2006), Beijing. Piscataway: IEEE; 2006. vol 2Google Scholar
- Chen W, Shi Y: Image splicing detection using 2-D phase congruency and statistical moments of characteristic function. In SPIE, Electronic Imaging, Security, Steganography, Watermarking of Multimedia Contents IX, San Jose. Bellingham: SPIE; 2007:1-8. vol. 6505Google Scholar
- Dong J, Wang W, Tan T, Shi Y: Run-length and edge statistics based approach for image splicing detection. In 7th International Workshop in Digital Watermarking (IWDW 2008), Busan. Heidelberg: Springer; 2008:76-87.Google Scholar
- Zhao X, Li J, Li S, Wang S: Detecting digital image splicing in chroma spaces, International Workshop on Digital Watermarking 2010. LNCS 2011, 6526: 12-22.Google Scholar
- Shi YQ, Chen C, Chen W: A natural image model approach to splicing detection. In 9th Workshop on Multimedia and Security. Edited by: Deepa K, Balakrishnan P. New York: ACM; 2007:51-62.Google Scholar
- He Z, Lu W, Sun W, Huang J: Digital image splicing detection based on Markov features in DCT and DWT domain. Pattern Recogn. 2012, 45(12):4292-4299. 10.1016/j.patcog.2012.05.014View ArticleGoogle Scholar
- New York: Columbia DVMM Research Lab; 2004.http://www.ee.columbia.edu/ln/dvmm/downloads/authsplcuncmp . Accessed 3 July 2013
- Crouse M, Nowak RD, Baraniuk RG: Wavelet-based signal processing using hidden Markov models. IEEE Trans. Signal Proc. (Special Issue on Wavelets and Filter banks) 1998, 46(4):886-902.MathSciNetView ArticleGoogle Scholar
- Daubechies I: Ten Lectures on Wavelets. Philadelphia: Society for Industrial and Applied Mathematics; 1992.MATHView ArticleGoogle Scholar
- Chang C-C, C-J Lin LIBSVM: a library for support vector machines. ACM Trans. Intell. Syst. Technol. 2011, 2(27):1-27. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvmView ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.