1 Introduction

The quality of an image is degraded due to noise added during its acquisition or transmission. This degradation by noise causes not only an unpleasant effect on its viewers but, in practical imaging applications, it may also degrade the performance of various subsequent processes such as image segmentation [36], object recognition [28] etc. Acquisitions from low graded imaging sensor, and inherent noise in the transmission channels are the most common causes of noise in images [6]. Irrespective of the cause, the behavior of the noise is random and prior knowledge about its random behavior is helpful for its removal. However, this prior information is not known in most practical applications.

A common type of noise is impulse noise that may occur in many practical imaging and multimedia applications such as medical imaging, remote sensing, image segmentation and content based image retrieval [20, 23, 27, 35]. This noise is caused due to malfunctioning of optical sensor or due to electromagnetic interference during their acquisition, transmission and storage. When this noise corrupts an image, some pixels are affected by noise and some left noise-free. However, it is difficult to distinguish between a noisy pixel and noise-free pixel. Several methods are developed to denoise images from impulse noise. Few notable methods are discussed below.

An easily implementable technique for impulse noise removal is Standard Median Filter (SMF) [6]. However, it also processes noise-free pixels that cause removal of fine details in the denoised image. Afterwards, Weighted Median [2] and Center Weighted Median [25] filters were proposed to preserve the image details by assigning weights to the pixels in the selected window. Similarly, Adaptive Median Filter (AMF) [8] was proposed by Hwang and Haddad, whereby the window size was scaled to a predefined level during filtration process. However, in case of AMF, the larger window size causes the blurring of edges in the image.

Though the above mentioned filtration techniques were easy to implement but they filter both noisy and noise-free pixels in the image. Consequently, to avoid filtration of noise-free pixels, the idea of first locating an impulse noise and then removing, gained popularity among researchers. In this regard, switching scheme for median filtering was introduced [24], whereby, first impulses are detected and then removed with the median filter. In this way, only noisy pixels are removed and image details are preserved. Another technique based on switching median filter was proposed in [22]. The detection scheme was based on the minimum absolute value of four convolutions obtained using 1-D Laplacian operators. Similarly, Chan et al. [3] proposed a two phase scheme for the removal of salt & pepper noise. They employed adaptive median filter for detection and noise removal was performed by using a specialized regularization method. On the other hand, Luo et al. [16] proposed alpha-trimmed mean filter in the detection phase. A linear combination of both the original and the median pixel in a local window was used in the estimation phase. Dempster’s combination rule based detector and rank-ordered arithmetic mean based noise removal was suggested [15]. In [30], a four-phase detection scheme was suggested to localize noise and median filter was employed to remove noise. Switching based anisotropic diffusion was also used to suppress random valued impulse noise [10].

Due to the introduction of noise detection stage in impulse noise removal methods, several intelligent detectors are reported for the classification of noisy and noise-free pixels. Computational intelligent (CI) techniques like artificial neural networks (ANN), evolutionary computing (EC) have attracted many researchers. Self-organizing maps and feed forward neural networks were suggested to detect impulse noise [9, 12, 31]. Genetic Programming (GP) has recently gained attention in solving many image processing problems. GP approaches have also been used for the removal of impulse noise. A two-stage GP detector for the detection of salt & pepper and uniform impulse noise is reported in Universal Impulse Noise Filtering using GP (UINFGP) [19]. If the pixel is detected as noisy by the first detector, it is filtered with Alpha-Trimmed Mean filter. Otherwise, the second detector detects noise and uses Center Weighted Median filter to remove noise. Else the pixel is categorized as noise-free. GP as an estimator was used in Impulse Noise Filtering using GP (INFGP) [18]. For noise detection, they used switching median filtering technique by selecting minimum absolute value of convolutions kernels. The convolutions were obtained by using 1-D Laplacian operators against a pre-specified threshold. Recently, for salt & pepper and uniform impulse noise removal, another two stage method ROR-NLM is presented [1]. In this approach, the detector is based on a new statistics called Robust Outlyingness Ratio (ROR), whereby, noise is removed by an estimator based on Non-Local Means (NLM). The above approaches [1, 18, 19] are selected for comparison because they are more relevant to our proposed GP based denoising approach.

In this paper, to achieve the objective of multi-denoising, we propose a new two-stage GP approach Impulse Noise Detection and Estimation using Genetic Programming (INDE-GP). The proposed INDE-GP approach is capable of removing mixed impulse, uniform impulse, salt & pepper noise, and impulse burst noises. The global learning capability of GP is exploited with local statistical features that have the ability to denoise multi-types impulse noises. It comprises an impulse noise detection stage followed by an estimation stage. We propose a single stage GP detector that is modeled as a function of rank-ordered, robust statistical features to detect noise effectively instead of two stage GP detectors [19]. Instead of traditional mean or median filters, we propose GP based estimator to effectively estimate the pixel value. This GP estimator is a function of statistical features of noise-free pixels in the neighborhood of noisy pixel. Our GP based approach using statistical measures of noise-free pixels has given the improved denoising performance than other approaches [1, 18, 19].

