Flater, kanter og linjer INF Fritz Albregtsen

Like dokumenter
Filter-egenskaper INF Fritz Albregtsen

Lokale operasjoner. Omgivelser/naboskap/vindu. Bruksområder - filtrering. INF 2310 Digital bildebehandling FORELESNING 6 FILTRERING I BILDE-DOMÈNET I

Lokale operasjoner. Omgivelser/naboskap/vindu. Bruksområder - filtrering. INF 2310 Digital bildebehandling FILTRERING I BILDE-DOMÈNET I

INF Stikkord over pensum til midtveis 2017 Kristine Baluka Hein

SEGMENTERING IN 106, V-2001 BILDE-SEGMENTERING DEL I 26/ Fritz Albregtsen SEGMENTERING SEGMENTERING

UNIVERSITETET I OSLO

Motivasjon. Litt sett-teori. Eksempel. INF Mesteparten av kap i DIP Morfologiske operasjoner på binære bilder.

Hensikt: INF Metode: Naboskaps-operasjoner Hvorfor: Hvor:

UNIVERSITETET I OSLO

Temaer i dag. Repetisjon av histogrammer II. Repetisjon av histogrammer I. INF 2310 Digital bildebehandling FORELESNING 5.

Motivasjon. Litt sett-teori. Eksempel. INF Kap. 11 i Efford Morfologiske operasjoner. Basis-begreper

INF2310 Digital bildebehandling

UNIVERSITETET I OSLO

DIGITALISERING Et bilde er en reell funksjon av to (eller flere) reelle variable. IN 106, V-2001 BILDE-DANNING. SAMPLING og KVANTISERING

INF februar 2017 Ukens temaer (Kap 3.3 i DIP)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Objekt-bilde relasjonen. Vinkeloppløsnings-kriterier. Forstørrelse. INF 2310 Digital bildebehandling

INF2310 Digital bildebehandling

Eksamen i IN 106, Mandag 29. mai 2000 Side 2 Vi skal i dette oppgavesettet arbeide med et bilde som i hovedsak består av tekst. Det binære originalbil

INF 2310 Digital bildebehandling FORELESNING 5. Fritz Albregtsen. Pensum: Hovedsakelig 3.3 i DIP HISTOGRAM-TRANSFORMASJONER

Filtrering. Konvolusjon. Konvolusjon. INF2310 Digital bildebehandling FORELESNING 6 FILTRERING I BILDEDOMENET I

UNIVERSITETET I OSLO. Dette er et løsningsforslag

Motivasjon. INF 2310 Morfologi. Eksempel. Gjenkjenning av objekter intro (mer i INF 4300) Problem: gjenkjenn alle tall i bildet automatisk.

Repetisjon av histogrammer. Repetisjon av histogrammer II. Repetisjon av gråtonetransform. Tommelfingerløsning

UNIVERSITETET I OSLO

Repetisjon av histogrammer

UNIVERSITETET I OSLO

INF2310 Digital bildebehandling

Spatial Filtere. Lars Vidar Magnusson. February 6, Delkapittel 3.5 Smoothing Spatial Filters Delkapittel 3.6 Sharpening Spatial Filters

Mer om Histogramprosessering og Convolution/Correlation

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling FORELESNING 5. Fritz Albregtsen. Pensum: Hovedsakelig 3.3 i DIP HISTOGRAM-TRANSFORMASJONER

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF februar 2017 Ukens temaer (Kap og i DIP)

UNIVERSITETET I OSLO

Morfologiske operasjoner på binære bilder

Hovedsakelig fra kap. 3.3 i DIP

INF 2310 Digital bildebehandling

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

UNIVERSITETET I OSLO

INF januar 2018 Ukens temaer (Kap og i DIP)

UNIVERSITETET I OSLO

INF 2310 Digital bildebehandling

Punkt, Linje og Kantdeteksjon

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

( x+ π 2) Bakgrunn: Sinus og cosinus. Bakgrunn: Samplet sinus i 1D. Bakgrunn: Samplet sinus i 2D. Bakgrunn: Sinus i 2D. sin( x)=cos.

