Skip to content
SPN Dashboard/How It Works

How Sensor Pattern Noise Works

Every camera sensor has a unique noise fingerprint — like a digital DNA. Here's how MaviCats uses it to verify photo authenticity.

Photo Response Non-Uniformity (PRNU)is a permanent pattern of tiny sensitivity differences across a camera sensor's pixels, caused by silicon manufacturing imperfections. This pattern is unique to each individual sensor and survives image processing, compression, and even editing. PRNU-based camera identification was first demonstrated by Lukáš, Fridrich & Goljan (2006) and is now used in digital forensics worldwide.

1. Noise Extraction

Isolating the sensor fingerprint from image content

Every digital photo contains two layers: the scene you photographed and subtle noise introduced by the camera sensor. SPN analysis separates these using a wavelet denoising filter — specifically CDF 9/7 (bior4.4) at 4 decomposition levels. The denoised image is subtracted from the original, leaving only the noise residual.

OriginalDenoised=Noise ResidualPRNU +shot noise

This noise residual contains both random shot noise (different each time) and the sensor's fixed pattern noise (PRNU) — a permanent "fingerprint" caused by manufacturing imperfections in the sensor's photodiodes.

n(x, y) = I(x, y) − F(I)(x, y)

2. Texture Masking

Removing scene contamination from the noise

Not all regions of the noise residual are equally useful. Highly textured areas — edges, foliage, text — leak scene information into the noise estimate, contaminating the fingerprint. SPN analysis applies Wiener shrinkage filtering to attenuate these regions.

Raw NoiseWienerσ²ₙ/(σ²ₙ+σ²ₛ)Masked NoiseTextured (suppressed)Smooth (preserved)

The Wiener filter estimates the local signal variance and shrinks the noise in high-variance (textured) regions while preserving it in smooth areas where the sensor pattern is cleanest. This dramatically improves fingerprint quality.

ñ(x, y) = n(x, y) × σ²ₙ / (σ²ₙ + σ²ₛ)

3. Reference Averaging

Building a stable camera fingerprint from multiple photos

A single photo's noise residual is noisy itself — it contains both the fixed sensor pattern and random shot noise. By averaging the noise residuals from multiple photos taken by the same camera, the random components cancel out and the fixed PRNU pattern emerges clearly.

n1n2n3n4···1/N ΣK̂ ReferenceRandom noisecancels out →Fixed PRNUemerges ✓

MaviCats requires a minimum number of reference images per resolution to build a signature (10 for low-res, 20 for high-res sensors). More images produce a stronger, more reliable fingerprint. Quality is measured as the proportion of sensor area where the PRNU signal exceeds the remaining random noise.

K̂(x, y) = (1/N) Σᵢ ñᵢ(x, y)

4. NCC Matching

Comparing a photo against the camera fingerprint

When a photo is uploaded, its noise residual is extracted and compared against each camera reference signature using Normalised Cross-Correlation (NCC). NCC measures the similarity between two patterns on a scale from −1 to +1, independent of their magnitudes.

Query nRef K̂=0.080.000.020.060.10UnmatchedPlausibleMatchedρ = Σ(n·K̂) / √(Σn²·ΣK̂²)

The correlation is computed per-block across the image, then averaged. Higher NCC values indicate a stronger match. Because NCC is normalised, it works consistently regardless of image brightness or camera exposure settings.

ρ = Σ(n · K̂) / √(Σn² · ΣK̂²)

5. Threshold Classification

From correlation score to authentication verdict

The NCC score is classified into a verdict using empirically validated thresholds. These thresholds were determined through extensive testing across the Mavica camera collection.

NCC Score → Verdict ClassificationUnmatchedPlausibleMatched0.020.06InsufficientAttested← metadata-based (no NCC needed)

The threshold system is designed to minimise false positives (incorrectly claiming a photo matches a camera) while still detecting legitimate matches. The "plausible" zone provides a buffer for lower-quality signatures or photos taken in challenging conditions.

Verdict Thresholds

The NCC score from step 4 is classified into one of these categories:

VerdictThresholdMeaning
MatchedNCC ≥ 0.06High-confidence match to this camera
Plausible0.02 ≤ NCC < 0.06Moderate correlation — possible match
UnmatchedNCC < 0.02No significant correlation detected
InsufficientNot enough reference data to determine
AttestedCamera identified via metadata attestation

Signature Quality

Not all signatures are equally reliable. Quality depends on the number and variety of reference images used. The quality heatmapshown on each camera's page visualises signal strength across the sensor — brighter (cyan) regions have stronger PRNU signal, while darker (purple) regions are weaker.

Weak signalStrong signal

Quality heatmap colour scale (OKLCh: purple → cyan)

Low-quality regions typically correspond to flat sensor areas (e.g. optical black borders) or areas where Wiener filtering was aggressive. Cameras with more reference images generally show higher overall quality and more uniform heatmaps.

Contributing to SPN Coverage

MaviCats builds camera signatures from photos uploaded by the community. Every Mavica photo you upload contributes to the signature for that camera model and resolution. Different resolutions are analyzed separately — a camera shooting at multiple resolutions will have independent signatures. Low-resolution sensors need at least 10 images, while higher-resolution sensors need 20 images for a reliable fingerprint.

Best practices for reference photos: Use a variety of scenes (outdoor, indoor, close-up, landscape). Avoid extremely dark or overexposed images. Original, unedited JPEG files from the camera produce the strongest fingerprints.

View cameras needing contributions →

References

  • Lukáš, J., Fridrich, J., & Goljan, M. (2006). "Digital Camera Identification from Sensor Pattern Noise." IEEE Transactions on Information Forensics and Security, 1(2), 205–214.
  • Chen, M., Fridrich, J., Goljan, M., & Lukáš, J. (2008). "Determining Image Origin and Integrity Using Sensor Noise." IEEE Transactions on Information Forensics and Security, 3(1), 74–90.
  • Nwokeji, J. C. (2026). "Source Camera Identification Using Sensor Pattern Noise." PhD Thesis.