To summarize, our contribution in this paper is as follows:

  1. (1)

    Development of a multi denoising approach INDE-GP for removal of mixed impulse, uniform impulse, salt & pepper, and impulse burst noises.

  2. (2)

    Development of single stage GP based detector by exploiting the combination of rank-ordered and robust statistical features to localize noise.

  3. (3)

    Development of single stage GP based estimator to remove noise by effectively exploiting statistical features of noise-free pixels in their neighborhood.

The performance of the proposed INDE-GP approach is evaluated on various standard images. The effectiveness of the proposed approach is highlighted by qualitative and quantitative comparisons with other existing approaches.

Section 2 describes different types of impulse noises. Section 3 explains the proposed INDE-GP approach. Implementation details are described in Section 4. Section 5 presents the results and discussion. Finally, concluding remarks are provided in Section 6.

2 Impulse noise types

The presence of noise in an image degrades its quality. Due to randomness, the noise models are represented by different probability density functions (pdfs) e.g., Uniform, Impulse, Gaussian etc. [6]. When an image is corrupted with Gaussian noise, local variance of each pixel is affected which means that no pixel is noise-free. An image f(x, y) corrupted by noise η(x, y) is given by,

$$ g\left(x,y\right)=f\left(x,y\right)+\eta \left(x,y\right) $$
(1)

where g(x, y) represents the degraded image.

Some Gaussian noise removal methods [4, 7, 14, 33] are suggested to remove salt & pepper noise by considering it as the Gaussian noise with zero standard deviation, however, in this work, we want to exploit the presence of noise-free pixels to improve image quality. Therefore, we target the removal of impulse noise and its variants. When a pixel in an image is corrupted by an impulse noise, the actual value of the pixel is completely replaced by the noise. However, the degraded image g(x, y) also contains set of pixels that are not affected by the impulse noise. Therefore, Eq. (2) suggests that at any location (x, y) in a degraded image, either a pixel is noisy η(x, y) or noise-free f(x, y), i.e.,

