Jump to: navigation, search

Reducing Random Noise from Small Sensors

Every photographer knows that the most expensive part of a good camera is its lens. Lenses are expensive because we have become accustomed to sharp pictures, and there is an inescapable compromise between light-gathering power, image size, cost and sharpness of a lens. Over the past few decades manufacturers have reduced the cost of lenses by reducing the image size. I no longer hear of large-format cameras--though some large-format digital cameras exist, they are speciality items. Medium-format cameras use a 2-inch by 2-inch (50 mm by 50 mm) image size. The Hasselblad H3D-39II [1] is a good (but very expensive) example of a medium-format digital camera.

The industry standard for professional cameras uses an image size of 24 mm by 36 mm. The size was originally chosen because it matched 35-millimeter movie film, and it was smaller than medium-format. Good digital cameras today use this same size for their sensors. However, manufacturers are reducing lens cost by using even smaller sensors.

Although reducing sensor size does a very good job of reducing the cost of a lens, the disadvantage of a small sensor is increase in thermal noise. To get good resolution you need lots of light-sensing elements. To fit them on a small sensor they need to be small, and that means they are noisier. Again, physics imposes a barrier on camera design.

Thermal noise is random; you will get different noise on each picture. The obvious solution is to average out the noise. This can be done using layers and transparency in The Gimp or Adobe Photoshop, but it is easier to do using Autopano Pro.

I photographed a garage on a cold day in February, 2007, using an inexpensive digital camera. The picture is too large for this wiki, but here is small part which shows a light fixture surrounded by smooth siding. This is a 100 by 100 pixel section of the original image, expanded to 400 by 400 for illustration.

PIC02054 detail.jpeg

The siding is not dirty; what you see is noise from the small sensor in the camera. Because thermal noise is different in every image, you can reduce the noise by capturing several images and averaging them. Here is the average of 19 images, created with The Gimp by loading each image into a layer, positioning each layer so it matched the bottom layer, then setting each layer's transparency so it contributed 1/19 of the final image.

Stacked detail.jpeg

However, stacking and averaging images is a tedious process. Using Autopano Pro I can get the same result automatically. I ask Autopano Pro to process the 19 images as a panorama. Since the images are nearly identical, it has no trouble matching them. I then specify linear blending when rendering. Here is the light fixture:

Blended 19 detail.jpeg

For comparison, here are the blends of smaller numbers of images, so you can see the progression of noise reduction. The number of source images is in the upper left corner.

Blended 02 detail.jpeg Blended 03 detail.jpeg Blended 04 detail.jpeg Blended 05 detail.jpeg Blended 10 detail.jpeg