Image Denoising Algorithm Based on Generative Adversarial Network

Image denoising is an important research direction of image restoration. With the increasing requirements of image quality, image denoising has been widely concerned by scholars at home and abroad. This paper studies the problem of noise image denoising, using improved sparse representation algorithm and deep learning technology to denoise the noise image. In this paper, a de-noising model based on generative countermeasure network is proposed. The residual algorithm and dense connection are added to the network layer of learning image noise information features. At the same time, the discriminator is trained to judge whether the generated image is true or false, so as to avoid boundary blur while de-noising. Zero filling convolution is used to ensure the consistency of input and output characteristic dimensions of each layer. The output of network model is image noise information. Simulation results show that the algorithm has good denoising performance.


Introduction
Image denoising is an important research direction in image restoration, which is widely concerned by scholars at home and abroad with the increasingly high requirements for image quality [1,2,3]. High quality images are more sought after by human visual experience. One of the important steps to obtain high quality image is to denoise the natural image. Denoising refers to the process of changing a low quality image with noise into another clean image which has been modified or improved to become clearer [4,7,8]. In recent years, from the widespread application of mobile phone electronic camera technology and the popularization of the ability to obtain images from the Internet in every home, to the requirements of clear images in various medical scenes, image denoising technology has affected every corner of our production and life.
In the process of image generation, storage and transmission, it will inevitably be polluted by a variety of degradation factors, such as noise in the process of photographing and wireless transmission [5,6]. Therefore, the image obtained is obviously different from the original clean image, which has a great impact on the subsequent image research. In order to remove the noise and restore the useful information of the original image to the greatest extent, it is a very meaningful frontier technology for researchers to accurately observe the detailed feature information contained in the image. It is also of great significance for the research after denoising, such as semantic recognition, feature extraction and classification of the image.
Through the study of image noise, we can see that there are many kinds of noise in the image and the distribution is diverse. It is difficult to remove the mixed noise effectively by image denoising technology. In the actual image denoising process, denoising technology is to remove or as far as possible weaken the image in the acquisition, transmission and other processes of pollution and image damage [9]. These effects include image distortion caused by illumination factors, camera jitter and so on. However, it is impossible to restore a distorted image completely. What we can do through the algorithm is to minimize the adverse effects of various factors on the image.
With the rapid development of computer hardware, especially the extensive use of image processor (GPU) and the development of deep learning technology, more and more scholars focus on using deep learning network model to complete the task of image denoising [10,11]. In 2012, Burger et al. proposed a multi-layer perceptron (MLP) algorithm, which requires a large number of training sets as input [12]. Experiments show that this denoising model can be comparable to the cutting-edge denoising algorithm at that time. MLP model does not aim at specific noise types. It needs a large number of images polluted by the same kind of noise and corresponding clean images, and can almost perfectly map out the noise function. In 2016, He et al. proposed a residual network structure to realize image restoration, in order to simplify the network training deeper than the previous network [13]. The output of the network layer is explicitly reconfigured as the input, and the residual function is used as the learning index. The experimental results show that these residual networks are more easy to optimize and iterative training, and can obtain better experiments by increasing depth. In the same year, Mao et al. proposed a deep codec network model. The input of the proposed network structure is not using clean image, but learning the end-to-end complete convolution mapping process from noisy image to clean image. The network structure consists of a plurality of convolution layers and a corresponding number of anti-convolution layers. A large number of experiments show that the denoising performance can be improved by increasing the depth of the neural network, so the algorithm uses a deeper network than the one used for low-level image processing tasks. In 2017, Zhang et al. improved the construction of the feedforward denoising convolutional neural network (DnCNN) [14], and learned the role of algorithms and regularization methods in image denoising by using a deeper network structure. Residual network and batch normalization algorithm are used to speed up the training process of neural network and improve the performance of image denoising. This deep learning model is different from the existing model of discrimination noise reduction. Traditional models usually train specific additive Gaussian white noise models at specific noise levels, while dncnn model can deal with Gaussian noise reduction (blind Gaussian noise reduction) at unknown noise level.
This paper takes image denoising as the research object, and studies the denoising algorithm based on deep learning. It is found that the sparse representation denoising model has a certain degree of image detail feature information loss defects, and the network structure of deep learning algorithm after good training can better solve this problem.

