Neural SKCS for efficient noise reduction and content preserving

Images are often corrupted by random variations in intensity, illumination or have poor contrast and can't be used directly. Several studies have expressed the need to reduce noise and to improve the visual quality of the image. For this purpose, several mathematical tools have been developed such as image filtering by a convolution filter, such as the kernel with compact support (KCS) which has been recently proposed by Remaki and Cheriet [1] and it's version separable (SKCS) 10]. The effectiveness of the SKCS filter in the smoothing operation depends on the value of the scale parameter. Moreover, if the scale parameter is increased, the image is blurred and details and borders are removed. This disadvantage is related to the static nature of the KCS kernel. In this paper we propose a dynamic and adaptive SKCS filter based on neural networks. The scale parameters involved in the filtering process are calculated in real time and supervised by the neural network. The filter scale varies continuously in order to detect and clean noisy areas of the image. To assess the developed theory, an application of filtering noisy images is presented, including a qualitative comparison between the result obtained by the static SKCS and the adaptive SKCS kernel proposed.


I. INTRODUCTION
Artificial vision becomes an important research field and it integrates several applications such as automatic object and default recognition, well matching and analysis, featuring computation, etc. These applications need very advanced image processing tools and digital mathematical foundation. Image processing aims at simplifying and improving the quality of images from different points of view: filtering and denoising, useless and redundant information removing and so on . The purpose of filtering is to reduce noise and improve the visual quality of the image in other words suppressing high frequency signal and enhancing low frequency signal . Several filters have been proposed in the literature, such as the KCS filter (kernel with compact support) presented by Remaki and Cheriet [1]. The KCS derived from the Gaussian, by deforming the plan into a unit ball . Hence, they obtained kernel family with compact support (KCS). The separable version of the KCS named SKCS as the product of one dimensional KCS was proposed in a previous work [10]. This SKCS has been introduced in order to recover the information loss and reduce drastically the prohibitive time processing when the Gaussian kernel is used [2]. They have shown that with the KCS there no need to cut off the kernel while processing time is controlled because the mask is the support of the kernel itself. The SKCS kernel should be parameterized by a scale parameter and be generated in such a way that fine-scale structures are successively suppressed when the scale parameter is increased [12]. Moreover, this scale parameter is increased, the image is blurred and the details and borders are removed. All these disadvantages are related to the static nature of the SKCS. In this paper we propose another approach to create an adaptive SKCS filter for effective image denoising. The parameters involved in the filtering process are monitored and calculated in real time by the neural network. The performance of our approach is carefully examined and compared to the conventional method. The experimental results on synthetic images illustrate the capabilities of the studied approach.

II. RECALL OF THE STATIC SKCS FILTER
The separable version of the KCS as the product of one dimensional KCS kernels was proposed in a previous work. The 2D SKCS formula is given by: : is the normalization constant : is the standard deviation KCS : is the width parameter The KCS and SKCS construction, formulation, and analysis of its properties are presented with details in [1][6] [7][8] [9][10]and [11].
The frequency shape of this filter is shown on figure  1 The influence of scale parameter σ on the filter SKCS shape and quality filtering is given below.

Method
The dynamic SKCS filter is proposed in order to achieve a compromise between quality and filtering power and to delimit the disadvantages of static SKCS filter. We propose neural networks to make the dynamic filter and variable depending on image characteristics. We use the back propagation algorithm. We begin by learning phase of the network for updating the synaptic weights for varying the fixed structure of the SKCS filter. The steps of our method to the supervision of the SKCS filter with artificial intelligence, are illustrated by the flowchart in figure 3.   Figure 4 shows the original test images. In figure 5, some sample areas used in the learning phase are presented.
Where I k is introduced to the network window and W i is the corresponding weight. The back propagation algorithm is based on the minimization of the squared error between the calculated outputs and desired outputs. The Back propagation term stems from the fact that the calculated error in output is transmitted in opposite direction towards the inlet. The error on the j th output node is.
Where p is the number of examples and j the number of output, dO is the desired output and O is the calculated output summing. Therefore the total error (for all nodes) is: To minimize Ep, its gradient is calculated with respect to each weight w, and then alters the weights in the opposite direction of the gradient.
The weight of the output layer are updated as follows:

Experimental results
For the practical aspect, in order to investigate the SKCS impact on filtering noisy images, we have chosen synthetic image, and "lena" image, infected by salt & pepper noise first, then by Gaussian noise. A comparison is established between results obtained by using the static SKCS and dynamic SKCS kernels to evaluate the performance of our approach for the creation of a dynamic filter in relation with the static filter. We calculate the Peak signal to noise ratio (equation 8) and the correlation.  (9) with d is the dynamic of the image First, we recall briefly that a filter can act on the pixels of an image if the mask dimension is equal or superior to 3x3. In our case the support of our kernel n is equal to 2σ. σ therefore, should be at least equal to 1.5 since the optimal σ value is lower than 1.
To remedy this problem, we add an expansion factor structure α, such as : opt σ α σ * = (10) σ is at least equal to 1.5, it means that α = 1.5/ σ opt . The choice of the parameter α is empirical. We calculate the PSNR for several values of α, then we get the value of α which gives better PSNR and correlation. the following figure shows the variation of PSNR as a function of parameter α. From the curve, we see the appearance of a new maximum, the first is false maximum due to the folding of the SKCS kernel and the second is true [1]. After the interpolation curve PSNR= f(α), we get α = 3.4.

Salt & pepper noise
Salt and pepper is an impulse noise. It corresponds to a degradation of the image in the form of black and white pixels randomly distributed. The results obtained with our algorithm are given in the following figures (fig 8. )

Discussion:
According to the obtained results, we see that the details of images filtered by the dynamic SKCS kernel are clearer than those obtained by the static SKCS. Indeed the dynamic SKCS filter provides noise reduction and edge conservation. This shows that our approach is more efficient and gives best results.

Gaussian noise
White noise is a realization of a random process in which the power spectral density is the same for all frequencies. The Gaussian white noise is a white noise that follows a normal distribution with mean and variance data. The comparison results are given in the following figures (Fig 9)   According to the obtained results, we see that the edges are saved and the objects are more visible, which shows the efficiency of our approach.

Robustness test
To show the effectiveness of dynamic filter SKCS against noise, we calculate the value of PSNR for different noise intensity then we plot the curve PSNR = f(noise intensity).The results are given on figure 10. According to the obtained results, we see that the PSNR decrease for both kernels and this is normal because the noise intensity increased also the PSNR obtained by the dynamic filter SKCS remains superior to that of the static filter SKCS. It shows the effectiveness of the chosen approach.

IV. CONCLUSION
This work deals with the problem of filtering and denoising for gray level images. It proposes a new dynamic SKCS filter based on neural network. Tested on both synthetic and "lena" images it is shown that the dynamic SKCS filter gives better results compared to the static SKCS filter, indeed the results obtained by dynamic filtering are more efficient.