and Mixed Multichannel Denoising Using Statistical Halfspace Depth Functions

which successively shifts through an image I of size $$W\times H$$. This can be expressed as follows [13, 15]:



$$\begin{aligned} result\_I(x,y)\,=\,\sum _{s\,=\,-\frac{w_{mask} }{2}}^{\frac{w_{mask} }{2}} \;{ \sum _{t\,=\,-\frac{h_{mask} }{2}}^{\frac{h_{mask} }{2}} {M(s,t){*}I(x+s,y+t)} } \end{aligned}$$

(1)
Linear spatial domain filters preserve the edges and perform well in removal of monochromatic Gaussian type noises (e.g. white or random), and in edge detection in images corrupted by impulse noise [13, 15]. However, they become less effective for higher noise powers, reduce edge sharpness, blur the lines and fine details on an image, and are not efficient in removing the signal-dependent noise [13, 15]. This led to development of improved linear spatial domain filters like Wiener filters, although Wiener filters require both noise and signal spectrum information, and can be applied only to smooth underlying signals [13].

Nonlinear spatial domain filters overcome many of the linear filters’ drawbacks, and have proven their competence in elimination of impulse, uniform and fixed valued noises, without need for their explicit identification [13]. Baseline median filter implements the filtering technique expressed by Eq. (1), and is still very broadly used due to its speed and tendency to preserve the edges under certain conditions [13]. Primarily, it is applied in removal of monochromatic impulse noise with fixed noise power values (e.g. salt-and-pepper). As Eq. (1) shows, median filter like many other spatial domain filters, affects every pixel in an image, both those corrupted and uncorrupted by noise; hence, the resulting images are often blurred and have untraceable edges [13]. Many improved nonlinear spatial domain filters have been proposed in order to improve these shortcomings [13, 41]. Such filters are, for example, centre weighted median (CWM) and switching median (SM) filters which are widely implemented in removal of monochromatic impulse noise with fixed values [5, 13], and filters like adaptive CWM, adaptive SM, and progressive switching median which have been introduced for removal of random-valued monochromatic impulse noise [5, 9].

With increasing need for multichannel denoising, numerous spatial domain nonlinear filters have been proposed mostly for elimination of multichannel impulse noise [5, 26]. Early stage filters like marginal (component-wise) median filter (MMF) often applied the method of scalar filtering of each channel individually [4, 5, 16, 26]. In this way, the inherent spectral correlation between channels is ignored which commonly causes the appearance of colour artefacts in resulting images. To date, this issue has been mainly resolved using numerous vector filtering techniques which essentially consider multichannel images as vector fields, and process multichannel pixels as vectors. They have been very successfully applied in elimination of multichannel impulse noise, and can be classified into eight categories [5]:



  • basic vector filters


  • adaptive fuzzy vector filters


  • hybrid vector filters


  • adaptive centre-weighted vector filters


  • entropy vector filters


  • peer group vector filters


  • vector sigma filters


  • miscellaneous (other) vector filters
However, basic, adaptive fuzzy, and hybrid vector filters are applied to all pixels in an image, even those not corrupted by noise; this may lead to disappearance of fine image details, blurred edges and overall excessive smoothness of resulting images [5, 13]. As a response to these issues, intelligent filters have been proposed which attempt to discern the pixels corrupted by noise from those that are not [4, 5]. Once the noisy pixels are identified, some of the vector filters (e.g. based on robust order statistics) are used; in other words, these filters switch between the identity operation and a vector filtering method, depending on some predetermined criteria. Consequently, they have reduced computational costs since a time-consuming filtering process is only executed on selected pixels observed as noisy [4, 5].

In contrast to the advancement of multichannel impulse and additive denoising filters, only a small number of filtering methods (both spatial and transform domain) have been suggested so far for removal of mixed multichannel noise [9, 50, 62].

A completely novel concept of multichannel filtering based on statistical depth functions, or more precisely, statistical halfspace depth function is discussed in this chapter. Resulting halfspace deepest location filter (HSDLF) offers outstanding results in elimination of impulse and mixed multichannel noise [2, 3]. Even though HSDLF belongs to the class of spatial domain filters, its underlying algorithm is substantially different to nonlinear vector (as well as other) impulse noise filters, and transform domain filters. HSDLF filtering method is based on an adjusted version of the DEEPLOC algorithm [60] which calculates the approximate value of multivariate median (i.e. deepest location or the most central point within a data cloud) in d-dimensional space. Its multivariate/multidimensional character ensures that HSDLF intrinsically considers all channels in a multichannel image simultaneously, thus preserving the spectral correlation between channels.

HSDLF does not depend on the source and/or distribution of multichannel noise, and its efficiency in removal of:



  • multichannel (colour) impulse noise in both of its common variations: salt-and-pepper noise (with fixed values of pixel noise) and random-valued multichannel noise (with arbitrary values of pixel noise) [2], and


  • multichannel (colour) mixed noise, i.e. mixture of impulse (precisely, salt-and-pepper) and additive Gaussian multichannel noise (ACGN) [3],
has been verified.

Denoising results of HSDLF are compared in terms of objective error metrics (effectiveness) criteria and visual quality to:



  • marginal median multichannel filter (MMF) [16] and 25 most significant state-of-the-art multichannel impulse noise filters [1, 4, 68, 1624, 2738, 40, 4345, 5459, 61] for impulse multichannel noise removal


  • two state-of-the-art DWT based filters for removing multichannel Gaussian type noise: Probshrink [42] and BM3D (image denoising by sparse 3D transform-domain collaborative filtering) [11], as well as 26 filters for removal of multichannel impulse noise [1, 4, 68, 1624, 2738, 40, 4345, 5459, 61] for mixed multichannel noise removal



2 Halfspace Depth Function and Computation of Deepest Location for Multivariate Data


Finding the centre set of points within a multidimensional data cloud and generalisation of notion of median in multivariate case have been widely discussed in the literature [10, 12, 25, 39, 4749, 53, 60, 6365]. Since these notions cannot be directly derived from their univariate equivalents, several approaches have been introduced to address these issues with theory of statistical depth functions being the most prolific of them all. With their emerging popularity, many statistical depth functions have been formulated; Zuo and Serfling made a thorough overview and classification of all significant statistical depth functions [65]. HSDLF applies the most important representative entitled halfspace (Tukey’s or location) depth function [25, 60, 63, 65].


