-
HINTERGRUND
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Systeme und Verfahren zur Korrektur von Karten, insbesondere auf Systeme und Verfahren zur Korrektur von Karten-Daten für autonome Fahrzeugkarten.
-
Navigationsebenenkarten wie OpenStreetMap (OSM) und Google Maps sind nicht für das Fahren mit autonomen Fahrzeugen (AV) geeignet. Zur Navigation benötigt ein autonomes Fahrzeug möglicherweise eine hochauflösende Karte des Bereichs, in dem das Fahrzeug fahren wird. Die hochauflösende Karte muss möglicherweise dreidimensional sein, mit den permanent vorhandenen Objekten in dem Gebiet versehen sein und jede Straße in einem zu navigierenden Gebiet mit der genauen Position jedes Stoppschildes, aller Fahrbahnmarkierungen, jeder Ausfahrt und jeder Ampel beinhalten.
-
Die Erstellung von AV-Karten kann komplex sein. Es gibt mehr als vier Millionen Meilen Straßen in den Vereinigten Staaten, und im Vergleich zu den von GPS- und Navigationssystemen verwendeten Karten ist die Genauigkeit der AV-Karten viel höher. Navigationskarten lokalisieren typischerweise die Position eines Fahrzeugs innerhalb von mehreren Metern. AV-Karten müssen in einigen Fällen in der Lage sein, die Position von Fahrzeugen, Bordsteinen und anderen Objekten innerhalb von etwa vier Zoll zu lokalisieren.
-
Autonome Fahrzeuge, die in einem autonomen Fahrmodus arbeiten, sind auf Karten-Daten angewiesen, die irgendwann in der Vergangenheit gesammelt wurden. Die Karten-Daten spiegeln möglicherweise nicht immer die tatsächliche Umgebung wider, die sie darstellen sollen. Die Karten-Daten können Fehler enthalten oder aufgrund von Umweltveränderungen, wie z.B. dem Straßenbau, veraltet sein.
-
Autonome und nicht autonome Fahrzeuge verfügen über verschiedene Sensoren, die zur Erfassung der tatsächlichen Umgebung verwendet werden können. So können beispielsweise Fahrzeuge mit Wahrnehmungssystemen ausgestattet sein, die Sensorvorrichtungen wie Radar, Lidar, Bildsensoren und andere enthalten. Die Wahrnehmungssysteme und andere Abtastsysteme können verfügbar sein, um Abtast-Daten zur Verwendung bei der Überprüfung der Genauigkeit von Karten-Daten für AV-Karten bereitzustellen.
-
Dementsprechend ist es wünschenswert, Systeme und Verfahren zur Korrektur von AV-Karten-Daten bereitzustellen. Darüber hinaus werden sich weitere 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 Figuren und dem vorstehenden technischen Bereich und Hintergrund ergeben.
-
BESCHREIBUNG
-
Systeme und Verfahren sind vorgesehen, um mit Hilfe der Crowd-Sensing-Technologie einen Kartenanomalie-Hotspot zu identifizieren und detailliertere Bildinformationen bereitzustellen (z.B. zweidimensionale Vogelperspektive oder dreidimensionale Szenenrekonstruktion). Die detaillierten Bildinformationen werden durch die Synthese einer Reihe von gesammelten sequentiellen Bodenansichts-Bildern aus einer großen Flotte von Fahrzeugen am Hotspot der Kartenanomalie gewonnen.
-
In einer Ausführungsform ist ein System zur Korrektur von hochauflösenden Kartenbildern vorgesehen. Das System beinhaltet einen oder mehrere Prozessoren, die durch Programmieranweisungen eingerichtet sind, die auf nichtflüchtigen, computerlesbaren Medien kodiert sind. Das System ist eingerichtet für: Empfangen von Bodenansichts-Bilddaten eines von den Fahrzeugen erfassten Kartenanomalie-Hotspots durch einen Cloud-basierten Prozessor aus einer Vielzahl von Fahrzeugen, wobei der Kartenanomalie-Hotspot ein Bereich ist, der durch eine hochauflösende Karte beschrieben wird, bei der die von den Fahrzeugen beobachteten physikalischen Eigenschaften des Hotspots mit der Beschreibung für den von der hochauflösenden Karte bereitgestellten Bereich nicht übereinstimmen; Umwandeln der Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie; Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten; Anwenden eines Algorithmus zur Fehlerreduzierung auf die Vogelperspektive-Bilddaten mit den entfernten Ausreißern; Zusammenfügen einer Folge von aufeinanderfolgenden Bildern aus den Vogelperspektive-Bilddaten nach der Fehlerreduktion, um ein hochauflösendes Vogelperspektive-Bild zu erzeugen, wobei jedes der aufeinanderfolgenden Bilder durch Konvertieren von Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie, Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten und Anwenden eines Fehlerreduktionsalgorithmus zur Fehlerreduktion erzeugt wurde; Vergleichen der zusammengefügten Folge von aufeinanderfolgenden Bildern mit einem hochauflösenden Bild des Hotspots, um Änderungen des hochauflösenden Bildes zu bestimmen; und Bereitstellen von überarbeiteten hochauflösenden Bilddaten für ein autonomes Fahrzeug zur Verwendung beim Navigieren in einem Bereich in der Nähe des Kartenanomalie- Hots.
-
In einer Ausführungsform ist das System ferner eingerichtet, um: einen Bericht eines Kartenanomalie-Hotspots von einem Fahrzeug zu empfangen, der Bodenansichts-Bilddaten am Kartenanomalie-Hotspot beinhaltet; eine Vielzahl von Fahrzeugen in einem Gebiet in der Nähe des Kartenanomalie-Hotspots anzuweisen, Bodenansichts-Bilddaten an den Kartenanomalie-Hotspot hochzuladen; und Bodenansichts-Bilddaten des von der Vielzahl von Fahrzeugen erfassten Kartenanomalie-Hotspots zu empfangen.
-
In einer Ausführungsform ist das System eingerichtet, um die Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung der Homographie zu konvertieren: eine perspektivische Transformation aus 4 Paaren entsprechender Eckpunkte zu berechnen; die prospektive Transformation durch eine Transformationsmatrix M darzustellen; und die geschätzte perspektivische Transformationsmatrix M auf die Bodenansichts-Bilddaten anzuwenden.
-
In einer Ausführungsform ist das System eingerichtet, um Ausreißer aus den Vogelperspektive-Bilddaten zu entfernen, indem es einen RANSAC-Algorithmus (Random Sample Consensus) oder ähnliche Algorithmen anwendet, die den gleichen Zweck erfüllen, Ausreißer aus den Vogelperspektive-Bilddaten zu entfernen.
-
In einer Ausführungsform, um einen Fehlerreduzierungsalgorithmus anzuwenden, ist das System eingerichtet, um die Bildregistrierung durchzuführen, indem es Merkmale im Vogelperspektive-Bild mit Merkmalen im hochauflösenden Bild abgleicht oder direkte Ausrichtungsmethoden verwendet, um nach Bildausrichtungen zu suchen, die die Summe der absoluten Unterschiede zwischen überlappenden Pixeln minimieren.
-
In einer Ausführungsform, um einen Fehlerreduzierungsalgorithmus anzuwenden, ist das System eingerichtet, um einen iterativen Closest Point (ICP)-Algorithmus anzuwenden, um die Homographietransformation iterativ zu überarbeiten, die verwendet wird, um eine Fehlermetrik zwischen dem Vogelperspektive-Bild mit Ausreißern, die im Satellitenbild entfernt wurden, ohne Ausreißer zu reduzieren.
-
In einer Ausführungsform ist das System eingerichtet, um eine Folge von aufeinanderfolgenden Bildern zusammenzusetzen, um: das geeignete mathematische Modell zu bestimmen, das Pixelkoordinaten in einem Bild auf Pixelkoordinaten in einem anderen bezieht; die korrekten Ausrichtungen in Bezug auf Bildsammlungen zu schätzen; Unterscheidungsmerkmale in jedem Bild abzugleichen, um Korrespondenzen zwischen Bildern herzustellen; und die überlappenden Bilder zusammenzuführen.
-
In einer Ausführungsform ist das System eingerichtet, um die zusammengefügte Folge von aufeinanderfolgenden Bildern mit einem Satellitenbild des Hotspots zu vergleichen, um Änderungen am Satellitenbild zu bestimmen, um: ein Merkmal aus dem zusammengefügten Bild zum Satellitenbild hinzuzufügen, wenn bestimmt wird, dass das Merkmal im zusammengefügten Bild, aber nicht im Satellitenbild vorhanden ist; und ein Merkmal aus dem Satellitenbild zu entfernen, wenn bestimmt wird, dass das Merkmal nicht im zusammengefügten Bild, sondern im Satellitenbild vorhanden ist.
-
In einer Ausführungsform ist das System ferner eingerichtet, um ein dreidimensionales (3D) Bild des Hotspot-Bereichs aus der Folge aufeinanderfolgender Bodenansichts-Bilder zu konstruieren, wobei zum Konstruieren eines dreidimensionalen (3D) Bildes des Hotspot-Bereichs das System eingerichtet ist: Identifizieren von Schlüsselpunktübereinstimmungen zwischen Bildern in der Folge von aufeinanderfolgenden Bildern; Schätzen einer Grundmatrix für dreidimensionale Strukturen aus der zweidimensionalen Folge von aufeinanderfolgenden Bildern, die mit lokalen Bewegungssignalen gekoppelt sind, unter Verwendung einer Struktur aus dem Bereich der Bewegungsabbildung (SFM); Finden einer Dichte-Übereinstimmung zwischen den dreidimensionalen Strukturen unter Verwendung einer epipolaren Geometrie; Bestimmen von Dichte-Punktwolken für die dreidimensionalen Strukturen unter Verwendung von Triangulation; und Bereitstellen von 3D Dichte-Punktwolken für ein autonomes Fahrzeug (AV).
-
In einer Ausführungsform ist das System ferner eingerichtet, um aus den Dichte-Punktwolken unter Verwendung eines patchbasierten Multi-View-Stereo-(PMVS)-Algorithmus dichtere Punktwolken zu erzeugen, und wobei zum Bereitstellen von 3D Punktwolken mit hoher Datendichte das System eingerichtet ist, um die Punktwolken mit höherer Datendichte einem autonomen Fahrzeug (AV) bereitzustellen.
-
In einer Ausführungsform ist das System ferner eingerichtet, um zusätzliche Daten zur Verwendung beim Bestimmen anzufordern, ob eine gemeldete Anomalie aus einer Diskrepanz in digitalen Karten-Daten resultiert, indem ein erweiterter Verstärkungs-Lernbereich eingerichtet wird, wobei jedes Fahrzeug, das sich in dem erweiterten Verstärkungs-Lernbereich befindet und ordnungsgemäß ausgestattet ist, so ausgerichtet ist, dass es Bodenansichts-Bilder des Kartenanomalie-Hotspots an das System übermittelt.
-
In einer weiteren Ausführungsform ist ein prozessorimplementiertes Verfahren zur Korrektur hochauflösender Kartenbilder vorgesehen. Das Verfahren beinhaltet: Empfangen von Bodenansichts-Bilddaten eines von den Fahrzeugen erfassten Kartenanomalie-Hotspots durch einen Cloud-basierten Prozessor aus einer Vielzahl von Fahrzeugen, wobei der Kartenanomalie-Hotspot ein Bereich ist, der durch eine hochauflösende Karte beschrieben wird, bei der die von den Fahrzeugen beobachteten physikalischen Eigenschaften des Hotspots mit der Beschreibung für den von der hochauflösenden Karte bereitgestellten Bereich unvereinbar sind; Umwandeln der Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie; Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten; Anwenden eines Algorithmus zur Fehlerreduzierung auf die Vogelperspektive-Bilddaten mit den entfernten Ausreißern; Zusammenfügen einer Folge von aufeinanderfolgenden Bildern aus den Vogelperspektive-Bilddaten nach der Fehlerreduktion, um ein hochauflösendes Vogelperspektive-Bild zu erzeugen, wobei jedes der aufeinanderfolgenden Bilder durch Konvertieren von Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie, Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten und Anwenden eines Fehlerreduktionsalgorithmus zur Fehlerreduktion erzeugt wurde; Vergleichen der zusammengefügten Folge von aufeinanderfolgenden Bildern mit einem hochauflösenden Bild des Hotspots, um Änderungen des hochauflösenden Bildes zu bestimmen; und Bereitstellen von überarbeiteten hochauflösenden Bilddaten für ein autonomes Fahrzeug zur Verwendung beim Navigieren in einem Bereich nahe dem Kartenanomalie-Hotspot.
-
In einer Ausführungsform beinhaltet das Umwandeln der Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung der Homographie: Berechnen einer perspektivischen Transformation aus 4 Paaren entsprechender Eckpunkte; Darstellen der prospektiven Transformation durch eine Transformationsmatrix M; und Anwenden der geschätzten perspektivischen Transformationsmatrix M auf Bilddaten.
-
In einer Ausführungsform beinhaltet das Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten die Anwendung eines RANSAC-Algorithmus (Random Sample Consensus) oder ähnlicher Algorithmen, die die gleichen Ziele erreichen, um Ausreißer aus den Vogelperspektive-Bilddaten zu entfernen.
-
In einer Ausführungsform beinhaltet die Anwendung eines Fehlerreduzierungsalgorithmus die Durchführung der Bildregistrierung durch Abgleich von Merkmalen im Vogelperspektive-Bild mit Merkmalen im hochauflösenden Bild oder die Verwendung von direkten Ausrichtungsmethoden zur Suche nach Bildausrichtungen, die die Summe der absoluten Unterschiede zwischen überlappenden Pixeln minimieren.
-
In einer Ausführungsform beinhaltet die Anwendung eines Fehlerreduzierungsalgorithmus die Anwendung eines iterativen Closest Point (ICP)-Algorithmus zur iterativen Überarbeitung der Homographietransformation, die verwendet wird, um eine Fehlermetrik zwischen dem Vogelperspektive-Bild mit Ausreißern, die in das Satellitenbild entfernt wurden, ohne Ausreißer zu reduzieren.
-
In einer Ausführungsform beinhaltet das Zusammenfügen einer Folge von aufeinanderfolgenden Bildern: Bestimmen der geeigneten mathematischen Modelle, die Pixelkoordinaten in einem Bild mit Pixelkoordinaten in einem anderen Bild in Beziehung setzen; Schätzen der korrekten Ausrichtungen, die sich auf Bildsammlungen beziehen; Abgleichen von Unterscheidungsmerkmalen in jedem Bild, um Korrespondenzen zwischen Bildern herzustellen; und Zusammenführen der überlappenden Bilder.
-
In einer Ausführungsform beinhaltet das Verfahren ferner das Konstruieren eines dreidimensionalen (3D) Bildes des Hotspot-Bereichs aus der Folge aufeinanderfolgender Bilder aus den Vogelperspektive-Bilddaten nach der Fehlerreduzierung, wobei das Konstruieren eines dreidimensionalen (3D) Bildes des Hotspot-Bereichs beinhaltet: Identifizieren von Schlüsselpunktübereinstimmungen zwischen Bildern in der Folge von aufeinanderfolgenden Bildern; Schätzen einer Grundmatrix für dreidimensionale Strukturen aus der zweidimensionalen Folge von aufeinanderfolgenden Bildern, die mit lokalen Bewegungssignalen gekoppelt sind, unter Verwendung einer Struktur aus dem Bewegungsalgorithmus im SFM-Bereich; Finden einer dichten Übereinstimmung zwischen den dreidimensionalen Strukturen unter Verwendung einer epipolaren Geometrie; Bestimmen dichter Punktwolken für die dreidimensionalen Strukturen unter Verwendung von Triangulation; und Bereitstellen von 3D Punktwolken mit hoher Datendichte für ein autonomes Fahrzeug (AV).
-
In einer Ausführungsform beinhaltet das Verfahren ferner das Erzeugen von Punktwolken mit höherer Datendichte aus den Punktwolken mit hoher Datendichte unter Verwendung eines patchbasierten Multi-View-Stereo-(PMVS)-Algorithmus und wobei das Bereitstellen von 3D Punktwolken mit hoher Datendichte das Bereitstellen der Punktwolken mit höherer Datendichte für ein autonomes Fahrzeug (AV) beinhaltet.
-
In einer weiteren Ausführungsform ist ein Fahrzeug zum Bestimmen von Abweichungen der digitalen Karte vorgesehen. Das Fahrzeug beinhaltet ein Erkenntnis-Modul, das einen oder mehrere Prozessoren beinhaltet, die durch Programmieranweisungen eingerichtet sind, die auf nichtflüchtigen, computerlesbaren Medien kodiert sind. Das Erkenntnis-Modul ist eingerichtet zum: Empfangen von vorgeplanten Trajektorien-Daten von einem Navigations-Modul im Fahrzeug durch einen Prozessor in einem Fahrzeug; Abrufen von Sensor-Daten von einem oder mehreren Fahrzeugsensorsystemen durch den Prozessor; Analysieren der Sensor-Daten und der vorgeplanten Trajektorien-Daten durch den Prozessor; Identifizieren eines ersten Kartenanomalie-Hotspots aus der Analyse durch den Prozessor; Senden von Bodenansichts-Bilddaten bezüglich des ersten Kartenanomalie-Hotspots an einen Cloud-basierten Server außerhalb des Fahrzeugs; Empfangen einer Anforderung vom Cloud-basierten Server, Bodenansichts-Bilddaten an einem zweiten Anomalie-Hotspot zu übertragen; und Übertragen von Bodenansichts-Bilddaten bezüglich des zweiten Kartenanomalie-Hotspots an den Cloud-basierten Server als Reaktion auf die Anforderung.
-
Figurenliste
-
Die exemplarischen Ausführungsformen werden im Folgenden in Verbindung mit den folgenden Bezugszeichen beschrieben, wobei gleiche Bezugszeichen gleiche Elemente bezeichnen und wobei:
- 1 ist ein Diagramm, das eine Draufsicht auf ein Beispielszenario darstellt, das zum Verständnis des vorliegenden Themas in Übereinstimmung mit verschiedenen Ausführungsformen nützlich ist;
- 2 ist ein Blockdiagramm eines exemplarischen Fahrzeugs, das sowohl ein Navigations-Modul als auch ein Erkenntnis-Modul gemäß verschiedenen Ausführungsformen verwenden kann;
- 3 ist ein Blockdiagramm, das exemplarische Komponenten eines Systems zur Erkennung und Korrektur von Diskrepanzen in einer exemplarischen Karte gemäß verschiedener Ausführungsformen darstellt;
- 4 ist ein Blockdiagramm, das ein exemplarisches Bildverarbeitungs-Modul gemäß verschiedenen Ausführungsformen darstellt;
- 5 ist ein Prozessablaufdiagramm, das einen exemplarischen Prozess in einem exemplarischen Bildverarbeitungs-Modul gemäß verschiedenen Ausführungsformen darstellt;
- Die 6A, 6B und 6C sind Diagramme, die eine exemplarische Technik zur Umwandlung von Grundbilddaten in Vogelperspektive-Bilddaten unter Verwendung der Homographie gemäß verschiedener Ausführungsformen veranschaulichen;
- 7 ist ein Flussdiagramm in einem Beispielsystem, das einen RANSAC-Ausreißerdetektor und ein Eliminier-Modul zur Ausreißerbeseitigung und ein ICP-Modul zur Fehlererkennung gemäß verschiedener Ausführungsformen verwendet;
- Die 8A, 8B und 8C sind Diagramme, die die exemplarische Umwandlung einer Folge von Grundbildern in ein gestepptes Vogelperspektive-Bild gemäß verschiedenen Ausführungsformen veranschaulichen; und
- 9 ist ein Prozessablaufdiagramm, das einen exemplarischen Prozess zum Erzeugen eines 3D-Bildes aus einer Folge von Bildern gemäß verschiedener Ausführungsformen darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung ist lediglich exemplarischer Natur und soll die Anwendung und Verwendung nicht einschränken. Darüber hinaus besteht keine Absicht, an eine ausdrückliche oder stillschweigende Theorie gebunden zu sein, die im vorhergehenden technischen Bereich, Hintergrund, Zusammenfassung oder der folgenden detaillierten Beschreibung dargestellt wird. Wie hierin verwendet, bezieht sich der Begriff „-Modul“ auf jede Hardware, Software, Firmware, elektronische Steuerkomponente, Verarbeitungslogik und/oder Prozessorvorrichtung, einzeln oder in beliebiger Kombination, einschließlich, aber nicht beschränkt auf: anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine elektronische Schaltung, einen Prozessor (gemeinsam, dediziert oder Gruppe) und Speicher, der eine oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bereitstellen.
-
Ausführungsformen der vorliegenden Offenbarung können hierin in Bezug auf funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben werden. Es ist zu beachten, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmwarekomponenten realisiert werden können, die zur Ausführung der angegebenen Funktionen eingerichtet sind. So kann beispielsweise eine Ausführungsform der vorliegenden Offenbarung verschiedene integrierte Schaltungskomponenten verwenden, z.B. Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder dergleichen, die eine Vielzahl von Funktionen unter der Kontrolle eines oder mehrerer Mikroprozessoren oder anderer Steuergeräte ausführen können. Darüber hinaus werden die Fachleute verstehen, dass Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl von Systemen praktiziert werden können und dass die hierin beschriebenen Systeme lediglich exemplarische Ausführungsformen der vorliegenden Offenbarung sind.
-
Der Kürze halber können konventionelle Techniken in Bezug auf Signalverarbeitung, Datenübertragung, Signalisierung, Steuerung, maschinelle Lernmodelle, Radar, Lidar, Bildanalyse und andere funktionale Aspekte der Systeme (und der einzelnen Betriebskomponenten der Systeme) hierin nicht im Detail beschrieben werden. Darüber hinaus sollen die in den verschiedenen Abbildungen dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Kopplungen zwischen den verschiedenen Elementen darstellen. Es ist zu beachten, dass viele alternative oder zusätzliche funktionale Beziehungen oder physische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
-
Der hierin beschriebene Gegenstand offenbart Vorrichtungen, Systeme, Techniken und Artikel zur Bereitstellung detaillierterer Bildinformationen (z.B. detailliertere zweidimensionale (2D) Vogelperspektive-Abbildungen oder dreidimensionale (3D) Szenenrekonstruktionsbilder) zur Aufnahme in hochauflösende (HD) Karten-Daten. Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können die Crowd-Sensing-Technologie nutzen, um einen Kartenanomalie-Hotspot zu identifizieren und detailliertere Bildinformationen zu erzeugen, indem sie eine Reihe von gesammelten sequentiellen Bodenansichts-Bildern aus einer großen Fahrzeugflotte am Kartenanomalie-Hotspot synthetisieren. Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können fahrzeugbasierte Systeme zum Erfassen von Bodenansichts-Bildern und ein Cloud-basiertes System zum Erzeugen detaillierterer Bildinformationen durch Synthese sequentieller Bodenansichts-Bilder, die von den fahrzeugbasierten Systemen an einem Kartenanomalie-Hotspot gesammelt wurden, bereitstellen.
-
Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können ein Verfahren zum Begrenzen der Menge an Bildern bereitstellen, die in das Cloud-basierte System hochgeladen werden, wobei nur Bilder innerhalb eines Kartenanomalie-Hotspotbereichs in das Cloud-basierte System hochgeladen werden. Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können einen Algorithmus zum Transformieren von Bodenansichts-Bildern in Vogelperspektive-Bilder durch die Synthese mehrerer Bodenansichts-Bilder und zum Vergleichen der erzeugten Vogelperspektive-Bilder mit bereits vorhandenen hochauflösenden Bildern (z.B. Satellitenkarte) für hochauflösende Karten-Datenaktualisierungen bereitstellen. Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können einen Algorithmus für die vollständige Rekonstruktion von 3D-Szenarien durch die Synthese mehrerer Bodenansichts-Bilder bereitstellen, um den Bedienern von entfernten autonomen Fahrzeugen (AV) einen besseren Kontext/Semantik zu bieten. Die beschriebenen Vorrichtungen, Systeme, Techniken und Artikel können eine Methodik bereitstellen, die eine Kartenanomalie-Hotspot-Region über den CAN-Bus (Controller Area Network) und/oder GPS-Informationen identifizieren kann. Die beschriebenen Geräte, Systeme, Techniken und Artikel können einen kostengünstigen Ansatz für eine aktuelle und verbesserte Genauigkeitskarte bieten.
-
Hochauflösende (HD-)Karten für autonomes Fahren können unter Qualitätsproblemen (z.B. Geometrieabweichung, fehlende Straßenattribute) und Kartenaktualisierungsproblemen (z.B. dürfen nicht so häufig wie nötig aktualisiert werden) leiden. Manuelle Validierung, Fehlererkennung und Kartenkorrekturen können kostspielig, ineffizient und nicht rechtzeitig sein. Satellitengestützte Straßenkarten können eine Mainstream-Lösung für HD-Basiskarten sein, aber aufgrund einer unzureichenden Aktualisierungsfrequenz (z.B. jährlich oder vierteljährlich), z.B. aus Kostengründen, und einer unzureichenden Genauigkeit, z.B. aufgrund von Luftverschlüssen, können Qualitätsprobleme auftreten. Eine Crowd-Sensing HD-Karte mit roher Kraft im Fahrzeugbild könnte eine bessere Genauigkeit und Aktualisierungsfrequenz bieten, könnte aber aufgrund der Kosten für das Hochladen von Mobiltelefonen kostspielig sein.
-
Die beschriebenen Geräte, Systeme, Techniken und Artikel können eine kostengünstigere Lösung für eine aktuelle und genauere Karte bieten. Die beschriebenen Geräte, Systeme, Techniken und Artikel können eine Kartenanomalie-Hotspot-Region identifizieren, nur Bilder innerhalb der Kartenanomalie-Hotspot-Region in ein Cloud-basiertes Kartensystem hochladen, ein Vogelperspektive-Bild durch Synthese einer Sequenz von Bodenansichts-Bildern erzeugen und das erzeugte Vogelperspektive-Bild mit einer ursprünglichen HD-Karte (z.B. Satellitenkarte) vergleichen, um die ursprüngliche HD-Karte zu aktualisieren.
-
1 stellt eine Draufsicht auf ein Beispielszenario dar, das zum Verständnis des vorliegenden Sachverhalts nützlich ist, in dem ein System zur Erkennung und Korrektur von Kartenabweichungen implementiert werden kann. Das Beispiel-Kartenabweichungserkennungs- und -korrektursystem kann in Echtzeit oder nahezu in Echtzeit eine Abweichung in den HD-Karten-Daten erkennen und eine Aktualisierung der HD-Karten-Daten, beispielsweise in Form eines aktualisierten HD-Bildes, bereitstellen.
-
Im Beispielszenario wird eine Vielzahl von Fahrzeugen 102, die eine Navigationsanwendung (nicht dargestellt) verwenden können, um Fahrtrichtungen zu erhalten, auf einer Fahrbahn 104 dargestellt. Die Navigationsanwendung kann verschiedene Arten von Daten wie Straßentopologie- und Straßenattribut-Daten, Straßengeometrie-Daten, Navigationsführungs-Daten sowie Adress- und Postinformationen (POI) verwenden, um ihre Funktionen zu erfüllen. Die Straßentopologie- und Straßenattribut-Daten können Daten über die Straßenanbindung, den Straßentyp/Funktionsklasse, Abbiegebeschränkungen, Kreuzungen, Verkehrszeichenregelungen, Geschwindigkeitsbegrenzungen, Straßeneigenschaften (z.B. Gehweg, geteilt, malerisch und andere) und andere ähnliche Datentypen beinhalten. Die Straßengeometrie-Daten können Daten über die Geometrie des Straßenabschnitts, den Kurs des Straßenabschnitts, die Straßenkrümmung, die Neigung der Straße, die Neigung der Straße, den Neigungswinkel und die Straßenneigung und andere ähnliche Daten beinhalten. Die Navigationsführungs-Daten können Daten über das Verkehrszeichen, die Position der Verkehrsregelung, die erweiterte Fahrspurinformation, die Anzahl der Fahrspuren, den Fahrspurtyp, die Fahrspurzusammenführung, die Fahrspurmarkierung, die Fahrspurnotiz, die Fahrspurregel, die natürliche Führung und andere ähnliche Datenarten beinhalten. Die Adressierungs- und POI-Daten können Daten über die Haus- und Arbeitsadresse, wichtige häufige Besuche, zentrale POls (z.B. kommerzielle POls), Park-, Maut- und Tankstellen und andere ähnliche Datentypen beinhalten.
-
In diesem Beispiel sind zwei Fahrzeuge 106, 108 selbstmeldende (self-reporting) Fahrzeuge. Die selbstmeldendenden Fahrzeuge 106, 108 sind eingerichtet, um eine Kartenattributanomalie zu identifizieren (z.B. basierend auf CAN-Bus- und/oder GPS-Daten) und die Kartenattributanomalie an einen Kartendiskrepanzdetektor 110 auf einem Cloud-basierten Server zu melden 107, 109. Die selbstmeldendenden Fahrzeuge 106, 108 können mit dem Kartendiskrepanzdetektor 110 beispielsweise über einen Mobilfunkkanal über ein Mobilfunknetz wie 5G, 4G LTE oder 4G LTE-V2X, ein öffentliches Netz und ein privates Netz kommunizieren. Die selbstmeldendenden Fahrzeuge 106, 108 beinhalten eine Insight-Anwendung (nicht dargestellt) zur Kommunikation mit dem Kartendiskrepanzdetektor 110.
-
Eine Insight-Anwendung in einem exemplarischen selbstberichtenden Fahrzeug 106, 108 kann eine Anomalie in Bezug auf Karten-Daten während des Betriebs einer Navigationsanwendung identifizieren und die Anomalie an den Kartendiskrepanzdetektor 110 übermitteln. Der Kartendiskrepanzdetektor 110 kann die Anomalie untersuchen, um festzustellen, ob tatsächlich eine Diskrepanz in den von den Navigationsanwendungen verwendeten Karten-Daten vorliegt, die Art der Diskrepanz bestimmen und eine Korrektur der Karten-Daten vorschlagen. Der exemplarische Kartendiskrepanzdetektor 110 ist eingerichtet, um Bilddaten von der Insight-Anwendung in den Anomalie-Berichtsfahrzeugen 106, 108 zu empfangen, kann die Insight-Anwendung anweisen, zusätzliche Sensor-Daten bereitzustellen, und kann andere Fahrzeuge in der Nähe einer gemeldeten Anomalie (ein Kartenanomalie-Hotspot) leiten, um Bilddaten bereitzustellen, die zur weiteren Auswertung der Anomalie verwendet werden können.
-
Wenn der exemplarische Kartendiskrepanzdetektor 110 eine ausreichende Anzahl von Berichten aus derselben Region empfängt, ist der Kartendiskrepanzdetektor 110 eingerichtet, um eine Prüfungsmitteilung für eingehende Fahrzeuge auszugeben. Der exemplarische Kartendiskrepanzdetektor 110 ist eingerichtet, um proaktiv zusätzliche Daten anzufordern, um zu bestimmen, ob eine Anomalie tatsächlich aus einer Karten-Daten-Diskrepanz an einem Kartenanomalie-Hotspot-Bereich resultiert. Im Beispielszenario kann der Kartendiskrepanzdetektor 110 eine oder mehrere Anomaliemeldungen von Fahrzeugen erhalten haben, die eine ähnliche Anomalie an einem bestimmten Ort melden - einem Kartenanomalie-Hotspot-Bereich. Um die Anomalie weiter zu untersuchen, kann der Beispiel-Kartendiskrepanzdetektor 110 einen erweiterten Verstärkungslernraum 112 einrichten. Der Beispiel-Kartendiskrepanzdetektor 110 ist eingerichtet, um 111 jedes Fahrzeug im erweiterten Verstärkungs-Lernbereich 112, das mit einem Ereigniserkenntnis-Modul ausgestattet ist, anzufordern, um 109 detaillierte Sensor-Daten (z.B. GPS, CAN, Bild, Radar, Lidarinformationen), die Bodenansichts-Bilddaten beinhalten, an den Kartendiskrepanzdetektor 110 zu melden, um zu bestimmen, ob eine Kartendiskrepanz tatsächlich im Kartenanomalie-Hotspotbereich vorliegt. In diesem Beispiel ist mindestens ein Fahrzeug 108 im erweiterten Bewehrungslernbereich 112 mit einem Ereigniserkenntnis-Modul ausgestattet, um 109 detailliertere Sensor-Daten an den Kartendiskrepanzdetektor 110 zu melden.
-
Der Beispiel-Kartendiskrepanzdetektor 110 ist ferner eingerichtet, um eine Folge von Bodenansichts-Bildern in Vogelperspektive-Bilder durch die Synthese mehrerer Bodenansichts-Bilder umzuwandeln, und eingerichtet, um die erzeugten Vogelperspektive-Bilder mit bereits vorhandenen HD-Bildern (z.B. Satellitenkarte) zu vergleichen, um eine Korrektur zu den bereits vorhandenen HD-Bildern für hochauflösende Karten-Datenaktualisierungen zu identifizieren. Der Beispiel-Kartendiskrepanzdetektor 110 ist ferner eingerichtet, um 3D-Szenarien am Anomalie-Hotspot durch die Synthese von sequentiellen Bodenansichts-Bildern zu rekonstruieren.
-
2 ist ein Blockdiagramm eines exemplarischen Fahrzeugs 200, das sowohl ein Navigations-Modul als auch ein Erkenntnis-Modul 210 verwenden kann. Das Beispielfahrzeug 200 beinhaltet 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 Komponenten des Fahrzeugs 200. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils drehbar mit dem Fahrgestell 12 in der Nähe einer entsprechenden Ecke der Karosserie 14 gekoppelt.
-
Das exemplarische Fahrzeug 200 kann ein autonomes Fahrzeug (z.B. ein Fahrzeug, das automatisch gesteuert wird, um Fahrgäste von einem Ort zum anderen zu befördern), ein teilautonomes Fahrzeug oder ein personengetriebenes Fahrzeug sein. In jedem Fall ist eine Insight-Anwendung 210 in das Beispielfahrzeug 200 integriert. Das Beispielfahrzeug 200 wird als Personenkraftwagen dargestellt, kann aber auch ein anderer Fahrzeugtyp sein, wie beispielsweise ein Motorrad, ein Lastkraftwagen, ein Geländewagen (SUV), Freizeitfahrzeuge (RV), ein Schiff, ein Flugzeug usw.
-
Das Beispielfahrzeug 200 beinhaltet ein Antriebssystem 20, ein Getriebesystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, ein Stellgliedsystem 30, mindestens eine Datenspeichervorrichtung 32, mindestens eine Steuerung 34 und ein Kommunikationssystem 36. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Fahrmotor, und/oder ein Brennstoffzellenantriebssystem beinhalten. Das Getriebesystem 22 ist eingerichtet, um die Leistung vom Antriebssystem 20 auf die Fahrzeugräder 16 und 18 entsprechend den wählbaren Übersetzungsverhältnissen zu übertragen.
-
Das Bremssystem 26 ist eingerichtet, um den Fahrzeugrädern 16 und 18 ein Bremsmoment zur Verfügung zu stellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Drahtbremse, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine, und/oder andere geeignete Bremssysteme beinhalten.
-
Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16 und/oder 18. Obwohl dargestellt als ein Lenkrad 25 zu veranschaulichenden Zwecken, darf das Lenksystem 24 in einigen Ausführungsformen, die im Rahmen der vorliegenden Offenbarung vorgesehen sind, kein Lenkrad beinhalten.
-
Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Bedingungen der äußeren Umgebung und/oder der inneren Umgebung des Fahrzeugs 200 (wie den Zustand eines oder mehrerer Insassen) erfassen und Sensor-Daten in Bezug darauf erzeugen. Die Sensorvorrichtungen 40a-40n können unter anderem Radargeräte (z.B. Langstrecken- und Mittelstrecken-Kurzstreckenradar), Lidarsysteme, globale Positionierungssysteme, optische Kameras (z.B. nach vorne gerichtete, 360-Grad-Kameras, nach hinten gerichtete, nach der Seite gerichtete, Stereokameras usw.), Wärmebildkameras (z.B. Infrarotkameras), Ultraschallsensoren, Odometriesensoren (z.B. Drehgeber) und/oder andere Sensoren beinhalten, die in Verbindung mit Systemen und Verfahren gemäß dem vorliegenden Gegenstand verwendet werden können.
-
Das Stellgliedsystem 30 beinhaltet eine oder mehrere Stellgliedsvorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale steuern, wie beispielsweise das Antriebssystem 20, das Getriebesystem 22, das Lenksystem 24 und das Bremssystem 26. In verschiedenen Ausführungsformen kann das Fahrzeug 200 auch innere und/oder äußere Fahrzeugmerkmale beinhalten, die in 2 nicht dargestellt sind, wie beispielsweise verschiedene Türen, einen Kofferraum und Kabinenmerkmale wie Luft, Musik, Beleuchtung, Touchscreen-Displaykomponenten (wie sie beispielsweise in Verbindung mit Navigationssystemen verwendet werden) und dergleichen.
-
Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung im Fahrzeug 200. Die Datenspeichervorrichtung 32 speichert in verschiedenen Ausführungsformen definierte Karten der navigierbaren Umgebung. In verschiedenen Ausführungsformen können die definierten Karten durch ein entferntes System vordefiniert und von diesem bezogen werden. So können beispielsweise die definierten Karten vom entfernten System zusammengestellt und an das Fahrzeug 200 (drahtlos und/oder drahtgebunden) übermittelt und in der Datenspeichervorrichtung 32 gespeichert werden. Routeninformationen können auch in der Datenspeichervorrichtung 32 gespeichert werden - d.h. eine Reihe von Straßenabschnitten (die geografisch einer oder mehreren der definierten Karten zugeordnet sind), die zusammen eine Route definieren, die der Benutzer nehmen kann, um von einem Startort (z.B. dem aktuellen Standort des Benutzers) zu einem Zielort zu gelangen. Wie zu beachten ist, kann die Datenspeichervorrichtung 32 Teil der Steuerung 34, getrennt von der Steuerung 34, oder Teil der Steuerung 34 und Teil eines separaten Systems sein.
-
Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder ein Medium 46. Der Prozessor 44 kann ein beliebiger maßgeschneiderter oder kommerziell verfügbarer Prozessor, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), eine anwendungsspezifische integrierte Schaltung (ASIC) (z.B. ein kundenspezifischer ASIC, der ein neuronales Netzwerk implementiert), ein feldprogrammierbares Gate-Array (FPGA), ein Hilfsprozessor unter mehreren der Steuerung 34 zugeordneten Prozessoren, ein halbleiterbasierter Mikroprozessor (in Form eines Mikrochips oder Chipsatzes), eine beliebige Kombination derselben oder allgemein eine Vorrichtung zur Ausführung von Anweisungen sein. Die computerlesbare Speichervorrichtung oder das Medium 46 kann beispielsweise einen flüchtigen und nichtflüchtigen Speicher im Nur-Lese-Speicher (ROM), einen Direktzugriffsspeicher (RAM) und einen Keep-Alive-Speicher (KAM) beinhalten. KAM ist ein persistenter oder nichtflüchtiger Speicher, der zum Speichern verschiedener Betriebsvariablen verwendet werden kann, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder das computerlesbare Speichermedium 46 kann unter Verwendung einer beliebigen Anzahl bekannter Speichervorrichtungen wie PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrisch PROM), EEPROMs (elektrisch löschbares PROM), Flash-Speicher oder anderer elektrischer, magnetischer, optischer oder kombinierter Speichervorrichtungen, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, implementiert werden, die von der Steuerung 34 zur Steuerung des Fahrzeugs 200 verwendet werden. In verschiedenen Ausführungsformen ist die Steuerung 34 eingerichtet, um ein Erkenntnis-Modul zu implementieren, wie im Folgenden ausführlich erläutert.
-
Die Steuerung 34 kann ein Navigations-Modul und ein Erkenntnis-Modul 210 implementieren. Das heißt, geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z.B. Prozessor 44 und computerlesbare Speichervorrichtung 46) werden verwendet, um ein Navigations-Modul und ein Erkenntnis-Modul bereitzustellen, das in Verbindung mit dem Fahrzeug 200 verwendet wird.
-
Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jedes eine geordnete Liste von ausführbaren Anweisungen zur Implementierung logischer Funktionen umfasst. Die Anweisungen, wenn sie vom Prozessor 44 ausgeführt werden, empfangen und verarbeiten Signale (z.B. Sensor-Daten) vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zum Steuern der Komponenten des Fahrzeugs 200 durch und erzeugen Steuersignale, die an das Stellgliedsystem 30 übertragen werden, um die Komponenten des Fahrzeugs 200 basierend auf der Logik, Berechnungen, Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl nur eine Steuerung 34 in 2 dargestellt ist, können Ausführungsformen des Fahrzeugs 200 eine beliebige Anzahl von Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenarbeiten, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Verfahren und/oder Algorithmen durchzuführen und Steuersignale zur automatischen Steuerung von Merkmalen des Fahrzeugs 200 zu erzeugen.
-
Das Kommunikationssystem 36 ist eingerichtet, um Informationen drahtlos an und von anderen Einheiten 48 zu übertragen, wie beispielsweise, aber nicht beschränkt auf, andere Fahrzeuge („V2V“-Kommunikation), Infrastruktur („V2I“-Kommunikation), Netzwerke („V2N“-Kommunikation), Fußgänger („V2P“-Kommunikation), entfernte Transportsysteme und/oder Benutzergeräte. In einer exemplarischen Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das eingerichtet ist, um über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung der Standards IEEE 802.11 oder unter Verwendung einer zellularen Datenkommunikation zu kommunizieren. Im Rahmen der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsmethoden, wie beispielsweise ein dedizierter Kurzstreckenkommunikationskanal (DSRC), berücksichtigt. DSRC-Kanäle beziehen sich auf ein- oder zweiseitige drahtlose Kommunikationskanäle mit kurzer bis mittlerer Reichweite, die speziell für den Einsatz im Automobil entwickelt wurden, sowie auf einen entsprechenden Satz von Protokollen und Standards.
-
Das Fahrzeug 200 kann auch ein Wahrnehmungssystem und ein Positionierungssystem beinhalten. Das Wahrnehmungssystem synthetisiert und verarbeitet die erfassten Sensor-Daten und prognostiziert das Vorhandensein, die Lage, die Klassifizierung und/oder den Weg von Objekten und Merkmalen der Umgebung des Fahrzeugs 200. In verschiedenen Ausführungsformen kann das Wahrnehmungssystem Informationen von mehreren Sensoren (z.B. Sensorsystem 28) integrieren, einschließlich, aber nicht beschränkt auf Kameras, Lidars, Radars und/oder eine beliebige Anzahl anderer Arten von Sensoren.
-
Das Positionierungssystem verarbeitet Sensor-Daten zusammen mit anderen Daten, um eine Position (z.B. eine lokale Position relativ zu einer Karte, eine genaue Position relativ zu einer Fahrspur einer Straße, eine Fahrzeugrichtung usw.) des Fahrzeugs 200 relativ zur Umgebung zu bestimmen. Wie zu erkennen ist, können verschiedene Techniken zur Durchführung dieser Lokalisierung eingesetzt werden, darunter z.B. Simultanlokalisierung und -mapping (SLAM), Partikelfilter, Kalmanfilter, Bayessche Filter und dergleichen.
-
In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z.B. Merkmalserkennung / Klassifizierung, Obstruktionsminderung, Routentransfer, Mapping, Sensorintegration, Bodenwahrheitsbestimmung und dergleichen.
-
BILD 3 ist ein Blockdiagramm, das exemplarische Komponenten eines Beispiel-Kartendiskrepanzerkennungs- und Korrektursystems 300 darstellt. Das Beispielsystem beinhaltet ein oder mehrere Fahrzeuge 302 und einen computerimplementierten Kartendiskrepanzdetektor 304.
-
Ein Beispielfahrzeug 302 beinhaltet ein Positionsbestimmungs-Modul 306, das einen GPS-Sensor verwenden kann, und ein Controller Area Network (CAN) 308, über das verschiedene Fahrzeugsteuerungen Nachrichten kommunizieren können, die beispielsweise Fahrzeugleistungs-Daten wie Geschwindigkeit, Beschleunigung und Gieren enthalten. Das Beispielfahrzeug 302 kann auch eine Vielzahl von Wahrnehmungssensoren 310 beinhalten, wie beispielsweise Lidar, Radar und Kamera. Das exemplarische Fahrzeug 302 beinhaltet ein Navigations-Modul 312 und ein Ereigniserkenntnis-Modul 314, das eingerichtet ist, um eine Anomalie in Bezug auf Karten-Daten während des Betriebs des Navigations-Moduls 312 zu identifizieren und die Anomalie an den Kartendiskrepanzdetektor 304 zu übermitteln.
-
Das Beispiel-Ereigniserkenntnis-Modul 314 ist eingerichtet, um vorab geplante Trajektorien-Daten aus dem Navigations-Modul 312 und Sensor-Daten (z.B. 316a, 316b, 316c, 316d) von einem oder mehreren Fahrzeugsensorsystemen abzurufen. In diesem Beispiel umfassen die Sensor-Daten Fahrzeugleistungs-Daten, Fahrzeugwahrnehmungs-Daten und Fahrzeugpositionsdaten. Die exemplarischen Fahrzeugwahrnehmungs-Daten werden von Wahrnehmungssensoren (z.B. Radar, Lidar, Kamera) abgerufen, die exemplarischen Fahrzeugpositionsdaten werden vom Positionsbestimmungs-Modul 306 als GPS-Daten 316a abgerufen, und die exemplarischen Fahrzeugleistungs-Daten werden aus Nachrichten auf dem CAN 308 abgerufen. Die exemplarischen Fahrzeugleistungs-Daten umfassen die Fahrzeuggeschwindigkeitsdaten 316b, die Fahrzeugbeschleunigungs-Daten 316c und die Gierdaten 316d des Fahrzeugs.
-
Das Beispiel-Ereigniserkenntnis-Modul 314 ist eingerichtet, um die Sensor-Daten und die vorgeplanten Trajektorien-Daten zu analysieren und eine Anomalie in Bezug auf Karten-Daten aus der Analyse zu identifizieren. Das Beispiel-Ereigniserkenntnis-Modul 314 kann eingerichtet werden, um eine Anomalie aus unnatürlichem Fahrverhalten, aus ungehorsamen Navigationsanweisungen, Widersprüchen zwischen Karten- und Sensor-Daten und anderen zu identifizieren. Das Beispiel-Ereigniserkenntnis-Modul 314 kann eingerichtet werden, um eine Reihe von verschiedenen Analyse- und Identifikationsoperationen durchzuführen, um eine Anomalie zu identifizieren.
-
In einem Beispiel ist das Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorab geplanten Trajektorien-Daten zu analysieren, indem es das tatsächliche Fahrzeugverhalten, wie es durch die Fahrzeugabtast-Daten bestimmt wird, mit dem erwarteten Fahrzeugverhalten vergleicht, basierend auf den vorab geplanten Trajektorien-Daten. In diesem Beispiel kann das Ereigniserkenntnis-Modul 314 ferner eingerichtet werden, um eine Anomalie aus der Analyse zu identifizieren, indem eine Diskrepanz zwischen dem tatsächlichen Fahrzeugverhalten, wie es durch die Fahrzeugsensor-Daten bestimmt wird, und dem erwarteten Fahrzeugverhalten, basierend auf den -Daten, identifiziert wird.
-
In einem weiteren Beispiel ist das Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorab geplanten Trajektor-Daten zu analysieren, indem es die tatsächlichen Fahrzeugtrajektor-Daten aus den Sensor-Daten bestimmt und die tatsächlichen Trajektor-Daten mit den vorab geplanten Trajektor-Daten vergleicht. In diesem Beispiel kann das Ereigniserkenntnis-Modul 314 ferner eingerichtet werden, um eine Anomalie aus der Analyse zu identifizieren, indem ein unnatürliches Fahrverhalten wie ein plötzlicher Spurwechsel, eine plötzliche Straßenausfahrt oder eine Fahrt in die entgegengesetzte Richtung auf einem Kartenweg identifiziert wird.
-
In einem weiteren Beispiel ist das Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorab geplanten Trajektorien-Daten zu analysieren, indem es im Navigations-Modul die tatsächliche Fahrzeugfahrt mit der vorab geplanten Trajektorie vergleicht. In diesem Beispiel ist das Ereigniserkenntnis-Modul 314 ferner eingerichtet, um eine Anomalie aus der Analyse zu identifizieren, indem es vom Navigations-Modul eine Benachrichtigung erhält, dass das Fahrzeug von einer vom Navigations-Modul bereitgestellten Navigationsmanöveranweisung abweicht.
-
In einem weiteren Beispiel ist das Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorgeplanten Trajektorien-Daten zu analysieren, indem es Karten-Daten, die ein strukturelles Merkmal auf dem vorgeplanten Fahrzeugpfad identifizieren, mit Wahrnehmungs-Daten (z.B. Lidar- und/oder Kameradaten) für einen tatsächlichen Bereich vergleicht, in dem das strukturelle Merkmal voraussichtlich vorhanden ist. In diesem Beispiel kann das Ereigniserkenntnis-Modul 314 weiter eingerichtet werden, um eine Anomalie aus der Analyse zu identifizieren, indem eine Unstimmigkeit zwischen den Karten-Daten und den Wahrnehmungs-Daten über die Existenz des Strukturmerkmals identifiziert wird. So kann es beispielsweise vorkommen, dass eine Leitplanke von Wahrnehmungssensoren nicht erkannt wird, während die Karten-Daten anzeigen, dass eine Leitplanke vorhanden sein sollte. Die exemplarische Ereigniserkenntnis-Karte kann die Inkonsistenz zwischen den Karten-Daten und der Fahrzeugerfahrung erkennen und die Inkonsistenz als Anomalie identifizieren.
-
Das exemplarische Ereigniserkenntnis-Modul 314 beinhaltet ein Datenfilter-Modul 318, das vom Ereigniserkenntnis-Modul 314 verwendet werden kann, um die Sensor-Daten und die vorgeplanten Trajektorien-Daten zu analysieren, um eine Anomalie in Bezug auf Karten-Daten aus der Analyse zu identifizieren. In einem Beispiel für die Verwendung des Datenfilter-Moduls 318 ist das Beispiel-Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorab geplanten Trajektorien-Daten zu analysieren, indem das Datenfilter-Modul 318 mit einem Toleranzschwellenwert zum Klassifizieren von Änderungen in den Sensor-Daten angewendet wird. Das Identifizieren einer Anomalie aus der Analyse beinhaltet in diesem Beispiel das Identifizieren einer plötzlichen Änderung der Sensor-Daten, die den Toleranzschwellenwert überschreitet.
-
In einem weiteren Anwendungsbeispiel des Datenfilter-Moduls 318 ist das Beispiel-Ereigniserkenntnis-Modul 314 eingerichtet, um die Fahrzeugabtast-Daten und die vorgeplanten Trajektorien-Daten zu analysieren, indem das Datenfilter-Modul 318 als Korrelationsfunktion für die Sensor-Daten angewendet wird. Das Identifizieren einer Anomalie aus der Analyse beinhaltet in diesem Beispiel das Identifizieren einer Instanz, wenn die Korrelation zwischen den Sensor-Daten über einen vorbestimmten Pegel hinaus abweicht.
-
Das Beispiel-Ereigniserkenntnis-Modul 314 beinhaltet ferner ein Kartenanomalie-Synthese-Modul 320, das eingerichtet ist, um eine Anomalie-Nachricht zu erzeugen, die die Sensor-Daten (einschließlich Bodenansichts-Bildern am Hotspot der Kartenanomalie) und die vorgeplanten Trajektor-Daten in Bezug auf eine identifizierte Anomalie enthält, und die Anomalie-Nachricht an ein zentrales Repository zu senden, das dem Kartendiskrepanzdetektor 304 zugeordnet ist.
-
Durch die Verwendung des exemplarischen Ereigniserkenntnis-Moduls 314 ist das exemplarische Fahrzeug 302 eingerichtet, um durch einen Prozessor in einem Fahrzeug vorgeplante Trajektorien-Daten von einem Navigations-Modul 312 im Fahrzeug zu empfangen; durch den Prozessor Sensor-Daten (z.B. 316a, 316b, 316c und/oder 316d) von einem oder mehreren Fahrzeugsensorsystemen (z.B, 306, 308 und/oder 310); Analysieren der Sensor-Daten und der vorgeplanten Trajektorien-Daten durch den Prozessor; Identifizieren einer Anomalie aus der Analyse durch den Prozessor (z.B. über ein Kartenanomalie-Synthese-Modul 320); und Übertragen von Bilddaten bezüglich der Anomalie an einen Cloud-basierten Server 304 außerhalb des Fahrzeugs; wobei der Cloud-basierte Server 304 eingerichtet ist, um die Informationen bezüglich der Anomalie zu analysieren, um festzustellen, ob ein Navigationskartenattribut falsch ist. Durch die Verwendung des exemplarischen Ereigniserkenntnis-Moduls 314 ist das exemplarische Fahrzeug 302 eingerichtet, um einen Kartenanomalie-Hotspot zu identifizieren, indem es einen Widerspruch zwischen Karten- und Sensor-Daten identifiziert, vom menschlichen Eingriff während der autonomen Fahrt, einer missachteten Navigationsanweisung, durch Erfassen von unnatürlichem Fahrverhalten oder auf andere Weise.
-
Der Beispiel-Kartendiskrepanzdetektor 304 ist eine computerimplementierte Komponente, die beispielsweise von einem Cloud-basierten Server an einem Standort außerhalb eines der Fahrzeuge implementiert wird, die ein Ereigniserkenntnis-Modul 314 enthalten. Der Beispiel-Kartendiskrepanzdetektor 304 kann ein Ereignisaufnahme-Modul 322 beinhalten, das eingerichtet ist, um Anomalieinformationen von Ereigniserkenntnis-Modulen in einem zentralen Speicher 330 zu speichern, ein Kartendiskrepanz-Bestimmungs-Modul 324, das eingerichtet ist, um zu bestimmen, ob eine gemeldete Anomalie aus einer Diskrepanz in digitalen Karten-Daten resultiert, und ein Bildänderungs-Modul 326, das eingerichtet ist, um Bilddaten von den Fahrzeugen 302 zu analysieren, um festzustellen, ob hochauflösende Kartenbilder aktualisiert werden müssen.
-
Der exemplarische Kartendiskrepanzdetektor 304 kann eingerichtet werden, um bestimmte Anomalieinformationen erst dann zu analysieren, wenn eine signifikante Anzahl von Einheiten ähnliche Anomalien im gleichen geografischen Gebiet melden. Dies kann es dem Kartendiskrepanzdetektor 304 ermöglichen, Anomalien herauszufiltern, die nichts mit Kartendiskrepanzen zu tun haben. Dies kann es dem Kartendiskrepanzdetektor 304 beispielsweise ermöglichen, gemeldete Anomalien herauszufiltern, die auf ein Fahrerverhalten zurückzuführen sind, das nicht mit einer Kartendiskrepanz verbunden ist (z.B. kann ein bestimmter Fahrer Navigationsanweisungen nicht folgen wollen und eine gemeldete Anomalie, die auf einer Abweichung von Navigationsanweisungen beruht, kann abgelehnt werden, da andere Einheiten keine ähnliche Anomalie melden).
-
4 ist ein Blockdiagramm, das ein exemplarisches Bildänderungs-Modul 402 darstellt. Das Beispiel-Bildänderungs-Modul 402 ist eingerichtet, um eine Folge von Bodenansichts-Bildern an einem Kartenanomalie-Hotspot in ein Vogelperspektive-Bild (d.h. Draufsicht) umzuwandeln, das Vogelperspektive-Bild mit einem hochauflösenden Bild (z.B. Satellitenbild) zu vergleichen, das autonomen Fahrzeugkartierungs-Daten zugeordnet ist, und das hochauflösende Bild anzupassen, wenn das Vogelperspektive-Bild einen Anpassungsbedarf anzeigt. Das exemplarische Bildänderungs-Modul 402 beinhaltet ein Vogelperspektive-Konvertierungs-Modul 404, ein -Ausreißerbeseitigungs-Modul 406, ein Fehlerreduzierungs-Modul 408, ein -Bildzusammenfüge-Modul 410 und ein Bildvergleichs-/Aktualisierungs-Modul 412. Das exemplarische Bildänderungs-Modul 402 umfasst einen oder mehrere Prozessoren, die durch Programmieranweisungen auf computerlesbaren Medien eingerichtet sind, um das Vogelperspektivekonvertierungs-Modul 404, das Ausreißerbeseitigungs-Modul 406, das Fehlerreduzierungs-Modul 408, das Bildzusammenfüge-Modul 410 und das Bildvergleichs-/Aktualisierungs-Modul 412 zu implementieren. Die Funktionsweise des Vogelperspektivekonvertierungs-Moduls 404, des Ausreißerbeseitigungs-Moduls 406, des Fehlerreduzierungs-Moduls 408, des Bildzusammenfüge-Moduls 410 und des Bildvergleichs/Aktualisierungs-Moduls 412 wird anhand von 5 beschrieben.
-
5 ist ein Prozessablaufdiagramm, das einen exemplarischen Prozess 500 in einem exemplarischen Bildüberarbeitungs-Modul 402 darstellt, um eine Folge von Bodenansichts-Bildern an einem Kartenanomalie-Hotspot in ein Vogelperspektive-Bild umzuwandeln, das Vogelperspektive-Bild mit einem hochauflösenden Bild zu vergleichen, das mit autonomen Fahrzeugkartierungs-Daten verknüpft ist, und das hochauflösende Bild anzupassen, wenn das Vogelperspektive-Bild einen Anpassungsbedarf anzeigt.
-
Der exemplarische Prozess 500 beinhaltet die Konvertierung einer Sequenz von Bodenansichts-Bildern 502 in Vogelperspektive-Bilder (Operation 504). Das exemplarische Vogelperspektivekonvertierungs-Modul 404 ist eingerichtet, um eine Vogelperspektiven-Konvertierung durchzuführen (Operation 504). Insbesondere ist das exemplarische Vogelperspektivekonvertierungs-Modul 404 eingerichtet, um von einer Vielzahl von Fahrzeugen Bodenansichts-Bilddaten 502 eines von den Fahrzeugen erfassten Kartenanomalie-Hotspots zu empfangen, wobei der Kartenanomalie-Hotspot ein durch eine hochauflösende Karte (z.B. Satellitenkarte) beschriebener Bereich ist, in dem die von den Fahrzeugen beobachteten physikalischen Eigenschaften des Hotspots mit der Beschreibung für den von der hochauflösenden Karte bereitgestellten Bereich nicht übereinstimmen. Das Empfangen von Bodenansichts-Bilddaten kann das Empfangen eines Berichts über einen Kartenanomalie-Hotspot von einem Fahrzeug beinhalten, der Bodenansichts-Bilddaten am Kartenanomalie-Hotspot beinhaltet, das Anweisen einer Vielzahl von Fahrzeugen in einem Gebiet in der Nähe des Kartenanomalie-Hotspots, Bodenansichts-Bilddaten an den Kartenanomalie-Hotspot hochzuladen, und das Empfangen von Bodenansichts-Bilddaten des von der Vielzahl von Fahrzeugen erfassten Kartenanomalie-Hotspots.
-
Das exemplarische Vogelperspektivekonvertierungs-Modul 404 ist eingerichtet, um die Bodenansichts-Bilddaten mittels Homographie in Vogelperspektive-Bilddaten zu konvertieren. Das Umwandeln der Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung der Homographie kann das Berechnen einer perspektivischen Transformation aus 4 Paaren entsprechender Eckpunkte, das Darstellen der prospektiven Transformation durch eine 3 mal 3 Transformationsmatrix M und das Anwenden der geschätzten perspektivischen Transformationsmatrix M auf die Bodenansichts-Bilddaten beinhalten.
-
Der exemplarische Prozess 500 beinhaltet das Entfernen von Ausreißern aus den Bilddaten der Vogelperspektive (Operation 506). Das Beispiel-Ausreißerbeseitigungs-Modul 406 ist eingerichtet, um Ausreißer aus den Vogelperspektive-Bilddaten zu entfernen. Das Beispiel-Ausreißerbeseitigungs-Modul 406 ist eingerichtet, um Ausreißer aus den Vogelperspektive-Bilddaten durch Anwendung eines RANSAC-Algorithmus (Random Sample Consensus) zu entfernen. Der exemplarische RANSAC-Algorithmus wendet einen iterativen Prozess zur robusten Parameterschätzung an, um mathematische Modelle aus Sätzen von beobachteten Datenpunkten, die Ausreißer enthalten können, anzupassen. Der Beispielalgorithmus ist nicht deterministisch in dem Sinne, dass er nur mit einer bestimmten Wahrscheinlichkeit ein vernünftiges Ergebnis liefert, wobei diese Wahrscheinlichkeit mit zunehmender Anzahl von Iterationen steigt. Der exemplarische RANSAC-Algorithmus versucht, mehrere Modelle mit einigen der Punktpaare anzupassen und dann zu überprüfen, ob die Modelle in der Lage waren, die meisten Punkte zu beziehen. Das beste Modell - die Homographie, die die höchste Anzahl an korrekten Übereinstimmungen liefert - wird dann vom Beispiel-RANSAC-Algorithmus als Antwort auf das Problem ausgewählt. Das Beispiel-Ausreißerbeseitigungs-Modul 406 ist eingerichtet, um einen RANSAC-Algorithmus anzuwenden, um Ausreißer aus den Vogelperspektive-Bilddaten zu entfernen, indem der RANSAC-Algorithmus auf Feature-Deskriptoren des Vogelperspektiv-Bildes und Feature-Deskriptoren des hochauflösenden Bildes angewendet wird, mit denen das Vogelperspektive-Bild verglichen werden soll.
-
Der exemplarische Prozess 500 beinhaltet eine Fehlerreduzierung nach der Beseitigung von Ausreißern (Vorgang 508). Das Beispiel-Fehlerreduzierungs-Modul 508 ist eingerichtet, um eine Fehlerreduzierung durchzuführen. Das Beispiel-Fehlerreduzierungs-Modul 408 ist eingerichtet, um einen Fehlerreduzierungsalgorithmus, wie beispielsweise einen iterativen ICP-Algorithmus (Closest Point), auf die Vogelperspektive-Bilddaten mit den entfernten Ausreißern anzuwenden, um den Fehler in den Vogelperspektive-Bilddaten zu reduzieren. Das Beispiel-Fehlerreduzierungs-Modul 408 ist eingerichtet, um einen iterativen ICP-Algorithmus (Closest Point) zur Fehlerreduzierung anzuwenden, indem die Bildregistrierung durch Abgleich von Merkmalen in einer Reihe von Bildern durchgeführt wird (z.B. Abgleichsfunktionen zwischen einem Vogelperspektive-Bild und einem hochauflösenden Bild) oder indem direkte Ausrichtungsmethoden verwendet werden, um nach Bildausrichtungen zu suchen, die die Summe der absoluten Unterschiede zwischen überlappenden Pixeln minimieren. Der Abgleich von Merkmalen kann die Anwendung des ICP-Algorithmus beinhalten, um die Homographietransformation iterativ zu überarbeiten, die erforderlich ist, um eine Fehlermetrik zwischen dem Vogelperspektive-Bild und dem Satellitenbild mit entfernten Ausreißern (z.B. mit RANSAC) zu minimieren.
-
Der exemplarische Prozess 500 beinhaltet das Zusammenfügen von Bildern (Operation 510). Das exemplarische Bildzusammenfüge-Modul 410 ist eingerichtet, um den Bildzusammenfügevorgang 510 durchzuführen. Das exemplarische Bildzusammenfüge-Modul 410 ist eingerichtet, um eine Folge von aufeinanderfolgenden Bildern aus den Vogelperspektive-Bilddaten nach Fehlerreduzierung zu einem hochauflösenden Bild zusammenzufügen (z.B. mehrere fotografische Bilder mit überlappenden Sichtfeldern zu einem segmentierten Panorama oder hochauflösenden Bild zu kombinieren). Jedes der beim Zusammenfügen verwendeten aufeinanderfolgenden Bilder wurde durch Konvertierung von Bodenbilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie, Anwendung eines RANSAC-Algorithmus zum Entfernen von Ausreißern aus den Vogelperspektive-Bilddaten und Anwendung eines ICP-Algorithmus zur Fehlerreduzierung erzeugt. Das exemplarische Bildzusammenfüge-Modul 410 ist eingerichtet, um eine Folge von aufeinanderfolgenden Bildern zusammenzusetzen, indem es das geeignete mathematische Modell bestimmt, das Pixelkoordinaten in einem Bild mit Pixelkoordinaten in einem anderen verbindet; die korrekten Ausrichtungen in Bezug auf Bildsammlungen schätzt; Unterscheidungsmerkmale in jedem Bild abgleicht, um Korrespondenzen zwischen Bildern herzustellen; und die überlappenden Bilder zusammenführt.
-
Nachfolgend ist ein exemplarisches mathematisches Modell aufgeführt, das für Nähoperationen verwendet werden kann. In diesem Beispiel gibt es zwei Gleichungen:
- (A) Bewegungsgleichungen:
- (B) Warping (Projektion) Gleichungen:
-
Die Einbeziehung von Gleichung 3 und Gleichung 4 in Gleichung 2 führt zu Erträgen:
-
Wenn ° ist *:
- Dann:
- Also:
-
Gegeben, dass M abgeleitet wird und At aus Experimenten gemessen wird, kann Bt abgeleitet werden
- Bt wird verwendet, um eine Folge von aufeinanderfolgenden Bildern zu überlagern/zusammenzufügen, wenn sie mit einem hochauflösenden Bild (z.B. einem endgültigen Satellitenbild) verglichen wird.
-
Der exemplarische Prozess 500 beinhaltet den Vergleich des zusammengefügten Vogelperspektive-Bildes mit einem hochauflösenden Bild 514 und die Überarbeitung des hochauflösenden Bildes bei Bedarf (Operation 512), um ein überarbeitetes hochauflösendes Bild 516 zu erzeugen. Das exemplarische Bildvergleichs-/Aktualisierungs-Modul 412 ist eingerichtet, um die Vergleichs- und Aktualisierungsvorgänge durchzuführen. Das exemplarische Bildvergleichs-/Aktualisierungs-Modul 412 ist eingerichtet, um die zusammengesetzte Folge von aufeinanderfolgenden Bildern mit einem hochauflösenden Bild 514 am Hotspot zu vergleichen, um Änderungen des hochauflösenden Bildes 514 zu bestimmen. Das exemplarische Bildvergleichs-/Aktualisierungs-Modul 412 ist eingerichtet, um dem hochauflösenden Bild 514 ein Merkmal aus dem zusammengefügten Bild hinzuzufügen, wenn bestimmt wird, dass das Merkmal im zusammengefügten Bild, aber nicht im Satellitenbild vorhanden ist. Das exemplarische Bildvergleichs-/Aktualisierungs-Modul 412 ist eingerichtet, um ein Merkmal aus dem Satellitenbild zu entfernen, wenn bestimmt wird, dass das Merkmal nicht im zusammengesetzten Bild, sondern im Satellitenbild vorhanden ist.
-
Das exemplarische Bildänderungs-Modul 402 ist ferner eingerichtet, um die überarbeiteten hochauflösenden Bilddaten einem autonomen Fahrzeug zur Verwendung bei der Navigation in einem Gebiet in der Nähe des Hotspots für Kartenanomalien bereitzustellen.
-
Die 6A, 6B und 6C veranschaulichen eine exemplarische Technik zur Umwandlung von Bodenansichts-Bilddaten in Vogelperspektive-Bilddaten unter Verwendung von Homographie. 6A ist ein Diagramm, das ein exemplarisches Bodenansichts-Bild 602 eines Pfeilsymbols 604 darstellt. 6B ist ein Diagramm, das eine exemplarische trapezförmige Form 612 darstellt, die in eine rechteckige Form 614 umgewandelt und zum Verziehen des Pfeilsymbols 604 verwendet wird, wenn von einem Grundbild des Pfeilsymbols in ein Vogelperspektive-Bild des Pfeilsymbols umgewandelt wird. 6C ist ein Diagramm, das die Umwandlung einer Pfeilform 624 in einem Grundrissdiagramm 622 in eine Pfeilform 634 in einem Vogelperspektive-Diagramm 632 durch Verziehen veranschaulicht.
-
Wie in
6B veranschaulicht, ist ein exemplarisches Vogelperspektivekonvertierungs-Modul (z.B. Vogelperspektivekonvertierungs-Modul
404) eingerichtet, um eine perspektivische Transformation aus 4 Paaren entsprechender Eckpunkte zu berechnen.
mit i = 1,2,3,3,4
-
Die perspektivische Transformation wird durch eine 3 x 3 Matrix M dargestellt:
-
Somit wird in jedem zu verzerrenden Bild die geschätzte perspektivische Transformationsmatrix M auf das Bild angewendet und das ursprüngliche Pixel (x, y) auf (X_dst, Y_dst) projiziert:
-
6C veranschaulicht den trapezförmigen Bereich 626, mit dem die Pixel um das Pfeilsymbol 624 im zu verzerrenden Grundrissbild 622 identifiziert werden, um das Vogelperspektive-Bild 632 des Pfeilsymbols 634 zu erzeugen. Die vier Ecken (628a, 628b, 628c und 628d) des trapezförmigen Bereichs 626 werden in die vier Ecken (638a, 6368, 638c und 638d) des verzerrten Vogelperspektive-Bildes übersetzt.
-
7 ist ein Flussdiagramm in einem Beispielsystem 700, das einen RANSAC-Ausreißerdetektor und ein Eliminierungs-Modul 702 zur Ausreißerbeseitigung und ein ICP-Modul 704 zur Fehlererkennung verwendet. Im Beispielsystem 700 werden Merkmale eines Vogelperspektive-Bildes 701 über ein Merkmalsbeschreibungs-Modul 706 und Merkmale eines hochauflösenden Bildes 703 (z.B. Satellitenbild) über ein Merkmalsbeschreibungs-Modul 708 identifiziert. Die identifizierten Merkmale [f1, f2, ...., fn] des Vogelperspektivbildes 701 und die identifizierten Merkmale[gi, g2, ...., gn] des hochauflösenden Bildes 703 werden in das RANSAC-Modul 702 eingegeben. Verschiedene Merkmalsextraktionsmethoden, einschließlich SIFT/SURF/ORB/FAST, etc., können verwendet werden, um Merkmale des Vogelperspektive-Bildes 701 und des hochauflösenden Bildes 703 zu erzeugen.
-
Das Beispiel-RANSAC-Modul 702 ist eingerichtet, um eine minimale Teilmenge von Punkten zufällig auszuwählen, ein Modell zu hypothetisieren, eine Fehlerfunktion zu berechnen, modellkonforme Punkte auszuwählen und die Hypothesen- und Verifizierungsschleife zu wiederholen. Dies wird durchgeführt, um Ausreißer aus dem Vogelperspektive-Bild zu entfernen.
-
Das Beispielsystem 700 beinhaltet eine Merkmalsabgleichung 710, bei der Merkmale aus dem Vogelperspektive-Bild mit entfernten Ausreißern an Merkmale des hochauflösenden Bildes angepasst werden. Nach dem Abgleich der Merkmale erfolgt die Bildregistrierung zwischen dem Vogelperspektive-Bild und dem hochauflösenden Bild über die Leistung des ICP-Moduls 704 eines ICP-Prozesses.
-
ICP kann als Minimierungsproblem formuliert werden, bei dem (ζ(t) ist der Skalierungs-/Rotationsfaktor) :
-
Die 8A, 8B und 8C sind Diagramme, die die exemplarische Umwandlung einer Sequenz von Bodenansichts-Bildern in ein zusammengesetztes Vogelperspektive-Bild veranschaulichen. 8A stellt eine Folge von vier Bodenansichts-Bildern dar. 8B stellt eine Folge von Vogelperspektive-Bildern dar, wobei jedes Vogelperspektive-Bild einem der Grundbilder entspricht. 8C zeigt ein exemplarisches Vogelperspektive-Bild nach dem Zusammenfügen von sequentiellen Vogelperspektiven.
-
9 ist ein Prozessablaufdiagramm, das einen exemplarischen Prozess 900 zum Erzeugen eines 3D-Bildes aus einer Folge von Bildern darstellt. Das exemplarische Bildänderungsmodell 502 kann eingerichtet werden, um ein dreidimensionales (3D) Bild eines Hotspot-Bereichs aus einer Folge von aufeinanderfolgenden Bodenansichts-Bildern zu konstruieren. Der exemplarische Prozess 900 beinhaltet das Identifizieren von Keypoint-Matches zwischen einer Sequenz von Bodenansichts-Bildern 902 (Operation 904). Der exemplarische Prozess 900 beinhaltet das Schätzen einer Grundmatrix für dreidimensionale Strukturen aus der zweidimensionalen Folge von aufeinanderfolgenden Bildern, die mit lokalen Bewegungssignalen gekoppelt sind, unter Verwendung einer Struktur aus dem Bildgebungsalgorithmus des Bewegungsbereichs (SFM) (Operation 906). Der exemplarische Prozess 900 beinhaltet das Finden einer dichten Anpassung zwischen den dreidimensionalen Strukturen mittels epipolarer Geometrie (Operation 908). Der exemplarische Prozess 900 beinhaltet das Bestimmen von Punktwolken mit hoher Datendichte(Punktwolke ist ein Satz von Datenpunkten im Raum) für die dreidimensionalen Strukturen mittels Triangulation (Triangulation ist der Prozess des Bestimmens der Position eines Punktes durch Bilden von Dreiecken zu ihm aus bekannten Punkten) (Operation 910). Die 3D Punktwolken mit hoher Datendichte 914 können einem autonomen Fahrzeug (AV) für einen reicheren Kontext/Semantik für den entfernten AV-Betrieb bereitgestellt werden. Der exemplarische Prozess 900 kann optional das Konstruieren dichterer Punktwolken aus den Punktwolken mit hoher Datendichte unter Verwendung eines patchbasierten Multi-View-Stereo-(PMVS)-Algorithmus (Operation 912) und das Bereitstellen der Punktwolken mit höherer Datendichte an ein autonomes Fahrzeug (AV) anstelle der dichten Punktwolke beinhalten.
-
Der exemplarische Prozess 900 kann RANSAC verwenden, um die fundamentale Matrix zu schätzen. Im Folgenden wird ein exemplarischer Prozess zur Schätzung der fundamentalen Matrix mit RANSAC diskutiert:
- Für viele Male:
- 1. Wähle 8 Punkte (In diesem Beispiel ist die Fundamentalmatrix eine 3x3 Matrix mit Rang 2, da die Skala hier gleichgültig ist, so dass 8 Paare von Punktkorrespondenzen ausreichen, um die Fundamentalmatrix F zu schätzen).
- 2. Berechne einer Lösung für F unter Verwendung dieser 8 Punkte mit Hilfe von SVD (Singulärwertzerlegung).
- 3. Zähle die Anzahl der Inliers, die mit
nahe 0 liegen.
- 4. Wähle den mit der größten Anzahl von Zangen aus.
-
Obwohl in der vorstehenden ausführlichen Beschreibung mindestens eine exemplarische Ausführungsform vorgestellt wurde, ist zu beachten, dass es eine Vielzahl von Varianten gibt. Es ist auch zu beachten, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen nur Beispiele sind und nicht dazu dienen, den Umfang, die Anwendbarkeit oder die Konfiguration der Offenbarung in irgendeiner Weise einzuschränken. Vielmehr wird den Fachleuten durch die vorstehende detaillierte Beschreibung eine komfortable Roadmap zur Umsetzung der exemplarischen Ausführungsform oder der exemplarischen Ausführungsformen zur Verfügung gestellt. Es ist zu verstehen, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Umfang der Offenbarung, wie sie in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen dargelegt sind, abzuweichen.