Object recognition: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: sintassi dei link e modifiche minori |
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5 |
||
(24 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
[[File:Detected-with-YOLO--Schreibtisch-mit-Objekten.jpg|thumb|Individuazione di oggetti mediante [[apprendimento profondo]], utilizzando un modello di rete basato su [[YOLO (algoritmo)|YOLOv3]] addestrato con il dataset COCO, capace di individuare fino ad 80 differenti tipologie di oggetti.]]
L''''Object recognition''' (in italiano: ''riconoscimento di oggetti'') nella [[computer vision]] è la capacità di trovare un determinato oggetto in una sequenza di immagini o video. L'uomo riconosce una moltitudine di oggetti in immagini con poco sforzo, nonostante il fatto che l'immagine degli oggetti possa variare un po' in diversi punti di vista, in diversi formati/scala o rotazione. Inoltre gli oggetti possono essere riconosciuti anche quando sono parzialmente esclusi dalla vista. Questo compito è ancora una sfida per la [[computer vision]] in generale. [[:en:David G. Lowe|David Lowe]] (computer scientist) ha sperimentato la [[computer vision]] per l'estrazione e l'utilizzo della scala invariante [[Scale-invariant feature transform|SIFT]] in modo da rendere il riconoscimento più affidabile.▼
▲
Per ogni oggetto in un'immagine, ci sono molte 'features', che sono caratteristiche interessanti dell'oggetto, le quali possono essere estratte in modo da fornire una descrizione "caratteristica" dell'oggetto. Questa descrizione estratta da una immagine campione può poi essere utilizzata per identificare l'oggetto durante il tentativo di individuare l'oggetto in una immagine di test contenente più oggetti. È importante che l'insieme di caratteristiche estratte dall'immagine campione sia insensibile a variazioni di scala delle immagini, i disturbi, l'illuminazione e distorsioni geometriche, in modo da rendere affidabile il riconoscimento. Il metodo brevettato di Lowe<ref>{{US patent|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", David Lowe's patent for the SIFT algorithm</ref> può riconoscere gli oggetti in maniera affidabile, anche tra il disordine e con occlusione parziale perché il metodo [[Scale-invariant feature transform|SIFT]] è indipendente dalla scala, orientamento, distorsione e parzialmente dai cambiamenti d'illuminazione<ref name="lowe">Lowe, D. G., “Object recognition from local scale-invariant features”, International Conference on Computer Vision, Corfu, Greece, September 1999.</ref>. Questo articolo presenta il metodo di Lowe e cita alcuni concorrenti tecniche disponibili per l'object recognition in presenza di disordine e occlusione parziale.▼
▲Per ogni oggetto in un'immagine, ci sono molte
== Metodo di David Lowe ==▼
I punti chiave [[Scale-invariant feature transform|SIFT]] degli oggetti sono prima estratti da una serie di immagini di riferimento<ref name="lowe" /> e memorizzati in un database. Un oggetto è riconosciuto in una nuova immagine confrontando singolarmente ciascun elemento della nuova immagine con quello nel database trovando quello più simile secondo la [[distanza euclidea]] delle loro caratteristiche vettoriali. Da l'intera serie di corrispondenze, insieme di punti chiave che corrispondono all'oggetto e la sua ubicazione, scala, e orientamento, sono identificate nella nuova immagine estraendo le migliori. La determinazione dei gruppi più coerenti viene eseguita rapidamente utilizzando un'efficiente [[hash table]] implementazione della [[trasformata di Hough]] generalizzata. Ogni gruppo di 3 o più caratteristiche che concordano su un oggetto e la sua posizione è poi oggetto di ulteriori verifiche e, successivamente, i peggiori vengono scartati. Infine, viene calcolata la probabilità che un determinato insieme di caratteristiche indica la presenza di un oggetto, dando la precisione di adattamento e il numero di probabili corrispondenze errate. Gli oggetti trovati che passano tutte queste prove possono essere identificati come corretti con elevata affidabilità<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>.
Riga 39 ⟶ 41:
== Fasi principali ==
=== Funzione di rilevamento a scala invariante ===
Il metodo Lowe per la generazione di un'immagine caratteristica chiamata
La solidità del metodo
▲Il metodo Lowe per la generazione di un'immagine caratteristica chiamata '''Scale Invariant Feature Transform''' ([[Scale-invariant feature transform|SIFT]]) trasforma l'immagine in una grande collezione di caratteristiche vettoriali, ognuna delle quali è invariante rispetto a traslazione, ridimensionamento, rotazione e, in parte rispetto all'illuminazione. Tale metodo è robusto rispetto a distorsioni geometriche. Queste caratteristiche hanno proprietà simili ai neuroni del [[lobo occipitale]], i quali vengono utilizzati per il riconoscimento di oggetti nei sistema di visione dei primati<ref>Serre, T., Kouh, M., Cadieu, C., Knoblich, U., Kreiman, G., Poggio, T., “A Theory of Object Recognition: Computations and Circuits in the Feedforward Path of the Ventral Stream in Primate Visual Cortex”, Computer Science and Artificial Intelligence Laboratory Technical Report, December 19, 2005 MIT-CSAIL-TR-2005-082.</ref>. Le posizioni dei punti chiave sono definite come massimi e minimi del risultato della [[differenza delle gaussiane]], di una serie di immagini ottenute col sistema [[spazio-scala]]. Vengono scartati i punti a basso contrasto e i punti di bordo che si trovano lungo un bordo. Maggiore credibilità viene assegnata ai punti chiave localizzati. Queste fasi garantiscono che i punti chiave siano più stabili durante il riconoscimento.
▲La solidità del metodo [[Scale-invariant feature transform|SIFT]] rispetto alla distorsione è quindi ottenuta considerando i pixel nell'intorno del punto chiave e sfocando e ricampionando l'immagine locale.
=== Ricerca e indicizzazione ===
L'indicizzazione è il problema di immagazzinare i punti chiave
▲L'indicizzazione è il problema di immagazzinare i punti chiave [[Scale-invariant feature transform|SIFT]] e di individuarli in una nuova immagine. Lowe ha usato una modifica dell'algoritmo [[k-d tree]] chiamato metodo del '''Best-bin-first search'''<ref>Beis, J., and Lowe, D.G “Shape indexing using approximate nearest-neighbour search in high-dimensional spaces”, Conference on Computer Vision and Pattern Recognition,Puerto Rico, 1997, pp. 1000–1006.</ref> che può individuare il [[K-nearest neighbors|nearest neighbor]] con elevata probabilità utilizzando solo limitate risorse di elaborazione. L'algoritmo BBF utilizza un ordinamento di ricerca modificato per il [[k-d tree]] in modo che i bins nella proprietà spazio siano ricercati in funzione della loro minima distanza dalla posizione richiesta. Questo ordine di ricerca richiede l'uso di una [[heap]] basata sulla [[coda di priorità]] per l'efficiente determinazione dell'ordine di ricerca. L'appaiamento al miglior candidato per ogni keypoint viene trovato identificando il suoi vicini più prossimi nearest neighbor nel database dei keypoints proveniente dalle immagini di addestramento. I nearest neighbor sono definiti come i keypoints con la minima [[Euclidean distance]] da un dato vettore descrittivo. La probabilità che un appaiamento sia corretto può essere determinata tramite il rapporto delle distanze con i due vicini più prossimi.
Lowe<ref name="lowe04" /> rigetta tutti gli accoppiamenti in cui il rapporto di distanza è superiore a 0.8, il che elimina 90% dei falsi accoppiamenti pur compromettendo meno del 5% degli appaiamenti corretti. Per migliorare ulteriormente l'efficienza dell'algoritmo di ricerca best-bin-first viene effettuato un cutoff dopo i primi 200 candidati nearest neighbor. Per un database di 100,000 keypoints, tutto ciò porta ad una velocizzazione sulla ricerca del corretto nearest neighbor di circa due ordini di grandezza compromettendo meno del 5% sul numero dei corretti accoppiamenti.
Riga 51:
== Applicazioni ==
I metodi di riconoscimento di oggetti trovano le seguenti applicazioni:
*
* [[Watermark (informatica)|watermark]] di immagini;<ref>Li, L., Guo, B., and Shao, K., " Geometrically robust image watermarking using scale-invariant feature transform and Zernike moments," Chinese Optics Letters, Volume 5, Issue 6, pp. 332-335, 2007.</ref>
*
== Voci correlate ==▼
== Note ==
<references/>
▲== Voci correlate ==
*[[Riconoscimento di pattern]]
* [[YOLO (algoritmo)|YOLO]]
== Collegamenti esterni ==
*
*
*
*
*
*
*
*
{{Apprendimento automatico}}
{{portale|informatica|statistica|matematica}}
[[Categoria:Apprendimento automatico]]
[[Categoria:
|