Matematisk morfologi III Lars Aurdal Norsk regnesentral Lars.Aurdal@nr.no 4. desember 2003 Copyright Lars Aurdal, NTNU/NR
Oversikt, kursdag 3 Sammensatte operasjoner: Hit-or-miss-transformen. Skjeletter. Copyright Lars Aurdal, NTNU/NR 1
Den såkalte hit-or-miss-transformen (HMT-transformen) omfatter bruk av to strukturelementer, det ene må passe objektet man studerer mens det andre må passe objektets bakgrunn. HMT-transformen brukes for eksempel for å finne bestemte nabolagskonfigurasjoner så som isolerte forgrunnspiksler etc. Det å legge alle piksler med en bestemt konfigurasjon til et objekt gir oss definisjonen av tykking, mens det å fjerne de samme pikslene gir oss definisjonen av tynning. Copyright Lars Aurdal, NTNU/NR 2
Iterativ anvendelse av tynning med bestemte sammensatte strukturelementer gir den såkalte mediale aksen (skjelettet) for et sett. Skjelettene er viktige i anvendelser så som formanalyse og mønstergjenkjenning. Copyright Lars Aurdal, NTNU/NR 3
Den grunnleggende ideen bak HMT-transformen består i å trekke ut bestemte piksler med helt definerte nabolagskonfigurasjoner fra binære bilder. De aktuelle nabolagskonfigurasjonene defineres ved to strukturelementer. Det første av disse strukturelementene må passe den aktuelle konfigurasjonen mens det andre må passe konfigurasjonens bakgrunn. Begge disse strukturelementene har ett unikt origo. Copyright Lars Aurdal, NTNU/NR 4
Figur 1: Sammensatte strukturelementer for deteksjon av isolerte forgrunnspiksler i henholdsvis 4- og 8-konnektivitet. Copyright Lars Aurdal, NTNU/NR 5
For å utføre en HMT-transform flyttes origo for det sammensatte strukturelementet til alle piksler i det aktuelle bildet. I hver posisjon undersøkes det om det første strukturelementet passer i den posisjonen samtidig som det andre strukturelementet ikke passer i samme posisjon (det vil si at det andre strukturelementet passer i bakgrunnen). Alle piksler der dette er tilfelle tilhører det HMT-transformerte settet. Copyright Lars Aurdal, NTNU/NR 6
Formell definisjon av HMT: HMT B (X)={x (B 1 ) x X, (B 2 ) x X C } Copyright Lars Aurdal, NTNU/NR 7
En alternativ definisjon basert på snitt av erosjoner er følgende: HMT B (X)=ε B1 (X) ε B2 (X C ) Copyright Lars Aurdal, NTNU/NR 8
Husk: B 1 og B 2 må ha felles origo. B 1 og B 2 må ikke overlappe, det vil si: B 1 B2 = /0 hvis ikke vil resultatet av en HMT alltid være det tomme settet /0. Copyright Lars Aurdal, NTNU/NR 9
B B2 B1 X X HMT(X,B) Figur 2: HMT av et sett X med et sammensatt strukturelement B. Copyright Lars Aurdal, NTNU/NR 10
Anvendelser: Isolerte piksler: Isolerte piksler er definert som forgrunnspiksler uten noen forgrunnspiksler blant sine naboer. For å finne disse velges B 1 lik en enkeltstående piksel og B 2 dennes naboer. Endepunkter: Endepunkter er definert som forgrunnspiksler som har nøyaktig én forgrunnspiksel blant sine naboer. Copyright Lars Aurdal, NTNU/NR 11
Figur 3: Inputbilde, strukturelementer for å finne 4-sammenhengende endepunkter og resultatet av en HMT med de fire strukturelementsettene. Copyright Lars Aurdal, NTNU/NR 12
Anvendelser: Multiple punkter: Multiple punkter er definert som forgrunnspiksler som har mer enn to forgrunnspiksler blant sine naboer. Konturpunkter: Konturpunkter er forgrunnspiksler som har minst en bakgrunnspiksel blant sine naboer. Copyright Lars Aurdal, NTNU/NR 13
Hit-or-miss-åpning: I endel anvendelser kan det være interessant å beholde alle pikslene som passer med det sammensatte strukturelementet og ikke bare det som sammenfaller med origo for strukturelementet. Dette kan oppnås ved å dilatere resultatet av en HMT med den transponerte B 1 : γ B (X)=δ ˇ B 1 [ε B1 (X) ε B2 (X C )] Copyright Lars Aurdal, NTNU/NR 14
Figur 4: Inputbilde, strukturelement og resultatet av en hit-or-miss-åpning. Copyright Lars Aurdal, NTNU/NR 15
Tynning: Tynning består i å fjerne alle forgrunnspiksler som har en eller annen bestemt konfigurasjon. I praksis vil det si at man trekker HMT fra det opprinnelige settet. Copyright Lars Aurdal, NTNU/NR 16
Tynning, binært tilfelle: Tynningen av et binært bilde X med det sammensatte strukturelementet B betegnes X B og er definert ved: X B = X \ HMT B (X) Merk at origo i strukturelementet B må være inneholdt i B 1. Copyright Lars Aurdal, NTNU/NR 17
Tykking: Tykking består i å legge til alle bakgrunnspiksler som har en eller annen bestemt konfigurasjon til forgrunnspikslene. I praksis vil det si at man legger HMT til det opprinnelige settet. Copyright Lars Aurdal, NTNU/NR 18
Tykking, binært tilfelle: Tykkingen av et binært bilde X med det sammensatte strukturelementet B betegnes X B og er definert ved: X B = X HMT B (X) Merk at origo i strukturelementet B må være inneholdt i B 2. Copyright Lars Aurdal, NTNU/NR 19
Merk: Tynning og tykking er duale transformasjoner: der B =(B 1,B 2 ) og B C =(B 2,B 1 ). X B =(X C B C ) C Copyright Lars Aurdal, NTNU/NR 20
Skjeletter: I mange anvendelser må man ha en eller annen kanonisk representasjon av de objektene man studerer. I analyse av håndskrift for eksempel er det viktig å kunne ta hensyn til ulike skrifttykkelser, uavhengig av bredden på pennen som ble brukt bør det være mulig å redusere analysen av bokstaven til det å analysere en enkelt type form. Copyright Lars Aurdal, NTNU/NR 21
I praksis kan dette gjøres på mange måter, her skal vi betrakte en metode for å tynne objektene vi studerer til tynne linjer på en slik måte at homotopien til objektene bevares. Disse tynne linjene kalles objektets skjelett eller mediale akse. Transformasjonene som reduserer objekter til skjeletter kalles skjelettransformasjoner eller medial akse transformasjoner. Copyright Lars Aurdal, NTNU/NR 22
I euklidsk rom kan skjelettet gis en unik definisjon. Dette er ikke tilfelle i diskret rom. Eksempel: I det to-dimensjonale euklidske rom er skjelettet til et objekt et sett uendelig små punkter som har den egenskapen at de ligger like langt fra minst to punkter på objektets kant. En tilsvarende definisjon er ikke mulig i et to-dimensjonalt diskret rom. Copyright Lars Aurdal, NTNU/NR 23
En approksimasjon til skjelettet til et diskret sett kan man få vedå utføre såkalte homotopiske tynninger. Et sammensatt strukturelement sies å være homotopisk dersom tynningen med dette strukturelementet ikke modifiserer homotopien til det opprinnelige settet. Skjelettet til et sett kan oppnås ved å utføre gjentatte tynninger av settet med et (eller flere) homotopisk(e) strukturelement(er) inntil stabilitet. Copyright Lars Aurdal, NTNU/NR 24
I praksis utføres tynningene i sekvens med alle mulige rotasjoner av det (de) homotopiske strukturelementet (-ene). Denne prosessen kalles sekvensiell tynning og betegnes. Den sekvensielle tynningen av settet X med n rotasjoner av strukturelementet B er gitt ved: X B =(...((X Θ 1 B) Θ 2 B)...) Θ n B Tynningen fortsetter inntil stabilitet oppnås. Copyright Lars Aurdal, NTNU/NR 25
4-sammenhengende skjeletter oppnås ved sekvensiell tynning med de sammensatte strukturelementene (og deres fire rotasjoner) gitt i figuren under: Figur 5: De to sammensatte strukturelementene som brukes for å generere 4-sammenhengende skjeletter. Copyright Lars Aurdal, NTNU/NR 26
8-sammenhengende skjeletter oppnås ved sekvensiell tynning med de sammensatte strukturelementene (og deres fire rotasjoner) gitt i figuren under: Figur 6: De to sammensatte strukturelementene som brukes for å generere 8-sammenhengende skjeletter. Copyright Lars Aurdal, NTNU/NR 27
Figur 7: To ulike penner brukt til å skrive bokstaven a samt de resulterende skjelettene. Copyright Lars Aurdal, NTNU/NR 28
Øving 7 Beregn skjelettene til bokstavene vist i forrige slide (og vis hvordan det gjøres) Copyright Lars Aurdal, NTNU/NR 29