Hva er segmentering? INF Fritz Albregtsen. Tema: Segmentering av bilder Del 1: - Ikke-kontekstuell terskling

UNIVERSITETET I OSLO

INF Kap og i DIP

Temaer i dag. Geometriske operasjoner. Anvendelser. INF 2310 Digital bildebehandling

UNIVERSITETET I OSLO

Morfologiske operasjoner på binære bilder

Obligatorisk oppgave 1

Introduksjon. Morfologiske operasjoner på binære bilder. Litt mengdeteori. Eksempel: Lenke sammen objekter INF

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Løsning av øvingsoppgaver, INF2310, 2005, kompresjon og koding

Heuristiske søkemetoder III

UNIVERSITETET I OSLO

Filtrering i Frekvensdomenet II

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Biseksjonsmetoden. biseksjonsmetode. Den første og enkleste iterativ metode for ikke lineære likninger er den så kalt

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Gråtonehistogrammer. Histogrammer. Hvordan endre kontrasten i et bilde? INF Hovedsakelig fra kap. 6.3 til 6.6

Prøve- EKSAMEN med løsningsforslag

Temaer i dag. Repetisjon av histogrammer I. Gjennomgang av eksempler. INF2310 Digital bildebehandling. Forelesning 5. Pensum: Hovedsakelig 3.

UNIVERSITETET I OSLO

Midtveiseksamen Løsningsforslag

Kantdeteksjon og Fargebilder

UNIVERSITETET I OSLO

Introduksjon. «Diskret» sinus/cosinus i 1D. Funksjonen sin(θ) INF april 2010 Fourier -- En annen vinkling på stoffet i kapittel 4

45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992

INF 2310 Digital bildebehandling

TDT4105 Informasjonsteknologi, grunnkurs Eksempler

Ikke lineære likninger

Filtrering i bildedomenet. 2D-konvolusjons-eksempel. 2D-konvolusjons-eksempel. INF2310 Digital bildebehandling

Gruvedrift. Institutt for matematiske fag, NTNU. Notat for TMA4240/TMA4245 Statistikk

Matematisk morfologi IV

Statistikk. Forkurs 2018

Oversikt, kursdag 4. Matematisk morfologi IV. Geodesi-transformasjoner: Dilasjon. Geodesi-transformasjoner

Generell informasjon om faget er tilgjengelig fra It s learning. 1 En kort oppsummering Adaptiv filtrering 2. 3 Prediksjon 4

Midtveiseksamen. INF Digital Bildebehandling

Kantsegmentering NTNU

Løsningsforslag, Ukeoppgaver 10 INF2310, våren 2011 kompresjon og koding del II

Morfologiske operasjoner på binære bilder

INF 2310 Digital bildebehandling

Justering av bildets middelverdi og standard-avvik IN 106, V-2001 BILDEFORBEDRING, DEL II FILTRERING 19/ Fritz Albregtsen

Statistikk. Forkurs 2017

Forelesning og oppgaver 8 Filtrering

Motivasjon INF Eksempel. Gjenkjenning av objekter intro (mer i INF 4300) OCR-gjennkjenning: Problem: gjenkjenn alle tall i bildet automatisk.

Ferdig før tiden 4 7 Ferdig til avtalt tid 12 7 Forsinket 1 måned 2 6 Forsinket 2 måneder 4 4 Forsinket 3 måneder 6 2 Forsinket 4 måneder 0 2

Introduksjon. Litt mengdeteori. Eksempel: Lenke sammen objekter. Morfologiske operasjoner på binære bilder. INF2310 Digital bildebehandling

Transkript:

