Image Splicing Localization Using A Multi-Task Fully Convolutional Network (MFCN)

09/06/2017 ∙ by Ronald Salloum, et al. ∙ 0

In this work, we propose a technique that utilizes a fully convolutional network (FCN) to localize image splicing attacks. We first evaluated a single-task FCN (SFCN) trained only on the surface label. Although the SFCN is shown to provide superior performance over existing methods, it still provides a coarse localization output in certain cases. Therefore, we propose the use of a multi-task FCN (MFCN) that utilizes two output branches for multi-task learning. One branch is used to learn the surface label, while the other branch is used to learn the edge or boundary of the spliced region. We trained the networks using the CASIA v2.0 dataset, and tested the trained models on the CASIA v1.0, Columbia Uncompressed, Carvalho, and the DARPA/NIST Nimble Challenge 2016 SCI datasets. Experiments show that the SFCN and MFCN outperform existing splicing localization algorithms, and that the MFCN can achieve finer localization than the SFCN.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 2

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

With the advent of Web 2.0 and ubiquitous adoption of low-cost and high-resolution digital cameras, users upload and share images on a daily basis. This trend of public image distribution and access to user-friendly editing software such as Photoshop and GIMP has made image forgery a serious issue. Splicing is one of the most common types of image forgery. It manipulates images by copying a region from one image (i.e., the donor image) and pasting it onto another image (i.e., the host image). Forgers often use splicing to give a false impression that there is an additional object present in the image, or to remove an object from the image.

Image splicing can be potentially used in generating false propaganda for political purposes. For example, during the 2004 US Presidential election campaign, an image that showed John Kerry and Jane Fonda speaking together at an anti-Vietnam war protest was released and circulated. It was discovered later that this was a spliced image, and was created for political purposes. Fig. 1 shows the spliced image, along with the two original authentic images that were used to create the spliced image [32]. Some additional splicing examples obtained from four datasets are shown in Fig. 2.

Figure 1: An image splicing example [32]: (a) the spliced image showing John Kerry and Jane Fonda together at an anti-Vietnam war rally, (b) an authentic image of Kerry, and (c) an authentic image of Fonda.

Many of the current splicing detection algorithms only deduce whether a given image has been spliced and do not attempt to localize the spliced area. Relatively few algorithms attempt to tackle the splicing localization problem, which refers to the problem of determining which pixels in an image have been manipulated as a result of a splicing operation. A brief review of existing splicing localization techniques will be given in Sec. 2.

In this paper, we present an effective solution to the splicing localization problem based on a fully convolutional network (FCN). The base network architecture is the FCN VGG-16 architecture with skip connections, but we incorporate several modifications, including batch normalization layers and class weighting. We first evaluated a single-task FCN (SFCN) trained only on the surface label or ground truth mask, which classifies each pixel in a spliced image as spliced or authentic. Although the SFCN is shown to provide superior performance over existing techniques, it still provides a coarse localization output in certain cases. Thus, we next propose the use of a multi-task FCN (MFCN) that utilizes two output branches for multi-task learning. One branch is used to learn the surface label, while the other branch is used to learn the edge or boundary of the spliced region. It is shown that by simultaneously training on the surface and edge labels, we can achieve finer localization of the spliced region, as compared to the SFCN. Once the MFCN was trained, we evaluated two different inference approaches. The first approach utilizes only the surface output probability map in the inference step. The second approach, which is referred to as the edge-enhanced MFCN, utilizes both the surface and edge output probability maps to achieve finer localization. We trained the SFCN and MFCN using the CASIA v2.0 dataset and tested the trained networks on the CASIA v1.0, Columbia Uncompressed

[16], Carvalho [11], and the DARPA/NIST Nimble Challenge 2016 Science (SCI) datasets 111https://www.nist.gov/itl/iad/mig/nimble-challenge. Experiments show that the SFCN and MFCN outperform existing splicing localization algorithms, with the edge-enhanced MFCN achieving the best performance. Furthermore, we show that after applying various post-processing techniques such as JPEG compression, blurring, and added noise to the spliced images, the SFCN and MFCN methods still outperform the existing methods.

Figure 2: Image splicing examples and corresponding ground truth masks obtained from four different datasets: (a) the Nimble Science (SCI) dataset, (b) the Columbia Uncompressed dataset, (c) the Carvalho dataset, and (d) the CASIA v1.0 dataset. For the ground truth mask, pixels that were manipulated are represented by a value of 0 (the black region) and pixels that were not manipulated are represented by a value of 255 (the white region).

The rest of the paper is organized as follows. Related work is reviewed in Sec. 2. The proposed methods are described in Sec. 3

