Next Article in Journal
Intelligent Blasthole Detection of Roadway Working Face Based on Improved YOLOv7 Network
Next Article in Special Issue
A Dynamic Hybrid Cryptosystem Using Chaos and Diffie–Hellman Protocol: An Image Encryption Application
Previous Article in Journal
A Novel Remote Sensing Image Enhancement Method, the Pseudo-Tasseled Cap Transformation: Taking Buildings and Roads in GF-2 as an Example
Previous Article in Special Issue
A Novel Fractional Sine Chaotic Map and Its Application to Image Encryption and Watermarking
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel PCA-Based Method for PRNU Distillation to the Benefit of Source Camera Identification

1
Department of Computer Science and Technology, Qilu University of Technology (Shandong Academy of Sciences), Jinan 250353, China
2
School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
3
Shandong Computer Science Center (National Supercomputer Center in Jinan), Qilu University of Technology (Shandong Academy of Sciences), Jinan 250014, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(11), 6583; https://doi.org/10.3390/app13116583
Submission received: 17 April 2023 / Revised: 23 May 2023 / Accepted: 24 May 2023 / Published: 29 May 2023
(This article belongs to the Special Issue Digital Image Security and Privacy Protection)

Abstract

:
Photo response non-uniformity (PRNU) is a widely accepted inherent fingerprint that has been used in source camera identification (SCI). However, the reference PRNU noise is limited by the performance of PRNU noise extraction techniques and is easily contaminated by interfering noise from image content. The existing methods mainly suppressed the interference noise of the reference PRNU noise in the spectral domain, but there was still interference noise related to the image content in the low-frequency region. We considered that this interference noise of the reference PRNU noise could be removed by further operations in the spatial domain. In this paper, we proposed a scheme to distil the reference PRNU by removing the interference noise with the help of principal component analysis (PCA) technology. Specifically, the reference PRNU noise was modelled as white Gaussian noise, whereas the interfering noise caused correlation between pixels and their neighbourhoods in the reference PRNU noise. In the local pixel area, we modelled a pixel and its neighbours as a vector and used block matching to select PCA training samples with similar contents. Next, PCA transformation estimated the interference noise in the local pixel area, and we performed coefficient shrinkage in the PCA domain to better estimate interference noise. The experimental results on the “Dresden” and “VISION” datasets showed that the proposed scheme achieved better receiver operating characteristic curves and the Kappa statistic than state-of-the-art works.

1. Introduction

The development of digital imaging technology has been changing people’s way of life [1,2]. People are increasingly willing to share their lives through taking photos, and the lack of public awareness on information protection greatly increases the risk of image theft and malicious use. Millions of photos are captured, transmitted, and saved every day, many of which are used in sensitive and important applications. Digital forensics technology effectively safeguards the personal interests of citizens [3,4]. We focus our attention on the exploration of source camera forensic technology. The information about source camera included in the file headers of digital images can be easily stripped and tampered [5]. It is imperative for us to guarantee the authenticity of the image being used in a sensitive scenario. In this light, the source camera identification (SCI) problem has attracted much attention from researchers. Source camera identification determines the source camera of a test image by analysing its unique features.
A camera sensor inevitably leaves traces in images due to the imperfection of material and the manufacturing process. In the literature, the traces are often called sensor pattern noise (SPN). Since each camera’s sensor is different, its pattern noise is also unique, so the sensor pattern noise can be treated as a “fingerprint” of the camera. Lukas et al. [6] first proposed a source detection algorithm for camera images based on SPN. They proved that SPN is a kind of zero-mean noise signal, mainly caused by non-uniformity of silicon wafer. The size of SPN is consistent with that of the sensor. SPN is mainly composed of photo response non-uniformity (PRNU) noise. Therefore, SPN refers to PRNU throughout the rest of this paper unless otherwise stated.
The effectiveness of the PRNU-based SCI algorithm depends on the quality of PRNU noise extracted from images. Following a standard procedure to associate an image with the source camera, the PRNU noise extracted from the test image must be compared with the reference PRNU of the camera. The reference PRNU is obtained by averaging the PRNU noises from a set of sample images captured by the camera. Improving the quality of the reference PRNU is also called PRNU enhancement [7], which further removes interference noise from the reference PRNU that is useless for forensics, thereby achieving improvement of SCI accuracy. The study of PRNU enhancement has attracted the attention of many experts and scholars. Chen et al. [7] pointed out for the first time that the estimated PRNU noise contains some artificial trace noise, which is caused by the processing algorithm embedded in the image acquisition process, such as colour filter array (CFA) interpolation, gamma correction, and JPEG compression. These artificial trace noises cannot be used in SCI and should be removed from the reference PRNU noise. Chen et al. used a zero-mean operation to remove the noise introduced by CFA interpolation and performed Wiener filtering of the estimated PRNU noise in the Fourier transform domain. Based on the assumption that the reference PRNU noise can be modelled as a WGN, Lin and Li [8] proposed a spectrum equalization algorithm (SEA) enhancement method, which first used an iterative approach to calculate periodic abnormal peaks in the spectrum domain due to JEPG compression. After locating the periodic compression-related peaks in the spectrum domain, the local mean was used to smooth and suppress the abnormal peaks, so as to eliminate the unwanted noise. Recently, Rao et al. [9] indicated that although SEA can successfully eliminate most periodic interfering signals in the spectrum, the SEA spectrum was not very flat and most of the energy was concentrated in the low-frequency components, and its spectral distribution was not consistent with white Gaussian noise (WGN). Rao et al. argued that, in addition to periodic signals, there was also interference noise caused by imperfections in the reference PRNU noise extraction method that was correlated with the image content leaked in the reference PRNU noise. They proposed a method to suppress these interference noises by decorrelation.
The analysis above shows that the PRNU can be processed in the frequency domain to improve its quality. The leaked scene details in the reference PRNU noise maintain a certain local image structure [10], which is the most important factor causing the neighbouring pixel blocks of the reference PRNU to be correlated. In other words, the ideal reference PRNU noise should not have a local image structure, and the local pixel blocks should be uncorrelated with each other. Therefore, the scene details in the reference PRNU noise can be estimated based on the correlation of the neighbouring pixel blocks. Unless otherwise stated, the rest of this paper refers to the scene details in the reference PRNU noise as interference noise.
In this paper, we proposed an enhancement scheme based on principal component analysis (PCA) to remove the interference noise in the reference PRNU noise. The proposed scheme proceeded in two steps. First, PCA was used to estimate the interference noise in the reference PRNU. In order to accurately estimate the interference noise, we designed an effective data selection strategy to construct training samples in each local pixel block for PCA. Additionally, we designed appropriate shrinkage coefficients to retain the interference noise in each component of the PCA domain. Finally, the enhanced reference PRNU was obtained from the noise residual between the reference PRNU and the estimated interference noise.
This paper proposed a novel scheme based on the PCA technique to enhance the extraction quality of reference PRNU noise. As a result, the performance of digital image source camera identification can be improved. The main contents of the manuscript are given below.
  • We provided a novel technique to maximize the quality of reference PRNU noise and to effectively remove the content left by the image from the reference PRNU noise. Unlike the prior works, the proposed scheme estimates interference noise in the reference PRNU noise in the PCA domain.
  • To effectively remove the interference noise caused by image details, we proposed selecting pixel blocks with high similarity in a local region to participate in PCA training. The pixel blocks with comparatively high similarity contained more image details. Furthermore, we used an appropriate shrinkage function in the PCA domain to further refine the image details. The proposed scheme effectively estimated the image details in the reference PRNU noise and achieved the goal of enhancing the reference PRNU noise through residual operations.
  • We conducted sufficient experiments on the most classical dataset. By comparing with the prior works, we validated that our proposed scheme achieved the enhancement of reference PRNU noise, effectively improving the performance of the digital image source camera detection technology.
