-
Die vorliegende Erfindung betrifft ein Verfahren zur Analyse einer Umgebung eines aktiven optischen Sensorsystems, wobei mittels eines aktiven optischen Sensorsystems eine geordnete Punktwolke von Abtastpunkten der Umgebung erzeugt wird, wobei die Punktwolke eine Koordinatenmatrix für jede Raumdimension aufweist. Die Erfindung betrifft ferner eine Sensorvorrichtung mit einem aktiven optischen Sensorsystem und einer Recheneinheit, ein Kraftfahrzeug, ein Computerprogramm, sowie ein computerlesbares Speichermedium.
-
Aktive optische Sensorsysteme, beispielsweise Lidarsysteme, die mitunter auch als Laserscanner bezeichnet werden, können an Kraftfahrzeugen montiert werden, um vielfältige Funktionen elektronischer Fahrzeugführungssysteme oder Fahrerassistenzsysteme zu realisieren. Diese Funktionen beinhalten beispielsweise Abstandsmessungen, Abstandsregelalgorithmen, Spurhalteassistenten, Objektverfolgungsfunktionen und so weiter.
-
Diese Funktionen beruhen in der Regel auf der Analyse der räumlichen Umgebung des Kraftfahrzeugs und somit des aktiven optischen Sensorsystems mittels Verfahren zur Bildverarbeitung. Beispielsweise können Oberflächennormalen, also Normalenvektoren, die auf der Oberfläche von Objekten in der Umgebung senkrecht stehen, zur Analyse der Umgebung beziehungsweise der Objekte herangezogen werden. Verschiedene Objekte zeichnen sich beispielsweise durch charakteristische Richtungen, Richtungsverteilungen oder -verläufe ihrer Oberflächennormalen aus. Beispielsweise können Oberflächennormalen einer Fahrbahnoberfläche über einen großen Bereich hinweg näherungsweise parallel zueinander sein, während Oberflächennormalen eines Kraftfahrzeugs in verschiedene Richtungen zeigen.
-
Die Veröffentlichung „Adaptive Neighborhood Selection for Real-Time Surface Normal Estimation from Organized Point Cloud Data Using Integral Images‟, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012, Portugal von S. Holzer et al. beschreibt ein Verfahren zur Bestimmung von Oberflächennormalen für Robotikanwendungen auf der Basis von Kamerabildern.
-
Aus dem Stand der Technik sind außerdem beispielsweise Laserscanner bekannt, die durch Abtastung der Umgebung für diskrete Abtastrichtungen und eine entsprechende Entfernungsmessung, beispielsweise mittels Lichtlaufzeitmessung, Entfernungsbilder der Umgebung erzeugen können.
-
In verschiedenen Anwendungsbereichen, insbesondere im Bereich der Automobiltechnologie, stellt die Rechenkapazität, insbesondere von CPUs, eine begrenzte Ressource dar.
-
Zudem kann es beim Abtasten der Umgebung mittels des Laserscanners dazu kommen, dass für einzelne Abtastrichtungen keine Messung vorgenommen werden kann oder eine Messung fehlerhaft ist. Dies kann zu führen, dass die Punktwolke, welche beispielsweise eine Matrixstruktur aufweist, fehlerhafte oder fehlende Einträge aufweist. Solche Einträge können die Genauigkeit der Berechnung der Oberflächennormalen negativ beeinflussen sowie die Effekte von Signalrauschen verstärkt in Erscheinung treten lassen.
-
Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept zur Analyse einer Umgebung eines aktiven optischen Sensorsystems anzugeben, das eine genauere Abschätzung von Oberflächennormalen bei geringem oder reduziertem Rechenaufwand ermöglicht.
-
Erfindungsgemäß wird diese Aufgabe gelöst durch den jeweiligen Gegenstand der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
-
Das verbesserte Konzept beruht auf der Idee, eine Koordinatenmatrix der Punktwolke zu mitteln, um den Einfluss von Rauschen zu reduzieren und bei der Mittelung fehlende Einträge beziehungsweise fehlende Abtastpunkte oder Fehlereinträge in der Punktwolke explizit zu berücksichtigen.
-
Gemäß einem unabhängigen Aspekt des verbesserten Konzepts wird ein Verfahren zur Analyse einer Umgebung eines aktiven optischen Sensorsystems angegeben, wobei mittels des aktiven optischen Sensorsystems, insbesondere mittels des Sensorsystems und einer Recheneinheit, eine geordnete Punktwolke von Abtastpunkten der Umgebung erzeugt wird, wobei die Punktwolke eine Koordinatenmatrix für jede Raumdimension, insbesondere für kartesische Raumdimensionen, aufweist. Mittels der Recheneinheit wird die Koordinatenmatrix modifiziert, indem Fehlereinträge, insbesondere alle Fehlereinträge, in der Koordinatenmatrix jeweils durch einen ersten Referenzzahlenwert ersetzt werden. Mittels der Recheneinheit wird ein Integralbild der modifizierten Koordinatenmatrix erzeugt und für jeden Eintrag der modifizierten Koordinatenmatrix wird ein, insbesondere quadratischer, Teilbereich der modifizierten Koordinatenmatrix definiert. Für jeden der Teilbereiche wird mittels der Recheneinheit abhängig von der Anzahl von in dem jeweiligen Teilbereich ersetzten Fehlereinträgen eine zugehörige Kennzahl bestimmt. Für jeden Eintrag der modifizierten Koordinatenmatrix wird mittels der Recheneinheit ein Mittelwert von Einträgen, insbesondere von allen Einträgen, innerhalb des jeweiligen Teilbereichs basierend auf dem Integralbild und basierend auf der Kennzahl des jeweiligen Teilbereichs berechnet, um eine gemittelte Koordinatenmatrix zu erzeugen. Mittels der Recheneinheit wird für wenigstens einen der Abtastpunkte basierend auf der gemittelten Koordinatenmatrix eine Oberflächennormale bestimmt.
-
Für jede der Abtastrichtungen übermittelt das aktive optische Sensorsystem beispielsweise zugehörige Sensordaten an die Recheneinheit. Die Recheneinheit kann dann basierend auf den Sensordaten für die verschiedenen Abtastrichtungen das Entfernungsbild erzeugen. Alternativ kann eine weitere Recheneinheit basierend auf den Sensordaten für die verschiedenen Abtastrichtungen das Entfernungsbild erzeugen und dieses an die Recheneinheit übertragen.
-
Die Entfernung, die mittels des aktiven optischen Sensorsystems für jede der Abtastrichtungen bestimmt wird, entspricht insbesondere einer Entfernung des aktiven optischen Sensorsystems, insbesondere eines optischen Detektors des aktiven optischen Sensorsystems, von einem Objekt in der Umgebung, das sich bezüglich des aktiven optischen Sensorsystems in Richtung der jeweiligen Abtastrichtung befindet.
-
Ein aktives optisches Sensorsystem weist definitionsgemäß eine Lichtquelle zum Aussenden von Licht beziehungsweise von Lichtimpulsen auf. Die Lichtquelle kann insbesondere als Laser ausgestaltet sein. Des Weiteren weist ein aktives optisches Sensorsystem definitionsgemäß wenigstens einen optischen Detektor auf, um reflektierte Anteile des ausgesendeten Lichts zu erfassen. Das aktive optische Sensorsystem ist insbesondere dazu eingerichtet, basierend auf den detektierten Anteilen des Lichts eines oder mehrere Sensorsignale zu erzeugen und zu verarbeiten oder auszugeben, insbesondere um die Sensordaten zu erzeugen.
-
Hier und im Folgenden kann der Begriff „Licht“ derart verstanden werden, dass damit elektromagnetische Wellen im sichtbaren Bereich, im infraroten Bereich und/oder im ultravioletten Bereich umfasst sind. Dementsprechend kann auch der Begriff „optisch“ derart verstanden werden, dass er sich auf Licht nach diesem Verständnis bezieht.
-
Basierend auf einem Laufzeitunterschied zwischen Aussenden der Lichtpulse und Detektieren der Lichtpulse kann dann die entsprechende Entfernung des optischen Detektors von dem reflektierenden Objekt bestimmt werden.
-
Das aktive optische Sensorsystem kann beispielsweise eine Ablenkvorrichtung zum Ablenken der ausgesendeten sowie der reflektierten Lichtpulse beinhalten. So können insbesondere Lichtpulse in unterschiedliche Richtung ausgesendet werden und Lichtpulse aus unterschiedlichen Einfallrichtungen detektiert werden, indem sie mittels der Ablenkvorrichtung auf den einen oder mehrere optische Detektoren gelenkt werden.
-
Das aktive optische Sensorsystem kann beispielsweise eine Ablenkvorrichtung zum Ablenken der ausgesendeten sowie der reflektierten Lichtpulse beinhalten. So können insbesondere Lichtpulse in unterschiedliche Richtung ausgesendet werden und Lichtpulse aus unterschiedlichen Einfallsrichtungen detektiert werden, indem sie mittels der Ablenkvorrichtung auf den einen oder mehrere optische Detektoren gelenkt werden.
-
Die Ablenkvorrichtung kann beispielsweise einen rotierbaren Spiegel beinhalten, auf den das Licht der Lichtquelle trifft und dementsprechend zu unterschiedlichen Zeitpunkten in unterschiedliche Aussenderichtungen ausgesendet wird. Dadurch ist senkrecht zu der Rotationsachse des Spiegels eine Aussendeebene des aktiven optischen Sensorsystems definiert.
-
Je nach Einfallsrichtung des reflektierten Lichts und je nach aktueller Spiegelstellung des rotierenden Spiegels kann reflektiertes Licht mittels des Spiegels aus verschiedenen Einfallrichtungen auf den oder die optischen Detektoren gelenkt werden. Durch die unterschiedlichen Spiegelstellungen können beispielsweise die verschiedenen horizontalen Abtastwinkel definiert sein.
-
Das aktive optische Sensorsystem kann beispielsweise mehrere optische Detektoren aufweisen, beispielsweise drei oder mehr optische Detektoren. Die optischen Detektoren können beispielsweise entlang einer Richtung parallel zur Rotationsachse des Spiegels oder senkrecht zur Aussendeebene angeordnet sein. Je nach Richtung des einfallenden reflektierten Lichts kann das Licht also mittels des Spiegels auf unterschiedliche der optischen Detektoren gelenkt werden. Dadurch kann beispielsweise der vertikale Abtastwinkel definiert sein, insbesondere kann jeder diskrete Wert für den vertikalen Abtastwinkel einem entsprechenden der optischen Detektoren entsprechen.
-
Die Sensordaten umfassen also für jeden detektierten Lichtpuls den horizontalen Abtastwinkel, beispielsweise bestimmt basierend auf der aktuellen Spiegelstellung, dem zugehörigen vertikal Abtastwinkel, identifiziert über den entsprechenden angeregten optischen Detektor, sowie die zugehörige Entfernung des reflektierenden Objekts von dem optischen Detektor beziehungsweise die entsprechende Lichtlaufzeit.
-
Die Koordinatenmatrix kann auch als geordnete Menge von Koordinaten der Abtastpunkte in der entsprechenden Raumdimension betrachtet werden, wobei die Menge wie beschrieben entsprechend der vertikalen und horizontalen Abtastwinkel geordnet ist. Aus diesem Grund wird die Punktwolke, die diese Struktur ebenfalls aufweist, auch als geordnete Punktwolke bezeichnet.
-
Insbesondere kann die Punktwolke für jede der drei kartesischen Raumdimensionen eine entsprechende Koordinatenmatrix aufweisen. Die bezüglich einer Koordinatenmatrix beschriebenen Schritte können analog auch für die übrigen Koordinatenmatrizen der übrigen Raumdimensionen durchgeführt werden.
-
Unter einer Matrix kann insbesondere eine Abbildung F verstanden werden, die wie folgt definiert ist:
wobei M die Anzahl der Zeilen und N die Anzahl der Spalten der Matrix ist.
-
Ein Abtastpunkt der Punktwolke kann insbesondere als dreidimensionales Koordinatentupel verstanden werden, wobei die x-, y- und z-Koordinate des Abtastpunkts durch die jeweils zueinander gehörenden, also zu einer bestimmten Abtastrichtung gehörenden, Einträge der verschiedenen Koordinatenmatrizen gegeben sind.
-
Ein Fehlereintrag entspricht einem Eintrag der Koordinatenmatrix, für den der Abtastpunkt, beziehungsweise die Lichtlaufzeit oder die entsprechende Entfernung, nicht oder nicht korrekt bestimmt werden konnte. Der Fehlereintrag kann dabei beispielsweise einem „keine Zahl“-Eintrag (englisch: „Not a number“, NaN) entsprechen. Ein Fehlereintrag kann mit anderen Worten einem vordefinierten Platzhalterwert entsprechen.
-
Um die Koordinatenmatrix zu modifizieren, überprüft die Recheneinheit beispielsweise alle Einträge der Koordinatenmatrix und ersetzt bei Vorliegen eines Fehleintrags diesen durch den ersten Referenzzahlenwert. Der erste Referenzzahlenwert kann dabei insbesondere gleich Null sein. Wird ein anderer Zahlenwert als Null für den ersten Referenzzahlenwert verwendet, so sind die im Folgenden angeführten Gleichungen gegebenenfalls entsprechend zu modifizieren.
-
Der quadratische Teilbereich wird mittels der Recheneinheit beispielsweise derart definiert, dass für jeden Eintrag der Koordinatenmatrix eine Größe r des Teilbereichs definiert wird, und der Teilbereich einem Quadrat mit r2 Einträgen der Koordinatenmatrix entspricht, die den betrachteten Eintrag, für den der Teilbereich definiert wird, beinhaltet. Dabei kann der Wert für r beispielsweise fest vorgegeben sein oder mittels der Recheneinheit für verschiedene Einträge der Koordinatenmatrix individuell bestimmt werden. Die individuelle Bestimmung kann beispielsweise basierend auf den Sensordaten, einem Entfernungsbild oder einer entsprechenden Tiefenänderungskarte erfolgen. Beispielsweise kann der Wert für r derart definiert werden, dass in den Teilbereichen jeweils keine Kante liegt.
-
Bei dem Mittelwert handelt es sich nicht notwendigerweise um einen arithmetischen Mittelwert. Vielmehr können andere Definitionen eines Mittelwerts verwendet werden. Insbesondere kann ein getrimmter Mittelwert verwendet werden.
-
Der Mittelwert entspricht insbesondere einem Mittelwert über alle Einträge in dem Teilbereich, die nicht durch den Referenzzahlenwert ersetzt wurden. Damit wird sichergestellt, dass der Mittelwert nur korrekt bestimmte Entfernungen beziehungsweise Koordinaten von Abtastpunkten berücksichtigt.
-
Die Kennzahl für einen bestimmten Teilbereich kann beispielsweise gleich der Anzahl von in diesem Teilbereich ersetzten Fehlereinträgen sein. Die Kennzahl kann auch gleich der Anzahl von Einträgen in dem Teilbereich sein, die nicht durch den Referenzzahlenwert ersetzt wurden, also 4r2 minus der Anzahl von ersetzten Fehlereinträgen.
-
Um die gemittelte Koordinatenmatrix zu erzeugen, berechnet die Recheneinheit insbesondere für jeden Eintrag der Koordinatenmatrix wie beschrieben den Mittelwert und ersetzt den Eintrag durch den so berechneten Mittelwert.
-
Gemäß dem verbesserten Konzept kann die wie beschrieben bestimmte Oberflächennormale zur Analyse der Umgebung herangezogen werden, wobei die Analyse der Umgebung die Bestimmung der Oberflächennormale beinhalten kann oder daraus bestehen kann.
-
Gemäß zumindest einer Ausführungsform wird die Umgebung mittels der Recheneinheit basierend auf der Oberflächennormalen analysiert.
-
Insbesondere kann die Oberflächennormale für alle Abtastpunkte wie beschrieben bestimmt werden.
-
Zur Bestimmung der Oberflächennormale kann die Recheneinheit neben der gemittelten Koordinatenmatrix die übrigen beiden Koordinatenmatrizen oder entsprechende weitere gemittelte Koordinatenmatrizen verwenden, wobei die Mittelung analog wie oben beschrieben erfolgt.
-
Durch die Berechnung des Mittelwerts und dessen Verwendung zur Bestimmung der Oberflächennormalen wird der Einfluss von Signalrauschen oder sonstigen Rauscheffekten reduziert, was zu einer besonders genauen Bestimmung der Oberflächennormalen führt. Durch die Bestimmung der Oberflächennormalen anhand der für die beschriebenen Schritte erforderlichen Matrixmodifikationen ist das Verfahren nach dem verbesserten Konzept mit einem besonders geringen Rechenaufwand realisierbar.
-
Dadurch, dass die Anzahl der Fehlereinträge in dem jeweiligen zur Mittelwertberechnung herangezogenen Teilbereich explizit berücksichtigt wird, kann die Genauigkeit bei der Bestimmung der Oberflächennormalen erhöht werden und der Einfluss von Rauschen weiter reduziert werden. Insbesondere können größere Teilbereiche zur Mittelung herangezogen worden, da die Fehlereinträge in dem Teilbereich explizit berücksichtigt und verarbeitet werden. Insbesondere muss der Teilbereich nicht aufgrund etwaiger Fehlereinträge besonders klein gewählt werden, um die Mittelung über Teilbereiche mit Fehlereinträgen ganz zu vermeiden. Dadurch kann eine effektivere Mittelwertbildung, also insbesondere eine stärkere Reduktion des Rauschens, erzielt werden.
-
Für eine Matrix nach der obigen Definition (
1) ist der Eintrag (m, n) eines Integralbilds wie folgt definiert:
-
Für den Mittelwert O'
mod(m, n) eines Eintrags O
mod(m, n) der modifizierten Koordinatenmatrix gilt dann:
wobei k die Anzahl der Einträge in dem entsprechenden Teilbereich bezeichnet, die nicht durch den ersten Referenzwert ersetzt wurde.
-
Durch die Verwendung des Integralbilds für die Berechnung des Mittelwerts kann die Anzahl der erforderlichen Rechenschritte reduziert werden, was den Rechenaufwand des Verfahrens weiter reduziert. Insbesondere muss das Integralbild nur einmalig bestimmt werden und kann dann für alle Mittelungen herangezogen werden.
-
Insbesondere wird dadurch die Implementierung des verbesserten Konzepts beziehungsweise des Verfahrens nach dem verbesserten Konzept auf feldprogrammierbaren Gate-Arrays ermöglicht, sodass die Rechenschritte nicht auf einer CPU durchgeführt werden müssen. Ein feldprogrammierbares Gate-Array wird auch als Field Programmable Gate Array, FPGA, bezeichnet.
-
Gemäß zumindest einer Ausführungsform des Verfahrens zur Analyse der Umgebung nach dem verbesserten Konzept weist die Punktwolke für jede der drei kartesischen Raumdimensionen eine zugehörige Koordinatenmatrix auf. Jede der Koordinatenmatrizen wird mittels der Recheneinheit modifiziert, indem Fehlereinträge in den jeweiligen Koordinatenmatrizen jeweils durch den ersten Referenzzahlenwert ersetzt werden. Für jede der modifizierten Koordinatenmatrizen wird ein zugehöriges Integralbild mittels der Recheneinheit erzeugt. Für jeden Eintrag jeder modifizierten Koordinatenmatrix wird der Teilbereich definiert, wobei einander entsprechenden Einträgen unterschiedlicher Koordinatenmatrizen derselbe Teilbereich, also insbesondere ein Teilbereich derselben Größe und Form, zugeordnet wird. Es wird für jede der modifizierten Koordinatenmatrizen für jeden Teilbereich eine zugehörige Kennzahl bestimmt, wobei die Kennzahl jeweils von der Anzahl der in der entsprechenden Koordinatenmatrix ersetzten Fehlereinträge in dem jeweiligen Teilbereich abhängt. Für jeden Eintrag der modifizierten Koordinatenmatrizen wird ein Mittelwert von Einträgen innerhalb des jeweiligen Teilbereichs basierend auf dem zugehörigen Integralbild der modifizierten Koordinatenmatrix und der jeweiligen Kennzahl der entsprechenden modifizierten Koordinatenmatrix berechnet, um entsprechende gemittelte Koordinatenmatrizen zu erzeugen. Die Oberflächennormale wird für den wenigstens einen Abtastpunkt basierend auf allen drei ermittelten Koordinatenmatrizen bestimmt.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit für einen Abtastpunkt, für den die Oberflächennormale bestimmt werden soll, ein erster Vektor bestimmt, der zwei horizontal benachbarte Abtastpunkte des betrachteten Abtastpunkts miteinander verbindet, wobei die Koordinaten der gemittelten Koordinatenmatrizen verwendet werden, falls vorhanden. Entsprechend wird ein zweiter Vektor bestimmt, der zwei vertikal benachbarte Abtastpunkte miteinander verbindet. Die Oberflächennormale wird basierend auf dem ersten und dem zweiten Vektor bestimmt, insbesondere basierend auf einem Vektorprodukt oder Kreuzprodukt des ersten und des zweiten Vektors.
-
Bei den vertikal benachbarten Abtastpunkten handelt es sich insbesondere um nächste Nachbarn des betrachteten Abtastpunkts, für den die Oberflächennormale bestimmt werden soll. Entsprechend der geordneten Struktur der Koordinatenmatrix gehören die beiden horizontal benachbarten Abtastpunkte zu demselben vertikalen Abtastwinkel und die beiden vertikalen benachbarten Abtastpunkte gehören zu demselben horizontalen Abtastwinkel.
-
Der erste und der zweite Vektor spannen also eine Ebene auf, die näherungsweise einer Objektoberfläche der Umgebung entspricht, in dessen Zentrum der betrachtete gemittelte Abtastpunkt beziehungsweise die entsprechende Abtastrichtung liegt. Ein Normalenvektor, der senkrecht auf dieser von den beiden Vektoren aufgespannten Ebene steht, kann also näherungsweise als Oberflächennormale für die betrachtete Abtastrichtung beziehungsweise an dem entsprechenden Abtastpunkt angesehen werden.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit eine Fehlermatrix erzeugt, die an Positionen, welche den Fehlereinträgen in der Koordinatenmatrix oder einer der weiteren Koordinatenmatrizen entsprechen, einen zweiten Referenzzahlenwert aufweist. Die Kennzahl wird mittels der Recheneinheit basierend auf der Fehlermatrix bestimmt.
-
Die Fehlermatrix hat insbesondere die gleiche Anzahl von Zeilen und Spalten wie die Koordinatenmatrix.
-
Insbesondere sind alle Einträge der Fehlermatrix, die nicht den Positionen der Fehlereinträge entsprechen, die also nicht den zweiten Referenzzahlenwert aufweisen, gleich Null.
-
Der zweite Referenzzahlenwert ist insbesondere gleich 1. Wird ein davon abweichender zweiter Referenzzahlenwert verwendet, so sind im Folgenden erläuterte Gleichungen gegebenenfalls zu korrigieren.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit ein Integralbild der Fehlermatrix erzeugt und die Kennzahl wird basierend auf dem Integralbild der Fehlermatrix und basierend auf dem Integralbild der modifizierten Koordinatenmatrix bestimmt.
-
Dadurch wird eine besonders einfache und wenig rechenaufwendige Berechnung des Mittelwerts beziehungsweise der Kennzahl möglich. Insbesondere kann die Kennzahl als die Anzahl k wie folgt berechnet werden, wobei C(m, n) einen entsprechenden Eintrag der Fehlermatrix bezeichnet:
-
Zusammen mit Gleichung (3) ergibt sich damit für den Mittelwert:
-
Gemäß zumindest einer Ausführungsform wird ein Entfernungsbild der Umgebung erzeugt, indem mittels des aktiven optischen Sensorsystems für die Vielzahl von Abtastrichtungen jeweils die zugehörige Entfernung bestimmt wird, wobei jede der Abtastrichtungen durch den zugehörigen horizontalen Abtastwinkel und den zugehörigen vertikalen Abtastwinkel definiert ist. Mittels der Recheneinheit wird die Punktwolke basierend auf dem Entfernungsbild erzeugt.
-
Das Entfernungsbild entspricht beispielsweise einer Matrix, bei der unterschiedliche Zeilen unterschiedlichen vertikalen Abtastwinkeln entsprechen und unterschiedliche Spalten unterschiedlichen horizontalen Abtastwinkeln oder umgekehrt. Die jeweiligen Einträge in der Matrix entsprechen den zugehörigen Entfernungen.
-
„Horizontal“ und „vertikal“ sind insbesondere bezüglich des Sensorsystems definiert, beispielsweise bezüglich der Aussendeebene. Liegt beispielsweise eine erste Abtastrichtung mit erstem vertikalen und erstem vertikalen Abtastwinkel innerhalb der Aussendeebene, so kann eine zweite Abtastrichtung mit dem ersten vertikalen Abtastwinkel und einem von dem ersten horizontalen Abtastwinkel abweichenden zweiten horizontalen Abtastwinkel ebenfalls in der Aussendeebene liegen. Eine dritte Abtastrichtung mit dem ersten horizontalen Abtastwinkel und einem von dem ersten vertikalen Abtastwinkel verschiedenen zweiten vertikalen Abtastwinkel liegt beispielsweise nicht in der Aussendeebene, sondern in einer dazu senkrechten Ebene.
-
Die Recheneinheit führt insbesondere eine Koordinatentransformation basierend auf dem Entfernungsbild durch, um die geordnete Punktwolke zu erzeugen. Die Koordinatentransformation entspricht dabei einer Transformation von Polarkoordinaten, in denen das Entfernungsbild, wie oben beschrieben, gegeben ist, in kartesische Koordinaten. Dabei wird jedoch die genannte Matrixstruktur beibehalten.
-
Dementsprechend beinhaltet die geordnete Punktwolke beispielsweise für jede der drei kartesischen Raumdimensionen eine entsprechende Koordinatenmatrix, wobei Zeilen und Spalten den verschiedenen vertikalen und horizontalen Abtastwinkeln entsprechen, wie für das Entfernungsbild beschrieben, und die Einträge der Koordinatenmatrizen den entsprechenden kartesischen Koordinaten, also x-, y- beziehungsweise z-Koordinaten, entsprechen.
-
Insbesondere wird in dieser Art und Weise sichergestellt, dass benachbarte Punkte in dem Entfernungsbild, also benachbarte Matrixeinträge in dem Entfernungsbild, auch in den jeweiligen Koordinatenmatrizen auf entsprechend benachbarte Einträge abgebildet werden.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit eine Bildsegmentierung, insbesondere der Umgebung, also der Objekte in der Umgebung, abhängig von der Oberflächennormalen, insbesondere abhängig von allen bestimmten Oberflächennormalen, durchgeführt. Die Analyse der Umgebung beinhaltet insbesondere die Bildsegmentierung.
-
Bei der Segmentierung werden insbesondere zusammenhängende oder in sonstiger Weise korrelierte Objekte oder Objektteile in der Umgebung als solche identifiziert. Basierend auf der Bildsegmentierung kann eine weitere Analyse der Umgebung erfolgen.
-
Alternativ oder zusätzlich können die segmentierten Bildbereiche zur weiteren Verarbeitung verwendet werden, was mit einer Datenreduktion einhergehen kann.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit basierend auf einem Ergebnis der Bildsegmentierung eine Objektklassifizierung und/oder Objektverfolgung durchgeführt. Die Analyse der Umgebung beinhaltet insbesondere die Objektklassifizieru ng.
-
Im Rahmen der Objektklassifizierung und/oder Objektverfolgung ordnet die Recheneinheit einzelnen Objekten in der Umgebung beispielsweise eine bestimmte vorgegebene Klasse zu. Insbesondere kann die Klassifizierung der Zuordnung einer Semantik zu den entsprechenden Objekten oder Objektteilen entsprechen.
-
Beispielsweise können durch die Objektklassifizierung unterschiedliche Arten von Objekten in der Umgebung unterschieden werden. Beispielsweise kann eine Fahrbahnoberfläche einer anderen Klasse zugeordnet werden als beispielsweise eine Gebäudewand, ein weiteres Kraftfahrzeug oder ein Fußgänger.
-
Gemäß zumindest einer Ausführungsform wird mittels der Recheneinheit basierend auf einem Ergebnis der Bildsegmentierung eine Bounding Box für ein Objekt in der Umgebung bestimmt, also ein Hüllkörper oder eine Hüllfigur, die das Objekt einschließt. Die Analyse der Umgebung beinhaltet insbesondere das Erzeugen oder Bestimmen der Bounding Box.
-
Gemäß zumindest einer Ausführungsform handelt es sich bei der Umgebung des aktiven optischen Sensorsystems um eine Umgebung eines Kraftfahrzeugs, an dem oder in dem das aktive optische Sensorsystem montiert ist.
-
Mit anderen Worten handelt es sich um ein Verfahren zur Analyse einer Umgebung des Kraftfahrzeugs, wobei das aktive optische Sensorsystem an oder in dem Kraftfahrzeug montiert ist.
-
Ergebnisse der Analyse können beispielsweise durch ein Fahrerassistenzsystem des Kraftfahrzeugs und/oder zur teilautonomen oder vollautonomen Steuerung des Kraftfahrzeugs mittels eines elektronischen Fahrzeugführungssystems genutzt werden.
-
Gemäß einem weiteren unabhängigen Aspekt des verbesserten Konzepts wird eine Sensorvorrichtung, insbesondere für ein Kraftfahrzeug, angegeben. Die Sensorvorrichtung weist ein aktives optisches Sensorsystem auf, das dazu eingerichtet ist, für eine Vielzahl von Abtastrichtungen jeweils eine zugehörige Entfernung zu bestimmen und basierend auf der Entfernung zugehörige Sensordaten zu erzeugen. Die Sensorvorrichtung weist eine Recheneinheit auf, die dazu eingerichtet ist, basierend auf den Sensordaten der Vielzahl von Abtastrichtungen eine geordnete Punktwolke von Abtastpunkten der Umgebung zu erzeugen, wobei die Punktwolke eine Koordinatenmatrix für eine Raumdimension aufweist. Die Recheneinheit ist dazu eingerichtet, Fehlereinträge, insbesondere alle Fehlereinträge, in der Koordinatenmatrix jeweils durch einen ersten Referenzzahlenwert zu ersetzen, um die Koordinatenmatrix zu modifizieren. Die Recheneinheit ist dazu eingerichtet, ein Integralbild der modifizierten Koordinatenmatrix zu erzeugen und für jeden Eintrag der modifizierten Koordinatenmatrix einen, insbesondere quadratischen, Teilbereich der modifizierten Koordinatenmatrix zu definieren. Die Recheneinheit ist dazu eingerichtet, für jeden Teilbereich abhängig von der Anzahl von ersetzen Fehlereinträgen in dem Teilbereich eine zugehörige Kennzahl zu bestimmen. Die Recheneinheit ist dazu eingerichtet, für jeden Eintrag der modifizierten Koordinatenmatrix einen Mittelwert von Einträgen, insbesondere aller Einträge, innerhalb des jeweiligen Teilbereichs basierend auf dem Integralbild und basierend auf der Kennzahl des jeweiligen Teilbereichs zu berechnen, um eine gemittelte Koordinatenmatrix zu erzeugen. Die Recheneinheit ist dazu eingerichtet, für wenigstens einen der Abtastpunkte basierend auf der gemittelten Koordinatenmatrix eine Oberflächennormale zu bestimmen.
-
Gemäß zumindest einer Ausführungsform der Sensorvorrichtung ist das aktive optische Sensorsystem als Laserscanner oder Lidarsystem ausgestaltet.
-
Gemäß zumindest einer Ausführungsform enthält die Recheneinheit ein feldprogrammierbares Gate-Array, um die Punktwolke zu erzeugen, die Fehlereinträge zu ersetzen und/oder das Integralbild der modifizierten Koordinatenmatrix zu erzeugen und/oder die Kennzahl zu bestimmen und/oder den Mittelwert zu berechnen und/oder die Oberflächennormale zu bestimmen.
-
Weitere Ausführungsformen der Sensorvorrichtung nach dem verbesserten Konzept ergeben sich unmittelbar aus den verschiedenen Ausgestaltungsformen des Verfahrens nach dem verbesserten Konzept und umgekehrt. Insbesondere kann die Sensorvorrichtung nach dem verbesserten Konzept dazu eingerichtet oder programmiert sein, ein Verfahren nach dem verbesserten Konzept durchzuführen oder die Sensorvorrichtung führt ein Verfahren nach dem verbesserten Konzept durch.
-
Gemäß einem weiteren unabhängigen Aspekt des verbesserten Konzepts wird ein Kraftfahrzeug mit einer Sensorvorrichtung nach dem verbesserten Konzept angegeben.
-
Gemäß einem weiteren unabhängigen Aspekt des verbesserten Konzepts wird ein Computerprogramm mit Befehlen angegeben. Bei Ausführung des Computerprogramms durch eine Sensorvorrichtung nach dem verbesserten Konzept, insbesondere durch die Recheneinheit der Sensorvorrichtung, veranlassen die Befehle die Sensorvorrichtung dazu, ein Verfahren nach dem verbesserten Konzept durchzuführen.
-
Gemäß einem weiteren unabhängigen Aspekt des verbesserten Konzepts wird ein computerlesbares Speichermedium angegeben, auf dem ein Computerprogramm nach dem verbesserten Konzept gespeichert ist.
-
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, den Figuren und der Figurenbeschreibung. Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar, ohne den Rahmen der Erfindung zu verlassen. Es sind somit auch Ausführungen von der Erfindung als erfasst und offenbart anzusehen, die in den Figuren nicht explizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es sind auch Ausführungen und Merkmalskombinationen als offenbart anzusehen, die somit nicht alle Merkmale eines ursprünglich formulierten unabhängigen Anspruchs aufweisen. Es sind darüber hinaus Ausführungen und Merkmalskombinationen, insbesondere durch die oben dargelegten Ausführungen, als offenbart anzusehen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von denen abweichen.
-
In den Figuren zeigen:
- 1 eine schematische Darstellung eines Kraftfahrzeugs mit einer beispielhaften Ausführungsform einer Sensorvorrichtung nach dem verbesserten Konzept;
- 2 eine schematische Darstellung eines aktiven optischen Sensorsystems einer weiteren beispielhaften Ausführungsform einer Sensorvorrichtung nach dem verbesserten Konzept;
- 3 ein Ablaufdiagramm einer beispielhaften Ausführungsform eines Verfahrens nach dem verbesserten Konzept; und
- 4 ein Ablaufdiagramm einer weiteren beispielhaften Ausführungsform eines Verfahrens nach dem verbesserten Konzept.
-
In 1 ist ein Kraftfahrzeug 1 gezeigt, das eine beispielhafte Ausführungsform einer Sensorvorrichtung 7 nach dem verbesserten Konzept aufweist.
-
Die Sensorvorrichtung 7 beinhaltet ein aktives optisches Sensorsystem 2, das beispielsweise als Lidar-System ausgestaltet ist. Die Sensorvorrichtung 7 beinhaltet außerdem eine Recheneinheit 6, die mit dem Sensorsystem 2 verbunden ist und Sensordaten von diesem erhalten kann. Die Recheneinheit 6 enthält insbesondere ein FPGA, das zusammen mit dem Sensorsystem 2 als integriertes System ausgestaltet sein kann.
-
Die Ansicht in 1 kann beispielsweise einer Draufsicht auf das Kraftfahrzeug 1 sowie das Sensorsystem 2 und einer entsprechenden Fahrbahn in einer Umgebung 3 des Kraftfahrzeugs 1 entsprechen.
-
In der Umgebung 3 befinden sich beispielsweise eines oder mehrere Objekte 3a, 3b. Das aktive optische Sensorsystem 2 kann Lichtimpulse, insbesondere mittels einer Lichtquelle, beispielsweise einer Infrarotlaserdiode, in die Umgebung 3 aussenden, wo diese von den Objekten 3a, 3b teilweise reflektiert werden können und als reflektiere Lichtimpulse 5, 5' gegebenenfalls teilweise in Richtung des Sensorsystems 2 zurückgestrahlt werden können. Diese reflektierten Lichtanteile 5, 5' kann das Sensorsystem 2 mittels mehrerer optischer Detektoren erfassen und dadurch für eine Vielzahl diskreter Abtastrichtungen basierend auf entsprechenden Lichtlaufzeitmessungen zugehörige Entfernungen zu Punkten auf den Objekten 3a, 3b, von denen die Lichtimpulse reflektiert werden, bestimmen.
-
In 2 ist das Sensorsystem 2 schematisch dargestellt, um eine Definition der Abtastrichtungen zu erläutern. Wie in 1 ist das Sensorsystem 2 in der linken Abbildung in 3 in Draufsicht gezeigt, während die rechte Abbildung in 3 eine um 90° gedrehte Seitenansicht darstellt.
-
Es kann eine Referenzrichtung 4 des Sensorsystems 2 definiert sein, die beispielsweise einer zentralen Aussenderichtung innerhalb der Aussendeebene des Sensorsystems 2 entspricht. Das Sensorsystem 2 weist eine Ablenkvorrichtung auf, um die mittels der Lichtquelle erzeugten Lichtimpulse in unterschiedliche Richtungen innerhalb der Aussendeebene abzulenken. Die Ablenkvorrichtung kann dazu beispielsweise einen rotierenden Spiegel aufweisen, wobei die Rotationsachse insbesondere senkrecht zu der Aussendeebene orientiert ist.
-
Treffen die reflektierten Lichtimpulse 5 auf das Sensorsystem 2, so werden sie ebenfalls mittels der Ablenkvorrichtung abgelenkt. Dementsprechend treffen je nach Position der Ablenkvorrichtung, also insbesondere je nach Rotationswinkel des Spiegels, Lichtimpulse 5 aus unterschiedlichen Richtungen auf die optischen Detektoren des Sensorsystems 2. Durch die Position der Ablenkvorrichtung ist also beispielsweise ein horizontaler Abtastwinkel αh definiert.
-
Die optischen Detektoren sind beispielsweise entlang einer Richtung senkrecht zu der Aussendeebene, also beispielsweise parallel zu der Rotationsachse des Spiegels, angeordnet. Je nach Richtung der einfallenden Lichtimpulse 5 können diese daher auf unterschiedliche der optischen Detektoren gelenkt werden. Die verschiedenen Detektoren können daher einen vertikalen Abtastwinkel αv definieren.
-
Jede Kombination aus einem vertikalen Abtastwinkel αv und einem horizontalen Abtastwinkel αh definiert insbesondere eine Abtastrichtung.
-
Die Funktionsweise der Sensorvorrichtung 7 wird im Folgenden anhand einer beispielhaften Ausführungsform eines Verfahrens zur Analyse einer Umgebung eines aktiven optischen Sensorsystems 2 nach dem verbesserten Konzept genauer erläutert, insbesondere mit Bezug auf 3 und 4.
-
In 3 ist ein Ablaufdiagramm einer beispielhaften Ausführungsform eines Verfahrens nach dem verbesserten Konzept dargestellt.
-
In Schritt V1 tastet das Sensorsystem 2 die Umgebung 3 ab, indem für eine Vielzahl von Abtastrichtungen jeweils eine zugehörige Entfernung bestimmt wird. Jede der Abtastrichtungen ist dabei durch die zugehörigen horizontalen Abtastwinkel αh und vertikalen Abtastwinkel αv definiert. Aus den Sensorrohdaten wird, beispielsweise mittels der Recheneinheit 6, ein Entfernungsbild erzeugt, also eine Matrix, in der beispielsweise Zeilen verschiedenen vertikalen Abtastwinkeln und Spalten verschiedenen horizontalen Abtastwinkeln entsprechen. Einträge der Matrix entsprechen der zugehörigen bestimmten Entfernung.
-
In Schritt V2 des Verfahrens berechnet die Recheneinheit 6 basierend auf dem Entfernungsbild eine geordnete Punktwolke. Die Punktwolke kann als Gesamtheit dreier Koordinatenmatrizen Ox, Oy, Oz verstanden werden. Jede der Koordinatenmatrizen Ox, Oy, Oz hat dabei dieselbe Struktur wie das Entfernungsbild, so dass Zeilen verschiedenen vertikalen Abtastwinkeln und Spalten verschiedenen horizontalen Abtastwinkeln entsprechen. Die Einträge der Koordinatenmatrizen Ox, Oy, Oz entsprechend den zugehörigen kartesischen x-, y- und z-Koordinaten.
-
In Schritt V3x erzeugt die Recheneinheit 6 eine modifizierte Koordinatenmatrix Ox,mod, indem jeder Fehlereintrag der Koordinatenmatrix Ox durch Null ersetzt wird. Analog werden beispielsweise in den Schritten V3y und V3z modifizierte Koordinatenmatrizen Oy,mod und Oz,mod basierend auf Oy und Oz, erzeugt.
-
Zudem berechnet die Recheneinheit 6 in den Schritten V3x, V3y, V3z für die modifizierten Koordinaten-matrizen Ox,mod, Oy,mod, Oz,mod entsprechende Integralbilder Ix, Iy, Iz analog zu Gleichung (2).
-
In Schritt V4 erzeugt die Recheneinheit 6 eine Fehlermatrix C, wobei ein Eintrag C(m, n) der Fehlermatrix gleich 1 ist, wenn an einer entsprechenden Stelle in einer der Koordinatenmatrizen Ox, Oy, Oz eine Ersetzung eines Fehlerwerts durchgeführt wurde, und ansonsten gleich Null. Die Recheneinheit 6 erzeugt ein Integralbild IC der Fehlermatrix C gemäß Gleichung (2).
-
Für jeden Eintrag der modifizierten Koordinatenmatrix Ox,mod, also für jede Abtastrichtung, berechnet die Recheneinheit 6 in Schritt V4 basierend auf dem Integralbild Ix einen Mittelwert über einen Bereich einer vorgegeben Größe r analog zu Gleichung (5). Dies wird für alle Einträge der modifizierten Koordinatenmatrix Ox,mod durchgeführt, so dass eine gemittelte modifizierte Koordinatenmatrix O'x,mod resultiert.
-
In analoger Weise gemittelte modifizierte Koordinatenmatrizen O'y,mod, O'z,mod für die y-, die z-Richtung bestimmt.
-
In Schritt V4 kann die Recheneinheit 6 außerdem für jeden gemittelten Abtastpunkt einen Differenzvektor eines rechten und eines linken Nachbarpunkts, also zweier horizontaler Nachbarpunkte, sowie einen Differenzvektor eines oberen und eines unteren Nachbarpunkts, also zweier vertikaler Nachbarpunkte.
-
Basierend auf diesen Differenzvektoren wird dann mittels der Recheneinheit 6 für den zwischen den horizontalen und zwischen den vertikalen Nachbarpunkten liegenden Abtastpunkt die entsprechende Oberflächennormale 8 (siehe 1) berechnet, indem das Kreuzprodukt der beiden Vektoren berechnet wird.
-
Im optionalen Schritt V5 wird die Oberflächennormale 8 gegebenenfalls um 180° gedreht, sodass die resultierenden Oberflächennormalen 8 sämtlich äußere Normalen bezüglich der betrachteten Umgebung ausgehend von den Objekten 3a, 3b darstellen.
-
Im Schritt V6 können die so bestimmten Oberflächennormalen 8 für weitere Analyseschritte, beispielsweise zur Bildsegmentierung, verwendet werden.
-
Die Größe r des Mittelungsbereichs kann beispielsweise fest vorgegeben sein. Alternativ wird die Größe r adaptiv angepasst. Beispielsweise kann die Recheneinheit basierend auf einer Tiefenänderungskarte eine Kantenerkennung durchführen, um die Position von Kanten zu identifizieren und lokalisieren.
-
Im optionalen Schritt V8 passt die Recheneinheit 6 die Größe r anhand des Ergebnisses der Kantenerkennung für jede Abtastrichtung derart an, dass der Bereich frei von Kanten ist, so dass die beschriebene Glättung beziehungsweise Mittelung nicht über Kanten hinweg erfolgt.
-
In 4 ist ein Ablaufdiagramm für eine beispielhafte Verarbeitung von Sensordaten eines aktiven optischen Sensorsystems 2 eines Kraftfahrzeugs 1 unter Verwendung eines Verfahrens nach dem verbesserten Konzept dargestellt. Das Kraftfahrzeug 1 ist dabei beispielsweise zum teil- oder vollautonomen Fahren ausgebildet.
-
In Schritt V9 wird eine Merkmalsextraktion durchgeführt. Schritt V9 kann dabei die Schritte V1 bis V5 und optional V7 und V8 des Verfahrens nach 3 enthalten.
-
Schritt V6 aus 3 kann beispielsweise die Schritte V10 bis V14 aus 4 beinhalten.
-
In Schritt V10 kann die Recheneinheit 6 beispielsweise eine Bildsegmentierung unter Verwendung der Oberflächennormalen 8 durchführen. In Schritt V11 kann die Recheneinheit 6 basierend auf einem Ergebnis der Bildsegmentierung eine Objekterkennung durchführen und in Schritt V12 basierend auf einem Ergebnis der Objekterkennung eine Objektverfolgung. In Schritt V13 kann die Recheneinheit 6 beispielsweise unter Verwendung der Oberflächennormalen 8 eine Abschätzung der Geometrie oder Form der Fahrbahn durchführen.
-
In Schritt V14 kann die Recheneinheit 6 eine Pfadplanung zum teil- oder vollautonomen Fahren basierend auf Ergebnissen der Schritte V13 und V12 durchführen.
-
Zum Durchführen einzelner oder aller Berechnungsschritte in den Verfahrensschritten V10 bis V14 kann die Recheneinheit beispielsweise eine CPU und/oder ein Steuergerät des Kraftfahrzeugs 1 aufweisen.
-
Wie beschrieben, erlaubt es das verbesserte Konzept die Umgebung eines aktiven optischen Sensorsystems und insbesondere eines Kraftfahrzeugs durch die Bestimmung von Oberflächennormalen zu analysieren.
-
Die beschriebenen Verfahrensschritte zur Bestimmung Oberflächennormalen der können mit Vorteil beispielsweise auf einer FPGA-Hardware ablaufen, so dass begrenzt zur Verfügung stehende CPU-Kapazität eingespart werden kann.
-
Das verbesserte Konzept verwendet eine geordnete Punktwolke, in der definierte räumliche Beziehungen zwischen benachbarten Abtastpunkte ausgenutzt werden, um die Oberflächennormalen zu berechnen. Um den Einfluss von Rauschen in den Messdaten zu verringern, wird zur Glättung ein Integralbild verwendet, mit dessen Hilfe Mittelwerte über einen quadratischen Datenbereich im Wesentlichen mittels Additionen und wenigen Multiplikationen bestimmt werden können. Für die Berechnung der Integralbilder selbst werden ebenfalls nur Additionen benötigt, sodass eine besonders effiziente Implementierung, beispielsweise auf einem FPGA, möglich wird.
-
Durch die explizite Berücksichtigung fehlender Einträge in der Punktwolke kann der Teilbereich über den gemittelt wird größer gewählt werden, sodass die Genauigkeit der Bestimmung der Oberflächennormalen und damit der Analyse erhöht wird.
-
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
-
- „Adaptive Neighborhood Selection for Real-Time Surface Normal Estimation from Organized Point Cloud Data Using Integral Images‟, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2012, Portugal von S. Holzer et al. beschreibt ein Verfahren zur Bestimmung von Oberflächennormalen für Robotikanwendungen auf der Basis von Kamerabildern [0004]