Removing high ISO noise without noise reduction tools
Today I’m going to show you how to remove noise from images taken at high ISO (e.g. ISO 1000 or above) without any noise reduction tools/filters such as those built into Adobe Photoshop or Lightroom (or any other program you may choose to use).
For this to work, a series of shots of the same scene need to be taken. I strongly suggest at least 5 (preferably 7) exposures taken on a steady tripod to minimize any movement. For a slight movement, which can always happen (even on a tripod), or for images taken at night with longer exposures, I will use Adobe Photoshop to perfectly align all images to each other.
Here is one of 7 Milky Way shots I took this fall in Death Valley National Park while waiting for sunrise. All images were taken at ISO 1000 with my Sigma 20mm f/1.4 lens and exposed for only 15 seconds at f/2.0 to avoid star trails.
Within each image, the Milky Way is in a slightly different position since Earth is (obviously) rotating, so to align it we will open all images as layers in Photoshop, select them all (click on a first layer and hold the shift key while clicking on the last layer) and choose Edit -> Auto-Align Layers…
From the option window select Auto (should be selected by default), click OK, and let the program do its thing.
Depending on a number of images/layers, their size, and your computer’s speed this process may take a few seconds. Once finished, all images should be perfectly aligned. If you see missing pixels at image edges, which is expected since the aligning process will move all pixels around, just use the crop tool to get rid of the empty margins.
While all images are still selected (if not, select them again), click on Layers -> Smart Objects -> Convert to Smart Object.
This process will take much longer than aligning, so wait patiently for a minute or two. Once finished instead of 7 layers you will now see one layer, which is the Smart Object that Photoshop just produced.
Now, the actual noise reduction:
With the smart object selected click on Layer -> Smart Objects -> Stack Mode -> Median. Again, this process will take a while to complete. The best way to see the “before” and “after” is to make a copy of your smart object created in a previous step and click on an eyeball next to it to see what happened. Just right click on the smart object layer and from the context menu select “New Smart Object via Copy” (now you will have two copies of this Smart Object). Once this is done perform the Median Stack Mode on this new top layer only. Select the eyeball “off” and “on” next to the top layer to see exactly what has happened. You may want to zoom in to 100% to see the difference, which is huge.
As you can see on the screen prints below the image is now much cleaner, and all noise has been significantly reduced. Notice how clean and nice the Andromeda Galaxy now looks taken with just a 20mm lens! In addition, all unaligned/unwanted light sources, such as the airplane streak light, has been completely removed without any clone or spot healing tools at all! Isn’t that nice?
If the image looks somewhat fuzzy or unsharp, you can apply a small amount of sharpening to it. But, it should look as sharp as the lens allows. The noise actually makes images look sharper (noise is frequently applied to large prints to make them appear sharper).
So how does this work?
What you see is what I call a “pixel substitution” algorithm at work. If you know math/statistics you can figure out that the algorithm uses Mean, Median, or Mode measures to calculate the center in a numerical data set. Here, this ”numerical set” is simply a set of pixels (to a computer, pixels are just numbers anyway) and the algorithm is capable of averaging those pixels based on how they are distributed on each layer.
For noise, which is always random, pixels from one layer are replaced with pixels from the layer below if they don’t repeat/overlay. For 7 layers this process is repeated 7 times, and the image will nicely be cleaned and left with only those pixels that are present in all 7 layers (this is why aligning all layers is so important).
You can also use the Mean mode to achieve a similar effect, but in case of Mean Mode sources of light , such as the airplane light streak, may not be removed, or will only be partially removed. I suggest trying both options but for the best results I strongly suggest the Median Mode.
Want to do a quick test?
This process is very useful not only to reduce image noise but also when taking images of an object (a house, or a beach) with people walking in front of it (or on it). Simply take several identical images with people at different positions within the frame and go through the process I just described in this tutorial. Align all images, convert them all to a Smart Object, and apply the Median Stack Mode. What you will see is a perfectly clean image without any people in it. All you have to make sure of is that the people are changing position within the frame, and never overlay (two or more images has them in exactly the same position within the frame). This cannot happen or the algorithm will leave overlaying pixels in, and you’ll get unexpected results).
Another useful case is to simulate movement of clouds in the sky on a windy day (I haven’t tried it but water movement could also work) without any filters attached to your lenses (such as ND grad filters). If you forget, or simply don’t have one, you can still capture the movement by taking several images and going through this process. For this, the Mean mode may work better.
Try it out, see what you get! Have fun!