Aktivní obrysový model - Active contour model
Aktivní obrysový model, také zvaný hadi, je rámec v počítačové vidění představil Michael Kass, Andrew Witkin, a Demetri Terzopoulos [1] pro vymezení obrysu objektu z možná hlučný 2D obraz. Model hadů je populární v počítačovém vidění a hadi se široce používají v aplikacích, jako je sledování objektů, rozpoznávání tvarů, segmentace, Detekce hrany a stereo párování.
Had je energie minimalizující, deformovatelná spline ovlivněn omezeními a silami obrazu, které jej přitahují ke konturám objektu, a vnitřním silám, které odolávají deformaci. Hady lze chápat jako zvláštní případ obecné techniky přizpůsobení deformovatelného modelu k obrazu pomocí minimalizace energie.[1] Ve dvou rozměrech je aktivní tvarový model představuje diskrétní verzi tohoto přístupu využívající výhody bodový distribuční model omezit rozsah tvarů na explicitní doménu naučenou z tréninkové sady.

Hadi neřeší celý problém hledání obrysů v obrazech, protože metoda předem vyžaduje znalost požadovaného tvaru obrysu. Spíše závisí na jiných mechanismech, jako je interakce s uživatelem, interakce s nějakým procesem porozumění obrazu na vyšší úrovni nebo informace z obrazových dat sousedících v čase nebo prostoru.
Motivace
V počítačovém vidění popisují obrysové modely hranice tvarů v obraze. Zejména hadi jsou navrženi k řešení problémů, kde je znám přibližný tvar hranice. Tím, že jsou hadi deformovatelným modelem, se mohou přizpůsobit rozdílům a hluku ve stereofonním porovnávání a sledování pohybu. Metodu lze navíc najít Iluzivní kontury v obraze ignorováním chybějících hraničních informací.
Ve srovnání s klasickými technikami extrakce prvků mají hadi několik výhod:
- Autonomně a adaptivně hledají minimální stav.
- Vnější síly obrazu působí na hada intuitivním způsobem.
- Začlenění Gaussova vyhlazování do funkce energetické energie obrazu zavádí citlivost měřítka.
- Mohou být použity ke sledování dynamických objektů.
Klíčové nevýhody tradičních hadů jsou
- Jsou citliví na místní minimální stavy, kterým lze čelit pomocí simulovaných technik žíhání.
- Minutové prvky jsou během minimalizace energie v celém obrysu často ignorovány.
- Jejich přesnost závisí na konvergenční politice.[2]
Energetická formulace
Jednoduchý elastický had je definován sadou n bodů pro , pojem vnitřní elastické energie a termín vnější energie založený na hraně . Účelem termínu vnitřní energie je řídit deformace hada a účelem termínu vnější energie je kontrolovat přizpůsobení obrysu obrazu. Vnější energie je obvykle kombinací sil způsobených samotným obrazem a omezující síly zavedené uživatelem
Energetická funkce hada je součtem jeho vnější energie a vnitřní energie, nebo
Vnitřní energie
Vnitřní energie hada se skládá z kontinuity obrysu a hladkost kontury .
To lze rozšířit jako
kde a jsou uživatelem definované váhy; tyto řídí citlivost funkce vnitřní energie na míru roztažení hada, respektive velikost zakřivení hada, a tím řídí počet omezení tvaru hada.
V praxi velká váha pro člen kontinuity penalizuje změny ve vzdálenostech mezi body v obrysu. Velká váha pro termín hladkosti penalizuje oscilace v kontuře a způsobí, že kontura bude fungovat jako tenká deska.
Energie obrazu
Energie v obraze je funkcí funkcí obrazu. Toto je jeden z nejběžnějších bodů modifikace v derivačních metodách. Funkce v obrázcích a samotné obrázky lze zpracovat mnoha různými způsoby.
Pro obrázek , čáry, hrany a zakončení přítomné v obraze, obecná formulace energie způsobená obrazem je
kde , , jsou váhy těchto hlavních rysů. Vyšší váhy znamenají, že výběžek bude mít větší podíl na síle obrazu.
Linka funkční
Funkční čára je intenzita obrazu, kterou lze vyjádřit jako
Znamení určí, zda bude čára přitahována k tmavým nebo světlým čarám.
Na obrázku může být použito určité vyhlazení nebo redukce šumu, poté se řádková funkce zobrazí jako
Edge funkční
Funkce Edge je založena na gradientu obrazu. Jedna implementace tohoto je
Had pocházející daleko od obrysu požadovaného objektu může chybně konvergovat na určité místní minimum. Abychom se vyhnuli těmto místním minimům, lze použít pokračování v měřítku. Toho je dosaženo použitím filtru rozostření na obrázku a snížením míry rozmazání v průběhu výpočtu, aby se upřesnilo přizpůsobení hada. Energie funkční pomocí pokračování měřítkového prostoru je
kde je Gaussian se standardní odchylkou . Minima této funkce spadá na nulové přechody z které definují hrany podle Marr – Hildreth teorie.
Ukončení funkční
Zakřivení vodorovných čar v mírně vyhlazeném obrazu lze použít k detekci rohů a zakončení obrazu. Pomocí této metody necháme být obraz vyhlazen
s úhlem přechodu
jednotkové vektory ve směru gradientu
a jednotkové vektory kolmé ke směru gradientu
Terminační funkční energii lze vyjádřit jako
Energie omezení
Některé systémy, včetně implementace původních hadů, umožňovaly interakci uživatele s vedením hadů, a to nejen v počátečním umístění, ale také z hlediska jejich energie. Taková omezující energie lze použít k interaktivnímu vedení hadů směrem k určitým rysům nebo od nich.
Optimalizace pomocí klesání
Vzhledem k počátečnímu odhadu hada je energetická funkce hada iteračně minimalizována. Přechodový sestup minimalizace je jednou z nejjednodušších optimalizací, kterou lze použít k minimalizaci hadí energie.[4] Každá iterace trvá jeden krok v záporném gradientu bodu s kontrolovanou velikostí kroku najít místní minima. Tuto minimalizaci gradientu a sestupu lze implementovat jako
Kde je síla na hada, která je definována záporem gradientu energetického pole.
Za předpokladu, že váhy a jsou konstantní vzhledem k , lze tuto iterační metodu zjednodušit na
Diskrétní aproximace
V praxi mají obrázky konečné rozlišení a lze je integrovat pouze v konečných časových krocích . Proto musí být pro praktickou implementaci hadů vytvořeny diskrétní aproximace.
Energetickou funkci hada lze odhadnout pomocí diskrétních bodů hada.
Následně lze síly hada přiblížit jako
Aproximaci gradientu lze provést jakoukoli metodou konečné aproximace s ohledem na s, jako Konečný rozdíl.
Numerická nestabilita v důsledku diskrétního času
Zavedení diskrétního času do algoritmu může zavést aktualizace, kterými se had pohybuje kolem minim, která ho přitahují; toto dále může způsobit oscilace kolem minim nebo vést k nalezení jiných minim.
Tomu se lze vyhnout vyladěním časového kroku tak, aby velikost kroku nikdy nebyla větší než pixel v důsledku obrazových sil. V regionech s nízkou energií však budou v aktualizaci dominovat vnitřní energie.
Alternativně lze obrazové síly normalizovat pro každý krok tak, že obrazové síly aktualizují hada pouze o jeden pixel. To lze formulovat jako
kde je blízko hodnotě velikosti pixelu. Tím se zabrání problému ovládnutí vnitřních energií, které vznikají vyladěním časového kroku.[5]
Numerická nestabilita způsobená diskrétním prostorem
Energie v spojitém obrazu mohou mít přechod nuly, který v obraze neexistuje jako pixel. V tomto případě by bod v hadovi osciloval mezi dvěma pixely, které sousedí s tímto křížením nuly. Této oscilaci lze zabránit použitím interpolace mezi pixely místo nejbližšího souseda.[5]
Implementace
Následující pseudo kód implementuje hadovou metodu v obecné podobě
funkceproti =hadi (Já, v)% VSTUPU: N podle M obrazu I, kontura v n kontrolních bodů % VÝSTUP: konvergovaný obrys v n kontrolních bodů E_image = generateImageEnergy (Já); zatímco nekonvergované F_cont = hmotnost.alfa * contourDerivative(proti, 2); F_curv = hmotnost.beta * contourDerivative(proti, 4); F_image = interp2 (E_image, proti(:,2), proti(:,1)); F_image_norm = hmotnost.k * F_image ./ norma (F_image); F_con = vstupní síly(); F_internal = F_cont + hmotnost.externí * F_curv; F_external = hmotnost.externí * (F_image + F_con); proti = updateSnake(proti, F_internal, F_external); checkConvergence (); koneckonec
Kde generateImageEnergy (I) lze psát jako
funkceE_image =generateImageEnergy (Já)[C, Cx, Cy, Cxx, Cxy, Cyy] = generovat radiace (Já); E_line = Já; E_edge = -(Cx.^2 + Cy.^2)^0.5; E_term = (Cyy.*Cx.^2 - 2*Cxy.*Cx.*Cy + Cxx.*Cy.^2)./((1 + Cx.^2 + Cy.^2).^(1.5)); E_image = hmotnost.čára * E_line + hmotnost.okraj * E_edge + hmotnost.období * E_term;konec
Některé varianty hadů
Výchozí metoda hadů má různá omezení a rohové případy, kdy konvergence funguje špatně. Existuje několik alternativ, které řeší problémy výchozí metody, i když s vlastními kompromisy. Několik z nich je uvedeno zde.
GVF hadí model
The tok vektorového přechodu (GVF) hadí model[6] řeší dva problémy s hady:
- špatný výkon konvergence pro konkávní hranice
- špatný výkon konvergence, když je had inicializován daleko od minima
Ve 2D je vektorové pole GVF minimalizuje energetickou funkčnost
kde je kontrolovatelný termín vyhlazení. To lze vyřešit řešením Eulerových rovnic
To lze vyřešit iterací směrem k ustálené hodnotě.
Tento výsledek nahradí výchozí externí sílu.
Primárním problémem při používání GVF je termín vyhlazování způsobí zaoblení okrajů obrysu. Snižování hodnoty snižuje zaokrouhlování, ale oslabuje míru vyhlazení.
Balónový model
Balónový model[5] řeší tyto problémy s výchozím aktivním konturovým modelem:
- Had není přitahován ke vzdáleným okrajům.
- Had se zmenší dovnitř, pokud na něj nepůsobí žádné podstatné síly obrazu.
- had větší než obrys minima se do něj nakonec zmenší, ale had menší než obrys minima minima nenajde a místo toho se bude nadále zmenšovat.
Balónový model zavádí inflační člen do sil působících na hada
kde je normální jednotný vektor křivky v a je velikost síly. by měl mít stejnou velikost jako faktor normalizace obrazu a mají menší hodnotu než umožnit silám na okrajích obrazu překonat nafukovací sílu.
Z použití balónového modelu vyplývají tři problémy:
- Místo toho, aby se zmenšil, had expanduje do minim a nenajde minimální kontury menší než on.
- Síla směrem ven způsobí, že obrys bude o něco větší než skutečná minima. To lze vyřešit snížením síly balónku po nalezení stabilního řešení.
- Síla nafouknutí může přemoci síly ze slabých okrajů a zesílit problém hady ignorujícími slabší rysy v obraze.
Model difúzních hadů
Model difuzního hada[7] řeší citlivost hadů na hluk, nepořádek a okluzi. Implementuje modifikaci Mumford – Shah funkční a jeho karikatura limit a zahrnuje statistické znalosti tvaru. Výchozí energie obrazu funkční je nahrazen
kde je založen na upravené funkci Mumford – Shah
kde je po částech hladký model obrazu domény . Hranice jsou definovány jako
kde jsou kvadratické základní funkce B-spline a jsou kontrolní body splajnů. Upravený limit karikatury je získán jako a je platnou konfigurací .
Funkční je založen na tréninku z binárních obrazů různých obrysů a je řízen v síle parametrem . Pro Gaussovo rozdělení vektorů řídicích bodů se středním vektorem kontrolních bodů a kovarianční matice kvadratická energie, která odpovídá gaussovské pravděpodobnosti, je
Síla této metody závisí na síle tréninkových dat a vyladění upravené funkce Mumford – Shah. Různé hady budou vyžadovat různé soubory a ladění tréninkových dat.
Geometrické aktivní kontury
Geometrický aktivní obrys nebo geodetický aktivní obrys (GAC)[8] nebo konformní aktivní kontury[9] zaměstnává nápady z Zkrácení euklidovské křivky vývoj. Kontury se rozdělují a slučují v závislosti na detekci objektů v obraze. Tyto modely jsou do značné míry inspirovány sady úrovní, a byli značně zaměstnáni v lékařské zpracování obrazu.
Například rovnice vývoje gradientní sestupné křivky GAC je [8]
kde je funkce zastavení, C je Lagrangeův multiplikátor, je zakřivení a je jednotka dovnitř normální. Tato konkrétní forma rovnice vývoje křivky závisí pouze na rychlosti v normálním směru. Lze jej tedy přepsat ekvivalentně v euleriánské formě vložením znaku funkce nastavení úrovně do toho následovně
Tato jednoduchá, ale výkonná reformace sady úrovní umožňuje aktivním obrysům zpracovávat změny topologie během vývoje gradientu sestupné křivky. Inspirovala obrovský pokrok v souvisejících oborech a používání numerických metod k řešení přeformulované sady úrovní je nyní běžně známé jako metoda nastavení úrovně. Ačkoli se metoda nastavení úrovní stala docela populárním nástrojem pro implementaci aktivních kontur, Wang a Chan tvrdili, že ne všechny rovnice vývoje křivek by měly být přímo tím se to vyřeší.[10]
Novější vývoj v aktivních konturách řeší modelování regionálních vlastností, začlenění předchůdců flexibilních tvarů a plně automatické segmentace atd.
Statistické modely kombinující místní a globální funkce byly formulovány Lanktonem a Allen Tannenbaum.[11]
Vztahy k řezům grafů
Řezy grafů nebo maximální průtok / minimální řez, je obecná metoda pro minimalizaci konkrétní formy energie zvané Markovova náhodná pole (MRF). Metoda Graph cut byla použita i na segmentaci obrazu a někdy překonává metodu sady úrovní, když je model MRF nebo jej lze aproximovat pomocí MRF.
Reference
- ^ A b Kass, M .; Witkin, A.; Terzopoulos, D. (1988). "Hadi: Aktivní konturové modely" (PDF). International Journal of Computer Vision. 1 (4): 321. CiteSeerX 10.1.1.124.5318. doi:10.1007 / BF00133570. Archivovány od originál (PDF) dne 2016-01-12. Citováno 2015-08-29.
- ^ Hadi: aktivní model, Ramani Pichumani, http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/RAMANI1/node31.html
- ^ Dr. George Bebis, University of Nevada, http://www.cse.unr.edu/~bebis/CS791E/Notes/DeformableContours.pdf
- ^ Porozumění obrazu, Bryan S. Morse, Univerzita Brighama Younga, 1998–2000 http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MORSE/iu.pdf
- ^ A b C Laurent D. Cohen, O aktivních konturových modelech a balónech, CVGIP: Image Understanding, svazek 53, číslo 2, březen 1991, strany 211–218, ISSN 1049-9660, doi:10.1016 / 1049-9660 (91) 90028-N
- ^ C. Xu a J.L. Prince, „Gradient Vector Flow: A New External Force for Snakes“, Proc. Konf. IEEE na Comp. Vis. Patt. Recog. (CVPR), Los Alamitos: Comp. Soc. Press, str. 66–71, červen 1997, http://iacl.ece.jhu.edu/pubs/p087c.pdf
- ^ Cremers, D .; Schnorr, C .; Weickert, J. (2001). Difúzní hadi: kombinace znalostí statistických tvarů a obrazových informací ve variačním rámci. Řízení. Workshop IEEE na. 50. s. 137–144. CiteSeerX 10.1.1.28.3639. doi:10.1109 / VLSM.2001.938892. ISBN 978-0-7695-1278-5.
- ^ A b Geodetické aktivní kontury, V. Caselles, R. Kimmel, G. Sapiro http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196
- ^ Konformní tok zakřivení: Od fázových přechodů k aktivnímu vidění, Satyanad Kichenassamy, Arun Kumar, Peter Olver Allen Tannenbaum a Anthony Yezzi https://doi.org/10.1007%2FBF00379537
- ^ Wang, Junyan; Chan, Kap Luk (08.07.2014). Msgstr "Aktivní kontura s tangenciální komponentou". Journal of Mathematical Imaging and Vision. 51 (2): 229–247. arXiv:1204.6458. doi:10.1007 / s10851-014-0519-r. ISSN 0924-9907.
- ^ Lankton, S .; Tannenbaum, A., "Localizing Region-Based Active Contours," Image Processing, IEEE Transactions on, vol.17, no.11, pp.2029,2039, listopad 2008 doi: 10.1109 / TIP.2008.2004611 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4636741&tag=1
externí odkazy
- David Young, březen 1995
- Hadi: Aktivní kontury, CVOnline
- Aktivní kontury, deformovatelné modely a tok vektoru přechodu Chenyang Xu a Jerry Prince, včetně stažení kódu
- ICBE, University of Manchester
- Aktivní implementace kontur a grafické uživatelské rozhraní testovací platformy
- Jednoduchá implementace hadů docent Cris Luengo
- Dokumentace MATLABu pro activecontour, která segmentuje obraz pomocí aktivních obrysů
Ukázkový kód
- Praktické příklady různých hadů vyvinutý Xu a Prince
- Základní nástroj pro hraní s hady (aktivními konturovými modely) od Tima Cootes z University of Manchester
- Matlab implementace 2D a 3D hada včetně GVF a balónové síly
- Ukázka Matlab Snake Chris Bregler a Malcolm Slaney, Interval Research Corporation.
- Demonstrace pomocí Javy
- Implementace Active Contours a grafické uživatelské rozhraní testovací platformy Nikolay S. a Alex Blekhman implementují „Aktivní kontury bez hran“
- Aktivní segmentová kontura autor Shawn Lankton implementující „Aktivní kontury bez hran“
- Geometrický aktivní obrysový kód autor: Jarno Ralli
- Morfologické hady