Archive for May, 2014

May 29, 2014

Noise reduction software comparison

I am often constrained by dim lighting in venues which place demands on cameras to record clean images. Grainy appearance and washed-out colours are an overall characteristic that deter most viewers, so something needs to be done.
Given the volume of pictures I take, I needed something that would automate the adjustments to images. I chose to explore the most famous plug-ins that would integrate with the most popular image manipulation program Photoshop. Fortunately they all come in some trial version. It was simple to grab images from them whilst in action.
I tested “Neat Image”, “Noise Ninja”, “Noiseware Pro”, “Denoise”, “Gem”, “Dfine”, and the noise reduction extant in Photoshop CS6 and Capture NX2.

Note that I do not intend to do a truly comprehensive, much less scientific, review of these. I was only interested in their performance in the limited sphere of people photography, predominantly on skin tone. Neither do I delve into the intimate workings of the programs. My insight into these programs was gained by experimentation and observation, not mathematics. I recommend the reader play with the demonstration versions of these programs themselves.
In my time with the programs, it soon became apparent that it was easy to be conditioned by expectations of a desirable image, whereas some of the programs only came into their own by pushing and playing with them in a direction I would not have thought of going in to begin with. Some of these programs have a plethora of controls, even though in some circumstances many appear ineffectual. In these cases it pays to fiddle for longer with the other controls and revisit the apparently ineffectual ones until it is found out what they do. The key word is experimentation. I played with these programs in three separate sessions, and my conclusions were significantly refined. Thus, it pays to be wary of definitive statements on them.

Little real specialist knowledge is required to get going with the software, other than that red, green and blue pixels combine to form the colours you see. The terms highlight, mid-tone and shadow are obvious enough in meaning even to the non-photographer. Chrominance noise refers to random coloured pixel noise values, which would for instance be the prominent red speckling on old Canon digital SLR images and intrusive broader colour blotches at high ISO. Luminance noise is non-colour specific noise, “grain”, of the type most prominent on digital SLRs a decade ago. The latter type appears more difficult for programs to discern from detail. The more regular the noise, the easier it is for the program for detect, as in the notorious red banding on Canon high ISO, and several programs know how to deal with this.

The noise reduction software’s trade is in trying to make a calculated guess about what is random image noise, and what is image detail mixed in, or vice-versa depending on your point of view. Since computers are not independently intelligent and only programmed, they effect this by algorithms with variable settings we can adjust. I would like to think that the task I have in mind for them is relatively simple, since I am concentrating on flesh tone, but sequins on leotards have some small and high contrast detail on them.

For my test image I chose the ladies of the Azerbaijan group. It had the advantage of several subjects at once, with skin tone in and out of shadow, and finer sequin detail. We can ignore the fact that the artificial light made it slightly ‘warm’, for the moment.
The image was taken at ISO 3200 and is fairly noisy by today’s standards. Regarding detail the image is not among the sharpest, but there is just enough detail to make demands on a noise reduction program to preserve it. The noise is especially noticeable in large areas such as the blue background and the legs. In the picture’s raw state, the appearance is of finely ground black and white pepper. Under cropping or magnification it is not particularly edifying to look at, and cropping and magnification is often necessary when gymnasts do certain jumps or compact moves in a far corner.

The images below are reduced in size in order to maintain readability for the single-column blog. To see the examples larger, open the target images in another browser tab.

Image Image

The Contenders
Neat Image – Of all the programs, I have the most experience of this for deserving reason. My accepted compromise was to smooth the most while not removing apparent detail. In this case apparent detail was the appearance of the sequins and the naturalness of the facial features and hair in particular.
I begin with a setting I had arrived at after two rounds of playing on Neat Image:


Neat Image example

It is evident that on the settings I chose, a fairly high degree of smoothing has been applied along with the effect of cracked glaze on china around the edges of the leotard on the thigh, for instance. Nevertheless I found this quite aesthetic and acceptable. It was achieved with 75% Y (luminance reduction), and 100% of low, mid and high reduction and no more than half sharpening. In practice I rarely used quite this strong a treatment, to avoid having to sift for artefacts on large batches. It was certainly possible to apply conservative noise reduction that did not draw attention to itself:


Neat Image half strength

Neat Image does have the advantage of being regularly updated to accelerate its performance with newer graphics cards. With the latest and greatest I could have reduced the time for this noise reduction by two thirds.


Topaz Denoise was another program I had experimented with that proved less flexible and had indeed in former years almost put me off processing my own photos. Older readers may be able to remember the coarse halftoning dots that newspapers used to effect various degrees of shade in their photos, and Denoise gave a similar effect. It can produce this artificial effect through attacking some areas with smoothing and leaving noise in others, thus producing poor transitions and an unnatural effect from between overly smooth and halftoning. A very faint watercolour sponge effect could begin on the head whilst adjusting the sliders.


Denoise characteristic halftoning

In an effort to avoid the transition flaws I tried adjusting: strength, shadow (low values give halftoning grain there, high values tidy up), highlight (made things neater on high when shadow also high), recover detail (can end up putting a newspaper grain of its own), reduce blur (could give china paint effect)…


Denoise, to porcelain

So I did manage to improve the relative attractiveness of the Denoise result by ‘pushing’ its strength whilst not retaining detail so much, to produce a creamy porcelain effect on the skin. A glowing contrast made the overall effect very slightly unrealistic. However, in the very narrow range it worked in, the effect on skin was pleasing, with a slightly dreamy but contrasty blur. Though attractively smooth in this Denoise example, the unrealistic smoothness soon became tireseome. Over a collection of images I preferred the more chalky detail of the Neat Image representation, even if it also betrayed processing and noise.
Topaz Denoise was remarkably slow! It took over ten seconds to process an image, whereas Neat Image is closer to one. It varies according to which operations you choose to perform, and a simple noise debanding is done very quickly. In reality the slowness would be enough to contraindicate it, unless the result were clearly better. From this experience, I took it that Denoise was appropriate only for using in an extreme blurring manner. After dealing with Neat Image and Noiseware Pro, I could not help but feel that Topaz had unnecessarily handicapped their product by compounding various high to low frequency noise adjustments under the “Reduce Blur” slider.

Though I only found one setting or “look” that I found useful, I did not leave the program feeling it was a defect of understanding on my part. At least Denoise did better in Circus pictures that I took, in very directional lighting with dark backgrounds, because it dealt with larger isolated noise speckles better and recognised banding noise.

Dfine is a curious program. Its supposed strength is in automatically profiling noise on an image and spot healing parts of it separately. Whereas my workflow is to establish a safe customised setting and then apply it to thousands of photos at a time.
On auto it produced creamy areas but transitions with noisier ones was again poor. It encourages users to leave it on auto profile, and I struggled with using the sliders to vary the effect. A second attempt gave a watercolour and sponge effect, and on a third reaching for a relatively strong effect it lacked clarity. For my purposes here it was one of the most pointless programs, with little effective customisability and unappealing results. Nevertheless, it was fast and in more generalised landscape photography produced better results.


Dfine example

Noiseware Pro unlike the above Dfine, had no lack of sliders to fiddle with. It proved hard to replicate the strength of Denoise, with bands of colour where Denoise would tend to have halftoning. Noiseware had various settings but even with most settings on maximum and little sharpening the effect was less remarkable than Denoise. My third or fourth attempt endeavouring to maintain some range in skin tone required more contrast on the edges to avoid blurring seen here.

Unlike Denoise, Noiseware Pro proved to have hidden depths in its configurability, and in a different example with subtle skin detail, it did well in recognising detail through the noise- the core ability of a noise reduction program. Furthermore, the program was fast.


Noiseware Pro example

Noise Ninja on high had the glowing-blur effect of more primitive noise reduction programs. It was close to Neat Image on 12 strength, smoothness 20 but with less contrast on details.
Like Dfine, Noise Ninja automatically profiles an image in multiple areas, whereas Neat Image uses only one by default. Noise Ninja is immediately ‘gratifying’ in that it has some simple sliders that make great changes to the effect. I appreciated the ‘coarse’ setting which increased the contrast. Nevertheless, with my best effort to replicate Denoise with strength 18, smoothness 9, contrast 20, it did not have the contrasty illusion of sharpness of Denoise.