The rest of this paper is organized as follows. In Section 2, the related work on PRNU is briefly introduced. In Section 3, we describe the proposed scheme in detail. Section 4 shows the experimental results and analysis, followed by the conclusions in Section 5.

2. Related Work

2.1. Technical Background

Because the PRNU associated with a sensor is unique, using it as an important reference basis for SCI has inherent advantages. Specifically, a real image can be represented as [7]:
I = I 0 + KI 0 + θ ,
where I 0 represents an ideal image without any noise; I represents the output real image; K represents the factor of SPN on I 0 with a multiplicative rule; and θ represents random noise. Here, the spectral of K is very similar to that of WGN.
The extraction of the reference PRNU can be divided into two stages, filtering and combination [6]. In the filtering stage, the main aim is to denoise m images taken by one camera to obtain m noise residuals W i [6].
W i = I i F ( I i ) ,
where F is the denoising filter, and W i denotes the noise residual of I i , i = 1 , 2 , , m . It is crucial to obtain the noise residual W i which contains PRNU component in the filtering stage.
In the combination stage, the m noise residues associated with one camera need to be combined to obtain a reliable reference PRNU noise R, mainly by the mean and maximum likelihood estimation (MLE) methods. The mean method [6] is shown as follows,
R = i = 1 m W i / m ,
The MLE method [7] extends Equation (3), weighting the noise residues with the original image as follows,
R = i = 1 m W i I i / i = 1 m I i 2 .

2.2. State of the Art

PRNU extracted from digital images has been proven to be a unique fingerprint of digital cameras. The common extracted scheme is the wavelet-based filtering method first proposed by Lukas et al. [6]. The denoised wavelet coefficients are obtained using the Wiener filter. The Wiener filter is the MSE-optimal stationary linear filter for images degraded by additive noise and blurring. It separates the PRNU from the image scene information while ensuring that the noise residual contains less scene information traces and does not misinterpret the area around the edges.
Since then more and more researchers have conducted further studies. Kang et al. [11] proposed a contextual content-adaptive interpolation (PCAI) algorithm based on eight neighbourhoods. Zeng et al. [12] proposed a content-adaptive filtering method based on image-guided filtering. Cortiana et al. [13] applied the improved BM3D algorithm to PRNU fingerprint extraction. D. Cozzolino et al. [14] recently proposed a scheme for training Siamese neural network models for source camera identification. By training pairs of images and PRNU training samples into the Siamese neural network, the final trained model can extract camera features for source camera identification. Marra et al. [15] proposed a method to solve the problem of clustering a set of images based on source devices without any a priori information. Long et al. [16] proposed an image source pipeline forensics method based on binary similarity measure of image response non-uniformity to address the identification issue of both natural images and computer-generated graphics. When applied to videos, Li et al. [17] proposed the extraction of video reference PRNU noise using partly decoded video. Kiegaing and Dirik [18] proposed a method to mitigate the impact of video compression on the PRNU noise in video frames.

