Další díl seriálu se bude zabývat morfologickou filtrací a její základní operací binární morfologie, která pracuje s binárními obrazy.
Morfologická filtrace
Morfologická filtrace obrazu pracuje s obrazy jako s bodovými množinami a používané postupy se dosti liší od dříve popisovaných principů konvoluce. Pro její popis se obvykle používá teorie množin a topologie, my se zde však pokusíme přiblížit vše srozumitelnějšími prostředky Booleovy algebry.
Při morfologických transformacích nepracujeme s konvolučním jádrem, ale s tzv. strukturním elementem a výsledný pixel je výsledkem (logické) operace mezi množinou mřížky strukturního elementu a množinou bodů zdrojového obrazu, ležících pod body strukturního elementu. Morfologické transformace lze provádět i s barevnými obrazy, nejdříve se ale zaměříme na operace s obrazy binárními.
Mezi základní operace binární morfologie patří:
- dilatace
- eroze
- otevření
- uzavření
- transformace tref či miň (hit and miss)
- ztenčení
- ztluštění
- morfologická detekce vnitřního obrysu
- morfologická detekce vnějšího obrysu
Binární morfologie
Binární morfologie pracuje s binárními obrazy (tj. se čtvercovými diskrétními bodovými mřížkami). Na začátku tedy již máme vstupní binární obraz, na kterém jsou jednotlivé černé objekty na bílém pozadí. Morfologické transformace pak mění tvar nebo strukturu (objekty se zvětšují, zmenšují, spojují, rozdělují nebo tříští na další objekty atd.) objektů. Můžeme je využít např. k odstranění nežádoucí informace z obrazu, která vzniká např. při prahování (o kterém již víme, že je značně problematickou operací).
Při morfologických transformacích budeme provádět logické operace mezi hodnotami buněk strukturního elementu a pixely s pozicemi příslušnými těmto buňkám. Strukturní elementy mohou vypadat např. takto:
Dilatace
Dilatace eliminuje izolované díry v objektech a rozšiřuje obrysy objektů na úkor okolního pozadí. Jestliže se pod jakoukoliv jedničkovou buňkou strukturního elementu nachází černý pixel, pak výsledkem operace je černý pixel.
Eroze
Eroze eliminuje izolované pixely na pozadí a ubírá obrysy objektů. Černý pixel je výsledkem operace jen tehdy, když jsou černé pixely současně pod všemi jedničkovými buňkami strukturního elementu, ve všech ostatních případech je výsledkem bílý pixel.
Otevření
Otevření přerušuje tenké spoje mezi objekty a zvětšuje mezi nimi v těchto místech mezery. Zde se využívá skutečnosti, že eroze a dilatace nejsou navzájem inverzními operacemi. Otevření je tedy eroze následovaná dilatací. Jak je vidět na následujícím obrázku, eroze odstraní tenká propojení, tím se natolik změní tvar objektu, že následná dilatace již není schopna tyto části přidat. Masivní těla objektů se přitom prakticky nemění.
Uzavření
Obdobně dilataci následovanou erozí nazýváme uzavřením. Transformace opět mění pouze detaily obrazu, které jsou velikostně srovnatelné s velikostí strukturního elementu. Tvary větších objektů se přitom nemění. Pomocí uzavření můžeme propojit objekty, které se dříve nedotýkaly, nebo můžeme potlačit díry uvnitř objektů.
Transformace tref či miň (hit and miss)
Transformace tref či miň je morfologickou operací, jejímž výsledkem je shoda části binárního obrazu se strukturním elementem. Zjednodušeně řečeno pro výsledek operace není důležité jen to, jestliže jsou na požadovaných místech černé pixely, ale také skutečnost, že na jiných místech jsou naopak požadované pixely bílé. Do strukturního elementu je kromě požadavku černých či bílých pixelů na zadaných pozicích také nutno zadat, že na pixelech v některých pozicích naopak nezáleží. Každá buňka strukturního elementu pak může popisovat jeden ze tří možných stavů
Ztenčení
Ztenčení je morfologická operace, která se používá k odstranění vybraných pixelů z binárních obrazů, podobně jako eroze či otevření. Ztenčení může být užitečné v řadě případů, ale nejčastěji se této transformace využívá při hledání koster objektů, tzv. skeletonizaci. Při ztenčování se také okrajové pixely odečítají od objektů, ale nikoliv ty pixely, jejichž zmizení by již způsobilo rozdělení objektu na více částí. Neodstraňuje se tedy ta část hranice objektů, která by způsobila porušení souvislosti objektů.
Poznámka:
Právě pojem souvislosti definuje podstatnou topologickou vlastnost objektů. Vztahy souvislosti lze znázornit prostřednictvím tzv. topologického stromu. Představme si transformaci binárního obrazu, která sice může zcela změnit tvary objektů (např. obrázek nakreslený na pružné membráně, kterou lze všelijak natahovat a deformovat), ale nezmění přitom topologický strom obrazu. Takovou transformaci potom nazýváme homotopickou.
A zde je význam výše popisovaného ztenčování. Pomocí opakovaného ztenčování můžeme objekty převést až na jejich jednopixelové kostry a topologický strom obrazu přitom zůstane zachován.
Ve spojitém prostoru je kostra (skeleton) definována jako množina středů maximálních vepsaných kruhů uvnitř objektů. Maximální vepsaný kruh je takový kruh, který se okraje objektu dotýká ve dvou a více bodech a tedy již nelze dále zvětšit. Takto definovaná kostra ale nejen může ve specifických případech porušovat princip homotopie transformace a především pro diskrétní obrazy nezaručuje jednopixelovou tloušťku skeletů. Proto v algoritmech strojovém vidění řešíme homotopickou skeletonizaci pomocí postupného ztenčování.
Jak jsme již uvedli, při ztenčování ubíráme objektům jen některé pixely z jejich obvodu. To zajistíme opakováním transformace trefi či miň při současném pootáčení příslušného strukturního elementu do včech osmi směrů plynoucích ze čtvercového rastru obrázku. Strukturní element používaný pro tuto operaci je obvykle označovám jako písleno L tzv. Golayovy abecedy. Těchto osm transformací je nutno provést pro každý potenciálně odebraný pixel. Skeletonizace může být proto pro počítač značnou zátěží.
Ztenčování postupně ubírá okrajové pixely objektů až do okamžiku dosažení koster s tloušťkou jeden pixel. Další ztenčování již obraz nijak nemění (říkáme, že transformace je idempotentní) a nemá tudíž smysl.
Výsledné skelotony mají vesměs roztřepené konce, které pro některá použití mohou vadit. Tyto konce je možno zkracovat ztenčováním pomocí strukturního elementu v podobě tzv. písmene E Golayovy abecedy.
Postupním zkracování otevřených konců skeletonů nám v obraze zůstanou jen kostry v podobě uzavřených křivek a dalším ztenčováním se již obraz nemění.
Ztluštění
Duální transformací ke stenčení je ztluštění. Používáme opět výsledky transformace tref či miň, na základě kterých k obrysům objektů tentokrát pixely přidáváme. Můžeme tak např. objekty těsně zabalit do polygonů (bounding box) nebo vyplňovat prostor tzv. zón vlivu. Tyto mechanismy mohou být užitečné při segmentaci obrazu
Morfologická detekce vnitřního obrysu
Při detekci vnitřního obrysu provedeme erozi a vyhodnotíme nonekvivalenci (exkluzivní disjunkce, tj. logická operace XOR ) tohoto upraveného obrazu s obrazem původním a získáme tak přesně jednopixelové souvislé hranové obrysy objektů.
Morfologická detekce vnějšího obrysu
Při detekci vnitřního obrysu provedeme naopak dilataci obrazu a jako výsledek nonekvivalence s obrazem původním získáme jednopixelový vnější obrys.
Morfologie v barevných a šedotónových obrazech
Některé postupy matematické morfologie může být užitečné rozšířit i pro obrazy s více úrovněmi jasu a více barevnými kanály. Nejsnadněji lze na barevných obrazech provádět dilataci a erozi tak, že aktuální pixel nahradíme v případě dilatace nejjasnějším a v případě eroze nejméně jasným pixelem z jeho okolí, které je definováno tvarem strukturního elementu. Výsledky těchto operací pak mohou vypadat např. takto:
Také mediánový filtr, který je pro svou značnou účinnost často používán pro potlačení šumu, lze rovněž považovat za morfologický filtr. Mediánový filtr také nahrazuje aktuální pixel nějakým jiným z jeho okolí. Při jeho použití dochází ke změnám geometrie zobrazovaných objektů.
Literatura: Programový systém strojového vidění v prostředí Control Web, Moravské přístroje a.s., www.mii.cz