1/35 HLEDÁNÍ HRAN Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac
FYZIOLOGICKÁ MOTIVACE 2/35 Výsledky neurofyziologického a psychologického výzkumu ukazují, že pro vnímání člověka jsou velmi důležitá místa v obraze, kde se náhle mění hodnota jasu. Hrana gradientu obrazové funkce.
PŘÍKLAD KRESBA 3/35 Pablo Picasso, La Sieste 1919
HRANA, HRANOVÝ BOD 4/35 Hrana v obraze je dána vlastnostmi obrazového elementu a jeho okolí. Popisuje rychlost změny a směr největšího růstu obrazové funkce f (x, y). Hrana je vektorová veličina o dvou složkách. Matematickým nástrojem pro studium změn funkce dvou proměnných jsou první parciální derivace. Pixely s velkým modulem gradientu se nazývají hranovými body (angl. edgels).
GRADIENT OBRAZOVÉ FUNKCE 5/35 Pro spojitou obrazovou funkci f (x, y) jsou velikost gradientu f (x, y) a směr gradientu ψ dány vztahy f (x, y) = ( f x ) 2 + ( ) 2 f, y ψ = arg ( f x, f ) y, kde arg(x, y) je úhel (v radiánech) mezi souřadnou osou x a radiusvektorem k bodu (x, y).
LAPLACIÁN OBRAZOVÉ FUNKCE Někdy nás zajímají hrany bez ohledu na jejich směrové vlastnosti. 6/35 Často se používá všesměrový lineární Laplaceův operátor (Laplacián) 2 f (x, y), který vychází z druhých parciálních derivací. Pro monotónně rostoucí jasovou funkci f (x, y) v příslušném okolí je Laplacián 2 f (x, y) je nulový, kde je velikost gradientu f (x, y) maximální průchody nulou (angl. zero-crossings). 2 f (x, y) = 2 f (x, y) x 2 + 2 f (x, y) y 2.
VZTAH HRANY A HRANICE Nalezené hranové body v obraze lokálními operátory se někdy používají pro hledání hranic objektů. 7/35 Za předpokladu, že objektu odpovídá oblast homogenního jasu, jsou body hranice právě pixely s vysokou hodnotou gradientu. Hranové body se spojují do hranic, a proto se směr hrany Φ někdy definuje jako kolmý na směr gradientu Ψ. èerná 0 gradient bílá 255 smìr hrany
TYPICKÉ JASOVÉ PROFILY HRAN 8/35 g g g g skoková støechová linie zašumìná hrana x x x x První tři profily zleva, tj. skoková hrana, střechová hrana, tenká linie, jsou idealizované. Poslední profil odpovídá zašuměné hraně, kterou lze najít v reálném obrázku. V MATLABu je k dispozici funkce improfile.
DERIVACE DIFERENCE 9/35 x g(x, y) = g(x, y) g(x n, y), y g(x, y) = g(x, y) g(x, y n), kde n je malé celé číslo, obvykle 1. Difererenci lze vyjádřit i symetricky x g(x, y) = g(x + n, y) g(x n, y), y g(x, y) = g(x, y + n) g(x, y n), ale obvykle se nepoužívá, protože zanedbává vliv samotného pixelu (x, y).
3 KATEGORIE HRANOVÝCH OPERÁTORŮ 10/35 1. Operátory aproximující derivace pomocí diferencí. Konvolucí s jedinou maskou, např. Laplacián. Konvolucí s několika maskami odpovídajícími různým orientacím. Výběr nejlépe lokálně aproximující obrazovou funkci určuje směr gradientu. 2. Průchody 2. derivace obrazové funkce nulou (angl. zero-crossing). 3. Lokální aproximace obrazové funkce jednoduchým parametrickým modelem, např. polynomem dvou proměnných.
DERIVACE A KONVOLUČNÍ MASKY 3 3 11/35 Roberts, jen 2 2 Prewittová Sobel Robinson Kirsch Laplacián (aproximuje 2. všesměrovou derivaci)
ROBERTSŮV OPERÁTOR V OKOLÍ 2 2 12/35 Konvoluční masky h 1 = [ 1 0 0 1 ], h 2 = [ 0 1 1 0 ]. Velikost gradientu se počítá podle g(x, y) g(x + 1, y + 1) + g(x, y + 1) g(x + 1, y). Nevýhoda: velká citlivost na šum, protože okolí použité pro aproximaci je malé.
LAPLACEŮV OPERÁTOR 2 h = 0 1 0 1 4 1 0 1 0, h = 1 1 1 1 8 1 1 1 1. 13/35 Někdy se používá Laplacián s větší vahou pixelů blíže reprezentativnímu bodu masky. h = 2 1 2 1 4 1 2 1 2, h = 1 2 1 2 4 2 1 2 1. Nevýhody: citlivost na šum, což je ostatně při snaze aproximovat druhou derivaci primitivními prostředky přirozené. Dvojité odezvy na hrany odpovídající tenkým liniím v obraze.
PŘÍKLAD, LAPLACEŮV OPERÁTOR 14/35 originál 256 256 Hrany (Laplace) Ostření (- 0,4 )
OPERÁTOR PREWITTOVÉ 15/35 h 1 = 1 1 1 0 0 0, h 2 = 0 1 1 1 0 1, 1 1 1 1 1 0 h 3 = 1 0 1 1 0 1. 1 0 1
PŘÍKLAD, OPERÁTOR PREWITTOVÉ hrany v severním směru 16/35 originál 256 256 severní hrany prahované hrany
PŘÍKLAD, OPERÁTOR PREWITTOVÉ hrany ve východním směru 17/35 originál 256 256 východní hrany prahované hrany
SOBELŮV OPERÁTOR 18/35 h 1 = 1 2 1 0 0 0, h 2 = 0 1 2 1 0 1, 1 2 1 2 1 0 h 3 = 1 0 1 2 0 2. 1 0 1 Sobelův operátor se často používá pro detekci vodorovných a svislých hran, na což postačí masky h 1, h 3.
ROBINSONŮV OPERÁTOR 19/35 h 1 = 1 1 1 1 2 1, h 2 = 1 1 1 1 2 1, 1 1 1 1 1 1 h 3 = 1 1 1 1 2 1. 1 1 1
KIRSCHŮV OPERÁTOR 20/35 h 1 = 3 3 3 3 0 3, h 2 = 3 3 3 5 0 3, 5 5 5 5 5 3 h 3 = 5 3 3 5 0 3. 5 3 3
MARROVA TEORIE VIDĚNÍ 21/35 Vidění se zakládá na procesech extrahujících vizuální informaci z ikonické reprezentace, organizující ji, transformující ji na explicitní pro další zpracování. Marrova teorie (David Marr, *1944 1980) náčrtek odpovídá hranám v obraze, sdružování podle gestaltovských zákonů.
PROBLÉM ZPRACOVÁNÍ INFORMACE 0. Formulace úlohy. 22/35 Inspirace z biologie a neurofyziologie. 1. Výpočetní teorie. matematická formulace zvládnutelného cíle, nalezení a důkaz metody řešení, omezující podmínky. 2. Algoritmus. Algoritmická realizace teorie z bodu 1. 3. Technické prostředky.
PROBLÉM ZPRACOVÁNÍ INFORMACE (2) 23/35 Příklad: Létající objekty těžší než vzduch. 0. Formulace úlohy vytvořit letadlo těžší než vzduch. 1. Výpočetní teorie hydrodynamika. 2. Algoritmus buď mávání křídly nebo vrtule. 3. Technické prostředky dřevěná vrtule, pístový motor, plátěná křídla. Poznámka: Výhodou je relativní oddělitelnost jednotlivých kroků.
MARR, FORMULACE ÚLOHY 24/35 Úlohou je extrakce tvaru objektu z informace nesené hranami ve statickém monochromatickém obrazu. 2 ÚROVNĚ ZPRACOVNÁNÍ VIZUÁLNÍ INFORMACE Předzpracování bezkontextové, preatentivní, bez rozpoznávání (tj. interpretace). Vyšší úroveň zpracování kontextové, atentivní, generování a testování hypotéz. Postup čistě ZDOLA NAHORU redukce časové výpočetní složitosti.
IDEA HRANY JAKO PRŮCHODY f NULOU 25/35 f(x) f (x) f (x) x x x f(x) f (x) f (x) x (a) (b) (c) x x
JAK ROBUSTNĚ POČÍTAT 2. DERIVACI? Ostražitost: Odhad druhé derivace, jak jsme už viděli v případě Laplaciánu, by měl být na šum citlivější než odhad první derivace. 26/35 Klíčem k robustnímu odhadu druhé derivace je konvoluce obrazu s vyhlazujícím filtrem, na který jsou dva protichůdné požadavky: 1. Filtr má být hladký a ve frekvenčním spektru přibližně odpovídající pásmové propusti, aby omezil možný počet frekvencí, při kterých k průchodu nulou může dojít. 2. Požadavek na přesnost lokalizace hrany v rovině předpokládá, že filtr bude reagovat pouze na body z blízkého okolí hrany.
ŘEŠENÍ KONVOLUCE S 2. DERIVACÍ GAUSSIÁNU Marrova teorie dobrý kompromis (ne optimum, viz Cannyho hranový detektor). 27/35 Základem Gaussián G(x, y) = e x2 +y 2 2σ 2, kde x, y jsou souřadnice pixelu a σ je středněkvadratická odchylka. Připustíme rozmazání obrazové funkce, tj. G(x, y, σ) f (x, y). Pro odhad druhé derivace můžeme použít všesměrový Laplacián 2. Tento postup je některými autory nazýván jako LoG operátor (angl. Laplacian of Gaussian), 2 [G(x, y, σ) f (x, y)].
TRIK: ZÁMĚNA DERIVACE A KONVOLUCE 28/35 Díky linearitě zúčastněných operací lze zaměnit pořadí derivace a konvoluce 2 (G(x, y, σ) f (x, y)) = ( 2 G(x, y, σ)) f (x, y). Hodnoty derivace Gaussiánu 2 G lze předpočítat analyticky, protože na konkrétním obrazu nezávisí!
ODVOZENÍ 29/35 Aby se nám jednodušeji derivovalo, nahradíme x 2 + y 2 = r 2, kde r je Euklidovská vzdálenost od středu Gaussiánu. G(r) = e r2 2σ 2. G (r) = 1 r2 r e 2σ σ2 2. Druhá derivace G (r), tj. Laplacián Gaussiánu, je ( ) G (r) = 1 r 2 σ 2 σ 2 1 e r2 2σ 2.
ODVOZENÍ 2 30/35 Návrat k původním souřadnicím x, y a zavedeme normalizační koeficient c zajišťující, aby součet všech koeficientů v masce byl 0, dostaneme h(x, y) = c ( x 2 + y 2 σ 2 ) σ 4 e x2 +y 2 2σ 2.
PRŮBĚH DERIVACE 2D GAUSSIÁNU 31/35 12 10 8 6 4 2 0 2 80 60 40 20 0 0 10 20 30 40 50 60 70
JAK POČÍTAT PRŮCHODY NULOU? 32/35 Při implementaci detektoru založeného na hledání průchodů nulou je třeba se vyhnout naivnímu řešení pomocí prahování LoG obrazu v intervalu hodnot blízkých k nule. Výsledkem by byly hodně nespojité hrany. Lepší je použít opravdový detektor průchodů nulou, např. v masce 2 2 s reprezentativním bodem třeba v levém horním rohu. Hrana se zde indikuje tehdy, pokud se uvnitř okna opravdu mění znaménko.
DoG JAKO APROXIMACE LoG 33/35 Cílem je aproximovat LoG operátor (Laplacian of Gaussian), tj. 2 G. Aproximovat lze pomocí diference dvou obrazů, které vznikly konvolucí s Gaussiánem o různém σ.
PŘÍKLAD PRŮCHODŮ NULOU 34/35 Originál DoG σ 1 = 0, 1 σ 2 = 0, 09 Průchody nulou Nevýhody: Příliš vyhlazeny ostré tvary. Například ostré rohy se ztrácejí. Snaží se spojovat hrany do uzavřených křivek. Talíř špaget.
ODSTRANĚNÍ NEVÝZNAMNÝCH HRANOVÝCH BODŮ 35/35 Průchody nulou Odstr. nevýzn. egdels LoG, σ = 0, 2