Noise Models


Exponential, Rayleigh, Uniform and Impluse noise

Series: Noise Models:

  1. Gaussian and Gamma noise
  2. Exponential, Rayleigh, Uniform and Impluse noise

The Exponential Noise Distribution

The exponential distribution distribution looks like this:

The Exponential Distribution

The exponential distribution

Here's a sample of what exponential noise looks like:

No noise applied

No noise

An image with exponential noise applied

Exponential noise!

The histograms for the above images are:

The original image's histogram

No noise

The exponential noised image's histogram

Exponential noise histogram

Again, you see something similar to the exponential distribution. This is also independent noise and is used to model noise in laser imaging.

The Rayleigh Noise Distribution

Here's the characteristic plot of the Rayleigh probability distribtion function:

The Rayleigh distribution And here's what rayleigh noise looks like:

No noise applied

No noise!

An image with rayleigh noise

Rayleigh noise

And here's the histograms for both of the images above:

The original image's histogram

The original histogram

The histogram of the "rayleighed" image

Rayleigh noise

This too is independent noise and is used to characterize noise in range imaging.

The Uniform Noise Distribution

Now for something new. Instead of all the curvy graphs till now, the uniform distribution has a flat line. It looks like this:

The uniform distribution

The uniform distribution

Here, all the values between a and b have an equal probability of occuring. Hence the flat top. Here's what uniform noise looks like:

No noise applied

No noise

An image with uniform noise applied

An image with uniform noise

And, as usual, here are the histograms for them:

The original image's histogram

The original image

The uniform noised image's histogram

Uniform noise'd

Looks pretty "uniform" right? This, too, is independent noise. This noise model doesn't resemble any practical situation. Its there just because computers always generate uniform random numbers. So generating uniform noise isn't tough.

The Impulse Noise Distribution: Salt and Pepper Noise

Here's something completely new. No probability distribution function here. Have a look at the following images:

No noise applied

No salt/pepper

Salt and pepper noise

Salt/pepper

You'd have noticed that this noise looks very different from the ones we've seen earlier. You can simply visually distinguish between this noise and the others we've discussed so far.

Its called salt and pepper because it looks like that: the white specks are the salt, the black ones are the pepper.

This noise is generally produced when transmitting an image. The value of the pixel just gets corrupted: all bits of the pixel turn into a 1, or into a 0... or the bits invert (1 turns into a 0, and vice versa).

Representing this mathematically is a bit complicated. And generally, this is a Data dependent noise.

Here are the histograms for the two images just shown:

The original image's histogram

Original histogram

Salt and pepper's histogram

The peppered histogram

Notice how the original spikes remain preserved. Only little spikes are added at the very extremities of the histogram. The leftmost little spike being for the "pepper" and the right most being for the "salt".

Conclusion

So we discussed 6 unique noise distributions in this article. Now you're in direct competition with Photoshop... which just offers Gaussian and Uniform noise! Go defeat some photoshop with OpenCV!

And, I've created a little program that lets you generate all these noises in realtime. Feel free to download and experiment with it. You can choose between different noise types by pressing the keys 1-6. You can download it from the link below.


More in the series

This tutorial is part of a series called Noise Models:

  1. Gaussian and Gamma noise
  2. Exponential, Rayleigh, Uniform and Impluse noise


Utkarsh Sinha created AI Shack in 2010 and has since been working on computer vision and related fields. He is currently at Microsoft working on computer vision.