An investigation and implementation of significant object recognition techniques

An investigation and implementation of significant object recognition techniques

 

Aufgabenstellung

Das maschinelle Sehen (Computer Vision) ist eines der komplexesten Forschungsgebiete der heutigen Informatik. Eine Vielzahl von Algorithmen und die Herausforderungen der digitalen Bildverarbeitung führen zu einem erschwerten Einstieg in die Thematik. Das Ziel dieser Arbeit liegt darin einen fundierten Überblick über die geläufigsten Methoden der Objekterkennung zu bieten und dadurch den Einstieg zu erleichtern. Um dies zu erreichen gliedert sich die Arbeit in einen theoretischen und praktischen Abschnitt. 

Der theoretische Teil behandelt die Grundlagen der digitalen Bildverarbeitung welche für das Verständnis der Algorithmen relevant sind. Darauf aufbauend werden grundsätzliche Faktoren zum Systemdesign diskutiert. Um einen roten Faden durch die Vielzahl an Algorithmen zu schaffen wird zwischen erscheinungs- und modelbasierten Verfahren unterschieden. Die Algorithmen selbst werden theoretisch erklärt und deren Anwendungen aufgezeigt. Jede Beschreibung eines Verfahrens schließt mit der Bewertung seiner Effizienz und Effektivität. 

Der praktische Abschnitt befasst sich mit der Entwicklung einer Applikation zur Objekterkennung. Die Roboterplattform "Speedy" stellt eine gute Möglichkeit dar die Objekterkennung innerhalb der Fakultät weiter zu etablieren. "Speedy" soll mit Hilfe seiner Kamera Wegpunkte erkennen und mittels generierten Richtungsinformationen einfache Navigationsaufgaben wahrnehmen können. Dazu werden die Grenzen des Systems untersucht und darauf basierend ein ausgewählter Algorithmus in MATLAB implementiert. Um die Erkennungsraten im späteren Feldversuch mit "Speedy" bewerten zu können werden Voruntersuchung zur Leistungsfähigkeit des Verfahrens unternommen.

 

Durchführung

Der theoretische Abschnitt wurde durch eine intensive Recherche erarbeitet. Alle wichtigen Quellen für weitergehende Informationen werden in der Arbeit erwähnt. Die Entwicklung der MATLAB Applikation setzte eine Implementierung des Kommunikationsprotokolls der LinkSprite-Kamera voraus. Diese ist ebenfalls in "Speedy" verbaut und der limitierende Faktor des Systems. Um eine realistische Anwendung abzeichnen zu können musste ein Kompromiss zwischen Übertragungszeit und Qualität gefunden werden. Der für die Anwendung passende Algorithmus wurde durch die Implementierung von Testapplikationen (NCC, Histogram Intersection, SIFT) und mithilfe der vorangegangenen theoretischen Untersuchungen gefunden. Als Ergebnis bietet der SURF Algorithmus hinsichtlich des Aufgabenspektrums des Roboters den vielversprechendsten Erfolg. Der herausforderndste Teil der Entwicklung war die ungünstige Perspektive und das niedrige Kontrastverhältnis der Kamera. Die Applikation muss bei hohen Verzerrungen und sich ändernden Lichtverhältnissen eine ausreichende Erkennungsrate bieten. Dazu musste ein Wegpunkt gefunden werden der diesen Ansprüchen gerecht wird. Eine Art Wegpunkt-Datenbank sorgt für eine hohe Erkennungswahrscheinlichkeit. Sie stellt eine Vielzahl an Aufnahmen aus verschiedenen Blickwinkeln bereit und optimiert somit das Verfahren.

 

Fazit

Mithilfe der entwickelten Applikation ist Speedy in einem Radius von 30cm in der Lage auf dem Boden befindliche Wegpunkte zuverlässig zu erkennen. An der Wand angebrachte Wegpunkte werden sogar aus einer Entfernung bis zu 6m erkannt. Hinsichtlich der theoretischen Ausarbeitungen können zukünftige Projekte auf die Grundlagen und Erkenntnisse zurückgreifen.

 

Ausblick

Eine Weiterentwicklung der Anwendung könnte eine Tracking-Station sein welche eine bestimmte Zahl von "Speedy's" verfolgt und über XBee steuert. Die Applikation kann ebenfalls angepasst werden um bestimmte Gegenstände in einem Raum aufzufinden oder um die Wegpunkte als Marker für RFID Chips zu nutzen. 

 

Christian Wahl, 02.07.2013