Introduction

The bio-inspired learning approaches are gaining importance in a variety of applications [1, 2]. Due to their natural representation, effective computational models are developed to address real-life problems. These biologically inspired approaches work better where traditional computing approaches lack in developing effective models for practical applications. A similar challenging problem is the denoising of mixed impulse noise from biomedical images without deteriorating the visual image quality. The demand of high-quality microscopic and biomedical images is increasing in the field of biomedicine for disease diagnosis and understanding biological processes [3]. For example, microscopic images play a very important role in understanding the behavior of various microorganisms such as germination of fungal spores for rust detection in wheat plants [4]. These images help in the investigation to cure from different diseases. Wheat rust causes a significant reduction in the overall production of wheat every year. The adverse effect of this disease and to find its cure can be studied through an imaging application based on microscopy.

In various biomedical imaging applications, the quality of images is degraded due to the occurrence of mixed impulse noise during its acquisition, transmission and storage [6]. Mixed impulse noise is substitutive in nature, as given in Eq. (1). When mixed impulse noise corrupts a biomedical image, the actual value at random pixel f(xy) is replaced by either salt and pepper η 1(x, y) ∊ {L min, L max} or the uniform impulse noise η 2(x, y) ∊ [L min, L max], where L min = 0 and L max = 255 show the lowest and highest possible intensity values, respectively. However, there are few pixels in the degraded biomedical image d(x, y) that are not affected by the impulse noise.

