Nástroje na spracovanie obrazu. Krátky kurz teórie spracovania obrazu. I. M. Zhuravel. Prekrytie na pôvodnom obrázku. Zobrazenie výsledku s farebným obrázkom

  • 07.05.2019

spracovanie obrazu: segmentácia

Vyššie uvedený pojem segmentácie je zovšeobecnený pojem. Vo všeobecnosti je obraz pre pozorovateľa často prezentovaný vo forme nejakých homogénnych oblastí, ktoré sa navzájom líšia. rozdielne vlastnosti. Počet takýchto typov (alebo tried) je zvyčajne malý. Celý obrázok je možné rozdeliť na množstvo nepretínajúcich sa oblastí, z ktorých každá je obrázkom jedného z typov (tried). Pri analýze takýchto obrázkov je cieľom každého systému identifikovať tieto oblasti a uviesť ich typové číslo. Spracovanie obrazu, ktoré o ňom umožňuje získať takýto súbor informácií, sa nazýva segmentácia. Inými slovami, predpokladá sa, že oblasti obrazu zodpovedajú skutočným objektom alebo ich častiam.

Existujú však obrázky, na ktorých je celý obraz rozdelený na oblasti, ktoré sa od seba nijako nelíšia. Potom sú tam všetky informácie tento prípad súbor hraníc medzi týmito regiónmi. Jednoduchý príklad: tehlové alebo kachľové murivo.

Metódy segmentácie obrazu sú rozdelené do dvoch tried:

Automatické, to znamená metódy, ktoré nevyžadujú interakciu používateľa;

interaktívne resp manuálne metódy, ktoré používajú zadané používateľské údaje v čase spustenia.

Úloha segmentácie obrazu sa zvyčajne uplatňuje v niektorom štádiu spracovania obrazu, aby sa získali presnejšie a pohodlnejšie zobrazenia tohto obrazu pre ďalšiu prácu s ním.

Existuje mnoho metód segmentácie a rôzne metódy zameraný na rôzne vlastnosti rozdelenia obrazu. Preto pri výbere metódy segmentácie v konkrétnej úlohe by ste sa mali riadiť tým, aké vlastnosti rozdelenia sú skutočne dôležité a aké vlastnosti má pôvodný obrázok. Je tiež potrebné rozhodnúť, aká úroveň podrobnosti, do akej sa rozdelenie do tried vykonáva, je prijateľná. Všetko závisí od každého konkrétneho riešeného problému. Napríklad pri analýze mikroobvodov môže byť úlohou výberu objektov výber blokov mikroobvodov a rádiových komponentov, alebo to môže byť detekcia trhlín na týchto rádiových komponentoch. Potom je logické, že v prvom prípade sa treba obmedziť na väčší detail.

Segmentačné algoritmy sú tiež rozdelené spravidla do dvoch tried:

1) na základe základnej vlastnosti jasu: diskontinuita;

2) na základe základnej vlastnosti jasu: rovnomernosti.

V prvom prípade je obraz rozdelený na oblasti na základe nejakej zmeny jasu, ako sú napríklad rozdiely v jase obrazu. V druhom prípade je obraz rozdelený podľa kritérií homogenity plôch. Príkladom prvej kategórie je prahovanie alebo prahovanie a druhou kategóriou sú regióny rastúce, zlučujúce a rozdeľujúce regióny. Segmentácia prvého typu, konkrétne prahovanie, bude diskutovaná ďalej.

Segmentácia vo farebnom priestore RGB

Zvyčajne prahová segmentácia obrázky sa redukuje na problém segmentácie obrázkov v odtieňoch šedej. V skutočnosti výber prahu, zvyčajne jediného, ​​a segmentácia založená na ňom a vykonanie prechodu z obrazu na farebný priestor RGB do odtieňov sivej, a to aj napriek tomu, že neexistuje priame predspracovanie prevodu farebného obrázka do odtieňov sivej. Niekedy však stále platí „farebná segmentácia“.

Predpokladajme, že na RGB obraz je potrebné vybrať objekty, ktorých farba leží v určitý rozsah. Úlohou segmentácie je v tomto prípade klasifikovať každý pixel obrazu podľa toho, či jeho farba spadá do daného rozsahu alebo nie. Na tento účel sa do farebného priestoru zavedie miera podobnosti, zvyčajne euklidovská vzdialenosť. Euklidovská vzdialenosť medzi bodmi a je daná pomocou

kde sú zložky RGB vektora a sú vektory.

Myšlienku uplatnenia takéhoto spracovania možno vo všeobecnosti vidieť v časti 2.6 vysvetlivky.

V tejto práci sa obrázky zvažovali a segmentovali na základe jediného prahu, to znamená, že sa vykonal prechod na obrázky v odtieňoch šedej. Dôvodom je skutočnosť, že úlohy segmentácie vo farebnom priestore RGB sú úzko zamerané a pre každý obrázok je v tomto prípade potrebné poznať normu vzdialenosti pre každý komponenty R,G a B, ktoré je možné určiť len dlhými experimentmi na konkrétnom objektívnom probléme.

Segmentácia metódou riadeného povodia

