Digital Forensics Sensor Fingerprinting

May 2025
In this project, I explored digital image forensics through the identification of camera sensors using Photo-Response Non-Uniformity (PRNU). PRNU is a unique noise pattern introduced by imperfections in the manufacturing of camera sensors, effectively serving as a fingerprint for each device. The goal of the project was to design a system in MATLAB that could clean, process, and compare sensor fingerprints to determine whether a given image originated from a specific camera.
The first step involved preprocessing the Canon 6D sensor’s PRNU by removing row and column averages that introduced non-unique noise. I then extracted the noise residuals from test images using channel-wise filtering and combined them into a weighted grayscale representation. These residuals were compared to the Canon 6D fingerprint using normalized cross-correlation in the Fourier domain, followed by the calculation of Peak-to-Correlation Energy (PCE) scores. A threshold of PCE ≈ 60 was used to distinguish genuine matches from non-matches.
The results highlighted two images that strongly correlated with the Canon 6D fingerprint, producing PCE values approaching 10³, while most other images scored below the threshold. Mesh plots of the normalized cross-correlation matrices further confirmed the matches, revealing sharp peaks in the correlation surface that identified both the image source and cropping/shift artifacts. This demonstrated not only the ability to link images back to a specific camera but also to detect manipulations in how those images were presented.
Overall, this project applied key concepts from detection theory to a real-world forensic challenge. By implementing preprocessing, filtering, and correlation techniques from the ground up, I gained hands-on experience in designing reliable digital forensics tools for sensor fingerprinting and image source attribution.