280 likes | 432 Views
Impulse Noise Detection & Reduction From Color Images Using Fuzzy Logic. 1.Introduction. Fuzzy Set: If X is a universe of discourse & x is a particular element of X , then a fuzzy set A de fined on X is A={(x,µ A (x)), x€X} & µ A (x):X->[0,1] Noise of Digital Images:
E N D
Impulse Noise Detection & Reduction From Color Images Using Fuzzy Logic Orissa Institute of Technology(OIT) INDIA
1.Introduction Fuzzy Set: If X is a universe of discourse & x is a particular element of X , then a fuzzy set A de fined on X is A={(x,µA(x)), x€X} & µA(x):X->[0,1] Noise of Digital Images: • Digital images are corrupted by impulse noise during acquision or transmission through communication cahannel. • 3-types of noises(impulse, additive & multiplicative) • Removal of impulse noise & enhance image quality done filters like median filter,FIRE, DS-FIRE, MFF(contain 3 subfilters),IFCF, Modified IFCF etc. Orissa Institute of Technology(OIT) INDIA
Impulse Noise for (RGB) Color Images: Let O:Original color digital image O(i,j,1) , O(i,j,2) , O(i,j,3) be red,green,blue component of a pixel at O(i,j) Then, Impulse noise for color images as [A(i,j,1)A(i,j,2)A(i,j,3)]= [O(i,j,1)O(i,j,2)O(i,j,3)], with prob. 1-pr Noisy with prob. pr Where, pr-Probability that a pixel corrupted & A-corrupted image Orissa Institute of Technology(OIT) INDIA
Impulse Noise for Color Images contd . . . An impulse noise pixel for color images is R G B Noise pixel=[pk O(i,j,2) O(i,j,3)] or [O(i,j,1) p’k O(i,j,3)] or [O(i,j,1) O(i,j,2) p”k] or [O(i,j,1) p’k p”k] or [pk p’k O(i,j,3)] or [pk O(i,j,2) p”k] or [pk p’k p”k] with k€{1,......,n}; n≤2m-1, where pk,p’k,p”k€(0,2m-1) B.FTSCF Method: 2 steps i.e. Detection(local & global), filtering • After detection method ,the filtering is concentrated on impulse noise pixels taking into account the color information of a certain neighborhood around a given central pixel. Orissa Institute of Technology(OIT) INDIA
II.Fuzzy Impulse Noise Detection • Use fuzzy gradient values to test noisy of pixel A. Fuzzy gradient Values: If AR red component of i/p image then ▽(k,l)AR(i,j)= AR(i+k,j+l)-AR(i,j) with k,l€{-1,0,1} [Neighbourhood of a central pixel ] Orissa Institute of Technology(OIT) INDIA
Fuzzy Impulse Noise Detection contd . . . • The pair(i,j): center of gradient • 8 gradient values : basic gradient values • If value of one basic gradient is large then some impulse noise at the central red component pixel(i,j) (... Partially true) 1) One of neighbour is noisy, while central pixel is uncorrupted or 2) An edge or a texture element is present Case-I solved by 8 different values rather than one gradient value Orissa Institute of Technology(OIT) INDIA
Fuzzy Impulse Noise Detection contd . . . • Case-II (edge image pixel) solved by one basic and two related gradient values for each direction. • The two related gradient values in the same direction, are determined by the centres making a right-angle with the direction of the first (basic) gradient. • e.g. in the NW-direction (i.e. for (k, l) = (−1,−1)) we calculate the basic gradientvalue ▽(−1,−1)A(i, j) plus the two related gradientvalues ▽(−1,−1)A(i−1, j+1) and ▽(−1,−1)A(i+1, j−1). Orissa Institute of Technology(OIT) INDIA
Involved gradient value to calculatefuzzy gradient Orissa Institute of Technology(OIT) INDIA
How to calculate ▽FRA(i, j) ▽FRA(i, j) for direction R (R ∈ {NW, N,NE, E, SE, S, SW,W}), is calculated by IF |▽R A(i, j)| is large AND |▽′R A(i, j)| is small OR |▽R A(i, j)| is large AND |▽′′R A(i, j)| is small OR ▽R A(i, j) is big positiveAND(▽′R A(i, j)AND▽′′R A(i, j) are big negative) OR ▽R A(i, j) is big negative AND (▽′R A(i, j) AND ▽′′R A(i, j) are big positive) Then ▽FR A(i, j) is large where ▽RA(i, j) - basic gradient value & ▽′RA(i, j) and ▽′′RA(i, j)- two related gradient values for the direction R. “large”, “small”, “big negative” and “bigpositive” are fuzzy sets. Orissa Institute of Technology(OIT) INDIA
Implementation with membership Function • Fuzzy sets can be represented by a membership function. • In the fig. Horizontal axes all possible gradient values [-255,255] & Vertical axes-membership degree(∈ [0,1]) Fuzzy Rule-I • In fuzzy logictriangular norms and co-norms are used to represent conjunctions (roughly the equivalent of AND operators) and disjunctions (roughly the equivalent of OR operators). e.g. “|▽R A(i, j)| is large AND |▽′R A(i, j)|is small” as minLARGE(| ▽R A(i, j)|),SMALL(| ▽′RA(i, j)|) Orissa Institute of Technology(OIT) INDIA
How to know impulse quantity in an image 1)▽values in R€[0,40] –most likely nonedge & non-noisy pixels e.g.fig(b) 2)▽values in R€[40,125]-most likely edge pixels or noise pixels eg.fig(c) 3) ▽values in R€[125,255]- most likely noise pixels e.g. Fig(d) • Fuzzy sets big positive and big negative is that if the basic gradient and the two related gradients are both large but have different signs then it is a good indication that noise is present. Orissa Institute of Technology(OIT) INDIA
Detection Method Fuzzy Rule2: If a centralpixel (non-border pixel)is an impulse noise pixel • IF most of the eight ▽FRA(i, j) are large THEN the central pixel A(i, j) is an impulse noise pixel • If a pixel (i, j) is detected as an impulse noise pixel, then we store the corresponding greyscale value in a histogram Orissa Institute of Technology(OIT) INDIA
Pseudo-code of the decision procedure. HIST: the noise histogram matrix HIST(i): indicates the amount of selected noise pixels with greyscale value i If((i < 0) or (i > 255)) HIST(i) = 0 TOT: the total quantity of detected noise pixels HIST(m):the maximum histogram value assumed to be located at greyscale value m (m ∈ [0, 255]) (1) IF (HIST(m)/TOT) × 100 < THR1 (2) NO IMPULSE NOISE DETECTED (3) ELSE (4) IF HIST(i)/(HIST(i−1)+HIST(i)+HIST(i+1)) ≥ 0.95 (5) ImpulseNoise(TOT, HIST) (6) ELSE (7) ImpulseNoise&Other(TOT, HIST) (8) END IF (9) END IF Orissa Institute of Technology(OIT) INDIA
Pseudo-code of the Impulsenoise function. If impulse noise is detected we perform the ImpulseNoise function Function ImpulseNoise(real TOT, matrix HIST) (1) temp = 0 (2) FOR k = 1 to 5 (3) kmax = select the kth greatest y−value of the noise histogram (4) kpos = the corresponding greyscale value where the maximum is reached (5) IF ((kmax/TOT) + cum) ≥ THR2 (6) pk = kpos (7) set the 4 parameters (ak, bk, ck, dk) to (pk, pk, pk, pk) (8) temp = temp + (kmax/TOT) (9) ELSE (10) break (11) END IF (12) END FOR Orissa Institute of Technology(OIT) INDIA
Pseudo-code of the Impulsenoise&Other function. Function ImpulseNoise&Other(real TOT, matrix HIST) (1) temp = 0 (2) FOR k = 1 to 2 (3) kmax = select the kth greatest y−value of the noise histogram (4) kpos = the corresponding greyscale value where the maximum is reached (5) IF ((kmax/TOT) + cum) ≥ THR2 (6) pk = kpos (7) selecting 4 parameters (ak, bk, ck, dk) (8) temp = temp+ (kmax/TOT) (9) ELSE (10) break (11) END IF (12) END FOR END Function Orissa Institute of Technology(OIT) INDIA
Fuzzy Set Impulse Noise • It is a set of all color component of each pixels in term of membership function. • Each M.F take zero or more parameters i.e. ak,bk,ck,dk & are used to define slope of each selected intensity value pk • µimpulse(AR(i,j))=max(µnoise-pk(AR(i,j))) k€{1,...,n} Where,AR(i,j)red component intensity value at posn (i,j) • The parameters are calculated as ak=pk-THRa bk=k-THRb THRb=(2/3)THRa ck=k+THRcTHRc=(2/3)THRd dk=k+THRd Orissa Institute of Technology(OIT) INDIA
Filtering Phase • µRimpulse,µGimpulse & µBimpulseare used in filtering phase to reduce impulse noise & preserving color diffreence and edges. • The 2-D Array matrices for different color pixel RG(i,j)=AR(i,j)-AG(i,j) RB(i,j)=AR(i,j)-AB(i,j) GR(i,j)=-RG(i,j) GB(i,j)=AG(i,j)-AB(i,j) BR(i,j)=-RB(i,j) BG(i,j)=-GB(i,j) A.First Iteration: Fuzzy Rule 3:(Combination red & green) IF AR(i,j) is impulse noise OR AG(i,j) is impulse noise THEN ( RG(i,j) is impulse noise ) AND (GR(i,j) is impulse noise) Fuzzy Rule 4:(Red+Blue) IF AR(i,j) is impulse noise OR AB(i,j) is impulse noise THEN (RB(i,j) is impulse noise ) AND (BR(i,j) is impulse noise) Orissa Institute of Technology(OIT) INDIA
Filtering Phase Contd . . . Fuzzy Rule 5: (Green+Blue) IF AG(i,j) is impulse noise OR AB(i,j) is impulse noise) THEN (GB(i,j) is impulse noise) AND (BG(i,j) is impulse noise) How to improve the impulse component: • If red component of a pixel is corrupted (indicated by large membership degree µRimpulse(AR(i,j)) & green,blue component are noise free are indicated by small m.d.s then color difference µRG(i,j), µRB(i,j), µGR(i,j), µBR(i,j) have higher degree. CASE A :If green & blue component of a pixel A(i,j) is noise free(i.e. µG(AG(i,j)= µB(AB(i,j)=0) then filtered red component at posn(i,j) becomes FR(i,j)=(1/2)(AG(i,j)+ΔRG(i,j))+(1/2)(AB(i,j)+ΔRB(i,j)) Orissa Institute of Technology(OIT) INDIA
Filtering Phase Contd . . . CASE B: If the green component of pixel AG(i,j) is noisy & blue component AB(i,j) is noise free (i.e. µG(AG(i,j))>0 & µB(AB(i,j))=0 then the filtered red component at posn(i,j) bocomes FR(i,j)=AB(i,j)+ ΔRB(i,j) CASE C: If the green component AG(i,j) is noise free & blue component AB(i,j) is noisy(i.e. µG(AG(i,j))=0 & µB(AB(i,j))>0) then the filtered red component at posn ( i,j) bocomes FR(i,j)=AG(i,j)+ ΔRG(i,j) Orissa Institute of Technology(OIT) INDIA
Filtering Phase Contd . . . Otherwise: The filtered red component at position(i,j) becomes B.Next Iterations: Successive iteration are necessary to reduce the side effect of previous iterations. C.Stop Criteria: If #e = Amount of pixel values which belong to the support of the fuzzy set more or less impulse noise in the eth iteration, then stop criteria: 1) If there are no pixel values in the support of the fuzzy set (#e = 0) in any iteration e (e ≥ 2). 2) #e is equal to #e−1. 3) Since #1 ≥ #2 ≥ ... ≥ #e−1 ≥ #e hold we can define e = #e−1 − #e. When e is (very) small then we can decide to stop too. Orissa Institute of Technology(OIT) INDIA
Future Work • This method filters out the impulse noise rather than Gaussian noise, So Gaussian filter can be applied afterwards. • Our future research will be concentrated on the construction of other fuzzy filtering methods for color images to supress other type noises like speckle noise,stripping noise etc. • All algorithms described here have liner time complexity(i.e.,O(n)).This means if amount of pixels doubled then time complexity will also be doubled (i.e.,2O(n)). Our future aim is to minimise the time comlexity. Orissa Institute of Technology(OIT) INDIA
H/W & S/W Specification H/W Specification: • Intel Pentium 4 CPU @3.0GHz 512MB DDRAM • Mother Board-Intel 945 GZ Chipset • Integrated graphics @32bit@1280X1124 • Integrated Azallia HD Sound card • Hard Disk WD SATA/80GB@7200 rpm S/W Specification: • Windows XP Media Center with SP-2 • ANSI-C Compiler supporting 32 bit variables • MATLAB version 7.0 Orissa Institute of Technology(OIT) INDIA
Conclusion Our fuzzy two step filter reduce impulse noise very effectively without degrading the image structure. Fuzzy rules are fired every direction around the processed pixel. The shape of membership function are adapted according to remaining amount of noise after each iterations. Orissa Institute of Technology(OIT) INDIA
References 1.www.research-thesis.org/fuzzyfilter.pdf 2.www.elsevier.com/locate/fss 3.Stefan Schulte, Mike Nachtegael, Val´erie De Witte, “A Fuzzy Impulse Noise Detection and Reduction Method,” vol-I & II, Fuzziness and Uncertainty Modelling Research Unit B-9000 Gent, Belgium(pdf virsion) Orissa Institute of Technology(OIT) INDIA
THANKS!!! Orissa Institute of Technology(OIT) INDIA
Queries??? Orissa Institute of Technology(OIT) INDIA