Abstract

We present a new impulse noise removal technique based on Support Vector Machines (SVM). Both classification and regression were used to reduce the “salt and pepper” noise found in digital images. Classification enables identification of noisy pixels, while regression provides a means to determine reconstruction values. The training vectors necessary for the SVM were generated synthetically in order to maintain control over quality and complexity. A modified median filter based on a previous noise detection stage and a regression-based filter are presented and compared to other well-known state-of-the-art noise reduction algorithms. The results show that the filters proposed achieved good results, outperforming other state-of-the-art algorithms for low and medium noise ratios, and were comparable for very highly corrupted images.

1. Introduction

Nowadays the well-known machine learning tools (Support Vector Machines, Neural Networks, etc.) are used in high level digital image processing applications with high success. These high level applications include, for example, face recognition [1], traffic sign detection [2, 3], medical imaging [4], and more. However, the use of these tools in low level image processing is less extended. In this work we want to show how one of these tools, Support Vector Machines, can be used successfully in a low level image processing task as impulse noise removal.

Noise removal is one of the most important areas within digital image processing. One type of noise that can appear in images is impulse noise, which can be produced during image acquisition, storage, or transmission and can affect later stages of processing if not removed properly while preserving the details [57]. This problem arises in many fields, from medical imaging [8] to the analysis of satellite images [9].

Impulse noise appears when some of the pixels in the image are replaced by outliers while the rest remain unchanged. Outliers can have a fixed minimum or maximum gray-scale value or may vary within that range. The first type is known as “salt and pepper” and is the one analyzed in this paper.

Since reducing this noise presents a classical image processing problem, a great number of methods to reduce it have been proposed. In some methods every pixel in the image is restored regardless of whether it was originally noisy or not. The general scheme of this type of filtering is the use of a mask which is normally centered around the pixel of interest for computational reasons. The mask is used to sweep the image and perform some operations with the pixels inside it in order to obtain the reconstruction value.

This group includes the median filter, which is the classical solution for removing impulsive noise. This has been followed by a modification of the median filter, known as the center weighted median (CWM) filter [10, 11] which repeats the central pixel a number of times before ordering. To improve median performance, several authors (see [12, 13]) have proposed a filter which is closely related to the latter, called the adaptive median filter (AMF). This filter improves the performance of the CWM by using different mask sizes when the noise ratio is high.

An alternative to the filters using median may be presented in [14] known as minimum-maximum exclusive mean (MMEM) that is intended to be used in high noise ratios and is based on the mean of the neighbor values that are not considered as noisy in a or window.

The main advantage of these schemes is their simplicity, but the disadvantage is blurring, especially when the percentage of noise is high. This effect occurs because the filter changes both noisy and nonnoisy pixels. To prevent this problem, a previous noisy pixel detection or decision stage is required.

The scheme with a previous detection is commonly known as the switching scheme [5]. In this scheme only those pixels detected as noisy are reconstructed in any way, while the nondetected ones are maintained unchanged. Thus, the reconstruction effort is only applied to a reduced set of pixels and the process is quicker and more effective.

Most of the algorithms proposed in the literature are based on this scheme, since reconstruction is only applied to noisy pixels and the results are improved by reducing the blurring. The various methods proposed in this category vary the type of detector used and the means by which the noisy pixels are replaced.

Detection can be understood as a classification between noisy and nonnoisy pixels and has been implemented in several ways in state-of-the-art algorithms. Some of the proposed algorithms are based on median filtering [15, 16] like progressive switching median filter (PSMF) [17]. Rank ordered mean (ROM) filters are modifications of median filters used in [5, 18].

Recently some decision filtering methods are proposed like Decision Based Algorithm (DBA) [20] or modified decision based unsymmetric trimmed median filter (MDBUTMF) [24]. They are based on a decision scheme with no explicit classification. These approaches, that use local information, make that the restored image for high density noise contain several noisy spots. Other methods are based on similarity between pixels in a window to perform classification like [25]. An important group of detection-based schemes uses fuzzy logic [21, 22] or neural networks [26, 27].

This paper presents new impulse noise removal filters for application to “salt and pepper” noise. These filters use the switching scheme and the SVM, both for noise detection using classification and for reconstruction using regression.