Flater, kanter og linjer INF 160-11.03.2003 Fritz Albregtsen Tema: Naboskaps-operasjoner Del 3: - Canny s kant-detektor - Rang-filtrering - Hybride filtre - Adaptive filtre Litteratur: Efford, DIP, kap. 7.4.3-7.8 Hvis alle pikslene i et sammenhengende område har omtrent like pikselverdier, v, og alle pikslene som grenser opp til dette området har verdier som er forskjellige fra v, kaller vi dette området for en homogen flate. Hvis en flate er karakterisert ved middelverdien µ og standardavviket σ,såvil testen i(x, y) µ > 3σ med 99% konfidens avgjøre om pikslet i(x,y) tilhører samme intensitets-populasjon som pikslene i flaten. Merk at vi her har beskrevet horisontale flater, ikke ramper der gradienten er konstant. En kant definerer vi som overgangen mellom to områder med forskjellig midlere verdi. Merk at en linje består av to kanter. 1 2 Kant-deteksjon Støy-fjerning Det er vanligvis tre steg i kant-deteksjon: Støy-reduksjon Vi forsøker å fjerne så mye støy som mulig, uten å smøre ut kantene. Dette vil typisk være et lavpass-filter, eventuelt et hybrid filter. Kant-filtrering Vi anvender ett eller flere filtre som gir mest respons der hvor det finnes kanter. Dette kan være et høypass-filter eller lignende. Gradient-filter gir to gradient-komponenter. Kan da beregne gradient-magnitude og gradient-retning. Kant-lokalisering Vi må etter-behandle resultatet fra kant-filtreringen for å finne de posisjonene i bildet som svarer til virkelige kanter. Vi vil fjerne mest mulig av støyen uten å ødelegge vital informasjon i bildet. Det er de sjeldne hendelsene (i bilder: kanter og linjer) som bærer den vesentlige informasjonen. For å avgjøre om et piksel er et kant-piksel eller ikke, kan vi bruke en gradient- eller Laplace-operator. Men vi kan også sepå verdien av senter-pikslet og nabo-pikslene innenfor et vindu. Har alle relativt lik verdi, kan vi regne med at vinduet ikke inneholder en kant, og ut-pikslet får en verdi lik gjennomsnittet av inn-pikslene i vinduet. Er senter-pikslet veldig forskjellig fra naboene, kan vi regne med at det er et støy-piksel. Vi glatter dette ut. Hvis nabo-pikslene er svært ulike, kan det gå en kant/linje gjennom vinduet. Dette setter større krav til filtreringen. Vi må velge de riktige pikslene i vinduet, og midle over disse, slik at støyen i flatene glattes ut, samtidig som kantene bevares. Dette er adaptiv filtrering. 3 4

Canny s kant-detektor En optimal kant-detektor som gir oss et best mulig kompromiss mellom støyreduksjon og kant-lokalisering. Lavpass-filtrering med Gauss-funksjon (parameter σ). Finner gradient-magnitude og -retning etter lavpass-filtrering. Kan disse stegene kombineres? Hvis ja, er operatorene separable? Kant-lokalisering: Tynning (non-maximal suppression) Hvis et piksel har en nabo med høyere pikselverdi, settes pikselverdien ned. Hysterese-terskling (to terskler, T h, T l ) Vanskelig/umulig å finne en god gradient-terskel for hele bildet. 1 Merk alle piksler der G>T H 2 Scan alle piksler der G [t l,t h ] 3 Hvis et slikt piksel er nabo til et merket piksel, såmerkerviogsådette pikslet. 4 Gjenta fra steg 2 til stabilitet oppnås. Tema: 4/8-naboskap? Nabo bare for gitt θ? Tema: Valg av [t l,t h ]? Prosedyrene kan gjentas for flere verdier av σ Finn optimal σ, eller kombiner resultatene fra flere σ. Rang-filtrering Vi lager en en-dimensjonal liste av alle piksel-verdiene innenfor vinduet. Vi sorterer listen i stigende rekkefølge. Vi velger en piksel-verdi fra et bestemt sted i den sorterte listen. Denne piksel-verdien er resultatet av filtreringen, og skrives ut til tilsvarende piksel-posisjon i ut-bildet. 5 6 Median-filter Ut-verdi = median av verdiene i et vindu rundt inn-pikslet. Vindu: kvadrat, rektangel, pluss-formet. Rask implementasjon v.hj.a. histogram, med histogram-oppdatering etter hvert som vinduet flyttes. Et av de mest brukte kant-bevarende støy-filtre. Spesielt godt til å fjerne impuls-støy ( salt og pepper ) Problemer: tynne linjer kan forsvinne hjørner kan rundes av objekter kan bli litt mindre Valg av vindus-størrelse og -form kan være viktig! Trimmede Median-filtre Middelverdi-filtret fjerner støy effektivt, men glatter ut kanter. Median-filtret bevarer kanter, men reduserer ikke støyen så godt som middelverdi-filtret Et kombinasjons-filter beholder de gode egenskapene fra begge begrepene. Ut-verdi = middelverdien av alle piksler innenfor naboskapet (vinduet) hvis gråtone-verdi ligger innenfor et intervall omkring median-verdien. For et n n vindu sentrert om (x, y) med inn-verdier f i,i [1,..., n n] får vi f.eks. ut-verdien g(x, y) 1 n 2 2α n 2 α i=α+1 f i, α 0, n2 1 2 eller n n i=1 g(x, y) = W ( f i M )f i n n i=1 W ( f i M ) M = median{f i }, i =1,..., n n MAD = median{ f i M }, i =1,..., n n 1 hvis f W ( f i M ) = i M konst MAD 0 ellers Dette ligner på Sigma-filtret. 7 8

