Sie sind auf Seite 1von 58

Fakultät für Mathematik und Informatik (Fakultät 1)

Institut für Informatik


Virtuelle Realität und Multimedia

Bakkalaureatsarbeit

Markerloses Tracking unbekannter Objekte für


humanoide Roboter

Ben Lorenz

Bachelor Network Computing


Matrikel: 51120

8. August 2012

Betreuer/1. Korrektor:
Prof. Dr.-Ing. Bernhard Jung

2. Korrektor:
Name des Zweitkorrektors
Eidesstattliche Erklärung
Ich versichere, dass ich diese Arbeit selbstständig verfasst und keine anderen Hilfsmittel als die
angegebenen benutzt habe. Die Stellen der Arbeit, die anderen Werken dem Wortlaut oder
dem Sinn nach entnommen sind, habe ich in jedem einzelnen Fall unter Angabe der Quelle
als Entlehnung kenntlich gemacht. Diese Versicherung bezieht sich auch auf die bildlichen
Darstellungen.

8. August 2012 Ben Lorenz


Inhaltsverzeichnis 3

Inhaltsverzeichnis

1. Einleitung 5
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Bestehende Ansätze 7
2.1. Markerbasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Featurebasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Feature-Tracking durch modellbasierte Objekterkennung . . . . . . . . . . . . 8
2.4. Farb- bzw. Histogrammbasiertes Tracking . . . . . . . . . . . . . . . . . . . . 8
2.4.1. Mean-Shift und CamShift Verfahren . . . . . . . . . . . . . . . . . . . 9
2.4.2. Template Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5. Objekttracking in der humanoiden Robotik . . . . . . . . . . . . . . . . . . . 10
2.6. Auswahl der Verfahren für diese Arbeit . . . . . . . . . . . . . . . . . . . . . . 12

3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 13


3.1. Optischer Fluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.1. Lucas-Kanade-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.2. Das “Good Features to Track“-Verfahren . . . . . . . . . . . . . . . . . 15
3.2. Oriented FAST & Rotated BRIEF (ORB) . . . . . . . . . . . . . . . . . . . . . . 17
3.2.1. ORB-Feature-Detektion . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2. ORB-Feature-Deskription . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3. BruteForce-Feature-Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4. Positionsbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.1. Homographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.2. RANSAC-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.3. Levenberg-Marquardt-Algorithmus . . . . . . . . . . . . . . . . . . . . 25
3.5. Histogrammbasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.1. Histogramm im HSV Farbraum . . . . . . . . . . . . . . . . . . . . . . 28
3.5.2. Rückprojektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5.3. Konturen finden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6. Zusammenfassung der theoretischen Grundlagen . . . . . . . . . . . . . . . . 31

4. Lösungsansatz und Umsetzung 33


4.1. Problemdefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2. Die Open Computer Vision Bibliothek . . . . . . . . . . . . . . . . . . . . . . 33
4.3. Der humanoide Roboter Nao . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4. Vorbetrachtung zum Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5. Entscheidung über das Trackingverfahren . . . . . . . . . . . . . . . . . . . . 34
4.6. Featurebasiertes Tracking - ORB und Lucas-Kanade Methode . . . . . . . . . 36
4.7. Histogrammbasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.8. Positionsbestimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.9. Umsetzung der Positionsinformationen durch den Nao . . . . . . . . . . . . . 40
4.10.Verbindungsaufbau und Steuerung des Nao . . . . . . . . . . . . . . . . . . . 41

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


Inhaltsverzeichnis 4

5. Evaluierung/Experimente 43
5.1. Das Testszenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.1. Kontrollierte Umgebung (CAVE) . . . . . . . . . . . . . . . . . . . . . 43
5.1.2. Umgebung Büro mit guten Bedinungen . . . . . . . . . . . . . . . . . 45
5.1.3. Umgebung Büro mit schlechten Bedingungen . . . . . . . . . . . . . . 48
5.2. Diskussion der Test-Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.1. Histogrammbasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . 49
5.2.2. Featurebasiertes Tracking . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3. Weitere Experimente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6. Zusammenfassung 51
6.1. Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

A. Anhang 54
A.1. Roboter Nao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


1. Einleitung 5

1. Einleitung
Roboter erfüllen heutzutage vielfältige Aufgaben in der Industrie, der Forschung und auch im-
mer mehr im Alltag der Menschen. So werden Roboter häufig da eingesetzt, wo die menschli-
che Ausdauer und Konzentration auf Dauer nachlassen kann, beispielsweise bei der Montage
von Fahrzeugteilen oder der Qualitätskontrolle [GOM10]. Des Weiteren können sie gefähr-
liche oder unangenehme Aufgaben lösen, wie zum Beispiel Bombenentschärfungen, Suche
nach Verschlüssen in Kanalisationssystemen oder Erforschung von unzugänglichen Umge-
bungen, wie der Tiefsee, Vulkanen oder anderen Planeten (Mars - Curiosity [JN12]). Auch
wenn eine hohe Präzision verlangt ist, wie bei schwierigen Operationen in der Medizin, kön-
nen Roboter den Menschen unterstützen. Für den Alltag gibt es bereits Haushaltsroboter die
Staub saugen [Tri], den Boden wischen oder den Rasen mähen können.
Einige dieser Roboter werden noch von Menschen gesteuert, andere können schon weitge-
hend autonom arbeiten. Je höher der Grad der Autonomie eines Roboters wird, desto wichti-
ger wird eine genaue Interpretation seiner Umgebung im Bezug auf seine spezifische Aufga-
be. Reicht einem Roboter, der ein Kanalsystem nach Verschlüssen durchsucht, dazu noch ein
rudimentärer “Tastsinn“, müssen Roboter, die in der Umgebung des Menschen arbeiten, ihre
Umwelt anders erfassen. Da die menschliche Wahrnehmung zu 80 % auf visuellen Informatio-
nen basiert [Car06], ist die von uns geschaffene Umgebung ebenfalls besonders auf Visualität
ausgelegt. Überall gibt es Schilder, Zeichen, Markierungen und Bilder, die wir im Laufe des
Lebens zu interpretieren lernen und deren Bedeutung teilweise unser Handeln bestimmt. Ein
Roboter, der in dieser Umgebung eine Aufgabe zu erfüllen hat, muss also ebenfalls in der
Lage sein visuelle Eindrücke wahrzunehmen und korrekt zu interpretieren.

1.1. Motivation
Robotern, Maschinen und Computern das “Sehen“ beizubringen ist seit vielen Jahren ein
von Forschern und der Industrie verfolgtes Ziel. Dabei entwickelte Techniken ermöglichen es,
aus zweidimensionalen, fotografischen Abbildungen, Informationen der dreidimensionalen
Umgebung zu interpretieren. Als Vorbild dient dabei unsere eigene Fähigkeit zur visuellen
Wahrnehmung. Das menschliche Gehirn ist in der Lage, in Sekundenbruchteilen Signale von
den Augen zu verarbeiten und ein Modell der Umwelt zu erstellen. Der Mensch kann dabei
bekannte, als auch unbekannte Objekte problemlos erfassen, verfolgen und wiedererkennen.
Wenn man die menschliche Leistungsfähigkeit als Maßstab nimmt, stellt dies für Roboter ein
ungelöstes Problem dar. Bei der Forschung wird sich meist auf Teilaspekte des Sehens be-
schränkt, da eine umfassende visuelle Wahrnehmung, wie die des Menschen, nach aktuellem
Stand der Technik nicht möglich ist. Um die Aufgabe für Roboter zu vereinfachen, wird bei-
spielsweise die Umgebung zur Orientierung mit Markern präpariert oder die Wahrnehmung
auf bestimmte Merkmale (Ecken, Kanten, Farben) beschränkt. Das menschliche Sehvermögen
beweist aber immer wieder, dass ein Verstehen der Umgebung anhand von Bildinformationen
auch ohne künstliche Marker oder die Einschränkung auf bestimmte Merkmale möglich ist.

1.2. Zielsetzung
Diese Bachelorarbeit soll einen Überblick über einige Ansätzen geben, die zur visuellen Ob-
jektverfolgung (Objekt-Tracking) verwendet werden können. Dabei wird insbesondere auf die
Vor- und Nachteile einzelner Verfahren im Bezug auf die humanoide Robotik eingegangen. Es
ist Teil der Aufgabenstellung, eine Software zu entwickeln, die auf den vorgestellten Verfahren
basiert. Die Software soll dem Nutzer ermöglichen einen humanoiden Roboter zu steuern.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


1. Einleitung 6

Die Steuerung erfolgt dabei durch die Selektion eines Bildausschnittes, in einer vom Roboter
stammenden Bildfolge. Der selektierte Bereich repräsentiert ein unbekanntes Objekt aus der
realen Umgebung, auf das sich der Roboter automatisch zubewegen soll. Da es sich um ein
unbekanntes Objekt handelt, wird zur Laufzeit ein passendes Trackingverfahren zur Verfol-
gung dieses Objektes ausgewählt. Die Wahl des Verfahrens erfolgt dabei durch den für diese
Arbeit entwickelten Algorithmus (siehe 4.5).
Die Kombination verschiedener Trackingkonzepte und deren möglichst gute Auswahl zur Lauf-
zeit wurden mit der vorliegenden Software prototypisch umgesetzt. Das entwickelte Gesamt-
verfahren wird des Weiteren durch Experimente in verschiedenen Umgebungen und mit ver-
schiedenen Testobjekten evaluiert.

1.3. Überblick
Das zweite Kapitel gibt einen Überblick über bestehende Ansätze zum visuellen Tracking und
nimmt damit im Zusammenhang Bezug auf die humanoide Robotik.
Kapitel 3 soll zunächst die theoretischen Grundlagen verwendeter Trackingverfahren erläutern
und den Leser mit einigen Begriffen aus dem maschinellen Sehen und der digitalen Bildver-
arbeitung vertraut machen.
Das Kapitel 4 stellt den in dieser Arbeit erarbeiteten Lösungsansatz, sowie dessen Umsetzung
vor. Dabei wird auf Probleme eingegangen, die während der Entwicklung der Software auf-
tauchten und gelöst wurden.
Das entwickelte Tackingverfahren wird in Kapitel 5 evaluiert. Dazu wurden Experimente in
verschieden Umgebungen durchgeführt und ausgewertet.
Das sechste Kapitel soll neben einer kurzen Zusammenfassung dieser Arbeit, einen Ausblick
geben, wie der entwicklete Ansatz zukünftig verbessert und erweitert werden kann.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 7

2. Bestehende Ansätze
Dieses Kapitel gibt eine Übersicht über aktuelle Tracking-Techniken. Es werden die Vor- und
Nachteile der einzelnen Verfahren erläutert und es wird Bezug auf die humanoide Robotik
genommen. Hierbei soll visuelles Tracking im Vordergrund stehen. Sensorbasierte Techniken,
wie beispielsweise GPS, mechanisches, akustisches oder elektro-magnetisches Tracking wer-
den nicht behandelt.

2.1. Markerbasiertes Tracking


Beim markerbasierten Tracking erfolgt die Positionsbestimmung von Objekten durch spezielle
Markierungen (engl. Marker) in der realen Umgebung. Wird ein solcher Marker an ein Ob-
jekt abgebracht, kann dieses über den Marker erkannt und verfolgt werden [WLS08]. Dieser
Marker muss aus allen Richtungen gut erkennbar sein. Dazu sollte er einen möglichst großen
Kontrast zu realen Welt bieten, weshalb Marker meist schwarz-weiß sind und aus großen und
klar abgetrennten Flächen bestehen. Ein schwarz-weißer Marker bietet darüber hinaus den
Vorteil, dass er im Vergleich zu Farben unempfindlich gegenüber Helligkeitsschwankungen ist.
Damit die Lage des Markers eindeutig bestimmt werden kann, muss dieser mindestens vier
unabhängige, eindeutig identifizierbare Punkte beinhalten. Die optimale Form ist deshalb ein
quadratischer Marker. Des Weiteren soll er sich eindeutig identifizieren lassen. Abbildung 2.1
zeigt typische Marker.
Beim markerbasierten Tracking wird der Marker im Bild gesucht und anschließend seine ein-
deutig identifizierbaren Punkte extrahiert. Diese Punktmenge wird mit einer Datenbank ver-
glichen, um den Marker zu identifizieren. Da die Größe des Markers und die Position der
Punkte auf dem Marker bekannt sind, kann anschließen die Orientierung, sowie der Abstand
des Markers von der Bildquelle (Kamera) errechnet werden.1

Abb. 2.1: Typische Marker [Met11]

2.2. Featurebasiertes Tracking


Das featurebasierte Tracking beruht auf dem Verfolgen von extrahierten Merkmalen eines
Objektes in einer Bildfolge. Die Merkmale (engl. Features) sind dabei gut erkennbare, mar-
kante Punkte im Bild, die sich einfach verfolgen (engl. tracken) lassen. Sie werden zuerst mit
einem Feature-Detektor gesucht und anschließend mit einem Feature-Deskriptor genauer be-
schrieben. Bekannte Feature-Detektoren sind z.B. MSER [Mat+02], FAST [RD06], SIFT [Low04]
und SURF [BTG06]. Als Feature-Deskriptoren sollen hier BRIEF [Cal+10], SURF, SIFT und ORB
(siehe 3.2) genannt sein.
Das Extrahieren der Features kann während der Laufzeit geschehen, das heißt die zu tra-
ckenden Objekte müssen nicht bekannt sein. Extrahierte Features werden in einem Deskriptor
1
Nao Landmarkdetection [Ald12a]

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 8

gespeichert, der das selektierte Objekt repräsentiert. Anschließend wird in der Bildfolge nach
diesen Features gesucht. Der Vorteil dieser Verfahren ist also, dass das Tracking dynamisch
funktioniert, da das gewünschte Objekt während der Laufzeit beschrieben wird. Darüber hin-
aus sind einige Feature-Detektoren und Deskriptoren in der Lage, Objekte skalen- und rota-
tionsinvariant zu beschreiben. Dadurch kann das Objekt im Bild erkannt werden, auch wenn
sich seine Distanz zur Bildquelle verändert oder das Objekt planare Rotationen zur Bildebene
vollführt.
Der Nachteil dieses Verfahrens ist, dass nur zweidimensionale Informationen über das Ob-
jekt gesammelt werden. Genau genommen wird also nicht das Objekt mit den Features be-
schrieben, sondern nur der Bildausschnitt, der dieses Objekt beinhaltet. Genauso wird bei
der Suche nicht nach einem Objekt gesucht, sondern nach einem Bildausschnitt, der eine
Feature-Konstellation besitzt, die der des als Objekt selektierten Bildausschnittes entspricht.
Verändert sich der Blickwinkel auf das Objekt, kann es möglicherweise nicht wiedergefunden
werden. Des Weiteren sind diese Verfahren stark von der Qualität der Bildfolge abhängig.
Ist die Bildauflösung zu gering oder entsteht durch schnelle Kamerabewegung Unschärfe im
Bild, können nur noch sehr wenige oder keine Features erkannt werden.

2.3. Feature-Tracking durch modellbasierte Objekterkennung


Für dieses Trackingverfahren gibt es verschiedene Ansätze. Die hier vorgestellte Methode
“Haar Feature-based Cascade Classifier for Object Detection“ wurde von P. Viola entwickelt
[VJ01] und von R. Lienhart verbessert [LM02]. Bei diesem Trackingverfahren sind die zu tra-
ckenden Objekte bekannt. Dazu werden vor dem Tracking Objektinformationen in einem
sogenannten classifier gesammelt und dieser in einer Objekt-Datenbank gespeichert. Der
classifier beinhaltet Informationen über das Objekt aus vielen verschiedenen Blickwinkeln und
Distanzen, sowie Negativ-Beispiele, also Informationen, die nicht zum Objekt gehören. Hier
sei speziell der cascade classifier erwähnt. Dieser enthält verschieden detaillierte Beschreibun-
gen des Objektes. Somit lassen sich viele Objekte einer Klasse zuordnen, um sie dann mit
genaueren Beschreibungen weiter zu klassifizieren. Die Objektinformationen selbst werden
als Haar-like Features bezeichnet und lassen sich ebenfalls in verschiedene Klassen einteilen
(siehe Abbildung 2.2). Aus den verschiedenen Features wird für jedes Objekt ein mehrstufi-
ges Modell errechnet. Um das Objekt wieder zu finden, wird im kompletten Bild nach diesen
Haar-like Features gesucht. Wird eine Menge von Features gefunden, die eine hohe Ähn-
lichkeit mit einem Objekt in der Datenbank hat, kann das Objekt im Bild nicht nur getrackt,
sondern auch klassifiziert werden. Ein weiterer Vorteil dieser Methode ist die Blickwinkelun-
abhängigkeit des Objektes, da beim “Training“ des classifiers verschiedene Perspektiven auf
das Objekt betrachtet werden und somit ein vollständiges Modell des Objektes erschaffen
wird. Der Nachteil dieses Verfahrens ist, dass Objekte erst getrackt werden können, wenn sie
vorher erlernt wurden. Ein Tracking unbekannter Objekte ist nicht möglich.

2.4. Farb- bzw. Histogrammbasiertes Tracking


Farb- und histogrammbasierte Trackingverfahren nutzen Farb- und Helligkeitsinformationen
im Bild zur Positionsbestimmung. Dafür gibt es zwei Ansätze. Einige Verfahren arbeiten direkt
auf einem Bild oder einer Bildfolge, andere projizieren gewisse Merkmale (Farben, Helligkei-
ten) in einen Merkmalsraum. Dieser Raum kann anschließend hinsichtlich der Verteilung bzw.
Häufigkeit der Merkmale analysiert werden, um daraus Positionsinformationen im echten Bild
abzuleiten.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 9

Abb. 2.2: Klassifizierung der Haar-like Features. Das zu trackende Objekt und später das Bild in dem das Objekt
gesucht wird, werden mit diesen Features beschrieben. Die Features repräsentieren bestimmte, gut erkennbare
Bildpunktkonstellationen. Deren Verteilung und Beziehung zueinander bilden die Grundlage für das im classifier
beschriebene Modell des Objektes. [LM02]

2.4.1. Mean-Shift und CamShift Verfahren


Das Mean-Shift-Verfahren [FH75] arbeitet in solch einem Merkmalsraum. Dazu wird ein Ziel-
modell des zu trackenden Objektes erstellt, das dieses Objekt im Merkmalsraum repräsen-
tiert. In jedem neuen Bild werden Kandidatenmodelle bestimmt. Kandidatenmodelle, die eine
starke Ähnlichkeit zum Zielmodell aufweisen, entsprechen mit hoher Wahrscheinlichkeit der
neuen Position des Zielmodells. Kandidaten sind lokale Maxima im Merkmalsraum. Mean-
Shift sucht nach diesen Maxima. Dabei beginnt der Algorithmus mit der Suche im aktuellen
Bild an der Stelle, an der sich im vorhergehenden Bild das Maxima befand. Dies beschleu-
nigt die Suche, wenn man davon ausgeht, dass sich ein verfolgtes Objekt zwischen zwei
aufeinanderfolgenden Bildern nur wenig bewegt. Der Merkmalsraum wird vor der Suche mit
Hilfe eines Kernel-Dichte-Schätzers geglättet, damit beliebige Merkmalsverteilungen betrach-
tet werden können.
CamShift (Continously Adaptive Mean Shift) ist eine Weiterentwicklung des Mean-Shift-Ver-
fahrens. Es ist robuster gegenüber Änderungen in der Farbverteilung während des Trackings
und sehr robust gegenüber Rauschen [Bra98]. CamShift kommt vor allem beim Tracking von
Gesichtern zum Einsatz [BKS11].

2.4.2. Template Matching


Template Matching arbeitet direkt auf der Bildebene. Ein Template (Bildausschnitt) wird auf
dem gesamten Bild zu jedem Bildpunkt (engl. Pixel) verschoben. Dabei wird das Template
an jeder Stelle mit seinem “Untergrund“ verglichen. Als Maß für die Ähnlichkeit mit dem
“Untergrund“ dient die Summe der absoluten Differenzen (SAD). Für jedes Pixel aus dem ge-
samten Bild wird ein SAD errechnet. Das Pixel mit dem kleinsten SAD repräsentiert mit hoher
Wahrscheinlichkeit die Position des im Template aufgenommenen Objektes. Dabei kann ein
Mindestwert als Qualitätsschranke dienen. Neben der Summe der absoluten Differenzen gibt
es auch andere korrelationsbasierte Vergleichsverfahren für Template Matching. Der Erfolg
des Template Matching ist stark abhängig von der Ausrichtung und Größe des Templates im
Bezug auf das Gesamtbild. Geringfügige Rotationen oder Skalierungen des Templates oder
des Bildes führen schnell zum Versagen der Methode, da keine niedrige SAD gefunden wer-
den kann. Das macht das Verfahren ungeeignet für das Tracking bewegter Objekte bzw. das
Tracking mit einer sich bewegenden Kamera. Template Matching eignet sich aber beispiels-
weise gut zur Schrifterkennung (OCR), wenn von allen Buchstaben des Alphabetes in einer

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 10

gewünschten Schriftart Templates angelegt werden.

2.5. Objekttracking in der humanoiden Robotik


Humanoide Roboter sind dem Menschen nachempfunden und sollen in der Lage sein ver-
schiedene menschliche Verhaltensweisen und Bewegungen nachzuahmen. Ihre Größe und
Form kann stark variieren. So lässt sich ein seperater Torso oder Kopf auf Rädern ebenso als
humanoid beizeichnen, wie ein mannshoher zweibeiniger Roboter. Um ihre angedachte Auf-
gabe zu erfüllen, müssen humanoide Roboter ihre Umgebung wahrnehmen können. Dazu
sind sie mit verschiedenen Sensoren, wie Kameras, Laser, Mikrofonen, Sonar oder Druck-
sensoren ausgerüstet. Häufig werden diese Sensoren als Analogon zu den menschlichen
Sinnesorganen betrachtet und deshalb an entsprechender Stelle am Roboter installiert. Ein
Mensch kann dann intuitiv erkennen, wie er mit dem Roboter interagieren kann. Die Augen
beispielsweise werden oft mit einem horizontalen Abstand mittig am Kopf montiert, um eine
stereoskope Wahrnehmung zu ermöglichen. Ein Mensch, der vom Roboter “gesehen“ werden
möchte, weiß dann, dass er sich frontal vor dem Kopf des Roboters befinden muss. Neben
den Analogien zu menschlichen Sinnesorganen können humanoide Roboter auch über zu-
sätzliche Sensoren verfügen. So kann sich beispielsweise am Torso oder am unteren Teil des
Kopfes eine weitere Kamera befinden, die zur Erfassung des Nahbereichs genutzt werden
kann. Es gibt auch Roboter, bei denen bezüglich der Sensoren teilweise oder vollständig auf
die Analogie zum Menschen verzichtet wurde.
Die Vielzahl der Formen und Größen humanoider Roboter, sowie die Variation der Kame-
raparameter, wie Auflösung oder Framerate, lässt viele verschiedene Ansätze für visuelles
Objekt-Tracking zu. Ein Roboter auf Rädern mit Stereo-Kamerasystem und hoher Framerate
verfügt über Tiefeninformationen seiner Umgebung und ein relativ unverwackeltes Bild bei
Bewegungen. Ein zweibeiniger Roboter mit nur einer Kamera (monokular) und niedriger Fra-
merate kann ohne Weiteres keine Tiefeninformationen aus dem Kamerabild interpretieren
und durch Wankbewegungen beim Laufen kann das Bild zusätzlich stark verwackelt werden.
Mit beiden Systemen ist ein Objekt-Tracking möglich. Es muss jedoch für jedes System ein
passender Ansatz gefunden werden. Die zur Verfügung stehende Rechenleistung spielt eben-
falls eine große Rolle. Bei unzureichender Performanz der Roboter-Hardware müssen einige
Verfahren ausgeschlossen oder auf externe Rechner ausgelagert werden.

Humanoide Roboter mit monokularem Kamerasystem


Monokulare Kamerasysteme können in einem einzelnen Bild keine Tiefeninformationen der
Umgebung oder von Objekten liefern. Um trotzdem Objekte im Bild erkennen und tracken
zu können, werden besonders bei geringen Bildauflösungen und geringer verfügbarer Re-
chenleistung farbbasierte Trackingverfahren genutzt [BBV00]. Bei diesem Verfahren wird das
Bild anhand vorher festgelegter Farbwerte segmentiert. Die Farbwerte entsprechen dabei
bestimmten, bekannten Objekten. Anwendung findet diese Methode beispielsweise in der
Standard-Plattform-Liga des RoboCup [LCV10], einer Fußball-Liga für Nao, einen etwa 60
cm großen humanoiden Roboter (siehe 4.3). Hier symbolisieren bestimmte Farben Elemente
des Spielfeldes (Tore = Gelb, Ball = Rot, Spielfeld = Grün). Des Weiteren werden Spielfeld-
Linien erkannt, damit sich die Roboter im Feld orientieren können. Weitere Informationen,
speziell im Bezug auf die visuelle Wahrnehmung des Nao im RoboCup, können [Sán09] ent-
nommen werden.
Auch ein featurebasierter Ansatz ist bei einem monokularen Trackingsystem möglich. Wang
et al. [WHC10] nutzen den featurebasierten SURF-Algorithmus um mit einem humanoiden

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 11

Roboter ein rudimentäres SLAM (Simultaneous Localization and Mapping) [LD91] durchzu-
führen. Dabei sind dem Roboter einige Objekte anhand ihrer zweidimensionalen Features
bekannt und in einer Reihe vor ihm plaziert. Der Roboter bewegt sich seitlich und erkennt
somit nach und nach ein weiteres Objekt. Da die Größe der Objekte bekannt ist, kann aus-
gehend von den im Bild gefundenen Objekt-Features, die Pose des Roboters im Raum ermittelt
werden.

Humanoide Roboter mit Stereo-Kamerasystem


Durch ein Stereo-Kamerasystem kann Robotern eine Tiefenwahrnehmung ihrer Umgebung
ermöglicht werden. Diese ist besonders nützlich bei der Bewegungsplanung, da Abstände
zu Objekten errechnet werden können. G. Taylor und L. Kleeman [TK02] haben ein solches
System genutzt, um das Greifen eines Objektes mit einem Roboterarm zu realisieren. Dazu
wurde ein Range-Image aus beiden Kamerabildern ermittelt, also ein Bild, dass nur Tiefen-
informationen in Farbwerte kodiert beinhaltet (siehe Abbildung 2.3 (b)). So lassen sich ve-
schieden weit entfernte Flächen durch verschiedene Farben oder Graustufen darstellen. Farb-
oder Graustufenverläufe repräsentieren zusammenhängende planare Flächen. Ein einfaches
Box-Modell, bestehend aus drei annähernd orthogonalen und parallel verlaufenden Linien-
paaren, findet Objekte ähnlicher Form in der realen Umgebung. Dann kann die Planung der
Greifbewegung zu dem zum Roboter nächsten Box-Objekt erfolgen.

(a) Vor dem Greifen (b) Range-Image

(c) Nach dem Greifen

Abb. 2.3: Die Bilder zeigen den humanoiden Roboter von G. Taylor und L. Kleeman [TK02] beim Greifen eines
Objektes. Bild (b) zeigt das bearbeitete Range-Image. Farbverläufe wurden hier bereits mit einer einzigen Farbe
versehen, um planare Flächen zu markieren. [TK02]

Um beliebige dreidimensionale Objekte in Bildern mit Tiefeninformationen zu finden, erwei-


terten Sumi et al. [Sum+01] ein System namens Versatile Volumetric Vision (VVV) [Tom+98].
Das erweiterte System ermöglicht eine Objekterkennung anhand eines 3D-Modells aus einer
Datenbank, insbesondere teilweise verdeckter Objekte. Mit vorhandener Geometrie-Informationen
aus dem 3D-Bild kann ein Objekt rekonstruiert werden. Verdeckte Teile des Objektes bzw.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


2. Bestehende Ansätze 12

dessen Kanten können somit vom System “virtuell“ in ein Ausgabebild projiziert werden (sie-
he Abbildung 2.4).

Abb. 2.4: Im Bild sind Teile des T-Elements verdeckt. VVV erkennt mit Hilfe der vorhandenen Geometrie-
Informationen aus dem 3D-Bild und einem Abgleich der Objekt-Geometrie aus einer Datenbank das T-Element.
Es werden die Kanten des rekonstruierten Objektes markiert, um verdeckte Teile sichtbar zu machen.

VVV wurde wiederum weiterentwickelt, um ein 3D-Vision-System für den humanoiden Robo-
ter HRP-2P bereitzustellen [Kaw+02]. Es wurde unter anderem die Erkennung von Kanten und
planaren Flächen verbessert. Die grundlegende modellbasierte Objekterkennung blieb aber
erhalten. Genutzt wurde das System beim HRP-2P beispielsweise um ein Brett zu finden und
zu greifen und im Anschluss kooperativ mit einem Menschen zu transportieren [Yok+03].

2.6. Auswahl der Verfahren für diese Arbeit


Markerbasiertes Tracking und Feature-Tracking anhand eines Objektmodells kommen für die
Umsetzung in dieser Arbeit nicht in Frage, da keine Marker verwendet werden sollen und
die Objekte unbekannt sind. Template Matching muss ebenfalls ausgeschlossen werden, da
sich der Roboter auf das Objekt zubewegt und sich deshalb die Größe des Objektes im
Bild ändert. Des Weiteren kann es sein, dass der humanoide Roboter bei der Vorwärtsbewe-
gung stark schwankt, wenn die Laufbewegungen der Beine nicht wie beim Menschen durch
die Hüfte ausgeglichen werden. Im Bild würde so eine Rotation des Objektes auftreten, die
Template Matching unbrauchbar machen kann. Die Forderung ein unbekanntes Objekt zu
verfolgen führt dazu, dass ein einzelnes Trackingverfahren nicht funktionieren kann. Han-
delt es sich bei dem gesuchten Objekt beispielsweise um ein einfarbiges Blatt Papier, sollten
farbbasierte Verfahren funktionieren, featurebasierte Verfahren jedoch versagen. Ist das zu
trackende Objekt ein Schwarz-Weiß-Bild, versagen farbbasierte Methoden, während feature-
basierte Verfahren ein gutes Trackingergebnis liefern können. Aus diesem Grund wurde sich
für eine Kombination beider Ansätze (featurebasiert und farb- bzw. histogrammbasiert) ent-
schieden. Ein Algorithmus wertet dabei die Abbildung des Objektes aus und entscheidet über
das anzuwendende Trackingverfahren.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 13

3. Theoretische Grundlagen der Objekterkennung und


Objektverfolgung
Das folgende Kapitel beinhaltet die theoretischen Grundlagen verwendeter featurebasierter
und histogrammbasierter Trackingverfahren. Außerdem werden Methoden zur Suche nach
gleichen oder ähnlichen Featurepunkten und Homographie vorgestellt. Die Ergebnisse dieser
Verfahren sollen die Position von Objekten im Bild liefern. Aus dieser Position wird später die
Bewegungs- oder Blickrichtung des Roboters abgeleitet.

3.1. Optischer Fluss


Als optischer Fluss (engl. Optical Flow) wird ein Vektorfeld bezeichnet, das die Geschwindig-
keit und Bewegungsrichtung für jeden Bildpunkt einer Bildsequenz angibt. Der optische Fluss
kann als die auf die Bildebene projizierten Geschwindigkeitsvektoren von sichtbaren Objek-
ten verstanden werden. Auf diese Weise lässt sich die Position von einzelnen Bildpunkten und
letztendlich Objekten über eine Reihe von Bildern verfolgen.
Für jeden Bildpunkt kann die Strecke angegeben werden, um die er sich zwischen dem ak-
tuellem und vorherigen Bild (engl. Frame) bewegt hat. Im Zusammenhang mit der Bildrate
(engl. Framerate) lässt sich daraus die Geschwindigkeit jedes Bildpunktes berechnen. Die Be-
arbeitung aller Bildpunkte mit dieser Methode wird als “Dense Optical Flow“ bezeichnet. Die
Horn-Schunck-Methode [HS81] bestimmt so ein Geschwindigkeitsvektorfeld. Dies stellt eine
einfache Methode zur Verfolgung von Objekten dar, da nur versucht werden muss, für zwei
aufeinander folgende Frames die zusammengehörenden Bildpunkte zu finden. In der Praxis
ergeben sich für diese “Dense Optical Flow“-Verfahren allerdings Probleme. Wird beispiels-
weise versucht ein einfarbiges Blatt Papier zu verfolgen, so lässt sich bei den verschiedenen
einfarbigen Bildpunkten keine Veränderung und somit auch keine Bewegung erkennen. Nur
bei Kanten ist diese sichtbar und auch nur dann, wenn diese senkrecht zur Bewegungsrichtung
liegen. Da der Geschwindigkeitsvektor für jeden einzelnen Bildpunkt berechnet wird, ergibt
sich für “Dense Optical Flow“-Verfahren ein hoher Rechenaufwand.
Dies führt zu alternativen Methoden, bei denen nur bestimmte Bildpunkte (engl. Features)
verfolgt werden. Diese Punkte werden vor dem Verfolgen festgelegt und haben gut wiederer-
kennbare Eigenschaften.

3.1.1. Lucas-Kanade-Methode
Die Lucas-Kanade-Methode (LKM) [LK81], ist ein Verfahren um den optischen Fluss an-
hand von Feature-Punkten zu berechnen. Dabei gibt es drei grundlegende Voraussetzungen
[Lag11, S. 270-271]:

• Konstante Helligkeit: Die Helligkeit eines Bildpunktes sollte von Frame zu Frame gleich
bleiben.

• Geringe Bewegung von Frame zu Frame: Entweder durch sehr hohe Framerate, oder
langsame Bewegung des Objektes oder der Kamera.

• Räumlicher Zusammenhang: Bildpunkte, die zur gleichen Oberfläche gehören, bewe-


gen sich auf die gleiche Weise.

Wenn man davon ausgeht, dass sich die Helligkeit für einen gewählten Punkt von Frame zu
Frame nicht ändert, dann wird nach einer Verschiebung (u, v) gesucht, für die gilt

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 14

It (x, y) = It+1 (x + u, y + v) , (3.1)


wobei It und It+1 für die Helligkeit (Intensität) des aktuellen bzw. nächsten Frames stehen. Aus
der Annahme konstanter Helligkeitswerte (3.1) folgt in der Regel, dass zwei schnell aufeinan-
derfolgende Bilder nur eine sehr kleine Bildpunkteverschiebung aufweisen. Man kann dann
ein Taylorpolynom nutzen, um die Gleichung (3.1) zu approximieren, die die Ableitungen der
Bildinformationen enthält:
∂I ∂I ∂I
It+1 (x + u, y + v) ≈ It (x, y) + u+ v+ .
∂x ∂y ∂t

Dies führt unter Berücksichtigung der konstanten Helligkeit zu einer neuen Gleichung:
∂I ∂I ∂I
u+ v+ =0. (3.2)
∂x ∂y ∂t

Diese Beziehung ist bekannt als die fundamentale Gleichung des optischen Flusses und wird
von der Lucas-Kanade-Methode ausgenutzt. Dabei wird die oben genannten Annahme vor-
ausgesetzt, dass sich Bildpunkte in der Nachbarschaft des aktuell berechneten Bildpunktes
auf die gleiche Weise bewegen, nämlich um die Verschiebung (u, v). Da man somit die selbe
Gleichung (3.2) für alle Punkte in der Umgebung des aktuellen Bildpunktes verwenden kann,
ergibt sich ein Gleichungssystem mit mehr Gleichungen als Unbekannten. Im zweidimensio-
nalen Fall entspricht dieses Gleichungssystem:

Ix1 ∗ u + Iy1 ∗ v + It1 = 0


Ix1 ∗ u + Iy1 ∗ v + It1 = 0
..
.
Ixn ∗ u + Iyn ∗ v + Itn = 0 .

Wobei n den Index der n zusammengehörenden Punkte angibt. Da ein überbestimmtes Glei-
chungssystem vorliegt, gilt:    
Ix1 Iy1 −It1
 Ix2 Iy2     −It2 
 u
= . 
  
 ..
 v  .. 

 .
Ixn Iyn −Itn
Zur Lösung
 dieses Systems kann nun die Methode der kleinsten Quadrate verwendet werden,
u
mit ~v = gilt: A~v = −b .
v
Der optische Fluss kann somit aus den Ableitungen, also dem Gradienten, ermittelt werden.
Um dem Hauptbildpunkt mehr Bedeutung zu verleihen, werden häufig Wichtungsfunktio-
nen verwendet. Zur Wichtung eignet sich beispielsweise die Gauß’sche Normalverteilung. In
anderen Erweiterungen der Lucas-Kanade-Methode werden auch statistische Methoden ver-
wendet, um das Tracking zu stabilisieren [MGH12].
Ein großes Problem, dass im Zusammenhang mit einem kleinen Suchfenster um einen gut
trackbaren Bildpunkt entsteht, ist das Blenden- oder Aperturproblem, welches in Abbildung
3.1 erläutert wird. Dieses Problem wird durch eine iterative Ausführung der Lucas-Kanade-
Methode bei verschiedenen Bildauflösungen gelöst (engl. Level of Detail - LOD). Dabei wird

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 15

erst bei einem niedrig aufgelöstem Bild ein grober optischer Fluss ermittelt. Die Informationen
aus dieser ersten Iteration fließen dann in die nächste Iteration ein, um die Position und Grö-
ße der Fenster um gut trackbare Bildpunkte anzupassen. Somit lassen sich auch Bewegungen
größerer Objekte erfassen [Bou00].

Abb. 3.1: Blendenproblem [BK08] - Der hellgraue Bereich zeigt das gesamte Bild, das durch ein kleines Fens-
ter (Blende) betrachtet wird. Die oberen vier Bilder zeigen die Bewegung durch die Blende. Dabei ist nur eine
Seitwärtsbewegung zu erkennen. Die unteren vier Bilder zeigen die gesamte Szene und es wird deutlich, dass
zusätzlich zur Seitwärtsbewegung eine Abwärtsbewegung stattfindet, die bei der Betrachtung durch die Blende
nicht erkennbar war.

3.1.2. Das “Good Features to Track“-Verfahren


Um die in 3.1.1 genannten gut trackbaren Punkte (engl. Features) zu finden gibt es verschie-
dene Methoden. Hier soll näher auf das von Shi und Tomasi entwickelte Verfahren “Good
Features to Track“ (GFTT) [ST94] eingegangen werden. GFTT basiert bis auf eine kleine Än-
derung vollständig auf dem Harris-Corner-Detektor (auch Plessy Punkt-Detektor) [HS88], wel-
cher wiederum eine Verbesserung des Moravec-Operators [Mor77] darstellt. Ziel des Harris-
Corner-Detektors ist es, kleine “Fenster“, also Ausschnitte im Bild zu finden. Der Inhalt dieser
“Fenster“ soll eine große Abweichung aufweisen, wenn sie um eine kleine Distanz bewegt
werden. Abbildung 3.2 zeigt das Prinzip der Harris-Corner-Detektion.
Um hohen Rechenaufwand zu vermeiden arbeitet der Harris-Corner-Detektor mit Graustu-
fenbildern. Dadurch kann die Bewertung des Fensterinhaltes allein über die Helligkeit erfol-
gen. Die Veränderung zwischen dem Originalfenster und dem bewegten Fenster kann durch
folgende Gleichung beschrieben werden:
X
E(u, v) = w(x, y)[I(x + u, y + v) − I(x, y)]2 .
x,y

Dabei stellt (u, v) die Verschiebung des Fensters in x bzw. y-Richtung dar, w(x, y) repräsentiert
das Originalfenster und seine Koordinaten und I steht für die Helligkeit an einer Stelle. Diese
Gleichung wird mit Hilfe eines Taylorpolynoms approximiert:
X
E(u, v) ≈ w(x, y)[I(x, y) + uIx + vIy − I(x, y)]2 .
x,y

Nach Auflösen des Quadrates lässt sich die Gleichung in Matrizenform schreiben:
  2   
  X Ix Ix Iy u
E(x, y) ≈ u v w(x, y) .
Ix Iy Iy2 v

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 16

Abb. 3.2: Prinzip der Harris-Corner-Detektion - Fenster a kann in jede Richtung bewegt werde, ohne dass sich der
Inhalt ändert. Fenster b und c liegen auf einer Kante und lassen sich jeweils nur in eine Richtung verschieben, ohne
dass sich der Inhalt ändert. Fenster d liegt auf einer Ecke und lässt sich ohne Inhaltsänderung nicht verschieben.
[Esc13, S. 39]

Teil dieser Gleichung ist die Autokorrelationsmatrix M :


 2 
X Ix Ix Iy
M= w(x, y) .
Ix Iy Iy2

Harris und Stephens [HS88] haben herausgefunden, dass sich die Eigenwerte λ1 , λ2 die-
ser Matrix zur Beurteilung des aktuellen Fensters eignen. Mit Hilfe der Eigenwerte lässt sich
quantifizieren, wie gut sich der Inhalt eines Bildausschnittes als Feature eignet. Um diese
Brauchbarkeit zu klassifizieren wird jedem Fenster ein Wert R zugewiesen, der sich wie folgt
berechnen lässt:

R = det M − k(SpurM )2 ,
det M = λ1 λ2 ,
SpurM = λ1 + λ2 .

Um Ecken von Kanten unterscheiden zu können wird k = 0, 04 gewählt. Dadurch erhalten


Kanten negative und Ecken positive Werte. Alle Fenster, die nun ein R größer einem be-
stimmten Wert haben, werden nach Featurepunkten durchsucht. Die Position des Features
wird durch eine lokale Nicht-Maxima-Unterdrückung ermittelt. In der Berechnung des Wertes
R besteht der einzige Unterschied zwischen der Harris-Corner-Detektion und GFTT. Bei GFTT
errechnet sich dieser Wert wie folgt:

R = min(λ1 , λ2 ) .

Shi und Tomasi [ST94] haben experimentell gezeigt, dass ihr Wert R bessere Ergebnisse liefert.
Diese Ergebnisse, also die Positionen der gut trackbaren Featurepunkte, dienen zur Initialisie-
rung der Lucas-Kanade-Methode. (3.1.1)
Abbildung 3.3 zeigt anhand zweier Diagramme die Auswertung der Eigenvektoren bei der
Harris-Corner-Detektion und “Good Features to Track“. GFTT liefert eine formale mathe-
matische Beschreibung von Featurepunkten, die auf der Änderung der Helligkeit in zwei or-
thogonalen Richtungen basiert. Zur Berechnung dieser Änderungen muss der Gradient des

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 17

Bildes ermittelt werden, was einen hohen Rechenaufwand darstellt. Des Weiteren ist GFTT
nicht skalen- und rotationsinvariant. Das macht diese Methode nur sehr bedingt tauglich für
eine Wiedererkennung von Features, da sich Objekte im Bild bewegen können, das heißt sich
ihre Größe und Orientierung ändert.

(a) Auswertung der Eigenwerte bei der Harris- (b) Auswertung der Eigenwerte bei GFTT
Corner-Detektion

Abb. 3.3: Die Abbildung zeigt die Klassifizierung der Fenster anhand ihrer Eigenwerte. Bei (a) [HS88, S.150]
entsprechen α und β den Eigenvektoren λ1 und λ2 . Wenn beide Eigenwerte zu klein sind, liegt R in der weißen
mit “flat“ bezeichnete Fläche bei (a) und der roten Fläche bei (b) [Sin10]. Das bedeutet, dass das aktuelle Fenster
einen zum Tracken völlig ungeeigneten Inhalt hat. Ist einer der beiden Eigenwerte zu niedrig, so liegt R bei (a)
im Bereich “edge region“ und bei (b) im grauen bzw. blauen Bereich. Das Fenster beinhaltet also eine Kante.
Sollten beide Eigenwerte groß sein, enthält das Fenster eine Ecke. Bei (a) sind zusätzlich Werte für R (“amplitude
of response function“) und deren Verlauf (“iso-response contours“), in Abhängigkeit von den beiden Eigenwerten,
angeben.

3.2. Oriented FAST & Rotated BRIEF (ORB)


Der folgende Abschnitt stellt Oriented FAST & Rotated BRIEF (ORB) vor, eine 2012 veröffent-
lichte Variante zur skalen- und rotationsinvarianten Feature-Detektion und Feature-Deskription
[Rub+12]. Der Name ORB leitet sich aus der Nutzung des Feature-Detektors FAST und des
Feature-Deskriptors BRIEF ab. Beide wurden für ORB jedoch angepasst und um verschiedene
Komponenten erweitert, um Rotationsinvarianz zu gewährleisten.
ORB bietet die Möglichkeit Informationen über einen Bildausschnitt (beispielsweise ein selek-
tieres Objekt) zu speichern, um diesen später wiederzuerkennen. Dazu werden zuerst Features
im Bildausschnitt gesucht (Feature-Detektion) und diese anschließend mit Informationen aus
ihrer Umgebung näher beschrieben (Feature-Deskription). Die gewonnenen Informationen
können dann mit dem kompletten Bild verglichen werden (engl. Matching), um einen Bild-
ausschnitt (das selektierte Objekt) zu finden, der diesen Informationen am nächsten kommt
(siehe Abbildung 3.4).

3.2.1. ORB-Feature-Detektion
ORB nutzt zur Feature-Detektion FAST (Features from Accelerated Segment Test) [RD06]. Diese
Methode ist in Echtzeit in der Lage Features zu finden. Dabei macht sie sich das gleiche LOD-
Prinzip zu nutze, dass die Lucas-Kanade-Methode von groben zu immer feiner werdenden

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 18

Abb. 3.4: Ein typisches Matching, das durch ORB gefundene und beschriebene Features benutzt. Grüne Linien
zeigen zulässige Matchings, rote Punkte zeigen Features zu denen kein Matching gefunden wurde. Am Bild lässt
sich die Rotations- und Skaleninvarianz von ORB erkennen. [Rub+12, Figure 1]

Auflösungen iterierte. Im Falle von ORB kommt des Weiteren noch ein Harris-Corner-Filter
hinzu, der schlecht gewählte Features ausschließen soll.
FAST findet Features innerhalb eines Bildes anhand eines Helligkeitsschwellwertes, der als
Parameter übergeben wird. Dieser Schwellwert liegt zwischen einem zentralen Bildpunkt und
einem gewissen Radius um diesen Bildpunkt. Bei ORB wird ein Radius von 9 Bildpunkten ge-
wählt (FAST-9). FAST liefert allerdings kein Maß dafür, ob es sich bei einem Feature um eine
Kante oder Ecke handelt. Rublee et al. [Rub+12] haben herausgefunden, dass FAST deshalb
sehr häufig Werte entlang von Kanten findet. Aus diesem Grund werden die FAST-Feature
mit einem Maß versehen und der Größe nach sortiert. Dieses Maß entspricht dem aus 3.1.2
bekannten Wert R für die Harris-Corner-Detektion. Für eine gewünschte Anzahl Features N
wird zuerst ein geringer Schwellwert gewählt, um mehr als N Features zu finden. Diese wer-
den dann mit R bewertet und sortiert. Die höchsten N Features werden zur Weiterberechnung
ausgewählt. Dieses Verfahren wird ähnlich wie die Lucas-Kanade-Methode bei unterschiedli-
chen Bildauflösungen durchgeführt.
FAST erzeugt in seiner normalen Form nur Informationen über die Lage der Features, aber
nicht über deren Ausrichtung. Die Ausrichtung lässt sich auf verschiedene Arten berechnen.
SIFT bestimmt diese beispielsweise über Histogramme entlang der Gradienten, SURF wieder-
um approximiert die Ausrichtung indem er die Umgebung des Features in Blöcke einteilt und
versucht Muster zu erkennen. Die von ORB genutzte Variante verwendet die “centroid techni-
que“ (Schwerpunkttechnik) bzw. “intensity centroid“ von P.L. Rosin [Ros98]. Dabei wird davon
ausgegangen, dass sich der Helligkeitsschwerpunkt einer Ecke nicht auf dem Mittelpunkt die-
ser Ecke befindet. Als Ecke ist hierbei der Bildausschnitt um ein Feature zu verstehen, der
vorher als Ecke erkannt wurde. Der Vektor vom Schwerpunkt zum Mittelpunkt kann nun als
Maß für die Ausrichtung des Features verstanden werden. Zur Berechnung des Schwerpunktes
verwendet Rosin die Momente [Min62] des Bildausschnittes und definiert diese wie folgt:
X
mpq = xp y q I(x, y) .
x,y

Dabei ist I(x, y) der Helligkeitswert an der Stelle (x, y) des Bildausschnittes. p und q geben
den Grad des Momentes an. Mit diesen Momenten lässt sich der Schwerpunkt herleiten:
 
m10 m01
C= , .
m00 m00

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 19

~ und die Ausrichtung ergibt


Der Vektor vom Eckmittelpunkt O zum Schwerpunkt ist somit OC
sich durch:   
arctan m01 , für Ecke=heller als Hintergrund
m
 10 
θ= m
m10 + π, für Ecke=dunkler als Hintergrund .
arctan 01

Wobei diese Unterscheidung im Falle von ORB keine Rolle spielt, da nicht die Orientierung
des Vektors von Bedeutung ist, sondern nur sein Winkel. Um die Rotationsinvarianz der ge-
fundenen Werte zu verbessern wird sichergestellt, dass die Momente für x- und y-Richtung
nur innerhalb einer kreisrunden Region mit Radius r berechnet werden. Radius r wurde empi-
risch festgelegt und entspricht hier dem Radius des Bildausschnittes. Der überarbeitete FAST-
Algorithmus wird im Folgenden als oFAST (oriented FAST) bezeichnet.

3.2.2. ORB-Feature-Deskription
Um später besser gleiche oder ähnliche Features zu finden, wird ein Feature-Deskriptor ver-
wendet. Dieser extrahiert aus einem kleinen Bildausschnitt um jedes gefundene Feature herum
Informationen, um dieses genauer zu beschreiben.
Als Feature-Deskriptor kommt bei ORB eine erweiterte Variante von BRIEF (Binary Robust In-
dependent Elementary Features) zum Einsatz [Cal+10]. BRIEF nutzt eine Reihe von einfachen
binären Tests zwischen Bildpunkten in geglätteten Bildausschnitten, um Features zu beschrei-
ben. Rublee et al. [Rub+12] haben nach binären Tests gesucht die besonders die Ausrichtung
der Features berücksichtigen. Der ursprüngliche BRIEF-Deskriptor liefert eine Bitkette für einen
bestimmten Bildausschnitt. Diese Bitkette wird von einem binären Test τ erzeugt:
(
1 : p(x) < p(y)
τ (p; x, y) :=
0 : p(x) ≥ p(y) .

p steht hierbei für den geglätteten Bildausschnitt (engl. Patch) und p(x) für die Helligkeit an
einem Punkt x. Das Feature wird definiert als ein Vektor von n binären Tests:
X
fn (p) := 2i−1 τ (p; xi , yi ) .
1≤i≤n

Die einzelnen Tests bekommen nun noch eine Wichtung ausgehend vom Mittelpunkt des Pat-
ches. Dafür wurde die Gauß’sche Normalverteilung gewählt. Die Länge des Vektors, also die
Anzahl der Tests, wird auf n = 256 festgelegt. Es ist weiterhin wichtig das Bild vor der Aus-
führung der Tests zu glätten. Hierzu wird ein Integralbild verwendet, bei dem jeder Testpunkt
einem (5 × 5)-Ausschnitt eines (31 × 31) Bildpunkte großem Patch entspricht.
Da normalerweise die positiven Matchingergebnisse schon bei sehr geringen Rotationswin-
keln stark zurückgehen (Abbildung 3.5), wurde versucht BRIEF so zu modifizieren, dass er
invariant gegenüber ebener Rotation wird. Dazu schlug Calonder et al.[Cal+10] vor, den
BRIEF-Deskriptor für alle Patches auf eine ganze Reihe von Rotationen und perspektivische
Neigungen anzuwenden. Dieser Lösungsansatz wurde von Rublee et al. [Rub+12] verworfen,
da er einen zu hohen Rechenaufwand erzeugte.
Rublee et al. [Rub+12] wählten einen anderen Ansatz. Sie entwickelten “Steered BRIEF“,
welcher die vorher ermittelte Ausrichtung θ der einzelnen Patches nutzte, um damit einen
steered, also “gesteuerten“, BRIEF-Deskriptor zu berechnen. Ein Vorteil des klassischen BRIEF-
Algorithmus ist, dass jeder Test, also jede Feature-Bitkette, eine große Varianz und ein arith-
metisches Mittel von etwa 0,5 besitzt [Rub+12]. Hohe Varianz macht ein Feature gut unter-
scheidbar. Wenn BRIEF an der Richtung der Features ausgerichtet wird, wie es bei “steered

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 20

Abb. 3.5: Die Grafik zeigt die Matchingperformance von rBRIEF, SIFT, SURF und BRIEF bei der (künstlichen) pla-
naren Rotation eines Testobjektes. Gut zu erkennen ist die Rotationsinvarianz des angepassten rBRIEF gegenüber
dem klassischen BRIEF-Algorithmus. [Rub+12, Figure 7]

BRIEF“ der Fall ist, dann verschieben sich die Mittelwerte zu einer relativ gleichmäßigen Ver-
teilung (siehe Abbildung 3.6). Dies geschieht, da die ausgerichteten Features für den binären
Test ein viel gleichförmigeres Aussehen besitzen. Somit sind die von steered BRIEF erkannten
Features schlecht unterscheidbar, was Rublee et al. [Rub+12] zu einer erneuten Überarbei-
tung ihres Algorithmus führte.
Dieser löste nicht nur das Problem der geringen Varianz, sondern gewährleistet darüber hin-
aus auch eine Unkorreliertheit der einzelnen binären Tests. Erreicht wurde das durch eine
Lernmethode, die selbstständig einen guten, also unkorrelierten Teil der binären Tests aus-
wählt. Es wurde ein Trainingsset von 300.000 Features aus einer Reihe von Bildern angelegt.
Des Weiteren wurden alle möglichen binären Tests aus einem (31 × 31) Bildpunkte großem
Patch durchnummeriert. Jeder Test entspricht dabei einem Paar von (5 × 5)-Ausschnitten des
Patches. Wenn man nun die Breite des Patches als (wp = 31) und die Breite des Ausschnittes
als wt = 5 bezeichnet, ergeben sich N = (wp − wt )2 mögliche Ausschnitte. Da ein Test jeweils
einem Paar von Ausschnitten entspricht, gibt es N2 binäre Tests. Werden nun alle Tests elimi-
niert, die sich überschneiden, bleiben M = 205590 mögliche Tests.
Folgender Greedy-Algorithmus sucht nach einer Menge von binären Tests, die unkorreliert
sind und ein arithmetisches Mittel nahe 0,5 liefern:

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 21

Abb. 3.6: Verteilung der arithmetischen Mittelwerte für Feature-Vektoren. Die X-Achse gibt hierbei den Abstand
vom Mittelwert 0,5 an. [Rub+12, Figure 3]

Algorithmus:

1. Jeder Test durchläuft alle Trainingspatches

2. Ordne die Tests nach der Entfernung ihres Mittelwertes von 0.5 und baue daraus einen
Vektor T auf

3. Greedy-Suche:
a Stecke den ersten Test in den Ergebnisvektor R und lösche ihn aus T
b Nimm den nächsten Test von T und vergleiche ihn mit allen Tests in R. Wenn seine
Korrelation größer ist als ein bestimmter Schwellwert, verwerfe ihn; andernfalls
füge ihn in R hinzu
c Wiederhole die vorherigen Schritte so lange, bis sich eine gewünschte Anzahl Test
in R befinden. Sollten es weniger als die gewünschte Ahnzahl sein, setze den
Schwellwert herrunter und starte den Algorithmus von vorn

Das Ergebnis das dieser Algorithmus lieferte, also eine Menge von unkorrelierten binären
Tests, bezeichneten Rublee et al. [Rub+12] als rBRIEF.
rBRIEF, in Kombination mit dem in 3.2.1 beschriebenen oFAST, lieferte nicht nur Rotationsinva-
rianz, sondern in einigen Bereichen eine bessere Trackingperformance als andere Verfahren,
wie zum Beispiel BRIEF, SURF und SIFT. Für eine ausführliche Evaluation sei auf die Veröffent-
lichung von Rublee et al. [Rub+12] verwiesen.

3.3. BruteForce-Feature-Matching
Um Features eines gewählten Objektes in einem Bild wiederzufinden (engl. Matching), gibt
es verschiedene Methoden. Neben dem FLANN-Based-Matching (Fast Library for Approxima-
te Nearest Neighbors [ML09]) findet häufig ein typisches Brute-Force-Matching Anwendung.
Das Brute-Force-Matching beruht auf der Brute-Force-Methode. Diese Methode findet eine
Lösung für ein Problem durch das Testen aller möglichen potenziellen Lösungen. Der Rechen-

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 22

aufwand steigt dabei proportional zur Anzahl der möglichen Lösungen, wobei die Anzahl der
möglichen Lösungen mit steigendem Umfang der Probleme exponentiell ansteigt. Vorteil der
Brute-Force-Methode ist, dass sie immer eine korrekte Lösung findet, wenn diese existiert.
Beim Brute-Force-Matching wird also zu jedem beschriebenen Feature vom gewählten Ob-
jekt das ähnlichste Feature aus dem gesamten Bild ermittelt. Da bei rBRIEF die Beschreibung
der Features aus einer binären Zeichenkette
P besteht, wird als Vergleichsmaß der Hamming-
Abstand [Ham50]Pgewählt. Wenn ein endliches Alphabet ist und x = (x1 , . . . , xn ), sowie y =
n
(y1 , . . . , yn ) aus zwei Worte gleicher Länge sind, dann ist der Hamming-Abstand beider
wie folgt definiert: X
∆(x, y) := 1, i = 1, . . . , n .
xi 6=yi

Am ähnlichsten sind sich also zwei beschriebene Features, wenn ihr Hamming-Abstand mini-
mal ist. Wenn der Hamming-Abstand zweier Features 0 ist, handelt es sich im Optimalfall um
das selbe Feature. Dieser Fall liegt jedoch nicht immer vor. Da in komplexen Umgebungen
eine Vielzahl von Features beschrieben werden, können sich zwei Features ähneln, oder gar
gleich sein, aber zu völlig unterschiedlichen Objekten gehören.

3.4. Positionsbestimmung
Wenn man davon ausgeht, dass sich die Lage, Größe und die Orientierung des zu trackenden
Objektes von Bild zu Bild ändern, dann reicht das Finden eines Matchings noch nicht aus, um
die Position eines Objektes im Bild genau zu bestimmen und zu verfolgen. Insbesondere trifft
dies zu, wenn der am Ende von 3.3 erwähnte Optimalfall nicht gegeben ist. Erst die Lage und
Orientierung hinreichend vieler Features zueinander kann Auskunft über die Position geben.

3.4.1. Homographie
Die Veränderung der Lage und Orientierung von Feature-Punkten vom Objekt und vom ge-
samten Bild kann als affine Transformation verstanden werden. Da die Feature-Punkte vom
Objekt und vom Bild in verschiedenen Koordinatensystemen liegen werden die beim Mat-
ching gefundenen Feature-Punkte in homogene Koordinaten transformiert. Homogene Koor-
dinaten erlauben die Darstellung von affinen Transformationen durch die Multiplikation der
Koordinaten mit Matrizen. Für jede affine Transformation gibt es eine Matrix. Die Multiplika-
tion einzelner Transfomationsmatrizen liefert eine Matrix, die die gesamte Transformation in
kompakter Form beschreibt.
Die Überführung der Koordinaten in homogene Koordinaten erfolgt durch Einführung einer
zusätzlichen Dimension: n Dimensionen → n + 1 Dimensionen, also hier von zweidimensio-
nalen Koordinaten zu dreidimensionalen Koordinaten:

f : (x, y) → (x, y, w), wobei w ∈ R, w 6= 0 .

Eine zweidimensionale Translation beispielsweise lässt sich wie folgt darstellen, wobei tx und
ty der Verschiebung in x- bzw. y-Richtung entsprechen:
 
1 0 tx
T = 0 1 ty  .
0 0 1

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 23

Eine zweidimensionale Rotation um den Koordinatenursprung lässt sich wie folgt darstellen:
 
cos α sin α 0
R = − sin α cos α 0 .
0 0 1

Für Skalierung S und Scherung P gibt es ebenfalls solche Matrizen. Die Transformation H
einer Menge Feature-Punkte vom Objekt auf eine Menge Feature-Punkte im Bild ist nun die
Kombination aller einzelnen Transformationen, also:

H =T ·R·S·P .

Es gilt eine Matrix H zu finden, welche die Objekt-Features (xi , yi ) möglichst genau auf ge-
matchte Bild-Features (xi 0 , yi 0 ) abbildet:
 0     
xi xi h11 h12 h13 xi
 yi 0  ∼ H  yi  = h21 h22 h23   yi  .
1 1 h31 h32 h33 1

Die Methode, die hier zum Suchen einer solchen Homographie (auch Kollineation) verwen-
det wird, heißt direkte lineare Transformation (DLT) [HZ04, S. 88ff]. Dabei sollte der soge-
nannte "back-projection error", also der Abstand zwischen den Bild-Feature-Koordinaten und
den transformierten Objekt-Feature-Koordinaten, minimiert werden. Als einfachste Möglich-
keit bietet sich dafür die Methode der kleinsten Quadrate an. Bei dieser Methode werden die
Abstände aller Punktpaare berechnet:
X h11 xi + h12 yi + h13 2 h21 xi + h22 yi + h23 2
  
0 0
xi − + yi − .
h31 xi + h32 yi + h33 h31 xi + h32 yi + h33
i

Wenn jedoch nicht alle Punktpaare auf die Transformation abgebildet werden können, es al-
so Ausreißer gibt, liefert diese Methode schlechte Ergebnisse oder findet keine Homographie-
Matrix H. Im Falle von Ausreißern gibt es unterstützdende Methoden, wie zum Beispiel Schätz-
Funktionen (M-Schätzer), den LMS-Algorithmus (Least-Mean-Squares) [WH60, S. 96-104]
oder den RANSAC-Algorithmus. Diese Verfahren ermitteln aus einem bestehenden Datensatz
(hier Punktkoordinaten) ein Modell, welches weniger, oder gar keine Ausreißer mehr enthält.
Auf dieses Modell kann dann die Methode der kleinsten Quadrate angewendet werden. Im
nächsten Abschnitt soll näher auf den verwendeten RANSAC-Algorithmus eingegangen wer-
den.

3.4.2. RANSAC-Algorithmus
Martin A. Fischler und Robert C. Bolles stellten den RANSAC-Algorithmus (RAndom SAmple
Consensus) 1981 in der Fachzeitschrift “Communications of the ACM“ vor. RANSAC bie-
tet gegenüber klassischer Methoden der Ausgleichsrechnung, wie zum Beispiel der Methode
der kleinsten Quadrate, eine hohe Robustheit gegenüber Ausreißern. Soll beispielsweise eine
Gerade (Modell) an eine Punktwolke angepasst werden, reichen theoretisch zwei Punkte um
diese Gerade zu beschreiben. Es ist aber unwahrscheinlich, dass zwei willkürlich gewählte
Punkte ein brauchbares Modell liefern. Wenn alle Punkte verwendet werden um das Modell
zu errechnen, dann können Ausreißer das Modell stark verzerren (siehe Abbildung 3.7).
Statt alle Punkte gemeinsam auszuwerten, werden bei RANSAC nur so viele Punkte zufällig
ausgewählt, wie zur Bestimmung des Modells gebraucht werden, im Falle einer Gerade also

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 24

zwei Punkte. Es wird zunächst angenommen, dass diese Punkte keine Ausreißer sind. Aus
ihnen wird nun ein Modell ermittelt. Die Distanz zwischen diesem Modell und allen ursprüng-
lichen Punkten liefert Informationen über die Qualität des Modells. Ist die Distanz zwischen
dem Modell und einem Punkt kleiner als ein vorher festgelegter Schwellwert, dann ist dieser
Punkt in Bezug auf das berechnete Modell kein grober Fehler, das heißt der Punkt unterstützt
das Modell. Je mehr Punkte das Modell unterstützen, desto unwahrscheinlicher waren die zu-
fällig ausgewählten Punkte Ausreißer. Punkte die ein Modell unterstützen werden gespeichert
und als Consensus set bezeichnet. RANSAC arbeitet iterativ, indem er dieses Verfahren mehr-
mals anwendet:

RANSAC-Algorithmus:

1. Wähle zufällig ausreichend viele Punkte aus, um ein Modell berechnen zu können. An-
nahme: Die ausgewählten Punkte sind keine Ausreißer.

2. Ermittle aus diesen Punkten ein vorläufiges Modell.

3. Bestimme die Menge der Punkte (Consensus set), deren Abstand zum Modell kleiner als
ein bestimmter Schwellwert ist.

4. Enthält das Consensus set eine Mindestanzahl von Punkten, wurde vermutlich ein gutes
Modell gefunden und das Consensus set wird gespeichert.

5. Wiederhole die Schritte 1-4 mehrmals.

Auf das größte gefundene Consensus set, also im Idealfall einer Menge von Punkten, die
keine Ausreißer enthält, wird nun die Methode der kleinsten Quadrate angewandt. Wenn
kein Consensus set gefunden werden konnte, sollte der Algorithmus mit veränderten Parame-
tern erneut gestartet werden. Diese Parameter sind:

1. Der Schwellwert für die Distanz zwischen Punkt und Modell

2. Anzahl der Iterationen

3. Mindestgröße des Consensus set (nur in einer speziellen Variante des Algorithmus, nor-
malerweise wird das größte Consensus set gewählt)

Abb. 3.7: Verfälschen des Modells (grüne Gerade) durch einen einzigen Ausreißer (roter Punkt rechts oben), bei
klassischer Ausgleichsrechnung.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 25

3.4.3. Levenberg-Marquardt-Algorithmus
Nachdem mit Hilfe von RANSAC und der Methode der kleinsten Quadrate eine erste Nä-
herung für die Homographiematrix H gefunden wurde, wird diese mit dem Levenberg-
Marquardt-Algorithmus (LMA) verfeinert. Dadurch kann der “back-projection error“ weiter
minimiert werden.
Der Levenberg-Marquardt-Algorithmus ist ein numerischer Optimierungsalgorithmus zur Lö-
sung nichtlinearer Ausgleichsprobleme mit Hilfe der Methode der kleinsten Quadrate. Der
Algorithmus kombiniert dabei das Gauß-Newton-Verfahren mit dem Gradientenverfahren.
Er ist dadurch robuster als das Gauß-Newton-Verfahren, das heißt er konvergiert in den
meisten Fällen mit hoher Wahrscheinlichkeit, auch wenn die Startbedingung weit vom ge-
suchten Minimum entfernt ist. (Man kann den Levenberg-Marquardt-Algorithmus auch als
Gauß-Newton-Verfahren mit einer Trust-Region-Näherung auffassen). Auf die einzelnen Ver-
fahren soll hier nicht im Detail eingegangen werden. Es wird nur die Funktionsweise des LMA
in groben Zügen erläutert.
Es sei eine Menge von m Punkt-Paaren (xi , yi ) gegeben und eine Funktion f , die einen Teil
dieser Punkt-Paare (xi ) transformiert. Diese Funktion f entspricht hier der Homographiematrix
H. Es wird ein Parameter β eingeführt um folgende Summe zu minimieren:
m
X
S(β) = [yi − f (xi , β)]2 .
i=1

Der LMA geht nun iterativ vor. Dabei muss der Parameter-Vektor β bei der ersten Iteration ver-
mutet werden. Ein gute Startwert ist zum Beispiel β T = (1, 1, . . . , 1). Bei jeder weiteren Iteration
wird dieser Parameter durch eine neue Abschätzung, β + δ, ersetzt. Um dieses δ zu ermitteln
wir die Funktion f (xi , β + δ) mit Hilfe ihrer Linearisierung approximiert (Taylorentwicklung):
f (xi , β + δ) ≈ f (xi , β) + Ji δ ,
wobei
∂f (xi , β)
Ji =
∂β
der Gradient der Funktion f im Bezug auf β ist. Wenn die Summe S(β) minimal ist, wird der
Gradient von S im Bezug auf δ null. Mit der Approximation von f (xi , β + δ) ergibt das für die
Summe:
Xm
S(β + δ) ≈ (yi − f (xi , β) − Ji δ)2
i=1
oder in Vektorschreibweise:
S(β + δ) ≈ ky − f (β) − Jδk2 .
J ist die Jacobi-Matrix, in der die i-te Zeile Ji entspricht, f und y sind Vektoren mit der i-ten
Komponente f (xi , β) und yi und k·k ist die euklidische Norm:
v
u n
uX
kxk = t |xi |2 .
i=1

Das gesuchte δ ist somit die Lösung für ein lineares Kleinste-Quadrate-Problem, welches
minimal wird, wenn Jδ − y − f (β) orthogonal zu den Spalten von J ist (das heißt wenn die
Ableitungen nach δ null sind).
J T (Jδ − y − f (β)) = 0! → J T Jδ = J T [y − f (β)] ,

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 26

Levenberg fügte dieser Menge von linearen Gleichungen einen Dämpfungsfaktor λ hinzu:

(J T J + λE)δ = J T [y − f (β)]) ,

wobei E der Einheitsmatrix entspricht. Der positive Dämpfungsfaktor λ wird in jeder Iteration
angepasst. Falls die Reduzierung von S schnell verläuft, kann ein kleiner Wert λ → 0 gewählt
werden. Somit ähnelt das Verfahren mehr dem Gauß-Newton-Verfahren. Geschieht die Redu-
zierung zu langsam, wird λ erhöht und das Verfahren nähert sich dem Gradientenverfahren.
Sollte nun entweder δ oder die Summe S(β + δ) unter einen bestimmten Schwellwert fallen,
wird der Algorithmus beendet und der Vektor β ist die Lösung für das Minimierungsproblem
S(β).
Dieser Algorithmus von Levenberg hat den Nachteil, dass er für große λ → ∞ und in Richtung
kleiner Gradienten langsam konvergiert (siehe Gradientenverfahren). Marquardt schlug vor,
einzelne Abschnitte des Gradienten anhand ihrer Krümmung so zu skalieren, dass das Ver-
fahren in Richtung kleiner Gradienten schneller arbeitet. Dazu ersetzte er die Einheitsmatrix E
durch die Diagonalmatrix von J T J. Somit skaliert der Dämpfungsfaktor nicht mehr einheit-
lich, sondern in Abhängigkeit von den Eigenschaften des Gradienten. Aus dieser Erweiterung
resultiert der Levenberg-Marquardt-Algorithmus:

(J T J + λdiag(J T J))δ = J T [y − f (β)] .

Typische, vom Nutzer bestimmte, Parameter für diesen Algorithmus sind: τ = 10−3 , 1 = 2 =
3 = 10−15 und kmax = 100. Dabei sind 1...3 die Schwellwerte für die Abbruchbedingungen.
Der Algorithmus bricht ab, wenn J T [y − f (β)], die relative Änderung von δβ (von einer Inter-
ation zur nächsten) oder der “back-projection error“ unter diese Werte fallen. kmax entspricht
der Anzahl der maximalen Iterationen.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 27

Der Levenberg-Marquardt-Algorithmus im Pseudocode:


Require: Funktion f : Rm → Rn mit n ≥ m, einen Vektor y ∈ Rn und einen Anfangspara-
meter β0 ∈ Rm
Ensure: Ein β 0 ∈ Rm , das m 2
P
i=1 [yi − f (xi , β)] minimiert.
1: k := 0; v := 2; β := β0 ; A := J J; β := y − f (β); g := J T β
T

2: stop := (kgk∞ ≤ 1 ); λ := τ ∗ maxi=1,...,m (Aii )


3: while (not stop and (k < kmax ) do
4: k := k + 1
5: repeat
6: Solve (A + λdiag(J T J))δβ = g
7: if (kδβ k ≤ 2 kβk ) then
8: stop := true
9: else
10: βnew := β + δβ
11: ρ := (kβ k2 − ky − f (βnew )k2 )/(δβT (λδβ + g))
12: if ρ < 0 then
13: β = βnew
14: A := J T J; β := y − f (β); g := J T β
15: (stop := kgk∞ ≤ 1 )or(kβ k2 ≤ 3 )
16: λ := λ ∗ max( 13 , 1 − (2ρ − 1)3 ); v := 2
17: else
18: λ := λ ∗ v; v := 2 ∗ v
19: end if
20: end if
21: until (ρ > 0)or(stop)
22: end while
23: return β 0 := β

3.5. Histogrammbasiertes Tracking


Das in der Umsetzung dieser Arbeit verwendete histogrammbasierte Trackingverfahren arbei-
tet grundlegend nach folgendem Prinzip:

1. Farbinformationen des selektierten Objektes als Histogramm erfassen.

2. Jeden Frame anhand dieser Informationen segmentieren.

3. Konturen in segmentiertem Bild finden.

4. Flächen berechnen, welche von Konturen eingeschlossen werden.

5. Die größte Fläche entspricht dem gesuchten beziehungsweise zu trackendem Objekt.

In der digitalen Bildverarbeitung lässt sich mit einem Histogramm die statistische Häufigkeit
von Grauwerten bzw. Farbwerten in einem Bild darstellen. Im RGB-Farbraum kann so die
Häufigkeitsverteilung der einzelnen Farben in einem Bild dargestellt werden. Jeder Pixel setzt
sich in diesem Farbraum aus den drei Farben (Rot, Blau und Grün) zusammen, wobei jede
Farbe einen Helligkeitswert von 0...255 (8 Bit) besitzt. Die Daten für jeden Farbkanal wer-
den in Klassen (bins) eingeteilt. Im RGB-Farbraum ist eine Einteilung in 256 bins üblich, also
für jeden Helligkeitswert eines Farbkanals genau einen bin. Für jeden dieser bins werden im

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 28

(a) Graustufenbild (b) Histogramm zu (a) (c) Graustufenbild nach


Segmentierung

(d) Histogramm zu (c)

Abb. 3.8: Abbildung (a) zeigt ein Graustufenbild und Abbildung (b) das zugehörige Histogramm. Im Histogramm
gibt es ein Maximum ganz links, was schwarz bzw. einem Grauwert von 0 entspricht. Bis zur Hälfte des Histo-
gramms gibt es nur wenige Grauwerte, danach steigen die Häufigkeiten der Grauwerte. Vollständig weiße (Grau-
wert 255) Werte gibt es nicht. Beim Schwellwertverfahren wird nun ein Schwellwert (engl. threshold) festgelegt.
Alle Pixel, die unter diesem Wert liegen, das heißt dunkler sind, werden mit einem Grauwert von 0 versehen,
alle Pixel, die über diesem Wert liegen, werden mit einem Grauwert von 255 versehen. Das resultierende Bild (b)
enthält nur noch zwei Grauwerte (0 und 255). Das zugehörige Histogramm (d) weist jeweils ein Maximum bei
schwarz und weiß auf.

gesamten Bild die zugehörigen Pixel gezählt. Damit lässt sich für jeden Farbkanal ein Histo-
gramm darstellen. Dabei werden die einzelnen bins durch Rechtecke bzw. Linien dargestellt,
deren Höhe abhängig von der Anzahl der zugehörigen Pixel ist. Jeder bin entspricht also der
Menge von Pixeln, die in einem bestimmten Helligkeitsbereich (hier genau ein Helligkeitswert)
liegen.
Anhand der Histogramminformationen lässt sich ein Bild segmentieren, um beispielsweise
bestimmte Bereiche hervorzuheben oder zu unterdrücken. Ein einfache Methode dafür ist das
Schwellwertverfahren (engl. Thresholding), welches in Abbildung 3.8 an einem Graustufen-
bild erläutert wird.
Farbige Bilder lassen sich ebenfalls durch das Schwellwertverfahren segmentieren, allerdings
eignet sich der RGB-Farbraum weniger dafür, da drei Farbkanäle und deren Kombinationen
betrachtet werden müssen. Insbesondere Bilder mit Farbverläufen und Schattierungen lassen
sich so schlecht segmentieren. Ein geeigneterer Farbraum für die Segmentierung farbiger
Bilder ist der HSV-Farbraum.

3.5.1. Histogramm im HSV Farbraum


Die Farben im HSV-Farbraum setzen sich aus dem Farbton (engl. hue), der Farbsättigung
(engl. saturation) und einem Helligkeitswert (engl. value) zusammen. Der Farb-Wert entspricht
dabei einem Farbwinkel auf dem Farbkreis (z.B. 0°/360°= Rot, 120°= Grün, 240°= Blau),
während die Sättigung (0% = Grau, 100% = volle Sättigung) und die Helligkeit (0% = keine
Helligkeit, 100% = volle Helligkeit) in Prozentwerten angegeben werden.
Für jeden dieser Kanäle kann nun wieder ein Histogramm berechnet werden. Das Histo-
gramm des Farb-Kanals liefert somit die Verteilung aller Farbtöne im Bild, unabhängig von
ihrer Sättigung oder Helligkeit. Der Vorteil bei der Segmentierung farbiger Bilder im HSV-
Farbraum gegenüber dem RGB-Farbraum besteht nun darin, dass Farbverläufe und Schat-

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 29

Abb. 3.9: Die Abbildung zeigt eine grüne Kugel auf der zwei Punkte markiert sind. Punkt a enthält im RGB-
Farbraum die Werte RGB(87,123,63) und im HSV-Farbraum HSV(110°, 70%, 84%). Punkt b enthält RGB(1,6,0)
und HSV(111°, 100%, 2%). Der Farb-Wert ändert sich auf der gesamten Kugeloberfläche nur geringfügig, wäh-
rend die RGB-Werte stark variieren.

tierungen einfacher erfasst werden können.


Es soll beispielsweise ein grüner Ball aus einem Bild segmentiert werden. Dieser Ball besitzt
aufgrund der Umgebungsbeleuchtung verschiedene Grünschattierungen. Um alle Schattie-
rungen im RBG-Farbraum darzustellen ist ein großer Umfang an einzelnen Kanalwerten und
Informationen über deren Mischungsverhältnis nötig. Im HSV-Farbraum lassen sich die Schat-
tierungen einfacher erfassen, da nur ein kleiner Bereich im Farb-Kanal und die passenden
Bereiche im Sättigungs- bzw. Helligkeitskanal betrachtet werden müssen (siehe Abbildung
3.9).

3.5.2. Rückprojektion
Rückprojektion (engl. backprojection)2 ist eine weitere Methode um ein Bild zu segmentieren.
Dabei wird berechnet, wie gut die Pixel eines Bildes einem vorher ermitteltem Histogramm
entsprechen. So lassen sich beispielsweise mit einem Histogramm einer Hautfarbe alle Berei-
che im Bild finden, die diesem Histogramm, also letztendlich der Hautfarbe, am ähnlichsten
sind. Es wird jeder Pixel p(x, y) des Bildes betrachtet und seine HSV-Werte (hx,y , sx,y , vx,y ) er-
mittelt. Diese Werte werden nun mit dem vorher ermittelten Histogramm verglichen und der
bin gesucht, dem diese Werte am meisten entsprechen. Der bin-Wert wird nun in einem neuen
Bild gespeichert, der Rückprojektion. Er entspricht dort einem Grauwert und befindet sich an
der gleichen Stelle, wie der im Original-Bild ausgewertete Pixel p(x, y). Ein hoher bin-Wert,
also ein häufiges Auftreten des Farbtones im Bild liefert dabei weiß, niedrigere bin-Werte nur
noch Graustufen und sehr geringe bin-Werte schwarz (siehe Abbildung 3.10).

3.5.3. Konturen finden


Nachdem das Bild segmentiert wurde, werden nun Konturen gesucht. Dazu wird ein Algo-
rithmus verwendet [Suz85], der die Nachbarschaft von Pixeln in einem quadratischen Ras-
ter untersucht. Diese Nachbarschaft von Pixeln ist eng mit den Begriffen “Zusammenhang“
und “Nachbarschaft“ aus der Graphentheorie verbunden. Im zweidimensionalen Fall werden
hauptsächlich zwei Arten von Pixel-Nachbarschaften betrachtet (siehe auch Abbildung 3.11):

2
nicht zu verwechseln mit dem “back-projection-error“ (siehe 3.4.1)

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 30

(a) Bild (b) Rückprojektion

Abb. 3.10: Das blaue Rechteck in (a) rahmt den Bereich ein, aus dem das Histogramm für die Rückprojektion er-
rechnet wurde. (b) zeigt die Rückprojektion von (a). Helle Flächen entsprechen dabei am ehesten dem selektierten
Histogramm. Je dunkler die Flächen, desto weniger entsprechen sie dem Histogramm.

• Von-Neumann-Nachbarschaft bzw. Vierer-Nachbarschaft von Pixeln - nur Pixel, die eine


Kante gemeinsam haben, gelten als Nachbarn

• Moore-Nachbarschaft bzw. Achter-Nachbarschaft von Pixeln - Pixel die mindestens eine


Ecke gemeinsam haben, gelten als Nachbarn

(a) 4er-Nachbarschaft (b) 8er-Nachbarschaft

Abb. 3.11: Die Abbildungen zeigen die Nachbarschaftsbeziehung des mit X markierten Pixels. Die hellgrauen
Flächen repräsentieren die Nachbarn dieses Pixels.

Der Algorithmus arbeitet nur in einem schwarz-weiß-Bild, das heißt sollen Konturen in einer
Rückprojektion (Graustufenbild) gefunden werden, muss ein Schwellwertverfahren angewandt
werden, um daraus das gewünschte Binärbild zu erzeugen. Die Konturen liegen nach Beendi-
gung des Algorithmus als Folge von Punkten vor. Dieser Polygonzug wird durch den Douglas-
Peucker-Algorithmus [DP73] vereinfacht. Der Grad der Vereinfachung wird dabei durch den
Abstand zwischen dem ursprünglichen und dem approximierten Polygonzug festgelegt. Der
Douglas-Peucker-Algorithmus arbeitet rekursiv nach dem Teile-und-Herrsche-Prinzip (siehe
Abbildung 3.12). Die Fläche, die von jeder Kontur umschlossen wird lässt sich durch das
Zählen der beinhalteten Pixel ermitteln. Die Kontur mit der größten Fläche entspricht dann
dem gesuchten Objekt.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 31

Abb. 3.12: Illustration des Douglas-Peucker-Algorithmus - Die grünen Punkte entsprechen den Punkten des
Original-Polygonzuges, die schwarzen Vierecke denen, des vereinfachten Polygonzuges. Die blaue Linie reprä-
sentiert den approximierten Polygonzug, die rote Linie zeigt jeweils den maximalen Abstand eines Punktes vom
Original-Polygonzug zur approximierten Lösung an. Der Punkt auf dem Original-Polygonzug, der den maximalen
Abstand hat, wird zur approximierten Lösung hinzugefügt. Punkte, die unter einen gewissen Abstandsschwellwert
fallen, werden verworfen.

3.6. Zusammenfassung der theoretischen Grundlagen


Im vorangegangenen Kapitel wurden die theoretischen Grundlagen verschiedener Tracking-
methoden dargelegt. Mit der Lucas-Kanade-Methode wurde ein Verfahren zur Verfolgung von
Objekten mit Hilfe des optischen Flusses vorgestellt. Dieses Verfahren bedient sich zur Initiali-
sierung des “Good Features to Track“-Verfahrens, welches wiederum eine Variante der Harris-
Corner-Detection darstellt. Mit GFTT werden Features, also gut trackbare Punkte, im Bild
gesucht, an denen der optische Fluss des Bildes ermittelt wird. Die Lucas-Kanade-Methode
eignet sich zum Verfolgen von Objekten im Bild, allerdings nicht zum Wiederfinden und Er-
kennen von Objekten. Deshalb wurde in den nachfolgenden Kapiteln auf ein featurebasiertes
Trackingverfahren eingegangen, das Informationen über das gesuchte Objekt speichern kann
und stetig mit dem kompletten Bild vergleicht. Das vorgestellte aktuelle Verfahren heißt ORB
(Oriented FAST and Rotated BRIEF). Es setzt sich aus dem Feature-Detektor oFAST zum Fin-
den von Features im Bild und dem Feature-Deskriptor rBRIEF zur genaueren Beschreibung
der Features zusammen. oFAST und rBRIEF sind angepasste Varianten des Standard-Feature-
Detektors FAST bzw. Standard-Feature-Deskriptors BRIEF.
Die gesammelten Informationen über das Objekt, sowie des kompletten Bildes werden mit ei-
nem BruteForce-Matching-Algorithmus verglichen, um ähnliche Informationen aus beiden zu
vereinen. Das gefundene Matching entspricht dabei einer Punktwolke (Features) des Objektes
und einer Punktwolke aus dem kompletten Bild. Diese müssen allerdings nicht deckungsgleich
sein, weshalb mit dem RANSAC-Algorithmus versucht wird, die Objekt-Punktwolke auf die
des Bildes abzubilden. Der RANSAC-Algorithmus liefert dabei eine erste Näherungslösung,
welche mit der Levenberg-Marquardt-Methode weiter verfeinert wird. Die Transformation der
Objekt-Punktwolke in die Punktwolke des gesamten Bildes wird in einer Homographie-Matrix
gespeichert. Wenn eine solche Matrix gefunden werden kann, befindet sich das Objekt im
Bild.
Des Weiteren wurde auf farb- bzw. histogrammbasiertes Tracking eingegangen. Dabei wer-
den zuerst Informationen über das zu trackende Objekt in Histogrammform gesammelt. Mit
Hilfe dieses Histogramms lässt sich das vollständige Bild segmentieren. Zur Segmentierung
werden zwei Methoden erläutert, das Schwellwertverfahren und Rückprojektion. Im segmen-
tierten Bild werden Konturen gesucht und diese anschließend mit dem Douglas-Peucker-
Algorithmus vereinfacht. Der Flächeninhalt, den die einzelnen Konturen einschließen, wird
durch Zählen der beinhalteten Pixel gemessen. Die Kontur mit dem größten Flächeninhalt

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


3. Theoretische Grundlagen der Objekterkennung und Objektverfolgung 32

repräsentiert das gesuchte Objekt.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 33

4. Lösungsansatz und Umsetzung


Das Ziel dieser Bachelorarbeit ist die Entwicklung und Umsetzung eines Lösungsansatzes für
ein markerloses Echtzeittracking für humanoide Roboter. In den vorherigen Kapiteln wurden
dazu grundlegende mathematische Methoden erläutert und verschiedene Verfahren vorge-
stellt, die bei der Umsetzung benötigt werden. In diesem Kapitel wird nun ein Lösungsansatz
und dessen Umsetzung beschrieben. Dazu wird zunächst die Problemstellung konkret defi-
niert und es werden Anforderungen festgelegt. Des Weiteren wird die verwendete Hard- und
Software, sowie der humanoide Roboter vorgestellt.
Als Testumgebung wurde ein Desktop Rechner mit Microsoft Windows 7 genutzt. Dieser ver-
fügt über einen Intel Core2Quad Q9550 mit 4x2,83GHz, sowie 12GB RAM. Die Verbin-
dung zum humanoiden Roboter erfolgt über Wi-Fi. Die komplette Bildverarbeitung und das
Tracking, sowie die Programmierung des Roboters erfolgt auf dem Desktop Rechner (siehe
Abbildung 4.1).

4.1. Problemdefinition
Der Nutzer soll in einem vom humanoiden Roboter stammenden Video-Stream ein Objekt
markieren können. Dieses Objekt soll daraufhin hervorgehoben und dessen Position im Bild
verfolgt (getrackt) werden. Ausgehend von den Positionsinformationen soll sich der Roboter
auf das selektierte Objekt zubewegen. Bei Verdeckung des Objektes soll diese Bewegung ab-
gebrochen und auf ein erneutes Auftauchen des Objektes gewartet werden. Eine aktive Suche
nach einer Verdeckung oder dem Verschwinden des Objektes aus dem Bild ist vorerst nicht
vorgesehen. Der Roboter soll auf Hindernisse auf seinem Weg zum Objekt reagieren, das
heißt stehen bleiben und nachdem das Hindernis verschwunden ist die Bewegung fortsetzen.
Der Roboter soll die Verfolgung abbrechen, wenn er sich nah am Objekt befindet oder ein
Hindernis auftaucht.

4.2. Die Open Computer Vision Bibliothek


Zur Umsetzung verschiedener Trackingansätze in dieser Arbeit wird die freie, quelloffene Pro-
grammbibilothek OpenCV3 in der Version 2.4 verwendet. OpenCV (Open Computer Vision)
ist für die Programmiersprachen C, C++ und Python geschrieben und bietet Algorithmen
für die digitale Bildbearbeitung und maschinelles Sehen. Die Programmbibliothek wurde von
Intel entwickelt und wird mittlerweile von Willow Garage gepflegt. OpenCV ist plattformun-
abhängig und steht unter BSD-Lizens.

4.3. Der humanoide Roboter Nao


Der zur Umsetzung verwendete humanoide Roboter ist der Nao der französischen Firma Alde-
baran Robotics. Der Nao verfügt über Lage-, Druck-, Beschleunigungs-, sowie Sonarsensoren
und in der aktuellen Version 4.0 über zwei HD-Kameras mit einer maximalen Auflösung von
1280x960 (4VGA). Als Betriebssystem kommt ein Gentoo-basiertes Linux-Derivat (OpenNAO)
zum Einsatz. Für interne Berechnungen wird ein Intel Atom Z530 mit 1.6 GHz verwendet, der
Zugriff auf 1 GB RAM hat. Verbindung zu externen Geräten kann über Ethernet oder Wi-Fi
erfolgen. Die Software, die auf dem Nao läuft und ihn steuert, heißt NAOqi. Das dazuge-
hörige NAOqi Framework wird genutzt um den Nao zu programmieren. Dieses Framework
ist plattformunabhängig und bietet Programmierschnittstellen (API) für C++ und Python. Des
3
http://opencv.willowgarage.com/wiki/Welcome

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 34

Weiteren gibt es Umsetzungen für .NET, Java, Urbi und MatLab. Diese sind allerdings nicht
nativ auf dem Nao lauffähig, sondern nur zur Programmierung des Nao über ein externes
Gerät geeignet.

4.4. Vorbetrachtung zum Tracking


Zur Umsetzung des Objekt-Trackings werden in dieser Arbeit zwei Ansätze verfolgt, ein fea-
turebasiertes Tracking und ein histogrammbasiertes Tracking. Dazu wurden vor der Gesam-
timplementierung beide Verfahren separat getestet. Das histogrammbasierte Tracking beruht
auf den Farbwerten des vom Nutzer selektierten Objekts und ist sehr schnell und robust.
Zur Berechnung der Position eines Objektes braucht das Testsystem bei diesem Verfahren
durchschnittlich 17 ms bei einer Bildauflösung von 640x480. Bei dieser Auflösung ist eine
Darstellung von ca. 58 Bildern pro Sekunde (fps) möglich.
Das featurebasierte Tracking (ORB) benötigt zur Positionsbestimmung bei einem 640x480 Pi-
xel großen Bild und 1500 Feature-Punkten zwischen 90-180 ms. Damit sind im Schnitt nur
7 fps darstellbar, womit eine Echtzeitnutzung nicht in Frage kommt. Zur Berechnung des op-
tischen Flusses (Lucas-Kanade-Methode) benötigt das Testsystem durchschnittlich 12 ms. Um
das featurebasierte Tracking echtzeitfähiger zu machen, das heißt die Framerate an die ge-
wünschten 24 fps anzunähern, wurde in dieser Arbeit das featurebasierte Tracking mit dem
Verfahren des optischen Flusses (LKM) verbunden. Die Idee dahinter ist, dass ORB nicht in
jedem Frame ausgeführt wird, sondern nur in gewissen Abständen. Damit in der Zwischenzeit
die Positionsinformationen des Objektes nicht verloren gehen, wird in den folgenden Frames
die Position mit der LKM verfolgt. Dazu wird mit GFTT eine Menge von Features gesucht. Die
Suche erfolgt dabei in dem Bereich des Bildes, der vorher mit ORB als Objekt identifiziert
wurde.
LKM setzt voraus, dass die Veränderung im Bild von Frame zu Frame möglichst gering ist, oder
damit gleichzusetzen, die Framerate möglichst hoch (siehe 3.1.1). Die Nao-Kamera bietet bei
einer Auflösung von 640x480 Pixel über Wi-Fi allerdings nur eine maximale Framerate von
2.5 fps (siehe [Ald12b, Tabelle]). Es ist anzunehmen, dass diese Framerate für die Objektver-
folgung mit LKM ungeeignet ist, da aufgrund der starken Bewegungen des Nao beim Laufen
sehr große Veränderungen im Bild stattfinden und somit sehr schnell Features verloren ge-
hen. Eine Reduktion der Bildauflösung auf 320x240 Pixel erhöht die Framerate über Wi-Fi
auf 11 fps, was immer noch nicht dem Echtzeitanspruch genügt, aber im Zusammenhang mit
einer langsameren Fortbewegung des Nao die LKM ermöglichen sollte. Die Verringerung der
Auflösung führt weiterhin dazu, dass viele Features im Bild mit ORB nicht gefunden werden
können, was bei höheren Auflösungen problemlos möglich ist. Das erfolgreiche Tracken von
Objekten mit ORB bei geringer Auflösung sollte also stark abhängig von der Größe oder der
Entfernung des Objektes von der Kamera sein (siehe Kapitel 5).

4.5. Entscheidung über das Trackingverfahren


Nach der Selektion des Objektes durch den Nutzer findet die Entscheidung über das Tracking-
verfahren statt. Es wird das Farb-/Sättigungs-Histogramm des ausgewählten Bildausschnit-
tes errechnet. Der Farb-Wertebereich von 360° im HSV-Farbraum ist bei OpenCV in 180
Farbwerte gegliedert. Jeder Wert entspricht also 2° auf dem Farbkreis. Der Sättigungs- und
Helligkeitskanal wird ebenfalls nicht wie üblich in Prozent angegeben, sondern in absoluten
Werten von 0...255. Der Farb-Bereich wird in 20 bins eingeteilt, der Sättigungsbereich in
16 bins. Somit lassen sich Farben in relativ kleine Bereiche gliedern, während relativ große
Sättigungsbereiche je bin abgedeckt werden. Aus dem Histogramm wird anschließend der

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 35

Nao
Bewegungs-
anweisung
Bild

Desktop-
Rechner

Selektion
des Objektes
durch Nutzer

Position
Welche
in Nao-
Tracking-
Bewegung
Methode?
umsetzen

Histogramm Feature
Tracking Tracking

Positions-
bestimmung

Desktop − Rechner

Abb. 4.1: Flussdiagramm der Umsetzung - Der Nao schickt ein Bild an den Desktop Rechner. Die Verarbeitung
der Bildinformationen, sowie das Tracking und die daraus abgeleitete Bewegungsanweisung erfolgt auf dem
Desktop Rechner. Dieser schickt die konkrete Bewegungsanweisung an den Nao.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 36

bin mit dem höchsten Wert ermittelt (maxval). Dieser repräsentiert im selektierten Bildaus-
schnitt die dominante Farbe. Des Weiteren werden alle bins gezählt, die einen Wert kleiner
als drei haben (binsnull). Diese bins repräsentieren die Farbbereiche, die im selektierten Bild
eine untergeordnete Rolle spielen, oder garnicht vorkommen. Außerdem werden alle bins
gezählt, die einen Wert haben, der größer ist, als die Hälfte des maximalen bin-Wertes (half-
bins). Diese Werte repräsentieren Farbbereiche, die neben der dominanten Farbe mit einer
ähnlich hohen Häufigkeit existieren. Gibt es zu viele von ihnen, bedeutet das, dass im selek-
tierten Bildbereich mehrere Farben dominant sind. Sind nun maxval und binsnull größer als
jeweils ein bestimmter Schwellwert und halfbins kleiner als ein bestimmter Schwellwert, weist
das darauf hin, dass es im selektierten Bildbereich eine einzige dominante Farbe gibt. So-
mit ist dieser Bereich, also das vom Nutzer ausgewählte Objekt, für das histogrammbasierte
Tracking geeignet und es wird eingeleitet. Andernfalls wird die Anzahl der erkannten Features
im selektieren Bildausschnitt bestimmt. Ist diese Zahl größer als ein bestimmter Schwellwert
wird das featurebasierte Tracking initialisiert. Wenn sich im Bildausschnitt nicht genügend
Features befinden, wird auf eine erneute Selektion des Nutzers gewartet (Flussdiagramm des
Algorithmus, siehe Abbildung 4.2, Seite 37). Die Schwellwerte für diesen Algorithmus wurden
empirisch bestimmt.

4.6. Featurebasiertes Tracking - ORB und Lucas-Kanade Methode


Hat sich der Algorithmus für das featurebasierte Tracking entschieden, wird zuerst ORB initia-
lisiert. Dazu wird im vom Nutzer selektierten Bereich eine Feature-Detektion und anschließend
eine Feature-Deskription mit ORB ausgeführt (siehe 3.2). Abbildung 4.3 zeigt eine Szene, in
der mit ORB Features gefunden und beschrieben wurden. Die gewonnene Menge beschriebe-
ner Features wird in einem Vektor (descriptor_temp) gespeichert. Dieser Vektor enthält somit
alle im Bildausschnitt gefundenen Informationen, die für ein featurebasiertes Tracking relevant
sind. Er repräsentiert also das vom Nutzer selektierte Objekt.

Abb. 4.3: Die Abbildung zeigt gefundene ORB-Features im gesamten Bild. Die gelben Punkte entsprechen dabei
den gefundenen Features, die roten Punkte einem gefundenen Matching mit dem grauen Referenzobjekt rechts
oben im Bild. Features wurden nur auf der Zeitschrift entdeckt. Der Hintergrund, sowie der rote Würfel bieten
keine mit ORB erkennbaren Features.

Um dieses Objekt wiederzufinden wird nun die Feature-Detektion und Feature-Deskription


mit ORB am kompletten Bild ausgeführt. Der resultierende Vektor von Featurepunkten (des-
criptor_scene) enthält nun Informationen aus dem vollständigen Bild. Anschließend wird ein

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 37

Selektion eines Bildausschnittes (BA)

BA von
RGB in HSV
konvertieren

Histogramm
berechnen
(20 bins)

binsnull >
12? nein

ja

halfbins
< 4? nein

ja

Features
maxval >
im BA >
10% BA? nein nein
75?

ja ja

Histogram- Feature-
basiertes basiertes
Tracking Tracking

Abb. 4.2: Entscheidungsfluss zur Auswahl des Trackingverfahrens - Nach der Selektion durch den Nutzer und der
anschließenden Konvertierung des Bildausschnittes in den HSV-Farbraum wird das Histogramm des Farbkanals
berechnet. binsnull ist die Anzahl derbins mit einem Wert kleiner als 8. halfbins ist die Anzahl der bins mit einem
Wert größer als die Hälfte des größten bin-Wertes. maxval ist der größte ermittelte bin-Wert.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 38

BruteForce-Matching (siehe 3.3) mit den beiden Vektoren ausgeführt. Dieses Matching fin-
det für jedes Feature in descriptor_temp das Feature aus descriptor_scene, welches ihm am
ähnlichsten ist. Die errechnete Menge Features wird in einem neuen Vektor matches gespei-
chert. Dieser Vektor enthält die Indizes von Feature-Paaren aus descriptor_scene und des-
criptor_temp. Ist die Menge dieser Paare größer als ein gewisser Schwellwert, so wird nach
einer Homographie gesucht. OpenCV bietet dafür die Funktion findHomography() an, welche
versucht die Feature-Paare geometrisch aufeinander abzubilden. Dazu verwendet die Funk-
tion den RANSAC-Algorithmus (siehe 3.4.2) für eine erste Näherung und verfeinert diese
anschließend mit der Levenberg-Marquardt-Methode (siehe 3.4.3). Als Rückgabewert liefert
findHomography() die Homographie-Matrix, welche die Transformation der im Bildausschnitt
gefundenen Features zu den im gesamten Bild gefundenen Features beschreibt. Wenn eine
solche Matrix gefunden werden kann, bedeutet das, dass sich im Bild eine Menge von Featu-
res befindet, die der Menge der Features des vom Nutzer selektierten Bildausschnittes ähnelt.
Es wird nun davon ausgegangen, dass es sich dabei dann um dasselbe Objekt handelt.
Dieses Verfahren ist aufgrund seiner Berechnungsdauer (siehe 4.4) auf der Testhardware nicht
für den Echtzeitbetrieb geeignet. Deshalb wird es nur alle zehn Frames angewandt. In den
Frames dazwischen wird das Objekt mit der LKM verfolgt. Dazu wird in dem Bereich in dem
sich das mit ORB gefundene Objekt befindet GFTT (siehe 3.1.2) ausgeführt, um LKM zu initia-
lisieren. So kann das Objekt über den optischen Fluss im Bild verfolgt werden. Gehen durch
zu schnelle Bewegungen oder Framerate-Einbrüche zu viele Features für die LKM verloren,
wird automatisch ORB ausgeführt, um das Objekt wiederzufinden. Sind genügend Features
vorhanden, wird die Position des Objektes im Bild ermittelt (siehe 4.8).
Eine Illustration des hier beschriebenen featurebasierten Trackingverfahrens ist in Abbildung
4.4 zu finden.

4.7. Histogrammbasiertes Tracking


Beim histogrammbasierten Tracking wird das bei der Entscheidung über das Trackingverfah-
ren (siehe 4.5) berechnete Histogramm weiterverwendet. Dieses Histogramm enthält Farb-
, sowie Sättigungsinformationen des vom Nutzer selektierten Objektes. Zunächst wird je-
der Frame in ein Bild aus dem HSV-Farbraum konvertiert, da OpenCV üblicherweise mit
RGB/BGR-Bildern arbeitet. Von diesem HSV-Bild wird nun die Rückprojektion unter Verwen-
dung des Objekt-Histogramms berechnet (siehe 3.5.2).
Um etwaige Artefakte zu entfernen und um die Konturen in der Rückprojektion etwas zu
glätten wird die von OpenCV bereit gestellte Funktion erode() benutzt (siehe Abbildung 4.5,
Seite 40). Diese dehnt dunkle Flächen etwas aus. Somit werden einzelne Pixel und sehr klei-
ne Flächen, die die Backprojektion dem Objekt-Histogramm zugerechnet hat, unterdrückt.
Anschließend wird mit der Funktion findContours() nach Konturen gesucht. Hierbei wird die
gegenüber der Achter-Nachbarschaft strengere Vierer-Nachbarschaft genutzt (siehe 3.5.3).
Die Konturen werden in einem Vektor von Punktvektoren gespeichert.
Durch den Douglas-Peucker-Algorithmus (siehe 3.5.3) werden die einzelnen Konturen verein-
facht, um die anschließende Berechnung der Flächeninhalte jeder Kontur zu beschleunigen.
Die Kontur mit dem größten Flächeninhalt wird als Kontur um das gesuchte Objekt angese-
hen.

4.8. Positionsbestimmung
Die Positionsbestimmung erfolgt bei beiden Trackingverfahren auf die gleiche Weise. Um
eine Menge von Punkten wird das kleinste Rechteck gesucht, dass diese Punkte einschließt.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 39

Feature- Feature-
Start Detektion Detektion
ORB Objekt ORB Szene

Feature- Feature- Abbruch


Deskription Deskription und Neuin-
ORB Objekt ORB Szene itialisierung

BruteForce-
Matching

Homographie-
suche mit Anzahl
RANSAC und Matches
Levenberg- ja nein
>x?
Marquardt

Homo-
graphie? nein

ja

Lucas-
Kanade-
Methode alle 10 Frames
in jedem Frame

Genügend
Features? nein

ja

Positions-
bestimmung

Abb. 4.4: Flussdiagramm des featurebasierten Trackingverfahrens

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 40

(a) Rückprojektion vor erode()- (b) Rückprojektion nach ero-


Funktion de()-Funktion

Abb. 4.5: Die Abbildung illustriert die Wirkungsweise der OpenCV-eigenen erode-Funktion an einer Rückprojek-
tion. Gut zu erkennen ist, dass in Bild (b) kleine weiße Bereiche aus Bild (a) nicht mehr vorhanden sind. Des
Weiteren wirken die Konturen der Hand insgesamt geglättet.

Im Falle des histogrammbasierten Trackings sind das die Punkte der Kontur, die die größte
Fläche beinhaltet.
Beim featurebasiertem Tracking sind es die Punkte, die beim initialisieren der LKM von GFTT
gefunden werden. Um das kleinste, eine Punktmenge umschließende Rechteck zu finden,
biete OpenCV die Funktion boundingRect(). Der Mittelpunkt P des gefundenen Rechtecks
repräsentiert im Folgenden den Mittelpunkt des gesuchten Objektes.

4.9. Umsetzung der Positionsinformationen durch den Nao


In den vorangegangenen Kapiteln wurde beschrieben, wie die Position des gesuchten Objek-
tes im Bild bestimmt wird. Um diese Positionsinformation in eine Bewegung des Nao umzu-
setzen, wird das Bild in zwei Bereiche eingeteilt (siehe Abbildung 4.6). Befindet sich Punkt P
(siehe 4.8) in Zone 1, so ist die Position des zu trackenden Objektes in der realen Welt zen-
tral vor dem Nao. In diesem Fall wird eine Vorwärtsbewegung beim Nao eingeleitet. Sollte
der Punkt P sich während der Bewegung in die Zone 2 verschieben, so bekommt der Nao
Korrekturanweisungen. Wenn P links oder rechts außerhalb der Zone 1 ist, bricht er zuerst
die Vorwärtsbewegung ab und dreht sich so lange in die entsprechende Richtung, bis sich P
wieder innerhalb der Zone 1 befindet. Die Korrektur in der Vertikalen erfolgt während der
Vorwärtsbewegung durch Neigen des Kopfes. Sollte sich im gesamten Bild kein P befinden,
bricht der Nao jede Bewegung ab. Die Bewegung wird erst fortgesetzt, wenn sich wieder ein
P im Bild befindet.
Um festzustellen, ob sich der Nao sehr nah am Objekt befindet, wird das in 4.8 erwähnte
Rechteck genutzt. Hat dieses eine bestimmte Größe, so wird die Bewegung des Nao abge-
brochen. Beim histogrammbasierten Tracking wird außerdem die zweite interne Kamera des
Nao genutzt. Diese ist wie die erste Kamera im Kopf des Nao verbaut, jedoch schräg nach
unten ausgerichtet. Sie dient somit der visuellen Erfassung des Nahbereichs direkt vor dem
Roboter. Lässt sich ein Objekt aufgrund seiner Nähe zum Nao nicht mehr tracken, wird auf
die zweite Kamera umgeschaltet und das Tracking wird fortgesetzt. Erreicht das Objekt im Bild
dieser Kamera einen gewissen Punkt wird die Bewegung abgebrochen. Ein weiteres Ereignis,
dass einen Abbruch der Bewegung des Nao auslösen kann, ist das Auftauchen eines Hinder-
nisses. Der Nao überprüft während der Bewegung stetig seine nähere Umgebung mit zwei

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 41

eingebauten Sonarsensoren. Diese befinden sich links und rechts am Oberkörper. Wenn ei-
ner der Sensoren ein Hindernis entdeckt, befindet es sich entweder links oder recht von Nao.
Registrieren beide Sonarsensoren ein Hindernis befindet es sich direkt vor ihm. Die minimale
Distanz bei der der Nao die Bewegung abbrechen soll beträgt 35 cm. Dies kann jedoch nicht
immer gewährleistet werden, da die Informationen der Sonarsensoren sehr stark von der Be-
schaffenheit des Hindernisses abhängen. Die besten Ergebnisse liefern hier ebene Flächen,
die parallel zur Körperachse des Nao ausgerichtet sind, da sie die Schallimpulse des Sonar
gut reflektieren und die Reflexionen den Nao direkt erreichen.

Abb. 4.6: Die Abbildung zeigt die Einteilung des Gesamtbildes in zwei Zonen. Die innere, grün eingefärbte Zone
entspricht dabei dem “guten“ Bereich. Die äußere, rot eingefärbte Zone repräsentiert den “schlechten“ Bereich.

4.10. Verbindungsaufbau und Steuerung des Nao


Der Verbindungsaufbau über Wi-Fi zum Nao erfolgt über sogenannte Proxy-Objekte. Ein
Proxy ist dabei eine Instanz eines Moduls in NAOqi. Module stehen für verschiedene Tei-
laspekte der Steuerung und der Programmierung des Nao zur Verfügung. Die hier haupt-
sächlich verwendeten Module sind ALMotion zur Bewegungssteuerung des Nao, ALSonar zur
Kollisionsvermeidung, ALVideo um Bilder vom Nao zu erhalten, sowie ALMemory um Zugriff
auf den Speicher des Nao zu erlangen. Von jedem dieser Module wird zur Laufzeit ein Proxy
erstellt, der dieses Modul repräsentiert und sich wie dieses verhält. Somit kann der Nao über
diese Proxy-Objekte angesprochen und gesteuert werden.
Die Bewegungsaufrufe für den Nao sind dabei auf dem Testsystem und auf dem Nao selbst
nicht-blockierende Aufrufe. Auf dem Testsystem läuft das Programm nach Absenden eines
Bewegungsbefehls weiter, ohne auf die Beendigung der Bewegung durch den Nao zu warten.
Der Funktionsaufruf geschieht dabei mit pCall(). Dieser “POST-Call“ übernimmt das Threa-
ding der aufgerufenen Funktion. Für einen nicht-blockierenden Bewegungsaufruf auf dem
Nao selbst wird die Funktion setWalkTargetVelocity() genutzt. Würde der Aufruf normal, also
blockierend, geschehen, würde der Nao eine Reihe von Bewegungsbefehlen erhalten, die er
nacheinander abarbeitet. Dies könnte passieren, wenn sich P für mehrere Frames außerhalb
der Zone 1 befindet. Der Nachteil des blockierenden Aufrufes ist nun, dass der Nao somit
nicht mehr dynamisch auf Ereignisse reagieren kann. Wenn sich P für mehrere Frames links
außerhalb der Zone 1 befindet, dann sammeln sich eine Reihe von Bewegungsbefehlen an,
die den Nao anweisen, sich nach links zu drehen. Während der Linksdrehung wird sich P

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


4. Lösungsansatz und Umsetzung 42

wieder durch Zone 1 bewegen, was einen Aufruf zur Vorwärtsbewegung zur Folge hat. Dieser
Aufruf wird allerdings erst nach dem Abarbeiten der vorangegangenen Bewegungsbefehle
eingeleitet. Zu diesem Zeitpunkt kann es allerdings sein, dass sich P nun auf der rechten
Seite außerhalb der Zone 1 befindet.
Der nicht-blockierende Aufruf verhindert dies, da er den aktuellen Bewegungsbefehl sofort
überschreibt. Somit lässt sich der Nao dynamischer steuern und er kann schneller auf Verän-
derungen im Bild reagieren.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 43

5. Evaluierung/Experimente
Im folgenden Kapitel wird das entwickelte Tracking-System evaluiert. Dazu wurden Experimen-
te mit verschiedenen Objekten in unterschiedlichen Umgebungen durchgeführt. Des Weiteren
wurde das Tracking bei unterschiedlichen Bildauflösungen und daraus resultierend mit unter-
schiedlicher Bildrate (siehe 4.4) getestet.

5.1. Das Testszenario


Ein zwischen 1,5-3 m vom Nao entfernter Gegenstand, der sich im Sichtfeld des Nao be-
findet, wird vom Nutzer per Maus auf dem Bildschirm selektiert. Die Selektion erfolgt durch
Einrahmen des Objektes in einem Einzelbild aus der vom Nao stammenden Bildfolge. Es
wird also ein Bildausschnitt ausgewählt, der im Folgenden das Objekt repräsentiert. Der ent-
wickelte Algorithmus (siehe 4.5) entscheidet über ein passendes Trackingverfahren für den
gewählten Bildausschnitt. Der Nao soll sich auf den gewählten Gegenstand zubewegen und
vor ihm stehen bleiben.
Die Testobjekte für das Farbtracking sind ein roter, glänzender Ball (Durchmesser ca. 20 cm)
und ein roter Würfel (Kantenlänge ca. 7 cm) mit einer diffusen Oberfläche. Für das featureba-
sierte Tracking wurde ein Zeitschriften-Cover und ein zweiter, stehender Nao gewählt (siehe
Abbildung 5.1).
Die Experimente erfolgten standardmäßig bei einer Auflösung von 320x240 Pixel und durch-
schnittlich 11 fps über Wi-Fi.

Abb. 5.1: Die Abbildung zeigt die Testobjekte. Ball und Würfel sind die Objekte, für die das histogrammbasier-
te Tracking erfolgen soll. Die Zeitschrift und der Nao sollen mit Hilfe des featurebasierten Verfahrens getrackt
werden.

5.1.1. Kontrollierte Umgebung (CAVE)


Die CAVE der TU Bergakademie Freiberg4 wurde als einfache, kontrollierbare Umgebung für
die Evaluierung gewählt. Drei weiße Wände und ein weißer Fußboden stellen einen guten
Hintergrund für ein visuelles Tracking dar, da keine anderen Objekte oder Strukturen vom
eigentlichen Trackingsziel “ablenken“ können. Als unerwartetes Problem hat sich allerdings
das 50 Hz-Flackern der Deckenbeleuchtung (Leuchtstoffröhren) im Zusammenhang mit der
niedrigen Framerate herausgestellt. Speziell beim Farbtracking führt das Flackern dazu, dass
das selektierte Objekt bei einem Teil der Frames nicht korrekt getrackt werden kann, da sich

4
http://xsite.tu-freiberg.de

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 44

Abb. 5.2: Die Abbildung zeigt die einfache, kontrollierbare Testumgebung CAVE.

die entsprechenden Farbwerte in einigen zu dunklen oder zu hellen Frames nicht finden las-
sen. Des Weiteren ist es möglich, dass die Selektion in einem ungünstigen Frame falsche
oder ungenaue Histogrammwerte des Objektes für das Farbtracking liefert. Dies zeigt sich
beispielsweise in Abbildung 5.3 beim Würfel. Die Abbildung zeigt die Anzahl der dem Objekt
zugeordneten Pixel aus dem Bild zum Zeitpunkt des entsprechenden Frames. Die Messwerte
des Würfels (grüne Kreuze) zeigen eine große Zahl Ausreißer, die durch das Flackern der
Deckenbeleuchtung entsteht. Beim Ball (rote Kreuze) hingegen sind keine Ausreißer in diesem
Ausmaß zu erkennen, da hier bei der Selektion offensichtlich ein guter Frame getroffen wur-
de. Trotz der Probleme verliefen beide Tests erfolgreich. Es wurde das richtige Verfahren vom
Algorithmus gewählt und der Nao erreichte die beiden Objekte. Abbildung 5.3 zeigt eben-
falls, dass beide Messreihen ansteigen, das heißt mit fortlaufenden Frames mehr Pixel im Bild
dem Objekt entsprechen, was zu erwarten ist, wenn der Nao sich auf das Objekt zubewegt
und dieses im Bild größer wird.

Farbtracking CAVE
8000
Ball
7000 Würfel

6000

5000
Pixel

4000

3000

2000

1000

0
0 100 200 300 400 500 600
Frames

Abb. 5.3: Messdaten des Farbtrackings in der CAVE

Beim featurebasierten Tracking konnten in der CAVE ebenfalls alle Objekte erreicht werden.
Die Zeitschrift wurde in 1,5 m Abstand aufgestellt, der andere Nao in 2 m. Beim Selektieren

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 45

konnten 83 (Zeitschrift 1,5 m) und 111 (Nao 2 m) Features erkannt werden. Da der Nao
größer als die Zeitschrift ist und starke Konturen aufweist, können mehr Features bei einem
größeren Abstand an ihm gefunden werden. Die Erhöhung des Abstandes der Zeitschrift auf
2m lässt ORB bei einer Auflösung von 320x240 Pixel nur noch 35 Features erkennen. Da als
untere Grenze für die Features im selektierten Bildausschnitt 75 Features gewählt wurde, wird
kein Tracking eingeleitet. Bei einer Auflösung von 640x480 Pixel und einem Abstand von 2 m
erhöht sich die Anzahl der erkannten Features auf 350. Aus diesem Grund wurde der Abstand
auf 3m vergrößert. Hier konnten noch 187 Features beim Selektieren der Zeitschrift erkannt
werden. Einher mit der Erhöhung der Auflösung geht eine starke Verringerung der Framerate.

Optical Flow Features CAVE


200
Zeitschrift 1,5m CAVE
180 Nao 2m CAVE
160 Zeitschrift 3m 640x480

140
120
Features

100
80
60
40
20
0
0 50 100 150 200 250 300 350
Frames

Abb. 5.4: Messdaten des Featuretrackings in der CAVE

Abbildung 5.4 zeigt die Anzahl der mit der LKM verfolgten Features in allen drei Testfällen pro
Frame. Wie in 4.6 beschrieben, dient der mit ORB gefundene Bildausschnitt der Initialisierung
der LKM. Die Anzahl der Features, die mit LKM gefunden und verfolgt werden, sollte also
während des Trackings größer werden, da sich der Nao auf das Objekt zu bewegt und sich so
immer mehr Features im Bild erkennen lassen. Dies ist bei bei den Messreihen zur Zeitschrift
und zum Nao gut zu erkennen. Die Zahl der Features der Zeitschrift steigt stetig bis zum Ende
des Trackings. Die Anzahl der Features beim Nao gehen kurz ab Frame 250 zurück, da sich
der zu trackende Nao sehr nah am anderen Nao befindet und somit nicht mehr vollständig
von der Kamera erfasst werden kann. Beim Tracking mit der höheren Auflösung 640x480
Pixel ist anhand der Einbrüche der Features gut die extrem niedrige Framerate (ca. 2,5 fps) zu
erkennen. Es gehen immer wieder sehr viele oder alle mit KLM verfolgten Features verloren,
da sich in zwei aufeinander folgenden Bildern selten oder nie ähnliche Features finden lassen.
Zwei aufeinander folgende Bilder unterscheiden sich stark, weil die Framerate niedrig ist und
sich der Nao in der langen Zeit zwischen der Entstehung der Bilder weiterbewegt.

5.1.2. Umgebung Büro mit guten Bedinungen


Als normale Umgebung wurde ein Büro gewählt. Die Beleuchtung des Raumes erfolgt künst-
lich durch Leuchtstoffröhren an der Decke. Durch Jalousie vor den Fenstern wird direkte Son-
neneinstrahlung verhindert, allerdings dringt noch diffuses Licht von außen ein. Im Büro be-
finden sich Schreibtische, Stühle, Bücherregale und weitere Gegenstände, die sich im Hinter-
grund des Bildes befinden und das Tracking beeinflussen. Der Fußboden ist dunkel, reflektiert

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 46

Abb. 5.5: Die Abbildung zeigt die Testumgebung Büro bei guten Bedingungen.

also wenig Licht, was sich besonders beim Tracken des Balls bemerkbar macht. In Abbildung
5.6 ist zu erkennen, dass sich bei etwa 60 Frames die Messwerte des Balls und des Würfels
schneiden. Am Ende des Trackings werden sogar bedeutend mehr Pixel vom Würfel erkannt,
als vom Ball. Dies ist eigentlich nicht zu erwarten, da der Ball größer ist als der Würfel und
somit beim gleichen Abstand mehr Fläche, das heißt Pixel im Bild einnehmen müsste. Da die
Beleuchtung hauptsächlich von Oben erfolgt, ist die untere Hälfte des Balls sehr dunkel. Des
Weiteren entstehen auf der glatten Oberfläche Glanzlichter, die wiederum zu hell sind, um
der Farbe des Balles zugeordnet zu werden. Dennoch konnten beide Objekte erreicht werden.

Farbtracking Büro gut


12000
Ball
Würfel
10000

8000
Pixel

6000

4000

2000

0
0 20 40 60 80 100 120 140
Frames

Abb. 5.6: Messdaten des Farbtrackings im Büro (gute Bedingungen)

Das featurebasierten Tracking lieferte bei diesem Szenario nur bei der 1,5 m entfernten Zeit-
schrift und dem Nao ein positives Ergebnis. Das Tracking der Zeitschrift bei 640x480 Pixeln
verlief fehlerhaft. Wie in Abbildung 5.7 zu erkennen ist, gibt es starke Einbrüche und keine
eindeutig wachsende Tendenz der Features. Die Einbrüche sind auf die geringe Framera-
te zurückzuführen. Im Gegensatz zu Abbildung 5.4 konnte ORB das Objekt ab Frame 150
nicht mehr wiederfinden. Dies kann zum einen daran liegen, dass die fehlerhaften LKM- bzw.
Optical Flow-Features den Nao von seinem korrekten Kurs abbringen und der zu trackende

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 47

Gegenstand aus dem Blickfeld gerät, andererseits birgt die Büro-Umgebung im Zusammen-
hang mit unscharfen Bildern (wegen geringer Framerate) ein größeres Fehlerpotential beim
ORB-Tracking.

Optical Flow Features Büro gut


180
Zeitschrift 1,5m Büro gut
160 Nao 2m Büro gut
Zeitschrift 3m 640x480
140

120
Features

100

80

60

40

20

0
0 50 100 150 200 250 300
Frames

Abb. 5.7: Messdaten des Featuretrackings im Büro (gute Bedingungen)

Abbildung 5.8 zeigt zum Vergleich die Gesamtzahl der vom ORB-Feature-Detektor gefunde-
nen Features im gesamten Bild. Im Büro-Szenario gibt es von Anfang an eine große Zahl
verfügbarer Features im Bild. Das macht das Matching und Finden der Homographie an-
fälliger gegenüber Fehlern und unerwünschten Abweichungen. Beim CAVE-Szenario gibt es
aufgrund des neutralen Hintergrundes anfangs nur wenige Features in der gesamten Szene.
Es werden jedoch immer mehr, während sich der Nao auf das Trackingziel zubewegt. Eine
einfache Umgebung vereinfacht also die Featuresuche- und Erkennung und verringert die
Fehleranfälligkeit des featurebasierten Trackings, wenn eine geringe Framerate vorliegt.

ORB Features Nao 2m


1600
ORB Features CAVE
ORB Features Büro
1400

1200
Features

1000

800

600

400
0 50 100 150 200 250 300 350
Frames

Abb. 5.8: Anzahl der von ORB erkannten Features im gesamten Bild im Verlauf der Bewegung des Nao in Rich-
tung des anderen Nao in der CAVE und im Büro.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 48

Abb. 5.9: Die Abbildung zeigt die Testumgebung Büro bei schlechten Bedingungen.

5.1.3. Umgebung Büro mit schlechten Bedingungen


Als schwierige Umgebung wurde ebenfalls das Büro gewählt, allerdings wurde hier die Be-
leuchtung angepasst, um schlechte Bedingungen zu simulieren. Durch starke Sonneneinstrah-
lung und einen Versuchsaufbau schräg zum Lichteinfall sollte eine möglichst ungünstige Aus-
gangslage für das Tracking geschaffen werden. Abbildung 5.10 zeigt den Trackingverlauf.
Bei Frame 300 ist beim Tracking des Balls ein plötzlicher Rückgang der erkannten Pixel zu
sehen. Dies geschieht beim Umschalten von der oberen Kamera des Nao auf die untere Ka-
mera für den Nahbereich. Diese war bis zu diesem Zeit auf den (dunklen) Fußboden gerichtet
und wird nun auf das zu trackende Objekt ausgerichtet. Durch die Sonneneinstrahlung im
Zusammenhang mit der niedrigen Framerate und der langsamen Belichtungsautomatik der
Nao-Kamera ist kurzzeitig kein Farbanteil des Objektes im Bild zu erkennen. Während sich
die Kamera dem Licht anpasst, werden immer mehr Pixel mit der richtigen Farbe erkannt. Der
Ball und der Würfel wurden auch in diesem Testszenario vom Nao erreicht.

Farbtracking Büro schlecht


9000
Ball
8000 Würfel
7000

6000

5000
Pixel

4000

3000

2000

1000

0
0 100 200 300 400 500
Frames

Abb. 5.10: Messdaten des Farbtrackings im Büro (schlechte Bedingungen)

Nachdem das featurebasierte Tracking im Büro mit guten Bedingungen und einer hohen
Auflösung bereits ein negatives Ergebnis lieferte, wurde hier auf diesen Versuch verzichtet. Alle

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 49

Experimente wurden demnach mit einer Auflösung von 320x240 Pixel und einer Framerate
von 11 fps durchgeführt. Abbildung 5.11 zeigt die Messdaten dieser Versuchsreihe. Neben
den bisherigen Tests der Zeitschrift auf 1,5 m und des Nao auf 2m, wurde hier ein weiterer
Test mit der Zeitschrift und einem Abstand von 2 m durchgeführt. Anzumerken ist hier, dass
der Nutzer das Objekt sehr großzügig markieren musste, da bei der geringen Auflösung
und der Größe der Zeitschrift sonst nicht genügend Features gefunden werden konnten. Alle
Versuche verliefen trotz schwieriger Lichtbedingungen erfolgreich.

Optical Flow Features Büro schlecht


120
Zeitschrift 1,5m Büro schlecht
Zeitschrift 2m Büro schlecht
100 Nao 2m Büro schlecht

80
Features

60

40

20

0
0 20 40 60 80 100 120 140 160 180 200
Frames

Abb. 5.11: Messdaten des Featuretrackings im Büro (schlechte Bedingungen)

5.2. Diskussion der Test-Ergebnisse


Im Folgenden werden die gewonnenen Daten diskutiert und interpretiert. Dabei wird auf die
beiden Trackingverfahren getrennt eingegangen. Anschließend werden noch weitere Experi-
mente, abseits der eigentlichen Aufgabenstellung vorgestellt.

5.2.1. Histogrammbasiertes Tracking


Das histogrammbasierte Tracking lieferte in allen drei Testumgebungen und mit beiden Ge-
genständen ein positives Ergebnis. Farbtracking ist demnach robust gegenüber der geringen
Auflösung und der niedrigen Framerate. Schwierige Lichtbedingungen, wie das Flackern der
Deckenbeleuchtung oder starkes Gegenlicht verzögerten das Tracking etwas. Dies ist beim
Vergleich von Abbildung 5.3 bis Abbildung 5.10 zu erkennen. In der CAVE wurden die Ob-
jekte aufgrund des Flackerns der Deckenbeleuchtung erst nach ca. 500 Frames (ca. 45 Se-
kunden) erreicht, im Büro mit schlechten Lichtbedingungen konnten die Objekte nach ca.
400-450 Frames (ca. 36-40 Sekunden) erreicht werden. Am schnellsten verlief das Tracking
im Büro mit guten Lichtbedingungen. Hier konnten beide Objekte bereits nach ca. 120 Fra-
mes (ca. 11 Sekunden) erreicht werden. Die Verzögerungen sind auf die Eigenschaft der
Implementierung zurückzuführen, die die Vorwärtsbewegung des Nao bei nicht gefundenem
Objekt abbricht. Da in einem Teil der Bilder keine entsprechenden Farbwerte gefunden wer-
den können, stopt der Nao kurzzeitig, um seine Bewegung, nach dem erneuten Auftauchen
der Farbwerte, fortzusetzen. Das ständige Anhalten und die Wiederaufnahme der Bewegung
verlangsamen das Vorankommen des Nao im Vergleich zu einer stetigen Vorwärtsbewegung
bei guten Lichtbedingungen. Das Farbtracking profitiert also von einer gleichmäßigen Be-
leuchtung der Objekte.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


5. Evaluierung/Experimente 50

Der Versuch im Büro bei guten Bedingungen zeigt des Weiteren, dass das Farbtracking auch
von der Oberfläche des Objektes abhängt. Eine diffuse, nicht spiegelnde Oberfläche verein-
facht das Tracking gegegüber einer stark glänzenden Oberfläche. Ein geringes Rauschen der
Aufnahme und eine höhere Auflösung der Kamera könnten zudem dem Nutzer die Selektion
des Objektes erleichtern.

5.2.2. Featurebasiertes Tracking


Das implementierte featurebasierte Trackingverfahren aus ORB und der Lucas-Kanade-Methode
zeigte sich robust gegenüber verschiedenen Lichtbedingungen. Allerdings ist sein Erfolg stark
abhängig von der verfügbaren Framerate und damit im Zusammenhang vom Hintergrund.
Führte ein Versuch bei sehr geringer Framerate und neutralem Hintergrund noch zu einem
positiven Ergebnis, scheiterte der gleiche Versuch bei einem komplexen Hintergrund des Ob-
jektes. Wurde bei einer geringen Auflösung und höherer Framerate getestet konnten alle
Objekte erreicht werden.
Ob ein featurebasiertes Tracking initialisiert wird hängt von der Zahl der Features im vom Nut-
zer selektierten Bereich ab. Wie die Experimente gezeigt haben, konnten bei einer Auflösung
von 320x240 Pixel gerade so ausreichend Features einer Zeitschrift aus 1,5 m Entfernung
erkannte werden. Erhöht man die Auflösung, werden vom gleichen Objekt bedeutend mehr
Features erkannt. Selbst bei einer Verdopplung des Abstandes sind noch genügend Features
verfügbar. Featurebasiertes Tracking profitiert also besonders von einer hohen Framerate und
bei der Selektion des Objektes von einer hohen Bildauflösung.

5.3. Weitere Experimente


Mit dem implementierten Trackingsystem wurden weitere Experimente durchgeführt. So wurde
dem Nao beispielsweise ein Hindernis in den Weg gestellt. Die Sonarsensoren veranlassten
den Nao zum Stehenbleiben. Nachdem das Hindernis entfernt wurde, setzte er den Weg zum
Objekt fort. Beim Farbtracking geschieht dies unabhängig von der Entfernung vom Objekt.
Beim featurebasiertem Tracking sollte sich der Nao noch nicht zu nah am Objekt befinden,
da sonst ORB keine passenden Features für eine Homographie finden kann, wenn Teile vom
Objekt verdeckt sind. Das Finden der Homographie ist nötig, nachdem durch das Hindernis
alle Features zur Verfolgung mittels LKM verloren gehen.
Eine weitere Anwendungsmöglichkeit des Trackingsystems ist eine rudimentäre Weg- oder Pf-
adverfolgung per histogrammbasiertem Tracking. Entfernt man die Zielparameter, die den
Nao zum Stoppen veranlassen, setzt der Nao die Verfolgung einer bestimmten Farbe so lan-
ge fort, bis sie sich nicht mehr im Bild befindet. Wird nun die zweite Kamera des Nao für den
Nahbereich auf den Boden direkt vor dem Nao ausgerichtet und ein Pfad aus gleichfarbigen
Elementen (z.B. Papier) ausgelegt, kann der Nao diesem Pfad folgen (siehe Abbildung 5.12).
Dies kann eine simple Navigation ermöglichen. So können verschiedenfarbige Pfade zu ver-
schiedenen Orten führen. Der Nao kann über diese Pfade zu den entsprechenden Orten
geleitet werden.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


6. Zusammenfassung 51

Abb. 5.12: Die Abbildung zeigt den Nao, der einem Pfad aus grünen Objekten folgt.

6. Zusammenfassung
In dieser Arbeit wurde ein System zur Steuerung eines humanoiden Roboters über verschie-
dene Objekttrackingverfahren entwickelt. Das Programm ermöglicht dem Nutzer ein unbe-
kanntes Objekt in einem vom Roboter stammenden Video-Stream zu markieren. Der Ro-
boter soll sich auf dieses Objekt zubewegen. Während der Bewegung wird das Objekt mit
einem entsprechenden Trackingverfahren im Bild verfolgt. Hierfür wurde in dieser Arbeit zu-
nächst ein Überblick über bestehende visuelle Trackingverfahren gegeben. Danach wurden
die theoretischen Grundlagen verwendeter Ansätze zur Objekterkennung, Objektverfolgung
und Positionsermittlung erläutert. Da das zu verfolgende Objekt unbekannt ist, wurden dabei
zwei verschiedene Tracking-Ansätze gewählt: eine featurebasierte Objekterkennung (ORB) in
Verbindung mit einer auf dem optischen Fluss basierenden Featureverfolgung (Lucas-Kanade-
Methode) und ein Verfahren, das auf der Segmentierung des Bildes anhand von Histogramm-
werten beruht.
Im nächsten Schritt wurde auf Basis dieser Theorie ein Lösungsansatz entwickelt und anschlie-
ßend umgesetzt. Neben der Implementierung der Trackingverfahren und der Ansteuerung
des humanoiden Roboters mussten auch Limitierungen der verwendeten Hardware beachtet
werden. Des Weiteren wurde der Roboter mit einem rudimentären System zur Kollisionsver-
meidung ausgestattet.
Die Evaluierung des implementierten Trackingansatzes ergab, dass in den angegebenen Test-
fällen immer das richtige Verfahren durch den Algorithmus zur Entscheidung über das pas-
sende Trackingverfahren gewählt wurde. Von den beiden Verfahren stellte sich das histo-
grammbasierte Trackingverfahren als robust gegenüber niedriger Framerate und Auflösung
heraus. In allen Experimenten konnten mit dieser Methode positive Ergebnisse erzielt werden.
Schwierige Lichtbedingungen, wie Flackern der Deckenbeleuchtung oder starkes Gegenlicht,
führten nur zu einer Verzögerung des Trackings.
Die featurebasierte Trackingmethode mit ORB und LKM stellte sich als robust gegenüber ver-
schiedenen Lichtbedingungen heraus. Jedoch ist sie stark abhängig von der Framerate und
der Auflösung des Bildes. Bei einer geringen Auflösung sollten sich die Objekte sehr nah
am Nao befinden oder so groß sein, dass sie einen großen Teil des Bildes einnehmen. Bei
höheren Bildauflösungen lassen sich auch weiter entfernte oder kleinere Objekte tracken, al-
lerdings sollte hier die Framerate mindestens 15 fps betragen, was vom Nao über Wi-Fi nicht
geleistet werden kann.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


6. Zusammenfassung 52

6.1. Fazit
Um ein markerloses Tracking unbekannter Objekte zu realisieren, wurden in dieser Arbeit
zwei grundsätzlich verschiedene Verfahren zur Objekterkennung- bzw. Verfolgung verwendet.
Da das zu trackende Objekt erst während der Laufzeit bekannt wird, kann ein passendes
Trackingverfahren für dieses Objekt ebenfalls erst zur Laufzeit gewählt werden. Diese dyna-
mische Auswahl erlaubt es, eine große Zahl verschiedener Gegenstände visuell zu verfolgen,
ohne sich dabei auf ein bestimmtes Merkmal der Gegenstände zu beschränken. Das ent-
wickelte Verfahren wurde an bestimmte Eigenheiten eines humanoiden Roboters, wie zum
Beispiel Wankbewegungen beim Laufen, angepasst und prototypisch implementiert. In Ex-
perimenten konnte gezeigt werden, dass die umgesetzte Kombination von histogramm- und
featurebasiertem Tracking funktionieren kann. Die Ergebnisse der einzelnen Verfahren sind
jedoch jeweils stark abhängig von Umgebungsbedingungen und verwendeter Hardware.

6.2. Ausblick
Um das bestehende Programm zu erweitern wären folgende Ansätze denkbar:
Erstellen einer Objektdatenbank: Dem Nutzer könnte die Möglichkeit gegeben werden, dem
Roboter während der Laufzeit Objekte “beizubringen“, also Features eines Objektes in einer
Datenbank zu speichern. Es wäre auch denkbar mehrere Feature-Sets für ein Objekt aus meh-
reren Perspektiven aufzunehmen. Das würde ein Wiedererkennen verschiedener vom Nutzer
selektierter Objekte ermöglichen. Mit dieser Methode ließe sich ebenfalls eine Gesichtserken-
nung realisieren.
Objektsuche nach Verschwinden: Ein Suchalgorithmus könnte dem humanoiden Roboter
eine aktive Suche des Objektes nach dem Verschwinden aus dem Bild ermöglichen. Es wäre
auch denkbar erlernte Objekte in einem Raum zu suchen.
Update des Feature-Templates: Nach der Selektion eines Objektes und der anschließenden
Bewegung auf dieses Objekt zu, kann es vorkommen, dass aufgrund der veränderten Distanz
zum Objekt Features verloren gehen oder andere Features erkannt werden. Dies erschwert
das Finden einer Homographie und daraus resultierend die Positionsbestimmung. Es könnte
ein Algorithmus entwickelt werden, der erkennt, wann zu viele Features des Objektes verloren
gehen oder verändert werden. Anschließend könnte ausgehend von der letzten “guten“ Posi-
tion ein neues Feature-Template angelegt werden. Kriterien für diese “gute“ Position müssen
vermutlich empirisch bestimmt werden.
Kombination mit weiteren Trackingverfahren: In einigen Anwendungsfällen können andere
als die verwendeten Trackingverfahren bessere Ergebnisse liefern. Für das Verfolgen von Ge-
sichtern eignet sich beispielsweise das CamShift-Verfahren besonders gut. Template-Matching
könnte eine rudimentäre Schrift- oder Zeichenerkennung ermöglichen. Für Zeichenerkennung
eignen sich auch markerbasierte Trackingverfahren. Diese können ebenfalls dazu verwendet
werden Entfernungen abzuschätzen.
Kollisionsvermeidung und Hindernis-Umgehung: Das Programm könnte durch ein SLAM-
Verfahren [LD91] erweitert werden, das ermöglicht, ein selektiertes Objekt zu verfolgen, auch
wenn es während der Bewegung durch ein Hindernis verdeckt wird. Der Roboter könnte die-
ses Hindernis umgehen und die Verfolgung des Objektes fortsetzen.
Interaktion mit Objekten: Wenn die Größe und Beschaffenheit von Objekten bekannt sind,
könnte der Verfolgung auch eine Interaktion mit dem Objekt folgen. So wäre es denkbar,
dass der Roboter das selektierte Objekt nach dem Erreichen greift, zum Ausgangspunkt der
Verfolgung zurückbringt und dort ablegt.
Portierung auf den Nao: Das entwickelte Trackingsystem könnte nach einem Softwareup-

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


6. Zusammenfassung 53

date des Nao durch Aldebaran Robotics (aktuell OpenCV 2.2, benötigt mind. OpenCV 2.3)
direkt auf den Nao portiert werden. Dies hätte eine bedeutend höhere Framerate zur Folge,
bei gleichzeitig höherer Auflösung. Das histogrammbasierte Tracking könnte dann vor allem
von einer besseren, weil vereinfachten Objekt-Selektion durch den Nutzer profitieren. Das
featurebasierte Verfahren sollte hingegen zuerst auf Performanz getestet und gegebenenfalls
angepasst werden, da die Nao-eigene Hardware deutlich schwächer ist, als die des hier ver-
wendeten externen Rechners.
Nutzereingabe über iPad/Tablet: Für das bestehende System oder die direkte Portierung auf
den Nao kann die Nutzerein- und Ausgabe für iPad oder andere Tablets umgesetzt werden,
um eine intuitivere Bedienung zu ermöglichen.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


A. Anhang 54

A. Anhang
A.1. Roboter Nao
Technische Daten des Nao v4 H25 von Aldebaran Robotics:
• Körper
- Maße (H-B-T): 57,3 cm x 27,5 cm x 31,1 cm
- Gewicht: 5.2 Kg
- Material: Kunststoff (ABS-PC / PA-66 / XCF-30)

• Energieversorgung
- Netzteil: 100-240 V 50/60 Hz - Max. 1.2 A
- Batterie: Lithium-Ion 21.6 V/2.15 Ah
- Ladedauer: 5h Betrieb: 60 min (aktiver Betrieb), 90min (normaler Betrieb)

• interne Hardware
- CPU: Intel Atom Z530 1.6 GHz, 512 KB Cache
- RAM: 1 GB
- Flash-Speicher: 2 GB
- Micro SDHC: 8 GB

• Netzwerk
- Ethernet: 10/100/1000 base T
- WiFi: IEEE 802.11b/g

• Software
- OpenNAO - Gentoo-basierte Linux-Distribution
- Architektur: x86
- Programmierbarkeit: intern C++/Python; extern: C++/Python/.NET/Java/MatLab

• Kameras
- Anzahl: 2 übereinander, frontal am Kopf angebracht
- Ausgabe: 960p @ 30 fps
- Farbformat: YUV422
- Fokusbereich: 30 cm - unendlich
- Fokus: fest

• Sonstige Sensoren
- Infrarot-Sensor 2x frontal am Oberkörper
- Mikrofon 4x am Kopf
- Sonar Emitter 2x, Empfänger 2x
- Force Sensing Resistor (FSR) 4x an den Füßen
- Kontaktsensoren an Füßen, Händen, auf dem Kopf, am Oberkörper

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


A. Anhang 55

- Gyrometer 2 Achsen
- Beschleunigungssensor 3 Achsen

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


Literatur 56

Literatur
[Ald12a] Aldebaran Robotics. ALLandMarkDetection — NAO Software 1.12.5 documen-
tation. 2012. URL: http : / / www . aldebaran - robotics . com / documentation /
naoqi/vision/allandmarkdetection.html?highlight=landmark.
[Ald12b] Aldebaran Robotics. ALVideoDevice — NAO Software 1.12.5 documentation.
2012. URL: http://www.aldebaran- robotics.com/documentation/naoqi/
vision/alvideodevice.html#alvideodevice.
[BTG06] Bay, Herbert, Tuytelaars, Tinne und Gool, Luc van. SURF: Speeded Up Robust
Features. ETH Zurich und Katholieke Universiteit Leuven. 2006.
[BKS11] Boubou, Somar, Kouno, Asuki und Suzuki, Einoshin. „Implementing Camshift on
a Mobile Robot for Person Tracking and Pursuit“. In: 2011, S. 682–688.
[Bou00] Bouguet, Jean-Yves. Pyramidal Implementation of the Lucas Kanade Feature Tra-
cker Description of the algorithm. 2000.
[Bra98] Bradski, Gary R. Computer Vision Face Tracking For Use in a Perceptual User
Interface. Microcomputer Research Lab, Intel Corporation. 1998.
[BK08] Bradski, Gary R. und Kaehler, Adrian. Learning OpenCV. Computer vision with
the OpenCV library. 1. Aufl. Sebastopol und CA: O’Reilly, 2008. xvii, 555. ISBN:
0596516134.
[BBV00] Bruce, James, Balch, Tucker und Veloso, Manuela. Fast and Inexpensive Color
Image Segmentation for Interactive Robots. School of Computer Science, Carne-
gie Mellon University. 2000.
[Cal+10] Calonder, Lepetit, Strecha und Fua. BRIEF: Binary Robust Independent Elementary
Features. 2010.
[Car06] Carl Zeiss AG. Visuelle Wahrnehmung. Hrsg. von Innovation 17, Carl Zeiss AG.
2006.
[DP73] Douglas, David H. und Peucker, Thomas K. „Algorithms for the reduction of the
number of points required to represent a digitized line or its caricature“. In:
Cartographica: The International Journal for Geographic Information and Geovi-
sualization 10 (2 1973), S. 112–122. ISSN: 0317-7173.
[Esc13] Eschenburg, Jonas. „Optisches Kameratracking anhand natürlicher Merkmale“.
Institut für Informatik. Diplomarbeit. Augsburg: Universität Augsburg, 2006-04-
13. 68 S.
[FH75] Fukunaga, K. und Hostetler, L. „The estimation of the gradient of a density functi-
on, with applications in pattern recognition“. In: IEEE Transactions on Information
Theory 21 (1 1975), S. 32–40. ISSN: 0018-9448.
[GOM10] GOM mbH. Application Example: Automated Robot Inspection Cell for Quality
Control on Sheet Metal Components. 2010.
[Ham50] Hamming, W. R. Error Detecting and Error Correcting Codes. 1950.
[HS88] Harris, Chris und Stephens, Mike. A Combined Corner and Edge Detector. 1988.
[HZ04] Hartley, Richard I. und Zisserman, Andrew. Multiple view geometry in computer
vision. 2nd ed., 10th print. Cambridge: Cambridge University Press, 2004. XVI,
655 s. ISBN: 0521540518.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


Literatur 57

[HS81] Horn, Berthold K.P. und Schunck, Brian G. Determining Optical Flow. 1981.
[JN12] JPL und NASA. Mars Science Laboratory. 2012. URL: http://mars.jpl.nasa.
gov/msl/.
[Kaw+02] Kawai, Yoshihiro, Fukase, Yutaro, Ikeno, Ishiyama und Tomita. „Development of
the Vision System for the HRP-2P Humanoid Robot“. In: (2002).
[Lag11] Laganière, R. OpenCV 2 computer vision application programming cookbook.
Over 50 recipes to master this library of programming functions for real-time
computer vision. Birmingham und UK: Packt Pub., 2011. 1 online resource (iii,
287. ISBN: 1849513252.
[LD91] Leonard, J.J und Durrant-Whyte, H.F. „Simultaneous Map Building and Localiza-
tion for an Autonomous Mobile Robot“. In: Proc. IEEE Int. Workshop on Intelligent
Robots and Systems. Osaka und Japan, 1991, S. 1442–1447.
[LCV10] Liemhetcharat, Somchaya, Coltin, Brian und Veloso, Manuela. Vision-Based Co-
gnition of a Humanoid Robot in Standard Platform Robot Soccer. School of Com-
puter Science, Carnegie Mellon University. 2010.
[LM02] Lienhart, Rainer und Maydt, Jochen. An Extended Set of Haar-like Features for
Rapid Object Detection. Intel Labs, Intel Corporation. 2002.
[Low04] Lowe, David G. „Distinctive Image Features from Scale-Invariant Keypoints“. In:
International Journal of Computer Vision 60 (2 2004), S. 91–110. ISSN: 0920-
5691.
[LK81] Lucas, Bruce D. und Kanade, Takeo. An Iterative Image Registration Technique
with an Application to Stereo Vision. 1981.
[MGH12] Marquez-Valle, Patricia, Gil Debora und Hernandez-Sabate Aura. Error Analy-
sis for Lucas-Kanade Based Schemes. Computer Vision Center and Computer
Science Department, Campus UAB. 2012.
[Mat+02] Mata, J., Chum, O., Urban, M. und Pajdla T. RobustWide Baseline Stereo from
Maximally Stable Extremal Regions. Center for Machine Perception, Dept. of Cy-
bernetics und CVSSP. 2002.
[Met11] Metaio. UnifeyeSDK Tracking Configuration, Marker Tracking. 2011. URL: http:
//docs.metaio.com/bin/view/Main/UnifeyeSDKTracking%5C-Configuration%
5C-Marker%5C-Tracking.
[Min62] Ming-Kuei Hu. „Visual pattern recognition by moment invariants“. In: IEEE Tran-
sactions on Information Theory 8 (2 1962), S. 179–187. ISSN: 0018-9448.
[Mor77] Moravec, Hans P. Techniques Towards Automatic Visual Obstacle Avoidance. 1977.
[ML09] Muja, Marius und Lowe, G. David. Fast approximate nearest neighbors with au-
tomatic algorithm configuration. 2009.
[Ros98] Rosin, P. L. Measuring Corner Properties. 1998.
[RD06] Rosten, Edward und Drummond, Tom. „Machine learning for high-speed cor-
ner detection“. Department of Engineering, Cambridge: Cambridge University,
2006. 14 S.
[Rub+12] Rublee, Ethan, Rabaud, Vincent, Konolige, Kurt und Bradski, Gary. ORB: an effi-
cient alternative to SIFT or SURF. 2012.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter


Literatur 58

[Sán09] Sánchez, Tomás Gonzáles. Artificial Vision in the Nao Humanoid Robot. Master
Thesis. Department of Computer Science and Mathematics, Universitat Povira I
Virgili. 2009.
[ST94] Shi, Jianbo und Tomasi, Carlo, Hrsg. Good features to track - Computer Vision
and Pattern Recognition. 1994. 8 S.
[Sin10] Sinha, Utkarsh. AIShack.in. 2010. URL : http://www.aishack.in/2010/05/the-
shi-tomasi-corner-detector/.
[Sum+01] Sumi, Yasushi, Kawai, Yoshihiro, Yoshimi, Takashi und Tomita, Fumiaki. 3D Ob-
ject Recognition in Cluttered Environments by Segment-Based Stereo Vision. 2001.
[Suz85] Suzuki, Satoshi. Topological Structural Analysis of Digitized Binary Images by Bor-
der Following. 1985.
[TK02] Taylor, Geoffrey und Kleeman, Lindsay. Grasping Onknown Objects with a Hu-
manoid Robot. Intelligent Robotics Research Centre, Department of Electrical and
Computer Systems Engineering, Monash University. 2002.
[Tom+98] Tomita, F., Yoshimi, T., Ueshiba, T., Kawai, Y., Sumi, Y., Matsushita, T., Ichimu-
ra, N., Sugimoto, K. u. a. „R&D of versatile 3D vision system VVV“. In: 1998,
S. 4510–4516.
[Tri] Triplesense GmbH / Hanauer Landstrasse 184 / 60314 Frankfurt. Vorwerk – Sau-
groboter Kobold VR100. de. URL: http://kobold.vorwerk.de/de/produkte/
saugroboter-kobold-vr100/.
[VJ01] Viola, Paul und Jones, Michael. Rapid Object Detection using a Boosted Cascade
of Simple Features. Mitsubishi Electric Research Labs und Compaq CRL. 2001.
[WLS08] Wagner, Daniel, Langlotz, Tobias und Schmalstieg, Dieter. „Robust and unobtru-
sive marker tracking on mobile phones“. In: 2008, S. 121–124.
[WHC10] Wang, Yin-Tien, Hung, Duen-Yan und Cheng, Sheng-Hsien. Monocular SLAM for
a Small-Size Humanoid Robot. Department ofMechanical and Electro-Mechanical
Engineering, Tamkang University. 2010.
[WH60] Widrow, Bernard und Hoff, E. Marcian. Adaptive Switching Circuits. 1960.
[Yok+03] Yokoyama, Kazuhiko, Handa, Hiroyuki, Takakatsu Isozumi, Yutaro Fukase und
Kenji Kaneko. Cooperative Works by a Human and a Humanoid Robot. 2003.

Ben Lorenz: Markerloses Tracking unbekannter Objekte für humanoide Roboter

Das könnte Ihnen auch gefallen