3. The Proposed Method

3.1. Enhancing the Quality of Reference PRNU Noise

The quality of the estimated reference PRNU is crucial for the SCI algorithm. Limited to the filtering method in extracting the PRNU noise process, we cannot extract an ideal PRNU noise from a set of images. In fact, every reference PRNU noise inevitably exists unfavourable components for SCI. Although the SEA scheme can successfully remove periodic artefacts in the discrete Fourier transform (DFT) domain, the spectrum after SEA processing is not very flat and most of the energy is concentrated on the low-frequency components.
In our proposed scheme, the reference PRNU noise with SEA processing is represented as follows
R = S + V ,
where R is the reference PRNU noise after SEA processing, S is the reference PRNU noise in the ideal case, which should be a WGN, and V is the interference noise in the reference PRNU noise. The image content information is represented by a set of neighbouring pixels with different intensity levels. We know that an ideal reference PRNU noise seldom contains edge structure, and any area of an image should have a unique and uncorrelated PRNU noise. However, the interference noise, leaking from the image information into the reference PRNU noise, retains edge structures and neighbouring pixels are correlated. We can judge whether interference noise exists or not in the reference PRNU noise according to the correlation between neighbouring pixel blocks. In brief, if a local area contains interference noise, it means that it is highly similar to its adjacent pixel blocks.
In this work, we apply PCA to estimate the interference noise for the purpose of improving the quality of the reference PRNU noise. The flowchart of the proposed scheme is shown in Figure 1. First, the interference noise is extracted from the reference PRNU noise. Before using the PCA technique to extract the interference noise, a PCA training sample set needs to be constructed. Using the method of local pixel matching, the most appropriate samples are selected to construct the PCA training dataset. In the PCA domain, the interference noise is estimated and then transformed to the spatial domain. Finally, the output reference PRNU noise is the residual between the reference PRNU noise R and the interference noise V obtained by PCA processing.

3.2. Extracting Interference Noise from the Reference PRNU

Firstly, in order to apply PCA to estimate the interference noise V leaking in the reference PRNU noise R, we need to construct a training sample dataset. Each pixel and its neighbourhood in the reference PRNU noise are modelled as a vector variable, scene detail extraction is performed on vectors rather than on individual pixels. Applying PCA directly to the reference PRNU enhancement makes it difficult to capture the intensity of the suppressed interference noise, so the PCA training dataset must be data selected. In other words, the more interference noise contained in the training samples, the more accurately the interference noise is estimated in the PCA domain. If the interference noise leaks into the reference PRNU, it will cause a correlation between neighbouring pixel blocks. In order to more accurately estimate the interference noise in the PCA domain, as many correlated pixel blocks as possible should be sought in the local pixel block. A higher number of pixel blocks with similarity in a local pixel block means that there is more interference noise. Local pixel matching (LPM) has been proven to be an effective method for finding the most similar pixel blocks within image local pixels [13]. The reference PRNU noise is split into multiple L × L training blocks, and each training sample has K × K pixels. As shown in the following Figure 2, there are ( L K + 1 ) 2 training samples in the training block. We denote the centre block of the training block as x t a r g e t , t a r g e t = ( L × L + 1 ) / 2 . The centre block is converted into a vector called the reference vector, denoted as x 0 = [ x 1 x 2 x m ] T , m = K 2 . Likewise, other moving pixel blocks are called matching vectors, denoted as x i , i = 1 , 2 , , ( L K + 1 ) 2 1 , shown in the red area of Figure 2.
We let e i denote the correlation between two vectors, calculated from the mean square error (MSE):
e i = 1 m k = 1 m ( x 0 ( K ) x i ( K ) ) 2 .
In order to find the most similar vectors to construct a training dataset, we sort e i -values from smallest to largest. A smaller value of e i means that x 0 has a sufficiently similar image structure to x i . The number of vectors in the final sample dataset for PCA training is at least c × K 2 , where c is a constant ranging from 8 to 10. Usually, the training dataset with c × K 2 samples is robust for estimating the image’s local features, making it more reliable in computing the PCA transform matrix [19]. Then we use PCA to estimate the interference noise V in the training dataset X. Suppose we choose m sample vectors of the training dataset. The centralized training dataset is formed as X = [ x 0 x 1 x m 1 ], where x 0 is the central vector, x 1 , , x m 1 denotes other vectors. To make the representation easier, in an m × n matrix X, each vector sample x i , i = 1 , 2 , , m has n-component discrete variables x k i , i = 1 , 2 , , n . The training dataset X can be denote as:
X = x 1 1 x 1 2 x 1 n x 2 1 x 2 2 x 2 n x m 1 x m 2 x m n
The covariance matrix Ω X of X is decomposed using eigenvalue decomposition,
Ω X = Φ X Λ X Φ X T ,
where Φ X is the n × n orthonormal eigenvector matrix and Λ X is the diagonal eigenvalue matrix. In the covariance matrix, Ω X ( i , j ) , i j means the correlation between x i and x j . Then we can calculate the orthonormal PCA transformation matrix for X. In order to preserve more information about the interference noise, we chose to save all the feature vectors. Ω X is used to transform the sample training dataset X into the PCA domain.
Z = Ω X X ,
where Z is the decorrelated dataset for X. We have
Ω z = ( 1 n ) X X T = Λ X ,
where Ω Z is the covariance matrix of Z.
In the PCA transform domain, the scene detail information is concentrated on several important components, and the scene detail irrelevant information is evenly distributed throughout all components [20,21].We chose sample vectors similar enough to the central vector, meaning the information of the central vector and its local structure accounts for the largest amount of information retained by the PCA. Therefore, we can extract the scene detail content better. We chose to use linear minimum mean square error (LMMSE) estimation to suppress the uninteresting component in Z [19], as follows,
Z ^ k = w k Z k ,
where Z k is the k-th row of Z, Z k ^ is processed using LMMSE for Z k , and w k is the shrinkage coefficient which can be calculated as follows,
w k = ( Λ X ( k , k ) σ P R N U 2 ) / Λ X ( k , k ) ,
where σ P R N U 2 is the variance of the reference PRNU noise, and Λ X ( k , k ) is the k-th eigenvalue of Ω X . In the PCA domain, variance could measure the volume of information, which in a sense also tells us what kind of information should be removed. Although constructing training samples using LPM and selecting samples, reference PRNU noise is inevitably mixed in the samples. In our view, extracting scene details in the PCA domain, the main interference factor is the camera’s reference PRNU noise, so in Equation (12) we use the difference of the variances as the numerator.
After extracting the image details in the PCA transform domain, the Z ^ inverse transforms to the spatial domain. We obtain the interference noise in the local pixel block as follows,
X ^ = Ω x T Z ^ ,
where X ^ is the Z ^ inverse transforms to the spatial domain. During the above operation, we can extract the central block x 0 ^ , and extract its central pixel x t a r g e t . Applying the above procedure to each pixel in the reference PRNU noise, we obtain the complete interference noise.
Finally, we obtain a better quality of the reference PRNU noise, calculated as follows,
R ^ = R V ,
where R ^ is the noise residual between the reference PRNU noise R and interference noise V. We evaluated the effectiveness of the program in the experimental section in detail.