Pomerne často vzniká pri analýze obrázkov problém rozdelenia obrazových bodov do skupín podľa niektorých vlastností. Tento proces zoskupovania sa nazýva segmentácia. Najznámejšie sú dva typy segmentácie – segmentácia podľa jasu pre binárne obrázky a segmentácia podľa farebných súradníc pre farebné obrázky. Segmentačné metódy možno považovať za formalizáciu konceptu odlíšenia objektu od pozadia alebo konceptov spojených s gradientom jasu. Segmentačné algoritmy sa vyznačujú určitými parametrami spoľahlivosti a spoľahlivosti spracovania. Závisia od toho, do akej miery sú zohľadnené doplnkové vlastnosti rozloženie jasu v oblastiach predmetov alebo pozadia, počet poklesov jasu, tvar predmetov atď.

Existuje veľa obrázkov, ktoré obsahujú skúmaný objekt dostatočne rovnomerného jasu na pozadí s iným jasom. Príkladom je ručne písaný text, rad lekárskych snímok atď. Ak sa jas bodov objektu výrazne líši od jasu bodov pozadia, potom je vyriešenie problému nastavenia prahu jednoduchou úlohou. V praxi to nie je také jednoduché, pretože skúmaný obraz je vystavený šumu a sú na ňom povolené určité odchýlky v hodnotách jasu. Existuje niekoľko analytických prístupov k obmedzeniu prahu jasu. Jednou z metód je nastavenie prahu na úrovni, pri ktorej celková suma prvkov s podprahovým jasom je v súlade s apriórnymi pravdepodobnosťami týchto hodnôt jasu.

Podobné prístupy možno použiť pri spracovaní farebných a multispektrálnych obrazov. Existuje aj taký typ segmentácie, ako je segmentácia obrysu. Analýza obrazu pomerne často zahŕňa také operácie, ako je získanie vonkajšieho obrysu obrázkov objektov a zaznamenanie súradníc bodov tohto obrysu. Existujú tri hlavné prístupy k znázorneniu hraníc objektu: prispôsobenie krivky, sledovanie obrysu a prepojenie bodu poklesu. Pre úplnosť analýzy je potrebné poznamenať, že existuje aj segmentácia textúr a segmentácia tvaru.

Väčšina jednoduchý pohľad segmentácia je prahová segmentácia. V robotike našiel veľmi široké uplatnenie. Vysvetľuje to skutočnosť, že v tejto oblasti majú obrázky študovaných objektov z väčšej časti pomerne homogénnu štruktúru a ich pozadie ostro vyniká. Okrem toho však pre spoľahlivé spracovanie musíte vedieť, že obrázok pozostáva z jedného objektu a pozadia, ktorých jasy sú v presne známych rozsahoch a navzájom sa nepretínajú.

Rozvoj technológií spracovania obrazu viedol k vzniku nových prístupov k riešeniu problémov segmentácie obrazu a ich aplikácii pri riešení mnohých praktických problémov.

V tejto práci zvážime nový prístup k riešeniu problému segmentácie obrazu - metóda povodia. Poďme si v krátkosti vysvetliť názov tejto metódy a čo je jej podstatou.

Navrhuje sa považovať obrázok za nejakú mapu oblasti, kde hodnoty jasu sú hodnoty výšky relatívne k určitej úrovni. Ak je táto oblasť naplnená vodou, vytvárajú sa bazény. Pri ďalšom napúšťaní vodou sa tieto bazény kombinujú. Miesta, kde sa tieto povodia spájajú, sú označené ako čiary rozvodí.

Separácia objektov v kontakte v obraze je jednou z dôležitých úloh spracovania obrazu. Na vyriešenie tohto problému sa často používa takzvaná metóda povodia markerov. Pri transformácii pomocou tejto metódy je potrebné určiť "povodia" a "čiary povodia" na obrázku spracovaním miestnych oblastí v závislosti od ich jasových charakteristík.

Metóda markerového povodia je jednou z najviac účinných metód segmentácia obrazu. Pri implementácii tejto metódy sa vykonávajú tieto základné postupy:

    Vypočíta sa segmentačná funkcia. Týka sa obrázkov, kde sú predmety umiestnené v tmavých oblastiach a sú ťažko viditeľné.

    Výpočet značiek v popredí obrázkov. Vypočítavajú sa na základe analýzy konektivity pixelov každého objektu.

    Výpočet značiek pozadia. Sú to pixely, ktoré nie sú súčasťou predmetov.

    Úprava funkcie segmentácie na základe hodnôt polohy značiek pozadia a značiek popredia.

    Výpočty založené na modifikovanej segmentačnej funkcii.

AT tento príklad medzi funkciami balíka spracovanie obrazu Najčastejšie používané funkcie Toolbox sú fspecial, imfilter, watershed, label2rgb, imopen, imclose, imreconstruct, imcomplement, imregionalmax, bwareaopen, graythresh a imimposemin.

  • Krok 1: Čítanie farebného obrázka a jeho prevod do odtieňov sivej.
  • Krok 2: Použitie hodnoty gradientu ako funkcie segmentácie.
  • Krok 3: Označenie objektov v popredí.
  • Krok 4: Vypočítajte značky pozadia.
  • Krok 6: Vizualizácia výsledku spracovania.

Krok 1: Čítanie farebného obrázka a jeho prevod do odtieňov sivej.

Čítanie údajov zo súboru pears.png rgb=imread("pears.png"); a reprezentovať ich ako obrázok v odtieňoch sivej. I=rgb2gray(rgb); imshow(I) text(732,501,"…",... "FontSize",7,"HorizontalAlignment","right")

Krok 2: Použitie hodnoty gradientu ako funkcie segmentácie.

