Object recognition: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(4 versioni intermedie di 3 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''''ObjectNella recognition'''[[visione (inartificiale]], italiano:il '''riconoscimento di oggetti'')', nellain [[visioneinglese artificiale]]'''''object recognition''''', è la capacità di trovare un determinato oggetto in una sequenza di immagini o video. L'uomoessere umano 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 [[visione artificiale (in inglese ''computer vision]]'') in generale. L'informatico [[David G. Lowe|David Lowe]] (computer scientist) ha sperimentato la [[visione artificiale]] 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 [[Caratteristica (apprendimento automatico)|caratteristiche]], 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 SIFT è indipendente dalla scala, orientamento, distorsione e parzialmente dai cambiamenti d'illuminazione<ref name="lowe">{{en}} 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.
 
== 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 45:
 
=== Ricerca e indicizzazione ===
L'indicizzazione è il problema di immagazzinare i punti chiave 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>{{en}} 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 (struttura dati)|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 ili suoi vicini più prossimi nearest neighbor nel database dei keypoints proveniente dalle immagini di addestramento. I ''nearest neighbors'' sono definiti come i keypoints con la minima [[distanza euclidea]] 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 67:
* {{cita web|http://www.cs.ubc.ca/~lowe/keypoints/|David Lowe's Demo Software : SIFT keypoint detector}}
* {{cita web|http://www.vision.ee.ethz.ch/~surf/index.html|SURF: Speeded up robust features}}
* {{cita web | 1 = http://lear.inrialpes.fr/pubs/2005/MS05/ | 2 = Mikolajczyk, K., and Schmid, C., "A performance evaluation of local descriptors", IEEE Transactions on Pattern Analysis and Machine Intelligence, 10, 27, pp 1615--1630, 2005. | accesso = 10 giugno 2009 | dataarchivio = 6 aprile 2019 | urlarchivio = https://web.archive.org/web/20190406222721/http://lear.inrialpes.fr/pubs/2005/MS05/ | urlmorto = sì }}
* {{cita web|https://www.cs.cmu.edu/~yke/pcasift/|PCA-SIFT: A More Distinctive Representation for Local Image Descriptors}}
* {{cita web | 1 = http://www-cvr.ai.uiuc.edu/ponce_grp/publication/paper/bmvc04.pdf | 2 = Lazebnik, S., Schmid, C., and Ponce, J., Semi-Local Affine Parts for Object Recognition, BMVC, 2004. | accesso = 10 giugno 2009 | dataarchivio = 11 ottobre 2017 | urlarchivio = https://web.archive.org/web/20171011044539/http://www-cvr.ai.uiuc.edu/ponce_grp/publication/paper/bmvc04.pdf | urlmorto = sì }}
* {{cita web |1=http://user.cs.tu-berlin.de/~nowozin/libsift/ |2=libsift: Scale Invariant Feature Transform implementation |accesso=10 giugno 2009 |urlarchivio=https://web.archive.org/web/20090418005923/http://user.cs.tu-berlin.de/~nowozin/libsift/ |dataarchivio=18 aprile 2009 |urlmorto=sì }}
 
Riga 76:
 
[[Categoria:Apprendimento automatico]]
[[Categoria:ComputerVisione visionartificiale]]