. The performance evaluation metrics are discussed in Sec.

4. Experimental results are presented in Sec. 5. Finally, concluding remarks are given in Sec. 6.

2 Related Work

An extensive review of splicing localization techniques and a comparison of their performance can be found in a recent paper by Zampoglou et al. [37]

. We provide a brief summary in this section. Existing splicing localization algorithms can be roughly divided into three classes based on the pattern or trace types used to separate the spliced region from the rest of the image. They exploit the following traces (or features): 1) noise patterns, 2) Color Filter Array (CFA) interpolation patterns, and 3) JPEG-related traces.

The first class of splicing localization algorithms exploits noise patterns under the assumption that different images have different noise patterns as a result of a combination of different camera makes/models, the capture parameters of each image, and post-processing techniques [26, 27, 9, 7, 8, 21]. Since the spliced region originated from a different image (i.e., the donor image) then the host image, the spliced region may have a noise pattern that is different than the noise pattern in the remaining region of the host image. Thus, the noise pattern can potentially be used to identify the spliced region.

The second class of algorithms exploits CFA interpolation patterns [12, 15]. Most digital cameras acquire images using a single image sensor overlaid with a CFA that produces one value per pixel. CFA interpolation (also called demosaicing) is a process to reconstruct the full color image by transforming the captured output into three channels (RGB). Splicing can disrupt the CFA interpolation patterns in multiple ways. For example, different cameras may use different CFA interpolation algorithms so that combining two different images may cause discontinuities. Also, spliced regions are often rescaled, which can also disrupt the CFA interpolation patterns. These artifacts can be used when attempting to localize a spliced region.

The third class of algorithms exploits the traces left by JPEG compression. Most of these methods use features from one of two subgroups: JPEG quantization artifacts and JPEG compression grid discontinuities [23, 5, 6, 14, 22, 36, 25, 1, 4]. In JPEG quantization-based methods, it is assumed that the original image underwent consecutive JPEG compressions, while the spliced portion may have lost its initial JPEG compression characteristics due to smoothing or resampling of the spliced portion. These incongruous features can help localize a spliced region. In JPEG grid-based methods, one may detect spliced regions due to misalignment of the 8x8 block grids used in compression. Two other approaches that exploit JPEG compression traces are JPEG Ghosts [14] and Error Level Analysis [19, 35, 28].

In this work, we propose a neural-network-based solution, which does not require any feature extraction. Instead, the relevant features are automatically learned during the network training phase. The introduction of neural-network-based solutions has changed the landscape of the computer vision field significantly in the last five years. In the following section, we present such a solution for the image splicing localization problem. Of the existing techniques in the published literature on image forensics, relatively few have utilized deep learning or neural-network-based techniques

[29, 38, 3, 10]. These techniques have either (1) not focused specifically on splicing attacks, (2) did not report quantitative results using a pixel-wise localization metric (e.g., some papers reported only detection-based metrics) or (3) did not use a public splicing dataset when reporting pixel-wise localization results.

3 Proposed Methods

3.1 Brief Review of Fully Convolutional Networks (FCNs)

In this work, we propose an image splicing localization technique based on a convolutional neural network (CNN). CNNs have been shown to provide promising results in image-based detection tasks such as object detection. Fully convolutional networks (FCNs)

[24] are a special type of convolutional neural network with only convolutional layers (i.e., by converting all fully connected layers to convolutional ones). In [24], the authors adapted common classification networks into fully convolutional ones for the task of semantic segmentation. It was shown in [24] that FCNs can efficiently learn to make dense predictions for per-pixel tasks such as semantic segmentation. Three classification architectures that were converted to fully convolutional form are AlexNet [20], GoogLeNet [34], and VGG-16 [33]. In [24], the authors found that FCN VGG-16 performed the best among the three.

3.2 Single-task Fully Convolutional Network (SFCN)

In this work, we first adapted a single-task fully convolutional network (SFCN) based on the FCN VGG-16 architecture to the spicing localization problem. The SFCN was trained on the surface label or ground truth mask, which is a per-pixel, binary mask that classifies each pixel in an image as spliced or authentic. We utilized the skip architecture proposed in [24]. In [24]

, the authors extended the FCN VGG-16 to a three-stream network with eight pixel prediction stride (as opposed to the 32 pixel stride in the original network without skip connections), and found that this skip architecture yielded superior performance over the original architecture. In addition, we incorporated several modifications, including batch normalization and class weighting. We utilized batch normalization to eliminate the bias and normalize the inputs at each layer

[17]