Although the use of some training has been used in previous work [5], normally this training is based on real images or portions of them. The use of these real images can bias the results obtained and training cannot be controlled in every aspect. This is the reason why we propose the use of synthetic images for training. The synthetic images are potentially adaptable to the noise reduction problem.

The use of SVM is due to its good features in training and generalization. This is not the only classification tool available but the fact that the classification function obtained is unique for a given data train and that the machine complexity is obtained in the training process instead of given a priori size (like in neural nets) [28] makes the SVM a good choice for this type of problem. Another important feature that is desirable for this task is the generalization ability of the SVM when the training data are limited. In this way we can generate few training patterns, but expect a good degree of generalization with reduced training time.

Impulse noise detection using SVM is presented in Section 2, while in Section 3 a method to recover noisy pixels using SVM regression is presented and discussed. Section 4 presents three new filters based on the classification and regression explained in the previous sections, and some experiments and results are then presented in Section 5. This section also describes how training affects detection and regression, enabling us to improve the results in our previous studies, and presents a comparison with some other state-of-the-art methods, confirming the quality of the proposed filters. Finally, some conclusions are discussed in Section 6.

2. Impulse Noise Detection Using SVM Classification

Following the switching scheme, we propose using a specifically designed classification algorithm to detect noisy pixels. SVM were chosen because of their capacity for generalization from a reduced set of training examples and better performance than other classification methods [29]. Preliminary versions of this idea were previously presented in [30], where we applied a modified median filter, which was then combined with regression in [31]. Due to the good results obtained in these previous studies, here we present a combined study of both noise detection and regression. Our proposal works by scanning the image using a window of a given size (usually ) around the pixel to be classified as noisy or not. This window is mapped left-to-right and top-to-bottom in a 1D vector of 9 components. Then, this vector is classified according the previously trained SVM classification function.

2.1. Synthetic Training Images for Noise Detection

In this study, the training vectors were generated from synthetic images (scanned as explained above), which have been designed to represent a wide range of gray values and edges of different levels. The optimization of the design of these training images is still an open question. The only requirements that must be met are the presence of a wide range of gray values and, at least, one edge. The objective was to generalize the training obtained to real images.

Figure 1 gives an example of these synthetic training images. As shown, they can be subdivided into two similar subimages with an edge between them. Several edge configurations were tested and the best results have been obtained with the nonfix edge shown in Figure 1. There are two parameters to be configured in the training image generation process.(i)Image Height (H). The image height (in pixels) modifies the different gray levels since these levels were obtained with a step between values equal to . Bigger images have a wider gray range which is more realistic.(ii)Percentage of Added Noise (N). We can add noise in different ratios (%) to best fit the real ratio in the image to be reconstructed.

These parameters can be tuned to obtain the best classification results with the minimum number of support vectors. Section 5.5 details the results obtained after an exhaustive tuning process, and Figure 2 shows examples of noise detection described in more detail in Section 5.4.

3. Impulse Noise Reconstruction Using SVM Regression

Once the noisy pixels have been detected, a reconstruction method can be implemented. One option would be to use a median filter or any of its modifications [30]. However, as presented in [31, 32], SVM regression is another option to recover image pixel values.

The regression scheme proposed uses only those pixel values around the pixel detected as noisy and excluding this one. The reason for using SVM regression is its good capacity for generalization from a reduced training set. The window size (neighborhood) was empirically fixed to , since this yielded the best results. Once again, the image is scanned using a window read top-to-bottom and left-to-right yielding an 8-components 1D vector.

In order to simplify the regression problem, only white pixel reconstruction is used since, in initial experiments, mixed white and black noise was difficult to recover, increasing the number of support vectors required and reducing the quality. The black pixels, once detected, are moved to white if regression is used.

3.1. Synthetic Training Images for Regression

The regression training is again based on synthetic images (similar to those used for classification and with the same and parameters). However, in this case two images are needed, one without noise which is used to obtain reconstruction values and one with noise which is used to obtain the training vectors. One example of these images is shown in Figure 3. These images contain gray values from 0 to 255 and a central edge and, as in classification training, the range of gray values depends on the image size. The main difference with classification training is that the original image is necessary and that the central edge was fixed white-to-black since the best results were obtained using this configuration. Once again, the optimization of these synthetic images is an open question.

