Noise Reduction by Fuzzy Image Filtering
1MAHESH T R, 1PRABHANJAN S, 2M VINAYABABU1. Asst Prof., Department ISE, SBMJCE, Bangalore, India
2. Assoc. Prof., Department of MCA, IARE, Hyderabad, India
Title
Noise reduction by using fuzzy image filtering.
Introduction
This project will focus on fuzzy techniques for image filtering. Two important features are presented.1).The filter estimates a “fuzzy derivative” in order to be less sensitive to local variations due to image structures such as edges.
2). The membership functions are adapted accordingly to the noise level to perform “fuzzy smoothing".
For each pixel that is processed, the first stage computes a fuzzy derivative. Second, a set of 16
fuzzy rules is fired to determine a correction term. These rules make use of the fuzzy derivative as input. Fuzzy sets are employed to represent the properties and while the membership functions are fixed, the membership functions are adapted after each iteration.
Fuzzy Rules
A) Fuzzification (Using membership functions to graphically describe a situation).B) Rule evaluation (Application of fuzzy rules).
C) Defuzzification (Obtaining the crisp or actual results).
Implementation
Methodology
- Fuzzy Derivative Estimation
Estimating derivatives and filtering can be seen as a chicken-and-egg problem for filtering. In here it's need a good indication of the edges, while to find these edges we need filtering.
calculates the fuzzy derivative by applying fuzzy rule for 'small' fuzzy set
for(int t=0;t<8;t++)
fuzzyderiv[t] = SmallFuzzySet.ApplyRule(fofxsmall[0][t],
fofxsmall[1][t],fofxsmall[2][t]);
- Fuzzy Smoothing
To compute the correction term for the processed pixel value, they have used a pair of fuzzy rules for each direction. The idea behind the rules is;
If no edge is assumed to be present in a certain direction, the (crisp) derivative value in that direction can and will be used to compute the correction term.
The first part (edge assumption) can be realized by using the fuzzy derivative value.
The second part (filtering) we will have to distinguish between positive and negative values.
calculates the membership values for 'positive' and 'negative' fuzzy sets
for(int t=0;t<8;t++)
fofxpositive[t]=PositiveFuzzySet.fofx(simpderiv[0][t],L);
fofxnegative[t]=NegativeFuzzySet.fofx(simpderiv[0][t],L);
- Defuzzification
delta=0.0;
for(int t=0;t<8;t++)
delta=delta+(positivetruthness[t]-negativetruthness[t]);
delta=((double)L/8.0)*delta;
int outval=inval+(int)delta;
imgout.setPixel(r,c,outval);
Conclusion
The fuzzy filter for additive noise reduction has its main feature, is that it distinguishes between local variations due to noise and due to image structures, using a fuzzy derivative estimation. Fuzzy rules are fired to consider every direction around the processed pixel. Additionally, the shape of the membership functions is adapted according to the remaining amount of noise after each iteration.Finally, the fuzzy filter scheme is sufficiently simple to enable fast hardware implementations. By exploiting fuzzy reasoning at two different stages, the filter is able to perform a very strong noise cancellation without degrading the image structure.
No comments:
Post a Comment