Ny median ved histogram-oppdatering 1 Skal oppdatere median-verdien mens vi flytter et vindu med 2m + 1 rader og 2n + 1 kolonner rundt i bildet. Sett th =(2m+ 1)(2n +1)/2. 2 Sett vinduet ved venstre bildekant, sorter og finn medianen med, og antall piksler med gråtone f med, le-med. 3 For j=-m to m do begin H[f(x-n,y-j)] = H[f(x-n,y-j)] - 1 if f(x-n,y-j) < med then le-med = le-med - 1 end 4 Flytt vinduet ett piksel til høyre For j=-m to m do begin H[f(x+n,y-j)] = H[f(x+n,y-j)] + 1 if f(x+n,y-j) < med then le_med = le_med + 1 end 5 if le_med > th then go to 6 Repeat le_med = le-med + H[med] med = med + 1 until le-med >= th. Go to 7. 6 Repeat med = med - 1 le_med =le-med - H[med] until le-med <= th 7 Hvis filtermasken ikke er ved høyre kant av bildet, gå til 3. 8 Hvis filtermasken ikke er ved nedre kant av bildet, gå til 2. Andre implementasjoner av Median Vanligvis finner vi medianen (og andre rang-verdier) ved sortering (e.g. QuickSort). Da er median-filtrering langsommere enn middelverdi. Ser vi på bit-ene til pikslene (msb til lsb) er det omvendt! Vi skal finne det T =5. av 7 piksler med bit-mønster Bi: i B1 B2 B3 B4 1 0 0 1 1 f1 = 1+2 = 3 2 1 1 0 1 f2 = 1+4+8=13 3 1 1 0 0 f3 = 4+8 =12 4 0 1 1 0 f4 = 2+4 = 6 5 1 0 0 0 f5 = 8 = 8 6 0 1 1 0 f6 = 2+4 = 6 7 1 1 1 0 f7 = 2+4+8=14 La Si være en bit-vektor for forkastede piksler. N er en kumulativ sum av piksler; skal konvergere mot T. Sett N =0ogfyllB0 og S0 med 1. B0 S0 B1 S1 B2 S2 B3 S3 B4 S4 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 N = 0 3 4 6 5 1 N = n0 =3<T. De tilhørende piksler forkastes (s1 =0). Den pikselverdien vi jakter på har 1 som msb. 2 N = n0 + n10 =4<T. Tilhørende piksel forkastes (s2 =0). Vårt piksel skal ha 11 som ledende bits. 3 N = n0 + n10 + n110 =6>T. Vi skal ha 110 som ledende bits, og alle andre kan forkastes. 4 N = n0 + n10 + n110 n1101 =5 T. Gir oss pikslet med bit-mønster 1100. 9 10 Min og Max filtre Disse filtrene finner hhv laveste og høyeste pikselverdi innfor et vindu. Begge gir en ikke-lineær blurring av bildet. Krever ikke sortering av pikslene i vinduet. Raskere enn full sortering. n 1 sammenligninger mot n log 2 (n) Vi skal møte igjen disse filtrene senere!!! Kombinasjoner av Min- og Max-filtre La min w (f(x, y))) og max w (f(x, y))) bety den minste og største verdien f har innenfor et vindu w sentrert om (x, y). La vinduet flytte seg gjennom alle mulige posisjoner i bildet. Da vil to-pass operasjonen g 1 (x, y) =max(min(f(x, y))) fjerne topper som er mindre enn vinduet, mens g 2 (x, y) =min(max(f(x, y))) fyller daler som er mindre enn vinduet. Vil vi forsterke alle strukturer som er mindre enn vinduet, tar vi g = f + α(2f max(min(f)) min(max(f))) Min- og Max-operasjonene på rektangulære (m n) vinduer er separable i den forstand at de kan utføres itopassmedet(n 1) og et (1 m) vindu. 11 12