Image noise
A natural image acquisition refers to the process of focusing pixel information on electronic components through signal processing technology and imaging system, and storing these data [15]. The process of image formation can be summarized as: the camera unit processes the input data through a series of processing, and then gives the image of a specific size. The specific imaging process is shown in Figure  1.  Fig.1 The basic process of imaging When the software and hardware conditions in the imaging system are different and the purpose is different, the characteristics of the imaging system are also different. Therefore, the input response will go through different processing methods. When the output natural image is received by the human visual sense, the focus will be different. For example, some output images will be increased illumination, some will increase edge sharpening and so on. Image signal in the acquisition, transmission and storage process, will be affected by a variety of external factors, can not avoid the noise interference and degradation. In the actual experiment process, we introduce noise into the original image and get the image with noise. According to the generation process of noise image, an image noise model can be established. For different noises, the noise model is different. There are many kinds of noise, such as Gaussian noise, salt and pepper noise. In the process of de-noising, we first determine the type of noise in the image, and then choose different processing algorithms according to different noises.
Noise can be divided into additive noise model and multiplicative noise model. The Gaussian noise studied in this paper belongs to additive noise, so the additive noise model is mainly introduced [16]: ( , ) = ( , ) + ( , ) Where X(i, j) represents an image signal not contaminated, n (i, j) represents the noise part, I (i, j) represents the output image contaminated by noise, and the general noise completes the image degradation under the rule of degradation function h (i, j).
Under the effect of the additive noise model, independent noise signals are distributed to change the pixel information value of the original clean image, and the polluted imaging output is obtained after the superposition of the both.
Considering the high frequency of Gaussian noise in real life and the wide application of Gaussian noise removal, Gaussian noise is used in this experiment. The following briefly introduces the distribution and characteristics of Gaussian noise. The reason why Gaussian noise has been widely studied by scholars at home and abroad is inseparable from the fact that its probability density function obeys Gaussian distribution. Moreover, from the perspective of experimental analysis, Gaussian model [17] is easier to carry out mathematical analysis, and its probability density function can be expressed as: In the above formula, x represents the gray value of noise n (i, j) and satisfies the Gaussian distribution, μ is the mathematical expectation of x, and б is the mean square error of x. The larger the value of б, the greater the pollution effect of Gaussian noise in the function on the original image, so that the gray value of the original image pixels will shift. The influence of Gaussian noise on the image is shown in Figure 2.

Image denoising method based on sparse representation
In general, the sparse representation based denoising algorithm needs to use the construction strategy of the perfect dictionary or its improved method. The K-SVD decomposition algorithm mentioned above is a typical algorithm based on sparse representation to complete the image denoising process. Firstly, the target image with noise is processed by overlapping blocks. Some representative image blocks are selected to train the complete dictionary library through some algorithms. The dictionary can represent the image itself well after the training. Then, the sparse representation of each image block is completed by using this dictionary. In this process, the information and noise of the image itself are completed The noise information is separated, and then the denoising image is obtained by sparse representation coefficient and super complete dictionary reconstruction. The general idea of denoising algorithm based on sparse representation is shown in Figure 3. The K-SVD [18] decomposition algorithm is one of the classic denoising algorithms based on sparse representation. Elad proposes a strategy of training dictionary in the algorithm, which uses the singular value decomposition (SVD) technology of a matrix. Through this technology, an arbitrary matrix can be decomposed and the eigenvalues and eigenvectors of the matrix can be extracted. It can be expressed as follows:

Image denoising based on Neural Network
Image technology based on deep learning usually takes massive image training set as the input of the model, from which the external prior knowledge of clean image is obtained as the experience of image denoising. The images selected in the training set contain the same type of noise distribution. Taking the input noisy image as the target, the fitting function obtained in the process of neural network training is used to analyze the input noise image The noise information in the image is removed. The image denoising algorithm based on deep learning directly learns the mapping relationship between noise image and clean image. Compared with the traditional unsupervised method, this way of learning the prior knowledge of image external has better visual effect. In recent years, with the continuous improvement of software and hardware conditions and the research trend of deep learning methods, deep convolution neural network has shown great application value in the field of image processing. This method is similar to the black box, which directly establishes the mapping relationship between input and output. Through effective training and iterative optimization, it can effectively fit the denoising function. In the research process of image denoising, more and more domestic and foreign researchers begin to focus on the innovation and optimization of deep learning technology. In the following chapters, this paper will introduce the image denoising technology based on deep convolution neural network in detail, including DnCNN model, residual network structure and batch normalization technology. Figure 4 is a general network structure based on CNNs.

