Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
LAB 7: Source Camera Identification From
Sensor Pattern Noise
CS355: Digital Forensics
1 INTRODUCTION
In this lab, you will use the Sensor Pattern Noise (SPN), which is intrinsic to all digital images,
as a means to identify the source camera. Recall that the SPN comprises the Fixed Pattern
Noise (FPN) and the Photo-Response Non-Uniformity (PRNU) noise. The PRNU noise, in
turn, comprises the Pixel Non-Uniformity (PNU) noise and low-frequency noise due to light
refraction on dust particles and optical surfaces, and zoom settings. Fig. 1.1 illustrates the
components of the SPN.
Figure 1.1: Components of the SPN of a digital image.
1
2 EXTRACTING A REFERENCE SPN
In order to use the SPN for source camera identification, a reference SPN must be first com-
puted for a camera model. Given K reference images (ideally an uniformly lit scene) pk ,k =
1,2, ...,K taken by a particular camera, a reference SPN can be approximated by averaging the
corresponding K noise residuals
SPN= 1
K
∑
k
nk ,
where each noise residual nk can be calculated by subtracting the denoised version F (pk )
from the original image pk , i.e., nk = pk −F (pk ), where F (.) is a denoising filter.
Exercise:
In this exercise, you will implement a simple source identification technique using SPN.
Table 2.1: Camera models.
Model Image sensor Megapixels Recording format Class label
AGFA DC-504 1/2.5" CMOS 5.0 JPEG 1
AGFA DC-830i 1/2.5" CCD 8.0 JPEG 2
AGFA Sensor 505-X 1/2.5" CMOS 5.0 JPEG 3
AGFA Sensor 530s 1/2.5" CMOS 5.0 JPEG 4
Canon IXUS 55 1/2.5" CCD 5.0 JPEG 5
Canon IXUS 70 1/2.5" CCD 7.1 JPEG 6
(a) Download the set of K=50 reference images for each camera model from this link
Unzip the file and under the folder "SKY", you will find color images from six camera
models listed in Table 2.1. Convert them to grayscale using the rgb2gray function.
(b) Compute a reference SPN for each camera model. For denoising we will use an advanced
denoising filter called the 2D Wiener filter (i.e., built-in function wiener2 in Matlab). This
particular 2D filter uses a pixel-wise adaptive Wiener method based on statistics esti-
mated from the local neighbourhood of each pixel. Use a neighbourhood size of 3× 3
pixels. Once the noise residual of each reference image is computed, make sure to use
only the 800×800 central region of the SPN (as illustrated in Fig. 2.1) to compute the ref-
erence SPN for each camera model.
(c) Display the reference SPN of each camera model in an individual figure, making sure to
add an appropriate title. You will use them for the following recognition task.
2
(d) Download the test images from this link:
Each test image has been acquired by one of the cameras listed in Table 2.1.
(e) Use the reference SPNs computed to determine the source camera of the test images.
Specifically, use the fixed size region (800× 800 central region as shown in Fig. 2.1) of
the image to compute the correlation. In this case, the source camera of a test image is
defined as the class whose reference SPN results in the maximum correlation with the
image’s SPN.
(f) Compute the matching accuracy using the ground truth provided in Table 2.2. Discuss
your observation.
(g) submit this code as matchSPN.m
M
N
Figure 2.1: The central region used to extract the SPN. The red dot denotes the center of the image.
For this lab, use M =N = 800
DELIVERABLES
Submit a brief report with the following:
(a) Matlab code matchSPN.m [25marks]
(b) Reference SPN figures (with size 800×800 pixels) [6marks]
(c) Matching accuracy and observation (in 50 words or less) [7marks]
Use the LaTeX template available on Moodle to write your report.