4. Experiment and Evaluations

4.1. Experimental Setup

In this section, we evaluated the performance of the proposed SCI scheme and compared it with some state-of-the-art works [6,7,9]. All cameras used in the experiments were obtained from the “Dresden” dataset [22], a large dataset widely used for research on source camera identification problems. The cameras in Dresden consist of common camera brands in the market, such as Nikon, Canon, Sony, etc. Table 1 presents the basic information of the used cameras, including 15 camera models and 49 camera devices. For each chosen camera, the reference PRNU noise is estimated using 50 flat field images with simple textures. Then, 150 test images of these camera are selected as the intraclass sample and 1440 test images of the other 48 cameras are selected as the interclass samples. In total we acquire 150 × 49 intraclass and 1440 × 49 interclass samples of correlation values for the overall 49 cameras. To obtain convincing results, all the 150 × 49 intraclass and 1440 × 49 interclass samples from the 49 cameras are used together to draw the overall ROC curve.

4.2. Experimental Procedure

The SCI process of using the proposed scheme is illustrated as follows:
(1)
The PRNU noise is extracted using the Mihcak filter [23] with parameter σ 2 equal to 9 for each of the 50 sample images.
(2)
The reference PRNU noise R is constructed by MLE of the PRNU noise extracted from the images.
(3)
The SEA and proposed scheme are used to enhance the reference PRNU noise R .
(4)
The peak correlation energy (PCE) is used to measure the similarity between the reference PRNU noise R and the test PRNU noise R t e s t extracted from an image captured by an unknown camera.
Using the PCE [24] to measure the similarity between the reference PRNU noise R and the test PRNU noise R t e s t . First, the normalized correlation between the two noises is calculated as follows:
C o r ( u , v ) = c o r r ( R , R t e s t ) ,
where corr() represents the correlation function, the dimensions of Cor ( u , v ) are the same as R and R t e s t . Then we judge whether there is a peak on the surface of the two-dimensional function according to the following values,
P C E = s i g n ( C o r ( u p e a k , v p e a k ) ) C o r ( u p e a k , v p e a k ) 2 1 m n B p e a k 2 Σ u , v N p e a k C o r ( u , v ) 2 ,
where ( u p e a k , v p e a k ) is the correlation function peak coordinates, and N p e a k represents the peak neighbourhood.
In addition, we need to know the difference between intraclass and interclass matching. Intraclass matching means that the test and real reference PRNU noise come from the same smartphone camera, which should have relatively large PCE values. Meanwhile, interclass matching implies different smartphone cameras, but their PCE values should be relatively small.

4.3. Performance Evaluation

