Contorno attivo: Avanzamento della visione artificiale con tecniche di contorno attivo
Di Fouad Sabry
()
Info su questo ebook
Cos'è Contorno attivo
Il modello di contorno attivo, spesso chiamato serpente, è una struttura nel campo della visione artificiale inizialmente introdotta da Michael Kass , Andrew Witkin e Demetri Terzopoulos. Il suo scopo è delineare un oggetto da un'immagine bidimensionale che può contenere rumore. Il tracciamento degli oggetti, il riconoscimento delle forme, la segmentazione, il rilevamento dei bordi e la corrispondenza stereo sono solo alcune delle applicazioni che fanno ampio uso dei serpenti. Il modello dei serpenti sta diventando sempre più popolare nel campo della visione artificiale.
Come trarrai vantaggio
(I) Approfondimenti e convalide sui seguenti argomenti :
Capitolo 1: Modello di contorno attivo
Capitolo 2: Teorema di Stokes generalizzato
Capitolo 3: Flusso potenziale
Capitolo 4: Del
Capitolo 5: Moltiplicatore di Lagrange
Capitolo 6: Calcolo delle variazioni
Capitolo 7: Operatore di Laplace
Capitolo 8: Funzione di Green
Capitolo 9: Derivata covariante
Capitolo 10: Calcolo tensoriale
(II) Rispondere alle principali domande del pubblico sul contorno attivo.
( III) Esempi reali dell'utilizzo del contorno attivo in molti campi.
A chi è rivolto questo libro
Professionisti, studenti universitari e laureati, appassionati, hobbisti e coloro che vogliono andare oltre le conoscenze o le informazioni di base per qualsiasi tipo di Active Contour.
Correlato a Contorno attivo
Titoli di questa serie (100)
Equalizzazione dell'istogramma: Miglioramento del contrasto dell'immagine per una migliore percezione visiva Valutazione: 0 su 5 stelle0 valutazioniVisione computerizzata: Esplorare le profondità della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRiduzione del rumore: Miglioramento della chiarezza, tecniche avanzate per la riduzione del rumore nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformata del radon: Svelare modelli nascosti nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniMappatura dei toni: Mappatura dei toni: prospettive illuminanti nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniDiffusione anisotropa: Miglioramento dell'analisi delle immagini attraverso la diffusione anisotropa Valutazione: 0 su 5 stelle0 valutazioniRetinex: Svelare i segreti della visione computazionale con Retinex Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di Hough: Svelare la magia della trasformazione di Hough nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniSistema di gestione del colore: Ottimizzazione della percezione visiva negli ambienti digitali Valutazione: 0 su 5 stelle0 valutazioniVisione artificiale subacquea: Esplorando le profondità della visione artificiale sotto le onde Valutazione: 0 su 5 stelle0 valutazioniCorrezione gamma: Migliorare la chiarezza visiva nella visione artificiale: la tecnica di correzione gamma Valutazione: 0 su 5 stelle0 valutazioniModello di aspetto del colore: Comprendere la percezione e la rappresentazione nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniOmografia: Omografia: trasformazioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniVisione stereoscopica del computer: Esplorare la percezione della profondità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniScala dello spazio: Esplorare le dimensioni nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniGruppo congiunto di esperti fotografici: Sfruttare la potenza dei dati visivi con lo standard JPEG Valutazione: 0 su 5 stelle0 valutazioniFunzione di corrispondenza dei colori: Comprendere la sensibilità spettrale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRidipintura: Colmare le lacune nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniIstogramma dell'immagine: Svelare intuizioni visive, esplorare le profondità degli istogrammi delle immagini nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniConsenso del campione casuale: Stima robusta nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRilevatore di bordi astuto: Svelare l'arte della percezione visiva Valutazione: 0 su 5 stelle0 valutazioniModello a colori: Comprendere lo spettro della visione artificiale: esplorare i modelli di colore Valutazione: 0 su 5 stelle0 valutazioniSpazio colore: Esplorare lo spettro della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniStima della posa del corpo articolato: Sbloccare il movimento umano nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMappatura dei colori: Esplorare la percezione visiva e l'analisi nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniRilevamento delle macchie: Scoprire modelli nei dati visivi Valutazione: 0 su 5 stelle0 valutazioniCompressione delle immagini: Tecniche efficienti per l'ottimizzazione dei dati visivi Valutazione: 0 su 5 stelle0 valutazioniProfilo colore: Esplorare la percezione visiva e l'analisi nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione affine: Sbloccare le prospettive visive: esplorare la trasformazione affine nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di feature invarianti di scala: Svelare il potere della trasformazione delle caratteristiche invarianti su scala nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioni
Ebook correlati
Rilevatore di bordi astuto: Svelare l'arte della percezione visiva Valutazione: 0 su 5 stelle0 valutazioniRilevamento dei bordi: Esplorare i confini nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniElaborazione delle immagini piramidali: Esplorare le profondità dell'analisi visiva Valutazione: 0 su 5 stelle0 valutazioniCampo di movimento: Esplorando le dinamiche della visione artificiale: svelato il campo del movimento Valutazione: 0 su 5 stelle0 valutazioniRegolazione del pacchetto: Ottimizzazione dei dati visivi per una ricostruzione precisa Valutazione: 0 su 5 stelle0 valutazioniTagli del grafico di visione artificiale: Esplorazione dei tagli grafici nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniDiffusione anisotropa: Miglioramento dell'analisi delle immagini attraverso la diffusione anisotropa Valutazione: 0 su 5 stelle0 valutazioniTrasformazione di feature invarianti di scala: Svelare il potere della trasformazione delle caratteristiche invarianti su scala nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniDeterminazione della superficie nascosta: Svelare i segreti della visione artificiale Valutazione: 0 su 5 stelle0 valutazioniComputer grafica di vertice: Esplorando l'intersezione tra la computer grafica di vertice e la visione artificiale Valutazione: 0 su 5 stelle0 valutazioniVolume limite: Esplorazione della rappresentazione spaziale nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniIstogramma dei gradienti orientati: Svelare il regno visivo: esplorare l'istogramma dei gradienti orientati nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniComputer grafica della radiosità: Avanzamento della visualizzazione attraverso la radiosità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniSegmentazione delle immagini: Sbloccare insight grazie alla precisione dei pixel Valutazione: 0 su 5 stelle0 valutazioniCorrelazione incrociata: Sbloccare i modelli nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniFlusso ottico: Esplorazione di modelli visivi dinamici nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniMetodo di impostazione del livello: Avanzamento della visione artificiale, esplorazione del metodo dell'impostazione dei livelli Valutazione: 0 su 5 stelle0 valutazioniClassificazione delle immagini contestuali: Comprendere i dati visivi per una classificazione efficace Valutazione: 0 su 5 stelle0 valutazioniVisione stereoscopica del computer: Esplorare la percezione della profondità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniOmbreggiatura: Esplorazione dell'ombreggiatura delle immagini nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniModello di riflessione di Phong: Comprendere le interazioni della luce nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniStima della posa del corpo articolato: Sbloccare il movimento umano nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniGrafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniIlluminazione globale: Visione avanzata: approfondimenti sull'illuminazione globale Valutazione: 0 su 5 stelle0 valutazioniMappatura dei rilievi: Bump Mapping: esplorazione della profondità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniTexture Mapping: Esplorare la dimensionalità nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioniVisione artificiale subacquea: Esplorando le profondità della visione artificiale sotto le onde Valutazione: 0 su 5 stelle0 valutazioniModello di aspetto attivo: Sbloccare la potenza dei modelli di aspetto attivo nella visione artificiale Valutazione: 0 su 5 stelle0 valutazioni
Intelligenza artificiale e semantica per voi
ANonniMus: Vecchi rivoluzionari contro giovani robot Valutazione: 0 su 5 stelle0 valutazioniIl Terzo Like Valutazione: 0 su 5 stelle0 valutazioniGuida Intelligenza Artificiale Valutazione: 0 su 5 stelle0 valutazioni
Recensioni su Contorno attivo
0 valutazioni0 recensioni
Anteprima del libro
Contorno attivo - Fouad Sabry
Capitolo 1: Modello di contorno attivo
Per estrarre il contorno di un oggetto da un'immagine 2D che potrebbe essere contaminata dal rumore, i ricercatori di visione artificiale Michael Kass, Andrew Witkin e Demetri Terzopoulos hanno sviluppato il modello di contorno attivo, spesso noto come serpenti. Le applicazioni di visione artificiale come il tracciamento degli oggetti, il riconoscimento delle forme, la segmentazione, il rilevamento dei bordi e la corrispondenza stereo fanno ampio uso del modello dei serpenti.
Un serpente è una spline deformabile che riduce al minimo la sua energia mentre viene spinta e tirata dalle forze di costrizione e immagine lungo i contorni degli oggetti e dalle forze interne che agiscono per prevenire ulteriori deformazioni. Abbinare un modello deformabile a un'immagine riducendo al minimo l'energia può essere pensato come una strategia generale, e i serpenti possono essere visti come un caso specifico di questo. Il modello di forma attiva è una rappresentazione discreta di questa strategia in due dimensioni; Utilizza il modello di distribuzione dei punti per limitare le forme che possono essere utilizzate a quelle in un dominio specifico, che viene a sua volta appreso da un set di training.
Poiché l'uso dei serpenti per scoprire i contorni nelle foto implica conoscere in anticipo la forma del contorno prevista, non è una soluzione completa al problema. Invece, si basano su input esterni, che si tratti dell'utente, di un processo di comprensione dell'immagine esterno o anche solo di dati di immagini adiacenti nel tempo o nel luogo.
I contorni dell'immagine sono descritti da modelli di contorno nella visione artificiale. Ad esempio, i serpenti eccellono nelle sfide in cui la forma del confine è approssimativamente compresa. Poiché si tratta di un modello flessibile, i serpenti sono resistenti alle variazioni e al rumore quando si impegnano nella corrispondenza stereo e nel tracciamento del movimento. Omettendo le informazioni sui bordi, l'approccio è anche in grado di individuare contorni illusori nell'immagine.
Ci sono molti vantaggi nell'utilizzare i serpenti al posto dei tradizionali metodi di estrazione delle caratteristiche:
Cercano la condizione di ground zero in modo autonomo e variabile.
Il serpente è intuitivamente influenzato dalle influenze visive del mondo esterno.
L'introduzione della sensibilità di scala nella funzione di energia dell'immagine attraverso l'uso del livellamento gaussiano.
Puoi usarli per tenere sotto controllo gli elementi in movimento.
I problemi principali con i serpenti regolari sono
A causa della loro suscettibilità agli stati minimi locali, i metodi di ricottura simulati sono utili per evitare esiti indesiderati.
Durante la minimizzazione dell'energia lungo l'intero contorno, i piccoli dettagli vengono spesso trascurati.
Il successo della politica di convergenza ne determina la precisione.
Un serpente elastico semplice è definito da un insieme di n punti {\mathbf v}_{i} per {\displaystyle i=0,\ldots ,n-1} , il termine di energia elastica interna {\displaystyle E_{\text{internal}}} e il termine di energia basata sul bordo esterno {\displaystyle E_{\text{external}}} .
Il termine di energia interna è lì per evitare che il serpente si deformi in modo permanente, La funzione del termine di energia esterna è quella di regolare il grado in cui il contorno è sovrapposto all'immagine.
L'energia esterna è solitamente una combinazione delle forze dovute all'immagine stessa e delle {\displaystyle E_{\text{image}}} forze di vincolo introdotte dall'utente {\displaystyle E_{\text{con}}}
Quando sommiamo insieme le energie interne ed esterne del serpente, otteniamo la sua funzione energetica.
{\displaystyle E_{\text{snake}}^{*}=\int \limits _{0}^{1}E_{\text{snake}}(\mathbf {v} (s))\,ds=\int \limits _{0}^{1}(E_{\text{internal}}(\mathbf {v} (s))+E_{\text{image}}(\mathbf {v} (s))+E_{\text{con}}(\mathbf {v} (s)))\,ds}L'energia interna del serpente è composta dalla continuità del contorno e dalla {\displaystyle E_{\text{cont}}} levigatezza del contorno {\displaystyle E_{\text{curv}}} .
{\displaystyle E_{\text{internal}}=E_{\text{cont}}+E_{\text{curv}}}Puoi approfondire questo come
{\displaystyle E_{\text{internal}}={\frac {1}{2}}(\alpha \,\!(s)\left|\mathbf {v} _{s}(s)\right\vert ^{2})+{\frac {1}{2}}(\beta \,\!(s)\left|\mathbf {v} _{ss}(s)\right\vert ^{2})={\frac {1}{2}}{\bigg (}\alpha \,\!(s)\left\|{\frac {d{\bar {v}}}{ds}}(s)\right\Vert ^{2}+\beta \,\!(s)\left\|{\frac {d^{2}{\bar {v}}}{ds^{2}}}(s)\right\Vert ^{2}{\bigg )}}dove \alpha (s) e \beta (s) sono i pesi definiti dall'utente; Questi determinano quanto peso viene dato all'allungamento e alla curvatura del serpente dalla funzione energetica interna, rispettivamente, e regolano il grado in cui la forma del serpente è vincolata.
In pratica, un peso elevato \alpha (s) per il termine di continuità penalizza le variazioni delle distanze tra i punti del contorno.
Un peso elevato \beta (s) per il termine di levigatezza penalizza le oscillazioni nel contorno e farà sì che il contorno agisca come una piastra sottile.
Il livello di energia in un'immagine è correlato alle sue caratteristiche specifiche. Questo è un luogo popolare per apportare modifiche alle strategie derivate. Esiste un'ampia gamma di opzioni per l'elaborazione sia delle caratteristiche dell'immagine che delle immagini intere.
Per un'immagine I(x,y) , linee, bordi e una finalità che esiste nell'immagine, il modello complessivo per l'energia dell'immagine è
{\displaystyle E_{\text{image}}=w_{\text{line}}E_{\text{line}}+w_{\text{edge}}E_{\text{edge}}+w_{\text{term}}E_{\text{term}},}dove {\displaystyle w_{\text{line}}} , {\displaystyle w_{\text{edge}}} , {\displaystyle w_{\text{term}}} sono i pesi di queste caratteristiche salienti.
Aumentare il peso di un elemento cospicuo significa che avrà un impatto più significativo sulla forza complessiva dell'immagine.
È possibile descrivere l'intensità dell'immagine, o la linea funzionale, come
{\displaystyle E_{\text{line}}=I(x,y)}Il segno di {\displaystyle w_{\text{line}}} determinerà se la linea sarà attratta da linee scure o da linee chiare.
La linea funzionale è nascosta fino a quando l'immagine non viene smussata o il rumore viene ridotto.
{\displaystyle E_{\text{line}}=\operatorname {filter} (I(x,y))}La sfumatura dell'immagine viene utilizzata come funzionale del bordo. Un esempio pratico di ciò è
{\displaystyle E_{\text{edge}}=-\left|\nabla I(x,y)\right\vert ^{2}.}È possibile che un serpente converga erroneamente verso un minimo locale se parte lontano dal contorno dell'oggetto bersaglio. Per aggirare questi minimi locali, è possibile applicare la continuazione dello spazio di scala. Per fare ciò, viene utilizzato un filtro di sfocatura per l'immagine, con il grado di sfocatura che diminuisce man mano che il calcolo continua a migliorare l'adattamento del serpente. La continuazione dello spazio di scala è utilizzata nell'energia funzionale alla resa
{\displaystyle E_{\text{edge}}=-\left|G_{\sigma }\cdot \nabla ^{2}I\right\vert ^{2}}dove {\displaystyle G_{\sigma }} è una gaussiana con deviazione standard \sigma .
I minimi di questa funzione ricadono sui passaggi per lo zero dei {\displaystyle G_{\sigma }\,\nabla ^{2}I} quali definiscono gli spigoli secondo la teoria di Marr-Hildreth.
È possibile identificare gli angoli e i bordi dell'immagine misurando la curvatura delle linee orizzontali e verticali in un'immagine che è stata parzialmente levigata.
Applicando questa strategia, lascia che C(x,y) l'immagine sia levigata da
{\displaystyle C(x,y)=G_{\sigma }\cdot I(x,y)}con angolo di sfumatura
{\displaystyle \theta =\arctan \left({\frac {C_{y}}{C_{x}}}\right),}vettori paralleli alla direzione del gradiente
{\displaystyle \mathbf {n} =(\cos \theta ,\sin \theta ),}e vettori ortogonali al gradiente
{\displaystyle \mathbf {n} _{\perp }=(-\sin \theta ,\cos \theta ).}Un'espressione per la funzione di terminazione dell'energia è
{\displaystyle E_{\text{term}}={\partial \theta \over \partial n_{\perp }}={\partial ^{2}C/\partial n_{\perp }^{2} \over \partial C/\partial n}={{C_{yy}C_{x}^{2}-2C_{xy}C_{x}C_{y}+C_{xx}C_{y}^{2}} \over (C_{x}^{2}+C_{y}^{2})^{3/2}}}Alcuni sistemi, come la prima implementazione dei serpenti, serpenti controllabili dall'utente che rispondevano agli input, sia in termini di posizionamento iniziale che di fabbisogno energetico.
Tale energia di vincolo E_{{con}} può essere utilizzata per guidare in modo interattivo i serpenti verso o lontano da particolari caratteristiche.
Assumendo un serpente a prima vista, riduce iterativamente la funzione energetica del serpente.
Una delle ottimizzazioni più semplici che possono essere applicate per ridurre l'energia del serpente è la minimizzazione della discesa del gradiente.
Ogni iterazione esegue un passo nel gradiente negativo del punto con una dimensione del passo controllata \gamma per trovare i minimi locali.
E' possibile applicare questa minimizzazione gradiente-discesa come
{\displaystyle {\bar {v}}_{i}\leftarrow {\bar {v}}_{i}+F_{\text{snake}}({\bar {v}}_{i})}Dov {\displaystyle F_{\text{snake}}({\bar {v}}_{i})} 'è la forza sul serpente, in cui l'opposto del gradiente del campo energetico funge da definizione.
{\displaystyle F_{\text{snake}}({\bar {v}}_{i})=-\nabla E_{\text{snake}}({\bar {v}}_{i})=-{\Bigg (}w_{\text{internal}}\,\nabla E_{\text{internal}}({\bar {v}}_{i})+w_{\text{external}}\,\nabla E_{\text{external}}({\bar {v}}_{i}){\Bigg )}}Assumendo che i pesi \alpha (s) e \beta (s) siano costanti rispetto a s , è possibile ridurre questa procedura iterativa a
{\displaystyle {\bar {v}}_{i}\leftarrow {\bar {v}}_{i}-\gamma {\Bigg \{}w_{\text{internal}}{\bigg [}\alpha {\frac {\partial ^{2}{\bar {v}}}{\partial s^{2}}}({\bar {v}}_{i})+\beta {\frac {\partial ^{4}{\bar {v}}}{\partial s^{4}}}({\bar {v}}_{i}){\bigg ]}+\nabla E_{\text{ext}}({\bar {v}}_{i}){\Bigg \}}}In pratica, le immagini hanno una risoluzione finita e possono essere integrate solo su passi temporali finiti \tau .
Pertanto, per le applicazioni nel mondo reale dei serpenti, sono necessarie approssimazioni discrete.
Macchie discrete sul serpente possono essere usate come approssimazioni alla funzione energetica del serpente.
{\displaystyle E_{\text{snake}}^{*}\approx \sum _{1}^{n}E_{\text{snake}}({\bar {v}}_{i})}Pertanto, le forze del serpente possono essere approssimativamente calcolate come
{\displaystyle F_{\text{snake}}^{*}\approx -\sum _{i=1}^{n}\nabla E_{\text{snake}}({\bar {v}}_{i}).}L'approssimazione del gradiente può essere eseguita con qualsiasi approccio di approssimazione finita rispetto a s, come la differenza finita.
Quando il tempo discreto viene preso in considerazione nel metodo, è possibile che vengano introdotti aggiornamenti in cui il serpente viene spostato oltre i minimi a cui è attratto, portando a oscillazioni intorno ai minimi o alla scoperta di nuovi minimi.
La regolazione del passo temporale in modo che la dimensione del passo non sia mai superiore a un pixel a causa delle forze dell'immagine può impedire che ciò accada. Gli aggiornamenti saranno guidati principalmente dalle energie interne nelle zone a bassa energia.
Un'altra opzione è quella di normalizzare le forze dell'immagine in ogni fase in modo che cambino l'aspetto del serpente solo di un pixel. Una formulazione equivalente sarebbe
{\displaystyle F_{\text{image}}=-k{\frac {\nabla E_{\text{image}}}{\|\nabla E_{\text{image}}\|}}}dove \tau k è vicino al valore della dimensione del pixel.
In questo modo si evita che le energie interne dominanti abbiano origine per mettere a punto il passo temporale.
In un'immagine continua, ci possono essere passaggi per lo zero tra le energie che non corrispondono ai pixel discreti dell'immagine. La posizione di un serpente in questo passaggio per lo zero oscillerebbe su e giù tra i due pixel adiacenti. L'utilizzo dell'interpolazione tra i pixel anziché del rilevamento del vicino più prossimo può eliminare questa oscillazione.
Ci sono una serie di circostanze e limitazioni con