Table 1 shows some lines in a file used for regression training in LIBSVM [33] format. Each line represents a training vector and its associated value. The first column is the original nonnoisy pixel, that is, the desired value for reconstruction. This value is obtained from the training images without added noise (see Figure 3(a)). The other columns are the vector components (numbered 1, 2, etc.) where the first one corresponds to the upper left pixel in a window and so on. These vectors are obtained from the noisy image (see Figure 3(b)).

This is an automatic and configurable training (noise and size) but the results obtained are good with basic training parameters. For example, using a Gaussian kernel with , , and (see Section 5.7), we can obtain results like those shown in Figure 4 for Albert image. In these examples only regression was applied and we can see a certain degree of blurring [32]. This effect prevents the use of regression alone to reduce noise in images (especially for high noise ratios) although, as shown, the differences with original images are minimal. The differences appear in edges and in black or white homogeneous zones, since previously reconstructed values are used to obtain new ones. A detailed tuning process of the parameters is described in Section 5.7.

4. Proposed Filters Based on SVM Detection and Regression

Having described the detection and regression methods using SVM, we now propose some impulse noise reduction filters based on these methods. The filters proposed use SVM noise detection and the reconstruction method used establishes the differences between them.

In addition, there are two possible methods for implementing the proposed filters.(i)Recursive Implementation. In this case, the pixels reconstructed previously are used to obtain new reconstruction values. In a window this means that the first 4 values have been previously reconstructed while the last 4 have not. Thus, only one image sweep is required to eliminate noise.(ii)Nonrecursive Implementation. Only the gray values in the noisy image are used to obtain reconstruction values. In this case, it is possible to obtain isolated, unreconstructed noisy pixels. This effect is increased with high noise ratios. Thus, to obtain good results the noise reduction procedure must be applied several times in an iterative way. The iteration procedure is maintained until a noise percentage is reached. This procedure is possible since our system gives the noise ratio actually present in the image.

4.1. Modified Median Filters

In these filters, the median is used to obtain the reconstruction values. The median is applied to the pixels around the detected noisy pixel or to a subset of them. Thus we have two possibilities.(1)The median is applied to the pixels detected as noisy and the central pixel is excluded since it is known to be noisy. This idea was presented previously in [5] and used with SVM in [30]. This method is called SVM-M1.(2)Since we can classify the pixels as either noisy or nonnoisy, when using the median, only the pixels detected as nonnoisy are included and, this way, isolated noisy pixels after reconstruction are reduced. This method is called SVM-M2.

The main difference between these is that when using SVM-M1, only one sweep is needed since detection and reconstruction are performed in the same step. However, with SVM-M2, one sweep is needed for detection and an additional sweep is required for reconstruction. The quality obtained using SVM-M2 is higher since only nonnoisy pixels are used in the median. Both methods obtain best results using the nonrecursive method; that is, these methods are applied in an iterative way as shown previously.

4.2. Regression Based Filters

The regression method was presented previously in Section 3. The regression-based filters use SVM regression to obtain the reconstruction values. Although regression alone can be used as a reconstruction method, some blurring is present when only regression is used. To reduce the blurring effect, a previous noise detection stage is required and the SVM are used to perform this detection, as explained in Section 2.

The regression method is called SVM-R and only the recursive implementation method is used since the nonrecursive one gave poor results and the process was extremely slow.

5. Experiments and Results

Having defined the noise reconstruction filters, we will now present some results on reconstruction quality and conduct a comparison with other previously proposed methods. First, we define the measures of quality to be used and then we will present the reconstruction results obtained.

5.1. Quality Measures

It is pertinent at this point to define the quality measures used to adjust SVM detection and regression and to compare our proposed filters with other state-of-the-art filters.

Reconstruction Quality. In the field of image reconstruction several quality measures have been identified to determine whether the filter used is more or less efficient. Some of these measures include the following.(i)Mean Squared Error (MSE). Better reconstruction gives lower values and zero indicates perfect reconstruction.(ii)Peak Signal to Noise Ratio (PSNR). This is a measure related to the previous one. It is a logarithmic measure widely used in image processing. Higher values indicate better quality.(iii)Structural SIMilarity (SSIM). This is a measure of quality that not only measures the difference between two images but also measures a number of structural parameters to check the similarity. These structural parameters are measured independently of local differences or the illumination changes of the image. A detailed description can be found in [34]. In this measure, a value near indicates good quality, falling towards as the quality decreases. The main advantage of this quality index is that it does not give so much importance to specific reconstruction errors but does give importance to the structural quality as a whole, besides having a direct relation to the subjective assessment of quality.

