DE112020001106T5 - Ausrichten von Straßeninformationen zur Navigation - Google Patents

Ausrichten von Straßeninformationen zur Navigation Download PDF

Info

Publication number
DE112020001106T5
DE112020001106T5 DE112020001106.2T DE112020001106T DE112020001106T5 DE 112020001106 T5 DE112020001106 T5 DE 112020001106T5 DE 112020001106 T DE112020001106 T DE 112020001106T DE 112020001106 T5 DE112020001106 T5 DE 112020001106T5
Authority
DE
Germany
Prior art keywords
navigation information
vehicle
road segment
road
navigation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020001106.2T
Other languages
English (en)
Inventor
Nir Ratner
Dori SHAPIRA
Igor Tubis
Uri Rokni
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mobileye Vision Technologies Ltd
Original Assignee
Mobileye Vision Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobileye Vision Technologies Ltd filed Critical Mobileye Vision Technologies Ltd
Publication of DE112020001106T5 publication Critical patent/DE112020001106T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road

Abstract

Die vorliegende Offenbarung bezieht sich auf Systeme und Verfahren zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen. In einer Implementierung kann mindestens eine Verarbeitungsvorrichtung erste Navigationsinformationen von einem ersten Fahrzeug und zweite Navigationsinformationen von einem zweiten Fahrzeug empfangen. Die ersten und zweiten Navigationsinformationen können einem gemeinsamen Straßensegment zugeordnet sein. Der Prozessor kann das gemeinsame Straßensegment in einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt unterteilen, die sich an einem gemeinsamen Punkt verbinden. Der Prozessor kann dann die ersten und zweiten Navigationsinformationen ausrichten, indem er mindestens einen Teil der ersten Navigationsinformationen oder der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt dreht. Der Prozessor kann die ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment speichern und die ausgerichteten Navigationsinformationen an Fahrzeuge zur Verwendung beim Navigieren entlang des gemeinsamen Straßensegments senden.

