-
Die Erfindung betrifft ein Verfahren zum Bestimmen des Ortes mindestens einer Struktur mittels eines bildgebenden Sensors, insbesondere eines an einem Fahrzeug montierten bildgebenden Sensors, wobei der Ort der individuellen Struktur aus Bildern bestimmt wird, die durch den bildgebenden Sensor von mindestens zwei verschiedenen Sensorpositionen erzeugt werden, wobei die Sensorpositionen einen Abstand haben, der größer oder gleich einem minimalen Abstand zum Bestimmen des Orts der Struktur ist.
-
Die Erfindung betrifft ferner ein entsprechendes Computerprogrammprodukt und ein entsprechendes computergestütztes Ortsbestimmungssystem.
-
Die Bestimmung des Ortes von „Structure from Motion“ und/oder eine 3D-Rekonstruktion unter Verwendung eines bildgebenden Sensors, wie beispielsweise einer Kamera, erfordert die Bewegung des bildgebenden Sensors, bevor eine Abschätzung einer Struktur in der Umgebung möglich ist. Daher muss bei einer Anwendung, bei der Structure from Motion oder eine 3D-Rekonstruktion erforderlich ist, die Anwendung eine ausreichende Bewegung des bildgebenden Sensors ermöglichen, bevor mit der 3D-Rekonstruktion begonnen wird. Üblicherweise erfolgt dies, indem vor dem Triggern der 3D-Rekonstruktion eine minimale Basislinie (minimaler Abstand Dth) zwischen den zwei Sensorpositionen erzwungen wird, d.h. indem gesagt wird, dass der bildgebende Sensor vor der Ausführung der Rekonstruktion eine minimale Translationsbewegung ausführen muss. Dieser mit dem Begriff „Degeneration (Degeneracy)“ verbundene Ansatz wird im Fachbuch: Hartley, R. und Zisserman, A.: „Multiple View Geometry in Computer Vision, Zweite Auflage“; Cambridge University Press, 25. März 2004, ausführlicher diskutiert.
-
Der Erfindung liegt die Aufgabe zugrunde, ein entsprechend verbessertes Verfahren zum Bestimmen des Ortes mindestens einer Struktur mittels eines bewegten bildgebenden Sensors, ein entsprechend verbessertes Computerprogrammprodukt und ein entsprechend verbessertes computergestütztes Ortsbestimmungssystem anzugeben.
-
Die Lösung dieser Aufgabe erfolgt durch ein Verfahren, ein Computerprogrammprodukt sowie ein entsprechendes computergestütztes Ortsbestimmungssystem mit den Merkmalen der jeweiligen unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche, der Beschreibung und der Figuren.
-
Gemäß dem erfindungsgemäßen Verfahren zum Bestimmen des Ortes mindestens einer Struktur mittels eines bildgebenden Sensors, wobei der Ort aus Bildern ermittelt wird, die durch den bildgebenden Sensor von mindestens zwei unterschiedlichen Sensorpositionen in einem Abstand erzeugt werden, der größer oder gleich einem minimalen Abstand zum Bestimmen des Ortes der Struktur ist, erzeugt der sich bewegende bildgebende Sensor eine Serie aufeinanderfolgender Bilder, wobei der Abstand der Sensorpositionen durch Erkennen der Struktur in den Bildern und Bestimmen des Ortes der Struktur relativ zu der Position und zu einer Orientierung des bildgebenden Sensors für jedes der Bilder verifiziert wird. Die Orientierung des bildgebenden Sensors ist z.B. durch eine Blickrichtung des Sensors gegeben. In einer bevorzugten Anwendung ist der bildgebende Sensor in/an einem Fahrzeug montiert und sind die Strukturen in einer Umgebung des Fahrzeugs. Das erfindungsgemäße Verfahren hat den Vorteil, dass ein einzelner sich bewegender bildgebender Sensor ausreicht, um den Ort der Struktur(en) zu bestimmen, wobei die Bereitstellung eines ausreichenden Abstands der Sensorpositionen, an denen die Bilder erzeugt wurden, aus den Bildern selbst bestimmt/verifiziert werden kann.
-
Der bildgebende Sensor ist vorzugsweise eine Kamera, ein bildgebender Ultraschallsensor, ein bildgebender Radarsensor oder ein bildgebender Lidarsensor. All diese Arten bildgebender Sensoren sind aus verschiedenen Automobilanwendungen bekannt.
-
Gemäß einer bevorzugten Ausführungsform der Erfindung zeigt ein Referenzvektor die jeweilige Orientierung des bildgebenden Sensors an, zeigt ein Richtungsvektor den Ort der Struktur relativ zur Position des bildgebenden Sensors an und ergibt sich das Vorhandensein eines ausreichenden Abstands zwischen den Sensorpositionen aus der Tatsache, dass eine Winkeldifferenz der jeweiligen Richtungsvektoren s, s', die mit dem Referenzvektor
in Beziehung stehen, größer ist als ein Schwellenwert θ
th. Der Referenzvektor
der die jeweilige Orientierung des bildgebenden Sensors anzeigt, ist beispielsweise durch eine Blickrichtung des Sensors gegeben.
-
In vielen Fällen ändert sich die Orientierung des bildgebenden Sensors zwischen den beiden Sensorpositionen nicht wesentlich. In diesen Fällen kann der Abstand der Sensorpositionen nur unter Verwendung der Richtungsvektoren bestimmt werden.
-
Gemäß einer weiteren bevorzugten Ausführungsform der Erfindung sind die Bilder Einzelbilder (Frames) einer Videosequenz, die durch den sich bewegenden bildgebenden Sensor, insbesondere eine (Video-) Kamera, aufgenommen werden. Vorzugsweise werden ein Paar Einzelbilder, d.h. zwei unmittelbar aufeinanderfolgende Einzelbilder, zum Bestimmen des Abstands der Sensorpositionen verwendet.
-
Gemäß einer anderen bevorzugten Ausführungsform der Erfindung wird die Winkeldifferenz θ durch Berechnen des Skalarprodukts der Richtungsvektoren s, s' bestimmt. Jeder der Richtungsvektoren s, s' ist vorzugsweise ein Einheitsvektor mit der Länge 1. Dies ergibt die folgende Gleichung:
-
Vorzugsweise wird der Ort mittels Triangulation bestimmt. Triangulation ist ein Prozess zum Bestimmen der Position eines Punktes derart, dass nur Winkel zu ihm von bekannten Punkten an jedem Ende einer festen Basislinie gemessen werden, anstatt die Abstände zum Punkt direkt wie bei einer Trilateration zu messen. Der Punkt kann dann als der dritte Punkt eines Dreiecks mit einer bekannten Seite und zwei bekannten Winkeln festgelegt werden.
-
Gemäß einer noch anderen bevorzugten Ausführungsform der Erfindung ist die Ortsbestimmung Teil einer 3D-Rekonstruktion mehrerer Strukturen. Mit anderen Worten: das Verfahren ist ein Verfahren für eine 3D-Rekonstruktion. 3D-Rekonstruktion ist ein Prozess zum Erfassen der Form und des Erscheinungsbildes realer Objekte. Dieser Prozess kann entweder durch aktive oder durch passive Methoden implementiert werden. Wenn die Form des Modells sich mit der Zeit ändern darf, wird dies als nicht-starre oder räumlich-zeitliche Rekonstruktion bezeichnet.
-
Das erfindungsgemäße Computerprogrammprodukt weist computerausführbare Programmcodeabschnitte mit Programmcodeanweisungen auf, die dafür konfiguriert sind, das vorstehende Verfahren auszuführen, wenn es z.B. in einen Prozessor eines computergestützten Ortsbestimmungssystems geladen wird.
-
Gemäß dem computergestützten Ortsbestimmungssystem zum Bestimmen des Orts mindestens einer Struktur mittels eines bildgebenden Sensors zum Erzeugen einer Serie aufeinanderfolgender Bilder, ist das System dafür eingerichtet, den Ort der individuellen Struktur aus Bildern zu bestimmen, die durch den bildgebenden Sensor von mindestens zwei verschiedenen Sensorpositionen erzeugt wurden, die einen Abstand haben, der größer oder gleich einem minimalen Abstand zum Bestimmen des Orts der Struktur ist, wobei das System dafür eingerichtet ist, den Abstand der Sensorpositionen durch Erkennen der Struktur in den Bildern und Bestimmen des Ortes der Struktur relativ zu der Position und zu einer Orientierung des bildgebenden Sensors für jedes der Bilder zu verifizieren.
-
Gemäß einer bevorzugten Ausführungsform des erfindungsgemäßen computergestützten Ortsbestimmungssystems ist das Ortsbestimmungssystem dafür eingerichtet, das vorstehende Verfahren mittels mindestens eines bildgebenden Sensors auszuführen.
-
Im Allgemeinen weist das computergestützte Ortsbestimmungssystem eine Computereinheit mit einem Prozessor und einem Speicher auf. Vorzugsweise weist das Ortsbestimmungssystem ferner den bildgebenden Sensor auf.
-
Weitere Merkmale der Erfindung ergeben sich aus den Ansprüchen, der Figur und der Figurenbeschreibung. Alle vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachstehend in der Figurenbeschreibung erwähnten und/oder nur in der Figur dargestellten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder eigenständig verwendbar.
-
Die Erfindung wird nachstehend anhand einer bevorzugten Ausführungsform sowie unter Bezug auf die beigefügten Zeichnungen näher erläutert.
-
Es zeigt
- 1 eine Draufsicht eines Fahrzeugs auf einer Straße, das Strukturen eines Objekts unter Verwendung eines bildgebenden Sensors erfasst.
-
1 zeigt eine Draufsicht auf eine Szene mit einem Fahrzeug 10, das auf einer Straße 12 fährt. Dieses Fahrzeug 10 ist ein Kraftfahrzeug, um genauer zu sein: ein Personenkraftwagen. Das Fahrzeug 10 weist ein computergestütztes Ortsbestimmungssystem 14 mit einer Computereinheit 16 und einem (oder mehreren) bildgebenden Sensor(en) 18 auf. Der in dem Beispiel verwendete bildgebende Sensor 18 ist eine Kamera 20, die sich im vorderen Bereich des Fahrzeugs 10 befindet. Andere mögliche bildgebende Sensoren 18 für diesen Zweck basieren auf Ultraschall, Radar, Lidar usw. Der Erfassungsbereich des bildgebenden Sensors 18 ist ein entsprechender Umgebungsbereich 22 vor dem Fahrzeug 10.
-
Das Fahrzeug 12 fährt auf der Straße 12 mit der Geschwindigkeit v, und der montierte bildgebende Sensor 18 erzeugt während der Bewegung eine Serie aufeinanderfolgender Bilder 24. Zwei Bilder 24 sind auf der linken Seite von 1 dargestellt. Das untere erste Bild 24 ist ein Bild des bildgebenden Sensors 18, das an der Position P1 erzeugt wird, und das obere zweite Bild 24 ist ein Bild des bildgebenden Sensors 18, das an der Position P2 erzeugt wird. Die zwei Positionen P1, P2 haben einen Abstand D. Am Straßenrand der Straße 12 im Erfassungsbereich des bildgebenden Sensors 18 (im Umgebungsbereich 22) befindet sich eine sichtbare Struktur 26, z.B. eines Objekts, wie beispielsweise ein Verkehrsschild, ein parkendes Auto usw.
-
Somit ist diese Struktur
26 (neben der Straße
12) in beiden Bildern
24 sichtbar. Der Abstand D der Sensorpositionen
P1,
P2 wird durch Erkennen der Struktur
26 in den Bildern
24 verifiziert, und der Ort der Struktur
26 relativ zur Position
P1,
P2 in Bezug auf eine Orientierung des bildgebenden Sensors
18 für jedes der Bilder
24 wird bestimmt. Ein Referenzvektor
gibt die jeweilige Orientierung des bildgebenden Sensors
18 an. Ein Richtungsvektor s, s' gibt den Ort der Struktur
26 relativ zur Sensorposition
P1,
P2 an, und das Vorhandensein eines ausreichend großen Abstands D zwischen den Sensorpositionen
P1 an P2 ergibt sich aus der Tatsache, dass eine Winkeldifferenz θ der jeweiligen Richtungsvektoren s, s' bezogen auf den Referenzvektor
größer ist als ein Schwellenwert θ
th (in
1 nicht dargestellt). Die Orientierung des bildgebenden Sensors
18 ändert sich zwischen den beiden Sensorpositionen
P1,
P2 nicht wesentlich, so dass nur ein Referenzvektor verwendet wird. In diesen Fällen kann der Abstand D der Sensorpositionen
P1,
P2 unter Verwendung nur der Richtungsvektoren s, s' bestimmt werden.
-
Durch Untersuchen jedes Paars von Vektoren s, s', die einem übereinstimmenden Punkt in benachbarten Videobildern 24 entsprechen, und Beobachten, ob der Winkel θ dazwischen „groß genug“ ist, besteht keine Notwendigkeit für eine allgemeine Kamera-Basislinie. Dies hat den Vorteil, dass Strukturen 26 näher liegender Objekte früher erfasst werden und die Genauigkeit von Erfassungen der Strukturen 26 weiter entfernter Objekte (Objekte, die weiter entfernt sind) größer ist.
-
Zusätzlich kann man sagen, dass ein bestimmter Merkmalssatz „unscharf“ (engl.: „unsharp“) ist, was anzeigt, dass ein Objekt mit der Struktur 26 existiert, jedoch mit geringer Genauigkeit. Dies ist sehr nützlich für ein Fusionssystem (z.B. mit Ultraschall), wo man wünscht, dass das Fahrzeug 10 auf mehr als eine Quelle reagiert (um falsche Reaktionen zu vermeiden), aber auch wünscht, in der Lage zu sein, schnell zu reagieren, bevor genaue Erfassungen ausgeführt werden.
-
Zwischen zwei verarbeiteten Videobildern werden Merkmale zugeordnet, beispielsweise unter Verwendung eines optischen Flusses oder eines Merkmalsabgleichs. Jedes Merkmal kann unter Verwendung einer Kalibrierung in einen Strahl vom bildgebenden Sensor 18 (z.B. einer Kamera 20) umgewandelt werden. Für jedes Merkmal müssen, um die Position dieses Merkmals im 3D-Raum zu rekonstruieren, die Strahlen trianguliert werden können. Das heißt, die Strahlen müssen eine gewisse Konvergenz haben. Dies ist jedoch nicht die einzige Möglichkeit, ein Merkmal zu rekonstruieren, da das Ausführen einer direkten Strahlkonvergenz in R3 fehleranfällig sein kann. Andere Methoden beinhalten die Verwendung eines Reprojektionsfehlers zum Schätzen der Tiefe.
-
Um diese Konvergenz zu gewährleisten, erfordern existierende Lösungen die Einschränkung, dass sich die Kamera
20 über einen gewissen minimalen Basislinienabstand bewegen muss, bevor eine Verarbeitung zum Schätzen des 3D-Punkts ausgeführt wird. Wir schlagen jedoch vor, die Konvergenz durch Untersuchen der projizierten Strahlen zu gewährleisten und zu gewährleisten, dass der durch die beiden Strahlen gebildete Winkel größer ist als ein Schwellenwert. Das heißt, für ein Merkmal, das dem internen Puffer für eine Verarbeitung hinzugefügt werden soll, muss Folgendes erfüllt sein:
wobei s der Vektor ist, der einem Strahl entspricht, der von dem aktuellen Einzelbild projiziert wird, s' das Äquivalent eines vorhergehenden Einzelbildes ist und θ
th der Winkelschwellenwert ist (und · sich auf das Skalarprodukt von zwei Vektoren in R
3 bezieht). Es wird darauf hingewiesen, dass s und s' im gleichen Koordinatensystem liegen müssen, daher muss die Odometrie (die als Rotationsmatrix R und Translationsvektor t dargestellt werden kann) der Kamera
20 bei der Formulierung von s und s' berücksichtigt werden. Es wird auch darauf hingewiesen, dass der Kosinus eines kleinen Winkels nahe bei Eins liegt und der Kosinus eines großen Winkels nahe bei null liegt. Daher die Umkehrung des Ungleichheitszeichens.
-
Manchmal ist es nützlich, ein Merkmal über mehr als ein Einzelbild hinweg zu verfolgen, beispielsweise wenn drei oder mehr Abtastwerte verwenden werden sollen, um den 3D-Punkt in der Rekonstruktion zu erstellen. In diesem Fall wird der interne Puffer für die Merkmale nur dann hinzugefügt, wenn alle neuen Merkmale die vorstehend erwähnten Kriterien erfüllen.
-
Es wird darauf hingewiesen, dass der Grund für die Verwendung eines minimalen Konvergenzwinkelschwellenwerts darin besteht, dass Strahlen, die mit 0 oder mit einem sehr kleinen Winkel konvergieren, einen hohen numerischen Fehler haben und sehr anfällig sind für Rauschen im Signal, so dass der geschätzte 3D-Punkt für dieses Strahlentupel mit einem hohen Fehler behaftet sein wird.
-
Für einige Anwendungen ist jedoch ein höherer Fehler akzeptabel, weshalb wir das Konzept des „unscharfen“ Merkmals einführen. Ein „unscharfes“ Merkmal ist ein Merkmal, das nicht unbedingt die vorstehend erwähnten Kriterien erfüllt. Beispielsweise können für einen Strahl, der als unscharf eingestuft werden soll, die folgenden Kriterien angewendet werden:
-
Das heißt, der Winkel zwischen den Strahlen muss größer sein als ein Schwellenwert, um als unscharf zu gelten (es wird erneut darauf hingewiesen, dass die Kosinuswerte zu einem invertierten Ungleichheitszeichen führen). Unterhalb dieses Schwellenwertes werden die Merkmale vollständig ignoriert, sie werden überhaupt nicht berücksichtigt. Oberhalb dieses Schwellenwertes, aber unterhalb des minimalen Winkels für ein „normales“ Merkmal, werden die Merkmale als unscharf betrachtet und können an Stellen verwendet werden, an denen die Anwendung dies zulässt (d.h. bei denen eine genaue 3D-Position nicht unbedingt erforderlich ist). Wie üblich, werden Merkmale mit einem Winkel, der größer ist als der vorstehend diskutierte Schwellenwert, als „normale“ Merkmale für die Rekonstruktion eingestuft.
-
Ein ähnlicher Ansatz kann bei einem Bündelausgleich verwendet werden. Bündelausgleich (BA: Bundle Adjustment) ist ein numerisches Verfahren zum Verfeinern der Position der Kamera 20 und des Ortes der Punkte in R3, die rekonstruiert werden, typischerweise unter Verwendung eines Reprojektionsfehlers als eine Fehlerfunktion. Wie bei vielen numerischen Methoden können einzelne Abtastwerte gemäß bestimmten Kriterien gewichtet werden. Wenn ein Punkt in R3 gegeben ist, der mit Strahlen rekonstruiert wird, die parallel oder nahezu parallel sind, können wir dem Bündelausgleich eine Gewichtung hinzufügen, so dass der Einfluss dieses Merkmals auf das gesamte Bündelausgleichsergebnis minimal ist. Der Grund dafür ist, dass, wenn die Strahlen für das Merkmal nahezu parallel (oder genau parallel) sind, der Reprojektionsfehler immer klein sein wird, selbst wenn manchmal ein sehr großer Fehler in R3 vorhanden ist.
-
Wie bereits erwähnt wurde, verwendet der Bündelausgleich typischerweise den Reprojektionsfehler als eine Fehlerfunktion. Der Reprojektionsfehler ist ein üblicher Mechanismus, durch den der geschätzte Punkt in R3 erneut in den Bildraum projiziert wird und der Abstand zum Bildabtastpunkt als ein Fehler gemessen wird. Zusätzlich kann die Bündelausgleichsfehlerfunktion derart konstruiert werden, dass solche parallele Strahlen immer einen hohen Fehler reflektieren, und auf diese Weise kann Merkmalen, die derart konstruiert werden, dass sie einen hohen Fehler haben, eine niedrigere Zuverlässigkeit zugeordnet werden.
-
Bezugszeichenliste
-
Fahrzeug |
10 |
Straße |
12 |
Ortbestimmungssystem |
14 |
Computereinheit |
16 |
bildgebender Sensor |
18 |
Kamera |
20 |
Erfassungsbereich |
22 |
Bild |
24 |
Struktur |
26 |
Referenzvektor |
|
Richtungsvektor |
s |
Richtungsvektor |
s' |
Geschwindigkeit |
v |
Abstand |
D |
erste Position |
P1 |
zweite Position |
P2 |