Finally only and were used since is useful to compare the results with other studies which used or and gives a near subjective measure of quality.

Noise Detection Quality. To assess detection quality, we propose measuring the accuracy defined in the next equation: where is the number of true positives, is the number of true negatives, is the number of false positives, and   is the number of false negatives.

This measure is given in percentage and, ideally, should be . This ideal case is obtained when nor false positives neither false negatives are detected.

Noise Regression Quality. When regression is applied to every pixel in the image, the result is an approximation that can be directly compared with the original image. The better the reconstruction, the lower the error between the original and the approximated image. This error is measured using the function described earlier.

5.2. Images Used in the Tests

We have used 10 well-known test images used in several noise reduction studies [5, 22, 35]. Four of them have been used in the classification and regression tests as well as in the quality results. Lenna is widely used to compare denoising algorithms and presents no major problems. It serves to conduct a comparison with the many other algorithms that use it. Albert is challenging due to the texture of the suit, but mostly because of the white collar where detection of noise becomes more difficult. Bridge presents some problems in two areas, one near the white bridge and the bridge itself and one black area which is the result of a bad scan. Barbara is quite challenging due to the large number of repeated textures and patterns it contains. Reconstruction of the lines is very difficult for all noise reduction algorithms.

The set is completed with 6 other known images like Airfield, Baboon, Boats, Goldhill, Lake, and Peppers.

5.3. Tuning SVM Classification Parameters

The first training step consists in defining the SVM kernel and its related parameters [28, 36]. Several kernels were tested, but only Gaussian kernels yielded competitive performances and a reduced set of support vectors. Thus, the parameters to be adjusted were and the regularization parameter ().

In the noise detection training, was established regarding the final number of support vectors since it is clear that the effect on classification is less relevant than this from . The value selected was , since lower values increased the number of support vectors and higher values did not represent any improvement. appears in Gaussian kernel expression:

Several classification tests were performed to adjust the value of . In these tests we used training images with and . In Figure 5 we show the results obtained for different values of . The best results were obtained for since for the entire range of noise the accuracy is not less than for Lenna, for Albert, for Bridge, and for Barbara. Obviously, different images gave different results and, for example, in our case the results for Albert or Bridge were worse than those for Lenna or Barbara. But we would like to highlight the fact that the worst result reached an accuracy of . It must be noticed that the result obtained is independent from the images used to show the results.

5.4. Comparison of SVM Detection in Different Images

At this point, we can show how the proposed impulse noise detection performs with noisy images. Figure 6 shows the results for the images used in our tests. It is clear that the results for Lenna and Barbara were better than those for Albert and Bridge. It is noticeable that for Bridge even without noise a certain percentage of noisy pixels were detected, although for the other images, where no noise existed, no pixels were detected as noisy (Albert and Barbara) or only very reduced set was detected, as in the Lenna image.

An explanation of what is happening in the detection is given in the previously presented Figure 2. Figure 2(a) shows the Lenna image with a 20% added noise and Figure 2(b) shows (marked as white pixels) the pixels detected as noisy. It is clear that the detection proposed performs well and there is no obvious correlation between image information and the noise detected. Figure 2(c) shows which detected pixels are not actually noisy (false positives), which in this case only represented of the entire image. The noise added to the Albert image (Figure 2(d)) was detected as well (Figure 2(e)), but there are some areas in the image that present a clear correlation with the original image, namely, some parts of the white collar. This effect is clearly evident in Figure 2(f), which shows falsely detected pixels. Nevertheless, these falsely detected pixels only represented of the whole entire image. Thus Figure 2 shows that most of the noisy pixels were correctly detected and that the method proposed ensures a good detection ratio. For Bridge (Figure 2(i)), the results were worse due in part to central white areas but mainly to a black area near the bottom edge. Even so, the falsely detected pixels only represented the of the image pixels.

Thus Figure 2 shows that most of the noisy pixels were correctly detected and that the method proposed ensures a good detection ratio.

5.5. Effect of Training Image Noise and Size on Detection