The heart of Noise Ninja is the Filter tab, but it did not have the sophistication of Noiseware Pro. As usual in these programs, the colour sliders had no effect and what was left was Luminance > Strength / Smoothness / Contrast and an Unsharp Mask setting.


Noise Ninja example

Kodak Gem seemed fairly straightforward and gave a middle-of-the-road performance losing sharpness as well as grain. It is now a particularly old program. On its strongest it did preserve subtlety like the seam in the leotard better than Denoise, but it also preserved more grain whilst giving lower contrast edges to legs and less apparent sharpness therefore.


Gem example

Photoshop 6 – Reduce Noise was quite primitive and beyond consideration, adding a glowing blur.
Nikon Capture NX2 noise reduction was similar to Photoshop 6 and also more or less pointless for my purposes.
I once auditioned a program called DxO Mark 9, but with a response time close to minutes rather than seconds was incredibly slow and out of the question for the mass batching of files before the sun dies.

Photographers have long known that high contrast increases the perception of detail. Here the most successful programs recognised the outline of the figures to preserve the outline and increase the contrast. Several programs tended to produce signature artefacts in skin tone transition areas, either producing obvious bands of tone as in Noiseware, or halftoning some areas and not others as in Denoise, which needed careful taming. Noise Ninja produced patches like small islands of dotted areas which thankfully went away in a predictable fashion by increasing the strength slider. Neat Image produce the “cracked glaze” squiggles near edges effect when pushing sliders hard to recover detail. The program gave almost a pencil drawn effect at such a setting, but it also gave a sense of clarity and contrast, even if false clarity. Denoise at its best offered the creamiest and most contrasty flesh form, for lovers of Botticelli. However, the pleasing effect of Denoise was lost at lower settings away from this sweet spot. The strength of its noise reduction was better felt in high iso photos with large darker areas and less pure flesh where it could tame random strong noise pixels.
The other programs were also-rans, because their results appeared blurred in general. I preferred Noiseware over Noise Ninja because I recognised more effective skin transition on the former, and I got more effective gradations of an acceptable image. I found Noiseware is still a program worth considering for its intelligent recognition of detail underneath noise, for relatively subtle use. Noise Ninja was more blurred and simplified an effect in comparison to Noiseware.
I had no love for the best I could derive from Dfine which appears not to be targetted for my mode of use, and preferred the simpler and more predictable response of Gem. The latter sits very much in the middle of the road in trying to identify what looks like grain, and not trying too hard to be clever about what it sees. Consequently it is weaker, but more predictable.

Neat Image wins in this specific test because it could be dialed back for conservative and safe noise reduction, but also could produce relatively artistic if unobjective results on some settings. Gem and Denoise could do one or the other, Noiseware could be relied upon for fidelity if not attractiveness in its subtle effect, and the rest were remarkable at neither.

To make sure, here is one more picture treated with Neat Image and Denoise. I did not try to match them, but tried to exploit their strengths on their own terms. Neat Image, in trying to raise contrast on what it thought were the details, would want to produce sooty lines in Silviya’s frown, whereas Denoise would tend to create dotted toning around the eyes related to the shadow/highlight settings. The end result is that her features clearly stand out more with Neat Image. I did not try to eliminate all grain but instead pushed it close to the perception threshold to make sure of retaining detail. With Denoise, I had to push the smoothing more to avoid the halftoning dots visible around her eyes. The sequin highlights are nevertheless truer. I was concentrating on a relatively natural result on the face, with a hint of grain on the legs, and by this it so happened that this produced a smoother background with Denoise also. As stated before however, Neat Image still wins through on two counts: firstly it produces acceptable results over a broader window of settings than Denoise, and secondly it is far faster. It can do a photo in 1.5s on my machine, and in 0.5s on custom machines costing less than a thousand more. Denoise was nearer ten seconds than one.

OF0_1307 crop

Sylvia in Thiais 2013


Sylvia through Neat Image


Sylvia through Denoise

As referred to in the introduction, Neat Image fulfilled the criterion of discerning genuine detail the best and was the shrewdest in adjusting the contrast to preserve it whilst applying its smoothing filter. The real test of the resulting image is whether I want to pore over it, or pass over it. The Denoise image to me is just a slightly blurred and uninteresting one. The Neat Image one instead draws my interest. It was especially effective in drawing out the interest in what was an unusually low-contrast and grainy scene.