Na výpočet hodnoty gradientu sa používa Sobelov operátor, funkcia imfilter a ďalšie výpočty. Gradient má veľké hodnoty na hraniciach objektov a malé (vo väčšine prípadov) mimo hraníc objektov.

Hy=fspecial("sobel"); hx=hy"; Iy=imfilter(double(I), hy, "replicate"); Ix=imfilter(double(I), hx, "replicate"); gradmag=sqrt(Ix.^2+Iy.^2 ); postava, imshow(gradmag,), title("hodnota gradientu")

Po vypočítaní hodnôt gradientu môžeme pristúpiť k segmentácii obrazu pomocou uvažovanej metódy povodia markerov.

L=povodie(gradmag); Lrgb=label2rgb(L); postava, imshow(Lrgb), title("Lrgb")

Bez ďalších dodatočných výpočtov však bude takáto segmentácia povrchná.

Krok 3: Označenie objektov v popredí.

Na označenie objektov v popredí je možné použiť rôzne postupy. V tomto príklade budú použité morfologické techniky, ktoré sa nazývajú „otváranie cez reštaurovanie“ a „zatváranie cez reštaurovanie“. Tieto operácie vám umožňujú analyzovať vnútornú oblasť obrázkových objektov pomocou funkcie imregionalmax.

Ako je uvedené vyššie, pri označovaní objektov v popredí sa morfologické operácie. Poďme sa na niektoré z nich pozrieť a porovnať. Najprv implementujeme operáciu expanzie pomocou funkcie imopen.

Se=strel("disk", 20); Io=imopen(I, se); postava, imshow(Io), názov("Io")

Ie=imerode(I, se); Iobr=imreconstruct(tj, ja); postava, imshow(Iobr), názov("Iobr")

Následné morfologické operácie otvárania a zatvárania povedú k pohybu tmavých škvŕn a tvorbe markerov. Analyzujme operácie morfologického uzatvárania. Na tento účel najprv použijeme funkciu imclose:

Ioc=imclose(lo, se); postava, imshow(Ioc), title("Ioc")

Iobrd=imdilat(Iobr, se); Iobrcbr=imreconstruct(imcomplement(Iobrd), imcomplement(Iobr)); Iobrcbr=komplement(Iobrcbr); postava, imshow(Iobrcbr), názov("Iobrcbr")

Porovnávacia vizuálna analýza Iobrcbr a Ioc ukazuje, že prezentovaná rekonštrukcia založená na morfologických operáciách otvárania a zatvárania je efektívnejšia ako štandardné operácie otvárania a zatvárania. Vypočítajme lokálne maximá Iobrcbr a získajme značky popredia.

Fgm=imregionalmax(Iobrcbr); postava, imshow(fgm), názov("fgm")

Preložme značky popredia na pôvodný obrázok.

I2=I; I2(fgm)=255; obrázok, imshow(I2), názov("fgm prekrytý na zdrojovom obrázku")

Upozorňujeme, že v tomto prípade nie sú označené niektoré skryté alebo uzavreté objekty obrázka. Táto vlastnosť ovplyvňuje generovanie výsledku a veľa takýchto obrázkových objektov nebude spracovaných z hľadiska segmentácie. Značky v popredí teda zobrazujú iba hranice väčšiny objektov. Takto prezentované hranice sú predmetom ďalšieho spracovania. Predovšetkým môže ísť o morfologické operácie.

Se2=strel(jednotky(5,5)); fgm2=imclose(fgm, se2); fgm3=imerode(fgm2, se2);

V dôsledku takejto operácie zmiznú jednotlivé izolované pixely obrazu. Môžete tiež použiť funkciu bwareaopen, ktorá vám umožní odstrániť dané číslo pixelov.

Fgm4=bwareaopen(fgm3, 20); I3=I; I3(fgm4)=255; obrázok, imshow(I3) title("fgm4 prekrytý na pôvodnom obrázku")

Krok 4: Vypočítajte značky pozadia.

Teraz vykonáme operáciu označenia pozadia. Na obrázku Iobrcbr tmavé pixely odkazujú na pozadie. Môže sa teda použiť operácia prahovania obrazu.

Bw=im2bw(Iobrcbr, graythresh(Iobrcbr)); postava, imshow(bw), title("bw")

Pixely pozadia sú tmavé, ale nemôžete len vykonávať morfologické operácie na značkách pozadia a získať hranice objektov, ktoré segmentujeme. Pozadie chceme „preriediť“ tak, aby sme získali verný skeletálny obraz, alebo takzvané popredie poltónového obrazu. Toto sa vypočíta pomocou prístupu povodia a na základe meraní vzdialenosti (k čiaram povodia).

D=bwdist(bw); DL=povodie(D); bgm=DL==0; postava, imshow(bgm), title("bgm")

Krok 5: Výpočet povodia značky na základe upravenej segmentačnej funkcie.

Funkciu imimposemin možno použiť na presné určenie lokálnych miním obrazu. Na základe toho môže funkcia imimposemin upraviť aj hodnoty prechodov v obraze a spresniť tak umiestnenie značiek popredia a pozadia.

Gradmag2=imimposemin(gradmag, bgm | fgm4);

Nakoniec sa vykoná operácia segmentácie založená na povodí.

L=povodie(gradmag2);

Krok 6: Vizualizácia výsledku spracovania.

Zobrazme prekrývajúce sa značky popredia, značky pozadia a okraje segmentovaných objektov na pôvodnom obrázku.

