pilditöötluse ja kujundituvastuse alused...kärpimine (pruning) mõned operatsioonid nagu...

32
Pilditöötluse ja kujundituvastuse alused Morfoloogiline pilditöötlus Erik Ilbis Raimond Tunnel

Upload: others

Post on 07-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Pilditöötluse ja kujundituvastuse alused

Morfoloogiline pilditöötlus

Erik Ilbis Raimond Tunnel

Page 2: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Hulgateoreetilisi tehteid

Morfoloogias defineeritakse veel kaks tehet:

•  Nihe punkti z võrra.

•  Reflektsioon (alguspunkti suhtes)

Page 3: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Morfoloogilistest operatsioonidest

•  Toimuvad kahe elemendi vahel (originaalpilt + struktureerimiselement / kernel)

•  Mõlemad elemendid kuuluvad vaadeldavasse ruumi (näiteks binaarpiltide hulk)

•  Tulemus kuulub ka sinna ruumi

Näiteid struktureerimiselementidest (kernelistest)

Page 4: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Laiendamine (dilation)

B võib olla näiteks:

Selliste punktide z hulk, kuhu nihutatud B katab vähemalt ühe A punkti.

B on tavaliselt sümmeetriline oma keskpunkti suhtes, seega B reflektsioon on B ise.

Page 5: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Erodeerimine/kulutamine (erosion)

Selliste punktide z hulk, kuhu nihutatud B sisaldub täielikult A-s.

B-d võivad olla samad, mis laiendamise korral.

Laiendamine ja erosioon on duaalsed operatsioonid. Kehtib:

Page 6: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Morfoloogiline avand (opening)

Avand: •  silub objekti kontuuri •  elimineerib kitsad sillad kahe osa vahel •  elimineerib väljaulatuvad mügarikud

Erosioon, millele järgneb laiendamine sama struktureerimiselemendiga.

Page 7: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Morfoloogiline sulund (closing)

Laiendamine, millele järgneb erodeerimine sama struktureerimiselemendiga.

Sulund: •  silub objekti kontuuri •  ühendab väiksed tühimikud kahe objekti vahel •  täidab väiksed tühimikud objekti sees

Avand ja sulund on duaalsed, kehtib:

Page 8: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Avand ja sulund Avand

Sulund

Page 9: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Avand ja sulund

Originaalpilt

Laiend

Sulund

Page 10: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Pihtas-möödas transformatsioon? (hit-or-miss transformation)

B - Otsitav element X ja tema taust/ümbrus. W - Otsitav element X koos ümbrusega

Vaatame veidi lähemalt mõlemalt ühisosa poolt: A erosioon (kulutus) X-ga annab meile kõik punktid A-s, kuhu X tervenisti ära mahuks.

Page 11: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Pihtas-möödas transformatsioon? (hit-or-miss transformation)

Teine pool leiab meile kõik punktid, kuhu X-i ümbrus ära mahuks:

Tulemus (ühisosa):

Page 12: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Piirjoone eraldamine (boundary extraction) B

Leiab binaarpildil A olevate objektide piirjooned.

Kasutatakse ka näiteks 5x5 struktureerimiselementi, mille korral piirjooned tulevad 2-3 punkti laiused.

Juhul, kui teatud nihete korral mingi osa struktureerimiselemendist jääb pildist A väljapoole, siis eeldatakse, et seal asuvad 0-id.

Page 13: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Regiooni/ala täitmine (region filling) B

Eeldame, et meil on mingi objekti ühendatud piirjoon. Piirjoon koosneb ühtedest ja selle sisu nullidest. Ühendatuks loeme vertikaalis, horisontaalis või ka diagonaalis kokkupuutuvaid punkte.

Teame ka punkti p selle piirjoone sees.

Järgnev algoritm annab meile objekti täite:

Suurendame k-d niikaua kuni:

Tulemus on objekti täide. Võttes ühendi piirjoonega saame täidetud objekti.

Page 14: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Sidususkomponentide väljatoomine (extraction of connected components)

B

Võimaldab üle lugeda või hinnata sidusa komponendi punktide arvu.

Analoogne regiooni täitmise algoritmiga: •  teame punkti p objekti seest •  algoritm lõppeb, kui resultaat enam

samme tehes ei muutu

Originaal Lävend (threshold) Kulutatud (erode)

Resultaat

Page 15: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Kumerhulga kest/kate (convex hull)

Kumerhulk - hulk, kus iga kahe elemendi (punkti) vahel on sirgjoone segment (hulgas sisalduv sirgjoon).

Hulga A kumerhulga kest - vähim kumerhulk, mis sisaldab endas hulka A.

B1

B2

B3

B4

Algoritm: Teeme hulgaga A neli erinevat töötlust. Iga töötluse tulemus olgu Di (i = 1, 2, 3, 4). Hulga A kumerhulga kest saadakse Di-de ühendina.

Kui Xik=Xi

(k-1), siis Di=Xik ja k=0, i++

Page 16: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Kumerhulga kest/kate (convex hull)

Antud algoritm võib leida suurema kumerhulga kui vaja. Selle lahendamiseks võib ära lõigata leitud kumerhulga need osad, mis ületavad esialgse objekti A mõõtmed.

Page 17: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Hõrendamine (thinning) B1

B3

B2

B5

B6

B7

B8 B4

Ühe struktureerimiselemendiga

Struktureerimiselementide hulgaga

P-m (hit-or-miss) transformatsiooni kasutatakse siin ainult elemendi enda sobitamisel A-sse. Elemendi ümbrusi ei võrrelda.

