Skip to main content

A new family of Gaussian filters with adaptive lobe location and smoothing strength for efficient image restoration

Abstract

Noise can occur during image capture, transmission, or processing phases. Image de-noising is a very important step in image processing, and many approaches are developed in order to achieve this goal such as the Gaussian filter which is efficient in noise removal. Its smoothing efficiency depends on the value of its standard deviation. The mask representing the filter presents generally static weights with invariant lobe. In this paper, an adaptive de-noising approach is proposed. The proposed approach uses a Gaussian kernel with variable width and direction called adaptive Gaussian kernel (AGK). In each processed window of the image, the smoothing strength changes according to the image content, noise kind, and intensity. In addition, the location of its lobe changes in eight different directions over the processed window. This directional variability avoids averaging details by the highest mask weights in order to preserve the edges and the borders. The recovered data is de-noised efficiently without introducing blur or losing details. A comparative study with the static Gaussian filter and other recent techniques is presented to prove the efficiency of the proposed approach.

1. Introduction

The image de-noising remains an important goal in image or video pre-processing as a preliminary task for data transmitting, pattern recognition, etc. In the case of high distortions, efficient noise-removing techniques may introduce artifacts or blur the image. Image de-noising techniques using the Gaussian filter has been widely used in many fields for its ability to efficiently restore degraded data. In [1], the authors combined the following three techniques: wavelet transform, curvelet transform, and the Gaussian filter to recover the distorted image. The authors in [2] exploited the relationship between linear diffusion and Gaussian scale space to estimate optimal variances and window size of the Gaussian. An efficient technique based on the Gaussian filter with dynamic structure that targets noise is introduced in [3, 4]. Selecting the optimal value of the standard deviation in a Gaussian filter depending on few properties of the signal knowledge is proposed in [5]. In [6], an adaptive Gaussian filtering algorithm, in which the filter variance is adapted to both noise characteristics and the local variance of the signal, is studied.

The basic premise of the Gaussian technique is that different parts of an image have varying degrees of noisiness and types of edges. Therefore, each part of the image needs to be smoothed differently. For this reason, we propose to create an adaptive filter having a Gaussian core with a variable structure for each processed window. The location of the Gaussian lobe and its smoothing strength are optimized iteratively according to the noise intensity and image characteristics. These features are optimized to efficiently clean noise and preserve the image content. The paper is arranged as follows: a brief description of the Gaussian kernel in Section 2, the conception of the proposed filter in The proposed adaptive Gaussian filter and Experimental results, comparative study in Comparative study, and a summary and conclusion in Conclusions.

2. Recall of the conventional Gaussian filter properties

The Gaussian filter is widely used in the literature as a low-pass filter for image de-noising. It can provide image smoothing and noise reduction, but it blurs edges and details. The Gaussian smoothing filter is efficient for reducing noise drawn from a normal distribution presented as follows:

G x , y , μ , σ = 1 2 π σ 2 exp - x - μ 1 2 - y - μ 2 2 2 σ 2
(1)

where σ is the spread parameter (the width distribution) and the couple (μ1, μ2) are the means (location of the peak) (Figure 1). In this paper, we propose a smart Gaussian filter with dynamic structure. In this new filter, the variation of the standard deviation is related to the nature and the characteristic of the image areas and zones. This variation is supervised by the neural network. However, changing the couple of means (μ1 and μ2) will vary the lobe position and the gradient magnitude in order to preserve the edge and borders.

Figure 1
figure 1

Variation of the Gaussian function.

The main properties of the Gaussian filter are described as follows:

  • Gaussian smoothing is very effective for removing Gaussian noise.

  • The weights give higher signification to pixels near the edge (reduce edge blurring).

  • It is a static and linear low-pass filter.

  • Separability into two one-dimensional (1D) filters.

  • Rotationally symmetric (performs the same in all directions).

  • The degree of smoothing is controlled by the standard deviation σ (larger σ for more intensive smoothing).Figure 2 shows the result of applying Gaussian filters with different values of σ on the Lena image. It is clear that when we increase the width parameter (σ), the borders and the details are removed.

Figure 2
figure 2

An image filtered with different variances.

In order to overcome this problem, we study a smart Gaussian filter with dynamic structure. In this new filter, the variation of the standard deviation is done according to the nature and characteristic of the image areas and zones. This variation is supervised by a neural network, whereas changing the couple of means (μ1 and μ2) will vary the position of the filter lobe in order to preserve edges and borders.

