Föreläsning 7 1 Föreläsning 7 2 Bildanalys Rikard Berthilsson Kalle Åström Matematikcentrum Lund 27 september 2005 Segmentering Mål: Dela upp bilden i segment, d.v.s. områden som hör till samma objekt eller har samma egenskaper. Föreläsning 7 Segmentering Region growing Split and Merge Morfologi Erosion, dilatation Öppning, slutning Avståndstransform (Euklidisk, manhattan, chess-boart, Chamfer-3-4) Skelett Tröskling Maskin-inlärning Föreläsning 7 3 Föreläsning 7 4 Region Growing Sätt upp ett kriterium för vad som kan anses vara en region. Börja med en pixel (ett frö). Lägg till pixlar till mängde så länge som kriteriet är uppfyllt. Split and Merge Mål: Dela upp bilden R i n regioner R 1,R 2,...,R n. Använd ett kriterium på vad som är en region: P R i = R R i sammanhängande R i R j = /0, i j (R i disjunkta) P(R i )=TRUE, i = 1,...,n P(R i R j )=FALSE, i j. Exempel 7.1. (Pixelaggregering) P(R i )=TRUE om skillnaden i intensitet är 3 grånivåer. Starta med några punkter och lägg till efter hand.
Föreläsning 7 5 Föreläsning 7 6 Split and Merge (forts.) Idé: Slå ihop områden som är lika och dela upp områden som är olika. P bestämmer vad som är lika och olika. Algoritm 7.1. (Split and Merge) Givet en bild R och en egenskap P. 1. Starta med uppdelningen R = {R 1 } 2. Om P(R i ) =FALSE: Dela upp R i i fyra mindre regioner (SPLIT) 3. Om P(R i R j )=TRUE för två intilliggande regioner R i och R j : Slå ihop R i och R j till en region (MERGE) 4. Fortsätt med steg 2 och 3 tills det inte går att göra något mer Morfologi Operationer på binära bilder. A = {(x,y) Z 2 f(x,y) = 1} betraktas som en delmängd av bilden. Definition 7.1. Låt A och B Z 2. Translationen av A med x = (x 1,x 2 ) Z 2 definieras (A) x = {c c = a+x, a A}. Reflektionen av A definieras  = {c c = a, a A}. Komplementet till A definieras A c = {c c / A}. Differensen av A och B definieras A B = {c c A, c / B} = A B c. Föreläsning 7 7 Föreläsning 7 8 Erosion och dilatation Låt B Z 2 vara en strukturmängd. (Ofta väljs B= cirkel med cntrum i origo.) Definition 7.2. Dilatationen av A med B definieras Kan också skrivas A B = {x ( ˆB) x A /0}. A B = {x (( ˆB) x A) A}. Dilatationen av A med B kan sägas utvidga A med B. Definition 7.3. Erosionen av A med B definieras A B = {x ( ˆB) x A}. Erosionen av A med B kan sägas minska (erodera) A med B. Öppning och slutning Definition 7.4. Öppningen av A med B definieras A B = (A B) B. Öppning = först erosion, sedan dilatation. Ger jämnare kontur. Tar bort trånga passager. Eliminerar tunna delar. Definition 7.5. Slutningen av A med B definieras A B = (A B) B. Slutning = först dilatation, sedan erosion. Ger också jämnare kontur. Fyller ihop smala delar. Fyller i hål.
Föreläsning 7 9 Föreläsning 7 10 Gråskalemorfologi antag att f : R R och b : D b R är funktioner av en variabel Definiera dilatationen som Jämför med faltning ( f b)(s) = max x D b ( f(s x)+b(x)) Erosion definieras som Z ( f b)(s) = ( f(s x)b(x))dx x ( f b)(s) = min x D b ( f(s+x) b(x)) Fysikaliskt är detta precis vad som händer vid svepelektronmikroskåp. Man drar en prob med formen b över ett prov med ytstrukturen f. Resultatet av mätningen blir f b. Gråskalemorfologi Precis som innan definierar vi öppning och slutning som f b = ( f b) b. f b = ( f b) b. Morfologi har visat sig extremt användbart för segmentering Exempel ur boken. Exempel på segmentering. Exempel på top hat transform h = f (f b) Top hat transformen gör detaljerna tydligare. Bilden ( f b) är i någon mening är utjämnad, (bakgrund). Genom att dra bort den får vi fram detaljerna. Föreläsning 7 11 Föreläsning 7 12 Avståndstransform Utgå från en binär bild A Z 2 och en metrik d(x,y) som beskriver avståndet mellan x och y och uppfyller d(x,y) 0 med likhet då och endast då x = y. d(x,y) = d(y,x). d(x,z) d(x,y)+d(y,z) (triangelolikheten) Försök att för varje pixel beräkna det kortaste avståndet till A. Olika metriker ger olika avstånd d E (x,y) = x 2 + y 2 d 4 (x,y) = x + y (Euklidiskt avstånd) (Manhattan) d ch = Chamfer 3-4 ges av masken 4 3 4 3 0 3 4 3 4 Kan beräknas Forward propagation eller Backward propagation Man låter en mask propagera bilden radvis från övre vänstra hörnet och en annan mask radvis från nedre högra hörnet. Detta upprapas tills bilden inte ändrar sig. d 8 (x,y) = max( x, y ) (Chess-board) d oct = kompromiss mellan d 4 och d 8 (Oktagonal)
Föreläsning 7 13 Föreläsning 7 14 Skelett Skelettet till en binär bild, A, definieras För varje punkt, x, i A leta upp den närmaste randpunkten. Om det finns mer en en närmast grannpunkt så tillhör x skelettet till A. Skelettet beror på vilket avstånd (metrik) som valts. Givet skelettet och det aktuella avståndet till randen för varje punkt på skelettet, så kan den binära bilden A återskapas. Beräkningsmetoder: Tröskling Bilda binär bild g från f 1, f(x,y) > T g(x,y) = 0, f(x,y) T T kallas tröskel. Global tröskling Lokal tröskling Optimal tröskling (Lineär diskriminantanalys) Tröskling av kant-bild Med hjälp av avståndskarta (till omgivningen) Med morfologiska operationer (tunning). Föreläsning 7 15 Föreläsning 7 16 Maskin-inlärning Lära en algoritm att hitta intressanta områden (urklipp) i bilder. Två klasser - A (ointressanta urklipp) och B (intressanta urklipp). Tränar algoritmen på många exempel från klasserna A och B. Skapa exempel från klasserna Gråskalebild (x,y) φ(x,y) R. Svep över bilden och klipp ut småbilder Välj features Välj mängd av funktioner Ω (x,y) ψ j (x,y), Tex Haar wavelet bas på Ω. j = 1,...m. Som features kan vi ta RR Ω f k (φ) = φ(x,y)ψ k(x,y)dxdy RRΩ φ(x,y)dxdy, k = 1,...m. Oberoende av intensitet i den urklippta bilden φ. Detta ger värdena f k (a j ) och f k (b j ), j = 1,...n, k = 1,...m. φ j,k (x,y) = φ(σ j (x a k ),σ j (y b k )), (x,y) Ω på olika skalor σ j :s och translationer (a k,b k ). Generera flera sådana urklipp för två klasser A och klass B. Kalla bilderna i klass A för a j, j = 1,...,n och bilderna i klass B för b j, j = 1,...,n.
Föreläsning 7 17 Föreläsning 7 18 Välj nu p fetures f j1,..., f jp. p trösklar σ 1,...,σ p. p+1 vikter c 0,...c p så att funktionen F(φ) = sign(c 0 + p k=1 c j sign( f jk (φ) σ j )). uppfyller F(a j ) = 1 och F(b j ) = 1 för de flesta exempel ur klass A och B. Formulera som optimeringsproblem och lös! Intressanta områden. Intressanta områden. Föreläsning 7 19 Repetition Föreläsning 7 Region growing Split and Merge Morfologi Erosion, dilatation Öppning, slutning Avståndstransform (Euklidisk, manhattan, chess-boart, Chamfer-3-4) Skelett Tröskling Maskin-inlärning