News flash: If you’re shooting RAW images on your DSLR and using either the on-screen preview image or camera histogram to judge your exposures, your camera is lying to you and giving you too much noise and an inferior image range.
Okay, maybe “news flash” is a bit alarmist, as this has been covered before, but we decided to run our own test on our Canon 5D MKII body to test it’s noise floor at all ISOs, then test the difference between the “proper” exposure and what exposure is needed to maximize the image data in RAW format at any given ISO.
For the noise test we simply put the lens cap on, set the camera to 1/250 @ f/8 and made one exposure per ISO from “Low” to “High”. This gave us 21 black-looking images.
The images were imported into Lightroom 3 with zereod out exposure, blacks, bright/contrast, noise reduction, tone curve, sharpness, etc. Then we modified the tone curve Dark setting to +100, and the Shadows setting to +100 to make the noise more visible.
Switching back and forth between Lightroom slides can make it hard to judge which exposure is noisier than another. It helps to look at the contact sheet here to see which images are darker than their neighbors.
ISO noise test for Canon 5D MKII (click through twice to see larger version)
The darker images have less noise than lighter images. ISO 50 (Low) looks pretty good, and then the next best is ISO 160, which surprisingly looks better than both 100 and 125. Noise starts to climb again from 200 to 250, then drops at 320. Similar results from 400 to 500, then again a drop at 640. Same with 800 to 1000, then a drop at 1250. But after 1250 the noise looks pretty linear all the way up to the “High” setting. This shows that the camera sensor doesn’t have a totally linear noise gain as ISOs climb. Certain higher ISOs are better for shooting less noisy images.
The reason we’re testing this isn’t just to find the best ISOs to shoot at with the lowest noise. It’s going to be the foundation for testing our proper RAW exposure settings, which incidentally will reduce noise among other things. So why test at inherently noise ISOs when we can start off with our proven least noisy ISOs?
RAW Exposure Test
So here’s the deal: Your camera preview image and histogram represent an in-camera processed JPEG, not the actual data in the RAW file. We were always told not to base our exposures on the image since we couldn’t calibrate the screen, but now we know the histogram isn’t even accurate either. What’s a photog to do? Well…test!
Our set up isn’t super scientific, but it was more important for consistency between shots than anything else. So we set up one Alien Bees B800 strobe over an Xrite ColorChecker Color Rendition Chart, a blank piece of white paper and a cup that was lined with black felt to provide a solid shadow on the felt background. The felt background gave us a texture to judge our final shadow detail range and noise levels off of, particularly in the shadow of the cup. The camera set up consists of a Canon 5D MKII, with no noise reduction settings, and a 70-200L IS lens. Exposures were determined with a Sekonic L-508 light meter. Bracket exposures were adjusted by varying the flash output, not the lens aperture, which would have introduced sharpness and contrast variations.
As an example for ISO 640, the camera and light meter were both set to ISO 640. The light meter determined our normal exposure to be f/16. After setting the camera to f/16, where it will stay for the duration of the test, we adjusted the strobe to underexpose the first shot by one stop, so we monkeyed with the strobe setting until our light meter gave us a reading of f/11. Then we made our first exposure with the camera. We followed the same strobe adjustment method from -1 stop to +2 stops in 1/3 stop increments, since our camera ISO, shutter speeds and apertures follow a 1/3 stop interval. If your camera does ½ or whole stops only, those would be your intervals to test at.
RAW Exposure Test Setup (looks like our cell camera could use some noise reduction!)
After capturing our range of ISOs and under/overexposures for each, we imported everything into Lightroom 3. Our first step was to sync our color balance across all images, and we also tagged each ISO’s “normal” exposure with a single star so we could more easily reference them later. We also zereod out the exposure, fill, blacks, tone curve, sharpening and noise reduction settings across all images.
Then we focused on one ISO series of shots, starting with the +2 exposure. Our goal is to use the Exposure slider to bring the image back down to where the brightest whites are just below their clipping level. You can see them clipping by either clicking the upper right arrow in the LR histogram box, or by holding your Alt button down as you adjust the slider. In our case the +2 was too overexposed to retain any detail, even with the slider at -4. The camera sensor is effectively saturated with photons and can’t record any highlight info to the RAW file. So we try the same method on the +1.6 exposure for that ISO. For our ISO 160, +1.6 was still clipping, but for ISO 640, this +1.6 exposure was perfect. Just shows you that things aren’t linear and that you should test for all possibilities.
For ISO 640, our highlight clipping disappeared at -1.15. This is the amount of exposure correction needed then for ISO 640 images captured at +1.6 exposure. Knowing this combination we can now make a Lightroom preset to normalize our “overexposed” shots upon import, for any ISO you test!
We haven’t tested all ISOs, but here are our settings from what we’ve tested as of this writing:
ISO L (50): +.3 exposure, -.75 LR exposure slider
ISO 160: +1.3 exposure, -1.15 LR exposure slider
ISO 640: +1.6 exposure, -1.15 LR exposure slider
The “Low” ISO didn’t deviate too much from the factory setting, but the higher ISOs definitely benefit from some overexposure during capture. These overexposed shots looked clipped on the camera screen/histogram during capture, but retained plenty of highlight info in the RAW version. So there is definitely a disconnect between the in-camera processed JPEG preview and the actual RAW file info.
The magic of all this lies in comparing the new normalized image to the old normal exposure. Find your tagged one-star normal image and compare it with the new normalized image in side-by-side mode in the library module. What we see is a significant amount of noise reduction and more shadow detail, particularly at the higher ISOs. In this screenshot of the ISO 640 side-by-side we can see that the normalized image on the right has better shadow texture, better shadow transition gradation on the cup, and less noise. In the ISO 160 side-by-side, you can even see the cup separation from the felt background in the dark shadow area in the normalize image on the right.
ISO 640 Shadow Noise Comparison (click through twice for larger version)
ISO 160 Shadow Noise Comparison (click through twice for larger version)
ISO 640 Color Noise Comparison (click through twice for larger version). The colors are shifted a tad, but the noise we're concerned about is noticeably less in the normalize version on the right.
Because we’ve overexposed during capture, commonly called Expose To The Right (ETTR), we effectively shifted our data up toward the upper areas of the tonal range, where sensors record more information. As a result we don’t have a true black on our normalized histogram, so we can fiddle with the black setting or tone curve to bring some black tones back in. How much really depends on how high or low key your subject matter is, and you’ll probably have to do adjust this on a case by case basis.
For those of you who shoot primarily for highlight details and don’t give two flips about shadow detail or overall range, these tests may not matter much. Since the camera is inherently underexposing a bit, you’re in no danger of clipping your highlight detail. But for people who want to exploit their sensor’s maximum dynamic range, have less noise, smoother shadow gradients and more shadow detail, knowing your camera’s true RAW capture exposures will help.
What are you thoughts on this? Can you think of other tests we should run or ways these results could be useful?