$$d\left( {x,y} \right) = \left\{ {\begin{array}{*{20}l} {\eta_{1} \left( {x,y} \right)} \hfill & {{\text{with}}\,{\text{probability}}\,p/2} \hfill \\ {\eta_{2} \left( {x,y} \right)} \hfill & {{\text{with}}\,{\text{probability}}\,p/2} \hfill \\ {f\left( {x,y} \right)} \hfill & {{\text{with}}\,{\text{probability}}\,(1 - p)} \hfill \\ \end{array} } \right.$$
(1)

It is vital to denoise the corrupted biomedical images before edge detection, segmentation and analysis. This inherent impulse noise affects the performance of the biomedical imaging applications. In this paper, we propose a novel bio-inspired parallel-framework based multi-gene genetic programming (MGGP) approach. To the best of our knowledge, MGGP-based bio-inspired approach has not been employed for the removal of mixed impulse noise from biomedical images.

The proposed approach exploits the concept of representing individuals as an ensemble of multiple genes that process in parallel. The MGGP-based evolutionary process eliminates the individuals, which contains weak genes. Only those individuals would survive, which have the fittest genes in ensemble. To denoise biomedical images, MGGP approach is capable of generating multiple genes, which provides a parallel framework for noise detection and removal. The proposed approach consists of the noise detection and removal stages. The noise detection is based on the parallel framework of multiple genes in which each gene behaves as a noise detector that discriminates pixels as noisy or noise-free. Each detector uses the rank-ordered and robust statistics features that represent impulsive behavior to decide, and the decisions of all the detectors are combined using majority voting scheme to generate noise map. The noise removal stage is also based on the MGGP estimator to denoise the noisy pixel. The estimator function efficiently removes the noise from the detected noisy pixels using statistical features of noise-free pixels in their neighborhood.

The improved performance of the proposed approach is demonstrated using various types of biomedical images and real microscopic images of the wheat rust fungal spores. The denoising performance is evaluated in terms of peak signal-to-noise ratio and Structural Similarity Index Measures. The visual results demonstrated that the proposed approach has effectively preserved the fine details in the denoised images corrupted with high-density noise. The comparative results highlighted the effectiveness of the bio-inspired parallel-framework based approach over the other benchmark noise removal approaches.

The organization of this paper is as follows: Section ‘Related Work’ describes the related work. A brief description of MGGP and its working are given in section ‘Bio-inspired MGGP Approach.’ The proposed bio-inspired mixed impulse denoising approach is explained in section ‘Proposed Bio-inspired Parallel Framework Approach.’ Results are discussed in section ‘Results and Discussions’ and concluding remarks are given in section ‘Conclusion.’

Related Work

In the literature, several conventional and biologically inspired denoising approaches are developed to restore biomedical images corrupted with impulse noise. It is an active research area in the field of biomedical image processing. The performance of noise removal approach is based on the nature of the problem domain and the type of noise present in image. Every approach possesses its own merits and limitations. The conventional impulse noise removal approaches process the whole image. These approaches are based on the standard median filter (SMF) [5], adaptive median filters (AMF) [6] and their variants. These filters were easy to implement, but they have limited performance due to removal of the fine details in the image. Later on, an impulse noise detection mechanism was introduced to preserve the details in the image. These detectors first detect noisy pixels by using some threshold and then apply filtration techniques to restore them. Some of the interesting approaches include switching median filters [7, 8], pixel-wise median absolute deviation filter [9], directional weighted median filter [10], the rank-ordered logarithmic difference edge-preserving regularization filter [11] and robust outlyingness ratio-based nonlocal means method (ROR-NLM) [12].

Due to effective learning capability of bio-inspired evolutionary approaches, previously researchers have developed various serial-framework based biologically inspired GP models for impulse noise removal from general images. These serial-framework based approaches include universal impulse noise filtering (UINFGP) [13], impulse noise filtering (INFGP) [14] and impulse noise detection and estimation (INDE-GP) [15]. Petrovic et al. [13] developed the impulse noise detection mechanism that works serially in two stages. Each detection stage consists of a GP-based developed expression. In these detection stages, same features are extracted from the noisy image to classify pixels as noisy or noise-free. In this approach, the noise removal stage employed the center-weighted median filter and alpha-trimmed mean filter. Majid et al. [14] employed the switching median filtering-based detection mechanism by selecting minimum absolute value of convolution kernels. In this work, the convolution values were obtained using 1D Laplacian operators. Their detection mechanism uses the image-dependent threshold values, which limits the detection performance. Then, a serial GP-based estimator has been developed for the noise removal stage. In previous work, we developed a GP-based serial framework “INDE-GP” for impulse detection and estimation to remove noise from general images [15]. In biomedical images, the preservation of fine details of the subject is very important because the occurrence of noise may cause significant loss of the information and may affect biological investigations. Keeping in view this, we have developed a specialized denoising approach for biomedical images. In the current work, we proposed a biologically inspired parallel-framework based multi-gene genetic programming approach (MGGP) for denoising biomedical images to keep their subject’s fine details well preserved. The main advantage of the proposed bio-inspired parallel-framework based approach is that, during evolution, it develops multiple noise detectors and estimators simultaneously to give improved denoising performance over existing serial-framework based approaches. In the next section, we explain in detail the biologically inspired MGGP approach.

Bio-inspired MGGP Approach

The MGGP is a biologically inspired evolutionary learning approach, which is an advanced version of the conventional GP. In simple GP, each individual is represented as a single expression composed of randomly evolved terminal and function sets [16, 17]. This gives a serial framework to develop a model or approximate the target function. In nature, species are composed of a number of genes, and during mating, they transfer their genes to new generation. Inspired by biological phenomenon, each individual in MGGP is represented as a combination of multiple genes that gives more realistic representation of an individual. Each gene is represented as a tree structure that is composed of random subsets of terminals and function sets.

MGGP technique is based on the principles of natural selection and recombination under defined fitness criterion [18]. It is a powerful bio-inspired approach, which searches for possible solutions in the defined problem space. To define the problem space, we first need to select the feature vector u = [u 1, u 2,…,u N ] and the corresponding target value t. The feature vector u and randomly generated constants comprise the terminal set for MGGP. The next step is to specify the primitive operations as function sets such as {plus, minus, times, divide, log, sin, cos, tanh, exp, power, min, max}. The selection of primitive operations is problem dependent. During MGGP evolutionary process, first, initial population of individuals are constructed, i.e., I GP(u), where u ∈ ℜN, ℜN is N-dimensional real vector. The individuals or candidate solutions are composed of multiple tree structures or genes. The fitness scores of individual candidates are evaluated against the selected fitness criterion. The fitness score demonstrates how well MGGP individual moves toward the optimal solution. The success of evolutionary approach depends upon the accurate design of the fitness function. The newly created population is developed by applying crossover and mutation operators. The simulation is stopped when the termination criterion is satisfied. Finally, the best individual in the population, i.e., I GP(u) → g, is chosen. In general, the MGGP representation is established on the evaluation of multiple genes as tree expressions, i.e., g = [g 1, g 2,…,g m ]. Adaptable tree representation automatically discovers the underlying useful pattern within data. Each gene of the best individual contains a subset of the terminal comprising the useful feature vector and random constants generated with uniform distribution. The most informative values of parameters and variables are chosen.

The estimation models developed by MGGP are based on parallel framework of multiple genes. The aim of estimation models is to find a mapping function that transforms the input parameter g = [g 1, g 2,…,g m ] into target t by minimizing the error between the predicted \(\hat{f}\) and actual target value t [18]. For m input genes, the estimated output \(\hat{f}\) of the model is the weighted sum of the outputs of parallel genes, which is given as:

$$\hat{f} = z_{0} + z_{1} g_{1} + \cdots + z_{m} g_{m}$$
(2)

where z 0 is the bias term and z 1z 2, …, z m are the weights of genes. The gene weights are the regression coefficients for each gene of an individual, and they are computed by least squares method.

Figure 1 depicts a typical representation of an individual and the corresponding estimation model developed by MGGP. The individual consists of four parallel genes g = [g 1, g 2, g 3, g 4]. Each gene is a tree structure comprising subsets of the terminal and function sets. The terminal set consists of input feature vector u = [u 1, u 2, u 3, u 4] and random constants indicated by squares in the tree structure. The function set {×, −, +, sin, cod, max, min, sqrt} is indicated in circles/ellipses. Figure 1 also shows the estimation model based on weighted sum of these parallel genes. The parameters z 1, z 2, z 3, z 4 are the regression coefficients (weights) for each gene, and z 0 is the bias term. The evolved estimation model is a linear combination of nonlinear transformations of the predictor variables.

Fig. 1
figure 1

A typical representation of model evolved in the MGGP process

The MGGP-based classification model assigns a specific class to an input feature vector u. While classification-based modeling, the aim is to find the best individual comprising multiple genes that transforms the given input u into finite distinct target class by maximizing the class prediction accuracy. The number of distinct classes depends on the nature of the problem. This classification modeling provides a parallel framework in which each gene of the best individual works as a classifier itself. The output of each gene is processed to result in a discrete number by rounding to the nearest integer using the following function, i.e.,

$$\left( {N_{\text{c}} - 1} \right)\left( {\frac{1}{{1 + \exp ( - g_{i} )}}} \right);\quad i = 1 \ldots g_{m}$$
(3)

where N c denotes the number of distinct classes, g i is the output of the ith gene, and g m represents the maximum number of genes representing an individual in the population. For two-class problem N c = 2, each gene becomes a binary classifier. The output of an individual is obtained by applying the majority voting (MV) rule to the outputs of each gene, i.e., \(\hat{b} = {\text{MV}}({\mathbf{g}})\).

In this work, we exploited the parallel framework of MGGP-based classification model in our proposed impulse noise removal method to develop impulse noise detectors. We also exploited the estimation capability to develop MGGP-based estimators to remove noise from the corrupted images. The next section explains how our proposed approach exploited biologically inspired MGGP to denoise mixed impulse noise from biomedical images.

Proposed Bio-inspired Parallel Framework Approach

Figure 2 shows the basic block diagram of the proposed bio-inspired parallel-framework based MGGP approach for denoising biomedical images. Figure 2a demonstrates robust statistical feature extraction and development of MGGP classification model for mixed impulse noise detection and binary noise map generation. Figure 2b reveals statistical feature extraction and the development of MGGP-based estimator for noise removal. The given corrupted image D is compared with binary noise map \({\hat{\mathbf{B}}}\) generated in Fig. 2a to detect noise-free and noisy pixels. In case the detected pixel is noisy, it is supplied to estimator of Fig. 2b for removal of noise. Noise-free pixel directly goes to the denoised image \({\hat{\mathbf{F}}}\).

Fig. 2
figure 2

Basic block diagram of the proposed MGGP-based bio-inspired parallel framework: a stage-I represents the impulse noise detection and b stage-II indicates estimator for noise removal

Noise Detection Stage

The main objective of the noise detection stage is to determine the locations of corrupted pixels in the noisy image. This stage generates a binary noise map B ∈ {0, 1}, where ‘1’ indicates a noisy pixel and ‘0’ as noise-free pixel, with same resolution as the noisy image D. The first step in this stage is the extraction of features (information) suitable for the discrimination of pixels in the noisy image. These features must be the good representative of impulsive behavior in the image. Therefore, we have selected the most effective rank-ordered and robust statistical features [11, 12, 19, 20] and combined them in the parallel framework of biologically inspired multi-gene classification model to develop the impulse noise detection stage.

An important characteristic of impulse noise is its substitutive nature. When a pixel in an image is corrupted by impulse noise, its value is completely replaced by the noise. This substitution makes it different from its neighborhood. Therefore, impulse noise is considered as an outlier highly deviated from the normal trend in the neighborhood. To detect outliers, robust statistical measures such as absolute deviation from median, median of absolute deviation from median etc. can give useful information [20]. Rank-ordered statistics is another category of statistical measures, which can better represent the impulsive behavior. An example of such statistics is rank-ordered absolute difference [19].

These statistical features can give relevant information regarding the discrimination of pixels as noisy or noise-free. To address the issue regarding extraction of information from noisy images to discriminate pixels, these statistical features are extracted from noisy images. These statistical measures were used in earlier impulse noise detection methods but in isolated mode along with thresholding methods. To the best of our knowledge, combining rank-ordered and robust statistical measures under bio-inspired parallel framework of multiple genes for impulse noise detectors development with improved detection performance has not been reported yet. Given the noisy image d(x, y), we extract these statistical features for each pixel by scanning from left to right and top to bottom. For every pixel in the image, a feature vector comprising these statistical measures is computed. The computation of eight features [u 1, u 2, u 3, u 4, u 5, u 6, u 7, u 8] of a feature vector u is explained below.

Rank-Ordered Absolute Difference (ROAD) Statistics (u 1):

The feature u 1 represents the statistics of a pixel in a 3 × 3 neighborhood W 3 [19]. The absolute difference between the surrounding pixels and the centered pixel is L = |W 3  − d(x, y)|. To compute the ROAD for the current centered pixel, L is sorted in ascending order as l s, and then, its first four important elements are summed as follows:

$$u_{1} = \sum\limits_{i = 1}^{4} {{\mathbf{l}}_{\text{s}} } (i)$$
(4)

The high value of ROAD statistics corresponds to an impulse noise, whereas its low value corresponds to noise-free pixels.

Rank-Ordered Logarithmic Difference (ROLD) Statistics (u 2):

In case of uniform impulse noise, there might be the case where absolute difference between surrounding pixels and the center pixel is not very significant. Therefore, another rank-ordered statistical measure ROLD is suggested that is similar to ROAD, but instead of absolute difference, log of the difference is computed [11]. The feature u 2 represents the ROLD of a current pixel in a 3 × 3 neighborhood W 3 . The logarithmic difference between the surrounding pixels and the centered pixel is K = (log|W 3  − d(x, y)|). To compute ROLD for the current centered pixel, K is sorted in ascending order (called \({\mathbf{k}}_{\text{s}}\)) and u 2 is formed by summing only first four prominent elements as:

$$u_{2} = \sum\limits_{i = 1}^{4} {{\mathbf{k}}_{\text{s}} \left( i \right)}$$
(5)

ROLD also gives better statistics of impulsive behavior where the absolute difference between pixels and their neighbors is small, but the pixel is still noisy. High value corresponds to an impulsive behavior, whereas its low value corresponds to noise-free pixels.

Robust Outlyingness Ratio (ROR) Feature (u 3):

Robust outlyingness ratio features are the ratio of distance of the current pixel from its median to the normalized median of absolute deviation from the median MADN in the 5 × 5 neighborhood W 5 of the current centered pixel d(x, y) [12]. The u 3 feature is computed as:

$$u_{3} = \frac{{\left[ {d\left( {x,y} \right) - {\text{med}}({\mathbf{W}}_{5} )} \right]}}{{{\text{MADN}}({\mathbf{W}}_{5} )}}$$
(6)

where med(·) represents the median value of the window. This measure gives the likelihood of a pixel to be an impulse noise. A large value of ROR means it is more likely that the given pixel is corrupted with impulse noise.

Similarly, in the 5 × 5 neighborhood W 5 , normalized median of absolute deviation (MADN) and median of absolute deviation (MAD) features, u 4 and u 5, respectively, are computed as:

$$u_{4} = \frac{{{\text{MAD}}({\mathbf{W}}_{5} )}}{0.6745}$$
(7)
$$u_{5} = {\text{med}}\left( {\left| {d\left( {x,y} \right) - {\text{med}}({\mathbf{W}}_{5} )} \right|} \right)$$
(8)

whereas absolute deviation in 5 × 5 window, median of absolute deviation from the median and absolute deviation in 3 × 3 window are represented by u 6, u 7 and u 8, respectively. These features are computed as:

$$u_{6} = \left( {\left| {d\left( {x,y} \right) - {\text{med}}({\mathbf{W}}_{5} )} \right|} \right)$$
(9)
$$u_{7} = {\text{med}}\left( {\left| {d\left( {x,y} \right) - {\text{med}}({\mathbf{W}}_{3} )} \right|} \right)$$
(10)
$$u_{8} = \left( {\left| {d\left( {x,y} \right) - {\text{med}}({\mathbf{W}}_{3} )} \right|} \right)$$
(11)

Absolute deviations give useful information about a pixel whether it is corrupted by impulse noise or not. 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, which is able to correctly estimate the local image variance in the presence of impulse noise and preserves fine details in the image [9, 20, 21].

Each image is corrupted with mixed impulse noise model against various noise densities, and actual binary noise maps T are generated. Corresponding to each image pixel, eight-dimensional feature vectors u = [u 1, u 2,…,u 8] are formed and the training dataset \(S_{\text{u}}^{\text{trn}} = \left\{ {\left( {{\mathbf{u}}^{(n)} ,t_{\text{b}}^{(n)} } \right)} \right\}_{n = 1}^{{N^{\text{trn}} }}\) and testing dataset \(S_{\text{u}}^{\text{tst}} = \left\{ {\left( {{\mathbf{u}}^{(n)} ,t_{\text{b}}^{(n)} } \right)} \right\}_{n = 1}^{{N^{\text{tst}} }}\) are constructed, where N trn and N tst represent the total number of training and testing samples, respectively. Each feature vector u and its target t (n)b are taken from the ground truth noise map T. The S trnu dataset is used to develop parallel framework of MGGP detector in classification model, and testing dataset S tstu is used for the performance evaluation.

For the MGGP evolutionary process, the terminal set is defined as the eight elements of the feature vector u along with few randomly selected constants from the uniform distribution. These constants help in the application of mutation operator. The function set is also defined as given in Table 1. It consists of set of operators and functions applied on the elements of the terminal set. For a nonlinear problem, the members of the function set must be representative of nonlinear behavior. The selection of the fitness function is the next important step. This function represents the nature of the problem. For the development of our impulse noise detector, we aim to maximize the detection (classification) accuracy f Acc of the detector. Therefore, it is used as fitness criterion and computed as:

$$f_{\text{Acc}} = \frac{{T_{\text{P}} + T_{\text{N}} }}{{T_{\text{m}} }}$$
(12)

where T P represents the number of positive examples correctly classified, T N represents the number of negative examples correctly classified and T m represents the total number of samples. The dynamic range of f Acc is between ‘0’ and ‘1’. If f Acc = 0, it means that all the samples are misclassified. If f Acc = 1, it means that all the samples are correctly classified, which is an ideal situation.

Table 1 Function set for mixed impulse noise detection and removal stages

We selected two termination criteria of either maximum accuracy or the maximum number of generations is reached. If the termination criterion is not satisfied, the individuals with fittest genes are selected from the current population to apply genetic operators. Then, genetic operators like crossover and mutation are applied to produce new offspring, and the cycle continues generation-wise. Once the evolutionary process is stopped, the best individual \(I_{\text{GP}}^{{{\text{d}}t}} ({\mathbf{u}}) \to {\mathbf{g}}^{{{\text{d}}t}}\) with maximum fitness is selected as impulse noise detection model. This individual consists of multiple genes which provide a parallel framework of impulse noise detectors because each gene is a detector as well. To classify a pixel as noisy or noise-free, the binary output of each gene is combined by applying the majority voting rule to get the output of an individual I dtGP . The advantage of this MGGP-based detection is that the best multi-gene individual provides a parallel framework for the multiple detectors to work in a single detection stage instead of multiple detectors (individuals) in multiple stages as in [13].

In MGGP evolutionary process, each gene of an individual is evaluated against f Acc, to maximize accuracy. The majority voting strategy combines the output of each gene to give binary output. According to this strategy, the output of the individual is assigned to that class, which has an agreement with the output of the majority genes to generate a binary noise map \({\hat{\mathbf{B}}}\). In the development of best MGGP detection model, several setting parameters are required. These parameters are selected by making various initial runs and observing the performance for optimal models. Table 2 provides summary of the best parameters settings (initialization of control parameters) to get the best mixed impulse noise detectors.

Table 2 MGGP parameters settings for mixed impulse noise detection and removal stages

At the end of MGGP evolutionary process, the best detection model consists of four genes \({\mathbf{g}}^{{{\text{d}}t}} = [g_{1}^{{{\text{d}}t}} ,g_{2}^{{{\text{d}}t}} ,g_{3}^{{{\text{d}}t}} ,g_{4}^{{{\text{d}}t}} ]\). The developed expressions of each gene are given in Eqs. (13)–(16). Each gene is composed of the set and/or subsets of the terminal and function sets. The outputs of these genes are combined by applying the majority voting (MV) \(\hat{b} = {\text{MV}}\left( {g_{1}^{{{\text{d}}t}} ,g_{2}^{{{\text{d}}t}} ,g_{3}^{{{\text{d}}t}} ,g_{4}^{{{\text{d}}t}} } \right)\), where \(\hat{b} \in {\hat{\mathbf{B}}}\) is used to classify the pixel as noisy or noise-free. Once all the pixels in the degraded image D are classified, a binary noise map \({\hat{\mathbf{B}}}\) is generated for the next noise removal stage. To determine detection accuracy, we compared noise map \({\hat{\mathbf{B}}}\) with the actual noise map T. Equations (13)–(16) represent the gene expression developed at the end of GP simulation, which highlights the structure of the developed genes in prefix form. Generally, these empirical expressions may not be easily understood by human beings; however, these machine executable codes can be easily computed by giving the values of the input features.

$$g_{1}^{{{\text{d}}t}} = minus\left( {u_{1} ,minus\left( {u_{4} ,\left[ { - 0.295391} \right]} \right)} \right)$$
(13)
$$g_{2}^{{{\text{d}}t}} = sin\left( {iflte\left( \begin{aligned} & iflte\left( {u_{4} ,u_{4} ,\left[ {6.795888} \right],u_{5} } \right), \\ & pdivide\left( {\exp \left( {\exp \left( {u_{4} } \right)} \right),u_{4} } \right), \\ & psqroot\left( {plus\left( \begin{aligned} & psqroot\left( {u_{6} } \right), \hfill \\ & square\left( {u_{1} } \right) \hfill \\ \end{aligned} \right)} \right), \\ & exp\left( {pdivide\left( \begin{aligned} & minus\left( {u_{3} ,u_{3} } \right), \hfill \\ & iflte\left( {u_{2} ,u_{1} ,\left[ { - 7.595979} \right],\left[ {1.441850} \right]} \right) \hfill \\ \end{aligned} \right)} \right) \\ \end{aligned} \right)} \right)$$
(14)
$$g_{3}^{{{\text{d}}t}} = plus\left( {cos\left( {iflte\left( {u_{5} ,u_{6} ,\left[ {6.795888} \right],psqroot\left( {sin\left( {cos\left( {u_{7} } \right)} \right)} \right)} \right)} \right),u_{6} } \right)$$
(15)
$$g_{4}^{{{\text{d}}t}} = plus\left( \begin{aligned} & plus\left( {\left[ { - 0.295391} \right],plus\left( {cos\left( {cos\left( {u_{6} } \right)} \right),u_{6} } \right)} \right), \\ & plus\left( {cos\left( {cos\left( {u_{6} } \right)} \right),u_{6} } \right) \\ \end{aligned} \right)$$
(16)

Noise Removal Stage

The main objective of noise removal stage is the removal of corrupted pixels to get the denoised image. In stage-I, we developed MGGP-based noise detection function for the generation of binary noise map. Now, we compare the noisy image \({\mathbf{D}}\) with generated binary noise map \({\hat{\mathbf{B}}}\) to classify noisy and noise-free pixels. If the detected pixel is noisy pixel, then it is fed to noise estimator stage-II for removal of noise, as shown in Fig. 2b. Noise-free pixels directly go to the denoised image \({\hat{\mathbf{F}}}\). The proposed estimator restores the corrupted pixels with a suitable estimated value.

In this stage, we proposed a novel biologically inspired MGGP-based estimation model for the removal of mixed impulse noise. The proposed estimator is a function of noise-free pixels statistics in local neighborhood of a detected noisy pixel. We adopted the most commonly used statistical features of mean, median and standard deviation of noise-free pixels in the neighborhood of a detected noisy pixel. The output of estimator represents the restored intensity value of the pixel in the range 0–255 for 8-bit image. The noise-free pixels in the noisy image are left unchanged. For noisy pixel, to form a feature vector v = [v 1, v 2,…,v 6], the statistical features from the noisy image are extracted using local neighborhood of sizes 3 × 3 and 5 × 5. The values of v 1, v 2 and v 3 representing the mean, median and standard deviation of noise-free pixels are computed in 5 × 5 windows. However, in a 3 × 3 window, the features v 4, v 5 and v 6 are computed to represent the values of mean, median and standard deviation of noise-free pixels.

Similar to detection stage, for the development of the proposed estimator, we have training and testing phases. The training dataset is prepared by first locating the noisy pixels in D from T and calculating the vector v for all noisy pixels. The six components of v are used as the terminal set. The corresponding pixels in the original image F form the desired target value for the training phase. In this way, the impulse noise estimator is developed on training dataset of M samples, \(S_{\text{v}}^{\text{trn}} = \left\{ {\left( {v^{(m)} ,t_{\text{f}}^{(m)} } \right)} \right\}_{m = 1}^{{M^{\text{trn}} }}\), where v (m) represents the mth feature vector correspond to target \(t_{\text{f}}^{(m)} \in {\mathbf{F}}\), and its performance is assessed using testing dataset \(S_{\text{v}}^{\text{tst}} = \left\{ {\left( {v^{(m)} ,t_{\text{f}}^{(m)} } \right)} \right\}_{m = 1}^{{M^{{_{\text{tst}} }} }}\). Here, M trn and M tst represent the total number of training and testing samples, respectively. We have used MGGP estimation model for the removal of noisy pixels. We choose root-mean-squared error (RMSE) as fitness function, and its value is computed as:

$$f_{\text{RMSE}} = \sqrt {\frac{{\sum {\left( {t_{\text{f}} - \hat{f}} \right)^{2} } }}{M}}$$
(17)

where \(\hat{f}\) is the estimated pixel value and t f is the target pixel value.

For the evolutionary process of the proposed estimator, the function set and the control parameters of MGGP are given in Tables 1 and 2, respectively. Note that these parameters are different than those used for noise detector. At the end of MGGP process, the best numerical function (individual) with fittest genes, represented \(I_{\text{GP}}^{\text{es}} ({\mathbf{v}}) \to {\mathbf{g}}^{\text{es}}\), in the population is developed and selected as estimator for noise removal stage. For removal stage, the individuals with best genes are developed using v 1, v 2, v 3, v 4, v 5 and v 6 features. These function genes in the prefix form are given as follows:

$$\begin{aligned} g_{1}^{\text{es}} & = (times(v_{6} ,(tanh(v_{4} ))) \\ g_{2}^{\text{es}} & = (times(v_{1} ,(square(tanh(\tanh (psqroot(tanh(v_{3} )))))))) \\ g_{3}^{\text{es}} & = (times(v_{6} ,(tanh(v_{2 \, } + psqroot(tanh(v_{3} )))))) \\ g_{4}^{\text{es}} & = (times(psqroot(times(v_{6} ,tanh(v_{4} )),(v_{1} - v_{2} ))) \\ g_{5}^{\text{es}} & = (tanh(psqroot(\tanh (\tanh (psqroot(tanh(v_{2} ))))))) \\ g_{6}^{\text{es}} & = v_{6} ,\quad g_{7}^{\text{es}} = v_{3} ,\quad g_{8}^{\text{es}} = v_{2} ,\quad g_{9}^{\text{es}} = v_{1} \\ \end{aligned}$$
(18)

It is interesting to note that v 5 is not present in the gene structures of the estimator. It is because of the evolutionary learning process of MGGP which is based on the principle of natural selection, i.e., only those individuals in the population will survive which are fittest and have fittest genes. The best estimator for noise removal, in the form of above mentioned best nine genes, for mixed impulse noise is given below.

$$\begin{aligned} \hat{f} & = 61.75 - 0.5395g_{1}^{\text{es}} - 2.522g_{2}^{\text{es}} + 0.3997g_{3}^{\text{es}} - 0.1096g_{4}^{\text{es}} - 93.04g_{5}^{\text{es}} \\ & \quad + 0.2074g_{6}^{\text{es}} + 0.3997g_{7}^{\text{es}} + 0.5456g_{8}^{\text{es}} + 1.091g_{9}^{\text{es}} \\ \end{aligned}$$
(19)

Performance Metrics

The denoising capability of the proposed approach is assessed in terms of peak signal-to-noise ratio (PSNR) [22] and Structural Similarity Index Measure (SSIM) [23]. These metrics represent the quality of the denoised image with reference to the original noise-free image. PSNR represents the quality of the denoised image as an approximation to human perception. A high PSNR value represents high-quality image, which is computed as:

$$\begin{aligned} {\text{PSNR}} & = 10\log_{10} \left( {\frac{{L^{2} }}{\text{MSE}}} \right) \\ {\text{MSE}} & = \frac{1}{mn}\sum\limits_{x = 0}^{m - 1} {\sum\limits_{y = 0}^{n - 1} {\left[ {f(x,y) - \hat{f}(x,y)} \right]} }^{2} \\ \end{aligned}$$
(20)

where L is the peak value in the F, of spatial resolution m × n. f(x, y) ∈ F and \(\hat{f}(x,y) \in {\hat{\mathbf{F}}}\) represent the pixel of original and denoised images, respectively. MSE indicates the mean squared error between the original and denoised images.

PSNR is a global quality measure. It does not measure the similarity of the local structures between the original image and the denoised image. For this purpose, SSIM is employed to assess the denoising performance, which is computed between the blocks of F and \({\hat{\mathbf{F}}}\) as:

$${\text{SSIM}}(fb,\hat{f}b) = \frac{{\left( {2\mu_{fb} \mu_{{\hat{f}b}} + k_{1} } \right)\left( {2\sigma_{{fb\hat{f}b}} + k_{2} } \right)}}{{\left( {\mu_{fb}^{2} + \mu_{{\hat{f}b}}^{2} + k_{1} } \right)\left( {\sigma_{fb}^{2} + \sigma_{{\hat{f}b}}^{2} + k_{2} } \right)}}$$
(21)

where \(\mu_{fb} ,\mu_{{\hat{f}b}}\) represents the mean and \(\sigma_{fb}^{2} ,\sigma_{{\hat{f}b}}^{2}\) represents the variance of the respective blocks. \(\sigma_{{fb\hat{f}b}}\) is the covariance of block fb and \(\hat{f}b\). k 1 and k 2 are two variables to stabilize the weak denominator and their most common values k 1 = 6.50 and  k 2 = 58.52 are selected. It is to be noted that this measure requires a noise-free original image to give information about the preservation of local structures in the image and its similarity with the original image. Its value ranges between −1 and 1. Values near to 1 mean it is more likely that the two compared images have identical structures and vice versa.

Results and Discussions

In this section, we have reported the experimental results obtained by our proposed approach for the removal of mixed impulse noises from biomedical images corrupted with different noise levels. The proposed method is developed in MATLAB 7.12 [24] with GPTIPS Toolbox for multi-gene genetic programming [18]. The development of the proposed approach and its performance evaluation is carried out using PC with 2.4 GHz Intel Core-i7 processor with 12 GB RAM and Microsoft Windows 8.1 64 bit operating system.

Dataset Description

For the development of the proposed approach, first, we prepare the training dataset. In this regard, images of fluocel, muscle and nematodo, each of size 256 × 256, are selected from CVG-UGR database [25]. These images are corrupted with mixed impulse noise densities of 10, 20, 30, 40 and 50 %. The ground truth noise map of each image is generated by comparing the original and noisy images. Further, for detection and estimation stages, we generated two separate training datasets from these images. Currently, for detection stage, we used dataset of 983,040 (256 × 256 × 5 × 3) samples of noisy and noise-free pixels. Here, 5 and 3 represent the variants of noisy image and total number of training images, respectively. However, for estimation stage, only noisy pixels of 294,912 (98,304 × 3) samples are used to form the training dataset. Here, 98,304 and 3 represent the total number of noisy pixels in each noisy variant of a training image and total number of training images, respectively. This type of dataset is prepared by comparing the pixels in the previously corrupted images of mixed impulse noise densities of 10 % (6554 noisy pixels), 20 % (13,107), 30 % (19,661), 40 % (26,214) and 50 % (32,768) with the ground truth noise map.

Several experiments are performed to determine the optimal settings of noise detector and estimator models as well as to compare the proposed approach to related state-of-the-art approaches. We analyzed the experimental results of the proposed approach using biomedical images of Algae, C05c, Celulas, Crm04280, Crm05210, Nemacb1, Nemacl2 and Heart from CVG-UGR database [25]. These biomedical test images are shown in Fig. 3. Additionally, the robustness of the proposed method is also evaluated using the real microscopic images of fungal spores acquired at National Institute of Lasers and Optronics (NILOP). In the following subsections, the performance of the proposed denoising method is discussed. We also compare the proposed approach with other conventional and bio-inspired benchmark approaches.

Fig. 3
figure 3

Biomedical test images. a Algae, b C05c, c Celulas, d Crm04280, e Crm05210, f Nemacb1, g Nemacl2 and h Heart

Denoising Performance

To validate the proposed denoising approach, a set of experiments is carried out on images corrupted with mixed impulse noise. We compared the noise removal performance of the proposed approach with other relevant approaches of SMF [5], AMF [6], UINFGP [13], INFGP [14], ROR-NLM [12] and INDE-GP [15]. Figure 4a, b highlights the comparison, in terms of PSNR, of the proposed approach with other approaches of SMF, AMF, UINFGP, INFGP, ROR-NLM and INDE-GP for (a) C05c and (b) Algae biomedical images.

Fig. 4
figure 4

Comparative analysis of proposed approach with other benchmark approaches in terms of PSNR: a C05c and b Algae

For C05c image, our approach achieved the best PSNR values in the range 40.80–32.57 dB using 10–50 % noise densities. Similar results are obtained for Algae image. The best PSNR values are attained from 38.20 to 30.34 dB using 10–50 % noise densities. It is observed that at higher noise densities the proposed approach has better denoising performance over other approaches. While removing 50 % noise from C05c, the proposed approach yielded 10.44, 10.86, 26.58, 40.27, 104.78 and 60.91 % improvement than INDE-GP, ROR-NLM, INFGP, UINFGP, AMF and SMF, respectively. From Fig. 4a, b, overall, it is observed that PSNR performance of the proposed approach is better than SMF, AMF, UINFGP, INFGP, ROR-NLM and INDE-GP denoising approaches.

The higher PSNR values against different noise densities highlighted the effectiveness of the proposed denoising method for the removal of mixed impulse noise from corrupted images. Further, we inferred that whatever the noise level, our parallel-framework based denoising approach always preserves details than the previous approaches.

Figure 5a, b depicts the SSIM-based performance of the proposed approach using test images of C05c and Algae. For C05c image, our approach achieved the best SSIM values in the range 0.9792–0.8720 using 10–50 % noise densities. Again for Algae image, the best SSIM values are attained from 0.9689 to 0.8326 using 10–50 % noise densities. For these images, it is noticed that at higher noise densities the proposed approach has better denoising over previous approaches. While removal of 50 % noise from C05c, the SSIM improvement by our approach is 11.51, 9.71, 37.37, 32.50, 759.96 and 135.23 % more than INDE-GP, ROR-NLM, INFGP, UINFGP, AMF and SMF, respectively. From Fig. 5a, b, overall it is observed that SSIM of the proposed approach at higher noise density is always higher than other denoising approaches. The proposed approach is very effective in preserving the local structures in the denoised images as compared to other approaches.

Fig. 5
figure 5

Comparative analysis of the proposed bio-inspired approach with other benchmark approaches in terms of SSIM: a C05c and b Algae

In Table 3, we carried out a performance comparison, in terms of PSNR and SSIM measures, of the proposed approach with previous approaches for denoising of mixed impulse noise of different test images. The proposed approach has yielded an improved overall average PSNR of 33.00 (dB). We observed that our MGGP approach has an improved average PSNR of 61.45, 20.70, 14.99, 13.40, 12.02 and 5.00 % than other approaches AMF, SMF, UINFGP, ROR-NLM, INFGP and INDE-GP, respectively. On the other hand, the proposed approach has achieved an improved overall average SSIM value of 0.9192. As a result, in terms of overall average SSIM, our approach has provided 145.45, 37.77, 16.37, 9.16, 9.10 and 4.37 % higher than other approaches AMF, SMF, ROR-NLM, UINFGP, INFGP and INDE-GP, respectively. Overall, Table 3 showed that the proposed bio-inspired parallel-framework based approach has demonstrated better results over existing serial-framework based and conventional approaches. Actually, the main advantage of the proposed approach is that, during evolution, it develops multiple noise detectors and estimators simultaneously to find the optimal solution; consequently, we obtained improved denoising performance. We summarized that the proposed approach is very effective for the removal of mixed impulse noise.

Table 3 Performance comparison of the proposed approach with benchmark approaches in terms of PSNR and SSIM using various biomedical images

Figures 6, 7 and 8 highlight the subjective visual quality of the denoised images of Celulas, Crm05210 and C05c corrupted by selected mixed impulse noises of 30, 40 and 50 %, respectively. These corrupted images are processed using the proposed SMF, AMF, UINFGP, INFGP, ROR-NLM and INDE-GP approaches. For Celulas image, the approach has achieved the best visual quality performance of PSNR 31.82 dB and SSIM 0.9277. INDE-GP approach followed our approach and attained PSNR 30.39 dB and SSIM 0.8886. For Crm05210 image, our approach achieved the best PSNR and SSIM values of 31.80 dB and 0.9404, respectively. For C05c image, our approach yielded the best visual quality performance with PSNR 32.57 dB and 0.8720 SSIM values. INDE-GP approach followed by our approach and achieved the values of PSNR 29.49 dB and SSIM 0.7825. It is observed from restoration results of Figs. 7, 8 and 9 that for different noise densities our proposed evolutionary approach suppresses the noise impulses effectively. This analysis highlighted the improved performance of the proposed approach using PSNR and SSIM visual qualities while diligent image details adequately for a range of noise densities. This analysis highlights the effectiveness of the proposed approach for the removal of mixed impulse noise from the corrupted images. Hence, it is concluded that proposed approach, in terms of PSNR and SSIM, outperforms over all other approaches.

Fig. 6
figure 6

Visual comparison of mixed impulse noise removal: a Celulas image, b 30 % corrupted image (PSNR = 12.17 dB, SSIM = 0.0677), c proposed approach (PSNR = 31.82 dB, SSIM = 0.9277), d ROR-NLM (PSNR = 27.74 dB, SSIM = 0.7594), e UINFGP (PSNR = 27.65 dB, SSIM = 0.8283), f INFGP (PSNR = 28.97 dB, SSIM = 0.9000) and g INDE-GP (PSNR = 30.39 dB, SSIM = 0.8886)

Fig. 7
figure 7

Visual comparison of mixed impulse noise removal: a Crm05210 image, b 40 % corrupted image (PSNR = 11.09 dB, SSIM = 0.0468), c proposed approach (PSNR = 31.80 dB, SSIM = 0.9404), d ROR-NLM (PSNR = 26.34 dB, SSIM = 0.7693), e UINFGP (PSNR = 25.80 dB, SSIM = 0.8540), f INFGP (PSNR = 28.03 dB, SSIM = 0.8482) and g INDE-GP (PSNR = 29.27 dB, SSIM = 0.9059)

Fig. 8
figure 8

Visual comparison of mixed impulse noise removal: a C05c image, b 50 % corrupted image (PSNR = 10.02 dB, SSIM = 0.0178), c proposed approach (PSNR = 32.57 dB, SSIM = 0.8720), d ROR-NLM (PSNR = 29.38 dB, SSIM = 0.7948), e UINFGP (PSNR = 23.22 dB, SSIM = 0.6581), f INFGP (PSNR = 25.73 dB, SSIM = 0.6348) and g INDE-GP (PSNR = 29.49 dB, SSIM = 0.7825)

Fig. 9
figure 9

Biomedical images corrupted by mixed impulse noise: a MRI image; b 15 % corrupted Image; c proposed approach; d X-ray image; e 20 % corrupted image; f proposed approach; g Heart image; h 65 % corrupted image; i proposed approach; j Algae image; k 60 % corrupted image; and l Proposed approach

It is observed that the quality of a denoised image is mostly dependent on the improved performance of the detection stage and the estimation stage of the proposed approach. This improvement in both detection and estimation stages is due to the use of parallel-framework based MGGP approach, which effectively search for possible solutions in the problem space and to exploits the local statistics of the noisy images.

To further validate the robustness of the proposed approach, we applied it on the corrupted biomedical images. Mixed impulse noise removal is vital in biomedical imaging applications to improve and regain fine details that could be unseen in the data. We assessed the improved performance of our approach on several biomedical images. However, in Fig. 9, we report the selected results for MRI, X-ray, Heart and Algae images. In addition, the proposed method is also applied to obtain clean microscopic images of fungal spores causing wheat rust in wheat plants. The visual results confirmed the robust performance of our proposed approach.

The original biomedical images of MRI, X-ray, Heart and Algae are shown in Fig. 9a, d, g, j, respectively. Figure 9b, e shows the medical images of MRI and X-ray corrupted with low noise densities of 15 and 20 %, respectively. Whereas, Fig. 9h, k shows the noisy images of Heart and Algae images highly corrupted with 65 and 60 % of mixed impulse noise, respectively. Due to noise, the quality of the original biomedical images is degraded as depicted by low PSNR values of 12.51 dB (SSIM: 0.0802), 12.15 dB (SSIM: 0.1709), 7.25 dB (SSIM: 0.0017) and 9.83 dB (SSIM: 0.0159) for MRI, X-ray, Heart and Algae images, respectively. It is to be noted that in these corrupted images the subject is difficult to visualize due to distortion in the local structures caused by the presence of low- and high-density noise.

Figure 9c demonstrates the denoising performance of our method for the degraded MRI image. In the restored image, the subject of the image is clearly visible and details are well preserved. Our method has effectively suppressed the noise by yielding improved value of PSNR from 12.51 dB (SSIM: 0.1709) to 39.12 dB (SSIM: 0.9825). Figure 9f highlights the denoising performance for the corrupted X-ray image. In the restored image, the smooth regions and boundaries of the subject are well preserved. The proposed method has suppressed the noise by giving improved PSNR value from 12.15 dB (SSIM: 0.1709) to 26.92 dB (SSIM: 0.9315). Figure 9i demonstrates the denoising performance of the proposed MGGP for highly corrupted Heart image. In the restored image, the veins and arteries of the heart are clearly visible. Our method has effectively suppressed high-density noise by yielding improved value of PSNR from 7.25 dB (SSIM: 0.0017) to 25.88 dB (SSIM: 0.6400). Similarly, in Fig. 9l the corrupted Algae image is denoised effectively. It can be observed that the proposed method has preserved minute edges and fine details in the restored Algae image. The noise is reduced, and the value of PSNR measure is improved from 9.83 dB (SSIM: 0.0159) to 28.33 dB (SSIM: 0.7350). In summary, the proposed method is capable of removing low- and high-density mixed impulse noise effectively while preserving the fine image details and has shown consistent results. Our bio-inspired approach obtained better results, because it automatically creates wider search space to find the near-optimum solution for solving denoising problem.

Further, experimentation is carried out to denoise the real-world microscopic images of fungal spores germination provided by National Institute of Lasers and Optronics (NILOP). Figure 10a–c highlights these noisy microscopic images in which the subject of the image is not very clear. When these images were processed by our bio-inspired denoising method, the subject of these images has become clearly visible as shown in Fig. 10d–f. Figure 10d shows the presence of fungal spores. Figure 10e shows a single fungal spore. In Fig. 10f, the germination tube between two fungal spores is clearly visible, which was not visible in its noisy image. These results show the effectiveness of the proposed approach for different biomedical images. In summary, the improved performance of our approach is due to the enhanced noise detection and removal stages developed by exploiting the parallel-framework of multi-gene genetic programming. The proposed parallel-framework based MGGP approach has ability to search automatically for all possible solutions in the defined problem space and converges to near-optimum solution for solving denoising problem. Moreover, during evolution process it uses progressively natural selection, crossover, mutation, genes copies/deletion and specific procedures of developmental biology.

Fig. 10
figure 10

ac Noisy microscopic images obtained while germination of fungal spores for wheat rust detection. df Denoised microscopic images by the proposed approach

Conclusion

In this paper, we explored the capabilities of bio-inspired parallel-framework based MGGP approach to denoise biomedical images. Our biologically inspired approach has achieved an improved denoising performance by exploiting the parallel framework of multiple genes modeling capability in noise detection and removal stages. In the detection stage, we developed MGGP-based noise detector using rank-ordered and robust statistical features to effectively locate the corrupted pixels and generate noise map. In the noise removal stage, the detected noisy pixels are denoised by developing a bio-inspired MGGP-based estimator using statistical features of only noise-free pixels in their neighborhood. The experimental results highlighted that the proposed approach has produced high-quality denoised images as compared to well-known benchmark approaches of SMF [5], AMF [6], UINFGP [13], INFGP [14], ROR-NLM [12] and INDE-GP [15]. The significant feature of the proposed approach is that it does not require an image-dependent threshold. However, various conventional denoising approaches need to select image dependent manually adjustable thresholds. The comparative results have demonstrated that our approach has effectively preserved the subject’s fine details in the image corrupted with high-density noise. We evaluated the performance of the proposed approach for several benchmark biomedical images of Algae, C05c, Celulas, Crm04280, Crm05210, Nemacb1, Nemacl2, MRI, X-ray, Heart and microscopic images of fungal spores causing wheat rust. The parallel-framework based learning approach has highlighted an improved performance over several existing benchmark approaches.

We have also demonstrated the effectiveness of the proposed approach by denoising fungal spores germination images that are used in the wheat rust detection application. These denoised microscopic images would play vital role in understanding the germination of fungal spores and, hence, improved the wheat rust detection performance. In future, we intend to cooperate with medical centers and laboratories to deploy the proposed approach-based denoising system to improve the quality of biomedical images. This system would be useful for disease diagnosis and treatment. It is anticipated that our approach would be useful for the denoising of medical images from other modalities as well.