Different Types of Noises and Image Denoising Methods
With the increasing use of digital cameras, people come around a variety of images in their daily life. Some of the images are of good quality while a few images we encounter with which are poor in quality. The quality of images also degrades due to the presence of noise. This noise may be caused by low light conditions or other intensity problems. To denoise an image, i.e., to reduce the noise in an image, there are various approaches used. It has been a hot topic of research for a long time and is still under experimentation by researchers. Here we will discuss how Convolutional Neural Networks and Autoencoders are used to denoise an image. We will go through the following points in this article to have a proper understanding of this concept. Table of contentsWhat is Noise?Sources of NoiseDifferent Types of NoiseGaussian NoiseSalt and Pepper NoiseSpeckle NoisePoison NoiseImage Denoising using CNNImage Denoising using Autoencoders Let’s begin with understanding the noise. What is Noise? Noise is typically defined as a random variation in brightness or colour information and it is frequently produced by technical limits of the image collection sensor or by improper environmental circumstances. These difficulties are frequently inevitable in real scenarios, making image noise a common issue that must be addressed with appropriate denoising approaches. Denoising an image is a difficult task since the noise is tied to the image’s high-frequency content, i.e. the details. As a result, the goal is to strike a balance between suppressing noise as much as possible while not losing too much information. Filter-based approaches for picture denoising, such as the Inverse, Median, and Wiener Filters, are the most often utilized. The presence of noise in an image might be additive or multiplicative. In the Additive Noise Model, an additive noise signal is added to the original signal to produce a corrupted noisy signal that follows the following rule: w(x, y) = s(x,y) + n(x,y) Here, s(x, y) represents the original image intensity and n(x,y) represents the noise supplied to produce the corrupted signal w(x,y) at (x,y) pixel position. Similarly, the Multiplicative Noise Model multiplies the original signal by the noise signal. Sources of Noise During picture acquisition and transmission, noise may be introduced into the image. The introduction of noise into the image could be caused by several factors. The quantification of noise is determined by the number of corrupted pixels in the image. Image noise can range from nearly invisible specks on a digital snapshot taken in good lighting to optical and radio astronomical images that are almost totally noise, from which a small amount of information can be extracted by complex processing. Such a level of noise would be inappropriate in a photograph since it would be impossible to identify the subject. The following are the primary sources of noise in digital images: – Environmental factors may have an impact on the imaging sensor. Low light and sensor temperature may cause image noise. Dust particles in the scanner can cause noise in the digital image. Transmission channel interference. Different Types of Noise The pattern of the noise, as well as its probabilistic properties, distinguishes it. There is a wide range of noise types. While we focus primarily on the most important forms, these are Gaussian noise, salt and pepper noise, poison noise, impulse noise, and speckle noise. Gaussian Noise It is commonly known that Gaussian noise is statistical noise with a probability density function (PDF) equal to the normal distribution. Gaussian noise has a uniform distribution throughout the signal. A noisy image has pixels that are made up of the sum of their original pixel values plus a random Gaussian noise value. The probability distribution function for a Gaussian distribution has a bell shape. Additive white Gaussian noise is the most common application for Gaussian noise in applications. The below figure shows the Gaussian distribution function (probability distribution function) of Gaussian noise and pixel representation of Gaussian noise. Gaussian Noise Salt and Pepper Noise A type of noise commonly seen in photographs is salt and pepper noise. It manifests as white and black pixels that appear at random intervals. Errors in data transfer cause this form of noise to appear. The values a and b in salt pepper noise are different. Each has a probability of less than 0.1 on average. The corrupted pixels are alternately set to the minimum and highest value, giving the image a “salt and pepper” appearance. The distribution and pixel representation of this noise is shown below. Salt and Pepper Noise The use of a median filter, morphological filter, or contra harmonic mean filter is an effective noise eradication strategy for this type of noise. In situations when quick transients, such as improper switching, occur, salt and pepper noise creeps into images. Speckle Noise Unlike Gaussian or Salt and Pepper noise, speckle noise is multiplicative noise. In diagnostic examinations, this reduces image quality by giving images a backscattered wave appearance caused by many microscopic dispersed reflections flowing through internal organs. This makes it more difficult for the observer to distinguish fine details in the images. The distribution and pixel representation of this noise is shown below. Speckle Noise This type of noise can be found in a wide range of systems, including synthetic aperture radar (SAR) images, ultrasound imaging, and many more. Poison Noise Poisson noise is produced by the image detectors’ and recorders’ nonlinear responses. This type of noise is determined by the image data. Because detecting and recording procedures incorporate arbitrary electron emission with a Poisson distribution and a mean response value, this expression is utilized. Because a Poisson distribution’s mean and variance are the same, the image-dependent term is considered to have a standard deviation if it is assumed that the noise has a variance of one. Image Denoising using CNN Deep learning-based techniques have emerged as the most successful solutions for many real-world challenges requiring digital image processing, and have also been employed as a natural replacement alternative for non-learning dependent filters and prior knowledge-based denoising algorithms. Such learning-based strategies are less influenced by the non-linear properties of noise generation processes. Multilayer Perceptrons (MLPs) were one of the most widely studied machine learning-based techniques for image denoising for a long time. MLPs have been supplanted by Convolutional Neural Networks (CNNs) because of recent developments in computer graphics processing capability, particularly for image processing jobs. Attention learning is a very interesting deep learning training approach that has not yet been extensively studied for image denoising. Such a technique can direct the deep neural network’s learning efforts toward more informative components of the input data. The advantages of such a method result in several breakthroughs in natural language processing, recommendation systems, health care analysis, audio recognition, and image classification. Recently, the research paper Attention-Residual Convolutional Neural Network proposes a deep learning-based denoising technique that incorporates the CNN model with residual connection and attention mechanism. (Image Source) Above is the proposed architecture where In is the input noisy image and Id is the output denoised image, Conv and BN are convolutional and batch normalization layers respectively, and A1…A20 is the attention weights. Once the Attention-Residual mechanism (shown in a dashed rectangle) has estimated the noise present in the image In, then it can be further eliminated from the image using a simple additive process, which results in the Id denoised image, as illustrated in the above architecture. For more detail of this architecture go through the research. Image Denoising using Autoencoders Another commonly used approach for denoising is with autoencoders which is an artificial neural network mainly used to compress and decompress data by leveraging encoders and decoders in a supervised manner. To use autoencoders for denoising, train the encoders and decoders with noisy images as to features, and cleaned images as targets. This form of approach can give you quick and satisfactory results. I encourage you to go through this article for autoencoders where I discussed usage of it by covering a few applications. Denoising using Autoencoders Conclusion By any practice or by precise capturing, there will be many images that need to go through the distillation process so that we can extract as much information as possible. For that, we have seen commonly observed types of noise and their significance. Also, we have discussed how CNN can be used to denoise the image. References Image Denoising using Deep Learning: Convolutional Neural Network Image Denoising using Attention-Residual Convolutional Neural Networks Image Denoising Algorithms Overview of Denoising Techniques Denoising using Autoencoders Popular Posts Dickey Fuller Test in Time Series Hidden Markov Model and Application Scikit Learns Mlp Classifier Python Tabulate Module Pytorch Optimizers
Here we will discuss how Convolutional Neural Networks and Autoencoders are used to denoise an image.
With the increasing use of digital cameras, people come around a variety of images in their daily life. Some of the images are of good quality while a few images we encounter with which are poor in quality. The quality of images also degrades due to the presence of noise.
["AI (Artificial Intelligence)", "autoencoders", "cnn", "image processing", "Machine Learning"]
["autoencoders", "machine learning", "TPU", "AI", "image processing", "neural network", "ML", "PyTorch", "Machine Learning", "recommendation systems", "cnn", "RAG", "Python", "deep learning", "AI (Artificial Intelligence)"]
["AI", "machine learning", "ML", "deep learning", "neural network", "PyTorch", "RAG", "recommendation systems", "TPU", "Python"]
Vijaysinh is an enthusiast in machine learning and deep learning. He is skilled in ML algorithms, data manipulation, handling and visualization, model building.