. Class weighting refers to the application of different weights to the different classes in the loss function. In the context of splicing localization, class weighting is beneficial since the amount of non-spliced (authentic) pixels typically outnumbers the amount of spliced pixels by a significant margin. We apply a larger weight to the spliced pixels (since there are fewer spliced pixels than non-spliced ones). In particular, we used median frequency class weighting

[13, 2]. Although the ground truth mask is binary, the raw output of the SFCN is a probability map. That is, each pixel is assigned a value representing the probability that the pixel is spliced. As described in Section 4, the performance metrics require a binary mask, thus the probability map must be thresholded. We refer to the thresholded probability map as the binary system output mask.

3.3 Multi-task Fully Convolutional Network (MFCN)

Although the single-task network is shown to provide superior performance over existing splicing localization methods, it can still provide a coarse localization output in certain cases. In [30]

, a multi-task fully convolutional network (MFCN) based on the FCN VGG-16 architecture was proposed for indoor layout estimation. The multi-task architecture utilizes two output branches instead of one and it offers superior performance for the indoor layout estimation problem. In our work, we adopt the idea in

[30] of utilizing a multi-task network, but we incorporate several modifications, including skip connections, batch normalization, and class weighting (as discussed in Section 3.2). In contrast to the SFCN, the MFCN utilizes two output branches for multi-task learning. One branch is used to learn the surface label, while the other branch is used to learn the edge or boundary of the spliced region. The architecture of the MFCN used in our paper is shown in Fig. 3. In addition to the surface labels, the boundaries between inserted regions and their host background can be an important indicator of a manipulated area. This is what motivated us to use a multi-task learning network. The weights or parameters of the network are influenced by both the surface and edge labels during the training process. By simultaneously training on the surface and edge labels, we are able to obtain a finer localization of the spliced region, as compared to training only on the surface labels. Once the network was fully trained, we evaluated two different binary output mask generation approaches. In the first approach, we extract the surface output probability map, and then threshold it to yield the binary system output mask. In this approach, the edge output probability map is not utilized in the inference step. Please note that the edge label still influenced the weights of the network during the training process.

Figure 3:

The MFCN Architecture for image splicing localization. Numbers in the form x/y refer to the kernel size and number of filters of the convolutional layer (colored blue), respectively. For example, the Conv1 block consists of two convolutional layers, each with a kernel size of 3 and 64 filters (note that after each convolutional layer is a batch normalization layer and a ReLU layer). Numbers in the form of 2x and 8x refer to an upsampling factor of 2 and 8 for the deconvolution layers, respectively. Also, please note the inclusion of skip connections at the third and fourth max pooling layers. The grey-colored layers represent element-wise addition. The max pooling layers have a kernel size of 2 and a stride of 2.

3.4 Edge-enhanced MFCN Inference

The second inference strategy, which we refer to as the edge-enhanced MFCN, utilizes both the surface and edge output probability maps, as described in the following steps:

  1. We threshold the surface probability map with a given threshold.

  2. We threshold the edge probability map with a given threshold.

  3. Next, we apply hole-filling to the output of step (2), yielding the hole-filled, thresholded edge mask.

  4. Finally, we generate the binary system output mask by computing the intersection of the output of step (1) and output of step (3).

It is shown in this paper that by utilizing both the edge and surface probability maps in the inference step, we obtain finer localization of the spliced region. An example illustrating inference with edge-enhancement is shown in Figure 4. It can be seen that utilizing both the edge and surface probability maps leads to a finer localization of the spliced region.

Figure 4: Illustration of MFCN inference with edge enhancement: (a) Edge probability map, (b) Hole-filled, thresholded edge mask, (c) Surface probability map, (d) Thresholded surface mask, (e) Ground truth mask, and (f) Final system output mask.

3.5 Training and Testing Procedure

For the MFCN, the total loss function, , is the sum of the loss corresponding to the surface label and the loss corresponding to the edge label, denoted by and , respectively. Thus, we have

where and are per-pixel softmax loss functions. In addition, we apply median-frequency class weighting to the surface and edge loss functions, as described in Sections 3.2 and 3.3. For the SFCN, the total loss function is equal to the surface loss function .

The training of the networks was performed in Caffe

[18]

using the stochastic gradient descent (SGD) algorithm with a fixed learning rate of 0.0001, a momentum of 0.9, and a weight decay of 0.0005. We initialize the weights or parameters of the SFCN and MFCN by the weights of a VGG-16 model pre-trained on the ImageNet dataset, which contains 1.2 million images for the task of object recognition and image classification.

[33, 31].