There is a danger of presenting a test such as this one as definitive, given the range of photographic material these programs can be used to treat, their configurability and the question of tase. I could recognise a case for several of these programs, with Denoise having the strongest effect but not being quite versatile. Neat Image appeared more versatile, whilst Noiseware Pro was also highly configurable and better for subtle cases to retain original detail.

I played with each program at least three times and began to get a feel for how to exploit them for their individual strengths and specifically play to their abilities, and compare the best balanced results I saw them provide. Now the reader has some idea of what each program can do, it is for them to start playing for themselves. To give a head start on the most interesting programs Neat Image and Noiseware, I continue below:

Neat Image Controls

The reference image with no noise reduction applied (the luminance slider to the left):

Neat Image No NR

And with the basic noise reduction on maximum:

Neat Image full NR

I think the reader will agree this dreamy smear needs more subtlety.

This is what it looks like backing off the fine “High” frequency noise slider:

ni nohigh

Neat Image ignore high frequency noise

The result is a rather too regular pattern like texture bathroom glass. With lowest “Mid” frequency noise slider:

Neat Image ignore mid frequency noise

The above looks more naturally grain like. With lowest “Low” frequency noise slider:

Neat Image ignore low frequency noise

Those familiar with Photoshop effects will notice similarities to watercolour and sponge effects in the above. It is easy to see the effect is broader on the lower sliders.

The clever thing about these noise reduction programs is supposed to be the selective blurring of noise detail over genuine detail. They seem to achieve this by selectively sharpening the image up before blurring.

With “High” frequency sharpening:

Neat Image high frequency sharpen

This above has selectively increased contrast, but introduced artefacts in high contrast places around the black ears, and worm-like areas in the red shorts.

With “Mid” frequency sharpening:

Neat Image mid frequency sharpen

Now artefacts have appeared more inside the broad colour area shapes.

With “Low” frequency sharpening:

Neat Image low frequency sharpen

The above is more subtle increased contrast on the image.

The Cr, Cb sliders had no effect however I tried them, and the tick boxes were also only a subtle effect in comparison.

It would seem Neat Image is working fairly simply by selectively increasing contrast before blurring.

Noiseware Pro Controls

First, our test subject. Deceptively simple, but if you view it full-sized, the skin is partly blemished and bruised and I was curious to see how the program would deal with it:


Noise Level > Luminance … makes the smoothing algorithm more sensitive to grain. Playing with it does not introduce artefacts:

Noise Level > Luminance

Noise Reduction > Luminance .. controls the degree of the smoothing effect. It produces artefacts on 80% on this subject:

Noise Reduction > Luminance

Detail Protection > Luminance .. is the heart of Noiseware’s cleverness. It attempts to maintain the detail

Detail Protection > Luminance

Detail Enhancement > Sharpening .. sooner or later introduces canvas-like cross-hatching artefacts along with sharpening.

Detail Enhancement > Sharpening

Detail Enhancement > Contrast .. broadens the effect of the sharpening:

Detail Enhancement > Luminance

Detail Enhancement > Edge Smoothing .. on high certainly smooths, and makes the artefacts broader, fainter strokes:

Detail Enhancement > Edge Smoothing

The other controls in the Frequency panel are more subtle.

Frequency > Noise Level > High Freq .. on low, this fine “high frequency” noise is clearly left untouched:

Frequency > Noise Level > High Freq

Frequency > Noise Level > Mid Freq .. on high, this slider actually affected the image unlike the other sliders in this section:

Frequency > Noise Level > Mid Freq

The other controls either did nothing or their effect was obvious from the above, such as Mid-Low frequency cutting.

From the original faint and grainy raw, I believe Noiseware has done very well at intensifying the detail underneath, and the blotchy colour of the skin. The result is not necessarily attractive, but it is credible:


It is evident after a play with the program that Noiseware is rather more sophisticated in nature than NeatImage and what it is trying to achieve is more intelligent. NeatImage produced its usual dry chalky effect: