Keywords

1 Introduction

Sophisticated digitized cameras and user friendly photo editing tools made it comparatively easy for creating digital forgeries. The integrity of digital images has important role in so many fields; criminal investigation, forensic investigation, journalism, surveillance systems, medical imaging and intelligence services. The image forgeries can be detected in two approaches: Active and Passive. The active approach of forgery identification requires preprocessing of original media data before its usage or at the time of creation. The second approach passive does not require any preprocessing of the digital data or information and it relies on the image statistical features.

However, a Passive approach does not require any pre-processing of the digital data or information and it relies on the image statistical features. Copy-Move forgery in digital image tampering is that, some part of the image which is copied and pasted onto some other part of the same image. The intention is to hide some region or an object in that image. In cloning (also called copy-move forgery), as the copied part is from the same image, the color palette, the texture, noise components, intensity variations and most of the other properties will be compatible with the rest of the image. Hence, it becomes difficult for human visual system to identify the forgery. Exhaustive search method of copy-move detection is time consuming and computationally very complex. An example of Copy-move forgery [1] can be seen in Fig. 1.

Fig. 1
figure 1

Example for copy move forgery: a the original image, b the forged image and c forged region marked image (from left to right ac)

In DWT and Singular Value Decomposition (SVD) are used to identify forgery [2]. The image is decomposed using DWT, SVD is applied on decomposed image and the speed is increased because of reduction of number of block. Khan et al. [3], Ghorbani et al. [4] used discrete wavelet transform to decrease complexity of CMFD and the duplicated blocks are identified with the similarity condition of phase correlation. Yang et al. [5] systematically combined discrete wavelet transform and discrete cosine transform to identify the forged region. Even though the method has the ability to identify various copy move forgeries, it consumes much time. Li et al. proposed an algorithm [6]. In this, the image overlapping blocks are represented by Local Binary Pattern, and a lexicographic sort is done to identify the tampered regions based on the textural similarity between the regions. As LBP is to be applied for the entire testing image which results in more number of overlapping blocks, thus affecting the computation complexity. More or less all these techniques suffers from computational complexity and common signal processing attacks like JPEG compression, AWGN, contrast, rotation and flipping, etc. The key idea of our method is to apply LBP on the LL band of the testing image, so that the number of overlapping blocks can be reduced and in turn the computational complexity.

In the proposed algorithm, the image is first decomposed through DWT into different sub bands and then the low frequency component of the image is converted into overlapping blocks. Each block is applied to LBP and LBP histograms are set to different bins according to their values. The paper is organized as follows: The proposed algorithm and its flow diagram is presented in Sect. 2. The experimental outcomes are presented in Sect. 3 and the conclusions are discussed in Sect. 4.

2 Proposed Algorithm

The important part of CMFD algorithm is detecting duplicated regions for unknown size and shape of the forged regions. This problem is addressed in this algorithm by applying DWT on the test image and LBP operator is applied on the overlapping blocks of fixed size for LL band to obtain texture feature. Figure 2 represents the flow diagram for proposed algorithm.

Fig. 2
figure 2

flow diagram for proposed algorithm

Initially, the test image C of M * N size is converted to gray scale image I of size M * N by the following Eq. (1). In Eq. (1) R represents red, G represents Green, B represents Blue.

$$ {\text{I = 0}} . 2 9 8 9\,^{ *} \,{\text{R + 0}} . 5 8 7 0\,^{ *} \,{\text{G + 0}} . 1 1 4 0\,^{ *} \,{\text{B}} $$
(1)

2.1 Discrete Wavelet Transform

Discrete wavelet transform is a multilevel decomposition technique of an image, which results in both spatial and frequency details [7]. In present algorithm, the image is decomposed with the help of discrete wavelet transform into four sub bands, which are HL, HH, LH and LL, here LL is low frequency part of the image and finest scale wavelet coefficient are represented by HL, HH, LH. The sub band LL contains most of the energy whose size is reduced to 3/4 of the given image. Then the LL band is converted into overlapping blocks and then applied to LBP to extract the features of all overlapping blocks.

In this method, only one level (j = 1) is considered, so that LL band size can be given as K = M/2, L = N/2 and is represented as LLK*L. In further process of this algorithm, only LL band is used which itself indicates the reduced computation effort up to 3/4 of the actual process.

2.2 Dividing Image to Fixed Size Overlapping Blocks

Proposed algorithm is basically a block-based method. In this the image is divided into overlapping blocks of fixed size x * x pixels. Here, the block size is chosen in such a way that its size is smaller than the forged area which to be identified. The fixed size blocks are slide along the row and column direction by one pixel difference. As LLK*L band is divided into overlapping blocks the sliding process will generate (K − x + 1) * (L − x + 1) number of overlapping block.

2.3 Local Binary Pattern

Local binary pattern is a kind of texture operator for gray scale image which is used for describing image texture in the spatial structure [8].

To handle textures at various scales, different sizes of local neighborhoods are available The notation (P, R) is used to indicate pixel neighborhood which means P number of sampling points on a circle of radius of R, shows that there are several uniform patterns of a rotated version though in the case of P = 8. So, a new pattern can be defined as