3. The proposed adaptive Gaussian filter

3.1. Estimation of the adaptive smoothing strength

As we mentioned, the smoothing efficiency of the Gaussian filter depends on the value of its standard deviation. The more this parameter is increased, the more the image is blurred and the details and borders are removed. That is why every part of the image must be filtered with an appropriate kernel. So, we propose to vary the standard deviation using the neural network which responds to the non-linear variation of the smoothing strength. The procedure is described as follows.From the processed image, we select patterns from different zones such as the edges, the dark zone, the high intensities, and the textures (Figure 3).

Figure 3
figure 3

Pattern selection.

In order to estimate the optimal standard deviation which is the desired output of the neural network, the following stages will be undertaken. Each selected window from the image is distorted by different kinds of noise and filtered iteratively with a Gaussian filter increasing in each step the value of its standard deviation by a step Δσ = 0.01, and we compute the corresponding peak signal-to-noise ratio (PSNR). For each pattern of the selected windows, a curve illustrating the PSNR variation with regard to the standard deviation increase is plotted (see Figure 4). Once the allure of the function PSNRσ = p(σ) is determined, we compute its derivative to find the optimal value of the standard deviation called σopt. The segment D illustrated in red is the tangent to the curve at the index σopt where the derivative is null P′(σopt) = 0 and D is defined by the following equation:

Figure 4
figure 4

PSNR results and normalized cross-correlation used to determine the optimal standard deviation.

Figure 5
figure 5

Neural network training.

D = P ′ σ opt dσ - σ opt + P σ opt
(2)

The optimal value of the standard deviation is manually adjusted around the computed value in the range of [-2Δσ, 2Δσ]. In fact, σopt is located between the transitory and stable zone of the PSNR σ function that are separated by the computed tangent. To validate our selection, we compute the normalized cross-correlation between the filtered and original image called C. A segment noted D 1 is drawn as a tangent on this curve with parallel direction to D. The index representing the value of the standard deviation found confirms the computed σopt. The range of σopt is constrained by a minimum threshold imposed to the PSNR called PSNRmin that must be maintained over 32 dB.The selected distorted patterns of the image are introduced to a multilayer perceptron (MLP) neural network which is composed of three layers ‘input, hidden layer, and output layer’. In the test phase, the neural network generates different values of standard deviations for all the introduced distorted windows. The network generates the appropriate outputs according to the noise density and kind (Figure 5).

The neural weights are adjusted to adapt the neural output to the desired ones corresponding to the distorted inputs. When filtering the image, the neuronal outputs supervise real time the smoothing strength of the proposed adaptive kernel that changes iteratively for each processed window.

E σ = 1 2 ∑ p = 1 P ∑ k = 1 K σ opt p , k - σ RN p , k 2
(3)

If we consider the window size is (m × n) and the image size is (M × N), then the set of estimated standard deviations is as follows: σ RN = σ RN i such as i ∈ 1 , M × N m × n , where σRN represents the standard deviation output by the trained network and i is the iterative number of the processed windows. The filter size is fixed equal to (6 × σ + 1) in order to cover more than 99.99% of the processed data. The new filter structure is illustrated by the following equation:

G i x , y , σ RN = ∑ i = 1 M × N m × n 1 2 π ⋅ σ RN 2 i × exp - X 6 σ RN i + 1 × 6 σ RN i + 1 2 + Y 6 σ RN i + 1 × 6 σ RN i + 1 2 2 σ RN 2 i
(4)

3.2. The adaptive kernel location

The (μ1, μ2) represent the positions of the Gaussian core (location of the peak). In this work, we apply the Gaussian filter only on noise to avoid blurring details and borders. The steps of the kernel location variability are presented as follows:

First step: Edge detection using the canny high-boost filter operator presented by the following equation:

Second step: Filter the noisy image based on a decision computed from 8 to 25 neighborhoods’ comparison:

  • If I(x, y) ‘the processed pixel’ belongs to an edge, compute the difference between this pixel and its eight neighbors called P(x, y) (Figure 6 and Equation 6); in this case, the values of the mean (μ1 and μ2) are determined according to the maximum variation (gradient).

  • Elsewhere, we process the selected window using a filter with support size equal to (6 × σopt + 1) × (6 × σopt + 1) and the appropriate smoothing strength.

    f x = a exp - αx ⋅ sin wx
    (5)
