Monday, December 27, 2010

Seeing noise

Have you ever tried grabbing images with the lens cap covered? If you haven’t done this you might expect all the pixels will be at zero, but that is not the case.

If you grab an 8 bit image and look at a histogram of the grey levels you’ll find that a proportion are above zero. In fact it will be something like a poisson distribution with a peak around 4.

What you’re seeing is pixel noise. Most of this comes from the photoelectric effect going on in the silicon of the CCD or CMOS sensor: even when all photons are excluded the occasional electron generates a charge. (The other significant source of noise is the analog to digital conversion in the electronic circuitry.)

Two points to note: the longer the exposure time the more of these random electrons are going to be captured, and turning up the gain magnifies the effect.This is why the experience machine vision professional doesn’t try to cope with insufficient light by cranking up exposure time or gain. Either action will just create more noise, so go back to basics by throwing plenty of photons at your target.


Vladimír Držík said...

True. I always wonder what the point of going to 10- or 12-bit precision is, knowing that the standard noise level is so high.

Daniel Diezemann said...

Many customers want a black level above zero. Cameras are usually adjusted internally with a small analog offset in the gain stage. With Gain=1x and offset=0 you'll get an average gray value in an 8 bit system typically between 1 and 4. If "black" would be at 0 or 1, you'll clip the random noise under zero. In an application (e.g. fluorescent or astronomy) where a result is build with hundreds of images by adding the content you'll cut image information.