-
Die vorliegende Erfindung betrifft ein computerimplementiertes Verfahren zum Modellieren einer Oberfläche eines Objekts, wobei eine Recheneinheit verwendet wird, um jeden Punkt einer zweidimensionalen Punktwolke einer Zelle eines zweidimensionalen Gitters zuzuordnen, um eine partitionierte zweidimensionale Punktwolke zu erzeugen. Die Erfindung betrifft ferner ein Verfahren zum zumindest teilweise automatischen Führen eines Fahrzeugs, ein System zum Modellieren einer Oberfläche eines Objekts und ein Computerprogrammprodukt.
-
Verschiedene Arten von Umfeldsensorsystemen, zum Beispiel Lidarsysteme oder Kamerasysteme, liefern Rohdaten, die verarbeitet werden können, um zwei- oder dreidimensionale Punktwolken zu erzeugen, die Objekte repräsentieren. Solche Punktwolken können als Modelle des Objekts verstanden werden, die für verschiedene Anwendungen einschließlich CAD-Anwendungen oder Anwendungen im Rahmen des teilautonomen oder autonomen Fahrens von Kraftfahrzeugen verwendet werden können. Insbesondere Objekterkennungsalgorithmen, Objektverfolgungsalgorithmen oder andere Algorithmen zur visuellen Wahrnehmung können sich Punktwolken zunutze machen, die das Objekt modellieren.
-
Insbesondere im Zusammenhang mit eingebetteten Systemen können die Rechen- und/oder Speicherressourcen jedoch begrenzt sein. Da Punktwolken in der Regel große Datenmengen enthalten, kann ihre Verarbeitung die Rechen- und/oder Speicherressourcen eingebetteter Systeme an ihre Grenzen bringen.
-
Um dieses Problem zu lösen, kann man die Abtastrate oder Auflösung der Punktwolke reduzieren, um die Datenmenge und damit den Rechen- und Speicherbedarf für die Verarbeitung der Punktwolke zu verringern. Dies verringert jedoch die Genauigkeit des Modells für das Objekt und damit die Zuverlässigkeit der Objekterkennung oder anderer nachfolgender Aufgaben.
-
Aufgabe der vorliegenden Erfindung ist es daher, ein verbessertes Konzept zur Modellierung einer Oberfläche eines Gegenstandes bereitzustellen, das den Rechen- und/oder Speicherbedarf reduziert und gleichzeitig die Modellgenauigkeit so hoch wie möglich hält.
-
Dieses Ziel wird durch den jeweiligen Gegenstand der unabhängigen Ansprüche erreicht. Weitere Implementierungen und bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
-
Das verbesserte Konzept basiert auf der Idee, eine zweidimensionale Punktwolke gemäß einem zweidimensionalen Raster zu partitionieren und Randzellen der partitionierten zweidimensionalen Punktwolke zu bestimmen. Eine unterabgetastete Punktwolke wird auf der Grundlage einer vordefinierten Randunterabtastungsregel erzeugt, die auf die Randzellen angewendet wird, um die Oberfläche des Objekts zu modellieren.
-
Nach dem verbesserten Konzept wird ein computerimplementiertes Verfahren zur Modellierung der Oberfläche eines Objekts angegeben. Dabei wird eine Recheneinheit verwendet, um eine zweidimensionale Punktwolke zu empfangen und jeden Punkt der zweidimensionalen Punktwolke einer Zelle eines vordefinierten zweidimensionalen Gitters zuzuordnen, um eine partitionierte zweidimensionale Punktwolke zu erzeugen. Die Recheneinheit wird verwendet, um eine Menge von Randzellen der partitionierten zweidimensionalen Punktwolke zu bestimmen und für jede Zelle der Menge von Randzellen eine erste vordefinierte Anzahl von Punkten, die innerhalb der jeweiligen Randzelle liegen, gemäß einer vordefinierten Randunterabtastungsregel auszuwählen, wobei die Anzahl gleich oder größer als eins ist. Die Recheneinheit wird verwendet, um eine unterabgetastete Punktwolke zum Modellieren der Oberfläche des Objekts basierend auf den ausgewählten Punkten der Randzellen zu erzeugen.
-
Das Objekt kann ein zweidimensionales Objekt oder ein dreidimensionales Objekt sein. Die Oberfläche des Objekts kann daher im Falle eines zweidimensionalen Objekts einer Kontur des Objekts oder im Falle eines dreidimensionalen Objekts einer zweidimensionalen Mannigfaltigkeit im dreidimensionalen Raum entsprechen.
-
Die Modellierung der Oberfläche des Objekts kann beispielsweise so verstanden werden, dass die Oberfläche des Objekts näherungsweise durch eine Anzahl diskreter Punkte dargestellt wird, die durch die unterabgetastete Punktwolke gegeben sind.
-
Insbesondere stellt die zweidimensionale Punktwolke das Objekt beziehungsweise die Oberfläche des Objekts dar. Dabei kann die zweidimensionale Punktwolke im Falle eines dreidimensionalen Objekts beispielsweise einer zweidimensionalen Projektion einer dreidimensionalen Punktwolke entsprechen, die das Objekt repräsentiert.
-
Hier und im Folgenden kann eine Punktwolke als eine Menge von Punkten verstanden werden, die im Falle einer zweidimensionalen Punktwolke durch entsprechende zweidimensionale Raumkoordinaten und im Falle einer dreidimensionalen Punktwolke durch entsprechende dreidimensionale Koordinaten definiert sind. Die Punktwolke kann abhängig davon, wie die Punktwolke oder die Rohdaten zur Erzeugung der Punktwolke ursprünglich erzeugt wurden, zusätzliche Informationen für jeden der Punkte enthalten oder auch nicht.
-
Die zweidimensionale Punktwolke kann zum Beispiel von der Recheneinheit direkt von einem Sensorsystem oder einer Speichereinheit erhalten werden. Die Recheneinheit kann auch Rohdaten von dem Sensorsystem oder der Speichereinheit empfangen oder kann eine dreidimensionale Punktwolke empfangen und die zweidimensionale Punktwolke auf der Grundlage der dreidimensionalen Punktwolke erzeugen.
-
Das zweidimensionale Gitter kann als ein zweidimensionales Gitter in der Koordinatenebene der zweidimensionalen Punktwolke verstanden werden. Die Zellen des Gitters entsprechen dann den entsprechenden Zellen des darunter liegenden Gitters. Das Gitter kann beispielsweise ein Rechteckgitter, ein Quadratgitter, ein Dreieckgitter, ein Sechseckgitter, ein Parallelogrammgitter oder ein Rautengitter sein.
-
Indem ein Punkt der zweidimensionalen Punktwolke einer entsprechenden Zelle zugeordnet wird, wird der Punkt der Zelle des Gitters zugeordnet, in der dieser Punkt liegt. Indem alle Punkte der zweidimensionalen Punktwolke dem Gitter zugeordnet werden, wird die partitionierte zweidimensionale Punktwolke erzeugt.
-
Durch die Zuordnung können Zellen der partitionierten zweidimensionalen Punktwolke auch als Zellen des Gitters verstanden werden. Mit anderen Worten sind Zellen des Gitters, die mindestens einen Punkt der zweidimensionalen Punktwolke enthalten auch Zellen der partitionierten zweidimensionalen Punktwolke. Leere Zellen des Gitters können zum Beispiel nicht als Zellen der partitionierten zweidimensionalen Punktwolke angesehen werden.
-
Eine Randzelle der partitionierten zweidimensionalen Punktwolke kann daher als eine Zelle der partitionierten zweidimensionalen Punktwolke verstanden werden, die an eine leere Zelle des Gitters angrenzt.
-
Die Unterabtastungsregel kann als eine Regel verstanden werden, die einen oder mehrere Parameter definiert, gemäß denen ein Punkt innerhalb der jeweiligen Randzelle ausgewählt wird.
-
In Bezug auf einen Punkt, der innerhalb einer Zelle liegt, kann man nach einer eindeutigen Definition eine oder mehrere Grenzen der Zellen ebenfalls als innerhalb der Zelle liegend betrachten. Zum Beispiel kann bei einem Quadrat- oder Rechteckgitter jede linke und untere Grenze so definiert sein, dass sie innerhalb der Zelle liegt, und jede obere und rechte Grenze so, dass sie außerhalb der Zelle liegt oder umgekehrt. Auch andere Konventionen sind möglich.
-
Die Erzeugung der unterabgetasteten Punktwolke auf der Grundlage der ausgewählten Punkte der Randzellen kann so verstanden werden, dass die unterabgetastete Punktwolke auf der Grundlage aller ausgewählten Punkte aller Randzellen erzeugt wird.
-
Die Modellierung der Oberfläche des Objekts kann die Erzeugung der unterabgetasteten Punktwolke beinhalten oder daraus bestehen.
-
Durch die Randunterabtastung oder, mit anderen Worten, durch die Auswahl der Punkte der Randzellen gemäß der Randunterabtastungsregel, wird die Datenmenge, die durch die unterabgetastete Punktwolke gespeichert wird, reduziert. Da die Randzellen jedoch getrennt und nicht notwendigerweise in der gleichen Weise wie die übrigen Zellen der zweidimensionalen Punktwolke oder der zugrunde liegenden dreidimensionalen Punktwolke behandelt werden, können die Randzellen und die übrigen Zellen unabhängig voneinander behandelt werden. Daher kann die effektive Unterabtastrate für Punkte in der Nähe der Kanten des Objekts hoch genug gehalten werden, um die erforderliche Auflösung und damit den Informationsgehalt der Kanten zu gewährleisten. Die Objektdetektion oder andere nachfolgende Aufgaben können daher mit einer hohen Zuverlässigkeit durchgeführt werden, während die Datenmenge trotzdem reduziert wird.
-
Gemäß mehreren Ausführungsformen des Verfahrens ist die erste Zahl kleiner oder gleich einer durchschnittlichen Anzahl von Punkten, die in den Randzellen enthalten sind.
-
Insbesondere kann die erste Zahl drei oder kleiner sein, vorzugsweise zwei oder kleiner, zum Beispiel gleich eins.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit dazu verwendet, für jede Zelle der partitionierten zweidimensionalen Punktwolke alle Grenzen, die die jeweilige Zelle mit einer entsprechenden leeren Zelle des Gitters teilt, als Randgrenzen der partitionierten zweidimensionalen Punktwolke zu identifizieren. Die Recheneinheit wird verwendet, um jede Zelle der partitionierten zweidimensionalen Punktwolke, für die mindestens eine Randgrenze identifiziert wurde, als Randzelle der Menge der Zellen der partitionierten zweidimensionalen Punktwolke zu identifizieren.
-
Im Falle eines Quadratgitters oder eines Rechteckgitters kann die Recheneinheit beispielsweise eine von Neumann-Umgebung jeder Zelle der partitionierten zweidimensionalen Punktwolke berücksichtigen. Wenn eine Zelle des Gitters innerhalb der von Neumann-Umgebung der Zelle leer ist, wird die Grenze der Zelle mit der leeren Zelle als Randgrenze klassifiziert und die entsprechende Zelle, die sich die Grenze mit der leeren Zelle teilt, wird als Randzelle klassifiziert.
-
Auf diese Weise ist eine schnelle und zuverlässige Identifizierung aller Randzellen möglich, die in etwa eine physikalische Kante des Objekts darstellen.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit dazu verwendet, für jede Randzelle der Menge von Randzellen einen Punkt auszuwählen, der innerhalb der jeweiligen Randzelle liegt und einen minimalen Abstand zu allen Randgrenzen der jeweiligen Randzelle hat, um die erste Anzahl von Punkten gemäß der Randunterabtastungsregel auszuwählen.
-
Mit anderen Worten, die Randunterabtastungsregel beinhaltet die Auswahl eines Punktes innerhalb der Randzelle oder besteht aus der Auswahl eines Punktes innerhalb der Randzelle, der den minimalen Abstand zu allen Randgrenzen hat.
-
Der minimale Abstand kann als ein minimaler Abstand des ausgewählten Punktes in Bezug im Vergleich zu allen anderen Punkten in derselben Randzelle verstanden werden. Mit anderen Worten, wenn die Randzelle genau eine Randgrenze hat, ist der minimale Abstand aller Punkte innerhalb der Randzelle in Bezug auf diese Randgrenze der minimale Abstand zu einer beliebigen Randgrenze. Wenn die Randzelle mehr als eine Randgrenze hat, kann die Recheneinheit die jeweiligen Abstände aller Punkte innerhalb der jeweiligen Randzelle in Bezug auf alle Randgrenzen dieser Randzelle bestimmen. Der minimale Abstand und der jeweilige Punkt werden dann als der Punkt mit dem Minimum aller dieser Abstände gewählt.
-
Auf diese Weise wird mit hoher Wahrscheinlichkeit der Punkt jeder Randzelle ausgewählt, der dem tatsächlichen Rand des Objekts am nächsten liegt. Auf diese Weise wird die Genauigkeit der unterabgetasteten Punktwolke hoch gehalten.
-
Gemäß mehreren Ausführungsformen wird eine dreidimensionale Punktwolke, die das Objekt repräsentiert, von der Recheneinheit erhalten und jeder Punkt der dreidimensionalen Punktwolke wird von der Recheneinheit in eine vordefinierte Ebene projiziert, um die zweidimensionale Punktwolke zu erzeugen.
-
Die dreidimensionale Punktwolke kann durch die Recheneinheit zum Beispiel von dem Sensorsystem oder von der Speichereinheit empfangen werden. Insbesondere werden bei der Projektion der Punkte der dreidimensionalen Punktwolke in die Ebene die dritte Koordinate des jeweiligen Punktes oder die dreidimensionalen Koordinaten des jeweiligen Punktes gespeichert beziehungsweise beibehalten, um zum Beispiel nach der oben beschriebenen zweidimensionalen Auswahl des Punktes aus dem projizierten Punkt einen dreidimensionalen Punkt rekonstruieren zu können.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit zur Erzeugung einer rekonstruierten dreidimensionalen Punktwolke verwendet, die jeweilige dreidimensionale Rekonstruktionen der ausgewählten Punkte der Randzellen, insbesondere aller Randzellen der Menge der Randzellen, der zweidimensionalen Punktwolke und jeweilige dreidimensionale Rekonstruktionen aller Nicht-Randpunkte der partitionierten zweidimensionalen Punktwolke beinhaltet. Dabei wird jeder Punkt der partitionierten zweidimensionalen Punktwolke, der nicht innerhalb einer Randzelle der Menge der Randzellen der zweidimensionalen Punktwolke liegt, als Nicht-Randpunkt der partitionierten zweidimensionalen Punktwolke definiert.
-
Die Recheneinheit wird verwendet, um die unterabgetastete Punktwolke zum Modellieren der Oberfläche des Objekts in Abhängigkeit von der rekonstruierten dreidimensionalen Punktwolke zu erzeugen.
-
Eine dreidimensionale Rekonstruktion eines Punktes der zweidimensionalen oder partitionierten zweidimensionalen Punktwolke entspricht einem dreidimensionalen Punkt mit den jeweiligen dreidimensionalen Koordinaten des Punktes, bevor er in die vordefinierte Ebene projiziert wurde. Mit anderen Worten, die dreidimensionale Rekonstruktion weist die zweidimensionalen Koordinaten des jeweiligen Punktes in der Ebene und die zuvor gespeicherte oder beibehaltene dritte Koordinate auf.
-
Die rekonstruierte dreidimensionale Punktwolke entspricht dann faktisch einer Version der ursprünglichen dreidimensionalen Punktwolke, wobei Randzellen gemäß einer Projektionsrichtung unterabgetastet wurden und alle übrigen Punkte nicht unterabgetastet wurden.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit dazu verwendet, jeden Punkt der rekonstruierten dreidimensionalen Punktwolke einer Zelle eines vordefinierten dreidimensionalen Gitters zuzuordnen, um eine partitionierte dreidimensionale Punktwolke zu erzeugen. Die Recheneinheit wird verwendet, um die unterabgetastete Punktwolke zu erzeugen, um eine Oberfläche des Objekts in Abhängigkeit von der partitionierten dreidimensionalen Punktwolke zu modellieren.
-
Eine dreidimensionale Zelle des dreidimensionalen Gitters kann auch als Voxel bezeichnet werden.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit verwendet, um eine Menge innerer Zellen der partitionierten dreidimensionalen Punktwolke zu bestimmen, wobei jede Zelle der partitionierten dreidimensionalen Punktwolke, die keine dreidimensionale Rekonstruktion des einen der ausgewählten Punkte der Randzellen der partitionierten zweidimensionalen Punktwolke enthält, als eine innere Zelle der partitionierten dreidimensionalen Punktwolke definiert ist. Die Recheneinheit verwendet, um in Abhängigkeit von der Menge der inneren Zellen die unterabgetastete Punktwolke zum Modellieren der Oberfläche des Objekts zu erzeugen.
-
Mit anderen Worten, alle Zellen der partitionierten dreidimensionalen Punktwolke, die nicht eine oder mehrere dreidimensionale Rekonstruktionen von Punkten der Randzellen enthalten, werden als innere Zellen definiert. Die inneren Zellen können nun auf andere Weise behandelt werden als die Randzellen, um die unterabgetastete Punktwolke zu erzeugen.
-
Auf diese Weise können Randpunkte und Innenpunkte der ursprünglichen dreidimensionalen Punktwolke unabhängig voneinander behandelt werden, was einen frei wählbaren Kompromiss zwischen Genauigkeit und Menge der zu speichernden und zu verarbeitenden Daten ermöglicht.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit dazu verwendet, für jede innere Zelle der Menge von inneren Zellen gemäß einer vordefinierten inneren Unterabtastungsregel eine vordefinierte zweite Anzahl von Punkten auszuwählen, die innerhalb der jeweiligen inneren Zelle liegen. Die unterabgetastete Punktwolke zur Modellierung der Oberfläche des Objekts beinhaltet oder ist gegeben durch die ausgewählten Punkte der inneren Zellen und die dreidimensionalen Rekonstruktionen der ausgewählten Punkte der Randzellen der partitionierten zweidimensionalen Punktwolke. Die zweite Zahl ist größer oder gleich eins.
-
Mit anderen Worten, Punkte von Randzellen und Punkte von inneren Zellen können aufgrund von zwei Aspekten unterschiedlich behandelt werden. Erstens sind die Randunterabtastungsregel und die innere Unterabtastungsregel unabhängig voneinander. Zweitens werden auch das zweidimensionale Gitter und das dreidimensionale Gitter unabhängig voneinander gewählt. Mit anderen Worten, unter der Annahme, dass die erste und die zweite Zahl beide gleich eins sind, ermöglicht die voneinander unabhängige Wahl der Größen des zweidimensionalen Gitters und des dreidimensionalen Gitters die Beibehaltung einer unterschiedlichen Unterabtastrate in den inneren Zellen im Vergleich zu den Randzellen. Insbesondere können die inneren Punkte mit einer niedrigeren effektiven Unterabtastrate im Vergleich zum Randpunkt unterabgetastet werden. Auf diese Weise kann die Gesamtmenge der zu speichernden Daten durch die Unterabtastung der inneren Punkte stark reduziert werden, während die Genauigkeit der Kanten durch die Unterabtastung der Randpunkte hoch gehalten werden kann. Auf diese Weise lassen sich Genauigkeit und reduzierter Rechen- oder Speicherbedarf kombinieren.
-
Gemäß mehreren Ausführungsformen wird die Recheneinheit dazu verwendet, für jede innere Zelle der Menge der inneren Zellen einen Punkt auszuwählen, der innerhalb der jeweiligen inneren Zellen liegt und einen minimalen Abstand zu einem vordefinierten Referenzpunkt hat, um die zweite Anzahl von Punkten gemäß der inneren Unterabtastungsregel auszuwählen.
-
Gemäß mehreren Ausführungsformen entspricht der Referenzpunkt einer Position des Umfeldsensorsystems, zum Beispiel einer Kamera des Umfeldsensorsystems.
-
Mit anderen Worten, die innere Unterabtastungsregel entspricht der Auswahl des nächstgelegenen Punktes zur Position des Umfeldsensorsystems für jede innere Zelle.
-
Gemäß mehreren Ausführungsformen unterscheidet sich eine projizierte Zellfläche des dreidimensionalen Gitters entsprechend der Projektion in die Ebene von einer Zellfläche des zweidimensionalen Gitters, insbesondere ist sie größer als diese.
-
Die Zellfläche des zweidimensionalen Gitters entspricht einer Fläche jeder Zelle des zweidimensionalen Gitters. Die projizierte Zellfläche des dreidimensionalen Gitters entspricht der Fläche einer Projektion einer Zelle des dreidimensionalen Gitters in die Ebene. Dabei hat jede Zelle des zweidimensionalen Gitters die gleiche Größe und jede Zelle des dreidimensionalen Gitters die gleiche Form und Größe.
-
Mit anderen Worten, wenn das zweidimensionale Gitter einem quadratischen Gitter und das dreidimensionale Gitter einem kubischen Gitter entspricht, die insbesondere so angeordnet sind, dass eine Seite einer Zelle des kubischen Gitters parallel zur Projektionsebene liegt, ist eine Zellkantenlänge des kubischen Gitters anders, insbesondere größer, als eine Zellseitenlänge des quadratischen Gitters.
-
Indem die Kantenlänge des kubischen Gitters unabhängig von der Seitenlänge des quadratischen Gitters gewählt wird, kann die Informationsdichte aufgrund der Randzellen hoch gehalten werden, um die Kanten besonders genau zu modellieren, während die Informationsdichte im inneren Bereich des dreidimensionalen Gitters stärker reduziert wird, um den Speicherbedarf und den Rechenaufwand zu verringern.
-
Bei mehreren Implementierungen, bei denen die zweidimensionale Punktwolke durch Projektion der Punkte der dreidimensionalen Punktwolke in die Ebene erzeugt wird, wird die Recheneinheit dazu verwendet, die Punkte der dreidimensionalen Punktwolke in mindestens eine weitere vordefinierte Ebene, die unterschiedlich oder senkrecht zu der Ebene sein kann, zu projizieren, um mindestens eine weitere zweidimensionale Punktwolke zu erzeugen.
-
Alle in Bezug auf die zweidimensionale Punktwolke beschriebenen Schritte können auch für die weiteren zweidimensionalen Punktwolken durchgeführt werden. Die rekonstruierte dreidimensionale Punktwolke beinhaltet dann auch dreidimensionale Rekonstruktionen der ausgewählten Punkte der Randzellen der weiter partitionierten zweidimensionalen Punktwolken.
-
Gemäß dem verbesserten Konzept wird auch ein Verfahren zur zumindest teilweise automatischen Führung eines Fahrzeugs angegeben. Dabei werden Sensorausgabedaten unter Verwendung eines Umfeldsensorsystems des Fahrzeugs erzeugt, wobei die Sensorausgabedaten eine Umgebung des Fahrzeugs repräsentieren. Eine Oberfläche eines Objekts in einer Umgebung des Fahrzeugs wird nach einem computerimplementierten Verfahren zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept modelliert, insbesondere durch Erzeugung der unterabgetasteten Punktwolke. Dabei wird die zweidimensionale Punktwolke auf der Grundlage der Sensorausgabedaten erzeugt. Insbesondere wird die dreidimensionale Punktwolke auf der Grundlage der Sensorausgabedaten erzeugt. In Abhängigkeit von der unterabgetasteten Punktwolke wird von der Recheneinheit oder von einem Steuergerät oder von einem elektronischen Fahrzeugführungssystem des Fahrzeugs mindestens ein Steuersignal zur zumindest teilweise automatischen Führung des Fahrzeugs erzeugt.
-
Gemäß mehreren Ausführungsformen wird das Fahrzeug in Abhängigkeit von dem Steuersignal zumindest teilweise automatisch geführt, insbesondere durch das elektronische Fahrzeugführungssystem.
-
Ein elektronisches Fahrzeugführungssystem kann als ein elektronisches System verstanden werden, das dazu eingerichtet ist, ein Fahrzeug vollautomatisch oder völlig autonom und insbesondere ohne manuelles Eingreifen oder manuelle Steuerung durch einen Fahrer oder Benutzer des Fahrzeugs zu führen. Das Fahrzeug führt die erforderlichen Lenkmanöver, Verzögerungsmanöver und/oder Beschleunigungsmanöver und so weiter automatisch durch. Insbesondere kann das elektronische Fahrzeugführungssystem einen vollautomatischen oder vollständig autonomen Fahrmodus gemäß Stufe 5 der SAE J3016-Klassifizierung implementieren. Ein elektronisches Fahrzeugführungssystem kann auch als fortgeschrittenes Fahrerassistenzsystem (Advanced Driver Assistance System, ADAS) implementiert sein, das den Fahrer beim teilautomatischen oder teilautonomen Fahren unterstützt. Insbesondere kann das elektronische Fahrzeugführungssystem einen teilautomatischen oder teilautonomen Fahrmodus gemäß den Stufen 1 bis 4 der SAE J3016-Klassifizierung implementieren. Hier und im Folgenden bezieht sich SAE J3016 auf die entsprechende Norm von dem Juni 2018.
-
Das zumindest teilweise automatische Führen des Fahrzeugs kann daher das Führen des Fahrzeugs in einem vollautomatischen oder vollständig autonomen Fahrmodus gemäß Stufe 5 der SAE J3016-Klassifizierung umfassen. Das zumindest teilweise automatische Führen des Fahrzeugs kann auch das Führen des Fahrzeugs in einem teilautomatischen oder teilautonomen Fahrmodus gemäß den Stufen 1 bis 4 der SAE J3016-Klassifizierung umfassen.
-
Gemäß dem verbesserten Konzept wird auch ein System zur Modellierung der Oberfläche eines Objekts angegeben. Das System beinhaltet eine Speichereinheit, die eine zweidimensionale Punktwolke speichert. Das System beinhaltet ferner eine Recheneinheit, die dazu eingerichtet ist, jeden Punkt der zweidimensionalen Punktwolke einer Zelle eines vordefinierten zweidimensionalen Gitters zuzuordnen, um eine partitionierte zweidimensionale Punktwolke zu erzeugen und insbesondere die partitionierte zweidimensionale Punktwolke in der Speichereinheit zu speichern. Die Recheneinheit ist dazu eingerichtet, eine Menge von Randzellen der partitionierten zweidimensionalen Punktwolke bestimmt und für jede Randzelle der Menge von Randzellen eine vordefinierte erste Anzahl von Punkten, die innerhalb der jeweiligen Randzelle liegen, gemäß einer vordefinierten Randunterabtastungsregel auszuwählen. Die Recheneinheit ist dazu eingerichtet, eine unterabgetastete Punktwolke zum Modellieren der Oberfläche des Objekts auf der Grundlage der ausgewählten Punkte zu erzeugen.
-
Entsprechend mehrerer Ausführungsformen des Systems zur Modellierung der Oberfläche eines Objekts beinhaltet das System ein Umfeldsensorsystem, das dazu eingerichtet ist, Sensorausgabedaten zu erzeugen, die eine Umgebung des Sensorsystems repräsentieren. Die Recheneinheit ist dazu eingerichtet, die zweidimensionale Punktwolke in Abhängigkeit von den Sensorausgabedaten zu erzeugen.
-
Insbesondere ist die Recheneinheit dazu eingerichtet, auf der Grundlage der Sensorausgabedaten eine dreidimensionale Punktwolke zu erzeugen oder zu empfangen und jeden Punkt der dreidimensionalen Punktwolke in eine vordefinierte Ebene zu projizieren, um die zweidimensionale Punktwolke zu erzeugen.
-
Gemäß mehreren Ausführungsformen ist das System als elektronisches Fahrzeugführungssystem für ein Fahrzeug konzipiert. Das System beinhaltet das Umfeldsensorsystem, das dazu eingerichtet ist, die Sensorausgabedaten zu erzeugen. Die Recheneinheit ist dazu eingerichtet, die zweidimensionale Punktwolke auf der Grundlage der Sensorausgabedaten zu erzeugen. Das System beinhaltet eine Steuereinheit, die dazu eingerichtet ist, mindestens ein Steuersignal zur zumindest teilweise automatischen Führung des Fahrzeugs in Abhängigkeit von der unterabgetasteten Punktwolke zu erzeugen.
-
Weitere Ausführungsformen des Systems nach dem verbesserten Konzept folgen direkt aus den verschiedenen Ausführungsformen des Verfahrens zum Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept und des Verfahrens zur zumindest teilweisen automatischen Führung eines Fahrzeugs nach dem verbesserten Konzept beziehungsweise umgekehrt. Insbesondere ist ein System nach dem verbesserten Konzept dazu eingerichtet oder programmiert, ein Verfahren nach dem verbesserten Konzept durchzuführen, oder das System führt ein solches Verfahren durch.
-
Gemäß dem verbesserten Konzept wird auch ein Computerprogramm mit Anweisungen angegeben. Wenn die Befehle von einem Computersystem, insbesondere von einer Recheneinheit eines Systems nach dem verbesserten Konzept, ausgeführt werden, veranlassen die Befehle das Computersystem dazu, ein computerimplementiertes Verfahren zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept auszuführen.
-
Nach dem verbesserten Konzept wird auch ein weiteres Computerprogramm mit weiteren Anweisungen bereitgestellt. Wenn die weiteren Anweisungen von einem System nach dem verbesserten Konzept, insbesondere von der Recheneinheit, ausgeführt werden, wobei das System das Umfeldsensorsystem beinhaltet, veranlassen die weiteren Befehle das System dazu, ein Verfahren zur zumindest teilweisen automatischen Führung eines Fahrzeugs nach dem verbesserten Konzept durchzuführen.
-
Nach dem verbesserten Konzept wird auch ein computerlesbares Speichermedium zur Speicherung eines Computerprogramms oder eines weiteren Computerprogramms nach dem verbesserten Konzept bereitgestellt.
-
Die Computerprogramme nach dem verbesserten Konzept und das computerlesbare Speichermedium nach dem verbesserten Konzept können als jeweilige Computerprogrammprodukte angesehen werden, die die Anweisungen beziehungsweise die weiteren Anweisungen enthalten.
-
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Abbildungen und der Beschreibung der Figuren. Die oben in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die unten in der Beschreibung der Figuren genannten und/oder in den Figuren dargestellten Merkmale und Merkmalskombinationen allein können von dem verbesserten Konzept nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen erfasst werden. Damit sind Implementierungen des verbesserten Konzepts umfasst und offenbart, die nicht explizit in den Abbildungen gezeigt oder erläutert werden, sondern sich aus getrennten Merkmalskombinationen aus den erläuterten Implementierungen ergeben und durch diese erzeugt werden können. Implementierungen und Merkmalskombinationen, die nicht alle Merkmale eines ursprünglich formulierten Anspruchs aufweisen, können von dem verbesserten Konzept umfasst sein. Darüber hinaus können Implementierungen und Merkmalskombinationen, die über die in den Beziehungen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen, von dem verbesserten Konzept umfasst sein.
-
In den Figuren zeigen,
- 1 schematisch eine beispielhafte Ausführungsform eines Systems nach dem verbesserten Konzept,
- 2 schematisch ein Fahrzeug mit einer weiteren beispielhaften Ausführungsform eines Systems nach dem verbesserten Konzept,
- 3 eine Darstellung von Verfahrensschritten einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 4 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 5 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 6 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 7 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 8 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept,
- 9 zeigt eine Darstellung weiterer Verfahrensschritte einer beispielhaften Ausführungsform eines Verfahrens zur Modellierung einer Oberfläche eines Objekts nach dem verbesserten Konzept.
-
1 zeigt eine beispielhafte Ausführungsform eines Systems 1 nach dem verbesserten Konzept. Das System 1 beinhaltet eine Speichereinheit 2 und eine mit der Speichereinheit 2 gekoppelte Recheneinheit 3.
-
Das System 1 kann ein Umfeldsensorsystem 4, insbesondere eine Kamera oder ein Lidarsystem, umfassen oder mit diesem gekoppelt sein. Das Umfeldsensorsystem 4 ist dazu eingerichtet, Sensorausgabedaten zu erzeugen, die eine Umgebung des Sensorsystems 4 repräsentieren, die ein Objekt 6 beinhaltet. Das Sensorsystem 4 oder die Recheneinheit 3 kann auf der Grundlage der Sensorausgabedaten eine dreidimensionale Punktwolke erzeugen, die das Objekt 6 repräsentiert.
-
Die Recheneinheit 3 kann zum Beispiel die Punkte der dreidimensionalen Punktwolke in eine vordefinierte Ebene projizieren, um eine zweidimensionale Punktwolke 7 (siehe 3) zu erzeugen, zum Beispiel in die x-y-Ebene, und diese in der Speichereinheit 2 speichern.
-
Die Recheneinheit 3 kann jeden Punkt der zweidimensionalen Punktwolke 7 einer Zelle eines zweidimensionalen Gitters 8 (siehe 4) zuordnen, um eine partitionierte zweidimensionale Punktwolke 7' (siehe 4) zu erzeugen.
-
Die Recheneinheit 3 dient dazu, eine Menge von Randzellen der partitionierten zweidimensionalen Punktwolke 7' zu bestimmen und für jede der Randzellen einen Punkt auszuwählen, der innerhalb der jeweiligen Randzelle liegt und einen minimalen Abstand zu einer beliebigen Randgrenze hat, um die Punkte der zweidimensionalen Punktwolke 7, die Randzellen entsprechen, zu unterabtasten.
-
Die Recheneinheit 3 kann dann auf der Grundlage der ausgewählten Punkte 10 (siehe 9) der Randzellen eine unterabgetastete Punktwolke 7" (siehe 9) zum Modellieren der Oberfläche des Objekts 6 erzeugen.
-
2 zeigt ein Fahrzeug 5 mit einer beispielhaften Ausführungsform eines Systems 1 nach dem verbesserten Konzept, das als elektronisches Fahrzeugführungssystem ausgestaltet ist und das Umfeldsensorsystem 4 beinhaltet.
-
Die Recheneinheit 3 kann dann dazu eingerichtet sein, dass sie mindestens ein Steuersignal auf der Grundlage der unterabgetasteten Punktwolke 7" erzeugt, und das elektronische Fahrzeugführungssystem kann das mindestens eine Steuersignal verwenden, um das Fahrzeug 5 zumindest teilweise automatisch zu führen.
-
Die Funktionsweise des Systems 1 aus 1 und 2 wird nun anhand exemplarischer Ausführungsformen von Verfahren zur Modellierung der Oberfläche des Objekts 6 anhand der Abbildungen 3 bis 9 näher erläutert.
-
Zu diesem Zweck wird die dreidimensionale Punktwolke in zwei Phasen abgetastet, die als Rand- und Innenabtastung bezeichnet werden können. Für die Randabtastung werden zweidimensionale Projektionen berücksichtigt und für die innere Abtastung wird ein dreidimensionaler Voxelansatz gewählt.
-
Die Randabtastung ist beispielsweise eine erste Phase der Unterabtastung. Jeder Punkt ist durch entsprechende x-, y- und z-Koordinaten definiert. Dann wird eine Projektion von oben nach unten vorgenommen, indem zum Beispiel nur die x- und y-Koordinaten berücksichtigt werden. Diese zweidimensionale Projektionsebene wird dann in Zellen oder Bins einer durch die Randabtastrate bestimmten Größe partitioniert, indem die Punkte der zweidimensionalen Punktwolke 7 den Zellen eines Gitters 8 zugeordnet werden, um eine partitionierte zweidimensionale Punktwolke 7', wie in 3 und 4 dargestellt, zu erzeugen.
-
Dann überprüft die Recheneinheit 3 für jede Zelle der partitionierten zweidimensionalen Punktwolke 7' ihre von Neumann-Nachbarschaft. Wenn eine der Zellen in der von Neumann-Nachbarschaft leer ist, wird die entsprechende Zelle als Randzelle der partitionierten zweidimensionalen Punktwolke 7' identifiziert. Die Grenze der jeweiligen Randzelle mit der leeren Zelle wird als Randgrenze 9 klassifiziert, wie in 5 schematisch dargestellt. Dann kann jede Randzelle abgetastet werden, indem der Punkt ausgewählt wird, der allen Randgrenzen 9 dieser Zelle am nächsten liegt. Die ausgewählten Punkte 10 sind in 6 schematisch dargestellt.
-
Die beschriebenen Schritte können bei Bedarf für verschiedene Projektionsebenen wiederholt werden, zum Beispiel für die x-z-Ebene und/oder die y-z-Ebene.
-
Dann wird jeder ausgewählte Randpunkt 10 aus allen Projektionen in ein dreidimensionales Voxelgitter eingeordnet. Jedes Voxel, das eine Rekonstruktion eines ausgewählten Randpunktes 10 enthält, wird nicht für die innere Unterabtastung verwendet. Dann werden alle anderen Voxel abgetastet, indem der Punkt des jeweiligen Voxel genommen wird, der dem Umfeldsensorsystem 4 zum Zeitpunkt der Unterabtastung am nächsten liegt. Das Ergebnis der ausgewählten inneren Punkte 11 ist in 7 dargestellt.
-
Dann wird die unterabgetastete Punktwolke 7" zur Modellierung der Oberfläche des Objekts 6 als dreidimensionale Punktwolke rekonstruiert, die alle dreidimensionalen Rekonstruktionen der Randpunkte 10 aus allen Projektionen und alle ausgewählten inneren Punkte 11 aus der inneren Abtastung enthält, wie in 8 und 9 dargestellt.
-
Wie zum Beispiel aus 9 ersichtlich ist, kann die Genauigkeit für die gewählten Randpunkte 10 hoch gehalten werden, während sie für die inneren Punkte 11 niedriger gewählt wird, um den Speicher- und Rechenaufwand zu reduzieren.
-
Wie insbesondere im Hinblick auf die Abbildungen beschrieben, bietet das verbesserte Konzept Verfahren und Systeme, um die Oberfläche eines Objekts besonders effizient zu modellieren, wobei die Genauigkeit, insbesondere in Bezug auf die Kanten, hoch genug ist, um Aufgaben, zum Beispiel Objekterkennungsaufgaben, mit ausreichender Zuverlässigkeit zu erfüllen, während der Speicher- und Rechenaufwand noch deutlich reduziert wird.
-
Eine dreidimensionale Punktwolke kann zur Modellierung der Oberfläche eines Objekts verwendet werden. Im Allgemeinen gilt, dass, je mehr Punkte verwendet werden, desto genauer und detaillierter die Modellierung wird. Es kann jedoch rechnerisch sehr aufwändig werden, Informationen aus hochdichten Punktwolken zu extrahieren, und solche Punktwolken können viel Speicherplatz beanspruchen. Daher kann es vorteilhaft sein, die Punktwolke unterabzutasten. Um signifikante Informationsverluste zu vermeiden, werden bei der Unterabtastung gemäß mehreren Ausführungsformen des verbesserten Konzepts die Randpunkte in ausreichendem Maße beibehalten. Darüber hinaus sind die Verfahrensschritte rechentechnisch unaufwändig, so dass die Unterabtastung in Echtzeit durchgeführt werden kann.
-
Mehrere Ausführungsformen des verbesserten Konzepts machen sich eine Auftrennung der Unterabtastung in eine Randunterabtastphase und eine innere Unterabtastphase zunutze. Die Parameter für beide Phasen sind unabhängig voneinander, so dass die Genauigkeit der Kanten hoch gehalten werden kann und der Speicherbedarf reduziert werden kann.
-
Die Randunterabtastung kann die erste Phase der Unterabtastung sein. Eine zweidimensionale Projektionsebene wird dann in Bins partitioniert, deren Größe durch die Randabtastrate bestimmt ist. Jeder Punkt wird dann entsprechend eingeordnet. Der nächste Schritt bei der Kantenerkennung ist die Bestimmung, welche dieser Bins Randbins sind. Dabei wird geprüft, ob die benachbarten Bins eines bestimmten Bins leer sind oder ob sie Punkte enthalten. Wenn einer der benachbarten Bins leer ist, wird ein Bin als Randbin betrachtet. Wenn ein Bin als Randbin bestimmt wird, werden die Punkte, die der Seite des Bins, die ein Rand ist, am nächsten liegen, als Randpunkte klassifiziert. Dieser Vorgang kann für andere Projektionen wiederholt werden.
-
Nach der Randunterabtastung kann die innere Unterabtastung folgen. Der dreidimensionale Raum wird in dreidimensionale Voxel einer Größe partitioniert, die der inneren Abtastrate entspricht. Der erste Schritt der inneren Abtastung besteht darin, herauszufinden, welche Voxel Randpunkte enthalten. Diese Voxel werden für den Schritt der inneren Abtastung ignoriert. Die restlichen Punkte werden dann zu dem entsprechenden Voxel hinzugefügt. Beispielsweise kann dann aus jedem Voxel der Punkt ausgewählt werden, der dem erfassenden Sensorsystem am nächsten liegt.
-
Das Verhältnis der abgetasteten Randpunkte zu den abgetasteten inneren Punkten kann leicht durch Änderung der Bin- und Voxelgrößen variiert werden. Dies ermöglicht eine hohe Dichte für die Ränder und eine geringere Dichte für Nicht-Ränder. Ein weiterer Vorteil ist, dass das Verhältnis der resultierenden Ränder in einem maschinellen Lernverfahren verwendet werden kann, um auf die Klasse und Orientierung der detektierten Objekte in der unterabgetasteten Punktwolke zu schließen.
-
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 Nicht-Patentliteratur
-
- Norm von dem Juni 2018 [0056]