To demonstrate the performance of our proposed scheme, we use two evaluation criteria: the overall receiver operating characteristic (ROC) evaluation statistics and the calculated Kappa statistic based on the confusion matrix. To obtain the overall ROC curve, for a given detection threshold, true positives and false positives were recorded for each camera, and these numbers were then summed and used to calculate the true positive rate (TPR) and false positive rate (FPR). Specifically, since each camera captures exactly the same number of images, we can simply calculate the TPR and FPR thresholds as follows.
T P R = T T P / ( N T P + N F N ) F P R = T F P / ( N F P + N T N )
where N T P , N F N , N F P and N T N represent the number of intraclass samples judged as intraclass samples, intraclass samples judged as interclass samples, interclass samples judged as intraclass samples and interclass samples judged as interclass samples, respectively. After calculating the detection threshold of the PCE according to Equation (16), the overall ROC curve can be obtained by varying the detection threshold from the minimum to maximum values.
To obtain the confusion matrix, we calculate the similarity between the PRNU of each query image in Table 1 and the reference PRNU of each camera, then the camera with the highest similarity corresponding to this image is identified. The value of each element M ( i , j ) in the confusion matrix indicates the number of images captured by camera i that are categorized as captured by camera j. In other words, the values along the main diagonal indicate the number of correct categorizations. Each confusion matrix can be reduced to a single statistic, the Kappa statistic, i.e.,
K a p p a = ( o φ ) / ( T φ ) ,
where o is the number of images correctly categorized in the camera, i.e., the trace of the confusion matrix, T is the total number of query images, and φ is the number of correctly predicted categories.
φ = c = 1 C i = 1 C M ( c , i ) j = 1 C M ( j , c ) T ,
The Kappa statistic measures the inconsistency between the observations and random guesses. Therefore, the larger the values, the better the performance, with 1 indicating perfect performance.
The most computationally costly resource of the proposed scheme is the cost of the LPM and PCA transformation, and thus, its complexity mainly depends on two parameters: the matching window size K and the training block size L. Suppose n training samples are selected, dataset K is of dimension n × k 2 . The singular value decomposition (SVD) is used in the PCA transformation to obtain the K 2 × K 2 covariance matrix.
In order to estimate the interfering noise from the PRNU noise by using PCA, we need to construct a set of training samples of the PRNU noise. In the experiment of extracting scene details, we need to use the complete L × L block centred on the given pixel as a training block to find the training sample. We calculate the similarity between the K × K block centred on the given pixel and all the K × K blocks within the training block, then choose high-similarity blocks as the training sample. We made reference to the parameters K = 5, L = 41 and S = 9 in [6,19]. We selected the optimal value of K and L through ablation experiments. We set L = 41, varied K from 3 to 9, and showed the results on the block size of 128 × 128 pixels. It is easy to see from Figure 3 that varying K has a trivial effect on the final camera identification performance. Taking the false positive rate F P = 0.01 for example, K = 3, 5, 7, and 9 achieve true positive T P = 0.699, 0.705, 0.697, 0.695. Based on the results of the above experiment, we set K = 5, varied L from 21 to 51. In Figure 4, the ROC curves of the camera identification performance are weakly affected by the change in L. Take the false positive rate F P = 0.01 for example, L = 21, 31, 41, and 51 achieve true positive T P = 0.690, 0.689, 0.691, 0.685. According to the results of ablation experiments, the values of K and L negligible affect the performance of the source camera identification. Therefore, we set K = 5, L = 41, and S = 9 in all experiments to extract scene detail noise in this paper. In the implementation of extracting scene detail, scene detail is actually extracted from the complete K × K block centred on the given pixel. The final scene detail pixel value is the average of all the estimates obtained by all local blocks containing the pixel. This strategy is used in [25] too.
From the perspective of the overall ROC curve, we present in detail the performance of the enhanced reference PRNU noise scheme. For the convenience of representation, we call the method in [6] “Lukas2006”, the method in [7] “Chen2008”, the method in [9] “Rao2017”, and the proposed scheme “Proposed”. To demonstrate the fairness of the comparison, all methods use the Mihcak filter with the parameter σ 2 equal to 9 to extract the PRNU noise. All methods use PCE to examine the similarity between the reference PRNU noise and the examined image. In addition, the images used in our experiments are colour images cropped from full-size colour images, and the experimental image sizes are 512 × 512, 256 × 256, and 128 × 128 pixels.
Figure 5 shows the ROC curves for the Lukas2006, Chen2008, Rao2017, and Proposed methods. For the different enhancement schemes in Figure 5, the line of the Proposed method always lies above the other lines, with Rao2017 in second place, followed by the Chen2008, and Lukas2006 methods. Compared with Rao2017, our proposed scheme effectively improves the quality of the reference PRNU noise and improves the performance of the SCI. Although the accuracy of the Proposed scheme decreases as the pixel block size decreases, it still has an advantage in small and medium image blocks. However, Figure 5c shows that the Proposed scheme is clearly advantageous, especially for small image blocks. The reason for this is that it is difficult to estimate the PRNU from small image block, so PRNU is easily polluted with image details. Other enhancement methods ignore the local statistics of interfering noise, affecting the suppression effect of interference noise. Similarly, the area under curve (AUC) values in Figure 6 proves that our scheme is more effective in removing the interference noise from the reference PRNU noise. For 512 × 512 image blocks, the accuracy of the Proposed method reaches 0.983.
We calculated the accuracy of the four methods on 128 × 128 blocks using 49 camera devices, as shown in Figure 7. It can be seen that the Proposed scheme is more accurate than the Lukas2006, Chen2008 and Rao2017 methods. In Figure 7, the median accuracies obtained by the Rao2017 and Proposed schemes are close, but when comparing the boxplots of the Rao2017 and Proposed schemes, we can see that the third quartile (Q3) of the Proposed schemes is greater than the Rao2017. The proportion of accuracy greater than the median is also higher in the Proposed compared to Rao2017 scheme. This also proves that our solution has a better ROC performance on small image blocks.
To further demonstrate the effectiveness of our proposed scheme on a quantitative basis, we experimentally obtained the Kappa coefficient of the four algorithms. To clearly show which enhancing scheme performs better, each row represents the Kappa coefficient obtained by different algorithms for the same image size, and the best enhancing scheme is indicated in bold. According to Table 2, the Proposed method always has excellent performance under different size datasets.
In recent years, deep learning methods have been applied to image forensics. D. Cozzolino et al. [14] proposed a method for extracting camera model fingerprints using Siamese neural networks. We call the method “Cozzolino2019” and we use it as a baseline to compare the Proposed scheme’s performance of SCI. For a fair comparison, training was performed in Cozzolino2019 under strict adherence to the original conditions. The comparison experiments on the Dresden dataset used the 49 camera devices in Table 1. The experimental image sizes were 512 × 512, 256 × 256, and 128 × 128 pixels. In Figure 8, the ROC curves of the Proposed method are significantly higher than the Cozzolino2019 method for different image sizes. The Proposed method’s ROC curve is closer to the upper left corner of the coordinate, indicating its better SCI performance. Figure 8a represents the ROC performance of SCI for image sizes of 512 × 512 pixels. The Proposed method has an AUC = 0.9917 while the Cozzolino2019 method has an AUC = 0.8319. Figure 8b represents the ROC performance of SCI for image sizes of 256 × 256 pixels. The Proposed method has an AUC = 0.9730 while the Cozzolino2019 method has an AUC = 0.7871. Figure 8c represents the ROC performance of SCI for image sizes of 128 × 128 pixels. The Proposed method has an AUC = 0.9328 while the Cozzolino2019 method has an AUC = 0.6680. The experimental results demonstrate that the Proposed method achieves a better performance than the Cozzolino2019 method for source camera identification on the Dresden dataset.
To fully demonstrate that the performance of the Proposed method is better than the Cozzolino2019 method in the SCI, we further proceeded to conduct comparative experiments on another large dataset. The VISION dataset [26] consists of camera-native JPG images from various mobile devices. Table 3 presents the basic information of the used cameras, the value in the ’Index’ column represents the index number of the camera in the VISION dataset. For each chosen camera, the reference PRNU noise is estimated using 50 flat filed images with simple textures. Then, 150 test images of this camera are selected as the intraclass sample and 1440 test images of the other cameras are selected as the interclass samples.
In Figure 9, the performance of SCI is reported on 128 × 128 pixels, showing only the ROC curves of the four cameras. According to the comparison of the ROC curve in Figure 9, the Proposed method shows great advantages in terms of the AUC values as the total area under the curve increases significantly on different cameras. This proves that the Proposed method also has satisfactory results on the VISION dataset.

