IN 384, H-001 SEGMENTATION METHODS 1/11 001 Fritz Albregtsen INTRODUCTION Automatic thresholding is important in applications where speed or the physical conditions prevent human interaction. In bi-level thresholding, the histogram of the image is usually assumed to have one valley between two peaks, the peaks representing objects and background, respectively. Thresholding is usually a pre-process for various pattern recognition techniques. Thresholding may also be a pre-process for adaptive filtering, adaptive compression etc. Parametric versus Non-parametric Automatic versus Interactive Parametric techniques: Estimate parameters of two distributions from given histogram. Difficult or impossible to establish a reliable model. Non-parametric case: Separate the two gray level classes in an optimum manner according to some criterion between-class variance divergence entropy conservation of moments. Nonparametric methods are more robust, and usually faster. Automatic means that the user does not have to specify any parameters. There are no truly automatic methods, always built-in parameters. Distinction between automatic methods and interactive methods. Distinction between supervised (with training) and unsupervised (clustering).
Global and Non-contextual? Global methods use single threshold for entire image Local methods optimize new threshold for a number of blocks or sub-images. Global methods put severe restrictions on the gray level characteristics of objects and background the uniformity in lighting and detection The fundamental framework of the global methods is also applicable to local sub-images. Non-contextual methods rely only on the gray level histogram of the image. Contextual methods make use of the geometrical relations between pixels. Bi-level thresholding The histogram is assumed to be twin-peaked. Let P 1 og P betheaprioriprobabilities of background and foreground. (P 1 +P =1). The two distributions are given by b(z) and f(z). The complete histogram is given by p(z) =P 1 b(z)+p f(z) The probabilities of mis-classifying a pixel, given a threshold t: E 1 (t) = t f(z)dz E (t) = b(z)dz t The total error is : E(t) =P 1 b(z)dz + P t t f(z)dz Differentiate with respect to the threshold t E t =0 P 1 b(t)=p f(t) Bi-level thresholding For Gaussian distributions P 1 e (T µ 1 ) σ 1 = P e (T µ ) σ πσ1 πσ We get a quadratic equation: (σ1 σ ) T +(µ 1 σ µ σ1) T +σ1µ σµ 1 +σ1σ ln P 1σ =0 P σ 1 Two thresholds may be necessary! If the two variances are equal σ B = σ F = σ T = (µ 1 + µ ) σ + (µ 1 µ ) ln P P 1 If the aprioriprobabilities P 1 og P are equal T = (µ 1 + µ ) The method of Ridler and Calvard The initial threshold value, t 0, is set equal to the average brightness. The threshold value for the k + 1-th iteration is given by t k+1 = µ 1(t k )+µ (t k ) = 1 t k z=0 zp(z) G 1 t k z=0 p(z) + z=t k +1 zp(z) G 1 t k +1 p(z) µ 1 (t k ) is the mean value of the gray values below the previous threshold t k,andµ (t k ) is the mean value of the gray values above the previous threshold. Note that µ 1 (t) andµ (t) are the a posteriorimean values, estimated from overlapping and truncated distributions. The aprioriµ 1 and µ are unknown to us. The correctness of the estimated threshold depends on the extent of the overlap, as well as on the correctness of the P 1 P -assumption.
Entropy-based methods Kapur et al. proposed a thresholding algorithm based on Shannon entropy. For two distributions separated by a threshold t the sum of the two class entropies is ψ(t) = t p(z) p(z) ln P 1 (t) P 1 (t) G 1 p(z) p(z) ln 1 P 1 (t) 1 P 1 (t) Using z=0 z=t+1 H t = t p(z)ln(p(z)) z=0 H G = G 1 z=0 p(z)ln(p(z)) the sum of the two entropies may be written as ψ(t) =ln [P 1 (t)(1 P 1 (t))] + P 1 (t) + H G H t 1 P 1 (t). The discrete value T of t which maximizes ψ(t)isnow the selected threshold. H t Preservation of moments Gives threshold without iteration or search. The observed image f may be seen as blurred version of the thresholded image g with gray levels z 1 and z. The method selects a threshold T such that if all belowthreshold values in f are replaced by z 1, and all abovethreshold values are replaced by z, then the first three moments are preserved. The i-th moment m i of the image f may be computed from the normalized histogram p(z) by m i = G 1 p j (z j ) i, i =1,,3. j=0 Let P 1 (t) andp (t) denote the a posteriori fractions of the below-threshold and above-threshold pixels in f. Then the moments of g are given by m i = P j (t)(z j ) i, i =1,,3. j=1 We want to preserve the moments j=1 P j (t)(z j ) i = m i = m i = G 1 and we have j=0 P 1 (t)+p (t)=1 p j (z j ) i, i =1,,3. Solving these four equations will give the threshold T. Solving the equations In the bi-level case, the equations are solved as follows c d = c 0 =(1/c d ) c 1 =(1/c d ) m 0 m 1 m 1 m m m 1 m 3 m m 0 m m 1 m 3 z 1 =(1/) [ c 1 (c 1 4c 0) 1/] z =(1/) [ c 1 +(c 1 4c 0 ) 1/] P d = P 1 =(1/P d ) 1 1 z 1 z 1 1 m z Exponential convex hull Convex deficiency is obtained by subtracting the histogram from its convex hull. This may work even where no valley exists. Upper concavity of histogram tail regions can often be eliminated by considering ln{p(z)} instead of the histogram p(z). In the ln{p(z)}-domain, upper concavities can be produced by bimodality and by shoulders, but not by the tail of normal or exponential, nor by extension of histogram. Transform histogram p(z) byln{p(z)}, compute convex hull, and transform convex hull back to histogram domain by h e (k) =exp(h(k)). Threshold is found by sequential search for maximum exponential convex hull deficiency. The optimal threshold, T, is then chosen as the P 1 -tile (or the gray level value closest to the P 1 -tile) of the histogram of f.
SEGMENTERING Segmentering er ett av de viktigste elementene i et komplett bilde-analyse system. I segmenteringen får vi fram regioner og objekter som senere skal beskrives og gjenkjennes. Vi omtaler to kategorier av metoder, basert på to egenskaper ved piksler i bilder, nemlig likhet og diskontinuitet Ved region-basert segmentering (terskling, groing, split-and-merge) får vi fram de pikslene som ligner hverandre. Dermed har vi alle pikslene i objektet. I kant-basert segmentering finner vi basalelementer kant-, linje-, hjørne-punkter,... I neste steg: Tynner og kjeder sammen til kanter, linjer, hjørner,... Dermed har vi omrisset av objektene. Region-basert segmentering Segmentering deler et bilde opp i regioner. Vi kan finne (deler av) omrisset til regionene i et bilde ved kant-deteksjon. Vi kan segmentere ved terskling. Vi skal nå finne regionene direkte. La R være hele bildet, og anta at det består av regionene R i,i {1,..., n} Regionene danner tilsammen hele bildet Regionene er disjunkte n i=1r i = R R i R j = φ, i j Et predikat P er tilfredsstilt av alle pikslene i hver region P (R i )=TRUEfori {1,..., n} To nabo-regioner er forskjellige mht predikatet P P (R i R j )=FALSEfori j der P (R) er et predikat over pikslene i mengden R og φ er den tomme mengde. FA-in384-edge1- FA/IN384/region-01 Groing Så noen frø-punkter i bildet, og gro regioner ved å ta med nabo-piksler inn i regionen dersom de har egenskaper (gråtone, farge, tekstur, etc.) som faller innenfor en gitt toleranse. Problemer: - Valg av frø-punkter - Valg av egenskaper og toleranser - Stopp-kriterier Lag et histogram over egenskapene. Velg punkter som har en hyppig forekommende egenskaps-vektor. Gitt a priori kunnskap: bruk den! Metoden er ofte applikasjons-avhengig. Teksturerte objekter blir homogene hvis vi bruker passende tekstur-egenskap. Split and merge Gitt en region R i og et predikat P. Split = del en region i to disjunkte regioner. merge = slå sammen to regioner. Split hvis P (R i )=FALSE Merge R j og R k hvis P (R j R k ) =TRUE Stopp når det ikke kan splittes eller merges mer. Spesialtilfelle: - splitt i fire kvadranter hvis P (R i )=FALSE - merge nabo-regioner hvis P (R j R k )=TRUE FA/IN384/region-0 FA/IN384/region-03
Merging of regions Gitt to regioner R 1 og R med perimetre P 1 og P. C = lengden av grenselinjen D = lengde av C der δ(ampl.) <ɛ 1 Merge hvis D min(p 1,P ) >ɛ, ɛ 1/ Dette forhindrer merging av like store regioner. Videre merging hvis D C >ɛ 3, ɛ 3 3/4 Fungerer for intensitets-bilder med få objekter og lite tekstur. Teksturerte regioner blir homogene hvis vi bruker passende tekstur-egenskap. Bruk region-groing i tekstur-egenskaps bilder. Hough-transform Anta at vi har foretatt en kantdeteksjon og en terskling av resultat-bildet. Dermed har vi n punkter som f.eks. beskriver et objekt. Vi vil finne delmengder av disse punktene som ligger på rette linjer. Betrakt et punkt (x i,y i ) og en rett linje y i = ax i + b Hvert punkt (x i,y i ) i bilde-domenet svarer til en rett linje gitt ved b = x i a + y i i parameter-domenet (ab-planet) FA/IN384/region-04 FA/IN384/hough-01 Hough-transform II Del opp ab-planet i akkumulator-celler A [a, b],a [a min,a max ];b [b min,b max ] sett alle A[a,b] := 0; for hvert punkt (x,y) der grad(x,y) > T for alle mulige verdier av a b = -xa + y; A[a,b] := A[a,b] + 1; end end En verdi A [i, j] =M svarer til at M punkter i x, y-planet ligger på linjen y = a i x + b j Denne representasjonen håndterer ikke vertikale linjer! Hough-transform III Benytter normal-representasjonen for en rett linje, gitt ved x cos θ + y sin θ = ρ Hvert punkt (x i,y i ) i xy-planet gir nå opphav til en sinusoid i ρθ-planet. M ko-lineære punkter som ligger på linjen x cos θ j +sinθ j =ρ i gir M kurver som skjærer hverandre i punktet (ρ i,θ j ) i parameter-planet. Lokale maksima => signifikante linjer FA/IN384/hough-0 FA/IN384/hough-03
Hough-transform IV Del opp ρθ-planet i akkumulatorceller A [ρ, θ],ρ [ρ min,ρ max ];θ [θ min,θ max ] Range for θ er ±90 o fra x-aksen horisontal linje har θ =90 o,ρ 0 vertikal linje har θ =90 o,ρ 0 eller θ = 90 o,ρ 0 Range for ρ er ±D der D er lengden av sidekanten i bildet. Hough-transform, problemer Lengde og posisjon til et linjesegment kan ikke finnes. Ko-lineære linjesegmenter kan ikke skilles fra hverandre. Hvordan skal vi finne lokale maksima i parameter-planet, som svarer til sammen hengende linjestykker i bildeplanet? Høy terskel => korte linjestykker går tapt Lav terskel => deteksjon av ikkesammenhengende piksler. Løsning: Lokal terskling. Traverser de piksler som svarer til et maksimum i parameter-planet. Sjekk at gap < toleranse. FA/IN384/hough-04 FA/IN384/hough-05 Hough-transform, lokal gradient Hough-transform, sirkler Gitt et gradient-magnitude bilde g(x, y) som inneholder et linjesegment. Enkel algoritme: for alle g(x i,y i )>T do for alle θ do ρ := x i cos θ + y i sin θ inkrementér A(ρ, θ) FORENKLET: Gitt gradient-magnituden g(x, y) og gradient-komponentene g x and g y, eller φ g (x, y) = arctan ( ) g y g x Algoritme: for alle g(x i,y i )>T do ρ := x i cos(φ g (x, y)) + y i sin(φ g (x, y)) inkrementér A(ρ, φ g (x, y)) Parametrisering av sirkel i xy-planet (x a) +(y b) =c Vi få r altså et 3-dimensjonalt parameter-rom å søke i. Enkel prosedyre, gitt akkumulator A[i, j, k] : sett alle A[a,b,c] := 0; for hvert punkt (x,y) der grad(x,y) > T for alle mulige a og b c = sqrt((x-a)** + (y-b)**); A[a,b,c] := A[a,b,c] + 1; end; end; Andre, mer elegante forslag? FA/IN384/hough-06 FA/IN384/hough-07