DnCNN
Deep convolution neural network through end-to-end feature learning (completing the fitting of mapping function from input to output). The traditional neural network is to directly learn the features of clean image information. The feature extraction based on residual strategy is to learn the noise information, and then subtract the noise features from the noisy image to get the clean image, so as to realize the restoration process from the noisy image to the denoised image. The dncnn network framework is shown in Figure 5  The whole convolution network consists of three parts, including alternating convolution layer, batch normalization layer and activation function layer.

Improved method
The structure design of image denoising model of deep convolution neural network fully learns the internal prior knowledge of noise image, but after adding the residual learning strategy, it can establish a deeper network model structure, which can better complete the feature extraction, better learn the distribution of noise feature information, and make the texture features of the denoised clean image closer to the original image [19].
This paper proposes a new network framework based on DnCNN. Specifically, as shown in Figure  6, we added dense connections to the original DnCNN and used it as a generator. In addition, we designed a simple convolutional network as a discriminator to judge the quality of the image generated by the generator. Generally speaking, the more layers of the network in the model, the more complex the model is. Theoretically, it can fit any complex mapping relationship. The stronger the ability of feature extraction in the input image, the closer the output noise information is to the noise in the noise image. However, the more layers of the network structure, the lower the training speed and the gradient vanishing problem with the saturation of parameter updating. Therefore, the improved network structure adopts the residual learning strategy and BN algorithm to solve the above problems, and uses the relu function as the activation function to realize the one-sided consistent nonlinear mapping of the network The whole convolution network consists of three parts, including alternating convolution layer, batch normalization layer and activation function layer. The first part is a convolution layer and an activation function. The convolution layer uses 64 convolution kernels with the size of 3 * 3 * 3 (for color RGB image, if it is gray image, the convolution kernel size is 3 * 3 * 1). Zero filling is added in the convolution process, so the output image and input size remain unchanged, and then the output is activated by the relu function. The second part is 2 to d-1 layers, each layer includes convolution layer, batch normalization part and activation function. The convolution layer uses 64 convolution kernels with the size of 3 * 3 * 64, and the batch normalization operation is completed between convolution calculation and relu activation function calculation; The third part is layer D, which is a convolution layer. Three convolution kernels (3 * 3 * 64 for color RGB image and one for gray image) are used to get the reconstructed residual image as the output.

Experimental equipment
The experimental part of the algorithm in this paper is completed by running the program on HP Z4G3 graphics workstation. The training data set isBSD400, the test data set is set14, the operating system of the program is Ubuntu 17.11, and the processor is i-7800x, the running memory of the system is 32GB, all the experiments are written under the framework of tensorflow based on Python language, tensorflow version is 1.3, CUDA version is 7.8.

Experimental analysis
It can be seen from the experimental data that the output image quality of convolution neural network denoising model increases when the second output weight of sub network increases from 0, and decreases when the weight exceeds 0.3. Therefore, when the output weight of the sub network is set to 0.3, the noise information is fused, so as to learn more comprehensive target feature information. The improved deep convolution neural network is tested on set14 data set, and the denoising results are as follows:   From the analysis of objective evaluation indexes in the above table, it can be seen that the denoising performance of the improved sparse representation denoising model is slightly higher than that of K-SVD algorithm. The sparse representation of the image is more complete after using a single image to segment all the image blocks. It makes good use of the collaborative characteristics of the adjacent regions of the image. The image reconstructed by sparse representation vector and image block dictionary can remove Gaussian noise and retain the texture details of the image. The improved deep convolution neural network uses residual network module and batch normalization algorithm to accelerate the convergence speed of network training, and enhance the denoising effect against Gaussian noise. Compared with the two sub models, the hybrid denoising model has better denoising effect, and is superior to the two sub models in the two objective evaluation indexes of PSNR and structural similarity.

Conclusion
With the improvement of computer software and hardware conditions, deep convolution neural network model has achieved good results in the field of image restoration, and also triggered a learning boom of convolution neural network. The improved residual learning based dense join convolutional neural network model can learn more comprehensive noise. At the same time, although the network model makes the denoising model have more comprehensive noise feature extraction ability, parallel sub network structure makes the parameter scale expand and improve the time complexity of the whole algorithm, which is a problem that cannot be solved temporarily. This is the deficiency of the improved algorithm, and it will also bring the time loss in calculation after using the new deep learning model. How to use multi-scale convolution kernel to extract features and reduce the time complexity of the algorithm is the improvement direction of the following research.