When we defined the training images, we stated that they can be varied in size and percentage of noise added. These two parameters are critical for detection quality and execution time. The greater the size, the larger the number of gray values and the higher the number of noisy pixels and hence the greater the number of example vectors required for training. Larger images are closer to real examples but entail an increased number of support vectors. The percentage of noise added to training images implies that a greater number of noisy pixels appear and, therefore, training will be more complete. However, the amount of noise should not be too great because, otherwise, noisy pixels can appear grouped together without any gray pixel nearby, which worsens rather than improves the results.

Figure 7 shows the classification results for the Lenna image using different training image sizes and different percentages of noise in training images. The SVM parameters used were the best of those obtained in Section 5.3. It is clear that the best results for were obtained and and that the best size was (although the difference with the other heights was not significant). With these results, the choice should be and . But this choice gives a high number of support vectors, as shown in Table 2.

5.6. Detection Complexity

One of the known disadvantages of SVM is the computational cost specially using a kernel like in this case. The number of operations needed to apply the trained classifier can be extracted by analyzing the classification function obtained:

If we call the number of features of the vector to classify and the number of support vectors obtained, for the evaluation of this classification function we need, for every support vector:(i) differences,(ii) products,(iii) additions,(iv)2 products and an exponential that can be irrelevant compared to previous operations.

Then the number of operations needed is

This is the reason why sometimes [37] it is said that the run-time complexity of kernel methods using an RBF kernel is . Remember that in our case is the window size used in our algorithm and thus this size has been elected . It is clear that the greater the number of support vectors, the higher the execution time.

Obviously, the overall execution time is influenced by the image size (the classification function is applied over every pixel) and by the actual noise present. More noise implies more reconstruction operations that, in the case of the median, has a worst case complexity of and in the case of SVM regression has, once again, a complexity of .

Thus, our training choice must take into account a tradeoff between detection quality and speed. Looking for a reduced number of support vectors while obtaining good reconstruction results, more different training examples can improve detection but at the expense of a higher execution time.

There are a number of well-established techniques to reduce dimensionality (PCA, LDA, etc.) [38] that could be used in this case but at the expense of some lost information. To reduce the number of support vectors is important the correct tunning of C and gamma parameters, not only for good classification results but looking the smallest number of support vectors possible.

5.7. Tuning SVM Regression Parameters

As with classification, in SVM regression the training parameters must be tuned [39], including the kernel parameters. We summarize our choices below.(1)Kernel. Several kernels were explored, including Gaussian, ERBF (exponential radial basis function), , and splines [39]. However, the results indicated that only Gaussian and ERBF would be useful given the reconstruction results and the number of support vectors obtained.(2)Regularization Parameter C. After an analysis with the selected kernels, it was clear that, by increasing , the quality is increased until and then it is reduced. The number of support vectors required is affected by and is reduced as is increased. Thus, we chose because this value yields a similar quality to but implies a reduction of nearly in the amount of support vectors necessary.(3)Insensibility Parameter . There is no noticeable difference between the reconstruction results for different values of . The only effect is on training speed and to increase this speed, the value chosen was .(4)Kernel Parameter . In Figure 8, reconstruction results are shown for different values of in Gaussian and RBF kernels. The best value for the Gaussian kernel was and for the ERBF it was . The results for the ERBF kernel are slightly better than for the Gaussian kernel, the only difference being that the number of support vectors is greater with the ERBF kernel.

5.8. Effect of Training Image Noise and Size on Regression

Size and percentage of noise are important parameters for the training images. Size increments increase the number of training vectors and the range of gray values, so better results are to be expected. However, the number of support vectors will also be increased and thus speed will be reduced. The effect of the noise added to training images is not clear, but similar noise ratios to those in corrupted images can be initially chosen.

To obtain the best sizes and noise ratios for training images, several results for regression were obtained. In these tests, either size or noise was fixed and the other parameter was swept. Figure 9 shows the results obtained for the Lenna image. To obtain noise results, was set at 32, whilst for size results, was fixed at 30%, since these were the best choices in each case. The results for size showed that size increments increased quality, but that this increase in quality occurred at the expense of increasing the number of support vectors. For example, with we obtained 1192 support vectors, whereas using these vectors increased to 3184. However, the quality did not increase by the same amount. The figures for noise showed that a ratio between 30% and 40% gave similar results. The support vectors obtained for these ratios were 1192 for 30% and 1396 for 40%; thus both of these ratios would be useful and there is no clear choice. The complexity issues discussed previously for classification apply for regression too.

5.9. Comparison between State-of-the-Art Methods and the Proposed Filters