Mode-filter Max-Min filter Ut-verdi = hyppigst forekommende verdi i et vindu rundt inn-pikslet. Implementeres v.hj.a. histogram, med histogram-oppdatering etter hvert som vinduet flyttes. Anvendes mest på klassifikasjons-resultater, for å fjerne isolerte piksler (bilde-generalisering). Forutsetter noen få mulige verdier, og brukes derfor sjelden på gråtone-bilder. Også kalt Range-filter. Output er differansen mellom høyeste og laveste pikselverdi innenfor et lokalt vindu. Raskt filter. Ny verdi ved oppdatering. Fungerer som en kant-detektor uten retningsangivelse. Kan kombineres med tynning og hystereseterskling til pseudo-canny. Kan brukes til high-boost. Bør ikke brukes med store vinduer. 13 14 KNN-filtret KNCN-filtret KNN = K Nærmeste Nabo. Ut-verdi = gjennomsnitt (eller median) av de k pikslene i vinduet som ligger nærmest senterpikslet igråtone-verdi. Kan sees som en modifikasjon av middelverdi-filtret (eller median-filtret), der man tar med de k mest aktuelle av nabo-pikslene. Problem: K er konstant for hele bildet. Velger vi for liten k blir filtret lite effektivt som støyfjerner. For stor k fjerner tynne linjer og hjørner, og glatter ut kanter. k = 1 : ingen effekt k < n : bevarer tynne linjer k < ( n 2 +1)2 : bevarer hjørner k < ( n 2 +1)n: bevarer rette kanter KNCN = K Nearest Connected Neighbour. Ligner på KNN, men tar mer hensyn til pikslenes plassering. Bruker ikke vindu. Vi ønsker å midle over sammenhengende piksler med homogen intensitet. Algoritme: f(x,y) = pikselverdi i (x,y) merk(x,y); for i := 1 to k do begin sammenlign pikslene som 1) er nabo til de merkede pikslene 2) ikke er merket; merk(pikslet som ligner mest p} f(x,y)); end; g(x,y) = middelverdi(merkede piksler); Nabo kan her være 4- eller 8-nabo. Fordel: Bevarer alle homogene sammenhengende objekter > k-1. 15 16