Page 18: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Paksendamine (thickening) B1 B5

B3

B4 B8

B7

B6 B2

Ühe struktureerimiselemendiga

Struktureerimiselementide hulgaga

Analoogne hõrendamisega, kuid hulgateoreetilise vahe asemel võetakse ühend. Struktureerimiselementides on nullid ja ühed vahetatud.

Praktikas kasutatakse ka algoritmi, kus hõrendatakse vastava objekti tausta ja võetakse täiend.

Page 19: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Skelett (skeleton)

Skeletti saab väljendada erosiooni ja sulundi abil

- k järjestikkust erosiooni elemendiga B

K on maksimaalne erosioonide arv, mil pilt A ei erodeeru tühjaks pildiks.

Page 20: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Skelett (skeleton)

Erosioonide ja sulundiga leitud skelett ei pruugi olla: •  minimaalselt erodeerunud •  võimalikult hõre (thin) •  ühendatud (connected)

Nende omaduste täitmiseks on tavaliselt vaja heuristilisi täpsustusi algoritmis.

Skeleti põhjal on võimalik taastada ka esialgne pilt. Kasutades igal erosiooni sammul leitud skeleti alamhulki.

k - mitmendat erosiooni sammu me vaatame (laiendamine toimub sama palju kordi kui erodeeriti) K - mitu erosiooni sammu kokku tehti

Page 21: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Skelett (skeleton)

Page 22: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Kärpimine (pruning)

Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra). Samuti võib juhtuda, et mõnest andurist tulnud pilt sisaldab elemente, mis pildi juurde ei kuulu ja takistavad meil seda analüüsimast.

Seetõttu on meie eesmärk eemaldada parasiit-elemendid ja selle juures võimalikult vähe kahjustada meile huvi pakkuvat regiooni.

B1

B4

B3

B2

B5

B6

B7

B8

Otspunktide leidmise struktureerimis- elemendid

Page 23: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Oletame, et eesmärk on elimineerida mingi ühendatud joone pealt välja ulatuv haru, mida ei tohiks olla. Juhul, kui see haru ei ole joone otspunktidele liiga lähedal, siis me saame seda teha.

Kärpimine (pruning)

Esimese sammuna hõrendame (thinning) pilti joone otspunktide tuvastamise elementidega. Tehes seda kolm korda, saame lahti tollest kolme punkti pikkusest parasiit-harust.

Page 24: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Kärpimine (pruning)

Kahjuks kadus ära ka suur osa meile vajalikust informatsioonist. Selle taastamiseks leiame järelejäänud joone otspunktid kasutades juba tuntud otspunktide leidmise elemente.

Seejärel laiendame X2-te ühtedest koosneva 3x3 elemendiga C kolm korda ja piirame tulemust esialgse kujundiga A.

C

Page 25: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Kärpimine (pruning)

Mõnikord võib juhtuda, et parasiit-komponedid püütakse uuesti üles laiendamise käigus, sest needki on A elemendid. Selle probleemi lahendamiseks on olemas ka keerulisemaid algoritme. Vaadeldud algoritmi mõte on selles, et teatud asju saab parandada rakendades lihtsalt järjest morfoloogilisi operatsioone.

Originaal Kärbitud tulemus

Page 26: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Põhilised struktureerimiselementide tüübid (kõiki kasutati siin mingite operatsioonide juures)

Paksendamine (thickening) kasutas üleval olevate täiendeid.

Otspunktide leidmise elemendid

Page 27: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Mustvalgete (grayscale) piltide operatsioonid Vaatleme pilte kui funktsioone

G = [0;255] tavaliselt

Juhul, kui tehteid tehes (+, -) läheb tulemus hulkade piiridest välja, siis võtame lähima elemendi, mis vastavasse hulka kuulub.

Page 28: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Laiendamine (dilate)

(s, t) - punkt, millel me funktsiooni rakendame x, y - muutujad Df - pildi f määramispiirkond ( ) Db - struktureerimiselemendi/-pildi määramispiirkond ( )

Paneb punkti (s, t) maksimaalse halltooni väärtuse, mis on võimalik saada originaalpildi f ja struktureerimispildi b kattuvate punktide halltoone liites.

Page 29: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Erodeerimine (erosion)

Analoogne laiendamisega (dilate), kuid summa asemel on vahe ning võetakse miinimum.

Näide ühemõõtmelisel juhul

Page 30: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Avand (opening) ja sulund (closing)

Defineeritud samamoodi nagu binaarpiltide korral.

Kehtib duaalsus.

Ühemõõtmelisel juhul:

•  Avand silub graafikut allapoole

•  Sulund silub graafikut ülespoole

Page 31: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Veel morfoloogilisi mustvalgete piltide operatsioone

•  Morfoloogiline silumine (smoothing)

•  Morfoloogiline gradient

•  Kõvakübara transformatsioon (top hat transformation)

•  Textural segmentation

•  Granulometry

Page 32: Pilditöötluse ja kujundituvastuse alused...Kärpimine (pruning) Mõned operatsioonid nagu hõrendamine (thinning) või skeleti leidmine võivad jätta pildile parasiit-elemente (müra)

Slaidide tegemisel kasutatud tarkvara:

•  Google Docs http://docs.google.com

•  Corel Paint Shop Pro XI http://apps.corel.com/lp/psppxi/5658/index.html

•  Online LaTex Equation Editor http://www.codecogs.com/latex/eqneditor.php

Pildid ja materjal raamatust Digital Image Processing, Second Edition Gonzalez, Woods; 2002 http://www.imageprocessingplace.com/DIP-2E/dip2e_main_page.htm