We trained the SFCN and MFCN using the CASIA v2.0 dataset, and then evaluated the trained models on the CASIA v1.0, Columbia Uncompressed, Carvalho, and Nimble Challenge 2016 Science (SCI) datasets. The numbers of training and testing images are given in Table 1. Ground truth masks are provided for the Columbia Uncompressed, Carvalho, and Nimble Challenge 2016 datasets. For the CASIA v1.0 and CASIA v2.0 datasets, we generated the ground truth masks using the provided reference information. In particular, for a given spliced image in the CASIA datasets, the corresponding donor and host images are provided, and we used this information to generate the ground truth mask.

Dataset Type Number of Images
CASIA v2.0 Training 5123
CASIA v1.0 Testing 921
Columbia Testing 180
Carvalho Testing 100
Nimble 2016 SCI Testing 160
Table 1: Training and Testing Images

4 Performance Evaluation Metrics

Once the MFCN or SFCN is trained, we use the trained model to evaluate other images not in the training set. We evaluated the performance of the proposed and existing methods using the and Matthews Correlation Coefficient () metrics, which are per-pixel localization metrics.

Both the metric and metric require as input a binary mask. We converted each output map to a binary mask based on a threshold. For each output map, we varied the threshold and picked the optimal threshold (this is done for each method). This technique of varying the threshold was also utilized by Zampoglou et. al. in [37]. We then computed the and metrics by comparing the binary system output mask to the corresponding ground truth mask. For a given spliced image, the metric is defined as

where represents the binary system output mask, represents the ground truth mask, represents the number of pixels classified as true positive, represents the number of pixels classified as false negative, and represents the number of pixels classified as false positive. A true positive means that a spliced pixel is correctly classified as spliced, a false negative means that a spliced pixel is incorrectly classified as authentic, and a false positive means that an authentic pixel is incorrectly classified as spliced. For a given spliced image, the metric is defined as

For a given dataset and a given method, we report the average and average scores across the dataset.

5 Experimental Results

5.1 Performance Comparison

We compared the proposed SFCN and MFCN methods with a large number of existing splicing localization algorithms. Following the acronyms in [37], these algorithms are: ADQ1 [23], ADQ2 [4], ADQ3 [1], NADQ [6], BLK [22], CFA1 [15], CFA2 [12], DCT [36], ELA [19], NOI1 [27], NOI2 [26] and NOI3 [9]. The implementation of these existing algorithms is provided in a publicly available Matlab toolbox written by Zampoglou et. al. [37]. As noted in [37], ADQ2, ADQ3, and NADQ require JPEG images as input because they exploit certain JPEG data directly extracted from the compressed files. Therefore, these three algorithms could only be evaluated on the CASIA v1.0 and Nimble 2016 SCI datasets, which contain images in JPEG format. These three algorithms could not be evaluated on the Columbia and Carvalho datasets, since they do not contain images in JPEG format.

For each method, we computed the average and scores across each dataset, and the results are shown in Table 2 ( scores) and Table 3 ( scores). We see that the MFCN and SFCN methods outperform the benchmarking algorithms on all four datasets, in terms of both and score. Furthermore, we see that the edge-enhanced MFCN method performs the best among the three proposed methods (the numbers are highlighted in bold in Tables 2 and 3 to reflect this).

Since the MFCN and SFCN methods were the top performing methods, we show system output examples from these methods on the CASIA v1.0 and Carvalho datasets in Figure 5. Each row shows a manipulated image, the ground truth mask, and the binary system output mask for SFCN, MFCN (without edge-enhanced inference), and the edge-enhanced MFCN. As shown by examples in this figure, the edge-enhanced MFCN yields finer localization of the spliced region than the SFCN and the MFCN without edge-enhanced inference.

