-
QUERVERWEIS AUF VERWANDTE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität der provisorischen US-Patentanmeldung Nr. 62/298.656, hinterlegt am 23. Februar 2016. Die Offenbarung der Anmeldung ist in ihrer Gesamtheit durch Bezugnahme eingeschlossen. Wo die vorliegende Offenbarung mit einer Anwendung, auf die Bezug genommen wird, in Konflikt steht, ist der vorliegenden Offenbarung Vorrang zu gewähren.
-
HINTERGRUND DER TECHNOLOGIE
-
Eine genaue Einschätzung der Kameraorientierung in Bezug auf eine spezifische Referenz, wie ein Fahrzeug, das die Kamera transportiert, erleichtert viele Bildverarbeitungs- und Computervisionsfunktionen. Diese Funktionen schließen, allerdings nicht ausschließlich, Ansichtssynthese (z. B. Bilderstellung aus verschiedenen Blickperspektiven mithilfe einer einzelnen Backup-Kamera, Aneinanderreihen von Bildern von Rundumsicht-Kameras, um eine Panoramaansicht zu erhalten usw.), Objekterkennung (z. B. Erkennung von Fahrspuren, Hindernissen auf der Straße usw.) und dreidimensionale (3D-)Rekonstruktion ein (z. B. Wiederherstellung der 3D-Struktur der Szene unter Verwendung von Stereo-Matching mithilfe zweier Kameras oder Verwenden von Bewegungsstrukturinformationen einer einzelnen Kamera), die herkömmliche Komponenten in fortgeschrittenen Fahrerunterstützungssystemen (ADAS, advanced driver assistance systems) darstellen. Die Orientierung einer Kamera kann durch verschiedene austauschbare Darstellungen wiedergegeben werden, die unter Anderem die Eulerwinkel-Darstellung (d. h. Kipp-, Gier- und Rollwinkel nach einer vorgegebenen Rotationsreihenfolge), die Rotationsmatrixdarstellung, Quaternion-Darstellung und Achsen-Winkel-Darstellung einschließen.
-
Die herkömmliche Kameraorientierungsschätzung verwendet speziell entworfene Muster, wie Gittermuster und zeitaufwendige sowie fehleranfällige Techniken. Wenn sich zusätzlich die Kameraposition ändert, wie zum Beispiel, wenn das die Kamera tragende Fahrzeug in einen Unfall verwickelt wird, muss die Kamera erneut mithilfe spezieller Geräte und Verfahren kalibriert werden, um die Kameraorientierung neu zu schätzen.
-
Die Installation inertialer Messeinheiten (IMU, inertial measurement unit) auf einer Kamera weist aufgrund der herabgesetzten Präzision und Robustheit von Verbraucher-IMUs und der hohen Kosten hochwertigerer IMUs nur eine geringe Anwendbarkeit auf.
-
Für andere Lösungen für die automatische Abschätzung der Kameraorientierung ohne speziell entworfene Muster werden im Allgemeinen herkömmliche Merkmaldetektoren und Merkmalzuordnungsgeräte verwendet, die entweder direkt lokale Bildpatches nutzen oder aufhochdimensionalen Merkmalvektoren aufbauen, die aus diesen Patches entnommen werden, um Merkmale zu beschreiben und einander zuzuordnen. Diese Geräte für Merkmalserkennung und Merkmals-Matching machen im Allgemeinen die Verwendung eines Bildspeichers erforderlich, um ein Bild zu halten, was viel Strom verbraucht und die Konstruktionskosten merklich erhöht. Techniken, die Modellanpassungsmethoden einsetzen, die stark auf linearen System-Solvern aufbauen, machen ebenfalls mehr Speicherplatz und Strom erforderlich, was zu einem teureren Kalibrierungssystem führt. Techniken, bei denen nur ein oder zwei Rotationswinkel geschätzt werden, gehen im Allgemeinen davon aus, dass die restlichen Rotationswinkel bekannt sind und konstant bleiben. Diese Annahme grenzt die Anwendbarkeit solcher Techniken ein.
-
Im Hinblick auf die Einschränkungen der existierenden Kalibrierungsmethoden und der IMU ist eine kostengünstige Kalibrierungsmethode mit geringem Stromverbrauch mit der Eigenschaft der automatischen Kameraorientierungsschätzung ohne speziell entworfene Muster wünschenswert. Diese Eigenschaft wird in diesem Dokument als Selbstkalibrierung bezeichnet.
-
KURZBESCHREIBUNG DER ZEICHNUNGSFIGUREN
-
Ein besseres Verständnis der vorliegenden Technologie kann aus der detaillierten Beschreibung erreicht werden, wenn diese im Zusammenhang mit den folgenden Figuren betrachtet wird. In den folgenden Figuren beziehen sich gleiche Referenznummern auf gleiche Elemente und Schritte in diesen Figuren.
-
1 zeigt ein Beispiel-Blockdiagramm eines Selbstkalibrierungssystems nach einer Beispiel-Ausführungsform der vorliegenden Technologie;
-
2 zeigt ein Beispiel-Blockdiagramm eines Teils eines Selbstkalibrierungssystems nach einer Beispiel-Ausführungsform der vorliegenden Technologie;
-
3 zeigt ein Beispiel-Blockdiagramm eines Teils eines Selbstkalibrierungssystems nach einer Beispiel-Ausführungsform der vorliegenden Technologie;
-
4A–J zeigen Beispiel-Kamerarahmen, die vom Selbstkalibrierungssystem in Übereinstimmung mit einer Beispiel-Ausführungsform der vorliegenden Technologie verwendet werden;
-
5A–C zeigen ein Beispiel-Kamerakoordinatensystem im Verhältnis zu einem Fahrzeugkoordinatensystem nach einer Beispiel-Ausführungsform der vorliegenden Technologie;
-
5 zeigt ein Selbstkalibrierungs-Kamerasystem nach einer Beispiel-Ausführungsform der vorliegenden Technologie; und
-
7 zeigt einen Vorgang, bei dem ein Selbstkalibrierungsverfahren in Übereinstimmung mit einer Beispiel-Ausführungsform der vorliegenden Technologie verwendet wird.
-
DETAILLIERTE BESCHREIBUNG DER BEISPIEL-AUSFÜHRUNGSFORMEN
-
Die vorliegende Technologie kann in Form von funktionellen Blockkomponenten und verschiedenen Verarbeitungsstufen beschrieben werden. Solche funktionellen Blöcke können von beliebig vielen Komponenten durchgeführt werden, die so konfiguriert sind, dass sie die spezifizierten Funktionen durchführen und die verschiedenen Ergebnisse erzielen. Die vorliegende Technologie kann zum Beispiel verschiedene bildgebende Sensoren, Bildverarbeitungseinheiten, Berechnungen, Algorithmen, Modellanpassungstechniken, Datenpartitionierung usw. einsetzen, durch die eine Vielzahl der Funktionen ausgeführt werden kann. Zusätzlich kann die vorliegende Technologie im Zusammenhang mit einer beliebigen Anzahl von Systemen eingesetzt werden, wie zum Beispiel Automobil- und luftfahrttechnischen Systemen. Die beschriebenen Systeme sind lediglich Beispielanwendungen für die Technologie. Darüber hinaus kann die vorliegende Technologie eine beliebige Anzahl herkömmlicher Technologien anwenden, um Ecken zu erfassen, Entfernungen zu messen, Winkel zu berechnen, und so weiter.
-
Die Verfahren und Apparate für ein Bildgebungssystem gemäß verschiedener Aspekte der vorliegenden Technologie können zusammen mit jedem beliebigen passenden bildgebenden System eingesetzt werden, wie zum Beispiel einer sich auf einem Fahrzeug befindenden Kamera. In Bezug auf die 1 und 6 können in einer Beispielausführung der vorliegenden Technologie Verfahren und Geräte für ein Bildgebungssystem 600 mit einem selbstkalibrierenden Bildgebungssystem einschließlich eines Bildsensors 665, einer Bildverarbeitungseinheit 145 und peripherer Systeme 650 zusammen eingesetzt werden und ein Selbstkalibrierungsverfahren 100 umsetzen. Die Bildverarbeitungseinheit 145 kann Merkmale 110 in Pixeldaten 105 erkennen, die ausgehend vom Bildsensor 665 empfangen wurden, die erkannten Merkmale 115 anpassen, die Orientierungsschätzung 120 unter Verwendung der angepassten Merkmale durchführen und die geschätzte Orientierung 130 validieren. In verschiedenen Ausführungsformen können zusätzliche Informationen 705 (7) wie Fahrzeuggeschwindigkeit und Kamerahöhe ebenfalls vom bildgebenden System 600 verwendet und in das Verfahren 100 aufgenommen werden.
-
In einer Beispielausführung kann die Bildverarbeitungseinheit 145 Pixeldaten 105 vom Bildsensor 665 einschließlich eines Pixelarrays verwenden, wobei die Pixel 450 (4A) in Zeilen und Spalten angeordnet sind. Die Bildverarbeitungseinheit 145 kann Pixeldaten 105 eines ersten Einzelbilds 405 (4A) und eines zweiten Einzelbilds 410 (4B) verwenden, zum Beispiel vom Bildsensor 665. In einer anderen Ausführungsform können Pixeldaten 105 aus mehr als zwei Einzelbildern 400 verwendet werden, wenn mehr als zwei Einzelbilder 400 verfügbar sind.
-
In verschiedenen Ausführungsformen kann die Bildverarbeitungseinheit 145 eine Kalibrierungseinheit 165 umfassen, die konfiguriert ist, um mehrere Bildverarbeitungstechniken auszuführen und Algorithmen zu verwenden, um die Orientierung der Kamera 565 in Bezug auf ein Referenzkoordinatensystem 505 zu bestimmen (5). Die Kalibrierungseinheit 165 kann die Merkmalserkennung 110, das Merkmals-Matching 115, die Orientierungseinschätzung 120 und die Orientierungsvalidierung 130 ausführen, um die Kameraorientierung zu bestimmen.
-
In verschiedenen Ausführungsformen können die Bildverarbeitungseinheit 145 und die Kalibrierungseinheit 165 mithilfe eines programmierbaren Logikbausteins eingesetzt werden, wie zum Beispiel eines programmierbaren Gate-Arrays (FPGA) oder eines anderen Geräts mit neu konfigurierbaren digitalen Schaltkreisen. In anderen Ausführungsformen können die Bildverarbeitungseinheit 145 und die Kalibrierungseinheit 165 in Hardware eingesetzt werden, die nichtprogrammierbare Geräte verwendet. In alternativen Ausführungsformen können die Bildverarbeitungseinheit 145 und die Kalibrierungseinheit 165 teilweise oder ganz innerhalb eines integrierten Schaltkreises in Silizium angeordnet werden, unter Verwendung geeigneter zusätzlicher Techniken oder Herstellungsprozesse mit Metalloxid-Halbleitern (CMOS), in einem ASIC, mit Benutzung eines Prozessors und Speichersystems oder anderer geeigneter Umsetzung.
-
Die Kalibrierungseinheit 165 kann an den Bilddaten, wie an den Daten der ersten und zweiten Einzelbilder 405, 410, eine Merkmalserkennung 110 durchführen (4A–4B). In der vorliegenden Beispielausführung kann die Merkmalserkennung 110 die Erkennung von mindestens jeweils zwei Merkmalen innerhalb des ersten Einzelbilds 405 und des zweiten Einzelbilds 410 umfassen. In verschiedenen Ausführungsformen kann die Kalibrierungseinheit 165 anfänglich viele Merkmale erkennen, zum Beispiel mehr als 10 Merkmale. Sobald die Merkmale erkannt worden sind, kann die Kalibrierungseinheit 165 Bildverarbeitungstechniken zur Verfügung stellen, um ungültige Merkmale abzulehnen und gültige Merkmale für die weitere Bildverarbeitung beizubehalten.
-
Die Kalibrierungseinheit 165 kann jedoch bestimmen, dass nicht genug Informationen vorhanden sind, um mit dem Merkmals-Matching 115 fortzufahren. Wenn zum Beispiel weniger als zwei Merkmale aus den Pixeldaten 105 des aktuellen Einzelbildes 400 erkannt worden sind, kann die Kalibrierungseinheit 165 einen neuen Merkmalserkennungsdurchgang 110 durchführen, in der sie die Pixeldaten 105 eines neuen Einzelbildes 400 verwendet. In verschiedenen Ausführungen kann die Kalibrierungseinheit 165 eventuell keine Merkmalerkennung 110 an Pixeldaten 105 des gesamten Einzelbildes 400 vornehmen, aber an Pixeldaten 105 eines Teils des Einzelbildes 400. Die Kalibrierungseinheit 165 kann zum Beispiel Pixeldaten 105 überspringen, die zu mehreren Zeilen am oberen Ende eines Einzelbildes 400 gehören.
-
In Bezug auf 2 kann die Merkmalserkennung 110 durch Kalibrierungseinheit 165 die Erkennung eines Satzes von Kandidatenecken 210 durch Verwendung von Eckenerkennungsverfahren umfassen, wie zum Beispiel des Harris-Eckendetektors und des FAST-Detektors (Features from Accelerated Segment Test) oder anderer angemessener Eckenerkennungsverfahren. In einer Beispielausführung kann die Kalibrierungseinheit 165 die Merkmalserkennung 110 an gewöhnlich vorhandener Bildsprache, wie Bilder mit Helligkeits- oder Farbvariationen im abgebildeten Straßenbereich, durchführen, die Ecken bilden, und benötigt eventuell nicht die Verwendung speziell konstruierter Ziele, wie spezifische Straßenoberflächenzeichen, wiederholte Texturen oder symmetrische Markierungen gestrichelter Linien. Die Kalibrierungseinheit 165 kann zum Beispiel Ecken in einer gekachelten Oberfläche, einem neu geteerten Straßenabschnitt und/oder an jeglicher Straßenmarkierung mit Ecken, wie Linien zum Anzeigen eines Fußgängerüberwegs, eine Markierung der Straßenmitte, die Markierung einer Temposchwelle, einer Abbiegespur und so weiter, erkennen.
-
In verschiedenen Ausführungen kann die Kalibrierungseinheit 165 einen Satz möglicher Ecken 230 für jedes Einzelbild 400 erstellen (4A–4B). Der Satz möglicher Ecken 230 kann eine Vielzahl erkannter Merkmale, wie verschiedene mögliche Ecken, umfassen. Die 4C und 4D stellen jeweils das erste Einzelbild 405 und das zweite Einzelbild 410 dar, wobei das erste Einzelbild 405 eine Menge erkannter Merkmale 420a–j (d. h. eine Reihe möglicher Ecken 230), und das zweite Einzelbild eine Menge erkannter Merkmale 420a'–i', 420k' (d. h. eine Menge möglicher Ecken 230) umfasst.
-
Sobald die Mengen möglicher Ecken 230 erstellt worden sind, kann die Kalibrierungseinheit 165 eine zusätzliche Verarbeitung von Pixeldaten 105, die jede mögliche Ecke 230 bilden, sowie der Pixeldaten 105, die jede mögliche Ecke 230 umgeben, vornehmen. Die Kalibrierungseinheit 165 kann zum Beispiel für jede mögliche Ecke in der Menge möglicher Ecken 230 eine Schätzung der Orientierungen 215 verbundener Kanten durchführen, womit die Orientierung der mit der möglichen Ecke 230 verbundenen Kanten bestimmt wird, um eine gültige Ecke 235 von einer ungültigen Ecke zu unterscheiden und die ungültige Ecke zu verwerfen. Diese zusätzliche Verarbeitung kann bei jeder möglichen Ecke 230 vorgenommen werden, wenn die mögliche Ecke 230 verfügbar wird, oder wenn alle oder einige der möglichen Ecken 230 verfügbar werden.
-
In der Beispielausführung kann die Kalibrierungseinheit 165 für jede mögliche Ecke 230 die Orientierung der verbundenen Kanten 215 bestimmen. Die Kalibrierungseinheit 165 kann die Kantenorientierungen für Pixel berechnen, die die mögliche Ecke 230 bilden und/oder sich in der Umgebung der möglichen Ecke 230 befinden, und zwar zum Beispiel durch rechnerische Gradienten in mindestens zwei verschiedenen Richtungen, wobei zwei der Richtungen orthogonal zueinander liegen können. Die Kalibrierungseinheit 165 kann die Kantenorientierungen verwenden, um eine Menge dominanter Kantenorientierungen zu berechnen. Die Kalibrierungseinheit 165 kann zum Beispiel die Menge dominanter Kantenorientierungen berechnen, indem sie ein Histogramm der Kantenorientierungen aufstellt und anschließend die Hauptpeaks im Histogramm auswählt. Die Kalibrierungseinheit 165 testet anschließend die Gültigkeit jedes Paars in der Menge der dominanten Kantenorientierungen. Dies erfolgt zum Beispiel durch Berechnung der Pixelanzahl 450 (4A) entlang jeder der beiden Kantenorientierungen, die von der Ecke ausgehen, und durch Feststellen der Übereinstimmung zwischen Intensität/Farbübergang an einer Kante entlang und Intensität/Farbübergang an der anderen Kante entlang.
-
In Bezug auf 4E–4F kann in verschiedenen Ausführungsformen eine mögliche Ecke 230 (2), die mindestens ein gültiges Paar dominanter Kantenorientierungen umfassen muss, als eine gültige Ecke 235 definiert werden. Die Kalibrierungseinheit 165 kann eine Menge gültiger Ecken 235 für jedes Einzelbild 400 erstellen, die eine Vielzahl gültiger Ecken enthält (d. h. gültige Merkmale 420, 420'). Die 4E und 4F stellen jeweils das erste Einzelbild 405 und das zweite Einzelbild 410 dar, wobei das erste Einzelbild 405 eine Menge gültiger Merkmale 420b, 420d–j (d. h. eine Menge gültiger Ecken 235), und das zweite Einzelbild 410 eine Menge gültiger Merkmale 420b'–d', 420f'–i', 420k' (d. h. eine Menge gültiger Ecken 235) umfasst.
-
Erneut in Bezug auf 2 kann die Kalibrierungseinheit 165 für jede gültige Ecke (d. h. gültiges Merkmal 420, 420') die Eckendeskriptorerstellung 220 durchfahren, bei der ein Eckendeskriptor 240 erstellt werden kann, der Informationen zu den Eigenschaften der gültigen Ecke, wie Position, Orientierung, entgegengesetzter Winkel und Kontrast umfasst, wobei der Kontrast hinsichtlich der Intensität/des Farbübergangs zwischen den Pixeln in der Ecke und den Pixeln außerhalb der Ecke definiert wird. In anderen Ausführungen kann der Eckendeskriptor 240 ebenfalls Informationen im Zusammenhang mit der Umgebung der gültigen Ecke enthalten, wie eine Liste der Indizes umgebender Ecken, wobei die Umgebung in Übereinstimmung mit einer vorgegebenen Abstandsmetrik definiert werden kann. Die vorgegebene Abstandsmetrik kann eine räumliche Abstandsmetrik, eine spektrale Abstandsmetrik, eine kombinierte räumliche und spektrale Abstandsmetrik und Ähnliches sein. Die Informationen über die Umgebung einer gültigen Ecke in ihrem Eckendeskriptor 240 kann erstellt werden, wenn die Menge gültiger Ecken 235 für ein Einzelbild 400 verfügbar wird, oder bevor das Umgebungs-Matching 315 (unten erklärt, 3) durchgeführt wird. In einer Beispielausführung kann das Verfahren 100 eventuell nicht erfordern, dass das gesamte Einzelbild 400, ein reduziertes Bild oder ein vergrößertes Bild in einer Speichereinheit 625 (6) gespeichert wird, um die Merkmalserkennung 110 durchzuführen. Die Kalibrierungseinheit 165 kann zum Beispiel Pixeldaten 105 an die Speichereinheit 625 übertragen, die zu einem Teil eines Einzelbilds 400 gehören, so dass bei der Durchführung der Merkmalserkennung 110 die Pixeldaten 105 ohne Verwendung eines Bildspeichers gespeichert werden können. In verschiedenen Ausführungsformen berichtigt die Kalibrierungseinheit 165 die gültigen Merkmale 420, 420', um die Linsenverzeichnung vor dem Merkmals-Matching 115 auszugleichen. Die Position eines gültigen Merkmals 420, 420' kann zum Beispiel zu den nicht verzeichneten Bildkoordinaten hin berichtigt werden. Der gegenüberliegende Winkel und die Orientierung des gültigen Merkmals 420, 420' kann ebenfalls zu den nicht verzeichneten Bildkoordinaten hin berichtigt werden.
-
Die Kalibrierungseinheit 165 kann das Merkmals-Matching 115 zwischen dem ersten Einzelbild 405 und dem zweiten Einzelbild 410 durchführen. Das Merkmals-Matching 115 kann Folgendes umfassen: Vergleich der gültigen Merkmale, zum Beispiel 420b, 420d–j des ersten Einzelbildes 405 mit den gültigen Merkmalen, zum Beispiel 420b'–d', 420f'–i', 420k' des zweiten Einzelbildes 410, und Identifizierung von Paaren gültiger Merkmale, die ähnliche Eigenschaften haben, wobei jedes Paar ein gültiges Merkmal 420 aus dem ersten Einzelbild 405 und das zugehörige gültige Merkmal 420' aus dem zweiten Einzelbild 410 umfasst. Ein Paar gültiger Merkmale, die ähnliche Eigenschaften haben, wird nachfolgend als ein Paar angepasster Merkmale 455 bezeichnet. In einer Beispielanordnung kann das gültige Merkmal die gültige Ecke sein. Andere Ausführungen können jedoch andere Merkmale außer Ecken erkennen.
-
In der vorliegenden Beispielausführung kann das Merkmals-Matching 115 den Vergleich jeder gültigen Ecke des ersten Einzelbilds 405 mit jeder gültigen Ecke des zweiten Einzelbilds 410 umfassen. Ein Paar gültiger Ecken mit ähnlichen Eigenschaften kann als ein Paar angepasster Merkmale 455 festgelegt werden. In einer Beispielausführung in Bezug auf 3 kann das Merkmals-Matching 115 das Matching eines einzelnen Merkmals 305 zur Bildung der möglichen Menge angepasster Merkmale 325 und das Umgebungs-Matching 315 zur Bildung der endgültigen Menge angepasster Merkmale 330 umfassen. Das Matching einzelner Merkmale 305 kann das Matching der gültigen Merkmale 420, 420' auf Grundlage individueller Eigenschaften jedes gültigen Merkmals, wie Position, Orientierung, entgegengesetzter Winkel und Kontrast, umfassen. Im Hinblick auf 4G–4H können die gültigen Merkmale 420 des ersten Einzelbildes 405 mit den gültigen Merkmalen 420' des zweiten Einzelbildes 410 verglichen und danach als Paare angepasster Merkmale 455(1)–(7) festgelegt werden. Dagegen kann das unten beschriebene Umgebungs-Matching 315 die Anpassung der gültigen Merkmale 420, 420 auf Grundlage der Umgebungseigenschaften jedes gültigen Merkmals umfassen.
-
Für die gültigen Merkmale 420 des ersten Einzelbildes 405 kann es eine Übereinstimmung mit den gültigen Merkmalen 420' des zweiten Einzelbildes 410 geben oder nicht. Wie in 4G dargestellt, in der eine Überlagerung der Merkmale der 4E und 4F gezeigt wird, können das gültige Merkmal 420b des ersten Einzelbildes 405 und das gültige Merkmal 420b' des zweiten Einzelbildes 410 als Paar angepasster Merkmale 455(2) festgelegt werden, da sie über ähnliche Eigenschaften verfügen; jedoch können das gültige Merkmal 420i des ersten Einzelbilds 405 und das gültige Merkmal 420b' des zweiten Einzelbilds 410 nicht als Paar angepasster Merkmale festgelegt werden, da sie verschiedene Eigenschaften besitzen.
-
Die Kalibrierungseinheit 165 kann in verschiedenen Ausführungen bestimmen, dass nicht genug Informationen vorhanden sind, um mit der Orientierungsschätzung 120 fortzufahren. Wenn zum Beispiel weniger als zwei Paare angepasster Merkmale 455 festgelegt werden, kann die Kalibrierungseinheit 165 einen neuen Merkmalserkennungsdurchgang 110 durchführen, in dem sie die Pixeldaten 105 eines neuen Einzelbildes 400 verwendet.
-
Die Paare angepasster Merkmale 455 können in einer möglichen Menge angepasster Merkmale 325 enthalten sein. Die Paare angepasster Merkmale 455 können ebenfalls in einer endgültigen Menge angepasster Merkmale 330 enthalten sein.
-
Für jedes Paar angepasster Merkmale 455(1)–(7) in der möglichen Menge angepasster Merkmale 325 kann die Kalibrierungseinheit 165 ein Umgebungs-Matching 315 durchführen. Das Umgebungs-Matching 315 kann für jedes Paar angepasster Merkmale in der möglichen Menge angepasster Merkmale 325 die Feststellung umfassen, ob ihre Umgebungen 315 auf Grundlage der möglichen Menge angepasster Merkmale 325 und der Topologien der Umgebungen zueinander passen. Für jedes gültige Merkmal 420, 420' in jedem Paar angepasster Merkmale in der möglichen Menge angepasster Merkmale 325 kann die Topologie seiner Umgebung ausgehend vom Deskriptor 240 dieses Merkmals und den Deskriptoren 240 der es umgebenden Merkmale bestimmt werden. In einer Beispielausführung kann für jedes gültige Merkmal 420, 420' in jedem Paar angepasster Merkmale in der möglichen Menge angepasster Merkmale 325 die Topologie seiner Umgebung räumlich sein, was die relative Position jedes benachbarten Merkmals in Bezug auf dieses Merkmal darstellt. Jedes Paar angepasster Merkmale 455 in der möglichen Menge 325, die ebenfalls über angepasste Umgebungen verfügt, ist in der endgültigen Menge angepasster Merkmale 330 enthalten.
-
Zwei Umgebungen können als angepasste Umgebungen festgelegt werden, wenn sie mindestens ein Merkmalspaar besitzen, das sich in der möglichen Menge angepasster Merkmale 325 befindet, und wenn mindestens ein Merkmalspaar über ähnliche Umgebungstopologien verfügt. Die Paare angepasster Merkmale 455(1)–(7) sind möglicherweise nicht alle in der endgültigen Menge angepasster Merkmale 330 enthalten. Die Paare angepasster Merkmale 455 können in einer möglichen Menge angepasster Merkmale 330 enthalten sein. Die endgültige Menge angepasster Merkmale 330 kann zum Beispiel, wie in 4H dargestellt, die überlagerte Merkmale aus zwei Einzelbildern zeigt, nur die gültigen Merkmale 420i, 420i', 420f, 420f', 420g, 420g' einschließen.
-
Für jedes Paar angepasster Merkmale 455(1)–(7) innerhalb der endgültigen Menge angepasster Merkmale 330 kann die Kalibrierungseinheit 165 Anpassungsdeskriptoren 320 erstellen, so dass jedes Paar angepasster Merkmale 455(1)–(7) über einen zugeordneten Anpassungsdeskriptor 335 verfugt. Der Anpassungsdeskriptor 335 kann Informationen zum Paar abgestimmter Merkmale innerhalb der endgültigen Menge abgestimmter Merkmale 330 umfassen. Der Anpassungsdeskriptor 335 kann zum Beispiel alle oder einen Teil der Informationen umfassen, die in jedem der Deskriptoren 240 der angepassten Merkmale enthalten sind. Dagegen kann der Anpassungsdeskriptor 335 ein Verzeichnis aller angepassten Merkmale umfassen, das ihren Standort innerhalb ihrer jeweiligen Mengen von Merkmaldeskriptoren 240 anzeigt. Der Merkmaldeskriptor 335 kann ebenfalls eine Ähnlichkeitsbewertung umfassen, die den Ähnlichkeitsgrad zwischen den beiden angepassten Merkmalen angibt. Der Merkmaldeskriptor 335 kann ebenfalls einen Skalierungsfaktor umfassen, der die Veränderung der Skalierungen zwischen den beiden angepassten Merkmalen anzeigt.
-
In einer Beispielausführung kann der Anpassungsdeskriptor 335 die Positionen jedes angepassten Merkmals und den Skalierungsfaktor umfassen. In einer Beispielausführung kann der Skalierungsfaktor für jedes Paar angepasster Merkmale innerhalb der endgültigen Menge angepasster Merkmale 330 als eine Funktion der angepassten Umgebungen der beiden Merkmale dieses Paars festgelegt werden. Die Funktion kann zum Beispiel eine Funktion sein, die das Verhältnis zwischen den Größenmessungen der angepassten Umgebungen berechnet. In einer Beispielausführung kann die Kalibrierungseinheit 165 eventuell nicht erfordern, dass das gesamte Einzelbild 400, ein reduziertes Bild oder ein vergrößertes Bild in einer Speichereinheit 625 gespeichert wird, um das Merkmals-Matching 115 durchzuführen. Die Kalibrierungseinheit 165 kann zum Beispiel bei der Durchführung des Merkmals-Matchings 115 die Menge von Eckendeskriptoren 240 in der Speichereinheit 625 speichern, ohne einen Bildspeicher zu verwenden.
-
Auf die 1 und 5 bezogen kann die Kalibrierungseinheit 165 eine Orientierungsschätzung 120 für die Kamera 565 im Verhältnis zum Referenzkoordinatensystem 505 abgeben. In der Beispielausführung können nur diese Merkmale 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 zur Ausführung einer Orientierungsschätzung 120 der Rotationswinkel der Kamera verwendet werden. Diese Winkel umfassen einen Kippwinkel 515, Gierwinkel 520 und Rollwinkel 525 (wobei der Kippwinkel 515, Gierwinkel 520 und Rollwinkel 525 kollektiv als Kamerakoordinatensystem 560 definiert werden können) hinsichtlich des Fahrzeugkoordinatensystems 505. Die endgültige Menge angepasster Merkmale 330 kann durch die Menge von Anpassungsdeskriptoren 335 und die Menge von Eckendeskriptoren 240 der angepassten Merkmale in der endgültigen Menge angepasster Merkmale 330 identifiziert werden.
-
In Bezug auf 4–5 kann die Orientierungsschätzung 120 die Schätzung eines Epipols 425 unter Verwendung der endgültigen Menge angepasster Merkmale 330 umfassen. In verschiedenen Ausführungen kann die Epipolschätzung 430 die Schätzung einer allgemeinen Bewegungsrichtung 550 der Kamera 565 umfassen, unter Verwendung der Skalierungsänderungen zwischen den angepassten Merkmalen 330. Wenn zum Beispiel das Merkmal 420 aus dem ersten Einzelbild 405, zum Beispiel wie in 4E dargestellt, eine geringere Skalierung aufweist als das abgestimmte Merkmal 420' des zweiten Einzelbildes 415, wie zum Beispiel in dargestellt, dann bewegt sich die Kamera 565 in Richtung 535, der Strukturen der Szene, die die Merkmale bilden. Wenn dagegen das Merkmal 420 aus dem ersten Einzelbild 405, zum Beispiel wie in 4E dargestellt, eine größere Skalierung aufweist als das angepasste Merkmal 420' des zweiten Einzelbildes 410, wie zum Beispiel in 4F dargestellt, dann bewegt sich die Kamera 565 weg 555 von den Strukturen der Szene, die die Merkmale bilden. Die allgemeine Bewegungsrichtung 550 der Kamera 565 kann als die Richtung 535 oder 555 festgelegt werden, in der eine Mehrheit der Paare angepasster Merkmale 455 in der endgültigen Menge angepasster Merkmale 330 übereinstimmen. Diese Paare angepasster Merkmale 455, die nicht mit der allgemeinen Bewegungsrichtung 550 der Kamera 565 übereinstimmen, können aus der endgültigen Menge angepasster Merkmale 330 entfernt werden.
-
In Bezug auf 4J und 5 kann der Epipol 425 als Punkt auf der Bildebene berechnet werden, der den Abstand zu den Linien, die von jedem Paar angepasster Merkmale 455 in der endgültigen Menge angepasster Merkmale 330 gebildet wird (d. h. jene Paare angepasster Merkmale 330, die ebenfalls mit der allgemeinen Bewegungsrichtung 550 der Kamera 565 übereinstimmen), wenn die Kamera 565 eine lineare Bewegung (d. h. Translation) zwischen zwei Einzelbildern ausführt und die lineare Bewegungsrichtung 570 der Kamera 565 nicht parallel zur Bildebene 400 verläuft. Verschiedene Leichtgewichtsmodell-Einpassungstechniken, wie Random Sample Consensus (RANSAC) und RANSAC-ähnliche Verfahren, können auf die Berechnung des Epipols 425 angewendet werden.
-
In Bezug auf 5 kann die Orientierungsschätzung 120 darüber hinaus das Extrahieren des Kippwinkels 515, des Gierwinkels 520 und des Rollwinkels 525 (d. h. Rotationswinkel) aus dem Epipol 425 umfassen. Wenn zum Beispiel der Rollwinkel 525 Null oder einer vorgegebenen Zahl zugeordnet wird, können Kipp- und Gierwinkel 515 und 520 ausgehend vom Epipol 425 berechnet werden. Dagegen kann jeder Rotationswinkel anfänglich Null oder einer vorgegebenen Zahl zugeordnet werden mit der darauffolgenden Berechnung der verbleibenden Winkel aus dem Epipol 425.
-
In einer linearen Bewegung (d. h. Translation) des Fahrzeugs 510 zwischen zwei Einzelbildern, wenn die geometrische Beziehung zwischen der Kamera 565 und dem Fahrzeug 510 sich während der linearen Bewegung nicht verändert und wenn das Referenzkoordinatensystem 505 als die lineare Bewegungsrichtung 570 des Fahrzeugs entlang einer der Achsen des Referenzkoordinatensystems 505 enthaltend definiert wird, aber nicht parallel zur Bildebene 400, dann können der Epipol 425 und die drei Rotationswinkel 515, 520 und 525 folgendermaßen in Beziehung gesetzt werden: g·e = K·R(u, v, w)·t = K·[R(u, v, w)]:, i·[t]i, wobei g für einen Skalierungsfaktor steht, e für den Epipol 425, K für die kameraintrinsische Matrix, R(u, v, w) für die Rotationsmatrix, die die Rotation aus dem Referenzkoordinatensystem 505 zum Kamerakoordinatensystem 560 darstellt und vom Kippwinkel u 515, dem Gierwinkel v 520 und dem Rollwinkel w 525 gemäß einer vorgegebenen Rotationsreihenfolge definiert wird, t für den Translationsvektor, dessen Anzeichen von der allgemeinen Bewegungsrichtung 550 der Kamera bestimmt wird, []:, i für die i-th-Spalte einer Matrix, []i für das i-th-Element eines Vektors und · für Multiplikation steht. Die i-th-Achse kann zum Beispiel die z-Achse sein, wenn die Rotationsreihenfolge folgende ist: zuerst Rotation um die x-Achse, danach Rotation um die y-Achse und als drittes Rotation um die z-Achse. Die der Kamera intrinsische Matrix kann entweder von Nominalwerten der intrinsischen Parameter der Kamera 565 abgeleitet oder aus der Kalibrierung der intrinsischen Parameter der Kamera 565 gewonnen werden, wobei die intrinsischen Parameter die Koeffizienten für die Brennweite der Kamera, den Hauptpunkt, das Pixelseitenverhältnis, den Pixelversatz und die Linsenverzeichnung umfassen können. Sobald der Epipol 425 berechnet worden ist, können die Rotationswinkel 515, 520 und 525 unter Verwendung dieses Verhältnisses berechnet werden. Der Ursprung des Referenzkoordinatensystems 505 kann als mit dem Ursprung des Kamerakoordinatensystems 560 übereinstimmend definiert werden. Falls nicht, kann angenommen werden, dass der Ursprung des Referenzkoordinatensystems 505 mit dem Ursprung des Kamerakoordinatensystems 560 in allen Berechnungen übereinstimmt.
-
In Bezug auf 1, 4H und 5A–C kann die Orientierungsschätzung 120 weiterhin die Berechnung der dreidimensionalen (3D-)Merkmale für jedes gültige Merkmal 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 umfassen. Die 3D-Koordinaten für jedes gültige Merkmal 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 können zum Beispiel berechnet werden durch Projektion der endgültigen Menge angepasster Merkmale 330 aus der ersten und der zweiten Bildebene 405, 410 in das Referenzkoordinatensystem 505, zum Beispiel das Fahrzeugkoordinatensystem, unter Verwendung der aktuellen Schätzung der Rotationswinkel 515, 520 und 525 und der Triangulationsverfahren.
-
Die Orientierungsschätzung 120 kann darüber hinaus die Projektion der 3D-Koordinaten der endgültigen Reihe der angepassten Merkmale 330 auf eine zweidimensionale (2D-)Ebene 540, die senkrecht zur Bewegungsrichtung 570 des Fahrzeugs liegt, umfassen, wobei die Projektion einer 3D-Koordinate auf die 2D-Ebene 540 einen Punkt auf der 2D-Ebene 540 bildet, der den gültigen Merkmalen 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 entspricht. Die Projektion einer 3D-Koordinate auf die 2D-Ebene 540 kann eine orthografische Projektion sein.
-
Die Orientierungsschätzung 120 kann weiterhin die Bestimmung umfassen, ob die gültigen Merkmale 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 auf einer Referenzebene 545 positioniert sind, zum Beispiel einer Grundplatte. In der Beispielausführung umfasst die Positionsbestimmung für die endgültige Menge angepasster Merkmale 330 in Bezug zur Referenzebene 545 das Anlegen einer Linie durch die Punkte, die zu jedem gültigen Merkmal 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330 in der 2D-Ebene 540 gehören sowie die Berechnung einer Neigung ausgehend von der angelegten Linie. Das Anlegen einer Linie kann durch mehrere Leichtmodellanpassungstechniken, wie RANSAC und RANSAC-ähnliche Verfahren, erreicht werden.
-
In einer Beispielausführung kann die Orientierungsschätzung 120 einen iterativen Prozess umfassen, der die Wiederholung folgender Schritte umfassen kann: 1) Berechnung der 3D-Koordinaten für jedes gültige Merkmal 420, 420' innerhalb der endgültigen Menge angepasster Merkmale 330; 2) Projektion der 3D-Koordinaten der Reihe angepasster Merkmale auf eine 2D-Ebene 540; 3) Anlegen einer Linie durch die zu jedem gültigen Merkmal 420, 420' gehörenden Punkte innerhalb der endgültigen Menge angepasster Merkmale 330 auf der 2D-Ebene 540; 4) Anpassung des Rollwinkels 525 von der berechneten Neigung der angelegten Link, um einen angepassten Rollwinkel 525' zu bilden; und 5) Aktualisierung der Kipp- und Gierwinkel 515, 520 unter Verwendung des Epipols 425 und des angepassten Rollwinkels 525', bis der absolute Wert der Neigung der angelegten Linie sich innerhalb eines vorgegebenen Toleranzniveaus befindet. In der Beispielausführung kann das vorgegebene Toleranzniveau um einen Wert kleiner als die gewünschte Genauigkeit der kalibrierten Rotationswinkel 515, 520, 525 ausfallen. Wenn die kalibrierten Rotationswinkel 515, 520, 525 der Kamera 565 zum Beispiel sich innerhalb der Fehlergrenze von 1 Grad befinden in Bezug auf das Referenzkoordinatensystem 505, dann kann das Toleranzniveau so definiert werden, dass es höchstens tan(1 Grad) beträgt, wobei tan() die trigonometrische Tangentenfunktion ist.
-
In anderen Ausführungen kann die Orientierungsschätzung 120 abgeschlossen sein, sobald die Anzahl der Iterationen eine vorgegebene Grenze erreicht. Die vorgegebene Grenze kann zum Beispiel weniger als 10 Iterationen betragen, oder eine andere Anzahl, um das gewünschte Ergebnis zu erzielen. Wenn die Orientierungsschätzung 120 nicht innerhalb der vorgegebenen Anzahl von Iterationen konvergieren kann (d. h. der absolute Neigungswert der angelegten Linie befindet sich nicht innerhalb eines vorgegebenen Toleranzniveaus), dann können durch Kalibrierungsverfahren 100 und Kalibrierungseinheit 165 Pixeldaten 105 aus einem neuen Einzelbild 400 gewonnen werden und es kann eine Kalibrierung anhand der Pixeldaten 105 des neuen Einzelbildes 400 und der Menge an Merkmaldeskriptoren 240 aus einem der vorherigen Einzelbilder durchgeführt werden. Wenn es mehr als eine Menge von Merkmaldeskriptoren 240 aus vorherigen Einzelbildern gibt, kann jede Menge im neuen Kalibrierungsdurchgang verwendet werden.
-
In verschiedenen Ausführungen kann die Kalibrierungseinheit 165 bei der Durchführung einer Orientierungsschätzung 120 anhand der angepassten Merkmale 120 feststellen, dass nicht genügend Informationen vorhanden sind, um mit der Validierung der geschätzten Orientierung 130 fortzufahren, weil zum Beispiel kein Epipol 425 gefunden wurde oder die Orientierungsschätzung 120 nicht zu einer Kameraorientierung konvergiert bei Beendigung. In diesem Fall kann die Kalibrierungseinheit 165 einen neuen Merkmalserkennungsdurchgang 110 durchführen, in dem sie die Pixeldaten 105 eines neuen Einzelbildes 400 verwendet.
-
In verschiedenen Ausführungen kann die Kalibrierungseinheit 165 so konfiguriert werden, dass sie die geschätzte Orientierung 130 unter Verwendung von Homographietechniken validiert. Die Validierung der geschätzten Orientierung 130 mittels Homographietechniken kann zum Beispiel die Berechnung einer einzelbildübergreifenden referenzebeneninduzierten Homographiematrix im Referenzkoordinatensystem 505 aus den geschätzten Rotationswinkeln 515, 520, 525 umfassen. Die einzelbildübergreifende referenzebeneninduzierte Homographiematrix im Referenzkoordinatensystem 505 kann eine Zusammensetzung aus der der Kamera 565 intrinsischen Matrix, der Rotationsmatrix der Kamera 565 im Referenzkoordinatensystem 505 definiert durch die geschätzten Rotationswinkel 515, 520, 525 und des Kameratranslationsvektors (d. h. Bewegungsmenge) sein, normalisiert durch die Höhe der Kamera 565 im Referenzkoordinatensystem 505. Die einzige Unbekannte kann der Translationsvektor der Kamera 565 sein, normalisiert durch die Höhe der Kamera 565, die aus den angepassten Merkmalen 455 in der endgültigen Menge angepasster Merkmale 330 geschätzt werden kann, für die festgelegt wurde, dass sie auf der Referenzebene 545 liegen sollen.
-
Die Validierung der geschätzten Orientierung 130 mittels Homographietechniken kann darüber hinaus die Qualitätsbestimmung der geschätzten Orientierung 135 aus dem aktuellen Paar von Einzelbildern umfassen. Die Bestimmung der Qualität der geschätzten Orientierung 135 kann zum Beispiel die Berechnung von Statistiken aus einer Homographiematrix und die Berechnung eines Reprojektionsfehlers der endgültigen Menge angepasster Merkmale 330 umfassen, für die festgelegt wurde, dass sie sich auf der Referenzebene 545 befinden und die Homographiematrix verwenden sollen. Die Kalibrierungsqualität kann als ein numerischer Qualitätsstand ausgedrückt werden, der mithilfe der Statistiken und des Reprojektionsfehlers definiert wird.
-
In einer Beispielausführung können die Statistiken aus einer Homographiematrix Metriken sein, die die Übereinstimmung mehrerer Schätzungen des Translationsvektors der Kamera 565 im Referenzkoordinatensystem 505 zwischen zwei Einzelbildern messen, wobei jede Schätzung aus einem Paar angepasster Merkmale in der endgültigen Menge angepasster Merkmale 330 gewonnen werden kann, für die festgelegt wurde, dass sie sich auf der Referenzebene 545 befinden sollen. In einer Beispielausführung umfasst die Referenzebene 545 die Grundplatte.
-
In verschiedenen Ausführungen kann die Kalibrierungseinheit 165 bei der Validierung der geschätzten Orientierung 130 eventuell nicht fähig sein, die Orientierungsvalidierung 130 abzuschließen. In diesem Fall kann ein neuer Merkmalerkennungsdurchgang 110 begonnen werden, in dem die Pixeldaten 105 eines neuen Einzelbildes 400 verwendet werden.
-
Sobald die Rotationswinkel 515, 520, 525 der Kamera validiert worden sind, kann die Kalibrierungseinheit 165 eine validierte Kameraorientierung 135, die die Kipp-, Gier- und Rollwinkel 515, 520, 525 hinsichtlich des Referenzkoordinatensystems enthält, an eine Ausgabeeinheit 655 übertragen.
-
In Bezug auf 1, 4 und 6 kann ein System 600, das das Verfahren 100 wie oben beschrieben anwendet, den Bildsensor 665 und die Bildverarbeitungseinheit 145 umfassen.
-
Die Bildverarbeitungseinheit 145 kann darüber hinaus die Speichereinheit 625 umfassen. Die Speichereinheit 625 kann vorübergehend Pixeldaten 105 und Zwischendaten speichern. In verschiedenen Ausführungen können das gesamte Einzelbild 400, ein reduziertes Bild oder ein vergrößertes Bild eventuell nicht in einem Bildspeicher in der Speichereinheit 625 gespeichert werden, aber stattdessen Pixeldaten 105 eines Teils des Einzelbildes 400, wie Pixeldaten 105 einiger Zeilen eines Einzelbilds 400. In verschiedenen Ausführungsformen können die Informationen über die erkannten Merkmale 420, 420' für das erste und zweite Einzelbild 405, 410, wie die Menge von Eckendeskriptoren 240 und die Reihe von Anpassungsdeskriptoren 335 in der Speichereinheit 625, gespeichert werden. Schätzungen der Kameraorientierung 135 können ebenfalls in der Speichereinheit 625 gespeichert werden.
-
In verschiedenen Ausführungen kann die Speichereinheit 625 Arbeitsspeicher, Permanentspeicher oder andere Speichergeräte umfassen, die für die jeweilige Anwendung geeignet sind. Die Speichereinheit 625 kann eine oder mehrere Speicherzellen umfassen, wie dynamische Schreib-Lesespeicher mit wahlfreiem Zugriff(DRAM), statische Arbeitsspeicherzellen (SRAM) oder bistabile Flipflops. Das Speichergerät kann unter Verwendung von Transistoren oder anderen geeigneten Halbleitergeräten eingesetzt werden.
-
In der Beispielausführung kann die Bildverarbeitungseinheit darüber hinaus die Ausgebeeinheit 655 umfassen. Die Ausgabeeinheit 655 kann die Kameraorientierung 135 an das periphere System 650 übertragen. Die Ausgabeeinheit 655 kann die Kameraorientierung 135 aus der Eulerwinkeldarstellung 515, 520, 525 (5) in andere Darstellungen umwandeln, wie Rotationsmatrix, Quaternion oder Achsenwinkel, bevor sie die Kameraorientierung 135 an die peripheren Systeme 650, wie ein ADAS, überträgt. Die Ausgabeeinheit 655 kann mehrere Schätzungen der Kameraorientierung 135, berechnet ausgehend von mehreren Einzelbilderpaaren hinzufügen, bevor die aggregierte Kameraorientierung 135 an die peripheren Systeme 650 übertragen wird. Von mehreren Schätzungen der Kameraorientierung 135 kann mithilfe ihrer jeweiligen Qualitätspunktzahlen als Gewichtung der Durchschnitt gebildet werden, wobei der Durchschnitt auf die Eulerwinkel, die entsprechenden Rotationsmatrizen, die entsprechenden Quaternions oder die jeweiligen Achsen-Winkel-Darstellungen übernommen werden kann.
-
In einer Beispielausführung kann das periphere System 650 die Kameraorientierung 135 verwenden, um die Rotationsabweichung der Kamera 565 aus dem Referenzkoordinatensystem 505 auszugleichen. Ein Rundumsichtsystem kann zum Beispiel die übertragene Kameraorientierung 135 verwenden, um Pixeldaten 105 von mindestens zwei Einzelbildern 400 weiter zu verarbeiten, um Bildzusammenführung und 3D-Rekonstruktion durchzuführen und/oder eine oder mehrere wichtige Bereiche in einem Bild festzulegen, wie zum Beispiel den Bereich in einem Bild, der mit der Referenzebene 545 übereinstimmt, um eine Rundumsichtausgabe zu ermöglichen. Die Rundumsichtausgabe kann danach an andere periphere Systeme 650 übertragen werden, wie andere Systeme in ADAS, zum Beispiel das Kollisionsvermeidungssystem und das Warnsystem beim Verlassen der Fahrspur, wobei diese anderen Systeme im ADAS den Fahrer durch visuelle, akustische oder sensorielle Warnmeldungen warnen können. Wenn das ADAS zum Beispiel feststellt, dass der Fahrer sich einem anderen Fahrzeug nähert, kann das ADAS einen Alarmton auslösen, ein Licht blinken und/oder den Sitz vibrieren lassen. Das ADAS kann ebenfalls zur Auslösung eines Alarmsignals an den Fahrzeugführer bei bestimmten Straßenverhältnissen verwendet werden, wie zum Beispiel Hindernisse oder Fußgänger auf dem Fahrzeugweg, Verlassen der aktuellen Fahrspur und so weiter.
-
In anderen Ausführungen kann die Kameraorientierung 135 verwendet werden, um die Kamera 565 physisch wieder in einer erwünschten Orientierung hinsichtlich des Koordinatensystems 505 auszurichten. Eine physische Neuausrichtung der Kamera 565 kann zum Beispiel durch mechanische Rotation der Kamera 565 um eine bestimmte Gradzahl erreicht werden, die als Unterschied zwischen ihrer kalibrierten Orientierung 135 und der gewünschten Orientierung innerhalb des Referenzkoordinatensystems 505 festgelegt ist.
-
In Bezug auf die 1, 6 und 7 können das Selbstkalibrierungsverfahren 100 und das System 600 in einer Beispielausführung der vorliegenden Technologie durch eine am Fahrzeug montierte Kamera 565 erreicht werden, die sequenzielle Einzelbilder 400 aufnimmt (4A–B), zum Beispiel das erste und zweite Einzelbild 405, 410, und dann die Pixeldaten 105 aus diesen Einzelbildern 400 an die Speichereinheit 625 per Streaming übermittelt. Die Bildverarbeitungseinheit 145 kann durch den Zugang zur Speichereinheit 625 die Pixeldaten 105 (710) empfangen und die Merkmalerkennung 110 ausführen (715). Sobald die Merkmale ausgehend von den Pixeldaten 105, die zu mindestens zwei Einzelbildern gehören, erkannt worden sind, kann die Bildverarbeitungseinheit 145 das Merkmals-Matching 115 durchführen (745).
-
Sobald die Merkmale innerhalb des ersten und zweiten Einzelbildes 405, 410 erkannt und abgestimmt worden sind, kann die Bildverarbeitungseinheit 145 die Kameraorientierung 515, 520, 525 schätzen (720). Wenn ein vorgegebenes Toleranzniveau erreicht wird (725), wird der Vorgang an dem Punkt fortgeführt, an dem die geschätzte Orientierung validiert (730) und die Qualität der geschätzten Orientierung berechnet werden kann (735). Wenn das vorgegebene Toleranzniveau nicht erreicht wird, kann ein drittes Einzelbild (nicht gezeigt) oder ein neues darauffolgendes Einzelbild verwendet werden, an dem die Merkmalserkennung 110 (715) und das Merkmals-Matching 115 (745) durchgeführt werden an den Pixeldaten 105 aus dem zweiten Einzelbild 410 und den Pixeldaten 105 aus dem dritten Einzelbild und/oder den Pixeldaten 105 aus dem ersten Einzelbild 405 sowie den Pixeldaten 105 aus dem dritten Einzelbild. Wenn die Qualität der geschätzten Orientierung außerhalb eines vorgegebenen Schwellenwerts (735) liegt, kann die Kameraorientierung 515, 520, 525 hinsichtlich des Referenzkoordinatensystems 505 von den peripheren Systemen 650 (740) verwendet werden. Wenn die Qualität der geschätzten Orientierung nicht außerhalb eines vorgegebenen Schwellenwerts (735) liegt, kann ein neues darauffolgendes Einzelbild 400 verwendet werden, um den Vorgang erneut zu starten.
-
In Übereinstimmung mit einer Ausführung umfasst ein bildgebendes Gerät einen Bildsensor, der wiederum ein Pixelarray umfasst, das so konfiguriert ist, dass es Pixeldaten generiert; sowie eine mit dem Bildsensor gekoppelte Speichereinheit, die zum Speichern der Pixeldaten konfiguriert wurde; und eine Bildverarbeitungseinheit, die kommunikativ mit dem Bildsensor und der Speichereinheit gekoppelt ist und so konfiguriert ist, dass sie: ein erstes Einzelbild mit Pixeldaten und ein zweites Einzelbild mit Pixeldaten empfängt, wobei das erste Einzelbild und das zweite Einzelbild sequentiell erfasst werden; mindestens zwei Merkmale in dem ersten Einzelbild und mindestens zwei Merkmale im zweiten Einzelbild erkennt; angepasste Merkmale bildet durch das Matching der mindestens zwei Merkmale des ersten Einzelbildes mit den mindestens zwei Merkmalen des zweiten Einzelbildes; eine Orientierungsschätzung durchführt, die Folgendes umfasst: Berechnung eines Epipols aus den angepassten Merkmalen; Schätzung eines Rotationswinkels in Bezug zum Epipol; Bestimmung, ob die angepassten Merkmale auf einer Referenzebene erscheinen, indem eine 3D-Koordinate für jedes der angepassten Merkmale in einem Referenzkoordinatensystem berechnet wird; Aktualisierung des geschätzten Rotationswinkels unter Verwendung der errechneten 3D-Koordinate für jedes der angepassten Merkmale und Modellanpassungstechniken, bis ein vorgegebenes Toleranzniveau erreicht wird; und Validierung der geschätzten Orientierung im Referenzkoordinatensystem durch Verwendung der Homographie. Die Referenzebene umfasst eine Grundplatte. Das Referenzkoordinatensystem umfasst ein Fahrzeugkoordinatensystem. Die Erkennung von mindestens zwei Merkmalen umfasst die Bestimmung der Orientierung einer mit einer erkannten Ecke verbundenen Kante, die Ablehnung einer ungültigen Ecke und die Erstellung eines Eckendeskriptors für die erkannte Ecke, wobei der Eckendeskriptor mindestens eines der Folgenden umfasst: eine Position, eine Orientierung, einen entgegengesetzten Winkel, einen Kontrast oder das Verzeichnis einer benachbarten Ecke. Die Bildung angepasster Merkmale umfasst das Matching von Merkmalen basierend auf den Eigenschaften benachbarter Merkmale und die Erstellung eines Anpassungsdeskriptors für jedes Paar angepasster Merkmale, wobei der Anpassungsdeskriptor ein Verhältnis zwischen den Messwerten für die Größen der angepassten Umgebungen umfasst. Die Berechnung eines Epipols aus den abgestimmten Merkmalen umfasst die Bestimmung einer Bewegungsrichtung unter Verwendung einer Skalierungsänderung zwischen den abgestimmten Merkmalen. Der Rotationswinkel umfasst mindestens einen der folgenden: einen Kippwinkel, einen Gierwinkel oder einen Rollwinkel. Die Validierung der geschätzten Orientierung im Referenzkoordinatensystem unter Verwendung von Homographie umfasst die Messung der Übereinstimmung mehrerer Schätzungen eines Translationsvektors im Referenzkoordinatensystem zwischen zwei Einzelbildern. 9.
-
In Übereinstimmung mit einer anderen Ausführung umfasst ein bildgebendes Gerät, das seine Orientierung hinsichtlich eines Referenzkoordinatensystems kalibrieren kann, eine Kamera zur Erzeugung eines ersten Einzelbildes und eines zweiten Einzelbildes, sowie eine Bildsignalverarbeitungseinheit, die so konfiguriert ist, dass sie: mindestens zwei Merkmale in einer Bildebene für das erste Einzelbild und das zweite Einzelbild erkennt, das von der Kamera erzeugt wird; angepasste Merkmale bildet, was umfasst, dass sie die mindestens zwei Merkmale des ersten Einzelbilds den mindestens zwei Merkmalen des zweiten Einzelbilds zuordnet; iterativ den Rotationswinkel der Kamera schätzt, unter Verwendung von mindestens zwei Paaren der angepassten Merkmale und eines berechneten Epipols, bis ein vorgegebenes Toleranzniveau erreicht wird; und den geschätzten Rotationswinkel im Referenzkoordinatensystem validiert, Der Rotationswinkel umfasst mindestens einen der folgenden: einen Kippwinkel, einen Gierwinkel oder einen Rollwinkel. Das bildgebende Gerät erkennt mindestens zwei Merkmale durch Bestimmung der Orientierung einer mit einer erkannten Ecke verbundenen Kante, die Ablehnung einer ungültigen Ecke und die Erstellung eines Eckendeskriptors für die erkannte Ecke, wobei der Eckendeskriptor mindestens eines der Folgenden umfasst: eine Position, eine Orientierung, einen entgegengesetzten Winkel, einen Kontrast oder das Verzeichnis einer benachbarten Ecke. Die Position, die Orientierung und der entgegengesetzte Winkel werden berichtigt, um die Linsenverzeichnung vor dem Merkmals-Matching auszugleichen. Das bildgebende Gerät formt angepasste Merkmale durch das Merkmals-Matching basierend auf den Eigenschaften benachbarter Merkmale und durch die Erstellung eines Anpassungsdeskriptors für jedes Paar angepasster Merkmale, wobei der Anpassungsdeskriptor ein Verhältnis zwischen den Messwerten für die Größen der angepassten Umgebungen umfasst, wobei jede Umgebung von mindestens zwei Merkmalen gebildet wird. Das bildgebende Gerät berechnet einen Epipol aus den angepassten Merkmalen durch die Bestimmung einer Bewegungsrichtung der Kamera unter Verwendung einer Skalierungsänderung zwischen den angepassten Merkmalen. Das bildgebende Gerät schätzt darüber hinaus den Kamerarotationswinkel durch Berechnung eines Wertes für einen ersten Rotationswinkel und die Berechnung eines verbleibenden Rotationswinkels vom Epipol ausgehend. Das bildgebende Gerät berechnet einen Wert für den ersten Rotationswinkel durch die Projektion von 3D-Koordinaten, die zu mindestens einem Paar angepasster Merkmale gehören, auf eine 2D-Ebene, um eine Punktmenge zu bilden und eine Linie durch diese Punktmenge zu legen. Das bildgebende Gerät passt darüber hinaus mindestens einen Rotationswinkel gemäß der Neigung der angelegten Linie an. Das bildgebende Gerät validiert den geschätzten Kamerarotationswinkel durch Messung der Übereinstimmung mehrerer Schätzungen eines Translationsvektors im Referenzkoordinatensystem zwischen zwei Einzelbildern.
-
In Übereinstimmung mit einer anderen Ausführung umfasst ein bildgebendes Gerät zur Kalibrierung der Orientierung einer Fahrzeugkamera in Bezug auf ein Fahrzeugkoordinatensystem bei linearer Fahrzeugbewegung Folgendes: einen Bildsensor, ein Pixelarray zur Erfassung eines Einzelbilds umfassend, wobei das Pixelarray Pixel umfasst, die in Zeilen und Spalten angeordnet sind; eine Bildverarbeitungseinheit, die so konfiguriert ist, dass sie sequentielle Zeilen von Pixeldaten eines ersten Einzelbildes und eines zweiten Einzelbildes empfangt, umfassend: eine Kalibrierungseinheit, die so konfiguriert ist, dass sie: mindestens zwei Merkmale in einer Bildebene für das erste Einzelbild und das zweite Einzelbild erkennt; angepasste Merkmale bildet, indem sie die mindestens zwei Merkmale des ersten Einzelbilds den mindestens zwei Merkmalen des zweiten Einzelbilds zuordnet; iterativ die Kameraorientierung schätzt, unter Verwendung der angepassten Merkmale und eines berechneten Epipols, bis ein vorgegebenes Toleranzniveau erreicht wird; und die geschätzte Kameraorientierung im Fahrzeugkoordinatensystem validiert; und eine Ausgabeeinheit, die so konfiguriert ist, dass sie die validierte Kameraorientierung an ein peripheres System überträgt. Die Ausgabeeinheit ist weiterhin so konfiguriert, dass eine durchschnittliche Kameraorientierung mittels gewichteter Durchschnittsermittlung mehrerer Schätzungen der Kameraorientierung unter Verwendung von Qualitätszahlen als Gewichtungen schätzt, wobei die Qualitätszahlen die Übereinstimmung mehrerer Schätzungen eines Translationsvektors der Kamera im Fahrzeugkoordinatensystem zwischen zwei Einzelbildern messen.
-
In der vorhergehenden Beschreibung wurde die Technologie im Hinblick auf spezifische Beispielausführungen beschrieben. Die einzelnen gezeigten Umsetzungen, die beschrieben wurden, verdeutlichen die Technologie und ihren besten Modus und sind nicht zur sonstigen Eingrenzung des Anwendungsbereichs der vorliegenden Technologie auf irgendeine Weise gedacht. Mit dem Ziel der Kurzfassung wurden allerdings die herkömmliche Herstellung, Verbindung, Vorbereitung und andere funktionelle Aspekte des Verfahrens und des Systems möglicherweise nicht detailliert beschrieben. Darüber hinaus dienen die Verbindungslinien in den verschiedenen Figuren der Darstellung beispielhafter funktionaler Beziehungen und/oder Schritte zwischen den verschiedenen Elementen. Es können viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einem praktischen System vorhanden sein.
-
Die Technologie wurde unter Bezugnahme auf spezifische Beispielausführungen beschrieben. Verschiedene Modifizierungen und Änderungen können jedoch ohne Abweichung vom Anwendungsbereich der vorliegenden Technologie vorgenommen werden. Die Beschreibung und Figuren sind eher zur Illustration gedacht als zur Beschränkung und alle Modifizierungen zielen darauf ab, in den Anwendungsbereich der vorliegenden Technologie zu fallen. Dementsprechend sollte der Anwendungsbereich der Technologie eher von den beschriebenen allgemeinen Ausführungen und deren legalen Entsprechungen bestimmt werden als nur von den spezifischen Beispielen, die oben beschrieben werden. Die in einem Verfahren oder einer Prozessausführung genannten Schritte können zum Beispiel in jeder beliebigen Reihenfolge durchgeführt werden, es sei denn, es ist ausdrücklich anders erklärt. Sie sind nicht auf die in den spezifischen Beispielen aufgeführte ausdrückliche Reihenfolge beschränkt. Die in jeglicher Geräteausführung aufgeführten Komponenten und/oder Elemente können zusätzlich zusammengebaut oder anderweitig einsatzfähig konfiguriert werden in einer Vielzahl von Varianten, um im Wesentlichen das gleiche Ergebnis zu erzielen wie die vorliegende Technologie. Sie sind nicht auf die spezifische Konfiguration beschränkt, die in den speziellen Beispielen aufgeführt wird.
-
Nutzeffekte, andere Vorteile und Problemlösungen sind weiter oben in Bezug auf bestimmte Ausführungen beschrieben worden. Kein Gewinn, Vorteil, keine Problemlösung und kein Element, das einen bestimmten Gewinn, Vorteil oder eine Lösung möglich macht oder verbessert, darf als unumgängliches, notwendiges oder essentielles Merkmal oder Komponente angesehen werden.
-
Der Begriff „umfasst”, „umfassend” oder jegliche Abwandlung hiervon, sollen sich auf eine nicht exklusive Einbeziehung beziehen, so dass ein Vorgang, ein Verfahren, Artikel, eine Zusammensetzung oder ein Gerät, das eine Liste von Elementen umfasst, nicht nur diese genannten Elemente einschließt, sondern ebenfalls andere Elemente einschließen kann, die weder ausdrücklich aufgeführt noch einem solchen Vorgang, Verfahren, Artikel, einer solchen Zusammensetzung oder einem solchen Gerät inhärent sind. Andere Kombinationen und/oder Änderungen der oben beschriebenen Strukturen, Anordnungen, Anwendungen, Proportionen, Elemente, Materialien oder Komponenten, die bei der Umsetzung der vorliegenden Technologie verwendet wurden, zusätzlich zu den nicht ausdrücklich genannten, können verändert oder anders individuell an spezielle Umgebungen, Herstellvorschriften, Konstruktionsparameter oder andere Betriebsanforderungen ohne Abweichung von seinen allgemeinen Prinzipien angepasst werden.
-
Die vorliegende Technologie wurde weiter oben unter Bezugnahme auf eine spezifische Beispielausführung beschrieben. Verschiedene Modifizierungen und Änderungen können jedoch ohne Abweichung vom Anwendungsbereich der vorliegenden Technologie an der Beispielausführung vorgenommen werden. Diese und andere Änderungen und Modifikationen zielen darauf ab, in den Anwendungsbereich der vorliegenden Technologie zu fallen, wie in folgenden Patentansprüchen erklärt.