5. Conclusions

In the past few years, researchers have made great efforts to improve the performance of PRNU-based source camera identification. In this paper, we proposed a scheme to remove interference noise from reference PRNU noise to improve the performance of the SCI scheme. We found that some interference noise related to image content still existed in the reference PRNU even after the periodic interference noise had been removed from the reference PRNU using SEA. We constructed a training sample set using the correlation between local pixels and used PCA to estimate the interference noise. Extensive experimental results showed that our proposed method obtained better ROC curves and Kappa statistics than the prior works. In fact, the running time of the proposed method will significantly increase when the block size is larger than 1024 × 1024. In future work, we will try to estimate the interference noise using suitable non-linear distribution data methods to transform the data domain, such as the LDA method.

Author Contributions

Conceptualization, B.M.; methodology, J.L.; software, Y.L.; validation, J.L. and Y.L.; formal analysis, Y.L.; investigation, Y.L.; resources, X.W. and C.Q.; data curation, Y.L.; writing—original draft preparation, Y.L.; writing—review and editing, J.L., Y.L and S.L.; visualization, X.W. and C.Q.; supervision, J.L.; project administration, J.L.; funding acquisition, J.L., C.W. and B.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was partially supported by National Natural Science Foundation of China (No.62272255, No.61872203); National key research and development program of China (No.2021YFC3340602); Shandong Provincial Natural Science Foundation Innovation and Development Joint Fund (No.ZR202208310038); Shandong Provincial Natural Science Foundation (No.ZR2020MF054, No.ZR2022LZH011); Ability Improvement Project of Science and technology SMES in Shandong Province (No.2022TSGC2485); Project of Jinan Research Leader Studio (No.2020GXRC056); Project of Jinan introduction of innovation team (No.2019GXRC031, No.202228016); Project of Jinan City-School Integration Development (No.JNSX2021030).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The datasets analysed in this study are published datasets: the Dresden dataset is unavailable at present, possibly restricted to protect patient privacy. The Dresden data used to support the findings of this study are available from the corresponding author upon request. The dataset is derived from the paper: Gloe, Thomas, and Rainer Böhme. “The ‘Dresden Image Database’ for benchmarking digital image forensics.” Proceedings of the 2010 ACM symposium on applied computing. 2010: 1584–1590.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bernacki, J. A survey on digital camera identification methods. Forensic Sci. Int. Digit. Investig. 2020, 34, 300983. [Google Scholar]
  2. Bondi, L.; Bestagini, P.; Perez-Gonzalez, F.; Tubaro, S. Improving PRNU compression through preprocessing, quantization, and coding. IEEE Trans. Inf. Forensics Secur. 2018, 14, 608–620. [Google Scholar]
  3. Zhang, Y.; Luo, X.; Wang, J.; Lu, W.; Yang, C.; Liu, F. Research progress on digital image robust steganography. J. Image Graph. 2022, 27, 3–26. [Google Scholar]
  4. Guo, Y.; Wu, H.; Zhang, X. Steganographic visual story with mutual-perceived joint attention. EURASIP J. Image Video Process. 2021, 2021, 5. [Google Scholar]
  5. Sandoval Orozco, A.L.; Arenas Gonzalez, D.M.; García Villalba, L.J.; Hernández-Castro, J. Analysis of errors in exif metadata on mobile devices. Multimed. Tools Appl. 2015, 74, 4735–4763. [Google Scholar]
  6. Lukas, J.; Fridrich, J.; Goljan, M. Digital camera identification from sensor pattern noise. IEEE Trans. Inf. Forensics Secur. 2006, 1, 205–214. [Google Scholar]
  7. Chen, M.; Fridrich, J.; Goljan, M.; Lukás, J. Determining image origin and integrity using sensor noise. IEEE Trans. Inf. Forensics Secur. 2008, 3, 74–90. [Google Scholar]
  8. Lin, X.; Li, C.T. Preprocessing reference sensor pattern noise via spectrum equalization. IEEE Trans. Inf. Forensics Secur. 2015, 11, 126–140. [Google Scholar]
  9. Rao, Q.; Wang, J. Suppressing random artifacts in reference sensor pattern noise via decorrelation. IEEE Signal Process. Lett. 2017, 24, 809–813. [Google Scholar]
  10. Li, R.; Guan, Y.; Li, C.T. PCA-based denoising of sensor pattern noise for source camera identification. In Proceedings of the 2014 IEEE China Summit &International Conference on Signal and Information Processing (ChinaSIP), Xi’an, China, 9–13 July 2014; IEEE: New York, NY, USA, 2014; pp. 436–440. [Google Scholar]
  11. Kang, X.; Chen, J.; Lin, K.; Anjie, P. A context-adaptive SPN predictor for trustworthy source camera identification. EURASIP J. Image Video Process. 2014, 2014, 19. [Google Scholar]
  12. Zeng, H.; Kang, X. Fast source camera identification using content adaptive guided image filter. J. Forensic Sci. 2016, 61, 520–526. [Google Scholar]
  13. Cortiana, A.; Conotter, V.; Boato, G.; De Natale, F.G. Performance comparison of denoising filters for source camera identification. In Proceedings of the Media Watermarking, Security, and Forensics III. SPIE, San Francisco Airport, CA, USA, 24–26 January 2011; Volume 7880, pp. 60–65. [Google Scholar]
  14. Cozzolino, D.; Verdoliva, L. Noiseprint: A CNN-based camera model fingerprint. IEEE Trans. Inf. Forensics Secur. 2019, 15, 144–159. [Google Scholar]
  15. Marra, F.; Poggi, G.; Sansone, C.; Verdoliva, L. Blind PRNU-based image clustering for source identification. IEEE Trans. Inf. Forensics Secur. 2017, 12, 2197–2211. [Google Scholar]
  16. Long, M.; Peng, F.; Zhu, Y. Identifying natural images and computer generated graphics based on binary similarity measures of PRNU. Multimed. Tools Appl. 2019, 78, 489–506. [Google Scholar]
  17. Li, J.; Ma, B.; Wang, C. Extraction of PRNU noise from partly decoded video. J. Vis. Commun. Image Represent. 2018, 57, 183–191. [Google Scholar]
  18. Kiegaing Kouokam, E.; Dirik, A.E. PRNU-Based Source Device Attribution for YouTube Videos. arXiv 2019, arXiv:1903.09141. [Google Scholar]
  19. Zhang, L.; Dong, W.; Zhang, D.; Shi, G. Two-stage image denoising by principal component analysis with local pixel grouping. Pattern Recognit. 2010, 43, 1531–1549. [Google Scholar]
  20. Zhao, W.; Liu, Q.; Lv, Y.; Qin, B. Texture variation adaptive image denoising with nonlocal PCA. IEEE Trans. Image Process. 2019, 28, 5537–5551. [Google Scholar]
  21. James, R.; Jolly, A.M.; Anjali, C.; Michael, D. Image denoising using adaptive pca and svd. In Proceedings of the 2015 Fifth International Conference on Advances in Computing and Communications (ICACC), Kochi, India, 2–4 September 2015; IEEE: New York, NY, USA, 2015; pp. 383–386. [Google Scholar]
  22. Gloe, T.; Böhme, R. The ‘Dresden Image Database’ for benchmarking digital image forensics. In Proceedings of the 2010 ACM Symposium On Applied Computing, Sierre, Switzerland, 22–26 March 2010; pp. 1584–1590. [Google Scholar]
  23. Mihcak, M.K.; Kozintsev, I.; Ramchandran, K. Spatially adaptive statistical modeling of wavelet image coefficients and its application to denoising. In Proceedings of the 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing, Proceedings ICASSP99 (Cat. No. 99CH36258). Phoenix, AZ, USA, 15–19 March 1999; IEEE: New York, NY, USA, 1999; Volume 6, pp. 3253–3256. [Google Scholar]
  24. Goljan, M. Digital camera identification from images—Estimating false acceptance probability. In Proceedings of the Digital Watermarking: 7th International Workshop, IWDW 2008, Busan, Korea, 10–12 November 2008; Selected Papers 7. Springer: Berlin/Heidelberg, Germany, 2009; pp. 454–468. [Google Scholar]
  25. Muresan, D.D.; Parks, T.W. Adaptive principal components and image denoising. In Proceedings of the 2003 International Conference on Image Processing (Cat. No. 03CH37429), Barcelona, Spain, 14–17 September 2003; IEEE: New York, NY, USA, 2003; Volume 1, pp. I–101. [Google Scholar]
  26. Shullani, D.; Fontani, M.; Iuliani, M.; Shaya, O.A.; Piva, A. Vision: A video and image dataset for source identification. EURASIP J. Inf. Secur. 2017, 2017, 15. [Google Scholar]
