Professional Documents
Culture Documents
NonLinFiltNeuroMorphNetworks PDF
NonLinFiltNeuroMorphNetworks PDF
1, 2003
ABSTRACT
A wide class of nonlinear filters for image processing is outlined and described in a
unified way that may serve as a base for the design of their implementations in
terms of a finite set of certain estimation and neighborhood building operations. A set
1. Introduction
Since J.W. Tukey introduced median filters in signal processing ([1]), a vast
variety of nonlinear filters and families of nonlinear filters for image processing has
been suggested. The remarkable feature of these filters is their inherent parallelism.
nonlinear filters to facilitate filter analysis, usage and design. In this paper, a
1
suggested and outlined.
Throughout the paper, we will assume that images are single component signals
with scalar values. We will assume also that images are digitized i.e they are
definitions are introduced. Then, in Sects. 3-5, respectively, listed and explained are:
the filter design and typical neighborhood building operations that were found in the
result of analysis of a large variety of nonlinear filters known from literature ([2-10]).
In Sect. 6 classification tables of the filters are provided in which filters are arranged
according to the order and the type of neighborhood they use. Iterative, cascade and
some new filters that naturally follow from the classification and in Sect. 10 filter
2. Main definitions
Main assumptions that constitute the suggested unified and structurized treatment
domain, filters generate, from input signal samples bk within the window an
b k a k : a k = ESTM ( NBH )
2
The neighborhood is formed on the base of window sample attributes (to be
multi stage one beginning from the initial W-neighborhood (Wnbh) formed from
window samples with their attributes form a primary window neighborhood Wnbh.
On the next level, this first level neighborhood NBH1 is used to form, through a
output pixel for this particular position of the window. It is only natural to associate
the filter output in each position of the window with the central pixel of the window.
Natural primary signal sample attributes that determine filtering operations are
pixel values (magnitudes) and their co-ordinates. It turns out, however, that a number
of attributes other then only primary ones are essential for nonlinear filtering. Table 1
lists typical digital signal sample attributes that are involved in the design of nonlinear
3
filters known from the literature. As one can see from the table, these secondary
neighborhoods. They are interrelated and can actually be regarded as two faces of the
same quality. While Rank is associated with variational row, i.e ordered in ascending
binary 0/1 attributes that classify topological relationship between a given signal
if one can connect them by a line that passes through the samples that all belong to the
neighborhood.
This list of signal attributes does not pretend to be complete. Rather, it reflects
the state of the art and may suggest directions for further extensions.
4. Estimation operations
Table 2. In the filter design, selection of estimation operation is, in general, governed
parameter of data in the assumption that data are observations of a single value
estimate that minimizes mean squared deviation of the estimate from the data. PROD
4
logarithms of a set of values is logarithm of their product.
ROS operations may be optimal MAP estimations for other then additive
It is also an estimate that provides minimum to average modulus of its deviation from
the data. If additive noise samples have one-sided distribution and affect not all data,
SPRD are operations that evaluate neighborhood data spread. Its two
data with non Gaussian statistical distribution. SIZE operation computes number of
samples that constitute the neighborhood (when it does not directly follows from the
less known than above ones. We will illustrate in Sect. 9 how its use can improve
5
and those (vectorial) that are used in multi stage process of forming neighborhood.
The latter generate, for neighborhood elements, a new set of elements with their
attributes that form a neighborhood of the next stage. Scalar operations are basically
the same as those listed in Table 2. Typical vectorial operations are listed in Table 3.
such as, for instance, logarithmic one, applied, element-wise, to all neighborhood
can be regarded as a version of weighting with integer weights and are used in data
sorting. A special case of replication are SELECT_A operations that select from the
factor 0). In particular, shape-neighborhoods are formed by selection from the filter
window pixels those that form a certain special spatial shape, such as, for instance,
controlled selection of neighborhood elements are shown in the table EV-, KNV-, ER-
6
number of stages in building neighborhood they use for generating final estimation of
the filter output. The tables do not pretend to contain all filters that have been
published by now. They are mostly based on data collected in Ref.[9] as well as in
Refs. [3, 4, 8, 9, 10] to which readers can refer for detailed information regarding
Table 4 lists the simplest nonlinear filters that use one-stage NBH1
in the table such popular in signal and image processing filters as moving average,
It appears that the majority of known nonlinear filters belong to the family of
two-stage NBH2 neighborhood filters listed in table 5. According to the type of the
NBH2-neighborhood used, the filters form four groups: MULT_A-, REPL_A-, V-,
and R-neighborhood filters. Some of them such as root mean square error (RMSE)
Among three-stage neighborhood filters listed in Table 6 one can find two
large families of filters: transform domain filters and stack filters. Transform domain
implementation of the inverse transform for the window central sample. Two the most
advanced modifications of these filters are sliding window DCT ([8,11]) and wavelet
Linear Minimum Mean Square Error filter is a special case of transform domain filters
Stack filters are yet another large family of filters. They originate from the
7
idea of threshold decomposition of multilevel signals to binary signals to which
(Shorth-) filter that implement an idea of data smoothing by averaging over data
7. Iterative filtering.
the way how filter output is computed depends, in each filter window position, on
optimal estimate of signals one can assume that signal processing quality is evaluated
AVLOSS (k ) = AV LOC (m ; a k )LOSS (a m , a m )
m
Here AVLOSS(k) is, for a signal sample with coordinate k, averaged value of losses
coordinates {m} within the window by their estimates {a m }. The averaging is two
fold. Spatial averaging is, in general, a weighted summation carried out over a
subset of signal samples associated with central sample k of the window (its
8
W (m ; a k ) 0 , if {m} NBH (k )
LOC (m ; a k )= ,
0, otherwise
statistical ensemble and alike). For such criteria, optimal processing algorithm is the
a kopt = arg min AV LOC (m ; a k )LOSS (a m , a m )
M (b a ) m
algorithm.
on signal true values that are required to specify the locality function. For these values
are not known and are the goal of the processing, this implies that optimal estimation
(
ak(t ) = ESTM NBH (t 1) )
where t is iteration index. In iterative filtering, filters are supposed to converge to
substantially outperform non-iterative ones. Figs. 2 illustrates the work of some of the
9
An important problem of iterative filtering is that of adjustment of
data that takes place in course of iterations. This may require iterative wise change of
the filter parameters. One of the possible solutions of the problem is to combine in
one filter several filters acting in parallel branches and switch between them under
be implemented in cascade filtering when each filter in cascade operates with its own
neighborhood and estimation operation. Note also, that, from classification point of
view, one can treat cascade filters as an implementation of hierarchical multiple stage
process of scanning signal by the filtering window, those that are already estimated in
previous positions of the window. Two examples of recursive filters are shown in
9. Some new filters that emerge from the structurization and unification
approach
analysis may also lead to new filters that fill in logical niches in the classification.
10
of the sigma-filter (Table 5). Original Sigma filter tends to leave untouched
isolated noisy pixels (Fig. 2c). EV-neighborhood of these pixels is very small in size
threshold Thr, median over the window (or, in general any other of SMTH
regarded as a special case of Size(Evnbh) filter for Vpl = Vmn = 0 . It can be used
for enhancement of small gray level inhomogeneity of images that are composed of
special case for P=1. When P=0, P-histogram equalization results in automatic local
allow flexible image local contrast enhancement. One of the immediate applications
Sigma, Trimmed mean filters and alike) select from samples of the filter window
11
those that are useful for subsequent estimation operation by evaluation of their
nearness to the selected sample in terms of their gray levels and ranks. It certainly
may happen that the resulting neighborhood will contain samples that are not spatially
connected to the center of the neighborhood. One can refine such a selection by
parallel signal processors. The most natural way is to implement the filters in multi
layer parallel networks with neuro-morphic structure. Each level of such a network is
connected with corresponding sub-arrays of processors on the previous layer that form
their neighborhood. The processors in each layer work in parallel and process
neighborhood pixels formed on the previous layer to produce output for the next
level or finally, general filter output (Fig. 5). Modern advances in smart pixel arrays
processors ([15]).
computing pixel attributes and forming pixel neighborhood. The networks are
Note that the network for computing pixel rank (Fig. 6) can by itself serve as a filter
12
RANK(NBH).
11. Conclusion
applicable for multi component signals such as color or multi spectral images as well,
additional efforts.
12. Acknowledgement
The work was partly carried out at Tampere International Center for Signal
13
13. References
1988
Press, 1992
1996
10. E., Dougherty, J. Astola, Nonlinear Filters for Image Processing, Eds., IEEE
publ., 1999
11. L.P. Yaroslavsky, K.O. Egiazarian, J.T. Astola, Transform domain image
14
13. P. D. Wendt, E. J. Coyle, and N. C. Gallagher, Jr., Stack Filters, IEEE Trans.
On Acoust., Speech and Signal Processing, vol. ASSP-34, pp. 898-911, Aug.
1986.
14. http://www.eng.tau.ac.il/~yaro/RecentPublications/index.html
15
Table 1. Typical attributes of digital signals
Primary attributes
Value ak
Co-ordinate k(a)
Secondary attributes
Number of neighborhood elements with
Cardinality H(a)=HIST(NBH,a) the same value as that of element a
(defined for quantized
signals): H (a ) = (a a k )
k NBH
16
Table 2. Estimation operations
OperationDenotation Definition
SMTH: Data smoothing operations
Arithmetic MEAN(NBH) Arithmetic mean of samples of the
neighborhood
operations
PROD(NBH) Product of samples of the neighborhood
K_ROS(NBH) Value that occupies K-th place (has rank K) in the variational
row over the neighborhood. Special cases:
(K-th rank
MIN(NBH) Minimum over the neighborhood (the first term
order statistics) of the variational row)
MEDN(NBH) Central element (median) of the variational row
MAX(NBH) Maximum over the neighborhood (the last term
of the variational row);
MODE(NBH) Value of the neighborhood element with the highest cardinality:
arg max (H (a ))
a
17
Table 3. Vectorial neighborhood building operations.
FUNC(NBH)
Element wise functional transformation of neighborhood elements
MULT_Attr(NBH)
Multiplying elements of the neighborhood by some weights
MULT_C(NBH) weighting coefficients are defined by element co-
ordinates
MULT_V(NBH) weight coefficients are defined by element values
MULT_R(NBH) weight coefficients are defined by element ranks
MULT_H(NBH) weight coefficients are defined by the cardinality of the
neighborhood elements
MULT_G(NBH) weight coefficients are defined by certain geometrical
attributes of the neighborhood elements,
MULT_AA(NBH) weight coefficients depend on combination of attributes,
for instance,
MULT_CR(NBH) on both co-ordinates and ranks of neighborhood
elements
REPL_Attr(NBH)
Replicating elements of the neighborhood certain number of times according to
certain elements attribute
SELECT_Attr(NBH)
Attribute controlled selection of one sub-neighborhood from a set:
SELECT_A(NBH) = Subnbh
C-neighborhoods: pixel co-ordinates as attributes
SHnbh Selection of neighborhood elements according to their
Shape-neighborhoods co-ordinates. In 2-D and multi-dimensional cases:
neighborhoods of a certain spatial shape.
V-neighborhoods: pixel values as attributes
EVnbh( NBH ; a k ; Vpl ; Vmn ) A subset of elements with values {a n } that
"epsilon-V"-neighborhood satisfy inequality: a k Vmn a n a k + Vpl .
KNVnbh( NBH ; a k , K ) A subset of K elements with values {a n } closest
"K nearest by value"- to that of element a k .
neighborhood of element a k
RNGnbh(NBH,Vmn,Vmx)- A subset of elements with values {Vk} within a
Range-neighborhood specified range {Vmn<Vk<Vmx)
18
Table 3. Vectorial neighborhood building operations (cntd).
R-neighborhoods:
pixel ranks as attributes
ERnbh( NBH ; a k ; Rpl ; Rmn ) A subset of elements with ranks {Rn }
epsilon-R- neighborhood that satisfy inequality:
Rk Rmn Rn Rk + Rpl .
KNRnbh( NBH ; a k , K ) - A subset of K elements with ranks closest
K-nearest by rank neighborhood of to that of element a k .
element ak
Qnbh (NBH , Rleft , Rright ) Elements (order statistics) whose ranks
Quantil-neighborhood {Rr } satisfy inequality
1 < Rleft < Rr < Rright < SIZE (Wnbh )
H-neighborhoods:
pixel cardinalities as attributes
CLnbh( NBH ; a k ) - Neighborhood elements that belong to the
"Cluster" neighborhood of element a k . same cluster of the histogram over the
neighborhood as that of element a k .
G-neighborhoods
Geometrical attributes
FLAT(NBH) Neighborhood elements with values of
Flat-neighborhood Laplacian (or module of gradient) lower
than a certain threshold
SELECTION OF SUB-NEIGHBORHOOD
FROM A SET OF SUB-NEIGBORHOODS
MIN_Std(SubWnbh1, SubWnbh2, , Neighborhood standard deviation as the
SubWnbhn ) attribute
19
Table 4 W-neighborhood (NBH1-based) filters
Signal smoothing filters
Moving average
filter a k = MEAN( Wnbh )
"Ranked order" a k = K _ ROS( Wnbh )
("percentile") Median filter ak = MEDN( Wnbh )
filters
MAX-filters ak = MAX( Wnbh )
MIN- filters a k = MIN( Wnbh )
Adaptive Mode
Quantization a k = MODE( Wnbh )
filter
Signal enhancement filters
Local histogram
equalization a k = RANK (Wnbh)
Quasi-range filter a k = QSRNG( Wnbh ) = R_ROS( Wnbh ) - L_ROS( Wnbh )
Local variance a k = STDEV( Wnbh )
filter
20
Table 5. Two-stage (NBH2 -based) filters classified according to the type of the
neighborhood used
FUNC(NBH)
SMTH (Qnbh(Wnbh , R , R ))
filtering
filters left right
MEDN (Qnbh(Wnbh , R , R ))
Median
filter left right
21
Table 6. Three stage (NBH3-based) filters
Transform Soft a k = MEAN(H T( Wnbh ));
domain
filters
thresholding
[ (
H = diag max T( Wnbh ) 2 T( Wnbh ) ,0
2 2
)]
Hard a k = MEAN (STEP{T( Wnbh ) } T( Wnbh )) ,
thresholding
where is a filter parameter,
0 , x 0
STEP ( x ) =
1 , x > 0
Local Linear 2
2
Minimum Mean a = 1 a + MEAN( Wnbh ) ,
Square Error
k
(STD (Wnbh ) ) 2 k
(STD (Wnbh )) 2
Polynomial filters ak =
MEAN(MULT_C(PROD(SubWnbh1 ),..., PROD(SubWnbhn )))
Weighted
Majority of m ( (
ak = MEAN MULT_R MIN_RNG SubRnbhi(m ) ({ }))) ,
Values with
Minimum Range
{
where SubRnbh i (m )
} are rank based sub-neighborhoods of m
-filters, Shorth- elements.
filters
22
Table 8. Cascade filters
Multistage Median Filters: cascaded median filters
23
T able 10.
( ( (
a k = STEP SIZE EVnbh Wnbh ; a k ; Vpl ; Vmn Thr )) )
( ( ))
Size controlled
Sigma-filter MEAN EVnbh a k + MEDN(SHnbh )
STEP (Thr SIZE(EVnbh(Wnbh ; a k
)))
; Vpl ; Vmn ,
where
0 , x 0
STEP ( x ) = .
1 , x > 0
Size_EV filter ak = SIZE(EVnbh(Wnbh ; Vpl ; Vmmn ))
a a max
a k = (H (v )) / (H (v ))
P P
P- histogram
v =0 v =0
equalization
Cardnl-filter a k = HIST( Wnbh , a k )
NBH2-histogram equalization
EVnbh-histogram ak = RANK (EVnbh(Wnbh ; ak ; Vpl ; Vmn ))
equalization
KNVnbh-histogram ak = RANK (KNV (Wnbh ; ak ; K ))
equalization
SHnbh-histogram a k = RANK(SHnbh )
equalization
24
Fig. 1 Illustrative flow diagram of signal filtering by a nonlinear filter with 2-stage
neighborhood building procedure
25
a) Noisy image; noise stdev=20 b) Sigma filter, Evpl=Evmn=20, Wnbh=5x5
It
c) Iterative sigma filter, Evpl=Evmn=20, d) Iterative SizeEV-contr. Sigma filter;
Wnbh=5x5; 5 iterations Evpl=Evmn=20, Wnbh=5x5; Thr=5; 5 iterations
e) Noisy image; stdev of additive noise 20; f) Iterative SizeEV-contr. Sigma filter;
probability of impulse noise 0.15 Evpl=Evmn=20, Wnbh=5x5; Thr=5; 5 iterations
Fig. 2 Comparison of noise suppression capability of Sigma- and Size-EV-
controlled Sigma-filters
26
a) Original image
b) Size-EV-filtered image
c) Cardnl-filtered image
27
Initial MRI image
RANK(Wnbh25x25)
RANK(EV(Wnbh25x25;7,7))
Fig. 4. Wnbh and EV-neighborhood local histogram equalization
28
feedback
29
Input layer Output layer
30
Input layer Layer of look-up-tables IOutput
31