Method CASIA v1.0 Columbia Nimble 2016 SCI Carvalho
SFCN 0.4770 0.5820 0.4220 0.4411
MFCN 0.5182 0.6040 0.4222 0.4678
Edge-enhanced MFCN 0.5410 0.6117 0.5707 0.4795
NOI1 0.2633 0.5740 0.2850 0.3430
DCT 0.3005 0.5199 0.2756 0.3066
CFA2 0.2125 0.5031 0.1587 0.3124
NOI3 0.1761 0.4476 0.1635 0.2693
BLK 0.2312 0.5234 0.3019 0.3069
ELA 0.2136 0.4699 0.2358 0.2756
ADQ1 0.2053 0.4975 0.2202 0.2943
CFA1 0.2073 0.4667 0.1743 0.2932
NOI2 0.2302 0.5318 0.2320 0.3155
ADQ2 0.3359 NA 0.3433 NA
ADQ3 0.2192 NA 0.2622 NA
NADQ 0.1763 NA 0.2524 NA
Table 2: Average Scores of Proposed and Existing Methods For Different Datasets. For each dataset, we highlight in bold the top-performing method. As noted in [37], ADQ2, ADQ3, and NADQ require JPEG images as input because they exploit certain JPEG data directly extracted from the compressed files. Therefore, these three algorithms could only be evaluated on the CASIA v1.0 and Nimble 2016 SCI datasets, which contain images in JPEG format. For the Columbia and Carvalho datasets (which do not contain images in JPEG format), we put “NA” in the corresponding entry in the table to indicate that these three algorithms could not be evaluated on these two datasets.
Method CASIA v1.0 Columbia Nimble 2016 SCI Carvalho
SFCN 0.4531 0.4201 0.4202 0.3676
MFCN 0.4935 0.4645 0.4204 0.3901
Edge-enhanced MFCN 0.5201 0.4792 0.5703 0.4074
NOI1 0.2322 0.4112 0.2808 0.2454
DCT 0.2516 0.3256 0.2600 0.1892
CFA2 0.1615 0.3278 0.1235 0.1976
NOI3 0.0891 0.2076 0.1014 0.1080
BLK 0.1769 0.3278 0.2657 0.1768
ELA 0.1337 0.2317 0.1983 0.1111
ADQ1 0.1262 0.2710 0.1880 0.1493
CFA1 0.1521 0.2281 0.1408 0.1614
NOI2 0.1715 0.3473 0.2066 0.1919
ADQ2 0.3000 NA 0.3210 NA
ADQ3 0.1732 NA 0.2512 NA
NADQ 0.0987 NA 0.2310 NA
Table 3: Average Scores of Proposed and Existing Methods For Various Datasets. For each dataset, we highlight in bold the top-performing method. As noted in [37], ADQ2, ADQ3, and NADQ require JPEG images as input because they exploit certain JPEG data directly extracted from the compressed files. Therefore, these three algorithms could only be evaluated on the CASIA v1.0 and Nimble 2016 SCI datasets, which contain images in JPEG format. For the Columbia and Carvalho datasets (which do not contain images in JPEG format), we put “NA” in the corresponding entry in the table to indicate that these three algorithms could not be evaluated on these two datasets.
Figure 5: System Output Mask Examples of SFCN, MFCN, and edge-enhanced MFCN on the CASIA v1.0 and Carvalho Datasets. Please note that we refer to the MFCN without edge-enhanced inference simply as MFCN. Each row in the figure shows a manipulated or spliced image, the ground truth mask, the SFCN output, the MFCN output, and the edge-enhanced MFCN output. The number below each output example is the corresponding score. The first two rows are examples from the CASIA v1.0 dataset, while the other two rows are examples from the Carvalho dataset. It can be seen from these examples that the edge-enhanced MFCN achieves finer localization than the SFCN and the MFCN without edge-enhanced inference.

5.2 Performance on JPEG Compressed Images

We also compared the performance of the proposed and existing methods before and after JPEG compression of the spliced images. We used the Carvalho dataset for this experiment. The images are originally in PNG format, and we compressed them using two different quality factors: 50 and 70. Table 4 shows the average scores on the original dataset and the JPEG compressed images using the two different quality factors. We see small performance degradation due to JPEG compression. However, the performance of the SFCN and MFCN methods is still better than the performance of existing methods. Furthermore, we see that the performance of the SFCN and MFCN methods on the JPEG compressed dataset is better than the performance of existing methods on the original uncompressed dataset.

Method Original (No Compression) JPEG Quality = 70 JPEG Quality = 50
SFCN 0.4411 0.4350 0.4326
MFCN 0.4678 0.4434 0.4334
Edge-enhanced MFCN 0.4795 0.4496 0.4431
NOI1 0.3430 0.3284 0.3292
DCT 0.3066 0.3103 0.3121
CFA2 0.3124 0.2850 0.2832
NOI3 0.2693 0.2646 0.2636
BLK 0.3069 0.2946 0.3005
ELA 0.2756 0.2703 0.2728
ADQ1 0.2943 0.2677 0.2646
CFA1 0.2932 0.2901 0.2919
NOI2 0.3155 0.2930 0.2854
Table 4: Average Scores of Proposed and Existing Methods on Original and JPEG Compressed Carvalho Images. For each column, we highlight in bold the top-performing method.

5.3 Performance on Gaussian Blurred Images

We also evaluated the performance of the proposed and existing methods after applying Gaussian blurring or smoothing to the spliced images of the Carvalho dataset. We filtered a given spliced image using a Gaussian smoothing kernel with the following four standard deviation values (in terms of pixels):