I4=I; I4(imdilát(L==0, jedničky(3, 3))|bgm|fgm4)=255; obrázok, imshow(I4) title("Značky a okraje objektov prekryté na pôvodnom obrázku")

V dôsledku tohto zobrazenia môžete vizuálne analyzovať umiestnenie značiek popredia a pozadia.

Zaujímavosťou je aj zobrazenie výsledkov spracovania pomocou farebného obrázka. Maticu vygenerovanú funkciami povodia a bwlabel je možné previesť na obrázok truecolor pomocou funkcie label2rgb.

Lrgb=label2rgb(L, "tryska", "w", "zamiešať"); postava, imshow(Lrgb) title("Lrgb")

Môžete tiež použiť priesvitný režim na prekrytie matice pseudofarebných štítkov na vrchu pôvodného obrázka.

Obrázok, imshow(I), podrž himage=imshow(Lrgb); set(himage, "AlphaData", 0,3); title("Lrgb prekryté na pôvodnom obrázku v priesvitnom režime")

Jednou z hlavných úloh spracovania a analýzy obrazu je segmentácia, t.j. rozdelenie obrazu do oblastí, pre ktoré určité kritérium jednotnosť, napríklad zvýraznenie oblastí s približne rovnakým jasom na obrázku. Pojem obrazová plocha sa používa na definovanie súvislej skupiny obrazových prvkov, ktoré majú určitý spoločný atribút (vlastnosť).
Jedným z hlavných a jednoduchými spôsobmi je konštrukcia segmentácie pomocou prahu. Prah je znak (vlastnosť), ktorý pomáha rozdeliť požadovaný signál do tried. Operácia delenia prahu spočíva v porovnaní hodnoty jasu každého obrazového pixelu s danou prahovou hodnotou.
Binarizácia

Operácia prahovej separácie, ktorej výsledkom je binárny obraz, sa nazýva binarizácia. Účelom operácie binarizácie je radikálne znížiť množstvo informácií obsiahnutých v obrázku. Počas procesu binarizácie sa pôvodný obrázok v odtieňoch sivej, ktorý má určitý počet úrovní jasu, prevedie na čiernobiely obrázok, ktorého pixely majú iba dve hodnoty - 0 a 1

Prahovanie obrazu môže byť vykonané rôznymi spôsobmi.

Binarizácia s dolným prahom
Binarizácia s dolným prahom
Dolná prahová binarizácia je najjednoduchšia operácia, ktorá používa iba jednu prahovú hodnotu:

Všetky hodnoty sa stanú 1 namiesto kritéria, v tomto prípade 255 (biela) a všetky hodnoty pixelov (amplitúdy), ktoré sú väčšie ako prahová hodnota t - 0 (čierna).

Binarizácie s horným prahom
Niekedy môžete použiť variant prvej metódy, ktorý dáva negatív obrazu získaného v procese binarizácie. Operácia binarizácie s horným prahom:

Binarizácia s dvojitým obmedzením
Ak chcete vybrať oblasti, v ktorých sa hodnoty jasu pixelov môžu meniť v známom rozsahu, dvakrát obmedzená binarizácia (t 1
Možné sú aj iné variácie s prahovými hodnotami, pri ktorých sa prenáša len časť údajov (filter v strednom pásme).

Neúplné prahové hodnoty
Táto transformácia vytvára obrázok, ktorý možno ľahšie ďalej analyzovať, pretože sa v ňom stratí pozadie so všetkými detailmi prítomnými v pôvodnom obrázku.

Viacúrovňové prahovanie
Táto operácia vytvára obraz, ktorý nie je binárny, ale pozostáva zo segmentov s rôznym jasom.

Čo sa týka binarizácie, to je v podstate všetko. Hoci môžete dodať, že existuje globálny, ktorý sa používa pre celý obrázok a existuje aj lokálny, ktorý zachytáva časť obrázka (obrázku).

Miestne prahové hodnoty
Metóda Ots
Metóda využíva histogram rozloženia hodnôt jasu pixelov v bitmape. Histogram je zostavený pomocou hodnôt pi = n i /N, kde N je celkový počet pixelov na obrázku, n i je počet pixelov s úrovňou jasu i. Rozsah jasu je rozdelený do dvoch tried pomocou prahovej hodnoty úrovne jasu k,k - celočíselnej hodnoty od 0 do L. Každá trieda zodpovedá relatívnym frekvenciám ω 0 ω 1:

Priemerné úrovne pre každú z dvoch tried obrázkov:
Ďalej sa vypočíta maximálna hodnota skóre kvality pre rozdelenie obrázka na dve časti:
kde (σ cl) 2=ω 0 ω 1 (μ 1 -μ 0) 2 je medzitriedna disperzia a (σ celkom) 2 je celkový rozptyl pre celý obrázok.

Prahovanie založené na gradiente jasu obrazu
Predpokladajme, že analyzovaný obrázok možno rozdeliť do dvoch tried – objekty a pozadie. Algoritmus výpočtu prahovej hodnoty pozostáva z nasledujúcich 2 krokov:
1. Modul gradientu jasu je určený pre každý pixel
snímky

2. Výpočet prahu:
Celkom
To, čo som zistil, som vám rád načrtol, v budúcnosti, ak sa mi to podarí a budem mať čas, skúsim implementovať niektoré z algoritmov. Toto je len malá časť všetkého, čo dnes existuje, ale rád sa o to podelím.
Ďakujem za tvoju pozornosť.

Jedným z hlavných cieľov počítačového videnia pri spracovaní obrazu je interpretovať obsah v obraze. K tomu je potrebné kvalitatívne oddeliť pozadie od objektov. Segmentácia rozdeľuje obrázok na jednotlivé časti alebo objekty. Oddeľuje objekt od pozadia, takže obrázky možno ľahko spracovať a identifikovať ich obsah. Výber kontúr v obraze je v tomto prípade základným nástrojom pre kvalitnú segmentáciu obrazu. Tento článok sa pokúša študovať výkonnosť bežne používaných algoritmov detekcie hrán pre ďalšiu segmentáciu obrazu, ako aj ich porovnanie pomocou softvérového nástroja MATLAB.

Úvod

Segmentácia obrazu je obrovským krokom pre analýzu obrazu. Rozdeľuje obraz na jednotlivé časti alebo objekty. Úroveň podrobnosti oddelených oblastí závisí od riešeného problému. Napríklad, keď si objekty záujmu prestanú udržiavať integritu, rozdelia sa na menšie časti, proces segmentácie by sa mal zastaviť. Algoritmy segmentácie obrazu sú najčastejšie založené na diskontinuite a podobnosti hodnôt v obraze. Prístup diskontinuity jasu je založený na náhlych zmenách hodnôt intenzity, zatiaľ čo podobnosť je založená na rozdelení obrazu do podobných oblastí podľa súboru vopred definovaných kritérií. Výber algoritmu segmentácie obrazu teda priamo závisí od riešeného problému. Detekcia hrán je súčasťou segmentácie obrazu. Preto efektívnosť riešenia mnohých problémov spracovania obrazu a počítačového videnia závisí od kvality zvolených hraníc. Ich výber v obraze možno klasifikovať ako segmentačné algoritmy, ktoré sú založené na zlomoch jasu.

Proces detekcie presných diskontinuít jasu v obraze sa nazýva proces detekcie hrán. Slzy sú prudké zmeny v skupine pixelov, ktoré sú hranicami objektov. Klasický algoritmus detekcie hrán využíva konvolúciu obrazu pomocou operátora, ktorý je založený na citlivosti na veľké rozdiely jasu v obraze a pri prechode homogénnymi oblasťami vracia nulu. Teraz je k dispozícii veľké množstvo algoritmov detekcie hrán, ale žiadny z nich nie je univerzálny. Každý z existujúcich algoritmov rieši svoju vlastnú triedu problémov (t.j. kvalitatívne identifikuje hranice určitého typu). Na určenie vhodného algoritmu detekcie hrán je potrebné vziať do úvahy také parametre, ako je orientácia a štruktúra hrany, ako aj prítomnosť a typ šumu v obraze. Geometria operátora určuje charakteristický smer, v ktorom je najcitlivejší na hranice. Existujúce operátory sú navrhnuté tak, aby našli vertikálne, horizontálne alebo diagonálne hranice. Výber hraníc objektov je náročná úloha v prípade veľmi zašumeného obrazu, pretože operátor je citlivý na rozdiely v jase, a preto bude aj šum považovaný za nejaký objekt na obrázku. Existujú algoritmy, ktoré vám umožňujú do značnej miery zbaviť sa šumu, ale na druhej strane výrazne poškodzujú okraje obrazu a skresľujú ich. A keďže väčšina spracovaných obrázkov obsahuje šum, algoritmy redukcie šumu sú veľmi populárne, čo však ovplyvňuje kvalitu vybraných obrysov.

Pri zisťovaní obrysov objektov sa tiež vyskytujú problémy, ako je nájdenie falošných obrysov, umiestnenie obrysov, preskakovanie skutočných obrysov, rušenie šumom, vysoký výpočtový čas atď. Preto je cieľom preskúmať a porovnať množstvo spracovaných obrázkov a analyzovať kvalitu algoritmov v rôznych podmienkach.

V tomto článku sa pokúsime zhrnúť najpopulárnejšie algoritmy detekcie obrysov pre segmentáciu, ako aj ich implementáciu v softvérovom prostredí MATLAB. Druhá časť predstavuje základné definície, ktoré sa používajú v literatúre. Tretia - poskytuje teoretické a matematické a vysvetľuje rôzne počítačové prístupy k detekcii hrán. Štvrtá časť poskytuje porovnávaciu analýzu rôznych algoritmov doplnenú obrázkami. Piata časť obsahuje prehľad získaných výsledkov a záver.

Segmentácia obrazu

Segmentácia obrazu je proces rozdelenia digitálneho obrazu do mnohých oblastí alebo sád pixelov. V skutočnosti ide o rozdelenie na rôzne objekty, ktoré majú rovnakú textúru alebo farbu. Výsledkom segmentácie je súbor oblastí, ktoré spolu pokrývajú celý obrázok, a súbor kontúr extrahovaných z obrázka. Všetky pixely z rovnakej oblasti sú si nejakým spôsobom podobné, napríklad farbou, textúrou alebo intenzitou. Priľahlé oblasti sa navzájom líšia týmito rovnakými charakteristikami. Rôzne prístupy k hľadaniu hraníc medzi regiónmi sú založené na nehomogenitách úrovní intenzity jasu. Výber metódy segmentácie obrazu teda závisí od riešeného problému.

Plošné metódy sú založené na spojitosti. Tieto algoritmy rozdeľujú celý obrázok na podoblasti v závislosti od určitých pravidiel, napríklad všetky pixely v danej skupine musia mať určitú hodnotu šedej. Tieto algoritmy sa spoliehajú na bežné vzory intenzity hodnôt v zhlukoch susedných pixelov.

Prahová segmentácia je najjednoduchší typ segmentácie. Na základe nej možno oblasti klasifikovať podľa základného rozsahu hodnôt, ktoré závisia od intenzity pixelov v obraze. Thresholding konvertuje vstupný obrázok na binárny.

Segmentačné metódy založené na plošnej detekcii priamo nachádzajú prudké zmeny hodnôt intenzity. Takéto metódy sa nazývajú hraničné metódy. Detekcia hrán je základným problémom analýzy obrazu. Techniky detekcie hrán sa bežne používajú na nájdenie nepravidelností v obraze v odtieňoch šedej. Detekcia diskontinuít v obraze v odtieňoch sivej je najdôležitejším prístupom pri detekcii hrán.

Algoritmy detekcie hraníc

Hranice objektov na snímke výrazne znižujú množstvo dát, ktoré je potrebné spracovať a zároveň zachovávajú dôležité informácie o objektoch na snímke, ich tvar, veľkosť, počet. Hlavnou črtou techniky detekcie hrán je schopnosť extrahovať presnú čiaru s dobrou orientáciou. V literatúre je popísaných veľa algoritmov, ktoré umožňujú zisťovať hranice objektov, ale nikde nie je popis, ako vyhodnocovať výsledky spracovania. Výsledky sa hodnotia čisto individuálne a závisia od oblasti ich použitia.

Detekcia hrán je základným nástrojom pre segmentáciu obrazu. Takéto algoritmy konvertujú vstupný obraz na obraz s obrysmi objektu, prevažne v šedých tónoch. Pri spracovaní obrazu, najmä v systémoch počítačového videnia, sa pomocou extrakcie obrysu zvažujú dôležité zmeny úrovne jasu v obraze, fyzikálnych a geometrických parametrov objektu v scéne. Toto je základný proces, ktorý načrtáva objekty, čím sa získavajú určité znalosti o obrázku. Detekcia hrán je najpopulárnejším prístupom na detekciu výrazných nehomogenít.

Okraj je lokálna zmena jasu v obraze. Majú tendenciu prebiehať pozdĺž okraja medzi dvoma oblasťami. Pomocou okrajov môžete získať základné vedomosti o obrázku. Ich akvizičné funkcie využívajú pokročilé algoritmy počítačového videnia a oblasti, ako je lekárske zobrazovanie, biometria a podobne. Detekcia hrán je aktívna oblasť výskumu, pretože uľahčuje analýzu obrazu na vysokej úrovni. V poltónových obrázkoch sú tri typy diskontinuít: bod, čiara a okraj. Priestorové masky možno použiť na detekciu všetkých troch typov nehomogenít.

Technická literatúra poskytuje a popisuje veľké množstvo algoritmov na extrakciu obrysov a hraníc. V tomto článku sú zvažované najpopulárnejšie metódy. Patria sem: Roberts, Sobel, Prewitt, Kirsch, Robinsonov operátor, Cannyho algoritmus a LoG algoritmus.

Operátor Roberts

Robertsov operátor výberu hraníc zaviedol Lawrence Roberts v roku 1964. Vykonáva jednoduché a rýchle výpočty 2D priestorového rozmeru na obrázku. Táto metóda zdôrazňuje oblasti s vysokou priestorovou frekvenciou, ktoré často zodpovedajú okrajom. Obraz v odtieňoch sivej sa privedie na vstup operátora. Hodnota pixelov výstupného obrazu v každom bode predpokladá určitú hodnotu priestorového gradientu vstupného obrazu v rovnakom bode.

Operátor Sobel

Operátor Sobel predstavila spoločnosť Sobel v roku 1970. Táto metóda detekcie hrán využíva derivačnú aproximáciu. To umožňuje detekciu hrán tam, kde je gradient najvyšší. Táto metóda zisťuje počet gradientov v obraze, čím extrahuje oblasti s vysokou priestorovou frekvenciou, ktoré zodpovedajú okrajom. Vo všeobecnosti to viedlo k nájdeniu odhadovanej absolútnej hodnoty gradientu v každom bode vstupného obrazu. Tento operátor pozostáva z dvoch matíc s veľkosťou 3×3. Druhá matica sa od prvej líši len tým, že je otočená o 90 stupňov. To je veľmi podobné operátorovi Roberts.

Detekcia hrán touto metódou je výpočtovo oveľa jednoduchšia ako Sobelova metóda, ale vedie k väčšiemu šumu vo výslednom obraze.

Prewittov operátor

Detekciu hrán týmto operátorom navrhol Prewitt v roku 1970. Správnym smerom v tomto algoritme bolo odhadnúť veľkosť a orientáciu hranice. Aj keď je detekcia hraníc veľmi pracná úloha, tento prístup poskytuje celkom dobré výsledky. Tento algoritmus je založený na použití masiek 3 x 3, ktoré berú do úvahy 8 možných smerov, ale priame smery poskytujú najlepšie výsledky. Všetky konvolučné masky sú vypočítané.

Kirsch operátor

Detekciu hrán touto metódou zaviedol Kirsch v roku 1971. Algoritmus je založený na použití len jednej masky, ktorá sa otáča v ôsmich hlavných smeroch: sever, severozápad, západ, juhozápad, juh, juhovýchod, východ a severovýchod. Masky vyzerajú takto:

Hraničná hodnota je definovaná ako maximálna hodnota zistená pomocou masky. Smer určený maskou vytvára maximálnu hodnotu. Napríklad maska ​​k0 zodpovedá vertikálnemu okraju a maska ​​k5 zodpovedá diagonálnemu okraju. Môžete si tiež všimnúť, že posledné štyri masky sú vlastne rovnaké ako tie prvé, sú zrkadlovým obrazom okolo stredovej osi matice.

Robinsonov operátor

Robinsonova metóda zavedená v roku 1977 je podobná Kirschovej metóde, ale je jednoduchšia na implementáciu vďaka použitiu koeficientov 0, 1 a 2. Masky tohto operátora sú symetrické okolo stredovej osi vyplnenej nulami. Výsledok stačí získať zo spracovania prvých štyroch masiek, zatiaľ čo zvyšok možno získať prevrátením prvých.

Maximálna hodnota získaná po aplikácii všetkých štyroch masiek na pixel a jeho okolie sa považuje za veľkosť gradientu a uhol gradientu možno aproximovať ako uhol nulových čiar v maske, ktoré poskytujú maximálnu odozvu.

Výber obrysu metódou Marr-Hildreth

Marr-Hildreth (1980) je metóda detekcie hrán v digitálnych obrazoch, ktorá detekuje súvislé krivky všade tam, kde sú viditeľné rýchle a náhle zmeny jasu skupiny pixelov. Ide o pomerne jednoduchú metódu, funguje ako konvolúcia obrazu s funkciou LoG alebo ako rýchla aproximácia s DoG. Nuly v spracovanom výsledku zodpovedajú obrysom. Algoritmus hraničného detektora pozostáva z nasledujúcich krokov:

  • rozostrenie obrazu Gaussovou metódou;
  • aplikovanie Laplaciovho operátora na rozmazaný obraz (často sú prvé dva kroky spojené do jedného);
  • vykonáme cyklus výpočtov a vo výsledku sa pozrieme na zmenu znamienka. Ak sa znamienko zmenilo zo záporného na kladné a hodnota zmeny hodnoty je väčšia ako určitá daná prahová hodnota, definujte tento bod ako hranicu;
  • Pre lepšie výsledky možno krok s použitím Laplaciovho operátora vykonať pomocou hysterézy, ako je implementovaná v Cannyho algoritme.

Výber obrysu metódou LoG

Algoritmus detekcie Laplaciovho Gaussovho obrysu bol navrhnutý v roku 1982. Tento algoritmus je druhou deriváciou definovanou ako:

Vykonáva sa v dvoch krokoch. V prvom kroku vyhladí obraz a následne vypočíta Laplaciovu funkciu, ktorej výsledkom je vytvorenie dvojitých kontúr. Definícia obrysov sa redukuje na hľadanie núl v priesečníku dvojitých hraníc. Počítačová implementácia Laplaciovej funkcie sa zvyčajne vykonáva pomocou nasledujúcej masky:

Laplacián zvyčajne používa umiestnenie pixelu na tmavej alebo svetlej strane hranice.

Hraničný detektor Canni

Detektor hrán Canny je jedným z najpopulárnejších algoritmov detekcie hrán. Prvýkrát ho navrhol John Canny vo svojej diplomovej práci v roku 1983 a je stále lepší ako mnohé neskôr vyvinuté algoritmy. Dôležitým krokom v tomto algoritme je eliminácia šumu na obrysoch, ktorý môže výrazne ovplyvniť výsledok, pričom je potrebné čo najviac zachovať hranice. To si vyžaduje starostlivý výber prahovej hodnoty pri spracovaní touto metódou.

Algoritmus:

  • rozmazanie pôvodného obrazu f(r, c) pomocou Gaussovej funkcie f^(r, c). f^(r,c)=f(r,c)*G(r,c,6);
  • hľadajte gradient. Hranice sú nakreslené tam, kde gradient nadobúda maximálnu hodnotu;
  • potlačenie nemaxima. Ako hranice sú označené iba lokálne maximá;
  • výsledné hranice sú určené potlačením všetkých hrán, ktoré nie sú spojené s definovanými hranicami.

Na rozdiel od operátorov Roberts a Sobel nie je algoritmus Canny veľmi náchylný na obrazový šum.

Experimentálne výsledky

Táto časť predstavuje výsledky predtým opísaných algoritmov na zisťovanie hraníc objektov v obraze.

Všetky opísané algoritmy boli implementované v softvérovom prostredí MATLAB R2009a a testované na fotografii univerzity. Účelom experimentu je získať spracovaný obraz s ideálne zvolenými kontúrami. Pôvodný obrázok a výsledky jeho spracovania sú na obrázku 1.

Obrázok 1 - Pôvodný obrázok a výsledok práce rôznych algoritmov extrakcie obrysu


Pri analýze získaných výsledkov sa ukázali tieto zákonitosti: operátori Roberts, Sobel a Prewitt dávajú veľmi odlišné výsledky. Marr-Hildreth, LoG a Kanny našli obrysy objektu takmer identicky, Kirsch a Robinson dali rovnaký výsledok. Ale pozorovaním získaných výsledkov môžeme konštatovať, že Cannyho algoritmus funguje rádovo lepšie ako ostatné.

závery

Spracovanie obrazu je rýchlo sa rozvíjajúca oblasť v odbore počítačového videnia. Jeho rast je založený na vysokých úspechoch v digitálnom spracovaní obrazu, vývoji počítačových procesorov a zariadení na ukladanie informácií.

V tomto článku sme sa pokúsili v praxi študovať metódy výberu obrysov objektov na základe zlomov jasu poltónového obrazu. Štúdia relatívneho výkonu každej z metód uvedených v tomto článku bola vykonaná pomocou softvérového nástroja MATLAB. Analýza výsledkov spracovania obrazu ukázala, že metódy ako Marr-Hildreth, LoG a Canny poskytujú takmer rovnaké výsledky. Pri spracovaní tohto testovacieho obrazu však možno najlepšie výsledky pozorovať po operácii Cannyho algoritmu, hoci za iných podmienok môže byť lepšia iná metóda.

Aj keď vezmeme do úvahy skutočnosť, že problematika detekcie hrán v obraze je dostatočne objasnená v modernej technickej literatúre, stále zostáva pomerne namáhavou úlohou, pretože kvalitatívna detekcia hrán vždy závisí od mnohých faktorov, ktoré ovplyvňujú výsledok.

Zoznam použitej literatúry

1. Canny J.F. (1983) Hľadanie hrán a čiar v obrazoch, diplomová práca, MIT.AI Lab.TR-720.
2. Canny J.F. (1986) Výpočtový prístup k detekcii hrán, IEEE Transaction on Pattern Analysis and Machine Intelligence, 8. - S. 679-714.
3. Courtney P, Thacker N.A. (2001) Charakterizácia výkonu v počítačovom videní: Úloha štatistiky v testovaní a dizajne, kapitola v: Zobrazovacie a zrakové systémy: teória, hodnotenie a aplikácie, Jacques Blanc-Talon a Dan Popescu (eds.), NOVA Science Books.
4. Hanzi Wang (2004) Robustná štatistika pre počítačové videnie: Prispôsobovanie modelu, segmentácia obrazu a analýza vizuálneho pohybu, dizertačná práca, Monash University, Austrália.
5. Huber P.J. (1981) Robustná štatistika, Wiley New York.
6. Kirsch R. (1971) Počítačové určenie základnej štruktúry biologických obrazov, Počítače a biomedicínsky výskum, 4, s. 315–328.
7. Lakshmi S, Sankaranarayanan V. (2010) Štúdium techník detekcie hrán pre segmentačné výpočtové prístupy, Computer Aided Soft Computing Techniques for Imaging and Biomedical Applications. - S. 35-41.
8. Lee K., Meer P. (1998) Robust Adaptive Segmentation of Range Images, IEEE Trans. Analýza vzorov a strojová inteligencia, 20(2). - S. 200-205.
9. Marr D, Hildreth E. (1980) Teória detekcie hrán, Proc. Royal Society of London, B, 207.—S. 187–217.
10. Marr D. (1982) Vision, Freeman Publishers.
11. Marr P., Doron Mintz. (1991) Robustná regresia pre počítačové videnie: Prehľad, International Journal of Computer Vision, 6(1). - S. 59-70.
12. Orlando J. Tobias, Rui Seara (2002) Image Segmentation by Histogram Thresholding Using Fuzzy Sets, IEEE Transactions on Image Processing, Vol.11, No.12. - S. 1457-1465.
13. Punam Thakare (2011) Štúdia o segmentácii obrazu a technikách detekcie hrán, Medzinárodný časopis o počítačovej vede a inžinierstve, zväzok 3, č.2. - S. 899-904.
14. Rafael C., Gonzalez, Richard E. Woods, Steven L. Eddins (2004) Digital Image Processing Using MATLAB, Pearson Education Ptd. Ltd, Singapur.
15. Ramadevi Y. (2010) Segmentácia a rozpoznávanie objektov pomocou techník detekcie hrán, International Journal of Computer Science and Information Technology, Vol 2, No.6. - S. 153-161.
16. Roberts L. (1965) Machine Perception of 3-D Solids, Optical and Electro-optical Information Processing, MIT Press.
17. Robinson G. (1977) Detekcia okrajov kompasovými gradientovými maskami, Počítačová grafika a spracovanie obrazu, 6. - S. 492-501.
18. Rousseeuw P. J., Leroy A. (1987) Robustná regresia a detekcia odľahlých hodnôt, John Wiley & Sons, New York.
19. Senthilkumaran N., Rajesh R. (2009) Techniky detekcie okrajov pre segmentáciu obrazu – Prieskum Soft Computing Approaches, International Journal of Recent Trends in Engineering, Vol. 1, č. 2. - S. 250-254.
20. Sowmya B., Sheelarani B. (2009) Segmentácia farebných obrázkov pomocou Soft Computing Techniques, International Journal of Soft Computing Applications, vydanie 4. - S. 69-80.
21. Umesh Sehgal (2011) Techniky detekcie hrán v digitálnom spracovaní obrazu pomocou Fuzzy Logic, International Journal of Research in IT and Management, Vol.1, Issue 3. — S. 61-66.
22. Yu, X, Bui, T.D. & a kol. (1994) Robustný odhad pre segmentáciu a rekonštrukciu obrazu rozsahu, IEEE trans. Analýza vzorov a strojová inteligencia, 16(5). - S. 530-538.