## 2 Multi-Feature Detection Method of Image Tampering
The NSS model in this paper is composed of a 51-dimensional feature vector \(z\) (i.e., \(z=[z(1),z(2),\cdots,z(51)]\)) [32], including spatial domain and transform domain features. The spatial domain features include features based on the generalized Gaussian distribution (GGD), features based on asymmetric GGD, and features based on image entropy [32]. Transform domain features include features based on Benford's law, features based on energy-subband ratio, and features based on frequency variation [32]. ### Classification Algorithm

After obtaining the above three features, they are parallelly fed into the proposed random forest model to be separately classified, and then the final classification decision is obtained by the majority voting rule. The dataset is divided into training and test sets by cross-validation. The features of the images in the training set are fed into the classifier until its training phase is completed, and then its performance is verified by images from the testing set. The random forest algorithm is adopted as the classifier. #### 2.4.1 Random Forest Classification

Random forest classification is an integrated classification scheme constructed by randomly selecting the data subspace and growing it into a group of decision trees [33]. The research results show that the random forest classifier can achieve high accuracy in the data classification of high-dimensional and multi-category fields. The construction of a random forest from data subspaces has been reported by several studies The most popular method of random forest building was proposed by [33], where random selection of features is selected at each node to develop a branch of the decision tree, and then

Figure 3: The separated ROI and RONI. (**a,d**) Tampered images; (**b,e**) ROI of images; (**c,f**) RONI of images. the bagging method is used to generate the training set and a tree is grown. Finally, all individual trees are constructed to form a random forest model. #### 2.4.2 Cross Authentication

The k-fold cross-validation method is adopted in this paper to divide the dataset into training and test sets. The steps are as follows:

1. Divide all datasets into \(K\) sets;
2. Choose a set as the test set for \(K\) times without repetition, and the other \((K-1)\) ones are taken as the training sets to train the model, and then the accuracy of the model on the test set can be calculated. 3. Calculate the mean of the accuracies of k times to obtain the final result: \[\text{Ac}_{(K)}=\frac{1}{K}\sum_{i=1}^{K}\text{Ac}_{i}\] (13)

## 3 Experimental Results and Analysis

To verify the effectiveness of the method in this paper, we conducted batch tests on images from a newly built dataset named Tampering ImageNet, Columbia dataset [17], and CASIA ITDE V2.0 [18]. The novel Tampering ImageNet dataset was built by manually preprocessing 500 untampered images drawn from the public ImageNet dataset [16] to produce a total of 500 pairs of untampered/tampered images. The images were clipped and zoomed to obtain 512 \(\times\) 512 untampered images. The stitched images were constructed using the following method: part of the image region from one image (or some images) was selected and stitched into another image. The stitched region was manually decided with a random location and size, and its edge may be regular or irregular. In tampered images, the tampered area of some images was preprocessed, such as resizing and rotating. Objects were selected and resized carefully so that they were not visually abrupt in the tampered images. Through the above preprocessing, 500 untampered images and 500 tampered images with a size of 512 \(\times\) 512 were obtained, including natural scene, architecture, object, people, animal, plant, and texture images. Some examples of the images are shown in Figure 4. In both the Columbia dataset and CASIA ITDE V2.0, all images of the appropriate size were selected.