$$ g\left(x,y\right)=\left\{\begin{array}{cc}\hfill \eta \left(x,y\right)\hfill & \hfill with\; probability\;p\hfill \\ {}\hfill f\left(x,y\right)\hfill & \hfill with\; probability\;1-p\hfill \end{array}\right. $$
(2)

Impulse noise is categorized as either salt & pepper (fixed-valued) noise or uniform impulse (random-valued) noise. In case of salt & pepper noise, the noisy pixel η(x, y) can have fixed values either 0 or 255 for an 8-bit image. In case of uniform impulse noise, the noisy pixel η(x, y) can have any discrete value in the dynamic range [0, 255] for an 8-bit image. Another characteristic of impulse noise is that it is highly different from its neighborhood pixels and has no correlation with the actual value of that pixel. Therefore, the neighborhood of the corrupted pixels plays an important role in impulse noise removal. That is why, small local windows usually of size 3 × 3 and 5 × 5 are selected for processing.

The mixed impulse noise model is more realistic. It assumes that images can be corrupted with salt & pepper and uniform impulse noise, simultaneously. It is given by Eq. (3)

$$ g\left(x,y\right)=\left\{\begin{array}{cc}\hfill {\eta}_1\left(x,y\right)\hfill & \hfill with\; probability\;p/2\hfill \\ {}\hfill {\eta}_2\left(x,y\right)\hfill & \hfill with\; probability\;p/2\hfill \\ {}\hfill f\left(x,y\right)\hfill & \hfill with\; probability\;\left(1-p\right)\hfill \end{array}\right. $$
(3)

where η 1(x, y) ∈ {L min, L max} and η 2(x, y) ∈ [L min, L max] represent the salt & pepper and uniform impulse noise, respectively. L min and L max show the lowest and highest possible intensity values of the pixel. The occurrence of mixed impulse noise in images increases the difficulty level of the denoising problem. Figure 1 illustrates the comparison amongst different impulse noise models along with their respective histograms. The left column shows the original image containing single intensity value and its variants corrupted by uniform impulse, salt-pepper and mixed impulse noises, respectively. The right column shows their respective histograms. The histograms demonstrates an image corrupted by mixed impulse noise contains both salt-pepper and uniform impulse noise, simultaneously.

Fig. 1
figure 1

Comparison of different impulse noise models and their respective histograms

In many practical applications, images are transmitted using an analog signal communication channel [11, 29] . For example, aerial images are transmitted by an aircraft or unmanned aerial vehicle to ground station where they are subject to visualization and analysis. In such applications, various types of electromagnetic sensors and signal processing units are also installed. They cause electromagnetic interference with the operating waveband of the transmission channel and corrupt several consecutive pixels of the transmitted aerial images in single or multiple rows. This type of noise is called impulse burst noise. Removal of this type of noise is very important in order to improve the quality of the receiving image at the ground station. In Eq. (2), p is the probability of a pixel to be noisy, whereas, in impulse burst noise model, p is the probability of a row to be corrupted by the burst noise. This noise can randomly corrupt any row in the image. The maximal length of the burst is another parameter that characterizes the impulse burst noise. The burst length describes the maximum number of consecutive pixels in a corrupted row of the image.

3 Proposed INDE-GP approach

In this section, Impulse Noise Detection and Estimation using Genetic Programming (INDE-GP) approach is described for the restoration of corrupted images. Figure 2 illustrates the working of multi denoising INDE-GP approach. The denoising functionality of INDE-GP consists of two stages. Stage–I detects the locations of noisy pixels by extracting features from noisy image G. These extracted features are evaluated by the proposed GP detector to classify pixels as either noisy or noise-free. It generates a binary noise map B ∈ {0, 1}, where ‘0’ and ‘1’ represents noise-free and noisy pixels, respectively. Stage–II extracts statistical features from the neighborhood of detected noisy pixels in G using detection information in B. Stage – II estimates the denoised image \( \widehat{\mathrm{F}} \) by using the proposed GP estimator. The procedure can be applied iteratively to improve the quality of the denoised image, if required.

Fig. 2
figure 2

Proposed INDE-GP Denoising Approach

Our major contribution in this work is the design and development of impulse noise detector (Stage-I) and the estimator (Stage-II) using genetic programming. For Stage-I, we designed impulse noise detector by combining rank-ordered and robust statistical features extracted from noisy images. These features are then used by the single stage GP detector to classify as noisy or noise-free pixels. For Stage-II, we designed GP estimator based on statistical features of noise-free pixels extracted from the neighborhood of noisy pixels. The developments of these stages are discussed in the following sub-sections.

3.1 Stage-I: GP based impulse noise detection

The main objective of Stage-I is to detect whether a pixel g(x, y) at any location in the corrupted image G is noisy or noise-free. This makes it a binary classification problem in which the classifier results in either ‘0’ for noise-free pixels or ‘1’ for noisy pixels. In order to achieve the objective of Stage-I, we need to develop a binary classifier that takes discriminant features extracted from the noisy image and detects impulse noise. The outcome of this stage is a binary noise map B that locates the noisy pixels.

Towards the development of impulse noise detector, the first issue is the selection of those features that can discriminate the impulsive behavior. The second issue is how GP can be exploited to develop an improved impulse noise detector. These issues are addressed in the following subsections.

3.1.1 Feature extraction for impulse noise detector

In order to develop an impulse detector, we have selected eight statistical features most commonly used in the literature [1, 5, 19, 34]. Table 1 indicates these discriminant features to represent the effective behavior of impulse noise. These features collectively form a feature vector u = [u 1,...., u 8] that represents the input parameters of proposed model. For each pixel in the noisy image, a corresponding feature vector u is computed. Because the pixels corrupted by impulse noise have no correlation with the actual intensity values and they are different from their neighborhood, we have chosen small local windows of sizes 3 × 3 (W 3) and 5 × 5 (W 5) for feature vector formation.

Table 1 Discriminant features for GP based detector

Rank Ordered Absolute Difference (ROAD) u 1 is a local statistics which is effective in representation of an impulsive behavior. Its high value corresponds to a noisy pixel and low value corresponds to noise-free pixel. In case of uniform impulse noise, there might be the case where the absolute difference between the noisy pixel and its neighborhood may not be very significant. Therefore, to address this Rank Ordered Logarithmic Difference (ROLD) was used as feature element u 2. Another local statistics is Robust Outlyingness Ratio (ROR) u 3 that represents a measure about how much a pixel is likely to be an impulse. Its large value means the given pixel is likely to be an impulse. The feature elements u 4, u 5, u 7 denote the Normalized Median of Absolute Deviation (MADN) from median in W 5, Median of Absolute Deviation (MAD) from median in W 5 and W 3, respectively. The feature elements u 6, u 8 represents absolute deviations from median in W 5 and W 3, respectively. Absolute deviations give useful information about a pixel. Larger deviations indicate that the pixel may be corrupted and smaller deviation means that it could be free from noise. Median of the absolute deviation from the median is a robust estimator that is able to correctly estimate the local image variance in the presence of impulse noise and preserves fine details in the image. With the help of these extracted statistical features, we developed a single GP detector for impulse noise detection. These extracted features are given to the GP learning process as terminal set.

3.1.2 Development of GP based detector

For the development of GP detector, we first prepared the training dataset S = {(u (n), t (n))} N n = 1 , where N is the total number of training samples. As discussed in previous section, u is the extracted feature vector from nth pixel of the noisy training images. t is the corresponding nth target pixel in the ground truth binary noise map T. The training dataset is prepared by corrupting each training image with different densities of mixed impulse noise. For each noise level, its ground truth binary noise map T is stored. Once the features are extracted and training data is prepared, it is given to the GP learning process to develop the impulse noise detector.

The main objective is to develop an impulse noise detector that classifies each pixel in the noisy image as noisy or noise-free. This objective is achieved by considering impulse noise detection D as a function of feature vector u and is given by (12)

$$ b=\left\{\begin{array}{cc}\hfill 0\hfill & \hfill if\;{D}_{\theta}\left(\mathbf{u}\right)<0\hfill \\ {}\hfill 1\hfill & \hfill if\;{D}_{\theta}\left(\mathbf{u}\right)\ge 0\hfill \end{array}\right. $$
(12)

where, b is the binary output of the detector, and θ represents GP parameters.

Figure 3 illustrates the GP learning process for the development of impulse noise detector. The first step is the initialization of the random population of detectors. Each individual (detector) in the population is represented as a tree structure comprising a set of terminals, and non-terminals. Non-terminals may include arithmetic, logical or relational operators or functions. Table 2 shows the function set for the impulse noise detector. Before population initialization, we need to specify the terminal set. The terminal set consists of the feature vector u along with 10 uniformly distributed random constants in the range [−10, 10]. The inclusion of these random constants in the terminal set improves the learning process and helpful in application of mutation operator [13]. Besides representing GP tree as a set of terminals and non-terminals, the size of initial population must be specified. Each individual in the population represents a candidate solution as a tree structure.

Fig. 3
figure 3

GP Learning Process for Impulse Noise Detector

Table 2 Function set for GP detector and estimator

The next step is the evaluation of fitness level of each detector or individual. To evaluate the fitness of each individual, we select detection accuracy as a fitness function that is given as:

$$ fi{t}_{DetAcc}=\frac{T{r}_{\eta }+T{r}_f}{M} $$
(13)

where, Tr η and Tr f represents no. of truly detected noisy pixels and truly detected noise-free pixels, respectively and M represents the total number of pixels. We want the learning process to maximize detection accuracy. If fit DetAcc  = 1, all the pixels are correctly classified as noisy or noise-free. If fit DetAcc  = 0, all pixels are incorrectly classified. During training, the learning process searches for the best detector that gives maximum detection accuracy in the search space. The number of truly detected pixels is counted by comparing the output of the candidate detector with the corresponding ground truth t in the training data.

When all the candidate detectors are evaluated for their fitness, the termination criterion is checked. GP process can be terminated either by the maximum no. of generations achieved or the required detection accuracy is achieved. Otherwise, GP selects fittest individuals from the current population to apply genetic operators. There are various techniques for the fitness based selection of individuals present in the current population. We selected the most commonly used tournament selection criterion. It randomly selects a subset of population described by tournament size instead of entire population. It also gives chance to weak individuals to improve their fitness. The individuals in the tournament compete with each other and the individual with best fitness in the tournament is selected.

Next step is the application of crossover and mutation operators to the selected individuals for the generation of new population. The optimal ratio of crossover/mutation play important role in the convergence of candidate solution towards the optimal/near-optimal solution. Crossover operator produces new offspring by recombining sub-trees of two selected individuals. Mutation operator randomly selects a portion of the individual to change. This causes the diversity in the solution space that helps in avoiding the local minima. After the generation of new population, the fitness function is evaluated and the whole cycle is repeated. Finally, when the termination criteria meet, the best individual is selected as the impulse noise detector D θ (u).

3.2 Stage- II: GP based impulse noise estimation

The main purpose of Stage-II is to remove noise by estimating the most suitable pixel value to replace the detected noisy pixel. This stage takes two inputs: noisy image G, and the binary noise map B (output of Stage-I). This stage extracts statistical features from the set of noise-free pixels present in the neighborhood of the detected noisy pixel as indicated by B. The set of noise-free pixels in G remain unprocessed. The proposed GP estimator is a mapping function of statistical features to the restored pixel value at any location (x, y). It is to be noted that only set of noise-free pixels present in the neighborhood contributes in the estimation for noise removal. Inclusion of noisy pixels to calculate statistical features may lead to erroneous estimation. The output of Stage-II is the denoised image \( \widehat{\mathbf{F}} \).

GP development process of the estimator is similar to the development of the detector, however, its model is different due to different set of features, training set, and the objective function.

3.2.1 Feature extraction for GP estimator

Towards the development of Stage-II, we selected six statistical features extracted from the noisy image. Our idea is that the extraction of statistical features from the set of noise-free pixels present in the local neighborhood of a detected noisy pixel may lead to better estimation. Therefore, statistical features like mean, median and standard deviation (std) of noise free pixels in 3 × 3 and 5 × 5 neighborhood of a noisy pixel are selected. The feature vector v = [v 1, …, v 6] consists of six statistical features. Let Z 1, Z 2 represents two sets of noise-free pixels in a window of size 5 × 5 and 3 × 3, respectively. Here, v 1 and v 2 represent the mean of Z 1 and Z 2, respectively. v 3 and v 4 represent the median of Z 1 and Z 2, respectively. v 5 and v 6 represent the standard deviation of Z 1 and Z 2, respectively.

3.2.2 Development of GP estimator

The development of an accurate GP estimator for noise removal is the main objective in Stage-II. We extracted the feature vector v for each noisy pixel g(x, y) and give it as input parameter to our GP based estimator E ϕ (⋅) to estimate the restored value \( \widehat{f}\left(x,y\right) \) of the pixel.

$$ \widehat{f}\left(x,y\right)={E}_{\phi}\left(\mathbf{v}\right) $$
(14)

In order to prepare the training dataset S ' = {(v (k), f (k))} K k = 1 where v (k) represents the kth feature vector corresponds to kth target pixel f (k) and K represents the total number of samples for estimator training, the degraded image G, the ground truth T and original image F are used. The feature vectors v are extracted for each noisy pixel indicated by ‘1’ in the ground truth T. The corresponding intensity values in original image F represent the desired target values.

The development process of the estimator is similar to the detector development process except the selection of the terminal set and the fitness function. Here, the GP process searches for the best estimator that minimizes the fitness function. Each candidate solution (estimator) is represented as a tree structure comprising terminals and non-terminals sets. The terminal set consists of elements of feature vector v and random constants in the range [0, 255] generated from uniform distribution. This range is selected because each pixel to be approximated can have values from 0 to 255. The non-terminals include the function set as mentioned in Table 2. The initial population of estimators is generated as per predefined population size using ramped half and half method. Next each candidate solution in the initial population is evaluated. To achieve the objective of the estimator, we have selected Mean squared error (MSE) as a fitness function to be minimized given by Eq. (15). The minimum score of fitness function indicates the effectiveness of the estimator.

$$ fi{t}_{MSE}=\frac{1}{K}{\displaystyle \sum_{k=1}^K{\left({f}^{(k)}-{\widehat{f}}^{(k)}\right)}^2} $$
(15)

Rest of the GP development process for the estimator is same as that for the detector. Finally, when GP learning process is stopped after convergence criterion is met or maximum no. of generations achieved, the best individual is selected as noise removal estimator E ϕ (v).

4 Implementation details

The proposed INDE-GP approach for the removal of impulse noise is implemented in MATLAB 7.12 environment [26]. GP based detector and estimator are developed using GPTIPS toolbox [21]. Before starting the GP process, GPTIPS requires initialization of few parameters described in Table 3. The simulations were carried out using Intel Core i7 processor with 12GB RAM.

Table 3 Initialization of GP parameters

In order to develop the proposed detector and the estimator, standard grayscale images are used as training image set that include CAMERAMAN, COUPLE and HOUSE images (see Fig. 4). The spatial resolution of each training image is 256 × 256 pixels. These training images are used to generate two training datasets; one for the impulse noise detector S = {(u (n), t (n))} N n = 1 and the other for the noise removal estimator S ' = {(v (k), f (k))} K k = 1 . For training purpose, each image is corrupted with mixed impulse noise to obtain their noisy variants with noise densities of 10 to 50 % in steps of 10 %. Therefore, a total of 15 noisy images are used to generate the training sets.

Fig. 4
figure 4

Set of training images. a CAMERAMAN, b COUPLE, c HOUSE

Figure 5 shows the set of testing images used to evaluate the denoising performance. These are standard images that include AIRPLANE, BOAT, LENA, MANDRILL, PEPPERS, BRIDGE, and ELAINE. The spatial resolution of each testing image is 512 × 512. We corrupted these images with different levels of mixed impulse, uniform impulse and salt & pepper noises. To evaluate our proposed approach for the removal of impulse burst noise, we also corrupted and denoised three aerial images of sizes 256 × 256, 512 × 512 and 1024 × 1024 taken from USC-SIPI image database [32].

Fig. 5
figure 5

Set of testing images. a AIRPLANE, b BOAT, c BRIDGE, d ELAINE, e LENA, f MANDRILL, g PEPPERS

5 Results and discussions

In this section, the denoising performance is evaluated on various standard test images. To evaluate the multi-denoising performance, we have performed four sets of experiments. In the first set of experiments, we evaluated the performance of INDE-GP to remove mixed impulse noise. Next, we tested the denoising performance of our proposed approach when images were corrupted with uniform impulse or salt & pepper noise. In the last set of experiments, we corrupted three aerial images with impulse burst noise and denoised with our proposed approach.

Two performance metrics; Peak Signal to Noise Ratio (PSNR) and Structural Similarity Index Measure (SSIM) are selected to assess the denoising performance of INDE-GP. PSNR measure is an approximation to human perception of restoration quality. It is given by Eq. (16)

$$ PSNR=10\; \log {\;}_{10}\left(\frac{{\left({I}_{\max}\right)}^2}{MSE}\right) $$
(16)

where I max is the maximum intensity value. For 8-bit image, it is 255. MSE is the mean square error. A high PSNR means high reconstruction quality. On the other hand, SSIM [37] is a method for measuring similarity between the structures of two images. Spatially close pixels have strong inter-dependencies and these dependencies provide important information about the structure of the objects in the image. SSIM dynamically ranges between −1 and 1 for each block. The value of 1 is only achieved when the two images have exact identical structures. Eq. (17) is used to measure SSIM between two blocks y 1 and y 2 of size N × N.

$$ SSIM\left({y}_1,{y}_2\right)=\frac{\left(2{\mu}_{y_1}{\mu}_{y_2}+{c}_1\right)\left(2{\sigma}_{y_1{y}_2}+{c}_2\right)}{\left({\mu}_{y_1}^2+{\mu}_{y_2}^2+{c}_1\right)\left({\sigma}_{y_1}^2+{\sigma}_{y_2}^2+{c}_2\right)} $$
(17)

where \( {\mu}_{y_1},\;{\mu}_{y_2} \) denotes the mean of windows y 1 and y 2, respectively. \( {\sigma}_{y_1}^2,{\sigma}_{y_2}^2 \) denotes the variance of y 1 and y 2, respectively. \( {\sigma}_{y_1{y}_2} \) is the covariance of y 1 and y 2. c 1 and c 2 are stabilization variables. Mean Structural Similarity Index Measure (MSSIM) gives the mean value of the structural similarity between the blocks of reference image F and the denoised image \( \widehat{\mathbf{F}} \) of same spatial resolution.

As a result of evolutionary process, the evolved GP expressions for noise detection and estimation stages are given by Eqs. (18 and 19), respectively. Generally, computer generated GP expressions cannot be easily understood by humans [17]. However, these expressions can be easily evaluated by computers when their respective input parameters are provided.

In the following subsections, we report the results obtained by INDE-GP on test images while denoising different variants of impulse noise. We also compared these results with existing relevant noise removal approaches including SMF [6], AMF [8], UINFGP [19], INFGP [18] and ROR-NLM [1].

figure e
figure f

5.1 Removal of mixed impulse noise

In this set of experimentation, we evaluated the denoising performance of our proposed approach for the removal of mixed impulse noise. The standard test images were corrupted with different densities of mixed impulse noise. At first, we corrupted BOAT and BRIDGE images with 10–50 % mixed impulse noise. The BOAT and BRIDGE images contain medium and high-level of image details. The PSNR curve for these images against different noise levels are shown in Fig. 6a and c. It is worthy to note that high PSNR values are achieved by INDE-GP across different noise levels in both images. For BOAT and BRIDGE images, our approach has achieved the maximum PSNR of 31.20 dB and 27.37 dB, respectively at 10 % noise level. At 50 % noise, the maximum PSNR of 26.27 and 23.40 dB is also achieved. Comparison with the curves produced by other existing methods, it is notable that the proposed approach has outperformed the other approaches in terms of PSNR. Similarly, Fig. 6b and d show the plots of MSSIM against different noise levels on BOAT and BRIDGE, respectively. It is obvious from the plots that our approach has achieved better MSSIM values. On BOAT image, our approach has yielded the maximum MSSIM values of 0.9491 and 0.8013 at 10 and 50 % mixed impulse noise, respectively. However, in case of BRIDGE image, the maximum MSSIM values of 0.8892 and 0.7080 are achieved.

Fig. 6
figure 6

Comparative plots for mixed impulse noise removal a PSNR plot for BOAT, b MSSIM plot for BOAT, c PSNR plot for BRIDGE, d MSSIM plot for BRIDGE

To further assess the removal of mixed impulse noise, we have selected five relevant existing approaches of SMF, AMF, UINFGP, INFGP, and ROR-NLM. In Table 4, we report the comparative analysis of our approach with existing approaches against different noise levels for LENA and PEPPERS images. These images contain low and medium levels of image details. It can be observed from Table 4 that results are consistent for these images. In case of these images, the performance of our approach in terms of PSNR is better than other methods. On all noise levels, the MSSIM values of our approach are better than other approaches except at 50 % noise, where ROR-NLM has performed slightly better. In case of LENA, the value of MSSIM by our approach is almost comparable to ROR-NLM. In case of PEPPERS, ROR-NLM is slightly (0.0188) better than our approach. However, the corresponding PSNR by ROR-NLM is much less than our approach. It can be depicted from better PSNR values that the human visual perception of the results by our approach is better than other denoising approaches. Moreover, our approach has preserved well the local structures of the denoised images. We have also performed the comparative analysis for the removal of mixed impulse noise on other testing images that are provided in the supplementary materials as Table 1.

Table 4 Comparative analysis: removal of mixed impulse noise

The visual performance of the proposed approach for the removal of mixed impulse noise for LENA, PEPPERS and MANDRILL images are shown in Fig. 7. Figures 7a, f and k show the original noise-free LENA, PEPPERS and MANDRILL images, respectively. These images were corrupted by mixed impulse noise of 50 % noise density. These corrupted images are shown as Fig. 7b, g and l, respectively. Figure 7e, j and o show the denoised images obtained by our approach. For visual comparison, the denoised images produced by other approaches of UINFGP and ROR-NLM are also given as Fig. 7c, h, m, and d, i, n, respectively. It is clearly seen that the denoising results from our approach are better than UINFGP and ROR-NLM approaches. These restored images by our approach are closer to their respective original images. On the other hand, ROR-NLM is the second best. On visual inspection, we observe that images denoised by our approach have preserved the image details well whereas ROR-NLM has produced smoothed denoised images. This is due to the inherent blurring property of NLM approach.

Fig. 7
figure 7

Visual comparison of mixed impulse noise removal. a LENA, b 50 % Corrupted LENA c UINFGP, d ROR-NLM, e Proposed INDE-GP, f PEPPERS, g 50 % Corrupted PEPPERS, h UINFGP, i ROR-NLM, j Proposed INDE-GP, k MANDRILL, l 50 % Corrupted MANDRILL m UINFGP, n ROR-NLM, o Proposed INDE-GP

5.2 Removal of uniform impulse noise

In this set of experiments, we corrupted the testing images with different levels of uniform impulse noise. Then the denoising performance of our approach is evaluated for BOAT and BRIDGE testing images. Figure 8 shows the average PSNR and MSSIM plots for BOAT and BRIDGE images against different levels of uniform impulse noise. Figure 8a and c show the PSNR plots of our approach and its comparison with other approaches. At 10 % noise for BOAT, our approach has produced the maximum PSNR of 30.98 dB that is 2.97 dB better than ROR-NLM and 0.66 dB better than UINFGP. At 50 % noise, our approach has given the maximum PSNR of 25.49 dB that is 6.17 dB better than UINFGP and 0.75 dB better than ROR-NLM. In case of BRIDGE, for 10 and 50 % noise, our approach has yielded PSNR of 27.34 and 22.64 dB, respectively. For 10 % noise, UINFGP is the second best whereas for 50 % noise, ROR-NLM is the second best. It is inferred that due to higher PSNR values, the visual perception of denoised images by our approach is better than other approaches. From the MSSIM plots for these images as shown in Fig. 8b and d, it is noted that the details in the denoised images by our approach are well-preserved. It is anticipated from these plots that INDE-GP works better on images with medium and high levels of details while removing uniform impulse noise.

Fig. 8
figure 8

Comparative plots for uniform impulse noise. a PSNR plot for BOAT, b MSSIM plot for BOAT, c PSNR plot for BRIDGE, d MSSIM plot for BRIDGE

Table 5 shows the quantitative comparison of our approach with five relevant approaches including SMF, AMF, UINFGP, INFGP, and ROR-NLM for LENA and PEPPERS images. These images are corrupted with different levels of uniform impulse noise. In case of LENA image, our approach has produced better PSNR results for all noise levels except at 50 % noise where ROR-NLM has performed 0.29 dB better than our approach. In case of PEPPERS image, our approach has performed better at higher noise levels. At 10 % noise, our approach has performed 0.49 dB less than INFGP. However, at higher noise levels, INFGP performed very low as compared to INDE-GP. In terms of MSSIM on both LENA and PEPPERS, INDE-GP performed better at lower noise levels upto 30 %. However, at higher noise levels, the performance of INDE-GP is comparable to ROR-NLM. From these results, it can be inferred that our approach gives better denoising when medium level detailed images are corrupted with high density of uniform impulse noise. On images with low level of details, the performance of our approach is comparable to ROR-NLM. Comparative analysis on other testing images is also provided in the supplementary materials as Table 2.

Table 5 Comparative analysis: removal of uniform impulse noise

Figure 9 shows the visual qualitative performance of the proposed approach for the removal of uniform impulse noise on LENA, PEPPERS and MANDRILL images. Figures 9a, f and k show the original noise-free LENA, PEPPERS and MANDRILL images, respectively. Figures 9b, g and l show their respective 50 % uniform impulse noise corrupted versions. The denoised images obtained by our proposed approach are shown in Fig. 9e, j and o. For visual comparison, the denoised images by UINFGP and ROR-NLM are also given as Fig. 9c, h, m, and d, i, n, respectively. It is clearly visible that at 50 % uniform impulse noise, our approach has performed better than UINFGP and ROR-NLM on images with medium (PEPPERS) and high levels of details (MANDRILL). However, in case of LENA (low detailed level) image, our approach has performed comparable to ROR-NLM. Visual inspection reveals that details are well preserved in all the images denoised by our approach. ROR-NLM has produced smoothed denoised images in case of medium and high levels of image details. This smoothness is due to inherent blurring property of NLM.

Fig. 9
figure 9

Visual comparison of uniform impulse noise removal. a LENA, b 50 % Corrupted LENA c UINFGP, d ROR-NLM, e Proposed INDE-GP, f PEPPERS, g 50 % Corrupted PEPPERS, h UINFGP, i ROR-NLM, j Proposed INDE-GP, k MANDRILL, l 50 % Corrupted MANDRILL m UINFGP, n ROR-NLM, o Proposed INDE-GP

5.3 Removal of salt and pepper noise

In this set of experiments, we corrupted the testing images with different levels of salt & peppers noise. The performance of our approach is assessed to remove salt & pepper noise in terms of PSNR and MSSIM. Figure 10a and c show the PSNR plots of our approach against different noise levels of BOAT and BRIDGE images, respectively. These plots show that our approach has performed better than other noise removal approaches. When both these images were corrupted with 10 % salt & pepper noise, the proposed approach has produced the best PSNR of 31.09 and 27.42 dB for BOAT and BRIDGE, respectively. At 50 % noise level, our approach has yielded the PSNR of 25.87 and 22.92 dB for these images. The plots of MSSIM for BOAT and BRIDGE are shown in Fig. 10b and d, respectively. These plots show that against different noise levels our approach has performed better than other approaches. It is inferred that our approach has performed better on medium and high detailed images.

Fig. 10
figure 10

Comparative plots for salt & pepper noise. a PSNR plot for BOAT, b MSSIM plot for BOAT, c PSNR plot for BRIDGE, d MSSIM plot for BRIDGE

The quantitative comparison of our approach with five other approaches is presented in Table 6. We corrupted these LENA and PEPPERS images with different levels of salt & pepper noise. In case of LENA image, our approach has produced better results in terms of PSNR for all noise levels. The maximum PSNR of 37.25 dB is achieved by our approach at 10 % noise level. At 50 % noise, our approach has produced the best PSNR of 28.38 dB that is 1.1 dB better than ROR-NLM and 0.31 dB better than AMF. In case of PEPPERS image, at 10 and 50 % noise, our approach has yielded 36.92 dB and 28.09 dB, respectively that is better than other approaches. In terms of MSSIM for LENA and PEPPERS, our approach performed better up to noise levels of 40 %. At 50 % noise, the performance of INDE-GP is comparable to ROR-NLM. From these results, it is inferred that our approach has performed better in denoising of salt & pepper noise from images with low and medium levels of details. We have also performed the comparative analysis for the removal of salt & pepper noise on other testing images that are provided in the supplementary materials as Table 3.

Table 6 Comparative analysis: removal of salt & pepper noise

The qualitative comparison of our approach with UINFGP and ROR-NLM for the removal of salt & pepper noise is shown in Fig. 11. Figures 11a, f and k show the original noise-free LENA, PEPPERS and MANDRILL images. These images were corrupted by 50 % salt & pepper noise as shown in Fig. 11b, g and l, respectively. Figure 11e, j, and o show the images denoised by our proposed approach. The corresponding images denoised by ROR-NLM and UINFGP are shown in Fig. 11c, h, m and Fig. 11d, i, n, respectively. Visual inspection shows that the results from our approach are better than UINFGP and ROR-NLM for these images and closer to their respective original images. From PSNR values and visual observation, it can be depicted that the images denoised by our approach has better human visual perception than other methods. Moreover, the local structures in the denoised images by our approach are well-preserved.

Fig. 11
figure 11

Visual comparison of salt & pepper noise removal. a LENA, b 50 % Corrupted LENA c UINFGP, d ROR-NLM, e Proposed INDE-GP, f PEPPERS, g 50 % Corrupted PEPPERS, h UINFGP, i ROR-NLM, j Proposed INDE-GP, k MANDRILL, l 50 % Corrupted MANDRILL m UINFGP, n ROR-NLM, o Proposed INDE-GP

5.4 Removal of impulse burst noise

In this last set of experiments, we evaluated the performance of our proposed approach to remove impulse burst noise. For this purpose, we obtained three aerial images from USC-SIPI image database [32] are shown as left column in Fig. 12. These aerial images are of size L × L where L = 256, 512, 1024. These three images were corrupted with impulse burst noise and are shown in the middle column of Fig. 12. The right most columns in Fig. 12 show images denoised by our proposed approach to remove impulse burst noise. It is clear from the figure that the denoised images are visually very close to the original images which is in agreement with the obtained PSNR values of 27.96, 30.74 and 31.30 dB on Aerial Image I, II and III, respectively. The results show the effectiveness of our proposed approach for the removal of impulse burst noise from aerial images. Due to exploitation of discriminant features for GP detector and statistics of noise-free pixels for GP estimator, our proposed approach removed impulse burst noise successfully. This also highlights the generalization capability of our approach to suppress different types of impulse noise.

Fig. 12
figure 12

Impulse burst noise removal of aerial images by the proposed INDE-GP approach

We have also performed the comparison of average computational time of INDE-GP with ROR-NLM as shown in Fig. 13. The average computational time is reported for seven testing images against different levels of noise. It is observed that with the increase in noise density, the computational time is also increased. However, our proposed approach takes comparatively less computational time than ROR-NLM. We computed that our approach has taken 4.67 s less than ROR-NLM to denoise an image corrupted with 10 % noise. However, at 50 % high noise density, the proposed approach consumed 13.05 s less than ROR-NLM.

Fig. 13
figure 13

Average computational time comparison of INDE-GP with ROR-NLM

6 Conclusion

In this paper, we proposed an effective GP based multi-denoising approach, INDE-GP, for the removal of different types of impulse noise from images. The proposed approach consists of noise detection and noise removal stages. Noise detection stage has exploited the extraction of rank-ordered and robust statistical features from noisy image. These features are employed by the proposed GP impulse noise detector to locate corrupted pixels. In noise removal stage, the proposed GP estimator has exploited the extraction of statistical measures mean, median, standard deviation of noise-free pixels present in the neighborhood of noisy pixel and approximates the pixel value.

The proposed approach has been tested on a variety of standard test images corrupted with impulse noise of different types. The results reveal that the proposed approach has effectively reduced different types of impulse noise. The improved quantitative results of our approach in terms of PSNR and MSSIM measures are reported. In this study, by effectively exploiting statistical features through GP optimization technique, we successfully achieved the multi-denoising objective. It can be concluded that our proposed INDE-GP approach can be applied to enhance the performance of various applications e.g., content based image retrieval and object recognition.