The methods chosen to conduct the comparison were the following.(i)DBAIN: a decision based filter for highly corrupted images [20].(ii)MMEM: dpecifically designed for “salt and pepper” noise and high noise ratios [14].(iii)Modified median filters: ACWM [19], AMF [12], PSMF [17], SDROM [5], and MDBUTMF [24].(iv)Fuzzy filters: filters based on fuzzy classification and reconstruction like DSFIRE [21], NAFSM [23], or FIDRM [22].

These methods, together with those proposed in this paper, have been used to reconstruct noisy images at different noise ratios, and reconstruction quality was measured using and . The results are shown in Tables 3 and 4. These results have been obtained using 10 different test images and varying the noise ratios from 10 to 90%. We present the mean value for each method in the whole image set at each noise ratio and, finally, the mean value in all ratios and images.

From an analysis of these data, we can draw the following conclusions.(1)None of the methods proposed in the literature presents a better performance in all scenarios, that is, for different added noise ratios or for all the images evaluated.(2)There is a correlation between and as regards the quality of reconstruction (poor implies a poor , but the best is not the best ), although there are slight variations. Nevertheless, both provide information for verification of quality.(3)The best method when the noise is high (or very high) is the MMEM and for low and medium is MDBUTMF.(4)The results obtained for the filters proposed in this paper were superior to those reported in the literature for a wide range of noise ratios. Specifically, for low and medium ratios, they outperform most methods compared. The results for high noise ratios were superior to those obtained for MDBUTMF and were close to those obtained using MMEM, which is specifically designed for high noise ratios.(5)The best total mean values were obtained by some of the proposed methods showing that their performance is maintained along the whole ratios.

Some reconstruction examples are shown in Figure 10 where MDBUTMF and MMEM are compared to SVM-M2 and SVM-R (more results for different methods and different images can be found in http://agamenon.tsc.uah.es/Investigacion/gram/papers/Noise/). For medium noise ratio (50%) MDBUTMF yielded the best mean measure, a value shown in Figure 10 the results can vary depending on the image. For a high noise ratio (90%), the image was reconstructed by MMEM and SVM-M2 but the recursive nature of SVM-R yielded poor results. It is clear that our methods maintain quality in a wide range of noise ratios.

5.10. Robustness of the Algorithm

One important issue that must be addressed when some kind of training is used is the robustness of the algorithm proposed since this training could give divergent results with slight changes.

To prove robustness of our proposed SVM algorithms we present some data in Table 5 where we show, for two different images (Lenna and Albert), the mean and the standard deviation measuring MSSIM and PSNR for 10 different noise patterns. Obviously, changes in noise patterns produce different results. But these results have a reduced standard deviation showing the robustness of our proposed algorithms.

6. Conclusions

In this paper we have presented a series of impulsive noise reduction methods based on SVM that can be applied to gray-scale images. We have studied their ability to detect noisy pixels using synthetic images for training and the possibility of reconstruction using regression based on SVM training and, again, synthetic images.

After checking the detection and reconstruction ability of the SVM, several filters have been proposed for detection or reconstruction or both. The proposed methods were compared both against each other and with state-of-the-art methods.

It has been shown that the proposed methods are a valid alternative and may even outperform other methods in the literature for a larger range of noise levels.

A great advantage of our proposed filters is that since the training samples are generated automatically, the training is customizable and furthermore it is easy and fast. The training based methods allow flexibility since adapting the training to the context can improve the results.

The use of SVM and the underlying well-funded probability relation between classification function and probability estimation [40] gives us a tool to apply this noise reduction method to other noise types. If the noise added is random valued or Gaussian, the probability estimation can give the degree of noise contamination instead of a classification label. This degree obtained can be used in the reconstruction process as in some fuzzy noise reduction methods.

On the other hand, the proposed scheme has a computational complexity higher than others compared in this paper. As an example, MMEM is really simple and a training is not needed to obtain good results for high noise ratios. The need of complex arithmetic operations in SVM implementation makes our scheme slower than other Decision Based Algorithms with less requirements.

However, we think that the proposed scheme is opened to be improved in several ways including training, implementation, and application to other noise types and currently can be successfully applied to the salt and pepper noise problem.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work is supported by projects CSI (CCG2013/EXP-047), TIN2010-20845-C03-03, IPT-2012-0808-370000, and TEC2013-45183-R.