-
Technisches Gebiet
-
Das technische Gebiet bezieht sich im Allgemeinen auf Bilder von Umgebungsansichten eines Fahrzeugs und insbesondere auf das Erzeugen einer virtuellen Ansicht aus Kamerabildern, wobei die virtuelle Ansicht auf einer verbesserten Kamera-Boden-Ausrichtung bzw. Ausrichtung einer Kamera zum Boden basiert.
-
Moderne Fahrzeuge sind typischerweise mit einer oder mehreren optischen Kameras ausgestattet, die so konfiguriert sind, dass sie einem Insassen des Fahrzeugs Bilddaten bereitstellen. Die Bilddaten können eine virtuelle Szene der Umgebung des Fahrzeugs zeigen. Die virtuelle Szene kann auf der Grundlage mehrerer Bilder erzeugt werden, die aus unterschiedlichen Perspektiven aufgenommen werden. Die Bilder werden beispielsweise von verschiedenen Bildquellen, die sich an unterschiedlichen Positionen um das Fahrzeug befinden, oder von einer einzigen Quelle aufgenommen, die sich in Bezug auf das Fahrzeug dreht. Die Bilder werden auf der Grundlage von Informationen über die Ausrichtung einer Kamera zum Boden zu einer einzigen Perspektive, wie etwa einer Vogelperspektive, zusammengesetzt. Verfahren, um Informationen zur Ausrichtung einer Kamera zum Boden zu bestimmen, können rechenintensiv sein, insbesondere falls sie in Echtzeit durchgeführt werden.
-
Dementsprechend ist es wünschenswert, verbesserte Systeme und Verfahren zum Bestimmen der Kamera-Boden-Ausrichtung bzw. der Ausrichtung einer Kamera zum Boden bereitzustellen. Darüber hinaus werden andere wünschenswerte Merkmale und Eigenschaften der vorliegenden Erfindung aus der nachfolgenden detaillierten Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen und dem vorstehenden technischen Gebiet und Hintergrund ersichtlich.
-
Zusammenfassung
-
Bereitgestellt werden Verfahren und Systeme, um eine virtuelle Ansicht einer mit einem Fahrzeug verbundenen bzw. assoziierten Szene zu erzeugen. In einer Ausführungsform umfasst ein Verfahren: das Empfangen von Bilddaten, die eine Vielzahl von Bildern definieren, die mit einer Umgebung des Fahrzeugs assoziiert sind; das Empfangen von Fahrzeugdaten, die eine Geschwindigkeit des Fahrzeugs angeben, wobei die Fahrzeugdaten mit den Bilddaten assoziiert sind; das Bestimmen, mittels eines Prozessors, von Merkmalspunkten innerhalb zumindest eines Bildes auf der Grundlage der Fahrzeugdaten und eines dreidimensionalen Projektionsverfahrens; das Auswählen, durch den Prozessor, einer Teilmenge der Merkmalspunkte als Bodenpunkte; das Bestimmen, durch den Prozessor, einer Bodenebene auf der Grundlage der Teilmenge von Merkmalspunkten; das Bestimmen, durch den Prozessor, eines Vektors der Bodennormale von der Bodenebene aus; das Bestimmen, durch den Prozessor, eines Wertes für die Ausrichtung einer Kamera zum Boden auf der Grundlage des Vektors der Bodennormale; und das Erzeugen, durch den Prozessor, von Anzeigedaten auf der Grundlage des Vektors der Bodennormale.
-
In verschiedenen Ausführungsformen bestimmt das dreidimensionale Projektionsverfahren den Merkmalspunkt aus einer Sequenz von zweidimensionalen Bildern aus der Vielzahl der Bilder unter Verwendung einer Rückprojektion des Merkmalspunkts vom zweidimensionalen Bild auf eine Einheitsebene.
-
In verschiedenen Ausführungsformen bestimmt das dreidimensionale Projektionsverfahren ferner den Merkmalspunkt aus der Sequenz von zweidimensionalen Bildern, indem es eine Merkmalsverschiebung in der Einheitsebene auf der Grundlage der Fahrzeugdaten bestimmt und einen dreidimensionalen Punkt des Merkmalspunkts auf der Grundlage der Merkmalsverschiebung vorhersagt.
-
In verschiedenen Ausführungsformen bestimmt das dreidimensionale Projektionsverfahren ferner den Merkmalspunkt, indem es den dreidimensionalen Merkmalspunkt auf der Grundlage der Merkmalsverschiebung zurück auf das zweidimensionale Bild projiziert.
-
In verschiedenen Ausführungsformen basiert das Auswählen der Teilmenge von Merkmalspunkten auf einer festen Straßenmaske für ein zweidimensionales Bild und einer dreidimensionalen Region.
-
In verschiedenen Ausführungsformen basiert das Auswählen der Teilmenge von Merkmalspunkten auf einer dynamischen Straßenmaske für ein zweidimensionales Bild.
-
In verschiedenen Ausführungsformen basiert das Auswählen der Teilmenge von Merkmalspunkten auf der Grundlage von Homographie-Beschränkungen.
-
In verschiedenen Ausführungsformen umfasst das Verfahren: das Empfangen von Daten zu den Lichtverhältnissen bzw. Lichtdaten, die Lichtbedingungen angeben, die mit der Umgebung des Fahrzeugs assoziiert sind; das Auswählen von zumindest einem Bereich von Interesse innerhalb des zumindest einen Bildes auf der Grundlage der Lichtdaten. Das Bestimmen der Merkmalspunkte basiert auf dem zumindest einen Bereich von Interesse.
-
In verschiedenen Ausführungsformen umfassen die Lichtdaten Umgebungslichtdaten, Klimadaten und/oder Tageszeitdaten.
-
In verschiedenen Ausführungsformen umfasst das Verfahren: das Auswerten der Fahrzeugbedingungen, um zu bestimmen, wann das Fahrzeug ruhig und geradeaus fährt. In Reaktion auf die Bestimmung, dass das Fahrzeug ruhig und geradeaus fährt, wird das Bestimmen der Merkmalspunkte durchgeführt.
-
In verschiedenen Ausführungsformen umfassen die Fahrzeugbedingungen Fahrzeugbeschleunigung, Fahrzeuggeschwindigkeit und Lenkradwinkel.
-
In verschiedenen Ausführungsformen umfassen die Fahrzeugbedingungen eine bestimmte Entfernung, die zwischen zwei Bildern aus der Vielzahl von Bildern zurückgelegt wurde.
-
In verschiedenen Ausführungsformen umfasst das Verfahren: das Bestimmen einer Kameralage bzw. Kameraposition als unzuverlässig, basierend auf einer Referenzkameradrehung und einer Translation; das Filtern von Merkmalspunkten für Bilder mit einer als unzuverlässig bestimmten Kameraposition. Das Bestimmen der Teilmenge von Merkmalspunkten basiert auf den gefilterten Merkmalspunkten.
-
In verschiedenen Ausführungsformen umfasst das Verfahren das Optimieren des Vektors der Bodennormale auf der Grundlage eines Verfahrens mit gleitendem Fenster, das mit der Vielzahl von Bildern assoziiert ist.
-
In verschiedenen Ausführungsformen basiert das Optimieren des Vektors der Bodennormale ferner auf einer Minimierung eines berechneten Übertragungsabstands auf der Grundlage der Homographie.
-
In verschiedenen Ausführungsformen basiert das Bestimmen der Bodenebene auf Beschränkungen, die mit einem Referenz-Vektor der Bodennormale und einer Bewegungsrichtung assoziiert sind.
-
In einer anderen Ausführungsform umfasst ein System: ein Datenspeicherelement, das computerlesbare Anweisungen aufweist; und einen Prozessor, der so konfiguriert ist, dass er die computerlesbaren Anweisungen ausführt, wobei die computerlesbaren Anweisungen den Prozessor so steuern, dass er Operationen durchführt. Die Operationen umfassen: das Empfangen von Bilddaten, die eine Vielzahl von Bildern definieren, die mit einer Umgebung des Fahrzeugs assoziiert sind; das Empfangen von Fahrzeugdaten, die eine Geschwindigkeit des Fahrzeugs angeben, wobei die Fahrzeugdaten mit den Bilddaten assoziiert sind; das Bestimmen von Merkmalspunkten innerhalb zumindest eines Bildes auf der Grundlage der Fahrzeugdaten und eines dreidimensionalen Projektionsverfahrens; das Auswählen einer Teilmenge der Merkmalspunkte als Bodenpunkte; das Bestimmen einer Bodenebene auf der Grundlage der Teilmenge von Merkmalspunkten; das Bestimmen eines Vektors der Bodennormale von der Bodenebene aus; das Bestimmen eines Wertes für die Ausrichtung einer Kamera zum Boden auf der Grundlage des Vektors der Bodennormale; und das Erzeugen von Anzeigedaten auf der Grundlage des Vektors der Bodennormale.
-
In verschiedenen Ausführungsformen bestimmt das dreidimensionale Projektionsverfahren den Merkmalspunkt aus einer Sequenz von zweidimensionalen Bildern aus der Vielzahl von Bildern unter Verwendung einer Rückprojektion des Merkmalspunkts vom zweidimensionalen Bild auf eine Einheitsebene.
-
In verschiedenen Ausführungsformen bestimmt das dreidimensionale Projektionsverfahren ferner den Merkmalspunkt aus der Sequenz von zweidimensionalen Bildern, indem eine Merkmalsverschiebung in der Einheitsebene auf der Grundlage der Fahrzeugdaten bestimmt wird, ein dreidimensionaler Punkt des Merkmalspunkts auf der Grundlage der Merkmalsverschiebung vorhersagt wird und den dreidimensionalen Merkmalspunkt auf der Grundlage der Merkmalsverschiebung zurück auf das zweidimensionale Bild projiziert wird.
-
In einer anderen Ausführungsform umfasst ein Fahrzeug: eine Kamera, die so konfiguriert ist, dass sie Bilder einer Umgebung des Fahrzeugs aufnimmt; und einen Controller mit einem Prozessor, der so konfiguriert ist, dass er die Bilder empfängt, Fahrzeugdaten empfängt, die eine Geschwindigkeit des Fahrzeugs angeben, wobei die Fahrzeugdaten mit den Bildern assoziiert sind, Merkmalspunkte innerhalb zumindest eines Bildes auf der Grundlage der Fahrzeugdaten und eines dreidimensionalen Projektionsverfahrens bestimmt, eine Teilmenge von Merkmalspunkten als Bodenpunkte auswählt, eine Bodenebene auf der Grundlage der Teilmenge von Merkmalspunkten bestimmt, einen Vektor der Bodennormale von der Bodenebene aus bestimmt, einen Wert für die Ausrichtung einer Kamera zum Boden auf der Grundlage des Vektors der Bodennormale bestimmt.
-
Figurenliste
-
Die beispielhaften Ausführungsformen werden hier im Folgenden in Verbindung mit den folgenden Zeichnungen beschrieben, wobei gleiche Ziffern gleiche Elemente bezeichnen und wobei:
- 1 eine schematische Veranschaulichung eines Fahrzeugs mit einem Controller ist, der Funktionen zum Erzeugen einer virtuellen Ansicht gemäß verschiedenen Ausführungsformen implementiert;
- 2 ein Datenflussdiagramm ist, das den Controller des Fahrzeugs gemäß verschiedenen Ausführungsformen veranschaulicht;
- 3A und 3B Veranschaulichungen von Bilddaten, Merkmalspunkten und Bereiche4n von Interesse gemäß verschiedenen Ausführungsformen sind;
- 4, 5, 6, 7 und 8 schematische Veranschaulichungen von Verfahren sind, die vom Controller gemäß verschiedenen Ausführungsformen durchgeführt werden; und
- 9 ein Flussdiagramm ist, das die von dem Fahrzeug und dem Controller durchgeführten Verfahren gemäß verschiedenen Ausführungsformen veranschaulicht.
-
Detaillierte Beschreibung
-
Die folgende detaillierte Beschreibung ist ihrer Art nach lediglich beispielhaft und soll die Anwendung und Nutzungen nicht einschränken. Darüber hinaus besteht nicht die Absicht, an eine ausdrückliche oder implizite Theorie gebunden zu sein, die in dem vorangehenden technischen Gebiet, dem Hintergrund, der kurzen Zusammenfassung oder der folgenden detaillierten Beschreibung dargelegt wird. Wie hierin verwendet, bezieht sich der Begriff Modul auf jede beliebige Hardware, Software, Firmware, elektronische Steuerungskomponente, Verarbeitungslogik und/oder Prozessorvorrichtung, einzeln oder in beliebiger Kombination, einschließlich, aber ohne Beschränkung: eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam, dediziert oder als Gruppe) und einen Speicher, der ein oder mehrere Software- oder Firmware-Programme ausführt, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bieten.
-
Ausführungsformen der vorliegenden Offenbarung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Es sollte erkannt werden, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmware-Komponenten realisiert werden können, die so konfiguriert sind, dass sie die spezifizierten Funktionen ausführen. Beispielsweise kann eine Ausführungsform der vorliegenden Offenbarung verschiedene Komponenten integrierter Schaltungen verwenden, z. B. Speicherelemente, Digitalsignalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder dergleichen, die unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuerungsvorrichtungen eine Vielzahl von Funktionen ausführen können. Außerdem wird der Fachmann verstehen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen in die Praxis umgesetzt werden können und dass die hierin beschriebenen Systeme lediglich beispielhafte Ausführungsformen der vorliegenden Offenbarung sind.
-
Der Kürze halber werden herkömmliche Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hierin nicht im Detail beschrieben. Überdies sollen die in den verschiedenen Abbildungen dargestellten Verbindungslinien beispielhafte funktionale Beziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen repräsentieren. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenlegung vorhanden sein können.
-
Mit Verweis auf 1 ist ein Fahrzeug 10 mit einem System 100 zur Anzeige einer Umgebungsansicht gemäß verschiedenen Ausführungsformen dargestellt. Im Allgemeinen zeigt das System 100 zur Anzeige einer Umgebungsansicht Bilddaten auf einem Display bzw. einer Anzeige 50 des Fahrzeugs 10 an, um eine Umgebungsansicht der äußeren Umgebung des Fahrzeugs 10 aus einem definierten Blickwinkel, wie etwa, aber nicht darauf beschränkt, aus der Vogelperspektive, zu veranschaulichen. Wie im Folgenden detaillierter diskutiert wird, erzeugt das System 100 zur Anzeige einer Umgebungsansicht die Anzeigedaten auf der Grundlage von Verfahren und Systemen zur Ausrichtung einer Kamera zum Boden.
-
Wie in 1 dargestellt, umfasst das Fahrzeug 10 im Allgemeinen ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen die Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16 und 18 sind jeweils nahe einer Ecke der Karosserie 14 drehbar mit dem Fahrgestell 12 gekoppelt.
-
In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug. Das autonome Fahrzeug ist zum Beispiel ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zu einem anderen zu befördern. Das Fahrzeug 10 ist in der gezeigten Ausführungsform als Personenwagen dargestellt; es sollte aber verstanden werden, dass jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Geländewagen (SUVs) (engl.: Sport Utility Vehicles), Wohnmobile (RVs) (engl.: recreational vehicles), Wasserfahrzeuge, Flugzeuge etc., ebenfalls verwendet werden kann. In einer beispielhaften Ausführungsform handelt es sich bei dem autonomen Fahrzeug um ein Automatisierungssystem der Stufe Zwei oder höher. Ein Automatisierungssystem der Stufe zwei bezeichnet eine „Teilautomatisierung“. In anderen Ausführungsformen kann es sich bei dem autonomen Fahrzeug jedoch um ein so genanntes Automatisierungssystem der Stufe Drei, Vier oder Fünf handeln. Ein Automatisierungssystem der Stufe Drei bezeichnet eine „bedingte Automatisierung“. Ein System der Stufe Vier bezeichnet eine „hohe Automatisierung“ in Bezug auf die für einen Fahrmodus spezifische Ausführung, durch ein System für automatisiertes Fahren, aller Aspekte der dynamischen Fahraufgabe, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Aufforderung zum Eingreifen reagiert. Ein System der Stufe Fünf bezeichnet eine „Vollautomatisierung“ in Bezug auf die Vollzeit-Ausführung, durch ein System für automatisiertes Fahren, aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer bewältigt werden können.
-
Es versteht sich jedoch, dass es sich bei dem Fahrzeug 10 auch um ein herkömmliches Fahrzeug ohne jegliche Funktionen für autonomes Fahren handeln kann. Das Fahrzeug 10 kann die Funktionen und Verfahren zum Erzeugen einer virtuellen Ansicht mit harmonisierten Farben gemäß der vorliegenden Offenbarung realisieren.
-
Wie dargestellt ist, umfasst das Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Aktuatorsystem 30, zumindest eine Datenspeichervorrichtung 32, zumindest einen Controller 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine wie einen Fahrmotor, ein Brennstoffzellen-Antriebssystem und/oder eine Kombination davon umfassen. Das Getriebesystem 22 ist so konfiguriert, dass es die Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 gemäß auswählbaren Übersetzungsverhältnissen überträgt. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Automatikgetriebe mit festen Übersetzungsverhältnissen, ein stufenloses Getriebe, ein manuelles Schaltgetriebe oder irgendein anderes geeignetes Getriebe umfassen.
-
Das Bremssystem 26 ist so konfiguriert, dass es den Fahrzeugrädern 16 und 18 ein Bremsmoment bereitstellt. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Seilzugbremsen, ein regeneratives Bremssystem wie etwa eine elektrische Maschine und/oder andere geeignete Bremssysteme umfassen. Das Lenksystem 24 beeinflusst eine Position bzw. Stellung der Fahrzeugräder 16 und 18. Obwohl das Lenksystem 24 zu Veranschaulichungszwecken als ein Lenkrad aufweisend dargestellt ist, kann es in einigen, im Rahmen der vorliegenden Offenbarung in Betracht gezogenen Ausführungsformen kein Lenkrad umfassen.
-
Das Sensorsystem 28 umfasst eine oder mehrere Sensor- bzw. Erfassungsvorrichtungen 40a-40n, die beobachtbare Bedingungen der äußeren Umgebung und/oder der inneren Umgebung des Fahrzeugs 10 erfassen. Die Erfassungsvorrichtungen 40a-40n können, sind aber nicht darauf beschränkt, Radare, Lidar-Einrichtungen, globale Positionsbestimmungssysteme (GPS), optische Kameras, Wärmekameras, Ultraschallsensoren und/oder andere Sensoren umfassen. Die Erfassungsvorrichtungen 40a-40n sind ferner so konfiguriert, dass sie beobachtbare Bedingungen des Fahrzeugs 10 erfassen. Die Erfassungsvorrichtungen 40a-40n können Geschwindigkeitssensoren, Positionssensoren, Trägheitsmesssensoren, Temperatursensoren, Drucksensoren etc. umfassen, sind aber nicht darauf beschränkt.
-
Das Aktuatorsystem 30 umfasst eine oder mehrere Aktuatorvorrichtungen 42a-42n, die eine oder mehrere Fahrzeugeinrichtungen bzw. -merkmale wie etwa, aber nicht darauf beschränkt, das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26 steuern. In verschiedenen Ausführungsformen können die Fahrzeugmerkmale ferner interne und/oder externe Fahrzeugmerkmale wie etwa Türen, einen Kofferraum und Kabinenmerkmale wie etwa Luft, Musik, Beleuchtung etc. (nicht nummeriert) umfassen, sind aber nicht darauf beschränkt.
-
Das Kommunikationssystem 36 ist so konfiguriert, dass es Informationen an andere Einheiten 48 und von solchen wie etwa, aber nicht darauf beschränkt, andere Fahrzeuge („V2V“-Kommunikation), Infrastruktur („V2l“-Kommunikation), entfernte Systeme und/oder persönliche Vorrichtungen bzw. Geräte (in Bezug auf 2 ausführlicher beschrieben) drahtlos kommuniziert bzw. übermittelt. In einer beispielhaften Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das so konfiguriert ist, dass es über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung von IEEE 802.11-Standards oder unter Verwendung zellularer Datenkommunikation kommuniziert. Zusätzliche oder alternative Kommunikationsverfahren wie etwa ein dedizierter Kurzstrecken-Kommunikationskanal (DSRC-Kanal) werden jedoch innerhalb des Umfangs der vorliegenden Offenbarung ebenfalls in Betracht gezogen. DSRC-Kanäle beziehen sich auf ein- oder zweiseitige drahtlose Kommunikationskanäle für kurze bis mittlere Reichweite, die speziell für den Einsatz bei Kraftfahrzeugen ausgelegt wurden, sowie einen entsprechenden Satz von Protokollen und Standards.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern von Funktionen des Fahrzeugs 10. In verschiedenen Ausführungsformen speichert die Datenspeichervorrichtung 32 definierte Abbildungen bzw. Karten der befahrbaren Umgebung. Die definierten Karten können eine Vielzahl von anderen Daten als damit assoziierte Straßendaten einschließlich Höhenlage, Klima, Beleuchtung etc. enthalten. In verschiedenen Ausführungsformen können die definierten Karten durch ein entferntes System vordefiniert und von diesem bezogen werden (in Bezug auf 2 näher beschrieben). Beispielsweise können die definierten Karten von dem entfernten System zusammengestellt und an das Fahrzeug 10 (drahtlos und/oder drahtgebunden) übermittelt und in der Datenspeichervorrichtung 32 gespeichert werden. Wie man erkennen kann, kann die Datenspeichervorrichtung 32 Teil des Controllers 34, vom Controller 34 getrennt oder Teil des Controllers 34 und Teil eines separaten Systems sein.
-
Der Controller 34 umfasst zumindest einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder computerlesbare Speichermedien 46. Der Prozessor 44 kann ein beliebiger kundenspezifischer oder handelsüblicher Prozessor, eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Hilfsprozessor unter mehreren Prozessoren, die mit dem Controller 34 assoziiert sind, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes), ein Makroprozessor, eine beliebige Kombination davon oder allgemein irgendeine Vorrichtung zum Ausführen von Befehlen sein. Die computerlesbare Speichervorrichtung oder die computerlesbaren Speichermedien 46 kann oder können beispielsweise flüchtige und nichtflüchtige Speicher in einem Festwertspeicher (ROM), Direktzugriffsspeicher (RAM) und Keep-Alive-Speicher (KAM) umfassen. KAM ist ein dauerhafter oder nichtflüchtiger Speicher, der genutzt werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder die computerlesbaren Speichermedien 46 kann oder können unter Verwendung einer beliebigen Anzahl bekannter Speichervorrichtungen wie etwa PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisch PROMs), EEPROMs (elektrisch löschbare PROMs), Flash-Speicher oder beliebiger elektrischer, magnetischer, optischer oder kombinierter Speichervorrichtungen realisiert werden, die in der Lage sind, Daten zu speichern, von denen einige ausführbare Anweisungen repräsentieren, die vom Controller 34 beim Steuern und Ausführen von Funktionen des Fahrzeugs 10 verwendet werden.
-
Die Anweisungen können ein oder mehrere separate Programme umfassen, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zum Realisieren logischer Funktionen enthält. Wenn die Anweisungen empfangen und verarbeiten, wenn sie vom Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen eine Logik, Berechnungen, Verfahren und/oder Algorithmen zum automatischen Steuern der Komponenten des Fahrzeugs 10 durch und erzeugen Steuerungssignale für das Aktuatorsystem 30, um die Komponenten des Fahrzeugs 10 auf der Grundlage der Logik, Berechnungen, Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur ein Controller 34 dargestellt ist, können Ausführungsformen des Fahrzeugs 10 eine beliebige Anzahl von Controllern 34 aufweisen, die über ein beliebiges geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenarbeiten, um die Sensorsignale zu verarbeiten, die Logik, Berechnungen, Verfahren und/oder Algorithmen durchzuführen und Steuerungssignale zu erzeugen, um Merkmale bzw. Einrichtungen des Fahrzeugs 10 automatisch zu steuern.
-
In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen des Controllers 34 im System 100 zur Anzeige einer Umgebungsansicht enthalten und verarbeiten, wenn sie vom Prozessor 44 ausgeführt werden, Bilddaten von zumindest einer optischen Kamera des Sensorsystems 28, um Merkmale aus den Bildern zu extrahieren, um die Bodenebene zu bestimmen. Die Anweisungen nutzen, wenn sie vom Prozessor 44 ausgeführt werden, die Bodenebene, um Informationen zur Kameraausrichtung zu bestimmen. Die Informationen zur Kameraausrichtung werden dann genutzt, um die Bilddaten zusammenzusetzen, um eine Umgebungsansicht aus einer bestimmten Perspektive zu bilden. In verschiedenen Ausführungsformen umfassen die Erfassungsvorrichtungen 40a bis 40n N (eine oder mehrere) Kameras, die eine externe Umgebung des Fahrzeugs 10 erfassen und die Bilddaten erzeugen (z. B. optische Kameras, die so konfiguriert sind, dass sie Farbbilder der Umgebung aufnehmen). Die Kameras sind so angeordnet, dass sie jeweils ein bestimmtes Sichtfeld der Umgebung des Fahrzeugs abdecken. Die Bilddaten jeder Kamera werden zu einer Umgebungsansicht zusammengesetzt, die beispielsweise auf der Lage bzw. Position und dem Standort der Kamera relativ zum Fahrzeug und zum Boden basiert.
-
Es wird deutlich, dass sich der Controller 34 von den in 1 dargestellten Ausführungsformen unterscheiden kann. Zum Beispiel kann der Controller 34 mit einem oder mehreren entfernten Computersystemen und/oder anderen Steuerungssystemen gekoppelt sein oder diese anderweitig nutzen, zum Beispiel als Teil eines oder mehrerer der oben bezeichneten Fahrzeugvorrichtungen und -systeme. Man versteht, dass, während diese beispielhafte Ausführungsform im Zusammenhang mit einem voll funktionsfähigen Computersystem beschrieben wird, der Fachmann erkennen wird, dass die Mechanismen der vorliegenden Offenbarung als ein Programmprodukt mit einer oder mehreren Arten von nicht-transitorischen, computerlesbaren, signaltragenden Medien verteilt werden können, die genutzt werden, um das Programm und seine Anweisungen zu speichern und seine Verteilung durchzuführen, wie etwa ein nicht-transitorisches, computerlesbares Medium, das das Programm trägt und Computeranweisungen enthält, die darin gespeichert sind, um einen Computerprozessor (wie den Prozessor 44) zu veranlassen, das Programm durchzuführen und auszuführen. Ein solches Programmprodukt kann eine Vielzahl von Formen einnehmen, und die vorliegende Offenbarung gilt gleichermaßen ungeachtet der besonderen Art des computerlesbaren signaltragenden Mediums, das genutzt wird, um die Verteilung auszuführen. Beispiele für signaltragende Medien sind beschreibbare Medien wie etwa Disketten, Festplatten, Speicherkarten und optische Datenträger bzw. Discs sowie Übertragungsmedien wie digitale und analoge Kommunikationsverbindungen. Man erkennt, dass in bestimmten Ausführungsformen auch Cloud-basierte Speicher und/oder andere Techniken verwendet werden können. Es wird ähnlich deutlich, dass sich das Computersystem des Controllers 34 auch anderweitig von der in 1 dargestellten Ausführungsform unterscheiden kann, zum Beispiel dadurch, dass das Computersystem des Controllers 34 mit einem oder mehreren entfernten Computersystemen und/oder anderen Steuerungssystemen gekoppelt sein kann oder diese anderweitig nutzen kann.
-
Mit Verweis auf 2 und mit fortgesetztem Verweis auf 1 veranschaulicht ein Datenflussdiagramm Elemente des Systems 100 zur Anzeige einer Umgebungsansicht von 1 gemäß verschiedenen Ausführungsformen. Wie man erkennen kann, können verschiedene Ausführungsformen des Systems 100 zur Anzeige einer Umgebungsansicht gemäß der vorliegenden Offenbarung eine beliebige Anzahl von innerhalb des Controllers 34 eingebetteten Modulen umfassen, die kombiniert und/oder weiter unterteilt werden können, um hierin beschriebene Systeme und Verfahren auf ähnliche Weise zu implementieren bzw. zu realisieren. Darüber hinaus können Eingaben in das System 100 zur Anzeige einer Umgebungsansicht vom Sensorsystem 28 empfangen werden, von anderen (nicht dargestellten) Steuerungsmodulen, die mit dem Fahrzeug 10 verbunden bzw. assoziiert sind, und/oder von anderen (nicht dargestellten) Teilmodulen innerhalb des Controllers 34 von 1 bestimmt/modelliert werden. Darüber hinaus können die Eingaben auch einer Vorverarbeitung wie etwa Teilabtastung, Rauschunterdrückung, Normierung, Merkmalsextraktion, Reduzierung fehlender Daten und dergleichen unterzogen werden. In verschiedenen Ausführungsformen umfasst das System 100 zur Anzeige einer Umgebungsansicht ein Freigabemodul 102, ein Bereichsauswahlmodul 104, ein Merkmalsvorhersagemodul 106, ein Bodendetektionsmodul 110, ein Parameterbestimmungsmodul 112 und ein Anzeigemodul 114.
-
In verschiedenen Ausführungsformen empfängt das Freigabemodul 102 als Eingabe Fahrzeugdaten 116 und Kameradaten 118. In verschiedenen Ausführungsformen umfassen die Fahrzeugdaten 116 die Fahrzeuggeschwindigkeit, die Fahrzeugbeschleunigung und den Lenkradwinkel angebende Daten. In verschiedenen Ausführungsformen enthalten die Kameradaten 118 einen bestimmten Abstand zwischen Keyframes bzw. Schlüsselbildern. Das Freigabemodul 102 wertet die Eingaben 116, 118 aus, um zu bestimmen, ob das Fahrzeug 10 geradeaus und ruhig fährt. Beispielsweise vergleicht das Freigabemodul 102 jede Eingabe mit einem vordefinierten Schwellenwert oder mehreren Schwellenwerten, die einen Bereich definieren, um zu bestimmen, ob die Bedingung erfüllt ist. Falls nicht alle Bedingungen erfüllt sind, wird bestimmt, dass das Fahrzeug 10 nicht geradeaus oder nicht ruhig fährt, und werden die Freigabedaten so festgelegt bzw. eingestellt, dass die Ausrichtung einer Kamera zum Boden nicht freigegeben wird. Falls alle Bedingungen erfüllt sind, wird bestimmt, dass das Fahrzeug 10 geradeaus und ruhig fährt, und werden die Freigabedaten 120 so eingestellt, dass sie angeben, dass die Ausrichtung einer Kamera zum Boden freigegeben ist.
-
In verschiedenen Ausführungsformen empfängt das Bereichsauswahlmodul 104 als Eingabe die Freigabedaten 120 und die Bilddaten 121 sowie die Daten zu den Lichtverhältnissen bzw. Lichtdaten 122. In verschiedenen Ausführungsformen umfassen die Bilddaten 121 Daten, die eine Vielzahl von von der Kamera aufgenommenen Einzelbildern definieren. In verschiedenen Ausführungsformen enthalten die Lichtdaten 122 Informationen über die Umgebung, in der die Bilder aufgenommen wurden, wie etwa die äußeren Lichtbedingungen, die Tageszeit, das Klima zu dieser Zeit etc.
-
Wenn die Freigabedaten 120 angeben, dass die Ausrichtung einer Kamera zum Boden aktiviert ist, identifiziert das Bereichsauswahlmodul 104 Bereiche von Interesse (ROI) innerhalb jedes Bildes der Bilddaten 121. Die ROls sind Bereiche, in denen die Daten ausreichen, um Merkmale innerhalb des Bereichs vorherzusagen. In verschiedenen Ausführungsformen identifiziert das Bereichsauswahlmodul 104 die ROls auf der Grundlage der Lichtdaten, der Klimadaten und/oder der Zeitdaten und erzeugt darauf basierend ROI-Daten 126. Wie in 3A und 3B gezeigt ist, kann zum Beispiel jedes Einzelbild 200, 202 auf der Grundlage der Tageszeit in Bereiche unterteilt werden. 3A veranschaulicht zwei Regionen bzw. Bereiche, die mit dem Einzelbild 200 assoziiert sind, das tagsüber aufgenommen wurde, einen Bereich 1 204 mit einer damit assoziierten ersten Lichtbedingung und einen Bereich 2 206 mit einer damit assoziierten erhöhten Lichtbedingung. 3B veranschaulicht drei Bereiche, die mit dem bei Nacht aufgenommenen Einzelbild 202 assoziiert sind, wobei Bereich 1 208 eine begrenzte oder keine Beleuchtung aufweist und Bereich 2 210 und Bereich 3 212 durch die äußeren Lichtbedingungen von Rücklichtern, Straßenbeleuchtung etc. gekennzeichnet sind. Wie man erkennen kann, können die Bereiche von Interesse in jedem Einzelbild auf der Grundlage einer beliebigen Anzahl von Bedingungen identifiziert werden und sind sie nicht auf die vorliegenden Beleuchtungs- bzw. Lichtbeispiele beschränkt.
-
Zurückverweisend auf 2 empfängt in verschiedenen Ausführungsformen das Merkmalsvorhersagemodul 106 als Eingabe die ROI-Daten 126 und die Fahrzeugdaten 127. Das Merkmalsvorhersagemodul 106 sagt Merkmalspunkte innerhalb der ROls unter Verwendung der Fahrzeuggeschwindigkeit aus den Fahrzeugdaten 127 voraus. Das Merkmalsvorhersagemodul 106 erzeugt Merkmalsvorhersagedaten 128, die eine Angabe der Merkmalspunkte in den ROIs enthalten.
-
In verschiedenen Ausführungsformen sagt das Merkmalsvorhersagemodul 106 die Merkmalspunkte unter Verwendung eines ersten Verfahrens (worauf als dreidimensionales (3D-) Projektionsverfahren verwiesen wird) voraus, die eine zukünftige Position des erkannten Merkmalspunkts in einem nächsten Bild k+1 auf der Grundlage einer dreidimensionalen (3D) Projektion vorhersagt. Wie in
4 detaillierter dargestellt ist, empfängt die 3D-Projektionsmethode beispielsweise die extrahierten Merkmalspunkte von den ROls in einem Bild k, wie bei 300 dargestellt, und projiziert für jeden Merkmalspunkt i den identifizierten Merkmalspunkt auf eine Einheitsebene als:
wobei K die Matrix der mit der Kamera assoziierten intrinsischen Parameter repräsentiert; und S
k,i einen Skalenwert repräsentiert.
-
Danach wird eine Tiefe d des Merkmalspunktes unter der Annahme einer flachen Ebene als:
wobei h die Höhe der Kameramitte zur Einheitsebene repräsentiert.
-
Falls die Tiefe d bei 330 innerhalb eines Bereichs liegt, wird eine Merkmalsverschiebung auf der Grundlage einer Drehung der Kamera
und einer bestimmten Fahrzeuggeschwindigkeit v
k zwischen den Bildern als:
bestimmt, und, wenn die Freigabebedingungen bei 350 erfüllt sind. Die 3D-Merkmalsposition wird dann bei 350 vorhergesagt.
-
Das 3D-Merkmal wird dann bei 360 auf das Kamerabild zurückprojiziert, um die Position des Merkmals in Kamerakoordinaten als:
zu erhalten.
-
Die vorhergesagte Merkmalsposition im Bild k+1 ist bei 390 gezeigt.
-
Mit Verweis zurück auf 2 sagt in verschiedenen anderen Ausführungsformen das Merkmalsvorhersagemodul 106 die Merkmalspunkte unter Verwendung eines zweiten Verfahrens (worauf als Fluchtpunktverfahren verwiesen wird) voraus, das eine zukünftige Position des detektierten Merkmalspunkts in einem nächsten Bild k+1 auf der Grundlage der Fahrzeuggeschwindigkeit und eines Fluchtpunkts in den Bildern vorhersagt. Wie in 5 dargestellt ist, empfängt das Fluchtpunktverfahren beispielsweise die extrahierten Merkmalspunkte von den ROls in einem Bild k, wie bei 400 dargestellt ist, falls die Freigabebedingungen bei 405 erfüllt sind.
-
Das Fluchtpunktverfahren detektiert Fluchtpunkte im Bild k, die mit den detektierten Merkmalspunkten bei 410 assoziiert sind. Einer der Fluchtpunkte wird ausgewählt, und die Qualität wird bei 420 geprüft. Basierend auf dem Fluchtpunkt und den Merkmalspunkten werden bei 430 Epipolar-Linien bestimmt. Die Merkmalsprojektion erfolgt entlang der Epipolar-Linie auf der Grundlage einer Homographie-Matrix 480, die bei 460 und 470 erstellt wird, um die vorhergesagte Merkmalsposition des Bildes k+1 zu erzeugen, das bei 450 dargestellt ist.
-
Mit Verweis zurück auf 2 sagt in verschiedenen anderen Ausführungsformen das Merkmalsvorhersagemodul 106 die Merkmalspunkte unter Verwendung eines dritten Verfahrens (worauf als Epipolar-Verfahren verwiesen wird) voraus, das eine zukünftige Position des detektierten Merkmalspunkts in einem nächsten Bild k+1 auf der Grundlage einer Epipolar-Linie im Bild vorhersagt. Wie in 6 dargestellt ist, verarbeitet das Epipolar-Verfahren beispielsweise die Einzelbilder für k Schlüsselbilder sowie die Fahrzeuggeschwindigkeit. Das erste Schlüsselbild wird bei 510 bestimmt, das zweite Schlüsselbild wird bei 520 bestimmt und so weiter, bis das k-te Schlüsselbild bei 530 bestimmt ist.
-
Danach werden Merkmalspunkte zwischen zwei Schlüsselbildern unter Verwendung von zweidimensionalen (2D-) Matching- bzw. Abgleich-Techniken bei 540 abgeglichen und eine Merkmalsdetektion bei 550 durchgeführt. Epipolar-Linien werden aus den 2D-Merkmalspunkten bei555 bestimmt. Die vorhergesagten Merkmalspositionen der Merkmalspunkte im Bild k+1 werden bei 570 gezeigt. Die vorhergesagten Merkmalspositionen werden unter Verwendung der Epipolar-Linien und der Fahrzeuggeschwindigkeit bei 580 vorhergesagt. Eventuelle Positionskorrekturen können unter Verwendung der Epipolar-Linien bei 560 durchgeführt werden.
-
Mit Verweis zurück auf 2 empfängt das Bodendetektionsmodul 110 als Eingabe die Merkmalsvorhersagedaten 128. Das Bodendetektionsmodul 110 wählt Bodenmerkmale aus den Merkmalsvorhersagedaten 128 aus und identifiziert dann eine Bodenebene aus den ausgewählten Merkmalen. Das Bodendetektionsmodul 110 erzeugt die Bodenebene angebende Bodendaten 130.
-
In verschiedenen Ausführungsformen wählt das Bodendetektionsmodul 110 die Bodenmerkmale unter Verwendung einer festen Straßenmaske für ein zweidimensionales Bild und eines dreidimensionalen Kastens des Bereichs von Interesse aus. In verschiedenen anderen Ausführungsformen wählt das Bodendetektionsmodul 110 die Bodenmerkmale durch Schätzen einer Straßenmaske unter Verwendung semantischer Segmentierungs- und maschineller Lernverfahren aus.
-
In verschiedenen anderen Ausführungsformen wählt das Bodendetektionsmodul 110 die Bodenmerkmale unter Verwendung von Geometriebeschränkungen aus, um etwaige Nicht-Bodenpunkte zu entfernen. Wie in 7 dargestellt ist, werden beispielsweise Bilder empfangen, und die Merkmalsextraktion sowie die Merkmalsdetektion und der Abgleich werden bei 600 und 610 durchgeführt.
-
Danach wird die relative Position bzw. Lage zwischen einem ersten Bild und einem zweiten Bild bei 620 wiederhergestellt. Die Homographie-Matrix H wird bei 630 berechnet als:
-
Der Vektor der Bodennormale wird daraus bei 640 für einen Merkmalspunkt unter Verwendung der relativen Position R und nicht-kolinearer Punkte q auf der Kameraeinheitsebene berechnet als:
-
Wenn bei 660 die Differenz zwischen dem Vektor n der Bodennormale und einem Referenz-Vektor n klein (z.B. kleiner als ein Schwellenwert ε) ist, wird dann bei 660 ein Bodenmerkmal ausgewählt. Wenn bei 650 die Differenz zwischen dem Vektor der Bodennormale und dem Referenz-Vektor n nicht klein (z.B. größer als der Schwellenwert ε) ist, wird dann bei 670 kein Bodenmerkmal ausgewählt.
-
Mit Verweis zurück auf 2 führt in verschiedenen Ausführungsformen das Bodendetektionsmodul 110 die Auswahl der Bodenmerkmale durch, wie oben beschrieben wurde, wenn die Schätzung der Kameraposition als zuverlässig bestimmt wird. Zum Beispiel bestimmt das Bodendetektionsmodul 110, dass die Schätzung der Kameraposition zuverlässig ist, wenn die Kameradrehänderung klein ist, wenn das Fahrzeug geradeaus fährt und wenn die Kamerabewegungsrichtung einen kleinen Winkel mit dem Fahrzeugbewegungsvektor hat.
-
Sobald die Bodenmerkmale extrahiert sind, führt dann das Bodendetektionsmodul 110 eine Bodenebenenanpassung der ausgewählten Bodenpunkte durch, indem ein Zufallsstichproben-Konsensverfahren (RANSAC) wie etwa, nicht aber darauf beschränkt, ein M-Schätzer-Stichproben-Konsensverfahren (MSAC) oder ein anderes Verfahrens angewendet wird und indem Beschränkungen berücksichtigt werden, um sicherzustellen, dass der Vektor der Bodennormale einen kleinen Winkel in Bezug auf den Bodenvektor hat und senkrecht zum Fahrzeugbewegungsvektor steht.
-
Das Parameterbestimmungsmodul 112 empfängt als Eingabe die Bodenmerkmalsdaten 130. Das Parameterbestimmungsmodul 112 verfeinert einen Vektor der Bodennormale von der identifizierten Bodenebene und verwendet den verfeinerten Vektor der Bodennormale zum Schätzen der Ausrichtungsdaten 132, die Rollen, Nicken, Gieren und die Höhe der Kamera einschließen.
-
Zum Beispiel wird, wie in 8 gezeigt ist, wenn intrinsische Daten 700 der Kamera, das Schlüsselbild-Bodenmerkmal zum Zeitpunkt k 710 und die Kameraposition zum Zeitpunkt k 720 gegeben sind, ein gleitendes Fenster mit einer Größe a eingerichtet.
-
Wenn das gleitende Fenster bei 730 voll ist, werden der Vektor der Bodennormale und die Bodenhöhe der Kamera bei 740 verfeinert. Zum Beispiel kann ein optimierter Normalenvektor
n̂ und Höhe eine ĥ aus den Daten im gleitenden Fenster erhalten werden durch Minimieren des Übertragungsabstands durch Homografie:
und Aktualisieren:
-
Dabei repräsentiert a die Größe des gleitenden Fensters, repräsentiert b die Anzahl von Merkmalen zwischen benachbarten Schlüsselbildern, repräsentiert H die Homographie-Matrix und repräsentiert λ einen Dämpfungsfaktor. Sobald die optimierten Ausrichtungsdaten 760 aus dem Fenster bei 750 erhalten wurden, werden alte Merkmalsdaten und Kamerapositionen aus dem gleitenden Fenster bei 770 entfernt und kehrt das Verfahren zum Aktualisieren des Fensters bei 730 zurück. Die optimierten Ausrichtungsdaten 760 werden dann verwendet, um das Gieren, Nicken und Rollen der Kamera zu bestimmen.
-
Mit Verweis auf 2 empfängt das Anzeigemodul 114 als Eingabe die Ausrichtungsdaten 132 und die Bilddaten 121. Das Anzeigemodul 114 setzt die Bilddaten 121 auf der Grundlage der Ausrichtungsdaten 123 zu einer Umgebungsansicht aus einer definierten Perspektive zusammen. Die Anzeige erzeugt Anzeigedaten 134, um die Umgebungsansicht auf der Anzeige 50 des Fahrzeugs 10 anzuzeigen.
-
Mit Verweis auf 9 und mit fortgesetztem Verweis auf 1-8 wird ein Flussdiagramm eines Verfahrens 800 zum Anzeigen von Bilddaten einer Umgebungsansicht innerhalb des Fahrzeugs 10 von 1 unter Verwendung des Systems 100 zur Anzeige einer Umgebungsansicht bereitgestellt, das die Verfahren und Systeme zur Ausrichtung einer Kamera zum Boden von 1 und 2 realisiert. Wie in Anbetracht der Offenbarung zu erkennen ist, ist die Reihenfolge der Operationsschritte des Verfahrens 800 nicht auf die sequentielle Ausführung wie in 9 veranschaulicht beschränkt, sondern kann in einer oder mehreren variierenden Reihenfolgen je nach Anwendbarkeit und in Übereinstimmung mit der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen kann das Verfahren 800 so geplant werden, dass es auf der Grundlage eines oder mehrerer vorbestimmter Ereignisse abläuft und/oder während des Betriebs des Fahrzeugs 10 kontinuierlich ablaufen kann.
-
In einem Beispiel kann das Verfahren 800 bei 805 beginnen. Eingabedaten werden bei 810-830 erhalten. Beispielsweise werden bei 810 Bilddaten erhalten, die k Einzelbilder darstellen, die von einer Kamera des Fahrzeugs 10 aufgenommen wurden. Geschwindigkeitsdaten und andere Fahrzeugdaten werden bei 820 erhalten. Beleuchtungs- bzw. Lichtdaten, die mit der Fahrzeugumgebung assoziiert sind, werden bei 830 erhalten.
-
Danach werden Freigabebedingungen ausgewertet, um sicherzustellen, dass das Fahrzeug 10 geradeaus und ruhig fährt. Zum Beispiel werden Parameter, die Geschwindigkeit, Beschleunigung, Lenkradwinkel und Abstand zwischen Schlüsselbildern umfassen, nicht aber darauf beschränkt sind, mit Schwellenwerten und/oder Bereichen bei 840 verglichen. Falls eine oder mehrere der Freigabebedingungen bei 840 nicht erfüllt sind, setzt sich das Verfahren 800 mit dem Erhalten neuer Eingabedaten bei 810-830 fort.
-
Sobald die Freigabebedingungen bei 840 erfüllt sind, wird die Ausrichtung der Kamera zum Boden bei 850-900 durchgeführt und werden Anzeigedaten auf der Grundlage der Ausrichtung der Kamera zum Boden bei 910 erzeugt. Beispielsweise werden die Lichtdaten und Bilddaten ausgewertet, um ROls bei 850 zu bestimmen. An den ROIs wird eine Merkmalsvorhersage beispielsweise auf der Grundlage des 3D-Projektionsverfahrens, des Fluchtpunktverfahrens oder des Epipolar-Linienverfahrens wie bei 860 oben beschrieben durchgeführt. Danach werden Merkmalsdaten, die mit Einzelbildern assoziiert sind, die eine assoziierte Kameraposition haben, die als zuverlässig angesehen wird, verwendet, und werden Merkmalsdaten mit unzuverlässiger Kameraposition bei 865 herausgefiltert.
-
Unter Verwendung der gefilterten Merkmalsdaten werden bei 870 aus den Merkmalspunkten auf der Grundlage beispielsweise einer festen 2D-Maske und eines 3D-ROI-Kastens, einer dynamischen 2D-Maske oder von Homographie-Beschränkungen wie oben beschrieben Bodenmerkmale ausgewählt. Aus den ausgewählten Merkmalspunkten wird bei 880 eine Bodenebene bestimmt. Ein Normalenvektor und eine Kamerahöhe werden bei 890 von der Bodenebene aus berechnet und bei 895 unter Verwendung des oben beschriebenen Verfahrens mit gleitendem Fenster und der oben beschriebenen Beschränkungen verfeinert.
-
Danach werden die Kameraparameter, die ein Neigen, Gieren und Rollen einschließen, bei 900 bestimmt. Bei 910 werden dann auf der Grundlage der Kameraparameter Anzeigedaten erzeugt, um die Bilddaten zum Beispiel gemäß einer anderen Perspektive auf der Anzeige 50 des Fahrzeugs 10 anzuzeigen. Danach kann das Verfahren 800 bei 920 enden.
-
Obwohl in der vorhergehenden detaillierten Beschreibung zumindest eine beispielhafte Ausführungsform präsentiert wurde, sollte man erkennen, dass es eine große Anzahl an Varianten gibt. Es sollte auch erkennt werden, dass die beispielhafte Ausführungsform oder die beispielhaften Ausführungsformen nur Beispiele sind und nicht dazu gedacht sind, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise einzuschränken. Vielmehr soll die vorhergehende detaillierte Beschreibung dem Fachmann einen geeigneten Leitfaden zum Realisieren der beispielhaften Ausführungsform oder beispielhaften Ausführungsformen an die Hand geben. Es sollte sich verstehen, dass verschiedene Änderungen an der Funktion und der Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren gesetzlichen Äquivalenten dargelegt ist, abzuweichen.