Neben dem Problem der Navigation, muss es einem Serviceroboter möglich sein, Objekte zu erkennen und deren Lage zu bestimmen um seinen Manipulator entsprechend positionieren zu können. Die Position des Objektes ist dabei typischerweise nur grob bekannt (irgendwo in diesem Raum), seine Lage gar nicht. Die Objekte sind mit keinerlei Markierungen versehen, um deren Auffinden zu erleichtern. Zur Erkennung des Objektes wird eine Kamera verwandt, die entweder am Robotor oder am Manipulator angebracht ist. Das Objekt soll durch das von der Kamera aufgenommene Bild erkannt werden. Dem Roboter steht kein zuvor erstelltes
Modell des Objektes zur Verfügung. In seiner Datenbank befinden sich Bilder der zu erkennenden Objekte aus verschieden Ansichten oder die daraus extrahierten Merkmale. Die Erkennung erfolgt, indem die Merkmale des gesehenen Bildes mit jenen in der Datenbank verglichen werden. Die Objekterkennung basiert also auf der Erscheinung des Objektes, d.h. auf seiner plenoptischen Funktion.
Es sollen hier zwei Verfahren zur erscheinungsbasierten Objekterkennung vorgestellt und mit Blick auf die Problemfelder in der Servicerobotik bewertet werden. Kapitel 2 beschreibt die Objekterkennung mit Hilfe von mehrdimensionalen Histogrammen. Dabei wird zunächst nur die globale Erscheinung eines Objektes betrachtet und das Verfahren anschließend auf die Erkennung anhand der lokalen Erscheinung adaptiert. Zuletzt werden die experimentellen Ergebnisse vorgestellt und zur Bewertung des Verfahrens herangezogen.
Kapitel 3 erläutert ein Verfahren, das die Erkennung mit Nachbarschaften und mehrdimensionalen Oberflächen durchführt und damit auf lokaler Erscheinung basiert. Der Merkmalsvektor des Verfahrens berücksichtigt zudem die Farbinformationen eines Bildes. Am
Ende des Kapitels wird das Verfahren mit dem SIFT-Algorithmus ([Lowe04]) verglichen
und abschließend ebenfalls auf der Grundlage von Experimenten diskutiert.
Eine Lageschätzung durchzuführen bedeutet, die Winkel unter denen das Objekt gesehen wird sowie seine Entfernung zur Kamera zu schätzen. Ein Verfahren zur Bestimmung der Kamerarotation und Entfernung zum Objekt wird in Kapitel 4 beschrieben. Das Verfahren aus Kapitel 3 wird dann um diese Skalenschätzung erweitert und erneut anhand von Experimenten bewertet.
Inhaltsverzeichnis
1 Einleitung
2 Objekterkennung basierend auf Grauwertrezeptoren und mehrdimensio- nalen Histogrammen
2.1 Idee des Verfahrens
2.2 Generierung der mehrdimensionalen Histogramme
2.3 Die Histogrammdatenbank
2.4 De nition zweier Merkmalsvektoren für die Erzeugung sechs-dimensionaler Histogramme
2.5 Erkennen eines Objektes anhand der Wahrscheinlichkeitsverteilung des Merk- malsvektors
2.6 Algorithmus zur Objekterkennung mittels globaler Erscheinung in vorseg- mentierten Bildern
2.7 Algorithmus zur Objekterkennung mittels lokaler Erscheinung in natürlichen Umgebungen
2.8 Experimentelle Ergebnisse und Bewertung
2.9 Pro ling des Verfahrens
3 Objekterkennung basierend auf Farbrezeptoren und mehrdimensionalen Ober ächen
3.1 Idee des Verfahrens
3.2 De nition des Merkmalsvektors mit Berücksichtigung von Farbinformationen
3.3 Generierung der mehrdimensionalen Ober ächen
3.4 Erkennung von Objekten mit lokaler Erscheinung und Farbrezeptoren
3.5 Vergleich mit dem SIFT-Algorithmus
3.6 Experimentelle Untersuchung und Bewertung des Verfahrens
3.7 Pro ling des Verfahrens
4 Skalierungs- und Rotationsinvarianz in der Objekterkennung
4.1 Das Problem der Skalenschätzung und die klassische Lösung
4.2 Automatische Skalenschätzung
4.3 Verfahren zur automatischen Skalenschätzung
4.4 Implementierung der automatischen Skalenschätzung
4.5 Automatische Schätzung der Orientierung
4.6 Normierung des Merkmalsvektors bezüglich der Orientierung
4.7 Untersuchung der Objekterkennung und Lageschätzung mit Farbrezeptoren im Hinblick auf bildbasierte Regelung
4.8 Initiale Objekterkennung
4.9 Schätzen der Lage des erkannten Objekts
4.10 Pro ling der Objekterkennung mit Skalenschätzung
5 Zusammenfassung und Ausblick
1 Einleitung
Die Entwicklung von Servicerobotern, die in für den Menschen gestalteten Umgebungen arbeiten sollen stellt zahlreiche Anforderungen an den Roboter. Menschen bewegen sich in seinem Arbeitsbereich, Gegenstände wechseln den Platz, Türen werden geö net und ge- schlossen. Die Umgebung des Roboters verändert sich auf eine nicht vorhersehbare Weise. Zu den Aufgaben eines Serviceroboters gehören Hol- und Bringdienste. Neben dem Pro- blem der Navigation, muss es dem Roboter möglich sein, Objekte zu erkennen und deren Lage zu bestimmen um seinen Manipulator entsprechend positionieren zu können. Die Po- sition des Objektes ist dabei typischerweise nur grob bekannt (irgendwo in diesem Raum), seine Lage gar nicht. Die Objekte sind mit keinerlei Markierungen versehen, um deren Au nden zu erleichtern. Zur Erkennung des Objektes wird eine Kamera verwandt, die entweder am Robotor oder am Manipulator angebracht ist. Das Objekt soll durch das von der Kamera aufgenommene Bild erkannt werden. Dem Roboter steht kein zuvor erstelltes Modell des Objektes zur Verfügung. In seiner Datenbank be nden sich Bilder der zu er- kennenden Objekte aus verschieden Ansichten oder die daraus extrahierten Merkmale. Die Erkennung erfolgt, indem die Merkmale des gesehenen Bildes mit jenen in der Datenbank verglichen werden. Die Objekterkennung basiert also auf der Erscheinung des Objektes, d.h. auf seiner plenoptischen Funktion.
Es sollen hier zwei Verfahren zur erscheinungsbasierten Objekterkennung vorgestellt und mit Blick auf die Problemfelder in der Servicerobotik bewertet werden. Kapitel 2 beschreibt die Objekterkennung mit Hilfe von mehrdimensionalen Histogrammen. Dabei wird zu- nächst nur die globale Erscheinung eines Objektes betrachtet und das Verfahren anschlie- ÿend auf die Erkennung anhand der lokalen Erscheinung adaptiert. Zuletzt werden die experimentellen Ergebnisse vorgestellt und zur Bewertung des Verfahrens herangezogen. Kapitel 3 erläutert ein Verfahren, das die Erkennung mit Nachbarschaften und mehrdi- mensionalen Ober ächen durchführt und damit auf lokaler Erscheinung basiert. Der Merk- malsvektor des Verfahrens berücksichtigt zudem die Farbinformationen eines Bildes. Am Ende des Kapitels wird das Verfahren mit dem SIFT-Algorithmus ([Lowe04]) verglichen und abschlieÿend ebenfalls auf der Grundlage von Experimenten diskutiert.
Eine Lageschätzung durchzuführen bedeutet, die Winkel unter denen das Objekt gesehen wird sowie seine Entfernung zur Kamera zu schätzen. Ein Verfahren zur Bestimmung der Kamerarotation und Entfernung zum Objekt wird in Kapitel 4 beschrieben. Das Verfah- ren aus Kapitel 3 wird dann um diese Skalenschätzung erweitert und erneut anhand von Experimenten bewertet.
Im letzten Kapitel werden die Ergebnisse der Arbeit zusammengefasst und Möglichkeiten zur Verbesserung der Objekterkennung und Lageschätzung aufgezeigt. Zur experimentellen Evaluation der Verfahren wird die Columbia Object Image Library verwendet ([Nene96]). Sie kann unter [COIL-100] heruntergeladen werden. Die Datenbank enthält jeweils 72 Ansichten von 100 Objekten. Die Ansichten sind unter einem Elevati- onswinkel von 25◦ ◦ aufgenommen worden. Der Azimuthwinkel variiert im Abstand von 5 ◦ zwischen 0◦ und 355 . Abbildung 1 zeigt die ersten 20 Objekte der Datenbank, die als Trainingsmenge verwendet werden.
Soweit nicht anders erwähnt werden alle Experiment mit Matlab auf einem Pentium 4 mit 3,2 GHz Taktrate und 1 GB RAM durchgeführt. Die angegebenen Erkennungszeiten lieÿen sich durch eine Implementierung in C/C++ daher noch deutlich steigern.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Die erste Ansicht der ersten 20 Objekte in der COIL-100 Datenbank
2 Objekterkennung basierend auf Grauwertrezeptoren und mehrdimensionalen Histogrammen
2.1 Idee des Verfahrens
Das hier vorgestellte und im Rahmen dieser Arbeit implementierte Verfahren wurde von Bernt Schiele und James L. Crowley entwickelt([Schiele00]). Die Objekterkennung mit der Hilfe von Histogrammen basiert auf der Annahme, dass das Histogramm eines Bildes die Wahrscheinlichkeitsverteilung der Grauwerte des Bildes wiedergibt. Man betrachte bei- spielsweise ein einfaches Grauwerthistogramm, in dem die relativen Häu gkeiten der im Bild vorkommenden Grauwerte eingetragen sind. Diese relativen Häu gkeiten entsprechen dann direkt den Wahrscheinlichkeiten, mit denen die eingetragenen Grauwerte im Bild an- zutre en sind. Um ein Objekt in einem Bild zu erkennen, sieht man sich die Grauwerte an mehreren Punkten des Bildes an. Für jeden dieser Grauwerte bestimmt man nun jeweils die Wahrscheinlichkeiten, mit denen er in den Histogrammen der zu unterscheidenden Objekte vorkommt. So erhält man je eine Wahrscheinlichkeit für jedes Objekt/Grauwert-Paar. Die Kombination dieser Wahrscheinlichkeiten für alle Grauwerte, ergibt eine Hypothese über das gesehene Objekt. Wie man die Wahrscheinlichkeiten am besten kombiniert, wird in Abschnitt 2.5 beschrieben. Die abstrakte Vorgehensweise des Verfahrens ist in Abbildung 2 skizziert.
2.2 Generierung der mehrdimensionalen Histogramme
Die verschiedenen Ansichten der Objekte werden durch mehrdimensionale Histogramme repräsentiert. Die Erstellung eines solchen Histogramms läuft folgendermaÿen ab: Zunächst wird an jedem Pixel des Grauwertbildes ein Merkmalsvektor berechnet, der aus Filterant- worten besteht. Ein möglicher sechs-dimensionaler Merkmalsvektor besteht aus den Fil- terantworten der ersten Ableitung eines Gauÿ-Filters in x- und y-Richtung für drei verschie- dene Standardabweichungen σ. Damit wird aus dem Bild ein Satz von Merkmalsvektoren berechnet. Die Vektoren sind dann aus [0, 1]d, wobei d die Dimension des Merkmalsvektors ist. Diese Vektoren werden auf das durch die Histogrammau ösung vorgegebene Intervall umgerechnet und auf ganze Zahlen gerundet. Die relative Häu gkeit jedes dieser Merk- malsvektoren wird bestimmt und in ein Histogramm eingetragen, dessen Dimension der des Merkmalsvektors entspricht. Der Vektor dient dabei als Index für die Stelle im Hi- stogramm, an der die relative Häu gkeit des Merkmalsvektors eingetragen werden. Das Histogramm beschreibt damit die Funktion f : Nd → [0, 1]. Es wird durch das Histogramm jedem Merkmalsvektor eine Wahrscheinlichkeit zugeordnet. Ein sechs-dimensionales Histo- gramm mit einer Au ösung von 24 kann 246 ≈ 191 · 106 Einträge enthalten. Ein Bild der Dimension 128 × 128 liefert jedoch höchstens 1282 = 16384 verschiedene Einträge und das auch nur wenn alle Merkmalsvektoren verschieden sind. Würde man das Histogramm als ein sechs-dimensionales Array abspeichern, wären mehr als 99 Prozent der Einträge Nullen. Um dies zu vermeiden kann man die Histogramme beispielsweise als Hashtabelle abspeichern, wobei die Vektoren als Indizes verwendet werden.
2.3 Die Histogrammdatenbank
Für jedes Objekt werden Bilder aus verschiedenen Ansichten gemacht. Hier sei auf die plenoptischen Funktion (nach [Adelson91]) verwiesen: Die plenoptische Funktion P = P (Θ, Φ, λ, t, Vx, Vy , Vz ) beschreibt die Intensität des Lichts der Wellenlänge λ, das von
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Objekterkennung mit Hilfe von Histogrammen
einem Objekt zu einem Zeitpunkt t abgestrahlt wird und einen an der Position (Vx, Vy , Vz ) be ndlichen Betrachter unter den Winkeln Θ und Φ erreicht. Ist die plenoptische Funktion eines Objektes vollständig bekannt, so kann aus ihr jede beliebige Objektansicht rekonstruiert werden. Die Aufnahme von Bildern eines Objektes unter verschiedenen Ansichten entspricht also einer Abtastung der plenoptischen Funktion.
Von diesen Bildern werden dann mehrdimensionale Histogramme erstellt und abgespeichert. Jedes Histogramm bezieht sich dabei auf eine Ansicht des Objektes unter einem bestimmten Winkel mit einer bestimmten Skalierung.
2.4 De nition zweier Merkmalsvektoren für die Erzeugung sechs-dimensionaler Histogramme
In [Schiele00] werden zwei verschiedene sechs-dimensionale Merkmalsvektoren verwendet. Der erste besteht aus den den Filterantworten der ersten Ableitung eines Gauÿ-Filters in x- und in y-Richtung für drei verschiedene Standardabweichungen σ. Die zweidimensionale Gauÿ-Verteilung ist de niert als
Abbildung in dieser Leseprobe nicht enthalten
Die beiden ersten Ableitung sind damit
Abbildung in dieser Leseprobe nicht enthalten
und
Abbildung in dieser Leseprobe nicht enthalten
Der Merkmalsvektor besteht nun aus Gσx(x,y)undGy(x,y)fürdreiverschiedeneσ:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3 zeigt die Bestandteile des Merkmalsvektors: die erste Ableitung des Gauÿ- Filters für σ = 0, 3; 0, 6 und 0, 9. Die erste Ableitung des Gauÿ-Filters bildet die Di erenz zwischen benachbarten Regionen und eignet sich daher besonders gut zum Au nden von Kanten im Bild, denn dort sind die Di erenzen zwischen benachbarten Region am gröÿten. Haben benachbarte Regionen dagegen die gleiche Intensität, so summieren sie sich durch die Symmetrie des Filters zu null auf. In gleichförmigen Regionen ist die Filterantwort da- her sehr niedrig. Dies zeigt Abbildung 4: Auf der linken Seite wird die erste Ableitung des Gauÿ-Filters angewendet, was zu hohen Intensitäten an vertikalen Kanten und niedrigen Intensitäten in den Regionen führt, in denen solche Kanten nicht vorkommen. Waagerechte Kanten lassen sich wie auf der rechten Seite der Abbildung zu sehen mit der ersten Ableitung des Gauÿ-Filters in Y-Richtung nden. Bei niedrigen Werten von σ werden feine Strukturen gut detektiert. Bei hohen Werten von σ verschwinden diese feinen Strukturen und gröbere Kanten werden deutlicher.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Erste Ableitung des Gauÿ-Filters in x- und y-Richtung für σ = 0, 3; 0, 6; 1, 2.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4: Erste Ableitung des Gauÿ-Filters in x- und y-Richtung für σ = 0, 3; 0, 6; 1, 2 angewendet auf das Bild eines Objektes
Da der Merkmalsvektor 4 lediglich erste Ableitungen enthält, können mit ihm Objekte an- hand ihrer horizontalen und vertikalen Kanten erkannt werden. Dabei ist zu bedenken, dass beim Eintragen der Merkmalsvektoren in die Histogramme die Ortsinformation verloren geht. Ein Histogramm speichert lediglich die Häu gkeit eines bestimmten Merkmalsvek- tors, nicht aber die Orte, an denen diese Vektoren gefunden werden. Mit Hilfe des obigen Merkmalsvektors kann also lediglich eine Aussage über die Häu gkeit von Kantenpunkten gemacht werden. Er ist nicht geeignet, Objekte mit wenig Struktur zu unterscheiden. Der zweite vorgeschlagene Merkmalsvektor besteht aus dem Betrag der ersten Ableitung der Gauÿ-Funktion
Abbildung in dieser Leseprobe nicht enthalten
und dem Laplace Operator der Gauÿ Funktion
Abbildung in dieser Leseprobe nicht enthalten
jeweils für drei verschiedene Sigma. Damit ergibt sich der Vektor
Abbildung in dieser Leseprobe nicht enthalten
Wegen der darin enthaltenen Funktionen wird er MagLap-Vektor genannt.
2.5 Erkennen eines Ob jektes anhand der Wahrscheinlichkeitsverteilung des Merkmalsvektors
Um ein Objekt in einer Ansicht zu erkennen, wird die Ansicht mit einem regulären Gitter abgetastet. Auf jeden Abtastpunkt werden nun die gleichen Filter angewendet, mit denen auch die Histogramme erstellt werden. So erhält man aus dem Bild eine Menge von Merkmalsvektoren. Betrachtet man nur einen einzelnen Merkmalsvektor, so ist die Wahrscheinlichkeit, dass dieser Merkmalsvektor zu einem bestimmten Objekt on gehört, nach dem Satz von Bayes gegeben durch:
Abbildung in dieser Leseprobe nicht enthalten
- p(on) die Wahrscheinlichkeit das Objekt on anzutre en. Diese Wahrscheinlichkeit ist anwendungsabhängig. Im Folgenden wird eine Gleichverteilung der Objekte ange- nommen. Bei N Objekten gilt also:[Abbildung in dieser Leseprobe nicht enthalten]
- p(mk) die Wahrscheinlichkeit, den Merkmalsvektor mk anzutre en. Diese kann aus der Histogrammdatenbank berechnet werden, indem die Summe der Auftrittswahr- ∑ scheinlichkeit des Merkmalsvektors über alle Objekte gebildet wird:[Abbildung in dieser Leseprobe nicht enthalten]
- p(mk | on) die Wahrscheinlichkeit, dass der Vektor mk gemessen wird, falls das Objekt on im Bild ist. Dieser Ausdruck entspricht der Wahrscheinlichkeitsdichtefunktion des Objektes. Daher kann diese Wahrscheinlichkeit direkt aus dem Histogramm des Objektes abgelesen werden.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5: Funktionen des Merkmalsvektors MagLap für σ = 0, 5; 1; 2.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6: Filterantworten des Merkmalsvektors MagLap mit σ = 0, 5; 1; 2 für ein Ob- jektbild
[...]
- Quote paper
- Tom Paschenda (Author), 2006, Erscheinungsbasierte Objekterkennung und Lageschätzung zur Objektmanipulation in der Servicerobotik, Munich, GRIN Verlag, https://www.grin.com/document/82563
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.