Matematisk morfologi V Lars Aurdal Norsk regnesentral Lars.Aurdal@nr.no 4. desember 2003 Segmentering: Watershedtransformen. Oversikt, kursdag 5 Copyright Lars Aurdal, NTNU/NR Copyright Lars Aurdal, NTNU/NR 1 Hva er segmentering Hva er segmentering Segmentering: En prosess som tar utgangspunkt i et bilde (som kan være multispektralt) og som har som mål å generere et nytt bilde der hvert piksel i det opprinnelige bildet er tilordnet en etikett som indikerer dens tilhørighet til en gruppe piksler som deler en eller annen egenskap. Tilhørigheten kan avgjøres ut fra mange kriterier: Pikslene i en gruppe kan ha tilnærmet samme spektralegenskaper. Pikslene i en gruppe kan ha spektralegenskaper som tilfredsstiller et eller annet høyere-ordens statistisk kriterium (tekstur). Segmentering er ikke ikke det samme som klassifisering. Segmentering har som mål å gi hver piksel en etikett som sier noe om denne pikselens tilhørighet til en eller annen gruppe av piksler (gruppe 1, gruppe 2, etc.). Klassifisering har som mål å gi hver slik gruppe en fornuftig fysisk tolkning. Klassifiseringsprosessen avhenger ofte av segmenteringsprosessen som et preprosesseringstrinn. Copyright Lars Aurdal, NTNU/NR 2 Copyright Lars Aurdal, NTNU/NR 3
Hva er segmentering Hva er segmentering En veldig enkel (den enkleste?) formen for segmentering er terskling: Det finnes et hav av ulike segmenteringsmetoder fra de aller enkleste til uhyre komplekse. Segmentering er et av de store gjenværende hindrene for å lykkes med å etablere maskinsyn. Vi skal ta for oss en bestemt segmenteringsmetode, den såkalte watershed transformen (norsk: vannskilletransformen). Figur 1: Gråtonebilde og båndtersklet versjon. Segmenteringen er basert på enkeltpikslers gråtoneverdi. Copyright Lars Aurdal, NTNU/NR 4 Copyright Lars Aurdal, NTNU/NR 5 La oss betrakte et gråtonebilde som et topografisk relieff, det vil si at gråtoneverdier betraktes som høyder over havet. En regndråpe som faller på en slik flate vil renne (i en retning bestemt av den største gradienten) i retning av nærmeste lokale minimum. Alle punkter i det topografiske relieffet som har det til felles at en regndråpe som faller i punktet vil nå ett og samme minimum utgjør et vannfangbasseng. Figur 2: Digitalt terreng. Vannskiller er punkter som ligger på kantene mellom slike bassenger. Copyright Lars Aurdal, NTNU/NR 6 Copyright Lars Aurdal, NTNU/NR 7
Algoritmene for beregning av vannskilletransformen tar utgangspunkt i oversvømmelsesmetoden. La den minste verdien f har i sitt definisjonsområde være h min og den største verdien h max. Figur 3: Digitalt terreng med vannskiller. Et vannfangbasseng assosiert med et minimum M betegner vi med CB(M). Copyright Lars Aurdal, NTNU/NR 8 Copyright Lars Aurdal, NTNU/NR 9 Punktene i CB(M) med høyde mindre enn eller lik h betegner vi CB h (M): La oss til slutt betegne alle punktene som tilhører regionale minima med høyde h med RMIN h ( f ). CB h (M)={p CB(M) f (p) h} = CB(M) T t h ( f ) La oss videre betegne med X h subsettet av alle fangbassengene som har gråtoneverdier mindre enn eller lik h: X h = i CB h (M i ) Copyright Lars Aurdal, NTNU/NR 10 Copyright Lars Aurdal, NTNU/NR 11
Vannfangbassengene bygges nå opp ved å simulere oversvømmelsesprosessen. De først punktene som nås av vannet er de med lavest gråtoneverdi. Disse punktene tilhører de regionale minima av bildet ved nivå h min. Definisjonen av X hmin +1 er basert på analyse av oversvømmelsesprosessen opp til nivå h min + 1. En av to ting kan skje: 1. Enten ekspanderer vannet et allerede eksisterende basseng 2. eller så begynner det å fylle et nytt basseng ved nivå h min + 1. De er også lik X hmin : X hmin = T hmin = RMIN hmin ( f ) Copyright Lars Aurdal, NTNU/NR 12 Copyright Lars Aurdal, NTNU/NR 13 Det finnes (som figuren i neste transparent viser) tre ulike forhold mellom en sammenhengende komponent Y av T t hmin +1( f ) og snittet mellom Y og X hmin. Y Y Y Figur 4: Fylling av vannfangbassenger, tre ulike muligheter. Til venstre tilfellet der Y X hmin = /0, videre tilfellet der Y X hmin /0 og X hmin er sammenhengende og sist tilfellet der Y X hmin /0 og X hmin er ikke sammenhengende. Copyright Lars Aurdal, NTNU/NR 14 Copyright Lars Aurdal, NTNU/NR 15
Tilfelle 1: Y X hmin = /0. I dette tilfellet er Y et nytt regionalt minimum av f på nivå h min + 1. Tilfelle 2: Y X hmin /0 og X hmin er sammenhengende. I dette tilfellet fortsetter fyllingen av et bestemt basseng. Tilfelle 3: Y X hmin /0 og X hmin er ikke sammenhengende. I dette tilfellet har vann fra to ulike bassenger møttes. Dette siste tilfellet byr på litt problemer, hvor skal nå grensen gå mellom de to bassengene. I dette tilfellet innser vi at Y må inneholde mer enn et minimum av f på nivå h min. Betegn disse Z 1,Z 2,...,Z k og la Z i være ett av dem. I dette tilfellet er den beste approksimasjonen for CB hmin +1(Z i ) innflytelsessonen til Z i inne i Y : CB hmin +1(Z i )=IZ Y (Z i ) Copyright Lars Aurdal, NTNU/NR 16 Copyright Lars Aurdal, NTNU/NR 17 Sidesprang: Hva er en influenssone? Definisjon: Settet av piksler i et binært bilde som er nærmere en gitt sammenhengende komponent enn noen annen sammenhengende komponent er denne sammenhengende komponentens innflytelsessone. De to tilfellene der Y X hmin /0 og X hmin er sammenhengende og Y X hmin /0 og X hmin er ikke sammenhengende tilsvarer situasjoner med ekspansjonen av fangbassengene som allerede er nådd av vannet. K1 K2 Disse ekspanderte regionene kan defineres ut fra en enkelt influenssone, influenssonen til X hmin innen T t hmin +1. K3 Figur 5: En sammenhengende komponent og dens influenssone. Derfor er X hmin +1 definert som unionen av influenssonene med de nye regionale minimaene. Copyright Lars Aurdal, NTNU/NR 18 Copyright Lars Aurdal, NTNU/NR 19
, anvendelser Følgende rekursjon holder for alle nivåer h: X hmin +1 = RMIN hmin +1( f ) IZ Tt hmin +1( f )(X hmin ) Gå gjennom andre del av eksemplet som ble brukt i første forelesning. Settet av fangbassenger for et bilde f er lik settet X hmax, det vil si når alle bassengene er fylt: (i) X hmin = T hmin ( f ) (ii) h [h min,h max 1],X h+1 = RMIN h+1 ( f ) IZ Tt h+1 ( f )(X h ) Copyright Lars Aurdal, NTNU/NR 20 Copyright Lars Aurdal, NTNU/NR 21, anvendelser, anvendelser Virkelige terrengmodeller, husk den digitale elevasjonsmodellen vi så første forelesningsdag: Figur 7: DEM med inntegnet watershed. Figur 6: DEM. Copyright Lars Aurdal, NTNU/NR 22 Copyright Lars Aurdal, NTNU/NR 23
, anvendelser Minima-påtrykking (minima imposition), et lite sidesprang Problemet i forrige bilde er at man i terrenget kan ha masse små, regionale minima som påvirker watershedtransformen. Vi vet at vannet renner til havet. Det vil si at vannet alltid renner mot et minimum et sted på kanten av bildet (vann kan tross alt ikke akkumuleres et eller annet sted i terrenget dersom vi antar at alt vann flyter i overflaten). Hvordan oppnår vi at de eneste minima finnes langs kanten av bildet. Minima-påtrykking er en algoritme for å innføre minima i bildet der vi ønsker dem. Vi trenger først en markør for å definere hvor i bildet vi ønsker regionale minima. Vi definerer derfor et markørbilde som følger: { 0, dersom x tilhører en markør f m (x)= t max ellers Copyright Lars Aurdal, NTNU/NR 24 Copyright Lars Aurdal, NTNU/NR 25 Minima-påtrykking (minima imposition), et lite sidesprang 10 10 10 9 9 9 8 8 8 7 7 7 Minima-påtrykking er så en prosess i to trinn: 6 5 4 6 5 4 6 5 4 1. Beregn først det punktvise minimum mellom input-bildet f +1 og markørbildet f m : ( f + 1) f m. 2. Gjør så en morfologisk rekonstruksjon under erosjon av ( f +1) f m fra markørbildet f m : 3 2 1 0 0 2 4 6 8 10 12 14 16 18 3 2 1 0 0 2 4 6 8 10 12 14 16 18 3 2 1 0 0 2 4 6 8 10 12 14 16 18 Figur 8: Digitalt 1D signal med markør, innføring av minima og endelig resultat av minima-påtrykking. R [( f +1) f m ] ( f m) Copyright Lars Aurdal, NTNU/NR 26 Copyright Lars Aurdal, NTNU/NR 27
, anvendelser, anvendelser Figur 9: DEM etter fylling av interne regionale minima. Figur 10: DEM med inntegnet watershed beregnet etter fylling av interne minima. Copyright Lars Aurdal, NTNU/NR 28 Copyright Lars Aurdal, NTNU/NR 29 Øving 10 Gå gjennom eksemplet du finner ved åsepå help watershed i MATLAB. Copyright Lars Aurdal, NTNU/NR 30