, , , and . Table 5 shows the average scores of the proposed methods and existing methods applied to the original and Gaussian-filtered images. We see slight performance degradation when However, the performance of the SFCN and MFCN methods is still better than the performance of existing methods. Furthermore, we see that the performance of the SFCN and MFCN methods on the blurred images is better than the performance of existing methods on the original unblurred images.

Method Original (No Blurring)
SFCN 0.4411 0.4403 0.4475 0.4365 0.4219
MFCN 0.4678 0.4694 0.4659 0.4560 0.4376
Edge-enhanced MFCN 0.4795 0.4849 0.4798 0.4724 0.4482
NOI1 0.3430 0.3330 0.2978 0.2966 0.2984
DCT 0.3066 0.3040 0.3014 0.3013 0.2994
CFA2 0.3124 0.3055 0.2947 0.2907 0.2894
NOI3 0.2693 0.2629 0.2539 0.2500 0.2486
BLK 0.3069 0.3133 0.3177 0.3177 0.3168
ELA 0.2756 0.2740 0.2715 0.2688 0.2646
ADQ1 0.2943 0.2929 0.2922 0.2952 0.2960
CFA1 0.2932 0.2974 0.3085 0.3022 0.3056
NOI2 0.3155 0.3141 0.3074 0.3040 0.2982
Table 5: Average Scores of Proposed and Existing Methods On Original and Blurred Carvalho Images. For each column, we highlight in bold the top-performing method.

5.4 Performance on Images with Additive White Gaussian Noise

Finally, we evaluated the performance of the proposed and existing methods on images with additive white gaussian noise (AWGN). We added AWGN to the images in the Carvalho testing set and set the resulting SNR values to three levels: 25 dB, 20 dB, and 15 dB. Table 6 shows the scores of the proposed methods and existing methods on the original and the noisy images. Again, we see small degradation in the performance of the proposed methods due to additive noise. However, the performance of the proposed SFCN and MFCN methods is still better than the performance of existing methods. Furthermore, we see that the performance of the SFCN and MFCN methods on the corrupted images is better than the performance of existing methods on the original uncorrupted images.

Method Original (No Noise) SNR = 25 dB SNR = 20 dB SNR = 15 dB
SFCN 0.4411 0.4400 0.4328 0.4307
MFCN 0.4678 0.4674 0.4677 0.4577
Edge-enhanced MFCN 0.4795 0.4786 0.4811 0.4719
NOI1 0.3430 0.3181 0.3038 0.2918
DCT 0.3066 0.2940 0.2681 0.2485
CFA2 0.3124 0.2863 0.2844 0.2805
NOI3 0.2693 0.2535 0.2496 0.2476
BLK 0.3069 0.2974 0.2813 0.2658
ELA 0.2756 0.2533 0.2473 0.2460
ADQ1 0.2943 0.2916 0.2874 0.2937
CFA1 0.2932 0.2909 0.2906 0.2859
NOI2 0.3155 0.3207 0.3163 0.3108
Table 6: Average Scores of Proposed and Existing Methods On Original and Noisy Carvalho Images. For each column, we highlight in bold the top-performing method.

6 Conclusion

It was demonstrated in this work that the application of FCN to the splicing localization problem yields large improvement over current published techniques. The FCN we utilized is based on the FCN VGG-16 architecture with skip connections, and we incorporated several modifications, such as batch normalization layers and class weighting. We first evaluated a single-task FCN (SFCN) trained only on the surface ground truth mask (which classifies each pixel in an image as spliced or authentic). Although the single-task network is shown to outperform existing techniques, it can still yield a coarse localization output in certain cases. Thus, we next proposed the use of a multi-task FCN (MFCN) that is simultaneously trained on the surface ground truth mask and the edge ground truth mask, which indicates whether each pixel belongs to the boundary of the spliced region. For the MFCN-based method, we presented two different inference approaches. In the first approach, we compute the binary system output mask by thresholding the surface output probability map. In this approach, the edge output probability map is not utilized in the inference step. This first MFCN-based inference approach is shown to outperform the SFCN-based approach. In the second MFCN-based inference approach, which we refer to as edge-enhanced MFCN, we utilize both the surface and edge output probability map when generating the binary system output mask. The edge-enhanced MFCN is shown to yield finer localization of the spliced region, as compared to the SFCN-based approach and the MFCN without edge-enhanced inference. The proposed methods were evaluated on manipulated images from the Carvalho, CASIA v1.0, Columbia, and the DARPA/NIST Nimble Challenge 2016 SCI datasets. The experimental results showed that the proposed methods outperform existing splicing localization methods on these datasets, with the edge-enhanced MFCN performing the best.

