-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese Erfindung bezieht sich allgemein auf ein Objektdetektionsverfahren und -system und insbesondere auf ein Objektdetektionsverfahren und -system für ein Fahrzeug, das einen dreidimensionalen Laserentfernungsmesser zum Detektieren und Verfolgen von sowohl stationären als auch sich bewegenden Objekten in der Nähe des Fahrzeugs verwendet, wobei eine Eingangsquelle für stromabwärtige Fahrzeugsteueranwendungen bereitgestellt wird.
-
2. Erläuterung der verwandten Technik
-
Viele moderne Fahrzeuge umfassen eine Vielzahl von hoch entwickelten elektronischen Systemen für eine Sicherheits- und Navigationsunterstützung. Bei einigen Fahrzeugen umfassen diese Systeme Objektdetektionssysteme und Systeme eines adaptiven Tempomaten, die einen Fahrer hinsichtlich eines Hindernisses in der Nähe des Fahrzeugs alarmieren können oder sogar die Fahrzeugbremsen oder -lenkung steuern können, um eine sichere Distanz zu einem anderen Fahrzeug oder Objekt aufrechtzuerhalten. Objektdetektionssysteme, die in der Technik bekannt sind und auf dem Markt verfügbar sind, weisen jedoch Einschränkungen bezüglich dessen auf, wie gut sie Objekte detektieren und verfolgen können, und wie zuverlässig die Objektdaten für Fahrzeugsteuerzwecke verwendet werden können.
-
Aus der Druckschrift
DE 41 15 747 A1 ist ein Verfahren zum Detektieren und Verfolgen von Objekten in der Nähe eines Fahrzeugs bekannt. Dazu werden mehrere Abtastpunkte von einem Laserentfernungsmesser bereitgestellt, die Orte in einem das Fahrzeug umgebenden Raum darstellen. Die Abtastpunkte werden einem Rechner zugeführt, der zusätzlich Fahrzeugdynamikdaten, wie Informationen zu dem Lenkwinkel, der Geschwindigkeit und dem Schrägstellungswinkel des Fahrzeugs, erhält. Aus dem ihm zugeführten Werten berechnet der Rechner die relativen Koordinaten von Hindernissen und den möglichen Zeitpunkt einer Kollision des Fahrzeugs mit den Hindernissen.
-
Die meisten Objektdetektionssysteme, die heutzutage in Fahrzeugen verfügbar sind, verwenden eine radar- oder kamerabasierte Sichttechnologie. Diese Systeme weisen oftmals Probleme beim Unterscheiden zwischen Objekten in vollen Umgebungen auf, die typischerweise in realistischen Fahrsituationen zu finden sind. Sie können möglicherweise die zweidimensionale Form eines Objekts detektieren, jedoch nicht die Objekthöhe bestimmen, wodurch sie nicht dazu in der Lage sind, zu bestimmen, ob das Objekt tatsächlich ein Merkmal der Bodenfläche oder der Fahrbahn ist. Oder sie können möglicherweise das Vorhandensein von Objekten detektieren, jedoch nicht dazu in der Lage sein, zwischen Objekten mit engem Abstand auf der Grundlage der relativen Geschwindigkeit oder von dreidimensionalen Eigenschaften zu unterscheiden. Schließlich können existierende radar- oder kamerabasierte Objektdetektionssysteme aufgrund des Fehlens des Reflexionsvermögens oder des Fehlens einer Farbunterscheidung der Objekte beim Detektieren einiger Objekte vollständig versagen.
-
Es besteht Bedarf an einem zuverlässigen und stabilen Objektdetektionssystem – einem, das Objekte voneinander und von der Bodenebene unterscheiden kann, das sowohl die Position als auch die Geschwindigkeit von detektierten Objekten relativ zum Boden und relativ zum Host-Fahrzeug zuverlässig verfolgen kann und das diese Aufgaben in der vollen Umgebung eines realen Fahrens ausführen kann. Solch ein System könnte einen signifikanten Durchbruch bei der Entwicklung von modernen Fahrzeugsystemen, wie beispielsweise Systemen eines semiautonomen Fahrens, ermöglichen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß den Lehren der vorliegenden Erfindung werden ein Verfahren und ein System zum Detektieren und Verfolgen von Objekten in der Nähe eines Fahrzeugs unter Verwendung eines dreidimensionalen Laserentfernungsmessers offenbart. Das Verfahren empfängt Wolken von Punkten von dem Laserentfernungsmesser, wobei die Punkte Orte in einem Raum darstellen, in dem der Entfernungsmesser erfasst, dass einige Objekte existieren. Ein Algorithmus schätzt zuerst den Ort einer Bodenebene auf der Grundlage eines vorherigen Bodenebenenorts, von Daten von Chassis-Dynamiksensoren und einer auf die Punktwolkendaten angewandten Eigenvektorberechnung. Es kann auch eine nicht flache segmentierte Bodenfläche konstruiert werden. Als Nächstes werden eine Draufsichtbelegungskarte und eine Höhenkarte für stationäre Objekte auf der Grundlage von Punktwolkendaten in Relation zu der Bodenfläche berechnet. Schließlich werden dynamische Objekte detektiert und verfolgt, wobei Objekte erfasst werden, die sich relativ zu dem Boden bewegen, wie beispielsweise andere Fahrzeuge, Fußgänger und Tiere. Der Ausgang des Verfahrens ist ein Satz von stationären und dynamischen Objekten einschließlich ihrer Größe und Form, Entfernung und Geschwindigkeit relativ zu dem Boden und zu dem Host-Fahrzeug. Diese Ausgangsdaten können durch stromabwärtige Anwendungen, wie beispielsweise Kollisionsvermeidungssysteme oder Systeme eines semiautonomen Fahrens, verwendet werden.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den begleitenden Zeichnungen ersichtlich.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm eines Hardwaresystems, das für eine Objektdetektion und -verfolgung verwendet werden kann, gemäß einer Ausführungsform der vorliegenden Erfindung;
-
2 ist ein Blockdiagramm eines Softwaresystems zum Detektieren und Verfolgen von Objekten unter Verwendung der Elemente des Hardwaresystems von 1;
-
3 ist ein Flussdiagramm eines Prozesses, der durch das Bodenebenenverfolgungsmodul des Softwaresystems von 2 verwendet wird;
-
4 ist ein Voronoi-Diagramm eines Satzes von an einer Bodenebene projizierten Punkten, wie es zum Berechnen einer segmentierten Bodenfläche verwendet wird, die nicht flach sein muss;
-
5 ist ein Diagramm, das zeigt, wie Abtastpunkte in einem Gitter angeordnet werden, um die Effizienz der Berechnung der segmentierten Bodenfläche zu verbessern;
-
6 ist ein Flussdiagramm eines Prozesses, der durch das Modul einer stationären Belegungskarte des Softwaresystems von 2 verwendet wird;
-
7 ist ein Beispiel einer binären Belegungskarte, wie sie durch das Modul einer stationären Belegungskarte des Softwaresystems von 2 erzeugt wird;
-
8 ist ein Flussdiagramm eines Prozesses, der durch das Modul einer Verfolgung dynamischer Objekte des Softwaresystems von 2 verwendet wird; und
-
9 ist ein Diagramm, das zeigt, wie Abtastpunkte in dem Modul Verfolgung dynamischer Objekte des Softwaresystems von 2 zu Objekten gruppiert werden.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die folgende Erläuterung der Ausführungsformen der Erfindung, die auf ein Verfahren und ein System für eine Objektdetektion und -verfolgung unter Verwendung eines dreidimensionalen Laserentfernungsmessers gerichtet ist, ist lediglich beispielhafter Natur und beabsichtigt keineswegs, die Erfindung oder ihre Anwendungen oder Verwendungen zu beschränken.
-
Fahrzeugkollisionsvermeidungssysteme und Systeme eines semiautonomen Fahrens benötigen eine sehr genaue Information über Objekte in ihrer Umgebung, um effektiv zu sein. Herkömmliche Objektdetektionssysteme unter Verwendung einer radar- oder kamerabasierten Sichttechnologie können Probleme beim Unterscheiden von Objekten in der vollen Umgebung, die für reale Fahrsituationen typisch ist, aufweisen. Beispielsweise können radarbasierte Systeme nichtmetallische Objekte, wie beispielsweise Betonbordsteine, Steine und Vegetation, möglicherweise nicht zuverlässig detektieren. Und kamerabasierte Sichtsysteme können Schwierigkeiten beim Unterscheiden zwischen Objekten mit ähnlicher Farbe oder Helligkeit aufweisen und können die Entfernung oder Distanz zu einem Objekt nicht direkt messen. Bei der vorliegenden Erfindung wird ein dreidimensionaler (3-D-)Laserentfernungsmesser verwendet, um eine Wolke von Punkten zu erhalten, die Objekte in der Nähe eines Host-Fahrzeugs darstellen, und werden spezialisierte Algorithmen verwendet, um eine Bodenebene und eine Karte mit stationären und dynamischen Objekten in dem das Fahrzeug umgebenden Raum zu berechnen.
-
1 ist ein Blockdiagramm eines Hardwaresystems 10, das für eine Objektdetektion und -verfolgung gemäß der vorliegenden Erfindung verwendet werden kann. Ein Fahrzeug 12 enthält einen 3-D-Laserentfernungsmesser 14, der die Umgebung um das Fahrzeug 12 herum in drei Dimensionen schnell abtasten kann. Bei Bedarf können mehr als ein Laserentfernungsmesser 14 verwendet werden, um den vollständigen 360-Grad-Horizont vollständiger und schneller abzutasten. Der Laserentfernungsmesser 14 liefert unter Verwendung einer Technologie, die manchmal als Light Detection and Ranging (LIDAR) bekannt ist, eine Wolke von Punktdaten, die Objekte darstellen, die durch den Laser getroffen wurden. Die Punkte können durch den Laserentfernungsmesser 14 hinsichtlich Azimut- und Höhenwinkel plus Entfernung dargestellt werden, was relativ zu einem an dem Fahrzeug 12 angebrachten lokalen Koordinatenrahmen leicht in (x, y, z)-Punktdaten umgewandelt werden kann. Der Laserentfernungsmesser 14 liefert Punktwolkendaten an ein Field-Programmable Gate Array (FPGA) 16 – das ein integrierter Schaltkreis ist, der für eine Konfiguration durch den Kunden, in diesem Fall den Fahrzeughersteller, nach dessen Fertigung entworfen ist.
-
Das FPGA 16 empfängt die Punktwolkendaten von dem Entfernungsmesser 14 und führt eine Reihe von Berechnungen durch, die auf eine Bodenebenen- und Objektdetektion gerichtet sind. Die Funktionen des FPGA 16 könnten durch einen beliebigen geeigneten Prozessor, der eine universelle elektronische Steuereinheit umfasst, oder einen anwendungsspezifischen integrierten Schaltkreis (ASIC von application-specific integrated circuit) gehandhabt werden. Ein anwendungsspezifischer integrierter Schaltkreis ist ein integrierter Schaltkreis, der für eine bestimmte Verwendung angepasst ist, und nicht für eine universelle Verwendung vorgesehen ist. Wegen der hohen Entwicklungskosten von ASICs und der hohen Kosten für elektronische Steuereinheiten mit voller Funktionalität wird in einer bevorzugten Ausführungsform des Hardwaresystems 10 der FPGA 16 in Betracht gezogen.
-
Der FPGA 16 sendet seinen Ausgang an einen anderen Prozessor, in diesem Fall einen digitalen Signalprozessor (DSP) 18. Der DSP 18 führt zusätzliche Berechnungen, nachstehend erläutert, an den Punktwolkendaten und den zuvor berechneten Objektdaten durch, was zu einer vollständigen Darstellung der Bodenebene, von statischen Objekten und dynamischen Objekten in der Nähe des Fahrzeugs 12 führt. Der FPGA 16 und der DSP 18 haben beide Zugriff auf ein gemeinsam genutztes Speichermodul 20.
-
2 ist ein Blockdiagramm eines Softwaresystems 30 zum Detektieren und Verfolgen von Objekten unter Verwendung der Elemente des Hardware systems 10. Ein Gesamtbildverarbeitungsmodul 32 verwaltet die Funktionen des gesamten Softwaresystems 30. Ein Bodenebenenverfolgungsmodul 34 verwendet die Punktwolkendaten und andere Informationen zum Schätzen der aktuellen Position der Bodenfläche, wie es nachstehend ausführlich erläutert wird. Als Nächstes berechnet ein Modul 36 einer stationären Belegungskarte den Ort und die Höhe von allen detektierten Objekten unter Verwendung der Punktwolkendaten und der zuvor berechneten Bodenfläche als Eingang. Nachstehend werden auch Details der Berechnungen in dem Modul 36 einer stationären Belegungskarte bereitgestellt. Schließlich berechnet ein Modul 38 einer Verfolgung dynamischer Objekte die Form, Position und Geschwindigkeit von sich bewegenden Objekten unter Verwendung der nachstehend ausgeführten Methodologie.
-
3 ist ein Flussdiagramm 40 eines Prozesses, der durch das Bodenebenenverfolgungsmodul 34 des Softwaresystems 30 verwendet wird. Der Prozess beginnt in Kasten 42 wie durch das Gesamtbildverarbeitungsmodul 32 angewiesen, beispielsweise, wenn der Fahrzeugmotor gestartet wird. Der Prozess wartet in Entscheidungsraute 44 auf die Verfügbarkeit neuer Daten von einer vorherigen Bodenebenenschätzung. In Kasten 46 wird eine geschätzte Bodenebene von einem vorherigen Berechnungsschritt als Basis oder Startpunkt für eine neue Bodenebenenberechnung verwendet. In dem ersten Durchgang des Prozesses nach dem Starten des Fahrzeugs 12 könnte, wenn keine unmittelbar vorherigen Bodenebenendaten zur Verfügung stehen, entweder die letzte Bodenebene von dem vorherigen Betrieb des Fahrzeugs 12 in Kasten 46 verwendet werden oder könnte ein Standardwert auf der Grundlage der nominalen Fahrhöhe des Fahrzeugs in Kasten 46 verwendet werden. In Kasten 48 wird eine Vorhersage bezüglich der erwarteten Bewegung der Bodenebene relativ zu der vorherigen Bodenebene von Kasten 46 gemacht. Die Vorhersage in Kasten 48 basiert auf einer fahrzeugeigenen Schwerkraftmesseinheit (IMU von inertial measurement unit) des Typs, der in vielen modernen Fahrzeugen verfügbar ist. Die Daten von der IMU, die bei der Vorhersage in Kasten 48 verwendet werden, umfassen Fahrzeugnick- und -wankwinkel, was einen signifikanten Einfluss auf den Ort und die Ausrichtung der Bodenebene hätte, wenn jene Winkel sich seit der vorherigen Bodenebenenberechnung geändert hätten.
-
In Kasten 50 werden die jüngsten Punktwolkendaten von dem Laserentfernungsmesser 14 bereitgestellt. Dies umfasst alle Punktdaten einschließlich Punkten, die große Objekte darstellen, die weit über dem Bodenniveau liegen. In Kasten 52 wird eine Ausblendung oder Filterung an den Punktwolkendaten ausgeführt, um nur die Punkte auszuwählen, von denen geschätzt wird, dass sie die Bodenebene darstellen. Die Ausblendungsoperation in Kasten 52 wird durch Berechnen der Distanz jedes Punkts zu der vorhergesagten Bodenebene durchgeführt. Es wird eine Schwellenwerthöhe, wie beispielsweise 0,25 Meter, wird definiert, und jeder beliebige Punkt, dessen Distanz zur Bodenebene kleiner als der Schwellenwert ist, wird als Bodenpunkt betrachtet. Alle anderen Punkte, d. h., jene, deren Distanz zur Bodenebene größer als die Schwellenwertdistanz ist, werden als Objektpunkte betrachtet und werden nicht bei der Bodenebenenberechnung verwendet.
-
In Kasten 54 wird der Satz von Punkten, die die Bodenebene darstellen, für eine weitere Analyse verwendet. Es sei angemerkt, dass die in Kasten 54 bereitgestellten Punkte nicht alle in einer Ebene liegen. Stattdessen sind die von der Ausblendungsoperation in Kasten 52 ausgegebenen Punkte, die in Kasten 54 verwendet werden, die Punkte, von denen angenommen wird, dass sie von der Bodenfläche oder der Fahrbahn zurückgegeben werden, und diese Punkte sind bei einer Berechnung zum Bestimmen einer Ebene, die am besten zu ihnen passt, zu verwenden. In Kasten 56 werden die Bodenpunkte von Kasten 54 in einer 4×N-Matrix angeordnet und wird eine Eigenvektorzerlegung an der Matrix durchgeführt, mit dem Ziel des Findens der durch die Gleichung dargestellten Bodenebene; Ax + By + Cz + D = 0 (1)
-
Die Aktivitäten von Kasten 56 werden wie folgt durchgeführt. Die (x, y, z)-Koordinaten für jeden der N Bodenpunkte von Kasten 54 werden verwendet, um die ersten drei Spalten der 4×N-Matrix zu füllen, wobei sich in der vierten Spalte die Zahl 1 befindet. Das heißt, die erste Zeile der Matrix würde aus den Koordinaten des ersten Bodenpunkts plus der Zahl 1 bestehen wie folgt; [x1, y1, z1, 1]. Die zweite Zeile der Matrix würde aus den Koordinaten des zweiten Bodenpunkts plus der Zahl 1 bestehen wie folgt; [x2, y2, z2, 1]. Auf diese Weise wird die 4×N-Matrix mit allen Bodenpunkten von Kasten 54 gefüllt. Dann kann eine Eigenwertzerlegung an der Matrix durchgeführt werden, die einen Satz von Eigenwerten und Eigenvektoren liefert, wie es nachstehend beschrieben wird. Der kleinste Eigenwert kann als einen Eigenvektor aufweisend betrachtet werden, der aus den Koeffizienten [A, B, C, D] von der Gleichung der Ebene besteht, die am besten zu den in der Matrix enthaltenen Punktdaten passt. In Kasten 58 wird eine aktualisierte Bodenebene unter Verwendung von Gleichung (1) und der gerade in Kasten 56 bestimmten Koeffizienten [A, B, C, D] definiert, und der Prozess springt in einer Schleife zurück zur Entscheidungsraute 44.
-
Es folgt eine ausführliche Erläuterung der Berechnungen, die in dem Prozess verwendet werden, der an dem Flussdiagramm 40 gezeigt ist. In Kasten 48 sei die IMU-Messung von Nickrate und Wankrate des Host-Fahrzeugs ϕ · bzw. ς ·, was die Änderungsrate des Nickwinkels (ϕ) und des Wankwinkels (ς) der Normalen n zur Bodenebene umfasst. Es ist ein Koordinatensystem Oxyz an dem Fahrzeugrahmen fixiert. Die zu schätzende Bodenebene wird wie folgt bezeichnet; nTp + d = 0 (2) wobei n den Einheitsnormalenvektor der Ebene (d. h. ||n|| = 1) bezeichnet, |d| die Distanz von dem 3D-Sensor zur Bodenebene bezeichnet und p den Punkt an der Ebene bezeichnet.
-
Die Normale zur Bodenebene n kann als Nickwinkel (ϕ) und Wankwinkel (ς) in Bezug auf das Koordinatensystem des Host-Fahrzeugs dargestellt werden. Der Zustandsvektor für die Bodenebene ist mit x = (ϕ, ς, d)T definiert.
-
Der Algorithmus beginnt, wenn neue Daten ankommen. Die Bodenebene zu einem vorherigen Zeitpunkt werde mit x bezeichnet, und der Zustandsvektor zum aktuellen Zeitpunkt werde mit x' bezeichnet. Dann kann die Systemdynamikgleichung geschrieben werden wie folgt; ϕ' = ϕ + ΔTϕ · + vϕ ς' = ς + ΔTς · + vς d' = d + vd (3) oder kurz als; x' = x + uG + vG (4) wobei ΔT das Abtastzeitintervall ist, uG = (ΔTϕ ·, ΔTς ·, 0)T der Steuereingangsvektor ist und vG = (vϕ, vς, vd)T der Rauschterm ist, modelliert als mittelwertfreie weiße Gaußsche Verteilung.
-
Die vorhergesagte Bodenebene x' kann in eine kartesische Gleichungsform transformiert werden: n'Tp + d' = 0, wobei n' = a / ||a|| mit a = (tanϕ', tanς', 1)T und ||·|| der euklidische Normoperator ist.
-
Es sei D = |n'T p + d'| die Distanz von Punkt p zur Bodenebene. Die Ausblendungsoperation in Kasten 52 in dem Flussdiagramm 40 wählt Bodenpunkte aus den gesammelten 3D-Punktwolken von dem 3D-Sensor durch die folgenden Kriterien; wenn D ≤ TH, dann ist Punkt p ein Bodenpunkt und wird er ausgewählt; ansonsten ist p ein Objekt- oder Hindernispunkt. Hier ist TH ein Höhenschwellenwert, wie beispielsweise 0,25 Meter.
-
Der Satz von Bodenpunkten werde bezeichnet mit; {p
i|i = 1, ..., M}, ∀i|n'
Tp
i + d'| <= T
H. Die Bodenpunkte werden unter Verwendung der Ebenengleichung A
mx + B
my + C
mz + d
m = 0 durch Minimieren der folgenden kleinsten Quadrate angepasst;
wobei y = (A
m, B
m, C
m, d
m)
T und;
-
Die Lösung von Gleichung (4) ist der Eigenvektor des kleinsten Eigenwerts der Matrix D, d. h.; Dy = λmy (7) wobei λm der kleinste Eigenwert ist.
-
Es sei y = (y
A, y
B, y
C, y
d)
T und
Dann gilt A
m = y
A/R' B
m = y
B/R', C
m = y
C/R und d
m = y
d/R.
-
Somit kann eine Kalman-Filter-Messgleichung als Funktion der Zustandsvariablen Nickwinkel (ϕ), Wankwinkel (ς) und Distanz-Offset (d) geschrieben werden; Am/Cm = tanϕ + wϕ Bm/Cm = tanς + wς dm = d + wd (8) oder kurz als; oG = h(x) + wG (9) wobei oG = (Am/Cm, Bm/Cm, dm)T und wG = (wϕ, wς, wd)T der Messrauschterm ist, für gewöhnlich modelliert als weißer mittelwertfreier Gaußscher Zufallsvektor.
-
Es wird eine erweiterte Kalman-Filter-Prozedur auf der Grundlage der Gleichungen (4) und (9) in der Bodenebenenaktualisierungsoperation in Kasten 58 in dem Flussdiagramm 40 angewandt.
-
Es sei angemerkt, dass der Ausgang des Bodenebenenverfolgungsmoduls 34 und des Prozesses des Flussdiagramms 40 im mathematischen Sinne eine wahre Ebene ist. Das heißt, die Bodenebene wird nicht durch ein potentiell mehrdeutiges Cluster von Punkten im 3-D-Raum dargestellt, sondern wird stattdessen durch die definitive mathematische Formulierung von Gleichung (2) dargestellt.
-
Die oben beschriebene Bodenebene ist nur eine Annäherung der Fahrbahn. Es gibt viele Fälle, in denen die Fahrbahn nicht flach ist; beispielsweise bei einem Wasserablaufgradienten, einer Annäherung an eine Straße mit Gradienten, kleinen Unregelmäßigkeiten, wie beispielsweise Senken und Bordsteinen, und Straßen mit Überhöhung. Um dies zu berücksichtigen, ist es auch möglich, die Straße als facettierte oder segmentierte Oberfläche, und nicht als planare Oberfläche, darzustellen.
-
Mit der Annäherung eines planaren Bodens mit der Gleichung nTp + d = 0 (d. h. das Ergebnis des oben beschriebenen Bodenebenenverfolgungsmoduls) kann der 3D-Punkt p als Abbildung von einem Bodenebenenprojektionspunkt p' auf eine Höhe e oder eine Funktion dargestellt werden, die durch den Abtastsatz {(p'k, ek)|k = 1, ..., N} dargestellt ist.
-
4 zeigt ein Voronoi-Diagramm 200 eines projizierten Punktsatzes {p'} an der Bodenebene. In dem Diagramm 200 können die Nachbarn eines Punkts p' als Punkte definiert werden, deren Voronoi-Zellen einen gemeinsamen Rand mit der Zelle p' teilen; beispielsweise sind die Punkte a, b, c, d, e, f, g in den Zellen 204–216 in einem Voronoi-Diagramm-Sinn Nachbarn von Punkt p' in Zelle 202. Daher ist es möglich, einen Graphen G1 = (V, E) zu konstruieren, wobei der Vertexsatz der projizierte Punktsatz {p'} ist; und der Randsatz E nur Ränder umfasst, die jeden Punkt mit seinen direkten Nachbarn in dem Voronoi-Diagramm 200 verbinden.
-
Jeder Rand (vi, vj) ∊ E weist ein entsprechendes Gewicht w(vi, vj) auf, das ein nicht negatives Maß der Dissimilarität zwischen benachbarten Elementen vi und vj ist. Im Falle der Segmentierung einer nicht flachen Bodenfläche sind die Elemente in V projizierte Punkte an der angenäherten Bodenebene und ist das Gewicht eines Rands eine Art von Dissimilaritätsmessung zwischen den zwei Punkten, die durch den Rand verbunden sind – d. h., Punkte, die eine Seite in dem Voronoi-Diagramm teilen. Ein Beispiel eines Werts, der zum Berechnen des Randgewichts oder eines Werts einer Dissimilarität verwendet werden kann, ist die Höhendifferenz wie folgt; w(vi, vj) = |ei – ej| (10) wobei ei und ej die Höhe der Vertices vi bzw. vj sind.
-
Als Nächstes wird ein effizientes graphbasiertes Verfahren verwendet, um 3D-Punktwolken in einen Satz von glatten Oberflächen zu segmentieren. Eine Segmentierung ist eine Aufteilung von V in sich nicht überschneidende Teilmengen, so dass jede Teilmenge V' einen Subgraphen G'1 = (V', E'), E' ⊆ E, entsprechend einer verbundenen Komponente (Gebiet) von G1 bildet. Bei jeder segmentierten Komponente sind die Elemente in der gleichen Komponente ähnlich, während Elemente von verschiedenen Komponenten unähnlich sind. Dies gibt an, dass Ränder zwischen zwei Vertices in der Beispielkomponente relativ geringere Gewichte haben sollten als die Gewichte von Punktpaaren von verschiedenen Komponenten.
-
Es wird ein Prädikat (Binärfunktion) P definiert, um zu bewerten, ob eine Grenze zwischen zwei Komponenten Γ
1 und Γ
2 existiert, wie folgt;
wobei die Funktion Diff(Γ
1, Γ
2) die gegenseitige Differenz (Dissimilarität) zwischen zwei Komponenten Γ
1, Γ
2 ⊆ V bezeichnet, definiert wie folgt:
und MInt(Γ
1, Γ
2) die kombinierte interne Differenz (Abweichung) innerhalb von Γ
1, Γ
2 bezeichnet, der nachstehend in Gleichung (13) definiert ist. Ein von Null verschiedener Wert für das Prädikat P bedeutet, dass eine Grenzbedingung vorliegt und somit die beiden Komponenten disjunkt sind. Gleichung (11) besitzt eine intuitive Interpretation; die Komponenten Γ
1, Γ
2 sind disjunkt, wenn das Maß ihrer gegenseitigen Differenz größer als die kombinierte interne Abweichung beider Komponenten ist.
-
Das Maß der internen Differenz einer Komponente T ist als größtes Gewicht unter den Rändern in dem minimal aufspannenden Baum der Komponente definiert.
wobei MST(Γ, E) der minimal aufspannende Baum ist. Somit wird die kombinierte interne Abweichung MInt(Γ
1, Γ
2) bestimmt mit;
MInt(Γ1, Γ2) = min(Int(Γ1) + τ(Γ1), Int(Γ2) + τ(Γ2)) (13)
-
Die heuristische Funktion τ stimmt den Grad ab, zu dem die gegenseitige Differenz größer als die interne Abweichung sein muss, um zu bestimmen, ob eine Grenzbedingung existiert. Nachstehend sind zwei Beispiele der heuristischen Funktion τ aufgelistet.
-
Erstens, eine Schwellenwertfunktion auf der Grundlage der Größe der Komponente;
wobei |Γ| die Größe des Satzes Γ bezeichnet. Gleichung (14) impliziert, dass für eine kleine Komponentengröße ein stärkerer Nachweis für eine Grenze erforderlich ist. Ein großer Wert des Parameters k
s bewirkt eine Bevorzugung von Komponenten mit großer Größe.
-
Zweitens, eine Schwellenwertfunktion auf der Grundlage der Distanz von dem Ursprung, an dem sich der Host befindet;
wobei r(Γ) den mittleren Ort der Komponente Γ bezeichnet und k
r ein vorab ausgewählter Parameter ist.
-
Gleichung (15) impliziert, dass benachbarte Komponenten einen stärkeren Grenzennachweis erfordern als ferne Komponenten. Der Grund hierfür ist, dass Abtastpunkte in einem benachbarten Gebiet viel dichter (mehr Information) sind als jene in einem entfernten Gebiet (weniger Information). Ein kleiner Wert des Parameters kr bewirkt eine Bevorzugung von Komponenten mit großer Größe in benachbarten Gebieten.
-
Nun kann der graphbasierte Segmentierungsalgorithmus definiert werden. Der Eingang ist ein Graph G1 = (V, E) mit N Vertices und M Rändern. Der Ausgang ist eine Segmentierung von V in Komponenten C = (Γ1, ...., Γ2). Die Schritte sind nachstehend ausgeführt:
- 1) Sortiere E in (e1, e2, ..., eM) nach steigendem Randgewicht
- 2) Beginne mit einer Segmentierung C0, wobei sich jeder Vertex in seiner eigenen Komponente befindet
- 3) Konstruiere die Aufteilung Cn auf der Grundlage von Cn-1 wie folgt:
a) Kopiere direkt Cn-1 nach Cn
b) Es sei (vi, vj) der Rand en, der n-te Rand in der geordneten Randliste; wenn sich vi und vj in separaten Komponenten Γi und Γj befinden und das Prädikat P(Γi, Γj) falsch ist, führe die beiden Komponenten Γi und Γj zu Γi von Cn zusammen und entferne Γj von Cn
c) Wiederhole Schritt 3) für n = 1, ..., M
- 4) Gib den Satz CM als C aus
-
Sobald das Segmentierungsergebnis von dem obigen Algorithmus erhalten wird, ist es möglich, den Bodenflächenpunktsatz Γground zu identifizieren, der die größte Komponente in C ist, die den Host-Fahrzeugort einschließt – d. h., den Ursprung des Fahrzeugkoordinatenrahmens.
-
Die obige Erläuterung stellt ein generisches Verfahren dar, falls nur die 3D-Punktwolke bekannt ist. Ein direktes Anwenden dieses Verfahrens kann rechenintensiv sein. In der folgenden Erläuterung wird angenommen, dass, neben einer 3D-Position, für jeden Abtastpunkt der Ort des Abtastrastergitters bekannt ist – d. h., die Zeile und Spalte des entsprechenden Pixels. Hier kann der Algorithmus neu entworfen werden, um diese Rastergitterinformation für eine verbesserte Recheneffizienz zu nutzen.
-
5 ist ein Diagramm 240, das zeigt, wie Entfernungsmesserabtastpunkte in einem zweidimensionalen Gitter angeordnet sind. Aufgrund des physikalischen Entwurfs der meisten 3D-Entfernungsmessersensoren, wie beispielsweise des Laserentfernungsmessers 14, können die Abtastpunkte wie in dem Diagramm 240 gezeigt organisiert werden. Jedes Pixel stellt einen spezifischen sphärischen Winkel dar und enthält die Entfernungsmessung zu der naheliegendsten Hindernisfläche. Der Sensor tastet entlang einer horizontalen Abtastlinie 242 und einer vertikalen Abtastlinie 244 ab und erzeugt natürlich einen Gittergraphen G2 = (V, E), wobei V der Satz von projizierten Punkten ist und Rand E nur Ränder enthält, die von einem Pixel zu seiner Nachbarschaft reichen. Das Diagramm 240 zeigt ein Beispiel, bei dem Ränder von einem Pixel 246 zu seinen 8 Nachbarn reichen; N, NE, E, SE, S, SW, W, NW, in dem inneren 3 × 3-Gitter.
-
Jeder Rand (v
i, v
j) ∊ E weist ein entsprechendes Gewicht w(v
i, v
j) auf, das definiert ist wie folgt;
wobei (p'
i, e
i) und (p'
j, e
j) die Projektion und Höhe für die Vertices v
i bzw. v
j bezeichnen und T
sep ein Distanzschwellenwert ist (z. B. 1,2 m). Es sei angemerkt, dass ein Rand mit unbegrenztem Gewicht von E entfernt werden kann.
-
Es sei angemerkt, dass der modifizierte Segmentierungsalgorithmus die horizontale und vertikale Randverarbeitung entkoppelt. Der oben beschriebene vierstufige Segmentierungsalgorithmus wird zuerst auf jede horizontale Abtastlinie einzeln angewandt, wobei nur horizontale Ränder in Betracht gezogen werden – d. h., in dem Diagramm 240 die Ränder E und W. Dann werden die segmentierten Teile in den horizontalen Abtastlinien auf der Grundlage des definierten Prädikatwerts unter Verwendung der vertikalen Ränder zusammengeführt – d. h., in dem Diagramm 240 NW, N, NE, SW, S und SE.
-
Der Eingang in den modifizierten Segmentierungsalgorithmus ist ein Gittergraph G2 = (V, E) mit N Vertices. Der Randsatz E = EH ∪ EV besteht aus horizontalen bzw. vertikalen Rändern. Der vertikale Randsatz EV habe MV Ränder. Der Ausgang ist eine Segmentierung von V in Komponenten C = (Γ1, ..., Γc). Der detaillierte Algorithmus ist nachstehend beschrieben:
- 1) Für jede horizontale Abtastlinie r:
a) Konstruiere den Subgraphen Gr = (Vr, Er), wobei die Vertices Vr die r-te Abtastlinie sind; und Er ⊂ E nur interne horizontale Ränder in Vr umfasst
b) Wende den oben beschriebenen vierstufigen Segmentierungsalgorithmus auf Zeilengraph Gr an
- 2) Sortiere alle vertikalen Ränder EV in (e1, e2, ..., ) nach steigendem Randgewicht
- 3) Beginne mit einer Segmentierung C0, die alle in Schritt 1) und 2) abgeleiteten Komponenten enthält
- 4) Konstruiere die Aufteilung Cn auf der Grundlage von Cn-1 wie folgt:
a) Kopiere direkt Cn-1 nach Cn
b) Es sei (vi, vj) der Rand en, der n-te Rand in der geordneten Liste vertikaler Ränder; wenn sich vi und vj in separaten Komponenten Γi und Γj befinden und das Prädikat P(Γi, Γj) falsch ist, führe die beiden Komponenten Γi und Γj zu Γi von Cn zusammen und entferne Γi von Cn
c) Wiederhole Schritt 4) für jeden vertikalen Rand in G2, d. h. n = 1, ..., MV
- 5) Gib den Satz CM als C aus.
-
Die obige Erläuterung stellt mehrere Verfahren zum Berechnen einer genauen Darstellung der Bodenfläche – entweder eine flache Ebene oder eine segmentierte Flächendarstellung – auf der Grundlage von Abtastpunktdaten bereit. Mit der definierten Bodenfläche und Bodenpunkten, die von dem Satz von allen Abtastpunkten unterschieden werden, können nun statische und dynamische Objekte identifiziert werden.
-
6 ist ein Flussdiagramm 60 eines Prozesses, der durch das Modul 36 einer stationären Belegungskarte des Softwaresystems 30 verwendet wird. Der Zweck des Moduls 36 einer stationären Belegungskarte ist, den Ort, die Form und die Höhe aller stationären Objekte innerhalb eines interessierenden Bereichs des Fahrzeugs 12 zu definieren. Das Modul 36 einer stationären Belegungskarte kann durch das Gesamtbildverarbeitungsmodul 32 jedes Mal, wenn das Bodenebenenverfolgungsmodul 34 eine aktualisierte Bodenebene bereitstellt, oder in einem beliebigen anderen geeigneten Zeitintervall aktiviert werden. In Kasten 62 werden die 3-D-Abtastpunkte von dem Laserentfernungsmesser 14 bereitgestellt. Die Bodenpunkte können in Kasten 62 von den Abtastpunkten entfernt werden, so dass die verbleibenden Abtastpunkte alle Objekte oberhalb des Bodens darstellen. In Kasten 64 wird die aktualisierte Bodenebene oder -fläche von dem Bodenebenenverfolgungsmodul 34 bereitgestellt. In Kasten 66 werden alle Abtastpunkte von Kasten 62 auf die Bodenebene oder -fläche projiziert, wie es nachstehend in der detaillierten Erläuterung beschrieben ist. Die Projektion aller Abtastpunkte auf die Bodenfläche in Kasten 66 stellt einen Satz von Vektoren bereit, wobei jeder Vektor von einem Abtastpunkt senkrecht zur Bodenebene oder -fläche verläuft.
-
Die in Kasten 66 erzeugten Vektoren können dann verwendet werden, um in Kasten 68 eine 2-D-Höhenkarte zu konstruieren. Die 2-D-Höhenkarte zeigt die Höhe und den Ort relativ zur Bodenebene oder -fläche aller Objekte wie durch die Abtastpunkte dargestellt. In Kasten 70 kann eine binäre Belegungskarte konstruiert werden, die den Ort in der Bodenebene von allen Objekten innerhalb des interessierenden Bereichs des Fahrzeugs 12 zeigt. Die Konstruktion der binären Belegungskarte von Kasten 70 beginnt, indem alle Punkte in der Bodenebene oder -fläche hergenommen werden, an denen sich die Normalenvektoren von Kasten 66 schneiden. Jedem dieser Bodenebenenprojektionspunkte wird eine Schwellenwertobjektgröße zugeordnet, wie beispielsweise 10 cm im Quadrat, was zu einem ersten Satz von 2-D-Formen in der Bodenebene führt. Die 2-D-Formen können miteinander gruppiert werden, wenn sie sich berühren oder überschneiden, wobei ein zweiter Satz von größeren 2-D-Formen in der Bodenebene bereitgestellt wird, die jeweils den durch ein stationäres Objekt eingenommenen Bereich darstellen.
-
Es folgt eine detaillierte Erläuterung der Berechnungen, die in dem Flussdiagramm 60 verwendet werden.
-
Es bezeichne Gnd den Satz von Abtastpunkten, der als Boden bezeichnet wird. Die verbleibenden Abtastpunkte, jene, die Objekte darstellen, können als O = Sen – Gnd geschrieben werden, wobei Sen der Satz von Sensorabtastpunktwolken ist.
-
Es sei O = {q
k|k = 1, ..., K}. Mit einem gegebenen Punkt q
k wird Neighbor(q
k) als der Satz von Bodenpunkten bezeichnet, der q
k am nächsten liegt. Es bezeichne Ω(q
k) die angepasste Ebene auf der Grundlage der Bodenpunkte Neighbor(q
k). Dann kann die Höhe von q
k als Distanz von q
k zur Ebene Ω(q
k) bezeichnet werden;
wobei A
Ωx + B
Ωy + C
Ωz + d
Ω = 0 die Ebenengleichung für Ω(q
k) und q
k = (x
k, y
k, z
k)
T bezeichnet. Ein positiver Wert von elev(q
k) bedeutet, dass der Punkt über dem Boden liegt, während ein negativer Wert bedeutet, dass der Punkt unter dem Boden liegt. Es werden nur Punkte über dem Boden für eine Objektdetektion in Betracht gezogen. Die Höhe jedes Punkts q
k kann verwendet werden, um die 2D-Höhenkarte zu konstruieren.
-
Dann kann die binäre statische Belegungskarte wie folgt konstruiert werden;
wobei occup(q
k) eine Indikatorfunktion zum Bestimmen, ob jeder Punkt q
k ein Hindernispunkt ist, ist und T
elev ein kleiner Höhenschwellenwert ist.
-
7 ist ein Beispiel einer binären statischen Belegungskarte 80, wie sie durch das Modul 36 einer stationären Belegungskarte erzeugt wird. Die binäre statische Belegungskarte 80 zeigt das Fahrzeug 12 im Zentrum, umgeben von konzentrischen Bögen 84, die das Abtastmuster des Laserentfernungsmessers 14 darstellen. Zahlreiche Objekte 86 füllen die Belegungskarte 80, wobei jedes Objekt 86 ein Cluster von Punkten darstellt, bei denen ein Treffer durch den Laserentfernungsmesser 14 zurückgegeben wurde, wobei die Punkte auf die Bodenebene projiziert werden. Dies sind die Punkte qk, die als belegt bestimmt wurden, wie es oben beschrieben wurde. In diesem Beispiel ist zu sehen, dass sich die Objekte 86 entlang den Seiten der Straße befinden, auf der das Fahrzeug 12 fährt. Die oben beschriebene 2-D-Höhenkarte fügt zu der in der Belegungskarte 80 enthaltenen Belegungsinformation eine Höheninformation hinzu.
-
Nach dem Betrieb des Moduls 36 einer stationären Belegungskarte, wie oben beschrieben, kann das Modul 38 einer Verfolgung dynamischer Objekte aktiviert werden. 8 ist ein Flussdiagramm 100 eines Prozesses, der durch das Modul 38 einer Verfolgung dynamischer Objekte des Softwaresystems 30 verwendet wird. Der Zweck des Moduls 38 einer Verfolgung dynamischer Objekte ist, den Ort, die Form und die Geschwindigkeit von allen sich bewegenden Objekten oder Objekten mit einer Bodengeschwindigkeit von nicht Null innerhalb des interessierenden Bereichs des Fahrzeugs 12 zu definieren. Das Modul 38 einer Verfolgung dynamischer Objekte kann durch das Gesamtbildverarbeitungsmodul 32 jedes Mal aktiviert werden, wenn das Modul 36 einer stationären Belegungskarte eine aktualisierte Belegungskarte 80 bereitstellt, oder in einem beliebigen anderen geeigneten Zeitintervall. In Kasten 102 werden die 3-D-Abtastpunkte von dem Laserentfernungsmesser 14 bereitgestellt. In Kasten 104 werden die Bodenpunkte von den Abtastpunktdaten entfernt, wobei die Bodenpunkte in Kasten 54 des Prozesses, der an dem Flussdiagramm 40 gezeigt ist, identifiziert wurden. Nach dem Entfernen der Bodenpunkte in Kasten 104 können die Abtastpunkte, die Objekte darstellen, weiter verarbeitet werden, um dynamische oder sich bewegende Objekte zu identifizieren.
-
In Kasten 106 wird die jüngste statische Belegungskarte, für die die statische Belegungskarte 80 ein Beispiel ist, durch das Modul 36 einer stationären Belegungskarte bereitgestellt. In Kasten 108 wird ein Ähnlichkeitsgraph konstruiert, um zu ermitteln, welche Objektpunkte mit welchen anderen in Beziehung stehen – d. h., welche Punkte als aus dem gleichen Objekt resultierend betrachtet werden. In Kasten 110 wird die Objektgruppierung abgeschlossen und werden Form und Größe der dynamischen Objekte bestimmt. In Kasten 112 wird die Klassifizierung jedes dynamischen Objekts abgeschlossen, so dass jedes dynamische Objekt als Fahrzeug, Fußgänger, Fahrrad, Tier oder ein anderer Typ von sich bewegendem Objekt, basierend auf dessen Form und Größe, identifiziert werden kann. In Kasten 114 wird der Schwerpunkt jedes dynamischen Objekts aus der Objektform berechnet, und in Kasten 116 werden die Position und Geschwindigkeit der Objekte verfolgt. Die Daten dynamischer Objekte – einschließlich Größe, Form, potentieller Identifikation, Position und Geschwindigkeit von allen dynamischen Objekten – werden in Kasten 118 ausgegeben.
-
Es folgt eine detaillierte Erläuterung der Berechnungen, die in dem Flussdiagramm 100 verwendet werden.
-
Nach dem Bereitstellen des Satzes von Objektpunkten und der Belegungskarte wird ein Ähnlichkeitsgraph konstruiert, definiert als G3 = (V, E), wobei der Vertexsatz als Punkte über dem Boden definiert ist – d. h. V = {ql|l = 1, ..., No), ∀lelev(ql) > Telev, und der Randsatz E als Satz von Punktpaaren definiert ist, wenn die Distanz jedes Punktpaars geringer als ein Schwellenwert (Tsep) ist, d. h. E = {(ql, qn)|||ql – qn|| < Tsep}.
-
Hier wird ein effizienter O(No)-Gruppierungsalgorithmus auf der Grundlage eines Verfahrens einer Aufteilung von verbundenen Komponenten vorgeschlagen. Es wird eine Strategie einer Tiefensuche (DFS von depth-first search) auf den Graphen G3 angewandt.
-
Die DFS-Gruppierungsfunktion wird nachstehend beschrieben und erfordert Eingänge von V und Tsep und gibt eine Satzliste L = {S1, ..., Sc} aus.
- 1) Für jeden Punkt q1 in V
a) Wenn q1 nicht belegt ist, erzeuge einen leeren Satz S und füge ihn der Satzliste L hinzu
b) Rufe DFS-Funktion mit Argumenten q1, S, V und Tsep auf
-
Die DFS-Funktion wird nachstehend beschrieben und erfordert Eingänge von q, S, V und Tsep und gibt einen Satz S aus.
- 1) Setze Punkt q in Satz S ein
- 2) Markiere q als belegten Punkt
- 3) Wenn es einen anderen Punkt p ∊ V gibt, so dass ||p – q|| < Tsep
a) Rufe rekursiv DFS-Funktion mit Argumenten p, s, V und Tsep auf
-
Es sei angemerkt, dass in dem obigen Algorithmus die DFS-Strategie in G
3 realisiert ist, obwohl eine explizite Konstruktion des Graphen G
3 nicht erforderlich ist. Schritt 3 in der DFS-Funktion weist eine Realisierung einer Komplexität einer konstanten Zeit (d. h. O(1)) auf.
9 ist ein Diagramm
250, das zeigt, wie Punkte zu Objekten unter Verwendung der DFS-Strategie gruppiert werden. Eine Gitterdatenstruktur
260 ist entworfen, um die Punkte in V zu halten. Jeder Punkt wird auf der Grundlage seines Orts in der X-Y-Ebene einer Zelle zugeordnet, z. B. Punkt q = (x, y, z) befindet sich in der Zelle
bezeichnet als q-Zelle. Wenn mehr als zwei Punkte in eine Zelle fallen, wird eine verlinkte Liste
280 verwendet.
-
Es sei angemerkt, dass für jeden Punkt q alle seine direkten Nachbarn, die einen mit q verlinkten Rand aufweisen, in einem 3 × 3-Gitter liegen, das an der Zelle zentriert ist, die den Punkt q umfasst. Dies ist in dem Diagramm 250 zu sehen, und zwar durch beobachten, dass alle Kreise mit Radius Δ, die innerhalb der Zelle (0, 0) zentriert sind, in dem 3 × 3-Gitter 262 liegen. Daher kann Schritt 3 in der DFS-Funktion geändert werden zu:
- 3) Wenn ein anderer Punkt p existiert, der zu dem 3 × 3-Gitter gehört, das an der q-Zelle zentriert ist, so dass ||p – q|| < Tsep
-
Es wird angenommen, dass es eine konstante Anzahl von Punkten in dem 3 × 3-Gitter 262 gibt, wobei die Komplexität von Schritt 3 die konstante Zeit ist, d. h. O(1). Wie in der DFS-Gruppierungsfunktion entworfen, ist jeder Punkt in dem Satz V nur einmal belegt, so dass die Komplexität des gesamten Gruppierungsalgorithmus O(No) ist.
-
Wie in Diagramm 250 gezeigt, ist die Verteilung von 3D-Punkten in dem Gitter spärlich, d. h., nicht alle Zellen sind mit Punkten belegt. Somit kann eine Hash-Tabelle 282 verwendet werden, um das Gitter zu realisieren. Jede belegte Zelle wird auf der Grundlage ihres Zellenindex auf einen Tabelleneintrag abgebildet; beispielsweise wird Zelle (0, 0) auf einen dritten Tabelleneintrag 284 abgebildet und wird Zelle (–1, 1) auf einen achten Tabelleneintrag 286 abgebildet.
-
Der Schwerpunkt eines Objekt-Clusters wird als Abtastwertmittelwert des Clusters definiert. Es bestehe der c-te Satz (Objekt-Cluster) S
c = {p
j|j = 1, ..., J), ∀p
i∀p
j ∊ S
c, i ≠ j → ||p
i – p
j|| < T
sep aus J Punkten, wobei die Distanz zwischen jedem Punktpaar kleiner als T
sep ist. Der Schwerpunkt kann wie folgt geschrieben werden;
-
Die geometrische Größe des Clusters kann durch eine Eigenzerlegung der folgenden Matrix berechnet werden;
-
Nämlich D = UΛUT, wobei Λ eine diagonale Matrix ist, wobei die diagonalen Elemente Eigenwerte sind und die Spalten der orthogonalen Matrix U = (u1, u2, u3) die entsprechenden Eigenvektoren sind.
-
Dann wird der minimale bzw. maximale Wert des Skalarprodukts der Punkte pj mit drei Hauptachsen (den drei Eigenvektoren) berechnet. Beispielsweise kann die Größe entlang der Hauptachse un als Lenn = maxj(p T / j un) – minj(p T / j un), n = 1, 2, 3. geschrieben werden. Die Größe des Clusters kann für eine Klassifizierung des Clusters als Fahrzeug, Fußgänger, Fahrrad, Tier etc. verwendet werden.
-
Es wird ein Kalman-Filter verwendet, um den Schwerpunkt eines Objekt-Clusters zu verfolgen. Der Zustandsvektor für eine Verfolgung ist mit s = (x, y, vx, vy) definiert, was die Längsverschiebung, Querverschiebung, Längsgeschwindigkeit bzw. Quergeschwindigkeit der Verfolgung darstellt.
-
Es wird ein Modell einer konstanten Geschwindigkeit (CV von constant-velocity) als Zieldynamikmodell verwendet. Somit kann der neue Zustandsvektor der Verfolgung s' aus s vorhergesagt werden, mit;
s' = As + vCV (21) wobei
v
CV der mittelwertfreie Gaußsche Vektor eines weißen Rauschens ist und ΔT das Abtastzeitintervall ist.
-
Es sei der Objekt-Cluster-Schwerpunkt
p c = (
x c,
y c)
T, wobei die z-Komponente weggelassen wird. Die Messgleichung kann geschrieben werden wie folgt;
p c = Hs + wc (22) wobei
und w
c ein mittelwertfreier Gaußscher Vektor eines weißen Rauschens zum Modellieren des Messprozesses ist.
-
Dann wird ein Kalman-Filter auf die Gleichungen (21) und (22) angewandt, um den Zustandsvektor zu schätzen. Die Geometrieinformation der Verfolgung verwendet die Werte der geometrischen Form des Clusters (z. B. die Größe entlang der Hauptachsen).
-
Die Abbildung stationärer Objekte und die Verfolgungsdaten dynamischer Objekte, die durch die Module 36 und 38 des Softwaresystems 30 erzeugt werden, stellen eine vollständige und genaue Darstellung von Objekten in der Nähe des Fahrzeugs 12 bereit. Durch Verwenden der Laserabtasttechnologie und von spezialisierten Datenverarbeitungsalgorithmen, die oben beschrieben wurden, können die offenbarten Verfahren und das offenbarte System viele Probleme beseitigen, die bei anderen Objektdetektionssystemen auftreten, wodurch eine Information mit besserer Qualität an stromabwärtige Anwendungen im Fahrzeug, wie beispielsweise an Kollisionsvermeidungssysteme oder Systeme eines semiautonomen Fahrens, bereitgestellt wird.
-
Die vorstehende Erläuterung offenbart und beschreibt lediglich beispielhafte Ausführungsformen der vorliegenden Erfindung. Ein Fachmann wird aus solch einer Erläuterung und aus den begleitenden Zeichnungen und den Ansprüchen leicht erkennen, dass verschiedene Änderungen, Abwandlungen und Variationen daran vorgenommen werden können, ohne von dem Gedanken und Schutzumfang der Erfindung wie in den folgenden Ansprüchen definiert abzuweichen.