-
TECHNISCHES GEBIET
-
Diese Erfindung bezieht sich allgemein auf das Schätzen von Stellungen von 3D-Objekten und insbesondere auf das Schätzen von Stellungen anhand von durch 3D-Sensoren erfassten Daten.
-
STAND DER TECHNIK
-
Die Stellung eines Objekts hat 6-Freiheitsgrade (6-DoF), d. h., 3D-Linearbewegung und 3D-Drehung. Das Problem der Stellungsschätzung bezieht sich auf das Finden der Stellung eines Objekts hinsichtlich eines Bezugskoordinatensystems, üblicherweise des Koordinatensystems eines Sensors. Die Stellung kann erfasst werden unter Verwendung von Messungen von Sensoren, z. B. 2D-Bildern, 3D-Punktwolken, mit 3D-Modellen. Die Stellungsschätzung spielt eine größere Rolle bei vielen Roboteranwendungen wie Behälteraufnahme, Ergreifen, Lokalisieren, autonome Navigation und 3D-Rekonstruktion.
-
Bis vor kurzem erfolgte die Stellungsschätzung primär durch Verwendung von 2D-Bildern, da Kameras kosteneffektiv sind und eine schnelle Bilderfassung ermöglichen. Das Hauptproblem bei 2D-Bildern besteht darin, die 2D-Merkmale mit ihren entsprechenden 3D-Merkmalen in dem Modell in Übereinstimmung zu bringen. Dies ist eine Herausforderung aufgrund verschiedener Beleuchtungsbedingungen und unterschiedlicher Betrachtungspunkte der Kamera, was Änderungen der Drehung und des Maßstabs in dem Bildraum bewirkt. Weiterhin können einige Ansichten des Objekts theoretisch zu mehrdeutigen Stellungen führen. Mehrere konstante Merkmalsdeskriptoren sind bekannt, um die Entsprechungen zwischen einem Eingangsbild und einer Datenbank aus Bildern zu bestimmen, wobei die 2D-Schlüsselpunkte den 3D-Koordinaten angepasst werden.
-
Viele industrielle Teile sind texturlos, z. B. bearbeitete Metallteile oder gegossene Kunststoffteile. Daher muss man sich stark auf beobachtbare Kanten in den Bildern verlassen. Wenn Grenzen eines Objekts verwendet werden, ist häufig ein Satz von Kantenschablonen eines Objekts vorher bekannt, und die Schablonen werden in Abfragekantenkarten gesucht. Mehrere Varianten, die Kantenorientierung oder hierarchische Darstellung enthalten, sind bekannt. Auf Intensität basierende Kantenerfassung ergibt häufig zu viele Kantenpixel, wobei nur wenige nützliche Kanten sind, die sich aus Tiefenunterbrechungen ergeben. Eine Mehrblitzkamera kann verwendet werden, um Tiefenkanten direkt zu schätzen, indem Schatten aus mehreren Blitzrichtungen geworfen werden.
-
Im Allgemeinen haben 3D-Daten, die durch 3D-Sensoren erhalten wurden, erheblich weniger Varianten im Gegensatz zu 2D-Daten. Die Hauptherausforderung besteht darin, das Entsprechungsproblem in Anwesenheit von Sensorrauschen, Okklusionen und Störflecken zu lösen. Das Entsprechungsproblem bezieht sich auf das Finden einer Eins-zu-Eins-Übereinstimmung zwischen Merkmalen in den Daten und Merkmalen in dem Modell. Die Merkmale werden üblicherweise konstruiert, um die Größe und die Form des Objekts zu charakterisieren. Mehrere 3D-Merkmalsdeskriptoren, die die Verteilungen von Oberflächenpunkten und Normalen verwenden, sowie Anpassungsvorgänge sind bekannt. Derartige Deskriptoren sind allgemein unveränderlich für die Transformation starrer Körper, aber empfindlich gegenüber Störungen und Okklusion. Weiterhin erfordern derartige Merkmale dichte Punktwolken, die nicht verfügbar sein können.
-
Eine Stellungsschätzung ist durchführbar mit verschiedenen Arten von Entsprechungen zwischen 3D-Sensordaten und dem Modell: 3 Punkt-Entsprechungen, 2 Linien-Entsprechungen und 6 Punkte zu 3 oder mehr Ebenen. Typischerweise werden derartige Entsprechungen in einem Hypothetisier- und Prüf-Rahmenwerk wie RANdom Sample Consensus (RANSAC) verwendet, um die Stellung zu bestimmen. Alternativ kann die Stellung aus dem Modus der hypothetisierten Stellungsverteilung gewonnen werden entweder durch Verwendung eines Hough-Abstimmschemas oder Gruppieren in dem Parameterraum. Derartige Maßnahmen leiden an zwei Problemen, wenn nur 3D-Sensordaten ohne Bilder oder andere vorherige Informationen verfügbar sind. Punkte, Linien und Ebenen sind individuell nicht sehr unterscheidbar und sind kombinatorisch auf Gleichheit zu prüfen, und es ist schwierig, eine schnelle Berechnung ohne irgendeine frühere Verarbeitung bei dem Modell zu erzielen.
-
Ein Paarmerkmal kann definiert werden durch einen Abstand und relative Orientierungen zwischen zwei orientierten Punkten auf der Oberfläche eines Objekts. Ein Objekt wird dargestellt durch einen Satz von Paarmerkmalen orientierter Punkte, der in einer Hash-Tabelle
für schnellen Abruf gespeichert ist. Zufällige zwei Punkte werden aus den Sensordaten abgetastet und jedes derartige Paar stimmt für eine besondere Stellung ab. Die geforderte Stellung entspricht derjenigen mit einer großen Anzahl von Stimmen. Ein einfacheres Paarmerkmal bestehend aus der Tiefendifferenz zwischen einem Pixel und einem versetzten Pixel wird verwendet für eine menschliche Stellungsschätzung mit einem Zufallsdatenstrukturwald-Gesamtklassifizierer.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Ausführungsbeispiele der Erfindung sehen ein auf einer Schätzung basierendes Verfahren zum Schätzen einer Stellung eines Objekts aus durch einen 3D-Sensor erfassten Daten vor. Obgleich orientierte Oberflächenpunkte (Punkte auf der Oberfläche eines Objekts mit Normalen), die im Stand der Technik verwendet werden, unterscheidbar für Objekte mit erheblichen Krümmungsänderungen sind, sind derartige Oberflächenpunkte nicht kompakt und ausreichend unterscheidbar für viele industrielle und tatsächliche Objekte, die planar sind.
-
Um Informationen über Grenzen zu erhalten, spielen Kanten eine Schlüsselrolle bei der 2D-Registrierung, während Tiefenunterbrechungen bei 3D entscheidend sind. Die Ausführungsbeispiele sehen eine Familie von Stellungsschätzungsverfahren vor, die diese Informationen über Grenzen besser ausnutzen. Zusätzlich zu orientierten Oberflächenpunkten verwenden wir zwei andere geometrische Zeichenelemente, enthaltend orientierte Grenzpunkte (Punkte auf den Grenzen eines Objekts mit Richtungen) und Grenzliniensegmente.
-
Sorgfältig ausgewählte Zeichenelemente kodieren mehr Informationen kompakt und ergeben dadurch eine größere Genauigkeit für eine weite Klasse von industriellen Teilen und ermöglichen eine schnellere Berechnung.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Darstellung einer Roboteranordnungsvorrichtung, die die Ausführungsbeispiele der Erfindung anwenden kann;
-
2A ist ein Blockschaltbild eines Verfahrens zum Bestimmen einer Stellung eines 3D-Objekts unter Verwendung eines auf einer Abstimmung basierenden Verfahrens gemäß Ausführungsbeispielen der Erfindung;
-
2B ist ein Blockschaltbild von Einzelheiten des Verfahrens zum Bestimmen einer Stellung eines 3D-Objekts unter Verwendung eines auf einer Abstimmung basierenden Verfahrens;
-
3A–3D sind schematische Darstellungen von Paarmerkmalen für eine auf einer Abstimmung basierende Stellungsschätzung gemäß Ausführungsbeispielen der Erfindung; und
-
4 ist eine schematische Darstellung einer Transformation zwischen einem Linienpaarmerkmal, das aus Sensordaten erhalten wurde, und einem Linienpaarmerkmal, das von dem Modell erhalten wurde, gemäß Ausführungsbeispielen der Erfindung.
-
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
-
1 zeigt ein System 100 zum Schätzen einer Stellung eines Objekts. Das System enthält einen 6-Achsen-Roboterarm 110 mit einem Greifer 120. Ein 3D-Sensor 130 ist an dem Arm angeordnet. Der Greifer nimmt Objekte 140 aus einem Behälter 150 in Abhängigkeit von ihrer Stellung 101 auf. Es ist festzustellen, dass der Behälter unterschiedliche Objekte enthalten kann.
-
Ein beispielhafter 3D-Sensor verwendet strukturiertes Licht, das von einem Infrarotlaser erzeugt wurde. Andere Sensoren sind auch möglich. Der Sensor erfasst 3D-”Punktwolken” 160 als Tiefenkarten von 640×480 Pixeln. Der 3D-Sensor ist mit Bezug auf den Roboterarm kalibriert, wodurch ein Ergreifen und Aufnehmen eines Objekts unter Verwendung der Stellung ermöglicht wird.
-
Die 3D-Punktwolken werden durch ein in einem Prozessor 170 durchgeführtes Verfahren verarbeitet. Der Prozessor kann einen Speicher und Eingabe-/Ausgabe-Schnittstellen enthalten, wie im Stand der Technik bekannt ist. Das Verfahren bestimmt die Stellung, die zu einer Steuervorrichtung 180 zurückgeführt werden kann, um den Arm für die Aufnahme des Objekts 140 zu lenken.
-
2A zeigt ein Blockschaltbild für das Verfahren 200, das die folgenden Schritte enthält: 3D-Erfassen 210 der Szene, auf einer Abstimmung basierende Stellungsschätzung 220, eine Stellungsverfeinerung 230, und Ergreifen 240 des Objekts gemäß seiner Stellung.
-
Das System tastet den Behälter von Objekten unter Verwendung des SD-Sensors ab, um ein Objekt zu erfassen, und nimmt es gemäß der durch das Verfahren bestimmten Stellung auf. Unter der Voraussetzung eines 3D-CAD-Modells von jedem unterschiedlichen Objekt in dem Behälter führt das auf einer Abstimmung basierende Verfahren eine Erfassung und Stellungsschätzung des Objekts unter Verwendung einer abgetasteten 3D-Punktwolke 160 durch. Dieser Schritt ergibt mehrere grobe Stellungen. Das System wählt mehrere beste grobe Stellungen aus und verfeinert individuell die Stellungen unter Verwendung eines Verfahrens für einen iterativ nahesten Punkt (ICP).
-
Im Allgemeinen minimiert der ICP eine Differenz zwischen zwei 3D-Punktwolken. Der ICP wird häufig verwendet, um ein vollständiges 3D-Modell aus mehreren Teilabtastungen, die an verschiedenen Orten erfasst wurden, zu rekonstruieren und Roboter mit Bezug auf ein 3D-Umfeldmodell zu lokalisieren. Der Vorgang kann in Echtzeit durchgeführt werden durch iteratives Überprüfen der Transformation (Translation und Drehung), die erforderlich ist, um den Abstand zwischen den entsprechenden Punkten zu minimieren. Die Eingabe sind die beiden 3D-Punktwolken, eine anfängliche Schätzung der Transformation und ein Beendigungskriterium. Die Ausgabe ist die verfeinerte Transformation. Die primären Schritte enthalten das Finden entsprechender Punkte durch ein Nächster-Nachbar-Kriterium, das Schätzen von Transformationsparametern unter Verwendung eines mittleren quadratischen Fehlers als einer Kostenfunktion, das Transformieren der Punkte unter Verwendung der geschätzten Parameter, und das Iterieren.
-
Das ICP-Verfahren in unserem System bereitet das CAD-Modell des Objekts auf durch Verwendung der gegenwärtigen Stellungsschätzung und erzeugt eine 3D-Punktwolke für das Modell durch Abtasten der Oberfläche des aufbereiteten Modells. Dann bestimmt der ICP den nahesten 3D-Punkt in der abgetasteten Punktwolke für jeden 3D-Punkt in dem Modell und aktualisiert die Stellungsschätzung unter Verwendung der 3D-Punktentsprechungen.
-
Nach dem Konvergieren des ICP wird ein Registrierungsfehler als ein durchschnittlicher Abstand zwischen den entsprechenden 3D-Punkten in der abgetasteten Punktwolke und dem Modell gemessen. Der Registrierungsfehler kann hoch sein, wenn der ICP zu einer nichtkorrekten Stellung konvergiert oder wenn ein Teil des Objekts aufgrund von Okklusion von anderen Objekten fehlt. Daher verwendet, wenn der Registrierungsfehler hoch ist, unser System nicht die geschätzte Stellung zum Ergreifen. Zusätzlich zu dem Registrierungsfehler prüft unser System auch, ob das Objekt in der Stellung durch den Roboterarm erreichbar ist, um zu bestimmen, ob das Objekt aufgenommen werden kann.
-
Koordinatensysteme
-
Für den Zweck dieser Beschreibung werden drei Koordinatensysteme verwendet. Der Sensor wird in Form eines Sensor(Kamera)-Koordinatensystems C ausgedrückt. Das Modell des Objekts wird in Form eines Objektkoordinatensystems O ausgedrückt. Das Objekt in der Szene verwendet ein Weltkoordinatensystem W. Das Sensorkoordinatensytem S kann zu dem Weltkoordinatensystem W kalibriert werden, da im Allgemeinen der Sensor an einem bekannten Ort und mit bekannten Orientierungen in einer realen Welt ist.
-
Das Stellungsschätzverfahren bestimmt eine Transformation zwischen dem Sensorkoordinatensystem und dem Objektkoordinatensystem. Dann kann die Beziehung zwischen dem Sensor und dem Weltkoordinatensystem verwendet werden, um das Objekt in der Szene zu manipulieren.
-
Auf Abstimmung basierende Stellungsschätzung
-
Unsere Merkmale für eine Stellungsschätzung basieren auf Paaren von orientierten Punkten oder Linien, die wir als Paarmerkmale bezeichnen. Ein Paarmerkmal bestehend aus einem Paar von orientierten Oberflächenpunkten wird durch S2S bezeichnet, da wir den Merkmalsvektor asymmetrisch von einem orientierten Punkt (Bezugsgröße) zu einem anderen (bezogen) konstruieren. In gleicher Weise haben wir vier andere Paarmerkmale auf der Grundlage eines Paares von orientierten Grenzpunkten (B2B), ein Paar von Liniensegmenten (L2L), und ein heterogenes Paar enthaltend einen orientierten Oberflächenpunkt und einen orientierten Grenzpunkt (S2B und B2S), siehe 3A–3C.
-
Punktpaarmerkmals-Deskriptoren FS2S, FB2B, FS2B und FB2S sind definiert durch die relative Position f1 und Orientierungen f2, f3 und f4 eines Paares von orientierten Punkten (m, n), wobei Punkte entweder Oberflächenpunkte mit Oberflächennormalen oder Grenzpunkte mit Richtungen anzeigen. In 3D ist der Linienpaarmerkmals-Deskriptor FL2L definiert durch den minimalen Abstand zwischen zwei unendlichen Linien f1, den spitzen Winkel zwischen zwei Linienrichtungen f2 und den maximalen Abstand zwischen den zwei Liniensegmenten f3.
-
Um die Stellung des Objekts zu schätzen, ist es erforderlich, Entsprechungen zwischen Paarmerkmalen, die von der Szene und dem Modell erhalten wurden, zu errichten. Wir verwenden verschiedene geometrische Randbedingungen von dem Paarmerkmal als seinen Deskriptor. Dann werden die Entsprechungen zwischen den Szene- und Modellpaarmerkmalen durch Anpassen ihrer Deskriptoren errichtet.
-
Paarmerkmale
-
S2S – Oberflächenpaarmerkmal:
-
Ein Oberflächenpaarmerkmal S2S ist definiert unter Verwendung von zwei Punkten auf der Objektoberfläche und ihrer Normalen. Unter der Voraussetzung eines orientierten Punkts von der Szene und eines entsprechenden Zeichenelements von dem Modell kann die 3D-Stellung bis zu einer planaren Drehungwiedergewonnen werden durch Ausrichten von Punktorten und ihren Normalen. Um die Drehungsmehrdeutigkeit zu lösen und die vollständige 6-DoF-Stellung wiederzugewinnen, sind zumindest Entsprechungen zwischen zwei Paaren von Szene- und Modell-Zeichenelementen erforderlich.
-
Es wird angenommen, dass {(m
r, n
r), (m
i, n
i)} das Paarmerkmal bezeichnen, wobei m
r und m
i der Bezugs- und der bezogene Punkt auf der Objektoberfläche sind, und n
r bzw. n
i die entsprechenden Normalen sind. Der assoziierte Deskriptor mit diesem Paarmerkmal ist
wobei d der Vektor von dem Bezugspunkt zu dem bezogenen Punkt ist, und
(v
1, v
2) ∈ [0, π] stellt den Winkel zwischen zwei Vektoren dar.
-
Somit stellt die erste Komponente des Deskriptors f1 = ||mi – mr||2 = ||d||2 dar, welcher der euklidische Abstand zwischen den beiden Oberflächenpunkten ist. Die zweite und die dritte Komponente f2 und f3 sind Winkel zwischen dem Vektor d und den Oberflächennormalen-Vektoren nr bzw. ni. Die letzte Komponente f4 ist der Winkel zwischen den beiden Normalvektoren. Das S25-Merkmal ist in 3A gezeigt. Wenn das Objekt einen weiten Bereich von Normalen überspannt, dann ergibt dieses Merkmal eine gute Beschreibung des Objekts.
-
B2B – Grenzpaarmerkmal:
-
Das S2S-Merkmal versagt, eine gute Beschreibung für Formen zu geben, die nicht einen weiten Bereich von Oberflächennormalen überspannen. Leider sind viele industrielle Teile, die während einer Robotermontage verwendet werden, planar und haben einen sehr kleinen Satz von Normalrichtungen. Zusätzlich ist es aufgrund von Störungen in den 3D-Daten schwierig, die Normalen in Bereichen hoher Krümmung auf der Oberfläche genau zu schätzen, wodurch das Problem weiter kompliziert wird.
-
Wir definieren ein neues Punktpaarmerkmal B2B auf der Grundlage von zwei Punkten auf Objektgrenzen. Im Gegensatz zu Oberflächenpunkten haben Grenzpunkte keine gut definierten Normalen. Für Grenzpunkte passen wir Liniensegmente an und verwenden die Richtungen der Liniensegmente für Orientierungen. Um die Liniensegmente auf Objektgrenzen herauszuziehen, bestimmen wir zuerst die Kanten in der Tiefenkarte unter Verwendung eines Canny-Kantendetektors. Die Kanten werden in einer Kantenkarte gespeichert. Punkte von der Kantenkarte werden zufällig abgetastet und 3D-Linien werden auf lokalen Bereichen, die um diese Punkte herum zentriert sind, unter Verwendung eines RANSAC-Vorgangs angepasst. Durch iteratives Anordnen und Entfernen von Liniensegmenten mit maximalen Innenliegenden werden alle Liniensegmente wiederhergestellt. Diese Liniensegmente werden weiterhin verfeinert durch Anwenden kleinster Quadrate auf die Innenliegenden. Nach der Linienanpassung tasten wir gleichförmig Grenzpunkte auf den 3D-Liniensegmenten ab.
-
In 3B zeigen die Punkte die Grenzpunkte auf zwei 3D-Liniensegmenten.
-
Dann wird der Grenzpaarmerkmals-Deskriptor F
B2B ∈
definiert durch
-
Dieses Merkmal ist äquivalent FS2S mit der Ausnahme, dass n r und n i Richtungen der 3D-Linien sind. Es ist zu beachten, dass die Richtungen nicht eindeutig bestimmt sind. Daher berücksichtigen wir zwei mögliche Richtungen n und – n , wenn wir das B2B-Merkmal verwenden.
-
Objektgrenzen sind hoch informativ. Verglichen mit S2S, B2B wird eine prägnantere Modellierung erhalten, da es weniger Grenzpunkte im Vergleich zu Oberflächenpunkten gibt. Zusätzlich sind die Orientierungen von lokalen Liniensegmenten unempfindlicher gegenüber Störungen im Vergleich zu Oberflächennormalen.
-
S2B und B2S – Oberflächen-Grenz-Paarmerkmal:
-
Grenzpaarmerkmale sind assoziiert mit den Tiefenkanten des Objekts. Ein derartiges Merkmal, das nur von Grenzpunkten abhängt, braucht nicht die beste Wahl für ein Objekt mit hohen Oberflächenkrümmungen zu sein. Beispielsweise kann jeder Punkt auf der Oberfläche eines kugelförmigen Objekts potentiell eine Tiefenkante basierend auf der Stellung werden, während Tiefenkanten eines vielflächigen Objekts stabiler sind und immer auf ebenen Kreuzungen erscheinen.
-
Um gemeinschaftlich und effizient sowohl ebene als auch gekrümmte Objekte zu modellieren, sehen wird ein heterogenes Paarmerkmal vor, das durch Verwendung eines orientierten Oberflächenpunkts und eines orientierten Grenzpunkts definiert ist. Durch Berücksichtigung von orientierten Punkten auf der Oberfläche und der Grenze verringert dieses Merkmal eine Stellungsabtastung im Vergleich zu dem B2B-Merkmal.
-
Wie in
2C gezeigt ist, ist durch Auswahl eines orientierten Oberflächenpunkts als des Bezugspunkts und eines orientierten Grenzpunkts als des bezogenen Punkts der S2B-Merkmalsdeskriptor F
S2B ∈
definiert durch
-
In gleicher Weise ist das B2S-Merkmal definiert durch Auswählen eines orientierten Grenzpunkts als des Bezugspunkts und eines orientierten Oberflächenpunkts als des bezogenen Punkts.
-
L2L – Linienpaarmerkmal:
-
Wie in 3D gezeigt ist, sehen wir auch ein Paarmerkmal L2L für 3D-Liniensegmente vor. Das Konstruieren eines Merkmals für zwei Liniensegmente ist geringfügig komplizierter als Konstruieren von einem für orientierte Punktpaare. Bei unserem Verfahren passen wir Linien unter Verwendung des RANSAC-Vorgangs an. Die Liniensegmente sind üblicherweise in mehrere kleinere Segmente aufgrund von Störungen, zufälliger Linienanpassung und Okklusionen unterteilt. Daher können die Endpunkte von Liniensegmenten, die als {lr 1, lr 2, li 1, li 2} bezeichnet werden, nicht zuverlässig bestimmt werden.
-
Somit betrachten wir zwei Punkte, die durch c
r und c
i bezeichnet werden, um unseren Merkmalsdeskriptor zu definieren. Wie in
2D bezeigt ist, sind c
r und c
i die nahesten Punkte auf jeder Linie mit Bezug auf einander. Der spitze Winkel zwischen zwei Liniensegmenten mit Richtungen v
1 und v
2 ist:
-
Unser L2L-Merkmalsdeskriptor, F
L2L ∈
ist
-
Die erste Komponente ist der Abstand zwischen den nahesten Punkten cr und ci (d. h., der Abstand zwischen den beiden unendlichen Linien,) und die zweite Komponente ist der spitze Winkel zwischen den beiden Liniensegmenten. Die letzte Komponente stellt den maximalen Abstand zwischen den beiden Liniensegmenten dar. Dieser maximale Abstand kann der maximale von allen möglichen Abständen zwischen einem Endpunkt in einem Liniensegment und einem Endpunkt in einem anderen Liniensegment sein. Dieser maximale Abstand ist nützlich zum Entfernen falscher Gleichheitsprüfungen zwischen zwei Liniensegmenten mit einem ähnlichen Abstand und Winkel. Beispielsweise hat jedes Paar von koplanaren orthogonalen Linien denselben Abstand und Winkel. Jedoch ist, wie vorstehend beschrieben ist, dieser maximale Abstand nicht zuverlässig aufgrund des Brechens der Liniensegmente. Somit verwenden wir einen größeren Quantisierungsschritt für diese Komponente der Stellungsschätzung. Wir konstruieren nicht das L2L-Merkmal für Paare von parallelen Liniensegmenten, da solche Paare zu einer Mehrdeutigkeit der Stellung führen können.
-
Das Linienpaarmerkmal ergibt eine sehr effiziente Gleichheitsprüfung, da die Anzahl von Liniensegmenten geringer als die Anzahl von Oberflächenpunkten oder Grenzpunkten ist. Dieses Merkmal ist besonders effizient für vielflächige Objekte und Objekte mit langen Grenzliniensegmenten.
-
Bei einer praktischen Realisierung werden Oberflächenpunkte durch Abtasten und Unterabtasten des Tiefenbildes erhalten, 3D-Linien werden über unseren RANSAC-Vorgang bestimmt, der 3D-Liniensegmente anhand der 3D-Abtastung schätzt, und die Grenzpunkte werden dann erhalten durch Unterabtastung entlang der Liniensegmente.
-
Objektdarstellung
-
Wir erhalten zuerst geometrische Zeichenelemente
orientierte Oberflächenpunkte für S2S, orientierte Grenzpunkte für B2B, sowohl orientierte Oberflächen- als auch Grenzpunkte für S2B und B2S, und 3D-Liniensegmente für L2L. Diese geometrischen Zeichenelemente können anhand von entweder 3D-Abtastdaten mit bekannter Kalibrierung zwischen dem Sensor und dem Objekt oder synthetischen Tiefendaten, die aus einem bekannten CAD-Modell aufbereitet wurden, bestimmt werden.
-
Mit diesen Zeichenelementen
stellen wir jedes besondere Objekt
140 unter Verwendung eines Satzes von Modellpaarmerkmalen
201 S2S, B2B, S2B, B2S und L2L dar, wie in
2A gezeigt ist. Für effiziente Merkmalsanpassung speichern wir Modellpaarmerkmale in einer Hash-Tabelle
Anfänglich vereinzeln wir die Merkmalspaare, bei denen die Abstände und die Winkel mit Schrittgrößen von Δ
d bzw. Δ
a quantisiert sind. Es ist wichtig, die Quantisierungspegel angemessen zu definieren. Die Verwendung von großen Schrittgrößen setzt die Diskriminierungsfähigkeit der Deskriptoren herab, während die Verwendung kleiner Schrittgrößen das Verfahren anfällig für Störungen macht. Im Folgenden werden vereinzelte Paarmerkmalsdeskriptoren als der Schlüssel für die Hash-Funktion verwendet und die Paarmerkmale werden demgemäß in Behälter eingeführt. Mit angemessenen Quantisierungsschritten werden ähnliche Paarmerkmale gruppiert, und die Gleichheitsprüfung und das Abstimmen können in einer konstanten Zeit erfolgen.
-
Das Gestalten einer Objektdarstellung kann ein Vorverarbeitungsschritt sein, der offline durchgeführt werden kann. 2A zeigt drei unterschiedliche Objekte, die zufällig in den Behälter für eine spätere Aufnahme vermischt sein können.
-
Bei einem Online-Prozess bestimmen wir Szenepaarmerkmale 202 anhand der abgetasteten 3D-Punktwolke 160 und vergleichen diese Merkmale mit dem Satz von Modellpaarmerkmalen. Die Einzelheiten dieses Verfahrens sind in 2B gezeigt.
-
Abstimmschema für S2S, B2B, S2B und B2S
-
Wie in
2B gezeigt ist, bestimmen wir nach dem Bestimmen der Paarmerkmale
202 anhand des Modells und dem Errichten der Hash-Tabelle
die Stellung durch Berechnen von Transformationen für starre Körper zwischen einem Szenepaarmerkmal und einem Satz von entsprechenden Modellpaarmerkmalen. Um den Prozess des Findens der besten Stellungen effizient zu machen, verwenden wir ein Abstimmschema. Eine einfache Durchführung erfordert das Abstimmen in einem 6-DoF-Stellungsraum, welches ineffizient ist.
-
Stattdessen verwenden wir ein Abstimmschema, das den Abstimmraum auf einen 2D-Raum reduziert durch Verwendung von Zwischenkoordinatentransformationen. Zuerst wird ein Szenepunktpaar (s
r, s
i) in der Hash-Tabelle
gesucht, und dann wird ein entsprechendes Modellpunktpaar (m
r, m
i) gefunden. Dann werden Bezugspunkte der Paare in ein Zwischenkoordinatensystem transformiert, derart, dass ihre Positionen dem Ursprung des Koordinatensystems entsprechen und ihre Normalen mit der x-Achse ausgerichtet sind. Um das Paar vollständig auszurichten, werden die bezogenen Punkte m
i und s
i ausgerichtet durch Drehen des Objektmodells um die x-Achse um einen Winkel α.
-
Die vorgenannte Transformation von (mr, mi) in (sr, si) wird parametrisiert durch das Paar des Bezugsmodellpunkts und des planaren Drehungswinkels (mr, α), und ist gegeben durch si = T –1 / s→gRx(α)Tm→gmi (10) worin Rx(α) die Drehung um die x-Achse um den Winkel α ist, Ts→g und Tm→g die Transformationen von dem Szenekoordinatensystem bzw. dem Modellkoordinatensystem in das Zwischenkoordinatensystem sind.
-
In der Abstimmphase wird ein Bezugspunkt s
r in der Szene mit den anderen Punkten s
i in der Szene gepaart, und dann werden die Modellpaarmerkmale (m
r, m
i), die ähnlich den Szenepaarmerkmalen (s
r, s
i) sind, auf der Grundlage ihrer Deskriptoren aus der Hash-Tabelle
erhalten. Für jedes Paar wird der Drehwinkel α in dem Zwischenkoordinatensystem bestimmt, und dann werden Abstimmungen für das Paar (m
r α) durchgeführt. Nach dem Abstimmen werden Elemente, die größer als ein vorbestimmter Schwellenwert sind, ausgewählt, aus denen Kandidatenstellungen (starre Transformationen zwischen den Modellkoordinaten und den Szenekoordinaten)
206 wie in Gleichung (10) berechnet werden. Dieser Vorgang wird wiederholt durch Auswählen verschiedener Bezugspunkte in der Szene. Dieses Abstimmschema ist anwendbar auf S2S-, B2B-, S2B- und B2S-Paarmerkmale.
-
Abstimmschema für L2L
-
Da das L2L-Merkmal durch ein Paar von Liniensegmenten definiert ist, verwenden wir für das L2L-Merkmal ein unterschiedliches Abstimmschema. Verglichen mit dem Abstimmschema für die Punktpaarmerkmale ist das Abstimmschema für das L2L-Merkmal schwieriger. Jedoch ist die Grundidee dieselbe: Wir richten zwei Paarmerkmale in einem Zwischenkoordinatensystem aus, wie in 4 gezeigt ist.
-
Wir transformieren zuerst die Linienpaare in ein Zwischenkoordinatensystem. Durch Ts→g wird die Bezugslinie von der Szene ls r mit der x-Achse ausgerichtet, und der Bezugsmittelpunkt om wird zu dem Ursprung bewegt. Die Bezugslinie von dem Modell lm r wird in gleicher Weise durch Tm→g transformiert. Danach werden der naheste Punkt der Bezugsszenenlinie Cs r und der der Bezugsmodelllinie cm r an dem Ursprung ausgerichtet durch Verschieben der Bezugslinien entlang der x-Achse. Die Differenz zwischen diesen Translationen wird als τ bezeichnet. Dann werden die bezogenen Linien ls i und lm i durch Drehen des Modells um einen Winkel α um die x-Achse ausgerichtet. Der Winkel α kann leicht durch ds und dm bestimmt werden.
-
Daher wird die Transformation von (lm r, lm i) in (ls r, ls i) über das Zwischenkoordinatensystem für das L2L-Abstimmschema durch (lm r, α, τ) parametrisiert und ist gegeben durch l s / i = T –1 / s→gTx(τ)Rx(α)Tm→gl m / i (11) worin Tx(τ) die Translation entlang der x-Achse ist.
-
Stellungsgruppierung
-
Bei dem vorbeschriebenen Abstimmschema werden die Kandidatenstellungen 206 für jedes Bezugszeichenelement (Punkt oder Linie) in der Szene erhalten. Da das Objekt durch mehrere Merkmalspaare modelliert ist, wird erwartet, mehrere Kandidatenstellungen über verschiedenen Bezugszeichenelementen, Punkten mr oder Linien lm r zu haben, stützend eine übereinstimmende Stellungshypothese. Daher vereinigen wir ähnliche Stellungen von verschiedenen Szenezeichenelementen.
-
Obgleich es mehrere Verfahren zum Gruppieren im 3D-Transformationsraum SE(3) für starre Körper gibt, wie eine mittlere Verschiebung von Lie-Gruppen, sind derartige Verfahren gewöhnlich rechnerisch unzweckmäßig für zeitempfindliche Anwendungen.
-
Wir verwenden eine Maßnahme der anhäufenden Gruppierung 207, die sehr effizient ist. Wir sortieren zuerst die Kandidatenstellungen in abnehmender Reihenfolge der Anzahl von Stimmen. Aus der Kandidatenstellung mit der größten Anzahl von Stimmen bilden wir eine neue Gruppe. Wenn die nächste Kandidatenstellung nahe einer der bestehenden Gruppen ist, dann wird die Kandidatenstellung zu der Gruppe hinzugefügt und die Gruppenmitte wird aktualisiert als der Durchschnitt der Kandidatenstellungen innerhalb der Gruppe. Wenn die nächste Kandidatenstellung nicht nahe bei einer der Gruppierungen ist, dann wird eine neue Gruppe erzeugt. Die Prüfung der Nähe erfolgt mit festen Schwellenwerten für die Translation und die Drehung. Die Abstandsberechnung und die Durchschnittsbildung für die Translation werden in dem euklidischen 3D-Raum durchgeführt, während diejenigen für die Drehung unter Verwendung einer Quaternion-Darstellung von Drehungsmatrizen durchgeführt werden.
-
Nach dem Gruppieren werden die Gruppen in abnehmender Reihenfolge der Gesamtzahl von Stimmen sortiert, wodurch eine Konfidenz der geschätzten Stellungen bestimmt wird. Die Gruppen mit den größten Stimmenzahlen entsprechen den besten Stellungen 208.
-
Wirkung der Erfindung
-
Ein Satz von Paarmerkmalen, verwendend orientierte Oberflächenpunkte, orientierte Grenzpunkte und Grenzliniensegmente, ist vorgesehen, um verschiedene Objekte zu modellieren. Wir verwenden die Paarmerkmale in einem Abstimmungsrahmenwerk für eine genaue und effiziente Stellungsschätzung.
-
Merkmale von Grenzen sind kompakter und informativer, wodurch sie zu einer höheren Genauigkeit und schnelleren Berechnung führen.
-
Ein gemäß den Ausführungsbeispielen der Erfindung realisiertes Behälteraufnahmesystem hat eine Aufnahmeerfolgsrate von mehr als 98%, sowie einen Stellungsschätzfehler von weniger als 0,3 mm und 0,3° für Translationen und Drehungen.