Operátor Sobel - Sobel operator

Barevný obrázek parního stroje
Na tento obrázek použil operátor Sobel

The Operátor Sobel, někdy nazývané Provozovatel Sobel – Feldman nebo Sobelův filtr, se používá v zpracování obrazu a počítačové vidění, zejména uvnitř Detekce hrany kde vytváří obraz zdůrazňující hrany. Je pojmenován po Irwin Sobel a Gary Feldman, kolegové ze Stanfordské laboratoře umělé inteligence (SAIL). Sobel a Feldman představili myšlenku „Izotropní 3x3 Image Gradient Operator “na přednášce na SAIL v roce 1968.[1] Technicky je to operátor diskrétní diferenciace, výpočet aproximace spád funkce intenzity obrazu. V každém bodě obrázku je výsledkem Sobel – Feldmanova operátoru buď odpovídající vektor přechodu, nebo norma tohoto vektoru. Operátor Sobel – Feldman je založen na převádění obrazu pomocí malého, oddělitelného a celočíselného filtru ve vodorovném a svislém směru, a je proto relativně levný z hlediska výpočtů. Na druhé straně je aproximace gradientu, kterou produkuje, relativně hrubá, zejména pro vysokofrekvenční variace v obraze.

Formulace

Provozovatel používá dvě jádra 3 × 3, která jsou spletitý s původním obrázkem vypočítat aproximace deriváty - jeden pro horizontální změny a druhý pro vertikální. Pokud definujeme A jako zdrojový obrázek a GX a Gy jsou dva obrázky, které v každém bodě obsahují horizontální a vertikální derivační aproximace, výpočty jsou následující:[2]

kde zde označuje dvourozměrné zpracování signálu konvoluce úkon.

Vzhledem k tomu, že jádra Sobel lze rozložit jako produkty průměru a diferenciačního jádra, vypočítávají přechod s vyhlazováním. Například, lze psát jako

The X-coordinate je zde definován jako rostoucí ve „správném“ směru a y-coordinate je definován jako rostoucí ve směru „down“. V každém bodě obrázku lze výsledné aproximace gradientu kombinovat a získat tak velikost gradientu pomocí:

Pomocí těchto informací můžeme také vypočítat směr přechodu:

kde například Θ je 0 pro svislou hranu, která je na pravé straně světlejší.

Více formálně

Vzhledem k tomu, že funkce intenzity digitálního obrazu je známa pouze v diskrétních bodech, nelze deriváty této funkce definovat, pokud nepředpokládáme, že existuje podkladová diferencovatelná funkce intenzity, která byla v obrazových bodech vzorkována. S některými dalšími předpoklady lze derivaci funkce spojité intenzity vypočítat jako funkci funkce vzorkované intenzity, tj. Digitálního obrazu. Ukazuje se, že derivace v kterémkoli konkrétním bodě jsou funkcemi hodnot intenzity prakticky ve všech obrazových bodech. Aproximace těchto derivačních funkcí však lze definovat s menším nebo větším stupněm přesnosti.

Operátor Sobel-Feldman představuje poměrně nepřesnou aproximaci gradientu obrazu, ale stále má dostatečnou kvalitu, aby mohl být v mnoha aplikacích prakticky použit. Přesněji, používá hodnoty intenzity pouze v oblasti 3 × 3 kolem každého obrazového bodu, aby se přiblížil odpovídajícímu gradientu obrazu, a používá pouze celočíselné hodnoty pro koeficienty, které váží intenzitu obrazu pro vytvoření aproximace gradientu.

Rozšíření na jiné rozměry

Operátor Sobel – Feldman se skládá ze dvou oddělitelných operací:[3]

  • Vyhlazení kolmo na směr derivace pomocí trojúhelníkového filtru:
  • Jednoduchý centrální rozdíl ve směru derivace:

Filtry Sobel – Feldman pro obrazové deriváty v různých rozměrech s  :

1D:

2D:

3D:

4D:

Například jako příklad 3D jádro Sobel – Feldman v z-směr:

Technické údaje

V důsledku své definice lze operátor Sobel implementovat jednoduchými prostředky v hardwaru i softwaru: k výpočtu odpovídajícího výsledku je potřeba pouze osm obrazových bodů kolem bodu a k výpočtu aproximace vektoru gradientu je zapotřebí pouze celočíselná aritmetika. Kromě toho jsou oba oddělené filtry popsané výše oddělitelné:

a dva deriváty GX a Gy lze tedy vypočítat jako

V určitých implementacích může být tento oddělitelný výpočet výhodný, protože implikuje méně aritmetických výpočtů pro každý bod obrazu.

Použití konvoluce K. do skupiny pixelů P lze v pseudokódu vyjádřit jako:

N (x, y) = součet {K (i, j). P (x-i, y-j)}, pro i, j běží od -1 do 1.

N (x, y) představuje novou matici, která vznikla po aplikaci konvoluce K. na P, kde P je pixelová matice.

Příklad

Výsledkem Sobel – Feldmanova operátoru je 2-dimenzionální mapa gradientu v každém bodě. Může být zpracován a prohlížen, jako by byl sám o sobě obrazem, přičemž oblasti s vysokým sklonem (pravděpodobné hrany) jsou viditelné jako bílé čáry. Následující obrázky to ilustrují zobrazením výpočtu Sobel-Feldmanova operátoru na jednoduchém obrázku.

Zkušební obraz ve stupních šedi cihlové zdi a stojanu na kola
Normalizovaná velikost přechodu od operátora Sobel – Feldman
Normalizováno X- přechod od operátora Sobel – Feldman
Normalizováno y- přechod od operátora Sobel – Feldman

Následující obrázky ilustrují změnu směru přechodu na kruhu ve stupních šedi. Když znamení a jsou stejné úhel přechodu je kladný a záporný, když se liší. V níže uvedeném příkladu červená a žlutá barva na okraji kruhu označují kladné úhly a modrá a azurová barva označují záporné úhly. Svislé okraje na levé a pravé straně kruhu mají úhel 0, protože nedochází k žádné místní změně . Vodorovné hrany na horní a spodní straně kruhu mají úhly -π/2 a π/2 respektive proto, že v systému neexistuje žádná místní změna . Záporný úhel pro horní okraj znamená přechod ze světlé do tmavé oblasti a kladný úhel pro spodní okraj znamená přechod z tmavé do světlé oblasti. Všechny ostatní pixely jsou označeny jako černé kvůli žádné místní změně ani v jednom nebo , a tedy úhel není definován. Protože úhel je funkcí poměru na pixely s malou rychlostí změny mohou mít stále velkou úhlovou odezvu. Výsledkem je, že hluk může mít velkou úhlovou odezvu, která je obvykle nežádoucí. Při použití informací o gradientním úhlu pro aplikace pro zpracování obrazu je třeba se snažit je odstranit obrazový šum snížit tuto falešnou odpověď.

Obrázek ve stupních šedi černého kruhu s bílým pozadím.
Směr přechodu operátoru Sobel.

Alternativní operátoři

Operátor Sobel – Feldman, i když redukuje artefakty spojené s čistým operátorem centrálních rozdílů, nemá dokonalou rotační symetrii. Scharr zkoumal optimalizaci této vlastnosti.[4][5] Byly zde prezentovány filtrační jádra až do velikosti 5 x 5, ale nejčastěji používané je:

Toto ovlivňuje obdobně:

Operátoři Scharr výsledek optimalizace minimalizující vážený průměr na druhou úhlovou chybu ve Fourierově doméně. Tato optimalizace se provádí za podmínky, že výsledné filtry jsou numericky konzistentní. Proto jsou ve skutečnosti spíše derivačními jádry, než jen udržováním omezení symetrie. Optimální 8bitový celočíselný filtr 3x3 vycházející ze Scharrovy teorie je

Podobnou strategii optimalizace a výsledné filtry představili také Farid a Simoncelli.[6][7] Rovněž zkoumají derivační schémata vyššího řádu. Na rozdíl od práce Scharra nejsou tyto filtry vynucovány, aby byly numericky konzistentní.

Problém designu derivátového filtru byl znovu přezkoumán, např. od Kroona.[8]

Derivační filtry založené na libovolných kubických splajnech představil Hast.[9] Ukázal, jak lze deriváty prvního a druhého řádu správně vypočítat pomocí kubických nebo trigonometrických splajnů pomocí přístupu dvojitého filtrování, který poskytuje filtry délky 7.