2.1 Definition and Properties of Halfspace Depth Function


Associated with a given probability distribution P on d-dimensional real space $$\mathbb {R}^{d}$$, statistical depth functions provide a P-based centre-outward ordering (and thus ranking) of points (or more precisely, Borel sets) $$\varvec{\theta } \in \mathbb {R}^{d}$$. The essential example of statistical depth functions is the halfspace (Tukey’s or location) depth function $$HD\left( {\varvec{\theta } ;P} \right) $$ which can be defined through following equation [25, 60, 65]:


$$\begin{aligned} HD\left( {\varvec{\theta } ;P} \right) \hbox {=}\inf \left\{ {P\left( H \right) :\varvec{\theta } \in H\,\text {closed halfspace}} \right\} ,\;\varvec{\theta } \in \mathbb {R}^{d} \end{aligned}$$

(2)
In other words, halfspace depth (HD) function denotes the minimal probability attached to any closed halfspace with $${\varvec{\theta }}$$ on the boundary. In a discrete case, the halfspace depth function $$HD\left( {\varvec{\theta } ;{\varvec{X}}_n } \right) $$ of a point $$\varvec{\theta } \in \mathbb {R}^{d}$$ relative to a data set $${\varvec{X}}_n \,=\,\left\{ {{\varvec{x}}_1 ,{\varvec{x}}_2 \ldots {\varvec{x}}_n } \right\} \in \mathbb {R}^{d\times n}$$ represents the smallest number of observations (elements of $${\varvec{X}}_n \in \mathbb {R}^{d\times n})$$ in any closed halfspace with boundary through point $${\varvec{\theta }}$$ [63]. Multivariate halfspace depth can be also expressed using its univariate case $$HD_1 \left( {\theta ;{\varvec{X}}_n } \right) $$ [60]:


$$\begin{aligned} HD_1\left( {\theta ;{\varvec{X}}_n } \right) \,=\,HD\left( {\varvec{\theta } ;{\varvec{X}}_n } \right) \mid {_{d\,=\,1} } \,=\,\min \left( {\# \left\{ {x_i \le \theta } \right\} ,\# \left\{ {x_i \ge \theta } \right\} } \right) \end{aligned}$$

(3)
where # is a number of observations.

This definition interprets the halfspace depth $$HD\left( {\varvec{\theta } ;{\varvec{X}}_n } \right) $$ as the smallest univariate halfspace depth value of a point $${\varvec{\theta }}$$ relative to any projection of the data set $${\varvec{X}}_{ {n}}$$ onto a direction $${\varvec{u}}$$ [60]:


$$\begin{aligned} \begin{array}{l} HD(\varvec{\theta } ;{\varvec{X}}_n )\,=\,\mathop {\min }\limits _{\left\| u \right\| \,=\,1} \;HD_1 \left( {\varvec{u}}'\varvec{\theta } ;{\varvec{u}}'{\varvec{X}}_n \right) \,=\,\mathop {\min }\limits _{\left\| u \right\| \,=\,1} \left( {\min \left( {\# \left\{ {{\varvec{u}}'{\varvec{x}}_i \le {\varvec{u}}'\varvec{\theta } } \right\} ,\# \left\{ {{\varvec{u}}'{\varvec{x}}_i \ge {{\varvec{u}}}'\varvec{\theta } } \right\} } \right) } \right) \\ \quad \quad \quad \quad \; =\mathop {\min }\limits _{\left\| u \right\| \,=\,1} \;\# \left( {i;{\varvec{u}}'{\varvec{x}}_i \le {\varvec{u}}'\varvec{\theta } } \right) \end{array} \end{aligned}$$

(4)
It means that halfspace depth $$HD\left( {\varvec{\theta } ;{\varvec{X}}_n } \right) $$ indicates how deep a point $$\varvec{\theta }$$ is centred within the data cloud (set). Additionally, halfspace depth is defined as multivariate ranking: points nearer the boundary of the data set have lower ranks, and the rank increases as one gets deeper inside the data cloud [60]. Ranking can be geometrically illustrated using the notion of halfspace depth regions $${ D}_{l}$$ defined by equation:


$$\begin{aligned} D_l \,=\,\left\{ {\varvec{\theta } \in \mathbb {R}^{d};\;H D(\varvec{\theta } ;{\varvec{X}}_n )\ge l} \right\} \end{aligned}$$

(5)
Halfspace depth regions are convex sets, and for every HD and l, $$D_l \subseteq D_{l-1} $$ holds [60]. Boundary of a region with equivalent HD values is called halfspace depth contour. Unique centre of gravity of the smallest halfspace depth region $$D_{l_{max} }$$ which contains the points with maximal HD values (equal to $$l_{max}$$) can be interpreted as multivariate median, i.e. a generalisation of univariate median to multidimensional spaces [60]. It also called Tukey’s median or the deepest location.

Zuo and Serfling have shown that halfspace depth function $$HD\left( {\varvec{\theta }} ;P \right) $$ fulfils all useful and desirable properties required of a statistical depth function [65]:



  • Affine invariance. $$HD\left( {\varvec{\theta }} ;P \right) $$ is independent of the coordinate system.


  • Maximality at center. If P is symmetric about $${\varvec{\theta }}$$ in some sense, then $$HD\left( {\varvec{\theta }} ;P \right) $$ is maximal at this point.


  • Symmetry. If P is symmetric about $$\varvec{\theta }$$ in some sense, then so is $$HD\left( {\varvec{\theta }} ;P \right) $$.


  • Decreasing along rays. The depth $$HD\left( {\varvec{\theta }} ;P \right) $$ decreases along every ray from the deepest point.


  • Vanishing at infinity. $$HD\left( {\varvec{\theta }} ;P \right) \rightarrow 0,\;\left\| {\varvec{\theta }} \right\| \rightarrow \infty $$.


  • Continuity of $$HD\left( {\varvec{\theta }} ;P \right) $$ as a function of $${\varvec{\theta }}$$ (upper semicontinuity).


  • Continuity as of $$HD\left( {\varvec{\theta }} ;P \right) $$ a functional of P.


  • Quasi-concavity as a function of $${\varvec{\theta }}$$. The set $$\left\{ {\varvec{\theta }} :HD\left( {\varvec{\theta }} ;P \right) \ge c \right\} $$ is convex for each real c.
Affine invariance is a particularly useful property for calculation of deepest location; in case of HD, this means that for any affine transformation $$g:\mathbb {R}^{d}\rightarrow \mathbb {R}^{d}:{\varvec{x}}\rightarrow A\cdot {\varvec{x}}+{\varvec{b}}$$, with $${\varvec{b}}\in \mathbb {R}^{d}$$ and $$A\in \mathbb {R}^{d\times d}$$ a nonsingular matrix, equality $$HD\left( {g(\varvec{\theta } );g({\varvec{X}}_n )} \right) \,=\,HD\left( {\varvec{\theta } ;{\varvec{X}}_n } \right) $$ holds. Consequently, the deepest location (Tukey’s median) $${\varvec{M}}_{DL}^{HD} $$ is also affine equivariant: $${\varvec{M}}_{DL}^{HD} \left( {g({\varvec{X}}_n )} \right) \,=\,g\left( {{\varvec{M}}_{DL}^{HD} ({\varvec{X}}_n )} \right) $$.

Furthermore, Tukey’s median is a very robust multivariate location estimator, and its robustness can be evaluated by means of the breakdown value $$\varepsilon ^{*}$$. As proven by Donoho and Gasko [12], Tukey’s median $${\varvec{M}}_{DL}^{HD} $$satisfies the inequality $$\varepsilon ^{*}\left( {{\varvec{M}}_{DL}^{HD} ;{\varvec{X}}_n } \right) \ge \frac{n}{d+1}$$ for any sample in general position. This means that the resulting Tukey’s median $${\varvec{M}}_{DL}^{HD}$$ will not move outside of a bounded region if $$\frac{n}{d+1}$$ observations are replaced from the data set $${\varvec{X}}_{n}$$. If the original data set $${\varvec{X}}_{n}$$ comes from any angularly symmetric distribution, and especially from an elliptically symmetric distribution, the breakdown value $$\varepsilon ^{*}\left( {\varvec{M}}_{DL}^{HD} ;X_n \right) $$ tends to $$\frac{1}{3}$$ in any dimension. Simply put, if at least 67 % of the data points in $${\varvec{X}}_{n}$$ are drawn from such a distribution then the deepest location remains within reasonable limits, regardless of the other points in the data set.

In general, not many algorithms have been proposed for calculation of statistical depth functions. A number of algorithms for computation of halfspace depth have been proposed in the literature [10, 4749, 60, 64]; however, only a few algorithms for finding multivariate halfspace deepest location (Tukey’s median) have been proposed: [48] for bivariate data, and, [10, 47] and [60] for dimensions more than two. DEEPLOC algorithm [60] has been selected as a basis of HSDLF, primarily because it implements the only mathematically proven and exact algorithm for calculation of halfspace depth functions in $$\mathbb {R}^{3}$$ [49, 60]. Most importantly, it has been shown that approximate location depth calculated with DEEPLOC is very close to the exact depth for real data sets [60].


2.2 Finding the Deepest Location Using DEEPLOC Algorithm


DEEPLOC algorithm computes an approximation of deepest location (Tukey’s median) for any dimension d. It works with a subset of directions u [see Eq. (4)] to approximate the halfspace depth, and is constructed to be the least time consuming [49, 60]. DEEPLOC algorithm and its stepwise pseudocode are presented in their full (and complex) details in the original work of Struyf and Rousseeuw [60]. In this section only the most significant steps in DEEPLOC are explained which are of importance for understanding of how HSDLF works. Also, the places where the original DEEPLOC algorithm is altered are indicated.

In short, DEEPLOC starts from an initial point and takes further steps in carefully selected directions in which the halfspace depth can be increased (unlike the solution proposed in [10]), so that the deepest location (Tukey’s median) can be approached after several of these steps. In order to reduce the number of steps, a centrally located initial point like coordinate-wise median or (affine invariant) coordinate-wise mean is taken, since it gives a fairly good halfspace depth relative to the data set, and is easy to compute [60]:


$$\begin{aligned} {\varvec{M}}_1 \,=\,\left( {Med (x_{i1} ;i\,=\,1,\ldots n),\ldots ,Med(x_{id} ;i\,=\,1,\ldots n)} \right) \end{aligned}$$

(6)
After calculating the starting point, m directions $${\varvec{u}}\in \mathbb {R}^{d}$$ are constructed with $$\left\| {\varvec{u}} \right\| \,=\,1$$. These directions are randomly drawn from following classes [60]:

(a)

d coordinate axes

 

(b)

vectors connecting an observation with $${\varvec{M}}_{1}$$

 

(c)

vectors connecting two observations

 

(d)

vectors perpendicular to a d-subset of observations

 
Classes (a), (b) and (c) are included as they are easy to compute, and are used for detection of marginal and far outliers [60]. However, class (d) directions are of greatest importance due to their close relation to halfspace depth notion, thus the majority of directions are taken from it. As a basis, HSDLF uses the proportion of directions from the original DEEPLOC algorithm [60]:



  • all directions from the class (a)


  • at most m/4 directions from each of the classes (b) and (c)


  • at least m/2 directions from the class (d)
However, an additional parameter which controls the distribution of directions is introduced in HSDLF, and is called threshold control parameter (see Sect. 3). The overall number of directions m can be given by the user and in case of HSDLF, m = 500 directions are computed by default (see Sect. 3).

Univariate halfspace depth of $${\varvec{M}}_{1}$$ relative to the projection of $${\varvec{X}}_{n}$$ on each of these m directions is then computed. The directions u which lead to the same lowest value $$\# \left\{ {i;{\varvec{u}}'{\varvec{x}}_i \le {\varvec{u}}'{\varvec{M}}_1} \right\} $$ are stored in set $${ U}_{move}$$, and these directions are considered as the ones in which the halfspace depth is able to improve [60]. The average direction $${\varvec{u}}_{move}$$ of directions saved in set $${ U}_{move}$$ is then calculated:


$$\begin{aligned} {\varvec{u}}_{move} \,=\,\frac{1}{\left| {U_{move} } \right| }\sum _{{\varvec{u}}\in U_{move}} {\varvec{u}} ,\text {where} \quad {\varvec{u}}_{move} \ne \mathbf{0} \end{aligned}$$

(7)
After that, a step is taken from $${\varvec{M}}_{1}$$ in the direction of $${\varvec{u}}_{move}$$. As mentioned, the value of halfspace depth at the deepest location relative to $${\varvec{X}}_{n}$$ has to be at least $$\left[ {\frac{n}{d+1}} \right] $$ (where square brackets represent the floor function). If this condition is not fulfilled for $${\varvec{M}}_{1}$$, i.e. if following inequality holds:


$$\begin{aligned} H D_1 \left( {{\varvec{M}}_1 ;{\varvec{u}}'_{move} {\varvec{X}}_n} \right) <\left[ {\frac{n}{d+1}} \right] \end{aligned}$$

(8)
a step in the direction $${\varvec{u}}_{move}$$ is taken, which is large enough to reach a point $${\varvec{M}}_{2}$$ which has univariate halfspace depth value of $$\left[ {\frac{n}{d+1}} \right] $$. Otherwise, a step is taken in the direction $${\varvec{u}}_{move}$$ to the point $${\varvec{M}}_{2}$$ which has univariate halfspace depth larger for 1 unit than the halfspace depth of $${\varvec{M}}_{1}$$ in the same direction $${\varvec{u}}_{move}$$ [60].

Afterwards, the explained procedure is repeated with $${\varvec{M}}_{2}$$ (or $${\varvec{M}}_{next}$$ in iteration for next $$>$$” src=”/wp-content/uploads/2016/03/A308467_1_En_5_Chapter_IEq76.gif”></SPAN>2) taking the roll of the initial point (<SPAN id=IEq77 class=InlineEquation><IMG alt=$${\varvec{M}}_{1}$$ src= in previously described algorithm steps) until a point $${\varvec{M}}_{maxHD}$$ is found with maximal halfspace depth of $$\frac{n}{2}$$, or until the algorithm stops showing any halfspace depth improvement in previous $${ N}_{try}$$ iteration steps. If the algorithm begins to oscillate instead of moving towards the deepest location, supplemental features are proposed for reduction of computational cost: if no halfspace depth improvement has been made after $${ N}_{alt}$$ successive steps, then the directions connecting some previous points $${\varvec{M}}_{i}$$ to the current point $${\varvec{M}}_{j>i}$$” src=”/wp-content/uploads/2016/03/A308467_1_En_5_Chapter_IEq83.gif”></SPAN> are considered [<CITE><A href=60]. It should be noted that parameters $${ N}_{try}$$ and $${ N}_{alt}$$ are also user defined.

A308467_1_En_5_Fig1_HTML.gif


Fig. 1
Flowchart illustrating the most significant steps of the DEEPLOC algorithm

Flowchart presented in Fig. 1 illustrates all relevant steps of the DEEPLOC algorithm. Detailed mathematical theorems and their proofs related to the DEEPLOC algorithm are given in [48, 49, 60].


3 Halfspace Deepest Location Filter


DEEPLOC pseudocode served as a foundation of the HSDLF’s programming code [2, 3]. During the experiments (see Sect. 4), it has been empirically established that a slight increase in number of directions from class (d) (defined in Sect. 2.2) improves filtering results. In order to give HSDLF an additional degree of freedom and even more flexibility, a scalar parameter entitled threshold control parameter $$\tau $$ was introduced with values ranging from 0 to 1, which controls the percentage of class (d) directions1. As directions from class (d) play the vital role in DEEPLOC algorithm, parameter $$\tau $$ aims to provide fine-tuning of HSDLF’s output results and precision. Experiments have shown that this small increase in number of class (d) directions has an insignificant impact on computational cost [2, 3].

HSDLF applies this adjusted version of the DEEPLOC algorithm for calculating deepest location (Tukey’s median) in three dimensional space (d = 3 in notation of Sects. 2.1 and  2.2), where R, G and B colour channels act as dimensions (coordinates). It was assumed that the multichannel images are 24-bit (8-bit per channel), so the values of R, G and B channels range from 0 to 255 for each channel.

HSDLF uses the standard spatial filtering technique based on a sliding convolution kernel (filtering window) described in Sect. 2 [2, 3]. Let $${ r}_{ij}$$, $${ g}_{ij}$$, and $${ b}_{ij}$$ denote the values of red, green, and blue channels, respectively, of a pixel at the position (i,j) in an image I of size $$W\times H$$ contaminated by multichannel noise, i.e. $$I\,=\,\left\{ {(r_{ij} ,g_{ij} ,b_{ij} )|1\le i\le W,1\le j\le H} \right\} $$. Convolution kernel M of size $$k\times k$$, where k is an odd positive integer, includes the pixel positioned at the centre of kernel M, i.e. (i,j) in the image I, and $$k^{2}-1$$ of its neighbouring pixels. This means that the kernel M enfolds $$k^{2}$$ ordered triplets of red, green and blue channel values, respectively, of corresponding pixels. HSDLF computes the deepest location within a data cloud which consists of these $$k^{2}$$ three dimensional data using the adjusted DEEPLOC algorithm, and replaces the channel values of pixel at the centre of kernel M ((i,j) in image I) with estimated deepest location’s channel values. Image edges are handled identically as in standard (marginal) median filters.

Number of directions is kept at a fixed value of m = 500 since this is the minimum value of m for which HSDLF gives excellent balance between high performance and computation time. It was shown that the algorithm accuracy gradually increases with an increase in number of directions m; however, the computational cost grows rapidly [2, 3].

In early stages of HSDLF testing on 24-bit multichannel images, it was noted that deepest location channel values in very rare cases with far outliers can be negative (precisely, take value $$-1$$), or can exceed the limit of 255 (precisely, take value of 256). In order to preserve the visual smoothness and consistency of filtered images without affecting the computational cost, these particular pixels are additionally filtered with MMF [5], which is very fast and calculated analogously to HSDLF. This correction would not be needed if the number of directions m was set to value of more than 1,500 or if another colour system such as CIELab or YCbCr was used. However, in the latter case, a different range of channel values in these colour systems sometimes causes difficulties in calculation of location depth/deepest location.

A308467_1_En_5_Fig2_HTML.jpg


Fig. 2
Benchmark images used for comparison of all observed filters’ denoising performances, from left to right (image dimensions in pixels are given in brackets): Caps (768$$\,\times \,$$512), Couple (256$$\,\times \,$$256), F16 (512$$\,\times \,$$512), Girl1 (256$$\,\times \,$$256), Girl2 (256$$\,\times \,$$256), Girl3 (256$$\,\times \,$$256), House (256$$\,\times \,$$256), House With Car (512$$\,\times \,$$512), Jellybeans1 (256$$\,\times \,$$256), Jellybeans2 (256$$\,\times \,$$256), Lena (512$$\,\times \,$$512), Mandrill (512$$\,\times \,$$512), Parrots (768$$\,\times \,$$512), Peppers (512$$\,\times \,$$512), Sailboat (512$$\,\times \,$$512), Splash (512$$\,\times \,$$512), Tiffany (512$$\,\times \,$$512), and Tree (256$$\,\times \,$$256)

It is important to point out that in case of the image set used in Sect. 4 for all observed types and/or powers of multichannel noise, and observed values of threshold control parameter $$\tau $$, the filtering results with and without this MMF correction are identical, and no cases of deepest location values going out of $$\left[ {0,255} \right] $$ range appear on this image data set, even though the number of directions m is set to 500 [2, 3]. Also, HSDLF evidently does not depend on the nature or powers of applied multichannel noise; therefore, it can be used for elimination of many types of multichannel noise regardless of their origin [2, 3].


4 Experimental Results and Their Analysis


Performance of HSDLF has been tested on some of the most commonly used 24-bit multichannel (8-bit per colour channel) benchmark images: Signal and Image Processing Institute (SIPI) Volume 3: Miscellaneous image database set, with addition of two more images (“Parrots” and “Caps”) from the Kodak Photo CD PCD0992 [2, 3]. These 24-bit (i.e. 8-bit-per-channel) multichannel benchmark images have fixed image sizes of $$256\,\times \,256$$ pixels (“Couple”, “Girl1”, “Girl2”, “Girl3”, “House”, “Jellybeans1”, “Jellybeans2”, “Tree”), $$512\,\times \,512$$ pixels (“F16”, “House With Car”, “Lena”, “Mandrill”, “Peppers”, “Sailboat”, “Splash”, “Tiffany”) and $$768\,\times \,512$$ pixels (“Caps”, “Parrots”) (see Fig. 2).

However, due to very large amount of data, comparison of HSDLF’s performance against 28 state-of-the-art filters will be presented for four essential benchmark images, namely “Lena” and “Peppers” (with sizes of 512$$\,\times \,$$512 pixels) from Signal and Image Processing Institute (SIPI) Volume 3: Miscellaneous image database, and “Parrots” and “Caps” (with sizes of 768$$\,\times \,$$512 pixels) from Kodak Photo CD PCD0992.

In all experiments, the convolution kernel (sliding filtering window) size is set to $$3\times 3$$ (see Sect. 3). HSDLF results have been produced using Simple DirectMedia Layer and CImg open source libraries within C++ programming language framework. Consequently, HSDLF does not require any specific digital image format, and can be successfully applied to nearly all digital image formats, including lossy compressed formats like JPEG. All types of noise have been generated using MATLAB R2011a software.


4.1 Multichannel Impulse Noise Removal


As mentioned in Sect. 1, performances of HSDLF and other multichannel impulse noise filters are compared on images corrupted by salt-and-pepper as well as random-valued noise, with following power levels/densities applied: $$\xi \,=\,\{ 0.1,\;0.2,\;0.3,0.4,\;0.5 \}$$.

Salt-and-pepper noise on image I is generated using MATLAB built-in $$ imnoise\left( {I, 'salt\hbox { } \& \hbox { }pepper',\xi } \right) $$ function where $$\xi $$ denotes the noise density. This means that approximately $$\xi \cdot \hbox {number}\;\hbox {of}\;\hbox {pixels}(I)$$ randomly chosen pixels are replaced by pixels which have values of 0 or 255 on each channel (red, green and blue). Random-valued noise with density $$\xi $$ on image I is generated indirectly since MATLAB does not have a built-in function for its production. Using the built-in MATLAB function $$rand$$ for generation of uniformly distributed pseudorandom numbers, $$\xi \cdot \text {number}\;\hbox {of}\;\hbox {pixels}(I)$$ pixels are selected randomly and then replaced by pixels with random values ranging from 0 to 255 on each colour channel (red, green and blue). Obviously, salt-and-pepper noise could be produced similarly using MATLAB function $$rand$$; experiments have shown that both of these methods for generating salt-and-pepper noise give identical results [2]. Salt-and-pepper and random-valued noise can be considered as instances of uncorrelated impulsive noise model [5]:


$$\begin{aligned} \begin{array}{l} c_{ij}^{(ch)} \,=\,\left\{ {{\begin{array}{l} {r_{ij}^{(ch)} \;\text {with probability }\xi } \\ {o_{ij}^{(ch)} \;\text {with probability 1-}\xi } \\ \end{array} }} \right. \\ \\ r_{ij}^{(ch)} \in \left\{ {{ \begin{array}{l} {\left\{ {0,255} \right\} \;\text {for salt-and-pepper noise}} \\ {\left[ {0,255} \right] \;\text {for random-valued noise}} \\ \end{array} }} \right. \\ \end{array} \end{aligned}$$

(9)
where $$c_{ij}^{(ch)} $$ represents the pixel channel value (red, green or blue) of the output image corrupted by noise, $$o_{ij}^{(ch)} $$ represents the pixel channel value (red, green or blue) of the original image uncorrupted by noise, and $$r_{ij}^{(ch)} $$ represents the pixel channel value (red, green or blue) of salt-and-pepper or random-valued noise; ch denotes the colour channel index: ch = 1 for red, ch = 2 green, and ch = 3 blue channel, and $$\xi $$ symbolises the density of impulse noise that is applied to an image.

HSDLF performance in removal of multichannel impulse noise is compared to marginal median filter MMF [4] and following 25 state-of-the-art impulse noise filters [2, 5]:



  • adaptive basic vector directional filter ABVDF [29]


  • adaptive centre-weighted vector filters: ACWDDF [30], ACWVDF [38], ACWVMF [27]


  • adaptive multichannel nonparametric filter with multivariate exponential kernel function AMNFE [43]


  • adaptive vector sigma filters: ASBVDF [3134, 37], ASDDF [3134, 37], ASVMF [3134, 37]


  • adaptive vector median filter AVMF [28]


  • basic vector directional filter BVDF [61]


  • directional distance filter DDF [16, 17]


  • entropy vector filters: EBVDF [35, 36], EDDF [35, 36], EVMF [35, 36]


  • fast peer group filter FPGF [54]


  • fuzzy vector median filter FVMF [8, 44, 45]


  • fuzzy vector median-rational hybrid filter FVMRHF [2123]


  • kernel vector median filter KVMF [5559]


  • peer group filter PGF [18]


  • order-statistics based switching vector filters: RSBVDF [7], RSDDF [7]


  • robust switching vector median filter RSVMF [4]


  • vector median filter VMF [1]


  • vector median-rational hybrid filter VMRHF [19, 20, 24]


  • vector signal-dependent rank order mean filter VSDROMF [40]
Filtering results are compared objectively by means of three error metrics criteria [5]:



  • peak signal-to-noise ratio (PSNR) in decibels (dB) which measures the noise suppression capability of a filter:


    $$\begin{aligned} PSNR\,=\,10\cdot \log _{10} \frac{255^{2}}{MSE},\quad MSE\,=\,\frac{1}{3\cdot W\cdot H}\sum _{ch\,=\,1}^3 {\sum _{i\,=\,1}^W {\sum _{j\,=\,1}^H {(\hat{{c}}_{ij}^{(ch)} -c_{ij}^{(ch)} )^{2}} } } \end{aligned}$$

    (10)


  • mean absolute error (MAE) which measures the detail preservation capability of a filter:


    $$\begin{aligned} MAE\,=\,\frac{1}{3\cdot W\cdot H}\cdot \sum _{ch\,=\,1}^3 {\sum _{i\,=\,1}^W {\sum _{j\,=\,1}^H {\left| {\hat{{c}}_{ij}^{(ch)} -c_{ij}^{(ch)} } \right| } } } \end{aligned}$$

    (11)
    where in Eqs. (10) and (11), $$\hat{{c}}_{ij}^{(ch)} $$ and $$c_{ij}^{(ch)} $$ represent the pixel channel values of denoised and original images, respectively, and ch symbolises the channel index: ch = 1 for red, ch = 2 green, and ch = 3 blue channel


  • normalized colour difference (NCD) which measures the colour preservation capability of a filter:


    $$\begin{aligned} NCD\,=\,\frac{\sum _{i\,=\,1}^W {\sum _{j\,=\,1}^H {\sqrt{\left( {\left( {\hat{{L}}_{ij} -L_{ij} } \right) ^{2}+\left( {\hat{{a}}_{ij} -a_{ij} } \right) ^{2}+\left( {\hat{{b}}_{ij} -b_{ij} } \right) ^{2}} \right) }} } }{\sum _{i\,=\,1}^W {\sum _{j\,=\,1}^H {\sqrt{\left( {\left( {\hat{{L}}_{ij} } \right) ^{2}+\left( {\hat{{a}}_{ij} } \right) ^{2}+\left( {\hat{{b}}_{ij} } \right) ^{2}} \right) }} } } \end{aligned}$$

    (12)
    where $$\hat{{L}}_{ij} $$ and $$L_{ij} $$ represent lightness values, and $$\left( {\hat{{a}}_{ij} ,\hat{{b}}_{ij} } \right) $$ and $$\left( {a_{ij} ,b_{ij} } \right) $$ chrominance values of denoised and original images, respectively, expressed in CIELAB colour space [32]
Experimental results have shown that HSDLF provides optimal results in removal of multichannel impulse noise for two values of threshold control parameter $$\tau $$ (0.0015 and 0.005) in terms of both objective error metrics criteria and visual quality [2]. Tested on Signal and Image Processing Institute (SIPI) Volume 3: Miscellaneous and Kodak Photo CD PCD0992 image data sets, it has also been verified that HSDLF performances in multichannel impulse denoising deteriorate quickly for $$\tau $$ $$>$$” src=”/wp-content/uploads/2016/03/A308467_1_En_5_Chapter_IEq144.gif”></SPAN>0.006, and slightly for <SPAN id=IEq145 class=InlineEquation><IMG alt= $$<$$0.0012.

Comparison of HSDLF performances in terms of used error metrics criteria for both observed values of the threshold control parameter $$\tau $$, calculated for all benchmark images is presented in Table 5. A detailed review of HSDLF performances for both observed types of impulse noise is given in Table 6.

Figures 3, 4 and 5 display the average PSNR, MAE and NCD gain values for all observed impulse denoising filters calculated over all benchmark images. Figures 6a–c, 7a–d, 8a–c, and 9a–d illustrate the visual quality of denoising results of all observed filters applied to image “Caps” corrupted by salt-and-pepper and random-valued multichannel noise, respectively.

The best filtering performances in Tables 14 are indicated by $$\mathbf{boldface }$$ font.

By closely observing the results given in Tables 1, 2, 3, 4, 5 and 6 and Figs. 3, 4, 5, 6a–c, 7a–d, 8a–c, and 9a–d, following conclusions can be drawn [2]:



  • For all salt-and-pepper and random-valued impulse noise densities and calculated over all observed benchmark images, HSDLF performs better in more than 60% of cases for threshold control parameter value of $$\tau $$ = 0.0015 than for $$\tau $$ = 0.005 in terms of PSNR and MAE error metrics criteria, while NCD values are very similar for both values of $$\tau $$.


  • HSDLF denoising results are marginally more sensitive to shifts in values of $$\tau $$ in terms of all error metrics criteria when the filter is applied to images corrupted by random-valued impulse noise.


  • PSNR, MAE and NCD gains steadily rise with the increase salt-and-pepper and random-valued noise powers for both HSDLF’s values of $$\tau $$ on all observed images.



Table 1
Performance results of observed multichannel impulse denoising filters applied to image “Caps” (with $$768\,\times \,512$$ pixel image size) corrupted by various densities of salt-and-pepper and random-valued impulse noise. The best filtering performances are indicated by $$\mathbf{boldface }$$ font













































































































































































































































































































































































































































































































































































































































































































































































































   
Image: $$Caps\,768\,\times \,512$$
   
0.1

0.3

0.5
 
Salt-and-pepper

PSNR

MAE

NCD

PSNR

MAE

NCD

PSNR

MAE

NCD
 
noise density

[dB]
   
[dB]
   
[dB]
   

Denoising method

None

17.66

21.36

0.392

12.89

42.83

0.708

10.74

57.86

0.907
 
ABVDF

18.09

18.23

0.321

12.39

44.38

0.691

9.95

63.48

0.917
 
ACWDDF

20.93

14.13

0.3

15.11

32.17

0.621

12.28

47.09

0.840
 
ACWVDF

18.33

18.05

0.332

12.7

42.67

0.692

10.25

60.81

0.917
 
ACWVMF

21.88

13.15

0.301

16.02

29.39

0.61

13.12

42.96

0.824
 
AMNFE

25.9

8.65

0.197

19.41

20.12

0.427

15.97

31.13

0.603
 
ASBVDF

18.31

17.66

0.312

12.91

41.93

0.686

10.56

58.69

0.905
 
ASDDF

20.72

14.14

0.29

14.26

35.69

0.64

11.52

51.99

0.865
 
ASVMF

22.5

12.37

0.282

16.16

29.18

0.594

13.01

43.71

0.816
 
AVMF

20.83

15.01

0.319

16.02

29.93

0.609

13.34

42.15

0.813
 
BVDF

18.2

17.62

0.279

12.39

44.48

0.668

9.97

63.49

0.902
 
DDF

24.43

9.6

0.213

17.27

24.96

0.525

13.75

39.58

0.753
 
EBVDF

17.95

18.56

0.332

12.68

42.98

0.701

10.37

59.96

0.921
 
EDDF

20.39

14.38

0.3

14.08

35.96

0.65

11.38

52.47

0.876
 
EVMF

22.36

12.56

0.29

16.25

28.83

0.599

13.25

42.54

0.819
 
FPGF

23.31

11.36

0.263

17.73

24.18

0.528

14.39

37.04

0.745
 
FVMF

25.55

8.74

0.2

18.77

21.27

0.471

15.14

33.81

0.681
 
FVMRHF

22.95

11.58

0.276

16.49

27.68

0.595

13.4

41.57

0.816
 
KVMF

24.59

9.56

0.223

17.91

23.55

0.517

14.42

36.84

0.742
 
MMF

25.26

8.98

0.202

19.13

20.77

0.435

15.7

31.83

0.625
 
PGF

22.88

11.77

0.275

17.24

25.38

0.548

14.1

38.21

0.76
 
RSBVDF

18.38

18.21

0.344

13.06

41.24

0.698

10.71

57.56

0.913
 
RSDDF

21.25

13.56

0.3

14.55

34.5

0.648

11.66

51.05

0.874
 
RSVMF

21.94

12.87

0.297

15.25

32.09

0.636

12.23

47.93

0.862
 
VMF

24.73

9.34

0.211

17.94

23.49

0.516

14.44

36.78

0.742
 
VMRHF

22.69

11.93

0.284

16.37

28.13

0.602

13.32

42

0.823
 
VSDROMF

24.21

10.14

0.235

17.88

23.7

0.52

14.43

36.83

0.742
 
HSDLF $$\tau $$=0.005

27.29

7.58

0.157

22.03

14.55

0.297

18.42

23.12

0.438
 
HSDLF $$\tau $$=0.0015

27.29

7.58

0.157

22.06

14.49

0.296

18.46

22.99

0.437
   
Image: $$Caps\,768\,\times \,512$$
   
0.1
 
0.3
 
0.5
 
Random-valued

PSNR

MAE

NCD

PSNR

MAE

NCD 

PSNR

MAE

NCD
 
noise density

[dB]
   
[dB]
   
[dB]
   

Denoising method

None

21.19

13.39

0.252

16.19

27.83

0.477

13.71

39.24

0.637
 
ABVDF

21.6

11.72

0.211

15.83

28.53

0.463

13.12

42.11

0.636
 
ACWDDF

23.56

9.99

0.203

17.82

22.93

0.431

14.83

34.27

0.597
 
ACWVDF

21.71

11.71

0.217

16.04

27.84

0.464

13.31

41.03

0.636
 
ACWVMF

24.7

9.07

0.201

18.95

20.38

0.419

15.84

30.58

0.579
 
AMNFE

28.62

6.07

0.128

22.02

14.38

0.291

18.06

23.94

0.432
 
ASBVDF

22.04

10.76

0.19

16.23

27.19

0.451

13.56

39.81

0.624
 
ASDDF

24.53

8.81

0.182

17.72

22.98

0.421

14.52

35.39

0.595
 
ASVMF

25.77

8.12

0.183

19.51

19.15

0.398

16.09

29.69

0.562
 
AVMF

23.22

10.69

0.217

18.34

22.29

0.435

15.6

31.81

0.589
 
BVDF

22.03

10.98

0.17

15.66

29.34

0.432

12.84

44.21

0.615
 
DDF

27.42

6.6

0.136

20.46

16.88

0.347

16.67

27.7

0.513
 
EBVDF

21.49

11.63

0.207

15.93

28.18

0.465

13.32

41.04

0.637
 
EDDF

24.28

8.9

0.187

17.57

23.15

0.429

14.41

35.77

0.605
 
EVMF

25.54

8.31

0.189

19.5

19.14

0.402

16.16

29.47

0.565
 
FPGF

25.46

8.5

0.19

20.34

17.53

0.373

16.98

26.84

0.522
 
FVMF

28.45

6.01

0.128

21.74

14.57

0.311

17.73

24.45

0.466
 
FVMRHF

26.29

7.5

0.175

19.82

18.16

0.394

16.36

28.63

0.56
 
KVMF

27.35

6.84

0.153

20.88

16.18

0.348

17.14

26.24

0.51
 
MMF

28

6.32

0.134

21.71

14.95

0.299

17.9

24.32

0.439
 
PGF

25.33

8.5

0.191

19.82

18.41

0.387

16.59

27.93

0.539
 
RSBVDF

21.83

11.59

0.221

16.32

26.97

0.468

13.66

39.24

0.637
 
RSDDF

24.86

8.63

0.191

18.09

22.09

0.429

14.77

34.37

0.603
 
RSVMF

25.39

8.29

0.191

18.88

20.32

0.42

15.5

31.61

0.59
 
VMF

27.63

6.44

0.135

20.91

16.12

0.345

17.15

26.26

0.51
 
VMRHF

25.92

7.86

0.183

19.65

18.59

0.402

16.25

29.02

0.568
 
VSDROMF

26.49

7.64

0.17

20.73

16.70

0.357

17.11

26.44

0.514
 
HSDLF $$\tau $$=0.005

29.04

5.86

0.112

23.44

12.29

0.226

19.33

20.85

0.342
 
HSDLF $$\tau $$=0.0015

29.05

5.86

0.112

23.46

12.25

0.225

19.35

20.78

0.342



Table 2
Performance results of observed multichannel impulse denoising filters applied to image “Parrots” (with $$768\,\times \,512$$ pixel image size) corrupted by various densities of salt-and-pepper and random-valued impulse noise. The best filtering performances are indicated by $$\mathbf{boldface }$$ font











































































































































































































































































































































































































































































































































Only gold members can continue reading. Log In or Register to continue

Stay updated, free articles. Join our Telegram channel

Mar 30, 2016 | Posted by in GENERAL RADIOLOGY | Comments Off on and Mixed Multichannel Denoising Using Statistical Halfspace Depth Functions

Full access? Get Clinical Tree

Get Clinical Tree app for offline access
   
Image: $$Parrots\,768\,\times \,512$$
   
0.1

0.3

0.5
 
Salt-and-pepper

PSNR

MAE

NCD

PSNR

MAE

NCD

PSNR

MAE

NCD
 
noise density

[dB]
   
[dB]
   
[dB]
   

Denoising method

None

17.51

21.61

0.341

12.72

43.45

0.624

10.53

58.84

0.809
 
ABVDF

18.28

17.66

0.273

12.59

43.13

0.594

10.03

62.44

0.799
 
ACWDDF

20.89

$$14$$

0.257

15.03

32.3

0.544

12.13

47.77

0.746
 
ACWVDF

18.43

17.69

0.283

12.86

41.7

0.598

10.29

60.15

0.803
 
ACWVMF

21.73

13.21

0.26

15.82

29.93

0.536

12.83

44.23

0.735
 
AMNFE

25.87

8.5

0.169

19.07

20.81

0.382

15.46

33.05

0.553
 
ASBVDF

18.55

17.01

0.263

12.99

41.31

0.594

10.53

58.51

0.795
 
ASDDF

20.68

14.05

0.25

14.28

35.44

0.557

11.41

52.37

0.764
 
ASVMF

22.36

$$12.4$$

0.243

15.98

29.67

0.522

12.75

44.84

0.728
 
AVMF

20.77

15.01

0.274

15.87

30.33

0.534

13.07

43.31

0.725
 
BVDF

18.77

16.07

0.23

12.78

42

0.565

10.14

61.63

0.78
 
DDF

24.49

9.29

0.181

17.14

25.31

0.464

13.52

40.62

0.674
 
EBVDF

18.2

17.92

0.283

12.8

42.18

0.607

10.38

59.59

0.809
 
EDDF

20.51

14.17

0.258

14.15

35.61

0.566

11.3

52.71

0.774
 
EVMF

22.23

12.59

0.251

16.04

29.39

0.528

12.95

43.82

0.731
 
FPGF

23.16

11.33

0.227

17.48

24.77

0.468

14.01

38.58

0.671
 
FVMF

25.54

8.53

0.171

18.48

21.87

0.418

14.72

35.41

0.617
 
FVMRHF

22.77

$$11.6$$

0.239

16.25

28.34

0.525

13.07

42.99

0.73
 
KVMF

24.53

9.4

0.191

17.64

24.14

0.459

14.05

38.37

0.668
 
MMF

25.21

8.81

0.174

18.8

21.47

0.389

15.22

33.69

0.572
 
PGF

22.92

11.58

0.233

17.06

25.8

0.482

13.77

39.57

0.682
 
RSBVDF

18.47

17.91

0.295

13.05

41.11

0.609

10.62

57.8

0.806
 
RSDDF

21.18

13.51

0.258

14.51

34.52

0.566

11.53

51.56

0.774
 
RSVMF

21.79

12.92

0.256

15.07

32.6

0.559

12

48.94

0.768
 
VMF

24.72

9.12

0.181

17.67

24.08

0.458

14.07

38.31

0.668
 
VMRHF

22.53

11.94

0.245

16.12

28.77

0.531

13

43.4

0.735
 
VSDROMF

24.21

9.94

0.2

17.62

24.29

0.461

14.06

38.37

0.668
 
HSDLF $$\tau $$=0.005

27

7.64

0.14

21.34

15.95

0.283

17.54

26.13

0.428
 
HSDLF $$\tau $$=0.0015

27

7.64

0.14

21.36

15.89

0.283

17.57

26

0.428
   
Image: $$Parrots\,768\,\times \,512$$
   
0.1

0.3

0.5
 
Random-valued

PSNR

MAE

NCD

PSNR

MAE

NCD 

PSNR

MAE

NCD
 
noise density

[dB]
   
[dB]
   
[dB]
   

Denoising method

None

20.85

13.99

0.226

15.78

29.34

0.436

13.28

41.48

0.59
 
ABVDF

21.48

11.93

0.187

15.76

29

0.416

12.99

43.2

0.58
 
ACWDDF

23.33

$$10.2$$

0.18

17.47

23.92

0.392

14.45

36.15

0.551
 
ACWVDF

21.62

11.88

0.191

15.94

28.39

0.418

13.15

42.27

0.582
 
ACWVMF

24.34

9.4

0.179

18.41

21.69

0.384

15.27

32.95

0.539
 
AMNFE

28.46

6.07

0.115

21.29

15.78

0.275

17.27

27

0.418
 
ASBVDF

22.12

10.72

0.166

16.11

27.76

0.405

13.33

41.27

0.571
 
ASDDF

24.24

9.05

0.162

17.46

23.84