Digital images play a very significant role in the modern era. Almost every story published in newspapers and magazines uses digital images. Many times digital images are used to build some perception about celebrities and political leaders. In case of legal issues also, they are used as corroboratory evidences. So, before believing what we see, it is very much necessary to establish the truth of the image. Due to the growing influence of the digital images, the instances of manipulated images are also going up. Hence, the research area of image forgery detection has been growing very fast in recent times [1]. Broadly, the forgery detection techniques can be classified in to active and passive categories [2]. In case of active techniques, some prior information is embedded in the image at the time of capturing and later it can be used to verify the authenticity of the image. One such technique is watermarking [2]. In case of passive techniques, no prior information about the image in question is required. Copy move forgery or cloning , splicing and retouching are the main techniques of creating image forgery[2]. Retouching is performed by applying some filters to change the appearance of a person like the age or mood as shown in
Figure 1. In splicing, some part of intended image is replaced by the content from some other image as shown in Figure 2. The statistical parameters of that region are quite different from the rest of the image. Hence, statistical techniques are applied to detect such forgeries. However, in copy move forgery, content from the same image is used to hide some region of the image [3] as shown in Figure 3. Copy move forgery is more prevalent and challenging due to its ease of performing and extent of manipulation. Also, to make it difficult for detection, the manipulator performs some additional operations like adding some noise, compressing the manipulated image, rotation and scaling of the duplicated region etc. The very fact about unedited captured images that no significant regions can be exactly same, is exploited in detecting copy move forgery. So, any duplication of a significant region is treated as a case of copy move forgery. Block based methods are used to divide the image into overlapping regions and then blocks are compared to find duplication.
E-mail: skvasistha@acm.org, jagandesai@yahoo.com, mukherjee.shaktidev@gmail.com
The main drawback of such methods is the large number of overlapping blocks in case of high resolution images. Also, these methods are not robust to large affine transformations applied to the duplicated region like rotation and scaling. A keypoint based hybrid method is proposed, which detects the keypoints, distinct in terms of intensity pattern around them and invariant to affine transforms like rotation and scaling. Speeded Up Robust Features (SURF) keypoints [4] are detected in the image and then Binary Robust Invariant Scalable Keypoints (BRISK) feature descriptors [5] are calculated at these keypoints and matched to find duplicated region. The time taken for detecting copy move forgery by the proposed method is compared with the existing keypoint based method using SURF and found significantly faster.
Most of the methods used to detect copy move forgery are based upon two approaches. One is the block based approach, in which the image in question is divided into overlapping blocks and these blocks acts as input to feature detection and matching phase. The other approach is the keypoint based approach, where keypoints are detected and descriptors at these keypoints are extracted and matched. The first block-based method was proposed by Fridrich et al. [6] based on discrete cosine transform (DCT). Popescu and Farid [7] altered the block representation and instead of DCT used principal component analysis (PCA). Sunil Kumar et al. [8] suggested a method by applying PCA on DCT domain to achieve robustness against both noise and JPEG compression. Huang et al [9] suggested an improved method using DCT coefficients. Luo et al [3] divided blocks into four subblocks, which were evaluated according to an average of red, blue and green color values. This method proved robust to attacks, such as JPEG compression, Gaussian blurring, and additive noise. An approach using combination of DWT and DCT is suggested in [10]. Discrete wavelet transform is used to reduce the size of image and then DCT is applied on low frequency component achieved by DWT. Singular value decomposition (SVD) is applied to each image block to yield a representation with reduced dimensions in [11]. Local binary patterns are used to get the binary feature vectors for robust and efficient matching in [12] [13]. Bayram et al. [14] applied Fourier Mellin Transform (FMT) and 1
D projection of log
polar values in a robust scheme for the detection of image forgeries. Local interest points have been widely used for image retrieval and object recognition, due to their robustness in dealing with numerous geometrical transformations (such as rotation and scaling) and occlusions. The method suggested in [15] use scale invariant feature transform [16] to locate the keypoints and match duplicated regions. Scale invariant feature transform is also used in [17], which is capable of detecting and describing clusters of points belonging to cloned regions. Amerini et al. [18] developed a SIFTbased method for the detection of copy move attacks and transformation recovery. Other variations of SIFT based methods are proposed in [19] [20]. Jaberi et al [21] used SIFT like feature MIFT to claim higher robustness. Another key point based method using speeded up robust features (SURF) is used in [22] and [23] which is faster than SIFT. This paper proposes a keypoint based method which employ both SURF and BRISK. Rigorous experiments have been conducted to demonstrate the speed improvement and robustness of the proposed method in dealing with post processing operations such as rotation, scaling, noise, and JPEG compression.
The proposed method works as shown in Figure 4. The input image is converted to grayscale image. Keypoints are detected using SURF. To reduce the time taken for descriptor extraction and to make the matching process faster, BRISK descriptors are calculated at these keypoints. Hamming distance metric is used to match the binary features. Only nearest neighbors which are distinctively close are retained and others are discarded. Finally, the valid pair of keypoints are displayed on the image.
Figure 2. Image on the right is spliced using two images.
Figure 3. Copy move forgery. Image on the left is forged and
Figure 1. Original image on the left and retouched on the right
A. Keypoint detection using SURF
SURF was proposed for finding interest points or keypoints [4] and descriptor at these points in an image. The detector is based on Hessian matrix. The speed of the detector is due the use of integral image. Integral image
The SURF feature detector is based on the Hessian matrix because of its good performance in accuracy and speed. The Hessian matrix is defined as given point X=(x, y) in an image I as follows:
is convolution of the second order
Gaussian derivative
are similarly defined and called as Laplacian of Gaussian. Gaussian kernel’s standard deviation is . Working from this, the determinant of the Hessian for each pixel in the image is calculated and the values are used to find interest points. Box filters are used to approximate Gaussian second order derivatives. Using the integral image these approximate Gaussian second order derivatives can be evaluated very fast. Box size 9×9 and σ =1.2 represent the lowest scale (i.e. highest spatial resolution). The approximations are denoted by Dxx, Dyy and Dxy. The determinant approximation of the Hessian matrix is calculated as in (2).
Interest points are localized in scale and image space by applying non-maximum suppression in a 3 × 3 × 3 neighborhood. These maxima of the determinant of the approximated Hessian matrix are interpolated in scale and image space.
B. BRISK descriptors
Given a set of keypoints, the BRISK descriptor is composed as a binary string by concatenating the results of simple brightness comparison tests. In BRISK, the characteristic direction of each keypoint is identified to allow for orientation normalized descriptors to achieve rotation invariance which is important to general robustness. The key concept of the BRISK descriptor makes use of a pattern used for sampling the neighborhood of the keypoint. To negate aliasing effects the intensity values at these keypoints are smoothened using Gaussian. For a sampling point pair (X, Y) and smoothed intensity values at these points respectively, the local gradient g(X, Y) is estimated as in (3).
Using two thresholds δmin and δmax the point pairs are
Only long distance pairs are used for this computation. This is based on the assumption that local gradients annihilate each other and hence not necessary in the global gradient determination. Finally to get the rotation and scale normalized, BRISK descriptor sampling pattern is rotated by α=arctan2 (gy, gx) around the keypoint. The bit vector descriptor is assembled by performing all the short distance intensity comparisons of point pairs (Xα, Yα) S (i.e. in the rotated pattern), such that each bit ‘b’ is defined as in (5).
Figure 4. Proposed method framework
S. The result is a bit vector of length 512 for the keypoints falling in the threshold range specified by δmin and δmax as shown in Figure 5.
Figure 5: A typical BRISK feature vector extraction
C. Feature matching
The binary features resulted from BRISK are matched for similarity using knn search. Hamming distance is used to find nearest neighbor. Hamming distance is the difference of the number of bits in two compared bit strings. All the nearest neighbors do not represent the legitimate duplicate keypoints. To discard the outliers distance ratio of the two immediate neighbors of a point is compared with a threshold value (ranges from 0.3-0.5). A keypoint is outlier if (dij/dik)>ρ, where dij and dik are hamming distances of immediate neighbors of ith feature and ρ is the threshold value.
A. Experimental Setup
The method is tested on two databases [24] and [25] . Also some images are captured with personal camera. There are total 200 images taken for the experiment. The forged images have been prepared by applying copy move forgery with the post processing operations like rotation, scaling, noise addition and JPEG compression. The degree of rotation is varied upto 50 degrees. Scaling factor is varied from 1.1 to 2.0. Zero mean Gaussian noise is added with standard deviation from 0.02 to 0.1. Some images are JPEG compressed upto 40%. The algorithm is coded in MATLAB 2013a on a machine equipped with Intel i5 2.5 GHz processor with 8GB DDR3RAM.
The method is tested using correct detection ratio which is ratio of valid keypoints to total matched keypoints without using morphological operations. It is compared with the existing method [23]. The proposed algorithm may be divided into three sections: (1) Extracting SURF keypoints; (2) define descriptors at these keypoints; (3) matching descriptors to locate the forged regions. The time taken by the first and third section is same for the proposed and the existing method are same as both extract the SURF keypoints and uses knn search.
TABLE I. COMPARISON OF DETECTION TIME WITH EXISTING SURF
TABLE II. PERFORMANCE OF THE PROPOSED METHOD IN TERMS OF
However, the time taken by section 2 is different and comparison is provided in Table1 for descriptor extraction. The method is evaluated for stability by correct detection ratio, which is ratio of the keypoints in the forged region to the total keypoints detected. Another parameter termed relative detection efficiency is used to observe the behavior of the algorithm against the post processing operations of JPEG compression and noise addition. Relative detection efficiency is the ratio of correct keypoints detected in presence of post processing operation to the keypoints detected without using such operations.
The outputs for the images listed in the Table I are shown below:
Figure 10. Original image’horses.png’ (left) and forged image
Figure 11: Detection results for the image in Figure 10 with all keypoints detected (left) and output image with valid matching
Figure 12: Original image’ egyptian.png’ (left) and forged image
Figure 13: Detection results for the image in Figure 12 with all keypoints detected (left) and output image with valid matching
Figure 7: Performance against Gaussian noise
Figure 6: Performance against JPEG compression
Figure 8: Original image ‘bulb.png’ (left) and forged image
Figure 9: Detection results for the image in Figure 8 with all
Figure 16. Original image ‘writing_history.png’ (left) and forged image
Figure 17: Detection results for the image in Figure 16 with all keypoints detected (left) and output image with valid matching
Figure 18. Original image ‘hedge.png’ (left) and forged image
Figure 19. Detection results for the image in Figure 18 with all keypoints detected (left) and output image with valid matching
Figure 20. Original image ‘sails.png’ (left) and forged image
Figure 21. Detection results for the image in Figure 20 with all keypoints detected (left) and output image with valid matching
Figure 22: Original image ‘kore.bmp (left) and forged image ‘kore
Figure 23: Detection results for the image in Figure 22 with all keypoints detected (left) and output image with valid matching
Figure 14: Original image ‘lone_cat.png’ (left) and forged image
Figure 15: Detection results for the image in Figure 14 with all keypoints detected (left) and output image with valid matching
Figure 24: Original image ‘mask.bmp’ (left) and forged image
Figure 25: Detection results for the image in Figure 24 with all keypoints detected (left) and output image with valid matching
Figure 26: Original image ‘mask.bmp’ (left) and forged image
Figure 27: Detection results for the image in Figure 26 with all keypoints detected (left) and output image with valid matching
D. Discussion
The experiment is conducted on image dataset with different size images. Figures 8-27 show detection results for different types of post processing operations including rotation and scaling. The time taken to detect forgery is not directly dependent upon the image size, rather it depends upon the duplicated region size and texture of the image. The number of keypoints generated and the corresponding descriptors processed are proportional to the duplicated region and brightness variations. As evident in case of ‘maskcopy.bmp’ and ‘kore.bmp’. The size of the first one is greater than the later, but time taken as well as keypoints generated are more for the smaller image. Table II shows high stability of the method in terms of correct detection ratio. Figure 6 and Figure 7 show the performance of the method against JPEG compression and noise addition respectively. In case of small duplication regions and low contrast images the threshold ratio to identify good matches has to be quite high. The variation of threshold value (ρ) is tradeoff between number of valid keypoints and outliers. Low value of ‘ρ’ will cut the outliers but also restrict the number of valid keypoints.
The proposed method is significantly faster than the existing method using SURF. It is robust to affine transformations like rotation and scaling as well as other post processing operations like JPEG compression and Gaussian noise addition. In the matching process threshold is set manually depending upon the size of the copied area and the texture of the input image. So, there is further scope to devise the threshold automatically. For large values of rotation and scaling number of outliers also increases. Morphing techniques may be used to reduce the false keypoints and better localization of the duplicated region.
[1] G. K. Birajdar and V. H. Mankar, “Digital image forgery detection using passive techniques: A survey,” Digit. Investig., vol. 10, no. 3, pp. 226–245, Oct. 2013.
[2] H. Farid, “Image forgery detection,” Signal Process. Mag. IEEE, no. March, pp. 16–25, 2009.
[3] W. Luo and J. Huang, “Robust Detection of RegionDuplication Forgery in Digital Image,” 18th Int. Conf. Pattern Recognit., pp. 746–749, 2006.
[4] H. Bay, T. Tuytelaars, and L. Van Gool, “Surf: Speeded up robust features,” Comput. Vision–ECCV 2006, 2006.
[5] S. Leutenegger, M. Chli, and R. Y. Siegwart, “BRISK: Binary Robust invariant scalable keypoints,” 2011 Int. Conf. Comput. Vis., pp. 2548–2555, Nov. 2011.
[6] A. Fridrich, B. Soukal, and A. Lukáš, “Detection of copy-move forgery in digital images,” Proc. Digit. Forensic Res. Work., 2003.
[7] A. C. Popescu and H. Farid, “Exposing Digital Forgeries by Detecting Duplicated Image Regions,” Dept. Comput. Sci., Dartmouth Coll. Tech. Rep. TR2004-515, pp. 1–11, 2004.
[8] K. Sunil, D. Jagan, and M. Shaktidev, “DCT-PCA Based Method for Copy-Move Forgery Detection,” Adv. Intell. Syst. Comput., vol. 249, pp. 577–583, 2014.
[9] Y. Huang, W. Lu, W. Sun, and D. Long, “Improved DCTbased detection of copy-move forgery in images.,” Forensic Sci. Int., vol. 206, no. 1–3, pp. 178–84, Mar. 2011.
[10] M. Ghorbani, M. Firouzmand, and A. Faraahi, “DWT-DCT (QCD) based copy-move image forgery detection,” Syst. Signals Image Process. (IWSSIP), 2011 18th Int. Conf., pp. 1– 4, 2011.
[11] G. L. G. Li, Q. W. Q. Wu, D. T. D. Tu, and S. S. S. Sun, “A Sorted Neighborhood Approach for Detecting Duplicated Regions in Image Forgeries Based on DWT and SVD,” Multimed. Expo, 2007 IEEE Int. Conf., pp. 2007–2010, 2007.
[12] M. Alsawadi, G. Muhammad, M. Hussain, and G. Bebis, “Copy-Move Image Forgery Detection Using Local Binary Pattern and Neighborhood Clustering,” Model. Symp. (EMS), 2013 Eur., pp. 249–254, 2013.
[13] R. Davarzani, K. Yaghmaie, S. Mozaffari, and M. Tapak, “Copy-move forgery detection using multiresolution local binary patterns,” Forensic Sci. Int., vol. 231, no. 1–3, pp. 61– 72, Sep. 2013.
[14] S. Bayram, H. Taha Sencar, and N. Memon, “An efficient and robust method for detecting copy-move forgery,” in 2009 IEEE International Conference on Acoustics, Speech and Signal Processing, 2009, pp. 1053–1056.
[15] H. Huang, W. Guo, and Y. Zhang, “Detection of Copy-Move Forgery in Digital Images Using SIFT Algorithm,” 2008 IEEE Pacific-Asia Work. Comput. Intell. Ind. Appl., pp. 272– 276, Dec. 2008.
[16] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” Int. J. Comput. Vis., vol. 60, no. 2, pp. 91–110, 2004.
[17] X. Pan and S. Lyu, “Detecting image region duplication using SIFT features,” IEEE Int. Conf. onAcoustics Speech Signal Process., pp. 1706–1790, 2010.
[18] I. Amerini, L. Ballan, R. Caldelli, A. Del Bimbo, G. Serra, and A. Del Bimbo, “Geometric tampering estimation by means of a sift-based forensic analysis,” in ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings, 2010, pp. 1702–1705.
[19] S. Zickler and A. Efros, “Detection of Multiple Deformable Objects using PCA-SIFT.,” 1127–1132, 2007.
[20] B. Su and Z. Kaizhen, “Detection of Copy Forgery in Digital Images Based on LPP-SIFT,” 2012 Int. Conf. Ind. Control Electron. Eng., pp. 1773–1776, Aug. 2012.
[21] M. Jaberi, G. Bebis, M. Hussain, G. Muhammad, C. Science, and S. Arabia, “Accurate and robust localization of duplicated region in copy-move image forgery,” Mach. Vis. Appl., vol. 25, no. 2, pp. 451–475, 2014.
[22] B. Shivakumar and L. Baboo, “Detection of region duplication forgery in digital images using SURF,” IJCSI Int. , vol. 8, no. 4, pp. 199–205, 2011.
[23] X. Bo, W. Junwen, L. Guangjie, and D. Yuewei, “Image Copy-Move Forgery Detection Based on SURF,” 2010 Int. Conf. Multimed. Inf. Netw. Secur., pp. 889–892, 2010.
[24] D. Tralic, I. Zupancic, S. Grgic, and M. Grgic, “CoMoFoD -2014; New database for copy-move forgery detection,” ELMAR, 2013 55th Int. Symp., no. September, pp. 49–54, 2013.
[25] V. Christlein, C. Riess, J. Jordan, and E. Angelopoulou, “An Evaluation of Popular Copy-Move Forgery Detection Approaches,” Inf. Forensics Secur. IEEE Trans., vol. 7, no. 6, pp. 1841–1854, Aug. 2012.
Technology, Lakshmangarh. He has more than 12 years of UG and PG teaching experience after completing his M. Tech. in Computer Science & Engineering in 2002 from Kurukshetra
supervised many B. Tech. and M. Tech projects. He has published many research papers in international conferences and journals. He is also reviewer of reputed journals. He is life member of Computer Society of India and current member of IEEE and ACM.
Prof. J V. Desai has completed his PhD form IIT Bombay. He has over 32 years’ experience in teaching and research. He is currently Professor and Dean at Mody University of Science and Technology,
articles in many international conferences and journals. He has research grants worth many lacs from government and private organizations. He is senior member of many professional bodies like IEEE. He is reviewer of many reputed international journals and conferences. His research interest are Soft Computing, Modeling & Simulation, Image & Signal Processing.
Prof S. Mukherjee graduated in Electrical Engineering from Patna University in 1968. After having Industrial experience for couple of years he did his Masters in Electrical Engineering from UOR in 1977 and since then is engaged in teaching in UOR and now IIT Roorkee. At present he is Professor and Director at Moradabad Institute of
Institute of Technology and Science, Rajasthan from 2008 to 2010. He has supervised 7 Ph Ds and around 35 M. Tech dissertations during his teaching career so far. His areas of interests are system modeling, application of ANN in process control and other areas, order reduction of linear systems along with computer applications in Electrical Engineering like IEEE. He is reviewer of many reputed international journals and conferences.