Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Sensor Fingerprints: Camera Identification and Beyond (springer.com)
49 points by haltingproblem on June 2, 2023 | hide | past | favorite | 14 comments


Interestingly, reading the fourth chapter, the first time this technique of identifying the sensor based on the specific noise characteristics was 2005. I bet this was tacitly well known far before 2005.

There are many camera from pre - 2005 that did dark frames and flat frames, for example Sinar digital backs. They all came with a CD with the unique calibration file for the back to tune out these characteristics to a large degree. Without them, you can see literally see the difference in exposure down the center of the image from the two stitched lithography mask shots required to make large CCDs at the time.


Most full-frame sensors are still stitched from two exposures side-by-side (digital MF is four exposures, real medium format sensors six), but they're matched well-enough (or the raw files are already compensating for this) that it's only an issue for the astro people nowadays.


Interesting, I'm an amateur astronomer and didn't know that, I've never noticed any stitching artifacts when shooting with my Canon 6D. Found a relevant discussion on DPreview[1] which suggests that not all cameras do this, it appears to be more noticeable on some Sony cameras at first glance of the thread.

[1] https://www.dpreview.com/forums/thread/3949870

edit: another discussion: https://www.dpreview.com/forums/thread/3949529


There's a very long thread on cloudy nights about this (I can't find it right now though) and iirc there was quite a lot of sample variation in how strong the discontinuity is and how exactly it looks, non-uniformity in general seems to have a fair amount of sample-variation, though there are common patterns - like almost all sensors are fairly uniform for about 80% of the picture height and have a gradient towards the edges. Probably due to sawing, mounting or bonding stresses.

There are other causes for similar artifacts, e.g. banding because of mismatch between ADCs, though most CCD-based DSCs only used 1-4 ADCs interleaved. I believe some of the larger CCD sensors used separate read-out channels for quadrants, which would look similar to a stitched sensor in addition to likely being stitched anyhow. Also some Toshiba CMOS sensors had issues with banding due to mismatches between the column group ADCs. Lastly modern sensors for mirrorless cameras have split pixels for auto-focus in every n-th row, which also causes banding because they respond differently.


Based on my experience with Sinar digital backs, which spit out a raw, bias, dark and flat frame all independently, I think most cameras include this calibration hardcoded into the raw, because otherwise it is extremely easy to see! I know Phase One backs have calibrations that compensate for this, column errors, and hot pixels in their IIQ raws by default.


Does this survive jpeg (or similar) compression or do you need raw file for this?


any "lossy" compression changes the content data


A problem I see is that someone could denoise an image and then add adversarial noise so that it resembles one of these signatures.


Removing noise is difficult if not impossible. The best someone could probably do is find a sensor whose noise characteristics are a superposition of their cameras and another additive distribution. There are simple ways to defeat this, but it's best not to share them, as I think the only people ruñning from this kind of tracking would be sketchy criminals.


> Removing noise is difficult if not impossible.

Completely removing noise is difficult-to-impossible. Attenuating the noise enough to impart a new noise pattern is much easier, though (not saying it's easy, just easier).

I did this sort of thing decades ago as part of larger system used for research.


That's effectively what I said :)


Removing is hard but not impossible: https://www.esenbil.com/photoclean


Would taping a minor radiation source to the camera body be enough to scramble the noise fingerprint?


If you can recognize such a fingerprint, you can also trivially fake it or wipe it with an optimizer in the loop with the recognizer.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: