Scale-invariant feature transform: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AttoBot (discussione | contributi)
 
(9 versioni intermedie di 8 utenti non mostrate)
Riga 1:
{{S|programmazione}}
 
Nell'ambito della [[visione artificiale]], lo '''''Scalescale-invariant feature transform''''' (o '''SIFT''') è un [[algoritmo]] utilizzato in [[computer vision]] che permette di rilevare e descrivere caratteristiche,[[Caratteristica o(apprendimento feature,automatico)|caratteristiche]] locali in immagini. L'algoritmo è stato pubblicato da [[David G. Lowe]] nel [[1999]].<ref name="lowe99">{{cita conferenza
<!--{{FeatureDetectionCompVisNavbox}}-->
| autore = Lowe, David G.
 
| anno = 1999
'''Scale-invariant feature transform''' (o '''SIFT''') è un [[algoritmo]] utilizzato in [[computer vision]] che permette di rilevare e descrivere caratteristiche, o feature, locali in immagini. L'algoritmo è stato pubblicato da [[David G. Lowe]] nel [[1999]].<ref name=lowe99>{{cita conferenza
| titolo = Object recognition from local scale-invariant features
| autore = Lowe, David G.
| conferenza = Proceedings of the International Conference on Computer Vision
| anno = 1999
| volume = 2
| titolo = Object recognition from local scale-invariant features
| pagine = 1150–1157
| conferenza = Proceedings of the International Conference on Computer Vision
| doi = 10.1109/ICCV.1999.790410
| volume = 2
| url = http://doi.ieeecs.org/10.1109/ICCV.1999.790410
| pagine = 1150–1157
|urlmorto = sì
| doi = 10.1109/ICCV.1999.790410
| url = http://doi.ieeecs.org/10.1109/ICCV.1999.790410
}}</ref>
 
Applicazioni includono: [[objectriconoscimento recognitiondi oggetti]], [[robotic mapping]] e navigation, [[image stitching]], [[modellazione 3D]], [[gesture recognition|riconoscimento dei gesti]], [[video tracking]], e [[match moving]].
 
L'algoritmo è brevettato negli Stati Uniti; il proprietario è la [[University of British Columbia]].<ref>Brevetto US 6,711,293</ref>
 
== Scale-invariant feature transform ==
Per ogni oggetto in un'immagine, alcuni punti interessanti possono essere estratti per fornire una descrizione delle caratteristiche dell'oggetto. Questa descrizione, ricavata da un'immagine selezionata per l'apprendimento, può essere poi usata per identificare l'oggetto quando si prova ad individuarlo in una immagine di test che contiene molti altri oggetti. Per un riconoscimento affidabile, è importante che le caratteristiche estratte dall'immagine di apprendimento siano rilevabili anche con cambiamenti di scala, rumore e illuminazione. TaliQuesti punti di solito sono posizionati in regioni ad alto contrasto dell'immagine, come contorni di oggetti.
<!--{{technical|date=October 2010}}-->
Per ogni oggetto in un'immagine, punti interessanti possono essere estratti per fornire una descrizione delle caratteristiche dell'oggetto. Questa descrizione, ricavata da un'immagine selezionata per l'apprendimento, può essere poi usata per identificare l'oggetto quando si prova ad individuarlo in una immagine di test che contiene molti altri oggetti. Per un riconoscimento affidabile, è importante che le caratteristiche estratte dall'immagine di apprendimento siano rilevabili anche con cambiamenti di scala, rumore e illuminazione. Tali punti di solito sono posizionati in regioni ad alto contrasto dell'immagine, come contorni di oggetti.
 
Un'altra importante caratteristica di queste feature è che le loro posizioni relative nella scena originale non dovrebbero cambiarecambiano tra due immagini affini. Per esempio, se come featurecaratteristiche vengono presi gli angoli di una porta, esse dovrebbero funzionare indipendentemente dalla posizione della porta; invece se però vengonovenissero presi in considerazione anche punti del contorno, il riconoscimento fallirebbe seo meno a seconda che la porta fossesia chiusa o aperta. In modo simile, le feature situate in oggetti articolati o flessibili tipicamente non funzionano sequando avvenisseavviene un qualsiasi cambiamento della loro geometria interna tra due immagini nell'insieme elaborato. In praticaComunque, comunqueSIFT, SIFTper rilevaridurre eil contributo degli errori causati da variazioni locali, usa un numero molto più grande di feature dalle immagini, ilin modo che riducevariazioni illocali contributosulla degligeometria erroriinterna causatiabbiano daun questepeso variazioni localipiccolo sull'errore medio di tutte le feature.
 
Il metodo di Lowe<ref>Brevetto US 6,711,293, "Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image", brevetto del metodo di Lowe per l'algoritmo SIFT</ref> può identificare in modo robusto oggetti anche nella confusione o parzialmente nascosti, perché il descrittore di feature SIFT è invariante per scala, orientazione e distorsione affine e parzialmente invariante a cambi di illuminazione<ref name="lowe">Lowe, D. G., “Object recognition from local scale-invariant features”, International Conference on Computer Vision, Corfu, Greece, September 1999.</ref>. Questa sezione riassume il metodo di object recognition di Lowe e introduce alcune tecniche alternative disponibili per il riconoscimenti di oggetti in condizioni di confusione o parziale occlusione.
 
=== Il metodo di Lowe ===
Il metodo di Lowe<ref>Brevetto US 6,711,293, "Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image", brevetto del metodo di Lowe per l'algoritmo SIFT</ref> può identificare, in modo robusto, oggetti anche nella confusione o parzialmente nascosti, perché il descrittore di feature SIFT è invariante per scala, orientazione eorientamento, distorsione affine e parzialmente invariante a cambi di illuminazione<ref name="lowe">Lowe, D. G., “Object recognition from local scale-invariant features”, International Conference on Computer Vision, Corfu, Greece, September 1999.</ref>. Questa sezione riassume il metodo di object recognition di Lowe e introduce alcune tecniche alternative disponibili per il riconoscimenti di oggetti in condizioni di confusione o parziale occlusione.
I punti chiave SIFT di oggetti vengono prima estratti da un insieme di immagini di riferimento e immagazzinati in un database. Un oggetto viene riconosciuto in una nuova immagine confrontando individualmente ogni feature della nuova immagine con il database precedentemente ottenuto e cercando feature basandosi sulla [[distanza euclidea]] dei loro vettori di feature. Dall'insieme completo di corrispondenze, nella nuova immagine vengono identificati sottoinsiemi di punti chiave che concordano con l'oggetto e la sua posizione, scala, orientazione per filtrare le corrispondenze migliori. La determinazione di cluster consistenti viene effettuata in modo rapido usando un'implementazione con [[hash table]] efficiente della [[trasformata di Hough]] generalizzata. Ogni cluster di 3 o più feature concordanti su un oggetto e la sua posizione è soggetto ad un'ulteriore verifica dettagliata del modello e, di conseguenza, gli outliers vengono scartati. Infine viene calcolata la probabilità che un particolare insieme di features indichi la presenza di un oggetto, data l'accuratezza di fit e un numero di possibili false corrispondenze. Quelle che passano tutti questi test vengono identificate come corrette con alta confidenza<ref name="lowe04">Lowe, D. G., “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60, 2, pp. 91-110, 2004.</ref>.
 
I punti chiave SIFT didegli oggetti vengono prima estratti da un insieme di immagini di riferimento e immagazzinati in un database. Un oggetto viene riconosciuto in una nuova immagine confrontando individualmente ogni featurecaratteristica della nuova immagine con ilquelle nel database precedentemente ottenuto e cercando feature basandosi sulla [[distanza euclidea]] dei loro vettori di featurecaratteristiche. Dall'insieme completo di corrispondenze, nella nuova immagine vengono identificati sottoinsiemi di punti chiave che concordano con l'oggetto e la sua posizione, la sua scala, orientazionee il suo orientamento per filtrare le corrispondenze migliori. La determinazione di cluster consistenti viene effettuata in modo rapido usando un'implementazione con [[hash table]] efficiente della [[trasformata di Hough]] generalizzata. Ogni cluster di 3 o più feature concordanti su un oggetto e la sua posizione è soggetto ada un'ulteriore verifica dettagliata del modello e, di conseguenza, gli outliersoutlier vengono scartati. Infine, viene calcolata la probabilità che un particolare insieme di featurescaratteristiche indichi la presenza di un oggetto, data l'accuratezza di fit e un numero di possibili false corrispondenze. Quelle che passano tutti questi test vengono identificate come corrette con alta confidenza<ref name="lowe04">Lowe, D. G., “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60, 2, pp. 91-110, 2004.</ref>.
 
== Note ==
Riga 35 ⟶ 33:
* [[Speeded Up Robust Feature|SURF]]
 
{{Apprendimento automatico}}
[[Categoria:Algoritmi]]
{{portale|informatica|statistica|matematica}}
[[Categoria:Computer vision]]
 
[[Categoria:Algoritmi]]
{{categorie qualità}}
[[Categoria:ComputerVisione visionartificiale]]