7 Acknowledgments

This material is based on research sponsored by DARPA and Air Force Research Laboratory (AFRL) under agreement number FA8750-16-2-0173. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DARPA and Air Force Research Laboratory (AFRL) or the U.S. Government.

Credits for the use of the CASIA Image Tempering Detection Evaluation Database (CASIA TIDE) v1.0 and v2.0 are given to the National Laboratory of Pattern Recognition, Institute of Automation, Chinese Academy of Science, Corel Image Database and the photographers.

http://forensics.idealtest.org

References

  • Amerini et al. [2014] Amerini, I., Becarelli, R., Caldelli, R., Del Mastio, A., 2014. Splicing forgeries localization through the use of first digit features. In: Information Forensics and Security (WIFS), 2014 IEEE International Workshop on. IEEE, pp. 143–148.
  • Badrinarayanan et al. [2015] Badrinarayanan, V., Kendall, A., Cipolla, R., 2015. Segnet: A deep convolutional encoder-decoder architecture for image segmentation. arXiv preprint arXiv:1511.00561.
  • Bayar and Stamm [2016] Bayar, B., Stamm, M. C., 2016. A deep learning approach to universal image manipulation detection using a new convolutional layer. In: Proceedings of the 4th ACM Workshop on Information Hiding and Multimedia Security. ACM, pp. 5–10.
  • Bianchi et al. [2011] Bianchi, T., De Rosa, A., Piva, A., 2011. Improved dct coefficient analysis for forgery localization in jpeg images. In: Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on. IEEE, pp. 2444–2447.
  • Bianchi and Piva [2012a] Bianchi, T., Piva, A., 2012a. Detection of nonaligned double jpeg compression based on integer periodicity maps. IEEE transactions on Information Forensics and Security 7 (2), 842–848.
  • Bianchi and Piva [2012b] Bianchi, T., Piva, A., 2012b. Image forgery localization via block-grained analysis of jpeg artifacts. IEEE Transactions on Information Forensics and Security 7 (3), 1003–1017.
  • Chen et al. [2008] Chen, M., Fridrich, J., Goljan, M., Lukás, J., 2008. Determining image origin and integrity using sensor noise. IEEE Transactions on Information Forensics and Security 3 (1), 74–90.
  • Chierchia et al. [2014] Chierchia, G., Poggi, G., Sansone, C., Verdoliva, L., 2014. A bayesian-mrf approach for prnu-based image forgery detection. IEEE Transactions on Information Forensics and Security 9 (4), 554–567.
  • Cozzolino et al. [2015] Cozzolino, D., Poggi, G., Verdoliva, L., 2015. Splicebuster: a new blind image splicing detector. In: Information Forensics and Security (WIFS), 2015 IEEE International Workshop on. IEEE, pp. 1–6.
  • Cozzolino and Verdoliva [2016]

    Cozzolino, D., Verdoliva, L., 2016. Single-image splicing localization through autoencoder-based anomaly detection. In: Information Forensics and Security (WIFS), 2016 IEEE International Workshop on. IEEE, pp. 1–6.

  • De Carvalho et al. [2013] De Carvalho, T. J., Riess, C., Angelopoulou, E., Pedrini, H., de Rezende Rocha, A., 2013. Exposing digital image forgeries by illumination color classification. IEEE Transactions on Information Forensics and Security 8 (7), 1182–1194.
  • Dirik and Memon [2009] Dirik, A. E., Memon, N. D., 2009. Image tamper detection based on demosaicing artifacts. In: ICIP. pp. 1497–1500.
  • Eigen and Fergus [2015] Eigen, D., Fergus, R., 2015. Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture. In: Proceedings of the IEEE International Conference on Computer Vision. pp. 2650–2658.
  • Farid [2009] Farid, H., 2009. Exposing digital forgeries from jpeg ghosts. IEEE transactions on information forensics and security 4 (1), 154–160.
  • Ferrara et al. [2012] Ferrara, P., Bianchi, T., De Rosa, A., Piva, A., 2012. Image forgery localization via fine-grained analysis of cfa artifacts. IEEE Transactions on Information Forensics and Security 7 (5), 1566–1577.
  • Hsu and Chang [2006] Hsu, Y.-F., Chang, S.-F., 2006. Detecting image splicing using geometry invariants and camera characteristics consistency. In: 2006 IEEE International Conference on Multimedia and Expo. IEEE, pp. 549–552.
  • Ioffe and Szegedy [2015]

    Ioffe, S., Szegedy, C., 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In: International Conference on Machine Learning. pp. 448–456.

  • Jia et al. [2014] Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., Darrell, T., 2014. Caffe: Convolutional architecture for fast feature embedding. In: Proceedings of the 22nd ACM international conference on Multimedia. ACM, pp. 675–678.
  • Krawetz [2007] Krawetz, N., 2007. A pictures worth digital image analysis and forensics. Black Hat Briefings, 1–31.
  • Krizhevsky et al. [2012] Krizhevsky, A., Sutskever, I., Hinton, G. E., 2012. Imagenet classification with deep convolutional neural networks. In: Advances in neural information processing systems. pp. 1097–1105.
  • Li and Li [2012] Li, C.-T., Li, Y., 2012. Color-decoupled photo response non-uniformity for digital image forensics. IEEE Transactions on Circuits and Systems for Video Technology 22 (2), 260–271.
  • Li et al. [2009] Li, W., Yuan, Y., Yu, N., 2009. Passive detection of doctored jpeg image via block artifact grid extraction. Signal Processing 89 (9), 1821–1829.
  • Lin et al. [2009] Lin, Z., He, J., Tang, X., Tang, C.-K., 2009. Fast, automatic and fine-grained tampered jpeg image detection via dct coefficient analysis. Pattern Recognition 42 (11), 2492–2501.
  • Long et al. [2015] Long, J., Shelhamer, E., Darrell, T., 2015. Fully convolutional networks for semantic segmentation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. pp. 3431–3440.
  • Luo et al. [2007] Luo, W., Qu, Z., Huang, J., Qiu, G., 2007. A novel method for detecting cropped and recompressed image block. In: 2007 IEEE International Conference on Acoustics, Speech and Signal Processing-ICASSP’07. Vol. 2. IEEE, pp. II–217.
  • Lyu et al. [2014] Lyu, S., Pan, X., Zhang, X., 2014. Exposing region splicing forgeries with blind local noise estimation. International Journal of Computer Vision 110 (2), 202–221.
  • Mahdian and Saic [2009] Mahdian, B., Saic, S., 2009. Using noise inconsistencies for blind image forensics. Image and Vision Computing 27 (10), 1497–1503.
  • Patel and Patel [2015] Patel, H. C., Patel, M. M., 2015. An improvement of forgery video detection technique using error level analysis. International Journal of Computer Applications 111 (15).
  • Rao and Ni [2016] Rao, Y., Ni, J., 2016. A deep learning approach to detection of splicing and copy-move forgeries in images. In: Information Forensics and Security (WIFS), 2016 IEEE International Workshop on. IEEE, pp. 1–6.
  • Ren et al. [2016] Ren, Y., Li, S., Chen, C., Kuo, C.-C. J., 2016. A coarse-to-fine indoor layout estimation (cfile) method. In: Asian Conference on Computer Vision. Springer, pp. 36–51.
  • Russakovsky et al. [2015] Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Huang, Z., Karpathy, A., Khosla, A., Bernstein, M., et al., 2015. Imagenet large scale visual recognition challenge. International Journal of Computer Vision 115 (3), 211–252.
  • Shi et al. [2007] Shi, Y. Q., Chen, C., Chen, W., 2007. A natural image model approach to splicing detection. In: Proceedings of the 9th workshop on Multimedia & security. ACM, pp. 51–62.
  • Simonyan and Zisserman [2014] Simonyan, K., Zisserman, A., 2014. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
  • Szegedy et al. [2015] Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., Erhan, D., Vanhoucke, V., Rabinovich, A., 2015. Going deeper with convolutions. In: Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 1–9.
  • Wang et al. [2010] Wang, W., Dong, J., Tan, T., 2010. Tampered region localization of digital color images based on jpeg compression noise. In: International Workshop on Digital Watermarking. Springer, pp. 120–133.
  • Ye et al. [2007] Ye, S., Sun, Q., Chang, E.-C., 2007. Detecting digital image forgeries by measuring inconsistencies of blocking artifact. In: 2007 IEEE International Conference on Multimedia and Expo. IEEE, pp. 12–15.
  • Zampoglou et al. [2016] Zampoglou, M., Papadopoulos, S., Kompatsiaris, Y., 2016. Large-scale evaluation of splicing localization algorithms for web images. Multimedia Tools and Applications, 1–34.
  • Zhang et al. [2016] Zhang, Y., Goh, J., Win, L. L., Thing, V. L., 2016. Image region forgery detection: A deep learning approach. In: SG-CRC. pp. 1–11.