Figure 1. Flowchart of the proposed enhanced reference PRNU noise scheme.
Figure 1. Flowchart of the proposed enhanced reference PRNU noise scheme.
Applsci 13 06583 g001
Figure 2. Illustration of the LPM model. The sample vector x 0 denotes the pixels contained in the central K × K block, and the sample vectors x i denote the pixels corresponding to the other blocks.
Figure 2. Illustration of the LPM model. The sample vector x 0 denotes the pixels contained in the central K × K block, and the sample vectors x i denote the pixels corresponding to the other blocks.
Applsci 13 06583 g002
Figure 3. Effect of the K value on the SCI performance for a block size of 128 × 128 in ablation experiments.
Figure 3. Effect of the K value on the SCI performance for a block size of 128 × 128 in ablation experiments.
Applsci 13 06583 g003
Figure 4. Effect of the L value on the SCI performance for a block size of 128 × 128 in ablation experiments.
Figure 4. Effect of the L value on the SCI performance for a block size of 128 × 128 in ablation experiments.
Applsci 13 06583 g004
Figure 5. The overall ROC curves for four methods on different block sizes. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Figure 5. The overall ROC curves for four methods on different block sizes. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Applsci 13 06583 g005
Figure 6. The AUC of the four methods for different block sizes. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Figure 6. The AUC of the four methods for different block sizes. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Applsci 13 06583 g006
Figure 7. The AUC of the four methods at 128 × 128 blocks using 49 camera devices. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Figure 7. The AUC of the four methods at 128 × 128 blocks using 49 camera devices. The Lukas2006 method proposed by Lukas et al. [6], the Chen2008 method proposed by Chen et al. [7], the Rao2017 method proposed by Rao et al. [9].
Applsci 13 06583 g007
Figure 8. The overall ROC curves with two methods for different block sizes. The Cozzolino2019 method proposed by Cozzolino et al. [14].
Figure 8. The overall ROC curves with two methods for different block sizes. The Cozzolino2019 method proposed by Cozzolino et al. [14].
Applsci 13 06583 g008
Figure 9. The ROC curves with two methods on four camera devices. The Cozzolino2019 method proposed by Cozzolino et al. [14].
Figure 9. The ROC curves with two methods on four camera devices. The Cozzolino2019 method proposed by Cozzolino et al. [14].
Applsci 13 06583 g009
Table 1. Information of cameras on Dresden dataset used in our experiments.
Table 1. Information of cameras on Dresden dataset used in our experiments.
Camera ModelNumber of DevicesResolution [Pixel]Index
Canon Ixus5512592 × 194401
Canon Ixus7033072 × 230402–04
Casio EX Z15053264 × 244805–09
Fujifilm FinepixJ5033264 × 244810–12
Nikon CoolPixel S71054352 × 326413–17
Olympus mju1050SW53648 × 273618–22
Pentax Option A4044000 × 300023–26
Pentax Option W6013648 × 273627
Praktica DCZ5.952560 × 192028–32
Rollei RCP-7325XS33072 × 230433–35
Samsung L74wide33072 × 230436–38
Samsung NV1533648 × 273639–41
Song DSC-H5023456 × 259242–43
Song DSC-T7743648 × 273644–47
Song DSC-W17023648 × 273648–49
Table 2. The Kappa statistic of the four methods.
Table 2. The Kappa statistic of the four methods.
MethodLukas2006 [6]Chen2008 [7]Rao2017 [9]Proposed
512 × 5120.78100.85860.90090.9292
256 × 2560.61910.74770.81140.8411
128 × 1280.46600.54530.64720.6764
Table 3. Information of cameras on VISION dataset used in our experiments.
Table 3. Information of cameras on VISION dataset used in our experiments.
Camera ModeNumber of ImagesResolution (Pixel)Index
Samsung GalaxyS3Mini2832560 × 1920D01
Huawei P93553968 × 2976D03
Samsung GalaxyTab32292048 × 1536D08
Samsung GalaxyTrendPlus3142560 × 1920D22
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Li, J.; Liu, Y.; Ma, B.; Wang, C.; Qin, C.; Wu, X.; Li, S. A Novel PCA-Based Method for PRNU Distillation to the Benefit of Source Camera Identification. Appl. Sci. 2023, 13, 6583. https://doi.org/10.3390/app13116583

AMA Style

Li J, Liu Y, Ma B, Wang C, Qin C, Wu X, Li S. A Novel PCA-Based Method for PRNU Distillation to the Benefit of Source Camera Identification. Applied Sciences. 2023; 13(11):6583. https://doi.org/10.3390/app13116583

Chicago/Turabian Style

Li, Jian, Yang Liu, Bin Ma, Chunpeng Wang, Chuan Qin, Xiaoming Wu, and Shuanshuan Li. 2023. "A Novel PCA-Based Method for PRNU Distillation to the Benefit of Source Camera Identification" Applied Sciences 13, no. 11: 6583. https://doi.org/10.3390/app13116583

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop