Objectherkenning

Uit Wikipedia, de vrije encyclopedie

Objectherkenning is het automatisch detecteren van bepaalde objecten door een computer.

Mensen herkennen objecten zonder veel moeite hoewel objecten zelden exact hetzelfde voorkomen. Soms staan we dicht bij of veraf, wat ervoor zorgt dat het object groter of kleiner lijkt, op andere plaatsten staat hetzelfde object dan weer gedraaid of half verstopt achter iets anders. Toch hebben wij geen problemen om dit te herkennen, bij computergestuurde objectherkenning zorgt dit voor een grote moeilijkheid. Een pionier op het vlak van objectherkenning was David Lowe, een Canadese wetenschapper. Hij kwam met het idee om van een object punten te nemen die niet veranderen door translatie, rotatie, grootte en lichte vervorming. Het algoritme dat hiervoor gebruikt wordt, wordt Scale-invariant feature transform (SIFT) genoemd. Hoewel er vele manieren zijn om aan objectherkenning te doen, is dit de meest algemene methode.

De SIFT-methode[bewerken | brontekst bewerken]

Deze methode om aan objectherkenning te doen gebeurt in een aantal stadia. Als we willen dat we objecten kunnen herkennen, moeten we eerst zorgen dat er een database aanwezig is waarin reeds een aantal objecten zitten die als referentie kunnen gebruikt worden. Deze database wordt gevuld met SIFT key features van de objecten die we als referentie gaan gebruiken[1]. De locatie en oriëntatie van deze features wordt apart bijgehouden zodat bij vergelijking met een nieuw object niet enkel de feature zelf moet kloppen, maar ook de oriëntatie en de locatie juist moeten zijn.

Wanneer er een object herkend wordt, worden ook hiervan met het SIFT-algoritme belangrijke kenmerken genomen die dan individueel worden vergeleken met alle kenmerken in de database. Het algoritme dat gebruikt wordt om na te gaan of de kenmerken overeenkomen is het Best-Bin-First algoritme. Van alle overeenkomstige kenmerken dat hieruit komen worden enkel degene die dezelfde locatie, oriëntatie en schaal bijgehouden.

De resultaten die we nu bekomen hebben worden nu geclusterd, dit wil zeggen dat er nu gekeken wordt naar de verschillende kenmerken samen en niet meer individueel. De matches die eerder zijn voorgekomen worden gegroepeerd per object, waar we drie of meer matches tegenkomen per object worden bijgehouden, anderen worden weggelaten. Deze worden dan meer gedetailleerd bekeken en weggelaten als deze niet verder overeenkomen. Het uiteindelijk resultaat is een match waarvan we bijna zeker kunnen zeggen dat dit het object is dat we voor ons hebben[2].

Andere methoden[bewerken | brontekst bewerken]

  • SURF[3]: Speeded Up Robust Features is een robuuste indicator van belangrijke punten die onafhankelijk zijn van de schaal en rotatie in een object. Deze manier is sneller dan SIFT. SURF is gebaseerd op 2D Haarwavelets.
  • PCA-SIFT[4]: Principal Components Analysis - Scale-invariant feature transform is een variant van SIFT.

Referenties[bewerken | brontekst bewerken]

  1. Lowe, D. G., “Object recognition from local scale-invariant features”, International Conference on Computer Vision, Corfu, Greece, September 1999.
  2. Lowe, D. G., “Distinctive Image Features from Scale-Invariant Keypoints”, International Journal of Computer Vision, 60, 2, pp. 91-110, 2004.
  3. Bay, H., Tuytelaars, T., Gool, L.V., "SURF: Speeded Up Robust Features", Proceedings of the ninth European Conference on Computer Vision, May 2006.
  4. Ke, Y., and Sukthankar, R., "PCA-SIFT: A More Distinctive Representation for Local Image Descriptors", Computer Vision and Pattern Recognition, 2004.