-
TECHNISCHES GEBIET
-
Die vorliegende Technologie betrifft eine Informationsverarbeitungsvorrichtung, eine Datenbank-Erzeugungsvorrichtung, ein Verfahren, ein Programm und ein Speichermedium.
-
HINTERGRUND
-
Es ist eine dreidimensionale Objekt-Verifizierungsvorrichtung bekannt, die Position und Orientierung eines Objekts basierend auf Daten, die von einem dreidimensionalen Sensor erhalten werden, schätzt. Die dreidimensionale Objekt-Verifizierungsvorrichtung führt eine zweistufige Positions- und Orientierungsschätzung unter Verwendung eines ersten Schritts zum Durchführen einer groben Positions- und Orientierungsschätzung und eines zweiten Schritts zum Durchführen einer detaillierten Positions- und Orientierungsschätzung basierend auf dem Ergebnis des ersten Schritts durch.
-
Es ist auch eine Erkennungsobjekt-Erkennungsvorrichtung bekannt, die die Position und Orientierung eines Messobjekts erkennt, ohne von einer Änderung in Hintergrundinformationen des Messobjekts beeinflusst zu werden. Diese Erkennungsobjekt-Erkennungsvorrichtung gibt Koordinatenwerte auf einer dreidimensionalen Form, die durch eine Messung von einer neuen Messposition erhalten wird, in einen Computer ein, baut ein Umgebungsmodell auf, das jede der Voxelpositionen speichert, und setzt einen repräsentativen Punkt und seine Fehlerverteilung innerhalb des Voxels, das den Koordinatenwerten entspricht, und speichert dann die Einstellung. Anschließend führt die Erkennungsobjekt-Erkennungsvorrichtung eine Ausrichtung durch, um einen Evaluierungswert hinsichtlich der Distanz zwischen benachbarten Fehlerverteilungen zu minimieren, und identifiziert eine Selbstposition von der Menge von Rotation und der Menge von Translation. Anschließend rotiert und verschiebt die Erkennungsobjekt-Erkennungsvorrichtung das Messobjekt, das durch Modelldaten dargestellt wird, mit Bezug auf die Messdaten und die durch Integration erhaltene Fehlerverteilung und führt eine Ausrichtung durch, um den Evaluierungswert hinsichtlich der Distanz zwischen Elementen, die die Messdaten bilden, und den Modelldaten zu minimieren.
-
Es ist auch eine dreidimensionale Objekt-Erkennungsvorrichtung bekannt, die in der Lage ist, die Verarbeitungsgeschwindigkeit zum Erkennen eines Erkennungsobjekts zu verbessern. Die dreidimensionale Objekt-Erkennungsvorrichtung teilt einen Raum mit einem dreidimensionalen Modell als Erkennungsobjekt in seinem Zentrum in eine Vielzahl von Voxeln unter und steuert die Speicherung eines Distanzfeldes in jedem der Voxel, das eine Distanz zu dem nächsten Punkt der dreidimensionalen Modelloberfläche und eine ID, die den nächsten Punkt darstellt, aufnimmt. Die dreidimensionale Objekt-Erkennungsvorrichtung geht von der Position und Orientierung eines dreidimensionalen Sensor aus und wandelt eine von dem dreidimensionalen Sensor gemessene Punktwolke in jeden der Messpunkte auf einem in dem dreidimensionalen Modell gesetzten Modellkoordinatensystem um und setzt die Messpunkte dann in einen Voxel von jedem der entsprechenden Distanzfelder, wodurch die Distanz zum nächsten Punkt erhalten wird.
-
Es ist auch eine Objekt-Erkennungsvorrichtung bekannt, die automatisch eine Punktwolke, die einem Zielobjekt entspricht, von gemessenen Punktwolkendaten extrahiert. Die Objekt-Erkennungsvorrichtung schätzt Formeigenschaften, die von relativen Koordinateninformation von benachbarten Punkten bestimmt werden, mit Bezug auf jeden der Punkte der Messpunktwolke und der Modellpunktwolke. Anschließend führt die Objekt-Erkennungsvorrichtung eine übereinstimmende Verarbeitung von jeder der Formeigenschaften in der Messpunktwolke und der Modellpunktwolke mit der gleichen Formeigenschaft durch und erhält Anwesenheitsinformationen der Modellpunktwolke in der Messpunktwolke basierend auf dem übereinstimmenden Grad der Formeigenschaften.
-
Es ist auch eine Objekt-Erkennungsvorrichtung bekannt, die eine dreidimensionale Position und Orientierung eines Zielobjekts unter Verwendung von Distanzdaten, die von einem Distanzsensor erhalten werden, erkennt. Diese Objekt-Erkennungsvorrichtung liest dreidimensionale Formdaten einschließlich dreidimensionaler Positionen der Eckpunkte und Informationen, die die Oberfläche eines Objekts durch Verbinden der Eckpunkte angeben, und erstellt dann eine Merkmalsmenge, die eine lokale Oberflächenform des Objekts mit Bezug auf die Eckpunkte des Modells angibt. Anschließend misst die Objekt-Erkennungsvorrichtung eine aktuelle Umgebung mit einem Sensor und erhält Distanzdaten und erstellt dann Oberflächeninformationen des Objekts. Anschließend erstell die Objekt-Erkennungsvorrichtung eine Merkmalsmenge, die die lokale Oberflächenform des Objekts darstellt, mit Bezug auf den Szeneneckpunkt und berechnet ein Ähnlichkeitsgrad zwischen der Merkmalsmenge des Szeneneckpunkts und der Merkmalsmenge des Modelleckpunkts. Wenn es ein Paar mit einem Ähnlichkeitsgrad höher als einen Grenzwert gibt, bestimmt die Objekterkennungsvorrichtung den Szeneneckpunkt und den Modelleckpunkt als ein korrespondierendes Punktpaar.
-
LITERATURLISTE
-
PATENTSCHRIFTEN
-
- Patentschrift 1: Japanische Offenlegungsschrift mit der Nr. 2007-322351
- Patentschrift 2: Japanische Offenlegungsschrift mit der Nr. 2008-309671
- Patentschrift 3: Japanische Offenlegungsschrift mit der Nr. 2012-26974
- Patentschrift 4: Internationale Publikationsbroschüre mit der Nr. WO 2014/155715
- Patentschrift 5: Japanische Offenlegungsschrift mit der Nr. 2009-128192
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
TECHNISCHES PROBLEM
-
Es gibt jedoch ein Problem, dass eine hohe Genauigkeitsschätzung der Position eines mobilen Körpers in dem Fall zum Schätzen der Position des mobilen Körpers unter Verwendung dreidimensionaler Punktwolkendaten mit verschiedenen Dichten nicht erreicht werden würde. In einem Fall, in dem zum Beispiel die Dichte von dreidimensionalen Punktwolkendaten, die von einem in dem mobilen Körper beinhaltenden Sensor erhalten werden, niedriger ist als die Dichte von dreidimensionalen Punktwolkendaten von Kartendaten, wäre es schwierig, dreidimensionale Punktwolkendaten mit niedriger Dichte zu dreidimensionalen Punktwolkendaten mit hoher Dichte zuzuordnen.
-
In einem Aspekt ist das Ziel der vorliegenden Technologie, eine Zuordnung von dreidimensionalen Punktwolkendaten zueinander sogar in einem Fall zu erreichen, in dem diese Elemente von dreidimensionalen Punktwolkendaten mit verschiedenen Dichten sind.
-
LÖSUNG DES PROBLEMS
-
In einer Ausführungsform werden eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die von einer auf einem mobilen Körper montierten Beobachtungseinheit beobachtet werden, erhalten. Anschließend wird, basierend auf der Position des mobilen Körpers und einer Vielzahl von Elementen von dreidimensionalen Punktdaten, die von der Beobachtungseinheit von der Position des mobilen Körpers beobachtet werden, eine Merkmalsmenge gemäß einer Distanz zwischen der Position des mobilen Körpers und jedem der dreidimensionalen Punkte, die von der Vielzahl von Elementen von dreidimensionalen Punktdaten angegeben werden, berechnet. Anschließend wird eine Referenz auf die berechnete Merkmalsmenge und eine Datenbank gemacht, die eine Vielzahl von Kombinationen von Referenzpunkten in einem mobilen Raum des mobilen Körpers und die Merkmalsmengen gemäß der Distanz zwischen der Position des Referenzpunkts und jedem der dreidimensionalen Punkte, die von einer von der Position des Referenzpunktes beobachteten Vielzahl von Elementen von dreidimensionalen Punktdaten angegeben werden, registriert hat. Anschließend wird der Referenzpunkt, der der Position des mobilen Körpers entspricht, aus der Vielzahl von Referenzpunkten, die in der Datenbank registriert sind, spezifiziert.
-
VORTEILHAFTE AUSWIRKUNGEN DER ERFINDUNG
-
In einem Aspekt ist es möglich, eine Auswirkung zu erreichen, in der Lage zu sein, dreidimensionale Punktwolkendaten sogar in einem Fall zueinander zuzuordnen, in dem es Elemente von dreidimensionalen Punktwolkendaten mit verschiedenen Dichten gibt.
-
Figurenliste
-
- 1 ist ein schematisches Blockdiagramm einer Datenbank-Erzeugungsvorrichtung gemäß der vorliegenden Erfindung.
- 2 ist ein Diagramm, das ein Beispiel einer Tabelle anzeigt, die dreidimensionale Punktdaten speichert.
- 3 ist eine Ansicht, die ein Beispiel einer Modellpunktwolke und einer Datenpunktwolke anzeigt.
- 4 ist eine Ansicht, die einen Auszug von Referenzpunkten anzeigt.
- 5 ist eine Ansicht, die eine sichtbare Punktwolke anzeigt, die von einem Referenzpunkt beobachtet wird.
- 6 ist eine Ansicht, die ein Histogramm anzeigt, das für jede der Flächen eines regelmäßigen n-Flächners, der zentriert auf einem Referenzpunkt gebildet ist, berechnet ist.
- 7 ist eine Ansicht, die ein Beispiel eines Histogramms anzeigt, das für jede der Flächen eines regelmäßigen n-Flächners berechnet ist.
- 8 ist ein Diagramm, das ein Beispiel einer Tabelle zeigt, die Referenzpunkte mit Histogrammen verknüpft, die für jede der Flächen der Referenzpunkte berechnet sind.
- 9 ist ein schematisches Blockdiagram einer Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung.
- 10 ist eine Ansicht, die ein Beispiel einer sichtbaren Punktwolke, die von der Position eines mobilen Körpers beobachtet wird, darstellt.
- 11 ist eine Ansicht, die Ähnlichkeitsgrade zwischen Histogrammen darstellt, die für jeden der überlappenden Modi zwischen einem regelmäßigen n-Flächner, der auf dem Referenzpunkt zentriert ist, und einem regelmäßigen n-Flächner, der auf der Position des mobilen Körpers zentriert ist, berechnet werden.
- 12 ist ein Blockdiagramm, das eine schematische Konfiguration eines Computers darstellt, der als eine Datenbank-Erzeugungsvorrichtung gemäß der vorliegenden Ausführungsform funktioniert.
- 13 ist ein Blockdiagramm, das eine schematische Konfiguration eines Computers darstellt, der als eine Steuereinheit der Informationsverarbeitungsvorrichtung gemäß der vorliegenden Ausführungsform funktioniert.
- 14 ist ein Flussdiagramm, das ein Beispiel einer Datenbank-Erzeugungsverarbeitung in der vorliegenden Ausführungsform darstellt.
- 15 ist ein Flussdiagramm, das ein Beispiel einer Informationsverarbeitung in der vorliegenden Ausführungsform darstellt.
- 16 ist ein Flussdiagramm, das ein Beispiel einer Spezifizierungsverarbeitung in der vorliegenden Ausführungsform darstellt.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Nachfolgend wird ein Beispiel einer Ausführungsform der vorliegenden Technologie mit Bezug auf die Figuren in Detail beschrieben.
-
<Datenbank-Erzeugungsvorrichtung>
-
Eine in 1 dargestellte Datenbank-Erzeugungsvorrichtung 10 erzeugt eine Datenbank, die eine Vielzahl von Kombinationen von Referenzpunkten in einem mobilen Raum eines mobilen Körpers und Merkmalsmengen gemäß der Position der Referenzpunkte registriert hat, basierend auf einer Vielzahl von Elementen von vorher erhaltenen dreidimensionalen Punktdaten. Wie in 1 dargestellt, beinhaltet die Datenbank-Erzeugungsvorrichtung 10 eine Punktwolken-Speichereinheit 12, eine Referenzpunkt-Extrahiereinheit 14, eine Beobachtungspunktwolken-Extrahiereinheit 16, eine Merkmalsmengen-Berechnungseinheit 18 und eine Merkmalsmengen-Datenbank 20.
-
Die Punktwolken-Speichereinheit 12 speichert eine Vielzahl von Elementen von vorher erhaltenen dreidimensionalen Punktdaten. Zum Beispiel sind die dreidimensionalen Punktdaten, wie in 2 dargestellt, in Form einer Tabelle in Verbindung miteinander abgespeichert, die eine ID darstellende Identifikationsinformation von dreidimensionalen Punktwolkendaten beinhaltet und dreidimensionale Punktdaten beinhaltet, die jeden der Punkte, die in den dreidimensionalen Punktwolkendaten beinhaltet sind, darstellen. Zum Beispiel stellen die dreidimensionalen Punktwolkendaten „(q1, r1, s1), (q2, r2, s2), ..., (qx, rx, sx)“ von ID = 000001, in 2 dargestellt, dar, dass die Daten jeden der Punkte (q1, r1, s1), (q2, r2, s2), ..., (qx, rx, sx) beinhaltet. Jeder der „(q1, r1, s1)“, „(q2, r2, s2)“, ..., „(qx, rx, sx)“ stellt auch dreidimensionale Positionskoordinaten von jedem der Punkte dar.
-
Die Punktwolkenspeichereinheit 12 speichert eine Modellpunktwolke, die eine High-Definition Karte (HD-Karte) ist, die eine Vielzahl von Elementen von hochauflösenden dreidimensionalen Punktdaten, die von einem Sensor, wie zum Beispiel Light Detection and Ranging (LiDAR), erhalten werden, darstellt. Die in der Punktwolkenspeichereinheit 12 gespeicherte Modellpunktwolke wird zum Beispiel von einem auf einem mobilen Körper montierten Sensor erhalten. Zum Beispiel wird eine Modellpunktwolke von dem auf dem mobilen Körper montierten Sensor erhalten, wenn der mobile Körper sich auf einem Kurs bewegt.
-
3 zeigt eine Modelpunktwolke X, die ein Beispiel einer Vielzahl von Elementen von dreidimensionalen Punktdaten, die in der Punktwolkenspeichereinheit 12 gespeichert sind, darstellt, und eine Datenpunktwolke Y an, die ein Beispiel einer Vielzahl von Elementen von dreidimensionalen Punktdaten, die von einem Sensor einer unten beschriebenen Informationsverarbeitungsvorrichtung erhalten werde, darstellt.
-
Die Modellpunktwolke X sind hochauflösende Punktwolkendaten, die von einem Sensor, wie zum Beispiel LiDAR, erhalten werden, und werden als Kartendaten verwendet. Im Gegensatz wird die Datenpunktwolke Y von einem Sensor, wie zum Beispiel einem Laser-Entfernungsmesser (LRF), erhalten. Die Datenpunktwolke Y, die von einem Sensor, wie zum Beispiel LRF, erhalten wird, sind Punktwolkendaten mit niedrigerer Dichte als die Modellpunktwolke X, die von einem Sensor, wie zum Beispiel LiDAR, erhalten wird. In einem Fall, in dem die Modellpunktwolke X als Kartendaten gespeichert ist und die Datenpunktwolke Y von dem Sensor des mobilen Körpers erhalten wird, besteht die Notwendigkeit, die Modellpunktwolke X zu der Datenpunktwolke Y zum Zeitpunkt der Schätzung der Position des mobilen Körpers zuzuordnen. In einem Fall, in dem ein Dichteunterschied in dreidimensionalen Punktdaten zwischen der Modellpunktwolke X der Kartendaten und der von dem Sensor erhaltene Datenpunktwolke Y vorliegt, wäre das Durchführen der Zuordnung jedoch schwierig.
-
In der Ausrichtung von dreidimensionalen Punktwolkendaten wird zum Beispiel eine Vielzahl von Elementen von repräsentativen dreidimensionalen Punktdaten, die eine charakteristische dreidimensionale Form darstellen, aus einer Vielzahl von Elementen von dreidimensionalen Punktdaten als ein Merkmalspunkt erfasst. Als nächstes werden für jeden der Merkmalspunkte dreidimensionale Koordinaten und normale Informationen von dreidimensionalen Punktdaten, die in der Nähe des Merkmalspunkts vorhanden sind, verwendet, um eine Merkmalsmenge zu beschreiben, die sich auf eine dreidimensionale Form (zum Beispiel Krümmung) in der Nähe des Merkmalspunkts bezieht. Es besteht jedoch die Notwendigkeit, dreidimensionale Punktdaten von ausreichender Dichte zu gewährleisten, um eine dreidimensionale Form in der Nähe des Merkmalspunkts auszudrücken, und somit wäre es in einem Fall, in dem die dreidimensionalen Punktwolkendaten eine niedrige Dichte haben, nicht möglich, eine korrekte Merkmalsmenge zu beschreiben, was zur Verschlechterung der Ausrichtungsgenauigkeit zwischen den Elementen von dreidimensionalen Punktwolkendaten führt.
-
Um dies zu überwinden, zielt die vorliegende Ausführungsform darauf ab, die Verschlechterung der Ausrichtungsgenauigkeit auf Grund des Unterschieds in der Dichte der dreidimensionalen Punktwolkendaten zu vermeiden, und extrahiert in der Modellpunktwolke Referenzpunkte, die für die Zuordnung mit der Position des mobilen Körpers benutzt werden sollen, von jedem der Punkte in einem Raum, in dem der mobile Körper beweglich ist. Nachfolgend wird die Referenzpunkt-Extrahiereinheit 14, die die Referenzpunkte extrahiert, in Detail beschrieben.
-
Basierend auf der in der Punktwolken-Speichereinheit 12 gespeicherten Modellpunktwolke, berechnet die Referenzpunkt-Extrahiereinheit 14 die Distanz zwischen einem Punkt in einem Raum, in dem der mobile Körper beweglich ist, und jedem der dreidimensionalen Punkte, die durch die Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Punkt in dem Raum beobachtet werden, angegeben werden, für jeden der Punkte in dem Raum. Anschließend extrahiert die Referenzpunkt-Extrahiereinheit 14 einen Referenzpunkt in einem mobilen Raum des mobilen Körpers aus einer Vielzahl von Punkten in dem Raum, in dem der mobile Körper beweglich ist, in Übereinstimmung mit der Distanz zwischen dem Punkt und jedem der dreidimensionalen Punkte, die durch die Vielzahl von Elementen von dreidimensionalen Punktdaten angegeben werden, die für jeden der Punkte berechnet ist.
-
4 stellt eine Ansicht dar, die eine Extrahierung von Referenzpunkten darstellt. Aus Gründen der Vereinfachung der Beschreibung stellt 4 den dreidimensionalen Raum als einen zweidimensionalen Raum dar.
-
Die Referenzpunkt-Extrahiereinheit 14, wie in 4 dargestellt, unterteilt zum Beispiel einen dreidimensionalen Raum 21, der die in der Punktwolken-Speichereinheit 12 gespeicherte Modellpunktwolke beinhaltet, in eine vorbestimmte Anzahl von Voxel und erzeugt ein Voxel-Gitter. Die Modellpunktwolke beinhaltet eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die dreidimensionale Positionskoordinaten von jedem von einer Vielzahl von Punkten auf der Oberfläche des Objekts 22, das in dem dreidimensionalen Raum 21 vorhanden ist, angeben. Anschließend weist die Referenzpunkt-Extrahiereinheit 14, wie in 4 dargestellt, eine Distanz von dem Voxel zu einem dreidimensionalen Punkt, der durch die nächsten dreidimensionalen Punktdaten angegeben werden, jedem der Voxel des Voxel-Gitters zu, wodurch ein Distanzfeld (DF) 23 erzeugt wird. Bei der Erzeugung des DF 23 kann die Referenzpunkt-Extrahiereinheit 14 den schnellen Voxel-Traversal-Algorithmus oder dergleichen verwenden, um die Distanz von dem Voxel zu dem nächsten dreidimensionalen Punkt zu berechnen. In dem in 4 dargestellten DF 23 wird die Darstellung des Voxels umso dunkler, je kürzer die Distanz von dem Voxel zum nächsten dreidimensionalen Punkt ist.
-
Als nächstes vergleicht die Referenzpunkt-Extrahiereinheit 14 für jeden der Voxel des DF 23 den Wert der Distanz, der dem Voxel zugeordnet ist, mit dem Wert der Distanz, der den Voxeln um den Voxel herum zugeordnet ist, und bestimmt, ob der Distanzwert, der dem Voxel zugeordnet ist, ein lokales Maximum ist. Es ist zu beachten, dass der umgebende Voxelbereich, der für die Bestimmung verwendet wird, vorab gesetzt ist.
-
Basierend auf dem Bestimmungsergebnis des lokalen Maximums setzt die Referenzpunkt-Extrahiereinheit 14 einen Voxel mit einem Distanzwert eines vorbestimmten Grenzwerts oder mehr unter den Voxeln, denen der als lokales Maximum bestimmte Entfernungswert zugeordnet ist, als ein Referenzvoxel. In 4 sind die Voxel, die einen Kreis beinhalten, Referenzvoxel. Anschließend extrahiert die Referenzpunkt-Extrahiereinheit 14, wie in 4 dargestellt, die Mittelpunktkoordinaten des gesetzten Referenzvoxels als einen Referenzpunkt 24.
-
Die Beobachtungspunktwolken-Extrahiereinheit 16 extrahiert jedes der Voxel, die von den Referenzpunkten beobachtet werden, basierend auf der in der Punktwolken-Speichereinheit 12 gespeicherten Modellpunktwolke für jeden der durch die Referenzpunkt-Extrahiereinheit 14 extrahieren Referenzpunkte. Zum Beispiel kann das Voxel, in einem Fall, in dem ein Voxel, das an ein Referenzvoxel angrenzt, sequentiell in eine bestimmte Richtung verfolgt wird und ein Voxel einschließlich eines dreidimensionalen Punkts, der das Objekt 22 angibt, erreicht wird, als ein Voxel definiert sein, das von dem Referenzpunkt beobachtet wird. Anschließend setzt die Beobachtungspunktwolken-Extrahiereinheit 16 für jedes der extrahierten Voxel einen dreidimensionalen Punkt, der innerhalb des Voxel vorhanden ist, als eine sichtbare Punktwolke, zu jedem der Referenzpunkte. Zum Beispiel setzt die Beobachtungspunktwolken-Extrahiereinheit 16, wie in 5 dargestellt, dreidimensionale Punkte, die durch eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Referenzpunkt 25 beobachtet werden, angegeben werden, als eine sichtbare Punktwolke 26.
-
Die Merkmalsmengen-Berechnungseinheit 18 berechnet für jeden der durch die Referenzpunkt-Extrahiereinheit 14 extrahierten Referenzpunkte eine Merkmalsmenge hinsichtlich der Form des sichtbaren Raums, der von der Position des Referenzpunkts beobachtet wird, in Übereinstimmung mit der Distanz zwischen dem Referenzpunkt und jedem der dreidimensionalen Punkte, die durch eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die in der sichtbaren Punktwolke beinhaltet sind, angegeben werden. Anschließend registriert die Merkmalsmengen-Berechnungseinheit 18 für jeden der Referenzpunkte eine Kombination des Referenzpunkts und der für den Referenzpunkt berechneten Merkmalsmenge in die Merkmalsmengen-Datenbank 20.
-
Insbesondere berechnet die Merkmalsmengen-Berechnungseinheit 18 für jeden Referenzpunkt ein Histogramm für jede der Beobachtungsrichtungen von dem Referenzpunkt als eine Merkmalsmenge. Das Histogramm für die Beobachtungsrichtung stellt eine Frequenz der dreidimensionalen Punkte dar, die in der Beobachtungsrichtung vorhanden sind, die jede der Distanzen zwischen der Position des Referenzpunkts und den durch die dreidimensionalen Punktdaten angegebenen dreidimensionalen Punkten entspricht.
-
Die Merkmalsmengen der vorliegenden Ausführungsform wird unten in Detail beschrieben.
-
Eine Merkmalsmenge eines spezifischen Referenzpunkts Pr wird, wie in 6 dargestellt, beschrieben. Zuerst setzt die Merkmalsmengen-Berechnungseinheit 18, wie in 6 dargestellt, ein regelmäßigen n-Flächner, der auf dem Referenzpunkt Pr zentriert ist. Anschließend setzt die Merkmalsmengen-Berechnungseinheit 18 die Koordinaten des Referenzpunkts Pr und des regelmäßigen n-Flächners, sodass die entsprechenden Achsen des xyz Koordinatensystems der sichtbaren Punktwolke und des Koordinatensystems des Referenzpunkts Pr und des regelmäigen n-Flächners parallel zueinander werden.
-
Als nächstes weist die Merkmalsmengen-Berechnungseinheit 18, wie in 6 dargestellt, einen Index i zu jede der Flächen des regelmäßigen n-Flächners in einer vorbestimmten Reihenfolge zu und legt die Beobachtungsrichtung fest, die jede der Flächen Si (i = 1, ..., n) des regelmäßgen n-Flächners entspricht.
-
Anschließend berechnet die Merkmalsmengen-Berechnungseinheit
18 als eine Merkmalsmenge ein Histogramm von dreidimensionalen Punktdaten einer sichtbaren Punktwolke, die in der Beobachtungsrichtung vorhanden ist, die jede der Flächen
Si des regelmäßigen n-Flächners entspricht, von dem Referenzpunkt
Pr . Zum Beispiel stimmt die Merkmalsmengen-Berechnungseinheit
18, wie in
6 dargestellt, für eine Klasse der Distanz, die einer sichtbaren Tiefe d, die eine Distanz zu einem sichtbaren Punkt
Pv entspricht, der dreidimensionale Punktdaten auf dem Histogramm der Fläche
Si darstellt, die eine Sichtlinie r vom Referenzpunkt
Pr zum sichtbaren Punkt
Pv schneidet. Die sichtbare Tiefe d wird durch die folgende Formel (1) berechnet.
-
Zum Beispiel erzeugt die Merkmalsmengen-Berechnungseinheit 18, wie in 7 dargestellt, ein Histogramm von jeder der Flächen eines regelmäßigen n-Flächners als eine Merkmalsmenge. Zum Beispiel stellt das Histogramm 27, das in 7 dargestellt ist, das Histogramm dar, das für die Fläche S1 des regelmäßigen n-Flächners berechnet ist, während Histogramm 28 das Histogramm darstellt, das für eine Fläche S2 des regelmäßigen n-Flächners berechnet ist. Die horizontale Achse des Histogramms stellt die sichtbare Tiefe d dar und die vertikale Achse stellt die Frequenz dar. Außerdem normalisiert die Merkmalsmengen-Berechnungseinheit 18 das Histogramm jeder der Flächen, sodass die Summe jeder der Klassen des Histogramms 1 ist.
-
Anschließend registriert die Merkmalsmengen-Berechnungseinheit 18 für jeden der Referenzpunkte, in der Merkmalsmengen-Datenbank 20, eine Kombination des Referenzpunkts und des Histogramms, das für jede der Flächen des regelmäßigen n-Flächners berechnet ist, der auf der Position des Referenzpunkts zentriert ist.
-
Die Merkmalsmengen-Datenbank 20 registriert für jeden der Referenzpunkte Kombinationen von Referenzpunkten und Histogrammen von jeder der Flächen des regelmäßigen n-Flächners, der für die Referenzpunkte berechnet ist, die von der Merkmalsmengen-Berechnungseinheit 18 erhalten sind. Die Kombinationen der Referenzpunkte und der Histogramme, die für jede der Flächen des regelmäßigen n-Flächners, der auf der Position des Referenzpunkts zentriert ist, berechnet sind, sind zum Beispiel in Form einer Tabelle gespeichert, wie in 8 dargestellt. In dem in 8 dargestellten Beispiel sind eine Referenzpunkt-ID, die Identifikationsinformationen zum Identifizieren eines Referenzpunkts darstellt, ein dreidimensionale Position des Referenzpunkts und ein Index, der Identifikationsinformationen einer Fläche eines regelmäßigen n-Flächners, der an dem Referenzpunkt gesetzt ist, darstellt, und ein Histogramm in Verbindung miteinander gespeichert. Eine Referenzpunkt-ID „000001“ ist zum Beispiel mit der dreidimensionalen Position (q1, r1, s1) des Referenzpunkts verbunden und ist mit den Indizes 1, ..., n verbunden, die jede der Flächen des regelmäßigen n-Flächners darstellen. Anschließend ist ein Vektor (0,1; 0,3; ...), der ein Histogramm darstellt, mit einem Index „1“ verbunden, der eine Fläche eines regelmäßigen n-Flächners einer Referenzpunkt-ID „000001“ darstellt.
-
<Informationsverarbeitungsvorrichtung>
-
Die Informationsverarbeitungsvorrichtung 30 beinhaltet einen Sensor 32 und eine Steuereinheit 34, wie in 9 dargestellt. Der Sensor 32 ist ein Beispiel einer Beobachtungseinheit der offenbarten Technologie. Die Informationsverarbeitungsvorrichtung 30 ist auf einem mobilen Körper montiert.
-
Der Sensor 32 ist auf einem mobilen Körper montiert und beobachtet sequentiell eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die die dreidimensionale Position jedes der Punkte auf einer Oberfläche eines Objekts um den mobilen Körper herum angeben. Der Sensor 32 ist zum Beispiel durch einen LRF implementiert, der in der Lage ist, dreidimensionale Punktdaten zu erfassen. Beispiele eines mobilen Körpers beinhalten ein Automobil und einen Roboter.
-
Die Steuereinheit 34 verbindet den in der Merkmalsmengen-Datenbank gespeicherten Referenzpunkt und die Position des mobilen Körpers basierend auf der Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Sensor 32 beobachtet werden, und der von der Datenbank-Erzeugungsvorrichtung 10 erzeugten Merkmalsmengen-Datenbank. Wie in 9 dargestellt, beinhaltet die Steuereinheit 34 eine Informationserlangungseinheit 36, eine Positions- und Orientierungsschätzungseinheit 38, eine Merkmalsmengen-Berechnungseinheit 40, eine Merkmalsmengen-Datenbank 42, eine Spezifizierungseinheit 44, eine Punktwolken-Speichereinheit 45, eine Ausrichtungseinheit 46 und eine Ausgabeeinheit 48. Die Informationserlangungseinheit 36 ist ein Beispiel einer Erlangungseinheit der offenbarten Technologie.
-
Die Informationserlangungseinheit 36 erhält sequentiell eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Sensor 32 beobachtet werden, als eine Datenpunktwolke.
-
Die Positions- und Orientierungsschätzungseinheit 38 schätzt die Position des mobilen Körpers und die Orientierung des mobilen Körpers basierend auf der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke. Zum Beispiel schätzt die Positions- und Orientierungsschätzungseinheit 38 die Position des mobilen Körpers und die Orientierung des mobilen Körpers mit Hilfe von gleichzeitiger Lokalisierung und Kartografierung (engl. „Simultaneous Localization and Mapping“, SLAM) basierend auf der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke.
-
Die Merkmalsmengen-Berechnungseinheit 40 berechnet die Merkmalsmenge im Hinblick auf die Form des sichtbaren Raums, die von der Position des mobilen Körpers beobachtet wird, basierend auf der Position des mobilen Körpers, die von der Positions- und Orientierungsschätzungseinheit 38 geschätzt ist, und der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke. Die Merkmalsmengen-Berechnungseinheit 40 berechnet eine Merkmalsmenge durch die Verarbeitung ähnlich zu der Verarbeitung, die von der Merkmalsmengen-Berechnungseinheit 18 der Datenbank-Erzeugungsvorrichtung 10 durchgeführt wird. Insbesondere berechnet die Merkmalsmengen-Berechnungseinheit 40 ein Histogramm als ein Beispiel einer Merkmalsmenge im Hinblick auf die Form des sichtbaren Raums, der der Position des mobile Körpers und der Distanz von der Position des mobilen Körpers zu jedem der dreidimensionalen Punkte entspricht, die durch die Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Sensor 32 beobachtet werden, angegeben werden.
-
Insbesondere setzt die Merkmalsmengen-Berechnungseinheit 40, ähnlich zu der Merkmalsmengen-Berechnungseinheit 10 der Datenbank-Erzeugungsvorrichtung 10, zuerst einen regelmäßigen n-Flächner, der auf der Position des mobilen Körpers, die durch die Positions- und Orientierungsschätzungseinheit 38 geschätzt ist, zentriert ist. Als nächstes ordnet die Merkmalsmengen-Berechnungseinheit 40 einen Index i zu jeder der Flächen des regelmäßigen n-Flächners in einer vorbestimmten Reihenfolge zu und setzt eine sichtbare Punktwolke, die in einer Beobachtungsrichtung vorhanden ist, die jede der Flächen Si des regelmäßigen n-Flächners von der Position des mobilen Körpers entspricht. Außerdem berechnet die Merkmalsmengen-Berechnungseinheit 40 für jede der Flächen Si ein Histogramm von dreidimensionalen Punktdaten von sichtbaren Punktwolken, die in der Beobachtungsrichtung vorhanden sind, die der Fläche Si des regelmäßigen n-Flächners entspricht, als eine Merkmalsmenge. Anschließend normalisiert die Merkmalsmengen-Berechnungseinheit 18 jedes der Histogramme, die für jede der Flächen des regelmäßigen n-Flächners berechnet sind, sodass die Summe jeder der Klassen des Histogramms 1 ist. Es ist zu beachten, dass eine sichtbare Punktwolke 26D, wie in 10 dargestellt, zum Beispiel von der Merkmalsmengen-Berechnungseinheit 40 gesetzt wird. Wie in 10 dargestellt, ist die sichtbare Punktwolke 26D, die von einer Position 25D des mobilen Körpers beobachtbar ist, eine Punktwolke mit niedriger Dichte als der Fall der sichtbaren Punktwolke 26, die in 5 dargestellt ist.
-
In der vorliegenden Ausführungsform stellt das Histogramm, das für jede der Flächen des regelmäßigen n-Flächners berechnet ist, die Form des sichtbaren Raums dar, der von der Position des Referenzpunkts oder der Position des mobilen Körpers beobachtet wird. Zum Beispiel ist ein Histogramm, das basierend auf der von dem Referenzpunkt 25 beobachteten sichtbaren Punktwolke 26 in 5 berechnet ist, ähnlich zu einem Histogramm, das basierend auf der sichtbaren Punktwolke 26D, die von der Position 25D des mobilen Körpers in 10 wie oben beschrieben beobachtet wird, berechnet ist. Somit ist es möglich, die Position des mobilen Körpers mit dem Referenzpunkt auch in einem Fall zuzuordnen, in dem die dreidimensionalen Punktwolken verschiedene Dichten haben.
-
Die Merkmalsmengen-Datenbank 42 speichert die gleichen Informationen wie die Informationen, die in der Merkmalsmengen-Datenbank 20, die zuvor von der Datenbank-Erzeugungsvorrichtung 10 erzeugt worden ist, gespeichert sind. Insbesondere wird eine Kombination des Referenzpunkts und des Histogramms registriert, das für jede der Flächen eines regelmäßigen n-Flächners, der auf der Position des Referenzpunkts für jeden der Referenzpunkte zentriert ist, berechnet ist, vorab von der Datenbank-Erzeugungsvorrichtung 10 erzeugt. In dem Histogramm von jeder der Flächen eines regelmäßigen n-Flächners, der auf der Position des Referenzpunkts zentriert ist, wird die Fläche, in der alle der Klassenelemente des Histogramms 0 sind, als eine unbeobachtet Fläche definiert und wird somit eine Maske für diese Fläche gesetzt, um nicht zu erlauben, dass diese Fläche für die Berechnung des Ähnlichkeitsgrads verwendet wird.
-
Die Spezifizierungseinheit 44 spezifiziert den Referenzpunkt, der der Position des mobilen Körpers entspricht, aus der Vielzahl von Referenzpunkten, die in der Merkmalsmengen-Datenbank 42 registriert sind, basierend auf dem Histogramm von jeder der Flächen des regelmäßigen n-Flächners, der auf der Position des mobilen Körpers zentriert ist, berechnet von der Merkmalsmengen-Berechnungseinheit 40.
-
Im Folgenden wird die Zuordnung des Histogramms jeder der Flächen des regelmäßigen n-Flächners, der auf der Position des mobilen Körpers zentriert ist, die von der Merkmalsmengen-Berechnungseinheit 40 berechnet wird, mit dem Histogramm jeder der Flächen des regelmäßigen n-Flächners, der auf jedem der Referenzpunkte zentriert ist, die in der Merkmalsmengen-Datenback 42 registriert ist, beschrieben.
-
Insbesondere berechnet die Spezifizierungseinheit 44 für jeden der Referenzpunkte den Ähnlichkeitsgrad zwischen den Histogrammen jeder der Flächen in Bezug auf jeden der überlappenden Modi zwischen dem regelmäßigen n-Flächner, der auf der Position des mobilen Körpers zentriert ist, und dem regelmäßigen n-Flächner, der auf jedem der Referenzpunkte zentriert ist, der erhalten wird durch Rotieren des regelmäßigen n-Flächners, der auf der Position des mobilen Körpers zentriert ist. Anschließend spezifiziert die Spezifizierungseinheit 44 den Referenzpunkt, der der Position des mobilen Körpers entspricht, basierend auf der größten Summe der Ähnlichkeitsgrade aus der Summe der Ähnlichkeiten zwischen den Histogrammen von jeder der Flächen, berechnet für jede Kombination der Referenzpunkte und der überlappenden Modi. In dem Histogramm für jede der Flächen, die der Position des mobilen Körpers entsprechen, definiert die Spezifizierungseinheit 44 die Fläche, in der alle der Klassenelemente des Histogramms 0 sind, als eine unbeobachtet Fläche und wird somit eine Maske für diese Fläche gesetzt, um nicht zu erlauben, dass diese Fläche für die Berechnung des Ähnlichkeitsgrads verwendet wird.
-
11 ist eine Ansicht, die ein Verfahren zum Berechnen des Ähnlichkeitsgrads zwischen Histogrammen darstellt. Die Merkmalsmengen-Datenbank 42, die in 11 dargestellt ist, speichert für jeden der Referenzpunkte ein Histogramm, das für jede der Flächen eines regelmäßigen n-Flächners, der auf der Position des Referenzpunkts zentriert ist.
-
Zum Beispiel, wie in 11 dargestellt, wählt die Spezifizierungseinheit 44 einen Referenzpunkt M aus jeden der Referenzpunkte aus, die in der Merkmalsmengen-Datenbank 42 registriert sind. Anschließend berechnet die Spezifizierungseinheit 44 den Ähnlichkeitsgrad zwischen den Histogrammen von jeder der Flächen für alle überlappenden Modi zwischen einem regelmäßigen n-Flächner PM , der auf dem Referenzpunkt M zentriert ist, und einem regelmäßigen n-Flächner PD , der auf einer Position D des mobilen Körpers zentriert ist, zum Zeitpunkt der Rotation des regelmäßigen n-Flächners PD . Der überlappende Zustand zwischen den regelmäßigen n-Flächnern bedeutet ein Zustand, in dem individuelle Flächen von jedem der regelmäßigen n-Flächner so konzipiert sind, dass sie unabhängig vom Index jeder der Flächen zusammenpassen.
-
Zum Beispiel, wie in 11 dargestellt, berechnet die Spezifizierungseinheit 44 den Ähnlichkeitsgrad eines Histogramms der Fläche S1 des regelmäßigen n-Flächners PM , der auf dem Referenzpunkt M zentriert ist, und die Fläche S1 des regelmäßigen n-Flächners PD , der auf der Position D des mobilen Körpers zentriert ist. Zum Beispiel kann eine Distanz zwischen den Vektoren als den Ähnlichkeitsgrad zwischen Histogrammen benutzt werden. Zusätzlich, wie in 11 dargestellt, berechnet die Spezifizierungseinheit 44 den Ähnlichkeitsgrad eines Histogramms einer Fläche S2 des regelmäßigen n-Flächners PM , der auf dem Referenzpunkt M zentriert ist, und einer Fläche S2 des regelmäßigen n-Flächners PD , der auf der Position D des mobilen Körpers zentriert ist. Darüber hinaus, wie in 11 dargestellt, berechnet die Spezifizierungseinheit 44 den Ähnlichkeitsgrad eines Histogramms einer Fläche S3 des regelmäßigen n-Flächners PM , der auf dem Referenzpunkt M zentriert ist, und einer Fläche S3 des regelmäßigen n-Flächners PD , der auf der Position D des mobilen Körpers zentriert ist. Anschließend berechnet die Spezifizierungseinheit 44 die Summe der Ähnlichkeitsgrade zwischen den Histogrammen von jeder der Flächen. In dem Histogramm von jeder der Flächen, die der Position des mobilen Körpers entsprechen, setzt die Spezifizierungseinheit 44 eine Maske Mk für jede Fläche, in der alle Klassenelemente des Histogramms 0 sind.
-
Als nächstes rotiert die Spezifizierungseinheit 44, wie in 11 dargestellt, den regelmäßigen n-Flächners PD , der auf der Position D des mobilen Körpers zentriert ist, und berechnet den Ähnlichkeitsgrad zwischen dem Histogramm von jeder der Flächen eines regelmäßigen n-Flächners PD', der als Ergebnis der Rotation erhalten wird, und dem Histogramm von jeder der Flächen des regelmäßigen n-Flächners PM , der auf dem ausgewählten Referenzpunkt M zentriert ist. Zum Beispiel, wie in 11 dargestellt, berechnet die Spezifizierungseinheit 44 den Ähnlichkeitsgrad zwischen dem Histogramm der Fläche S1 des regelmäßigen n-Flächners PM , der auf dem ausgewählten Referenzpunkt M zentriert ist, , und der Fläche S1 des regelmäßigen n-Flächners PD', der als Ergebnis der Rotation erhalten wird. Außerdem berechnet die Spezifizierungseinheit 44, wie in 11 dargestellt, den Ähnlichkeitsgrad zwischen dem Histogramm der Fläche S2 des regelmäßigen n-Flächners PM , der auf dem ausgewählten Referenzpunkt M zentriert ist, und der Fläche Sr des regelmäßigen n-Flächners PD', der als Ergebnis der Rotation erhalten wird. Außerdem berechnet die Spezifizierungseinheit 44, wie in 11 dargestellt, den Ähnlichkeitsgrad zwischen dem Histogramm der Fläche S3 des regelmäßigen n-Flächners PM , der auf dem ausgewählten Referenzpunkt M zentriert ist, und der Fläche S2 des regelmäßigen n-Flächners PD', der als Ergebnis der Rotation erhalten wird. Anschließend berechnet die Spezifizierungseinheit 44 die Summe der Ähnlichkeitsgrade zwischen den Histogrammen von jeder der Flächen.
-
Die Spezifizierungseinheit 44 berechnet die Summe der Ähnlichkeitsgrade zwischen den Histogrammen, die für jede der Flächen berechnet ist, in Hinsicht auf alle überlappenden Modi, für jeden der Referenzpunkte, die in der Merkmalsmengen-Datenbank 42 registriert sind.
-
Die Spezifizierungseinheit 44 wählt die größte Summe der Ähnlichkeitsgrade aus jeder Summe der Ähnlichkeitsgrade aus, die für alle Kombination von jedem der Referenzpunkte und jedem der überlappenden Modi berechnet sind. Anschließend bestimmt die Spezifizierungseinheit 44, in einem Fall, in dem die größte Summe der Ähnlichkeitsgrade ein vorab eingestellter Grenzwert oder mehr ist, dass der Referenzpunkt, der der größten Summe der Ähnlichkeitsgrade entspricht, und die Position des mobilen Körpers, die durch die Positions- und Orientierungsschätzeinheit 38 geschätzt ist, einander entsprechen. Außerdem gibt die Spezifizierungseinheit 44 die Rotation des regelmäßigen n-Flächners PD aus, die der größten Summe des Ähnlichkeitsgrads entspricht.
-
Die Punktwolken-Speichereinheit 45 speichert eine Modellpunktwolke, die die gleiche Information ist wie der Fall der Punktwolken-Speichereinheit 12 der Datenbank-Erzeugungsvorrichtung 10.
-
Die Ausrichtungseinheit 46 schätzt eine Koordinatentransformation zwischen dem Koordinatensystem der von der Positions- und Orientierungsschätzeinheit 38 geschätzten Position des mobilen Körpers und dem Koordinatensystem der Modellpunktwolke der Punktwolken-Speichereinheit 45 in Übereinstimmung mit dem von der Spezifizierungseinheit 44 erhaltenen Referenzpunkt und der Rotation des regelmäßigen n-Flächners PD . Eine relative Koordinatentransformation wird durch Ausführen einer dreidimensionalen Punktausrichtung (Identifizierung von Position und Orientierung des mobilen Körpers) zwischen der an der Position des mobilen Körpers erhaltenen Datenpunktwolke und der in der Punktwolken-Speichereinheit 45 gespeicherten Modellpunktwolke geschätzt.
-
Anschließend benutzt die Ausrichtungseinheit 46, basierend auf der geschätzten Koordinatentransformation, zum Beispiel den Iterativen Nächsten Punkt (ICP) und schätzt spezifischere Koordinatentransformationen, um eine Anpassung zwischen der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke und der Modellpunktwolke der Punktwolken-Speichereinheit 45 zu erreichen.
-
Die Ausgabeeinheit 48 gibt Informationen bezüglich der von der Ausrichtungseinheit 46 geschätzten Koordinatentransformation als ein Ergebnis aus.
-
Die Datenbank-Erzeugungsvorrichtung 10 kann zum Beispiel durch einen Computer 50 implementiert sein, der in 12 dargestellt ist. Der Computer 50 beinhaltet eine CPU 51, einen Speicher 52 als ein temporärer Speicherbereich und eine nichtflüchtige Speichereinheit 53. Der Computer 50 beinhaltet zusätzlich: eine Eingabe/Ausgabe Interface (I/F) 54, die mit Eingabe/Ausgabe-Vorrichtungen (nicht dargestellt) verbunden ist, wie zum Beispiel einem Sensor, einer Anzeigevorrichtung und einer Eingabevorrichtung; und eine Lese/Schreibe (R/W) Einheit 55, die das Lesen und Schreiben von Daten von und in die Eingabe/Ausgabe Interface (I/F) 54 und ein Aufnahmemedium 59 steuert. Der Computer 50 beinhaltet auch eine Netzwerk I/F 56, die mit einem Netzwerk, wie zum Beispiel dem Internet, verbunden ist. Die CPU 51, der Speicher 52, die Speichereinheit 53, die Eingabe/Ausgabe I/F 54, die R/W Einheit 55 und die Netzwerk I/F 56 sind über einen Bus 57 miteinander verbunden.
-
Die Speichereinheit 53 kann durch ein Festplattenlaufwerk (HDD), ein Solid-State-Laufwerk (SSD), ein Flash-Speicher oder dergleichen implementiert sein. Die Speichereinheit 53 als ein Speichermedium speichert ein Datenbank-Erzeugungsprogramm 60 zum Verursachen, dass der Computer 50 als die Datenbank-Erzeugungsvorrichtung 10 funktioniert. Das Datenbank-Erzeugungsprogramm 60 beinhaltet einen Referenzpunkt-Extrahierprozess 62, einen Beobachtungspunktwolken-Extrahierprozess 63 und einen Merkmalsmengen-Berechnungsprozess 64. Außerdem beinhaltet die Speichereinheit 53 einen Punktwolken-Speicherbereich 66, der die Informationen speichert, die die Punktwolken-Speichereinheit 12 bilden. Die Speichereinheit 53 beinhaltet zusätzlich einen Merkmalsmengen-Speicherbereich 67, der Informationen speichert, die die Merkmalsmengen-Datenbank 20 bilden.
-
Die CPU 51 liest das Datenbank-Erzeugungsprogramm 60 von der Speichereinheit 53 aus und führt das Programm in den Speicher 52 ein und führt dann sequentiell die Prozesse, die in dem Datenbank-Erzeugungsprogramm 60 beinhaltet sind, aus. Die CPU 51 führt den Referenzpunkt-Extrahierprozess 62 aus und arbeitet dabei als die Referenzpunkt-Extrahiereinheit 14, die in 1 dargestellt ist. Die CPU 51 führt zusätzlich den Beobachtungspunktwolken-Extrahierprozess 63 aus und arbeitet dabei als die Beobachtungspunktwolken-Extrahiereinheit 16, die in 1 dargestellt ist. Die CPU 51 führt zusätzlich den Merkmalsmengen-Berechnungsprozess 64 aus und arbeitet dabei als die Merkmalsmengen-Berechnungseinheit 18, die in 1 dargestellt ist. Zusätzlich liest die CPU 51 die Informationen von dem Punktwolken-Speicherbereich 66 aus und führt die Punktwolken-Speichereinheit 12 in den Speicher 52 ein. Zusätzlich liest die CPU 51 die Informationen von dem Merkmalsmengen-Speicherbereich 67 und führt die Merkmalsmengen-Datenbank 20 in den Speicher 52 ein. Dies ermöglicht dem Computer 50, der das Datenbank-Erzeugungsprogramm 60 ausgeführt hat, als die Datenbank-Erzeugungsvorrichtung 10 zu funktionieren. Dementsprechend ist ein Prozessor, der das Datenbank-Erzeugungsprogramm 60, was Software ist, ausführt, als Hardware implementiert.
-
Die von dem Datenbank-Erzeugungsprogramm 60 implementierte Funktion kann auch durch eine integrierte Halbleiterschaltung implementiert sein, insbesondere zum Beispiel durch eine anwendungsspezifische integrierte Schaltung (ASIC) oder dergleichen.
-
Die Informationsverarbeitungsvorrichtung 30 kann zum Beispiel durch einen Computer 80 implementiert sein, der in 13 dargestellt ist. Der Computer 80 beinhaltet eine CPU 81, einen Speicher 82 als ein temporärer Speicherbereich und eine nichtflüchtige Speichereinheit 83. Der Computer 80 beinhaltet zusätzlich: eine Eingabe/Ausgabe Interface (I/F) 84, die mit Eingabe/Ausgabe-Vorrichtungen (nicht dargestellt) verbunden ist, wie zum Beispiel der Sensor 32, einer Anzeigevorrichtung und einer Eingabevorrichtung; und eine Lese/Schreibe (R/W) Einheit 85, die das Lesen und Schreiben von Daten von und in die Eingabe/Ausgabe Interface (I/F) 84 und ein Aufnahmemedium 89 steuert. Der Computer 80 beinhaltet auch eine Netzwerk I/F 86, die mit einem Netzwerk, wie zum Beispiel dem Internet, verbunden ist. Die CPU 81, der Speicher 82, die Speichereinheit 83, die Eingabe/Ausgabe I/F 84, die R/W Einheit 85 und die Netzwerk I/F 86 sind über einen Bus 87 miteinander verbunden.
-
Die Speichereinheit 83 kann durch ein Festplattenlaufwerk (HDD), ein Solid-State-Laufwerk (SSD), ein Flash-Speicher oder dergleichen implementiert sein. Die Speichereinheit 83 als ein Speichermedium speichert ein Informationsverarbeitungsprogramm 90 zum Verursachen, dass der Computer 80 als die Informationsverarbeitungsvorrichtung 30 funktioniert. Das Informationsverarbeitungsprogramm 90 beinhaltet einen Informationserlangungsprozess 92, einen Positions- und Orientierungsschätzprozess 93, einen Merkmalsmengen-Berechnungsprozess 94, einen Spezifizierungsprozess 95, einen Ausrichtungsprozess 96 und einen Ausgabeprozess 97. Die Speichereinheit 83 beinhaltet einen Merkmalsmengen-Speicherbereich 98, der Informationen speichert, die die Merkmalsmengen-Datenbank 42 bilden. Die Speichereinheit 83 beinhaltet zusätzlich einen Punktwolken-Speicherbereich 99, der die Informationen speichert, die die Punktwolken-Speichereinheit 45 bilden.
-
Die CPU 81 liest das Informationsverarbeitungsprogramm 90 von der Speichereinheit 83 aus, erweitert das Programm in den Speicher 82 und führt sequentiell die Prozesse, die in dem Informationsverarbeitungsprogramm 90 beinhaltet sind, aus. Die CPU 81 führt den Informationserlangungsprozess 92 aus und arbeitet dabei als die Informationserlangungseinheit 36, die in 9 dargestellt ist. Die CPU 51 führt zusätzlich den Positions- und Orientierungsschätzprozess 93 aus und arbeitet dabei als die Positions- und Orientierungsschätzeinheit 38, die in 9 dargestellt ist. Die CPU 81 führt zusätzlich den Merkmalsmengen-Berechnungsprozess 94 aus und arbeitet dabei als die Merkmalsmengen-Berechnungseinheit 40, die in 9 dargestellt ist. Die CPU 81 führt zusätzlich den Spezifizierungsprozess 95 aus und arbeitet dabei als die Spezifizierungseinheit 44, die in 9 dargestellt ist. Die CPU 81 führt zusätzlich den Ausrichtungsprozess 96 aus und arbeitet dabei als die Ausrichtungseinheit 46, die in 9 dargestellt ist. Die CPU 81 führt zusätzlich den Ausgabeprozess 97 aus und arbeitet dabei als die Ausgabeeinheit 48, die in 9 dargestellt ist. Zusätzlich liest die CPU 51 die Informationen von dem Merkmalsmengen-Speicherbereich 98 und führt die Merkmalsmengen-Datenbank 42 in den Speicher 82 ein. Zusätzlich liest die CPU 81 die Informationen von dem Punktwolken-Speicherbereich 99 aus und führt die Punktwolken-Speichereinheit 45 in den Speicher 82 ein. Dies ermöglicht dem Computer 80, der das Informationsverarbeitungsprogramm 90 ausgeführt hat, als die Informationsverarbeitungsvorrichtung 30 zu funktionieren. Dementsprechend ist ein Prozessor, der das Informationsverarbeitungsprogramm 90, was Software ist, ausführt, als Hardware implementiert.
-
Die von dem Informationsverarbeitungsprogramm 90 implementierte Funktion kann zum Beispiel auch durch eine integrierte Halbleiterschaltung implementiert sein, und insbesondere durch eine ASIC oder dergleichen.
-
Als nächstes wird der Vorgang der Datenbank-Erzeugungsvorrichtung 10 gemäß der vorliegenden Ausführungsform beschrieben. In der Datenbank-Erzeugungsvorrichtung 10 ist eine durch einen Sensor, wie zum Beispiel LiDAR, erhaltene Modellpunktwolke zum Beispiel in der Punktwolken-Speichereinheit 12 gespeichert. Anschließend führt die Datenbank-Erzeugungsvorrichtung 10 den Datenbank-Erzeugungsprozess, der in 14 dargestellt ist, aus. Die individuelle Verarbeitung wird unten in Detail beschrieben.
-
In Schritt S100 erhält die Referenzpunkt-Extrahiereinheit 14 die in der Punktwolken-Speichereinheit 12 gespeicherte Modellpunktwolke.
-
In Schritt S103 unterteilt die Referenzpunkt-Extrahiereinheit 14 den dreidimensionalen Raum, der die in Schritt S100 erhaltene Modellpunktwolke beinhaltet, in eine vorbestimmte Anzahl von Voxel und erzeugt ein Voxel-Gitter.
-
In Schritt S104 erzeugt die Referenzpunkt-Extrahiereinheit 14 ein DF durch Zuweisen der Distanz von dem Voxel zu dem dreidimensionalen Punkt, der durch die nächsten dreidimensionalen Punktdaten angegeben wird, für jeden der Voxel des im obigen Schritt S102 erzeugten Voxel-Gitters.
-
In Schritt S106 bestimmt die Referenzpunkt-Extrahiereinheit 14, ob der Wert der Distanz, die jedem der Voxel des im obigen Schritt S104 erzeugten DF zugeordnet ist, ein lokales Maximum im Vergleich zu den umgebenden Voxel ist. Anschließend setzt die Referenzpunkt-Extrahiereinheit 14 den Voxel mit einem Distanzwert eines vorbestimmten Grenzwerts oder mehr als einen Referenzvoxel unter individuellen Voxeln, zu denen der als lokales Maximum bestimmte Distanzwert zugeordnet ist, basierend auf dem Bestimmungsergebnis des lokalen Maximums. Anschließend setzt die Referenzpunkt-Extrahiereinheit 14 die Mittelpunktkoordinate des Referenzvoxels als einen Referenzpunkt.
-
In Schritt S108 extrahiert die Beobachtungspunktwolken-Extrahiereinheit 16 jeden der Voxel, die von den Referenzpunkten beobachtet sind, für jeden der in Schritt S106 extrahierten Referenzpunkte. Anschließend setzt die Beobachtungspunktwolken-Extrahiereinheit 16 einen durch dreidimensionale innerhalb des Voxels existierende Punktdaten angegebenen dreidimensionalen Punkt als eine sichtbare Punktwolke für jeden der extrahierten Vixel.
-
In Schritt S110 erzeugt die Merkmalsmengen-Berechnungseinheit 18 ein Histogramm für jede der Flächen eines regelmäßigen n-Flächners, die eine Sichtlinie vom Referenzpunkt zum sichtbaren Punkt, der in der im obigen Schritt S108 gesetzten sichtbaren Punktwolke beinhaltet ist, schneidet, für jeden der Referenzpunkte, die in Schritt S106 extrahiert sind.
-
In Schritt S112 registriert die Merkmalsmengen-Berechnungseinheit 18 zu der Merkmalsmengen-Datenbank 20 eine Kombination des Referenzpunkts und des Histogramms, das für jede der Flächen des regelmäßigen n-Flächners, das auf dem Referenzpunkt zentriert ist, berechnet ist, für jeden der in Schritt S106 extrahierten Referenzpunkte. Dies beendet den Datenbank-Erzeugungsprozess.
-
Als nächstes wird der Vorgang der Informationsverarbeitungsvorrichtung 30 gemäß der vorliegenden Ausführungsform beschrieben. Nachdem die Kombination des Referenzpunkts und des Histogramms jeder der Flächen des regelmäßigen n-Flächners, der auf der Position des Referenzpunkts zentriert ist, erzeugt für jeden der Referenzpunkte durch die Datenbank-Erzeugungsvorrichtung 10, in die Informationsverarbeitungsvorrichtung 30 eingegeben worden ist, wird die Kombination dann in die Merkmalsmengen-Datenbank 42 der Informationsverarbeitungsvorrichtung 30 registriert. Anschließend erkennt der Sensor 32 in der Informationsverarbeitungsvorrichtung 30 sequentiell eine Datenpunktwolke, die eine Vielzahl von Elementen von dreidimensionalen Punktdaten beinhaltet, und dann erhält die Informationserlangungseinheit 36 sequentiell die durch den Sensor 32 erkannte Datenpunktwolke. Wenn die Informationserlangungseinheit 36 die Datenpunktwolke erhält, führt die Steuereinheit 34 der Informationsverarbeitungsvorrichtung 30 die Informationsverarbeitung, die in 15 dargestellt ist, aus. Die Informationsverarbeitungsroutine wird jedes Mal ausgeführt, wenn die Informationserlangungseinheit 36 eine Datenpunktwolke erhält. Die individuelle Verarbeitung wird unten in Detail beschrieben.
-
In Schritt S200 schätzt die Positions- und Orientierungsschätzungseinheit 38 die Position des mobilen Körpers und die Orientierung des mobilen Körpers basierend auf der von die Informationserlangungseinheit 36 erhaltenen Datenpunktwolke.
-
In Schritt S202 berechnet die Merkmalsmengen-Berechnungseinheit 40 ein Histogramm in Hinblick auf jede der Flächen des regelmäßigen n-Flächners, der auf der Position des mobilen Körpers zentriert ist, basierend auf der in Schritt S200 geschätzten Position des mobilen Körpers und der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke.
-
In Schritt S204 spezifiziert die Spezifizierungseinheit 44 den Referenzpunkt, der der Position des mobilen Körpers entspricht, aus der Vielzahl von Referenzpunkten, die in der Merkmalsmengen-Datenbank 42 registriert sind, basierend auf dem Histogramm jeder der Flächen des regelmäßigen n-Flächners, der auf der Position des mobilen Körpers zentriert ist, berechnet im obigen Schritt S202. Die Verarbeitung von Schritt S204 ist durch die Spezifizierungsverarbeitungsroutine, die in 16 dargestellt ist, implementiert.
-
< Spezifizierungsverarbeitungsroutine >
-
In Schritt S300 setzt die Spezifizierungseinheit 44 einen Referenzpunkt aus jedem der Referenzpunkte, die in der Merkmalsmengen-Datenbank 42 registriert sind.
-
In Schritt S302 setzt die Spezifizierungseinheit 44 einen überlappenden Modus zwischen dem regelmäßigen n-Flächner, der auf dem im obigen Schritt S300 gesetzten Referenzpunkt zentriert ist, und dem regelmäßigen n-Flächner, der auf der in Schritt S200 geschätzten Position des mobilen Körpers zentriert ist.
-
In Schritt S304 berechnet die Spezifizierungseinheit 44 in dem in Schritt S302 gesetzten überlappenden Modus den Ähnlichkeitsgrad zwischen dem Histogramm von jeder der Flächen des regelmäßigen n-Flächners des Referenzpunkts der Merkmalsmengen-Datenbank 42 und dem Histogramm von jeder der Flächen des regelmäßigen n-Flächners des mobilen Körpers, die in Schritt S202 erhalten werden.
-
In Schritt S306 berechnet die Spezifizierungseinheit 44 die Summe der im obigen Schritt S304 berechneten Ähnlichkeitsgrade zwischen den Histogrammen jeder der Flächen. Anschließend speichert die Spezifizierungseinheit 44 die Summe der Ähnlichkeitsgrade in der Kombination des in Schritt S300 gesetzten Referenzpunkts und des in Schritt S302 gesetzten überlappenden Modus im Speicherbereich.
-
In Schritt S308 bestimmt die Spezifizierungseinheit 44, ob die Verarbeitung der oben beschriebenen Schritte S302 bis S306 für alle überlappenden Modi zwischen dem regelmäßigen n-Flächner, der auf dem in Schritt S300 gesetzten Referenzpunkt zentriert ist, und dem regelmäßigen n-Flächner, der auf der Position des mobilen Körpers zentriert ist, ausgeführt worden ist. In einem Fall, in dem die Verarbeitung der Schritte S302 bis S306 für alle überlappenden Modi ausgeführt worden ist, fährt die Verarbeitung mit Schritt S310 fort. Im Gegensatz, in einem Fall, in dem es einen überlappenden Modus gibt, in dem die Verarbeitung der Schritte S302 bis S306 nicht ausgeführt worden ist, kehrt die Verarbeitung zu Schritt S302 zurück.
-
In Schritt S310 bestimmt die Spezifizierungseinheit 44, ob die Verarbeitung der Schritte S300 bis S308 für alle Referenzpunkte der Merkmalsmengen-Datenbank 42 ausgeführt worden ist. In einem Fall, in dem die Verarbeitung der Schritte S300 bis S308 für alle Referenzpunkte ausgeführt worden ist, fährt die Verarbeitung mit Schritt S312 fort. Im Gegensatz, in einem Fall, in dem es einen Referenzpunkt in der Merkmalsmengen-Datenbank 42 gibt, der nicht der Ausführung der Verarbeitung der Schritte S300 bis S308 unterzogen worden ist, kehrt die Verarbeitung zu Schritt S300 zurück.
-
In Schritt S312 spezifiziert die Spezifizierungseinheit 44 die größte Summe der Ähnlichkeitsgrade aus den Summen der Ähnlichkeitsgrade, die in dem Speicherbereich im obigen Schritt S306 gespeichert sind.
-
In Schritt S314 spezifiziert die Spezifizierungseinheit 44 einen Referenzpunkt und einen überlappenden Modus, die der größten Summe der Ähnlichkeitsgrade entsprechen, basierend auf der größten Summe der Ähnlichkeitsgrade, die in Schritt S312 spezifiziert wird.
-
In Schritt S316 gibt die Spezifizierungseinheit 44 den Referenzpunkt und den überlappenden Modus, die in Schritt S314 spezifiziert werden, als ein Ergebnis aus.
-
Als nächstes schätzt die Ausrichtungseinheit 46 in Schritt S306 der Informationsverarbeitungsroutine von 15 die Koordinatentransformation zwischen dem Koordinatensystem der in Schritt S200 geschätzten Position des mobilen Körpers und dem Koordinatensystem der Modellpunktwolke der Punktwolken-Speichereinheit 45 basierend auf dem Referenzpunkt und dem überlappenden Modus, die in Schritt S204 erhalten werden.
-
In Schritt S208 benutzt die Ausrichtungseinheit 46 basierend auf der geschätzten Koordinatentransformation, die im obigen Schritt S206 geschätzten wird, zum Beispiel den ICP und schätzt spezifischere Koordinatentransformationen, um eine Anpassung zwischen der von der Informationserlangungseinheit 36 erhaltenen Datenpunktwolke und der Modellpunktwolke in der Punktwolken-Speichereinheit 45 zu erreichen.
-
In Schritt S210 gibt die Ausgabeeinheit 48 Informationen mit Hinblick auf die im obigen Schritt S208 geschätzten Koordinatentransformation als ein Resultat aus und beendet die Informationsverarbeitungsroutine.
-
Wie oben beschrieben extrahiert die Datenbank-Erzeugungsvorrichtung gemäß der vorliegenden Ausführungsform für jeden der Punkte in einem Raum, in dem der mobile Körper beweglich ist, einen Referenzpunkt aus jedem der Punkte in dem Raum, in dem der mobile Körper beweglich ist, in Übereinstimmung mit der Distanz zwischen dem Punkt und jedem der dreidimensionalen Punkte, die durch eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die von dem Punkt beobachtet werden, angegeben werden. Anschließend berechnet die Datenbank-Erzeugungsvorrichtung eine Merkmalsmenge gemäß der Distanz zwischen dem extrahierten Referenzpunkt und jedem der dreidimensionalen Punkte, die durch die Vielzahl von Elementen von dreidimensionalen Punktdaten angegeben werden, und registriert die Kombination des Referenzpunkts und der für den Referenzpunkt berechneten Merkmalsmenge in die Datenbank. Mit dieser Konfiguration ist es sogar für Elemente von dreidimensionalen Punktwolkendaten mit verschiedenen Dichten möglich, Referenzpunkte zum Zuordnen der Elemente von dreidimensionalen Punktwolkendaten zueinander zu erhalten.
-
Die Informationsverarbeitungsvorrichtung gemäß der vorliegenden Ausführungsform berechnet zusätzlich die Merkmalsmenge gemäß der Distanz zwischen der Position des mobilen Körpers und jedem der dreidimensionalen Punkte, die durch die Vielzahl von Elementen von dreidimensionalen Punktdaten angegeben werden, basierend auf der Position des mobilen Körpers und der Vielzahl von Elementen von dreidimensionalen Punktdaten, die durch den auf dem mobilen Körper montierten Sensor beobachtet werden. Anschließend spezifiziert die Informationsverarbeitungsvorrichtung den Referenzpunkt, der der Position des mobilen Körpers entspricht, basierend auf der Datenbank, die die Merkmalsmenge registriert hat, einer Vielzahl von Kombinationen des Referenzpunkts und der Merkmalsmenge gemäß der Distanz zwischen der Position des Referenzpunkts und jedem der dreidimensionalen Punkte, die durch eine Vielzahl von Elementen von dreidimensionalen Punktdaten, die von der Position des Referenzpunkts beobachtet werden, angegeben werden. Mit dieser Konfiguration ist es sogar für Elemente von dreidimensionalen Punktwolkendaten mit verschiedenen Dichten möglich, die Elemente von dreidimensionalen Punktwolkendaten zueinander zuzuordnen. Zum Beispiel ist es möglich, die Position des mobilen Körpers durch Zuordnen von Kartendaten, die dreidimensionale Punktwolkendaten mit hoher Dichte sind, zu dreidimensionalen Punktwolkendaten mit niedriger Dichte, die von einem Sensor, der in dem mobilen Körper beinhaltet ist, erhalten werden, zu schätzen.
-
Wie oben beschrieben gäbe es in einem Fall, in dem irgendein dreidimensionaler Punkt als der Merkmalspunkt mit unterschiedlich hohen Dichten der dreidimensionalen Punktwolken definiert ist, einen Unterschied in der Menge von Informationen zum Berechnen der Merkmalsmenge für den Merkmalspunkt, wodurch es schwierig wird, eine Zuordnung von Merkmalspunkten basierend auf den berechneten Merkmalsmengen durchzuführen. Die vorliegende Ausführungsform benutzt die Merkmalsmenge gemäß der Distanz von dem Punkt im Raum, in dem der mobile Körper beweglich ist, zu dem beobachteten dreidimensionalen Punkt, das heißt die Merkmalsmenge basierend auf der Sichtbarkeit von dem Punkt im Raum, in dem der mobile Körper beweglich ist, statt der Benutzung der Merkmalsmenge des Merkmalspunkts, der in der dreidimensionalen Punktwolke beinhaltet ist. Dies ermöglicht es, eine ähnliche Merkmalsmenge, die zueinander zugeordnet werden können, für jeden Referenzpunkt und die Position des mobilen Körpers auch in einem Fall zu berechnen, in dem es eine Differenz in der Dichte der dreidimensionalen Punktwolke gibt, wodurch eine Zuordnung von dreidimensionalen Punktwolken mit verschiedenen Dichten zueinander ermöglicht wird.
-
In einem Aspekt der obigen Beschreibung sind das Datenbank-Erzeugungsprogramm und das Informationsverarbeitungsprogramm vorab in der Speichereinheit gespeichert (installiert). Jedoch ist die vorliegende Erfindung nicht darauf beschränkt. Das Programm gemäß der offenbarten Technologie kann in Form einer Aufzeichnung auf einem Speichermedium wie einer CD-ROM, einer DVD-ROM oder einem USB-Speicher geliefert werden.
-
Alle hierin beschriebenen Dokumente, Patentanmeldungen und technischen Normen sollten durch Verweis in diese Spezifikation aufgenommen werden, und zwar in dem gleichen Maße wie in dem Fall, in dem jede der Dokumente, Patentanmeldungen und technischen Normen spezifisch und individuell angegeben ist, um durch Verweis aufgenommen zu werden.
-
Als nächstes werden Modifikationen der obigen Ausführungsform beschrieben.
-
Während die vorstehende Ausführungsform einen exemplarischen Fall beschrieben hat, in dem die Datenbank-Erzeugungsvorrichtung und die Informationsverarbeitungsvorrichtung als separate Vorrichtungen konfiguriert sind, können die Datenbank-Erzeugungsvorrichtung und die Informationsverarbeitungsvorrichtung als eine einzige Vorrichtung integriert werden.
-
Bezugszeichenliste
-
- 10
- Datenbank-Erzeugungsvorrichtung
- 12
- Punktwolken-Speichereinheit
- 14
- Referenzpunkt-Extrahiereinheit
- 16
- Beobachtungspunktwolken-Extrahiereinheit
- 18
- Merkmalsmengen-Berechnungseinheit
- 20
- Merkmalsmengen-Datenbank
- 24,
- 25 Referenzpunkt
- 26
- Sichtbare Punktwolke
- 30
- Informationsverarbeitungsvorrichtung
- 32
- Sensor
- 34
- Steuereinheit
- 36
- Informationserlangungseinheit
- 38
- Positions- und Orientierungsschätzeinheit
- 40
- Merkmalsmengen-Berechnungseinheit
- 42
- Merkmalsmengen-Datenbank
- 44
- Spezifizierungseinheit
- 45
- Punktwolken-Speichereinheit
- 46
- Ausrichtungseinheit
- 48
- Ausgabeeinheit
- 50, 80
- Computer
- 51, 81
- CPU
- 53, 83
- Speichereinheit
- 59, 89
- Aufnahmemedium
- 60
- Datenbank-Erzeugungsprogramm
- 90
- Informationsverarbeitungsprogramm
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2007322351 [0006]
- JP 2008309671 [0006]
- JP 201226974 [0006]
- WO 2014/155715 [0006]
- JP 2009128192 [0006]