$$ LBP_{P,R}^{riu2} = \left\{ {\begin{array}{*{20}l} {\sum\limits_{p = 0}^{P - 1} {s(g_{p} - g_{c} )} } \hfill & {{\text{if}}\,U(LBP_{P,R}^{riu2} ) \le 2} \hfill \\ {P + 1} \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right. $$
(2)

In Eq. (2) \( U(LBP_{P,R}^{riu2} ) \) represents number of spatial transitions and is given by Eq. (3)

$$ U(LBP_{P,R} ) = |{\text{s(g}}_{{{\text{P}} - 1}} \, - \,{\text{g}}_{\text{c}} )\, - \,{\text{s(g}}_{ 0} \, - \,{\text{g}}_{\text{c}} )| + \sum\limits_{p = 1}^{P - 1} {|{\text{s(g}}_{\text{p}} \, - \,{\text{g}}_{\text{c}} )\, - \,{\text{s(g}}_{{{\text{p}} - 1}} \, - \,{\text{g}}_{\text{c}} )|} $$
(3)

In Eq. (2) s(gp − gc) represents sign of difference between the neighbor pixel gray value and centre pixel gray value.

Where \( LBP_{P,R}^{u2} \) have P + 2 independent output values. The histogram for image K * L, after operated with \( LBP_{P,R}^{u2} \) is given below

$$ H^{\text{riu2}} (m) = \sum\limits_{i = 1}^{K} {\sum\limits_{j = 1}^{L} {f(LBP_{P,R}^{u2} (i,j),m)} } $$
(4)

Here \( m \in [1,M] \)

$$ f(x,y) = \begin{array}{*{20}c} 1 & {{\text{if}}\quad x = y} \\ 0 & {{\text{otherwise}}} \\ \end{array} $$
(5)

where M is the number of \( LBP_{P,R}^{u2} \) independent values P + 2. In the proposed method, we employed the operator in the Eq. (3) as our feature vector of the image blocks.

The rotation invariant features are extracted from the overlapping blocks of fixed size by applying rotation invariant uniform LBP. In this work, LBP is applied on the LL and (K − x + 1) * (L − x + 1) number of features can be extracted from it arrange the features of each block into a row array and set all the rows (K − x + 1) * (L − x + 1) as a matrix S and sort the features using lexicographical sorting.

2.4 Feature Matching

All the features are lexicographically sorted and are arranged in matrix. It is obvious that similar blocks should have similar features which indicate that rows of the matrix are to be compared to know the similarity. As the features are lexicographically sorted, there is no need to compare all the rows of the matrix, only r range of rows are considered for similarity measure. As well, only the blocks with distance larger than are compared. In this work, the search corresponding to the blocks is made by calculating the Euclidean distances between the feature vectors. To detect the forged region correctly, the distance threshold T d , similarity threshold T s and are predetermined. The matching of the features starts from the first row of the matrix S. For a feature located in the ith row S i , the distance with the following r rows will be computed and the smallest distance denoted by D(i, β), between the ith row and the following βth can be obtained [6].

2.5 Post-processing and Localization

All the matched block pairs are available in set σ, the forged and the copied regions can be identified by marking the regions. In order to achieve this, the matched locations are stamped on a binary image to generate detection map. In our proposed method, we mark the binary image with gray intensity of 255 of size P. There are some falsely detected blocks stamped on the initial detection map. These false detected blocks can be removed by performing morphological operations like erosion and dilation on the initial detection map.

3 Experiment Results

For experimentation, the authenticated and forged images are taken from the standard database TIDED v.2.0 generated by Institute of Automation at Chinese Academy of Sciences CASIA [9]. The copy-move forgery and various post-processing attacks like rotation, flipping, JPEG compression are performed using Adobe photo shop tool. All the simulations are carried with MATLAB 2013 on a personal computer with 2.4 GHz Core i3 processor and 4 GB RAM. The overlapping block size is varied from 12 to 18 and the neighborhood of size is selected 16 and 24 with radius 2 and 3 respectively. The threshold of similarity is more than 3 is selected and threshold of distance is selected more than the overlapping block size. The experiment results are displayed in (Table 1).

Table 1 Results for different forged images

3.1 Robustness of the Method

The existing algorithms are useful only for general copy move forgery and some rotation angle of forged regions but not for attacks of JPEG compression, noise contamination and blurring. The proposed work works even the forged region JPEG compressed, noise contaminated or blurred. The robust results showed in Table 2.

Table 2 Results for JPEG compressed, noise added and blur forged images

3.2 Comparative Analyses

Comparison of the three approaches in terms of number of overlapping blocks and feature dimension for a gray level image block of 512 * 512 dimension with overlapping block size 18 * 18. The results and comparative analyses show the computational complexity decreases 3/4 times of remaining two approaches. The comparative analyses displayed in Table 3.

Table 3 Comparative results

4 Conclusion

Many algorithms are existing to identify copy move forgery, some of them are unable to address the attack rotated or flipped before being pasted. Even others could address, the computational effort is more. An approach depends on DWT and LBP is proposed to identify copy-move forgery. The features are extracted by using LBP on the LL band obtained by applying DWT on the input image. It has been observed that, proper selection of similarity and distance thresholds can localize the forged region even if the copied portion is JPEG compressed, noise contaminated, blurred, region rotated and flipped. Standard image database CASIA TIDED v.2.0 [9] is used to evaluate the performance of proposed approach.