Sigma-filtret Invers gradient filtre Ut-verdi = middelverdien av alle piksler innenfor naboskapet (vinduet) hvis gråtone-verdi ligger innenfor f(x,y) ±tσ, der t er en valgt parameter, og σ er estimert i homogene områder i bildet. m n g(x, y) = i= m j= n w(i, j)f(x + i, y + j) m n i= m j= n w(i, j) w(i, j) = 1 hvis f(x, y) f(x + i, y + j) tσ 0 ellers Minner om et KNN-filter der filtret selv finner k for hver posisjon av vinduet. Problem: Fjerner ikke isolerte støypiksler. Løsning: Finn M = antall piksler med w = 1. Bruk middelverdi av naboene hvis M<T. g 1 (x, y) = M = m n i= m j= n w(i, j) g(x, y) hvis M>T middelverdi(f) ellers Det finnes flere varianter av denne typen filtre. En av de enkleste er g(x, y) = 1 2 f(x, y)+1 w(k, l)f(k, l) 2k,l n8 der vektene w i naboskapet n8 er gitt ved δ(k, l) w(k, l) = i,j n8 δ(i, j) δ(i, j) = f(x+i, y + j) f(x, y) 1 δ(i, j) =2 hvis f(x + i, y + j) f(x, y) = 0 Hvis f(x, y) =pog f n8 = q, får senterpikslet w = 1 2 og hvert av nabopikslene w = 1 16, også hvisp=q: g= 1 2 p+1 δ 2n88δ q g= 1 2 p+ 1 n816 q = 1 (p + q) 2 Vi får vekter som er avhengig av hvor nær pikslene ligger senterpikslet i verdi. 17 18 Gradient-masker Max Homogenitet filtre Gitt maskene M 1 - M 4 x2 x3 x1 P y1 y3 y2 x1 x2 x3 P y3 y2 y1 x1 x2 y3 P x3 y2 y1 y3 x1 y2 P x2 Beregn gradientene R i = (x 1 + x 2 + x 3 ) (y 1 + y 2 + y 3 ) for maskene M i, i [1,.., 4]. Finn den masken, som gir lavest gradient, og sett utverdi lik middelverdien over denne masken. g(x, y) = 1 6 3 j=1 x j + 3 y1 y j j=1 x3 Del opp vinduet i sub-vinduer som alle inneholder senterpikslet. Finn det mest homogene sub-vindu, dvs middelverdi nærmest f(x,y), (max similarity) lavest varians (max homogeneity) Ut-verdi = middelverdi over det mest homogene sub-vindu. x x 19 20

Adaptive filtre Fler-oppløsnings metoden Hvis en flate er karakterisert ved fordelingen N(µ, σ), så vil testen i(x, y) µ > 3σ med 99% konfidens avgjøre om pikslet i(x,y) tilhører samme intensitetspopulasjon som pikslene i flaten. Et piksel betraktes altså som støy dersom det er signifikant forskjellig fra sine naboer. if abs( f(x,y) - middelverdi ) > t then g(x,y) := middelverdi else g(x,y) := f(x,y) endif; MMSE-filteret er et godt alternativ hvis vi har et estimat av støy-variansen σn 2 : g(x, y) =f(x, y) σ2 [ ] n f(x, y) f(x, y) σ 2 (x, y) De to ytterpunktene for dette filteret er σ 2 (x, y) σ n g(x, y) f(x, y) σn 2 << 1 f(x, y) σ 2 (x, y) Hovedproblemet er å finne kanter i et støy-fylt bilde. En liten kant-detektor slår kraftig ut både på kant og støy, mens en stor gir mindre utslag på støy. Hovedidé : Beregn gradient i ulike retninger med store og små matriser. Beregn produktet av gradientene fra matriser med ulike størrelser i samme retning. Kant-styrke = Max(produktene i ulike retninger). 21 22 Iterasjon Mange filtre kan kjøres flere ganger (itereres). La inn-bildet være ut-bildet fra forrige iterasjon. Det kan være nødvendig å endre filter-parametre for hver iterasjon. Eksempel: KNN(3x3, k=6) k 0.75n 2 KNN(5x5, k=12) k 0.5n 2 KNN(7x7, k=12) k 0.25n 2 Vi går opp gjennom bilde-pyramiden (mot lavere oppløsning) ved å øke vindu-størrelsen, mens vi reduserer effekten av støy-piksler ved å redusere k/n 2. ANVENDELSE KATEGORI METODE Støy- Bilde- Kantreduksjon skjerping deteksjon Lavpass Homogen lavpass filtrering Gauss-filter Høypass Gradient-operatorer filtrering Høypass (punkt) High Boost Unsharp Masking Laplace-operator LoG-operator Canny-detektoren Rang Median filtrering Min og Max Kombinasjoner av Min og Max Mode Range Hybrid α-trimmet median filtrering MMADTM Adaptiv KNN filtrering KNCN Sigma Invers gradient Gradient-masker Max Homogenitet MMSE 23 24