Figure 6
figure 6

Pixel neighboring comparison.

P x , y = I x , y - I x - 1 , y - 1 I x , y - I x - 1 , y I x , y - I x - 1 , y + 1 I x , y - I x , y - 1 I x , y - I x , y + 1 I x , y - I x + 1 , y - 1 I x , y - I x + 1 , y I x , y - I x + 1 , y + 1
(6)

For 1 to 8 (number of neighbors for each processed pixel in a window of size ‘3 × 3’, the maximum variation max[P(x,y)] is computed to determine automatically the values of the means (μ1 and μ2) and define the location of the Gaussian lobe.

Sharp changes in an image can be associated to edges, or noise and such changes correspond to higher gradients. To consider that a pixel I(x, y) belongs to an edge and not as noise, we must satisfy two conditions:

  • High gradient variation between this pixel and its 8 or 25 neighbors for (3 × 3) or (5 × 5) window sizeConnection continuity between different pixels considered as edges as presented in Figure 7

Figure 7
figure 7

Area of significant variation in the image intensity.

The gradient has the advantage of detecting the orientation of an edge which can be positive or negative. The gradient of an image measures how it is changing. It provides two essential information. The magnitude of the gradient tells us how quickly the image content is changing, while the direction of the gradient tells us the orientation of these rapid changes. The gradient magnitude of an image and its approximation is given by the following equations:

∇ G → I x , y = Gr x → Gr y → = ∂ I ∂ x ∂ I ∂ y
(7)
Mag Gr = Gr x 2 + Gr y 2 ≈ Gr x + Gr y
(8)

where the partial derivatives of the image representing its variation for both x and y directions are given as follows:

τ → x = ∂ I x , y ∂ x = lim Δx → 0 I x + Δx , y - I x , y Δx = lim Δx → 0 I x , y - I x - Δx , y Δx
(9)
τ → y = ∂ I x , y ∂ y = lim Δy → 0 I x , y + Δy - I x , y Δy = lim Δy → 0 I x , y - I x , y - Δy Δy
(10)

The gradient orientation is described by the following equation:

θ = arg ∇ → I = tan - 1 Gr y Gr x
(11)

The edge orientation is contained in a window of size (3 × 3) or (5 × 5). This direction of the edge is used to determine the Gaussian lobe displacement. This direction is constrained by two factors as follows:

  1. 1.

    τ → x , y is always orthogonal to the tangent of the image edge.

  2. 2.

    τ → x , y = max P → x , y : The lobe displacement follows the maximum gradient of the image windows where the central pixel of this window belongs to the detected edge.

If the continuity condition between pixel neighbors is satisfied, we have the confirmation that the processed pixels belong to an edge. The Gaussian lobe moves in the chosen direction τ → x , y with a step of magnitude defined by the following equations respectively to each direction:

dτ → θ dx , dy = dτ → θ dx , dy 1 = I x - Δx , y - Δy - I x , y Δ x 2 + Δ y 2 d τ θ → dx , dy 2 = I x - Δx , y - I x , y Δx d τ θ → dx , dy 3 = I x - Δx , y + Δy - I x , y Δ x 2 + Δ y 2 d τ θ → dx , dy 4 = I x , y - Δy - I x , y Δy dτ → θ dx , dy 5 = 0 dτ → θ dx , dy 6 = I x , y + Δy - I x , y Δy dτ → θ dx , dy 7 = I x + Δx , y - Δy - I x , y Δ x 2 + Δ y 2 d τ θ → dx , dy 8 = I x + Δx , y - I x , y Δx dτ → θ dx , dy 9 = I x + Δx , y + Δy - I x , y Δ x 2 + Δ y 2
(12)

Figure 8 illustrates the highest gradient variation toward which the Gaussian kernel will move. I is the selected noisy window, T is the same window illustrating the detected edge, and P is the computed gradient magnitude.

Figure 8
figure 8

Local edge detection and maximum gradient variation.

The Gaussian core is orientated as follows: {μ1, μ2} = {-1, 1}. Figure 9 shows the highest weight of the Gaussian kernel moving to the upper right direction of the window following the highest magnitude. Doing this, the edge will be preserved and averaged only by the lower filter coefficient. The lobe displacement is always orthogonal to the edge tangent which means that scalar between them is null. The first constraint cited above can express mathematically the Gaussian movements by the following equations:

Figure 9
figure 9

Filter lobe location displacement to the upper right direction of the window (Figure 8 ).

τ x , y → , f ′ x , y → = 0
(13)
where τ x , y → = τ → x τ → y and f ′ x , y = ∂ I x , y ∂ x ∂ I x , y ∂ y τ → x ⋅ ∂ I x , y ∂ x = 0 and τ → y ⋅ ∂ I x , y ∂ y = 0
(14)

Since the direction of the Gaussian is defined by Ï„ x , y → , the center of the lobe follows the highest gradient in a direction orthogonal to the edge tangent. Finally, Equation 1 becomes:

G → x , y , σ , μ 1 ⋅ τ x → , μ 2 ⋅ τ y → = 1 2 π σ opt 2 exp - x - μ 1 ⋅ τ x → 2 - y - μ 2 ⋅ τ y → 2 2 σ opt 2
(15)

Mathematically, this can be written as the scalar between the Gaussian and the image edge is always null as presented by these equations:

G x , y , f ′ x , y = ∫ - ∞ + ∞ G x , y . f ′ * x , y dxdy
(16)

where * is the conjugate. Since the two functions are discrete and real, it follows:

G x , y , f ′ x , y = ∑ 0 N ∑ 0 M G x , y . f ′ x , y = 0
(17)

where the couple (N, M) represents the image size.

On the other hand, the second constraint of Ï„ → x , y means that the Gaussian lobe displacement can be in the left or right side of the tangent following the maximum gradient variation (Figure 10). As a result, we can conclude that the proposed adaptive kernel with variable Gaussian core targets noise in each window over the whole image with a variable smoothing strength and kernel location. If it detects edges or borders, the lobe change its location following the highest gradient in the processed window in a direction orthogonal to the tangent of this edge. Doing this, we avoid to weight the details and borders by the highest filter weight and introduce blur to the image. The image edges are even preserved and the noise cleaned.

Figure 10
figure 10

Displacement of the Gaussian core.

4. Experimental results

We conducted a number of experiments to verify the efficiency of the proposed approach. This section discusses the de-noising results obtained by the proposed adaptive filter.

PSNR = 10 log 10 d 2 MSE
(18)
MSE = ∑ i = 1 n ∑ j = 1 m r i , j - f i , j 2 NM
(19)

MSE is the mean square error, d is the maximal coded image intensity, n and m are the image sizes, and f and r are the original and the filtered image.

4.1. Filtering salt and pepper noise

In the salt and pepper noise model, only two possible values are present. For an 8-bit coded image, the typical intensity for pepper noise is close to 0 and for salt noise is close to 255. Our goal is to efficiently remove noise while preserving edges and borders. The proposed method is compared to the static Gaussian filtering using the same standard deviation σopt and a support size equal to (6 × σopt + 1) × (6 × σopt + 1) (Table 1).

Table 1 Comparison between the AGK and the static Gaussian filter
Δ PSNR = AGK ‒ based PSNR - Static PSNR
(20)

According to Table 1, the adaptive Gaussian kernel (AGK) gives better PSNR results than the static filter. The difference is conspicuous and significant. Figure 11 shows the variation of the ΔPSNR with respect to the noise density increase.Figure 12 represents an original image ‘cameraman’ followed by the noisy image and the filtering results respectively by the static and the AGK Gaussian filter. The used salt and pepper noise has a density of 10%.As presented in Figure 12, zoomed in Figures 13, 14, 15 and 16, using the proposed AGK filter, the noise is efficiently removed and the image content, edges, and borders are well preserved.

Figure 11
figure 11

PSNR difference ‘ΔPSNR’ between the AGK and the static Gaussian filter for different noise densities.

Figure 12
figure 12

Filtering results.

Figure 13
figure 13

Zoomed views.

Figure 14
figure 14

Example of a gray-level image filtered by the AGK and the conventional Gaussian filter.

Figure 15
figure 15

Comparison between the conventional and the AGK filter.

Figure 16
figure 16

Example of binary image filtered respectively by the AGK and the static filter.

Table 2 and Figures 15 and 16 show filtering results concerning a synthetic image belonging to the database. In the following table, we illustrate respectively the PSNR of the filtered image using the AGK filter and the static filter.Processing real, binary, or synthetic gray-level images, Figure 16 demonstrates the efficiency of the proposed adaptive filter to clean noise and preserve sharp details.

Table 2 PSNR variation

4.2. Speckle noise

The speckle is a multiplicative noise described as follows:

Y x , y = S x , y × N x , y
(21)

As presented in Figure 17, even against a multiplicative noise, the proposed method generates excellent results when compared to the static filtering and essentially save undamaged edges and borders.Figure 18 represents a third example which illustrates the efficiency of the AGK filter.

Figure 17
figure 17

Comparative study between the proposed AGK and the static Gaussian filtering.

Figure 18
figure 18

Comparison between the conventional and the AGK Gaussian filter.

The proposed AGK filter generates better de-noising results than the conventional filter. This efficiency was illustrated by different examples of filtered image. All the content and details were preserved and well perceptible after the filtering process.

5. Comparative study

As shown, experimentally, the proposed adaptive Gaussian kernel is efficient compared to the conventional filter. To prove the superiority of the proposed AGK filter, we conducted a comparative study between the AGK filter and other recent Gaussian techniques cited in the literature. For example, in [2], Eva and Aishy used the Gaussian filter for image de-noising where they studied the relation between Gaussian scale space and linear diffusion, and they derived an estimation of the Gaussian variance and window size; this technique is called AGSS. Table 3 represents the comparison between the proposed approach and this technique.

Table 3 Comparison results between the proposed technique, the conventional filter, and the AGSS filtering process

6. Conclusions

In this paper, a new low-pass filter with Gaussian core is presented. An adaptive Gaussian kernel based on dynamic core with variable structure is shaped. This new kernel conserves all the mathematical characteristics of the static Gaussian filter. The smoothing strength and the support size are supervised in each processed window of the image by a neural network to achieve the best filtering results. At the same time, the Gaussian lobe moves continuously in eight directions with the appropriate magnitude to avoid averaging of higher filter weights to preserve borders and edges. A comparative study is conducted to prove the efficiency of the proposed approach. Different image tests are shown with zoomed zones to validate the efficiency of this filter.

References

  1. Kota SN, Umamaheswara Reddy G: Fusion based Gaussian noise removal in the images using curvelets and wavelets with Gaussian filter. Int. J. Image Process (IJIP) 2011, 5(4):456-468.

    Google Scholar 

  2. Amer A, Rifkah E: Automated Gaussian filtering via Gaussian scaled and linear diffusion. In 20th European Signal Processing Conference (EUSIPCO). IEEE, Piscataway; 2012:1539-1542.

    Google Scholar 

  3. Seddik H: Efficient noise removing based optimized smart dynamic Gaussian filter. Int. J. Comput. Appl. 2012, 51: 5.

    Google Scholar 

  4. Sondes T, Hassene S, Zouhair M, Ezzedine BB: RGB Image De-Noising using New Low-Pas Filter with Variable Gaussian Core Real Time Optimized by Neural Networks. In 2013 International Conference on Electrical Engineering of Software Applications, ICEESA 2013. Hammamet; 2013.

    Google Scholar 

  5. Kopparapu SK, Satish M: Identifying optimal Gaussian filter for Gaussian noise removal. Third IEEE Conference on Computer Vision, Pattern Recognition, Image Processing and Graphics 2011, 126-129.

    Google Scholar 

  6. Deng G, Cahill LW: An adaptive Gaussian filter for noise reduction and edge detection. IEEE Conf. Rec. 1993, 3: 1615-1619.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hassene Seddik.

Additional information

Competing interests

The author has no competing interests.

Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

Authors’ original file for figure 1

Authors’ original file for figure 2

Authors’ original file for figure 3

Authors’ original file for figure 4

Authors’ original file for figure 5

Authors’ original file for figure 6

Authors’ original file for figure 7

Authors’ original file for figure 8

Authors’ original file for figure 9

Authors’ original file for figure 10

Authors’ original file for figure 11

Authors’ original file for figure 12

Authors’ original file for figure 13

Authors’ original file for figure 14

Authors’ original file for figure 15

Authors’ original file for figure 16

Authors’ original file for figure 17

Authors’ original file for figure 18

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Seddik, H. A new family of Gaussian filters with adaptive lobe location and smoothing strength for efficient image restoration. EURASIP J. Adv. Signal Process. 2014, 25 (2014). https://doi.org/10.1186/1687-6180-2014-25

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-6180-2014-25

Keywords