Description

  • Querverweise auf verwandte Anwendungen
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 62/815,045 , eingereicht am 7. März 2019, und der vorläufigen US-Patentanmeldung Nr. 62/874,711 , eingereicht am 16. Juli 2019. Alle vorstehenden Anmeldungen sind hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft im Allgemeinen autonome Fahrzeugnavigation.
  • Hintergrundinformationen
  • Während die Technologie weiter voranschreitet, steht das Ziel eines vollständig autonomen Fahrzeugs, das auf Fahrbahnen navigieren kann, am Horizont. Autonome Fahrzeuge müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen und geeignete Entscheidungen basierend auf diesen Faktoren treffen, um ein beabsichtigtes Ziel sicher und genau zu erreichen. Zum Beispiel muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. Informationen, die von einer Kamera erfasst werden) verarbeiten und interpretieren und kann auch Informationen verwenden, die von anderen Quellen (z. B. von einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.) erhalten werden. Gleichzeitig muss ein autonomes Fahrzeug, um zu einem Ziel zu navigieren, möglicherweise auch seinen Ort innerhalb einer bestimmten Fahrbahn (z. B. einer bestimmten Fahrspur innerhalb einer mehrspurigen Straße) identifizieren, neben anderen Fahrzeugen navigieren, Hindernisse und Fußgänger vermeiden, Verkehrssignale und Zeichen beobachten und von der Straße zu einer anderen Straße an geeigneten Kreuzungen oder Anschlussstellen fahren. Das Nutzen und Interpretieren riesiger Mengen von Informationen, die von einem autonomen Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Ziel fährt, stellt eine Vielzahl von Konstruktionsherausforderungen dar. Die schiere Datenmenge (z. B. erfasste Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, auf sie zugreifen und/oder sie speichern muss, stellt Herausforderungen dar, die tatsächlich die autonome Navigation einschränken oder sogar nachteilig beeinflussen können. Darüber hinaus stellt, wenn ein autonomes Fahrzeug auf herkömmlicher Kartierungstechnologie beruht, um zu navigieren, die schiere Datenmenge, die zum Speichern und Aktualisieren der Karte erforderlich ist, gewaltige Herausforderungen dar.
  • Zusätzlich zur Datensammlung zum Aktualisieren der Karte müssen autonome Fahrzeuge in der Lage sein, die Karte zur Navigation zu verwenden. Dementsprechend müssen die Größe und Details der Karte sowie der Aufbau und die Übertragung davon optimiert werden. Darüber hinaus muss das autonome Fahrzeug unter Verwendung der Karte sowie unter Verwendung von Beschränkungen basierend auf der Umgebung des Fahrzeugs navigieren, um die Sicherheit seiner Insassen und anderer Fahrer und Fußgänger auf der Fahrbahn zu gewährleisten.
  • ZUSAMMENFASSUNG
  • Ausführungsformen, die mit der vorliegenden Offenbarung konsistent sind, stellen Systeme und Verfahren für autonome Fahrzeugnavigation bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um Merkmale für autonome Fahrzeugnavigation bereitzustellen. Zum Beispiel können die offenbarten Systeme, die mit den offenbarten Ausführungsformen konsistent sind, eine, zwei oder mehr Kameras beinhalten, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion bereitstellen, basierend auf zum Beispiel einer Analyse von Bildern, die von einer oder mehreren der Kameras erfasst werden. Die offenbarten Systeme können auch für das Konstruieren und Navigieren mit einer dünnbesetzten Karte mit Crowdsourcing sorgen. Andere offenbarte Systeme können eine relevante Analyse von Bildern verwenden, um eine Lokalisierung durchzuführen, die die Navigation mit einer dünnbesetzten Karte ergänzen kann. Die Navigationsreaktion kann auch andere Daten berücksichtigen, einschließlich zum Beispiel Daten eines globalen Positionsbestimmungssystems (GPS), Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten. Schließlich können offenbarte Ausführungsformen Komfort- und Sicherheitsbeschränkungen verwenden, um Daten aus einer Vielzahl von Quellen, wie etwa Kameras, Sensoren, Karten oder dergleichen, zu verschmelzen, um die Navigation des Fahrzeugs zu optimieren, ohne andere Fahrer und Fußgänger zu gefährden.
  • In einer Ausführungsform kann ein nichtflüchtiges, computerlesbares Medium Anweisungen speichern, die, wenn sie durch mindestens einen Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen, erste Navigationsinformationen von einem ersten Fahrzeug zu empfangen und zweite Navigationsinformationen von einem zweiten Fahrzeug zu empfangen, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind. Der mindestens eine Prozessor kann ferner das gemeinsame Straßensegment in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt unterteilen, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt an einem gemeinsamen Punkt zusammenkommen, und die ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zum gemeinsamen Straßensegment ausrichten. Das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen kann das Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zum gemeinsamen Punkt beinhalten. Der mindestens eine Prozessor kann ferner die ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment speichern und mindestens einen Teil der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments senden.
  • In einer Ausführungsform kann ein Server zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen mindestens einen Prozessor umfassen. Der mindestens eine Prozessor kann konfiguriert sein, um erste Navigationsinformationen von einem ersten Fahrzeug zu empfangen und zweite Navigationsinformationen von einem zweiten Fahrzeug zu empfangen, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind. Der mindestens eine Prozessor kann ferner das gemeinsame Straßensegment in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt unterteilen, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt an einem gemeinsamen Punkt zusammenkommen, und die ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zum gemeinsamen Straßensegment ausrichten. Das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen kann das Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhalten. Der mindestens eine Prozessor kann ferner konfiguriert sein, um die ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment zu speichern und mindestens einen Teil der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments zu senden.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen das Empfangen von ersten Navigationsinformationen von einem ersten Fahrzeug und das Empfangen von zweiten Navigationsinformationen von einem zweiten Fahrzeug umfassen, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind. Das Verfahren kann das Unterteilen des gemeinsamen Straßensegments in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt umfassen, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt an einem gemeinsamen Punkt zusammenkommen, und das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zu dem gemeinsamen Straßensegment. Das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen kann das Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhalten. Das Verfahren kann ferner das Speichern der ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment und das Senden von mindestens einem Teil der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments umfassen.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die durch mindestens eine Verarbeitungsvorrichtung ausgeführt werden und eines der hierin beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende detaillierte Beschreibung sind nur beispielhaft und erläuternd und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die beigefügten Zeichnungen, die in diese Offenbarung aufgenommen sind und einen Teil davon bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen:
    • 1 ist eine schematische Repräsentation eines beispielhaften Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansicht-Repräsentation eines beispielhaften Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2B ist eine schematische Draufsicht-Repräsentation des Fahrzeugs und des Systems, die in 2A gezeigt sind, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsicht-Repräsentation einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2D ist eine schematische Draufsicht-Repräsentation noch einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2E ist eine schematische Draufsicht-Repräsentation noch einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, die mit den offenbarten Ausführungsformen konsistent sind.
    • 3A ist eine schematische Repräsentation eines Innenraums eines Fahrzeugs, das einen Rückspiegel und eine Benutzerschnittstelle für ein Fahrzeugbildgebungssystem beinhaltet, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3B ist eine Veranschaulichung eines Beispiels einer Kamerahaltung, die konfiguriert ist, um hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3C ist eine Veranschaulichung der Kamerahaltung, die in 3B gezeigt ist, aus einer anderen Perspektive, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3D ist eine Veranschaulichung eines Beispiels einer Kamerahaltung, die konfiguriert ist, um hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der konfiguriert ist, um Anweisungen zum Durchführen von einem oder mehreren Vorgängen zu speichern, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 5A ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Verursachen von einer oder mehreren Navigationsreaktionen basierend auf einer monokularen Bildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • Die 5B ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erfassen von einem oder mehreren Fahrzeugen und/oder Fußgängern in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 5C ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erfassen von Straßenmarkierungen und/oder Fahrspur-Geometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 5D ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erfassen von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 5E ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Verursachen von einer oder mehreren Navigationsreaktionen basierend auf einem Fahrzeugweg zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 5F ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug Fahrspuren wechselt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Verursachen von einer oder mehreren Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Verursachen von einer oder mehreren Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 8A veranschaulicht Polynomrepräsentationen von Teilen eines Straßensegments, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 8B veranschaulicht eine Kurve im dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs repräsentiert, für ein bestimmtes Straßensegment, das in einer dünnbesetzten Karte beinhaltet ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 9A zeigt Polynomrepräsentationen von Trajektorien, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 9B und 9C zeigen Zieltrajektorien entlang einer mehrspurigen Straße, in Übereinstimmung mit offenbarten Ausführungsformen.
    • Die 9D zeigt ein beispielhaftes Straßensignaturprofil, in Übereinstimmung mit offenbarten Ausführungsformen.
    • Die 10 veranschaulicht ein beispielhaftes Straßennavigationsmodell für autonome Fahrzeuge, das durch eine Vielzahl von dreidimensionalen Splines repräsentiert wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 11 zeigt ein Kartenskelett, das aus dem Kombinieren von Ortsinformationen von vielen Fahrten erzeugt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 12 ist ein beispielhaftes Blockdiagramm eines Speichers, der konfiguriert ist, um Anweisungen zum Durchführen von einem oder mehreren Vorgängen zu speichern, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 13A und 13B stellen schematische Darstellungen von beispielhaften Sicherheits- und Komfortbeschränkungen bereit, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 13C und 13D stellen schematische Darstellungen von weiteren beispielhaften Sicherheits- und Komfortbeschränkungen bereit, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 14 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Navigieren eines Host-Fahrzeugs basierend auf Sicherheits- und Komfortbeschränkungen zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 15 ist ein beispielhaftes Blockdiagramm eines Speichers, der konfiguriert ist, um Anweisungen zum Durchführen von einem oder mehreren Vorgängen zu speichern, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 16 zeigt beispielhafte Straßendaten, die aus dem Kombinieren von Navigationsinformationen von vielen Fahrten erzeugt werden, und eine beispielhafte globale Karte, die aus dem Kombinieren von Straßendaten erzeugt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 17 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 18A veranschaulicht beispielhafte Fahrzeugdaten, die in Übereinstimmung mit den offenbarten Ausführungsformen ausgerichtet werden können.
    • Die 18B veranschaulicht Fehler, der eingeführt werden kann, wenn Fahrten größerer Entfernungen ausgerichtet werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 19A veranschaulicht eine Vielzahl von Abschnitten, die zur Ausrichtung von Straßeninformationen verwendet werden können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 19B zeigt eine resultierende Ausrichtung basierend auf mehreren Abschnitten, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 20 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen repräsentiert, in Übereinstimmung mit den offenbarten Ausführungsformen.
  • Die folgende detaillierte Beschreibung bezieht sich auf die beigefügten Zeichnungen. Wo immer möglich, werden die gleichen Bezugszeichen in den Zeichnungen und der folgenden Beschreibung verwendet, um gleiche oder ähnliche Teile zu bezeichnen. Während mehrere veranschaulichende Ausführungsformen hierin beschrieben werden, sind Modifikationen, Anpassungen und andere Implementierungen möglich. So können beispielsweise Ersetzungen, Ergänzungen oder Modifikationen an den in den Zeichnungen veranschaulichten Komponenten vorgenommen werden, und die hierin beschriebenen veranschaulichenden Verfahren können durch Ersetzen, Neuordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende detaillierte Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der richtige Umfang durch die beigefügten Ansprüche definiert.
  • Überblick über autonome Fahrzeuge
  • Wie in dieser Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingabe zu implementieren. Ein „Navigationsänderung“ bezieht sich auf eine Änderung in einem oder mehreren von Lenken, Bremsen oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (z. B. vollständiger Vorgang ohne Fahrer oder ohne Fahrereingabe). Vielmehr beinhaltet ein autonomes Fahrzeug diejenigen, die während bestimmter Zeiträume unter Fahrersteuerung und während anderer Zeiträume ohne Fahrersteuerung betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge beinhalten, die nur einige Aspekte der Fahrzeugnavigation steuern, wie etwa Lenken (z. B. um einen Fahrzeugkurs zwischen Fahrzeug-Fahrspur-Beschränkungen aufrechtzuerhalten), können jedoch andere Aspekte dem Fahrer überlassen (z. B. Bremsen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitssteuerung und/oder des Lenkens des Fahrzeugs bewältigen.
  • Da menschliche Fahrer typischerweise auf visuelle Hinweise und Beobachtungen zurückgreifen, um ein Fahrzeug zu steuern, werden Transportinfrastrukturen entsprechend aufgebaut, wobei Fahrspur-Markierungen, Verkehrszeichen und Ampeln alle dazu ausgestaltet sind, den Fahrern visuelle Informationen bereitzustellen. Im Hinblick auf diese Designcharakteristiken von Transportinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit beinhalten, die visuelle Informationen analysiert, die von der Umgebung des Fahrzeugs aufgenommen wurden. Die visuellen Informationen können zum Beispiel Komponenten der Transportinfrastruktur (z. B. Fahrspur-Markierungen, Verkehrszeichen, Ampeln usw.) beinhalten, die von Fahrern und anderen Hindernissen (z. B. anderen Fahrzeugen, Fußgängern, Schutt usw.) beobachtet werden können. Zusätzlich kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie etwa Informationen, die ein Modell der Umgebung des Fahrzeugs beim Navigieren bereitstellen. Zum Beispiel kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen in Bezug auf seine Umgebung bereitzustellen, während das Fahrzeug fährt, und das Fahrzeug (sowie andere Fahrzeuge) kann die Informationen verwenden, um sich auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen in dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während des Navigierens erhalten wurden (z. B. von einer Kamera, GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die von vergangenen Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) während des Navigierens erhalten wurden. In noch anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während des Navigierens erhalten wurden, und Informationen, die von vergangenen Navigationen erhalten wurden, verwenden. Die folgenden Abschnitte stellen einen Überblick über ein System bereit, das mit den offenbarten Ausführungsformen konsistent ist, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und Verfahren, die mit dem System konsistent sind. Die folgenden Abschnitte offenbaren Systeme und Verfahren zum Konstruieren, Verwenden und Aktualisieren einer dünnbesetzten Karte für autonome Fahrzeugnavigation.
  • Systemüberblick
  • 1 ist eine Blockdiagrammrepräsentation eines Systems 100, das mit den beispielhaften offenbarten Ausführungsformen konsistent ist. Das System 100 kann verschiedene Komponenten beinhalten, abhängig von den Anforderungen einer bestimmten Implementierung. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speicher-Einheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Sendeempfänger 172 beinhalten. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine beliebige andere geeignete Verarbeitungsvorrichtung beinhalten. Ebenso kann die Bilderfassungseinheit 120 eine beliebige Anzahl von Bilderfassungsvorrichtungen und Komponenten beinhalten, abhängig von den Anforderungen einer bestimmten Anwendung. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bilderfassungsvorrichtungen (z. B. Kameras) beinhalten, wie beispielsweise die Bilderfassungsvorrichtung 122, die Bilderfassungsvorrichtung 124 und die Bilderfassungsvorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bilderfassungsvorrichtung 120 verbindet. So kann beispielsweise die Datenschnittstelle 128 eine beliebige drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zum Übertragen von Bilddaten an die Verarbeitungseinheit 110 beinhalten, die von der Bilderfassungsvorrichtung 120 erfasst werden.
  • Der drahtlose Sendeempfänger 172 kann eine oder mehrere Vorrichtungen beinhalten, die konfiguriert sind, um Übertragungen über eine Luftschnittstelle zu einem oder mehreren Netzwerken (z. B. Mobilfunk, Internet usw.) unter Verwendung einer Funkfrequenz, Infrarotfrequenz, eines Magnetfelds oder eines elektrischen Felds auszutauschen. Der drahtlose Sendeempfänger 172 kann jeden bekannten Standard verwenden, um Daten zu übertragen und/oder zu empfangen (z. B. Wi-Fi, Bluetooth® Bluetooth Smart, 802.15.4, ZigBee usw.). Derartige Übertragungen können Kommunikationen vom Host-Fahrzeug zu einem oder mehreren entfernt angeordneten Servern beinhalten. Derartige Übertragungen können auch Kommunikationen (Einweg- oder Zweiweg-) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs beinhalten (z. B. um die Koordination der Navigation des Host-Fahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu erleichtern) oder sogar eine Broadcast-Übertragung an nicht spezifizierte Empfänger in einer Nähe des übertragenden Fahrzeugs.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungsvorrichtungen beinhalten. Zum Beispiel können einer oder beide des Anwendungsprozessors 180 und des Bildprozessors 190 einen Mikroprozessor, Vorprozessoren (wie etwa einen Bildvorprozessor), eine Grafikverarbeitungseinheit (graphics processing unit - GPU), eine zentrale Verarbeitungseinheit (central processing unit - CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen beinhalten, die zum Ausführen von Anwendungen und zur Bildverarbeitung und -analyse geeignet sind. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 eine beliebige Art von Einzel- oder Mehrkernprozessor, Mikrocontroller für mobile Vorrichtungen, zentrale Verarbeitungseinheit usw. beinhalten. Verschiedene Verarbeitungsvorrichtungen können verwendet werden, einschließlich zum Beispiel Prozessoren, die von Herstellern wie etwa Intel® AMD® usw. erhältlich sind, oder GPUs, die von Herstellern wie etwa NVIDIA® ATI® usw. erhältlich sind, und können verschiedene Architekturen (z. B. x86-Prozessor, ARM® usw.) beinhalten.
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 eine beliebige der EyeQ-Reihen von Prozessorchips beinhalten, die von Mobileye® erhältlich sind. Diese Prozessordesigns beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Anweisungssätzen. Derartige Prozessoren können Videoeingaben zum Empfangen von Bilddaten von mehreren Bildsensoren beinhalten und können zudem Videoausgabefähigkeiten beinhalten. In einem Beispiel verwendet das EyeQ2® eine 90 nm-Mikrometer-Technologie, die bei 332 MHz betrieben wird. Die EyeQ2® Architektur besteht aus zwei Gleitkomma-, Hyper-Thread-32-Bit-RISC-CPUs (MIPS32® 34K®e), fünf Vision Computing Engines (VCE), drei Vector Microcode Processors (VMP® Denali 64-Bit Mobile DDR Controller, 128-Bit interne Sonics Interconnect, dual 16-Bit Video Input und 18-Bit Video Output Controller, 16-Kanal-DMA und mehreren Peripheriegeräten. Die MIPS34K-CPU verwaltet die fünf VCEs, drei VMP™ und den DMA, die zweite MIPS34K-CPU und den Mehrkanal-DMA sowie die anderen Peripheriegeräte. Die fünf VCEs, drei VMP® und die MIPS34K-CPU können intensive Bildverarbeitungsberechnungen durchführen, die von Multifunktions-Bundle-Anwendungen benötigt werden. In einem anderen Beispiel kann der EyeQ3® der ein Prozessor der dritten Generation ist und sechsmal leistungsfähiger ist als der EyeQ2® in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Jede der hierin offenbarten Verarbeitungsvorrichtungen kann konfiguriert sein, um bestimmte Funktionen auszuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa eines der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines Mikroprozessors, um bestimmte Funktionen auszuführen, kann das Programmieren von computerausführbaren Anweisungen und das Verfügbarmachen dieser Anweisungen für die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung beinhalten. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Programmieren der Verarbeitungsvorrichtung direkt mit Architekturanweisungen beinhalten. Zum Beispiel können Verarbeitungsvorrichtungen, wie etwa feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen, zum Beispiel unter Verwendung einer oder mehrerer Hardwarebeschreibungssprachen (HDLs) konfiguriert sein.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Speichern ausführbarer Anweisungen auf einem Speicher beinhalten, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann. Zum Beispiel kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In jedem Fall stellt die Verarbeitungsvorrichtung, die konfiguriert ist, um die hierin offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen auszuführen, ein spezialisiertes hardwarebasiertes System dar, das mehrere hardwarebasierte Komponenten eines Host-Fahrzeugs steuert.
  • Während 1 zwei separate Verarbeitungsvorrichtungen darstellt, die in der Verarbeitungseinheit 110 beinhaltet sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Zum Beispiel kann in einigen Ausführungsformen eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungsvorrichtungen ausgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere der Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten, wie beispielsweise die Bilderfassungseinheit 120, zu beinhalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Vorrichtungen umfassen. Zum Beispiel kann die Verarbeitungseinheit 110 verschiedene Vorrichtungen beinhalten, wie etwa eine Steuerung, einen Bildvorprozessor, eine zentrale Verarbeitungseinheit (central processing unit - CPU), eine Grafikverarbeitungseinheit (graphics processing unit - GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen zur Bildverarbeitung und -analyse. Der Bildvorprozessor kann einen Videoprozessor zum Aufnehmen, Digitalisieren und Verarbeiten der Bilder von den Bildsensoren beinhalten. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann zudem eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Bei den Unterstützungsschaltungen kann es sich um eine beliebige Anzahl von Schaltungen handeln, die im Allgemeinen im Stand der Technik bekannt sind, einschließlich Cache-, Stromversorgungs-, Takt- und Eingabe-Ausgabe-Schaltungen. Der Speicher kann Software speichern, die bei Ausführung durch den Prozessor den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Festwertspeichern, Flash-Speichern, Plattenlaufwerken, optischem Speicher, Bandspeicher, entfernbarem Speicher und anderen Arten von Speichern umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen beinhalten, die bei Ausführung durch einen Prozessor (z. B. den Anwendungsprozessor 180 und/oder den Bildprozessor 190) den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können zum Beispiel verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie etwa ein neuronales Netz, oder ein tiefes neuronales Netz, beinhalten. Die Speichereinheiten können Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), Flash-Speicher, Plattenlaufwerke, optischen Speicher, Bandspeicher, entfernbaren Speicher und/oder beliebige andere Arten von Speicher beinhalten. In einigen Ausführungsformen können die Speichereinheiten 140, 150 vom Anwendungsprozessor 180 und/oder Bildprozessor 190 getrennt sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann eine beliebige Art von Vorrichtung beinhalten, die geeignet ist, um einen Ort zu bestimmen, der mindestens einer Komponente des Systems 100 zugeordnet ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Derartige Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die von Satelliten des globalen Positionsbestimmungssystems gesendet werden. Positionsinformationen vom Positionssensor 130 können dem Anwendungsprozessor 180 und/oder Bildprozessor 190 zur Verfügung gestellt werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten wie einen Geschwindigkeitssensor (z. B. ein Tachometer, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder Einzelachse oder Mehrachse) zum Messen der Beschleunigung des Fahrzeugs 200 beinhalten.
  • Die Benutzerschnittstelle 170 kann eine beliebige Vorrichtung beinhalten, die geeignet ist, um Informationen an einen oder mehrere Benutzer des Systems 100 bereitzustellen oder Eingaben von diesen zu empfangen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen beinhalten, einschließlich beispielsweise eines Touchscreens, eines Mikrofons, einer Tastatur, Zeigervorrichtungen, Trackwheels, Kameras, Knöpfen, Tasten usw. Mit derartigen Eingabevorrichtungen kann ein Benutzer in der Lage sein, dem System 100 Informationseingaben oder -befehle durch Eingeben von Anweisungen oder Informationen, Bereitstellen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm unter Verwendung von Tasten, Zeigern oder Eye-Tracking-Fähigkeiten oder durch beliebige andere geeignete Techniken zum Kommunizieren von Informationen an das System 100 bereitzustellen.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die konfiguriert sind, um Informationen an einen oder von einem Benutzer bereitzustellen und zu empfangen und diese Informationen zur Verwendung durch beispielsweise den Anwendungsprozessor 180 zu verarbeiten. In einigen Ausführungsformen können derartige Verarbeitungsvorrichtungen Anweisungen zum Erkennen und Verfolgen von Augenbewegungen, Empfangen und Interpretieren von Sprachbefehlen, Erkennen und Interpretieren von Berührungen und/oder Gesten, die auf einem Touchscreen vorgenommen werden, Reagieren auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 eine Anzeige, einen Lautsprecher, eine taktile Vorrichtung und/oder beliebige andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen an einen Benutzer beinhalten.
  • Die Kartendatenbank 160 kann eine beliebige Art von Datenbank zum Speichern von Kartendaten beinhalten, die für das System 100 nützlich sind. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten in Bezug auf die Position verschiedener Elemente, einschließlich Straßen, Wassermerkmale, geografische Merkmale, Geschäfte, Sehenswürdigkeiten, Restaurants, Tankstellen usw., in einem Referenzkoordinatensystem beinhalten. Die Kartendatenbank 160 kann nicht nur die Orte derartiger Elemente speichern, sondern auch Deskriptoren in Bezug auf diese Elemente, einschließlich beispielsweise Namen, die mit einem der gespeicherten Merkmale assoziiert sind. In einigen Ausführungsformen kann sich die Kartendatenbank 160 physisch mit anderen Komponenten des Systems 100 befinden. Alternativ oder zusätzlich kann sich die Kartendatenbank 160 oder ein Abschnitt davon entfernt in Bezug auf andere Komponenten des Systems 100 (z. B. Verarbeitungseinheit 110) befinden. In derartigen Ausführungsformen können Informationen aus der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z. B. über ein Mobilfunknetz und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein dünnbesetztes Datenmodell speichern, das Polynomrepräsentationen bestimmter Straßenmerkmale (z. B. Fahrspur-Markierungen) oder Zieltrajektorien für das Host-Fahrzeug beinhaltet. Systeme und Verfahren zum Erzeugen einer derartigen Karte werden nachstehend unter Bezugnahme auf die 8-19 erörtert.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jeweils eine beliebige Art von Vorrichtung beinhalten, die geeignet ist, um mindestens ein Bild aus einer Umgebung aufzunehmen. Darüber hinaus kann eine beliebige Anzahl von Bilderfassungsvorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bilderfassungsvorrichtung beinhalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bilderfassungsvorrichtungen beinhalten können. Die Bilderfassungsvorrichtungen 122, 124 und 126 werden nachstehend unter Bezugnahme auf die 2B-2E näher beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 beinhaltet sein, wie in 2A gezeigt. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und einer beliebigen der anderen Komponenten des Systems 100 ausgestattet sein, wie vorstehend in Bezug auf 1 beschrieben. Während in einigen Ausführungsformen das Fahrzeug 200 mit nur einer einzigen Bilderfassungsvorrichtung (z. B. Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie etwa den in Verbindung mit den 2B-2E erörterten, mehrere Bilderfassungsvorrichtungen verwendet werden. Beispielsweise kann jede der Bilderfassungsvorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A gezeigt, Teil eines ADAS-Bildgebungssatzes (Advanced Driver Assistance Systems) sein.
  • Wie in 2B gezeigt, können die Bilderfassungsvorrichtungen, die im Fahrzeug 200 als Teil der Bilderfassungseinheit 120 beinhaltet sind, an einem beliebigen geeigneten Ort positioniert sein. In einigen Ausführungsformen, wie in den 2A-2E und 3A-3C gezeigt, kann sich die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels befinden. Diese Position kann eine Sichtlinie bereitstellen, die der des Fahrers des Fahrzeugs 200 ähnlich ist, was dabei helfen kann, zu bestimmen, was für den Fahrer sichtbar ist und nicht. Die Bilderfassungsvorrichtung 122 kann an einem beliebigen Ort in der Nähe des Rückspiegels positioniert sein, aber das Platzieren der Bilderfassungsvorrichtung 122 auf der Fahrerseite des Spiegels kann ferner dabei helfen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
  • Andere Orte für die Bilderfassungsvorrichtungen der Bilderfassungseinheit 120 können ebenfalls verwendet werden. Zum Beispiel kann sich die Bilderfassungsvorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Ein solcher Ort kann besonders für Bilderfassungsvorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie der am Stoßfänger befindlichen Bilderfassungsvorrichtungen kann sich von der des Fahrers unterscheiden und daher sehen die Stoßfänger-Bilderfassungsvorrichtung und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bilderfassungsvorrichtungen (z. B. die Bilderfassungsvorrichtungen 122, 124 und 126) können sich ebenfalls an anderen Orten befinden. Zum Beispiel können sich die Bilderfassungsvorrichtungen an oder in einem oder beiden der Seitenspiegel des Fahrzeugs 200, am Dach des Fahrzeugs 200, an der Motorhaube des Fahrzeugs 200, am Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200, an einem beliebigen der Fenster des Fahrzeugs 200 montiert, dahinter positioniert oder davor positioniert und in oder in der Nähe von Lichtfiguren an der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. montiert befinden.
  • Zusätzlich zu den Bilderfassungsvorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. Zum Beispiel kann die Verarbeitungseinheit 110 am Fahrzeug 200 entweder in eine Motorsteuereinheit (engine control unit - ECU) des Fahrzeugs integriert oder davon getrennt beinhaltet sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie etwa einem GPS-Empfänger, ausgestattet sein und kann auch eine Kartendatenbank 160 und Speicher-Einheiten 140 und 150 beinhalten.
  • Wie bereits erörtert, kann der drahtlose Sendeempfänger 172 Daten über ein oder mehrere Netzwerke (z. B. Mobilfunknetze, das Internet usw.) empfangen und/oder empfangen. Zum Beispiel kann der drahtlose Sendeempfänger 172 Daten, die vom System 100 gesammelt wurden, auf einen oder mehrere Server hochladen und Daten von einem oder mehreren Servern herunterladen. Über den drahtlosen Sendeempfänger 172 kann das System 100 zum Beispiel periodische oder bedarfsgesteuerte Aktualisierungen an Daten empfangen, die in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeichert sind. Ebenso kann der drahtlose Sendeempfänger 172 beliebige Daten (z. B. Bilder, die von der Bilderfassungseinheit 120 aufgenommen wurden, Daten, die vom Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuersystemen usw. empfangen wurden) vom System 100 und/oder beliebige Daten, die von der Verarbeitungseinheit 110 verarbeitet wurden, auf einen oder mehrere Server hochladen.
  • Das System 100 kann Daten basierend auf einer Einstellung der Datenschutzstufe auf einen Server (z. B. in die Cloud) hochladen. Zum Beispiel kann das System 100 Einstellungen der Datenschutzstufe implementieren, um die Arten von Daten (einschließlich Metadaten), die an den Server gesendet werden, der ein Fahrzeug und/oder einen Fahrer/Besitzer eines Fahrzeugs eindeutig identifizieren kann, zu regulieren oder zu begrenzen. Solche Einstellungen können vom Benutzer beispielsweise über den drahtlosen Sendeempfänger 172 eingestellt, durch werksseitige Standardeinstellungen oder durch Daten, die vom drahtlosen Sendeempfänger 172 empfangen werden, initialisiert werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einer „hohen“ Datenschutzstufe hochladen, und unter Einstellung einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne Details über das spezifische Fahrzeug und/oder den spezifischen Fahrer/Besitzer übertragen. Zum Beispiel kann das System 100 beim Hochladen von Daten gemäß einer „hohen“ Datenschutzeinstellung keine Fahrzeugidentifikationsnummer (VIN) oder einen Namen eines Fahrers oder Besitzers des Fahrzeugs beinhalten und kann stattdessen Daten, wie aufgenommene Bilder und/oder begrenzte Ortsinformationen in Bezug auf eine Route, übertragen.
  • Andere Datenschutzstufen werden in Betracht gezogen. Zum Beispiel kann das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übertragen und zusätzliche Informationen beinhalten, die nicht unter einer „hohen“ Datenschutzstufe beinhaltet sind, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder eine Fahrzeugart (z. B. ein Personenkraftwagen, ein Geländewagen, ein Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einer „niedrigen“ Datenschutzstufe hochladen. Unter einer „niedrigen“ Datenschutzstufeneinstellung kann das System 100 Daten hochladen und Informationen beinhalten, die ausreichen, um ein spezifisches Fahrzeug, einen spezifischen Besitzer/Fahrer und/oder einen Abschnitt oder die Gesamtheit einer vom Fahrzeug befahrenen Route eindeutig zu identifizieren. Derartige „niedrige“ Datenschutzstufendaten können eines oder mehrere von zum Beispiel einer VIN, einem Fahrer/Besitzernamen, einem Ursprungspunkt eines Fahrzeugs vor der Abfahrt, einem beabsichtigten Ziel des Fahrzeugs, einer Marke und/oder einem Modell des Fahrzeugs, einer Art des Fahrzeugs usw. beinhalten.
  • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugbildgebungssystems, das mit den offenbarten Ausführungsformen konsistent ist. 2B ist eine schematische Draufsicht einer Veranschaulichung der in 2A gezeigten Ausführungsform. Wie in 2B veranschaulicht, können die offenbarten Ausführungsformen ein Fahrzeug 200 beinhalten, das in seiner Karosserie ein System 100 mit einer ersten Bilderfassungsvorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, einer zweiten Bilderfassungsvorrichtung 124, die an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und einer Verarbeitungseinheit 110 beinhaltet.
  • Wie in 2C veranschaulicht, können die Bilderfassungsvorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Während zwei Bilderfassungsvorrichtungen 122 und 124 in 2B und 2C gezeigt sind, versteht es sich außerdem, dass andere Ausführungsformen mehr als zwei Bilderfassungsvorrichtungen beinhalten können. Zum Beispiel sind in den Ausführungsformen, die in den 2D und 2E gezeigt sind, die erste, zweite und dritte Bilderfassungsvorrichtung 122, 124 und 126 im System 100 des Fahrzeugs 200 beinhaltet.
  • Wie in 2D veranschaulicht, kann die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein und können die Bilderfassungsvorrichtungen 124 und 126 an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt, können die Bilderfassungsvorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bilderfassungsvorrichtungen beschränkt und können die Bilderfassungsvorrichtungen an einem beliebigen geeigneten Ort innerhalb und/oder am Fahrzeug 200 positioniert sein.
  • Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und in anderen Kontexten angewendet werden könnten. Es versteht sich zudem, dass die offenbarten Ausführungsformen nicht auf eine bestimmte Art von Fahrzeug 200 beschränkt sind und auf alle Arten von Fahrzeugen einschließlich Automobilen, Lastkraftwagen, Anhängern und anderen Arten von Fahrzeugen anwendbar sein können.
  • Die erste Bilderfassungsvorrichtung 122 kann eine beliebige geeignete Art von Bilderfassungsvorrichtung beinhalten. Die Bilderfassungsvorrichtung 122 kann eine optische Achse beinhalten. In einem Fall kann die Bilderfassungsvorrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss beinhalten. In anderen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Auflösung von 1280 × 960 Pixeln bereitstellen und kann einen Rollenden Verschluss beinhalten. Die Bilderfassungsvorrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können eine oder mehrere Linsen beinhaltet sein, um beispielsweise eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bilderfassungsvorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 einer 6 mm-Linse oder einer 12 mm-Linse zugeordnet sein. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um Bilder mit einem gewünschten Sichtfeld (field-of-view - FOV) 202 aufzunehmen, wie in 2D veranschaulicht. Beispielsweise kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein regelmäßiges FOV aufzuweisen, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, einschließlich eines 46-Grad-FOV, 50-Grad-FOV, 52-Grad-FOV oder größer. Alternativ kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein schmales FOV im Bereich von 23 bis 40 Grad aufzuweisen, wie etwa ein 28-Grad-FOV oder 36-Grad-FOV. Zusätzlich kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein breites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Weitwinkel-Stoßfänger-Kamera oder eine mit bis zu einem 180-Grad-FOV beinhalten. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine 7,2M-Pixel-Bilderfassungsvorrichtung mit einem Seitenverhältnis von etwa 2:1 (z. B. HxV = 3800 × 1900 Pixel) mit etwa 100 Grad horizontalem FOV sein. Eine solche Bilderfassungsvorrichtung kann anstelle einer Konfiguration mit drei Bilderfassungsvorrichtungen verwendet werden. Aufgrund einer signifikanten Linsenverzerrung kann das vertikale FOV einer solchen Bilderfassungsvorrichtung in Implementierungen, in denen die Bilderfassungsvorrichtung eine radialsymmetrische Linse verwendet, deutlich kleiner als 50 Grad sein. Beispielsweise kann eine solche Linse nicht radialsymmetrisch sein, was ein vertikales FOV größer als 50 Grad mit 100 Grad horizontalem FOV ermöglichen würde.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Vielzahl von ersten Bildern relativ zu einer dem Fahrzeug 200 zugeordneten Szene aufnehmen. Jedes der Vielzahl von ersten Bildern kann als eine Reihe von Bildscanlinien aufgenommen werden, die unter Verwendung eines Rollenden Verschlusses aufgenommen werden können. Jede Scanlinie kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Scanrate aufweisen, die der Aufnahme jeder der ersten Reihe von Bildscanlinien zugeordnet ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel zugeordnet sind, das in einer bestimmten Scanlinie enthalten ist.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können eine beliebige geeignete Art und Anzahl von Bildsensoren enthalten, einschließlich beispielsweise CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rollenden Verschluss eingesetzt werden, sodass jedes Pixel in einer Zeile einzeln gelesen wird und das Scannen der Zeilen zeilenweise fortgesetzt wird, bis ein gesamtes Einzelbild aufgenommen wurde. In einigen Ausführungsformen können die Zeilen sequenziell von oben nach unten relativ zum Einzelbild aufgenommen werden.
  • Eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) können einen hochauflösenden Bildgeber bilden und können eine Auflösung größer als 5 M Pixel, 7 M Pixel, 10 M Pixel oder größer aufweisen. In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber bilden und können eine Auflösung größer als 5 M Pixel,
  • Die Verwendung eines Rollenden Verschlusses kann dazu führen, dass Pixel in verschiedenen Zeilen zu verschiedenen Zeiten belichtet und aufgenommen werden, was zu Schräglauf und anderen Bildartefakten im aufgenommenen Einzelbild führen kann. Wenn andererseits die Bilderfassungsvorrichtung 122 konfiguriert ist, um mit einem globalen oder synchronen Verschluss zu arbeiten, können alle Pixel für die gleiche Zeitdauer und während einer gemeinsamen Belichtungsperiode belichtet werden. Als Ergebnis stellen die Bilddaten in einem Einzelbild, der von einem System gesammelt wurde, das einen globalen Verschluss verwendet, eine Momentaufnahme des gesamten FOV (wie beispielsweise des FOV 202) zu einer bestimmten Zeit dar. Dagegen wird in einer Rolling-Shutter-Anwendung jede Zeile in einem Einzelbild belichtet und werden Daten zu verschiedenen Zeiten aufgenommen. Somit können sich bewegende Objekte in einer Bilderfassungsvorrichtung mit einem Rollenden Verschluss verzerrt erscheinen. Diese Erscheinung wird nachstehend ausführlicher beschrieben.
  • Die zweite Bilderfassungsvorrichtung 124 und die dritte Bilderfassungsvorrichtung 126 können eine beliebige Art von Bilderfassungsvorrichtung sein. Wie die erste Bilderfassungsvorrichtung 122 kann jede der Bilderfassungsvorrichtungen 124 und 126 eine optische Achse beinhalten. In einer Ausführungsform kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss beinhalten. Alternativ kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Rollenden Verschluss beinhalten. Wie die Bilderfassungsvorrichtung 122 können die Bilderfassungsvorrichtungen 124 und 126 dazu konfiguriert sein, verschiedene Linsen und optische Elemente zu beinhalten. In einigen Ausführungsformen können Linsen, die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet sind, FOV bereitstellen (wie etwa die FOV 204 und 206), die gleich oder schmaler als ein der Bilderfassungsvorrichtung 122 zugeordnetes FOV (wie etwa das FOV 202) sind. Beispielsweise können die Bilderfassungsvorrichtungen 124 und 126 FOV von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bilderfassungsvorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern relativ zu einer dem Fahrzeug 200 zugeordneten Szene aufnehmen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Reihe von Bildscanlinien aufgenommen werden, die unter Verwendung eines Rollenden Verschlusses aufgenommen werden können. Jede Scanlinie oder Zeile kann eine Vielzahl von Pixeln aufweisen. Die Bilderfassungsvorrichtungen 124 und 126 können zweite und dritte Scanraten aufweisen, die der Aufnahme jeder der Bildscanlinien zugeordnet sind, die in der zweiten und dritten Reihe enthalten sind.
  • Jede Bilderfassungsvorrichtung 122, 124 und 126 kann an einer beliebigen geeigneten Position und Ausrichtung relativ zum Fahrzeug 200 positioniert sein. Die relative Positionierung der Bilderfassungsvorrichtungen 122, 124 und 126 kann ausgewählt werden, um dabei zu helfen, die von den Bilderfassungsvorrichtungen aufgenommenen Informationen zusammenzufassen. So kann beispielsweise in einigen Ausführungsformen ein der Bilderfassungsvorrichtung 124 zugeordnetes FOV (wie beispielsweise das FOV 204) teilweise oder vollständig mit einem der Bilderfassungsvorrichtung 122 zugeordneten FOV (wie beispielsweise dem FOV 202) und einem der Bilderfassungsvorrichtung 126 zugeordneten FOV (wie beispielsweise dem FOV 206) überlappen.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können sich auf dem Fahrzeug 200 in beliebigen geeigneten relativen Höhen befinden. In einem Fall kann es zu einem Höhenunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 kommen, der ausreichende Parallaxeninformationen bereitstellen kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A gezeigt, befinden sich die beiden Bilderfassungsvorrichtungen 122 und 124 in unterschiedlichen Höhen. Es kann auch zu einem seitlichen Verschiebungsunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 kommen, wodurch beispielsweise zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 erhalten werden. Der Unterschied der seitlichen Verschiebung kann mit dx bezeichnet werden, wie in den 2C und 2D gezeigt. In einigen Ausführungsformen kann eine Vorwärts- oder Rückwärtsverschiebung (z. B. eine Entfernungsverschiebung) zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 vorhanden sein. Zum Beispiel kann sich die Bilderfassungsvorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 befinden. Diese Art der Verschiebung kann es einer der Bilderfassungsvorrichtungen ermöglichen, potenzielle tote Winkel der anderen Bilderfassungsvorrichtung(en) abzudecken.
  • Die Bilderfassungsvorrichtungen 122 können eine beliebige geeignete Auflösungsfähigkeit aufweisen (z. B. Anzahl von Pixeln, die dem Bildsensor zugeordnet sind), und die Auflösung des/der Bildsensor(en), der/die der Bilderfassungsvorrichtung 122 zugeordnet ist/sind, kann höher, niedriger oder gleich der Auflösung des/der Bildsensor(en) sein, der/die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist/sind. In einigen Ausführungsformen kann/können der/die Bildsensor(en), der/die der Bilderfassungsvorrichtung 122 und/oder den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist/sind, eine Auflösung von 640 × 480, 1024 × 768, 1280 × 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Bildrate (z. B. die Rate, mit der eine Bilderfassungsvorrichtung einen Satz von Pixeldaten eines Einzelbilds erfasst, bevor sie sich weiterbewegt, um Pixeldaten aufzunehmen, die dem nächsten Einzelbild zugeordnet sind) kann steuerbar sein. Die Bildrate, die der Bilderfassungsvorrichtung 122 zugeordnet ist, kann höher, niedriger oder gleich der Bildrate sein, die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist. Die Bildrate, die den Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von einer Vielzahl von Faktoren abhängen, die die zeitliche Abstimmung der Bildrate beeinflussen können. Zum Beispiel können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem oder mehreren Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet sind. Im Allgemeinen können Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktrate für die Vorrichtung (z. B. ein Pixel pro Taktzyklus) erfasst werden. Zusätzlich können in Ausführungsformen, die einen Rollenden Verschluss beinhalten, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare horizontale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einer Zeile von Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet sind. Ferner können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und/oder 126 eine auswählbare vertikale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem Einzelbild (image frame) der Bilderfassungsvorrichtung 122, 124 und 126 zugeordnet sind.
  • Diese Zeitsteuerungen können die Synchronisation von Bildraten ermöglichen, die den Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet sind, selbst wenn die Zeilenscanraten von jeder unterschiedlich sind. Zusätzlich können, wie nachstehend ausführlicher erörtert wird, diese auswählbaren Zeitsteuerungen neben anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenscanraten usw.) die Synchronisation der Bilderfassung von einem Bereich ermöglichen, in dem das FOV der Bilderfassungsvorrichtung 122 mit einem oder mehreren FOVs der Bilderfassungsvorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld der Bilderfassungsvorrichtung 122 von den FOVs der Bilderfassungsvorrichtungen 124 und 126 unterscheidet.
  • Die zeitliche Abstimmung der Bildrate in der Bilderfassungsvorrichtung 122, 124 und 126 kann von der Auflösung der zugeordneten Bildsensoren abhängen. Wenn beispielsweise angenommen wird, dass ähnliche Zeilenscanraten für beide Vorrichtungen vorliegen, wenn eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 × 480 aufweist und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 × 960 aufweist, dann wird mehr Zeit benötigt, um ein Einzelbild vom Sensor mit der höheren Auflösung zu erfassen.
  • Ein weiterer Faktor, der die zeitliche Abstimmung der Bilddatenaufnahme in den Bilderfassungsvorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenscanrate. So erfordert beispielsweise die Erfassung einer Zeile von Bilddaten von einem Bildsensor, der in der Bilderfassungsvorrichtung 122, 124 und 126 enthalten ist, eine minimale Zeitdauer. Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, wird diese minimale Zeitdauer für die Erfassung einer Zeile von Bilddaten mit der maximalen Zeilenscanrate für eine bestimmte Vorrichtung in Beziehung gesetzt. Vorrichtungen, die höhere maximale Zeilenscanraten bieten, haben das Potenzial, höhere Bildraten als Vorrichtungen mit niedrigeren maximalen Zeilenscanraten bereitzustellen. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 eine maximale Zeilenscanrate aufweisen, die höher ist als eine maximale Zeilenscanrate, die der Bilderfassungsvorrichtung 122 zugeordnet ist. In einigen Ausführungsformen kann die maximale Zeilenscanrate der Bilderfassungsvorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als eine maximale Zeilenscanrate der Bilderfassungsvorrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bilderfassungsvorrichtungen 122, 124 und 126 die gleiche maximale Zeilenscanrate aufweisen, aber die Bilderfassungsvorrichtung 122 kann mit einer Scanrate betrieben werden, die kleiner oder gleich ihrer maximalen Scanrate ist. Das System kann so konfiguriert sein, dass eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 mit einer Zeilenscanrate arbeiten, die gleich der Zeilenscanrate der Bilderfassungsvorrichtung 122 ist. In anderen Fällen kann das System so konfiguriert sein, dass die Zeilenscanrate der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als die Zeilenscanrate der Bilderfassungsvorrichtung 122 betragen kann.
  • In einigen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten beinhalten. Die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 können beispielsweise einen beliebigen gewünschten Bereich relativ zu einer Umgebung des Fahrzeugs 200 beinhalten. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 dazu konfiguriert sein, Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, zu den Seiten des Fahrzeugs 200 oder Kombinationen davon zu erfassen.
  • Ferner kann die jeder Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnete Brennweite auswählbar sein (z. B. durch Einbeziehung geeigneter Linsen usw.), sodass jede Vorrichtung Bilder von Objekten in einem gewünschten Abstandsbereich relativ zum Fahrzeug 200 aufnimmt. Beispielsweise können in einigen Ausführungsformen die Bilderfassungsvorrichtungen 122, 124 und 126 Bilder von Nahaufnahmeobjekten innerhalb weniger Meter vom Fahrzeug aufnehmen. Die Bilderfassungsvorrichtungen 122, 124 und 126 können auch dazu konfiguriert sein, Bilder von Objekten in Entfernungen zu erfassen, die weiter vom Fahrzeug entfernt sind (z. B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgewählt werden, dass eine Bilderfassungsvorrichtung (z. B. die Bilderfassungsvorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug aufnehmen kann (z. B. innerhalb von 10m oder innerhalb von 20 m), während die anderen Bilderfassungsvorrichtungen (z. B. die Bilderfassungsvorrichtungen 124 und 126) Bilder von weiter entfernten Objekten (z. B. größer als 20 m, 50 m, 100 m, 150 m usw.) vom Fahrzeug 200 aufnehmen können.
  • Gemäß einigen Ausführungsformen kann das FOV einer oder mehrerer Bilderfassungsvorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein FOV von 140 Grad aufzuweisen, insbesondere für die Bilderfassungsvorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Bereichs in der Nähe des Fahrzeugs 200 aufzunehmen. Beispielsweise kann die Bilderfassungsvorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links vom Fahrzeug 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bilderfassungsvorrichtung 122 ein breites FOV (z. B. mindestens 140 Grad) aufweist.
  • Das Sichtfeld, das jeder der Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von den jeweiligen Brennweiten abhängen. Beispielsweise nimmt mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können so konfiguriert sein, dass sie beliebige geeignete Sichtfelder aufweisen. In einem bestimmten Beispiel kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 46 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 23 Grad aufweisen und die Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 52 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 26 Grad aufweisen und die Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bilderfassungsvorrichtung 122 zu den FOVs der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 von 1,5 bis 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so konfiguriert sein, dass ein Sichtfeld der Bilderfassungsvorrichtung 122 zumindest teilweise oder vollständig mit einem Sichtfeld der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so konfiguriert sein, dass die Sichtfelder der Bilderfassungsvorrichtungen 124 und 126 beispielsweise in das Sichtfeld der Bilderfassungsvorrichtung 122 fallen (z. B. schmaler als dieses sind) und ein gemeinsames Zentrum mit diesem teilen. Bei anderen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen oder können in ihren FOVs teilweise überlappen. In einigen Ausführungsformen können die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgerichtet sein, dass ein Zentrum der Bilderfassungsvorrichtungen 124 und/oder 126 mit schmalerem FOV in einer unteren Hälfte des Sichtfelds der Vorrichtung 122 mit breiterem FOV angeordnet sein kann.
  • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 2F angegeben, kann das Fahrzeug 200 das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 beinhalten. Das System 100 kann Eingaben (z. B. Steuersignale) an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. eine beliebige drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zum Übertragen von Daten) bereitstellen. Zum Beispiel kann das System 100 basierend auf der Analyse von Bildern, die von den Bilderfassungsvorrichtungen 122, 124 und/oder 126 aufgenommen wurden, Steuersignale an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Veranlassen einer Beschleunigung, einer Kurve, einer Fahrspurverschiebung usw.). Ferner kann das System 100 Eingaben von einem oder mehreren von Drosselsystem 220, Bremssystem 230 und Lenksystem 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt usw.). Weitere Details werden in Verbindung mit den nachstehenden 4-7 bereitgestellt.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Fahrgast des Fahrzeugs 200 beinhalten. Zum Beispiel kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Tasten 340 und ein Mikrofon 350 beinhalten. Ein Fahrer oder Fahrgast des Fahrzeugs 200 kann auch Griffe (die sich z. B. an oder nahe der Lenksäule des Fahrzeugs 200 befinden, einschließlich beispielsweise Blinkgriffe), Tasten (die sich z. B. am Lenkrad des Fahrzeugs 200 befinden) und dergleichen verwenden, um mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 benachbart zu einem Rückspiegel 310 positioniert sein. Gleichermaßen kann sich die Bilderfassungsvorrichtung 122 in einigen Ausführungsformen in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) beinhalten. Zum Beispiel kann das System 100 verschiedene Benachrichtigungen (z. B. Alarme) über die Lautsprecher 360 bereitstellen.
  • 3B-3D sind Veranschaulichungen einer beispielhaften Kamerahalterung 370, die dazu konfiguriert ist, hinter einem Rückspiegel (z. B. Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, übereinstimmend mit offenbarten Ausführungsformen. Wie in 3B gezeigt, kann die Kamerahalterung 370 Bilderfassungsvorrichtungen 122, 124 und 126 beinhalten. Die Bilderfassungsvorrichtungen 124 und 126 können hinter einer Blendschutzscheibe 380 positioniert sein, die bündig mit der Fahrzeugwindschutzscheibe sein kann und eine Zusammensetzung aus Film- und/oder Antireflexionsmaterialien beinhalten kann. Zum Beispiel kann die Blendschutzscheibe 380 derart positioniert sein, dass die Schutzscheibe an einer Fahrzeugwindschutzscheibe ausgerichtet ist, die eine übereinstimmende Neigung aufweist. In einigen Ausführungsformen kann jede der Bilderfassungsvorrichtungen 122, 124 und 126 hinter der Blendschutzscheibe 380 positioniert sein, wie zum Beispiel in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126, der Kamerahalterung 370 und der Blendschutzscheibe 380 beschränkt. 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung 370 aus einer vorderen Perspektive.
  • Für einen Fachmann, der den Vorteil dieser Offenbarung hat, versteht es sich, dass zahlreiche Variationen und/oder Modifikationen an den vorstehenden offenbarten Ausführungsformen vorgenommen werden können. Zum Beispiel sind nicht alle Komponenten für den Betrieb des Systems 100 wesentlich. Ferner kann sich eine beliebige Komponente in einem beliebigen geeigneten Teil des Systems 100 befinden und die Komponenten können in eine Vielzahl von Konfigurationen umgeordnet werden, während die Funktionalität der offenbarten Ausführungsformen bereitgestellt wird. Daher sind die vorstehenden Konfigurationen Beispiele und unabhängig von den vorstehend erörterten Konfigurationen kann das System 100 einen breiten Funktionsumfang bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 als Reaktion auf die Analyse zu navigieren.
  • Wie nachstehend ausführlicher erörtert und mit verschiedenen offenbarten Ausführungsformen konsistent, kann das System 100 eine Vielzahl von Merkmalen bereitstellen, die sich auf autonomes Fahren und/oder Fahrerassistenztechnologie beziehen. Zum Beispiel kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Ortsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von Sensoren analysieren, die im Fahrzeug 200 beinhaltet sind. Das System 100 kann die Daten zur Analyse von beispielsweise der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion ausführen sollte oder nicht, und dann die bestimmte Aktion ohne menschliches Eingreifen automatisch ausführen. Wenn das Fahrzeug 200 zum Beispiel ohne menschliches Eingreifen navigiert, kann das System 100 das Bremsen, die Beschleunigung und/oder das Lenken des Fahrzeugs 200 automatisch steuern (z. B. durch Senden von Steuersignalen an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240). Ferner kann das System 100 die gesammelten Daten analysieren und Warnungen und/oder Alarme an Fahrzeuginsassen basierend auf der Analyse der gesammelten Daten ausgeben. Zusätzliche Details in Bezug auf die verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden nachstehend bereitgestellt.
  • Vorwärts gerichtetes Multibildgebungssystem
  • Wie vorstehend erörtert, kann das System 100 eine Fahrtunterstützungsfunktionalität bereitstellen, die ein Multikamerasystem verwendet. Das Multikamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Multikamerasystem eine oder mehrere Kameras beinhalten, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs gerichtet sind. In einer Ausführungsform kann das System 100 zum Beispiel ein Zweikamera-Bildgebungssystem verwenden, wobei eine erste Kamera und eine zweite Kamera (z. B. Bilderfassungsvorrichtungen 122 und 124) an der Vorderseite und/oder den Seiten eines Fahrzeugs (z. B. Fahrzeug 200) positioniert sein können. Die erste Kamera kann ein Sichtfeld aufweisen, das größer als, kleiner als oder teilweise überlappend mit dem Sichtfeld der zweiten Kamera ist. Zusätzlich kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der ersten Kamera bereitgestellt werden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der zweiten Kamera bereitgestellt werden. Die Ausgaben (z. B. verarbeitete Informationen) des ersten und zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten Kamera als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, bei dem jede der Kameras ein anderes Sichtfeld aufweist. Ein derartiges System kann daher Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die sich in variierenden Abständen sowohl vor als auch neben dem Fahrzeug befinden. Verweise auf eine monokulare Bildanalyse können sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf Bildern durchgeführt wird, die von einem einzelnen Sichtfeld (z. B. von einer einzelnen Kamera) aufgenommen werden. Eine Stereobildanalyse kann sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bilderfassungsparameters aufgenommen werden. Zum Beispiel können aufgenommene Bilder, die zum Durchführen einer Stereobildanalyse geeignet sind, Bilder beinhalten, die aufgenommen werden: von zwei oder mehr unterschiedlichen Positionen, von unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen usw.
  • Zum Beispiel kann das System 100 in einer Ausführungsform eine Konfiguration mit drei Kameras unter Verwendung der Bilderfassungsvorrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bilderfassungsvorrichtung 122 ein schmales Sichtfeld bereitstellen (z. B. 34 Grad oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad ausgewählt sind, usw.), die Bilderfassungsvorrichtung 124 kann ein breites Sichtfeld bereitstellen (z. B. 150 Grad oder andere Werte, die aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählt sind) und die Bilderfassungsvorrichtung 126 kann ein mittleres Sichtfeld bereitstellen (z. B. 46 Grad oder andere Werte, die aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählt sind). In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 126 als eine Haupt- oder Primärkamera fungieren. Die Bilderfassungsvorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 positioniert sein und im Wesentlichen nebeneinander positioniert sein (z. B. 6 cm voneinander entfernt). Ferner können in einigen Ausführungsformen, wie vorstehend erörtert, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 hinter der Blendschutzscheibe 380 montiert sein, die bündig mit der Windschutzscheibe des Fahrzeugs 200 ist. Eine derartige Abschirmung kann fungieren, um den Aufprall von Reflexionen von innerhalb des Fahrzeugs auf die Bilderfassungsvorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform, wie vorstehend in Verbindung mit den 3B und 3C erörtert, kann die Kamera mit breitem Sichtfeld (z. B. Bilderfassungsvorrichtung 124 im vorstehenden Beispiel) niedriger als die Kameras mit schmalem und Hauptsichtfeld montiert sein (z. B. Bilderfassungsvorrichtungen 122 und 126 im vorstehenden Beispiel). Diese Konfiguration kann eine freie Sichtlinie von der Kamera mit breitem Sichtfeld bereitstellen. Um Reflexionen zu reduzieren, können die Kameras nahe der Windschutzscheibe des Fahrzeugs 200 montiert sein und können Polarisatoren an den Kameras beinhalten, um reflektiertes Licht zu dämpfen.
  • Ein System mit drei Kameras kann bestimmte Leistungsmerkmale bereitstellen. Zum Beispiel können einige Ausführungsformen eine Fähigkeit beinhalten, die Erfassung von Objekten durch eine Kamera basierend auf Erfassungsergebnissen von einer anderen Kamera zu validieren. In der vorstehend erörterten Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 zum Beispiel drei Verarbeitungsvorrichtungen (z. B. drei EyeQ-Reihen von Prozessorchips, wie vorstehend erörtert) beinhalten, wobei jede Verarbeitungsvorrichtung für die Verarbeitung von Bildern dediziert ist, die von einer oder mehreren der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden.
  • Bei einem System mit drei Kameras kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Kamera mit schmalem Sichtfeld empfangen und eine Bildverarbeitung der Kamera mit schmalem Sichtfeld durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampel und andere Straßenobjekte zu erfassen. Weiterhin kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern von der Hauptkamera und der schmalen Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen kombinieren, die basierend auf Informationen von einer anderen Kamera berechnet werden.
  • Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erfassen. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen und basierend auf der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene (z. B. eine Struktur aus Bewegung) erstellen. Die zweite Verarbeitungsvorrichtung kann die Struktur aus der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um mit den Stereo-3D-Bildern kombiniert zu werden.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der Kamera mit breitem FOV empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erfassen. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren, um Objekte zu identifizieren, die sich im Bild bewegen, wie beispielsweise Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen kann das unabhängige Aufnehmen und Verarbeiten von Strömen von bildbasierten Informationen eine Gelegenheit bereitstellen, Redundanz im System bereitzustellen. Eine solche Redundanz kann zum Beispiel das Verwenden einer ersten Bilderfassungsvorrichtung und der Bilder beinhalten, die von dieser Vorrichtung verarbeitet werden, um Informationen zu validieren und/oder zu ergänzen, die durch Aufnehmen und Verarbeiten von Bildinformationen von mindestens einer zweiten Bilderfassungsvorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122 und 124) verwenden, um Navigationsunterstützung für das Fahrzeug 200 bereitzustellen und eine dritte Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 126) zu verwenden, um Redundanz bereitzustellen und die Analyse von Daten zu validieren, die von den anderen beiden Bilderfassungsvorrichtungen empfangen werden. Zum Beispiel können in einer solchen Konfiguration die Bilderfassungsvorrichtungen 122 und 124 Bilder zur Stereoanalyse durch das System 100 bereitstellen, um das Fahrzeug 200 zu navigieren, während die Bilderfassungsvorrichtung 126 Bilder zur monokularen Analyse durch das System 100 bereitstellen kann, um Redundanz und Validierung von Informationen bereitzustellen, die basierend auf Bildern erhalten werden, die von der Bilderfassungsvorrichtung 122 und/oder der Bilderfassungsvorrichtung 124 aufgenommen wurden. Das heißt, die Bilderfassungsvorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als ein redundantes Teilsystem zum Bereitstellen einer Überprüfung der Analyse betrachtet werden, die von den Bilderfassungsvorrichtungen 122 und 124 abgeleitet wurde (z. B. um ein automatisches Notbremssystem (AEB-System) bereitzustellen). Darüber hinaus können in einigen Ausführungsformen Redundanz und Validierung von empfangenen Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren empfangen werden (z. B. Radar, Lidar, akustische Sensoren, Informationen, die von einem oder mehreren Sendeempfängern außerhalb eines Fahrzeugs empfangen werden usw.).
  • Ein Fachmann wird erkennen, dass die vorstehenden Kamerakonfigurationen, Kameraplatzierungen, Anzahl von Kameras, Kameraorte usw. nur Beispiele sind. Diese Komponenten und andere, die in Bezug auf das Gesamtsystem beschrieben sind, können in einer Vielzahl von unterschiedlichen Konfigurationen zusammengebaut und verwendet werden, ohne vom Umfang der offenbarten Ausführungsformen abzuweichen. Weitere Details in Bezug auf die Verwendung eines Multikamerasystems, um eine Fahrerassistenzfunktionalität und/oder eine autonome Fahrzeugfunktionalität bereitzustellen, folgen nachstehend.
  • 4 ist ein beispielhaftes Funktionsblockdiagramm des Speichers 140 und/oder 150, der mit Anweisungen zum Durchführen einer oder mehrerer Vorgänge gespeichert/programmiert werden kann, die mit den offenbarten Ausführungsformen konsistent sind. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 gezeigt, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereo-Bildanalysemodul 404, ein Geschwindigkeits- und Beschleunigung-Modul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration des Speichers 140 beschränkt. Ferner können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die Anweisungen ausführen, die in einem beliebigen der Module 402, 404, 406 und 408 gespeichert sind, die im Speicher 140 beinhaltet sind. Ein Fachmann wird verstehen, dass sich Verweise in den folgenden Erörterungen auf die Verarbeitungseinheit 110 auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können Schritte eines beliebigen der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie z. B. Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit den nachstehenden 5A-5D beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erfassen eines Satzes von Merkmalen innerhalb des Satzes von Bildern beinhalten, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und jedes andere Merkmal, das einer Umgebung eines Fahrzeugs zugeordnet ist. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie z. B. eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie z. B. Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine Stereobildanalyse des ersten und zweiten Satzes von Bildern durchführen, die durch eine Kombination von Bilderfassungsvorrichtungen erfasst werden, die aus einer beliebigen der Bilderfassungsvorrichtungen 122, 124 und 126 ausgewählt sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen einer Stereobildanalyse basierend auf einem ersten Satz von Bildern, die von der Bilderfassungsvorrichtung 124 erfasst werden, und einem zweiten Satz von Bildern, die von der Bilderfassungsvorrichtung 126 erfasst werden, beinhalten. Wie in Verbindung mit den nachstehenden 6 beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Erfassen eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern beinhalten, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und dergleichen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie z. B. eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem ungelernten System zugeordnet sind, wie z. B. einem System, das konfiguriert sein kann, um Computer Vision-Algorithmen zu verwenden, um Objekte in einer Umgebung zu erfassen und/oder zu kennzeichnen, aus der sensorische Informationen aufgenommen und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule konfiguriert sein, um eine Kombination eines trainierten und ungelernten Systems zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die konfiguriert ist, um Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die konfiguriert sind, um eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu verursachen. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Derartige Daten können beispielsweise eine Zielposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem Fahrzeug in der Nähe, Fußgänger oder Straßenobjekt, Positionsinformationen für das Fahrzeug 200 relativ zu Fahrspur-Markierungen der Straße und dergleichen beinhalten. Darüber hinaus kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingaben (z. B. Informationen von Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie beispielsweise dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200, berechnen. Basierend auf der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine Änderung der Geschwindigkeit und/oder Beschleunigung auszulösen, indem sie beispielsweise die Bremse physisch niederdrückt oder das Beschleunigen des Fahrzeugs 200 herunterfährt.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die von der Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Derartige Daten können Positions- und Geschwindigkeitsinformationen beinhalten, die mit Fahrzeugen in der Nähe, Fußgängern und Straßenobjekten, Zielpositionsinformationen für das Fahrzeug 200 und dergleichen assoziiert sind. Zusätzlich kann in einigen Ausführungsformen die Navigationsreaktion (teilweise oder vollständig) auf Kartendaten, einer vorbestimmten Position des Fahrzeugs 200 und/oder einer relativen Geschwindigkeit oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die durch die Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erfasst werden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z. B. Informationen von Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie beispielsweise dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem sie beispielsweise das Lenkrad des Fahrzeugs 200 dreht, um eine Drehung eines vorbestimmten Winkels zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als Eingabe für die Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zum Berechnen einer Geschwindigkeitsänderung des Fahrzeugs 200 verwenden.
  • Darüber hinaus können alle hierin offenbarten Module (z. B. Module 402, 404 und 406) Techniken implementieren, die einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem ungelernten System zugeordnet sind.
  • 5A ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500A zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf monokularer Bildanalyse zeigt, übereinstimmend mit offenbarten Ausführungsformen. Bei Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. So kann beispielsweise eine Kamera, die in der Bilderfassungseinheit 120 enthalten ist (wie z. B. die Bilderfassungsvorrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise zu den Seiten oder dem Heck eines Fahrzeugs) aufnehmen und über eine Datenverbindung (z. B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern bei Schritt 520 zu analysieren, wie in Verbindung mit den nachstehenden 5B-5D ausführlicher beschrieben. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern erfassen, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um verschiedene Straßengefahren bei Schritt 520 zu erfassen, wie z. B. Teile eines Lkw-Reifens, heruntergefallene Verkehrszeichen, lose Ladung, kleine Tiere und dergleichen. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Erfassung derartiger Gefahren schwieriger machen kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Mehrere Einzelbilder-Analyse (multi-frame analysis) an der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erfassen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Einzelbildern schätzen und die Disparitäten in Pixeln zwischen den Einzelbildern berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren zu erfassen, die über der Straßenoberfläche vorhanden sind.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die bei Schritt 520 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, zu veranlassen. Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten. Beispielsweise kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, eine Fahrspur zu wechseln und dann zu beschleunigen, indem sie beispielsweise Steuersignale sequenziell an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 überträgt. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, zu bremsen, während es gleichzeitig die Fahrspur wechselt, indem sie beispielsweise Steuersignale gleichzeitig an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 überträgt.
  • 5B ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500B zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Bei Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein oder mehrere Bilder scannen, die Bilder mit einem oder mehreren vorbestimmten Mustern vergleichen und innerhalb jedes Bilds mögliche Orte identifizieren, die Objekte von Interesse enthalten können (z. B. Fahrzeuge, Fußgänger oder Abschnitte davon). Die vorbestimmten Muster können so gestaltet werden, dass eine hohe Rate von „falschen Treffern“ („false hits“) und eine niedrige Rate von „Aussetzern“ („misses“) erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Ähnlichkeitsschwellenwert mit vorbestimmten Mustern verwenden, um Kandidatenobjekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Dies kann es der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit eines Aussetzens (z. B. Nicht-Identifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu reduzieren.
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können von verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen assoziiert sind, die in einer Datenbank (z. B. einer im Speicher 140 gespeicherten Datenbank) gespeichert sind. Eigenschaften können Objektform, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen beinhalten. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten abzulehnen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Einzelbilder analysieren, um zu bestimmen, ob Objekte im Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Einzelbilder verfolgen und Einzelbild-für-Einzelbild-Daten akkumulieren, die mit dem erkannten Objekt assoziiert sind (z. B. Größe, Position relativ zum Fahrzeug 200 usw.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen und die Einzelbild-für-Einzelbild-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erkannten Objekte erstellen. Derartige Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (relativ zum Fahrzeug 200) beinhalten, die mit den erkannten Objekten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätzungstechniken unter Verwendung einer Reihe von zeitbasierten Beobachtungen wie etwa Kalman-Filtern oder linearer quadratischer Schätzung (LQE) und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) erstellen. Die Kalman-Filter können auf einer Messung der Objektskala basieren, wobei die Skalenmessung proportional zu einer Zeit bis zur Kollision ist (z. B. der Zeitbetrag, den das Fahrzeug 200 benötigt, um das Objekt zu erreichen). Somit kann die Verarbeitungseinheit 110 durch Durchführen der Schritte 540 -546 Fahrzeuge und Fußgänger identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Informationen (z. B. Position, Geschwindigkeit, Größe) ableiten, die mit den Fahrzeugen und Fußgängern assoziiert sind. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 veranlassen, wie vorstehend in Verbindung mit 5A beschrieben.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten des Erkennens eines „falschen Treffers“ („false hit“) und des Verpassens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu reduzieren. Die optische Flussanalyse kann sich beispielsweise auf das Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in einem oder mehreren Bildern beziehen, die mit anderen Fahrzeugen und Fußgängern assoziiert sind und die sich von der Straßenoberflächenbewegung unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die verschiedenen Positionen der Objekte über mehrere Einzelbilder beobachtet, die zu verschiedenen Zeiten aufgenommen werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse ein anderes Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann die optische Flussanalyse in Kombination mit den Schritten 540 -546 durchführen, um Redundanz zum Erkennen von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500C zum Detektieren von Straßenmarkierungen und/oder Fahrspur-Geometrieinformationen in einem Satz von Bildern zeigt, übereinstimmend mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Bei Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten durch Scannen eines oder mehrerer Bilder erkennen. Um Segmente von Fahrspur-Markierungen, Fahrspur-Geometrieinformationen und anderen relevanten Straßenmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt wurden (z. B. kleinere Schlaglöcher, kleine Steine usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die Segmente, die in Schritt 550 erkannt wurden, die zu derselben Straßenmarkierung oder Fahrspur-Markierung gehören, gruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell entwickeln, um die erkannten Segmente darzustellen, wie beispielsweise ein mathematisches Modell.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen erstellen, die mit den detektierten Segmenten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Segmente von der Bildebene auf die Realwelt-Ebene erstellen. Die Projektion kann unter Verwendung eines Polynoms 3. Grad charakterisiert werden, das Koeffizienten aufweist, die physischen Eigenschaften entsprechen, wie beispielsweise der Position, Neigung, Krümmung und Krümmungsableitung der detektierten Straße. Beim Erzeugen der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche sowie Neigungs- und Rollraten, die mit dem Fahrzeug 200 assoziiert sind, berücksichtigen. Zusätzlich kann die Verarbeitungseinheit 110 die Straßenhöhe durch Analysieren von Positions- und Bewegungshinweisen, die auf der Straßenoberfläche vorhanden sind, modellieren. Ferner kann die Verarbeitungseinheit 110 die Neigungs- und Rollraten schätzen, die mit dem Fahrzeug 200 assoziiert sind, indem sie einen Satz von Merkmalspunkten in einem oder mehreren Bildern verfolgt.
  • Bei Schritt 556 kann die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse durchführen, indem sie beispielsweise die erkannten Segmente über aufeinanderfolgende Einzelbilder verfolgt und Einzelbild-für-Einzelbild-Daten akkumuliert, die mit den erkannten Segmenten assoziiert sind. Wenn die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse (multi-frame analysis) durchführt, kann der Satz von Messungen, der bei Schritt 554 erstellt wurde, zuverlässiger werden und mit einer zunehmend höheren Konfidenzstufe assoziiert werden. Somit kann die Verarbeitungseinheit 110 durch Durchführen der Schritte 550, 552, 554 und 556 Straßenmarkierungen identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Fahrspur-Geometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie vorstehend in Verbindung mit 5A beschrieben.
  • Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen berücksichtigen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seiner Umgebung weiter zu entwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 auf sichere Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die detektierten Straßenränder und - barrieren und/oder allgemeine Straßenformbeschreibungen berücksichtigen, die aus Kartendaten (wie beispielsweise Daten aus der Kartendatenbank 160) extrahiert wurden. Durch Berücksichtigen zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz zum Detektieren von Straßenmarkierungen und Fahrspurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500D zum Detektieren von Ampeln in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. Bei Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern scannen und Objekte identifizieren, die an Orten in den Bildern erscheinen, die wahrscheinlich Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu erstellen, wobei diese Objekte ausgeschlossen werden, die wahrscheinlich nicht den Ampeln entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften erfolgen, die mit Ampeln assoziiert sind, wie beispielsweise Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuersignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse am Satz von Kandidatenobjekten durchführen, die mögliche Ampeln reflektieren. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Einzelbilder verfolgen, die Position der Kandidatenobjekte in der realen Welt schätzen und diese sich bewegenden Objekte (die wahrscheinlich keine Ampeln sind) herausfiltern. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen und die relative Position der detektierten Farben identifizieren, die innerhalb möglicher Ampeln erscheinen.
  • Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination von Folgendem basieren: (i) der Anzahl von Fahrspuren, die auf beiden Seiten des Fahrzeugs 200 detektiert wurden, (ii) Markierungen (wie beispielsweise Pfeilmarkierungen), die auf der Straße detektiert wurden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie beispielsweise Daten aus der Kartendatenbank 160) extrahiert wurden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet wurden. Zusätzlich kann die Verarbeitungseinheit 110 eine Übereinstimmung zwischen den Ampeln bestimmen, die bei Schritt 560 detektiert wurden, und den Fahrspuren, die in der Nähe des Fahrzeugs 200 erscheinen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 die Konfidenzstufe aktualisieren, die mit der analysierten Kreuzungsgeometrie und den detektierten Ampeln assoziiert ist. So kann beispielsweise die Anzahl der Ampeln, deren Erscheinen an der Kreuzung geschätzt wird, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung erscheint, die Konfidenzstufe beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf der Konfidenzstufe die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Durchführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie vorstehend in Verbindung mit 5A beschrieben.
  • 5E ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500E zum Veranlassen einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 basierend auf einem Fahrzeugweg zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugweg erstellen, der mit dem Fahrzeug 200 assoziiert ist. Der Fahrzeugweg kann unter Verwendung eines Satzes von Punkten dargestellt werden, die in den Koordinaten (x, z) ausgedrückt sind, und der Abstand di zwischen zwei Punkten im Satz von Punkten kann in den Bereich von 1 bis 5 Metern fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugweg unter Verwendung von zwei Polynomen, wie etwa links und rechts Straßenpolynomen, erstellen. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den zwei Polynomen berechnen und jeden Punkt, der im resultierenden Fahrzeugweg beinhaltet ist, um einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) versetzen, falls vorhanden (ein Versatz von null kann der Fahrt in der Mitte einer Fahrspur entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen beliebigen zwei Punkten im Fahrzeugweg sein. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugwegs um die Hälfte der geschätzten Fahrspurbreite plus einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) zu versetzen.
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 den Fahrzeugweg aktualisieren, der bei Schritt 570 erstellt wurde. Die Verarbeitungseinheit 110 kann den Fahrzeugweg, der bei Schritt 570 erstellt wurde, unter Verwendung einer höheren Auflösung rekonstruieren, sodass der Abstand dk zwischen zwei Punkten im Satz von Punkten, die den Fahrzeugweg darstellen, kleiner als der vorstehend beschriebene Abstand dl ist. Beispielsweise kann der Abstand dk in den Bereich von 0,1 bis 0,3 Metern fallen. Die Verarbeitungseinheit 110 kann den Fahrzeugweg unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S liefern kann, der der Gesamtlänge des Fahrzeugwegs entspricht (d. h. basierend auf dem Satz von Punkten, die den Fahrzeugweg darstellen).
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl) basierend auf dem aktualisierten Fahrzeugweg bestimmen, der bei Schritt 572 erstellt wurde. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann mit einem Vorausschauabstand und einer Vorausschauzeit assoziiert sein. Der Vorausschauabstand, der eine untere Grenze im Bereich von 10 bis 20 Metern aufweisen kann, kann als das Produkt der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn beispielsweise die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann der Vorausschauabstand ebenfalls abnehmen (z. B. bis er die untere Grenze erreicht). Die Vorausschauzeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung einer oder mehrerer Regelkreise sein, die mit dem Veranlassen einer Navigationsreaktion im Fahrzeug 200 assoziiert sind, wie beispielsweise der Kursfehlerverfolgungs-Regelkreis. So kann beispielsweise die Verstärkung des Kursfehlerverfolgungs-Regelkreises von der Bandbreite eines Gierratenregelkreises, eines Lenkstellgliedregelkreises, einer Fahrzeugseitendynamik und dergleichen abhängen. Je höher also die Verstärkung des Kursfehlerverfolgungs-Regelkreises ist, desto geringer ist die Vorausschauzeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler- und Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Verarbeitungseinheit 110 kann den Kursfehler durch Berechnen des Arkustangens des Vorausschaupunkts bestimmen, z. B. arctan (xl/ zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Kursfehlers und einer übergeordneten Steuerverstärkung bestimmen. Die übergeordnete Steuerverstärkung kann gleich sein wie folgt: (2/Vorausschauzeit), wenn der Vorausschauabstand nicht an der unteren Grenze liegt. Andernfalls kann die übergeordnete Steuerverstärkung gleich sein wie folgt: (2* Geschwindigkeit des Fahrzeugs 200/Vorausschauabstand).
  • 5F ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, übereinstimmend mit den offenbarten Ausführungsformen. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem vorausfahrenden Fahrzeug (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt) zugeordnet sind. Beispielsweise kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der vorstehend in Verbindung mit den 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (dem Fahrzeug 200 zugeordnet) und/oder eine Schneckenspur (z. B. einen Satz von Punkten, die einen Weg beschreiben, den das vorausfahrende Fahrzeug nimmt) unter Verwendung der vorstehend in Verbindung mit 5E beschriebenen Techniken bestimmen.
  • Bei Schritt 582 kann die Verarbeitungseinheit 110 die Navigationsinformationen analysieren, die bei Schritt 580 bestimmt wurden. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einer Schneckenspur und einem Straßenpolynom (z. B. entlang der Spur) berechnen. Wenn die Varianz dieses Abstands entlang der Spur einen vorbestimmten Schwellenwert überschreitet (beispielsweise 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. Im Fall, dass mehrere Fahrzeuge als vor dem Fahrzeug 200 fahrend detektiert werden, kann die Verarbeitungseinheit 110 die Schneckenspuren vergleichen, die jedem Fahrzeug zugeordnet sind. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Fahrspur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (die dem vorausfahrenden Fahrzeug zugeordnet ist) mit der erwarteten Krümmung des Straßensegments vergleichen, in dem das vorausfahrende Fahrzeug fährt. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus Schneckenspuren anderer Fahrzeuge, aus Vorwissen über die Straße und dergleichen extrahiert werden. Wenn der Krümmungsunterschied der Schneckenspur und die erwartete Krümmung des Straßensegments einen vorbestimmten Schwellenwert überschreiten, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem Vorausschaupunkt (der dem Fahrzeug 200 zugeordnet ist) über einen bestimmten Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn der Abstand zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Vorausschaupunkt während des bestimmten Zeitraums variiert und die kumulative Variationssumme einen vorbestimmten Schwellenwert überschreitet (beispielsweise 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur durch Vergleichen des seitlichen Abstands, der entlang der Spur zurückgelegt wurde, mit der erwarteten Krümmung der Schneckenspur analysieren. Der erwartete Krümmungsradius kann gemäß der Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei (δx) den zurückgelegten seitlichen Abstand darstellt und (δz) den zurückgelegten Längsabstand darstellt. Wenn der Unterschied zwischen dem zurückgelegten seitlichen Abstand und der erwarteten Krümmung einen vorbestimmten Schwellenwert überschreitet (z. B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des vorausfahrenden Fahrzeugs analysieren. Wenn die Position des vorausfahrenden Fahrzeugs ein Straßenpolynom verdeckt (z. B. das vorausfahrende Fahrzeug auf dem Straßenpolynom überlagert ist), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. Im Fall, dass die Position des vorausfahrenden Fahrzeugs derart ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug detektiert wird und die Schneckenspuren der zwei Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das vorausfahrende Fahrzeug 200 die Fahrspur wechselt oder nicht. Zum Beispiel kann die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Durchschnitt der einzelnen bei Schritt 582 durchgeführten Analysen vornehmen. Unter einem derartigen Schema kann zum Beispiel einer Entscheidung durch die Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt, basierend auf einer bestimmten Art von Analyse ein Wert von „1“ (und „0“, um eine Bestimmung darzustellen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur nicht wechselt) zugewiesen werden. Verschiedenen bei Schritt 582 durchgeführten Analysen können unterschiedliche Gewichtungen zugewiesen werden und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 600 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf Stereo-Bildanalyse zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. So können beispielsweise Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie z. B. die Bilderfassungsvorrichtungen 122 und 124 mit den Sichtfeldern 202 und 204), eine erste und zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 aufnehmen und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereo-Bildanalysemodul 404 ausführen, um eine Stereo-Bildanalyse der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale innerhalb der Bilder zu detektieren, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Stereo-Bildanalyse kann auf eine Weise durchgeführt werden, die den in Verbindung mit den vorstehenden 5A-5D beschriebenen Schritten ähnlich ist. Beispielsweise kann die Verarbeitungseinheit 110 das Stereo-Bildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Straßengefahren usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu detektieren, eine Teilmenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und eine Mehrere Einzelbilder-Analyse durchzuführen, Messungen zu erstellen und eine Konfidenzstufe für die verbleibenden Kandidatenobjekte zu bestimmen. Beim Durchführen der vorstehenden Schritte kann die Verarbeitungseinheit 110 Informationen sowohl aus der ersten als auch aus der zweiten Vielzahl von Bildern berücksichtigen, und nicht nur Informationen aus einem Satz von Bildern. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilmengen aus den beiden Strömen von aufgenommenen Bildern) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als ein weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z. B. relativ zum Fahrzeug 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern erscheint, aber nicht das andere oder relativ zu anderen Unterschieden, die relativ zu Objekten vorhanden sein können, die erscheinen, wenn die beiden Bildströme erscheinen. Beispielsweise können Position, Geschwindigkeit und/oder Beschleunigung relativ zum Fahrzeug 200 basierend auf Trajektorien, Positionen, Bewegungscharakteristiken usw. von Merkmalen bestimmt werden, die mit einem Objekt assoziiert sind, das in einem oder beiden der Bildströme erscheint.
  • Bei Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die bei Schritt 620 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, zu veranlassen. Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung, eine Änderung der Geschwindigkeit, Bremsen und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten.
  • 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 700 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. So können beispielsweise Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie z. B. die Bilderfassungsvorrichtungen 122, 124 und 126 mit den Sichtfeldern 202, 204 und 206), eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor und/oder seitlich des Fahrzeugs 200 aufnehmen und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. So kann beispielsweise jede der Bilderfassungsvorrichtungen 122, 124, 126 eine zugehörige Datenschnittstelle zum Übertragen von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Bei Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale innerhalb der Bilder zu erfassen, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Analyse kann auf eine Weise durchgeführt werden, die den in Verbindung mit den vorstehenden 5A-5D und 6 beschriebenen Schritten ähnlich ist. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den in Verbindung mit den vorstehenden 5A-5D beschriebenen Schritten) an jedem der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereo-Bildanalyse (z. B. über die Ausführung des Stereo-Bildanalysemoduls 404 und basierend auf den in Verbindung mit den vorstehenden 6 beschriebenen Schritten) an der ersten und zweiten Vielzahl von Bildern, der zweiten und dritten Vielzahl von Bildern und/oder der ersten und dritten Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von monokularen und Stereo-Bildanalysen durchführen. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereo-Bildanalyse (z. B. über die Ausführung des Stereo-Bildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Orte und Sichtfelder 202, 204 und 206 - kann die Arten von Analysen beeinflussen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 oder die Arten von Analysen beschränkt, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 ein Testen am System 100 basierend auf den Bildern durchführen, die bei den Schritten 710 und 720 erfasst und analysiert wurden. Ein solches Testen kann einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen der Bilderfassungsvorrichtungen 122, 124 und 126 bereitstellen. Zum Beispiel kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fälle, in denen das System 100 das Vorhandensein eines Fahrzeugs oder Fußgängers falsch bestimmt hat) und „Aussetzer“ („misses“) bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen veranlassen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie beispielsweise der Anzahl, den Arten und den Größen von Objekten, die in jedem der Vielzahl von Bildern detektiert werden. Die Verarbeitungseinheit 110 kann auch die Auswahl basierend auf Bildqualität und Auflösung, dem effektiven Sichtfeld, das in den Bildern reflektiert wird, der Anzahl der aufgenommenen Einzelbilder, dem Ausmaß, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Einzelbildern erscheinen (z. B. dem Prozentsatz der Einzelbilder, in denen ein Objekt erscheint, dem Anteil des Objekts, das in jedem solchen Einzelbild erscheint, usw.) und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, indem sie bestimmt, inwieweit Informationen, die von einer Bildquelle abgeleitet werden, mit Informationen konsistent sind, die von anderen Bildquellen abgeleitet werden. Zum Beispiel kann die Verarbeitungseinheit 110 die verarbeiteten Informationen, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 abgeleitet werden (ob durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination der beiden) kombinieren und visuelle Indikatoren (z. B. Fahrspur-Markierungen, ein detektiertes Fahrzeug und seinen Ort und/oder Weg, eine detektierte Ampel usw.) bestimmen, die über die Bilder konsistent sind, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die über die aufgenommenen Bilder inkonsistent sind (z. B. ein Fahrzeug, das die Fahrspur wechselt, ein Fahrspurmodell, das ein Fahrzeug anzeigt, das sich zu nahe am Fahrzeug 200 befindet, usw.). Somit kann die Verarbeitungseinheit 110 Informationen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, basierend auf den Bestimmungen konsistenter und inkonsistenter Informationen auswählen.
  • Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen beinhalten. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der Analyse, die bei Schritt 720 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, veranlassen. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, relativen Geschwindigkeit und/oder relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das innerhalb eines der ersten, zweiten und dritten Vielzahl von Bildern detektiert wird, veranlassen. Mehrere Navigationsreaktionen können gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten.
  • Die Analyse erfasster Bilder kann die Generierung und Verwendung eines dünnbesetzten Kartenmodells für die autonome Fahrzeugnavigation erlauben. Darüber hinaus kann die Analyse erfasster Bilder die Lokalisierung eines autonomen Fahrzeugs anhand identifizierter Fahrspurmarkierungen erlauben. Ausführungsformen zur Erkennung bestimmter Charakteristiken basierend auf einer oder mehreren bestimmten Analysen von erfassten Bildern und zur Navigation eines autonomen Fahrzeugs unter Verwendung eines dünnbesetzten Kartenmodells werden im Folgenden unter Bezugnahme auf 8-28 diskutiert.
  • Dünnbesetztes Straßenmodell für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für autonome Fahrzeugnavigation verwenden. Insbesondere kann die dünnbesetzte Karte für eine autonome Fahrzeugnavigation entlang einem Straßensegment sein. Beispielsweise kann die dünnbesetzte Karte ausreichend Informationen bereitstellen, um ein autonomes Fahrzeug zu navigieren, ohne eine große Datenmenge zu speichern und/oder zu aktualisieren. Wie nachstehend ausführlicher erörtert, kann ein autonomes Fahrzeug die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen basierend auf einer oder mehreren gespeicherten Trajektorien zu navigieren.
  • Dünnbesetzte Karte für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für eine autonome Fahrzeugnavigation erzeugen. Beispielsweise kann die dünnbesetzte Karte ausreichend Informationen für die Navigation bereitstellen, ohne übermäßige Datenspeicherung oder Datenübertragungsraten zu erfordern. Wie nachstehend ausführlicher erörtert, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen zu navigieren. Zum Beispiel kann die dünnbesetzte Karte in einigen Ausführungsformen Daten beinhalten, die sich auf eine Straße und potenziell Orientierungspunkte entlang der Straße beziehen, die für die Fahrzeugnavigation ausreichend sein können, aber auch kleine Datenfußabdrücke aufweisen. Beispielsweise können die nachstehend ausführlich beschriebenen dünnbesetzten Datenkarten im Vergleich zu digitalen Karten, die detaillierte Karteninformationen beinhalten, wie beispielsweise Bilddaten, die entlang einer Straße gesammelt werden, einen erheblich geringeren Speicherplatz und eine erheblich geringere Datenübertragungsbandbreite erfordern.
  • Zum Beispiel kann die dünnbesetzte Datenkarte, anstatt detaillierte Repräsentationen eines Straßensegments zu speichern, dreidimensionale Polynomrepräsentationen von bevorzugten Fahrzeugwegen entlang einer Straße speichern. Diese Wege können einen sehr geringen Datenspeicherplatz erfordern. Ferner können in den beschriebenen dünnbesetzten Datenkarten Orientierungspunkte identifiziert und in das Straßenmodell der dünnbesetzten Karte einbezogen werden, um die Navigation zu unterstützen. Diese Orientierungspunkte können sich in einem beliebigen Abstand befinden, der zum Ermöglichen der Fahrzeugnavigation geeignet ist, aber in einigen Fällen müssen solche Orientierungspunkte nicht identifiziert und in das Modell in hohen Dichten und kurzen Abständen einbezogen werden. Vielmehr kann in einigen Fällen die Navigation basierend auf Orientierungspunkten möglich sein, die um mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer voneinander entfernt sind. Wie in anderen Abschnitten ausführlicher erörtert wird, kann die dünnbesetzte Karte basierend auf Daten erzeugt werden, die von Fahrzeugen gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bilderfassungsvorrichtungen, Sensoren des globalen Positionsbestimmungssystems, Bewegungssensoren usw., während die Fahrzeuge auf der Fahrbahn fahren. In einigen Fällen kann die dünnbesetzte Karte basierend auf Daten erzeugt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge entlang einer bestimmten Fahrbahn gesammelt werden. Das Erzeugen einer dünnbesetzten Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer dünnbesetzten Karte bezeichnet werden.
  • Übereinstimmend mit den offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine dünnbesetzte Karte zur Navigation verwenden. Zum Beispiel können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zum Erzeugen eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und können ein autonomes Fahrzeug entlang einem Straßensegment unter Verwendung einer dünnbesetzten Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien darstellen können, die autonome Fahrzeuge durchlaufen können, wenn sie sich entlang zugehörigen Straßensegmenten bewegen.
  • Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können ebenfalls Daten beinhalten, die ein oder mehrere Straßenmerkmale darstellen. Derartige Straßenmerkmale können erkannte Orientierungspunkte, Straßensignaturprofile und beliebige andere straßenbezogene Merkmale beinhalten, die beim Navigieren eines Fahrzeugs nützlich sind. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine autonome Navigation eines Fahrzeugs basierend auf relativ geringen Datenmengen ermöglichen, die in der dünnbesetzten Karte beinhaltet sind. Beispielsweise können die offenbarten Ausführungsformen der dünnbesetzten Karte, anstatt detaillierte Repräsentationen einer Straße, wie beispielsweise Straßenränder, Straßenkrümmung, Bilder, die Straßensegmenten zugeordnet sind, oder Daten, die andere physische Merkmale, die einem Straßensegment zugeordnet sind, beinhalten, einen relativ geringen Speicherplatz (und eine relativ geringe Bandbreite, wenn Teile der dünnbesetzten Karte an ein Fahrzeug übertragen werden) erfordern, dennoch eine autonome Fahrzeugnavigation angemessen bereitstellen. Der kleine Datenfußabdruck der offenbarten dünnbesetzten Karten, der nachstehend ausführlicher erörtert wird, kann in einigen Ausführungsformen durch Speichern von Repräsentationen von straßenbezogenen Elementen erreicht werden, die geringe Datenmengen erfordern, aber dennoch eine autonome Navigation ermöglichen.
  • Zum Beispiel können die offenbarten dünnbesetzten Karten, anstatt detaillierte Repräsentationen von verschiedenen Aspekten einer Straße zu speichern, Polynomrepräsentationen von einer oder mehreren Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Somit kann ein Fahrzeug, anstatt Details in Bezug auf die physische Beschaffenheit der Straße zu speichern (oder übertragen zu müssen), um die Navigation entlang der Straße zu ermöglichen, unter Verwendung der offenbarten dünnbesetzten Karten entlang eines bestimmten Straßensegments navigiert werden, ohne in einigen Fällen physische Aspekte der Straße interpretieren zu müssen, sondern vielmehr durch Ausrichten seines Fahrwegs mit einer Trajektorie (z. B. einem Polynom-Spline) entlang des bestimmten Straßensegments. Auf diese Weise kann das Fahrzeug hauptsächlich auf Grundlage der gespeicherten Trajektorie (z. B. einem Polynom-Spline) navigiert werden, die viel weniger Speicherplatz erfordern kann als ein Ansatz, der die Speicherung von Straßenbildern, Straßenparametern, Straßenlayout usw. beinhaltet.
  • Zusätzlich zu den gespeicherten Polynomrepräsentationen von Trajektorien entlang eines Straßensegments können die offenbarten dünnbesetzten Karten auch kleine Datenobjekte beinhalten, die ein Straßenmerkmal repräsentieren können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen beinhalten, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das von einem Sensor (z. B. einer Kamera oder einem anderen Sensor, wie etwa einem Aufhängungssensor) an Bord eines Fahrzeugs, das entlang des Straßensegments fährt, erhalten wurde. Die digitale Signatur kann eine reduzierte Größe relativ zu dem Signal aufweisen, das durch den Sensor aufgenommen wurde. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifizierungsfunktion kompatibel ist, die konfiguriert ist, um das Straßenmerkmal aus dem Signal zu detektieren und zu identifizieren, das durch den Sensor beispielsweise während einer nachfolgenden Fahrt erfasst wird. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen Fußabdruck aufweist, der so klein wie möglich ist, während die Fähigkeit beibehalten wird, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem digitalen Signal, das durch einen Sensor erzeugt wird, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten beinhaltet) des Straßenmerkmals, das durch eine Kamera an Bord eines Fahrzeugs, das zu einem nachfolgenden Zeitpunkt entlang desselben Straßensegments fährt, aufgenommen wird, zu korrelieren oder diesem zuzuordnen.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner mit einer Einzigartigkeit des Straßenmerkmals assoziiert sein. Beispielsweise kann es für ein Straßenmerkmal, das durch eine Kamera an Bord eines Fahrzeugs detektierbar ist, und wenn das Kamerasystem an Bord des Fahrzeugs mit einem Klassifizierer gekoppelt ist, der in der Lage ist, die Bilddaten, die diesem Straßenmerkmal entsprechen, als mit einer bestimmten Art von Straßenmerkmal assoziiert zu unterscheiden, beispielsweise einem Straßenzeichen, und wenn ein derartiges Straßenzeichen in diesem Bereich lokal einzigartig ist (z. B. es gibt kein identisches Straßenzeichen oder Straßenzeichen der gleichen Art in der Nähe), ausreichend sein, Daten zu speichern, die die Art des Straßenmerkmals und seinen Ort angeben.
  • Wie nachstehend ausführlicher erörtert, können Straßenmerkmale (z. B. Orientierungspunkte entlang eines Straßensegments) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes repräsentieren können, während sie gleichzeitig ausreichende Informationen zum Erkennen und Verwenden eines derartigen Merkmals für die Navigation bereitstellen. In einem Beispiel kann ein Verkehrszeichen als ein erkannter Orientierungspunkt identifiziert werden, auf dem die Navigation eines Fahrzeugs basieren kann. Eine Repräsentation des Verkehrszeichens kann in der dünnbesetzte Karte gespeichert werden, um z. B. einige Bytes von Daten, die eine Art von Orientierungspunkt (z. B. ein Stoppschild) angeben, und einige Bytes von Daten, die einen Ort des Orientierungspunkts (z. B. Koordinaten) angeben, zu beinhalten. Das Navigieren basierend auf derartigen Daten-Licht-Repräsentationen der Orientierungspunkte (z. B. unter Verwendung von Repräsentationen, die zum Lokalisieren, Erkennen und Navigieren basierend auf den Orientierungspunkten ausreichend sind) kann ein gewünschtes Niveau an Navigationsfunktionalität bereitstellen, die dünnbesetzten Karten zugeordnet ist, ohne den Datenaufwand, der den dünnbesetzten Karten zugeordnet ist, signifikant zu erhöhen. Diese schlanke Repräsentation von Orientierungspunkten (und anderen Straßenmerkmalen) kann die Vorteile der Sensoren und Prozessoren nutzen, die an Bord derartiger Fahrzeuge beinhaltet sind, die konfiguriert sind, um bestimmte Straßenmerkmale zu detektieren, zu identifizieren und/oder zu klassifizieren.
  • Wenn beispielsweise ein Zeichen oder sogar eine bestimmte Art eines Zeichens lokal einzigartig ist (z. B. wenn es kein anderes Zeichen oder kein anderes Zeichen der gleichen Art gibt), kann die dünnbesetzte Karte Daten verwenden, die eine Art eines Orientierungspunkts (ein Zeichen oder eine bestimmte Art von Zeichen) angeben, und während der Navigation (z. B. autonome Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs aufnimmt, das eine Zeichen (oder eine bestimmte Art von Zeichen) beinhaltet, kann der Prozessor das Bild verarbeiten, das Zeichen detektieren (wenn es tatsächlich im Bild vorhanden ist), das Bild als ein Zeichen (oder als eine bestimmte Art von Zeichen) klassifizieren und den Ort des Bilds mit dem Ort des Zeichens korrelieren, wie es in der dünnbesetzten Karte gespeichert ist.
  • Straßenmerkmal-Repräsentation
  • In einigen Ausführungsformen kann eine dünnbesetzte Karte mindestens eine Linienrepräsentation eines Straßenoberflächenmerkmals, das sich entlang eines Straßensegments erstreckt, und eine Vielzahl von Orientierungspunkten, die mit dem Straßensegment assoziiert sind, beinhalten. In bestimmten Aspekten kann die dünnbesetzte Karte über „Crowdsourcing“ erzeugt werden, zum Beispiel durch Bildanalyse einer Vielzahl von Bildern, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • Zusätzlich zu Zieltrajektorien und identifizierten Orientierungspunkten kann eine Spärliche Informationen in Bezug auf verschiedene andere Straßenmerkmal beinhalten. Zum Beispiel veranschaulicht 9A eine Repräsentation von Kurven entlang einem bestimmten Straßensegment, die in einer dünnbesetzten Karte gespeichert werden können. In einigen Ausführungsformen kann eine einzelne Fahrspur einer Straße durch eine dreidimensionale Polynombeschreibung der linken und rechten Seite der Straße modelliert werden. Derartige Polynome, die die linke und rechte Seite einer einzelnen Fahrspur repräsentieren, sind in 8A gezeigt. Unabhängig davon, wie viele Fahrspuren eine Straße aufweisen kann, kann die Straße unter Verwendung von Polynomen auf eine Weise ähnlich der in 8A veranschaulichten repräsentiert werden. Zum Beispiel können die linke und rechte Seite einer mehrspurigen Straße durch Polynome ähnlich den in 8A gezeigten repräsentiert werden und Zwischenfahrspurmarkierungen, die auf einer mehrspurigen Straße beinhaltet sind (z. B. gestrichelte Markierungen, die Fahrspurbegrenzungen repräsentieren, durchgehende gelbe Linien, die Begrenzungen zwischen Fahrspuren repräsentieren, die in unterschiedliche Richtungen fahren usw.), können ebenfalls unter Verwendung von Polynomen wie den in 8A gezeigten repräsentiert werden.
  • Wie in 8A gezeigt, kann eine Fahrspur 800 unter Verwendung von Polynomen (z. B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung oder einer beliebigen geeigneten Ordnung) repräsentiert werden. Zur Veranschaulichung ist die Fahrspur 800 als eine zweidimensionale Fahrspur gezeigt und die Polynome sind als zweidimensionale Polynome gezeigt. Wie in 8A gezeigt, beinhaltet die Fahrspur 800 eine linke Seite 810 und eine rechte Seite 820. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um einen Ort jeder Seite der Straße oder Fahrspurbegrenzung zu repräsentieren. Zum Beispiel kann jede der linken Seite 810 und rechten Seite 820 durch eine Vielzahl von Polynomen einer beliebigen geeigneten Länge repräsentiert werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m aufweisen, obwohl andere Längen größer oder kleiner als 100 m ebenfalls verwendet werden können. Zusätzlich können sich die Polynome miteinander überlappen, um nahtlose Übergänge beim Navigieren basierend auf nachfolgend angetroffenen Polynomen zu erleichtern, wenn ein Host-Fahrzeug entlang einer Fahrbahn fährt. Zum Beispiel kann jede der linken Seite 810 und rechten Seite 820 durch eine Vielzahl von Polynomen dritter Ordnung repräsentiert werden, die in Segmente mit einer Länge von etwa 100 Metern (ein Beispiel des ersten vorbestimmten Bereichs) unterteilt sind und einander um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 810 und die rechte Seite 820 repräsentieren, können die gleiche Ordnung aufweisen oder nicht. Zum Beispiel können in einigen Ausführungsformen einige Polynome Polynome zweiter Ordnung sein, einige Polynome dritter Ordnung und einige Polynome vierter Ordnung.
  • Im in 8A gezeigten Beispiel wird die linke Seite 810 der Fahrspur 800 durch zwei Gruppen von Polynomen dritter Ordnung repräsentiert. Die erste Gruppe beinhaltet Polynomsegmente 811, 812 und 813. Die zweite Gruppe beinhaltet Polynomsegmente 814, 815 und 816. Die zwei Gruppen folgen, während sie im Wesentlichen parallel zueinander sind, den Orten ihrer jeweiligen Seiten der Straße. Die Polynomsegmente 811, 812, 813, 814, 815 und 816 weisen eine Länge von etwa 100 Metern auf und überlappen benachbarte Segmente in der Reihe um etwa 50 Meter. Wie zuvor angemerkt, können jedoch Polynome mit unterschiedlichen Längen und unterschiedlichen Überlappungsbeträgen ebenfalls verwendet werden. Zum Beispiel können die Polynome Längen von 500 m, 1 km oder mehr aufweisen und der Überlappungsbetrag kann von 0 bis 50 m, 50 m bis 100 m oder größer als 100 m variieren. Obwohl 8A als Polynome darstellend gezeigt ist, die sich im 2D-Raum (z. B. auf der Oberfläche des Papiers) erstrecken, versteht es sich außerdem, dass diese Polynome Kurven darstellen können, die sich in drei Dimensionen erstrecken (z. B. einschließlich einer Höhenkomponente), um Höhenänderungen in einem Straßensegment zusätzlich zur X-Y-Krümmung darzustellen. Im in 8A gezeigten Beispiel wird die rechte Seite 820 der Fahrspur 800 ferner durch eine erste Gruppe mit Polynomsegmenten 821, 822 und 823 und eine zweite Gruppe mit Polynomsegmenten 824, 825 und 826 repräsentiert.
  • Unter erneuter Bezugnahme auf die Zieltrajektorien einer dünnbesetzten Karte zeigt 8B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug darstellt, das sich entlang einem bestimmten Straßensegment bewegt. Die Zieltrajektorie stellt nicht nur den X-Y-Weg dar, den ein Host-Fahrzeug entlang einem bestimmten Straßensegment fahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug erfahren wird, wenn es sich entlang dem Straßensegment bewegt. Somit kann jede Zieltrajektorie in einer dünnbesetzten Karte durch ein oder mehrere dreidimensionale Polynome wie das in 8B gezeigte dreidimensionale Polynom 850 repräsentiert werden. Eine dünnbesetzte Karte kann eine Vielzahl von Trajektorien beinhalten (z. B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedenen Straßensegmenten entlang Fahrbahnen in der ganzen Welt zu repräsentieren). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale Polynomsegmente verbindet.
  • In Bezug auf den Datenfußabdruck von Polynomkurven, die in einer dünnbesetzten Karte gespeichert sind, kann in einigen Ausführungsformen jedes Polynom dritten Grads durch vier Parameter repräsentiert werden, die jeweils vier Datenbytes erfordern. Geeignete Repräsentationen können mit Polynomen dritten Grads erhalten werden, die etwa 192 Datenbytes für alle 100 m erfordern. Dies kann in Datennutzungs-/-übertragungsanforderungen für ein Host-Fahrzeug, das sich etwa 100 km/h bewegt, auf etwa 200 kB pro Stunde übersetzt werden.
  • Eine dünnbesetzte Karte kann das Fahrspurnetzwerk unter Verwendung einer Kombination von Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines wie vorstehend beschrieben beschrieben werden. Die Metadaten können die Anzahl von Fahrspuren, spezielle Eigenschaften (wie etwa eine Fahrspur mit Fahrzeugpool) und möglicherweise andere dünnbesetzte Bezeichnungen beschreiben. Der Gesamtfußabdruck solcher Indikatoren kann vernachlässigbar sein.
  • Dementsprechend kann eine dünnbesetzte Karte gemäß Ausführungsformen der vorliegenden Offenbarung mindestens eine Linienrepräsentation eines Straßenoberflächenmerkmals beinhalten, das sich entlang des Straßensegments erstreckt, wobei jede Linienrepräsentation einen Weg entlang des Straßensegments repräsentiert, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. In einigen Ausführungsformen kann, wie vorstehend erörtert, die mindestens eine Linienrepräsentation des Straßenoberflächenmerkmals einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Darüber hinaus kann in einigen Ausführungsformen das Straßenoberflächenmerkmal mindestens eines von einer Straßenkante oder einer Fahrspur-Markierung beinhalten. Darüber hinaus kann, wie nachstehend in Bezug auf „Crowdsourcing“ erörtert, das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die erfasst werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • 9A zeigt Polynomrepräsentationen von Trajektorien, die während eines Prozesses zum Erstellen oder Pflegen einer dünnbesetzten Karte erfasst werden. Eine Polynomrepräsentation einer Zieltrajektorie, die in einer dünnbesetzten Karte beinhaltet ist, kann basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Durchquerungen von Fahrzeugen entlang demselben Straßensegment bestimmt werden. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in einer dünnbesetzten Karte beinhaltet ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien von vorherigen Durchquerungen von Fahrzeugen entlang demselben Straßensegment sein. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in einer dünnbesetzten Karte beinhaltet ist, ein Durchschnitt der zwei oder mehr rekonstruierten Trajektorien von vorherigen Durchquerungen von Fahrzeugen entlang demselben Straßensegment sein. Andere mathematische Vorgänge können auch verwendet werden, um eine Zieltrajektorie entlang einem Straßenpfad basierend auf rekonstruierten Trajektorien zu konstruieren, die von Fahrzeugen gesammelt werden, die entlang einem Straßensegment durchqueren.
  • Wie in 9A gezeigt, kann ein Straßensegment 900 zu unterschiedlichen Zeiten von einer Anzahl von Fahrzeugen 200 befahren werden. Jedes Fahrzeug 200 kann Daten in Bezug auf einen Weg sammeln, den das Fahrzeug entlang dem Straßensegment genommen hat. Der Weg, der von einem bestimmten Fahrzeug befahren wird, kann basierend auf Kameradaten, Beschleunigungsmesser-Informationen, Geschwindigkeitssensor-Informationen und/oder GPS-Informationen, neben anderen potenziellen Quellen, bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die sich entlang dem Straßensegment bewegen, und basierend auf diesen rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für das bestimmte Straßensegment bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Weg eines Host-Fahrzeugs (z. B. geführt durch ein autonomes Navigationssystem) darstellen, wenn sich das Fahrzeug entlang dem Straßensegment bewegt.
  • Im in 9A gezeigten Beispiel kann eine erste rekonstruierte Trajektorie 901 basierend auf Daten bestimmt werden, die von einem ersten Fahrzeug empfangen werden, das das Straßensegment 900 in einem ersten Zeitraum (z. B. Tag 1) durchquert, eine zweite rekonstruierte Trajektorie 902 kann von einem zweiten Fahrzeug erhalten werden, das das Straßensegment 900 in einem zweiten Zeitraum (z. B. Tag 2) durchquert, und eine dritte rekonstruierte Trajektorie 903 kann von einem dritten Fahrzeug erhalten werden, das das Straßensegment 900 in einem dritten Zeitraum (z. B. Tag 3) durchquert. Jede Trajektorie 901, 902 und 903 kann durch ein Polynom wie ein dreidimensionales Polynom repräsentiert werden. Es ist zu beachten, dass in einigen Ausführungsformen jede der rekonstruierten Trajektorien an Bord der Fahrzeuge montiert werden kann, die das Straßensegment 900 durchqueren.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien auf einer Server-Seite basierend auf Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die das Straßensegment 900 durchqueren. So können beispielsweise in einigen Ausführungsformen die Fahrzeuge 200 Daten an einen oder mehrere Server übertragen, die sich auf ihre Bewegung entlang dem Straßensegment 900 beziehen (z. B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Orientierungspunkte unter anderem). Der Server kann Trajektorien für die Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Zieltrajektorie zum Führen der Navigation des autonomen Fahrzeugs erzeugen, das zu einem späteren Zeitpunkt basierend auf der ersten, zweiten und dritten Trajektorie 901, 902 und 903 entlang demselben Straßensegment 900 fährt. Während eine Zieltrajektorie mit einer einzelnen vorherigen Durchquerung eines Straßensegments verbunden sein kann, kann in einigen Ausführungsformen jede Zieltrajektorie, die in einer dünnbesetzten Karte beinhaltet ist, basierend auf zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen bestimmt werden, die das gleiche Straßensegment durchqueren. In 9A ist die Zieltrajektorie durch 910 dargestellt. In einigen Ausführungsformen kann die Zieltrajektorie 910 basierend auf einem Durchschnitt der ersten, zweiten und dritten Trajektorie 901, 902 und 903 erzeugt werden. In einigen Ausführungsformen kann die Zieltrajektorie 910, die in einer dünnbesetzten Karte beinhaltet ist, eine Aggregation (z. B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Trajektorien sein. Die Ausrichtung von Fahrtdaten zum Konstruieren von Trajektorien wird nachstehend in Bezug auf 29 weiter erörtert.
  • Die 9B und 9C veranschaulichen ferner das Konzept von Zieltrajektorien, die mit Straßensegmenten verbunden sind, die innerhalb eines geografischen Bereichs 911 vorhanden sind. Wie in 9B gezeigt, kann ein erstes Straßensegment 920 innerhalb des geografischen Bereichs 911 eine mehrspurige Straße beinhalten, die zwei Fahrspuren 922, die für die Fahrzeugfahrt in einer ersten Richtung bestimmt sind, und zwei zusätzliche Fahrspuren 924, die für die Fahrzeugfahrt in einer zweiten Richtung, die der ersten Richtung entgegengesetzt ist, bestimmt sind, beinhaltet. Die Fahrspuren 922 und die Fahrspuren 924 können durch eine doppelte gelbe Linie 923 getrennt sein. Der geografische Bereich 911 kann auch ein abzweigendes Straßensegment 930 beinhalten, das sich mit dem Straßensegment 920 schneidet. Das Straßensegment 930 kann eine zweispurige Straße beinhalten, wobei jede Fahrspur für eine unterschiedliche Fahrtrichtung bestimmt ist. Der geografische Bereich 911 kann auch andere Straßenmerkmale beinhalten, wie etwa eine Stopplinie 932, ein Stoppschild 934, ein Geschwindigkeitsbegrenzungszeichen 936 und ein Gefahrenzeichen 938.
  • Wie in 9C gezeigt, kann eine dünnbesetzte Karte eine lokale Karte 940 beinhalten, die ein Straßenmodell zum Unterstützen der autonomen Navigation von Fahrzeugen innerhalb des geografischen Bereichs 911 beinhaltet. Zum Beispiel kann die lokale Karte 940 Zieltrajektorien für eine oder mehrere Fahrspuren beinhalten, die mit den Straßensegmenten 920 und/oder 930 innerhalb des geografischen Bereichs 911 verbunden sind. Zum Beispiel kann die lokale Karte 940 Zieltrajektorien 941 und/oder 942 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es die Fahrspuren 922 durchquert. Gleichermaßen kann die lokale Karte 940 Zieltrajektorien 943 und/oder 944 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es die Fahrspuren 924 durchquert. Ferner kann die lokale Karte 940 Zieltrajektorien 945 und/oder 946 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es das Straßensegment 930 durchquert. Die Zieltrajektorie 947 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrspuren 920 (und insbesondere relativ zu der Zieltrajektorie 941, die mit einer äußerst rechten Fahrspur der Fahrspuren 920 verbunden ist) zu dem Straßensegment 930 (und insbesondere relativ zu einer Zieltrajektorie 945, die mit einer ersten Seite des Straßensegments 930 verbunden ist) übergeht. Gleichermaßen stellt die Zieltrajektorie 948 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von dem Straßensegment 930 (und insbesondere relativ zu der Zieltrajektorie 946) zu einem Abschnitt des Straßensegments 924 (und insbesondere, wie gezeigt, relativ zu einer Zieltrajektorie 943, die mit einer linken Fahrspur der Fahrspuren 924 verbunden ist) übergeht.
  • Eine dünnbesetzte Karte kann auch Repräsentationen anderer straßenbezogener Merkmale beinhalten, die mit dem geografischen Bereich 911 verbunden sind. Zum Beispiel kann eine dünnbesetzte Karte auch Repräsentationen von einem oder mehreren Orientierungspunkten beinhalten, die im geografischen Bereich 911 identifiziert sind. Solche Orientierungspunkte können einen ersten Orientierungspunkt 950, der mit der Stopplinie 932 verbunden ist, einen zweiten Orientierungspunkt 952, der mit dem Stoppschild 934 verbunden ist, einen dritten Orientierungspunkt, der mit dem Geschwindigkeitsbegrenzungszeichen 954 verbunden ist, und einen vierten Orientierungspunkt 956, der mit dem Gefahrenzeichen 938 verbunden ist, beinhalten. Solche Orientierungspunkte können zum Beispiel verwendet werden, um ein autonomes Fahrzeug beim Bestimmen seines aktuellen Orts relativ zu einer beliebigen der gezeigten Zieltrajektorien zu unterstützen, sodass das Fahrzeug seinen Kurs anpassen kann, um eine Richtung der Zieltrajektorie am bestimmten Ort anzupassen.
  • In einigen Ausführungsformen kann eine dünnbesetzte Karte auch Straßensignaturprofile beinhalten. Solche Straßensignaturprofile können mit einer beliebigen erkennbaren/messbaren Variation in mindestens einem Parameter verbunden sein, der mit einer Straße verbunden ist. Zum Beispiel können in einigen Fällen solche Profile mit Variationen der Straßenoberflächeninformationen verbunden sein, wie etwa Variationen der Oberflächenrauheit eines bestimmten Straßensegments, Variationen der Straßenbreite über ein bestimmtes Straßensegment, Variationen der Abstände zwischen gestrichelten Linien, die entlang eines bestimmten Straßensegments gemalt sind, Variationen der Straßenkrümmung entlang eines bestimmten Straßensegments usw. 9D zeigt ein Beispiel eines Straßensignaturprofils 960. Während das Profil 960 einen beliebigen der vorstehend erwähnten Parameter oder andere darstellen kann, kann in einem Beispiel das Profil 960 ein Maß der Straßenoberflächenrauheit darstellen, wie es zum Beispiel durch Überwachen eines oder mehrerer Sensoren erhalten wird, die Ausgaben bereitstellen, die eine Menge der Aufhängungsverschiebung angeben, wenn ein Fahrzeug ein bestimmtes Straßensegment befährt.
  • Alternativ oder gleichzeitig kann das Profil 960 eine Variation der Straßenbreite darstellen, wie sie basierend auf Bilddaten bestimmt wird, die über eine Kamera an Bord eines Fahrzeugs erhalten werden, das ein bestimmtes Straßensegment befährt. Solche Profile können zum Beispiel beim Bestimmen eines bestimmten Orts eines autonomen Fahrzeugs relativ zu einer bestimmten Zieltrajektorie nützlich sein. Das heißt, wenn es ein Straßensegment durchquert, kann ein autonomes Fahrzeug ein Profil messen, das mit einem oder mehreren Parametern verbunden ist, die mit dem Straßensegment verbunden sind. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/abgeglichen werden kann, das die Parametervariation in Bezug auf die Position entlang des Straßensegments darstellt, können die gemessenen und vorbestimmten Profile verwendet werden (z. B. durch Überlagern entsprechender Abschnitte der gemessenen und vorbestimmten Profile), um eine aktuelle Position entlang des Straßensegments und somit eine aktuelle Position relativ zu einer Zieltrajektorie für das Straßensegment zu bestimmen.
  • In einigen Ausführungsformen kann eine dünnbesetzte Karte verschiedene Trajektorien basierend auf verschiedenen Eigenschaften beinhalten, die mit einem Benutzer von autonomen Fahrzeugen, Umgebungsbedingungen und/oder anderen Parametern in Bezug auf die Fahrt verbunden sind. Zum Beispiel können in einigen Ausführungsformen verschiedene Trajektorien basierend auf verschiedenen Benutzerpräferenzen und/oder Profilen erzeugt werden. Eine dünnbesetzte Karte, die solche verschiedenen Trajektorien beinhaltet, kann verschiedenen autonomen Fahrzeugen verschiedener Benutzer bereitgestellt werden. Zum Beispiel können einige Benutzer es bevorzugen, mautpflichtige Straßen zu vermeiden, während andere es bevorzugen können, die kürzesten oder schnellsten Routen zu nehmen, unabhängig davon, ob es eine mautpflichtige Straße auf der Route gibt. Die offenbarten Systeme können verschiedene dünnbesetzte Karten mit verschiedenen Trajektorien basierend auf solchen verschiedenen Benutzerpräferenzen oder Profilen erzeugen. Als ein anderes Beispiel können einige Benutzer es bevorzugen, auf einer schnell bewegten Fahrspur zu fahren, während andere es bevorzugen können, jederzeit eine Position auf der zentralen Fahrspur zu pflegen.
  • Verschiedene Trajektorien können basierend auf verschiedenen Umgebungsbedingungen, wie etwa Tag und Nacht, Schnee, Regen, Nebel usw., erzeugt und in einer dünnbesetzten Karte beinhaltet werden. Autonome Fahrzeuge, die unter verschiedenen Umgebungsbedingungen fahren, können mit einer dünnbesetzten Karte bereitgestellt werden, die basierend auf solchen verschiedenen Umgebungsbedingungen erzeugt wird. In einigen Ausführungsformen können Kameras, die an autonomen Fahrzeugen bereitgestellt werden, die Umgebungsbedingungen erfassen und können solche Informationen zurück an einen Server bereitstellen, der dünnbesetzte Karten erzeugt und bereitstellt. Zum Beispiel kann der Server eine bereits erzeugte dünnbesetzte Karte erzeugen oder aktualisieren, um Trajektorien zu beinhalten, die für autonomes Fahren unter den erfassten Umgebungsbedingungen geeigneter oder sicherer sein können. Die Aktualisierung einer dünnbesetzten Karte basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge sich entlang Straßen bewegen.
  • Andere verschiedene Parameter in Bezug auf das Fahren können ebenfalls als Grundlage zum Erzeugen und Bereitstellen verschiedener dünnbesetzter Karten an verschiedene autonome Fahrzeuge verwendet werden. Wenn zum Beispiel ein autonomes Fahrzeug mit einer hohen Geschwindigkeit fährt, können Kurven enger sein. Die Trajektorien, die mit bestimmten Fahrspuren und nicht mit Straßen verbunden sind, können in einer dünnbesetzten Karte beinhaltet sein, sodass das autonome Fahrzeug innerhalb einer bestimmten Fahrspur bleiben kann, während das Fahrzeug einer bestimmten Trajektorie folgt. Wenn ein Bild, das von einer Kamera an Bord des autonomen Fahrzeugs erfasst wird, anzeigt, dass das Fahrzeug außerhalb der Fahrspur gedriftet ist (z. B. die Fahrspurmarkierung überquert hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug gemäß der bestimmten Trajektorie zurück auf die bestimmte Fahrspur zu bringen.
  • 10 veranschaulicht ein beispielhaftes Straßennavigationsmodell für ein autonomes Fahrzeug, das durch eine Vielzahl von dreidimensionalen Splines 1001, 1002 und 1003 dargestellt ist. Die in 10 gezeigten Kurven 1001, 1002 und 1003 dienen lediglich der Veranschaulichung. Jeder Spline kann ein oder mehrere dreidimensionale Polynome beinhalten, die eine Vielzahl von Datenpunkten 1010 verbinden. Jedes Polynom kann ein Polynom erster Ordnung, ein Polynom zweiter Ordnung, ein Polynom dritter Ordnung oder eine Kombination von beliebigen geeigneten Polynomen mit unterschiedlichen Ordnungen sein. Jeder Datenpunkt 1010 kann den Navigationsinformationen zugeordnet sein, die von einer Vielzahl von Fahrzeugen empfangen werden. In einigen Ausführungsformen kann jeder Datenpunkt 1010 Daten zugeordnet sein, die sich auf Orientierungspunkte (z. B. Größe, Ort und Identifizierungsinformationen von Orientierungspunkten) und/oder Straßensignaturprofile (z. B. Straßengeometrie, Straßenrauheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) beziehen. In einigen Ausführungsformen können einige Datenpunkte 1010 Daten zugeordnet sein, die sich auf Orientierungspunkte beziehen, und andere können Daten zugeordnet sein, die sich auf Straßensignaturprofile beziehen.
  • 11 veranschaulicht rohe Ortsdaten 1110 (z. B. GPS-Daten), die von fünf separaten Fahrten empfangen werden. Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie gleichzeitig von separaten Fahrzeugen, zu separaten Zeiten vom gleichen Fahrzeug oder zu separaten Zeiten von separaten Fahrzeugen durchquert wurde. Um Fehler in den Ortsdaten 1110 und für unterschiedliche Orte von Fahrzeugen innerhalb der gleichen Fahrspur zu berücksichtigen (z. B. kann ein Fahrzeug näher an der linken Seite einer Fahrspur fahren als ein anderes), kann ein entfernter Server ein Kartenskelett 1120 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um zu bestimmen, ob Variationen in den rohen Ortsdaten 1110 tatsächliche Abweichungen oder statistische Fehler repräsentieren. Jeder Weg innerhalb des Skeletts 1120 kann zurück mit den Rohdaten 1110 verbunden sein, die den Weg bildeten. Zum Beispiel ist der Weg zwischen A und B innerhalb des Skeletts 1120 mit Rohdaten 1110 von den Fahrten 2, 3, 4 und 5 verbunden, aber nicht von Fahrt 1. Das Skelett 1120 kann nicht detailliert genug sein, um verwendet zu werden, um ein Fahrzeug zu navigieren (z. B. weil es Fahrten von mehreren Fahrspuren auf der gleichen Straße im Gegensatz zu den vorstehend beschriebenen Splines kombiniert), kann aber nützliche topologische Informationen bereitstellen und kann verwendet werden, um Kreuzungen zu definieren.
  • Sicherheits- und Komfortbeschränkungen für die Navigation
  • Zusätzlich zu Navigationsmodellen verwendet ein autonomes Fahrzeug (ob vollautonom, z. B. ein selbstfahrendes Fahrzeug, oder teilweise autonom, z. B. ein oder mehrere Fahrerassistenzsysteme oder -funktionen) im Allgemeinen eine Fahrstrategie, um die Sicherheit anderer Fahrer und Fußgänger sowie den Komfort der Fahrgäste im Inneren zu gewährleisten.
  • Dementsprechend kann ein autonomes Fahrzeug einen Navigationszustand in einer Umgebung eines Host-Fahrzeugs erfassen. Zum Beispiel kann sich das Fahrzeug auf Eingaben von verschiedenen Sensoren und Erfassungssystemen, die dem Host-Fahrzeug zugeordnet sind, verlassen. Diese Eingaben können Bilder oder Bildströme von einer oder mehreren Bordkameras, GPS-Positionsinformationen, Beschleunigungsmesser-Ausgaben, Benutzerrückmeldung oder Benutzereingaben an einer oder mehreren Benutzerschnittstellenvorrichtungen, Radar, Lidar usw. beinhalten. Das Erfassen, das Daten von Kameras und/oder anderen verfügbaren Sensoren zusammen mit Karteninformationen beinhalten kann, kann gesammelt, analysiert und in einen „erfassten Zustand“ formuliert werden, der Informationen beschreibt, die aus einer Szene in der Umgebung des Host-Fahrzeugs extrahiert werden. Der erfasste Zustand kann erfasste Informationen in Bezug auf Zielfahrzeuge, Fahrspur-Markierungen, Fußgänger, Ampel, Straßengeometrie, Fahrspurform, Hindernisse, Abstände zu anderen Objekten/Fahrzeugen, relative Geschwindigkeiten, relative Beschleunigungen und andere mögliche erfasste Informationen beinhalten. Überwachtes maschinelles Lernen kann implementiert werden, um eine Erfassungszustandsausgabe basierend auf den bereitgestellten erfassten Daten zu erzeugen. Die Ausgabe des Erfassungsmoduls kann einen erfassten Navigations-„Zustand“ des Host-Fahrzeugs darstellen, der in einer Fahrstrategie verwendet werden kann, wie nachstehend beschrieben.
  • Während ein erfasster Zustand basierend auf Bilddaten entwickelt werden kann, die von einer oder mehreren Kameras oder Bildsensoren empfangen werden, die einem Host-Fahrzeug zugeordnet sind, kann ein erfasster Zustand zur Verwendung bei der Navigation unter Verwendung eines beliebigen geeigneten Sensors oder einer Kombination von Sensoren entwickelt werden. In einigen Ausführungsformen kann der erfasste Zustand ohne Abhängigkeit von erfassten Bilddaten entwickelt werden. Tatsächlich kann jedes der hierin beschriebenen Navigationsprinzipien auf erfasste Zustände anwendbar sein, die basierend auf erfassten Bilddaten entwickelt werden, sowie auf erfasste Zustände, die unter Verwendung anderer nicht auf Bild basierender Sensoren entwickelt werden. Der erfasste Zustand kann auch über Quellen außerhalb des Host-Fahrzeugs bestimmt werden. Beispielsweise kann ein erfasster Zustand ganz oder teilweise basierend auf Informationen entwickelt werden, die von Quellen empfangen werden, die vom Host-Fahrzeug entfernt sind (z. B. basierend auf Sensorinformationen, verarbeiteten Zustandsinformationen usw., die von anderen Fahrzeugen gemeinsam genutzt werden, von einem zentralen Server gemeinsam genutzt werden, oder von einer beliebigen anderen Informationsquelle, die für einen Navigationszustand des Host-Fahrzeugs relevant ist).
  • Ein autonomes Fahrzeug kann eine gewünschte Fahrstrategie implementieren, um über eine oder mehrere Navigationsaktionen zu entscheiden, die das Host-Fahrzeug als Reaktion auf den erfassten Navigationszustand ausführen soll. Falls es keine anderen Agenten (z. B. Zielfahrzeuge oder Fußgänger) gibt, die in der Umgebung des Host-Fahrzeugs vorhanden sind, kann die erfasste Zustandseingabe auf relativ einfache Weise gehandhabt werden. Die Aufgabe wird komplexer, wenn der erfasste Zustand eine Verhandlung mit einem oder mehreren anderen Agenten erfordert. Die Technologie, die verwendet wird, um die Ausgabe der Fahrstrategie zu erzeugen, kann Verstärkungslernen („reinforcement learning“) beinhalten (nachstehend ausführlicher erörtert). Die Ausgabe der Fahrstrategie kann mindestens eine Navigationsaktion für das Host-Fahrzeug beinhalten und kann eine gewünschte Beschleunigung (die sich in eine aktualisierte Geschwindigkeit für das Host-Fahrzeug übersetzen kann), eine gewünschte Gierrate für das Host-Fahrzeug, eine gewünschte Trajektorie und andere mögliche gewünschte Navigationsaktionen beinhalten.
  • Basierend auf der Ausgabe der Fahrstrategie kann das autonome Fahrzeug Steueranweisungen für einen oder mehrere Aktoren oder gesteuerte Vorrichtungen entwickeln, die dem Host-Fahrzeug zugeordnet sind. Derartige Aktoren und Vorrichtungen können einen Beschleuniger, eine oder mehrere Lenksteuerungen, eine Bremse, einen Signalsender, eine Anzeige oder einen beliebigen anderen Aktor oder eine beliebige andere Vorrichtung beinhalten, die als Teil eines Navigationsvorgangs gesteuert werden können, der einem Host-Fahrzeug zugeordnet ist. Aspekte der Steuertheorie können verwendet werden, um die Steueranweisungen zu erzeugen. Die Anweisungen an steuerbare Komponenten des Host-Fahrzeugs können die gewünschten Navigationsziele oder -anforderungen der Fahrstrategie implementieren.
  • Unter erneuter Bezugnahme auf die vorstehend erörterte Fahrstrategie kann in einigen Ausführungsformen ein durch Verstärkungslernen trainiertes trainiertes System verwendet werden, um die Fahrstrategie zu implementieren. In anderen Ausführungsformen kann die Fahrstrategie ohne einen Ansatz des maschinellen Lernens implementiert werden, indem vorgegebene Algorithmen verwendet werden, um die verschiedenen Szenarien, die während der autonomen Navigation entstehen können, „manuell“ anzugehen. Ein derartiger Ansatz kann jedoch, obwohl er praktikabel ist, zu einer Fahrstrategie führen, die zu einfach ist und die Flexibilität eines trainierten Systems basierend auf maschinellem Lernen fehlt. Ein trainiertes System kann beispielsweise besser ausgestattet sein, um komplexe Navigationszustände zu handhaben, und kann besser bestimmen, ob ein Taxi parkt oder anhält, um einen Fahrgast abzuholen oder abzusteigen; bestimmen, ob ein Fußgänger beabsichtigt, die Straße vor dem Host-Fahrzeug zu überqueren; unerwartetes Verhalten anderer Fahrer mit Defensivität ausgleichen; im dichten Verkehr mit Zielfahrzeugen und/oder Fußgängern verhandeln; entscheiden, wann bestimmte Navigationsregeln ausgesetzt oder andere Regeln erweitert werden sollen; nicht erfasste, aber erwartete Bedingungen antizipieren (z. B. ob ein Fußgänger hinter einem Auto oder Hindernis auftaucht); usw. Ein trainiertes System basierend auf Verstärkungslernen kann auch besser ausgestattet sein, um einen Zustandsraum anzugehen, der kontinuierlich und hochdimensional ist, zusammen mit einem Aktionsraum, der kontinuierlich ist.
  • Das Training des Systems unter Verwendung von Verstärkungslernen kann das Lernen einer Fahrstrategie beinhalten, um von erfassten Zuständen auf Navigationsaktionen abzubilden. Eine Fahrstrategie kann eine Funktion π : S → Asein, wobei S ein Satz von Zuständen ist und A 2
    Figure DE112020001106T5_0001
    der Aktionsraum ist (z. B. gewünschte Geschwindigkeit, Beschleunigung, Gierbefehle usw.). Der Zustandsraum ist S = Ss × Sp, wobei Ss der Erfassungszustand ist und Sp zusätzliche Informationen über den durch die Strategie gespeicherten Zustand ist. Arbeiten in diskreten Zeitintervallen, zum Zeitpunkt t, des aktuellen Zustands St ∈ Skann beobachtet werden und die Strategie kann angewendet werden, um eine gewünschte Aktion zu erhalten, αt = π (st).
  • Das System kann durch Exposition gegenüber verschiedenen Navigationszuständen trainiert werden, wobei das System die Strategie anwendet, wodurch eine Belohnung bereitgestellt wird (basierend auf einer Belohnungsfunktion, die dazu ausgelegt ist, ein gewünschtes Navigationsverhalten zu belohnen). Basierend auf der Belohnungsrückmeldung kann das System die Strategie „lernen“ und wird beim Erzeugen von gewünschten Navigationsaktionen trainiert. Zum Beispiel kann das Lernsystem den aktuellen Zustand beobachten: St ∈ S und über eine Aktion entscheiden: αt ∈ A basierend auf einer Strategie: π : S ( A ) .
    Figure DE112020001106T5_0002
    Basierend auf der entschiedenen Aktion (und der Implementierung der Aktion) bewegt sich die Umgebung in den nächsten Zustand: st+1∈ S zur Beobachtung durch das Lernsystem. Für jede Aktion, die als Reaktion auf den beobachteten Zustand entwickelt wird, ist die Rückmeldung an das Lernsystem ein Belohnungssignal: r1, r2, . . . .
  • Ziel von Verstärkungslernen (RL) ist im Allgemeinen, eine Strategie π zu finden. Es wird normalerweise angenommen, dass zum Zeitpunkt t eine Belohnungsfunktion rt vorliegt, die die momentane Qualität des Befindens im Zustand st und des Ergreifens von Aktion αt misst. Das Ergreifen der Aktion αt zum Zeitpunkt t beeinflusst jedoch die Umgebung und beeinflusst daher den Wert der zukünftigen Zustände. Als Ergebnis sollte bei der Entscheidung darüber, welche Aktion ergriffen werden soll, nicht nur die aktuelle Belohnung berücksichtigt werden, sondern es sollten auch zukünftige Belohnungen berücksichtigt werden. In einigen Fällen sollte das System eine bestimmte Aktion ergreifen, obwohl sie mit einer Belohnung assoziiert ist, die niedriger als eine andere verfügbare Option ist, wenn das System bestimmt, dass in der Zukunft eine größere Belohnung realisiert werden kann, wenn jetzt die niedrigere Belohnungsoption ergriffen wird. Um dies zu formalisieren, wird beobachtet, dass eine Strategie, π und ein Anfangszustand, s, eine Verteilung über T
    Figure DE112020001106T5_0003
    induziert, wobei die Wahrscheinlichkeit eines Vektors (r1, ... , rT) die Wahrscheinlichkeit des Beobachtens der Belohnungen r1, ... , rT ist, falls der Agent im Zustand s0 = s beginnt und von dort aus der Strategie π folgt. Der Wert des Anfangszustands s kann definiert werden als: V π ( s ) = E [ t = 1 T r t | s 0 = s , t 1. a t = π ( s t ) ] .
    Figure DE112020001106T5_0004
  • Anstatt den Zeithorizont auf T zu beschränken, können die zukünftigen Belohnungen reduziert werden, um für einige festgelegte Kriterien γ ∈ (0, 1) zu definieren: V π ( s ) = E [ t = 1 ϒ t r t | s 0 = s , t 1, a t = π ( s t ) ] ..
    Figure DE112020001106T5_0005
  • In jedem Fall ist die optimale Strategie die Lösung von argmax π E [ V π ( s ) ] ,
    Figure DE112020001106T5_0006
    wobei die Erwartung über dem Anfangszustand, s, ist.
  • Es gibt mehrere mögliche Methodiken zum Trainieren des Systems der Fahrstrategie. Zum Beispiel kann ein Imitationsansatz (z. B. Verhaltensklonierung) verwendet werden, bei dem das System aus Zustands-/Aktionspaaren lernt, wobei die Aktionen diejenigen sind, die von einem guten Agenten (z. B. einem Menschen) als Reaktion auf einen bestimmten beobachteten Zustand ausgewählt würden. Es sei angenommen, dass ein menschlicher Fahrer beobachtet wird. Durch diese Beobachtung können viele Beispiele der Form (st, αt), wobei st der Zustand ist und αt die Aktion des menschlichen Fahrers ist, erhalten, beobachtet und als Grundlage zum Trainieren des Systems der Fahrstrategie verwendet werden. Zum Beispiel kann überwachtes Lernen verwendet werden, um eine Strategie π zu lernen, sodass π(st) ≈ αt. Es gibt viele potentielle Vorteile dieses Ansatzes. Erstens besteht keine Anforderung, eine Belohnungsfunktion zu definieren. Zweitens wird das Lernen überwacht und geschieht offline (es besteht keine Notwendigkeit, den Agenten im Lernprozess anzuwenden). Ein Nachteil dieses Verfahrens besteht darin, dass verschiedene menschliche Fahrer und sogar die gleichen menschlichen Fahrer bei ihren Strategiewahlen nicht deterministisch sind. Daher ist das Lernen einer Funktion, für die ∥π (st) - αt∥ sehr klein ist, oft nicht durchführbar. Und selbst kleine Fehler können sich im Laufe der Zeit ansammeln, um große Fehler zu ergeben.
  • Eine andere Technik, die eingesetzt werden kann, ist richtlinienbasiertes Lernen. Hier kann die Strategie in parametrischer Form ausgedrückt und unter Verwendung einer geeigneten Optimierungstechnik (z. B. stochastischer Gradientenabstieg) direkt optimiert werden. Der Ansatz besteht darin, das Problem, das in argmax π E [ V π ( s ) ]
    Figure DE112020001106T5_0007
    gegeben ist, zu lösen. Es gibt natürlich viele Möglichkeiten, das Problem zu lösen. Ein Vorteil dieses Ansatzes besteht darin, dass er das Problem direkt angeht und daher oft zu guten praktischen Ergebnissen führt. Ein potentieller Nachteil besteht darin, dass er oft ein „On-Policy“-Training erfordert, nämlich ist das Lernen von π ein iterativer Prozess, wobei bei Iteration j wir eine nicht perfekte Strategie πj haben, und um die nächste Strategie πj zu konstruieren, müssen wir mit der Umgebung interagieren, während wir basierend auf πj handeln.
  • Das System kann auch durch wertbasiertes Lernen trainiert werden (Lernen von Q- oder V-Funktionen). Es sei angenommen, dass eine gute Annäherung an die optimale Wertfunktion V* gelernt werden kann. Eine optimale Strategie kann konstruiert werden (z. B. durch Zurückgreifen auf die Bellman-Gleichung). Einige Versionen des wertbasierten Lernens können offline implementiert werden (als „Off-Policy“-Training bezeichnet). Einige Nachteile des wertbasierten Ansatzes können sich aus seiner starken Abhängigkeit von markovischen Annahmen und der erforderlichen Annäherung einer komplizierten Funktion ergeben (es kann schwieriger sein, die Wertfunktion anzunähern, als die Strategie direkt anzunähern).
  • Eine andere Technik kann modellbasiertes Lernen und Planen beinhalten (Lernen der Wahrscheinlichkeit von Zustandsübergängen und Lösen des Optimierungsproblems beim Finden des optimalen V). Kombinationen dieser Techniken können auch verwendet werden, um das Lernsystem zu trainieren. Bei diesem Ansatz kann die Dynamik des Prozesses gelernt werden, nämlich die Funktion, die (st, at) annimmt und eine Verteilung über den nächsten Zustand st+1 ergibt. Sobald diese Funktion gelernt ist, kann das Optimierungsproblem gelöst werden, um die Strategie π zu finden, deren Wert optimal ist. Dies wird als „Planen“ bezeichnet. Ein Vorteil dieses Ansatzes kann darin bestehen, dass der Lernteil überwacht wird und offline angewendet werden kann, indem Triplets (st, at, st+1) beobachtet werden. Ein Nachteil dieses Ansatzes, ähnlich dem „Imitations“-Ansatz, kann darin bestehen, dass kleine Fehler im Lernprozess sich akkumulieren und zu einer unzureichenden Durchführung von Strategien führen können.
  • Ein anderer Ansatz zum Trainieren des Fahrstrategienmoduls 803 kann das Zerlegen der Fahrstrategienfunktion in semantisch sinnvolle Komponenten beinhalten. Dies ermöglicht die manuelle Implementierung von Teilen der Strategie, was die Sicherheit der Strategie gewährleisten kann, und die Implementierung anderer Teile der Strategie unter Verwendung von Verstärkungslerntechniken, die eine Adaptivität zu vielen Szenarien, ein menschenähnliches Gleichgewicht zwischen defensivem/aggressivem Verhalten und eine menschenähnliche Verhandlung mit anderen Fahrern ermöglichen können. In technischer Hinsicht kann ein Ansatz des Verstärkungslernens mehrere Methodiken kombinieren und ein nachvollziehbares Trainingsverfahren anbieten, wobei der größte Teil des Trainings unter Verwendung entweder aufgezeichneter Daten oder eines selbst konstruierten Simulators durchgeführt werden kann.
  • In einigen Ausführungsformen kann sich das Training des Fahrstrategienmoduls 803 auf einen „Options“-Mechanismus verlassen. Um dies zu veranschaulichen, wird ein einfaches Szenario einer Fahrstrategie für eine zweispurige Autobahn betrachtet. Bei einem direkten RL-Ansatz wird eine Strategie π die den Zustand in A ⊂ ℝ2 abbildet, wobei die erste Komponente von π (s) der gewünschte Beschleunigungsbefehl ist und die zweite Komponente von π (s) die Gierrate ist. Bei einem modifizierten Ansatz können die folgenden Strategien konstruiert werden:
  • Strategie der automatischen Geschwindigkeitsregelung (ACC), oACC : S →A wobei diese Strategie immer eine Gierrate von 0 ausgibt und nur die Geschwindigkeit ändert, um ein reibungsloses und unfallfreies Fahren zu implementieren.
  • ACC+Links-Strategie, oL : S → A: der Längsbefehl dieser Strategie ist der gleiche wie der ACC-Befehl. Die Gierrate ist eine einfache Implementierung des Zentrierens des Fahrzeugs zur Mitte der linken Fahrspur, während eine sichere seitliche Bewegung sichergestellt wird (z. B. sich nicht nach links bewegen, falls es ein Fahrzeug auf der linken Seite gibt).
  • ACC+Rechts-Strategie, oR : S → A: so wie oL, wobei das Fahrzeug in Richtung der Mitte der rechten Fahrspur zentriert sein kann.
  • Diese Strategien können als „Optionen“ bezeichnet werden. Basierend auf diesen „Optionen“ kann eine Strategie erlernt werden, die Optionen auswählt. πο : S →O wobei O der Satz von verfügbaren Optionen ist. In einem Fall O = {oACC, oL, oR}. Die Optionsauswahlrichtlinie πo, definiert eine tatsächliche Strategie definiert, π : S → A durch Einstellen für jedes s, π(s) = Oπo(s)(s) .
  • In der Praxis kann die Strategiefunktion in einen Optionsgraphen zerlegt werden. Der Optionsgraph kann einen hierarchischen Satz von Entscheidungen darstellen, die als ein gerichteter azyklischer Graph (DAG) organisiert sind. Es gibt einen speziellen Knoten, der als der Wurzelknoten des Graphen bezeichnet wird. Dieser Knoten weist keine eingehenden Knoten auf. Der Entscheidungsprozess durchläuft den Graphen, beginnend vom Wurzelknoten, bis er einen „Blatt“-Knoten erreicht, der sich auf einen Knoten bezieht, der keine ausgehenden Entscheidungslinien aufweist. Beim Antreffen eines Blattknotens kann die Fahrstrategie die Beschleunigungs- und Lenkbefehle ausgeben, die einer gewünschten Navigationsaktion zugeordnet sind, die dem Blattknoten zugeordnet ist.
  • Interne Knoten können zur Implementierung einer Strategie führen, die ein Kind unter seinen verfügbaren Optionen auswählt. Der Satz von verfügbaren Kindern eines internen Knotens beinhaltet alle Knoten, die einem bestimmten internen Knoten über Entscheidungslinien zugeordnet sind.
  • Flexibilität des Entscheidungsfindungssystems kann dadurch erreicht werden, dass Knoten in die Lage versetzt werden, ihre Position in der Hierarchie des Optionsgraphen einzustellen. Jeder Knoten kann eine Funktion „ist kritisch“ implementieren, die „Wahr“ ausgibt, wenn sich der Knoten in einem kritischen Abschnitt seiner Strategieimplementierung befindet. Zum Beispiel kann sich ein Knoten, der für eine Übernahme verantwortlich ist, als kritisch erklären, während er sich in der Mitte eines Manövers befindet. Dies kann Beschränkungen für den Satz von verfügbaren Kindern eines Knotens u auferlegen, der alle Knoten v beinhalten kann, die Kinder des Knotens u sind und für die ein Pfad von v zu einem Blattknoten existiert, der alle als kritisch bestimmten Knoten durchläuft. Ein derartiger Ansatz kann einerseits die Erklärung des gewünschten Pfads auf dem Graphen bei jedem Zeitschritt ermöglichen, während andererseits die Stabilität einer Strategie bewahrt werden kann, insbesondere während kritische Abschnitte der Strategie implementiert werden.
  • Durch Definieren eines Optionsgraphen kann das Lernproblem der Fahrstrategie π : S → A in ein Problem der Definition einer Strategie für jeden Knoten des Graphen zerlegt werden, wobei die Strategie an internen Knoten aus verfügbaren Kinderknoten ausgewählt werden sollte. Für einige der Knoten kann die jeweilige Strategie manuell implementiert werden (z. B. durch if-then-Algorithmen, die einen Satz von Aktionen als Reaktion auf einen beobachteten Zustand spezifizieren), während für andere die Strategien unter Verwendung eines durch Verstärkungslernen aufgebauten trainierten Systems implementiert werden können. Die Wahl zwischen manuellen oder trainierten/gelernten Ansätzen kann von Sicherheitsaspekten abhängen, die mit der Aufgabe und ihrer relativen Einfachheit verbunden sind. Die Optionsgraphen können auf eine Weise konstruiert werden, dass einige der Knoten einfach zu implementieren sind, während andere Knoten auf trainierten Modellen beruhen können. Ein solcher Ansatz kann einen sicheren Betrieb des Systems gewährleisten.
  • Wie vorstehend erörtert, ist die Eingabe in die Fahrstrategie ein „erfasster Zustand“, der die Umgebungskarte zusammenfasst, wie sie zum Beispiel von verfügbaren Sensoren erhalten wird. Die Ausgabe der Fahrstrategie ist ein Satz von Wünschen (optional zusammen mit einem Satz von harten Beschränkungen), die eine Trajektorie als eine Lösung eines Optimierungsproblems definieren.
  • Wie vorstehend beschrieben, stellt der Optionsgraph einen hierarchischen Satz von Entscheidungen dar, die als ein DAG organisiert sind. Es gibt einen speziellen Knoten, der als die „Wurzel“ des Graphen bezeichnet wird. Der Wurzelknoten ist der einzige Knoten, der keine eingehenden Kanten aufweist (z. B. Entscheidungslinien). Der Entscheidungsprozess durchläuft den Graphen, beginnend vom Wurzelknoten, bis er einen „Blatt“-Knoten erreicht, nämlich einen Knoten, der keine ausgehenden Kanten aufweist. Jeder interne Knoten sollte eine Strategie implementieren, die ein Kind unter seinen verfügbaren Kindern auswählt. Jeder Blattknoten sollte eine Strategie implementieren, die basierend auf dem gesamten Pfad von der Wurzel zum Blatt einen Satz von Wünschen definiert (z. B. einen Satz von Navigationszielen für das Host-Fahrzeug). Der Satz von Wünschen stellt zusammen mit einem Satz von harten Beschränkungen, die direkt basierend auf dem erfassten Zustand definiert sind, ein Optimierungsproblem her, dessen Lösung die Trajektorie für das Fahrzeug ist. Die harten Beschränkungen können eingesetzt werden, um die Sicherheit des Systems weiter zu erhöhen, und die Wünsche können verwendet werden, um Fahrkomfort und menschenähnliches Fahrverhalten des Systems bereitzustellen. Die Trajektorie, die als eine Lösung für das Optimierungsproblem bereitgestellt wird, definiert wiederum die Befehle, die den lenk-, brems- und/oder motorbetätigten Aktoren bereitgestellt werden sollten, um die Trajektorie zu erreichen.
  • Verschiedene semantische Bedeutungen können Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs zugewiesen werden. So kann beispielsweise in einigen Ausführungsformen die semantische Bedeutung eine der folgenden Bezeichnungen beinhalten: 1) nicht relevant: Anzeigen, dass das erfasste Fahrzeug in der Szene aktuell nicht relevant ist; 2) nächste Fahrspur: Anzeigen, dass sich das erfasste Fahrzeug auf einer benachbarten Fahrspur befindet und ein angemessener Versatz relativ zu diesem Fahrzeug beibehalten werden sollte (der genaue Versatz kann im Optimierungsproblem berechnet werden, das die Trajektorie unter Berücksichtigung der Wünsche und harten Beschränkungen konstruiert und möglicherweise fahrzeugabhängig sein kann - das Bleiben Blatt der Optionen, das den semantischen Typ des Zielfahrzeugs festlegt, der den Wunsch relativ zum Zielfahrzeug definiert); 3) Vorfahrt einräumen: das Host-Fahrzeug wird versuchen, dem erfassten Zielfahrzeug Vorfahrt zu geben, indem es zum Beispiel die Geschwindigkeit reduziert (insbesondere wenn das Host-Fahrzeug bestimmt, dass das Zielfahrzeug wahrscheinlich auf die Fahrspur des Host-Fahrzeugs einschert); 4) Vorfahrt nehmen: das Host-Fahrzeug wird versuchen, die Vorfahrt zu nehmen, indem es zum Beispiel die Geschwindigkeit erhöht; 5) folgen: das Host-Fahrzeug möchte das reibungslose Fahren nach diesem Zielfahrzeug beibehalten; 6) Übernahme nach links/rechts: dies bedeutet, dass das Host-Fahrzeug eine Spurwechsel auf die linke oder rechte Fahrspur einleiten möchte.
  • Ein anderes Beispiel für einen Knoten ist ein Auswahllückenknoten. Dieser Knoten kann für das Auswählen einer Lücke zwischen zwei Zielfahrzeugen in einer bestimmten Zielspur verantwortlich sein, die das Host-Fahrzeug betreten möchte. Durch Auswählen eines Knotens der Form IDj für einen Wert von j erreicht das Host-Fahrzeug ein Blatt, das einen Wunsch nach dem Trajektorienoptimierungsproblem bezeichnet - z. B. möchte das Host-Fahrzeug ein Manöver durchführen, um die ausgewählte Lücke zu erreichen. Ein solches Manöver kann zunächst Beschleunigen/Bremsen in der aktuellen Fahrspur und dann Fahren zur Zielspur zu einem geeigneten Zeitpunkt beinhalten, um die ausgewählte Lücke zu betreten. Wenn der Auswahllückenknoten keine geeignete Lücke finden kann, kann er zu einem Abbruchknoten übergehen, der einen Wunsch definiert, sich zurück zur Mitte der aktuellen Fahrspur zu bewegen und die Übernahme abzubrechen.
  • Wie vorstehend erörtert, können sich Knoten des Optionsgraphen als „kritisch“ deklarieren, was sicherstellen kann, dass die ausgewählte Option die kritischen Knoten durchläuft. Formal kann jeder Knoten eine Funktion IsCritical implementieren. Nach dem Durchführen eines Vorwärtsdurchlaufs auf dem Optionsgraphen, von der Wurzel zu einem Blatt und Lösen des Optimierungsproblems des Trajektorienplaners kann ein Rückwärtsdurchlauf vom Blatt zurück zur Wurzel durchgeführt werden. Entlang dieses Rückwärtsdurchlaufs kann die IsCritical-Funktion aller Knoten im Durchlauf aufgerufen werden und eine Liste aller kritischen Knoten kann gespeichert werden. Auf dem Vorwärtspfad, der dem nächsten Zeitrahmen entspricht, kann es erforderlich sein, dass die Fahrstrategie einen Pfad vom Wurzelknoten zu einem Blatt auswählt, der alle kritischen Knoten durchläuft.
  • Zum Beispiel wäre es in einer Situation, in der eine Überholaktion eingeleitet wird und die Fahrstrategie ein Blatt erreicht, das IDk entspricht, unerwünscht, zum Beispiel einen Aufenthaltsknoten auszuwählen, wenn sich das Host-Fahrzeug in der Mitte des Übernahmemanövers befindet. Um einen solchen Sprung zu vermeiden, kann sich der IDj-Knoten als kritisch bezeichnen. Während des Manövers kann der Erfolg des Trajektorienplaners überwacht werden und die Funktion IsCritical gibt einen „Wahr“-Wert zurück, wenn das Überholmanöver wie beabsichtigt fortschreitet. Dieser Ansatz kann sicherstellen, dass im nächsten Zeitrahmen das Übernahmemanöver fortgesetzt wird (anstatt zu einem anderen, möglicherweise inkonsistenten Manöver vor Abschluss des anfänglich ausgewählten Manövers zu springen). Wenn andererseits die Überwachung des Manövers anzeigt, dass das ausgewählte Manöver nicht wie beabsichtigt fortschreitet, oder wenn das Manöver unnötig oder unmöglich geworden ist, kann die Funktion IsCritical einen „Falsch“-Wert zurückgeben. Dies kann es dem Auswahllückenknoten ermöglichen, eine andere Lücke im nächsten Zeitrahmen auszuwählen oder das Überholmanöver vollständig abzubrechen. Dieser Ansatz kann einerseits die Erklärung des gewünschten Pfads auf dem Optionsgraphen bei jedem Zeitschritt ermöglichen, während andererseits die Stabilität der Strategie in kritischen Teilen der Ausführung gefördert werden kann.
  • Harte Beschränkungen, die nachstehend ausführlicher erörtert werden, können von Navigationswünschen unterschieden werden. Beispielsweise können harte Beschränkungen ein sicheres Fahren gewährleisten, indem eine zusätzliche Filterschicht einer geplanten Navigationsaktion angewendet wird. Die implizierten harten Beschränkungen, die manuell programmiert und definiert werden können, anstatt durch die Verwendung eines auf Verstärkungslernen aufgebauten trainierten Systems, können aus dem erfassten Zustand bestimmt werden. In einigen Ausführungsformen kann das trainierte System jedoch die anwendbaren harten Beschränkungen lernen, die angewendet und verfolgt werden sollen. Ein solcher Ansatz kann das Fahrstrategienmodul 803 fördern, das bei einer ausgewählten Aktion ankommt, die bereits mit den anwendbaren harten Beschränkungen übereinstimmt, was ausgewählte Aktionen reduzieren oder eliminieren kann, die eine spätere Modifikation erfordern können, um mit den anwendbaren harten Beschränkungen übereinzustimmen. Dennoch können als eine redundante Sicherheitsmaßnahme harte Beschränkungen auf die Ausgabe der Fahrstrategie angewendet werden, selbst wenn die Fahrstrategie trainiert wurde, um vorbestimmte harte Beschränkungen zu berücksichtigen.
  • Es gibt viele Beispiele für potentielle harte Beschränkungen. So kann beispielsweise eine harte Beschränkung in Verbindung mit einem Leitplanken an einer Straßenkante definiert werden. In keiner Situation kann es dem Host-Fahrzeug erlaubt sein, den Leitplanken zu passieren. Eine solche Regel induziert eine harte seitliche Beschränkung auf der Trajektorie des Host-Fahrzeugs. Ein anderes Beispiel für eine harte Beschränkung kann eine Straßenunebenheit (z. B. eine Geschwindigkeitssteuerunebenheit) beinhalten, die eine harte Beschränkung auf die Fahrgeschwindigkeit vor der Unebenheit und während des Überquerens der Unebenheit induzieren kann. Harte Beschränkungen können als sicherheitskritisch betrachtet werden und können daher manuell definiert werden, anstatt sich ausschließlich auf ein trainiertes System zu verlassen, das die Beschränkungen während des Trainings lernt.
  • Im Gegensatz zu harten Beschränkungen kann das Ziel von Wünschen darin bestehen, ein komfortables Fahren zu ermöglichen oder zu erreichen. Wie oben beschrieben, kann ein Beispiel für einen Wunsch das Ziel sein, das Host-Fahrzeug an einer seitlichen Position innerhalb einer Fahrspur zu positionieren, die der Mitte der Host-Fahrspur entspricht. Ein anderer Wunsch kann die ID einer Lücke sein, in die man hineinpasst. Es ist nicht erforderlich, dass sich das Host-Fahrzeug genau in der Mitte der Fahrspur befindet, aber der Wunsch, so nahe wie möglich daran zu sein, kann sicherstellen, dass das Host-Fahrzeug auch bei Abweichungen von der Mitte der Fahrspur zur Mitte der Fahrspur tendiert. Wünsche müssen nicht sicherheitskritisch sein. In einigen Ausführungsformen können die Wünsche Verhandlungen mit anderen Fahrern und Fußgängern erfordern. Ein Ansatz für die Konstruktion der Wünsche kann sich auf den Optionsgraphen stützen, und die in mindestens einigen Knoten des Graphen implementierte Strategie kann auf Verstärkungslernen beruhen.
  • Für die Knoten eines Optionsgraphen, die als lernend trainierte Knoten implementiert sind, kann der Trainingsprozess die Zerlegung des Problems in eine Phase des überwachten Lernens und eine Phase des Verstärkungslernens beinhalten. In der überwachten Lernphase kann eine differenzierbare Abbildung von (st, at) auf ŝt+1 gelernt werden, so dass ŝt+1 ≈ st+1. Dies kann dem „modellbasierten“ Verstärkungslernen ähnlich sein. In der Vorwärtsschleife des Netzes kann ŝt+1 jedoch durch den tatsächlichen Wert von st+1 ersetzt werden, wodurch das Problem der Fehlerakkumulation beseitigt wird. Die Rolle der Vorhersage von ŝt+1 besteht darin, Nachrichten aus der Zukunft zurück auf vergangene Aktionen zu übertragen. In diesem Sinne kann der Algorithmus eine Kombination aus „modellbasiertem“ Verstärkungslernen und „Strategie-basiertem Lernen“ („policy-based learning“) sein.
  • Ein wichtiges Element, das in einigen Szenarien zur Verfügung gestellt werden kann, ist ein differenzierbarer Pfad von zukünftigen Verlusten/Belohnungen zurück zu Entscheidungen über Aktionen. Bei der Optionsgraphenstruktur ist die Implementierung von Optionen, die Sicherheitseinschränkungen beinhalten, normalerweise nicht differenzierbar. Um dieses Problem zu lösen, kann die Wahl eines untergeordneten Knotens in einer erlernten Strategie stochastisch sein. Das heißt, ein Knoten kann einen Wahrscheinlichkeitsvektor p ausgeben, der Wahrscheinlichkeiten zuweist, die bei der Auswahl jedes der Kinder des betreffenden Knotens verwendet werden. Nehmen wir an, dass ein Knoten k Kinder hat und lassen Sie a(1),... ,a(k) die Aktionen des Pfades von jedem Kind zu einem Blatt sein. Die resultierende vorhergesagte Aktion ist daher a ^ = i = 1 k p i a ( i ) ,
    Figure DE112020001106T5_0008
    was in einem differenzierbaren Pfad von der Aktion zu p resultieren kann. In der Praxis kann eine Aktion a so gewählt werden, dass sie a(i) für i ~ p ist, und die Differenz zwischen a und â kann als additives Rauschen bezeichnet werden.
  • Für das Training von ŝt+1 bei gegebenen st, at, at kann überwachtes Lernen zusammen mit realen Daten verwendet werden. Für das Training der Strategie von Knoten können Simulatoren verwendet werden. Später kann die Feinabstimmung einer Strategie anhand realer Daten vorgenommen werden. Zwei Konzepte können die Simulation realistischer machen. Erstens kann durch Nachahmung eine anfängliche Strategie nach dem Paradigma des „Verhaltensklonens“ unter Verwendung großer realer Datensätze erstellt werden. In einigen Fällen können die daraus resultierenden Agenten geeignet sein. In anderen Fällen bilden die daraus resultierenden Agenten zumindest sehr gute Ausgangsstrategien für die anderen Agenten auf den Straßen. Zweitens kann unsere eigene Strategie dazu verwendet werden, das Training zu erweitern, indem wir selbst spielen. Zum Beispiel kann eine Ausgangsstrategie basierend auf einem Simulator implementiert werden, wenn eine Implementierung der anderen Agenten (Autos/Fußgänger) bekannt ist. Einige der anderen Agenten können durch die neue Strategie ersetzt werden, und der Vorgang kann wiederholt werden. Auf diese Weise kann die Strategie immer weiter verbessert werden, da sie auf eine größere Anzahl anderer Agenten mit unterschiedlichem Level an Komplexität reagieren sollte.
  • In einigen Ausführungsformen kann das System außerdem einen Multi-Agenten-Ansatz implementieren. So kann das System beispielsweise Daten aus verschiedenen Quellen und/oder Bilder, die aus mehreren Blickwinkeln erfasst werden, in Betracht ziehen. Ferner können einige offenbarte Ausführungsformen Energieeinsparungen bereitstellen, da die Antizipation eines Ereignisses, das das Host-Fahrzeug nicht direkt betrifft, aber Auswirkungen auf das Host-Fahrzeug haben kann, oder sogar die Antizipation eines Ereignisses, das zu unvorhersehbaren Umständen führen kann, an denen andere Fahrzeuge beteiligt sind, in Betracht gezogen werden kann (z. B. kann das Radar das führende Fahrzeug „durchschauen“ und ein unvermeidbares oder sogar mit hoher Wahrscheinlichkeit ein Ereignis antizipieren, das das Host-Fahrzeug betreffen wird).
  • Globale Genauigkeit und lokale Genauigkeit
  • Im Zusammenhang mit dem autonomen Fahren kann eine Fehlerfunktion definiert werden, um die Genauigkeit der Messungen von Kameras, Sensoren o. ä. angemessen zu definieren (und damit Bedingungen zu stellen). Dementsprechend kann eine Szene als eine endliche Menge S von Objekten (wie Fahrzeugen, Fußgängern, Fahrspurmarkierungen o. ä.) definiert werden. S enthält das Host-Fahrzeug, das mit h bezeichnet werden kann. In diesem Zusammenhang kann eine Positionierung eine Abbildung p umfassen: p : S S → ℝ3, wobei p(h) = 0 = (0, 0, 0). Dementsprechend kann die erste Koordinate von p(a) eine seitliche Position von Objekt a umfassen, die zweite Koordinate kann eine Längsposition von Objekt a umfassen und die letzte Koordinate kann eine Höhe von Objekt a umfassen.
  • Daher kann eine Fehlerfunktion zwischen zwei Positionierungen p und p̂ in Bezug auf zwei Objekte a und b in der Menge S definiert werden als l a d d i t i v e ( a , b ; p , p ^ ) = def ( p ( a ) p ( b ) ) ( p ^ ( a ) p ^ ( b ) ) .
    Figure DE112020001106T5_0009
  • Die Auferlegung von Beschränkungen für die Fehlerfunktion ist im Allgemeinen nicht realistisch. Wenn beispielsweise Objekt a ein Fahrzeug an einer Position p(a) = (α,z, 0) und Objekt b eine Fahrspurmarkierung an einer Position p(b) = (-α, z, 0) ist, dann führen zweite Positionierungen von a und b bei p̂(a) = p(a) + (β p(a) / ||p(a)||) and p̂(b) = p(b) zu einem Verlust von β. Wenn sich die Objekte a und b also in einer Längsposition von 150 Metern befinden und der Verlust β 0,2 (d. h. 20 %) beträgt, ist es unmöglich, eine absolute Verlustbeschränkung von 20 Zentimetern aufzuerlegen, da dies die meisten Verluste inakzeptabel machen würde.
  • Demnach kann eine relative Fehlerfunktion wie folgt definiert werden: l r e l a t i v e ( a , b ; p , p ^ ) = def ( p ( a ) p ( b ) ) ( p ^ ( a ) p ^ ( b ) ) p ( a ) p ( b ) + v ,
    Figure DE112020001106T5_0010
    wobei v ist (0, 1].
  • Durch die Normalisierung der Fehlerfunktion können realistische Beschränkungen der Verluste auferlegt werden, die größere Verluste für weiter entfernte Objekte berücksichtigen. Es gibt jedoch zwei Möglichkeiten, die Genauigkeit unter Verwendung der normalisierten Fehlerfunktion zu definieren. Die eine ist die Ego-Genauigkeit und wird in Bezug auf das Host-Fahrzeug h gemessen: l r e l a t i v e ( a , h ; p , p ^ ) < ,
    Figure DE112020001106T5_0011
    wobei ∈ die Fehlerbeschränkung ist.
  • Diese Anforderung hängt jedoch von der Reichweite z der in einem Sichtfeld des Fahrzeugs erkannten Objekte ab, da, wenn p(h) = p̂(h) = 0, p(a) = (α,z, 0), und p̂(a) = p(a) + (βp(a) / llp(a)ll) l r e l a t i v e ( a , h ; p , p ^ ) = β z 2 + a 2 + v β z .
    Figure DE112020001106T5_0012
  • Um die Abhängigkeit vom Bereich z zu vermeiden, kann eine andere Definition der Genauigkeit, die paarweise ist, verwendet werden: l r e l a t i v e ( a , b ; p , p ^ ) < ,
    Figure DE112020001106T5_0013
    wobei ∈ die Fehlerbeschränkung ist.
  • Für p(a) = (α,z, 0), p(b) = (-α, z, 0), p̂(a) = p(a) + (ß p(a) / ||p(a)||), und p̂(b) = p(b), vereinfacht sich die paarweise Genauigkeit zu: l r e l a t i v e ( a , b ; p , p ^ ) = β 2 α + v = β 1 + v .
    Figure DE112020001106T5_0014
  • Daher ist β 2 < l r e l a t i v e ( a , b ; p , p ^ ) < β ,
    Figure DE112020001106T5_0015
    was unabhängig von z ist.
  • Weiterhin gibt es Situationen, die eiene ego-Genauigkeit haben ohne paarweise Genauigkeit. Insbesondere, wenn ℓrelative(a,h;p,p̂) < ∈, dann ℓrelative(a,h;p,p̂) ≤ β z
    Figure DE112020001106T5_0016
    so dass β = ∈z. Demgemäß ist z 2 < l r e l a t i v e ( a , h ; p , p ^ ) < z ,
    Figure DE112020001106T5_0017
    was bedeutet, dass z > 2 in einem Verlust der paarweisen Genauigkeit resultiert.
  • In einem bestimmten Beispiel, wenn ∈ = 0,2 und z = 100 Meter, dann ist β = 2 Meter, was eine vernünftige Verlustbeschränkung von 2 Metern pro 100 Meter ist. Dies führt jedoch zu ℓrelative(a,b;p,p̂) < 1, was bedeutet, dass diese Situation 50-fach von einer paarweisen Genauigkeit von 0,02 entfernt ist. Um eine paarweise Genauigkeit zu erreichen, könnte man z = 1 Meter und β = 0,02 setzen, was zu einem Fehler von 2 Zentimetern bei einer Reichweite von 100 Metern führt. Dies ist jedoch bei den meisten vorhandenen Sensoren unrealistisch. Andererseits kann die paarweise Genauigkeit ohne Rücksicht auf die Ego-Genauigkeit realistisch erzwungen werden. Um diese Genauigkeit zu erzwingen, kann ein Referenzkoordinatensystem verwendet werden, in dem sich relevante Objekte (wie Fahrzeuge, Fußgänger, Fahrspuren o.ä.) der Szene gleichzeitig befinden. Dies kann jedoch die Verwendung einer Kamera anstelle eines Lidars, GPS oder eines anderen Sensors involvieren.
  • Dementsprechend kann in einigen Ausführungsformen ein Host-Fahrzeug-Navigationssystem das 2-D-Koordinatensystem der Kamera anstelle des 3-D-Koordinatensystems des Fahrzeugs verwenden. Das System kann dann eine Karte (z. B. Orientierungspunkt und Spline einer dünnbesetzten Karte) auf das 2-D-Koordinatensystem umwandeln und eine Navigation im 2-D-Koordinatensystem durchführen. Darüber hinaus kann das System eine Navigation im 3-D-Koordinatensystem durchführen, indem es Bestimmungen, die im 2-D-Koordinatensystem vorgenommen wurden, in das 3-D-Koordinatensystem umwandelt. Dadurch wird eine paarweise Genauigkeit anstelle der Genauigkeit des Egos erzwungen, was eine größere Sicherheit und Zuverlässigkeit bereitstellt. Darüber hinaus erhöht diese Technik die Effizienz des Systems, da das Umwandeln von Karten in 2-D schneller als das Umwandeln von Bildern in 3-D ist und da das Durchführen einer Vorhersage und Navigation in 2-D schneller als das in 3-D ist.
  • In einer beispielhaften Ausführungsform kann ein Navigationssystem einen Ort des Host-Fahrzeugs bestimmen. Zum Beispiel kann sich der Ort innerhalb eines geografischen Gebiets befinden. Das Navigationssystem kann ferner auf eine Karte zugreifen, die das geografische Gebiet beinhaltet. Zum Beispiel kann das Navigationssystem auf eine gespeicherte Karte zugreifen oder auf eine Karte von einem oder mehreren entfernten Servern zugreifen, die das geografische Gebiet beinhaltet. In einigen Ausführungsformen kann die Karte eine dünnbesetzte Karte oder ein Roadbook (nachstehend beschrieben) oder einen Abschnitt davon basierend auf dem geografischen Gebiet beinhalten. Wie vorstehend erläutert, kann die dünnbesetzte Karte mindestens einen Spline beinhalten, der einen vorbestimmten Fahrweg und/oder mindestens einen Orientierungspunkt darstellt. Dementsprechend kann das mindestens eine Merkmal den mindestens einen Orientierungspunkt beinhalten.
  • Das Navigationssystem kann basierend auf dem Ort des Host-Fahrzeugs mindestens ein Merkmal aus der Karte extrahieren. Zum Beispiel kann das Navigationssystem ein Sichtfeld des Host-Fahrzeugs bestimmen und mindestens ein Merkmal, von dem erwartet wird, dass es sich im Sichtfeld befindet, basierend auf dem Ort extrahieren. In einigen Ausführungsformen kann mindestens ein Merkmal eine Fahrspur-Markierung, einen Straßenrand oder einen anderen Orientierungspunkt beinhalten, der in der Karte beinhaltet ist. Zum Beispiel kann der Straßenrand mindestens eines von einer Fahrspur-Markierung, einem Bordstein, einem Leitplanken oder einer Jersey-Wand beinhalten.
  • Das Navigationssystem kann von mindestens einem Bildsensor mindestens ein Bild empfangen, das eine Umgebung des Host-Fahrzeugs darstellt, und Koordinaten des mindestens einen Merkmals von einem Koordinatensystem der Karte in ein Koordinatensystem des mindestens einen Bildsensors umwandeln. Zum Beispiel kann das Koordinatensystem der Karte ein dreidimensionales Koordinatensystem umfassen (z. B. ein globales Koordinatensystem basierend auf GPS, ein Koordinatensystem lokal zu einem Straßensegment, das im geografischen Gebiet beinhaltet ist, oder dergleichen), und das Koordinatensystem des mindestens einen Bildsensors kann ein zweidimensionales Koordinatensystem basierend auf einem Sichtfeld des mindestens einen Bildsensors umfassen. In einigen Ausführungsformen kann das mindestens eine Merkmal vom dreidimensionalen Koordinatensystem der Karte in ein dreidimensionales Koordinatensystem umgewandelt werden, das auf dem Host-Fahrzeug zentriert ist (z. B. unter Verwendung des Orts) und dann auf die zweidimensionale Ebene des mindestens einen Bildsensors projiziert werden (z. B. unter Verwendung einer bekannten Beziehung zwischen dem Host-Fahrzeug und dem Sichtfeld).
  • Das Navigationssystem kann das mindestens eine Bild analysieren, um das mindestens eine Merkmal in der Umgebung des Host-Fahrzeugs zu identifizieren und mindestens eine Navigationsänderung am Host-Fahrzeug basierend auf einem Vergleich zwischen den umgewandelten Koordinaten und Koordinaten des identifizierten mindestens einen Merkmals im mindestens einen Bild zu bewirken. Zum Beispiel kann das Navigationssystem einen erwarteten Ort des mindestens einen Merkmals im zweidimensionalen Koordinatensystem des mindestens einen Bildsensors basierend auf den umgewandelten Koordinaten bestimmen und ein oder mehrere Bilder vom mindestens einen Bildsensor am und/oder in der Nähe des erwarteten Orts durchsuchen. Die Nähe kann absolut, z. B. innerhalb von 10 Pixeln, innerhalb von 20 Pixeln oder dergleichen des erwarteten Orts oder relativ, z. B. innerhalb von 10 % einer erwarteten Abmessung, wie Länge oder Breite, des mindestens einen Merkmals oder dergleichen bestimmt werden.
  • In einigen Ausführungsformen kann die mindestens eine Navigationsänderung das Verlangsamen des Host-Fahrzeugs, das Beschleunigen des Host-Fahrzeugs oder das Aktivieren eines Lenkmechanismus des Host-Fahrzeugs beinhalten. Zum Beispiel kann das Host-Fahrzeug basierend auf einer Differenz zwischen einem identifizierten Ort des mindestens einen Merkmals im mindestens einen Bild und dem erwarteten Ort basierend auf den umgewandelten Koordinaten verlangsamen, beschleunigen und/oder lenken.
  • In einigen Ausführungsformen kann die mindestens eine Navigationsänderung innerhalb des Koordinatensystems des mindestens einen Bildsensors bestimmt werden. Zum Beispiel kann ein Vektor basierend auf der Differenz zwischen dem identifizierten Ort des mindestens einen Merkmals im mindestens einen Bild und dem erwarteten Ort basierend auf den umgewandelten Koordinaten bestimmt werden. Der Vektor kann die mindestens eine Navigationsänderung darstellen, sodass das mindestens eine Merkmal erscheint, wenn es erwartet wird. In solchen Ausführungsformen kann das Navigationssystem die mindestens eine Navigationsänderung in das Koordinatensystem der Karte umwandeln. Zum Beispiel kann das Navigationssystem den Differenzvektor basierend auf einer Tiefe des mindestens einen Merkmals im mindestens einen Bild und/oder einer erwarteten Tiefe des mindestens einen Merkmals aus der Karte in ein dreidimensionales Koordinatensystem (z. B. ein globales Koordinatensystem oder ein auf dem Host-Fahrzeug zentriertes Koordinatensystem) projizieren.
  • Fusion mit Komfort- und Sicherheitsbeschränkungen
  • In einigen Ausführungsformen kann ein Host-Fahrzeug Daten von mehreren Quellen empfangen, wie beispielsweise Kartendaten, die mit Kameras, Lidar, Radar und so weiter gekoppelt sind. Ein Navigationssystem des Host-Fahrzeugs kann verschiedene Schemata verwenden, um Daten aus diesen verschiedenen Quellen zu fusionieren. Zum Beispiel kann das Navigationssystem in einem Erkennungsschema ein Zielobjekt verifizieren (d. h. bestätigen, dass ein potenzielles Objekt tatsächlich als ein erkanntes Objekt behandelt werden sollte), wenn es von mindestens einer Quelle erkannt wird, was eine schnelle, aber mit geringer Genauigkeit arbeitende Technik zur Erkennung ist. In einem Überschneidungsschema kann das Navigationssystem ein Zielobjekt genehmigen, wenn es von mehreren Quellen erkannt wird, und in einem Synergieschema kann das Navigationssystem ein Zielobjekt genehmigen, wenn es unter Verwendung einer Kombination von Daten aus mehreren Quellen erkannt wird. Die Überschneidungs- und Synergieschemata sind langsamer, aber genauer als das Erkennungsschema. Dementsprechend kann durch selektives Verwenden der Überschneidungs- und Synergieschemata sowie des Erkennungsschemas die Genauigkeit der Reaktion des Systems optimiert werden, ohne die Sicherheit zu beeinträchtigen. Dadurch wird ein technisches Problem gelöst, wie Sensordaten von einem autonomen Fahrzeug genau interpretiert werden können, ohne die Sicherheit zu beeinträchtigen.
  • 12 ist ein beispielhaftes funktionales Blockdiagramm von Speicher 140 und/oder 150, das mit Anweisungen zum Durchführen von einem oder mehreren Vorgängen, die mit den offenbarten Ausführungsformen konsistent sind, gespeichert/programmiert werden kann. Obwohl sich das Folgende auf Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 12 gezeigt, kann Speicher 140 ein Objektidentifikationsmodul 1202, ein Beschränkungsmodul 1204, ein Verifizierungsmodul 1206 und ein Navigationsänderung-Modul 1208 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration von Speicher 140 beschränkt. Ferner können Anwendungsprozessor 180 und/oder Bildprozessor 190 die Anweisungen ausführen, die in einem der Module 1202, 1204, 1206 und 1208 gespeichert sind, die im Speicher 140 enthalten sind. Ein Fachmann wird verstehen, dass sich Verweise in den folgenden Erörterungen auf Verarbeitungseinheit 110 auf Anwendungsprozessor 180 und Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können Schritte eines der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann Objektidentifikationsmodul 1202 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, eine erste Ausgabe von einer ersten Datenquelle, die dem Host-Fahrzeug zugeordnet ist, und eine zweite Ausgabe von einer zweiten Datenquelle, die dem Host-Fahrzeug zugeordnet ist, empfangen. Mindestens eine der ersten Datenquelle und der zweiten Datenquelle umfasst einen Sensor an Bord des Host-Fahrzeugs. So kann beispielsweise Objektidentifikationsmodul 1202 eine erste Ausgabe von einem ersten Sensor an Bord des Host-Fahrzeugs und eine zweite Ausgabe von einem zweiten Sensor an Bord des Host-Fahrzeugs empfangen. Dementsprechend kann die erste Datenquelle mindestens eine Kamera, ein Lidar oder ein Radar an Bord des Host-Fahrzeugs umfassen, und die zweite Datenquelle kann mindestens eine Kamera, ein Lidar oder ein Radar an Bord des Host-Fahrzeugs umfassen, die sich von der ersten Datenquelle unterscheidet.
  • Alternativ kann Objektidentifikationsmodul 1202 eine erste Ausgabe von einem ersten Sensor an Bord des Host-Fahrzeugs und eine zweite Ausgabe von einer Karte empfangen, auf die die Verarbeitungseinheit 110 zugreift. Dementsprechend kann die erste Datenquelle mindestens eine Kamera, ein Lidar oder ein Radar an Bord des Host-Fahrzeugs umfassen, und die zweite Datenquelle kann die Kartendaten umfassen.
  • In einer Ausführungsform kann Objektidentifikationsmodul 1202 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, eine Repräsentation eines Zielobjekts in der ersten Ausgabe identifizieren. So kann beispielsweise Objektidentifikationsmodul 1202 den gesamten oder einen Teil des vorstehend beschriebenen Prozesses 500B ausführen, um die Repräsentation des Zielobjekts zu identifizieren.
  • In einem Beispiel kann Objektidentifikationsmodul 1202 einen Satz von Kandidatenobjekten bestimmen, die das Zielobjekt (z. B. ein Fahrzeug, ein Fußgänger, ein stationäres Objekt, eine Fahrspur-Markierung oder dergleichen) darstellen, indem es die erste Ausgabe scannt, die erste Ausgabe mit einem oder mehreren vorbestimmten Mustern vergleicht und innerhalb der ersten Ausgabe mögliche Orte identifiziert, die Objekte von Interesse enthalten können (z. B. Fahrzeuge, Fußgänger, stationäre Objekte, Fahrspur-Markierungen oder dergleichen). Die vorbestimmten Muster können mit der Art der Ausgabe des ersten Sensors übereinstimmen. Wenn beispielsweise der erste Sensor eine Kamera ist, können die vorbestimmten Muster visuell sein, während, wenn der erste Sensor ein Mikrofon ist, die vorbestimmten Muster akustisch sein können. In einigen Ausführungsformen können die vorbestimmten Muster konfiguriert sein, um eine hohe Rate von „falschen Treffern“ („false hits“) und eine niedrige Rate von „Auslassern“ („misses“) zu erzielen. So kann beispielsweise Objektidentifikationsmodul 1202 einen niedrigen Ähnlichkeitsschwellenwert mit vorbestimmten Mustern verwenden, um Kandidatenobjekte als mögliche Zielobjekte zu identifizieren, um die Wahrscheinlichkeit des Fehlens (z. B. Nicht-Identifizieren) eines Kandidatenobjekts zu reduzieren, das ein Zielobjekt darstellt.
  • Objektidentifikationsmodul 1202 kann ferner den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können von verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen assoziiert sind, die in einer Datenbank gespeichert sind, z. B. einer Datenbank, die im Speicher 140 (nicht gezeigt) gespeichert ist und/oder auf die von einem oder mehreren entfernten Servern zugegriffen wird. Eigenschaften können Objektform, Abmessungen, Textur, Position (z. B. relativ zum Host-Fahrzeug), Geschwindigkeit (z. B. relativ zum Host-Fahrzeug) und dergleichen beinhalten. So kann Objektidentifikationsmodul 1202 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten abzulehnen.
  • In Ausführungsformen, in denen die erste Ausgabe mehrere Einzelbilder im Laufe der Zeit umfasst, kann Objektidentifikationsmodul 1202 auch mehrere Einzelbilder der ersten Ausgabe analysieren, um zu bestimmen, ob Objekte im Satz von Kandidatenobjekten Zielobjekte darstellen. So kann beispielsweise Objektidentifikationsmodul 1202 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Einzelbilder verfolgen und Einzelbild-für-Einzelbild-Daten sammeln, die mit dem erkannten Objekt assoziiert sind (z. B. Größe, Position relativ zum Host-Fahrzeug, Geschwindigkeit relativ zum Host-Fahrzeug usw.). Zusätzlich oder alternativ kann Objektidentifikationsmodul 1202 Parameter für das erkannte Objekt schätzen und die Einzelbild-für-Einzelbild-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen. Die Verwendung von „Einzelbildern“ bedeutet nicht, dass die erste Ausgabe Bilder sein muss, obwohl sie es sein kann. Wie hierin verwendet, bezieht sich „Einzelbilder“ auf jede diskretisierte Abfolge von Messungen über die Zeit, die vom ersten Sensor, dem zweiten Sensor oder anderen zusätzlichen Sensoren empfangen werden.
  • Objektidentifikationsmodul 1202 kann ferner einen Satz von Messungen für die erkannten Objekte konstruieren. Solche Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (z. B. relativ zum Host-Fahrzeug) beinhalten, die mit den erkannten Objekten assoziiert sind. In einigen Ausführungsformen kann Zielobjektmodul 2004 die Messungen basierend auf Schätzungstechniken unter Verwendung einer Reihe von zeitbasierten Beobachtungen, wie beispielsweise Kalman-Filtern oder linearer quadratischer Schätzung (LQE), und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) konstruieren. Die Kalman-Filter können auf einer Messung der Objektskala basieren, wobei die Skalenmessung proportional zu einer Zeit bis zur Kollision ist (z. B. der Zeitbetrag, den das Host-Fahrzeug benötigt, um das Objekt zu erreichen).
  • In Ausführungsformen, in denen die erste Ausgabe mehrere Einzelbilder im Laufe der Zeit umfasst, kann Objektidentifikationsmodul 1202 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten des Erkennens eines „falschen Treffers“ und des Fehlens eines Kandidatenobjekts zu reduzieren, das ein Fahrzeug oder einen Fußgänger darstellt. Die optische Flussanalyse kann sich beispielsweise auf das Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in einem oder mehreren Bildern beziehen, die mit anderen Fahrzeugen und Fußgängern verbunden sind und sich von der Straßenoberflächenbewegung unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die verschiedenen Positionen der Objekte über mehrere Einzelbilder hinweg beobachtet, die zu unterschiedlichen Zeiten erfasst werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. So kann die optische Flussanalyse ein weiteres Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann die optische Flussanalyse in Kombination mit den Schritten 540 -546 durchführen, um Redundanz zum Erkennen von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • Zusätzlich oder alternativ kann das Objektidentifikationsmodul 1202 den gesamten oder einen Teil des vorstehend beschriebenen Prozesses 500C ausführen, um die Repräsentation des Zielobjekts zu identifizieren. In Ausführungsformen, in denen das Objektidentifikationsmodul 1202 als zusätzliche Verarbeitungsschicht für ausgewählte Aktionen eines trainierten Systems implementiert ist, kann das Objektidentifikationsmodul 1202 eine Identifikation des Zielobjekts vom trainierten System empfangen. Dementsprechend kann das Objektidentifikationsmodul 1202 die erste Ausgabe scannen, die erste Ausgabe mit Mustern vergleichen, die mit dem vom trainierten System empfangenen Zielobjekt übereinstimmen, und innerhalb der ersten Ausgabe den Ort des Zielobjekts identifizieren. Beispielsweise kann das Objektidentifikationsmodul 1202 eine Identifikation eines anderen Fahrzeugs vom trainierten Netzwerk empfangen, die in einer Datenbank gespeicherten Muster extrahieren, z. B. einer Datenbank, die im Speicher 140 (nicht gezeigt) gespeichert ist und/oder auf die von einem oder mehreren entfernten Servern zugegriffen wird, und als Muster von Fahrzeugen indiziert sowie mit dem Typ der ersten Ausgabe (z. B. visuell, akustisch, thermisch oder dergleichen) übereinstimmen und innerhalb der ersten Ausgabe einen Ort des anderen Fahrzeugs identifizieren, indem die erste Ausgabe mit den extrahierten Mustern verglichen wird.
  • Alternativ kann in Ausführungsformen, in denen das Objektidentifikationsmodul 1202 als zusätzliche Verarbeitungsschicht für ausgewählte Aktionen eines trainierten Systems implementiert ist, das Objektidentifikationsmodul 1202 eine Identifikation des Zielobjekts vom trainierten System sowie einen Ort des Zielobjekts empfangen. Wenn sich der empfangene Ort in der ersten Ausgabe befindet, kann das Objektidentifikationsmodul 1202 eine Klassifizierung (z. B. unter Verwendung des vorstehend beschriebenen Vergleichs) an und/oder in der Nähe des empfangenen Orts durchführen, um das Zielobjekt in der ersten Ausgabe zu identifizieren. Wenn sich der empfangene Ort in einer anderen Ausgabe befindet (z. B. von einem anderen Sensor), kann das Objektidentifikationsmodul 1202 Muster extrahieren, die in einer Datenbank gespeichert sind, z. B. einer Datenbank (nicht gezeigt), die im Speicher 140 gespeichert ist und/oder auf die von einem oder mehreren entfernten Servern zugegriffen wird, und als Muster von Objekttypen indiziert, die mit dem Zielobjekt (z. B. Fahrzeug, Fußgänger, stationäre Objekte oder dergleichen) übereinstimmen sowie mit dem Typ der ersten Ausgabe (z. B. visuell, akustisch, thermisch oder dergleichen) übereinstimmen und innerhalb der ersten Ausgabe einen Ort des Zielobjekts identifizieren, indem die erste Ausgabe mit den extrahierten Mustern verglichen wird. Zusätzlich oder alternativ zu diesem Vergleich kann das Objektidentifikationsmodul 1202 einen Atlas konstruieren, der Informationen beinhaltet, die Orte auf der Ausgabe, die vom trainierten System verwendet werden, auf Orte auf der ersten Ausgabe abbilden. Basierend darauf kann das Objektidentifikationsmodul 1202 einen Ort in der ersten Ausgabe bestimmen, an dem eine Repräsentation des Zielobjekts basierend auf seinem Ort in der Ausgabe, die vom trainierten System verwendet wird, erwartet würde, und eine Klassifizierung (z. B. unter Verwendung des vorstehend beschriebenen Vergleichs) durchführen, um innerhalb der ersten Ausgabe einen Ort des Zielobjekts zu identifizieren.
  • In einer Ausführungsform kann Navigationsbeschränkungsmodul 1204 Software speichern, die von Verarbeitungseinheit 110 ausführbar ist, um zu bestimmen, ob eine Charakteristik des Zielobjekts mindestens eine Navigationsbeschränkung auslöst. Charakteristiken von Zielobjekten können harte (Sicherheits-)Beschränkungen oder weiche (Komfort-)Beschränkungen auslösen. Zum Beispiel kann eine Entfernung des Zielobjekts eine harte Beschränkung basierend auf einer minimalen Entfernung oder einer maximalen Entfernung (z. B. zu anderen Fahrzeugen, zu Fußgängern, zu Straßenrändern, zu Fahrspur-Markierungen oder dergleichen) und/oder eine weiche Beschränkung basierend auf einer bevorzugten Entfernung auslösen. In einem anderen Beispiel kann eine Größe des Zielobjekts eine harte Beschränkung basierend auf einer minimalen Größe oder einer maximalen Größe (z. B. einer Höhe eines Hindernisses, einer Höhe eines Freiraums oder dergleichen) und/oder eine weiche Beschränkung basierend auf einer bevorzugten Größe auslösen. In noch einem anderen Beispiel kann ein Ort des Zielobjekts eine harte Beschränkung basierend auf einer eingeschränkten Zone (z. B. innerhalb einer aktuellen Fahrspur des Host-Fahrzeugs, innerhalb einer bestimmten Schwellenentfernung einer projizierten Trajektorie des Host-Fahrzeugs oder dergleichen) und/oder eine weiche Beschränkung basierend auf einer bevorzugten Zone (z. B. auf einer Fahrspur oder einem Bürgersteig, der der aktuellen Fahrspur benachbart ist, innerhalb eines Bereichs der projizierten Trajektorie oder dergleichen) auslösen.
  • In einer Ausführungsform kann, wenn die mindestens eine Navigationsbeschränkung nicht durch die Charakteristik des Zielobjekts ausgelöst wird, Verifizierungsmodul 1206 die Identifikation der Repräsentation des Zielobjekts basierend auf einer Kombination der ersten Ausgabe und der zweiten Ausgabe verifizieren. Zum Beispiel kann die Kombination ein Überschneidungsschema oder ein Synergieschema umfassen. Ein Überschneidungsschema kann eine Anforderung umfassen, dass das Zielobjekt sowohl in der ersten Ausgabe als auch in der zweiten Ausgabe zur Verifizierung identifiziert wird. So muss beispielsweise das Zielobjekt in einem Radar, Lidar oder einer Kamera identifiziert werden, die die erste Datenquelle und ein Radar, Lidar oder eine Kamera umfasst, die die zweite Datenquelle umfasst, um verifiziert zu werden. Das heißt, das Zielobjekt kann als genehmigt betrachtet werden, wenn es von mehreren Datenquellen erkannt wird. Ein Synergieschema kann eine Kombination der ersten Datenquelle und der zweiten Datenquelle umfassen, um das Zielobjekt zu verifizieren. So kann beispielsweise ein Synergieschema das Identifizieren oder Genehmigen eines Zielobjekts basierend auf dem Kombinieren von Teildaten beinhalten, die aus einer Vielzahl von Datenquellen erhalten werden. Ein Beispiel für ein Synergieschema kann die Kameraschätzung eines Bereichs des Zielobjekts beinhalten, wobei der Bereich von einem Straßenhöhenmodell (z. B. basierend auf einer anderen Kamera) oder von Lidar gemessen wird. Ein weiteres Beispiel kann die Erkennung des Zielobjekts mit einem Lidar und die Messung des Zielobjekts unter Verwendung eines Straßenhöhenmodells basierend auf dem optischen Fluss von einer oder mehreren Kameras beinhalten. Noch ein weiteres Beispiel kann die Fahrspurerkennung (z. B. das Zielobjekt umfasst einen Straßenrand oder eine Fahrspur-Markierung) unter Verwendung einer Kamera und dann die Bestätigung der Erkennung unter Verwendung von Kartendaten beinhalten. Noch ein weiteres Beispiel kann die Erkennung des Zielobjekts unter Verwendung einer oder mehrerer Kameras und die Verwendung von Lidar beinhalten, um den Freiraum in der Umgebung des Host-Fahrzeugs zu bestimmen.
  • Wenn andererseits die mindestens eine Navigationsbeschränkung durch die Charakteristik des Zielobjekts ausgelöst wird, kann Verifizierungsmodul 1206 die Identifikation der Repräsentation des Zielobjekts basierend auf der ersten Ausgabe verifizieren. So kann beispielsweise ein Erkennungsschema verwendet werden, sodass nur die erste Ausgabe verwendet wird, um das Zielobjekt zu genehmigen oder zu verifizieren.
  • Navigationsänderung-Modul 1208 kann die Ausgabe des Objektidentifikationsmoduls 1202 und/oder Verifizierungsmoduls 1206 verwenden, um einen Entscheidungsbaum für Navigationsanpassungen zu implementieren. Die Navigationsanpassungen können auf Daten basieren, die vom ersten Sensor, dem zweiten Sensor, anderen Sensoren, Kartendaten und einem oder mehreren Objekten abgeleitet werden, die aus der ersten Ausgabe, der zweiten Ausgabe und einer anderen Ausgabe erkannt werden. Das Navigationsänderung-Modul 1208 kann auch eine gewünschte Navigationsreaktion basierend auf der Eingabe von anderen Systemen des Fahrzeugs 200 bestimmen, wie beispielsweise dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200. Zusätzlich oder alternativ kann das Navigationsänderung-Modul 1208 eine oder mehrere Navigationsanpassungen von anderen Speichermodulen (nicht dargestellt) und/oder von einem trainierten System empfangen, wie vorstehend erläutert. Dementsprechend kann das Navigationsänderung-Modul 1208 als zusätzliche Verarbeitungsschicht für ausgewählte Aktionen eines trainierten Systems implementiert werden.
  • Dementsprechend kann das Navigationsänderung-Modul 1208 als Reaktion auf die Verifizierung mindestens eine Navigationsänderung am Host-Fahrzeug bewirken. Um die mindestens eine Navigationsänderung zu bewirken, kann das Navigationsänderung-Modul 1208 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem beispielsweise das Lenkrad des Fahrzeugs 200 gedreht wird, um eine Drehung um einen vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die mindestens eine Navigationsänderung das Verzichten auf jegliche Anpassungen an den einen oder die mehreren Navigationsstellglieder des Host-Fahrzeugs als Reaktion auf die Verifizierung umfassen.
  • Darüber hinaus können alle hierin offenbarten Module (z. B. Module 1204, 1204, 1206 und 1208) Techniken implementieren, die mit einem trainierten System (wie einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System assoziiert sind. Zusätzlich oder alternativ können alle hierin offenbarten Module (z. B. Module 1204, 1204, 1206 und 1208) Techniken als zusätzliche Verarbeitungsschicht für ausgewählte Aktionen eines trainierten Systems implementieren.
  • 13A und 13B stellen schematische Darstellungen von beispielhaften Sicherheits- und Komfortbeschränkungen bereit. Wie in 13A dargestellt, kann das Host-Fahrzeug 1300 andere Fahrzeuge vor dem Host-Fahrzeug 1300 (wie dem Fahrzeug 1301), andere Fahrzeuge hinter dem Host-Fahrzeug 1300 (wie dem Fahrzeug 1303) und andere Fahrzeuge in anderen Fahrspuren als denen, in denen das Host-Fahrzeug 1300 fährt (wie dem Fahrzeug 1307), als Zielobjekte erkennen.
  • Charakteristiken solcher erkannter Objekte können Navigationsbeschränkungen auslösen. Zum Beispiel können die Entfernung 1309 zwischen dem Host-Fahrzeug 1300 und dem anderen Fahrzeug 1301, die Entfernung 1311 zwischen dem Host-Fahrzeug 1300 und dem anderen Fahrzeug 1307 und/oder die Entfernung 1313 zwischen dem Host-Fahrzeug 1300 und dem anderen Fahrzeug 1303 Navigationsbeschränkungen auslösen. Obwohl in 13A und 13B nicht dargestellt, können andere Charakteristiken, die mit einem oder mehreren der Fahrzeuge 1301, 1303 und 1305 assoziiert sind, relative Geschwindigkeiten zwischen dem Host-Fahrzeug 1300 und einem oder mehreren der Fahrzeuge 1301, 1303 und 1305, Kollisionszeiten mit einem oder mehreren der Fahrzeuge 1301, 1303 und 1305 oder dergleichen beinhalten.
  • In den vorstehend beschriebenen Beispielen kann die ausgelöste Navigationsbeschränkung mit einer Entfernung zu einem oder mehreren der Fahrzeuge 1301, 1303 und 1305 (wie etwa einer minimalen Entfernung), einer relativen Geschwindigkeit zwischen dem Host-Fahrzeug 1300 und einem oder mehreren der Fahrzeuge 1301, 1303 und 1305 (wie etwa einer maximalen relativen Geschwindigkeit, z. B. nahe null), einer Kollisionszeit mit einem oder mehreren der Fahrzeuge 1301, 1303 und 1305 (wie etwa einer minimalen Kollisionszeit, z. B. nahe unendlich) oder dergleichen assoziiert sein. Dementsprechend können die Charakteristiken eine harte (oder Sicherheits-)Beschränkung auslösen. Alternativ können die Charakteristiken keine Navigationsbeschränkung auslösen. Zum Beispiel können eine oder mehrere weiche Beschränkungen (oder „Wünsche“) mit den Charakteristiken assoziiert sein.
  • 13C und 13D stellen schematische Darstellungen von weiteren beispielhaften Sicherheits- und Komfortbeschränkungen bereit, die mit den offenbarten Ausführungsformen konsistent sind. Wie in 13C und 13D dargestellt, kann das Host-Fahrzeug 1300 ein stationäres Objekt 1315 auf der Fahrbahn erkennen, auf der das Host-Fahrzeug 1300 als Zielobjekt fährt. Zusätzlich oder alternativ kann das Host-Fahrzeug 1300 eine Fahrspur-Markierung als Zielobjekt erkennen.
  • Im Beispiel von 13C und 13D kann die Entfernung 1317 zwischen dem Host-Fahrzeug 1300 und dem stationären Objekt 1315 eine Charakteristik sein, die eine Navigationsbeschränkung auslöst. Zusätzlich oder alternativ kann die Entfernung 1319 zwischen dem Host-Fahrzeug 1300 und der Fahrspur-Markierung eine Charakteristik sein, die eine Navigationsbeschränkung auslöst. Obwohl in 13C und 13D nicht dargestellt, können andere Charakteristiken, die mit dem stationären Objekt 1315 oder der Fahrspur-Markierung assoziiert sind, eine relative Geschwindigkeit zwischen dem Host-Fahrzeug 1300 und dem stationären Objekt 1315 oder der Fahrspur-Markierung, eine Kollisionszeit mit dem stationären Objekt 1315 oder der Fahrspur-Markierung oder dergleichen beinhalten.
  • In den vorstehenden Beispielen kann eine Navigationsbeschränkung mit einer Entfernung zu dem stationären Objekt 1315 oder der Fahrspur-Markierung (wie etwa einer minimalen Entfernung), einer relativen Geschwindigkeit zwischen dem Host-Fahrzeug 1300 und dem stationären Objekt 1315 oder der Fahrspur-Markierung (wie etwa einer maximalen relativen Geschwindigkeit, z. B. nahe null), einer Kollisionszeit mit dem stationären Objekt 1315 oder der Fahrspur-Markierung (wie etwa einer minimalen Kollisionszeit, z. B. nahe unendlich) oder dergleichen assoziiert sein. Dementsprechend können die Charakteristiken eine harte (oder Sicherheits-)Beschränkung auslösen. Alternativ können die Charakteristiken keine Navigationsbeschränkung auslösen. Zum Beispiel können eine oder mehrere weiche Beschränkungen (oder „Wünsche“) mit den Charakteristiken assoziiert sein.
  • 14 stellt ein Ablaufdiagramm bereit, das einen beispielhaften Prozess 1400 zum Navigieren eines Host-Fahrzeugs basierend auf Sicherheits- und Komfortbeschränkungen darstellt, die mit den offenbarten Ausführungsformen konsistent sind. Prozess 1400 kann von mindestens einer Verarbeitungsvorrichtung, wie etwa der Verarbeitungsvorrichtung 110, durchgeführt werden.
  • Bei Schritt 1402 kann die Verarbeitungsvorrichtung 110 eine erste Ausgabe von einer ersten Datenquelle empfangen, die dem Host-Fahrzeug zugeordnet ist. Wie vorstehend in Bezug auf Objektidentifikationsmodul 1202 erläutert, kann die erste Datenquelle beispielsweise mindestens eine Kamera, ein Lidar oder ein Radar an Bord des Host-Fahrzeugs umfassen.
  • Bei Schritt 1404 kann die Verarbeitungsvorrichtung 110 eine zweite Ausgabe von einer zweiten Datenquelle empfangen, die dem Host-Fahrzeug zugeordnet ist. Wie vorstehend in Bezug auf Objektidentifikationsmodul 1202 erläutert, kann die zweite Datenquelle beispielsweise Kartendaten umfassen, auf die die mindestens eine Verarbeitungsvorrichtung zugreift.
  • In einigen Ausführungsformen umfassen dann mindestens eine der ersten Datenquelle und der zweiten Datenquelle einen Sensor an Bord des Host-Fahrzeugs. In einigen Ausführungsformen können sowohl die erste Datenquelle als auch die zweite Datenquelle Sensoren umfassen. Die erste Datenquelle und die zweite Datenquelle können beispielsweise verschiedene Kameras umfassen, die erste Datenquelle kann eine Kamera umfassen und die zweite Datenquelle kann ein Radar umfassen, die erste Datenquelle kann eine Kamera umfassen und die zweite Datenquelle kann ein Lidar oder dergleichen umfassen. In anderen Ausführungsformen können die andere der ersten Datenquelle und der zweiten Datenquelle eine andere Datenquelle umfassen, wie beispielsweise Kartendaten.
  • Bei Schritt 1406 kann die Verarbeitungsvorrichtung 110 eine Repräsentation eines Zielobjekts in der ersten Ausgabe identifizieren. So kann beispielsweise die Verarbeitungsvorrichtung 110 das Zielobjekt wie vorstehend in Bezug auf Objektidentifikationsmodul 1202 beschrieben identifizieren.
  • Bei Schritt 1408 kann die Verarbeitungsvorrichtung 110 bestimmen, ob eine Charakteristik des Zielobjekts mindestens eine Navigationsbeschränkung auslöst. Wie vorstehend in Bezug auf das Navigationsbeschränkungsmodul 1204 erläutert, kann die Charakteristik beispielsweise eine Größe des Zielobjekts, einen Abstand vom Host-Fahrzeug zum Zielobjekt oder einen Ort des Zielobjekts in einer Umgebung des Host-Fahrzeugs beinhalten.
  • Bei Schritt 1410a kann, wie vorstehend in Bezug auf Verifizierungsmodul 1206 erläutert, wenn die mindestens eine Navigationsbeschränkung nicht durch die Charakteristik des Zielobjekts ausgelöst wird, die Verarbeitungsvorrichtung 110 die Identifikation der Repräsentation des Zielobjekts basierend auf einer Kombination der ersten Ausgabe und der zweiten Ausgabe verifizieren.
  • In einigen Ausführungsformen kann das Verifizieren der Identifikation der Repräsentation des Zielobjekts basierend auf der Kombination der ersten Ausgabe und der zweiten Ausgabe das Bestimmen umfassen, ob eine Repräsentation des Zielobjekts sowohl in der ersten Ausgabe als auch in der zweiten Ausgabe identifiziert wird. Wie vorstehend in Bezug auf Verifizierungsmodul 1206 erläutert, kann die Kombination beispielsweise ein Überschneidungsschema umfassen.
  • Zusätzlich oder alternativ kann das Verifizieren der Identifikation der Repräsentation des Zielobjekts basierend auf der Kombination der ersten Ausgabe und der zweiten Ausgabe das Bestimmen der Charakteristik des Zielobjekts unter Verwendung der zweiten Ausgabe umfassen, die auf die erste Ausgabe projiziert wird. Wie vorstehend in Bezug auf Verifizierungsmodul 1206 erläutert, kann die Kombination beispielsweise ein Synergieschema umfassen. In einem Beispiel kann, wenn die zweite Ausgabe Kartendaten umfasst und die erste Ausgabe mindestens ein Bild einer Umgebung des Host-Fahrzeugs umfasst, die Projektion das Erkennen eines oder mehrerer Straßenränder im mindestens einen Bild unter Verwendung der Kartendaten umfassen. In einem weiteren Beispiel kann, wenn die zweite Ausgabe eine Ausgabe von einem Lidar umfasst und die erste Ausgabe mindestens ein Bild einer Umgebung des Host-Fahrzeugs umfasst, die Projektion das Erkennen des Freiraums im mindestens einen Bild unter Verwendung der zweiten Ausgabe umfassen.
  • Bei Schritt 1410b kann, wie vorstehend in Bezug auf Verifizierungsmodul 1206 erläutert, wenn die mindestens eine Navigationsbeschränkung durch die Charakteristik des Zielobjekts ausgelöst wird, die Verarbeitungsvorrichtung 110 die Identifikation der Repräsentation des Zielobjekts basierend auf der ersten Ausgabe verifizieren.
  • Bei Schritt 1412 kann die Verarbeitungsvorrichtung 110 als Reaktion auf die Verifizierung mindestens eine Navigationsänderung am Host-Fahrzeug bewirken. Wie vorstehend in Bezug auf Navigationsänderung-Modul 1208 erläutert, kann die mindestens eine Navigationsänderung beispielsweise das Verlangsamen des Host-Fahrzeugs, das Beschleunigen des Host-Fahrzeugs oder das Aktivieren eines Lenkmechanismus des Host-Fahrzeugs beinhalten.
  • Das Verfahren 1400 kann ferner zusätzliche Schritte beinhalten. Das Verfahren 1400 kann beispielsweise das Bestimmen der mindestens einen Navigationsänderung basierend darauf beinhalten, ob die mindestens eine Navigationsbeschränkung ausgelöst wird. Wie vorstehend in Bezug auf Navigationsänderung-Modul 1208 erläutert, kann die mindestens eine Navigationsänderung beispielsweise eine erste Änderung umfassen, wenn die mindestens eine Navigationsbeschränkung ausgelöst wird, aber eine zweite, andere Änderung, wenn die mindestens eine Navigationsbeschränkung nicht ausgelöst wird. In solchen Ausführungsformen kann die zweite Änderung einen engeren Winkel der Anpassung an einen Lenkmechanismus, eine leichtere Anwendung eines Bremsmechanismus, eine leichtere Beschleunigung oder dergleichen als die erste Änderung umfassen.
  • Batch-Ausrichtung für die Navigation
  • Wie vorstehend erläutert, kann ein entfernter Server eine dünnbesetzte Karte aus einer Vielzahl von Fahrzeugen crowdsourcen. Die globale Ausrichtung einer Vielzahl von Fahrten führt jedoch zu einer Fehlerakkumulation in der dünnbesetzten Karte. So kann beispielsweise die Drift der Ego-Bewegung in den Fahrten die Geometrie der Straße verformen und während der globalen Aggregation übertrieben werden. Darüber hinaus ist die Verwendung von GPS-Daten zur Durchführung der globalen Ausrichtung aufgrund von Fehlern bei der GPS-Messung oft ungenau.
  • Dementsprechend kann der entfernte Server eine Charge von Fahrten lokal ausrichten, um ein Roadbook zu entwickeln, anstatt die Fahrten global auszurichten, um eine dünnbesetzte Karte zu entwickeln. Wie hierin verwendet, kann sich der Begriff „Roadbook“ auf eine dünnbesetzte Karte (vorstehend erläutert) oder eine andere Repräsentation von Ortsdaten (z. B. als ein oder mehrere Splines gespeichert) und/oder Orientierungspunktdaten (z. B. als Orte der Orientierungspunkte und/oder beschreibende Daten in Bezug auf ein Aussehen, eine Identifizierung oder dergleichen der Orientierungspunkte gespeichert) beziehen, die in Koordinaten lokal zu einem Straßensegment statt globalen Koordinaten gespeichert sind. Die Ausrichtung solcher Daten kann zu einer zuverlässigeren Ausrichtung und kleineren, stärker lokalisierten Karten führen. Darüber hinaus können lokale Roadbooks mit größerer Genauigkeit auf globale Koordinaten extrapoliert werden, als wenn die Fahrten innerhalb globaler Koordinaten ohne eine vorangehende lokale Ausrichtung ausgerichtet sind. So kann beispielsweise die Drift des Ego während der lokalen Ausrichtung berücksichtigt werden und wird sich somit nicht ausbreiten, wenn das lokale Roadbook auf globale Koordinaten extrapoliert wird. Darüber hinaus kann die lokale Ausrichtung unter Verwendung visueller Hinweise wie Markierungen der Fahrspur durchgeführt werden, die genauer positioniert werden können als mit GPS-Daten, die inhärente Fehler und Drift beinhalten.
  • Darüber hinaus kann die globale Ausrichtung aufgrund der unterschiedlichen Zeiten und Tage, während denen die Fahrer durchgeführt wurden, keine Schatten, unterschiedliche Beleuchtung, die Blendung durch Regen und andere Änderungen in den Bildern und Daten der Vielzahl von Fahrten berücksichtigen. Dementsprechend verbessert die Batch-Ausrichtung von Fahrten, die an denselben Tagen, zu ähnlichen Zeiten und/oder bei ähnlichen Wetterbedingungen durchgeführt wurden, die Genauigkeit der Roadbooks weiter.
  • 15 ist ein beispielhaftes funktionales Blockdiagramm von Speicher 140 und/oder 150, das mit Anweisungen zum Durchführen von einem oder mehreren Vorgängen, die mit den offenbarten Ausführungsformen konsistent sind, gespeichert/programmiert werden kann. Obwohl sich das Folgende auf Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 15 gezeigt, kann Speicher 140 ein Navigationsinformationsempfangsmodul 1502, ein Ausrichtungsmodul 1504, ein Speichermodul 1506 und ein Verteilungsmodul 1508 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration von Speicher 140 beschränkt. Ferner können Anwendungsprozessor 180 und/oder Bildprozessor 190 die Anweisungen ausführen, die in einem der Module 1502, 1504, 1506 und 1508 gespeichert sind, die im Speicher 140 enthalten sind. Ein Fachmann wird verstehen, dass sich Verweise in den folgenden Erörterungen auf Verarbeitungseinheit 110 auf Anwendungsprozessor 180 und Bildprozessor 190 einzeln oder gemeinsam beziehen können. Alternativ kann mindestens eine Verarbeitungsvorrichtung eines Servers, der von einem Host-Fahrzeug entfernt ist, die Anweisungen ausführen, die in einem der Module 1502, 1504, 1506 und 1508 gespeichert sind, die im Speicher 140 enthalten sind. Dementsprechend können Schritte eines der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann Navigationsinformationsempfangsmodul 1502 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, Navigationsinformationen von einer Vielzahl von Fahrzeugen empfangen. Beispielsweise können die Navigationsinformationen von der Vielzahl von Fahrzeugen einem gemeinsamen Straßensegment zugeordnet sein. Die Navigationsinformationen können über ein oder mehrere Computernetzwerke empfangen werden. So kann beispielsweise die Vielzahl von Fahrzeugen die Informationen während der Fahrten hochladen oder die Vielzahl von Fahrzeugen kann die Informationen nach dem Abschluss der Fahrten hochladen, z. B. während einer stündlichen, täglichen, wöchentlichen oder dergleichen Upload-Sitzung.
  • In einigen Ausführungsformen können die Navigationsinformationen ein oder mehrere Bilder beinhalten, die von einem oder mehreren Bildsensoren der Fahrzeuge während der Fahrten erfasst werden. Zusätzlich oder alternativ können die Navigationsinformationen verarbeitete Informationen aus den Bildern beinhalten, wie beispielsweise Orte von und/oder beschreibende Informationen über einen oder mehrere Orientierungspunkte, die in den Bildern identifiziert sind. Die Navigationsinformationen können zusätzlich oder alternativ Ortsinformationen der Fahrzeuge beinhalten, wie beispielsweise GPS-Daten oder dergleichen.
  • In einer Ausführungsform kann Ausrichtungsmodul 1504 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, die Navigationsinformationen innerhalb eines Koordinatensystems ausrichten, das lokal zum gemeinsamen Straßensegment ist. So können beispielsweise die Navigationsinformationen unter Verwendung von Orientierungspunkten ausgerichtet werden, die in Bildern von den Bildsensoren der Fahrzeuge identifiziert sind. In einem einfachen Schema kann die Ausrichtung die Mittelung der Orte der in den Bildern erkannten Orientierungspunkte umfassen. In komplizierteren Schemata kann die Ausrichtung eine lineare Regression oder andere statistische Techniken umfassen, um die Orte der in den Bildern erkannten Orientierungspunkte zu konvergieren. Durch die Verwendung der Bilder kann Ausrichtungsmodul 1504 die Navigationsinformationen in einem lokalen Koordinatensystem anstelle eines globalen Koordinatensystems ausrichten, z. B. basierend auf GPS-Daten. Tatsächlich kann Ausrichtungsmodul 1504 die in den Navigationsinformationen enthaltenen GPS-Daten basierend auf der Ausrichtung der Orientierungspunkte anpassen, anstatt die Orientierungspunkte basierend auf der Ausrichtung der GPS-Daten anzupassen.
  • In einer Ausführungsform kann Speichermodul 1506 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, die ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment speichern. Beispielsweise können die Navigationsinformationen in einer Datenbank gespeichert werden, sodass eine Kennung des gemeinsamen Straßensegments gespeichert und verwendet wird, um die ausgerichteten Navigationsinformationen zu indizieren. Die Kennung des gemeinsamen Straßensegments kann eine oder mehrere Koordinaten (z. B. globale Koordinaten eines Startpunkts des gemeinsamen Straßensegments und/oder eines Endpunkts des gemeinsamen Straßensegments) umfassen, die verwendet werden, um das gemeinsame Straßensegment abzugrenzen.
  • In einer Ausführungsform kann Verteilungsmodul 1508 Anweisungen (wie beispielsweise Computervisionssoftware) speichern, die, wenn sie von Verarbeitungseinheit 110 ausgeführt werden, die ausgerichteten Navigationsinformationen an ein oder mehrere autonome Fahrzeuge zur Verwendung beim autonomen Navigieren des einen oder der mehreren autonomen Fahrzeuge entlang des gemeinsamen Straßensegments verteilen. So können beispielsweise das eine oder die mehreren Fahrzeuge Navigationsinformationen anfordern, wenn sich die Fahrzeuge dem gemeinsamen Straßensegment nähern oder es anderweitig erwarten. Verteilungsmodul 1508 kann die ausgerichteten Navigationsinformationen an das anfordernde Fahrzeug über ein oder mehrere Computernetzwerke übertragen.
  • 16 zeigt beispielhafte Roadbooks 1620 und 1640, die aus dem Kombinieren von Navigationsinformationen von vielen Fahrten erzeugt werden, und eine beispielhafte globale Karte 1650, die aus dem Kombinieren von Roadbooks erzeugt wird, die mit den offenbarten Ausführungsformen konsistent sind. Wie in 16 dargestellt, kann eine erste Gruppe von Fahrten 1610 Ortsdaten (z. B. GPS-Daten) beinhalten, die von fünf separaten Fahrten entlang eines gemeinsamen Straßensegments empfangen werden. Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie von separaten Fahrzeugen gleichzeitig, von demselben Fahrzeug zu unterschiedlichen Zeiten oder von separaten Fahrzeugen zu unterschiedlichen Zeiten durchfahren wurde. Ein entfernter Server kann ein Roadbook 1620 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um die Ortsdaten entlang des Straßensegments auszurichten. Der entfernte Server kann beispielsweise bestimmen, ob Variationen der Ortsdaten tatsächliche Abweichungen oder statistische Fehler darstellen, und kann die Ortsdaten unter Verwendung eines Koordinatensystems ausrichten, das durch Bilder bestimmt wird, die während der Fahrten erfasst werden. Dementsprechend ist die Ausrichtung lokal zum Straßensegment und ist nicht mit einem externen Koordinatensystem, wie beispielsweise einem globalen Koordinatensystem, konsistent, sondern selbstkonsistent.
  • In ähnlicher Weise kann eine zweite Gruppe von Fahrten 1630 Ortsdaten (z. B. GPS-Daten) beinhalten, die von fünf zusätzlichen Fahrten entlang des gemeinsamen Straßensegments empfangen werden. Der entfernte Server kann ein Roadbook 1640 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um die Ortsdaten entlang des Straßensegments auszurichten. Der entfernte Server kann beispielsweise bestimmen, ob Variationen der Ortsdaten tatsächliche Abweichungen oder statistische Fehler darstellen, und kann die Ortsdaten unter Verwendung eines Koordinatensystems ausrichten, das durch Bilder bestimmt wird, die während der Fahrten erfasst werden. Dementsprechend ist die Ausrichtung lokal zum Straßensegment und ist nicht mit einem externen Koordinatensystem, wie beispielsweise einem globalen Koordinatensystem, konsistent, sondern selbstkonsistent.
  • Die erste Gruppe von Fahrten 1610 und die zweite Gruppe von Fahrten 1630 können vom entfernten Server gebündelt werden, z. B. gemäß der Tageszeit, an der die Fahrten durchgeführt wurden, dem Tag, an dem die Fahrten durchgeführt wurden, einer oder mehreren Wetterbedingungen während der Fahrten oder dergleichen. Dementsprechend können das Roadbook 1620 und das Roadbook 1640 eine erhöhte Genauigkeit im Vergleich zu herkömmlichen Techniken aufweisen, bei denen Fahrten von verschiedenen Tageszeiten, verschiedenen Tagen und/oder verschiedenen Wetterbedingungen miteinander ausgerichtet sind.
  • Wie ferner in 16 dargestellt, können die Roadbooks 1620 und 1640 auf ein globales Koordinatensystem extrapoliert und als Teil der globalen Karte 1650 ausgerichtet werden. Beispielsweise kann der entfernte Server erneut eine oder mehrere statistische Techniken verwenden, um die Ortsdaten entlang des Straßensegments auszurichten. Der entfernte Server kann GPS-Daten oder andere Daten im globalen Koordinatensystem anstelle von Bildern verwenden, die während der Fahrten erfasst werden, um sicherzustellen, dass die Ausrichtung der Roadbooks 1620 und 1640 im globalen Koordinatensystem anstelle eines lokalen Koordinatensystems durchgeführt wird. Da die Roadbooks 1620 und 1640 eine genauere Eingabe als eine einzelne Fahrt bereitstellen, weist die globale Karte 1650 eine größere Genauigkeit auf, als wenn die erste Gruppe von Fahrten 1610 und die zweite Gruppe von Fahrten 1630 direkt auf das globale Koordinatensystem ausgerichtet worden wären.
  • Obwohl mit Fahrtdaten dargestellt, können die Roadbooks 1620 und 1640 (sowie die globale Karte 1650) ferner einen oder mehrere Orientierungspunkte beinhalten, die dem Straßensegment zugeordnet sind und in den Bildern vorhanden sind. So können beispielsweise die Orientierungspunkte ausgerichtet werden, wenn die Roadbooks 1620 und 1640 gebildet werden (oder sogar verwendet werden, um die Fahrtdaten auszurichten, die die Roadbooks 1620 und 1640 bilden). In ähnlicher Weise können die Orientierungspunkte ausgerichtet werden, wenn die globale Karte 1650 gebildet wird (oder sogar verwendet werden, um die Roadbooks 1620 und 1640 global auszurichten).
  • 17 stellt ein Ablaufdiagramm bereit, das einen beispielhaften Prozess 1700 zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen darstellt, die mit den offenbarten Ausführungsformen konsistent sind. Prozess 1700 kann von mindestens einer Verarbeitungsvorrichtung, wie etwa der Verarbeitungsvorrichtung 110, durchgeführt werden. Alternativ kann Prozess 1700 von mindestens einer Verarbeitungsvorrichtung eines Servers durchgeführt werden, der von einem Host-Fahrzeug entfernt ist.
  • Bei Schritt 1710 kann der Server Navigationsinformationen von einer Vielzahl von Fahrzeugen empfangen. Beispielsweise können die Navigationsinformationen von der Vielzahl von Fahrzeugen einem gemeinsamen Straßensegment zugeordnet sein. In einigen Ausführungsformen, wie vorstehend in Bezug auf Navigationsinformationen-Empfangsmodul 1502 erläutert, können die Navigationsinformationen Informationen zum globalen Positionsbestimmungssystem (GPS) und/oder einen oder mehrere Orientierungspunkte beinhalten, die in Bildern enthalten sind, die von den Bildsensoren erfasst werden, die in der Vielzahl von Fahrzeugen enthalten sind. Beispielsweise können der eine oder die mehreren Orientierungspunkte sichtbare Objekte entlang des gemeinsamen Straßensegments umfassen. In solchen Ausführungsformen können die Objekte mindestens eines von Straßenmarkierungen und Straßenschildern umfassen.
  • In einigen Ausführungsformen können die Navigationsinformationen über ein Computernetzwerk (z. B. Mobilfunk, das Internet usw.) unter Verwendung einer Funkfrequenz, Infrarotfrequenz, eines Magnetfelds, eines elektrischen Felds oder dergleichen empfangen werden. Die Navigationsinformationen können unter Verwendung eines beliebigen bekannten Standards übertragen werden, um Daten zu übertragen und/oder zu empfangen (z. B. Wi-Fi, Bluetooth® Bluetooth Smart, 802.15.4, ZigBee usw.).
  • Bei Schritt 1720 kann der Server, wie vorstehend in Bezug auf Ausrichtungsmodul 1504 erläutert, die Navigationsinformationen innerhalb eines Koordinatensystems ausrichten, das lokal zum gemeinsamen Straßensegment ist. Beispielsweise kann das lokale Koordinatensystem ein Koordinatensystem basierend auf einer Vielzahl von Bildern umfassen, die von Bildsensoren erfasst werden, die in der Vielzahl von Fahrzeugen enthalten sind.
  • In einigen Ausführungsformen kann das Ausrichten der Navigationsinformationen auf dem einen oder den mehreren Orientierungspunkten basieren. Beispielsweise kann der Server, wie vorstehend erläutert, die in den Navigationsinformationen enthaltenen GPS-Daten basierend auf der Ausrichtung der Orientierungspunkte anpassen, anstatt die Orientierungspunkte basierend auf der Ausrichtung der GPS-Daten anzupassen.
  • Bei Schritt 1730 kann der Server, wie vorstehend in Bezug auf Speichermodul 1506 erläutert, die ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment speichern. Beispielsweise können die Navigationsinformationen in einer Datenbank gespeichert werden, sodass eine Kennung des gemeinsamen Straßensegments gespeichert und verwendet wird, um die ausgerichteten Navigationsinformationen zu indizieren.
  • Bei Schritt 1740 kann der Server, wie vorstehend in Bezug auf Verteilungsmodul 1508 erläutert, die ausgerichteten Navigationsinformationen an ein oder mehrere autonome Fahrzeuge zur Verwendung beim autonomen Navigieren des einen oder der mehreren autonomen Fahrzeuge entlang des gemeinsamen Straßensegments verteilen. Beispielsweise können das eine oder die mehreren Fahrzeuge Navigationsinformationen anfordern und der Server kann die ausgerichteten Navigationsinformationen über ein Computernetzwerk (z. B. Mobilfunk, das Internet usw.) als Reaktion auf die Anforderung(en) und unter Verwendung einer Funkfrequenz, Infrarotfrequenz, eines Magnetfelds, eines elektrischen Felds oder dergleichen übertragen. Die ausgerichteten Navigationsinformationen können unter Verwendung eines beliebigen bekannten Standards übertragen werden, um Daten zu übertragen und/oder zu empfangen (z. B. Wi-Fi, Bluetooth® Bluetooth Smart, 802.15.4, ZigBee usw.).
  • Das Verfahren 1700 kann ferner zusätzliche Schritte beinhalten. Beispielsweise kann in einigen Ausführungsformen die Vielzahl von Fahrzeugen die Navigationsinformationen während eines bestimmten Zeitraums erfasst haben. In derartigen Ausführungsformen kann das Verfahren 1700 ferner Empfangen zusätzlicher Navigationsinformationen von einer zweiten Vielzahl von Fahrzeugen beinhalten, wobei die zusätzlichen Navigationsinformationen von der zweiten Vielzahl von Fahrzeugen während eines zweiten Zeitraums erfasst und dem gemeinsamen Straßensegment zugeordnet werden, und Ausrichten der zusätzlichen Navigationsinformationen innerhalb eines Koordinatensystems, das lokal zum gemeinsamen Straßensegment ist, wobei das lokale Koordinatensystem ein Koordinatensystem basierend auf einer Vielzahl von Bildern ist, die von Bildsensoren erfasst werden, die in der zweiten Vielzahl von Fahrzeugen enthalten sind, und Speichern der ausgerichteten zusätzlichen Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment.
  • Zusätzlich oder alternativ kann die Vielzahl von Fahrzeugen die Navigationsinformationen über eine Anzahl von Fahrten erfasst haben, wobei die Anzahl der Fahrten eine Schwellenanzahl von Fahrten nicht überschreitet. In derartigen Ausführungsformen kann das Verfahren 1700 ferner Empfangen zusätzlicher Navigationsinformationen von einer zweiten Vielzahl von Fahrzeugen beinhalten, wobei die zusätzlichen Navigationsinformationen von der zweiten Vielzahl von Fahrzeugen über zusätzliche Fahrten erfasst und dem gemeinsamen Straßensegment zugeordnet werden, Ausrichten der zusätzlichen Navigationsinformationen innerhalb eines Koordinatensystems, das lokal zum gemeinsamen Straßensegment ist, wobei das lokale Koordinatensystem ein Koordinatensystem basierend auf einer Vielzahl von Bildern ist, die von Bildsensoren erfasst werden, die in der zweiten Vielzahl von Fahrzeugen enthalten sind, und Speichern der ausgerichteten zusätzlichen Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment.
  • In jeder der vorstehend beschriebenen Ausführungsformen kann das Verfahren 1700 ferner Extrapolieren der ausgerichteten Navigationsinformationen auf einen Satz von globalen Koordinaten und Speichern der global ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment beinhalten. Darüber hinaus kann das Verfahren 1700 in Ausführungsformen, die zusätzliche Navigationsinformationen beinhalten, ferner Extrapolieren der ausgerichteten Navigationsinformationen und der ausgerichteten zusätzlichen Navigationsinformationen auf einen Satz von globalen Koordinaten und Speichern der global ausgerichteten Navigationsinformationen und zusätzlichen Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment beinhalten.
  • Ausrichten von Straßeninformationen für die Navigation
  • Wie vorstehend beschrieben, kann die globale Ausrichtung von dünnbesetzten Kartendaten, die von einer Vielzahl von Fahrten erfasst werden, zu einer Fehlerakkumulation in der dünnbesetzten Karte führen. Hierin beschriebene Ausrichtungstechniken können wirksam sein, um diesen Fehler zu reduzieren. In einigen Fällen, wie beispielsweise Bereichen, in denen Datenpunkte relativ verteilt sind (z. B. in ländlichen Gebieten mit weniger Orientierungspunkten oder anderen Straßenmerkmalen), können zusätzliche Verarbeitungstechniken durchgeführt werden. So kann beispielsweise die geringere Dichte von Kartendaten in ländlichen Gebieten das Ausrichten größerer Bereiche oder Patches von Kartendaten beinhalten. Der Fehler aufgrund der Drift der Ego-Bewegung, die in Fahrzeugdatenerfassungssystemen inhärent ist, kann über diese längeren Entfernungen verstärkt werden, was sich auf die Genauigkeit der Fahrzeugdatenausrichtung auswirken kann. Dementsprechend können die Fahrzeugdaten unter Verwendung der offenbarten Systeme und Verfahren in einer Vielzahl von Abschnitten ausgerichtet werden, wobei die Daten, die jedem Abschnitt zugeordnet sind, in Bezug auf andere Daten innerhalb des Abschnitts gleichmäßig ausgerichtet werden können. Ferner kann jeder der Abschnitte an einem gemeinsamen Punkt aneinander befestigt sein und frei sein, sich relativ zueinander um den gemeinsamen Punkt zu drehen. Durch unabhängiges Ausrichten jedes der Abschnitte können Fehler aufgrund der Drift der Ego-Bewegung oder anderer Ungenauigkeiten reduziert werden.
  • 18A veranschaulicht beispielhafte Fahrzeugdaten, die in Übereinstimmung mit den offenbarten Ausführungsformen ausgerichtet werden können. Ein erster Satz von Navigationsinformationen kann auf einer ersten Fahrt 1810 erfasst werden. Die Navigationsinformationen können eine Reihe von Punkten 1812 beinhalten, die von einem ersten Fahrzeug 1831 erfasst wurden, das entlang eines Straßensegments navigiert. 18 zeigt ferner einen zweiten Satz von Navigationsinformationen, die von einem zweiten Fahrzeug 1832 auf einer zweiten Fahrt 1820 entlang des gemeinsamen Straßensegments erfasst wurden. Ähnlich wie die ersten Navigationsinformationen können die zweiten Navigationsinformationen eine Reihe von Punkten 1822 beinhalten, die vom Fahrzeug 1832 erfasst wurden. Jeder der Punkte kann einem Straßenmerkmal entsprechen, das von den Fahrzeugen 1831 und 1832 beim Fahren des gemeinsamen Straßensegments erkannt wurde. So können beispielsweise die Punkte eine Straßenmarkierung, ein Verkehrszeichen oder eine Ampel, einen Mast oder andere Merkmale entlang einer Fahrbahn darstellen, die verwendet werden können, um eine dünnbesetzte Karte zu erzeugen, wie vorstehend näher beschrieben. Die Fahrzeuge 1831 und 1832 können dem Fahrzeug 200 wie vorstehend beschrieben entsprechen. Dementsprechend kann jede der vorstehenden Beschreibungen oder Ausführungsformen, die sich auf das Fahrzeug 200 beziehen, auch für die Fahrzeuge 1831 und/oder 1832 gelten. Die Fahrzeuge 1831 und 1832 können einen drahtlosen Sendeempfänger, wie beispielsweise den drahtlosen Sendeempfänger 172, beinhalten und können die Navigationsinformationen an einen Server wie vorstehend beschrieben übertragen.
  • Die vom Fahrzeug 1831 erfassten Navigationsinformationen können einen Punkt 1812A beinhalten und die vom Fahrzeug 1832 erfassten Navigationsinformationen können einen Punkt 1822A beinhalten. Die Punkte 1812A und 1822A können demselben erkannten Merkmal entsprechen. So kann beispielsweise der Punkt 1812A ein Straßenzeichen oder ein anderes Straßenmerkmal darstellen, das vom Fahrzeug 1831 erkannt wurde, und der Punkt 1822A kann dasselbe Straßenmerkmal darstellen, das vom Fahrzeug 1832 entlang der Fahrt 1820 erkannt wurde. Dementsprechend sollten sich die Punkte 1812A und 1822A idealerweise an derselben Position innerhalb der dünnbesetzten Karte befinden, wenn die Fahrt 1810 mit der Fahrt 1820 ausgerichtet ist.
  • Aufgrund von inhärenten Fehlern, die mit Fahrzeugerfassungssystemen verbunden sind, können die von den Fahrzeugen 1831 und 1832 erfassten Daten „driften“, während die Fahrzeuge entlang eines Straßensegments fahren. So können beispielsweise die Fahrzeuge 1831 und 1832 ihre Position basierend auf Merkmalen von Bildern (auch als „Ego-Bewegung“ bekannt) schätzen. Kleine Fehler bei der Schätzung der Position des Fahrzeugs können sich über die Länge einer Fahrt aufbauen und somit können die Datenpunkte in Bezug auf den tatsächlichen Weg, der vom Fahrzeug zurückgelegt wird, „driften“. Über längere Entfernungen kann dieser Effekt verstärkt werden, wie vorstehend erwähnt. Ferner können Straßenbedingungen, wie beispielsweise die Krümmung der Straße, die Menge der auftretenden Drift der Ego-Bewegung erhöhen. In Bereichen, in denen viele Straßenmerkmale erkannt werden können, wie beispielsweise in städtischen Gebieten, kann der Effekt der Drift der Ego-Bewegung vernachlässigbar sein, da kleinere Datenpatches leicht ausgerichtet werden können. In Bereichen, in denen Daten dünner sind, wie beispielsweise in ländlichen Gebieten, können größere Datenpatches zur Ausrichtung verwendet werden und daher kann die Drift der Ego-Bewegung prominenter sein. Ein Beispiel für diesen Effekt ist in 18A gezeigt, wie durch die Form der Daten veranschaulicht, die der Fahrt 1810 und 1820 zugeordnet sind, die über die Länge der Fahrten divergieren. Die Fahrten 1810 und 1820 können ein relativ langes Straßensegment darstellen, wobei die Drift der Ego-Bewegung ein Faktor sein kann, wie beispielsweise ein Straßensegment von über 100 m, 300 m, 500 m usw.
  • 18B veranschaulicht einen Fehler, der eingeführt werden kann, wenn Fahrten mit größeren Abständen in Übereinstimmung mit den offenbarten Ausführungsformen ausgerichtet werden. Die Navigationsinformationen, die den Fahrten 1810 und 1820 zugeordnet sind, können in 18B ausgerichtet werden. Dementsprechend können einer oder mehrere der Datenpunkte in Bezug auf die Fahrt 1810 gleichmäßig mit den Datenpunkten ausgerichtet werden, die der Fahrt 1820 zugeordnet sind. So können beispielsweise die Punkte 1812 alle starr gedreht und/oder zusammen verschoben werden, um die bestmögliche Ausrichtung mit den Punkten 1822 zu erreichen. Wie in 18B dargestellt, können die Punkte 1812 und 1822 nicht mit einem hohen Maß an Präzision ausgerichtet werden. Während beispielsweise einige der Punkte 1812 und 1822 entlang der Mitte der Fahrt 1810 und 1820 ausgerichtet sind, können die Punkte 1812A und 1822A versetzt sein, was eine schlechte Ausrichtung zwischen den Fahrten anzeigt. Dies kann zu Ungenauigkeiten in der dünnbesetzten Karte führen, die zu einer schlechten Leistung führen können, wenn Fahrzeuge unter Verwendung der dünnbesetzten Kartendaten navigieren. Während zwei Sätze von Navigationsstraßendaten in 18A und 18B zur Veranschaulichung dargestellt sind, versteht es sich, dass viele Fahrten unter Verwendung der offenbarten Verfahren, die mit den vorstehend beschriebenen Ausführungsformen konsistent sind, ausgerichtet werden können.
  • 19A veranschaulicht eine Vielzahl von Abschnitten 1910, die zur Ausrichtung von Straßeninformationen in Übereinstimmung mit den offenbarten Ausführungsformen verwendet werden können. Wie in 19A dargestellt, können die Punkte 1810 in eine Vielzahl von Abschnitten 1910 (z. B. Abschnitte 1910A, 1910B, 1910C usw.) unterteilt werden. Die Abschnitte können durch eine Vielzahl von gemeinsamen Punkten 1920 verbunden werden. In einigen Ausführungsformen können die gemeinsamen Punkte als Teil des Ausrichtungsprozesses basierend auf den Längen der Abschnitte 1910 erzeugt werden. Dementsprechend können die gemeinsamen Punkte 1920 keinem der Datenpunkte entsprechen, die von den Fahrzeugen erfasst werden (z. B. Punkte 1810 oder 1820). In anderen Ausführungsformen können die Abschnitte so bestimmt werden, dass die gemeinsamen Punkte 1920 mit den von den Fahrzeugen erfassten Datenpunkten ausgerichtet sind. So können beispielsweise die Abschnitte 1910 so bestimmt werden, dass sie mit Datenpunkten beginnen und enden, die von den Fahrzeugen erfasst werden, wie beispielsweise die Punkte 1810 und 1820. Die Navigationsdaten können in Abschnitte mit einer beliebigen Länge unterteilt werden, die zur Erhöhung der Ausrichtungsgenauigkeit in Übereinstimmung mit den offenbarten Ausführungsformen geeignet ist. So können beispielsweise die Längen der Abschnitte 1910 so ausgewählt werden, dass ein Effekt der Drift der Ego-Bewegung entlang der Länge jedes Abschnitts 1910 minimiert wird. In einigen Ausführungsformen können die Längen der Abschnitte 1910 zwischen 45 und 65 Metern liegen, es können jedoch verschiedene andere Längen verwendet werden.
  • Die Längen der Abschnitte 1910 können basierend auf einer Vielzahl von Faktoren bestimmt werden. In einigen Ausführungsformen können die Längen der Abschnitte 1910 zumindest teilweise basierend auf der Dichte der Daten entlang der Fahrt 1810 ausgewählt werden. So können beispielsweise Bereiche mit relativ höheren Dichten von Datenpunkten (z. B. mehr erkennbare Straßenmerkmale entlang des Straßensegments) kürzeren Segmenten entsprechen und umgekehrt. In einigen Ausführungsformen kann die Länge der Abschnitte 1910 zumindest teilweise von einer Krümmung der Straße abhängen. So können beispielsweise Straßensegmente mit höheren Krümmungen aufgrund der Drift der Ego-Bewegung zu einem erhöhten Fehler führen. Dementsprechend können kürzere Straßenabschnitte 1910 verwendet werden. Ferner können in einigen Ausführungsformen die Längen des Abschnitts 1910 zumindest teilweise von einer Fehlermenge abhängen, die der Fahrt 1810 zugeordnet ist. So kann beispielsweise ein Fehlermodell, das die Variabilität bei der Erfassung von Daten anzeigt, verwendet werden, um die Länge der zu verwendenden Segmente 1810 zu bestimmen. Das Fehlermodell kann ein allgemeines Modell sein oder kann spezifisch für bestimmte Fahrzeugtypen, bestimmte Fahrzeugbedingungen und/oder bestimmte Straßengeometrien oder -topologien entwickelt werden. In einigen Ausführungsformen kann jeder der Abschnitte 1910 die gleiche Länge aufweisen. In anderen Ausführungsformen können die Abschnitte 1910 unterschiedliche Längen aufweisen, beispielsweise basierend auf der Dichte der Daten, der Straßenkrümmung, den Umgebungsbedingungen (z. B. Lichtbedingungen, Wetterbedingungen usw.), den Bedingungen des Host-Fahrzeugs (z. B. Reifendruck oder andere Wartungsbedingungen) oder anderen Faktoren, die den Punkten entlang des Abschnitts oder des Host-Fahrzeugs zugeordnet sind. In einigen Ausführungsformen können die Straßensegmentlängen so ausgewählt werden, dass der Effekt der Drift der Ego-Bewegung entlang eines oder mehrerer Straßensegmente unter einem bestimmten Schwellenwert liegt. So kann beispielsweise die Drift der Ego-Bewegung basierend auf einer gemessenen Varianz der Ortsdaten im Vergleich zu einem Ort bekannter Orientierungspunkte geschätzt werden. Die Segmentlängen können so ausgewählt werden, dass die gemessene Varianz unter einer Schwellenwertvarianz liegt. Die geschätzte Drift der Ego-Bewegung oder der Schwellenwert können auch basierend auf der Dichte der Daten, der Straßenkrümmung, den Umgebungsbedingungen, den Bedingungen des Host-Fahrzeugs oder anderen Faktoren konfigurierbar sein, wie vorstehend beschrieben. Verschiedene andere Verfahren können auch beim Bestimmen der Längen der Abschnitte 1910 verwendet werden, um die Genauigkeit der Ausrichtung zu verbessern.
  • Jeder der Abschnitte 1910 kann einzeln mit anderen Informationen der Fahrt, wie beispielsweise den Datenpunkten 1820, ausgerichtet werden. So kann beispielsweise Abschnitt 1910A zunächst mit den Punkten 1820 ausgerichtet werden, die den Punkten 1810 entsprechen, die in Abschnitt 1910A enthalten sind. Einer oder mehrere der Punkte in Abschnitt 1910A können gemeinsam gedreht und/oder verschoben werden. Sobald Abschnitt 1910A ausgerichtet wurde, kann Abschnitt 1910B mit den entsprechenden Punkten 1820 ausgerichtet werden. Wie bei Abschnitt 1910A können die Datenpunkte innerhalb von Abschnitt 1910B gemeinsam verschoben und/oder gedreht werden, um mit den entsprechenden Punkten 1820 ausgerichtet zu werden. Wie in 19A dargestellt, können die Abschnitte 1910A und 1910B einen gemeinsamen Punkt 1920A gemeinsam nutzen. Wenn die in Abschnitt 1910B enthaltenen Datenpunkte ausgerichtet werden, können die Datenpunkte von Abschnitt 1910B gemeinsam um den Punkt 1920A gedreht werden, wie durch die Pfeile 1912 veranschaulicht. Die übrigen Abschnitte, wie beispielsweise Abschnitt 1910C, können in ähnlicher Weise ausgerichtet werden, bis eine gewünschte Anzahl von Punkten 1810 ausgerichtet ist. So können beispielsweise die Punkte in einer „Kette“ von mehreren Abschnitten ausgerichtet werden, wobei die Punkte in jedem Abschnitt gemeinsam verschoben und/oder gedreht werden. Während der Ausrichtungsprozess als sequentiell erfolgend beschrieben wird (z. B. Abschnitt 1910A, dann 1910B, dann 1910C usw.), dient dies veranschaulichend und es können andere Abfolgen von Vorgängen durchgeführt werden. So kann beispielsweise die Ausrichtung der verschiedenen Abschnitte gemeinsam erfolgen oder in beliebiger Reihenfolge erfolgen. In einigen Ausführungsformen kann die Ausrichtung ein iterativer Prozess sein. So können beispielsweise ein oder mehrere Abschnitte zuerst ausgerichtet und angepasst oder abgestimmt werden, um eine präzisere Ausrichtung zu erreichen.
  • Dadurch kann der Effekt des Drifts der Ego-Bewegung oder anderer Fehler, die mit den Navigationsdaten verbunden sind, minimiert werden. 19B zeigt eine resultierende Ausrichtung basierend auf mehreren Abschnitten, die mit den offenbarten Ausführungsformen konsistent sind. Mit anderen Worten können die Daten für jeden der Abschnitte 1910 wie vorstehend beschrieben ausgerichtet werden. Im Vergleich zu der in 18B dargestellten Ausrichtung kann eine viel präzisere Ausrichtung zwischen den Punkten 1810 und 1820 unter Verwendung mehrerer Abschnitte erreicht werden, die in einer „Kette“ durch eine Vielzahl von gemeinsamen Punkten miteinander verbunden sind. So können beispielsweise die Punkte 1812A und 1822A in 19B näher ausgerichtet werden als in 18B, ohne den Grad der Ausrichtung der anderen Punkte 1810 und 1820 zu beeinträchtigen. Dementsprechend können die Genauigkeit und Effizienz der Ausrichtung, um die dünnbesetzte Karte zu erzeugen, verbessert werden.
  • 20 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 2000 zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen darstellt, die mit den offenbarten Ausführungsformen konsistent sind. Prozess 2000 kann von mindestens einer Verarbeitungsvorrichtung, wie etwa der Verarbeitungsvorrichtung 110, durchgeführt werden. Alternativ kann Prozess 2000 von mindestens einer Verarbeitungsvorrichtung eines Servers durchgeführt werden, der von einem Host-Fahrzeug entfernt ist. In einigen Ausführungsformen kann der Prozess 2000 ganz oder teilweise unter Verwendung eines Ausrichtungsmoduls, wie etwa des Ausrichtungsmoduls 1504, wie vorstehend beschrieben, durchgeführt werden.
  • Bei Schritt 2010 kann Prozess 2000 Empfangen von ersten Navigationsinformationen von einem ersten Fahrzeug beinhalten. Zum Beispiel können erste Navigationsinformationen vom Fahrzeug 1831 wie vorstehend beschrieben empfangen werden. Die ersten Navigationsinformationen können eine Reihe von Datenpunkten, wie etwa Punkte 1812, beinhalten, die vom ersten Fahrzeug erfasst werden. Bei Schritt 2020 kann Prozess 2000 Empfangen von zweiten Navigationsinformationen von einem zweiten Fahrzeug beinhalten. Zum Beispiel können die zweiten Navigationsinformationen vom Fahrzeug 1832 wie vorstehend beschrieben empfangen werden. Die zweiten Navigationsinformationen können eine Reihe von Datenpunkten, wie etwa Punkte 1822, beinhalten, die vom zweiten Fahrzeug erfasst werden. Zum Beispiel beinhalten die ersten Navigationsinformationen oder die zweiten Navigationsinformationen Informationen zum globalen Positionsbestimmungssystem (GPS). Die ersten Navigationsinformationen und die zweiten Navigationsinformationen sind einem gemeinsamen Straßensegment zugeordnet, wie vorstehend in Bezug auf 18A beschrieben. In einigen Ausführungsformen werden die ersten Navigationsinformationen oder die zweiten Navigationsinformationen über ein Netzwerk empfangen. Zum Beispiel können die Fahrzeuge 1831 und 1832 konfiguriert sein, um die ersten Navigationsinformationen und/oder die zweiten Navigationsinformationen unter Verwendung eines drahtlosen Sendeempfängers wie vorstehend beschrieben zu übertragen.
  • In einigen Ausführungsformen können die Navigationsinformationen über mehrere Fahrten erfasst worden sein, wie vorstehend erläutert. Zum Beispiel kann das erste Fahrzeug die ersten Navigationsinformationen über eine erste Anzahl von Fahrten erfasst haben und das zweite Fahrzeug kann die zweiten Navigationsinformationen über eine zweite Anzahl von Fahrten erfasst haben. In einigen Ausführungsformen können die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten gleich sein. In anderen Ausführungsformen können die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten jedoch nicht gleich sein. So kann beispielsweise das erste Fahrzeug die ersten Navigationsinformationen über eine größere Anzahl von Fahrten erfasst haben als das zweite Fahrzeug, das verwendet wird, um die zweiten Navigationsinformationen zu erfassen, oder umgekehrt. In einigen Ausführungsformen können die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten gleich oder kleiner als eine vorbestimmte Schwellenanzahl von Fahrten sein. So kann beispielsweise eine minimale Anzahl von Fahrten erforderlich sein, bevor Navigationsinformationen verarbeitet werden können, was eine größere Genauigkeit der Informationen gewährleisten kann. In einigen Ausführungsformen können die Navigationsinformationen innerhalb des gleichen Zeitraums erfasst werden. So kann beispielsweise das erste Fahrzeug die ersten Navigationsinformationen erfasst haben und das zweite Fahrzeug kann die zweiten Navigationsinformationen während eines vorbestimmten Zeitraums erfasst haben.
  • Bei Schritt 2030 kann Prozess 2000 Unterteilen des gemeinsamen Straßensegments in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt beinhalten. So kann beispielsweise das gemeinsame Straßensegment in einen ersten Straßenabschnitt 1910A und einen zweiten Straßenabschnitt 1910B unterteilt werden, wie in 19A dargestellt. Der erste Straßenabschnitt und der zweite Straßenabschnitt können sich an einem gemeinsamen Punkt verbinden, wie beispielsweise dem gemeinsamen Punkt 1920A. Wie vorstehend beschrieben, können die Längen des ersten Straßenabschnitts und des zweiten Straßenabschnitts auf verschiedene Weise bestimmt werden. In einigen Ausführungsformen kann eine Länge des ersten Straßenabschnitts die gleiche sein wie eine Länge des zweiten Straßenabschnitts. In anderen Ausführungsformen können die Längen des ersten Straßenabschnitts und des zweiten Straßenabschnitts unterschiedlich sein. In einigen Ausführungsformen kann eine Länge von mindestens einem des ersten Straßenabschnitts oder des zweiten Straßenabschnitts zumindest teilweise auf einer Krümmung von mindestens einem Abschnitt des gemeinsamen Straßensegments basieren. Alternativ oder zusätzlich kann die Länge auf anderen Faktoren basieren, wie beispielsweise einer Dichte der Navigationsinformationen, einem Fehlermodell, das den Navigationsinformationen zugeordnet ist, oder dergleichen. In einigen Ausführungsformen kann eine Länge des ersten Straßenabschnitts, des zweiten Straßenabschnitts oder beider zwischen 45 und 65 Metern liegen.
  • Bei Schritt 2040 kann Prozess 2000 Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zum gemeinsamen Straßensegment beinhalten. Beispielsweise können die Straßenabschnitte basierend auf einzelnen Straßenabschnitten ausgerichtet werden, wie vorstehend beschrieben. Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen kann Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhalten, wie vorstehend in Bezug auf 19A beschrieben. Beispielsweise können die ersten Navigationsinformationen oder die zweiten Navigationsinformationen relativ zum gemeinsamen Punkt gedreht werden, bis mindestens ein Teil der ersten Navigationsinformationen mindestens teilweise mit mindestens einem Teil der zweiten Navigationsinformationen überlappt. Eine beispielhafte Ausrichtung gemäß Prozess 2000 ist in 19B dargestellt.
  • Wie in 19A dargestellt, kann das gemeinsame Straßensegment in mehr als zwei Straßenabschnitte unterteilt werden. So kann beispielsweise Schritt 2030 ferner Unterteilen des gemeinsamen Straßensegments in einen dritten Straßenabschnitt, wie beispielsweise Straßenabschnitt 1910C, beinhalten. Der dritte Straßenabschnitt und der zweite Straßenabschnitt verbinden sich an einem zweiten gemeinsamen Punkt, wie beispielsweise dem gemeinsamen Punkt 1920B. Dementsprechend kann Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen ferner Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zum zweiten gemeinsamen Punkt beinhalten.
  • In einigen Ausführungsformen können die Navigationsinformationen Informationen basierend auf identifizierten Orientierungspunkten beinhalten. So können beispielsweise die ersten Navigationsinformationen einen ersten Ort von mindestens einem Orientierungspunkt basierend auf einem oder mehreren Bildern beinhalten, die von einer im ersten Fahrzeug enthaltenen Kamera erfasst werden. Ebenso können die zweiten Navigationsinformationen einen zweiten Ort des mindestens einen Orientierungspunkts basierend auf einem oder mehreren Bildern beinhalten, die von einer im zweiten Fahrzeug enthaltenen Kamera erfasst werden. So können beispielsweise das erste und das zweite Fahrzeug Bilder erfassen, die Repräsentationen von mindestens einem Orientierungspunkt unter Verwendung der Bildaufnahmeeinheit 120 beinhalten. Die Verarbeitungsvorrichtung 110 kann einen Ort des mindestens einen Orientierungspunkts bestimmen, wie vorstehend näher beschrieben. Der mindestens eine Orientierungspunkt kann beispielsweise eine Straßenmarkierung, ein Verkehrszeichen oder eine Ampel beinhalten. Das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen kann auf dem ersten und dem zweiten Ort des mindestens einen Orientierungspunkts basieren. So können beispielsweise der erste und der zweite Ort des mindestens einen Orientierungspunkts den Punkten 1812A und 1822A entsprechen, die zum Ausrichten der Fahrtinformationen wie vorstehend beschrieben verwendet werden können.
  • Bei Schritt 2050 kann Prozess 2000 Speichern der ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment beinhalten. Beispielsweise können die ausgerichteten Navigationsinformationen in einer Datenbank gespeichert werden, sodass eine Kennung des gemeinsamen Straßensegments in Verbindung mit den ausgerichteten Navigationsinformationen gespeichert und verwendet wird, um diese zu indizieren. In einigen Ausführungsformen kann eine Karte, die unter Verwendung der Navigationsinformationen erzeugt wird, ein dreidimensionales Koordinatensystem (z. B. ein globales Koordinatensystem basierend auf GPS usw.) wie vorstehend beschrieben umfassen. Dementsprechend kann Schritt 2050 ferner Korrelieren der ausgerichteten Navigationsinformationen mit einem globalen Koordinatensystem und Speichern der korrelierten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment umfassen.
  • Bei Schritt 2060 kann Prozess 2000 Senden mindestens eines Teils der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments beinhalten. In einigen Ausführungsformen beinhalten das eine oder die mehreren Fahrzeuge autonome Fahrzeuge, die die ausgerichteten Navigationsinformationen zur Navigation entlang des gemeinsamen Straßensegments verwenden können.
  • Die vorstehende Beschreibung wurde zur Veranschaulichung dargestellt. Sie ist nicht erschöpfend und nicht auf die genauen Formen oder Ausführungsformen beschränkt, die offenbart werden. Modifikationen und Anpassungen werden für den Fachmann aus der Berücksichtigung der Spezifikation und der Praxis der offenbarten Ausführungsformen ersichtlich. Obwohl Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben werden, wird ein Fachmann darüber hinaus erkennen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien, wie z. B. sekundären Speichervorrichtungen, z. B. Festplatten oder CD-ROM, oder anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-ray oder anderen optischen Medien für die Fahrt gespeichert werden können.
  • Computerprogramme basierend auf der schriftlichen Beschreibung und den offenbarten Verfahren liegen im Kompetenzbereich eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung einer beliebigen der Techniken erstellt werden, die dem Fachmann bekannt sind, oder können in Verbindung mit vorhandener Software entworfen werden. Zum Beispiel können Programmabschnitte oder Programmmodule in oder mittels.Net Framework,.Net Compact Framework (und verwandten Sprachen, wie Visual Basic, C usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit enthaltenen Java-Applets entworfen werden.
  • Während veranschaulichende Ausführungsformen hierin beschrieben wurden, ist der Umfang aller Ausführungsformen mit äquivalenten Elementen, Modifikationen, Auslassungen, Kombinationen (z. B. von Aspekten über verschiedene Ausführungsformen), Anpassungen und/oder Änderungen, wie sie der Fachmann basierend auf der vorliegenden Offenbarung erkennen würde. Die Einschränkungen in den Ansprüchen sind breit basierend auf der in den Ansprüchen verwendeten Sprache und nicht beschränkt auf Beispiele, die in der vorliegenden Spezifikation oder während der Verfolgung der Anmeldung beschrieben sind, auszulegen. Die Beispiele sind als nicht ausschließlich auszulegen. Darüber hinaus können die Schritte der offenbarten Verfahren auf jede beliebige Weise modifiziert werden, einschließlich durch Neuordnungsschritte und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Spezifikation und die Beispiele nur als veranschaulichend betrachtet werden, wobei ein wahrer Umfang und Geist durch die folgenden Ansprüche und deren vollständigen Umfang von Äquivalenten angegeben wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/815045 [0001]
    • US 62/874711 [0001]

Claims (20)

  1. Nicht-flüchtiges, computerlesbares Medium, das Anweisungen speichert, die, wenn sie von mindestens einem Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen zum: Empfangen von ersten Navigationsinformationen von einem ersten Fahrzeug; Empfangen von zweiten Navigationsinformationen von einem zweiten Fahrzeug, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind; Unterteilen des gemeinsamen Straßensegments in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt sich an einem gemeinsamen Punkt verbinden; Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zu dem gemeinsamen Straßensegment, wobei Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhaltet; Speichern der ausgerichteten Navigationsinformationen in Zuordnung mit dem gemeinsamen Straßensegment; und Senden mindestens eines Teils der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments.
  2. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei eine Länge des ersten Straßenabschnitts die gleiche ist wie eine Länge des zweiten Straßenabschnitts.
  3. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 2, wobei die Länge des ersten Straßenabschnitts und die Länge des zweiten Straßenabschnitts jeweils zwischen 45 und 65 Metern liegen.
  4. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei eine Länge von mindestens einem des ersten Straßenabschnitts oder des zweiten Straßenabschnitts zumindest teilweise auf einer Krümmung von mindestens einem Teil des gemeinsamen Straßensegments basiert.
  5. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner den mindestens einen Prozessor veranlassen zum: Unterteilen des gemeinsamen Straßensegments in einen dritten Straßenabschnitt, wobei der dritte Straßenabschnitt und der zweite Straßenabschnitt sich an einem zweiten gemeinsamen Punkt verbinden, und wobei Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen ferner Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem zweiten gemeinsamen Punkt beinhaltet.
  6. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die ersten Navigationsinformationen oder die zweiten Navigationsinformationen über ein Netzwerk empfangen werden.
  7. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die ersten Navigationsinformationen oder die zweiten Navigationsinformationen globales Positionsbestimmungssystem (GPS)-Informationen beinhalten.
  8. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die ersten Navigationsinformationen einen ersten Ort von mindestens einem Orientierungspunkt basierend auf einem oder mehreren Bildern beinhalten, die von einer im ersten Fahrzeug enthaltenen Kamera erfasst werden, und die zweiten Navigationsinformationen einen zweiten Ort des mindestens einen Orientierungspunkts basierend auf einem oder mehreren Bildern beinhalten, die von einer in dem zweiten Fahrzeug enthaltenen Kamera erfasst werden.
  9. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 8, wobei das Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen auf dem ersten und dem zweiten Ort des mindestens einen Orientierungspunkts basiert.
  10. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 8, wobei der mindestens eine Orientierungspunkt eine Straßenmarkierung, ein Verkehrszeichen oder eine Ampel beinhaltet.
  11. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die Anweisungen ferner den mindestens einen Prozessor veranlassen zum: Korrelieren der ausgerichteten Navigationsinformationen mit einem globalen Koordinatensystem; und Speichern der korrelierten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment.
  12. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei das erste Fahrzeug die ersten Navigationsinformationen erfasst hat und das zweite Fahrzeug die zweiten Navigationsinformationen während eines vorbestimmten Zeitraums erfasst hat.
  13. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei das erste Fahrzeug die ersten Navigationsinformationen über eine erste Anzahl von Fahrten erfasst hat und das zweite Fahrzeug die zweiten Navigationsinformationen über eine zweite Anzahl von Fahrten erfasst hat.
  14. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 13, wobei die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten gleich sind.
  15. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 13, wobei die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten nicht gleich sind.
  16. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 13, wobei die erste Anzahl von Fahrten und die zweite Anzahl von Fahrten gleich oder kleiner als eine vorbestimmte Schwellenanzahl von Fahrten sind.
  17. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei die ersten Navigationsinformationen oder die zweiten Navigationsinformationen relativ zum gemeinsamen Punkt gedreht werden, bis mindestens ein Teil der ersten Navigationsinformationen mindestens teilweise mit mindestens einem Teil der zweiten Navigationsinformationen überlappt.
  18. Nicht-flüchtiges, computerlesbares Medium nach Anspruch 1, wobei das eine oder die mehreren Fahrzeuge autonome Fahrzeuge beinhalten.
  19. Server zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen, wobei der Server umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen von ersten Navigationsinformationen von einem ersten Fahrzeug; Empfangen von zweiten Navigationsinformationen von einem zweiten Fahrzeug, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind; Unterteilen des gemeinsamen Straßensegments in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt sich an einem gemeinsamen Punkt verbinden; Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zum gemeinsamen Straßensegment, wobei Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhaltet; Speichern der ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment; und Senden mindestens eines Teils der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments.
  20. Computerimplementiertes Verfahren zum Ausrichten von Navigationsinformationen von einer Vielzahl von Fahrzeugen, wobei das Verfahren umfasst: Empfangen von ersten Navigationsinformationen von einem ersten Fahrzeug; Empfangen von zweiten Navigationsinformationen von einem zweiten Fahrzeug, wobei die ersten Navigationsinformationen und die zweiten Navigationsinformationen einem gemeinsamen Straßensegment zugeordnet sind; Unterteilen des gemeinsamen Straßensegments in mindestens einen ersten Straßenabschnitt und einen zweiten Straßenabschnitt, wobei der erste Straßenabschnitt und der zweite Straßenabschnitt sich an einem gemeinsamen Punkt verbinden; Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen relativ zu dem gemeinsamen Straßensegment, wobei Ausrichten der ersten Navigationsinformationen mit den zweiten Navigationsinformationen Drehen von mindestens einem Teil der ersten Navigationsinformationen oder mindestens einem Teil der zweiten Navigationsinformationen relativ zu dem gemeinsamen Punkt beinhaltet; Speichern der ausgerichteten Navigationsinformationen in Verbindung mit dem gemeinsamen Straßensegment; und Senden mindestens eines Teils der ausgerichteten Navigationsinformationen an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments.
DE112020001106.2T 2019-03-07 2020-03-06 Ausrichten von Straßeninformationen zur Navigation Pending DE112020001106T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962815045P 2019-03-07 2019-03-07
US62/815,045 2019-03-07
US201962874711P 2019-07-16 2019-07-16
US62/874,711 2019-07-16
PCT/IB2020/000193 WO2020178639A1 (en) 2019-03-07 2020-03-06 Aligning road information for navigation

Publications (1)

Publication Number Publication Date
DE112020001106T5 true DE112020001106T5 (de) 2022-01-05

Family

ID=70295570

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020001106.2T Pending DE112020001106T5 (de) 2019-03-07 2020-03-06 Ausrichten von Straßeninformationen zur Navigation

Country Status (5)

Country Link
US (2) US11499834B2 (de)
CN (1) CN113544467A (de)
DE (1) DE112020001106T5 (de)
GB (2) GB2596708B (de)
WO (1) WO2020178639A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012082861A2 (en) 2010-12-14 2012-06-21 Hologic, Inc. System and method for fusing three dimensional image data from a plurality of different imaging systems for use in diagnostic imaging
US10745009B2 (en) * 2016-12-21 2020-08-18 Samsung Electronics Co., Ltd. Electronic apparatus for determining a dangerous situation of a vehicle and method of operating the same
US11403816B2 (en) * 2017-11-30 2022-08-02 Mitsubishi Electric Corporation Three-dimensional map generation system, three-dimensional map generation method, and computer readable medium
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
US11375352B2 (en) * 2020-03-25 2022-06-28 Intel Corporation Devices and methods for updating maps in autonomous driving systems in bandwidth constrained networks
US11430143B2 (en) * 2020-06-10 2022-08-30 Uveye Ltd. System of depth estimation and method thereof
US11703335B2 (en) * 2020-06-19 2023-07-18 Toyota Research Institute, Inc. Coordinating and learning maps dynamically
CN112835363B (zh) * 2020-12-29 2023-08-01 武汉中海庭数据技术有限公司 控制大范围众包地图车道线数据融合的流程的方法及装置
JP7164640B2 (ja) * 2021-01-12 2022-11-01 本田技研工業株式会社 車両システム
CN113065429A (zh) * 2021-03-22 2021-07-02 洪璐 一种基于北斗的电力应急抢险车辆监控方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170165A (en) * 1987-08-07 1992-12-08 Honda Giken Kogyo Kabushiki Kaisha Apparatus for displaying travel path
US6023653A (en) * 1995-11-30 2000-02-08 Fujitsu Ten Limited Vehicle position detecting apparatus
US6178377B1 (en) * 1996-09-20 2001-01-23 Toyota Jidosha Kabushiki Kaisha Positional information providing system and apparatus
US6385539B1 (en) * 1999-08-13 2002-05-07 Daimlerchrysler Ag Method and system for autonomously developing or augmenting geographical databases by mining uncoordinated probe data
JP4696248B2 (ja) * 2004-09-28 2011-06-08 国立大学法人 熊本大学 移動体ナビゲート情報表示方法および移動体ナビゲート情報表示装置
US8717387B1 (en) * 2011-04-04 2014-05-06 Google Inc. Correction of misaligned map data from different sources
US9140792B2 (en) * 2011-06-01 2015-09-22 GM Global Technology Operations LLC System and method for sensor based environmental model construction
US9342888B2 (en) * 2014-02-08 2016-05-17 Honda Motor Co., Ltd. System and method for mapping, localization and pose correction of a vehicle based on images
EP3032221B1 (de) * 2014-12-09 2022-03-30 Volvo Car Corporation Verfahren und Vorrichtung zum Erhöhen der Genauigkeit von digitalen Kartendaten, die von einem Fahrzeug verwendet werden
US9798740B2 (en) * 2014-12-29 2017-10-24 Here Global B.V. Updates for navigational map data organized in lists
CN107438754A (zh) * 2015-02-10 2017-12-05 御眼视觉技术有限公司 用于自主车辆导航的稀疏地图
US9715016B2 (en) * 2015-03-11 2017-07-25 The Boeing Company Real time multi dimensional image fusing
RU2668459C1 (ru) * 2015-05-28 2018-10-01 Ниссан Мотор Ко., Лтд. Устройство оценки положения и способ оценки положения
EP3106836B1 (de) * 2015-06-16 2018-06-06 Volvo Car Corporation Einheit und verfahren zur einstellung einer strassenbegrenzung
US10209712B2 (en) * 2015-11-26 2019-02-19 Mobileye Vision Technologies Ltd. Predicting and responding to cut in vehicles and altruistic responses
CN105758401A (zh) * 2016-05-14 2016-07-13 中卫物联成都科技有限公司 一种基于多源信息融合的组合导航方法和设备
US10962982B2 (en) * 2016-07-21 2021-03-30 Mobileye Vision Technologies Ltd. Crowdsourcing the collection of road surface information
US10248124B2 (en) * 2016-07-21 2019-04-02 Mobileye Vision Technologies, Inc. Localizing vehicle navigation using lane measurements
US11254329B2 (en) * 2017-04-24 2022-02-22 Mobileye Vision Technologies Ltd. Systems and methods for compression of lane data
US10289115B2 (en) * 2017-06-01 2019-05-14 Aptiv Technologies Limited Automated vehicle map localization based on observed geometries of roadways
CN207407892U (zh) * 2017-11-03 2018-05-25 河南思维轨道交通技术研究院有限公司 导航数据同步处理系统以及导航系统
KR102434580B1 (ko) * 2017-11-09 2022-08-22 삼성전자주식회사 가상 경로를 디스플레이하는 방법 및 장치

Also Published As

Publication number Publication date
US20230073897A1 (en) 2023-03-09
GB2596708B (en) 2024-01-10
US11499834B2 (en) 2022-11-15
GB202114198D0 (en) 2021-11-17
GB2622499A (en) 2024-03-20
GB2596708A (en) 2022-01-05
CN113544467A (zh) 2021-10-22
WO2020178639A1 (en) 2020-09-10
US20200284591A1 (en) 2020-09-10
GB202318305D0 (en) 2024-01-17

Similar Documents

Publication Publication Date Title
US10976741B2 (en) Safety and comfort constraints for navigation
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020000821T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020002666T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE102019122826A1 (de) Adaptives fahrzeuglernen
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112021005104T5 (de) Systeme und verfahren zum evaluieren von domänenspezifischen fähigkeiten eines navigationssystems
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112021002014T5 (de) Regelkreis zum navigieren eines fahrzeugs
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
DE112021006807T5 (de) Verfahren und Systeme für ein sicheres spurabweichendes Fahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed