310 likes | 400 Views
3D-Objekterkennung in beliebigen Umgebungen durch Segment-Based Stereo Vision. von Matthias Dube. Gliederung. Einleitung 3D-Rekonstruktion (Segment-Based Stereo Vision) Konstruktion der Kantenmerkmale Generierung der Objektmodelle Matching Experimentelle Ergebnisse und Schlussfolgerungen.
E N D
3D-Objekterkennung in beliebigen Umgebungen durch Segment-Based Stereo Vision von Matthias Dube
Gliederung • Einleitung • 3D-Rekonstruktion (Segment-Based Stereo Vision) • Konstruktion der Kantenmerkmale • Generierung der Objektmodelle • Matching • Experimentelle Ergebnisse und Schlussfolgerungen von Matthias Dube
Einleitung • Thema: die modellbasierte Erkennung von 3D-Objekten in beliebigen Umgebungen (d.h. Objekte können gedreht oder teilweise verdeckt sein) • Anwendung: z.B. eine gezielte automatische Robotersteuerung • Prinzipiell zwei Probleme: • Es sollen Objekte beliebiger Form erkannt werden • Die Objekte können sich in jeder beliebigen Umgebung befinden • Weitere Aspekte für eine praktische Anwendung sind: • Die benötigte Rechenzeit • Installationskosten von Matthias Dube
Einleitung • Zur Realisierung eines solchen Systems wird hierbei "Segment-Based Stereo Vision" (SBSV) genutzt • Vorteile bei ausreichender Genauigkeit gegenüber anderen Ansätzen: • Objekte können beliebig geformt sein • Benötigte Rechenkapazität ist relativ gering (gegenüber laser range finders) • Geringe Hardwarekosten (s.o.) • Annehmbare Komplexität der Algorithmen (gegenüber monokularem Ansatz) • Funktioniert auch bei gleichen Objekten verschiedener Größe (s.o.) von Matthias Dube
Einleitung • Dieses Erkennungssystem wurde bereits im so genannten "VVV-System" integriert. (VVV: Versatile Volumetric Vision ... "vielseitige Raumsicht") von Matthias Dube
3D Rekonstruktion Boundary Representation (B-rep) • Bekannte Datenstruktur zur Repräsentation von 2D- und 3D-Objekten • Hier dient sie zur Beschreibung einer Szene und zur Merkmalsdefinition (R)… Region in einem Intensitätsbild (B)… gerichtete Boundary(Kante), die die Region umgibt (S)… gerichtetes Segment einer Kante (P)… Pixel des Segments von Matthias Dube
3D Rekonstruktion • Bei der Rekonstruktion wird jedes der Eingabe-Bilder in eine 2D B-rep umgewandelt • 1. Schritt: Bild-Segmentierung Regionen (R), Kanten (B) • 2. Schritt: Kanten-Segmentierung Segmente (S), Pixel (P) • Dann wird mittels SBSV-Algorithmus aus dem Paar (Trio) von 2D B-reps ein 3D B-rep erzeugt von Matthias Dube
3D Rekonstruktion Bild-Segmentierung • Schritt 1: Berechnung der Kantenstärke und -richtung an jedem Pixel (x, y) im Graustufen-Bild. |e(x, y)| = x(x, y)2 +y(x, y)2 e(x, y) = tan-1(y(x, y) / x(x, y)) + /2 • Schritt 2: Extraktion der sog. starken Kanten. (Dadurch können Lücken entstehen.) von Matthias Dube
3D Rekonstruktion • Schritt 3: Schließen dieser Lücken durch Verlängerung der starken Kanten, d.h. man nutzt ein 33-Fenster und maximiert die Funktion h(e0, ei) = |ei|cos(ei - e0). - e0 ist das zu verlängernde Element - ei sind Kandidaten für die Verlängerung von e0 - h liefert hohe Werte, wenn ei stark ist und die gleiche Richtung wie e0 hat Wenn ein ei gefunden wurde, setzt man e0 = ei und wiederholt diesen Schritt solange, bis man auf eine bereits existierende starke oder verlängerte Kante trifft.Entstandene Kanten, die zu klein sind, werden anschließend eliminiert. von Matthias Dube
3D Rekonstruktion Kanten-Segmentierung • Der SBSV-Algorithmus benötigt eine Unterteilung der Kanten in gerade, konvexe und konkave Segmente, was durch die Extraktion von Merkmalspunkten erreicht wird (Algorithmus von Sugimoto & Tomita) • Es gibt vier Arten von Merkmalspunkten (feature points): • Eckpunkte (der Normalenvektor verändert sich abrupt) • Wendepunkte (Vorzeichen der Krümmung ändert sich) • Übergangspunkte (Krümmung geht von null über zu nicht-null) • Verzweigungspunkte (Kante verzweigt sich) von Matthias Dube
3D Rekonstruktion (b) Bild-Segmentierung (c) Kantensegmentierung und Eliminierung zu kleiner Regionen von Matthias Dube
3D Rekonstruktion Segment-Based Stereo Vision • Dient der eigentlichen 3D-Rekonstruktion (5 Schritte) • Schritt 1: Geometrische Suche nach Korrespondenz-Kandidaten zwischen linker und rechter 2D B-rep. Diese werden als Paare [l, r] vonB-rep - Segmenten registriert und ihr "Gleichheitswert" (similarity value) berechnet: Spair(l,r) dl,r ( 1 – ΔIl,r / Imax ) - dl,r … Länge des korrespondierenden Stückes - ΔIl,r … Intensitätsunterschied - Imax … maximale Intensität von Matthias Dube
3D Rekonstruktion • Schritt 2: Überprüfung der "Verbundenheit" (connectivity) zwischen den gefundenen Korrespondenzpaaren, d.h. zwei Paare sind verbunden, wenn sie auf der gleichen Kante liegen und ihre Anfangs- bzw. Endpunkte nah beieinander sind Ergebnis ist ein gerichteter Graph der verbundenen Paare • Schritt 3: Finden des optimalen Pfades, der folgende Gleichung (globaler Gleichheitswert) maximiert: Spath Spair(i) i path von Matthias Dube
3D Rekonstruktion (a) Gerichteter Graph der Verbundenheit (b) Suche nach dem optimalen Pfad von Matthias Dube
3D Rekonstruktion • Schritt 4: Sicherstellen einer eins-zu-eins-Korrespondenz durch Entfernung von multiplen Korrespondenzen • Schritt 5: Rekonstruktion der gesamten Szene mittels Parallaxe (Parallaxe: beschreibt die Abweichung zwischen Bildern einer Szene, die von zwei verschiedenen Punkten gemacht wurden.) • Durch dieses Verfahren entsteht eine Menge von sog. Datenpunkten.Das sind die Punkte der B-rep inklusive ihrer 3D-Position von Matthias Dube
3D Rekonstruktion Entstandene 3D B-rep (Ansicht von oben und vorn) von Matthias Dube
Konstruktion der Kantenmerkmale • Die Kantenmerkmale (boundary features) bestehen aus zwei Vektoren ausgehend von den Merkmalspunkten. Dabei werden die sich treffenden Segmente durch Geraden bzw. Kreise gefittet. • Es gibt zwei Arten von Kantenmerkmalen: • Scheitel (BF-Vertex) • Bogen (BF-Arc) (für Wende- und Übergangspunkte wegen linearer Abhängigkeit) • BF-Vertex besteht aus den zwei Tangential-Vektoren der Segmente, die sich an diesem Merkmalspunkt treffen. • BF-Arc besteht aus einem Normalenvektor der Kreisebene und dem Vektor, der vom Kreismittelpunkt zum Merkmalspunkt zeigt. von Matthias Dube
Konstruktion der Kantenmerkmale (a) BF-Vertex (b) BF-Arc von Matthias Dube
Generierung der Objektmodelle Datenstruktur • Auch hier wird die B-rep genutzt. Für gekrümmte Oberflächen werden zusätzlich Gitternetze verwendet. • Aufgebaut werden diese Datenstrukturen durch die sog. Modellpunkte. Die Gewinnung dieser Modellpunkte kann entweder CAD-basiert oder durch Sensoren (Laser Range Finder) geschehen • Außerdem hat ein Objektmodell eine Sammlung von Modell-BFs, die dann zum Matching mit den Daten-BFs genutzt werden. von Matthias Dube
Generierung der Objektmodelle • Berechnung der Modell-BFs bei Freiform-Objekten über die Konturen: • Um das Objekt wird eine Kugel gelegt, auf der n Sichten diskret verteilt werden. • Zu jeder Sicht Wi wird die zugehörige Kontur (contour generator) extrahiert, d.h. die Menge von Punkten aus den gescannten Daten, die folgende Gleichung erfüllen: Np Wi = 0 Np… Normalenvektor der Oberfläche • Projizieren dieser Punktmenge auf ein 2D-Bild (apparent contour) • Segmentierung der Kontur • Berechnung der Modell-BFs (wie Daten-BFs) von Matthias Dube
Generierung der Objektmodelle von Matthias Dube
Matching • Matching wird nach dem Prinzip der Annahme und Bestätigung vorgenommen. • Erkennung des Objektes erfolgt in zwei Phasen • Groberkennung (initial matching) … mittels Daten-/Modell-BFs • Feinabstimmung (fine adjustment) … mittels Daten Hypothese und Groberkennung • Zweck ist die Aufstellung von Hypothesen der möglichen Korrespondenzen zwischen Modellpunkten (Model-BFs) und Datenpunkten (Data-BFs), dabei brauchen BF-Paare, die durch Winkel bzw. Radius nicht übereinstimmen können, nicht betrachtet zu werden. von Matthias Dube
Matching • Zu diesen Korrespondenzen gehören 44-Transformationsmatrizen T'(33-Rotationsmatrix R' und Translationvektor t'), die wie folgt berechnet werden: t' = PD - PM V1D = R'V1M ND = R'NM ( N = V1V2 ) von Matthias Dube
Matching Verifikation und Feinabstimmung • In dieser Phase wird überprüft, ob die im vorherigen Schritt gemachten Annahmen richtig waren, und die Exaktheit der Transformationen verbessert (iterativer Prozess aus 4 Schritten über alle Annahmen): • Schritt 1: Objektmodell wird in die berechnete Position der aktuellen Hypothese gebracht • Schritt 2: Es werden alle sichtbaren Modellpunkte ausgewählt,d.h. Punkte, die folgende Gleichung erfüllen:(P-O)N 0 P… Position des Modellpunktes N… Normalenvektor O… Kameraposition von Matthias Dube
Matching • Schritt 3: Suche zugehöriger Datenpunkte • Sowohl Daten- als auch Modellpunkte werden auf ein 2D-Bild abgebildet. • Umgebung der Modellpunkte wird in senkrechter Richtung nach Datenpunkten abgesucht • Wird ein Datenpunkt gefunden, dessen 3D-Abstand einen bestimmten Wert nicht überschreitet, kann dieser als der korrespondierende Punkt angesehen werden. • Bei Freiform-Objekten wird aufgrund von möglichen Ungenauigkeiten bei der Objekt-modellierung etwas anders vorgegangen:Man fällt ausgehend vom Datenpunkt ein Lot auf die Tangentialebene des Modellpunktes, und der Schnittpunkt ist der zugehörige Korrespondenzpunkt. von Matthias Dube
Matching • Schritt 4: Update von Position und OrientierungDie optimale Transformationsmatrix T'' wird durch Minimierung der folgenden Gleichung gefunden (Methode der kleinste Quadrate):² = i=1..n |R''PMi + t''-PDi|² PMi/PDi… Modell-/Datenpunkt-Paare n… Anzahl der PaareT = T''T'… Angepasste Position des Objektes Ist der Fehler ² nicht klein genug oder die Zahl der Korrespondenz-paare verglichen mit den Modellpunkten gering, so muss mit T'=T iteriert werden (Wiederholung der Schritte 1 bis 4).Wenn die Iteration keine Verbesserung bringt, kann die aktuelle Annahme als falsch betrachtet werden. von Matthias Dube
Matching • Wurden alle Annahmen überprüft, wird die mit den meisten Korrespondenzpaaren als Ergebnis genommen. • Zur Verbesserung des Algorithmus' wird die Feinabstimmung wiederum in zwei Phasen unterteilt: • Anfangsabstimmung (Es werden nur Punkte in der Nähe des jeweiligen BFs abgeglichen) • Hauptabstimmung (Mit der verbesserten Transformationsmatrix werden alle Punkte abgestimmt) Dadurch wird vermieden, dass die im Schritt 3 betrachteten Abstände zwischen Daten- und Modellpunkten zu groß werden von Matthias Dube
Matching 2D-Beispiel für Feinabstimmung: (a) Objektmodell (b) linkes Stereobild (Daten) (c) Iteration in Anfangsabstimmung (d) Iteration in Hauptabstimmung von Matthias Dube
Experimentelle Ergebnisse und Schlussfolgerungen von Matthias Dube
Experimentelle Ergebnisse und Schlussfolgerungen MV, MA / DV, DA… BFs des Modells bzw. der rekonstruierten 3D-Daten H… Anzahl der gemachten Hypothesen im 1. Schritt des Matching (Groberkennung) R… prozentualer Anteil an der Anzahl der möglichen Hypothesen T3D-R., TInit, TFine… Rechenzeit in Sek. für 3D-Rekonstruktion, Groberkennung, Feinabstimmung von Matthias Dube
Experimentelle Ergebnisse und Schlussfolgerungen • Bei der 3D-Rekonstruktion hängt die Rechenzeit von der Größe der Eingangsbilder ab • Beim Matching spielt die Komplexität des Modells und der Szene eine entscheidende Rolle • Probleme beim Matching: • Die Bildauflösung muss hoch genug sein • Es dürfen nicht alle BFs verdeckt sein. Aber es reicht ein erkennbarer BF zur Erkennung des ganzen Objekts, auch wenn der Rest verdeckt ist. • Fehler bei der Kantenerkennung • Zusätzliche Probleme beim Matching mit Freiform-Objekten: • Da bei diesen Objekten von Konturen ausgegangen wird, kann es vorkommen, dass bei verschiedenen Positionen fast gleiche Konturen auftreten, was eine eindeutige Positionserkennung unmöglich macht von Matthias Dube