Dalším podobným operátorem, který byl původně generován operátorem Sobel, je operátor Kayyali,[10] perfektní konvoluční filtr založený na rotační symetrii 3x3.

Orientační optimální derivační jádra drasticky snižují systematické chyby odhadu v odhadu optického toku. Větší schémata s ještě vyšší přesností a optimalizovanými rodinami filtrů pro rozšířený odhad optického toku byly představeny v následující práci Scharra.[11] Sady derivátových filtrů druhého řádu byly zkoumány pro transparentní odhad pohybu.[12] Bylo pozorováno, že čím větší jsou výsledná jádra, tím lépe se přibližují derivaci Gaussových filtrů.

Příklad srovnání

Zde se používají čtyři různé operátory přechodu k odhadu velikosti přechodu testovaného obrazu.

Zkušební obraz ve stupních šedi cihlové zdi a stojanu na kola
Velikost přechodu od operátora Sobel – Feldman
Velikost gradientu od operátora Scharr
Velikost gradientu od Roberts Cross operátor
Velikost gradientu od Operátor Prewitt

Implementace pseudokódu

funkcesobel(Odpověď: jako dvourozměrné obrazové pole)	Gx = [-1 0 1; -2 0 2; -1 0 1]	Gy = [-1 -2 -1; 0 0 0; 1 2 1]		řádky = velikost(A, 1)	sloupce = velikost(A, 2)	mag = nuly(A)pro i = 1: řádky-2pro j = 1: sloupce-2			S1 = součet(součet(Gx.*A(i:i+2,j:j+2)))			S2 = součet(součet(Gy.*A(i:i+2,j:j+2)))			mag(i+1, j+1) = čtv(S1.^2+S2.^2)konec prokonec pro		práh = 70 % se liší pro aplikaci [0 255]	output_image = max(mag, práh)	output_image(output_image == kolo(práh)) = 0;vrátit se output_imagekonec funkce

Viz také

Reference

  1. ^ Irwin Sobel, 2014, Historie a definice operátora Sobel
  2. ^ Detektory funkcí - detektor Sobel Edge
  3. ^ K. Engel (2006). Grafika objemu v reálném čase. str. 112–114.
  4. ^ Scharr, Hanno, 2000, disertační práce (v němčině), Optimální operátoři při zpracování digitálního obrazu.
  5. ^ B. Jähne, H. Scharr a S. Körkel. Principy konstrukce filtru. In Handbook of Computer Vision and Applications. Academic Press, 1999.
  6. ^ H. Farid a E. P. Simoncelli, Optimálně rotační ekvivariantní směrová derivační jádra, Int'l Conf Počítačová analýza obrazů a vzorů, str. 207–214, září 1997.
  7. ^ H. Farid a E. P. Simoncelli, Diferenciace diskrétních vícerozměrných signálů, IEEE Trans Image Processing, sv. 13 (4), str. 496–508, duben 2004.
  8. ^ D. Kroon, 2009, Short Paper University Twente, Numerická optimalizace obrazových derivátů na základě jádra.
  9. ^ A. Hast., „Jednoduchý design filtru pro deriváty prvního a druhého řádu pomocí přístupu dvojího filtrování“, Letter Recognition Letters, sv. 42, č. 1. června, s. 65–71. 2014.
  10. ^ Dim, Jules R .; Takamura, Tamio (11. 12. 2013). „Alternativní přístup ke klasifikaci satelitního cloudu: aplikace Edge Gradient“. Pokroky v meteorologii. 2013: 1–8. doi:10.1155/2013/584816. ISSN  1687-9309.
  11. ^ Scharr, Hanno (2007). "Optimální filtry pro prodloužený optický tok". Složitý pohyb. Přednášky z informatiky. 3417. Berlin, Heidelberg: Springer Berlin Heidelberg. s. 14–29. doi:10.1007/978-3-540-69866-1_2. ISBN  978-3-540-69864-7.
  12. ^ Scharr, Hanno, OPTIMÁLNÍ DRUHÁ OBJEDNÁVKA DERIVATIVNÍ RODINY FILTRŮ PRO ODHAD TRANSPARENTNÍHO POHYBU 15. evropská konference o zpracování signálu (EUSIPCO 2007), Poznaň, Polsko, 3. – 7. Září 2007.

externí odkazy