DE112021004128T5 - Systeme und verfahren für kartenbasierte modellierung der realen welt - Google Patents

Systeme und verfahren für kartenbasierte modellierung der realen welt Download PDF

Info

Publication number
DE112021004128T5
DE112021004128T5 DE112021004128.2T DE112021004128T DE112021004128T5 DE 112021004128 T5 DE112021004128 T5 DE 112021004128T5 DE 112021004128 T DE112021004128 T DE 112021004128T DE 112021004128 T5 DE112021004128 T5 DE 112021004128T5
Authority
DE
Germany
Prior art keywords
road
vehicle
vehicles
segment
model
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
DE112021004128.2T
Other languages
English (en)
Inventor
Moshe SHENFELD
Ruth Chapman
Iddo Hanniel
Yael HACOHEN
Ishay GOLINSKY
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 DE112021004128T5 publication Critical patent/DE112021004128T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • G01C21/3822Road feature data, e.g. slope data
    • 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road

Abstract

Es ist ein System zum Korrelieren von Fahrtinformationen von mehreren Straßensegmenten offenbart. In einer Ausführungsform beinhaltet das System einen Speicher und einen Prozessor, der dazu ausgelegt ist, Fahrtinformationen von Fahrzeugen, die ein erstes Straßensegment befuhren, und Fahrzeugen, die ein zweites Straßensegment befuhren, zu empfangen. Der Prozessor ist dazu ausgelegt, die Fahrtinformationen von den Fahrzeugen zu korrelieren, um ein erstes Straßenmodellsegment, das das erste Straßensegment repräsentiert, und ein zweites Straßenmodellsegment, das das zweite Straßensegment repräsentiert, bereitzustellen. Der Prozessor korreliert das erste Straßenmodellsegment mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßensegmentmodell bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist, und speichert das korrelierte Straßensegmentmodell als Teil einer dünnbesetzten Navigationskarte.

Description

  • Querverweis auf verwandte Anmeldung
  • Die vorliegende Anmeldung beansprucht den Prioritätsvorteil der vorläufigen US-Anmeldung Nr. 63/072,597 , eingereicht am 31. August 2020. Die vorstehende Anmeldung wird hierin unter Bezugnahme in ihrer Gesamtheit aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein Fahrzeugnavigation. Hintergrundinformationen
  • Während sich die Technologie weiterentwickelt, zeichnet sich das Ziel eines vollautonomen Fahrzeugs, das in der Lage ist, auf Fahrbahnen zu navigieren, am Horizont ab. Autonome Fahrzeuge müssen möglicherweise eine Vielfalt von Faktoren berücksichtigen und geeignete Entscheidungen basierend auf diesen Faktoren treffen, um einen vorgesehenen Bestimmungsort sicher und genau zu erreichen. Beispielsweise 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 erhalten werden (z. B. von einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.). Zur gleichen Zeit muss ein autonomes Fahrzeug auch, um zu einem Bestimmungsort zu navigieren, seinen Standort auf einer bestimmten Fahrbahn identifizieren (z. B. eine spezifische Spur auf einer mehrspurigen Straße), neben anderen Fahrzeugen navigieren, Hindernisse und Fußgänger vermeiden, Verkehrssignale und -schilder beobachten und an zweckmäßigen Kreuzungen oder Anschlussstellen von einer Straße zu einer anderen Straße fahren. Das Nutzen und Interpretieren großer Mengen an Informationen, die durch ein autonomes Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Bestimmungsort fährt, stellt eine Vielzahl von Designherausforderungen. Die reine Menge an Daten (z. B. erfasste Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, darauf zugreifen und/oder speichern muss, stellt Herausforderungen, die die autonome Navigation in der Tat einschränken oder sogar negativ beeinträchtigen kann. Falls ferner ein autonomes Fahrzeug zum Navigieren auf traditionelle Kartierungstechnologie angewiesen ist, stellt das reine Volumen an Daten, die zum Speichern und Aktualisieren der Karte benötigt werden, gewaltige Herausforderungen.
  • KURZDARSTELLUNG
  • Ausführungsformen in Übereinstimmung mit der vorliegenden Offenbarung stellen Systeme und Verfahren zur Fahrzeugnavigation bereit.
  • In einer Ausführungsform kann ein System zum Korrelieren von Fahrtinformationen von mehreren Straßensegmenten mindestens einen Prozessor beinhalten, der eine Schaltungsanordnung und einen Speicher umfasst. Der Speicher kann Anweisungen beinhalten, die, wenn sie durch die Schaltungsanordnung ausgeführt werden, den mindestens einen Prozessor veranlassen, Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen zu empfangen, die ein erstes Straßensegment befuhren, wobei die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr; und die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zu korrelieren, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert. Der mindestens eine Prozessor kann ferner Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen empfangen, die ein zweites Straßensegment befuhren, wobei die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr; und die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zu korrelieren, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert. Der mindestens eine Prozessor kann ferner das erste Straßenmodellsegment mit dem zweiten Straßenmodellsegment korrelieren, um ein korreliertes Straßenmodellsegment bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und das korrelierte Straßenmodellsegment als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments speichern.
  • In einer Ausführungsform kann ein Verfahren zum Korrelieren von Fahrtinformationen von mehreren Straßensegmenten beinhalten: Empfangen von Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen, die ein erstes Straßensegment befuhren, wobei die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr; und Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert. Das Verfahren kann ferner beinhalten: Empfangen von Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen, die ein zweites Straßensegment befuhren, wobei die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr; und Korrelieren der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert. Das Verfahren kann ferner beinhalten: Korrelieren des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßenmodellsegment bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des korrelierten Straßenmodellsegments als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments.
  • In einer Ausführungsform kann ein System zum Erzeugen eines Straßenoberflächenmodells mindestens einen Prozessor beinhalten, der eine Schaltungsanordnung und einen Speicher umfasst. Der Speicher kann Anweisungen beinhalten, die, wenn sie durch die Schaltungsanordnung ausgeführt werden, den mindestens einen Prozessor veranlassen, auf eine Vielzahl von Punkten zuzugreifen, die mit einer oder mehreren befahrbaren Straßen assoziiert sind; und das Straßenoberflächenmodell basierend auf der Vielzahl von Punkten zu erzeugen, wobei das Oberflächenmodell ein Mesh beinhaltet, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert. Das Erzeugen des Straßenoberflächenmodells kann beinhalten: Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten; und Meshing des ersten Punkts mit dem zweiten Punkt basierend auf einer Bestimmung, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist. Der mindestens eine Prozessor kann ferner das Straßenoberflächenmodell zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen speichern.
  • In einer Ausführungsform kann ein Verfahren zum Erzeugen eines Straßenoberflächenmodells beinhalten: Zugreifen auf eine Vielzahl von Punkten, die mit einer oder mehreren befahrbaren Straßen assoziiert sind; und Erzeugen des Straßenoberflächenmodells basierend auf der Vielzahl von Punkten, wobei das Oberflächenmodell ein Mesh beinhaltet, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert. Das Erzeugen des Straßenoberflächenmodells kann beinhalten: Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten; und Meshing des ersten Punkts mit dem zweiten Punkt basierend auf einer Bestimmung, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist. Das Verfahren kann ferner Speichern des Straßenoberflächenmodells zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen beinhalten.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speicherungsmedien Programmanweisungen speichern, die durch mindestens einen Prozessor ausgeführt werden und beliebige der hierin beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende ausführliche Beschreibung sind nur beispielhaft und erläuternd und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die begleitenden Zeichnungen, die in dieser Offenbarung eingeschlossen sind und einen Teil von dieser bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen gilt:
    • 1 ist eine diagrammatische Repräsentation eines beispielhaften Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2A ist eine diagrammatische Seitenansichtsrepräsentation eines beispielhaften Fahrzeugs einschließlich eines Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2B ist eine diagrammatische Draufsichtsrepräsentation des in FIG: 2A gezeigten Fahrzeugs und Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2C ist eine diagrammatische Draufsichtsrepräsentation einer anderen Ausführungsform eines Fahrzeugs einschließlich eines Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2D ist eine diagrammatische Draufsichtsrepräsentation einer noch anderen Ausführungsform eines Fahrzeugs einschließlich eines Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2E ist eine diagrammatische Draufsichtsrepräsentation einer noch anderen Ausführungsform eines Fahrzeugs einschließlich eines Systems, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2F ist eine diagrammatische Repräsentation von beispielhaften Fahrzeugsteuersystemen, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3A ist eine diagrammatische Repräsentation eines Innenraums eines Fahrzeugs einschließlich eines Rückspiegels und einer Benutzerschnittstelle für ein Fahrzeugbildgebungssystem, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3B ist eine Veranschaulichung eines Beispiels für eine Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung von einer anderen Perspektive aus, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3D ist eine Veranschaulichung eines Beispiels für eine Kamerahalterung, die dazu ausgelegt ist, 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 dazu ausgelegt ist, Anweisungen zum Durchführen einer oder mehrerer Operationen zu speichern, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Monokularbildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren von Straßenmarkierungen und/oder Spurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugpfad zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen zeigt, ob ein führendes Fahrzeug die Spur wechselt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 8 zeigt eine dünnbesetzte Karte zum Bereitstellen einer autonomen Fahrzeugnavigation, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9A veranschaulicht eine Polynomrepräsentation eines Teils eines Straßensegments, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9B veranschaulicht eine Kurve in einem dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs repräsentiert, für ein spezielles Straßensegment, das in einer dünnbesetzten Karte enthalten ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 10 veranschaulicht beispielhafte Landmarken, die in einer dünnbesetzten Karte enthalten sein können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 11A zeigt Polynomrepräsentationen von Trajektorien, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 11 D zeigt ein beispielhaftes Straßensignaturprofil, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 12 ist eine schematische Veranschaulichung eines Systems, das Crowdsourcing-Daten, die von einer Vielzahl von Fahrzeugen empfangen werden, zur autonomen Fahrzeugnavigation verwendet, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 13 veranschaulicht ein beispielhaftes Autonomes-Fahrzeug-Straßennavigationsmodell, das durch eine Vielzahl von dreidimensionalen Splines repräsentiert wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartenskelett, das durch Kombinieren von Ortsinformationen von vielen Fahrten erzeugt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel für eine longitudinale Ausrichtung von zwei Fahrten mit beispielhaften Schildern als Landmarken, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel für eine longitudinale Ausrichtung von vielen Fahrten mit einem beispielhaften Schild als eine Landmarke, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 17 ist eine schematische Veranschaulichung eines Systems zum Erzeugen von Fahrtdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Veranschaulichung eines Systems zum Crowdsourcing einer dünnbesetzten Karte, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erzeugen einer dünnbesetzten Karte zur autonomen Fahrzeugnavigation entlang eines Straßensegments zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 20 veranschaulicht ein Blockdiagramm eines Servers, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 21 veranschaulicht ein Blockdiagramm eines Speichers, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die mit Fahrzeugen assoziiert sind, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das zur autonomen Navigation verwendet werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24A, 24B, 24C und 24D veranschaulichen beispielhafte Spurmarkierungen, die detektiert werden können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24E zeigt beispielhafte kartierte Spurmarkierungen, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie, die mit dem Detektieren einer Spurmarkierung assoziiert ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild der umliegenden Umgebung eines Fahrzeugs zur Navigation basierend auf den kartierten Spurmarkierungen, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25B veranschaulicht eine laterale Lokalisierungskorrektur eines Fahrzeugs basierend auf kartierten Spurmarkierungen in einem Straßennavigationsmodell, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25C und 25D stellen konzeptuelle Repräsentationen einer Lokalisierungstechnik zum Lokalisieren eines Host-Fahrzeugs entlang einer Zieltrajektorie unter Verwendung kartierter Merkmale, die in einer dünnbesetzten Karte enthalten sind, bereit.
    • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Kartieren einer Spurmarkierung zur Verwendung bei der autonomen Fahrzeugnavigation zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung kartierter Spurmarkierungen zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 27 ist ein Diagramm, das eine beispielhafte Überführung mit überlappenden Straßensegmenten zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 28 ist eine Draufsicht der in FIG: 27 gezeigten Überführung, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 29 veranschaulicht eine beispielhafte Kreuzung, entlang der Fahrtinformationen gesammelt werden können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 30 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Korrelieren von Fahrtinformationen zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 31A veranschaulicht ein beispielhaftes Straßenoberflächenmodell für eine Überführung, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 31B veranschaulicht eine beispielhafte Anomalie, die beim Erzeugen eines Straßenoberflächenmodells auftreten kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erzeugen eines Straßenoberflächenmodells zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen. Wo immer möglich, werden die gleichen Bezugsziffern in den Zeichnungen und der folgenden Beschreibung verwendet, um sich auf die gleichen oder ähnliche Teile zu beziehen. Während hierin mehrere veranschaulichende Ausführungsformen beschrieben sind, sind Modifikationen, Anpassungen und andere Implementierungen möglich. Beispielsweise können Ersetzungen, Hinzufügungen oder Modifikationen an den in den Zeichnungen veranschaulichten Komponenten vorgenommen werden, und die hierin beschriebenen veranschaulichenden Verfahren können modifiziert werden, indem Schritte für die offenbarten Verfahren ersetzt, umgeordnet, entfernt oder hinzugefügt werden. Dementsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der zweckmäßige Schutzumfang durch die angehängten Ansprüche definiert.
  • Übersicht über autonome Fahrzeuge
  • Wie durchgehend in dieser Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigiationsänderung ohne Fahrereingabe zu implementieren. Eine „Navigationsänderung“ bezieht sich auf eine Änderung bei einem oder mehreren von Lenkung, Bremsung oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollständig autonom sein (z. B. voller Betrieb ohne einen Fahrer oder ohne Fahrereingabe). Stattdessen beinhaltet ein autonomes Fahrzeug jene, die während gewisser Zeiträume unter Steuerung des Fahrers und während anderer Zeiträume ohne Steuerung des Fahrers arbeiten können. Autonome Fahrzeuge können auch Fahrzeuge beinhalten, die nur einige Aspekte der Fahrzeugnavigation steuern, wie etwa Lenkung (um z. B. einen Fahrzeugkurs zwischen Fahrzeugspurbeschränkungen beizubehalten), aber andere Aspekte dem Fahrer überlassen können (z. B. Bremsung). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte der Bremsung, Geschwindigkeitssteuerung und/oder Lenkung des Fahrzeugs handhaben.
  • Da menschliche Fahrer für die Steuerung eines Fahrzeugs typischerweise auf visuelle Hinweise und Beobachtungen angewiesen sind, sind Transportinfrastrukturen entsprechend gebaut, wobei Spurmarkierungen, Verkehrsschilder und Ampeln alle ausgebildet sind, um Fahrern visuelle Informationen bereitzustellen. Hinsichtlich dieser Designcharakteristiken von Transportinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit beinhalten, die visuelle Informationen analysiert, die von der Umgebung des Fahrzeugs erfasst werden. Die visuellen Informationen können zum Beispiel Komponenten der Transportinfrastruktur (z. B. Spurmarkierungen, Verkehrsschilder, Ampeln usw.), die durch Fahrer beobachtbar sind, und andere Hindernisse (z. B. andere Fahrzeuge, Fußgänger, Schutt usw.) beinhalten. Zusätzlich kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie etwa Informationen, die bei der Navigation ein Modell der Umgebung des Fahrzeugs bereitstellen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen bezüglich seiner Umgebung bereitzustellen, während das Fahrzeug fährt, und das Fahrzeug (sowie andere Fahrzeuge) können die Informationen verwenden, um sich selbst auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen in dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während der Navigation erhalten werden (z. B. von einer Kamera, einer GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die aus vergangenen Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) während der Navigation erhalten werden. In noch anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während der Navigation erhalten werden, und Informationen, die aus vergangenen Navigationen erhalten werden, verwenden. Die folgenden Abschnitte liefern einer Übersicht eines System in Übereinstimmung mit den offenbarten Ausführungsformen, gefolgt von einer Übersicht eines nach vorne zeigenden Bildgebungssystems und Verfahren in Übereinstimmung mit dem System. Die folgenden Abschnitte offenbaren Systeme und Verfahren zum Konstruieren, Verwenden und Aktualisieren einer dünnbesetzten Karte zur autonomen Fahrzeugnavigation.
  • Systemübersicht
  • 1 ist eine Blockdiagrammrepräsentation eines Systems 100, in Übereinstimmung mit den beispielhaften offenbarten Ausführungsformen. Das System 100 kann in Abhängigkeit von den Anforderungen einer bestimmten Implementierung verschiedene Komponenten beinhalten. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bildgewinnungseinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 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. Gleichermaßen kann die Bildgewinnungseinheit 120 in Abhängigkeit von den Anforderungen einer bestimmten Anwendung eine beliebige Anzahl von Bildgewinnungsvorrichtungen und -komponenten beinhalten. In einigen Ausführungsformen kann die Bildgewinnungseinheit 120 eine oder mehrere Bilderfassungsvorrichtungen (z. B. Kameras) beinhalten, wie etwa eine Bilderfassungsvorrichtung 122, eine Bilderfassungsvorrichtung 124 und eine Bilderfassungsvorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bildgewinnungsvorrichtung 120 verbindet. Beispielsweise kann die Datenschnittstelle 128 (einen) beliebige(n) drahtgebundene(n) und/oder drahtlose(n) Link oder Links zum Übertragen von Bilddaten, die durch die Bildgewinnungsvorrichtung 120 erfasst werden, zu der Verarbeitungseinheit 110 beinhalten.
  • Der drahtlose Sendeempfänger 172 kann eine oder mehrere Vorrichtungen beinhalten, die dazu ausgelegt sind, Übertragungen über eine Luftschnittstelle zu einem oder mehreren Netzwerken (z. B. zellular, das Internet usw.) durch Verwendung einer Funkfrequenz, einer Infrarotfrequenz, eines Magnetfeldes oder eines elektrischen Feldes auszutauschen. Der drahtlose Sendeempfänger 172 kann einen beliebigen bekannten Standard zum Übertragen und/oder Empfangen von Daten verwenden (z. B. WiFi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.). Solche Übertragungen können Kommunikationen vom Host-Fahrzeug zu einem oder mehreren entfernt befindlichen Servern beinhalten. Solche Übertragungen können auch Kommunikationen (Einweg oder Zweiweg) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs (um z. B. eine Koordination der Navigation des Host-Fahrzeugs hinsichtlich oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu ermöglichen) oder sogar eine Broadcast-Übertragung zu unspezifizierten Empfängern in einer Nähe des übertragenden Fahrzeugs beinhalten.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungsvorrichtungen beinhalten. Beispielsweise können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen Mikroprozessor, Vorprozessoren (wie etwa einen Bildvorprozessor), eine Grafikverarbeitungseinheit (GPU), eine Zentralverarbeitungseinheit (CPU), Unterstützungsschaltungen, Digitalsignalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen, die zum Ausführen von Anwendungen und zur Bildverarbeitung und -analyse geeignet sind, beinhalten. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 eine beliebige Art von Einzel- oder Mehrkernprozessor, Mobilvorrichtungsmikrocontroller, Zentralverarbeitungseinheit usw. beinhalten. Verschiedene Verarbeitungsvorrichtungen können verwendet werden, einschließlich zum Beispiel Prozessoren, die von Herstellern wie etwa Intel®, AMD® usw. verfügbar sind, oder GPUs, die von Herstellern wie etwa NVIDIA®, ATI® usw. verfügbar 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 beliebige der EyeQ-Reihe von Prozessorchips beinhalten, die von Mobileye® verfügbar sind. Diese Prozessordesigns beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren beinhalten und können auch Videoausgabefähigkeiten beinhalten. In einem Beispiel verwendet das EyeQ2® eine 90nm-Mikron-Technologie, die bei 332 MHz arbeitet. Die EyeQ2®-Architektur besteht aus zwei Gleitkomma-Hyperthread-32-Bit-RISC-CPUs (MIPS32® 34K® Kerne), fünf Vision Computing Engines (VCE), drei Vector Microcode Processors (VMP®, Vektor-Mikrocode-Prozessoren), einer Denali 64-Bit-Mobile-DDR-Steuerung, einem internen 128-Bit-Sonics-Interconnect, dualen 16-Bit-Videoeingang- und 18-Bit-Videoausgangssteuerungen, 16-Kanäle-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 Visionsberechnungen durchführen, die durch multifunktionelle Bündelanwendungen benötigt werden. In einem anderen Beispiel kann das EyeQ3®, das ein Prozessor der dritten Generation ist und sechsmal leistungsstärker als das EyeQ2® ist, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können das EyeQ4® und/oder das EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch beliebige neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Beliebige der hierin offenbarten Verarbeitungsvorrichtungen können dazu ausgelegt sein, bestimmte Funktionen durchzuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa beliebiger der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines anderen Mikroprozessors, um bestimmte Funktionen durchzuführen, kann Programmieren von computerausführbaren Anweisungen und Zurverfügungstellung dieser Anweisungen an die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung beinhalten. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung direktes Programmieren der Verarbeitungsvorrichtung mit Architekturanweisungen beinhalten. Beispielsweise 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 werden.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung Speichern ausführbarer Anweisungen in einem Speicher beinhalten, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann. Beispielsweise kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In jedem Fall repräsentiert die Verarbeitungsvorrichtung, die dazu ausgelegt ist, die hierin offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen durchzuführen, ein spezialisiertes hardwarebasiertes System in Kontrolle mehrerer hardwarebasierter Komponenten eines Host-Fahrzeugs.
  • Während 1 zwei separate Verarbeitungsvorrichtungen darstellt, die in der Verarbeitungseinheit 110 enthalten sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Beispielsweise kann in einigen Ausführungsformen eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erzielen. In anderen Ausführungsformen können diese Aufgaben durch mehr als zwei Verarbeitungsvorrichtungen durchgeführt werden. In einigen Ausführungsformen kann das System 100 ferner eine oder mehrere Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten, wie etwa die Bildgewinnungseinheit 120, zu enthalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Vorrichtungen umfassen. Beispielsweise kann die Verarbeitungseinheit 110 verschiedene Vorrichtungen, wie etwa eine Steuerung, einen Bildvorprozessor, eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, Digitalsignalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen zur Bildverarbeitung und -analyse beinhalten. Der Bildvorprozessor kann einen Videoprozessor zum Erfassen, Digitalisieren und Verarbeiten der Bilder von den Bildsensoren beinhalten. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann auch eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die Unterstützungsschaltungen können eine beliebige Anzahl von Schaltungen sein, die im Allgemeinen in der Technik wohlbekannt sind, einschließlich Cache-, Leistungsversorgungs-, Takt- und Eingabe-Ausgabe-Schaltungen. Der Speicher kann Software speichern, die, wenn sie durch den Prozessor ausgeführt wird, den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nurlesespeichern, Flash-Speichern, Plattenlaufwerken, optischer Speicherung, Bandspeicherung, entfernbarer Speicherung und anderen Arten von Speicherung umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 separat sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen beinhalten, die, wenn sie durch einen Prozessor (z. B. den Anwendungsprozessor 180 und/oder den Bildprozessor 190) ausgeführt werden, den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie etwa zum Beispiel ein neuronales Netzwerk oder ein tiefes neuronales Netzwerk, beinhalten. Die Speichereinheiten können einen Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM), Flash-Speicher, Plattenlaufwerke, optische Speicherung, Bandspeicherung, entfernbare Speicherung und andere Arten von Speicherung beinhalten. In einigen Ausführungsformen können die Speichereinheiten 140, 150 von dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 separat sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann eine beliebige Art von Vorrichtung beinhalten, die zum Bestimmen eines Standorts geeignet ist, der mit mindestens einer Komponente des Systems 100 assoziiert ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Solche Empfänger können eine Benutzerposition und -geschwindigkeit durch Verarbeitung von Signalen, die durch Satelliten des globalen Positionierungssystems übermittelt werden, bestimmen. Positionsinformationen vom Positionssensor 130 können dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 verfügbar gemacht werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten wie etwa einen Geschwindigkeitssensor (z. B. ein Tachometer, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder einachsig oder mehrachsig) zum Messen der Beschleunigung des Fahrzeugs 200 beinhalten.
  • Die Benutzerschnittstelle 170 kann eine beliebige Vorrichtung beinhalten, die zum Bereitstellen von Informationen zu oder zum Empfangen von Eingaben von einem oder mehreren Benutzern des Systems 100 beinhalten. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen beinhalten, einschließlich zum Beispiel eines Touchscreens, eines Mikrofons, einer Tastatur, Zeigervorrichtungen, Trackwheels, Kameras, Knöpfen, Tasten usw. Mit solchen Eingabevorrichtungen kann ein Benutzer in der Lage sein, dem System 100 Informationseingaben oder Befehle durch Eintippen von Anweisungen oder Informationen, Bereitstellen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm unter Verwendung von Tasten, Zeigern oder Augenverfolgungsfähigkeiten oder durch beliebige andere geeignete Techniken zum Kommunizieren von Informationen an das System 100 bereitstellen.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein,, die dazu ausgelegt sind, Informationen zu 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 solche 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 Tastatureinträge 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 bezüglich der Position in einem Referenzkoordinatensystem verschiedener Gegenstände beinhalten, einschließlich Straßen, Wassermerkmalen, geographischen Merkmalen, Geschäften, Punkten von Interesse, Restaurants, Tankstellen usw. Die Kartendatenbank 160 kann nicht nur die Standorte solche Gegenstände, sondern auch Deskriptoren bezüglich dieser Gegenstände speichern, einschließlich zum Beispiel Namen, die mit jeglichen der gespeicherten Merkmale assoziiert sind. In einigen Ausführungsformen kann die Kartendatenbank 160 physisch mit anderen Komponenten des Systems 100 lokalisiert sein. Alternativ oder zusätzlich kann die Kartendatenbank 160 oder ein Teil davon bezüglich anderer Komponenten des Systems 100 (z. B. Verarbeitungseinheit 110) entfernt lokalisiert sein. In solchen Ausführungsformen können Informationen von der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z. B. über ein zellulares Netzwerk und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein dünnbesetztes Datenmodell einschließlich Polynomrepräsentation gewisser Straßenmerkmale (z. B. Spurmarkierungen) oder Zieltrajektorien für das Host-Fahrzeug speichern. Systeme und Verfahren zum Erzeugen einer solchen Karte sind nachstehend mit Bezug auf 8 - 19 besprochen.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jeweils eine beliebige Art von Vorrichtung beinhalten, die zum Erfassen mindestens eines Bildes von einer Umgebung geeignet ist. Darüber hinaus kann eine beliebige Anzahl von Bilderfassungsvorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu gewinnen. 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 ferner mit Bezug auf 2B - 2E unten beschrieben.
  • Das System 100, oder verschiedene Komponenten davon, kann in verschiedene unterschiedliche Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 an einem Fahrzeug 200 enthalten sein, wie in 2A gezeigt. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und beliebigen der anderen Komponenten des Systems 100 ausgestattet sein, wie oben bezüglich 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 jenen, die in Verbindung mit 2B - 2E besprochen sind, mehrere Bilderfassungsvorrichtungen verwendet werden. Beispielsweise kann eine der beiden Bilderfassungsvorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A gezeigt, Teil eines FAS(Fahrerassistenzsystem)-Bildgebungssatzes sein.
  • Die Bilderfassungsvorrichtungen, die am Fahrzeug 200 als Teil der Bildgewinnungseinheit 120 enthalten sind, können an einem beliebigen geeigneten Ort positioniert sein. In einigen Ausführungsformen, wie in 2A - 2E und 3A - 3C gezeigt, kann sich die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels befinden. Diese Position kann eine Sichtlinie ähnlich zu der des Fahrers des Fahrzeugs 200 bereitstellen, was bei der Bestimmung helfen kann, was für den Fahrer sichtbar ist oder nicht. Die Bilderfassungsvorrichtung 122 kann an einem beliebigen Ort nahe dem Rückspiegel positioniert sein, aber das Platzieren der Bilderfassungsvorrichtung 122 an der Fahrerseite des Spiegels kann ferner dabei helfen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers repräsentieren.
  • Andere Orte für die Bilderfassungsvorrichtungen der Bildgewinnungseinheit 120 können auch verwendet werden. Beispielsweise kann sich die Bilderfassungsvorrichtung 124 an oder in einer Stoßstange des Fahrzeugs 200 befinden. Ein solcher Ort kann insbesondere für Bilderfassungsvorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie von Bilderfassungsvorrichtungen, die sich an der Stoßstange befinden, kann sich von der des Fahrers unterscheiden, und daher sehen die Stoßstangen-Bilderfassungsvorrichtung und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) können sich auch an anderen Orten befinden. Beispielsweise können sich die Bilderfassungsvorrichtungen an oder in einem oder beiden der Seitenspiegel des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, auf dem Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200 befinden, an beliebigen der Fenster des Fahrzeugs 200 befestigt, dahinter positioniert oder davor positioniert sein und in oder nahe Leuchten an der Vorderseite und/oder Hinterseite des Fahrzeugs 200 montiert sein usw.
  • Zusätzlich zu Bilderfassungsvorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. Beispielsweise kann die Verarbeitungseinheit 110 am Fahrzeug 200 entweder integriert mit oder separat von einer Motorsteuereinheit (Engine Control Unit, ECU) des Fahrzeugs enthalten 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 Speichereinheiten 140 und 150 beinhalten.
  • Wie zuvor besprochen, kann der drahtlose Sendeempfänger 172 Daten über ein oder mehrere Netzwerke (z. B. zellulare Netzwerke, das Internet usw.) und/oder empfangen. Beispielsweise kann der drahtlose Sendeempfänger 172 Daten, die durch das System 100 gesammelt werden, zu einem oder mehreren Servern hochladen und Daten von dem einen oder den mehreren Servern herunterladen. Das System 100 kann über den drahtlosen Sendeempfänger 172 zum Beispiel periodische Aktualisierungen oder Aktualisierungen nach Bedarf an Daten, die in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeichert sind, empfangen. Gleichermaßen kann der drahtlose Sendeempfänger 172 beliebige Daten (z. B. Bilder, die durch die Bildgewinnungseinheit 120 erfasst werden, Daten, die durch den Positionssensor 130 oder andere Sensoren, Fahrzeugsteuersysteme usw. empfangen werden) vom System 100 und/oder beliebige Daten, die durch die Verarbeitungseinheit 110 verarbeitet werden, zu dem einen oder den mehreren Servern hochladen.
  • Das System 100 kann Daten zu einem Server (z. B. zu der Cloud) basierend auf einer Datenschutzeinstellung hochladen. Beispielsweise kann das System 100 Datenschutzeinstellungen implementieren, um die Arten von Daten (einschließlich Metadaten) zu regeln oder zu beschränken, die zu dem Server gesendet werden, die ein Fahrzeug und/oder einen Fahrer/Eigentümer eines Fahrzeugs eindeutig identifizieren können. Solche Einstellungen können durch den Benutzer zum Beispiel über den drahtlosen Sendeempfänger 172 festgelegt, durch Werkseinstellungen initialisiert oder durch Daten, die durch den drahtlosen Sendeempfänger 172 empfangen werden, eingestellt werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einem „hohen“ Datenschutzniveau hochladen, und unter Einstellung einer Einstellung kann das System 100 Daten (z. B. Standortinformationen bezüglich einer Route, aufgenommene Bilder usw.) ohne irgendwelche Einzelheiten über das spezifische Fahrzeug und/oder den Fahrer/Eigentümer übertragen. Beispielsweise wenn Daten gemäß einer „hohen“ Datenschutzeinstellung hochgeladen werden, wird das System 100 möglicherweise nicht eine Fahrzeugidentifikationsnummer (VIN) oder einen Namen eines Fahrers oder Eigentümers des Fahrzeugs einschließen und kann stattdessen Daten übertragen, wie etwa erfasste Bilder und/oder beschränkte Standortinformationen bezüglich einer Route.
  • Andere Datenschutzniveaus werden in Betracht gezogen. Beispielsweise kann das System 100 Daten zu einem Server gemäß einem „mittleren“ Datenschutzniveau übertragen und zusätzlich Informationen einschließen, die nicht unter einem „hohen“ Datenschutzniveau eingeschlossen werden, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder einen Fahrzeugtyp (z. B. ein Passagierfahrzeug, ein Geländewagen, ein Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einem „niedrigen“ Datenschutzniveau hochladen. Unter einer „niedrigen“ Datenschutzniveaueinstellung kann das System 100 Daten hochladen und Informationen einschließen, die ausreichen, um ein spezifisches Fahrzeug, den Eigentümer/Fahrer und/oder einen Abschnitt einer Route oder eine gesamte Route, die das Fahrzeug fährt, eindeutig zu identifizieren. Solche Daten mit „niedrigem“ Datenschutzniveau können zum Beispiel eines oder mehrere von einer VIN, einem Namen des Fahrers/Eigentümers, einem Ursprungspunkt eines Fahrzeugs vor der Abfahrt, einem vorgesehenen Bestimmungsort des Fahrzeugs, einer Marke und/oder einem Modell des Fahrzeugs, einem Typ des Fahrzeugs usw. beinhalten.
  • 2A ist eine diagrammatische Seitenansichtsrepräsentation eines beispielhaften Fahrzeugbildgebungssystems, in Übereinstimmung mit den offenbarten Ausführungsformen. 2B ist eine diagrammatische Draufsichtsveranschaulichung 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 nahe dem Fahrer des Fahrzeug 200 positioniert ist, einer zweiten Bilderfassungsvorrichtung 124, die an oder in einem Stoßstangengebiet (z. B. einem der Stoßstangengebiete 210) des Fahrzeugs 200 positioniert ist, und einer Verarbeitungseinheit 110 beinhaltet.
  • Wie in 2C veranschaulicht, können beide Bilderfassungsvorrichtungen 122 und 124 in der Nähe des Rückspiegels und/oder nahe dem Fahrer des Fahrzeugs 200 positioniert sein. Zusätzlich sollte verstanden werden, dass, obwohl zwei Bilderfassungsvorrichtungen 122 und 124 in 2B und 2C gezeigt sind, andere Ausführungsformen mehr als zwei Bilderfassungsvorrichtungen beinhalten können. Beispielsweise sind in den in 2D und 2E gezeigten Ausführungsformen eine erste, zweite und dritte Bilderfassungsvorrichtung 122, 124 und 126 in dem System 100 des Fahrzeugs 200 enthalten.
  • Wie in 2D veranschaulicht, kann die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels und/oder nahe dem Fahrer des Fahrzeugs 200 positioniert sein, und die Bilderfassungsvorrichtungen 124 und 126 können an oder in einem Stoßstangengebiet (z. B. einem der Stoßstangengebiete 210) des Fahrzeugs 200 positioniert sein. Wie in 2E gezeigt, können die Bilderfassungsvorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder nahe dem Fahrersitz des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf irgendeine bestimmte Anzahl und Konfiguration der Bilderfassungsvorrichtungen beschränkt, und die Bilderfassungsvorrichtungen können an einem beliebigen zweckmäßigen Ort in und/oder an dem 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 auch, dass offenbarte Ausführungsformen nicht auf einen bestimmten Typ von Fahrzeug 200 beschränkt sind und auf alle Typen von Fahrzeugen anwendbar sind, einschließlich Kraftfahrzeugen, Lastkraftwagen, Anhängern und anderen Typen von Fahrzeugen.
  • 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 Shutter beinhalten. In anderen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Auflösung von 1280x960 Pixeln bereitstellen und einen Rolling-Shutter beinhalten. Die Bilderfassungsvorrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können zum Beispiel eine oder mehrere Linsen enthalten sein, um eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bilderfassungsvorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 mit einer 6-mm-Linse oder einer 12-mm-Linse assoziiert sein. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, Bilder mit einem gewünschten Sichtfeld (FOV) 202 zu erfassen, wie in 2D veranschaulicht. Beispielsweise kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein reguläres 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. Beispielsweise kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein schmales FOV in dem Bereich von 23 Grad bis 40 Grad aufzuweisen, wie etwa ein 28-Grad-FOV oder 36-Grad-FOV. Zusätzlich kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein breites FOV in dem Bereich von 100 bis
    180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Weitwinkel-Stoßstangenkamera 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=3800x1900 Pixel) mit etwa einem 100-Grad-Horizontal-FOV sein. Eine solche Bilderfassungsvorrichtung kann anstelle einer Konfiguration mit drei Bilderfassungsvorrichtungen verwendet werden. Aufgrund der signifikanten Linsenverzerrung kann das vertikale FOV einer solchen Bilderfassungsvorrichtung erheblich weniger als 50 Grad sein in Implementierungen, bei denen die Bilderfassungsvorrichtung eine radial symmetrische Linse verwendet. Beispielsweise ist eine solche Linse möglicherweise nicht radial symmetrisch, was ein vertikales FOV größer als 50 Grad mit 100-Grad-Horizontal-FOV ermöglichen würde.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Vielzahl von ersten Bildern relativ zu einer Szene, die mit dem Fahrzeug 200 assoziiert ist, gewinnen. Jedes der Vielzahl von ersten Bildern kann als eine Reihe von Bildscanlinien erfasst werden, die unter Verwendung eines Rolling-Shutter erfasst werden können. Jede Scanlinie kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Scanrate aufweisen, die mit der Gewinnung von jeder der ersten Reihe von Bildscanlinien assoziiert ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten gewinnen kann, die mit jedem Pixel assoziiert sind, das in einer speziellen Scanlinie enthalten ist.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können einen beliebigen geeigneten Typ und eine beliebige geeignete Anzahl von Bildsensoren enthalten, einschließlich zum Beispiel CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rolling-Shutter eingesetzt werden, sodass jedes Pixel in einer Zeile einzeln gelesen wird, und das Scannen der Zeilen auf einer zeilenweisen Basis fortgesetzt wird, bis ein gesamtes Bildframe erfasst wurde. In einigen Ausführungsformen können die Zeilen sequenziell von oben nach unten relativ zu dem Frame erfasst werden.
  • In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) einen Bildgeber mit hoher Auflösung bilden und können eine Auflösung größer als 5M-Pixel, 7M-Pixel, 10M-Pixel oder größer aufweisen.
  • Die Verwendung eines Rolling-Shutter kann dazu führen, dass Pixel in unterschiedlichen Zeilen zu unterschiedlichen Zeiten belichtet und erfasst werden, was Bitversatz und andere Bildartefakte in dem aufgenommenen Bildframe verursachen kann. Andererseits können, wenn die Bilderfassungsvorrichtung 122 dazu ausgelegt ist, mit einem globalen oder synchronen Shutter zu arbeiten, alle der Pixel für die gleiche Menge an Zeit und während einer gemeinen Belichtungsperiode belichtet werden. Infolgedessen repräsentieren die Bilddaten in einem Frame, die von einem System gesammelt werden, das einen globalen Shutter einsetzt, eine Momentaufnahme des gesamten FOV (wie etwa FOV 202) zu einer bestimmten Zeit. Im Gegensatz dazu wird in einer Rolling-Shutter-Anwendung jede Zeile in einem Frame belichtet und Daten werden zu unterschiedlichen Zeiten erfasst. Somit können sich bewegende Objekte in einer Bilderfassungsvorrichtung mit einem Rolling-Shutter verzerrt erscheinen. Dieses Phänomen 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 Shutter beinhalten. Alternativ kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Rolling-Shutter beinhalten. Wie die Bilderfassungsvorrichtung 122 können die Bilderfassungsvorrichtungen 124 und 126 dazu ausgelegt sein, verschiedene Linsen und optische Elemente zu enthalten. In einigen Ausführungsformen können Linsen, die mit den Bilderfassungsvorrichtungen 124 und 126 assoziiert sind, FOVs (wie etwa FOVs 204 und 206) bereitstellen, die die gleichen wie oder schmaler als ein FOV (wie etwa FOV 202) sind, das mit der Bilderfassungsvorrichtung 122 assoziiert ist. Beispielsweise können die Bilderfassungsvorrichtungen 124 und 126 FOVs 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 Szene, die mit dem Fahrzeug 200 assoziiert ist, gewinnen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Reihe von Bildscanlinien gewonnen werden, die unter Verwendung eines Rolling-Shutter erfasst 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 mit der Gewinnung von jeder der Bildscanlinien assoziiert sind, die in der zweiten und dritten Reihe enthalten sind.
  • Jede Bilderfassungsvorrichtung 122, 124 und 126 kann an einer beliebigen geeigneten Position und Orientierung relativ zu dem Fahrzeug 200 positioniert sein. Die relative Positionierung der Bilderfassungsvorrichtungen 122, 124 und 126 kann ausgewählt werden, um bei der Fusion der von den Bilderfassungsvorrichtungen gewonnenen Informationen zu helfen. Beispielsweise kann in einigen Ausführungsformen ein FOV (wie etwa FOV 204), das mit der Bilderfassungsvorrichtung 124 assoziiert ist, teilweise oder vollständig ein FOV (wie etwa FOV 202), das mit der Bilderfassungsvorrichtung 122 assoziiert ist, und ein FOV (wie etwa FOV 206), das mit der Bilderfassungsvorrichtung 126 assoziiert ist, überlappen.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können sich am Fahrzeug 200 an beliebigen geeigneten relativen Höhen finden. In einem Fall kann es eine Höhendifferenz zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 geben, die ausreichende Informationen zur Parallaxe bereitstellen kann, um eine Stereoanalyse zu ermöglichen. Beispielsweise, wie in 2A gezeigt, befinden sich die beiden Bilderfassungsvorrichtungen 122 und 124 an unterschiedlichen Höhen. Es kann auch eine laterale Verschiebungsdifferenz zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 geben, die zusätzliche Informationen zur Parallaxe zum Beispiel zur Stereoanalyse durch die Verarbeitungseinheit 110 angibt. Die Differenz in der lateralen Verschiebung kann durch dx bezeichnet werden, wie in 2C und 2D gezeigt. In einigen Ausführungsformen kann eine Verschiebung nach vom oder hinten (z. B. Bereichsverschiebung) zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 existieren. Beispielsweise kann sich die Bilderfassungsvorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 befinden. Diese Art von Verschiebung kann ermöglichen, dass eine der Bilderfassungsvorrichtungen potenzielle tote Winkel der einen oder mehreren anderen Bilderfassungsvorrichtungen abdeckt.
  • Die Bilderfassungsvorrichtungen 122 können eine beliebige geeignete Auflösungsfähigkeit (z. B. Anzahl von Pixeln, die mit dem Bildsensor assoziiert sind) aufweisen, und die Auflösung des einen oder der mehreren Bildsensoren, die mit der Bilderfassungsvorrichtung 122 assoziiert sind, kann höher, niedriger oder gleich der Auflösung des einen oder der mehreren Bildsensoren sein, die mit den Bilderfassungsvorrichtungen 124 und 126 assoziiert sind. In einigen Ausführungsformen können der eine oder die mehreren Bildsensoren, die mit der Bilderfassungsvorrichtung 122 und/oder den Bilderfassungsvorrichtungen 124 und 126 assoziiert sind, eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Framerate (z. B. die Rate, mit der eine Bilderfassungsvorrichtung einen Satz von Pixeldaten eines Bildframes erfasst, bevor sie zur Erfassung von Pixeldaten übergeht, die mit dem nächsten Bildframe assoziiert sind) kann steuerbar sein. Die Framerate, die mit der Bilderfassungsvorrichtung 122 assoziiert ist, kann höher, niedriger oder gleich der Framerate sein, die mit den Bilderfassungsvorrichtungen 124 und 126 assoziiert ist. Die Framerate, die mit den Bilderfassungsvorrichtungen 122, 124 und 126 assoziiert ist, kann von einer Vielfalt von Faktoren abhängen, die das Timing der Framerate beeinflussen können. Beispielsweise können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode aufweisen, die vor oder nach der Gewinnung von Bilddaten auferlegt wird, die mit einem oder mehreren Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 assoziiert sind. Im Allgemeinen können Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktrate für die Vorrichtung (z. B. ein Pixel pro Taktzyklus) gewonnen werden. Zusätzlich können in Ausführungsformen, die einen Rolling-Shutter beinhalten, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare horizontale Austastperiode aufweisen, die vor oder nach der Gewinnung von Bilddaten auferlegt wird, die mit einer Zeile von Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 assoziiert sind. Ferner können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und/oder 126 eine auswählbare vertikale Austastperiode aufweisen, die vor oder nach der Gewinnung von Bilddaten auferlegt wird, die mit einem Bildframe der Bilderfassungsvorrichtung 122, 124 und 126 assoziiert sind.
  • Diese Timing-Steuerungen können eine Synchronisation von Frameraten ermöglichen, die mit den Bilderfassungsvorrichtungen 122, 124 und 126 assoziiert sind, selbst wenn die Linienscanraten von jeder unterschiedlich sind. Zusätzlich, wie nachstehend ausführlicher besprochen wird, können diese auswählbaren Timing-Steuerungen, unter anderen Faktoren (z. B. Bildsensorauflösung, maximale Linienscanraten usw.), eine Synchronisation der Bilderfassung von einem Bereich ermöglichen, bei dem das FOV der Bilderfassungsvorrichtung 122 ein oder mehrere FOVs der Bilderfassungsvorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld der Bilderfassungsvorrichtung 122 von den FOVs der Bilderfassungsvorrichtungen 124 und 126 unterscheidet.
  • Das Frameraten-Timing in der Bilderfassungsvorrichtung 122, 124 und 126 kann von der Auflösung der assoziierten Bildsensoren abhängen. Beispielsweise unter der Annahme ähnlicher Linienscanraten für beide Vorrichtungen, falls eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 x 480 beinhaltet und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 beinhaltet, dann wird mehr Zeit benötigt, um ein Frame von Bilddaten von dem Sensor mit der höheren Auflösung zu gewinnen.
  • Ein anderer Faktor, der das Timing der Bilddatengewinnung in den Bilderfassungsvorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Linienscanrate. Beispielsweise wird die Gewinnung einer Zeile von Bilddaten von einem Sensor, der in der Bilderfassungsvorrichtung 122, 124 und 126 enthalten ist, eine minimale Menge an Zeit erfordern. Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, wird diese minimale Menge an Zeit zur Gewinnung einer Zeile von Bilddaten mit der maximalen Linienscanrate für eine bestimmte Vorrichtung in Beziehung stehen. Vorrichtungen, die höhere maximale Linienscanraten anbieten, besitzen das Potenzial, höhere Frameraten bereitzustellen als Vorrichtungen mit niedrigeren maximalen Linienscanraten. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 eine maximale Linienscanrate aufweisen, die höher als eine maximale Linienscanrate ist, die mit der Bilderfassungsvorrichtung 122 assoziiert ist. In einigen Ausführungsformen kann die maximale Linienscanrate der Bilderfassungsvorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr einer maximalen Linienscanrate der Bilderfassungsvorrichtung 122 sein.
  • In einer anderen Ausführungsform können die Bilderfassungsvorrichtungen 122, 124 und 126 die gleiche maximale Linienscanrate aufweisen, aber die Bilderfassungsvorrichtung 122 kann mit einer Scanrate kleiner oder gleich ihrer maximalen Scanrate betrieben werden. Das System kann so konfiguriert sein, dass eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 mit einer Linienscanrate arbeiten, die gleich der Linienscanrate der Bilderfassungsvorrichtung 122 ist. In anderen Fällen kann das System so konfiguriert sein, dass die Linienscanrate der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der Linienscanrate der Bilderfassungsvorrichtung 122 ist.
  • 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 zum Beispiel 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 ausgelegt sein, Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, an den Seiten des Fahrzeugs 200 oder Kombinationen davon zu gewinnen.
  • Ferner kann die Brennweite, die mit jeder Bilderfassungsvorrichtung 122, 124 und/oder 126 assoziiert ist, so auswählbar sein (z. B. durch Einschluss geeigneter Linsen usw.), dass jede Vorrichtung Bilder von Objekten bei einem gewünschten Distanzbereich relativ zu dem Fahrzeug 200 erfasst. Beispielsweise können in einigen Ausführungsformen die Bilderfassungsvorrichtungen 122, 124 und 126 Bilder von naheliegenden Objekten innerhalb weniger Meter vom Fahrzeug gewinnen. Die Bilderfassungsvorrichtungen 122, 124 und 126 können auch dazu ausgelegt sein, Bilder von Objekten bei weiteren Entfernungen vom Fahrzeug (z. B. 25 m, 50 m, 100 m, 150 m oder mehr) zu gewinnen. Ferner können die Brennweiten der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgewählt werden, dass eine Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 122) Bilder von Objekten relativ nahe dem Fahrzeug (z. B. innerhalb 10 m oder innerhalb 20 m) gewinnen kann, während die anderen Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 124 und 126) Bilder von entfernteren Objekten (z. B. größer als 20 m, 50 m, 100 m, 150 m usw.) vom Fahrzeug 200 gewinnen können.
  • Gemäß einigen Ausführungsformen kann das FOV einer oder mehrerer Bilderfassungsvorrichtungen 122, 124 und 126 einen Weitwinkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein FOV von 140 Grad aufzuweisen, insbesondere für die Bilderfassungsvorrichtungen 122, 124 und 126, die zum Aufnehmen von Bildern des Bereichs in der Nähe des Fahrzeugs 200 verwendet werden können. Beispielsweise kann die Bilderfassungsvorrichtung 122 verwendet werden, um Bilder des Bereichs zur rechten oder linken Seite des Fahrzeugs 200 zu erfassen, 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 mit jeder der Bilderfassungsvorrichtungen 122, 124 und 126 assoziiert ist, kann von den jeweiligen Brennweiten abhängen. Beispielsweise nimmt das entsprechende Sichtfeld ab, wenn die Brennweite zunimmt.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können dazu ausgelegt sein, ein beliebiges geeignetes Sichtfeld aufzuweisen. In einem speziellen 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 ein 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 zum Beispiel innerhalb des Sichtfeldes der Bilderfassungsvorrichtung 122 fallen (z. B. schmaler sind) und sich eine gemeinsame Mitte mit diesem teilen. In anderen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 benachbarte FOVs erfassen oder können eine teilweise Überlappung in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgerichtet sein, dass sich eine Mitte der Bilderfassungsvorrichtungen 124 und/oder 126 mit schmalerem FOV in einer unteren Hälfte des Sichtfeldes der Vorrichtung 122 mit breiterem FOV befinden kann.
  • 2F ist eine diagrammatische Repräsentation von beispielhaften Fahrzeugsteuersystemen, in Übereinstimmung mit den offenbarten Ausführungsformen. Wie in 2F angegeben, kann das Fahrzeug 200 ein Drosselsystem 220, ein Bremssystem 230 und ein Lenksystem 240 beinhalten. Das System 100 kann Eingaben (z. B. Steuersignale) zu einem oder mehreren des Drosselsystems 220, des Bremssystems 230 und des Lenksystems 240 über einen oder mehrere Datenlinks (z. B. einen oder mehrere beliebige drahtgebundene und/oder drahtlose Link oder Links zum Übertragen von Daten) bereitstellen. Beispielsweise kann das System 100 basierend auf der Analyse von Bildern, die durch die Bilderfassungsvorrichtungen 122, 124 und/oder 126 gewonnen werden, Steuersignale zu einem oder mehreren des Drosselsystems 220, des Bremssystems 230 und des Lenksystems 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Bewirken einer Beschleunigung, einer Abbiegung, eines Spurwechsels usw.). Ferner kann das System 100 Eingaben von einem oder mehreren des Drosselsystems 220, des Bremssystems 230 und des Lenksystems 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt, usw.). Weitere Einzelheiten sind in Verbindung mit 4 - 7 unten bereitgestellt.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Mitfahrer des Fahrzeugs 200 beinhalten. Beispielsweise kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Tasten 340 und ein Mikrofon 350 beinhalten. Ein Fahrer oder Mitfahrer des Fahrzeugs 200 kann auch Hebel (die sich z. B. an oder nahe der Lenksäule des Fahrzeugs 200 befinden, einschließlich zum Beispiel Blinkerhebel), 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 neben einem Rückspiegel 310 positioniert sein. Gleichermaßen kann sich in einigen Ausführungsformen die Bilderfassungsvorrichtung 122 nahe dem Rückspiegel 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) beinhalten. Beispielsweise kann das System 100 verschiedene Benachrichtigungen (z. B. Alarme) über die Lautsprecher 360 bereitstellen.
  • 3B - 3D sind Veranschaulichungen einer beispielhaften Kamerahaltung 370, die dazu ausgelegt ist, hinter einem Rückspiegel (z. B. Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit offenbarten Ausführungsformen. Wie in 3B gezeigt, kann die Kamerahaltung 370 die Bilderfassungsvorrichtungen 122, 124 und 126 beinhalten. Die Bilderfassungsvorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der mit der Fahrzeugwindschutzscheibe bündig ist und eine Zusammensetzung aus Film und/oder Antireflexionsmaterialien beinhalten kann. Beispielsweise kann der Blendschutz 380 so positioniert sein, dass der Blendschutz mit einer Fahrzeugwindschutzscheibe ausgerichtet ist, die eine passende Neigung aufweist. In einigen Ausführungsformen kann jede der Bilderfassungsvorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie zum Beispiel in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf irgendeine bestimmte Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126, der Kamerahalterung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung 370 von einer Frontperspektive aus.
  • Wie durch einen Fachmann auf dem Gebiet verstanden wird, der den Vorteil dieser Offenbarung aufweist, können zahlreiche Variationen und/oder Modifikationen an den vorstehend offenbarten Ausführungsformen vorgenommen werden. Beispielsweise sind nicht alle Komponenten für den Betrieb des Systems 100 wichtig. Ferner kann sich eine jegliche Komponente in einem beliebigen zweckmäßigen Teil des Systems 100 befinden, und die Komponenten können in einer Vielfalt von Konfigurationen neu angeordnet werden, während sie die Funktionalität der offenbarten Ausführungsformen bereitstellen. Daher sind die vorstehenden Konfigurationen Beispiele, und ungeachtet der oben besprochenen Konfigurationen kann das System 100 einen breiten Bereich von Funktionalität zum Analysieren des Umfelds des Fahrzeugs 200 und Navigieren des Fahrzeugs 200 als Reaktion auf die Analyse bereitstellen.
  • Wie unten ausführlicher besprochen, und in Übereinstimmung mit verschiedenen offenbarten Ausführungsformen, kann das System 100 eine Vielfalt von Merkmalen in Bezug auf autonomes Fahren und/oder Fahrerassistenztechnologie bereitstellen. Beispielsweise kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Standortinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von Sensoren, die im Fahrzeug 200 enthalten sind, analysieren. Das System 100 kann die Daten zur Analyse von zum Beispiel der Bildgewinnungseinheit 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 gewisse Handlung vornehmen sollte oder nicht, und dann automatisch die bestimmte Handlung ohne menschliche Intervention vornehmen. Wenn das Fahrzeug 200 zum Beispiel ohne menschliche Intervention navigiert, kann das System 100 automatisch die Bremsung, Beschleunigung und/oder Lenkung des Fahrzeugs 200 steuern (z. B. durch Senden von Steuersignalen zu einem oder mehreren des Drosselsystems 220, des Bremssystems 230 und des Lenksystems 240). Ferner kann das System 100 die gesammelten Daten analysieren und Warnungen und/oder Alarme zu Fahrzeuginsassen basierend auf der Analyse der gesammelten Daten ausgeben. Zusätzliche Einzelheiten bezüglich der verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, sind unten bereitgestellt.
  • Nach vorne gerichtetes Multibildgebungssystem
  • Wie oben besprochen, kann das System 100 Fahrassistenzfunktionalität bereitstellen, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann ein oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs zeigen. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras beinhalten, die zu der Seite eines Fahrzeugs oder zu der Rückseite des Fahrzeugs zeigen. 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 oder kleiner als das Sichtfeld der zweiten Kamera ist oder dieses teilweise überlappt. Zusätzlich kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine Monokularbildanalyse von Bildern durchzuführen, die durch die erste Kamera bereitgestellt werden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine Monokularbildanalyse von Bildern durchzuführen, die durch die zweite 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 von sowohl der ersten Kamera als auch der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Dreikamera-Bildgebungssystem verwenden, bei dem jede der Kameras ein unterschiedliches Sichtfeld aufweist. Ein solches System kann daher Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die sich bei variierenden Distanzen sowohl vor als auch an den Seiten des Fahrzeugs befinden. Bezüge auf eine Monokularbildanalyse können sich auf Instanzen beziehen, bei denen eine Bildanalyse basierend auf Bildern durchgeführt wird, die von einem einzelnen Sichtpunkt (z. B. von einer einzelnen Kamera) aus aufgenommen werden. Eine Stereobildanalyse kann sich auf Instanzen beziehen, bei der eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bilderfassungsparameters aufgenommen werden. Beispielsweise können erfasste Bilder, die zum Durchführen einer Stereobildanalyse geeignet sind, Bilder beinhalten, die erfasst werden: von zwei oder mehr unterschiedlichen Positionen, von unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Informationen zur Parallaxe usw.
  • Beispielsweise kann das System 100 in einer Ausführungsform eine Dreikamerakonfiguration 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 werden, 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 werden) 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 werden). In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 126 als eine Haupt- oder Primärkamera agieren. Die Bilderfassungsvorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 und im Wesentlichen Seite an Seite (z. B. 6 cm voneinander entfernt) positioniert sein. Ferner können in einigen Ausführungsformen, wie oben besprochen, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 befestigt sein, der mit der Windschutzscheibe des Fahrzeugs 200 bündig ist. Eine solche Abschirmung kann agieren, um die Auswirkung jeglicher Reflexionen von innerhalb des Autos auf die Bilderfassungsvorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform, wie oben in Verbindung mit 3B und 3C besprochen, kann die Kamera mit breitem Sichtfeld (z. B. Bilderfassungsvorrichtung 124 in dem obigen Beispiel) niedriger als die Kameras mit schmalem Sichtfeld und Hauptsichtfeld (z. B. Bildvorrichtungen 122 und 126 in dem obigen Beispiel) befestigt sein. 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 befestigt sein und können Polarisatoren an den Kameras beinhalten, um reflektiertes Licht abzuschwächen.
  • Ein Dreikamerasystem kann gewisse Leistungsfähigkeitscharakteristiken bereitstellen. Beispielsweise können einige Ausführungsformen eine Fähigkeit zum Validieren der Detektion von Objekten durch eine Kamera basierend auf Detektionsergebnissen von einer anderen Kamera beinhalten. In der oben besprochenen Dreikamerakonfiguration kann die Verarbeitungseinheit 110 zum Beispiel drei Verarbeitungsvorrichtungen (z. B. drei Prozessorchips der EyeQ-Reihe, wie oben besprochen) beinhalten, wobei jede Verarbeitungsvorrichtung der Verarbeitung von Bildern dediziert ist, die durch eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden.
  • In einem Dreikamerasystem kann eine erste Verarbeitungsvorrichtung Bilder von sowohl der Hauptkamera als auch der Kamera mit schmalem Sichtfeld empfangen und eine Visionsverarbeitung der Kamera mit schmalem FOV durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Spurmarkierungen, Verkehrsschilder, Ampeln und andere Straßenobjekte zu detektieren. Ferner kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern von der Hauptkamera und der Schmalkamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erzeugen. 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 Visionsverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Spurmarkierungen, Verkehrsschilder, Ampeln und andere Straßenobjekte zu detektieren. 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 erzeugen (z. B. eine Structure from Motion (Struktur aus Bewegung)). Die zweite Verarbeitungsvorrichtung kann die Structure from Motion basierend auf der 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, damit sie mit den Stereo-3D-Bildern kombiniert wird.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der Kamera mit breitem FOV empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Spurmarkierungen, Verkehrsschilder, Ampeln und andere Straßenobjekte zu detektieren. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen zum Analysieren von Bildern ausführen, um Objekte zu identifizieren, die sich im Bild bewegen, wie etwa Fahrzeuge, die die Spur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen kann das unabhängige Erfassen und Verarbeiten von Strömen bildbasierter Informationen eine Möglichkeit zum Bereitstellen von Redundanz im System bereitstellen. Eine solche Redundanz kann zum Beispiel das Verwenden einer ersten Bilderfassungsvorrichtung und der Bilder, die von dieser Vorrichtung verarbeitet werden, beinhalten, um Informationen zu validieren und/oder zu ergänzen, die durch das Erfassen und Verarbeiten von Bildinformationen von zumindest einer zweiten Bilderfassungsvorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122 und 124) bei der Bereitstellung von Navigationsassistenz für das Fahrzeug 200 verwenden und eine dritte Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 126) verwenden, um Redundanz bereitzustellen und die Analyse von Daten, die von den anderen zwei Bilderfassungsvorrichtungen empfangen werden, zu validieren. Beispielsweise können in einer solchen Konfiguration die Bilderfassungsvorrichtungen 122 und 124 Bilder zur Stereoanalyse durch das System 100 zum Navigieren des Fahrzeugs 200 bereitstellen, während die Bilderfassungsvorrichtung 126 Bilder zur Monokularanalyse 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 erfasst werden. Das heißt, die Bilderfassungsvorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als ein redundantes Untersystem zum Bereitstellen einer Prüfung der von den Bilderfassungsvorrichtungen 122 und 124 abgeleiteten Analyse bereitstellend angesehen werden (um z. B. ein automatisches Notbremssystem (AEB-System) bereitzustellen). Ferner können in einigen Ausführungsformen Redundanz und Validierung empfangener Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren empfangen werden (z. B. Radar, Lidar, akustischen Sensoren, Informationen, die von einem oder mehreren Sendeempfängern außerhalb eines Fahrzeugs empfangen werden, usw.).
  • Ein Fachmann auf dem Gebiet wird erkennen, dass die obigen Kamerakonfigurationen, Kameraplatzierungen, Anzahl von Kameras, Kameraorte usw. nur Beispiele sind. Diese Komponenten und andere, die relativ zu dem Gesamtsystem beschrieben sind, können auf eine Vielfalt unterschiedlicher Konfigurationen zusammengesetzt und verwendet werden, ohne vom Schutzumfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten bezüglich der Verwendung eines Mehrkamerasystems zum Bereitstellen von Fahrerassistenz- und/oder autonomer Fahrzeugfunktionalität folgen nachstehend.
  • 4 ist ein beispielhaftes Funktionsblockdiagramm des Speichers 140 und/oder 150, in denen Anweisungen zum Durchführen einer oder mehrerer Operationen gespeichert sind, in Übereinstimmung mit den offenbarten Ausführungsformen. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann auf dem Gebiet erkennen, dass die Anweisungen im Speicher 140 und/oder 150 gespeichert sein können.
  • Wie in 4 gezeigt, kann der Speicher 140 ein Monokularbildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf irgendeine bestimmte Konfiguration des Speichers 140 beschränkt. Ferner können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die Anweisungen ausführen, die in irgendeinem der im Speicher 140 enthaltenen Module 402, 404, 406 und 408 gespeichert sind. Ein Fachmann auf dem Gebiet wird verstehen, dass sich Bezüge in der folgenden Besprechung auf die Verarbeitungseinheit 110 auf den Anwendungsprozessor 180 und den Bildprozessor 190 individuell oder kollektiv beziehen können. Dementsprechend können Schritte von beliebigen der folgenden Prozesse durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das Monokularbildanalysemodul 402 Anweisungen (wie etwa Computervisionssoftware) speichern, die, wenn sie durch die Verarbeitungseinheit 110 ausgeführt werden, eine Monokularbildanalyse eines Satzes von Bildern durchführen, die durch eine der Bilderfassungsvorrichtungen 122, 124 und 126 gewonnen werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen vom Radar, Lidar usw.) kombinieren, um die Monokularbildanalyse durchzuführen. Wie in Verbindung mit 5A - 5D unten beschrieben, kann das Monokularbildanalysemodul 402 Anweisungen zum Detektieren eines Satzes von Merkmalen innerhalb des Satzes von Bildern beinhalten, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, gefährliche Objekte und beliebige andere Merkmale, die mit einer Umgebung eines Fahrzeugs assoziiert sind. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie etwa eine Abbiegung, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 besprochen.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie etwa Computervisionssoftware) speichern, die, wenn sie durch die Verarbeitungseinheit 110 ausgeführt werden, eine Stereobildanalyse eines ersten und zweiten Satzes von Bildern durchführen, die durch eine Kombination der Bilderfassungsvorrichtungen gewonnen werden, die aus beliebigen der Bilderfassungsvorrichtungen 122, 124 und 126 ausgewählt werden. 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 vom 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 durch die Bilderfassungsvorrichtung 124 gewonnen werden, und einem zweiten Satz von Bildern, die durch die Bilderfassungsvorrichtung 126 gewonnen werden, beinhalten. Wie in Verbindung mit 6 unten beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Detektieren eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern beinhalten, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, gefährlichen Objekten und dergleichen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie etwa eine Abbiegung, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 besprochen. Ferner kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System assoziiert sind, wie etwa einem System, das dazu ausgelegt sein kann, Computervisionsalgorithmen zu verwenden, um Objekte in einer Umgebung, aus der sensorisch Informationen erfasst und verarbeitet wurden, zu detektieren und/oder zu labeln. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule dazu ausgelegt sein, eine Kombination eines trainierten und untrainierten Systems zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die dazu ausgelegt ist, Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die dazu ausgelegt sind, eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu bewirken. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die mit dem Geschwindigkeits- und Beschleunigungsmodul 406 assoziiert sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können zum Beispiel eine Zielposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem naheliegenden Fahrzeug, Fußgänger oder Straßenobjekt, Positionsinformationen für das Fahrzeug 200 relativ zu Spurmarkierungen der Straße und dergleichen beinhalten. Zusätzlich kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf einer sensorischen Eingabe (z. B. Informationen vom Radar) und einer Eingabe von anderen Systemen des Fahrzeugs 200, wie etwa 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 zu dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200 übertragen, um eine Änderung der Geschwindigkeit und/oder Beschleunigung durch zum Beispiel physisches Betätigen der Bremse oder behutsames Kommenlassen des Gaspedals des Fahrzeugs 200 auszulösen.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können Positions- und Geschwindigkeitsinformationen, die mit naheliegenden Fahrzeugen, Fußgängern und Straßenobjekten assoziiert sind, Zielpositionsinformationen für das Fahrzeug 200 und dergleichen beinhalten. Zusätzlich kann die Navigationsreaktion in einigen Ausführungsformen (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, die aus der Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 detektiert werden, basieren. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf einer sensorischen Eingabe (z. B. Informationen vom Radar) und einer Eingabe von anderen Systemen des Fahrzeugs 200, wie etwa 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 zu dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion zum Beispiel durch Drehen des Lenkrades des Fahrzeugs 200 auslösen, um eine Drehung mit einem vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als eine Eingabe zur Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zum Berechnen einer Änderung der Geschwindigkeit des Fahrzeugs 200 verwenden.
  • Ferner können beliebige der hierin offenbarten Module (z. B. Module 402, 404 und 406) Techniken implementieren, die mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System assoziiert sind.
  • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Monokularbildanalyse zeigt, in Übereinstimmung 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 Bildgewinnungseinheit 120 empfangen. Beispielsweise kann eine Kamera, die in der Bildgewinnungseinheit 120 enthalten ist (wie etwa die Bilderfassungsvorrichtung 122 mit dem Sichtfeld 202) eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder zum Beispiel an den Seiten oder der Rückseite eines Fahrzeugs) erfassen und sie über eine Datenverbindung (z. B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) zu der Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 402 ausführen, um die Vielzahl von Bildern bei Schritt 520 zu analysieren, wie in Verbindung mit 5B - 5D unten ausführlicher beschrieben. Durch das Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern detektieren, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das Monokularbildanalysemodul 402 ausführen, um verschiedene Straßengefahren bei Schritt 520 zu detektieren, wie etwa zum Beispiel Teile eines LKW-Reifens, umgefallene Straßenschilder, lose Fracht, kleine Tiere und dergleichen. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Detektion solcher Gefahren herausfordernder macht. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das Monokularbildanalysemodul 402 ausführen, um eine Multiframeanalyse an der Vielzahl von Bildern zum Detektieren von Straßengefahren durchzuführen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Bildframes schätzen und die Disparitäten in Pixeln zwischen den Frames berechnen, um eine 3D-Karte der Straße zu konstruieren. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren, die über der Straßenoberfläche vorhanden sind, zu detektieren.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der bei Schritt 520 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben, zu bewirken. Navigationsreaktionen können zum Beispiel ein Abbiegung, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, verwenden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, sequenziell oder eine beliebige Kombination davon stattfinden. Beispielsweise kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 in eine nebenliegende Spur wechselt und dann beschleunigt, indem zum Beispiel Steuersignale zu dem Lenksystem 240 und dem Drosselsystem 220 des Fahrzeugs 200 sequenziell übertragen werden. Alternativ kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 bremst, während es zur gleichen Zeit die Spur wechselt, indem zum Beispiel Steuersignale zu dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200 gleichzeitig übertragen werden.
  • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 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 repräsentieren. Beispielsweise kann die Verarbeitungseinheit 110 ein oder mehrere Bilder scannen, die Bilder mit einem oder mehreren vorbestimmten Mustern vergleichen und innerhalb jedes Bildes mögliche Orte identifizieren, die Objekte von Interesse (z. B. Fahrzeuge, Fußgänger oder Teile davon) enthalten können. Die vorbestimmten Muster können auf eine solche Weise gestaltet sein, dass eine hohe Rate von „falschen Treffern“ und eine geringe Rate von „Fehltreffern“ erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 eine niedrige Ähnlichkeitsschwelle zu vorbestimmten Mustern zum Identifizieren von Kandidatenobjekten als mögliche Fahrzeug oder Fußgänger verwenden. Dadurch kann ermöglicht werden, dass die Verarbeitungseinheit 110 die Möglichkeit des Verfehlens (z. B. Nichtidentifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, reduziert.
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um gewisse Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifikationskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen assoziiert sind, die in einer Datenbank gespeichert sind (z. B. einer Datenbank, die im Speicher 140 gespeichert ist). 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 zu verwerfen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Frames von Bildern analysieren, um zu bestimmen, ob Objekte in dem Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger repräsentieren. Beispielsweise kann die Verarbeitungseinheit 110 ein detektiertes Kandidatenobjekt über aufeinanderfolgende Frames verfolgen und frameweise Daten ansammeln, die mit dem detektierten Objekt assoziiert sind (z. B. Größe, Position relativ zu dem Fahrzeug 200 usw.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das detektierte Objekt schätzen und die frameweisen Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die detektierten Objekte konstruieren. Solche Messungen können zum Beispiel Positions-, Geschwindigkeits- und Beschleunigungswerte (relativ zum Fahrzeug 200) beinhalten, die mit den detektierten Objekten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätztechniken 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 unterschiedliche Objekttypen (z. B. Autos, Lastkraftwagen, Fußgänger, Fahrräder, Straßenschilder usw.) konstruieren. Die Kalman-Filter können auf einer Messung eines Maßstabs des Objekts basieren, wobei die Maßstabsmessung proportional zu einer Zeit zur Kollision ist (z. B. die Menge an Zeit für das Fahrzeug 200 zum Erreichen des Objekts). Somit kann die Verarbeitungseinheit 110 durch das Durchführen der Schritte 540 - 546 Fahrzeuge und Fußgänger, die innerhalb des Satzes von erfassten Bildern auftreten, identifizieren und Informationen (z. B. Position, Geschwindigkeit, Größe), die mit den Fahrzeugen und Fußgängern assoziiert sind, ableiten. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie in Verbindung mit 5A oben beschrieben.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse eines oder mehrerer Bilder durchführen, um die Wahrscheinlichkeit des Detektierens eines „falschen Treffers“ und Verfehlens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, zu reduzieren. Die optische Flussanalyse kann sich zum Beispiel auf das Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in dem einen oder den mehreren Bildern, die mit anderen Fahrzeugen und Fußgängern assoziiert sind, und die von der Straßenoberflächenbewegung verschieden sind, beziehen. Die Verarbeitungseinheit 110 kann die Bewegung der Kandidatenobjekte durch Beobachten der unterschiedlichen Positionen der Objekte über mehrere Bildframes hinweg, die zu unterschiedlichen Zeiten erfasst werden, berechnen. 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 Detektieren von Fahrzeugen und Fußgängern, die sich in der Nähe des Fahrzeugs 200 befinden, bereitstellen. Die Verarbeitungseinheit 110 kann die optische Flussanalyse in Kombination mit den Schritten 540 - 546 durchführen, um Redundanz zum Detektieren von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Detektieren von Straßenmarkierungen und/oder Spurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 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 detektieren. Um Segmente von Spurmarkierungen, Spurgeometrieinformationen und anderen zweckdienlichen Straßenmarkierungen zu detektieren, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um jene auszuschließen, die als irrelevant bestimmt werden (z. B. kleinere Schlaglöcher, kleine Steine usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 detektierten Segmente, die zu derselben Straßenmarkierung oder Spurmarkierung gehören, zusammengruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell zum Repräsentieren der detektierten Segmente entwickeln, wie etwa ein mathematisches Modell.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen konstruieren, die mit den detektierten Segmenten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der detektierten Segmente von der Bildebene auf die Ebene der realen Welt erzeugen. Die Projektion kann unter Verwendung eines Polynoms 3. Grades charakterisiert werden, das Koeffizienten aufweist, die physischen Eigenschaften entsprechen, wie etwa die Position, die Steigung, die Krümmung und die 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, die mit dem Fahrzeug 200 assoziiert sind, durch Verfolgen eines Satzes von Merkmalspunkten in dem einen oder den mehreren Bildern schätzen.
  • Bei Schritt 556 kann die Verarbeitungseinheit 110 eine Multiframeanalyse zum Beispiel durch Verfolgen der detektierten Segmente über aufeinanderfolgende Bildframes hinweg und Ansammeln von frameweisen Daten, die mit den detektierten Segmenten assoziiert sind, durchführen. Während die Verarbeitungseinheit 110 die Multiframeanalyse durchführt, kann der Satz von Messungen, der bei Schritt 554 konstruiert wird, zuverlässiger und mit einem zunehmend höheren Konfidenzniveau assoziiert werden. Somit kann die Verarbeitungseinheit 110 durch das Durchführen der Schritte 550, 552, 554 und 556 Straßenmarkierungen, die innerhalb des Satzes von erfassten Bildern auftreten, identifizieren und Spurgeometrieinformationen ableiten. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie in Verbindung mit 5A oben beschrieben.
  • Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen in Betracht ziehen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seines Umfelds zusätzlich zu entwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 eine autonome Steuerung des Fahrzeugs 200 auf eine sichere Art und 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, die aus Kartendaten extrahiert werden (wie etwa Daten aus der Kartendatenbank 160), berücksichtigen. Durch das Berücksichtigen zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz zum Detektieren von Straßenmarkierungen und Spurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess 500D zum Detektieren von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 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 auftreten, die wahrscheinlich Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu konstruieren, ausschließlich jener Objekte, die unwahrscheinlich Ampeln entsprechen. Die Filterung kann basierend auf verschiedenen Eigenschaften durchgeführt werden, die mit Ampeln assoziiert sind, wie etwa Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrsregelungssignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Multiframeanalyse an dem Satz von Kandidatenobjekten, die mögliche Ampeln widerspiegeln, durchführen. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildframes hinweg verfolgen, die reale Position der Kandidatenobjekte schätzen und jene Objekte herausfiltern, die sich bewegen (die unwahrscheinlich Ampeln sind). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen und die relative Position der detektierten Farben, die in möglichen Ampeln auftreten, identifizieren.
  • 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 Spuren, die auf jeder Seite des Fahrzeugs 200 detektiert werden, (ii) Markierungen (wie etwa Pfeilmarkierungen), die auf der Straße detektiert werden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten extrahiert werden (wie etwa Daten aus der Kartendatenbank 160). Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des Monokularanalysemoduls 402 abgeleitet werden. Zusätzlich kann die Verarbeitungseinheit 110 eine Korrespondenz zwischen den bei Schritt 560 detektierten Ampeln und den Spuren, die in der Nähe des Fahrzeugs 200 auftreten, bestimmen.
  • Während das Fahrzeug 200 sich der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 das Konfidenzniveau, das mit der analysierten Kreuzungsgeometrie und den detektierten Ampeln assoziiert ist, aktualisieren. Beispielsweise kann die Anzahl von Ampeln, die als an der Kreuzung auftretend geschätzt wird, im Vergleich zu der Anzahl von tatsächlich an der Kreuzung auftretenden das Konfidenzniveau beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf dem Konfidenzniveau die Steuerung zu dem Fahrer des Fahrzeugs 200 übergeben, um Sicherheitsbedingungen zu verbessern. Durch das Durchführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln, die innerhalb des Satzes von erfassten Bildern auftreten, identifizieren und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifikation und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie in Verbindung mit 5A oben beschrieben.
  • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E zum Bewirken einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 basierend auf einem Fahrzeugpfad zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugpfad konstruieren, der mit dem Fahrzeug 200 assoziiert ist. Der Fahrzeugpfad kann unter Verwendung eines Satzes von Punkten repräsentiert werden, die in Koordinaten (x, z) ausgedrückt werden, und der Abstand di zwischen zwei Punkten im Satz von Punkten kann in den Bereich von 1 bis 5 Meter fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugpfad unter Verwendung von zwei Polynomen konstruieren, wie etwa ein linkes und rechtes Straßenpolynom. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den beiden Polynomen berechnen und jeden Punkt, der in dem resultierenden Fahrzeugpfad enthalten ist, um einen vorbestimmten Versatz (z. B. einen intelligenten Spurversatz) versetzen, wenn überhaupt (ein Versatz von Null kann der Fahrt in der Mitte einer Spur entsprechen). Der Versatz kann in eine Richtung senkrecht zu einem Segment zwischen beliebigen zwei Punkten im Fahrzeugpfad liegen. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Spurbreite verwenden, um jeden Punkt des Fahrzeugpfades um die Hälfte der geschätzten Spurbreite plus einem vorbestimmten Versatz (z. B. einem intelligenten Spurversatz) zu versetzen.
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 den bei Schritt 570 konstruierten Fahrzeugpfad aktualisieren. Die Verarbeitungseinheit 110 kann den bei Schritt 570 konstruierten Fahrzeugpfad unter Verwendung einer höheren Auflösung rekonstruieren, sodass der Abstand dk zwischen zwei Punkten in dem Satz von Punkten, die den Fahrzeugpfad repräsentieren, kleiner als der oben beschriebene Abstand di ist. Beispielsweise kann der Abstand dk in den Bereich von 0,1 bis 0,3 Meter fallen. Die Verarbeitungseinheit 110 kann den Fahrzeugpfad unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S ergeben kann, der der Gesamtlänge des Fahrzeugpfades entspricht (d. h. basierend auf dem Satz von Punkten, die den Fahrzeugpfad repräsentieren).
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl)) basierend auf dem bei Schritt 572 konstruierten aktualisierten Fahrzeugpfad bestimmen. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann mit einer Vorausschaudistanz und einer Vorausschauzeit assoziiert sein. Die Vorausschaudistanz, die eine Untergrenze im Bereich von 10 bis 20 Meter aufweisen kann, kann als das Produkt der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Beispielsweise kann die Vorausschaudistanz, während die Geschwindigkeit des Fahrzeugs 200 abnimmt, auch abnehmen (z. B. bis sie die Untergrenze erreicht). Die Vorausschauzeit, die in einem Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zu der Verstärkung einer oder mehrerer Regelschleifen sein, die mit dem Bewirken einer Navigationsreaktion im Fahrzeug 200 assoziiert ist, wie etwa der Steuerkursfehlerverfolgungsregelschleife. Beispielsweise kann die Verstärkung der Steuerkursfehlerverfolgungsregelschleife von der Bandbreite einer Gierratenschleife, einer Lenkaktorschleife, lateralen Autodynamiken und dergleichen abhängen. Je höher die Verstärkung der Steuerkursfehlerverfolgungsregelschleife ist, desto niedriger ist somit die Vorausschauzeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Steuerkursfehler- und Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Verarbeitungseinheit 110 kann den Steuerkursfehler durch Berechnen des Arkustangens des Vorschaupunkts bestimmen, z. B. arctan (xl/ zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Steuerkursfehlers und einer High-Level-Regelverstärkung bestimmen. Die High-Level-Regelverstärkung kann gleich (2 / Vorausschauzeit) sein, falls sich die Vorausschaudistanz nicht an der Untergrenze befindet. Ansonsten kann die High-Level-Regelverstärkung gleich (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschaudistanz) sein.
  • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen zeigt, ob ein führendes Fahrzeug die Spur wechselt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die mit einem führenden Fahrzeug assoziiert sind (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt). Beispielsweise kann die Verarbeitungseinheit 110 die Position, die vektorielle Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder die Beschleunigung des führenden Fahrzeugs unter Verwendung der in Verbindung mit 5A und 5B oben beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (der mit dem Fahrzeug 200 assoziiert ist) und/oder eine Schneckenspur (Snail Trail) (z. B. einen Satz von Punkten, die einen vom führenden Fahrzeug genommenen Pfad beschreiben) unter Verwendung der in Verbindung mit 5E unten beschriebenen Techniken bestimmen.
  • Bei Schritt 582 kann die Verarbeitungseinheit 110 die bei Schritt 580 bestimmten Navigationsinformationen analysieren. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einer Schneckenspur und einem Straßenpolynom (z. B. entlang der Schneckenspur) berechnen. Falls die Varianz dieses Abstands entlang der Schneckenspur eine vorbestimmte Schwelle überschreitet (zum Beispiel 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer etwas kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt. In dem Fall, bei dem mehrere vor dem Fahrzeug 200 fahrende Fahrzeuge detektiert werden, kann die Verarbeitungseinheit 110 die mit jedem Fahrzeug assoziierten Schneckenspuren vergleichen. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeug übereinstimmt, wahrscheinlich die Spur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (die mit dem führenden Fahrzeug assoziiert ist) mit der erwarteten Krümmung des Straßensegments, auf dem das führende Fahrzeug fährt, vergleichen. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus Schneckenspuren anderer Fahrzeuge, aus vorherigem Wissen über die Straße und dergleichen extrahiert werden. Falls die Differenz der Krümmung der Schneckenspur und der erwarteten Krümmung des Straßensegments eine vorbestimmte Schwelle überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des führenden Fahrzeugs mit dem Vorausschaupunkt (der mit dem Fahrzeug 200 assoziiert ist) über einen spezifischen Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Falls der Abstand zwischen der momentanen Position des führenden Fahrzeugs und dem Vorausschaupunkt während des spezifischen Zeitraums variiert und die kumulative Summe der Variation eine vorbestimmte Schwelle überschreitet (zum Beispiel 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer etwas kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur durch Vergleichen der lateralen Distanz, die entlang der Schneckenspur gefahren wird, mit der erwarteten Krümmung der Schneckenspur analysieren. Der erwartete Krümmungsradius kann gemäß der folgenden Berechnung bestimmt werden: (δz 2 + δz 2) / 2 / (δx), wobei δx die gefahrene laterale Distanz repräsentiert und δz die gefahrene longitudinale Distanz repräsentiert. Falls die Differenz zwischen der gefahrenen lateralen Distanz und der erwarteten Krümmung eine vorbestimmte Schwelle überschreitet (z. B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des führenden Fahrzeugs analysieren. Falls die Position des führenden Fahrzeugs ein Straßenpolynom verdeckt (z. B. liegt das führende Fahrzeug auf dem Straßenpolynom), dann kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt. In dem Fall, bei dem die Position des führenden Fahrzeugs derart ist, dass ein anderes Fahrzeug vor dem führenden Fahrzeug detektiert wird und die Schneckenspuren der beiden Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) führende Fahrzeug wahrscheinlich die Spur wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das führende Fahrzeug 200 die Spur wechselt oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Durchschnitt der bei Schritt 582 durchgeführten individuellen Analysen vornehmen. Unter einem solchen Schema kann zum Beispiel einer Entscheidung durch die Verarbeitungseinheit 110, dass das führende Fahrzeug wahrscheinlich die Spur wechselt, basierend auf einer bestimmten Art von Analyse ein Wert von „1“ zugewiesen werden (und „0“ repräsentiert eine Bestimmung, dass das führende Fahrzeug wahrscheinlich nicht die Spur wechselt). Unterschiedlichen Analysen, die bei Schritt 582 durchgeführt werden, können unterschiedliche Gewichtungen zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf irgendeine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bildgewinnungseinheit 120 enthalten sind (wie etwa die Bilderfassungsvorrichtungen 122 und 124 mit Sichtfeldern 202 und 204) eine erste und zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 erfassen und sie über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) zu der 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 irgendwelche bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildanalyse der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erzeugen und Merkmale in den Bildern zu detektieren, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Stereobildanalyse kann auf eine ähnliche Weise wie die in Verbindung mit 5A - 5D oben beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Straßengefahren usw.) in der ersten und zweiten Vielzahl von Bildern zu detektieren, einen Teilsatz der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und eine Multiframeanalyse durchzuführen, Messungen zu konstruieren und ein Konfidenzniveau für die verbleibenden Kandidatenobjekte zu bestimmen. Bei der Durchführung der obigen Schritte kann die Verarbeitungseinheit 110 Informationen von sowohl der ersten als auch zweiten Vielzahl von Bildern berücksichtigen, anstatt Informationen von einem Satz von Bildern alleine. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilsätzen aus den beiden Strömen von erfassten Bildern) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch zweiten Vielzahl von Bildern vorkommt. Als ein anderes Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder eine Geschwindigkeit eines Kandidatenobjekts (z. B. relativ zu dem Fahrzeug 200) schätzen, indem beobachtet wird, dass das Objekt in einer der Vielzahl von Bildern, aber nicht in der anderen vorkommt, oder relativ zu anderen Unterschieden, die relativ zu Objekten existieren können, die in den beiden Bildströmen vorkommen. Beispielsweise können die Position, die Geschwindigkeit und/oder die Beschleunigung relativ zu dem 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 vorkommt.
  • Bei Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der bei Schritt 620 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben, zu bewirken. Navigationsreaktionen können zum Beispiel eine Abbiegung, einen Spurwechsel, eine Änderung der Beschleunigung, eine Änderung der Geschwindigkeit, Bremsung und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, verwenden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, sequenziell oder eine beliebige Kombination davon stattfinden.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bildgewinnungseinheit 120 enthalten sind (wie etwa die Bilderfassungsvorrichtungen 122, 124 und 126 mit Sichtfeldern 202, 204 und 206) eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor dem und/oder an der Seite des Fahrzeugs 200 erfassen und sie über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) zu der 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. Beispielsweise kann jede der Bilderfassungsvorrichtungen 122, 124, 126 eine assoziierte Datenschnittstelle zum Kommunizieren von Daten zu der Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf irgendwelche 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 detektieren, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Analyse kann auf eine ähnliche Weise wie die in Verbindung mit 5A - 5D und 6 oben beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 eine Monokularbildanalyse (z. B. über die Ausführung des Monokularbildanalysemoduls 402 und basierend auf den in Verbindung mit 5A - 5D oben beschriebenen Schritten) an jeder der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404 und basierend auf den in Verbindung mit 6 oben 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 entsprechend der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von Molekular- und Stereobildanalysen durchführen. Beispielsweise kann die Verarbeitungseinheit 110 eine Monokularbildanalyse (z. B. über die Ausführung des Monokularbildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereobildanalyse (z. B. über die Ausführung der Stereobildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Standorte 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, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden, beschränkt.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Prüfung am System 100 basierend auf den Bildern durchführen, die bei den Schritten 710 und 720 gewonnen und analysiert werden. Eine solche Prüfung kann einen Indikator der Gesamtleistungsfähigkeit des Systems 100 für gewisse Konfigurationen der Bilderfassungsvorrichtungen 122, 124 und 126 bereitstellen. Beispielsweise kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fälle, bei denen das System 100 fehlerhaft das Vorhandensein eines Fahrzeugs oder Fußgängers bestimmte) und „Fehltreffern“ bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 ein oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen bewirken, 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 etwa zum Beispiel der Anzahl, den Typen und Größen von Objekten, die in jeder der Vielzahl von Bildern detektiert werden. Die Verarbeitungseinheit 110 kann auch die Auswahl basierend auf der Bildqualität und -auflösung, dem effektiven Sichtfeld, das in den Bildern widergespiegelt wird, der Anzahl von aufgenommenen Frames, dem Ausmaß, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Frames vorkommen (z. B. der Prozentsatz von Frames, in denen ein Objekt vorkommt, der Anteil des Objekts, der in einem jeden solchen Frame vorkommt, usw.) und dergleichen vornehmen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, durch Bestimmen des Ausmaßes, zu dem Informationen, die von einer Bildquelle abgeleitet werden, mit Informationen konsistent sind, die von anderen Bildquellen abgeleitet werden, auswählen. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 abgeleitet werden (egal, ob durch Monokularanalyse, Stereoanalyse oder irgendeine Kombination der beiden), kombinieren und die visuellen Angaben (z. B. Spurmarkierungen, ein detektiertes Fahrzeug und sein Standort und/oder Pfad, eine detektierte Ampel usw.) bestimmen, die über die Bilder hinweg konsistent sind, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die nicht über die erfassten Bilder hinweg konsistent sind (z. B. ein Fahrzeug, das die Spur wechselt, ein Spurmodell, das angibt, dass sich ein Fahrzeug zu nahe an dem 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 von konsistenten und nicht konsistenten Informationen auswählen.
  • Navigationsreaktionen können zum Beispiel eine Abbiegung, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen beinhalten. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der bei Schritt 720 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben, bewirken. Die Verarbeitungseinheit 110 kann auch Daten, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, verwenden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, einer relativen Geschwindigkeit und/oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das in einer beliebigen der ersten, zweiten und dritten Vielzahl von Bildern detektiert wird, bewirken. Mehrere Navigationsreaktionen können gleichzeitig, sequenziell oder eine beliebige Kombination davon stattfinden.
  • Dünnbesetztes Straßenmodell zur autonomen Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zur autonomen Fahrzeugnavigation verwenden. Insbesondere kann die dünnbesetzte Karte zur autonomen Fahrzeugnavigation entlang eines Straßensegments vorliegen. Beispielsweise kann die dünnbesetzte Karte ausreichende Informationen zum Navigieren eines autonomen Fahrzeugs ohne Speicherung und/oder Aktualisierung einer großen Menge an Daten bereitstellen. Wie unten ausführlich besprochen, 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 zur autonomen Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zur autonomen Fahrzeugnavigation erzeugen. Beispielsweise kann die dünnbesetzte Karte ausreichende Informationen zur Navigation bereitstellen, ohne übermäßige Datenspeicherung oder Datentransferraten zu erfordern. Wie unten ausführlich besprochen, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen zu navigieren. Beispielsweise kann die dünnbesetzte Karte in einigen Ausführungsformen Daten bezüglich einer Straße und potenziellen Landmarken entlang der Straße beinhalten, die für die Fahrzeugnavigation ausreichend sein können, aber die auch kleine Daten-Footprints aufweisen. Beispielsweise können die dünnbesetzten Datenkarten, die unten ausführlich beschrieben sind, erheblich weniger Speicherraum und Datentransferbandbreite im Vergleich zu digitalen Karten erfordern, die detaillierte Karteninformationen beinhalten, wie etwa Bilddaten, die entlang einer Straße gesammelt werden.
  • Anstatt detaillierte Repräsentationen eines Straßensegments zu speichern, kann die dünnbesetzte Datenkarte zum Beispiel dreidimensionale Polynomrepräsentationen bevorzugter Fahrzeugpfade entlang einer Straße speichern. Diese Pfade können sehr wenig Datenspeicherraum erfordern. Ferner können in den beschriebenen dünnbesetzten Datenkarten Landmarken identifiziert und in dem Straßenmodell der dünnbesetzten Karte eingeschlossen werden, um bei der Navigation zu helfen. Diese Landmarken können in beliebigen Abständen angeordnet sein, die sich zur Ermöglichung der Fahrzeugnavigation eignen, aber in manchen Fällen müssen solche Landmarken in dem Modell nicht mit hohen Dichten und kurzen Abständen identifiziert und eingeschlossen werden. Stattdessen kann die Navigation in manchen Fällen basierend auf Landmarken möglich sein, die voneinander um mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer beabstandet sind. Wie in anderen Abschnitten ausführlicher besprochen wird, kann die dünnbesetzte Karte basierend auf Daten erzeugt werden, die durch Fahrzeuge gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bilderfassungsvorrichtungen, Sensoren des globalen Positionierungssystems, Bewegungssensoren usw., während die Fahrzeuge entlang Fahrbahnen 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.
  • In Übereinstimmung mit offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine dünnbesetzte Karte zur Navigation verwenden. Beispielsweise können die offenbarten System und Verfahren eine dünnbesetzte Karte zum Erzeugen eines Autonomes-Fahrzeug-Straßennavigationsmodells verteilen und können ein autonomes Fahrzeug entlang eines Straßensegments unter Verwendung einer dünnbesetzten Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Dünnbesetzte Karten, in Übereinstimmung mit der vorliegenden Offenbarung, können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien repräsentieren können, die autonome Fahrzeuge befahren können, während sie sich entlang assoziierter Straßensegmente bewegen.
  • Dünnbesetzte Karten, in Übereinstimmung mit der vorliegenden Offenbarung, können auch Daten beinhalten, die ein oder mehrere Straßenmerkmale repräsentieren. Solche Straßenmerkmale können erkannte Landmarken, Straßensignaturprofile und beliebige andere straßenbezogene Merkmale beinhalten, die bei der Navigation eines Fahrzeugs nützlich sind. Dünnbesetzte Karten, in Übereinstimmung mit der vorliegenden Offenbarung, können eine autonome Navigation eines Fahrzeugs basierend auf einer relativ kleinen Menge an Daten, die in der dünnbesetzten Karte enthalten sind, ermöglichen. Anstatt detaillierte Repräsentationen einer Straße zu enthalten, wie etwa Straßenränder, Straßenkrümmung, Bilder, die mit Straßensegmenten assoziiert sind, oder Daten, die andere physische Merkmale detailliert beschreiben, die mit einem Straßensegment assoziiert sind, können die offenbarten Ausführungsformen der dünnbesetzten Karte zum Beispiel relativ wenig Speicherraum (und relativ wenig Bandbreite, wenn Abschnitte der dünnbesetzten Karte zu einem Fahrzeug transferiert werden) erfordern, aber können weiterhin adäquat eine autonome Fahrzeugnavigation bereitstellen. Der kleine Daten-Footprint der offenbarten dünnbesetzten Karten, die unten ausführlicher besprochen sind, kann in einigen Ausführungsformen erreicht werden, indem Repräsentationen von straßenbezogenen Elementen gespeichert werden, die kleine Mengen an Daten erfordern, aber weiterhin eine autonome Navigation ermöglichen.
  • Anstatt detaillierte Repräsentationen verschiedener Aspekte einer Straße zu speichern, können die offenbarten dünnbesetzten Karten zum Beispiel Polynomrepräsentationen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Anstatt Details bezüglich der physischen Art der Straße zu speichern (oder transferieren zu müssen), um eine Navigation entlang der Straße zu ermöglichen, kann ein Fahrzeug somit unter Verwendung der offenbarten dünnbesetzten Karten entlang eines bestimmten Straßensegments navigiert werden, ohne in manchen Fällen physische Aspekte der Straße interpretieren zu müssen, sondern indem stattdessen sein Fahrpfad mit einer Trajektorie (z. B. einem Polynomen-Spline) entlang des bestimmten Straßensegments ausgerichtet wird. Auf diese Weise kann das Fahrzeug hauptsächlich basierend auf der gespeicherten Trajektorie (z. B. einem Polynomen-Spline) navigiert werden, die viel weniger Speicherraum erfordern kann als ein Ansatz, der die Speicherung von Fahrbahnbildern, 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 aus einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das durch einen Sensor (z. B. eine Kamera oder einen anderen Sensor, wie etwa einen Aufhängungssensor) an Bord eines Fahrzeugs erhalten wurde, das entlang des Straßensegments fährt. Die digitale Signatur kann relativ zu dem Signal, das durch den Sensor gewonnen wurde, eine reduzierte Größe aufweisen. In einigen Ausführungsformen kann die digitale Signatur so erzeugt werden, dass sie mit einer Klassifiziererfunktion kompatibel ist, die dazu ausgelegt ist, das Straßenmerkmal aus dem Signal zu detektieren und zu identifizieren, das durch den Sensor zum Beispiel während einer anschließenden Fahrt gewonnen wird. In einigen Ausführungsformen kann eine digitale Signatur so erzeugt werden, dass die digitale Signatur einen Footprint 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, falls die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten beinhaltet) des Straßenmerkmals zu korrelieren oder abzugleichen, das durch eine Kamera an Bord eines Fahrzeugs erfasst wird, das zu einer anschließenden Zeit entlang des gleichen Straßensegments fährt.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner mit einer Eindeutigkeit des Straßenmerkmals assoziiert sein. Zum Beispiel 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 einem bestimmten Typ von Straßenmerkmal, zum Beispiel einem Straßenschild, assoziiert zu unterscheiden, und wenn ein solches Straßenschild in diesem Bereich lokal eindeutig ist (z. B. es kein identisches Straßenschild oder kein Straßenschild des gleichen Typs in der Nähe gibt), kann es ausreichend sein, Daten zu speichern, die den Typ des Straßenmerkmals und seinen Standort angeben.
  • Wie unten ausführlicher besprochen wird, können Straßenmerkmale (z. B. Landmarken entlang eines Straßensegments) als kleine Datenobjekte, die ein Straßenmerkmal repräsentieren können, in relativ wenigen Bytes gespeichert werden, während zur gleichen Zeit ausreichend Informationen zum Erkennen und Verwenden eines solchen Merkmals zur Navigation bereitgestellt werden. In einem Beispiel kann ein Straßenschild als eine erkannte Landmarke identifiziert werden, auf der die Navigation eines Fahrzeugs basieren kann. Eine Repräsentation des Straßenschilds kann in der dünnbesetzten Karte gespeichert werden, um z. B. einige wenige Bytes, die eine Art der Landmarke (z. B. ein Stoppschild) angeben, und einige wenige Bytes, die einen Standort der Landmarke angeben (z. B. Koordinaten), einzuschließen. Das Navigieren basierend auf solchen datenleichten Repräsentationen der Landmarken (z. B. unter Verwendung von Repräsentationen, die zum Lokalisieren, Erkennen und Navigieren basierend auf den Landmarken ausreichen) kann ein gewünschtes Niveau von Navigationsfunktionalität bereitstellen, die mit dünnbesetzten Karten assoziiert ist, ohne den Datenaufwand erheblich zu erhöhen, der mit den dünnbesetzten Karten assoziiert ist. Diese abgespeckte Repräsentation von Landmarken (und anderen Straßenmerkmalen) kann die Sensoren und Prozessoren ausnutzen, die an Bord solcher Fahrzeuge enthalten sind, die dazu ausgelegt sind, gewisse Straßenmerkmale zu detektieren, zu identifizieren und/oder zu klassifizieren.
  • Wenn zum Beispiel ein Schild oder sogar ein bestimmter Typ eines Schildes lokal eindeutig (z. B. wenn es kein anderes Schild oder kein anderes Schild des gleichen Typs gibt) in einem gegebenen Gebiet ist, kann die dünnbesetzte Karte Daten verwenden, die einen Typ einer Landmarke (ein Schild oder einen spezifischen Typ von Schild) angeben, und während der Navigation (z. B. autonome Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs einschließlich eines Schildes (oder eines spezifischen Typs von Schildes) aufnimmt, kann der Prozessor das Bild verarbeiten, das Schild (falls es tatsächlich im Bild vorhanden ist) detektieren, das Bild als ein Schild (oder als ein spezifischer Typ von Schild) klassifizieren und den Standort des Bildes mit dem Standort des Schildes, wie in der dünnbesetzten Karte gespeichert, korrelieren.
  • Die dünnbesetzte Karte kann eine beliebige geeignete Repräsentation von Objekten beinhalten, die entlang eines Straßensegments identifiziert werden. In einigen Fällen können die Objekte als semantische Objekte oder nicht semantische Objekte bezeichnet werden. Semantische Objekte können zum Beispiel Objekte beinhalten, die mit einer vorbestimmten Typenklassifikation assoziiert sind. Diese Typenklassifikation kann bei der Reduzierung der Menge an Daten nützlich sein, die zum Beschreiben des semantischen Objekts erforderlich sind, das in einer Umgebung erkannt wird, was sowohl bei der Sammelphase (z. B. um Kosten zu reduzieren, die mit der Bandbreitenverwendung zum Transferieren von Fahrtinformationen von einer Vielzahl von sammelnden Fahrzeugen zu einem Server assoziiert sind) als auch während der Navigationsphase (z. B. Reduktion von Kartendaten kann den Transfer von Kartenkacheln von einem Server zu einem navigierenden Fahrzeug beschleunigen und kann auch Kosten reduzieren, die mit der Bandbreitenverwendung für solche Transfers assoziiert sind) vorteilhaft sein kann. Semantische Objektklassifikationstypen können einem beliebigen Typ von Objekten oder Merkmalen zugewiesen werden, die entlang einer Fahrbahn zu erwarten sind.
  • Semantische Objekte können ferner in zwei oder mehr logische Gruppen unterteilt werden. Beispielsweise kann in einigen Fällen eine Gruppe von semantischen Objekttypen mit vorbestimmten Abmessungen assoziiert sein. Solche semantischen Objekte können gewisse Geschwindigkeitsbegrenzungsschilder, Vorfahrtsschilder, Einfädelungsschilder, Stoppschilder, Ampeln, Richtungspfeile auf einer Fahrbahn, Schachtabdeckungen oder irgendeinen anderen Typ von Objekt beinhalten, das mit einer standardisierten Größe assoziiert ist. Ein Vorteil, der durch solche semantischen Objekte geboten wird, besteht darin, dass möglicherweise sehr wenig Daten erforderlich sind, um die Objekte zu repräsentieren/vollständig zu definieren. Falls beispielsweise eine standardisierte Größe einer Geschwindigkeitsbegrenzungsgröße bekannt ist, dann wird ein sammelndes Fahrzeug möglicherweise nur (über die Analyse eines aufgenommenen Bildes) das Vorhandensein eines Geschwindigkeitsbegrenzungsschildes (ein erkannter Typ) zusammen mit einer Angabe einer Position des detektierten Geschwindigkeitsbegrenzungsschildes (z. B. eine 2D-Position in dem aufgenommenen Bild (oder alternativ eine 3D-Position in realen Koordinaten) einer Mitte des Schildes oder einer bestimmten Ecke des Schildes) identifizieren, um ausreichend Informationen zur Kartenerzeugung auf der Serverseite bereitzustellen. Wenn 2D-Bildpositionen zu dem Server übertragen werden, kann auch eine Position, die mit dem erfassten Bild assoziiert ist, in dem das Schild detektiert wurde, übertragen werden, sodass der Server eine reale Position des Schildes bestimmen kann (z. B. über Structure-in-Motion-Techniken unter Verwendung mehrerer erfasster Bilder von einem oder mehreren sammelnden Fahrzeugen). Selbst mit diesen beschränkten Informationen (die nur einige wenige Bytes erfordern, um jedes detektierte Objekt zu definieren) kann der Server die Karte einschließlich eines vollständig repräsentierten Geschwindigkeitsbegrenzungsschildes basierend auf der Typenklassifikation (die ein Geschwindigkeitsbegrenzungsschild repräsentiert), die von einem oder mehreren sammelnden Fahrzeugen empfangen wird, zusammen mit den Positionsinformationen für das detektierte Schild konstruieren.
  • Semantische Objekte können auch andere erkannte Objekt- oder Merkmalstypen beinhalten, die nicht mit gewissen standardisierten Charakteristiken assoziiert sind. Solche Objekte oder Merkmale können Schlaglöcher, Teernähte, Lampenpfosten, nicht standardisierte Schilder, Bordsteinkanten, Bäume, Äste oder einen beliebigen anderen Typ von erkanntem Objekttyp mit einer oder mehreren variablen Charakteristiken (z. B. variablen Abmessungen) beinhalten. In solchen Fällen kann ein sammelndes Fahrzeug zusätzlich zu dem Übertragen einer Angabe des detektierten Objekt- oder Merkmalstyps (z. B. Schlagloch, Mast usw.) und von Positionsinformationen für das detektierte Objekt oder Merkmal auch eine Angabe einer Größe des Objekts oder Merkmals übertragen. Die Größe kann in 2D-Bilddimensionen (z. B. mit einem Begrenzungsrahmen oder einem oder mehreren Abmessungswerten) oder realen Abmessungen (durch Structure-in-Motion-Berechnungen bestimmt, basierend auf LIDAR- oder RADAR-Systemausgaben, basierend auf Ausgaben eines trainierten neuronalen Netzwerks usw.) ausgedrückt werden.
  • Nicht semantische Objekte oder Merkmale können beliebige detektierbare Objekte oder Merkmale beinhalten, die außerhalb einer erkannten Kategorie oder eines erkannten Typs fallen, aber die weiterhin wertvolle Informationen bei der Kartenerzeugung bereitstellen können. In einigen Fällen können solche nicht semantischen Merkmale eine detektierte Ecke eines Gebäudes oder eine Ecke eines detektierten Fensters eines Gebäudes, einen einzigartigen Stein oder ein einzigartiges Objekt in der Nähe einer Fahrbahn, einen Betonspritzer auf einem Fahrbahnseitenstreifen oder ein beliebiges anderes detektierbares Objekt oder Merkmal beinhalten. Nach dem Detektieren eines solchen Objekts oder Merkmals können ein oder mehrere sammelnde Fahrzeuge einen Standort eines oder mehrerer Punkte (2D-Bildpunkte oder reale 3D-Punkte), die mit dem detektierten Objekt/Merkmal assoziiert sind, zu einem Kartenerzeugungsserver übertragen. Zusätzlich kann ein komprimiertes oder vereinfachtes Bildsegment (z. B. ein Bild-Hash) für ein Gebiet des erfassten Bildes einschließlich des detektierten Objekts oder Merkmals erzeugt werden. Dieses Bild-Hash kann basierend auf einem vorbestimmten Bildverarbeitungsalgorithmus berechnet werden und kann eine effektive Signatur für das detektierte nicht semantische Objekt oder Merkmal bilden. Eine solche Signatur kann für die Navigation bezüglich einer dünnbesetzten Karte, die das nicht semantische Merkmal oder Objekt beinhaltet, nützlich sein, da ein Fahrzeug, dass die Fahrbahn befährt, einen Algorithmus anwenden kann, der dem Algorithmus ähnlich ist, der zum Erzeugen des Bild-Hash verwendet wird, um das Vorhandensein des kartierten nicht semantischen Merkmals oder Objekts in einem erfassten Bild zu bestätigen/zu verifizieren. Unter Verwendung dieser Technik können nicht semantische Merkmale zu der Reichhaltigkeit der dünnbesetzten Karten hinzufügen (um z. B. ihre Nützlichkeit bei der Navigation zu verbessern), ohne erheblichen Datenaufwand hinzuzufügen.
  • Wie angemerkt, können Zieltrajektorien in der dünnbesetzten Karte gespeichert sein. Diese Zieltrajektorien (z. B. 3D-Splines) können die bevorzugten oder empfohlenen Pfade für jede verfügbare Spur einer Fahrbahn, jede zulässige Fahrbahn durch eine Kreuzung, für Einfädelungen und Ausfahrten usw. repräsentieren. Zusätzlich zu Zieltrajektorien kann auch ein anderes Straßenmerkmal detektiert, gesammelt und in die dünnbesetzten Karten in Form von repräsentativen Splines integriert werden. Solche Merkmale können zum Beispiel Straßenränder, Spurmarkierungen, Bordsteinkanten, Leitschienen oder beliebige andere Objekte oder Merkmale beinhalten, die sich entlang einer Fahrbahn oder eines Straßensegments erstrecken.
  • Erzeugen einer dünnbesetzten Karte
  • 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 Landmarken, die mit dem Straßensegment assoziiert sind, beinhalten. In gewissen Aspekten kann die dünnbesetzte Karte über „Crowdsourcing“ erzeugt werden, zum Beispiel über eine Bildanalyse einer Vielzahl von Bildern, die gewonnen werden, während ein oder mehrere Fahrzeuge das Straßensegment befahren.
  • 8 zeigt eine dünnbesetzte Karte 800, auf die ein oder mehrere Fahrzeuge, z. B. Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen können, um eine autonome Fahrzeugnavigation bereitzustellen. Die dünnbesetzte Karte 800 kann in einem Speicher gespeichert sein, wie etwa dem Speicher 140 oder 150. Solche Speichervorrichtungen können beliebige Arten von nichtflüchtigen Speicherungsvorrichtungen oder computerlesbaren Medien beinhalten. In einigen Ausführungsformen kann zum Beispiel der Speicher 140 oder 150 Festplatten, Compact Discs, Flash-Speicher, magnetbasierte Speichervorrichtungen, Speichervorrichtungen auf optischer Basis usw. beinhalten. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Datenbank (z. B. Kartendatenbank 160), die im Speicher 140 oder 150 oder anderen Arten von Speicherungsvorrichtungen gespeichert ist, gespeichert sein.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speicherungsvorrichtung oder einem nichtflüchtigen computerlesbaren Medium gespeichert sein, die/das an Bord des Fahrzeugs 200 bereitgestellt ist (z. B. eine Speicherungsvorrichtung, die in einem Navigationssystem an Bord des Fahrzeugs 200 enthalten ist). Ein Prozessor (z. B. Verarbeitungseinheit 110), der am Fahrzeug 200 bereitgestellt ist, kann auf die dünnbesetzte Karte 800 zugreifen, die in der Speicherungsvorrichtung oder dem computerlesbaren Medium gespeichert ist, die/das an Bord des Fahrzeugs 200 bereitgestellt ist, um Navigationsanweisungen zum Anleiten des autonomen Fahrzeugs 200 zu erzeugen, während das Fahrzeug ein Straßensegment befährt.
  • Die dünnbesetzte Karte 800 muss jedoch nicht lokal bezüglich eines Fahrzeugs gespeichert sein. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speicherungsvorrichtung oder einem computerlesbaren Medium gespeichert sein, die/das auf einem entfernten Server, der mit dem Fahrzeug 200 kommuniziert, oder einer Vorrichtung, die mit dem Fahrzeug 200 assoziiert ist, bereitgestellt ist. Ein Prozessor (z. B. Verarbeitungseinheit 110), der auf dem Fahrzeug 200 bereitgestellt ist, kann Daten, die in der dünnbesetzten Karte 800 enthalten sind, von dem entfernten Server empfangen und die Daten ausführen, um das autonome Fahren des Fahrzeugs 200 anzuleiten. In solchen Ausführungsformen kann der entfernte Server die gesamte dünnbesetzte Karte 800 oder nur einen Teil davon speichern. Dementsprechend kann die Speicherungsvorrichtung oder das computerlesbare Medium, die/das an Bord des Fahrzeugs 200 und/oder an Bord eines oder mehrerer zusätzlicher Fahrzeuge bereitgestellt ist, den einen oder die mehreren verbleibenden Teile der dünnbesetzten Karte 800 speichern.
  • In solchen Ausführungsformen kann die dünnbesetzte Karte 800 ferner für eine Vielzahl von Fahrzeugen verfügbar gemacht werden, die verschiedene Straßensegmente befahren (z. B. Dutzende, Hunderte, Tausende oder Millionen von Fahrzeugen usw.). Es sollte auch angemerkt werden, dass die dünnbesetzte Karte 800 mehrere Teilkarten enthalten kann. Beispielsweise kann die dünnbesetzte Karte 800 in einigen Ausführungsformen Hunderte, Tausende, Millionen oder mehr Teilkarten (z. B. Kartenkacheln) beinhalten, die bei der Navigation eines Fahrzeugs verwendet werden können. Solche Teilkarten können als lokale Karten oder Kartenkacheln bezeichnet werden, und ein Fahrzeug, das entlang einer Fahrbahn fährt, kann auf eine beliebige Anzahl von lokalen Karten zugreifen, die für einen Standort relevant sind, an dem das Fahrzeug fährt. Die lokalen Kartenabschnitte der dünnbesetzten Karte 800 können mit einem Schlüssel eines globalen Satellitennavigationssystems (GNSS) als einen Index in der Datenbank der dünnbesetzten Karte 800 gespeichert werden. Während die Berechnung von Lenkwinkeln zum Navigieren eines Host-Fahrzeugs in dem vorliegenden System durchgeführt werden kann, ohne auf eine GNSS-Position des Host-Fahrzeugs, von Straßenmerkmalen oder Landmarken angewiesen zu sein, können somit solche GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Im Allgemeinen kann die dünnbesetzte Karte 800 basierend auf Daten (z. B. Fahrtinformationen) erzeugt werden, die von einem oder mehreren Fahrzeugen gesammelt werden, während sie entlang Fahrbahnen fahren. Beispielsweise können unter Verwendung von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z. B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungsmesser usw.) die Trajektorien, die das eine oder die mehreren Fahrzeuge entlang einer Fahrbahn fahren, aufgezeichnet werden, und die Polynomrepräsentation einer bevorzugten Trajektorie für Fahrzeuge, die anschließende Reisen entlang der Fahrbahn vornehmen, können basierend auf den gesammelten Trajektorien bestimmt werden, die durch das eine oder die mehreren Fahrzeuge gefahren wurden. Gleichermaßen können Daten, die durch das eine oder die mehreren Fahrzeuge gesammelt werden, bei der Identifizierung potenzieller Landmarken entlang einer bestimmten Fahrbahn helfen. Daten, die von fahrenden Fahrzeugen gesammelt werden, können auch verwendet werden, um Straßenprofilinformationen zu identifizieren, wie etwa Straßenbreitenprofile, Straßenunebenheitsprofile, Verkehrslinienabstandsprofile, Straßenzustände usw. Unter Verwendung der gesammelten Informationen kann die dünnbesetzte Karte 800 zur Verwendung bei der Navigation eines oder mehrerer autonomer Fahrzeuge erzeugt und verteilt (z. B. an die lokale Speicherung oder über On-the-Fly-Datenübertragung) werden. In einigen Ausführungsformen wird die Kartenerzeugung jedoch möglicherweise nicht nach der anfänglichen Erzeugung der Karte enden. Wie unten ausführlicher besprochen wird, kann die dünnbesetzte Karte 800 kontinuierlich oder periodisch basierend auf Daten aktualisiert werden, die von Fahrzeugen gesammelt werden, während diese Fahrzeuge damit fortfahren, Fahrbahnen zu befahren, die in der dünnbesetzten Karte 800 enthalten sind.
  • Daten, die in der dünnbesetzten Karte 800 aufgezeichnet sind, können Positionsinformationen basierend auf Daten des globalen Positionierungssystems (GPS) beinhalten. Beispielsweise können Standortinformationen in der dünnbesetzten Karte 800 für verschiedene Kartenelemente enthalten sein, einschließlich zum Beispiel Standorte von Landmarken, Orte von Straßenprofilen usw. Standorte für Kartenelemente, die in der dünnbesetzten Karte 800 enthalten sind, können unter Verwendung von GPS-Daten erhalten werden, die von Fahrzeugen gesammelt werden, die eine Fahrbahn befahren. Beispielsweise kann ein Fahrzeug, das an einer identifizierten Landmarke vorbeifährt, einen Standort der identifizierten Landmarke unter Verwendung von GPS-Positionsinformationen, die mit dem Fahrzeug assoziiert sind, und einer Bestimmung eines Standorts der identifizierten Landmarke relativ zu dem Fahrzeug (z. B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt werden) bestimmen. Solche Standortbestimmungen einer identifizierten Landmarke (oder eines beliebigen anderen Merkmals, das in der dünnbesetzten Karte 800 enthalten ist) können wiederholt werden, während zusätzliche Fahrzeuge an dem Standort der identifizierten Landmarke vorbeifahren. Einige oder alle der zusätzlichen Standortbestimmungen können verwendet werden, um die in der dünnbesetzten Karte 800 gespeicherten Standortinformationen relativ zu der identifizierten Landmarke zu verfeinern. In einigen Ausführungsformen können zum Beispiel mehrere Positionsmessungen relativ zu einem in der dünnbesetzten Karte 800 gespeicherten bestimmten Merkmal miteinander gemittelt werden. Beliebige andere mathematische Operationen können jedoch auch verwendet werden, um einen gespeicherten Standort eines Kartenelements basierend auf einer Vielzahl von bestimmten Standorten für das Kartenelement zu verfeinern.
  • In einem speziellen Beispiel können sammelnde Fahrzeuge ein bestimmtes Straßensegment befahren. Jedes sammelnde Fahrzeug nimmt Bilder seiner jeweiligen Umgebungen auf. Die Bilder können mit einer beliebigen geeigneten Frameerfassungsrate (z. B. 9 Hz usw.) gesammelt werden. Ein oder mehrere Bildanalyseprozessoren an Bord jedes sammelnden Fahrzeugs analysieren die erfassten Bilder, um das Vorhandensein von semantischen und/oder nicht semantischen Merkmalen/Objekten zu detektieren. Auf einer hohen Ebene übertragen die sammelnden Fahrzeuge Angaben von Detektionen der semantischen und/oder nicht semantischen Objekte/Merkmale zusammen mit Positionen, die mit diesen Objekten/Merkmalen assoziiert sind, zu einem Kartierungsserver. Ausführlicher gesagt können Typenangaben, Abmessungsangaben usw. zusammen mit den Positionsinformationen übertragen werden. Die Positionsinformationen können beliebige geeignete Informationen beinhalten, um dem Kartierungsserver zu ermöglichen, die detektierten Objekte/Merkmale in eine dünnbesetzte Karte zu aggregieren, die bei der Navigation nützlich ist. In einigen Fällen können die Positionsinformationen eine oder mehrere 2D-Bildpositionen (z. B. X-Y-Pixelorte) in einem erfassten Bild beinhalten, in dem die semantischen oder nicht semantischen Merkmale/Objekte detektiert wurden. Solche Bildpositionen können einem Mittelpunkt des Merkmals/Objekts, einer Ecke usw. entsprechen. In diesem Szenario kann jedes sammelnde Fahrzeug, um dem Kartierungsserver dabei zu helfen, die Fahrtinformationen zu rekonstruieren und die Fahrtinformationen von mehreren sammelnden Fahrzeugen abzugleichen, auch dem Server einen Standort (z. B. einen GPS-Standort) bereitstellen, an dem jedes Bild erfasst wurde.
  • In anderen Fällen kann das sammelnde Fahrzeug dem Server ein oder mehrere reale 3D-Punkte bereitstellen, die mit den detektierten Objekten/Merkmalen assoziiert sind. Solche 3D-Punkte können relativ zu einem vorbestimmten Ursprung (wie etwa einem Ursprung eines Fahrtsegments) sein und können über eine beliebige geeignete Technik bestimmt werden. In einigen Fällen kann eine Structure-in-Motion-Technik verwendet werden, um die reale 3D-Position eines detektierten Objekts/Merkmals zu bestimmen. Beispielsweise kann ein gewisses Objekt wie etwa ein bestimmtes Geschwindigkeitsbegrenzungsschild in zwei oder mehr erfassten Bildern detektiert werden. Unter Verwendung von Informationen wie etwa der bekannten Ego-Bewegung (Geschwindigkeit, Trajektorie, GPS-Position usw.) des sammelnden Fahrzeugs zwischen den erfassten Bildern, zusammen mit beobachteten Änderungen des Geschwindigkeitsbegrenzungsschildes in den erfassten Bildern (Änderung im X-Y-Pixelort, Änderung der Größe usw.), kann die reale Position eines oder mehrerer Punkte, die mit dem Geschwindigkeitsbegrenzungsschild assoziiert sind, bestimmt und zu dem Kartierungsserver weitergeleitet werden. Ein solcher Ansatz ist optional, da er mehr Berechnung seitens der sammelnden Fahrzeugsysteme erfordert. Die dünnbesetzte Karte der offenbarten Ausführungsformen kann eine autonome Navigation eines Fahrzeugs unter Verwendung von relativ kleinen Mengen an gespeicherten Daten ermöglichen. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 eine Datendichte (z. B. einschließlich Daten, die die Zieltrajektorien, Landmarken und beliebige andere gespeicherte Straßenmerkmale repräsentieren) von weniger als 2 MB pro Kilometer von Straße, weniger als 1 MB pro Kilometer von Straße, weniger als 500 kB pro Kilometer von Straße oder weniger als 100 kB pro Kilometer von Straße aufweisen. In einigen Ausführungsformen kann die Datendichte der dünnbesetzten Karte 800 weniger als 10 kB pro Kilometer von Straße oder sogar weniger als 2 kB pro Kilometer von Straße (z. B. 1,6 kB pro Kilometer) oder nicht mehr als 10 kB pro Kilometer von Straße oder nicht mehr als 20 kB pro Kilometer von Straße sein. In einigen Ausführungsformen können die meisten, wenn nicht alle, der Fahrbahnen in den Vereinigten Staaten autonom unter Verwendung einer dünnbesetzten Karte mit insgesamt 4 GB oder weniger Daten navigiert werden. Diese Datendichtenwerte können einen Durchschnitt über eine gesamte dünnbesetzte Karte 800, über eine lokale Karte innerhalb der dünnbesetzten Karte 800 und/oder über ein bestimmtes Straßensegment innerhalb der dünnbesetzten Karte 800 repräsentieren.
  • Wie angemerkt, kann die dünnbesetzte Karte 800 Repräsentationen einer Vielzahl von Zieltrajektorien 810 zum Anleiten des autonomen Fahrens oder der Navigation entlang eines Straßensegments beinhalten. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert sein. Die in der dünnbesetzten Karte 800 gespeicherten Zieltrajektorien können basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Befahrungen von Fahrzeugen zum Beispiel entlang eines bestimmten Straßensegments bestimmt werden. Ein Straßensegment kann mit einer einzigen Zieltrajektorie oder mehreren Zieltrajektorien assoziiert sein. Beispielsweise kann auf einer zweispurigen Straße eine erste Zieltrajektorie gespeichert sein, um einen beabsichtigten Fahrpfad entlang der Straße in eine erste Richtung zu repräsentieren, und eine zweite Zieltrajektorie kann gespeichert sein, um einen beabsichtigten Fahrpfad entlang der Straße in eine andere Richtung (z. B. entgegengesetzt der ersten Richtung) zu repräsentieren. Zusätzliche Zieltrajektorien können bezüglich eines bestimmten Straßensegments gespeichert sein. Beispielsweise können auf einer mehrspurigen Straße eine oder mehrere Zieltrajektorien gespeichert sein, die beabsichtigte Fahrpfade für Fahrzeuge in einer oder mehreren Spuren, die mit der mehrspurigen Straße assoziiert sind, repräsentieren. In einigen Ausführungsformen kann jede Spur einer mehrspurigen Straße mit ihrer eigenen Zieltrajektorie assoziiert sein. In anderen Ausführungsformen kann es weniger gespeicherte Zieltrajektorien als Spuren geben, die auf einer mehrspurigen Straße vorhanden sind. In solchen Fällen kann ein Fahrzeug, das die mehrspurige Straße navigiert, beliebige der gespeicherten Zieltrajektorien verwenden, um seine Navigation anzuleiten, indem ein Betrag eines Spurversatzes von einer Spur berücksichtigt wird, für die eine Zieltrajektorie gespeichert ist (falls z. B. ein Fahrzeug in der Spur am weitesten links einer dreispurigen Autobahn fährt und eine Zieltrajektorie nur für die mittlere Spur der Autobahn gespeichert ist, kann das Fahrzeug unter Verwendung der Zieltrajektorie der mittleren Spur navigieren, indem der Betrag des Spurversatzes zwischen der mittleren Spur und der Spur am weitesten links berücksichtigt wird, wenn Navigationsanweisungen erzeugt werden).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Pfad repräsentieren, den ein Fahrzeug nehmen sollte, während das Fahrzeug fährt. Die Zieltrajektorie kann sich zum Beispiel bei einer ungefähren Mitte einer Fahrspur befinden. In anderen Fällen kann sich die Zieltrajektorie an anderer Stelle relativ zu einem Straßensegment befinden. Zum Beispiel kann eine Zieltrajektorie ungefähr mit einer Mitte einer Straße, einem Rand einer Straße oder einem Rand einer Spur usw. übereinstimmen. In solchen Fällen kann eine Navigation basierend auf der Zieltrajektorie einen bestimmten Versatzbetrag beinhalten, der relativ zu dem Ort der Zieltrajektorie beibehalten werden soll. In einigen Ausführungsformen kann sich darüber hinaus der bestimmte Versatzbetrag, der relativ zu dem Ort der Zieltrajektorie beibehalten werden soll, basierend auf einem Typ des Fahrzeugs unterscheiden (z. B. kann ein Passagierfahrzeug, das zwei Achsen beinhaltet, einen anderen Versatz im Vergleich zu einem Lastkraftwagen, der mehr als zwei Achsen beinhaltet, entlang zumindest eines Teils der Zieltrajektorie aufweisen).
  • Die dünnbesetzte Karte 800 kann auch Daten bezüglich einer Vielzahl von vorbestimmten Landmarken 820 beinhalten, die mit bestimmten Straßensegmenten, lokalen Karten usw. assoziiert sind. Wie unten ausführlicher besprochen, können diese Landmarken bei der Navigation des autonomen Fahrzeugs verwendet werden. In einigen Ausführungsformen können die Landmarken zum Beispiel verwendet werden, um eine aktuelle Position des Fahrzeugs relativ zu einer gespeicherten Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Steuerkursrichtung so anzupassen, dass sie mit einer Richtung der Zieltrajektorie an dem bestimmten Standort übereinstimmen.
  • Die Vielzahl von Landmarken 820 kann in der dünnbesetzten Karte 800 mit einem beliebigen geeigneten Abstand identifiziert und gespeichert werden. In einigen Ausführungsformen können Landmarken mit relativ hohen Dichten (z. B. alle paar Meter oder mehr) gespeichert werden. In einigen Ausführungsformen können jedoch erheblich größere Landmarkenabstandswerte eingesetzt werden. Beispielsweise können in der dünnbesetzten Karte 800 identifizierte (oder erkannte) Landmarken um 10 Meter, 20 Meter, 50 Meter, 100 Meter, 1 Kilometer oder 2 Kilometer beabstandet sein. In einigen Fällen können sich die identifizierten Landmarken bei Abständen von sogar mehr als 2 Kilometern befinden.
  • Zwischen Landmarken, und daher zwischen Bestimmungen der Fahrzeugposition relativ zu einer Zieltrajektorie, kann das Fahrzeug basierend auf Dead Reckoning navigieren, bei dem das Fahrzeug Sensoren verwendet, um seine Ego-Bewegung zu bestimmen und seine Position relativ zu der Zieltrajektorie zu schätzen. Da sich Fehler während der Navigation durch Dead Reckoning ansammeln können, können die Positionsbestimmungen im Laufe der Zeit relativ zu der Zieltrajektorie zunehmend weniger genau werden. Das Fahrzeug kann Landmarken, die in der dünnbesetzten Karte 800 auftreten, (und ihre bekannten Standorte) verwenden, um die durch Dead Reckoning eingeführten Fehler bei der Positionsbestimmung zu entfernen. Auf diese Weise können die in der dünnbesetzten Karte 800 enthaltenen identifizierten Landmarken als Navigationsanker dienen, von denen eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann. Da eine gewisse Menge an Fehler beim Positionsstandort akzeptabel sein kann, muss eine identifizierte Landmarke nicht immer für ein autonomes Fahrzeug verfügbar sein. Stattdessen kann eine geeignete Navigation selbst basierend auf Abständen von Landmarken, wie oben angemerkt, von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein. In einigen Ausführungsformen kann eine Dichte von 1 identifizierter Landmarke alle 1 km von Straße ausreichend sein, um eine longitudinale Positionsbestimmungsgenauigkeit innerhalb von 1 m beizubehalten. Somit muss nicht jede potenzielle Landmarke, die entlang eines Straßensegments auftritt, in der dünnbesetzten Karte 800 gespeichert werden.
  • Darüber hinaus können Spurmarkierungen in einigen Ausführungsformen für die Lokalisierung des Fahrzeugs während Landmarkenabständen verwendet werden. Durch das Verwenden von Spurmarkierungen während Landmarkenabständen kann die Ansammlung von Fehlern während der Navigation durch Dead Reckoning minimiert werden.
  • Zusätzlich zu Zieltrajektorien und identifizierten Landmarken kann die dünnbesetzte Karte 800 Informationen bezüglich verschiedener anderer Straßenmerkmale beinhalten. Beispielsweise veranschaulicht 9A eine Repräsentation von Kurven entlang eines bestimmten Straßensegments, die in der dünnbesetzten Karte 800 gespeichert sein können. In einigen Ausführungsformen kann eine einzelne Spur einer Straße durch eine dreidimensionale Polynombeschreibung von linken und rechten Seiten der Straße modelliert werden. Solche Polynomen, die die linke und rechte Seite einer einzelnen Spur repräsentieren, sind in 9A gezeigt. Ungeachtet dessen, wie viele Spuren eine Straße aufweisen kann, kann die Straße unter Verwendung von Polynomen auf eine ähnliche Weise wie die, die in 9A veranschaulicht ist, repräsentiert werden. Beispielsweise können die linke und rechte Seite einer mehrspurigen Straße durch Polynome ähnlich denen, die in 9A gezeigt sind, repräsentiert werden, und zwischenliegende Spurmarkierungen, die auf einer mehrspurigen Straße enthalten sind (z. B. gestrichelte Markierungen, die Spurgrenzen repräsentieren, durchgezogene gelbe Linien, die Grenzen zwischen Spuren repräsentieren, die in unterschiedliche Richtungen fahren, usw.), können auch unter Verwendung von Polynomen repräsentiert werden, wie etwa jene, die in 9A gezeigt sind.
  • Wie in 9A gezeigt, kann eine Spur 900 unter Verwendung von Polynomen repräsentiert werden (z. B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung oder einer beliebigen anderen geeigneten Ordnung). Zur Veranschaulichung ist die Spur 900 als eine zweidimensionale Spur gezeigt, und die Polynome sind als zweidimensionale Polynome gezeigt. Wie in 9A dargestellt, beinhaltet die Spur 900 eine linke Seite 910 und eine rechte Seite 920. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um einen Ort jeder Seite der Straße oder Spurgrenze zu repräsentieren. Beispielsweise können sowohl die linke Seite 910 als auch die rechte Seite 920 durch eine Vielzahl von Polynomen mit 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 auch verwendet werden können. Zusätzlich können sich die Polynome gegenseitig überlappen, um nahtlose Übergänge bei der Navigation basierend auf anschließend angetroffenen Polynomen zu ermöglichen, während ein Host-Fahrzeug entlang einer Fahrbahn fährt. Beispielsweise können sowohl die linke Seite 910 als auch die rechte Seite 920 durch eine Vielzahl von Polynomen dritter Ordnung repräsentiert werden, die in Segmente von etwa 100 Metern Länge (ein Beispiel des ersten vorbestimmten Bereichs) aufgeteilt sind, und sich gegenseitig um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 repräsentieren, können die gleiche Ordnung aufweisen oder nicht. Beispielsweise können in einigen Ausführungsformen einige Polynome Polynome zweiter Ordnung sein, können einige Polynome dritter Ordnung sein, und können einige Polynome vierter Ordnung sein.
  • In dem in 9A gezeigten Beispiel wird die linke Seite 910 der Spur 900 durch zwei Gruppen von Polynomen dritter Ordnung repräsentiert. Die erste Gruppe beinhaltet Polynomsegmente 911, 912 und 913. Die zweite Gruppe beinhaltet Polynomsegmente 914, 915 und 916. Die beiden Gruppen folgen, während sie im Wesentlichen parallel zueinander sind, den Orten ihre jeweiligen Seiten der Straße. Die Polynomsegmente 911, 912, 913, 914, 915 und 916 weisen eine Länge von etwa 100 Meter auf und überlappen angrenzende Segmente in der Reihe um etwa 50 Meter. Wie zuvor angemerkt, können jedoch auch Polynome mit anderen Längen und unterschiedlichen Überlappungsbeträgen verwendet werden. Beispielsweise können die Polynome Längen von 500 m, 1 km oder mehr aufweisen, und der Überlappungsbetrag kann von 0 bis 50 m, 50 bis 100 m oder mehr als 100 m variieren. Während 9A als Polynome repräsentierend gezeigt ist, die sich in den 2D-Raum erstrecken (z. B. auf der Oberfläche des Papiers), versteht es sich, dass zusätzlich diese Polynome Kurven repräsentieren 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 zu der X-Y-Krümmung zu repräsentieren. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 der Spur 900 ferner durch eine erste Gruppe mit Polynomsegmenten 921, 922 und 923 und eine zweite Gruppe mit Polynomsegmenten 924, 925 und 926 repräsentiert.
  • Erneut mit Bezug auf die Zieltrajektorien der dünnbesetzten Karte 800 zeigt 9B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug repräsentiert, das entlang eines bestimmten Straßensegments fährt. Die Zieltrajektorie repräsentiert nicht nur den X-Y-Pfad, den ein Host-Fahrzeug entlang eines bestimmten Straßensegments befahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug erfahren wird, wenn es entlang des Straßensegments fährt. Somit kann jede Zieltrajektorie in der dünnbesetzten Karte 800 durch ein oder mehrere dreidimensionale Polynome repräsentiert werden, wie das dreidimensionale Polynom 950, das in 9B gezeigt ist. Die dünnbesetzte Karte 800 kann eine Vielzahl von Trajektorien beinhalten (z. B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedener Straßensegmente entlang Fahrbahnen überall in der Welt zu repräsentieren). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale Polynomsegmente verbindet.
  • In Bezug auf den Daten-Footprint von Polynomkurven, die in der dünnbesetzten Karte 800 gespeichert sind, kann in einigen Ausführungsformen jedes Polynom dritten Grades durch vier Parameter repräsentiert werden, die jeweils vier Bytes von Daten erfordern. Geeignete Repräsentationen können mit den Polynomen dritten Grades erhalten werden, die etwa 192 Bytes von Daten pro 100 m erfordern. Dies kann zu ungefähr 200 kB pro Stunde für Datennutzungs-/-transferanforderungen für ein Host-Fahrzeug führen, das mit ungefähr 100 km/h fährt.
  • Die dünnbesetzte Karte 800 kann das Spurnetzwerk unter Verwendung einer Kombination von Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines beschrieben werden, wie oben beschrieben. Die Metadaten können die Anzahl von Spuren, spezielle Charakteristiken (wie etwa eine Fahrgemeinschaftsspur) und möglicherweise andere dünnbesetzte Labels beschreiben. Der gesamte Footprint solcher Angaben 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 Pfad entlang des Straßensegments im Wesentlichen entsprechend dem Straßenoberflächenmerkmal repräsentiert. In einigen Ausführungsformen, wie oben besprochen, kann die mindestens eine Linienrepräsentation des Straßenoberflächenmerkmals einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Ferner kann das Straßenoberflächenmerkmal in einigen Ausführungsformen mindestens eines von einem Straßenrand oder einer Spurmarkierung beinhalten. Darüber hinaus, wie unten mit Bezug auf „Crowdsourcing“ besprochen, kann das Straßenoberflächenmerkmal durch eine Bildanalyse einer Vielzahl von Bildern identifiziert werden, die gewonnen werden, während ein oder mehrere Fahrzeuge das Straßensegment befahren.
  • Wie zuvor angemerkt, kann die dünnbesetzte Karte 800 eine Vielzahl von vorbestimmten Landmarken beinhalten, die mit einem Straßensegment assoziiert sind. Anstatt tatsächliche Bilder der Landmarken zu speichern und zum Beispiel auf eine Bilderkennungsanalyse basierend auf erfassten Bildern und gespeicherten Bildern angewiesen zu sein, kann jede Landmarke in der dünnbesetzten Karte 800 unter Verwendung von weniger Daten repräsentiert und erkannt werden, als ein gespeichertes, tatsächliches Bild erfordern würde. Daten, die Landmarken repräsentieren, können weiterhin ausreichend Informationen zum Beschreiben oder Identifizieren der Landmarken entlang einer Straße beinhalten. Das Speichern von Daten, die Charakteristiken von Landmarken beschreiben, anstelle der tatsächlichen Bilder von Landmarken, kann die Größe der dünnbesetzten Karte 800 reduzieren.
  • 10 veranschaulicht Beispiele für Arten von Landmarken, die in der dünnbesetzten Karte 800 repräsentiert sein können. Die Landmarken können jegliche sichtbaren und identifizierbaren Objekte entlang eines Straßensegments beinhalten. Die Landmarken können so ausgewählt werden, dass sie fest sind und sich nicht häufig in Bezug auf ihren Standort und/oder Inhalt ändern. Die in der dünnbesetzten Karte 800 enthaltenen Landmarken können bei der Bestimmung eines Standorts des Fahrzeugs 200 bezüglich einer Zieltrajektorie nützlich sein, während das Fahrzeug ein bestimmtes Straßensegment befährt. Beispiele für Landmarken können Verkehrsschilder, Richtungsschilder, allgemeine Schilder (z. B. rechteckige Schilder), Straßeninventar (z. B. Lampenpfosten, Reflektoren usw.) und eine beliebige andere geeignete Kategorie beinhalten. In einigen Ausführungsformen können Spurmarkierungen auf der Straße auch als Landmarken in der dünnbesetzten Karte 800 enthalten sein.
  • Beispiele für Landmarken, die in 10 gezeigt sind, beinhalten Verkehrsschilder, Richtungsschilder, Straßeninventar und allgemeine Schilder. Verkehrsschilder können zum Beispiel Geschwindigkeitsbegrenzungsschilder (z. B. Geschwindigkeitsbegrenzungsschild 1000), Vorfahrtsschilder (z. B. Vorfahrtsschild 1005), Routennummernschilder (z. B. Routennummernschild 1010), Ampelschilder (z. B. Ampelschild 1015), Stoppschilder (z. B. Stoppschild 1020) beinhalten. Richtungsschilder können ein Schild beinhalten, das einen oder mehrere Pfeile beinhaltet, die eine oder mehrere Richtungen zu unterschiedlichen Orten angeben. Beispielsweise können Richtungsschilder ein Autobahnschild 1025 mit Pfeilen zum Anleiten von Fahrzeugen zu unterschiedlichen Straßen oder Orten, ein Ausfahrtsschild 1030 mit einem Pfeil, der Fahrzeuge von einer Straße leitet, usw. beinhalten. Dementsprechend kann mindestens eine der Vielzahl von Landmarken ein Straßenschild beinhalten.
  • Allgemeine Schilder stehen möglicherweise nicht mit Verkehr in Beziehung. Beispielsweise können allgemeine Schilder Werbetafeln, die für Werbung verwendet werden, oder eine Willkommenstafel an einer Grenze zwischen zwei Ländern, Staaten, Landkreisen, Großstädten oder Städten beinhalten. 10 zeigt ein allgemeines Schild 1040 („Joe's Restaurant“). Obwohl das allgemeine Schild 1040 eine rechteckige Form aufweisen kann, wie in 10 gezeigt, kann das allgemeine Schild 1040 andere Formen aufweisen, wie etwa quadratisch, kreisförmig, dreieckig usw.
  • Landmarken können auch Straßeninventar beinhalten. Bei Straßeninventar kann es sich um Objekte handeln, die keine Schilder sind, und beziehen sich möglicherweise nicht auf Verkehr oder Richtungen. Beispielsweise kann Straßeninventar Lampenpfosten (z. B. Lampenpfosten 1035), Strommasten, Ampelpfosten usw. beinhalten.
  • Landmarken können auch Beacons beinhalten, die spezifisch zur Verwendung in einem autonomen Fahrzeugnavigationssystem gestaltet sind. Beispielsweise können solche Beacons eigenständige Strukturen beinhalten, die mit vorbestimmten Intervallen platziert sind, um bei der Navigation eines Host-Fahrzeugs zu helfen. Solche Beacons können auch visuelle/grafische Informationen beinhalten, die zu existierenden Straßenschildern hinzugefügt werden (z. B. Symbole, Embleme, Barcodes usw.), die durch ein Fahrzeug identifiziert oder erkannt werden können, das entlang eines Straßensegments fährt. Solche Beacons können auch elektronische Komponenten beinhalten. In solchen Ausführungsformen können elektronische Beacons (z. B. RFID-Tags usw.) verwendet werden, um nicht visuelle Informationen zu einem Host-Fahrzeug zu übertragen. Solche Informationen können zum Beispiel Landmarkenidentifikations- und/oder Landmarkenstandortinformationen beinhalten, die ein Host-Fahrzeug bei der Bestimmung seiner Position entlang einer Zieltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die in der dünnbesetzten Karte 800 enthaltenen Landmarken durch ein Datenobjekt mit einer vorbestimmten Größe repräsentiert werden. Die eine Landmarke repräsentierenden Daten können beliebige geeignete Parameter zum Identifizieren einer bestimmten Landmarke beinhalten. Beispielsweise können in der dünnbesetzten Karte 800 gespeicherte Landmarken in einigen Ausführungsformen Parameter wie etwa eine physische Größe der Landmarke (um z. B. eine Schätzung der Entfernung zu der Landmarke basierend auf einer bekannten Größe/einem bekannten Maßstab zu unterstützen), eine Entfernung zu einer vorherigen Landmarke, einen lateralen Versatz, eine Höhe, einen Typencode (z. B. einen Landmarkentyp - was für ein Typ von Richtungsschild, Verkehrsschild usw.), eine GPS-Koordinate (um z. B. globale Lokalisierung zu unterstützen) und beliebige andere geeignete Parameter beinhalten. Jeder Parameter kann mit einer Datengröße assoziiert sein. Beispielsweise kann eine Landmarkengröße unter Verwendung von 8 Bytes von Daten gespeichert sein. Eine Entfernung zu einer vorherigen Landmarke, ein lateraler Versatz und eine Höhe können unter Verwendung von 12 Bytes von Daten spezifiziert werden. Ein Typencode, der mit einer Landmarke assoziiert ist, wie etwa ein Richtungsschild oder ein Verkehrsschild, kann etwa 2 Bytes von Daten erfordern. Für allgemeine Schilder kann eine Bildsignatur, die eine Identifikation des allgemeinen Schildes ermöglicht, unter Verwendung von 50 Bytes von Datenspeicherung gespeichert werden. Die Landmarken-GPS-Position kann mit 16 Bytes von Datenspeicherung assoziiert sein. Diese Datengrößen für jeden Parameter sind nur Beispiele, und andere Datengrößen können auch verwendet werden. Das Repräsentieren von Landmarken in der dünnbesetzten Karte 800 auf diese Art und Weise kann eine schlanke Lösung zum effizienten Repräsentieren von Landmarken in der Datenbank bieten. In einigen Ausführungsformen können Objekte als standardmäßige semantische Objekte oder nicht standardmäßige semantische Objekte bezeichnet werden. Ein standardmäßiges semantisches Objekt kann eine beliebige Klasse von Objekt beinhaltet, für die es einen standardisierten Satz von Charakteristiken gibt (z. B. Geschwindigkeitsbegrenzungsschilder, Warnschilder, Richtungsschilder, Ampeln usw. mit bekannten Abmessungen oder anderen Charakteristiken). Ein nicht standardmäßiges semantisches Objekt kann ein beliebiges Objekt beinhalten, das nicht mit einem standardisierten Satz von Charakteristiken assoziiert ist (z. B. allgemeine Werbeschilder, Schilder, die Geschäfte identifizieren, Schlaglöcher, Bäume usw., die variable Abmessungen aufweisen können).Jedes nicht standardmäßige semantische Objekt kann mit 38 Bytes von Daten repräsentiert werden (z. B. 8 Bytes für Größe; 12 Bytes für Entfernung zu einer vorherigen Landmarke, lateralen Versatz und Höhe; 2 Bytes für einen Typencode und 16 Bytes für Positionskoordinaten). Standardmäßige semantische Objekte können unter Verwendung von weniger Daten repräsentiert werden, da Größeninformationen möglicherweise nicht durch den Kartierungsserver benötigt werden, um das Objekt in der dünnbesetzten Karte vollständig zu repräsentieren.
  • Die dünnbesetzte Karte 800 kann ein Tag-System verwenden, um Landmarkentypen zu repräsentieren. In einigen Fällen kann jedes Verkehrsschild oder Richtungsschild mit seinem eigenen Tag assoziiert sein, das in der Datenbank als Teil der Landmarkenidentifikation gespeichert sein kann. Beispielsweise kann die Datenbank in der Ordnung von 1000 unterschiedlichen Tags zum Repräsentieren verschiedener Verkehrsschilder und in der Ordnung von etwa 10.000 unterschiedlichen Tags zum Repräsentieren von Richtungsschildern beinhalten. Natürlich kann eine beliebige geeignete Anzahl von Tags verwendet werden, und zusätzliche Tags können nach Bedarf erzeugt werden. Allzweckschilder können in einigen Ausführungsformen unter Verwendung von weniger als etwa 100 Bytes repräsentiert werden (z. B. etwa 86 Bytes einschließlich 8 Bytes für Größe; 12 Bytes für Entfernung zu einer vorherigen Landmarke, lateralen Versatz und Höhe; 50 Bytes für eine Bildsignatur und 16 Bytes für GPS-Koordinaten).
  • Somit kann für semantische Straßenschilder, die keine Bildsignatur erfordern, die Auswirkung der Datendichte auf die dünnbesetzte Karte 800, selbst bei relativ hohen Dichten von Landmarken von etwa 1 pro 50 m, in der Ordnung von etwa 760 Bytes pro Kilometer liegen (z. B. 20 Landmarken pro km x 38 Bytes pro Landmarke = 760 Bytes). Selbst für Allzweckschilder, die eine Bildsignaturkomponente beinhalten, beträgt die Auswirkung der Datendichte etwa 1,72 kB pro km (z. B. 20 Landmarken pro km x 86 Bytes pro Landmarke = 1720 Bytes). Für semantische Straßenschilder ergibt dies etwa 76 kB pro Stunde von Datennutzung für ein Fahrzeug, das mit 100 km/h fährt. Für Allweckschilder ergibt dies etwa 170 kB pro Stunde für ein Fahrzeug, das mit 100 km/h fährt. Es sollte angemerkt werden, dass es in einigen Umgebungen (z. B. städtischen Umgebungen) eine viel höhere Dichte von detektierten Objekten geben kann, die für den Einschluss in der dünnbesetzten Karte verfügbar sind (möglicherweise mehr als eines pro Meter). In einigen Ausführungsformen kann ein allgemein rechteckiges Objekt, wie etwa ein rechteckiges Schild, in der dünnbesetzten Karte 800 durch nicht mehr als 100 Bytes von Daten repräsentiert werden. Die Repräsentation des allgemein rechteckigen Objekts (z. B. allgemeines Schild 1040) in der dünnbesetzten Karte 800 kann eine verdichtete Bildsignatur oder ein Bild-Hash (z. B. verdichtete Bildsignatur 1045) beinhalten, die/das mit dem allgemein rechteckigen Objekt assoziiert ist. Die verdichtete Bildsignatur/das Bild-Hash kann unter Verwendung eines beliebigen geeigneten Bild-Hashing-Algorithmus bestimmt werden und kann zum Beispiel verwendet werden, um bei der Identifikation eines Allzweckschildes zum Beispiel als eine erkannte Landmarke zu helfen. Eine solche verdichtete Bildsignatur (z. B. Bildinformationen, die aus tatsächlichen Bilddaten abgeleitet werden, die ein Objekt repräsentieren) kann eine Notwendigkeit für die Speicherung eines tatsächlichen Bildes eines Objekts oder eine Notwendigkeit für eine vergleichende Bildanalyse, die an tatsächlichen Bildern durchgeführt wird, um Landmarken zu erkennen, vermeiden.
  • Mit Bezug auf 10 kann die dünnbesetzte Karte 800 eine verdichtete Bildsignatur 1045, die mit einem allgemeinen Schild 1040 assoziiert ist, anstatt ein tatsächliches Bild des allgemeinen Schildes 1040 beinhalten oder speichern. Beispielsweise kann ein Prozessor (z. B. der Bildprozessor 190 oder ein beliebiger anderer Prozessor, der Bilder entweder an Bord oder entfernt relativ zu einem Host-Fahrzeug verarbeiten kann), nachdem eine Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 122, 124 oder 126) ein Bild des allgemeinen Schildes 1040 erfasst, eine Bildanalyse durchführen, um die verdichtete Bildsignatur 1045 zu extrahieren/zu erzeugen, die eine eindeutige Signatur oder ein eindeutiges Muster beinhaltet, die/das mit dem allgemeinen Schild 1040 assoziiert ist. In einer Ausführungsform kann die verdichtete Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein beliebiges anderes Merkmal beinhalten, das aus dem Bild des allgemeinen Schildes 1040 zum Beschreiben des allgemeinen Schildes 1040 extrahiert werden kann.
  • Beispielsweise können in 10 die Kreise, Dreiecke und Sterne, die in der verdichteten Bildsignatur 1045 gezeigt sind, Bereiche mit unterschiedlichen Farben repräsentieren. Das Muster, das durch die Kreise, Dreiecke und Sterne repräsentiert wird, kann in der dünnbesetzten Karte 800 z. B. innerhalb der 50 Bytes, die für das Einschließen einer Bildsignatur designiert sind, gespeichert werden. Insbesondere sollen die Kreise, Dreiecke und Sterne nicht notwendiger angeben, dass solche Formen als Teil der Bildsignatur gespeichert werden. Stattdessen sollen diese Formen erkennbare Bereiche mit erkennbaren Farbdifferenzen, textuellen Bereichen, grafischen Formen oder anderen Variationen in den Charakteristiken konzeptuell repräsentieren, die mit einem Allzweckschild assoziiert sein können. Solche verdichtete Bildsignaturen können verwendet werden, um eine Landmarke in Form eines allgemeinen Schildes zu identifizieren. Beispielsweise kann die verdichtete Bildsignatur verwendet werden, um eine Gleich-Nicht-Gleich-Analyse basierend auf einem Vergleich einer gespeicherten verdichteten Bildsignatur mit Bilddaten, die zum Beispiel unter Verwendung einer Kamera an Bord eines autonomen Fahrzeugs aufgenommen werden, durchzuführen.
  • Dementsprechend kann die Vielzahl von Landmarken durch eine Bildanalyse der Vielzahl von Bildern identifiziert werden, die gewonnen werden, während ein oder mehrere Fahrzeuge das Straßensegment befahren. Wie unten mit Bezug auf „Crowdsourcing“ erläutert, kann in einigen Ausführungsformen die Bildanalyse zum Identifizieren der Vielzahl von Landmarken Akzeptieren potenzieller Landmarken beinhalten, wenn ein Verhältnis von Bildern, in denen die Landmarken auftreten, zu Bildern, in denen die Landmarken nicht auftreten, eine Schwelle überschreitet. Ferner kann in einigen Ausführungsformen die Bildanalyse zum Identifizieren der Vielzahl von Landmarken Verwerfen potenzieller Landmarken beinhalten, wenn ein Verhältnis von Bildern, in denen die Landmarken nicht auftreten, zu Bildern, in denen die Landmarken auftreten, eine Schwelle überschreitet.
  • Erneut mit Bezug auf die Zieltrajektorien, die ein Host-Fahrzeug zum Navigieren eines bestimmten Straßensegments verwenden kann, zeigt 11A Polynomrepräsentationstrajektorien, die während eines Prozesses zum Erstellen oder Unterhalten der dünnbesetzten Karte 800 erfasst werden. Eine Polynomrepräsentation einer Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, kann basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Befahrungen von Fahrzeugen entlang des gleichen Straßensegments bestimmt werden. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien von vorherigen Befahrungen von Fahrzeugen entlang des gleichen Straßensegments sein. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, ein Durchschnitt der zwei oder mehr rekonstruierten Trajektorien von vorherigen Befahrungen von Fahrzeugen entlang des gleichen Straßensegments sein. Andere mathematische Operationen können auch verwendet werden, um eine Zieltrajektorie entlang eines Straßenpfads basierend auf rekonstruierten Trajektorien, die von Fahrzeugen gesammelt werden, die entlang eines Straßensegments fahren, zu konstruieren.
  • Wie in 11A gezeigt, kann ein Straßensegment 1100 durch eine Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten bezüglich eines Pfades sammeln, den das Fahrzeug entlang des Straßensegments nahm. Der durch ein bestimmtes Fahrzeug gefahrene Pfad kann basierend auf Kameradaten, Beschleunigungsmesserinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen, unter anderen potenziellen Quellen, bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die entlang des Straßensegments fahren, 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 Pfad eines Host-Fahrzeugs (z. B. durch ein autonomes Navigationssystem angeleitet) als das Fahrzeug, das entlang des Straßensegments fährt, repräsentieren.
  • In dem in 11A gezeigten Beispiel kann eine erste rekonstruierte Trajektorie 1101 basierend auf Daten bestimmt werden, die von einem ersten Fahrzeug empfangen werden, das das Straßensegment 1100 zu einem ersten Zeitraum (z. B. Tag 1) befährt, eine zweite rekonstruierte Trajektorie 1102 kann von einem zweiten Fahrzeug erhalten werden, das das Straßensegment 1100 zu einem zweiten Zeitraum (z. B. Tag 2) befährt, und eine dritte rekonstruierte Trajektorie 1103 kann von einem dritten Fahrzeug erhalten werden, das das Straßensegment 1100 zu einem dritten Zeitraum (z. B. Tag 3) befährt. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom repräsentiert werden, wie etwa ein dreidimensionales Polynom. Es sollte angemerkt werden, dass in einigen Ausführungsformen beliebige der rekonstruierten Trajektorien an Bord der Fahrzeuge zusammengesetzt werden können, die das Straßensegment 1100 befahren.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien auf einer Serverseite basierend auf Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die das Straßensegment 1100 befahren. Beispielsweise können die Fahrzeuge 200 in einigen Ausführungsformen Daten zu einem oder mehreren Servern bezüglich ihrer Bewegung entlang des Straßensegments 1100 übertragen (z. B. unter anderem Lenkwinkel, Steuerkurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Landmarken). Der Server kann Trajektorien für die Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Zieltrajektorie zum Anleiten der Navigation des autonomen Fahrzeugs, das entlang des gleichen Straßensegments 1100 zu einer späteren Zeit fahren wird, basierend auf der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 erzeugen. Während eine Zieltrajektorie mit einer einzigen vorherigen Befahrung eines Straßensegments assoziiert sein kann, kann jede Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, basierend auf zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die das gleiche Straßensegment befahren, bestimmt werden. In 11A wird die Zieltrajektorie durch 1110 repräsentiert. In einigen Ausführungsformen kann die Zieltrajektorie 1110 basierend auf einem Durchschnitt der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 erzeugt werden. In einigen Ausführungsformen kann die in der dünnbesetzten Karte 800 enthaltene Zieltrajektorie 1110 eine Aggregation (z. B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Trajektorien sein.
  • Am Kartierungsserver kann der Server tatsächliche Trajektorien für ein bestimmtes Straßensegment von mehreren sammelnden Fahrzeugen, die das Straßensegment befahren, empfangen. Um eine Zieltrajektorie für jeden zulässigen Pfad entlang des Straßensegments zu erzeugen (z. B. jede Spur, jede Fahrtrichtung, jeden Pfad durch eine Kreuzung usw.), können die empfangenen tatsächlichen Trajektorien ausgerichtet werden. Der Ausrichtungsprozess kann Verwenden detektierter Objekte/Merkmale, die entlang des Straßensegments identifiziert werden, zusammen mit gesammelten Positionen dieser detektierten Objekte/Merkmale zum gegenseitigen Korrelieren der tatsächlichen, gesammelten Trajektorien beinhalten. Sobald ausgerichtet, kann eine durchschnittliche oder „Best Fit“-Zieltrajektorie für jede verfügbare Spur usw. basierend auf den aggregierten, korrelierten/ausgerichteten tatsächlichen Trajektorien bestimmt werden.
  • 11B und 11C veranschaulichen ferner das Konzept von Zieltrajektorien, die mit Straßensegmenten assoziiert sind, die in einem geographischen Gebiet 1111 vorhanden sind. Wie in 11B gezeigt, kann ein erstes Straßensegment 1120 im geographischen Gebiet 1111 eine mehrspurige Straße beinhalten, die zwei Spuren 1122 beinhaltet, die für den Fahrzeugverkehr in eine erste Richtung designiert sind, und zwei zusätzliche Spuren 1124 beinhaltet, die für den Fahrzeugverkehr in eine zweite Richtung entgegengesetzt der ersten Richtung designiert sind. Die Spuren 1122 und die Spuren 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Das geographische Gebiet 1111 kann auch ein abzweigendes Straßensegment 1130 beinhalten, das sich mit dem Straßensegment 1120 kreuzt. Das Straßensegment 1130 kann eine zweispurige Straße beinhalten, wobei jede Spur für eine andere Fahrtrichtung designiert ist. Das geographische Gebiet 1111 kann auch andere Straßenmerkmale beinhalten, wie etwa eine Haltelinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsbegrenzungsschild 1136 und ein Gefahrenschild 1138.
  • Wie in 11C zeigt, kann die dünnbesetzte Karte 800 eine lokale Karte 1140 beinhalten, die ein Straßenmodell zur Unterstützung der autonomen Navigation von Fahrzeugen innerhalb des geographischen Gebiets 1111 beinhaltet. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien für eine oder mehrere Spuren beinhalten, die mit den Straßensegmenten 1120 und/oder 1130 im geographischen Gebiet 1111 assoziiert sind. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien 1141 und/oder 1142 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder auf die es aufbauen kann, wenn es die Spuren 1122 befährt. Gleichermaßen kann die lokale Karte 1140 Zieltrajektorien 1143 und/oder 1144 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder auf die es aufbauen kann, wenn es die Spuren 1124 befährt. Ferner kann die lokale Karte 1140 Zieltrajektorien 1145 und/oder 1146 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder auf die es aufbauen kann, wenn es das Straßensegment 1130 befährt. Die Zieltrajektorie 1147 repräsentiert einen bevorzugten Pfad, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Spuren 1120 (und insbesondere, relativ zu der Zieltrajektorie 1141, die mit einer Spur am weitesten rechts der Spuren 1120 assoziiert ist) zu dem Straßensegment 1130 (und insbesondere, relativ zu einer Zieltrajektorie 1145, die mit einer ersten Seite des Straßensegments 1130 assoziiert ist) übergeht. Gleichermaßen repräsentiert die Zieltrajektorie 1148 einen bevorzugten Pfad, dem ein autonomes Fahrzeug folgen sollte, wenn es vom Straßensegment 1130 (und, insbesondere relativ zu der Zieltrajektorie 1146) zu einem Teil des Straßensegments 1124 (und insbesondere, wie gezeigt, relativ zu einer Zieltrajektorie 1143, die mit einer linken Spur der Spuren 1124 assoziiert ist) übergeht.
  • Die dünnbesetzte Karte 800 kann auch Repräsentationen anderer straßenbezogener Merkmale beinhalten, die mit dem geographischen Gebiet 1111 assoziiert sind. Beispielsweise kann die dünnbesetzte Karte 800 auch Repräsentationen einer oder mehrerer Landmarken beinhalten, die im geographischen Gebiet 1111 identifiziert werden. Solche Landmarken können eine erste Landmarke 1150, die mit der Haltelinie 1132 assoziiert ist, eine zweite Landmarke 1152, die mit dem Stoppschild 1134 assoziiert ist, eine dritte Landmarke, die mit dem Geschwindigkeitsbegrenzungsschild 1154 assoziiert ist, und eine vierte Landmarke 1156, die mit dem Gefahrenschild 1138 assoziiert ist, beinhalten. Solche Landmarken können zum Beispiel verwendet werden, um ein autonomes Fahrzeug bei der Bestimmung seines aktuellen Standorts relativ zu irgendeiner der gezeigten Zieltrajektorien zu unterstützen, sodass das Fahrzeug seinen Steuerkurs anpassen kann, damit er mit einer Richtung der Zieltrajektorie an dem bestimmten Standort übereinstimmt.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auch Straßensignaturprofile beinhalten. Solche Straßensignaturprofile können mit einer beliebigen erkennbaren/messbaren Variation in mindestens einem Parameter, der mit einer Straße assoziiert ist, assoziiert sein. Beispielsweise können in einigen Fällen solche Profile mit Variationen in Straßenoberflächeninformationen assoziiert sein, wie etwa Variationen der Oberflächenunebenheiten eines bestimmten Straßensegments, Variationen der Straßenbreite über ein bestimmtes Straßensegment, Variationen in Abständen zwischen gestrichelten Linien, die entlang eines bestimmten Straßensegments angestrichen sind, Variationen der Straßenkrümmung entlang eines bestimmten Straßensegments usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Obwohl das Profil 1160 beliebige der oben erwähnten Parameter oder andere repräsentieren kann, kann das Profil 1160 in einem Beispiel ein Maß der Straßenoberflächenunebenheit repräsentieren, wie zum Beispiel durch Überwachen eines oder mehrerer Sensoren erhalten, die Ausgaben bereitstellen, die einen Betrag der Aufhängungsverschiebung angeben, während ein Fahrzeug ein bestimmtes Straßensegment befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite repräsentieren, wie basierend auf Bilddaten bestimmt, die über eine Kamera an Bord eines Fahrzeugs erhalten werden, das ein bestimmtes Straßensegment befährt. Solche Profile können zum Beispiel bei der Bestimmung eines bestimmten Standorts eines autonomen Fahrzeugs relativ zu einer bestimmten Zieltrajektorie nützlich sein. Das heißt, während es ein Straßensegment befährt, kann ein autonomes Fahrzeug ein Profil messen, das mit einem oder mehreren Parametern assoziiert ist, die mit dem Straßensegment assoziiert sind. Falls das gemessene Profil mit einem vorbestimmten Profil korreliert/abgeglichen werden kann, das die Parametervariation bezüglich der Position entlang des Straßensegments grafisch darstellt, dann können die gemessenen und vorbestimmten Profile verwendet werden (z. B. durch Überlagern von entsprechenden Abschnitten der gemessenen und vorbestimmten Profile), um eine aktuelle Position entlang des Straßensegments und daher eine aktuelle Position relativ zu einer Zieltrajektorie für das Straßensegment zu bestimmen.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 unterschiedliche Trajektorien basierend auf unterschiedlichen Charakteristiken beinhalten, die mit einem Benutzer von autonomen Fahrzeugen, Umgebungsbedingungen und/oder anderen Parametern bezüglich des Fahrens assoziiert sind. Beispielsweise können in einigen Ausführungsformen unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder -profilen erzeugt werden. Die dünnbesetzte Karte 800, die solche unterschiedlichen Trajektorien beinhaltet, kann zu unterschiedlichen autonomen Fahrzeugen unterschiedlicher Benutzer bereitgestellt werden. Beispielsweise können einige Benutzer bevorzugen, Mautstraßen zu vermeiden, während andere bevorzugen können, die kürzesten oder schnellsten Routen zu nehmen, ungeachtet dessen, ob es eine Mautstraße auf der Route gibt. Die offenbarten Systeme können unterschiedliche dünnbesetzte Karten mit unterschiedlichen Trajektorien basierend auf solchen unterschiedlichen Benutzerpräferenzen oder -profilen erzeugen. Als ein anderes Beispiel können einige Benutzer bevorzugen, in einer sich schnell bewegenden Spur zu fahren, während andere bevorzugen können, eine Position in der zentralen Spur zu allen Zeiten beizubehalten.
  • Unterschiedliche Trajektorien können in der dünnbesetzten Karte 800 basierend auf unterschiedlichen Umgebungsbedingungen erzeugt und eingeschlossen werden, wie etwa Tag und Nacht, Schnee, Regen, Nebel usw. Autonomen Fahrzeugen, die unter unterschiedlichen Umgebungsbedingungen fahren, kann die dünnbesetzte Karte 800 bereitgestellt werden, die basierend auf solchen unterschiedlichen Umgebungsbedingungen erzeugt wird. In einigen Ausführungsformen können Kameras, die an autonomen Fahrzeugen bereitgestellt sind, die Umgebungsbedingungen detektieren und können solche Informationen zurück zu einem Server liefern, der dünnbesetzte Karten erzeugt und bereitstellt. Beispielsweise kann der Server eine schon erzeugte dünnbesetzte Karte 800 erzeugen oder aktualisieren, sodass sie Zieltrajektorien beinhaltet, die für das autonome Fahren unter den detektierten Umgebungsbedingungen geeigneter oder sicherer sind. Die Aktualisierung der dünnbesetzten Karte 800 basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge entlang Straßen fahren.
  • Andere unterschiedliche Parameter bezüglich des Fahrens können auch als eine Basis zum Erzeugen und Bereitstellen unterschiedlicher dünnbesetzter Karten zu unterschiedlichen autonomen Fahrzeugen verwendet werden. Beispielsweise, wenn ein autonomes Fahrzeug mit einer hohen Geschwindigkeit fährt, können Kurven enger sein. Trajektorien, die mit spezifischen Spuren, anstatt Straßen assoziiert sind, können in der dünnbesetzten Karte 800 so eingeschlossen sein, dass das autonome Fahrzeug innerhalb einer spezifischen Spur bleiben kann, während das Fahrzeug einer spezifischen Trajektorie folgt. Wenn ein Bild, das durch eine Kamera an Bord des autonomen Fahrzeugs erfasst wird, angibt, dass das Fahrzeug von der Spur abgekommen ist (z. B. die Spurmarkierung überquert hat), kann eine Handlung im Fahrzeug ausgelöst werden, um das Fahrzeug zurück zu der designierten Spur gemäß der spezifischen Trajektorie zu bringen.
  • Crowdsourcing einer dünnbesetzten Karte
  • Die offenbarten dünnbesetzten Karten können effizient (und passiv) durch Crowdsourcing erzeugt werden. Beispielsweise können ein jegliches privates oder kommerzielles Fahrzeug, das mit einer Kamera ausgestattet ist (z. B. eine einfache Kamera mit geringer Auflösung, die regelmäßig als OEM-Ausrüstung in heutigen Fahrzeugen eingeschlossen ist), und ein geeigneter Bildanalyseprozessor als ein sammelndes Fahrzeug dienen. Keine spezielle Ausrüstung (z. B. Bildgebungs- und/oder Positionierungssysteme mit hoher Auflösung) ist erforderlich. Infolge der offenbarten Crowdsourcing-Technik können die erzeugten dünnbesetzten Karten extrem genau sein und können extrem verfeinerte Positionsinformationen beinhalten (was Navigationsfehlergrenzen von 10 cm oder weniger ermöglicht), ohne irgendwelche spezialisierte Bildgebungs- oder Erfassungsausrüstung als Eingabe in den Kartenerzeugungsprozess zu erfordern. Crowdsourcing ermöglicht auch schnellere (und kostengünstige) Aktualisierungen der erzeugten Karten, da dem Kartierungsserversystem neue Fahrtinformationen kontinuierlich von jeglichen Straßen verfügbar gemacht werden, die von privaten oder kommerziellen Fahrzeugen befahren werden, die minimal ausgestattet sind, um auch als sammelnde Fahrzeuge zu dienen. Es gibt keine Notwendigkeit für designierte Fahrzeuge, die mit Bildgebungs- und Kartierungssensoren hoher Auflösung ausgestattet sind. Daher können die Kosten vermieden werden, die mit dem Bauen solcher spezialisierten Fahrzeuge assoziiert sind. Ferner können Aktualisierungen an den vorliegend offenbarten dünnbesetzten Karten viel schneller als bei Systemen vorgenommen werden, die auf dedizierte, spezialisierte Kartierungsfahrzeuge angewiesen sind (die aufgrund ihrer Kosten und speziellen Ausrüstung typischerweise auf eine Flotte von spezialisierten Fahrzeugen mit einer viel niedrigeren Anzahl beschränkt sind als die Anzahl von privaten oder kommerziellen Fahrzeugen, die schon zum Durchführen der offenbarten Sammeltechniken verfügbar sind).
  • Die offenbarten dünnbesetzten Karten, die durch Crowdsourcing erzeugt werden, können extrem genau sein, da sie basierend auf vielen Eingaben von mehreren (Dutzenden, Hunderten, Millionen usw.) von sammelnden Fahrzeugen erzeugt werden können, die Fahrtinformationen entlang eines bestimmten Straßensegments gesammelt haben. Beispielsweise kann jedes sammelnde Fahrzeug, das entlang eines bestimmten Fahrzeugsegments fährt, seine tatsächliche Trajektorie aufzeichnen und kann Positionsinformationen relativ zu detektierten Objekten/Merkmalen entlang des Straßensegments bestimmen. Diese Informationen werden von mehreren sammelnden Fahrzeugen zu einem Server weitergeleitet. Die tatsächlichen Trajektorien werden aggregiert, um eine verfeinerte Zieltrajektorie für jeden zulässigen Fahrpfad entlang des Straßensegments zu erzeugen. Zusätzlich können auch die Positionsinformationen, die von den mehreren sammelnden Fahrzeugen für jedes der detektierten Objekte/Merkmale entlang des Straßensegments (semantisch oder nicht semantisch) aggregiert werden. Infolgedessen kann die kartierte Position jedes detektierten Objekts/Merkmals einen Durchschnitt von Hunderten, Tausenden oder Millionen individuell bestimmter Positionen für jedes detektierte Objekt/Merkmal darstellen. Eine solche Technik kann extrem genaue kartierte Positionen für die detektierten Objekte/Merkmale ergeben.
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zur autonomen Fahrzeugnavigation erzeugen. Beispielsweise können offenbarte Systeme und Verfahren Crowdsourcing-Daten zur Erzeugung einer dünnbesetzten Karte verwenden, die ein oder mehrere autonome Fahrzeuge verwenden können, um entlang eines Systems von Straßen zu navigieren. Wie hierin verwendet, bedeutet „Crowdsourcing“, dass Daten von verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen) empfangen werden, die auf einem Straßensegment zu unterschiedlichen Zeiten fahren, und solche Daten werden verwendet, um das Straßenmodell, einschließlich dünnbesetzter Kartenkacheln, zu erzeugen und/oder zu aktualisieren. Das Modell oder irgendwelche seiner dünnbesetzten Kartenkacheln können im Gegenzug zu den Fahrzeugen oder anderen Fahrzeugen, die später entlang des Straßensegments fahren, zur Unterstützung der autonomen Fahrzeugnavigation übertragen werden. Das Straßenmodell kann eine Vielzahl von Zieltrajektorien beinhalten, die bevorzugte Trajektorien repräsentieren, denen autonome Fahrzeuge folgen sollten, während sie ein Straßensegment befahren. Die Zieltrajektorien können die gleichen wie eine rekonstruierte tatsächliche Trajektorie sein, die von einem Fahrzeug gesammelt wird, das ein Straßensegment befährt, die vom Fahrzeug zu einem Server übertragen werden kann. In einigen Ausführungsformen können sich die Zieltrajektorien von tatsächlichen Trajektorien unterscheiden, die ein oder mehrere Fahrzeuge zuvor nahmen, als sie ein Straßensegment befuhren. Die Zieltrajektorien können basierend auf tatsächlichen Trajektorien (z. B. durch Mittelbildung oder eine beliebige andere geeignete Operation) erzeugt werden.
  • Die Fahrzeugtrajektoriedaten, die ein Fahrzeug zu einem Server hochladen kann, können der tatsächlichen rekonstruierten Trajektorie für das Fahrzeug entsprechen oder können einer empfohlenen Trajektorie entsprechen, die auf der tatsächlichen rekonstruierten Trajektorie des Fahrzeugs basieren oder damit in Beziehung stehen kann, kann sich aber von der tatsächlichen rekonstruierten Trajektorie unterscheiden. Beispielsweise können Fahrzeuge ihre tatsächlichen, rekonstruierten Trajektorien modifizieren und die modifizierten tatsächlichen Trajektorien zu dem Server übermitteln (z. B. empfehlen). Das Straßenmodell kann die empfohlenen, modifizierten Trajektorien als Zieltrajektorien zur autonomen Navigation anderer Fahrzeuge verwenden.
  • Zusätzlich zu Trajektorieinformationen können andere Informationen zur potenziellen Verwendung bei der Erstellung einer dünnbesetzten Datenkarte 800 Informationen bezüglich potenzieller Landmarkenkandidaten beinhalten. Beispielsweise können die offenbarten Systeme und Verfahren durch Crowdsourcing von Informationen potenzielle Landmarken in einer Umgebung identifizieren und Landmarkenpositionen verfeinern. Die Landmarken können durch ein Navigationssystem von autonomen Fahrzeugen verwendet werden, um die Position des Fahrzeugs entlang der Zieltrajektorien zu bestimmen und/oder anzupassen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug erzeugen kann, während das Fahrzeug entlang einer Straße fährt, können durch ein beliebiges geeignetes Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien entwickelt werden, indem Segmente von Bewegungen für das Fahrzeug z. B. unter Verwendung einer Ego-Bewegungsschätzung zusammengefügt werden (z. B. dreidimensionale Translation und dreidimensionale Rotation der Kamera, und daher der Karosserie des Fahrzeugs). Die Rotations- und Translationsschätzung kann basierend auf einer Analyse von Bildern, die durch eine oder mehrere Bilderfassungsvorrichtungen erfasst werden, zusammen mit Informationen von anderen Sensoren oder Vorrichtungen, wie etwa inertialen Sensoren und Geschwindigkeitssensoren, bestimmt werden. Beispielsweise können die inertialen Sensoren einen Beschleunigungsmesser oder andere geeignete Sensoren beinhalten, die dazu ausgelegt sind, Änderungen der Translation und/oder Rotation der Fahrzeugkarosserie zu messen. Das Fahrzeug kann einen Geschwindigkeitssensor beinhalten, der eine Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Ego-Bewegung der Kamera (und daher der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der aufgenommenen Bilder geschätzt werden. Eine optische Flussanalyse einer Sequenz von Bildern identifiziert eine Bewegung von Pixeln aus der Sequenz von Bildern und bestimmt basierend auf der identifizierten Bewegung Bewegungen des Fahrzeugs. Die Ego-Bewegung kann über die Zeit und entlang des Straßensegments integriert werden, um eine Trajektorie zu rekonstruieren, die mit dem Straßensegment assoziiert ist, dem das Fahrzeug gefolgt hat.
  • Daten (z. B. rekonstruierte Trajektorien), die durch mehrere Fahrzeuge bei mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt werden, können verwendet werden, um das Straßenmodell (z. B. einschließlich der Zieltrajektorien usw.), das in der dünnbesetzten Datenkarte 800 enthalten ist, zu konstruieren. Daten, die durch mehrere Fahrzeuge bei mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt werden, können auch gemittelt werden, um eine Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten bezüglich der Straßengeometrie und/oder Landmarken von mehreren Fahrzeugen empfangen werden, die durch das gemeine Straßensegment zu unterschiedlichen Zeiten fahren. Solche Daten, die von unterschiedlichen Fahrzeugen empfangen werden, können kombiniert werden, um das Straßenmodell zu erzeugen und/oder das Straßenmodell zu aktualisieren.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Zieltrajektorie) entlang eines Straßensegments kann durch eine Kurve im dreidimensionalen Raum repräsentiert werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektoriekurve kann aus einer Analyse eines Videostroms oder einer Vielzahl von Bildern bestimmt werden, die durch eine Kamera erfasst werden, die am Fahrzeug installiert ist. In einigen Ausführungsformen wird ein Ort in jedem Frame oder Bild identifiziert, der einige wenige Meter vor der aktuellen Position des Fahrzeugs liegt. Dieser Ort ist der Ort, an den das Fahrzeug voraussichtlich in einem vorbestimmten Zeitraum fahren wird. Diese Operation kann frameweise wiederholt werden, und zur gleichen Zeit kann das Fahrzeug die Ego-Bewegung der Kamera (Rotation und Translation) berechnen. Bei jedem Frame oder Bild wird ein Kurzstreckenmodell für den gewünschten Pfad durch das Fahrzeug in einem Referenzrahmen erzeugt, der an der Kamera angebracht ist. Die Kurzstreckenmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem Koordinatenrahmen zu erhalten, der ein willkürlicher oder vorbestimmter Koordinatenrahmen sein kann. Das dreidimensionale Modell der Straße kann dann durch einen Spline gefittet werden, der ein oder mehrere Polynome geeigneter Ordnung beinhalten oder verbinden kann.
  • Um das Kurzstreckenstraßenmodell bei jedem Frame zu folgern, können ein oder mehrere Detektionsmodule verwendet werden. Beispielsweise kann ein Bottom-Up-Spurdetektionsmodul verwendet werden. Das Bottom-Up-Spurdetektionsmodul kann nützlich sein, wenn Spurmarkierungen auf der Straße angestrichen sind. Dieses Modul kann nach Kanten im Bild suchen und sie zusammensetzen, um die Spurmarkierungen zu bilden. Ein zweites Modul kann zusammen mit dem Bottom-Up-Spurdetektionsmodul verwendet werden. Das zweite Modul ist ein tiefes Ende-zu-Ende-Neuronalnetzwerk, das trainiert sein kann, den korrekten Kurzstreckenpfad aus einem Eingabebild vorherzusagen. In beiden Modulen kann das Straßenmodell in dem Bildkoordinatenrahmen detektiert und zu einem dreidimensionalen Raum transformiert werden, der virtuell an der Kamera angebracht sein kann.
  • Obwohl das Verfahren der rekonstruierten Trajektoriemodellierung eine Ansammlung von Fehlern aufgrund der Integration der Ego-Bewegung über einen langen Zeitraum einführen kann, was eine Rauschkomponente beinhalten kann, können solche Fehler unbedeutend sein, da das erzeugte Modell ausreichend Genauigkeit für die Navigation über einen lokalen Maßstab bereitstellen kann. Zusätzlich ist es möglich, den integrierten Fehler unter Verwendung externer Informationsquellen aufzuheben, wie etwa Satellitenbilder oder geodätische Messungen. Beispielsweise können die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um angesammelte Fehler aufzuheben. Die GNSS-Positionierungssignale stehen jedoch möglicherweise nicht immer zur Verfügung und sind möglicherweise nicht immer genau. Die offenbarten Systeme und Verfahren können eine Lenkanwendung ermöglichen, die schwach von der Zuverlässigkeit und Genauigkeit der GNSS-Positionierung abhängt. In solchen Systemen kann die Verwendung der GNSS-Signale beschränkt sein. In einigen Ausführungsformen können die offenbarten Systeme die GNSS-Signale zum Beispiel nur für den Zweck der Datenbankindizierung verwenden.
  • In einigen Ausführungen kann der Bereichsmaßstab (z. B. lokaler Maßstab), der für eine Lenkanwendung der autonomen Fahrzeugnavigation relevant sein kann, in der Ordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Distanzen können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: Planen der vorausliegenden Trajektorie und Lokalisieren des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über einen typischen Bereich von 40 Metern voraus verwenden (oder eine beliebige andere geeignete Distanz voraus, wie etwa 20 Meter, 30 Meter, 50 Meter), wenn der Steueralgorithmus das Fahrzeug gemäß einem Zielpunkt lenkt, der sich 1,3 Sekunden voraus befindet (oder eine beliebige andere Zeit wie etwa 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.). Die Lokalisierungsaufgabe verwendet das Straßenmodell über einen typischen Bereich von 60 Meter hinter dem Auto (oder beliebige andere geeignete Distanzen, wie etwa 50 Meter, 100 Meter, 150 Meter usw.) gemäß einem Verfahren, das „Tail-Ausrichtung“ genannt wird, das in einem anderen Abschnitt ausführlicher beschrieben ist. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das ausreichend Genauigkeit über einen bestimmten Bereich, wie etwa 100 Meter, aufweist, sodass eine geplante Trajektorie nicht um mehr als zum Beispiel 30 cm von der Spurmitte abweichen wird.
  • Wie oben erläutert, kann ein dreidimensionales Straßenmodell aus dem Detektieren von Kurzstreckenabschnitten und deren Zusammenfügen konstruiert werden. Das Zusammenfügen kann durch Berechnen eines Sechs-Grad-Ego-Bewegungsmodells unter Verwendung der Videos und/oder Bilder, die durch die Kamera erfasst werden, von Daten von den inertialen Sensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Geschwindigkeitssignals des Host-Fahrzeugs ermöglicht werden. Der angesammelte Fehler kann über einen lokalen Bereichsmaßstab, wie etwa in der Ordnung von
    100 Metern, klein genug sein. All dies kann bei einer einzigen Fahrt über ein bestimmtes Straßensegment abgeschlossen werden.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln und seine Genauigkeit zusätzlich zu erhöhen. Das gleiche Auto kann die gleiche Route mehrere Male fahren, oder mehrere Autos können ihre gesammelten Modelldaten zu einem zentralen Server senden. In jedem Fall kann eine Abgleichprozedur durchgeführt werden, um überlappende Modelle zu identifizieren und eine Mittelung zu ermöglichen, um Zieltrajektorien zu erzeugen. Das konstruierte Modell (z. B. einschließlich der Zieltrajektorien) kann zum Lenken verwendet werden, sobald ein Konvergenzkriterium erfüllt ist. Anschließende Fahrten können für weitere Modellverbesserungen und zum Unterbringen von Infrastrukturänderungen verwendet werden.
  • Das Teilen von Fahrerfahrung (wie etwa erfasste Daten) zwischen mehreren Autos wird möglich, falls sie mit einem zentralen Server verbunden sind. Jeder Fahrzeug-Client kann eine partielle Kopie eines universellen Straßenmodells speichern, das für seine aktuelle Position relevant sein kann. Eine bidirektionale Aktualisierungsprozedur zwischen den Fahrzeugen und dem Server kann durch die Fahrzeuge und den Server durchgeführt werden. Das oben besprochene Konzept mit kleinem Footprint ermöglicht den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen unter Verwendung einer sehr kleinen Bandbreite durchzuführen.
  • Informationen bezüglich potenzieller Landmarken können auch bestimmt und zu einem zentralen Server weitergeleitet werden. Beispielsweise können die offenbarten Systeme und Verfahren ein oder mehrere physische Eigenschaften einer potenziellen Landmarke basierend auf einem oder mehreren Bildern bestimmen, die die Landmarke beinhalten. Die physischen Eigenschaften können eine physische Größe (z. B. Höhe, Breite) der Landmarke, eine Distanz von einem Fahrzeug zu einer Landmarke, eine Distanz zwischen der Landmarke und einer vorherigen Landmarke, die laterale Position der Landmarke (z. B. die Position der Landmarke relativ zu der Fahrspur), die GPS-Koordinaten der Landmarke, einen Typ der Landmarke, eine Identifikation von Text auf der Landmarke usw. beinhalten. Beispielsweise kann ein Fahrzeug ein oder mehrere Bilder analysieren, die durch eine Kamera erfasst werden, um eine potenzielle Landmarke, wie etwa ein Geschwindigkeitsbegrenzungsschild, zu detektieren.
  • Das Fahrzeug kann eine Distanz vom Fahrzeug zu der Landmarke oder eine Position, die mit der Landmarke assoziiert ist (z. B. ein beliebiges semantisches oder nicht semantisches Objekt oder Merkmal entlang eines Straßensegments), basierend auf der Analyse des einen oder der mehreren Bilder bestimmen. In einigen Ausführungsformen kann die Distanz basierend auf einer Analyse von Bildern der Landmarke unter Verwendung eines geeigneten Bildanalyseverfahrens bestimmt werden, wie etwa eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens. Wie zuvor angemerkt, kann eine Position des Objekts/Merkmals eine 2D-Bildposition (z. B. eine X-Y-Pixelposition in einem oder mehreren erfassten Bildern) eines oder mehrerer Punkte beinhalten, die mit dem Objekt/Merkmal assoziiert sind, oder kann eine reale 3D-Position eines oder mehrerer Punkte beinhalten (z. B. durch Structure-in-Motion-/optische Flusstechniken, LIDAR- oder RADAR-Informationen usw. bestimmt). In einigen Ausführungsformen können die offenbarten Systeme und Verfahren dazu ausgelegt sein, einen Typ oder eine Klassifikation einer potenziellen Landmarke zu bestimmen. Falls das Fahrzeug bestimmt, dass eine gewisse potenzielle Landmarke einem vorbestimmten Typ oder einer vorbestimmten Klassifikation entspricht, der/die in einer dünnbesetzten Karte gespeichert ist, kann es ausreichend sein, dass das Fahrzeug eine Angabe über den Typ oder die Klassifikation der Landmarke zusammen mit ihrem Standort zu dem Server kommuniziert. Der Server kann solche Angaben speichern. Zu einer späteren Zeit kann ein navigierendes Fahrzeug während der Navigation ein Bild erfassen, das eine Repräsentation der Landmarke beinhaltet, das Bild (z. B. unter Verwendung eines Klassifizierers) verarbeiten und die resultierende Landmarke vergleichen, um eine Detektion der kartierten Landmarke zu bestätigen und die kartierte Landmarke bei der Lokalisierung des navigierenden Fahrzeugs relativ zu der dünnbesetzten Karte zu verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßensegment fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Clients) können eine Kurve erzeugen, die seine Fahrt (z. B. über Ego-Bewegungsintegration) in einem willkürlichen Koordinatenrahmen beschreibt. Die Fahrzeuge können Landmarken detektieren und sie in dem gleichen Rahmen lokalisieren. Die Fahrzeuge können die Kurve und die Landmarken zu dem Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein vereinheitlichtes Straßenmodell erzeugen. Wie zum Beispiel unten mit Bezug auf 19 besprochen, kann der Server eine dünnbesetzte Karte mit dem vereinheitlichten Straßenmodell unter Verwendung der hochgeladenen Kurven und Landmarken erzeugen.
  • Der Server kann auch das Modell an Clients (z. B. Fahrzeugen) verteilen. Beispielsweise kann der Server die dünnbesetzte Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder periodisch aktualisieren, wenn neue Daten von den Fahrzeugen empfangen werden. Beispielsweise kann der Server die neuen Daten verarbeiten, um zu evaluieren, ob die Daten Informationen beinhalten, die eine Aktualisierung oder eine Erzeugung neuer Daten auf dem Server auslösen sollten. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge zum Bereitstellen einer autonomen Fahrzeugnavigation verteilen.
  • Der Server kann ein oder mehrere Kriterien zum Bestimmen verwenden, ob neue Daten, die von den Fahrzeugen empfangen werden, eine Aktualisierung an dem Modell auslösen oder eine Erzeugung neuer Daten auslösen sollten. Beispielsweise wenn die neuen Daten angeben, dass eine zuvor erkannte Landmarke an einem spezifischen Standort nicht mehr existiert oder durch eine andere Landmarke ersetzt ist, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung an dem Modell auslösen sollten. Als ein anderes Beispiel, wenn die neuen Daten angeben, dass ein Straßensegment geschlossen wurde, und wenn dies durch Daten bestätigt wurde, die von anderen Fahrzeugen empfangen werden, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung an dem Modell auslösen sollten.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Teil des Modells) an ein oder mehrere Fahrzeuge verteilen, die auf dem Straßensegment fahren, mit dem die Aktualisierungen an dem Modell assoziiert sind. Der Server kann das aktualisierte Modell auch an Fahrzeuge, die in Kürze auf dem Straßensegment fahren werden, oder Fahrzeuge, deren geplante Reise das Straßensegment beinhaltet, mit dem die Aktualisierungen an dem Modell assoziiert sind, verteilen. Während beispielsweise ein autonomes Fahrzeug entlang eines anderen Straßensegments fährt, bevor es das Straßensegment erreicht, mit dem eine Aktualisierung assoziiert ist, kann der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug das Straßensegment erreicht.
  • In einigen Ausführungsformen kann der entfernte Server Trajektorien und Landmarken von mehreren Clients (z. B. Fahrzeugen, die entlang eines gemeinen Straßensegments fahren) sammeln. Der Server kann Kurven unter Verwendung von Landmarken abgleichen und ein durchschnittliches Straßenmodell basierend auf den Trajektorien erzeugen, die von den mehreren Fahrzeugen gesammelt werden. Der Server kann auch einen Graphen von Straßen und den wahrscheinlichsten Pfad an jedem Knoten oder jeder Verknüpfung des Straßensegments berechnen. Beispielsweise kann der entfernte Server die Trajektorien ausrichten, um eine durch Crowdsourcing erhaltene dünnbesetzte Karte aus den gesammelten Trajektorien zu erzeugen.
  • Der Server kann Eigenschaften der Landmarken mitteln, die von mehreren Fahrzeugen empfangen werden, die entlang des gemeinen Straßensegments fuhren, wie etwa Distanzen zwischen einer Landmarke zu einer anderen (z. B. einer vorherigen entlang des Straßensegments), wie durch mehrere Fahrzeuge gemessen, um einen Bogenlängenparameter zu bestimmen und die Lokalisierung entlang des Pfades und eine Geschwindigkeitskalibration für jedes Client-Fahrzeug zu unterstützen. Der Server kann die physischen Abmessungen einer Landmarke mitteln, die durch mehrere Fahrzeuge gemessen werden, die entlang des gemeinen Straßensegments fuhren und die gleiche Landmarke erkannten. Die gemittelten physischen Abmessungen können verwendet werden, um die Distanzschätzung, wie etwa den Distanz vom Fahrzeug zu der Landmarke, zu unterstützen. Der Server kann laterale Positionen einer Landmarke (z. B. Position von der Spur, in der Fahrzeuge fahren, zu der Landmarke) mitteln, die durch mehrere Fahrzeuge gemessen werden, die entlang des gemeinen Straßensegments fuhren und die gleiche Landmarke erkannten. Die gemittelte laterale Position kann verwendet werden, um eine Spurzuweisung zu unterstützen. Der Server kann die GPS-Koordinaten der Landmarke mitteln, die durch mehrere Fahrzeuge gemessen werden, die entlang des gleichen Straßensegments fuhren und die gleiche Landmarke erkannten. Die gemittelten GPS-Koordinaten der Landmarke können verwendet werden, um eine globale Lokalisierung oder Positionierung der Landmarke im Straßenmodell zu unterstützen.
  • In einigen Ausführungsformen kann der Server Modelländerungen, wie etwa Baustellen, Umleitungen, Entfernung von Schildern usw., basierend auf Daten identifizieren, die von den Fahrzeugen empfangen werden. Der Server kann das Modell kontinuierlich oder periodisch oder unmittelbar aktualisieren, wenn neue Daten von den Fahrzeugen empfangen werden. Der Server kann Aktualisierungen an dem Modell oder das aktualisierte Modell an die Fahrzeuge zum Bereitstellen einer autonomen Navigation verteilen. Beispielsweise, wie ferner unten besprochen, kann der Server Crowdsourcing-Daten verwenden, um „Phantom“-Landmarken herauszufiltern, die durch Fahrzeuge detektiert werden.
  • In einigen Ausführungsformen kann der Server Fahrerinterventionen während des autonomen Fahrens analysieren. Der Server kann Daten, die von dem Fahrzeug zu der Zeit und an dem Ort empfangen werden, zu der bzw. an dem die Intervention stattfindet, und/oder Daten, die vor der Zeit, zu der die Intervention stattfand, empfangen werden, analysieren. Der Server kann gewisse Teile der Daten identifizieren, die die Intervention verursachten oder eng damit in Beziehung stehen, zum Beispiel Daten, die eine Einrichtung einer vorübergehenden Fahrbahnsperrung angeben, Daten, die einen Fußgänger auf der Straße angeben. Der Server kann das Modell basierend auf den identifizierten Daten aktualisieren. Zum Beispiel kann der Server eine oder mehrere Trajektorien modifizieren, die in dem Modell gespeichert sind.
  • 12 ist eine schematische Veranschaulichung eines Systems, das Crowdsourcing verwendet, um eine dünnbesetzte Karte zu erzeugen (sowie zu verteilen und unter Verwendung einer durch Crowdsourcing erhaltenen dünnbesetzten Karte zu navigieren). 12 zeigt ein Straßensegment 1200, das eine oder mehrere Spuren beinhaltet. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kann auf dem Straßensegment 1200 zur gleichen Zeit oder zu unterschiedlichen Zeiten fahren (obwohl in 12 als auf dem Straßensegment 1200 zur gleichen Zeit auftretend gezeigt). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Zur Einfachheit des vorliegenden Beispiels wird angenommen, dass alle der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 autonome Fahrzeuge sind.
  • Jedes Fahrzeug kann Fahrzeugen ähneln, die in anderen Ausführungsformen offenbart sind (z. B. Fahrzeug 200), und kann Komponenten oder Vorrichtungen beinhalten, die in Fahrzeugen enthalten oder mit diesen assoziiert sind, die in anderen Ausführungsformen offenbart sind. Jedes Fahrzeug kann mit einer Bilderfassungsvorrichtung oder Kamera ausgestattet sein (z. B. Bilderfassungsvorrichtung 122 oder Kamera 122). Jedes Fahrzeug kann über ein oder mehrere Netzwerke (z. B. über ein zellulares Netzwerk und/oder das Internet usw.) über Drahtloskommunikationspfade 1235 mit einem entfernten Server 1230 kommunizieren, wie durch die gestrichelten Linien angegeben. Jedes Fahrzeug kann Daten zum Server 1230 übertragen und Daten vom Server 1230 empfangen. Beispielsweise kann der Server 1230 Daten von mehreren Fahrzeugen sammeln, die auf dem Straßensegment 1200 zu unterschiedlichen Zeiten fahren, und kann die gesammelten Daten verarbeiten, um ein Autonomes-Fahrzeug-Straßennavigationsmodell oder eine Aktualisierung an dem Modell zu erzeugen. Der Server 1230 kann das Autonomes-Fahrzeug-Straßennavigationsmodell oder die Aktualisierung an dem Modell zu den Fahrzeugen übertragen, die Daten zu dem Server 1230 übertrugen. Der Server 1230 kann das Autonomes-Fahrzeug-Straßennavigationsmodell oder die Aktualisierung an dem Modell zu anderen Fahrzeugen übertragen, die auf dem Straßensegment 1200 zu späteren Zeiten fahren.
  • Während die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 auf dem Straßensegment 1200 fahren, können Navigationsinformationen, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 gesammelt (z. B. detektiert, erfasst oder gemessen) werden, zu dem Server 1230 übertragen werden. In einigen Ausführungsformen können die Navigationsinformationen mit dem gemeinen Straßensegment 1200 assoziiert sein. Die Navigationsinformationen können eine Trajektorie beinhalten, die mit jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 assoziiert ist, während jedes Fahrzeug über das Straßensegment 1200 fährt. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten rekonstruiert werden, die durch verschiedene Sensoren und Vorrichtungen erfasst werden, die am Fahrzeug 1205 bereitgestellt sind. Beispielsweise kann die Trajektorie basierend auf mindestens einem von Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Landmarkendaten, Straßengeometrie- oder -profildaten, Fahrzeugpositionierungsdaten und Ego-Bewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten von inertialen Sensoren, wie etwa einem Beschleunigungsmesser, und der Geschwindigkeit des Fahrzeugs 1205, die durch einen Geschwindigkeitssensor erfasst wird, rekonstruiert werden. Zusätzlich kann die Trajektorie in einigen Ausführungsformen (z. B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) basierend auf der erfassten Ego-Bewegung der Kamera bestimmt werden, die eine dreidimensionale Translation und/oder dreidimensionale Rotationen (oder Rotationsbewegungen) angeben kann. Die Ego-Bewegung der Kamera (und daher der Fahrzeugkarosserie) kann aus einer Analyse eines oder mehrerer Bilder bestimmt werden, die durch die Kamera erfasst werden.
  • In einigen Ausführungsformen kann die Trajektorie des Fahrzeugs 1205 durch einen Prozessor, der an Bord des Fahrzeugs 1205 bereitgestellt ist, bestimmt und zu dem Server 1230 übertragen werden. In anderen Ausführungsformen kann der Server 1230 Daten, die durch die verschiedenen im Fahrzeug 1205 bereitgestellten Sensoren und Vorrichtungen erfasst werden, empfangen und die Trajektorie basierend auf den vom Fahrzeug 1205 empfangenen Daten bestimmen.
  • In einigen Ausführungsformen können die Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zu dem Server 1230 übertragen werden, Daten bezüglich der Straßenoberfläche, der Straßengeometrie und des Straßenprofils beinhalten. Die Geometrie des Straßensegments 1200 kann Spurstruktur und/oder Landmarken beinhalten. Die Spurstruktur kann die Gesamtanzahl von Spuren des Straßensegments 1200, die Art von Spuren (z. B. Einbahnspur, Zweibahnspur, Fahrspur, Überholspur usw.), Markierungen auf Spuren, Breite von Spuren usw. beinhalten. In einigen Ausführungsformen können die Navigationsinformationen eine Spurzuweisung beinhalten, z. B. auf welcher Spur einer Vielzahl von Spuren ein Fahrzeug fährt. Beispielsweise kann die Spurzuweisung mit einem numerischen Wert „3“ assoziiert sein, der angibt, dass das Fahrzeug auf der dritten Spur von der linken oder rechten Seite fährt. Als ein anderes Beispiel kann die Spurzuweisung mit einem Textwert „Mittelspur“ assoziiert sein, der angibt, dass das Fahrzeug auf der Mittelspur fährt.
  • Der Server 1230 kann die Navigationsinformationen in einem nichtflüchtigen computerlesbares Medium speichern, wie etwa einer Festplatte, einer Compact Disc, einem Band, einem Speicher usw. Der Server 1230 kann (z. B. durch einen Prozessor, der im Server 1230 enthalten ist) zumindest einen Teil des Autonomes-Fahrzeug-Straßennavigationsmodells für das gemeine Straßensegment 1200 basierend auf den Navigationsinformationen, die von der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, erzeugen und kann das Modell als einen Teil einer dünnbesetzten Karte speichern. Der Server 1230 kann eine Trajektorie, die mit jeder Spur assoziiert ist, basierend auf Crowdsourcing-Daten (z. B. Navigationsinformationen) bestimmen, die von mehreren Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die auf einer Spur des Straßensegments zu unterschiedlichen Zeiten fahren. Der Server 1230 kann das Autonomes-Fahrzeug-Straßennavigationsmodell oder einen Teil des Modells (z. B. einen aktualisierten Teil) basierend auf einer Vielzahl von Trajektorien erzeugen, die basierend auf den durch Crowdsourcing erhaltenen Navigationsdaten bestimmt werden. Der Server 1230 kann das Modell oder den aktualisierten Teil des Modells zu einem oder mehreren der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die auf dem Straßensegment 1200 fahren, oder beliebigen anderen autonomen Fahrzeugen, die auf dem Straßensegment zu einer späteren Zeit fahren, übertragen, um ein existierendes Autonomes-Fahrzeug-Straßennavigationsmodell zu aktualisieren, das in einem Navigationssystem der Fahrzeuge bereitgestellt ist. Das Autonomes-Fahrzeug-Straßennavigationsmodell kann durch die autonomen Fahrzeuge beim autonomen Navigieren entlang des gemeinen Straßensegments 1200 verwendet werden.
  • Wie oben erläutert, kann das Autonomes-Fahrzeug-Straßennavigationsmodell in eine dünnbesetzte Karte (z. B. dünnbesetzte Karte 800, die in 8 dargestellt ist) eingeschlossen werden. Die dünnbesetzte Karte 800 kann eine dünnbesetzte Aufzeichnung von Daten bezüglich der Straßengeometrie und/oder Landmarken entlang einer Straße beinhalten, was ausreichend Informationen zum Anleiten der autonomen Navigation eines autonomen Fahrzeugs bereitstellen kann, jedoch keine übermäßige Datenspeicherung erfordert. In einigen Ausführungsformen kann das Autonomes-Fahrzeug-Straßennavigationsmodell separat von der dünnbesetzten Karte 800 gespeichert werden und kann Kartendaten von der dünnbesetzten Karte 800 verwenden, wenn das Modell für die Navigation ausgeführt wird. In einigen Ausführungsformen kann das Autonomes-Fahrzeug-Straßennavigationsmodell Kartendaten, die in der dünnbesetzten Karte 800 enthalten sind, für die Bestimmung von Zieltrajektorien entlang des Straßensegments 1200 zum Anleiten der autonomen Navigation der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder anderer Fahrzeuge, die später entlang des Straßensegments 1200 fahren, verwenden. Wenn beispielsweise das Autonomes-Fahrzeug-Straßennavigationsmodell durch einen Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 enthalten ist, kann das Modell bewirken, dass der Prozessor die Trajektorien, die basierend auf den Navigationsinformationen bestimmt werden, die vom Fahrzeug 1205 empfangen werden, mit vorbestimmten Trajektorien, die in der dünnbesetzten Karte 800 enthalten sind, vergleicht, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu validieren und/oder zu korrigieren.
  • Im Autonomes-Fahrzeug-Straßennavigationsmodell kann die Geometrie eines Straßenmerkmals oder einer Zieltrajektorie durch eine Kurve in einem dreidimensionalen Raum codiert sein. In einer Ausführungsform kann die Kurve ein dreidimensionaler Spline sein, der ein oder mehrere verbindende dreidimensionale Polynome beinhaltet. Wie ein Fachmann auf dem Gebiet verstehen würde, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Reihe von Polynomen zum Fitten von Daten definiert ist. Ein Spline zum Fitten der dreidimensionalen Geometriedaten der Straße kann einen linearen Spline (erste Ordnung), einen quadratischen Spline (zweite Ordnung), einen kubischen Spline (dritte Ordnung) oder beliebige andere Splines (andere Ordnungen) oder eine Kombination davon beinhalten. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnungen beinhalten, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z. B. fitten). In einigen Ausführungsformen kann das Autonomes-Fahrzeug-Straßennavigationsmodell einen dreidimensionalen Spline beinhalten, der einer Zieltrajektorie entlang eines gemeinen Straßensegments (z. B. Straßensegment 1200) oder einer Spur des Straßensegments 1200 entspricht.
  • Wie oben erläutert, kann das in der dünnbesetzten Karte enthaltene Autonomes-Fahrzeug-Straßennavigationsmodell andere Informationen beinhalten, wie etwa eine Identifikation von mindestens einer Landmarke entlang des Straßensegments 1200. Die Landmarke kann innerhalb eines Sichtfeldes einer Kamera (z. B. Kamera 122) sichtbar sein, die an jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 installiert ist. In einigen Ausführungsformen kann die Kamera 122 ein Bild einer Landmarke erfassen. Ein Prozessor (z. B. Prozessor 180, 190 oder Verarbeitungseinheit 110), der am Fahrzeug 1205 bereitgestellt ist, kann das Bild der Landmarke verarbeiten, um Identifikationsinformationen für die Landmarke zu extrahieren. Die Landmarkenidentifikationsinformationen, anstatt eines tatsächlichen Bildes der Landmarke, können in der dünnbesetzten Karte 800 gespeichert werden. Die Landmarkenidentifikationsinformationen können viel weniger Speicherraum als ein tatsächliches Bild erfordern. Andere Sensoren oder Systeme (z. B. GPS-System) können auch gewisse Identifikationsinformationen der Landmarke (z. B. Position der Landmarke) bereitstellen. Die Landmarke kann mindestens eines von einem Verkehrsschild, einer Pfeilmarkierung, einer Spurmarkierung, einer gestrichelten Spurmarkierung, einer Ampel, einer Haltelinie, einem Richtungsschild (z. B. einem Autobahnausfahrtsschild mit einem Pfeil, der eine Richtung angibt, einem Autobahnschild mit Pfeilen, die zu unterschiedlichen Richtungen oder Orten zeigen), einem Landmarken-Beacon oder einem Lampenpfosten beinhalten. Ein Landmarken-Beacon bezieht sich auf eine Vorrichtung (z. B. eine RFID-Vorrichtung), die entlang eines Straßensegments installiert ist und ein Signal zu einem Empfänger, der an einem Fahrzeug installiert ist, überträgt oder reflektiert, sodass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, der durch das Fahrzeug empfangene Beacon und der Standort der Vorrichtung (z. B. aus dem GPS-Standort der Vorrichtung bestimmt) als eine Landmarke verwendet werden kann, die in dem Autonomes-Fahrzeug-Straßennavigationsmodell und/oder der dünnbesetzten Karte 800 eingeschlossen werden soll.
  • Die Identifikation von mindestens einer Landmarke kann eine Position der mindestens einen Landmarke beinhalten. Die Position der Landmarke kann basierend auf Positionsmessungen bestimmt werden, die unter Verwendung von Sensorsystemen durchgeführt werden (z. B. globale Positionierungssysteme, inertialbasierte Positionierungssysteme, Landmarken-Beacon usw.), die mit der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 assoziiert sind. In einigen Ausführungsformen kann die Position der Landmarke durch Mitteln der Positionsmessungen bestimmt werden, die durch Sensorsysteme an unterschiedlichen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 über mehrere Fahrten detektiert, gesammelt oder empfangen werden. Beispielsweise können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessungsdaten zu dem Server 1230 übertragen, der die Positionsmessungen mitteln und die gemittelte Positionsmessung als die Position der Landmarke verwenden kann. Die Position der Landmarke kann kontinuierlich durch Messungen, die von Fahrzeugen bei anschließenden Fahrten empfangen werden, verfeinert werden.
  • Die Identifikation der Landmarke kann eine Größe der Landmarke beinhalten. Der an einem Fahrzeug (z. B. 1205) bereitgestellte Prozessor kann die physische Größe der Landmarke basierend auf der Analyse der Bilder schätzen. Der Server 1230 kann mehrere Schätzungen der physischen Größe der gleichen Landmarke von unterschiedlichen Fahrzeugen über unterschiedliche Fahrten empfangen. Der Server 1230 kann die unterschiedlichen Schätzungen mitteln, um eine physische Größe für die Landmarke zu ermitteln, und kann diese Landmarkengröße im Straßenmodell speichern. Die Schätzung der physischen Größe kann verwendet werden, um die Distanz vom Fahrzeug zu der Landmarke zusätzlich zu bestimmen oder zu schätzen. Die Distanz zu der Landmarke kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einem Erweiterungsmaßstab basierend auf der Position der Landmarke, die in den Bildern auftritt, relativ zu dem Erweiterungsfokus der Kamera geschätzt werden. Beispielsweise kann die Distanz zu der Landmarke durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Distanz im Bild von der Landmarke zur Zeit t1 zu dem Erweiterungsfokus ist und D die Änderung der Distanz für die Landmarke im Bild von t1 zu t2 ist. dt repräsentiert (t2-t1). Beispielsweise kann die Distanz zu der Landmarke durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Distanz im Bild zwischen der Landmarke und dem Erweiterungsfokus ist, dt ein Zeitintervall ist und D die Bildverschiebung der Landmarke entlang der epipolaren Linie ist. Andere Gleichungen äquivalent zu der obigen Gleichung, wie etwa Z = V * ω/Δω, können zum Schätzen der Distanz zu der Landmarke verwendet werden. Hier ist V die Fahrzeuggeschwindigkeit, ω ist eine Bildlänge (wie die Objektbreite) und Δω ist die Änderung dieser Bildlänge in einer Zeiteinheit.
  • Wenn die physische Größe der Landmarke bekannt ist, kann die Distanz zu der Landmarke auch basierend auf der folgenden Gleichung bestimmt werden: Z = f * W/ω, wobei f die Brennweite ist, W die Größe der Landmarke (z. B. Höhe oder Breite) ist, ω die Anzahl von Pixeln ist, wenn die Landmarke das Bild verlässt. Aus der obigen Gleichung kann eine Änderung der Distanz Z unter Verwendung von ΔZ = f * W * Δω / ω2 + f * ΔW/ω berechnet werden, wobei ΔW durch Mittelung auf Null abklingt, und wobei Δω die Anzahl von Pixeln ist, die eine Begrenzungsrahmengenauigkeit im Bild repräsentiert. Ein Wert, der die physische Größe der Landmarke schätzt, kann durch Mittelung mehrerer Beobachtungen an der Serverseite berechnet werden. Der resultierende Fehler bei der Distanzschätzung kann sehr klein sein. Es gibt zwei Fehlerquellen, die auftreten können, wenn die obige Formel verwendet wird, nämlich ΔW und Δω. Ihr Beitrag zu dem Distanzfehler ist durch ΔZ = f * W * Δω / ω2 + f*ΔW/ω gegeben. ΔW klingt jedoch durch Mittelung auf Null ab; daher wird ΔZ durch Δω bestimmt (z. B. die Ungenauigkeit des Begrenzungsrahmens im Bild).
  • Für Landmarken mit unbekannten Abmessungen kann die Distanz zu der Landmarke durch Verfolgen von Merkmalspunkten an der Landmarke zwischen aufeinanderfolgenden Frames geschätzt werden. Beispielsweise können gewisse Merkmale, die auf einem Geschwindigkeitsbegrenzungsschild auftreten, zwischen zwei oder mehr Bildframes verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Distanzverteilung pro Merkmalspunkt erzeugt werden. Die Distanzschätzung kann aus der Distanzverteilung extrahiert werden. Beispielsweise kann die häufigste Distanz, die in der Distanzverteilung auftritt, als die Distanzschätzung verwendet werden. Als ein anderes Beispiel kann der Durchschnitt der Distanzverteilung als die Distanzschätzung verwendet werden.
  • 13 veranschaulicht ein beispielhaftes Autonomes-Fahrzeug-Straßennavigationsmodell, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 repräsentiert wird. Die in 13 gezeigten Kurven 1301, 1302 und 1303 sind nur veranschaulichend. Jeder Spline kann ein oder mehrere dreidimensionale Polynome beinhalten, die eine Vielzahl von Datenpunkten 1310 verbinden. Jedes Polynom kann ein Polynom erster Ordnung, ein Polynom zweiter Ordnung, ein Polynom dritter Ordnung oder eine Kombination beliebiger geeigneter Polynome mit unterschiedlichen Ordnungen sein. Jeder Datenpunkt 1310 kann mit den Navigationsinformationen assoziiert sein, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann jeder Datenpunkt 1310 mit Daten bezüglich Landmarken (z. B. Größe, Standort und Identifikationsinformationen von Landmarken) und/oder Straßensignaturprofilen (z. B. Straßengeometrie, Straßenunebenheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) assoziiert sein. In einigen Ausführungsformen können einige Datenpunkte 1310 mit Daten bezüglich Landmarken assoziiert sein, und andere können mit Daten bezüglich Straßensignaturprofilen assoziiert sein.
  • 14 veranschaulicht rohe Standortdaten 1410 (z. B. GPS-Daten), die von fünf separaten Fahrten empfangen werden. Eine Fahrt kann von einer anderen Fahrt separat sein, falls sie durch separate Fahrzeuge zu der gleichen Zeit, durch das gleiche Fahrzeug zu separaten Zeiten oder durch separate Fahrzeuge zu separaten Zeiten gefahren wurde. Um Fehler in den Standortdaten 1410 und unterschiedliche Standorte von Fahrzeugen in der gleichen Spur (z. B. kann ein Fahrzeug näher zu der linken Seite einer Spur fahren als ein anderes) zu berücksichtigen, kann der Server 1230 ein Kartenskelett 1420 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um zu bestimmen, ob Variationen in den rohen Standortdaten 1410 tatsächliche Divergenzen oder statistische Fehler repräsentieren. Jeder Pfad im Skelett 1420 kann mit den Rohdaten 1410 verknüpft werden, die den Pfad bildeten. Beispielsweise ist der Pfad zwischen A und B im Skelett 1420 mit Rohdaten 1410 von den Fahrten 2, 3, 4 und 5, aber nicht von der Fahrt 1 verknüpft. Das Skelett 1420 ist jedoch möglicherweise nicht detailliert genug, um zum Navigieren eines Fahrzeugs verwendet zu werden (z. B. da es Fahrten von mehreren Spuren auf der gleichen Straße kombiniert, im Gegensatz zu den oben beschriebenen Splines), kann aber nützliche topologische Informationen bereitstellen und kann zum Definieren von Kreuzungen verwendet werden.
  • 15 veranschaulicht ein Beispiel, durch das zusätzliche Einzelheiten für eine dünnbesetzte Karte innerhalb eines Segments eines Kartenskeletts erzeugt werden können (z. B. Segment A bis B im Skelett 1420). Wie in 15 dargestellt, können die Daten (z. B. Ego-Bewegungsdaten, Straßenmarkierungsdaten und dergleichen) als eine Funktion der Position S (oder S1 oder S2) entlang der Fahrt gezeigt sein. Der Server 1230 kann Landmarken für die dünnbesetzte Karte durch Identifizieren eindeutiger Übereinstimmungen zwischen den Landmarken 1501, 1503 und 1505 der Fahrt 1510 und den Landmarken 1507 und 1509 der Fahrt 1520 identifizieren. Ein solcher Abgleichalgorithmus kann zu der Identifikation der Landmarken 1511, 1513 und 1515 führen. Ein Fachmann auf dem Gebiet würde jedoch erkennen, dass andere Abgleichalgorithmen verwendet werden können. Beispielsweise kann eine Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit eindeutiger Übereinstimmung verwendet werden. Der Server 1230 kann die Fahrten longitudinal ausrichten, um die abgeglichenen Landmarken auszurichten. Beispielsweise kann der Server 1230 eine Fahrt (z. B. 1520) als eine Referenzfahrt auswählen und dann die andere(n) Fahrt(en) (z. B. Fahrt 1510) für den Abgleich verschieben und/oder elastisch dehnen.
  • 16 zeigt ein Beispiel für ausgerichtete Landmarkendaten zur Verwendung in einer dünnbesetzten Karte. In dem Beispiel von 16 umfasst eine Landmarke 1610 ein Straßenschild. Das Beispiel von 16 stellt ferner Daten von einer Vielzahl von Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613 dar. In dem Beispiel von 16 bestehen die Daten von der Fahrt 1613 aus einer „Phantom“-Landmarke, und der Server 1230 kann sie als solche identifizieren, da keine der Fahrten 1601, 1603, 1605, 1607, 1609 und 1611 eine Identifikation einer Landmarke in der Nähe der identifizierten Landmarke in der Fahrt 1613 beinhalten. Dementsprechend kann der Server 1230 potenzielle Landmarken annehmen, wenn ein Verhältnis von Bildern, in denen die Landmarke auftritt, zu Bildern, in denen die Landmarke nicht auftritt, eine Schwelle überschreitet, und/oder kann potenzielle Landmarken verwerfen, wenn ein Verhältnis von Bildern, in denen die Landmarke nicht auftritt, zu Bildern, in denen die Landmarke auftritt, eine Schwelle überschreitet.
  • 17 stellt ein System 1700 zum Erzeugen von Fahrdaten dar, die zum Crowdsourcing einer dünnbesetzten Karte verwendet werden können. Wie in 17 dargestellt, kann das System 1700 eine Kamera 1701 und eine Lokalisierungsvorrichtung 1703 (z. B. einen GPS-Positionsgeber) beinhalten. Die Kamera 1701 und die Lokalisierungsvorrichtung 1703 können an einem Fahrzeug (z. B. einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) befestigt sein. Die Kamera 1701 kann eine Vielzahl von Daten mehrerer Arten erzeugen, z. B. Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen. Die Kameradaten und die Standortdaten können in Fahrtsegmente 1705 segmentiert werden. Beispielsweise können die Fahrtsegmente 1705 jeweils Kameradaten und Standortdaten von weniger als 1 km Fahrt aufweisen.
  • In einigen Ausführungsformen kann das System 1700 Redundanzen in den Fahrtsegmenten 1705 entfernen. Falls beispielsweise eine Landmark in mehreren Bildern von der Kamera 1701 auftritt, kann das System 1700 die redundanten Daten entfernen, sodass die Fahrtsegmente 1705 nur eine Kopie des Standorts von und jegliche Metadaten bezüglich der Landmarke enthalten. Bei einem weiteren Beispiel, falls eine Spurmarkierung in mehreren Bildern von der Kamera 1701 auftritt, kann das System 1700 die redundanten Daten entfernen, sodass die Fahrtsegmente 1705 nur eine Kopie des Standorts von und jegliche Metadaten bezüglich der Spurmarkierung enthalten.
  • Das System 1700 beinhaltet auch einen Server (z. B. Server 1230). Der Server 1230 kann die Fahrtsegmente 1705 vom Fahrzeug empfangen und die Fahrtsegmente 1705 in eine einzige Fahrt 1707 rekombinieren. Eine solche Anordnung kann reduzierte Bandbreitenanforderungen ermöglichen, wenn Daten zwischen dem Fahrzeug und dem Server transferiert werden, während auch ermöglicht wird, dass der Server Daten bezüglich einer gesamten Fahrt speichert.
  • 18 stellt das System 1700 von 17 ferner als für das Crowdsourcing einer dünnbesetzten Karte konfiguriert dar. Wie in 17 beinhaltet das System 1700 ein Fahrzeug 1810, das Fahrtdaten zum Beispiel unter Verwendung einer Kamera (die z. B. Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. eines GPS-Positionsgebers) erfasst. Wie in 17 segmentiert das Fahrzeug 1810 die gesammelten Daten in Fahrtsegmente (als „DS1 1“, „DS2 1“, „DSN 1“ in 18 dargestellt). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert eine Fahrt (als „Fahrt 1“ in 18 dargestellt) aus den empfangenen Segmenten.
  • Wie ferner in 18 dargestellt, empfängt das System 1700 auch Daten von zusätzlichen Fahrzeugen. Beispielsweise erfasst das Fahrzeug 1820 auch Fahrtdaten zum Beispiel unter Verwendung einer Kamera (die z. B. Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. eines GPS-Positionsgebers). Ähnlich zu dem Fahrzeug 1810 segmentiert das Fahrzeug 1820 die gesammelten Daten in Fahrtsegmente (als „DS1 2“, „DS2 2“, „DSN 2“ in 18 dargestellt). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert eine Fahrt (als „Fahrt 2“ in 18 dargestellt) aus den empfangenen Segmenten. Eine beliebige Anzahl zusätzlicher Fahrzeuge kann verwendet werden. Zum Beispiel beinhaltet 18 auch „AUTO N“, das Fahrdaten erfasst, sie in Fahrtsegmente segmentiert (als „DS1 N“, „DS2 N“, „DSN N“ in 18 dargestellt) und sie zu dem Server 1230 zur Rekonstruktion in eine Fahrt (als „Fahrt N“ in 18 dargestellt) sendet.
  • Wie in 18 dargestellt, kann der Server 1230 eine dünnbesetzte Karte (als „KARTE“ dargestellt) unter Verwendung der rekonstruierten Fahrten (z. B. „Fahrt 1“, „Fahrt 2“ und „Fahrt N“) konstruieren, die von einer Vielzahl von Fahrzeugen (z. B. „AUTO 1“ (auch als Fahrzeug 1810 gelabelt), „AUTO 2“ (auch als Fahrzeug 1820 gelabelt) und „AUTO N“) gesammelt werden.
  • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess 1900 zum Erzeugen einer dünnbesetzten Karte zur autonomen Fahrzeugnavigation entlang eines Straßensegments zeigt. Der Prozess 1900 kann durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden, die im Server 1230 enthalten sind.
  • Der Prozess 1900 kann Empfangen einer Vielzahl von Bildern beinhalten, die gewonnen werden, während ein oder mehrere Fahrzeuge das Straßensegment befahren (Schritt 1905). Der Server 1230 kann Bilder von Kameras empfangen, die in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 1225 enthalten sind. Beispielsweise kann die Kamera 122 ein oder mehrere Bilder der Umgebung im Umfeld des Fahrzeugs 1205 aufnehmen, während das Fahrzeug 1205 entlang des Straßensegments 1200 fährt. In einigen Ausführungsformen kann der Server 1230 auch gekürzte Bilddaten empfangen, aus denen Redundanzen durch einen Prozessor am Fahrzeug 1205 entfernt wurden, wie oben mit Bezug auf 17 besprochen.
  • Der Prozess 1900 kann ferner Identifizieren, basierend auf der Vielzahl von Bildern, mindestens einer Linienrepräsentation eines Straßenoberflächenmerkmals, das sich entlang des Straßensegments erstreckt, beinhalten (Schritt 1910). Jede Linienrepräsentation kann einen Pfad entlang des Straßensegments im Wesentlichen entsprechend dem Straßenoberflächenmerkmal repräsentieren. Beispielsweise kann der Server 1230 die Umgebungsbilder analysieren, die von der Kamera 122 empfangen werden, um einen Straßenrand oder eine Spurmarkierung zu identifizieren und eine Fahrttrajektorie entlang des Straßensegments 1200 bestimmen, das mit dem Straßenrand oder der Spurmarkierung assoziiert ist. In einigen Ausführungsformen kann die Trajektorie (oder Linienrepräsentation) einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Der Server 1230 kann die Fahrttrajektorie des Fahrzeugs 1205 basierend auf Kamera-Ego-Bewegungen (z. B. dreidimensionale Translation und/oder dreidimensionale Rotationsbewegungen), die bei Schritt 1905 empfangen werden, bestimmen.
  • Der Prozess 1900 kann auch Identifizieren, basierend auf der Vielzahl von Bildern, einer Vielzahl von Landmarken, die mit dem Straßensegment assoziiert sind, beinhalten (Schritt 1910). Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um eine oder mehrere Landmarken, wie etwa ein Straßenschild, entlang des Straßensegments 1200 zu identifizieren. Der Server 1230 kann die Landmarken unter Verwendung einer Analyse der Vielzahl von Bildern identifizieren, die gewonnen werden, während ein oder mehrere Fahrzeuge das Straßensegment befahren. Um Crowdsourcing zu ermöglichen, kann die Analyse Regeln bezüglich des Annehmens und Verwerfens möglicher Landmarken, die mit dem Straßensegment assoziiert sind, beinhalten. Beispielsweise kann die Analyse Annehmen potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke auftritt, zu Bildern, in denen die Landmarke nicht auftritt, eine Schwelle überschreitet, und/oder Verwerfen potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke nicht auftritt, zu Bildern, in denen die Landmarke auftritt, eine Schwelle überschreitet, beinhalten.
  • Der Prozess 1900 kann andere Operationen oder Schritte beinhalten, die durch den Server 1230 durchgeführt werden. Beispielsweise können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge zum Fahren entlang eines Straßensegments beinhalten, und der Prozess 1900 kann Clustern, durch den Server 1230, von Fahrzeugtrajektorien bezüglich mehrerer Fahrzeuge, die auf dem Straßensegment fahren, und Bestimmen der Zieltrajektorie basierend auf den geclusterten Fahrzeugtrajektorien beinhalten, wie unten ausführlicher besprochen. Das Clustern von Fahrzeugtrajektorien kann Clustern, durch den Server 1230, der mehreren Trajektorien bezüglich der Fahrzeuge, die auf dem Straßensegment fahren, in eine Vielzahl von Clustern basierend auf mindestens einem des absoluten Steuerkurses von Fahrzeugen oder einer Spurzuweisung der Fahrzeuge beinhalten. Das Erzeugen der Zieltrajektorie kann Mitteln, durch den Server 1230, der geclusterten Trajektorien beinhalten. Beispielhaft kann der Prozess 1900 Ausrichten von Daten, die in Schritt 1905 empfangen werden, beinhalten. Andere Prozesse oder Schritte, die durch den Server 1230 durchgeführt werden, wie oben beschrieben, können auch im Prozess 1900 enthalten sein.
  • Die offenbarten Systeme und Verfahren können andere Merkmale beinhalten. Beispielsweise können die offenbarten Systeme lokale Koordinaten, anstelle globaler Koordinaten verwenden. Für autonomes Fahren können einige Systeme Daten in Weltkoordinaten präsentieren. Beispielsweise können Längen- und Breitenkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte zur Lenkung zu verwenden, kann das Host-Fahrzeug seine Position und Orientierung relativ zu der Karte bestimmen. Es scheint natürlich, eine GPS-Vorrichtung an Bord zu verwenden, um das Fahrzeug auf der Karte zu positionieren und um die Rotationstransformation zwischen dem Karosseriereferenzrahmen und dem Weltreferenzrahmen (z. B. Norden, Osten und Abwärts) zu finden. Sobald der Karosseriereferenzrahmen mit dem Kartenreferenzrahmen ausgerichtet ist, dann kann die gewünschte Route im Karosseriereferenzrahmen ausgedrückt werden und die Lenkbefehle können berechnet oder erzeugt werden.
  • Die offenbarten Systeme und Verfahren können eine autonome Fahrzeugnavigation (z. B. Lenksteuerung) mit Modellen mit niedrigem Footprint ermöglichen, die durch die autonomen Fahrzeuge selbst gesammelt werden können, ohne die Hilfe kostspieliger Vermessungsgeräte. Um die autonome Navigation (z. B. Lenkanwendungen) zu unterstützen, kann das Straßenmodell eine dünnbesetzte Karte mit der Geometrie der Straße, ihrer Spurstruktur und Landmarken, die zum Bestimmen des Standorts oder der Position von Fahrzeugen entlang einer im Modell enthaltenen Trajektorie verwendet werden können, beinhalten. Wie oben besprochen, kann die Erzeugung der dünnbesetzten Karte durch einen entfernten Server durchgeführt werden, der mit Fahrzeugen, die auf der Straße fahren, kommuniziert und Daten von den Fahrzeugen empfängt. Die Daten können erfasste Daten, Trajektorien, die basierend auf den erfassten Daten rekonstruiert werden, und/oder empfohlene Trajektorien, die modifizierte rekonstruierte Trajektorien repräsentieren können, beinhalten. Wie unten besprochen, kann der Server das Modell zurück zu den Fahrzeugen oder anderen Fahrzeugen, die später auf der Straße fahren, übertragen, um bei der autonomen Navigation zu helfen.
  • 20 veranschaulicht ein Blockdiagramm des Servers 1230. Der Server 1230 kann eine Kommunikationseinheit 2005 beinhalten, die sowohl Hardwarekomponenten (z. B. Kommunikationssteuerschaltungen, Schalter und Antennen) als auch Softwarekomponenten (z. B. Kommunikationsprotokolle, Computercodes) beinhalten kann. Beispielsweise kann die Kommunikationseinheit 2005 mindestens eine Netzwerkschnittstelle beinhalten. Der Server 1230 kann über die Kommunikationseinheit 2005 mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kommunizieren. Der Server 1230 kann zum Beispiel über die Kommunikationseinheit 2005 Navigationsinformationen empfangen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 übertragen werden. Der Server 1230 kann über die Kommunikationseinheit 2005 das Autonomes-Fahrzeug-Straßennavigationsmodell an ein oder mehrere autonome Fahrzeuge verteilen.
  • Der Server 1230 kann mindestens ein nichtflüchtiges Speicherungsmedium 2010 beinhalten, wie etwa eine Festplatte, eine Compact Disc, ein Band usw. Die Speicherungsvorrichtung 1410 kann dazu ausgelegt sein, Daten, wie etwa Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, und/oder das Autonomes-Fahrzeug-Straßennavigationsmodell, das der Server 1230 basierend auf den Navigationsinformationen erzeugt, zu speichern. Die Speicherungsvorrichtung 2010 kann dazu ausgelegt sein, beliebige andere Informationen zu speichern, wie etwa eine dünnbesetzte Karte (z. B. dünnbesetzte Karte 800, die oben mit Bezug auf 8 besprochen ist).
  • Zusätzlich oder anstelle der Speicherungsvorrichtung 2010 kann der Server 1230 einen Speicher 2015 beinhalten. Der Speicher 2015 kann dem Speicher 140 oder 150 ähnlich sein oder sich von diesem unterscheiden. Der Speicher 2015 kann ein nichtflüchtiger Speicher sein, wie etwa ein Flash-Speicher, ein Direktzugriffsspeicher usw. Der Speicher 2015 kann dazu ausgelegt sein, Daten, wie etwa Computercodes oder Anweisungen, die durch einen Prozessor (z. B. Prozessor 2020) ausführbar sind, Kartendaten (z. B. Daten der dünnbesetzten Karte 800), das Autonomes-Fahrzeug-Straßennavigationsmodell und/oder Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, zu speichern.
  • Der Server 1230 kann mindestens eine Verarbeitungsvorrichtung 2020 beinhalten, die dazu ausgelegt ist, Computercodes oder Anweisungen, die im Speicher 2015 gespeichert sind, auszuführen, um verschiedene Funktionen durchzuführen. Beispielsweise kann die Verarbeitungsvorrichtung 2020 die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen analysieren und das Autonomes-Fahrzeug-Straßennavigationsmodell basierend auf der Analyse erzeugen. Die Verarbeitungsvorrichtung 2020 kann die Kommunikationseinheit 1405 steuern, um das Autonomes-Fahrzeug-Straßennavigationsmodell an ein oder mehrere autonome Fahrzeuge zu verteilen (z. B. ein oder mehrere der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder ein beliebiges Fahrzeug, das auf dem Straßensegment 1200 zu einer späteren Zeit fährt). Die Verarbeitungsvorrichtung 2020 kann dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 ähnlich sein oder sich von diesen unterscheiden.
  • 21 veranschaulicht ein Blockdiagramm des Speichers 2015, der Computercode oder Anweisungen zum Durchführen einer oder mehrerer Operationen zum Erzeugen eines Straßennavigationsmodells zur Verwendung bei der autonomen Fahrzeugnavigation speichern kann. Wie in 21 gezeigt, kann der Speicher 2015 ein oder mehrere Module zum Durchführen der Operationen zur Verarbeitung von Fahrzeugnavigationsinformationen speichern. Beispielsweise kann der Speicher 2015 ein Modellerzeugungsmodul 2105 und ein Modellverteilungsmodul 2110 beinhalten. Der Prozessor 2020 kann die Anweisungen ausführen, die in irgendeinem der im Speicher 2015 enthaltenen Module 2105 und 2110 gespeichert sind.
  • Das Modellerzeugungsmodul 2105 kann Anweisungen speichern, die, wenn sie durch den Prozessor 2020 ausgeführt werden, zumindest einen Teil eines Autonomes-Fahrzeug-Straßennavigationsmodell für ein gemeines Straßensegment (z. B. Straßensegment 1200) basierend auf Navigationsinformationen erzeugen kann, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Beispielsweise kann der Prozessor 2020 bei der Erzeugung des Autonomes-Fahrzeug-Straßennavigationsmodells Fahrzeugtrajektorien entlang des gemeinen Straßensegments 1200 in unterschiedliche Cluster clustern. Der Prozessor 2020 kann eine Zieltrajektorie entlang des gemeinen Straßensegments 1200 basierend auf den geclusterten Fahrzeugtrajektorien für jedes der unterschiedlichen Cluster bestimmen. Eine solche Operation kann Finden einer mittleren oder durchschnittlichen Trajektorie der geclusterten Fahrzeugtrajektorien (z. B. durch Mitteln von Daten, die die geclusterten Fahrzeugtrajektorien repräsentieren) in jedem Cluster beinhalten. In einigen Ausführungsformen kann die Zieltrajektorie mit einer einzelnen Spur des gemeinen Straßensegments 1200 assoziiert sein.
  • Das Straßenmodell und/oder die dünnbesetzte Karte können Trajektorien speichern, die mit einem Straßensegment assoziiert sind. Diese Trajektorien können als Zieltrajektorien bezeichnet werden, die autonomen Fahrzeugen zur autonomen Navigation bereitgestellt werden. Die Zieltrajektorien können von mehreren Fahrzeugen empfangen werden oder können basierend auf tatsächlichen Trajektorien oder empfohlenen Trajektorien (tatsächliche Trajektorien mit einigen Modifikationen), die von mehreren Fahrzeugen empfangen werden, erzeugt werden. Die Zieltrajektorien, die im Straßenmodell oder in der dünnbesetzten Karte enthalten sind, können kontinuierlich mit neuen Trajektorien, die von anderen Fahrzeugen empfangen werden, aktualisiert (z. B. gemittelt) werden.
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten mittels verschiedener Sensoren sammeln. Die Daten können Landmarken, ein Straßensignaturprofil, eine Fahrzeugbewegung (z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten), eine Fahrzeugposition (z. B. GPS-Daten) beinhalten und können entweder die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten zu einem Server übertragen, der die tatsächlichen Trajektorien für die Fahrzeuge rekonstruieren wird. In einigen Ausführungsformen können die Fahrzeuge Daten bezüglich einer Trajektorie (z. B. eine Kurve in einem willkürlichen Referenzrahmen), Landmarkendaten und eine Spurzuweisung entlang des Fahrpfades zu dem Server 1230 übertragen. Verschiedene Fahrzeuge, die entlang des gleichen Straßensegments bei mehreren Fahrten fahren, können unterschiedliche Trajektorien aufweisen. Der Server 1230 kann Routen oder Trajektorien, die mit jeder Spur assoziiert sind, aus den Trajektorien, die von Fahrzeugen empfangen werden, über einen Clustering-Prozess identifizieren.
  • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 assoziiert sind, zum Bestimmen einer Zieltrajektorie für das gemeine Straßensegment (z. B. Straßensegment 1200). Die Zieltrajektorie oder eine Vielzahl von Zieltrajektorien, die aus dem Clustering-Prozess bestimmt werden, können in das Autonomes-Fahrzeug-Straßennavigationsmodell oder die dünnbesetzte Karte 800 eingeschlossen werden. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die entlang des Straßensegments 1200 fahren, eine Vielzahl von Trajektorien 2200 zu dem Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Landmarken-, Straßengeometrie- und Fahrzeugbewegungsinformationen erzeugen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das Autonomes-Fahrzeug-Straßennavigationsmodell zu erzeugen, kann der Server 1230 Fahrzeugtrajektorien 1600 in eine Vielzahl von Clustern 2205, 2210, 2215, 2220, 2225 und 2230 clustern, wie in 22 gezeigt.
  • Das Clustern kann unter Verwendung verschiedener Kriterien durchgeführt werden. In einigen Ausführungsformen können sich alle Fahrten in einem Cluster in Bezug auf den absoluten Steuerkurs entlang des Straßensegments 1200 ähnlich sein. Der absolute Steuerkurs kann aus GPS-Signalen erhalten werden, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann der absolute Steuerkurs unter Verwendung von Dead Reckoning erhalten werden. Dead Reckoning, wie ein Fachmann auf dem Gebiet verstehen wird, kann verwendet werden, um die aktuelle Position und daher den Steuerkurs der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 unter Verwendung einer zuvor bestimmten Position, einer geschätzten Geschwindigkeit usw. zu bestimmen. Trajektorien, die nach absolutem Steuerkurs geclustert sind, können zum Identifizieren von Routen entlang der Fahrbahnen nützlich sein.
  • In einigen Ausführungsformen können sich alle der Fahrten in einem Cluster in Bezug auf die Spurzuweisung (z. B. in der gleichen Spur vor und nach einer Kreuzung) entlang der Fahrt auf dem Straßensegment 1200 ähnlich sein. Trajektorien, die nach Spurzuweisung geclustert sind, können zum Identifizieren von Spuren entlang der Fahrbahnen nützlich sein. In einigen Ausführungsformen können beide Kriterien (z. B. absoluter Steuerkurs und Spurzuweisung) zum Clustern verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine Zieltrajektorie zu erhalten, die mit dem spezifischen Cluster assoziiert ist. Beispielsweise können die Trajektorien von mehreren Fahrten, die mit dem gleichen Spurcluster assoziiert sind, gemittelt werden. Die gemittelte Trajektorie kann eine Zieltrajektorie sein, die mit einer spezifischen Spur assoziiert ist. Um ein Cluster von Trajektorien zu mitteln, kann der Server 1230 einen Referenzrahmen einer willkürlichen Trajektorie C0 auswählen. Für alle anderen Trajektorien (C1, ..., Cn) kann der Server 1230 eine starre Transformation finden, die Ci auf C0 abbildet, wobei i = 1, 2, ..., n, wobei n eine positive Ganzzahl ist, die der Gesamtanzahl von Trajektorien, die im Cluster enthalten sind, entspricht. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im C0-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Landmarken einen Bogenlängenabgleich zwischen verschiedenen Fahrten definieren, der zur Ausrichtung von Trajektorien mit Spuren verwendet werden kann. In einigen Ausführungsformen können Spurmarkierungen vor und nach einer Kreuzung für die Ausrichtung von Trajektorien mit Spuren verwendet werden.
  • Um Spuren aus den Trajektorien zusammenzusetzen, kann der Server 1230 einen Referenzrahmen einer willkürlichen Spur auswählen. Der Server 1230 kann teilweise überlappende Spuren auf den ausgewählten Referenzrahmen abbilden. Der Server 1230 kann die Abbildung fortsetzen, bis sich alle Spuren im gleichen Referenzrahmen befinden. Spuren, die sich nebeneinander befinden, können ausgerichtet werden, als ob sie die gleiche Spur wären, und sie können später lateral verschoben werden.
  • Landmarken, die entlang des Straßensegments erkannt werden, können in den gemeinen Referenzrahmen abgebildet werden, zuerst auf der Spurebene, dann auf der Kreuzungsebene. Beispielsweise können die gleichen Landmarken mehrere Male durch mehrere Fahrzeuge bei mehreren Fahrten erkannt werden. Die Daten bezüglich derselben Landmarken, die bei unterschiedlichen Fahrten empfangen werden, können sich etwas unterscheiden. Solche Daten können gemittelt und auf den gleichen Referenzrahmen abgebildet werden, wie etwa den C0-Referenzrahmen. Zusätzlich oder alternativ kann die Varianz der Daten derselben Landmarke, die bei unterschiedlichen Fahrten empfangen werden, berechnet werden.
  • In einigen Ausführungsformen kann jede Spur des Straßensegments 120 mit einer Zieltrajektorie und gewissen Landmarken assoziiert sein. Die Zieltrajektorie oder eine Vielzahl solcher Zieltrajektorien können im Autonomes-Fahrzeug-Straßennavigationsmodell enthalten sein, das später durch andere autonome Fahrzeuge verwendet werden kann, die entlang des gleichen Straßensegments 1200 fahren. Landmarken, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge entlang des Straßensegments 1200 fahren, können in Assoziation mit der Zieltrajektorie aufgezeichnet werden. Die Daten der Zieltrajektorien und Landmarken können kontinuierlich oder periodisch mit neuen Daten aktualisiert werden, die von anderen Fahrzeugen bei anschließenden Fahrten empfangen werden.
  • Für die Lokalisierung eines autonomen Fahrzeugs können die offenbarten Systeme und Verfahren ein erweitertes Kalman-Filter verwenden. Der Standort des Fahrzeugs kann basierend auf dreidimensionalen Positionsdaten und/oder dreidimensionalen Orientierungsdaten, der Vorhersage des zukünftigen Standorts vor dem aktuellen Standort des Fahrzeugs durch Integration der Ego-Bewegung bestimmt werden. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtungen von Landmarken korrigiert oder angepasst werden. Wenn zum Beispiel das Fahrzeug eine Landmarke in einem durch die Kamera erfassten Bild detektiert, kann die Landmarke mit einer bekannten Landmarke verglichen werden, die im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist. Die bekannte Landmarke kann einen bekannten Standort (z. B. GPS-Daten) entlang einer Zieltrajektorie aufweisen, die im Straßenmodell und/oder in der dünnbesetzten Karte 800 gespeichert ist. Basierend auf der aktuellen Geschwindigkeit und Bildern der Landmarke kann die Distanz vom Fahrzeug zu der Landmarke geschätzt werden. Der Standort des Fahrzeugs entlang einer Zieltrajektorie kann basierend auf der Distanz zu der Landmarke und dem bekannten Standort der Landmarke (der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist) angepasst werden. Positions-/Standortdaten der Landmarke (z. B. Mittelwerte von mehreren Fahrten), die im Straßenmodell und/oder in der dünnbesetzten Karte 800 gespeichert sind, können als genau angenommen werden.
  • In einigen Ausführungsformen kann das offenbarte System ein Untersystem mit geschlossener Schleife bilden, in dem eine Schätzung des Fahrzeugstandorts mit sechs Freiheitsgraden (z. B. dreidimensionale Positionsdaten plus dreidimensionale Orientierungsdaten) zur Navigation (z. B. Lenkung des Rades) des autonomen Fahrzeugs zum Erreichen eines gewünschten Punktes (z. B. 1,3 Sekunden vor dem gespeicherten) verwendet werden kann. Im Gegenzug können die Daten, die von der Lenkung und der tatsächlichen Navigation gemessen werden, zum Schätzen des Standorts mit sechs Freiheitsgraden verwendet werden.
  • In einigen Ausführungsformen können Masten entlang einer Straße, wie etwa Lampenpfosten und Strom- oder Kabelmasten, als Landmarken zur Lokalisierung der Fahrzeuge verwendet werden. Andere Landmarken, wie etwa Verkehrsschilder, Ampeln, Pfeile auf der Straße, Haltelinien, sowie statistische Merkmale oder Signaturen eines Objekts entlang des Straßensegments können auch als Landmarken zur Lokalisierung des Fahrzeugs verwendet werden. Wenn Masten zur Lokalisierung verwendet werden, kann die x-Beobachtung der Masten (d. h. der Sichtwinkel vom Fahrzeug) verwendet werden, anstatt der y-Beobachtung (d. h. die Distanz zum Mast), da die Unterseiten der Masten verdeckt sein können und sie sich manchmal nicht auf der Straßenebene befinden.
  • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das zur autonomen Navigation unter Verwendung einer durch Crowdsourcing erhaltenen dünnbesetzten Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als das Fahrzeug 1205 referenziert. Das in 23 gezeigte Fahrzeug kann ein beliebiges anderes hierin offenbartes Fahrzeug sein, einschließlich zum Beispiel Fahrzeuge 1210, 1215, 1220 und 1225, sowie das Fahrzeug 200, das in anderen Ausführungsformen gezeigt ist. Wie in 12 gezeigt, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bilderfassungsvorrichtung 122 (z. B. Kamera 122) beinhalten. Das Fahrzeug 1205 kann ein Navigationssystem 2300 beinhaltet, das zum Bereitstellen einer Navigationsanleitung für das Fahrzeug 1205 zum Fahren auf einer Straße (z. B. Straßensegment 1200) ausgelegt ist. Das Fahrzeug 1205 kann auch andere Sensoren beinhalten, wie etwa einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325. Der Geschwindigkeitssensor 2320 kann dazu ausgelegt sein, die Geschwindigkeit des Fahrzeugs 1205 zu detektieren. Der Beschleunigungsmesser 2325 kann dazu ausgelegt sein, eine Beschleunigung oder Abbremsung des Fahrzeugs 1205 zu detektieren. Das in 23 gezeigte Fahrzeug 1205 kann ein autonomes Fahrzeug sein, und das Navigationssystem 2300 kann zum Bereitstellen einer Navigationsanleitung für autonomes Fahren verwendet werden. Alternativ kann das Fahrzeug 1205 auch ein nicht autonomes, menschlich gesteuertes Fahrzeug sein, und das Navigationssystem 2300 kann weiterhin zum Bereitstellen einer Navigationsanleitung verwendet werden.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 beinhalten, die dazu ausgelegt ist, über den Kommunikationspfad 1235 mit dem Server 1230 zu kommunizieren. Das Navigationssystem 2300 kann auch eine GPS-Einheit 2310 beinhalten, die dazu ausgelegt ist, GPS-Signale zu empfangen und zu verarbeiten. Das Navigationssystem 2300 kann ferner mindestens einen Prozessor 2315 beinhalten, der dazu ausgelegt ist, Daten, wie etwa GPS-Signale, Kartendaten von der dünnbesetzten Karte 800 (die auf einer Speicherungsvorrichtung gespeichert sein kann, die an Bord des Fahrzeugs 1205 bereitgestellt ist, und/oder vom Server 1230 empfangen werden kann), Straßengeometrie, die durch einen Straßenprofilsensor 2330 erfasst wird, Bilder, die durch die Kamera 122 erfasst werden, und/oder ein Autonomes-Fahrzeug-Straßennavigationsmodell, das vom Server 1230 empfangen wird, zu verarbeiten. Der Straßenprofilsensor 2330 kann unterschiedliche Arten von Vorrichtungen zum Messen unterschiedlicher Arten von Straßenprofilen beinhalten, wie etwa Straßenoberflächenunebenheiten, Straßenbreite, Straßenhöhe, Straßenkrümmung usw. Beispielsweise kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die die Bewegung einer Aufhängung des Fahrzeugs 2305 misst, um das Straßenunebenheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren beinhalten, um den Abstand vom Fahrzeug 1205 zu Straßenrändern (z. B. Barriere an den Straßenrändern) zu messen, wodurch die Breite der Straße gemessen wird. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die zum Messen der Auf- und Abwärtserhebung der Straße ausgelegt ist. In einer Ausführungsform kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die zum Messen der Straßenkrümmung ausgelegt ist. Beispielsweise kann eine Kamera (z. B. Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder der Straße zu erfassen, die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu detektieren.
  • Der mindestens eine Prozessor 2315 kann programmiert sein, von der Kamera 122 mindestens ein Umgebungsbild zu empfangen, das mit dem Fahrzeug 1205 assoziiert ist. Der mindestens eine Prozessor 2315 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen bezüglich des Fahrzeugs 1205 zu bestimmen. Die Navigationsinformationen können eine Trajektorie bezüglich der Fahrt des Fahrzeugs 1205 entlang des Straßensegments 1200 beinhalten. Der mindestens eine Prozessor 2315 kann die Trajektorie basierend auf Bewegungen der Kamera 122 (und daher des Fahrzeugs) bestimmen, wie etwa dreidimensionale Translations- und dreidimensionale Rotationsbewegungen. In einigen Ausführungsformen kann der mindestens eine Prozessor 2315 die Translations- und Rotationsbewegungen der Kamera 122 basierend auf einer Analyse einer Vielzahl von Bildern, die durch die Kamera 122 gewonnen werden, bestimmen. In einigen Ausführungsformen können die Navigationsinformationen Spurzuweisungsinformationen beinhalten (z. B. in welcher Spur das Fahrzeug 1205 entlang des Straßensegments 1200 fährt). Die Navigationsinformationen, die vom Fahrzeug 1205 zum Server 1230 übertragen werden, können durch den Server 1230 verwendet werden, um ein Autonomes-Fahrzeug-Straßennavigationsmodell zu erzeugen und/oder zu aktualisieren, das vom Server 1230 zurück zum Fahrzeug 1205 übertragen werden kann, um eine autonome Navigationsanleitung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann auch programmiert sein, die Navigationsinformationen vom Fahrzeug 1205 zum Server 1230 zu übertragen. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen zum Server 1230 übertragen werden. Die Straßenortsinformationen können mindestens eines von dem GPS-Signal, das durch die GPS-Einheit 2310 empfangen wird, Landmarkeninformationen, Straßengeometrie, Spurinformationen usw. beinhalten. Der mindestens eine Prozessor 2315 kann vom Server 1230 das Autonomes-Fahrzeug-Straßennavigationsmodell oder einen Teil des Modells empfangen. Das Autonomes-Fahrzeug-Straßennavigationsmodell, das vom Server 1230 empfangen wird, kann mindestens eine Aktualisierung basierend auf den Navigationsinformationen, die vom Fahrzeug 1205 zum Server 1230 übertragen werden, beinhalten. Der Teil des Modells, der vom Server 1230 zum Fahrzeug 1205 übertragen wird, kann einen aktualisierten Teil des Modells beinhalten. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z. B. Lenkung, wie etwa Vornehmen einer Abbiegung, Bremsung, Beschleunigung, Überholen eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Autonomes-Fahrzeug-Straßennavigationsmodell oder dem aktualisierten Teil des Modells bewirken.
  • Der mindestens eine Prozessor 2315 kann dazu ausgelegt sein, mit verschiedenen Sensoren und Komponenten zu kommunizieren, die im Fahrzeug 1205 enthalten sind, einschließlich der Kommunikationseinheit 1705, der GPS-Einheit 2315, der Kamera 122, des Geschwindigkeitssensors 2320, des Beschleunigungsmessers 2325 und des Straßenprofilsensors 2330. Der mindestens eine Prozessor 2315 kann Informationen oder Daten von verschiedenen Sensoren und Komponenten sammeln und die Informationen oder Daten über die Kommunikationseinheit 2305 zum Server 1230 übertragen. Alternativ oder zusätzlich können verschiedene Sensoren oder Komponenten des Fahrzeugs 1205 auch mit dem Server 1230 kommunizieren und Daten oder Informationen, die durch die Sensoren oder Komponenten gesammelt werden, zum Server 1230 übertragen.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren und können Navigationsinformationen miteinander austauschen, sodass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Autonomes-Fahrzeug-Straßennavigationsmodell unter Verwendung von Crowdsourcing z. B. basierend auf Informationen, die von anderen Fahrzeugen geteilt werden, erzeugen kann. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen miteinander austauschen, und jedes Fahrzeug kann sein eigenes Autonomes-Fahrzeug-Straßennavigationsmodell, das im Fahrzeug bereitgestellt ist, aktualisieren. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z. B. Fahrzeug 1205) als ein Hub-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs (z. B. Fahrzeug 1205) kann einige oder alle der durch den Server 1230 durchgeführten Funktionen durchführen. Beispielsweise kann der mindestens eine Prozessor 2315 des Hub-Fahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Autonomes-Fahrzeug-Straßennavigationsmodell oder eine Aktualisierung an dem Modell basierend auf den geteilten Informationen, die von anderen Fahrzeugen empfangen werden, erzeugen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Autonomes-Fahrzeug-Straßennavigationsmodell oder die Aktualisierung an dem Modell zu anderen Fahrzeugen übertragen, um eine autonome Navigationsanleitung bereitzustellen.
  • Navigation basierend auf dünnbesetzten Karten
  • Wie zuvor besprochen, kann das Autonomes-Fahrzeug-Straßennavigationsmodell, das die dünnbesetzte Karte 800 beinhaltet, eine Vielzahl von kartierten Spurmarkierungen und eine Vielzahl von kartierten Objekten/Merkmalen, die mit einem Straßensegment assoziiert sind, beinhalten. Wie unten ausführlicher besprochen, können diese kartierten Sprungmarkierungen, Objekte und Merkmale verwendet werden, wenn das autonome Fahrzeug navigiert. In einigen Beispielen können die kartierten Objekte und Merkmale zum Beispiel verwendet werden, um ein Host-Fahrzeug relativ zu der Karte (z. B. relativ zu einer kartierten Zieltrajektorie) zu lokalisieren. Die kartierten Spurmarkierungen können verwendet werden (z. B. als eine Prüfung), um eine laterale Position und/oder Orientierung relativ zu einer geplanten Trajektorie oder Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Steuerkursrichtung so anzupassen, dass sie mit einer Richtung einer Zieltrajektorie an der bestimmten Position übereinstimmt.
  • Das Fahrzeug 200 kann dazu ausgelegt sein, Spurmarkierungen in einem gegebenen Straßensegment zu detektieren. Das Straßensegment kann beliebige Markierungen auf einer Straße zum Anleiten von Fahrzeugverkehr auf einer Fahrbahn beinhalten. Beispielsweise können die Spurmarkierungen durchgezogene oder gestrichelte Linien sein, die den Rand einer Fahrspur abgrenzen. Die Spurmarkierungen können auch Doppellinien beinhalten, wie etwa doppelte durchgezogene Linien, doppelte gestrichelte Linien oder eine Kombination von durchgezogenen und gestrichelten Linien, die zum Beispiel angeben, ob ein Überholen in einer benachbarten Spur zugelassen ist. Die Spurmarkierungen können auch Autobahnauf- und -abfahrtmarkierungen beinhalten, die zum Beispiel eine Verzögerungsspur für eine Abfahrt angeben, oder gepunktete Linien, die angeben, dass eine Spur nur zum Abbiegen dient, oder dass die Spur endet. Die Markierungen können ferner eine Arbeitszone, eine vorübergehende Spurverschiebung, einen Fahrpfad durch eine Kreuzung, einen Mittelstreifen, eine Spezialspur (z. B. eine Fahrradspur, eine Fahrgemeinschaftsspur usw.) oder andere diverse Markierungen (z. B. Fußgängerüberweg, eine Fahrbahnschwelle, ein Bahnübergang, eine Haltelinie usw.) angeben.
  • Das Fahrzeug 200 kann Kameras verwenden, wie etwa die Bilderfassungsvorrichtungen 122 und 124, die in der Bildgewinnungseinheit 120 enthalten sind, um Bilder der umliegenden Spurmarkierungen zu erfassen. Das Fahrzeug 200 kann die Bilder analysieren, um Punktorte, die mit den Spurmarkierungen assoziiert sind, basierend auf Merkmalen zu detektieren, die in einem oder mehreren der erfassten Bilder identifiziert werden. Diese Punktorte können zu einem Server hochgeladen werden, um die Spurmarkierungen in der dünnbesetzten Karte 800 zu repräsentieren. In Abhängigkeit von der Position und dem Sichtfeld der Kamera können Spurmarkierungen für beide Seiten des Fahrzeugs gleichzeitig aus einem einzigen Bild detektiert werden. In anderen Ausführungsformen können unterschiedliche Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs zu erfassen. Anstelle Bilder der Spurmarkierung hochzuladen, können die Markierungen in der dünnbesetzten Karte 800 als ein Spline oder eine Reihe von Punkten gespeichert werden, wodurch die Größe der dünnbesetzten Karte 800 und/oder der Daten, die entfernt durch das Fahrzeug hochgeladen werden müssen, reduziert wird.
  • 24A - 24D veranschaulichen beispielhafte Punktorte, die durch das Fahrzeug 200 detektiert werden können, um bestimmte Spurmarkierungen zu repräsentieren. Ähnlich zu den oben beschriebenen Landmarken kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder -software verwenden, um Punktorte in einem erfasstem Bild zu identifizieren. Beispielsweise kann das Fahrzeug 200 eine Reihe von Kantenpunkten, Eckpunkten oder verschiedene andere Punktorte, die mit einer bestimmten Spurmarkierung assoziiert sind, erkennen. 24A zeigt eine durchgezogene Spurmarkierung 2410, die durch das Fahrzeug 200 detektiert werden kann. Die Spurmarkierung 2410 kann den äußeren Rand einer Fahrbahn repräsentieren, durch eine durchgezogene weiße Linie repräsentiert. Wie in 24A gezeigt, kann das Fahrzeug 200 dazu ausgelegt sein, eine Vielzahl von Kantenortspunkten 2411 entlang der Spurmarkierung zu detektieren. Die Ortspunkte 2411 können gesammelt werden, um die Spurmarkierung mit beliebigen Intervallen zu repräsentieren, die zum Erzeugen einer unkartierten Spurmarkierung in der dünnbesetzten Karte ausreichen. Beispielsweise kann die Spurmarkierung durch einen Punkt pro Meter der detektierten Kante, einen Punkt alle fünf Meter der detektierten Kante oder mit anderen geeigneten Abständen repräsentiert werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren bestimmt werden, anstelle mit festgelegten Intervallen, wie etwa zum Beispiel basierend auf Punkten, bei denen das Fahrzeug 200 eine höchste Konfidenzeinstufung des Ortes der detektierten Punkte aufweist. Obwohl 24A Kantenortspunkte einer inneren Kante der Spurmarkierung 2410 zeigt, können Punkte an der äußeren Kante der Linie oder entlang beider Kanten gesammelt werden. Während in 24A eine einzelne Linie gezeigt ist, können ferner ähnliche Kantenpunkte für eine doppelte durchgezogene Linie detektiert werden. Beispielsweise können die Punkte 2411 entlang einer Kante einer oder beider der durchgezogenen Linien detektiert werden.
  • Das Fahrzeug 200 kann Spurmarkierungen in Abhängigkeit von der Art oder Form der Spurmarkierung auch unterschiedlich repräsentieren. 24B zeigt eine beispielhafte gestrichelte Spurmarkierung 2420, die durch das Fahrzeug 200 detektiert werden kann. Anstelle Kantenpunkte zu identifizieren, wie in 24A, kann das Fahrzeug eine Reihe von Eckpunkten 2421 detektieren, die Ecken der Linienstriche repräsentieren, um die volle Grenze des Strichs zu definieren. Obwohl 24B zeigt, dass jede Ecke einer gegebenen Strichmarkierung lokalisiert wird, kann das Fahrzeug 200 einen Teilsatz der in der Figur gezeigten Punkte detektieren oder hochladen. Beispielsweise kann das Fahrzeug 200 die vordere Kante oder die vordere Ecke einer gegebenen Strichmarkierung detektieren oder kann die beiden Eckpunkte, die am nächsten zu der Innenseite der Spur liegen, detektieren. Ferner wird möglicherweise nicht jede Strichmarkierung erfasst, zum Beispiel kann das Fahrzeug 200 Punkte, die eine Stichprobe von Strichmarkierungen repräsentieren (z. B. jede zweite, jede dritte, jede fünfte usw.), oder Strichmarkierungen mit einem vorbestimmten Abstand (z. B. jeden Meter, alle fünf Meter, alle 10 Meter usw.) erfassen und/oder aufzeichnen. Eckpunkte können auch für ähnliche Spurmarkierungen detektiert werden, wie etwa Markierungen, die zeigen, dass eine Spur für eine Abfahrt dient, dass eine bestimmte Spur endet, oder andere verschiedene Spurmarkierungen, die detektierbare Eckpunkte aufweisen können. Eckpunkte können auch für Spurmarkierungen detektiert werden, die aus doppelten gestrichelten Linien oder einer Kombination von durchgezogenen und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die Punkte, die zu dem Server zum Erzeugen der kartierten Spurmarkierungen hochgeladen werden, andere Punkte neben den detektierten Kantenpunkten oder Eckpunkten repräsentieren. 24C veranschaulicht eine Reihe von Punkten, die eine Mittellinie einer gegebenen Spurmarkierung repräsentieren können. Beispielsweise kann die kontinuierliche Spur 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Spurmarkierung repräsentiert werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu ausgelegt sein, diese Mittelpunkte unter Verwendung verschiedener Bilderkennungstechniken zu detektieren, wie etwa faltende neuronale Netzwerke (Convolutional Neural Networks, CNN), skaleninvariante Merkmalstransformation (Scale-Invariant Feature Transform, SIFT), Merkmale eines Histogramms orientierter Gradienten (HOG) oder andere Techniken. Alternativ kann das Fahrzeug 200 andere Punkte detektieren, wie etwa die Kantenpunkte 2411, die in 24A gezeigt sind, und kann die Mittellinienpunkte 2441 zum Beispiel durch Detektieren von Punkten entlang einer Kante und Bestimmen eines Mittelpunkts zwischen den Kantenpunkten berechnen. Gleichermaßen kann die gestrichelte Spurmarkierung 2420 durch Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Spurmarkierung repräsentiert werden. Die Mittellinienpunkte können sich an der Kante eine Strichs, wie in 24C gezeigt, oder an verschiedenen anderen Orten entlang der Mittellinie befinden. Beispielsweise kann jeder Strich durch einen einzigen Punkt in der geometrischen Mittel des Strichs repräsentiert werden. Die Punkte können auch mit einem vorbestimmten Intervall entlang der Mittellinie beabstandet sein (z. B. jeden Meter, alle 5 Meter, alle 10 Meter usw.). Die Mittellinienpunkte 2451 können direkt durch das Fahrzeug 200 detektiert werden oder können basierend auf anderen detektierten Referenzpunkten, wie etwa den Eckpunkten 2421, berechnet werden, wie in 24B gezeigt. Eine Mittellinie kann auch verwendet werden, um andere Spurmarkierungsarten, wie etwa eine Doppellinie, unter Verwendung ähnlicher Techniken wie oben zu repräsentieren.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale repräsentieren, wie etwa einen Vertex zwischen zwei sich schneidenden Spurmarkierungen. 24D zeigt beispielhafte Punkte, die eine Überschneidung zwischen zwei Spurmarkierungen 2460 und 2465 repräsentieren. Das Fahrzeug 200 kann einen Vertexpunkt 2466 berechnen, der eine Überschneidung zwischen den beiden Spurmarkierungen repräsentiert. Beispielsweise kann eine der Spurmarkierungen 2460 oder 2465 einen Bahnübergangsbereich oder einen anderen Übergangsbereich im Straßensegment repräsentieren. Während die Spurmarkierungen 2460 und 2465 als sich senkrecht schneidend gezeigt sind, können verschiedene andere Konfigurationen detektiert werden. Beispielsweise können sich die Spurmarkierungen 2460 und 2465 mit anderen Winkeln schneiden, oder eine oder beide der Spurmarkierungen können an dem Vertexpunkt 2466 enden. Ähnliche Techniken können auch für Überschneidungen zwischen gestrichelten oder anderen Spurmarkierungsarten angewendet werden. Zusätzlich zu dem Vertexpunkt 2466 können auch verschiedene andere Punkte 2467 detektiert werden, was weitere Informationen über die Orientierung der Spurmarkierungen 2460 und 2465 bereitstellt.
  • Das Fahrzeug 200 kann reale Koordinaten mit jedem detektierten Punkt der Spurmarkierung assoziieren. Beispielsweise können Ortsidentifikatoren erzeugt werden, einschließlich einer Koordinate für jeden Punkt, die zu einem Server zur Kartierung der Spurmarkierung hochzuladen sind. Die Ortsidentifikatoren können ferner andere identifizierende Informationen über die Punkte beinhalten, einschließlich, ob der Punkt einen Eckpunkt, einen Kantenpunkt, einen Mittelpunkt usw. repräsentiert. Das Fahrzeug 200 kann daher dazu ausgelegt sein, eine reale Position jedes Punktes basierend auf eine Analyse der Bilder zu bestimmen. Beispielsweise kann das Fahrzeug 200 andere Merkmale im Bild detektieren, wie etwa die verschiedenen oben beschriebenen Landmarken, um die reale Position der Landmarken zu lokalisieren. Dies kann Bestimmen des Ortes der Landmarken in dem Bild relativ zu der detektierten Landmarke oder Bestimmen der Position des Fahrzeugs basierend auf der detektierten Landmarke und dann Bestimmen einer Distanz vom Fahrzeug (oder Zieltrajektorie des Fahrzeugs) zu der Landmarke beinhalten. Wenn eine Landmarke nicht verfügbar ist, kann der Ort der Spurmarkierungspunkte relativ zu einer Position des Fahrzeugs bestimmt werden, die basierend auf Dead Reckoning bestimmt wird. Die realen Koordinaten, die in den Ortsidentifikatoren enthalten sind, können als absolute Koordinaten repräsentiert werden (z. B. Breiten-/Längenkoordinaten), oder können relativ zu anderen Merkmalen sein, wie etwa basierend auf einer longitudinalen Position entlang einer Zieltrajektorie und einem lateralen Abstand von der Zieltrajektorie. Die Ortsidentifikatoren können dann zu einem Server zur Erzeugung der kartierten Spurmarkierungen im Navigationsmodell (wie etwa der dünnbesetzten Karte 800) hochgeladen werden. In einigen Ausführungsformen kann der Server einen Spline konstruieren, der die Spurmarkierungen eines Straßensegments repräsentiert. Alternativ kann das Fahrzeug 200 den Spline erzeugen und ihn zu dem Server hochladen, damit er im Navigationsmodell aufgezeichnet wird.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine beispielhafte dünnbesetzte Karte für ein entsprechendes Straßensegment, das kartierte Spurmarkierungen beinhaltet. Die dünnbesetzte Karte kann eine Zieltrajektorie 2475 beinhalten, der ein Fahrzeug entlang eines Straßensegments folgen soll. Wie oben beschrieben, kann die Zieltrajektorie 2475 einen idealen zu nehmenden Pfad für ein Fahrzeug repräsentieren, während es das entsprechende Straßensegment befährt, oder kann sich an anderer Stelle auf der Straße befinden (z. B. eine Mittellinie der Straße usw.). Die Zieltrajektorie 2475 kann in den oben beschriebenen verschiedenen Verfahren berechnet werden, zum Beispiel basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die das gleiche Straßensegment befahren.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Fahrzeugtypen und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleich erzeugt werden. In anderen Ausführungsformen können jedoch verschiedene andere Faktoren oder Variablen bei der Erzeugung der Zieltrajektorie berücksichtigt werden. Eine unterschiedliche Zieltrajektorie kann für unterschiedliche Fahrzeugtypen (z. B. ein privates Auto, ein Kleinlaster und eine Zugmaschine mit Anhänger) erzeugt werden. Beispielsweise kann eine Zieltrajektorie mit relativ engeren Wenderadien für ein kleines privates Auto als einen größeren Sattelschlepper erzeugt werden. In einigen Ausführungsformen können auch Straßen-, Fahrzeug- und Umgebungsbedingungen berücksichtigt werden. Beispielsweise kann eine unterschiedliche Zieltrajektorie für unterschiedliche Straßenbedingungen (z. B. nass, verschneit, vereist, trocken usw.), Fahrzeugbedingungen (z. B. Reifenzustand oder geschätzter Reifenzustand, Bremsenzustand oder geschätzter Bremsenzustand, eine Menge an verbleibendem Kraftstoff usw.) oder Umgebungsfaktoren (z. B. Tageszeit, Sichtbarkeit, Wetter usw.) erzeugt werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßensegments abhängen (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Kurven, Steigung usw.). In einigen Ausführungsformen können auch verschiedene Benutzereinstellungen verwendet werden, um die Zieltrajektorie zu bestimmen, wie etwa ein eingestellter Fahrmodus (z. B. gewünschte Fahraggressivität, Ökomodus usw.).
  • Die dünnbesetzte Karte kann auch die kartierten Spurmarkierungen 2470 und 2480 beinhalten, die Spurmarkierungen entlang des Straßensegments repräsentieren. Die kartierten Spurmarkierungen können durch eine Vielzahl von Ortsidentifikatoren 2471 und 2481 repräsentiert werden. Wie oben beschrieben, können die Ortsidentifikatoren Orte in realen Koordinaten von Punkten beinhalten, die mit einer detektierten Spurmarkierung assoziiert sind. Ähnlich zu der Zieltrajektorie im Modell können die Spurmarkierungen auch Höhendaten beinhalten und können als eine Kurve im dreidimensionalen Raum repräsentiert werden. Beispielsweise kann die Kurve ein Spline sein, der dreidimensionale Polynome einer geeigneten Ordnung verbindet, die Kurve kann basierend auf den Ortskennungen berechnet werden. Die kartierten Spurmarkierungen können auch andere Informationen oder Metataten über die Spurmarkierung beinhalten, wie etwa einen Identifikator der Art von Spurmarkierung (z. B. zwischen zwei Spuren mit der gleichen Fahrtrichtung, zwischen zwei Spuren mit entgegengesetzter Fahrtrichtung, Rand einer Fahrbahn usw.) und/oder andere Charakteristiken der Spurmarkierung (z. B. durchgezogen, gestrichelt, Einzellinie, Doppellinie, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Spurmarkierungen kontinuierlich im Modell zum Beispiel unter Verwendung von Crowdsourcing-Techniken aktualisiert werden. Das gleiche Fahrzeug kann Ortsidentifikatoren während mehrerer Gelegenheiten des Fahrens des gleichen Straßensegments hochladen oder Daten können von einer Vielzahl von Fahrzeugen (wie etwa 1205, 1210, 1215, 1220 und 1225) ausgewählt werden, die das Straßensegment zu unterschiedlichen Zeiten befahren. Die dünnbesetzte Karte 800 kann dann basierend auf anschließenden Ortsidentifikatoren aktualisiert oder verfeinert werden, die von den Fahrzeugen empfangen und im System gespeichert werden. Während die kartierten Spurmarkierungen aktualisiert und verfeinert werden, können das aktualisierte Straßennavigationsmodell und/oder die aktualisierte dünnbesetzte Karte an eine Vielzahl von autonomen Fahrzeugen verteilt werden.
  • Das Erzeugen der kartierten Spurmarkierungen in der dünnbesetzten Karte kann auch Detektieren und/oder Mindern von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Spurmarkierungen selbst beinhalten. 24F zeigt eine beispielhafte Anomalie 2495, die mit dem Detektieren einer Spurmarkierung 2490 assoziiert ist. Die Anomalie 2495 kann in dem durch das Fahrzeug 200 erfassten Bild zum Beispiel aufgrund eines Objekts, das die Sicht der Kamera zu der Landmarke verdeckt, Schmutz auf der Linse usw. auftreten. In einigen Fällen kann die Anomalie aufgrund der Spurmarkierung selbst vorliegen, die beschädigt oder abgetragen oder zum Beispiel teilweise durch Schmutz, Schutt, Wasser, Schnee oder andere Materialen auf der Straße bedeckt sein kann. Die Anomalie 2495 kann dazu führen, dass ein fehlerhafter Punkt 2491 durch das Fahrzeug 200 detektiert wird. Die dünnbesetzte Karte 800 kann die korrigierte kartierte Spurmarkierung bereitstellen und den Fehler ausschließen. In einigen Ausführungsformen kann das Fahrzeug 200 den fehlerhaften Punkt 2491 zum Beispiel durch das Detektieren der Anomalie 2495 in dem Bild oder durch das Identifizieren des Fehlers basierend auf detektierten Spurmarkierungspunkten vor und nach der Anomalie detektieren. Basierend auf dem Detektieren der Anomalie kann das Fahrzeug den Punkt 2491 weglassen oder kann ihn so anpassen, dass er mit anderen detektierten Punkten übereinstimmt. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, zum Beispiel durch Bestimmen, dass sich der Punkt außerhalb einer erwarteten Schwelle befindet, basierend auf anderen Punkten, die während der gleichen Reise hochgeladen werden, oder basierend auf einer Aggregation von Daten von vorherigen Reisen entlang des gleichen Straßensegments.
  • Die kartierten Spurmarkierungen im Navigationsmodell und/oder in der dünnbesetzten Karte können auch zur Navigation durch ein autonomes Fahrzeug verwendet werden, das die entsprechende Fahrbahn befährt. Beispielsweise kann ein Fahrzeug, das entlang einer Zieltrajektorie navigiert, periodisch die kartierten Spurmarkierungen in der dünnbesetzten Karte verwenden, um sich selbst mit der Zieltrajektorie auszurichten. Wie oben erwähnt, kann das Fahrzeug zwischen Landmarken basierend auf Dead Reckoning navigieren, bei dem das Fahrzeug Sensoren verwendet, um seine Ego-Bewegung zu bestimmen und seine Position relativ zu der Zieltrajektorie zu schätzen. Fehler können sich im Laufe der Zeit ansammeln, und die Positionsbestimmungen des Fahrzeugs relativ zu der Zieltrajektorie können zunehmend weniger genau werden. Dementsprechend kann das Fahrzeug Spurmarkierungen, die in der dünnbesetzten Karte 800 auftreten, (und ihre bekannten Standorte) verwenden, um die durch Dead Reckoning eingeführten Fehler bei der Positionsbestimmung zu reduzieren. Auf diese Weise können die in der dünnbesetzten Karte 800 enthaltenen identifizierten Spurmarkierungen als Navigationsanker dienen, von denen eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 der umliegenden Umgebung eines Fahrzeugs, die zur Navigation basierend auf den kartierten Spurmarkierungen verwendet werden kann. Das Bild 2500 kann zum Beispiel durch das Fahrzeug 200 über die Bilderfassungsvorrichtungen 122 und 124 erfasst werden, die in der Bildgewinnungseinheit 120 enthalten sind. Das Bild 2500 kann ein Bild von mindestens einer Spurmarkierung 2510 beinhalten, wie in 25A gezeigt. Das Bild 2500 kann auch eine oder mehrere Landmarken 2521 beinhalten, wie etwa ein Straßenschild, die zur Navigation verwendet werden, wie oben beschrieben. Einige in 25A gezeigte Elemente, wie etwa Elemente 2511, 2530 und 2520, die nicht im erfassten Bild 2500 auftreten, aber durch das Fahrzeug 200 detektiert und/oder bestimmt werden, sind zur Referenz auch gezeigt.
  • Unter Verwendung der verschiedenen Techniken, die oben mit Bezug auf 24A-D und 24F beschrieben sind, kann ein Fahrzeug das Bild 2500 analysieren, um die Spurmarkierung 2510 zu identifizieren. Verschiedene Punkte 2511 können entsprechend Merkmalen der Spurmarkierung im Bild detektiert werden. Die Punkte 2511 können zum Beispiel einer Kante der Spurmarkierung, einer Ecke der Spurmarkierung, einem Mittelpunkt der Spurmarkierung, einem Vertex zwischen zwei sich schneidenden Spurmarkierungen oder verschiedenen anderen Merkmalen oder Orten entsprechen. Die Punkte 2511 können detektiert werden, um einem Ort von Punkten zu entsprechen, die in einem Navigationsmodell gespeichert sind, das von einem Server empfangen wird. Falls beispielsweise eine dünnbesetzte Karte empfangen wird, die Punkte enthält, die eine Mittellinie einer kartierten Spurmarkierung repräsentieren, können die Punkte 2511 auch basierend auf einer Mittellinie der Spurmarkierung 2510 detektiert werden.
  • Das Fahrzeug kann auch eine longitudinale Position bestimmen, die durch das Element 2520 repräsentiert wird und sich entlang einer Zieltrajektorie befindet. Die longitudinale Position 2520 kann aus dem Bild 2500 zum Beispiel durch Detektieren der Landmarke 2521 im Bild 2500 und Vergleichen eines gemessenen Standorts mit einem bekannten Landmarkenstandort, der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist, bestimmt werden. Der Standort des Fahrzeugs entlang einer Zieltrajektorie kann dann basierend auf der Distanz zu der Landmarke und dem bekannten Standort der Landmarke bestimmt werden. Die longitudinale Position 2520 kann auch aus anderen Bildern als jenen bestimmt werden, die zum Bestimmen der Position einer Spurmarkierung verwendet werden. Beispielsweise kann die longitudinale Position 2520 durch Detektieren von Landmarken in Bildern von anderen Kameras in der Bildgewinnungseinheit 120, die gleichzeitig oder fast gleichzeitig zu dem Bild 2500 aufgenommen werden, bestimmt werden. In einigen Fällen wird sich das Fahrzeug möglicherweise nicht in der Nähe irgendwelcher Landmarken oder anderer Referenzpunkte zum Bestimmen der longitudinalen Position 2520 befinden. In solchen Fällen kann das Fahrzeug basierend auf Dead Reckoning navigieren, und kann somit Sensoren verwenden, um seine Ego-Bewegung zu bestimmen und eine longitudinale Position 2520 relativ zu der Zieltrajektorie zu schätzen. Das Fahrzeug kann auch einen Abstand 2530 bestimmen, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Spurmarkierung 2510, die in dem einen oder den mehreren erfassten Bildern beobachtet wird, repräsentiert. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren können bei der Bestimmung des Abstands 2530 berücksichtigt werden.
  • 25B veranschaulicht eine laterale Lokalisierungskorrektur des Fahrzeugs basierend auf den kartierten Spurmarkierungen in einem Straßennavigationsmodell. Wie oben beschrieben, kann das Fahrzeug 200 einen Abstand 2530 zwischen dem Fahrzeug 200 und einer Spurmarkierung 2510 unter Verwendung eines oder mehrerer Bilder, die durch das Fahrzeug 200 erfasst werden, bestimmen. Das Fahrzeug 200 kann auch auf ein Straßennavigationsmodell, wie etwa die dünnbesetzte Karte 800, zugreifen, das eine kartierte Spurmarkierung 2550 und eine Zieltrajektorie 2555 beinhalten kann. Die kartierte Spurmarkierung 2550 kann unter Verwendung der oben beschriebenen Techniken modelliert werden, zum Beispiel unter Verwendung von durch Crowdsourcing erhaltenen Ortsidentifikatoren, die durch eine Vielzahl von Fahrzeugen erfasst werden. Die Zieltrajektorie 2555 kann auch unter Verwendung der verschiedenen zuvor beschriebenen Techniken erzeugt werden. Das Fahrzeug 200 kann auch eine longitudinale Position 2520 entlang der Zieltrajektorie 2555 bestimmen oder schätzen, wie oben mit Bezug auf 25A beschrieben. Das Fahrzeug 200 kann dann einen erwarteten Abstand 2540 basierend auf einem lateralen Abstand zwischen der Zieltrajektorie 2555 und der kartierten Spurmarkierung 2550 entsprechend der longitudinalen Position 2520 bestimmen. Die laterale Lokalisierung des Fahrzeugs 200 kann durch Vergleichen des tatsächlichen Abstands 2530, der unter Verwendung des einen oder der mehreren erfassten Bilder gemessen wird, mit dem erwarteten Abstand 2540 aus dem Modell korrigiert oder angepasst werden.
  • 25C und 25D liefern Veranschaulichungen, die mit einem anderen Beispiel für die Lokalisierung eines Host-Fahrzeugs während der Navigation basierend auf kartierten Landmarken/Objekten/Merkmalen in einer dünnbesetzten Karte assoziiert sind. 25C repräsentiert konzeptuell eine Reihe von Bildern, die von einem Fahrzeug erfasst werden, das entlang eines Straßensegments 2560 navigiert. In diesem Beispiel beinhaltet das Straßensegment 2560 einen geraden Abschnitt einer zweispurigen geteilten Autobahn, die durch Straßenränder 2561 und 2562 und eine Mittelspurmarkierung 2563 abgegrenzt ist. Wie gezeigt, navigiert das Host-Fahrzeug entlang einer Spur 2564, die mit einer kartierten Zieltrajektorie 2565 assoziiert ist. Somit sollte in einer idealen Situation (und ohne Beeinflussungen, wie etwa das Vorhandensein von Zielfahrzeugen oder Objekten auf der Fahrbahn usw.) das Host-Fahrzeug die kartierte Zieltrajektorie 2565 genau verfolgen, während es entlang der Spur 2564 des Straßensegments 2560 navigiert. In der Realität kann das Host-Fahrzeug driften, während es entlang der kartierten Zieltrajektorie 2565 navigiert. Für eine effektive und sichere Navigation sollte diese Drift innerhalb akzeptabler Grenzen (z. B. +/- 10 cm laterale Verschiebung von der Zieltrajektorie 2565 oder eine beliebige andere geeignete Schwelle) gehalten werden. Um Drift periodisch zu berücksichtigen und jegliche benötigten Kurskorrekturen vorzunehmen, um zu gewährleisten, dass das Host-Fahrzeug der Zieltrajektorie 2565 folgt, können die offenbarten Navigationssysteme in der Lage sein, das Host-Fahrzeug entlang der Zieltrajektorie 2565 (z. B. Bestimmen einer lateralen und longitudinalen Position des Host-Fahrzeugs relativ zu der Zieltrajektorie 2565) unter Verwendung eines oder mehrerer kartierter Merkmale/Objekte, die in der dünnbesetzten Karte enthalten sind, zu lokalisieren.
  • Als ein einfaches Beispiel zeigt 25C ein Geschwindigkeitsbegrenzungsschild 2566, wie es in fünf unterschiedlichen, sequenziell erfassten Bildern erscheinen kann, während das Host-Fahrzeug entlang des Straßensegments 2560 navigiert. Beispielsweise zu einer ersten Zeit, to, kann das Schild 2566 in einem erfassten Bild in der Nähe des Horizonts erscheinen. Während das Host-Fahrzeug sich dem Schild 2566 nähert, wird das Schild 2566 in anschließend erfassten Bildern zu Zeiten t1, t2, t3 und t4 an unterschiedlichen 2D-X-Y-Pixelorten der erfassten Bilder erscheinen. Beispielsweise wird sich das Schild 2566 im Raum des erfassten Bildes nach unten und nach rechts entlang der Kurve 2567 bewegen (z. B. eine Kurve, die sich durch die Mitte des Schildes in jedem der fünf erfassten Bildframes erstreckt). Das Schild 2566 wird auch als in der Größe zunehmend erscheinen, während sich das Host-Fahrzeug ihm nähert (d. h. es wird eine größere Anzahl von Pixeln in anschließend erfassten Bildern einnehmen).
  • Diese Änderungen in den Bildraumrepräsentationen eines Objekts, wie etwa des Schildes 2566, können ausgenutzt werden, um eine lokalisierte Position des Host-Fahrzeugs entlang einer Zieltrajektorie zu bestimmen. Beispielsweise, wie in der vorliegenden Offenbarung beschrieben, kann ein beliebiges detektierbares Objekt oder Merkmal, wie etwa ein semantisches Merkmal wie das Schild 2566 oder ein detektierbares nicht semantisches Merkmal, durch ein oder mehrere sammelnde Fahrzeuge identifiziert werden, die zuvor ein Straßensegment (z. B. Straßensegment 2560) befuhren. Ein Kartierungsserver kann die gesammelten Fahrtinformationen von einer Vielzahl von Fahrzeugen sammeln, diese Informationen aggregieren und korrelieren und eine dünnbesetzte Karte erzeugen, die zum Beispiel eine Zieltrajektorie 2565 für eine Spur 2564 des Straßensegments 2560 beinhaltet. Die dünnbesetzte Karte kann auch einen Standort des Schildes 2566 (zusammen mit Typinformationen usw.) speichern. Während der Navigation (z. B. vor dem Einfahren in das Straßensegment 2560) kann ein Host-Fahrzeug mit einer Kartenkachel versorgt werden, die eine dünnbesetzte Karte für das Straßensegment 2560 beinhaltet. Um in der Spur 2564 des Straßensegments 2560 zu navigieren, kann das Host-Fahrzeug der kartierten Zieltrajektorie 2565 folgen.
  • Die kartierte Repräsentation des Schildes 2566 kann durch das Host-Fahrzeug verwendet werden, um sich selbst relativ zu der Zieltrajektorie zu lokalisieren. Beispielsweise wird eine Kamera am Host-Fahrzeug ein Bild 2570 der Umgebung des Host-Fahrzeugs erfassen, und dieses erfasste Bild 2570 kann eine Bildrepräsentation des Schildes 2566 mit einer gewissen Größe und einem gewissen X-Y-Bildort beinhalten, wie in 25D gezeigt. Die Größe und der X-Y-Bildort können verwendet werden, um die Position des Host-Fahrzeugs relativ zu der Zieltrajektorie 2565 zu bestimmen. Beispielsweise kann ein Navigationsprozessor des Host-Fahrzeugs basierend auf der dünnbesetzten Karte, die eine Repräsentation des Schildes 2566 beinhaltet, bestimmen, dass als Reaktion darauf, dass das Host-Fahrzeug entlang der Zieltrajektorie 2565 fährt, eine Repräsentation des Schildes 2566 in erfassten Bildern auftreten sollte, sodass sich eine Mitte des Schildes 2566 entlang der Linie 2567 (im Bildraum) bewegen wird. Falls ein erfasstes Bild, wie etwa das Bild 2570, die Mitte (oder einen anderen Referenzpunkt) als von der Linie 2567 (z. B. der erwarteten Bildraumtrajektorie) verschoben zeigt, dann kann das Navigationssystem des Host-Fahrzeugs bestimmen, dass es sich zu der Zeit des erfassten Bildes nicht auf der Zieltrajektorie 2565 befand. Aus dem Bild kann der Navigationsprozessor jedoch eine geeignete Navigationskorrektur bestimmen, um das Host-Fahrzeug zurück zu der Zieltrajektorie 2565 zu bringen. Falls beispielsweise eine Analyse einen Bildort des Schildes 2566 zeigt, der im Bild um einen Abstand 2572 zu der linken Seite des erwarteten Bildraumortes auf der Linie 2567 verschoben ist, dann kann der Navigationsprozessor eine Steuerkursänderung durch das Host-Fahrzeug bewirken (z. B. den Lenkwinkel der Räder ändern), um das Host-Fahrzeug um einen Abstand 2573 nach links zu bewegen. Auf diese Weise kann jedes erfasste Bild als Teil eines Rückkopplungsschleifenprozesses verwendet werden, sodass eine Differenz zwischen einer beobachteten Bildposition des Schildes 2566 und der erwarteten Bildtrajektorie 2567 minimiert werden kann, um zu gewährleisten, dass das Host-Fahrzeug entlang der Zieltrajektorie 2565 mit wenig bis keiner Abweichung weiterfährt. Natürlich kann, je mehr kartierte Objekte verfügbar sind, desto häufiger die beschriebene Lokalisierungstechnik eingesetzt werden, was driftinduzierte Abweichungen von der Zieltrajektorie 2565 reduzieren oder eliminieren kann.
  • Der oben beschriebene Prozess kann zum Detektieren einer lateralen Orientierung oder Verschiebung des Host-Fahrzeugs relativ zu einer Zieltrajektorie nützlich sein. Die Lokalisierung des Host-Fahrzeugs relativ zu der Zieltrajektorie 2565 kann auch eine Bestimmung eines longitudinalen Ortes des Zielfahrzeugs entlang der Zieltrajektorie beinhalten. Beispielsweise beinhaltet das erfasste Bild 2570 eine Repräsentation des Schildes 2566 als eine gewisse Bildgröße (z. B. 2D-X-Y-Pixelbereich) aufweisend. Diese Größe kann mit einer erwarteten Bildgröße des kartierten Schildes 2566 verglichen werden, während es durch den Bildraum entlang der Linie 2567 läuft (z. B. während sich die Größe des Schildes zunehmend vergrößert, wie in 25C gezeigt). Basierend auf der Bildgröße des Schildes 2566 im Bild 2570, und basierend auf dem erwarteten Größenverlauf im Bildraum relativ zu der kartierten Zieltrajektorie 2565, kann das Host-Fahrzeug seine longitudinale Position (zu der Zeit, zu der das Bild 2570 erfasst wurde) relativ zu der Zieltrajektorie 2565 bestimmen. Diese longitudinale Position, gekoppelt mit irgendeiner lateralen Verschiebung relativ zu der Zieltrajektorie 2565, wie oben beschrieben, ermöglicht eine volle Lokalisierung des Host-Fahrzeugs relativ zu der Zieltrajektorie 2565, während das Host-Fahrzeug entlang der Straße 2560 navigiert.
  • 25C und 25D stellen nur ein Beispiel der offenbarten Lokalisierungstechnik unter Verwendung eines einzelnen kartierten Objekts und einer einzelnen Zieltrajektorie bereit. In anderen Beispielen kann es viel mehr Zieltrajektorien geben (z. B. eine Zieltrajektorie für jede durchführbare Spur einer mehrspurigen Autobahn, städtischen Straße, komplexen Kreuzung usw.) und es kann viel mehr kartierte geben, die für eine Lokalisierung verfügbar sind. Beispielsweise kann eine dünnbesetzte Karte, die eine städtische Umgebung repräsentiert, viele Objekte pro Meter beinhalten, die für eine Lokalisierung verfügbar sind.
  • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess 2600A zum Kartieren einer Spurmarkierung zur Verwendung bei der autonomen Fahrzeugnavigation zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 2610 kann der Prozess 2600A Empfangen von zwei oder mehr Ortsidentifikatoren beinhalten, die mit einer detektierten Spurmarkierung assoziiert sind. Beispielsweise kann Schritt 2610 durch den Server 1230 oder einen oder mehrere Prozessoren, die mit dem Server assoziiert sind, durchgeführt werden. Die Ortsidentifikatoren können Orte in realen Koordinaten von Punkten beinhalten, die mit der detektierten Spurmarkierung assoziiert sind, wie oben mit Bezug auf 24E beschrieben. In einigen Ausführungsformen können die Ortsidentifikatoren auch andere Daten enthalten, wie etwa zusätzliche Informationen über das Straßensegment oder die Spurmarkierung. Zusätzliche Daten können auch während des Schritts 2610 empfangen werden, wie etwa Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Landmarkendaten, Straßengeometrie- oder -profildaten, Fahrzeugpositionierungsdaten, Ego-Bewegungsdaten oder verschiedene andere Formen von Daten, die oben beschrieben sind. Die Ortsidentifikatoren können durch ein Fahrzeug, wie etwa die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, basierend auf Bildern erzeugt werden, die durch das Fahrzeug erfasst werden. Beispielsweise können die Identifikatoren basierend auf einer Gewinnung, von einer Kamera, die mit einem Host-Fahrzeug assoziiert ist, von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs repräsentiert, einer Analyse des mindestens eines Bildes, um die Spurmarkierung in der Umgebung des Host-Fahrzeugs zu detektieren, und einer Analyse des mindestens einen Bildes, um eine Position der detektierten Spurmarkierung relativ zu einem Standort zu bestimmen, der mit dem Host-Fahrzeug assoziiert ist, bestimmt werden. Wie oben beschrieben, kann die Spurmarkierung eine Vielfalt unterschiedlicher Markierungstypen beinhalten, und die Ortsidentifikatoren können einer Vielfalt von Punkten relativ zu der Spurmarkierung entsprechen. Beispielsweise wenn die detektierte Spurmarkierung Teil einer gestrichelten Linie ist, die eine Spurgrenze markiert, können die Punkte detektierten Ecken der Spurmarkierung entsprechen. Wenn die detektierte Spurmarkierung Teil einer durchgezogenen Linie ist, die eine Spurgrenze markiert, können die Punkte einer detektierten Kante der Spurmarkierung entsprechen, mit verschiedenen Abständen, wie oben beschrieben. In einigen Ausführungsformen können die Punkte der Mittellinie der detektierten Spurmarkierung entsprechen, wie in 24C gezeigt, oder können einem Vertex zwischen zwei sich schneidenden Spurmarkierungen und mindestens einem von zwei anderen Punkten, die mit den sich schneidenden Spurmarkierungen assoziiert sind, entsprechen, wie in 24D gezeigt.
  • Bei Schritt 2612 kann der Prozess 2600A Assoziieren der detektierten Spurmarkierung mit einem entsprechenden Straßensegment beinhalten. Beispielsweise kann der Server 1230 die realen Koordinaten oder andere Informationen, die während des Schritts 2610 empfangen werden, analysieren und die Koordinaten oder anderen Informationen mit Standortinformationen vergleichen, die in einem Autonomes-Fahrzeug-Straßennavigationsmodell gespeichert sind. Der Server 1230 kann ein Straßensegment im Modell bestimmen, das dem realen Straßensegment entspricht, in dem die Spurmarkierung detektiert wurde.
  • Bei Schritt 2614 kann der Prozess 2600A Aktualisieren eines Autonomes-Fahrzeug-Straßennavigationsmodells relativ zu dem entsprechenden Straßensegment basierend auf den zwei oder mehr Ortsidentifikatoren, die mit der detektierten Spurmarkierung assoziiert sind, beinhalten. Beispielsweise kann das Autonomes-Straßennavigationsmodell die dünnbesetzte Karte 800 sein, und der Server 1230 kann die dünnbesetzte Karte aktualisieren, sodass sie eine kartierte Spurmarkierung im Modell beinhaltet oder anpasst. Der Server 1230 kann das Modell basierend auf verschiedenen Verfahren oder Prozessen aktualisieren, die oben mit Bezug auf 24E beschrieben sind. In einigen Ausführungsformen kann das Aktualisieren des Autonomes-Fahrzeug-Straßennavigationsmodells Speichern eines oder mehrerer Positionsindikatoren in realen Koordinaten der detektierten Spurmarkierung beinhalten. Das Autonomes-Fahrzeug-Straßennavigationsmodell kann auch mindestens eine Zieltrajektorie für ein Fahrzeug beinhalten, der entlang des entsprechenden Straßensegments gefolgt werden soll, wie in 24E gezeigt.
  • Bei Schritt 2616 kann der Prozess 2600A Verteilen des aktualisierten Autonomes-Fahrzeug-Straßennavigationsmodells an eine Vielzahl autonomer Fahrzeuge beinhalten. Beispielsweise kann der Server 1230 das aktualisierte Autonomes-Fahrzeug-Straßennavigationsmodell an die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 verteilen, die das Modell für die Navigation verwenden können. Das Autonomes-Fahrzeug-Straßennavigationsmodell kann über ein oder mehrere Netzwerke (z. B. über ein zellulares Netzwerk und/oder das Internet usw.) über Drahtloskommunikationspfade 1235 verteilt werden, wie in 12 gezeigt.
  • In einigen Ausführungsformen können die Spurmarkierungen unter Verwendung von Daten kartiert werden, die von einer Vielzahl von Fahrzeugen empfangen werden, wie etwa über eine Crowdsourcing-Technik, wie oben mit Bezug auf 24E beschrieben. Beispielsweise kann der Prozess 2600A Empfangen einer ersten Kommunikation von einem ersten Host-Fahrzeug, einschließlich Ortsidentifikatoren, die mit einer detektierten Spurmarkierung assoziiert sind, und Empfangen einer zweiten Kommunikation von einem zweiten Host-Fahrzeug, einschließlich zusätzlicher Ortsidentifikatoren, die mit der detektierten Spurmarkierung assoziiert sind, beinhalten. Beispielsweise kann die zweite Kommunikation von einem anschließenden Fahrzeug, das auf dem gleichen Straßensegment fährt, oder vom gleichen Fahrzeug bei einer anschließenden Reise entlang des gleichen Straßensegments empfangen werden. Der Prozess 2600A kann ferner Verfeinern einer Bestimmung mindestens einer Position, die mit der detektierten Spurmarkierung assoziiert ist, basierend auf den Ortsidentifikatoren, die in der ersten Kommunikation empfangen werden, und basierend auf den zusätzlichen Ortsidentifikatoren, die in der zweiten Kommunikation empfangen werden, beinhalten. Dies kann Verwenden eines Durchschnitts der mehreren Ortsidentifikatoren und/oder Herausfiltern von „Phantom“-Indikatoren, die möglicherweise nicht die reale Position der Spurmarkierung widerspiegeln, beinhalten.
  • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess 2600B zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung kartierter Spurmarkierungen zeigt. Der Prozess 2600B kann zum Beispiel durch die Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. Bei Schritt 2620 kann der Prozess 2600B Empfangen, von einem serverbasierten System, eines Autonomes-Fahrzeug-Straßennavigationsmodells beinhalten. In einigen Ausführungsformen kann das Autonomes-Fahrzeug-Straßennavigationsmodell eine Zieltrajektorie für das Host-Fahrzeug entlang des Straßensegments und Ortsidentifikatoren, die mit einer oder mehreren mit dem Straßensegment assoziierten Spurmarkierungen assoziiert sind, beinhalten. Beispielsweise kann das Fahrzeug 200 die dünnbesetzte Karte 800 oder ein anderes Straßennavigationsmodell, das unter Verwendung des Prozesses 2600A entwickelt wird, empfangen. In einigen Ausführungsformen kann die Zieltrajektorie zum Beispiel als ein dreidimensionaler Spline repräsentiert werden, wie in 9B gezeigt. Wie oben mit Bezug auf 24A-F beschrieben, können die Ortsidentifikatoren Orte in realen Koordinaten von Punkten, die mit der Spurmarkierung assoziiert sind, beinhalten (z. B. Eckpunkte einer gestrichelten Spurmarkierung, Kantenpunkte einer durchgezogenen Spurmarkierung, einen Vertex zwischen zwei sich schneidenden Spurmarkierungen und andere Punkte, die mit den sich schneidenden Spurmarkierungen assoziiert sind, eine Mittellinie, die mit der Spurmarkierung assoziiert ist, usw.).
  • Bei Schritt 2621 kann der Prozess 2600B Empfangen mindestens eines Bildes beinhalten, das eine Umgebung des Fahrzeugs repräsentiert. Das Bild kann von einer Bilderfassungsvorrichtung des Fahrzeugs empfangen werden, wie etwa über die Bilderfassungsvorrichtungen 122 und 124, die in der Bildgewinnungseinheit 120 enthalten sind. Das Bild kann ein Bild einer oder mehrerer Spurmarkierungen beinhalten, ähnlich dem oben beschriebenen Bild 2500.
  • Bei Schritt 2622 kann der Prozess 2600B Bestimmen einer longitudinalen Position des Host-Fahrzeugs entlang der Zieltrajektorie beinhalten. Wie oben mit Bezug auf 25A beschrieben, kann dies auf anderen Informationen im erfassten Bild (z. B. Landmarken usw.) basieren oder durch Dead Reckoning des Fahrzeugs zwischen detektierten Landmarken stattfinden.
  • Bei Schritt 2623 kann der Prozess 2600B Bestimmen eines erwarteten lateralen Abstands zu der Spurmarkierung basierend auf der bestimmten longitudinalen Position des Host-Fahrzeugs entlang der Zieltrajektorie und basierend auf den zwei oder mehr Ortsidentifikatoren, die mit der mindestens einen Spurmarkierung assoziiert sind, beinhalten. Beispielsweise kann das Fahrzeug 200 die dünnbesetzte Karte 800 verwenden, um einen erwarteten lateralen Abstand zu der Spurmarkierung zu bestimmen. Wie in 25B gezeigt, kann bei Schritt 2622 die longitudinale Position 2520 entlang einer Zieltrajektorie 2555 bestimmt werden. Unter Verwendung der dünnbesetzten Karte 800 kann das Fahrzeug 200 einen erwarteten Abstand 2540 zu der kartierten Spurmarkierung 2550 entsprechend der longitudinalen Position 2520 bestimmen.
  • Bei Schritt 2624 kann der Prozess 2600B Analysieren des mindestens einen Bildes beinhalten, um die mindestens eine Spurmarkierung zu identifizieren. Das Fahrzeug 200 kann zum Beispiel verschiedene Bilderkennungstechniken oder -algorithmen verwenden, um die Spurmarkierung im Bild zu identifizieren, wie oben beschrieben. Beispielsweise kann die Spurmarkierung 2510 durch Bildanalyse des Bildes 2500 detektiert werden, wie in 25A gezeigt.
  • Bei Schritt 2625 kann der Prozess 2600B Bestimmen eines tatsächlichen lateralen Abstands zu der mindestens einen Spurmarkierung basierend auf einer Analyse des mindestens einen Bildes beinhalten. Beispielsweise kann das Fahrzeug einen Abstand 2530 bestimmen, wie in 25A gezeigt, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Spurmarkierung 2510 repräsentiert. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs, die Position der Kamera relativ zu dem Fahrzeug oder verschiedene andere Faktoren können bei der Bestimmung des Abstands 2530 berücksichtigt werden.
  • Bei Schritt 2626 kann der Prozess 2600B Bestimmen einer autonomen Lenkhandlung für das Host-Fahrzeug basierend auf einer Differenz zwischen dem erwarteten lateralen Abstand zu der mindestens einen Spurmarkierung und dem bestimmten tatsächlichen lateralen Abstand zu der mindestens einen Spurmarkierung beinhalten. Beispielsweise wie oben mit Bezug auf 25B beschrieben, kann das Fahrzeug 200 den tatsächlichen Abstand 2530 mit einem erwarteten Abstand 2540 vergleichen. Die Differenz zwischen dem tatsächlichen und erwarteten Abstand kann einen Fehler (und seine Größe) zwischen der tatsächlichen Position des Fahrzeugs und der Zieltrajektorie, der das Fahrzeug folgen soll, angeben. Dementsprechend kann das Fahrzeug eine autonome Lenkhandlung oder eine andere autonome Handlung basierend auf der Differenz bestimmen. Falls beispielsweise der tatsächliche Abstand 2530 kleiner als der erwartete Abstand 2540 ist, wie in 25B gezeigt, kann das Fahrzeug eine autonome Lenkhandlung bestimmen, um das Fahrzeug nach links, von der Spurmarkierung 2510 weg, zu leiten. Somit kann die Position des Fahrzeugs relativ zu der Zieltrajektorie korrigiert werden. Der Prozess 2600B kann zum Beispiel verwendet werden, um die Navigation des Fahrzeugs zwischen Landmarken zu verbessern.
  • Die Prozesse 2600A und 2600B stellen nur Beispiele von Techniken bereit, die zum Navigieren eines Host-Fahrzeugs unter Verwendung der offenbarten dünnbesetzten Karten verwendet werden können. In anderen Beispielen können auch Prozesse, die mit jenen übereinstimmen, die bezüglich 25C und 25D beschrieben sind, eingesetzt werden.
  • Kartenbasierte Modellierung der realen Welt
  • Ein Merkmal des hierin beschriebenen Navigationskartierungssystems ist die Fähigkeit, Crowdsourcing-Informationen zu verwenden, die von mehreren Fahrten gesammelt werden, um Karten, die mit Straßensegmenten assoziiert sind, zu erzeugen und/oder zu verfeinern. Diese Navigationskarten (z. B. dünnbesetzte Karten) können Zieltrajektorien (z. B. dreidimensionale Splines) beinhalten, die Fahrzeugen (z. B. Host- oder Zielfahrzeugen/detektierten Fahrzeugen) zur Verfügung stehen, die entlang Spuren einer Fahrbahn fahren, die mit der Karte assoziiert ist. Die Karten können auch kartierte Landmarken beinhalten, die einem breiten Spektrum detektierbarer Objekte entsprechen können (z. B. Straßenschilder, Straßenränder, Spurmarkierungen, Bushaltestellen oder beliebige andere erkennbare Merkmale, die mit einer Fahrbahn assoziiert sind, usw.). Die kartierten Landmarken können in der Karte mit verfeinerten Orten assoziiert sein, die mit einer oder mehreren der Landmarken assoziiert sind. Die verfeinerten Positionen können basierend auf durch Crowdsourcing erhaltenen Standortinformationen bestimmt werden, die während jeder einer Vielzahl individueller Fahrten entlang eines Straßensegments bestimmt werden. Die detektierten Objekte/Landmarken und ihre Standorte aus der Karte können bei der Navigation eines autonomen oder teilautonomen Fahrzeugs verwendet werden (z. B. durch Unterstützen der Bestimmung, wo sich ein Fahrzeug relativ zu einer Zieltrajektorie befindet, aus der Karte). Die Navigationskarten können auch Oberflächenrepräsentationen von Straßensegmenten beinhalten, die befahrbaren Gebieten entlang einer Fahrbahn entsprechen können. Beispielsweise kann in einigen Fällen ein Mesh (basierend auf einem beliebigen geeigneten Algorithmus oder einer beliebigen geeigneten Berechnungstechnik) bestimmt werden, das eine Straßenoberfläche abdeckt und das keine Oberflächen abdeckt, die als außerhalb der Straße bestimmt werden (z. B. über bestimmte Straßengrenzen hinaus, wie etwa Straßenränder, Fußwege, Fahrbahnbarrieren oder dergleichen). In anderen Beispielen kann das Mesh ein navigierbares Gebiet einer Fahrbahn abdecken (bei einem beliebigen gegebenen Punkt), einschließlich der Oberfläche der Straße und eines jeglichen Gebiets über die Oberfläche der Straße hinaus, das als navigierbar bestimmt wird (z. B. ein unbefestigter Randstreifen an der Seite der Straße), und möglicherweise nicht Oberflächen abdeckt, die als nicht navigierbar bestimmt werden (z. B. Bereiche, die nicht durch das Fahrzeug befahren werden können oder sollten, wie etwa Barrieren oder Fußwege usw.). Beispielsweise kann ein navigierbares Gebiet, das sich außerhalb der Oberfläche der Straße befindet, in der Karte als navigierbar markiert werden, sodass es von einem Fahrzeug in gewissen Szenarien befahren werden kann. In einigen Ausführungsformen kann das navigierbare Gebiet zum Beispiel gemäß einer Fahrrichtlinie, die durch das Host-Fahrzeug implementiert wird, nur in Notfällen befahrbar sein (z. B. wenn das Bleiben auf der Straße zu einem unvermeidlichen Unfall führen würde und das Navigieren des Host-Fahrzeugs über das navigierbare Gebiet so eingeschätzt wird, dass es mit nahezu absoluter Sicherheit keinen Unfall verursachen wird).
  • Um eine durch Crowdsourcing erhaltene Navigationskarte zu erzeugen, können Fahrtinformationen von mehreren Fahrten entlang eines Straßensegments gesammelt werden. Dies kann zum Beispiel Sammeln von Fahrtinformationen von einem Fahrzeug, das wiederholt ein Straßensegment oder einen anderen Bereich zu unterschiedlichen Zeiten befährt, und/oder Sammeln von Fahrtinformationen von mehreren unterschiedlichen Fahrzeugen, die ein Straßensegment oder einen anderen Bereich befahren, beinhalten. Das Kartierungssystem kann dann die gesammelten Fahrtinformationen ausrichten und aggregieren (z. B. eine tatsächliche Trajektorie, die durch ein Fahrzeug gefahren wird, eine oder mehrere Objektdetektionen und assoziierte bestimmte Positionen für die detektierten Objekte, detektierte Spurmarkierungen, detektierte Straßenränder, detektierte Straßenrandbarrieren, Distanz, die während der Fahrt gefahren wird, usw.), um die durch Crowdsourcing erhaltenen Navigationskarten bereitzustellen. Solche Prozesse können die Genauigkeit der Crowdsourcing-Karten fördern, indem Löcher in Fahrtdatensätzen (die z. B. durch Verdeckungen während einer bestimmten Fahrt verursacht werden, usw.) gefüllt, Objektstandorte verfeinert und Fahrzeugtrajektorien verfeinert werden. Weitere Einzelheiten bezüglich der Erzeugung und Implementierung von Navigationskarten sind durchweg in der vorliegenden Offenbarung bereitgestellt.
  • In einigen Fällen kann die Erzeugung der Crowdsourcing-Karten eine Aggregation, Ausrichtung und/oder Glättung verschiedener Daten, die während unterschiedlicher Fahrten gesammelt werden (z. B. Ausrichtung und Glättung von Trajektorien, die entlang verfügbarer Spuren verschiedener Straßensegmente befahren werden), oder verschiedener Straßenmerkmale, die von verschiedenen Fahrtsegmenten abgeleitet werden (z. B. Standorte von detektierten Objekten, Orte von Straßenrändern, Orte und Abdeckung von Meshes, die Straßenoberflächen repräsentieren, usw.) beinhalten. Eine Herausforderung bei der zweckmäßigen Aggregation von Daten von unterschiedlichen Fahrten besteht darin, dass unterschiedliche Fahrten Punkte oder andere Daten beinhalten können, die sich in naher physischer Entfernung befinden, aber sich in der Fahrtdistanz (oder fahrbaren Distanz) voneinander weit weg befinden können. Beispielsweise im Fall einer Überführung können sich Fahrtpunkte oder Merkmale, die von Autos gesammelt werden, die unter der Überführung fahren, nahe zueinander befinden oder sich sogar in einer X-Y-Ebene mit Punkten oder Merkmalen schneiden, die von Autos gesammelt werden, die auf der Überführung fahren. Nichtsdestotrotz wird in einem solchen Beispiel ein Auto möglicherweise nicht in der Lage sein, die Überführung zu befahren, nachdem es unter der Überführung gefahren ist (oder umgekehrt), ohne in einigen Fällen viele Kilometer zwischen den beiden Ereignissen zu fahren. Das heißt, obwohl die Straßen so erscheinen, dass sie sich schneiden, wenn auf eine Draufsichtskarte der Straßen geblickt wird, sind die Straßen separat und bilden keine tatsächliche, navigierbare Kreuzung, wo sich die Straßen auf der Karte überlappen. Infolgedessen wird ein Fahrzeug, das auf der ersten Straße über die Überführung fährt, möglicherweise nicht an dem Punkt abbiegen und zu der unteren Straße navigieren, an dem die Straßen sich auf der Karte zu schneiden erscheinen.
  • Ähnliche Szenarien können in dem Fall von Abfahrten von oder Auffahrten auf eine Autobahn existieren, was gesammelte Fahrtpunkte/Merkmale beinhalten kann, die sich physisch nahe an Punkten auf einer Autobahn befinden, von der abgefahren oder auf die aufgefahren wird, aber um erhebliche Fahrtdistanzen getrennt sind, die benötigt werden, um beide bei einer einzigen Fahrt zu befahren.
  • In solchen Fällen, unter anderen Beispielen, sollte die Ausrichtung oder andere Aggregation von Datenpunkten, Objekten, Straßenoberflächen usw., die basierend auf mehreren Fahrten gesammelt/bestimmt werden, auf jene Datenpunkte, Objekte, Straßenoberflächen usw. beschränkt sein, die nicht nur physisch nahe zueinander, sondern auch hinsichtlich Fahrtdistanzen nahe zueinander liegen (z. B. Punkte, Merkmale, Oberflächen usw., die nacheinander innerhalb einer gewissen vorbestimmten Fahrtdistanz angetroffen werden, wie etwa 10 m, 20 m, 50 m, 100 m usw.). Um die Genauigkeit von kartierten Merkmalen zu bewahren, können Punkte, Objekte, Merkmale, Straßenoberflächen usw., die um mehr als eine vorbestimmte Fahrtdistanz getrennt sind, nicht aggregiert, nicht ausgerichtet, nicht gemesht usw. bleiben. Mit anderen Worten gibt es einen Bedarf für Systeme und Verfahren zum effizienten und genauen Kartieren von Straßensegmenten, um Straßen, die physisch nahe zueinander liegen, aber nicht direkt und nacheinander navigierbar sind, von Straßen/Straßenoberflächen zu unterscheiden, die direkt und nacheinander ohne erhebliche zwischenliegende Fahrtdistanzen (z. B. Distanzen über die vorbestimmte Fahrtdistanzschwelle hinaus) navigierbar sind.
  • Eine Weise zum Erzeugen einer Karte für Straßensegmente kann Analysieren von Informationen beinhalten, die für die Straßensegmente gesammelt werden (z. B. Bilder, die durch Kameras an Bord von Fahrzeugen erfasst werden, die das Straßensegment befahren, und Informationen, die durch andere Sensoren an Bord der Fahrzeuge gesammelt werden, wie etwa LIDAR- oder Radarinformationen). Der Kartenerzeugungsprozess kann dann Erzeugen eines Straßen-Splines und Sampeln des Straßen-Splines beinhalten, um ein Modell einer Oberfläche des Straßensegments zu erzeugen. Als Nächstes kann der Prozess Erzeugen eines Mesh beinhalten, das befahrbare Straßenoberflächen abdeckt, die im Straßensegment enthalten sind. Wie oben angemerkt, können solche Prozesse jedoch auf gewisse Herausforderungen treffen, bei denen zum Beispiel Straßen als sich schneidend erscheinen können, sich aber nicht tatsächlich schneiden, oder bei denen sich Straßenpunkte, Merkmale, Oberflächen usw. physisch nahe zueinander befinden können, aber um erhebliche Fahrtdistanzen getrennt sind. Wie oben besprochen, können solche Fälle Überführungen/Unterführungen; Autobahnabfahrten/-auffahrten; Straßenspuren, die mit entgegengesetzten Fahrtrichtungen assoziiert sind (einschließlich solcher Spuren, die durch Teiler oder Barrieren getrennt sind, oder Spuren, die durch Straßenmarkierungen getrennt sind); Straßenspuren, die mit gemeinen Fahrtrichtungen assoziiert sind, aber durch eine oder mehrere Barrieren getrennt sind; usw. beinhalten. In solchen Fällen, unter anderen, können die Prozesse zum Aggregieren, Ausrichten und/oder Glätten gewisser Straßenmerkmale und assoziierter Positionen und/oder erzeugter Meshes, die befahrbare Straßenoberflächen repräsentieren, gegenüber Fehlern anfällig sein, die durch Operationen an Punkten, Merkmalen usw. eingeführt werden, die sich physisch nahe befinden können, aber hinsichtlich der Fahrdistanz beabstandet sind.
  • Offenbarte Systeme und Verfahren können eine Lösung bereitstellen, die die Erzeugung von Karten zur Verwendung bei der Navigation von autonomen oder teilautonomen Fahrzeugen ermöglicht, wobei solche Karten keine Ungenauigkeiten beinhalten, die durch die Aggregation von durch Crowdsourcing erhaltenen Fahrtinformationen verursacht werden, die von Straßensegmenten gesammelt werden, die physisch nahe zueinander liegen, aber nicht nacheinander navigierbar sind, ohne zuerst erhebliche Fahrtdistanzen zu fahren. Beispielsweise können das offenbarte System und Verfahren Karten erzeugen, die tatsächliche navigierbare Kreuzungen, an denen Fahrzeuge von einem Straßensegment zu einem anderen navigieren können, von anscheinenden Kreuzungen unterscheiden können, die durch eine Kreuzung einer Überführung und einer Unterführung gebildet werden, die Fahrzeugen nicht gestatten, direkt von einer zu der anderen zu navigieren, ohne eine erhebliche Fahrtdistanz zu fahren. Die offenbarten Systeme können andere Straßensegmente unterscheiden, die nicht innerhalb gewisser fahrbarer Distanzen zusammenkommen oder sich schneiden, wie etwa geteilte Autobahnen (z. B. Autobahnen mit Verkehrsspuren, die in entgegengesetzte Richtungen fahren, die sich nahe zueinander oder Seite an Seite zueinander befinden) und Straßensegmente, die in die gleiche Richtung fahren, aber nichtsdestotrotz separate Straßensegmente bilden (z. B. Maut- oder Fahrgemeinschaftsspuren, die von regulären Fahrspuren durch Poller oder eine Barrierewand aus Beton getrennt sind).
  • 27 ist ein Diagramm, das eine beispielhafte Überführung 2700 mit überlappenden Straßensegmenten zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. In diesem Beispiel kann ein Host-Fahrzeug 2710 entlang eines Straßensegments 2720 fahren, das unter einer anderen Fahrbahn verlaufen kann, wie in 27A gezeigt. Das Host-Fahrzeug 2710 kann dazu ausgelegt sein, Bilder von der Umgebung des Fahrzeugs 2710 entlang des Straßensegments 2720 unter Verwendung einer oder mehrerer Kameras (z. B. einer Kamera 2712 oder einer Vielzahl von Kameras 2712) zu erfassen. In einigen Ausführungsformen kann das Host-Fahrzeug 2710 dem oben besprochenen Fahrzeug 200 entsprechen. Dementsprechend können jegliche der hierin mit Bezug auf das Fahrzeug 200 beschriebenen Merkmale oder Ausführungsformen auch auf das Host-Fahrzeug 2710 angewendet werden. Beispielsweise kann die Kamera 2712 einer oder mehrerer der Bilderfassungsvorrichtungen 122, 124 und 126 entsprechen. Ferner kann das Host-Fahrzeug 2710 mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, wie etwa der oben beschriebenen Verarbeitungsvorrichtung 110.
  • Das Host-Fahrzeug 2710 kann (z. B. über die Verarbeitungsvorrichtung 110) Bilder, die durch die Kamera 2712 erfasst werden, verarbeiten, um ein oder mehrere Merkmale zur Erzeugung eines Straßennavigationsmodells entlang des Straßensegments 2720 zu identifizieren. Diese Merkmale können gemäß verschiedenen Bildanalyse- oder -verarbeitungstechniken identifiziert werden und können über mehrere Bildframes hinweg verfolgt werden, wie durchweg in der vorliegenden Offenbarung beschrieben. Beispielsweise können die Merkmale dem Straßenschild 2724 und der Spurmarkierung 2726 entsprechen, wie in 27A veranschaulicht. Die Merkmale können verschiedenen anderen Objekten oder Oberflächenmerkmalen entlang des Straßensegment 2720 entsprechen. Die durch das Host-Fahrzeug 2710 gesammelten Fahrtinformationen (die Merkmalspunkte für das Straßenschild 2724 und die Spurmarkierung 2726 beinhalten können) können verwendet werden, um eine kartierte Zieltrajektorie 2722 zu erzeugen, die als ein dreidimensionaler Spline repräsentiert sein kann. Zusätzliche Einzelheiten bezüglich der Kartierung von Zieltrajektorien sind oben bereitgestellt. Während das Straßensegment 2720 für Veranschaulichungszwecke als eine einzelne Fahrspur repräsentierend gezeigt ist, kann sich ein Straßensegment, wie hierin verwendet, auf mehrere Spuren, die in die gleiche Richtung laufen, Spuren, die in mehrere Richtungen laufen, oder verschiedene andere Konfigurationen beziehen. Ferner können Straßensegmente verschiedene Längen aufweisen, die vordefinierte Längen sein können (z. B. 10 m, 30 m, 100 m usw.), oder Längen basierend auf Merkmalen der Fahrbahn aufweisen können (z. B. Landmarkendichte, Landmarkenorte, Überschneidungen mit anderen Fahrbahnen, Verkehrsdichte oder dergleichen).
  • Die Überführung 2700 kann ferner eine Fahrbahn beinhalten, die über das Straßensegment 2720 verläuft, das ein Straßensegment 2730 beinhalten kann. Fahrtinformationen, die durch Fahrzeuge erfasst werden, die das Straßensegment 2730 befahren, können verwendet werden, um eine Navigationskarte für das Straßensegment 2730 zu erzeugen, die eine kartierte Zieltrajektorie 2732 beinhalten kann. Beispielsweise können Fahrzeuge Bilder ihrer Umgebung aufnehmen, während sie das Straßensegment 2730 befahren, und können Merkmale, wie etwa das Straßenschild 2734, zum Erzeugen der Navigationskarte identifizieren. Wie oben besprochen, können die Straßennavigationskarten basierend auf dem Korrelieren von Informationen von mehreren Fahrzeugen (und/oder mehreren Befahrungen des gleichen Straßensegments durch das gleiche Fahrzeug) innerhalb des gleichen geographischen Ortes erzeugt werden. Ungeachtet dessen, dass sich die Straßensegmente 2720 und 2730 in der gleichen Nähe befinden (und in diesem Fall sich gegenseitig überlappen), können die Straßensegmente hinsichtlich der fahrbaren Distanz relativ weit voneinander entfernt sein. Beispielsweise muss das Host-Fahrzeug 2710 möglicherweise entlang des Straßensegments 2720 für viele Kilometer fahren, anderen Fahrbahnen folgen, mehrere Kreuzungen befahren usw., um das Straßensegment 2730 zu erreichen. Ungeachtet ihrer relativen physischen Nähe können die Straßensegmente 2720 und 2730 daher hinsichtlich der fahrbaren Distanz entfernt liegen. Dementsprechend können Versuche, Fahrtinformationen oder Straßenmodellsegmente für die Straßensegmente 2720 und 2730 auszurichten, zu Ungenauigkeiten im Straßennavigationsmodell führen.
  • In einigen Ausführungsformen, und als Teil einer Bestimmung bezüglich dessen, ob gewisse Punkte usw. von unterschiedlichen Fahrten aggregiert, ausgerichtet, bei der Erzeugung eines Straßenoberflächen-Mesh verwendet werden sollten usw., können die offenbarten Systeme und Verfahren die Nähe von zwei oder mehr Punkten usw. hinsichtlich der fahrbaren Distanz voneinander bestimmen. Falls zum Beispiel zwei Punkte, Merkmale usw. um eine relativ große fahrbare Distanz getrennt sind, dann wird das System diese Punkte möglicherweise nicht miteinander aggregieren oder ausrichten oder sie beide bei der Erzeugung eines Mesh verwenden, das eine fahrbare Straßenoberfläche repräsentiert. Andererseits, wenn zwei Punkte, Merkmale usw. um eine kürzere fahrbare Distanz getrennt sind, dann kann das System zweckmäßig bestimmen, dass diese Punkte Teil desselben Straßensegments sind und dass zum Beispiel ein Fahrzeug direkt von einem zu dem anderen fahren kann. Somit kann das offenbarte System in solchen Situationen solche direkt navigierbare Punkte miteinander aggregieren oder ausrichten oder sie beide bei der Erzeugung eines Mesh verwenden, das eine befahrbare Straßenoberfläche usw. repräsentiert. Infolge der offenbarten Systeme und Verfahren können die erzeugten Karten einen höheren Grad an Genauigkeit aufweisen und können genauere und zulässige Fahrentscheidungen und Fahrmanöver ermöglichen.
  • 28 ist eine Draufsicht einer Überführung 2700, in Übereinstimmung mit den offenbarten Ausführungsformen. Wie oben mit Bezug auf 27 beschrieben, kann die Überführung 2700 ein erstes Straßensegment 2720 und ein zweites Straßensegment 2730 beinhalten, die sich überlappen. Ein Host-Fahrzeug 2710 kann Fahrtinformationen zum Erzeugen eines ersten Straßenmodellsegments sammeln, das mit dem Straßensegment 2720 assoziiert ist, und ein zweites Host-Fahrzeug 2820 kann Fahrtinformationen zum Erzeugen eines zweiten Straßenmodellsegments sammeln, das mit dem Straßensegment 2730 assoziiert ist. Sowohl das erste als auch zweite Straßenmodellsegment kann durch Korrelieren der Fahrtinformationen erzeugt werden, die entlang der entsprechenden Straßensegmente gesammelt werden. Beispielsweise kann das Host-Fahrzeug 2710 gesammelte Fahrtinformationen zu einem Server 2810 übertragen. Der Server 2810 kann dazu ausgelegt sein, Informationen von einem oder mehreren zusätzlichen Host-Fahrzeugen zu empfangen, die entlang des Straßensegments 2720 fahren, und Straßenmodelle (z. B. dünnbesetzte Karten usw.) basierend auf den empfangenen Daten zu erzeugen. Der Server 2910 kann auch das Straßenmodell (oder Aktualisierungsdaten für das Straßenmodell) zu einem oder mehreren autonomen oder halbautonomen Fahrzeugen übertragen, das zur Navigation verwendet werden kann. In einigen Ausführungsformen kann der Server 2910 dem Server 1230 entsprechen, wie oben beschrieben. Dementsprechend können jegliche der Beschreibungen oder Offenbarungen, die mit Bezug auf den Server 1230 vorgenommen werden, auch auf den Server 2910 angewendet werden, und umgekehrt. Ferner, während das Host-Fahrzeug 2710 als mit dem Server 2810 kommunizierend gezeigt ist, versteht es sich, dass der Server 2810 gleichermaßen mit den Fahrzeugen 2820 und 2822 kommunizieren kann.
  • In einigen Ausführungsformen kann der Server 2810 Daten, die von Host-Fahrzeugen empfangen werden, die das Straßensegment 2720 befahren, korrelieren, um ein Straßenmodell mit einem Straßenmodellsegment zu erzeugen, das mit dem Straßensegment 2720 assoziiert ist. Das Korrelieren kann Bestimmen von verfeinerten Positionen von Objekten oder Merkmalen basierend auf bestimmten Positionsindikatoren beinhalten. Beispielsweise kann der Server 2810 einen ersten Positionsindikator für ein identifiziertes Objekt relativ zu dem Straßensegment 2720 (wie etwa das Straßenschild 2724) basierend auf ersten Fahrtinformationen mit einem zweiten Positionsindikator für dasselbe Objekt relativ zu dem Straßensegment, das basierend auf zweiten Fahrtinformationen bestimmt wird, korrelieren. Der Server 2810 kann auch einen finalen Positionsindikator (oder eine verfeinerte Position) für dieses Objekt basierend auf dem ersten und zweiten Positionsindikator bestimmen. In einigen Ausführungsformen kann das Korrelieren Aggregieren von Objekten beinhalten, die in den Fahrtinformationen identifiziert werden. Beispielsweise kann der Server 2810 ein oder mehrere Objekte, die zu einer ersten Kategorie von Objekten gehören, die in ersten Fahrtinformationen (z. B. einem ersten Bild) identifiziert werden, und ein oder mehrere Objekte, die zu der gleichen Kategorie von Objekten gehören, die in zweiten Fahrtinformationen (z. B. einem zweiten Bild) identifiziert werden, aggregieren. Der Server 2810 kann auch ein oder mehrere duplizierte Objekte aus den aggregierten Objekten entfernen.
  • Der Server 2810 kann basierend auf einer fahrbaren Distanz zwischen den Segmenten bestimmen, ob die mit dem Segment 2720 assoziierten Daten und die mit dem Segment 2730 assoziierten Daten aggregiert, ausgerichtet, bei der Erzeugung des gleichen Straßenoberflächen-Mesh verwendet oder anderweitig korreliert werden sollten. Wie in 28 gezeigt, kann das Straßensegment 2720 mit einem Punkt 2802 assoziiert sein. Der Punkt 2820 kann mit dem Straßensegment 2720 auf verschiedene Weisen assoziiert sein. In einigen Ausführungsformen kann der Punkt 2802 ein Objekt oder Merkmal repräsentieren, das entlang des Straßensegments 2720 detektiert wird. Als ein anderes Beispiel kann der Punkt 2802 ein Zentroid, ein Eckpunkt, ein Kantenpunkt oder ein anderer Punkt sein, der geometrisch mit dem Straßensegment 2720 in Beziehung steht. Gleichermaßen kann das Straßensegment 2730 mit einem Punkt 2804 assoziiert sein. Im Modellraum (z. B. in einer X-Y-Ebene) können die Punkte 2802 und 2804 um eine Distanz d1 getrennt sein, der relativ klein sein kann. Mit anderen Worten können, aufgrund der Nähe der Punkte 2802 und 2804, Fahrtinformationen, die mit diesen Punkten assoziiert sind, normalerweise im Modell korreliert werden. In Übereinstimmung mit den offenbarten Ausführungsformen kann jedoch eine fahrbare Distanz d2 zwischen den Punkten 2802 und 2804 bestimmt werden, um zu beurteilen, ob Fahrtinformationen, die mit diesen Punkten assoziiert sind, im Modell korreliert werden sollten. Die fahrbare Distanz d2 kann die minimale Distanz repräsentieren, die ein hypothetisches Fahrzeug, das am Punkt 2802 positioniert ist, brauchen würde, um den Punkt 2804 zu erreichen (oder umgekehrt). Eine beispielhafte gestrichelte Linie ist in 28 gezeigt, um die Distanz d2 zu repräsentieren, es versteht sich jedoch, dass die Distanz d2 eine beliebige Form oder Länge sein kann, wie erforderlich, um den Punkt 2804 zu erreichen. Die fahrbare Distanz d2 kann unter der Annahme bestimmt werden, dass das hypothetische Fahrzeug einem/einer oder mehreren Verkehrsgesetzen, Vorschriften, Richtlinien und/oder bewährten Praktiken einhält, um den Punkt 2804 zu erreichen. In einigen Ausführungsformen kann die Distanz d2 basierend auf in einem Straßenmodell enthaltenen Zieltrajektorien bestimmt werden, die durch den Server 2810 basierend auf Fahrtinformationen erzeugt wurden, die durch Fahrzeuge gesammelt werden. Alternativ oder zusätzlich kann die Distanz d2 basierend auf einer externen Kartendatenbank bestimmt werden, wie etwa einer Online-Kartierungsplattform, einer Straßendatenbank oder dergleichen.
  • Fahrtinformationen, die mit dem Straßensegment 2720 assoziiert sind (die ein Straßenmodellsegment für das Straßensegment 2720 beinhalten können), können mit Fahrtinformationen für das Straßensegment 2730 basierend auf einem Vergleich der fahrbaren Distanz d2 mit einer vorbestimmten Schwelle (z. B. 10 m, 20 m, 30 m, 50 m, 100 m oder eine beliebige andere geeignete Distanz) korreliert werden. Falls zum Beispiel die fahrbare Distanz d2 die vorbestimmte Schwelle überschreitet, dann wird das System diese Punkte möglicherweise nicht miteinander aggregieren oder ausrichten oder sie beide bei der Erzeugung eines Mesh verwenden, das eine fahrbare Straßenoberfläche repräsentiert. Andererseits, wenn die fahrbare Distanz d2 kleiner als die vorbestimmte Schwelle ist, dann kann der Server 2810 diese Punkte 2802 und 2804 als Teil des gleichen Straßensegments bestimmen und kann bestimmen, dass ein Fahrzeug direkt von einem zu dem anderen fahren kann. Dementsprechend kann der Server 2810 die Punkte 2802 und 2804 miteinander aggregieren, ausrichten oder meshen. In einigen Ausführungsformen kann die Bestimmung, ob die Punkte 2802 und 2804 zu korrelieren sind, auf einem Vergleich der physischen Distanz (z. B. Distanz d1 zu der fahrbaren Distanz d2) basieren. Falls zum Beispiel die Distanz d2 die Distanz d1 überschreitet, wird der Server 2810 möglicherweise nicht die Punkte korrelieren. Als ein anderes Beispiel wird der Server 2810 möglicherweise nicht die Punkte 2802 und 2804 korrelieren, falls die fahrbare Distanz d2 die Distanz d1 um mehr als einen vorbestimmten Faktor überschreitet (z. B. mehr als 110 %, mehr als 120 %, mehr als 150 %, mehr als 300 % usw.). Verschiedene andere Beziehungen zwischen der Distanz d1 und der Distanz d2 können als eine Schwelle verwendet werden. In einigen Ausführungsformen kann die Schwelle basierend auf anderen Werten oder Beziehungen definiert sein. Zum Beispiel kann die Schwelle auf einer typischen Höhe eines Fahrzeugs basieren oder damit in Beziehung stehen (z. B. 1,5-mal die Höhe eines großen Lastkraftwagens, 2-mal die Höhe eines großen Lastkraftwagens, 3-mal die Höhe eines großen Lastkraftwagens usw.). Als ein anderes Beispiel kann die Schwelle basierend auf Beziehungen zu einer Breite einer Straße, einer Länge oder Breite eines Fahrzeugs, Distanzen zu anderen Objekten in der Umgebung des Host-Fahrzeugs oder dergleichen definiert sein. Mit anderen Worten kann die Schwelle auf eine beliebige geeignete Weise definiert sein und ist möglicherweise kein fester oder konstanter Wert.
  • In anderen Ausführungsformen kann der Server 2810 ein Mesh erzeugen, das eine Straßenoberfläche des Straßensegments 2730 repräsentiert. Beispielsweise kann das System mindestens einen Prozessor beinhalten, der programmiert ist, Daten von mehreren Fahrten durch Crowdsourcing zu erhalten, topographische Informationen von Fahrten wie etwa Spurmarkierungen und Spurränder zu identifizieren und ein Straßenmodell zu erzeugen. Wenn das Straßenmodell erzeugt wird, kann das System Straßenoberflächen meshen, die Punkte von gesammelten Fahrten vereinigen, die um fahrbare Distanzen geringer als eine gewisse Schwelle getrennt sind (z. B. kann ein Fahrzeug von einem der Punkte zu einem anderen Punkt navigieren, ohne mehr als 50 Meter, mehr als 100 Meter usw. zu fahren). Gleichermaßen kann das System bestimmen, keine Straßenoberflächen für Punkte zu meshen, die um fahrbare Distanzen größer als eine Schwelle getrennt sind (z. B. größer als 50 Meter, größer als 100 Meter usw.), selbst wenn solche Punkte sich physisch näher zueinander befinden können als die Schwellendistanz. Beispielsweise können verschiedene Punkte entlang der Oberfläche des Straßensegments 2730 identifiziert werden und ein 3D-Straßengeometriemodell kann basierend auf den Punkten erzeugt werden. In einigen Ausführungsformen kann das Erzeugen des Mesh eines Straßensegments die Anwendung eines Triangulationsalgorithmus beinhalten, wie etwa einer Delaunay-Triangulationstechnik oder ähnlicher Algorithmen. Eine beispielhafte Offenbarung der Modellierung einer Fahrzeugumgebung ist im US-Patent mit der Nr. 10,872,433 von Stein et al. beschrieben, das hierin durch Bezugnahme in seiner Gesamtheit aufgenommen wird.
  • In einigen Ausführungsformen kann der Meshing-Prozess im Anschluss an einen Ausrichtungs- und/oder Aggregationsprozess stattfinden. Beispielsweise können Fahrtinformationen, die Positionen für Spurmarkierungen, Straßenränder, Kameraposition (z. B. ein Punkt entlang der Straßenoberfläche direkt unter einer Kamera, die zum Erfassen eines Bildes verwendet wird) oder verschiedene andere Punkte beinhalten können, aggregiert und ausgerichtet werden, wie in anderen obigen Abschnitten beschrieben. Infolgedessen können ausgerichtete und/oder aggregierte Positionen zum Erzeugen eines Mesh verwendet werden, und nur Punkte innerhalb einer vorbestimmten fahrbaren Distanzschwelle können miteinander gemesht werden. In anderen Ausführungsformen kann die fahrbare Distanzschwelle während der Ausrichtungs- und Aggregationsphase verwendet werden.
  • Während die offenbarten Ausführungsformen oben mit Bezug auf eine Überführung 2700 beschrieben sind, kann die Korrelation von Fahrtinformationen basierend auf der fahrbaren Distanz in anderen Szenarien bestimmt werden, bei denen zwei Punkte nicht direkt voneinander befahrbar sind. Zum Beispiel können die offenbarten Ausführungsformen in Situationen implementiert werden, bei denen ein Punkt entlang einer Fahrbahn, die in eine erste Richtung verläuft, um eine relativ große fahrbare Distanz von einem Punkt auf einer Fahrbahn getrennt ist, die in eine entgegengesetzte Richtung verläuft. Beispielsweise mit Bezug auf 28 kann ein Punkt 2806 durch ein Host-Fahrzeug 2822 detektiert werden, das in eine Richtung entgegengesetzt des Host-Fahrzeugs 2710 fährt. Ähnlich zu den Punkten 2802 und 2804 kann eine fahrbare Distanz zwischen den Punkten 2802 und 2806 erheblich größer als ein physischer Abstand zwischen den Punkten 2802 und 2806 sein. Beispielsweise kann ein Mittelstreifen 2830 bewirken, dass der Punkt 2806 nicht direkt vom Punkt 2802 befahrbar ist. Dementsprechend werden Fahrtinformationen, die durch die Fahrzeuge 2710 und 2822 gesammelt werden, möglicherweise nicht korreliert.
  • Als ein anderes Beispiel werden Fahrtinformationen von orthogonalen Straßensegmenten (z. B. durch eine Kreuzung, eine Abfahrt usw. verbunden) möglicherweise nicht miteinander korreliert oder gemesht. In einigen Ausführungsformen können Abschnitte nahe der Kreuzung zusammen mit der Kreuzung miteinander korreliert und/oder gemesht werden. Weiter weg liegende Segmente werden dies jedoch möglicherweise nicht. 29 veranschaulicht eine beispielhafte Kreuzung 2900, entlang der Fahrtinformationen gesammelt werden können, in Übereinstimmung mit den offenbarten Ausführungsformen. Beispielsweise kann das Host-Fahrzeug 2710 Fahrtinformationen sammeln, wenn es ein Straßensegment 2902 befährt, das sich der Kreuzung 2900 nähert. Fahrtinformationen können gleichermaßen für ein Straßensegment 2904 gesammelt werden, das von der Kreuzung 2900 entlang einer orthogonalen Fahrbahn getrennt ist. Ähnlich zu dem für die Überführung 2700 beschriebenen Szenario können Abstände zwischen Punkten 2912 (mit dem Straßensegment 2902 assoziiert) und 2914 (mit dem Straßensegment 2904 assoziiert) analysiert werden, um zu bestimmen, ob Fahrtinformationen von den Straßensegmenten 2902 und 2904 miteinander korreliert und/oder gemesht werden sollten. Beispielsweise kann eine fahrbare Distanz d4 zwischen den Punkten 2912 und 2914 mit einer vorbestimmten Schwelle verglichen werden, wie oben beschrieben. Die vorbestimmte Schwelle kann für alle Szenarien die gleiche sein oder kann von der Straßenkonfiguration abhängen. Beispielsweise kann eine unterschiedliche Schwelle für Überführungskonfigurationen verwendet werden, als für Kreuzungen, Abfahrten, getrennte Fahrbahnen oder andere Konfigurationen verwendet wird. In einigen Ausführungsformen kann die fahrbare Distanz d4 mit einer physischen Distanz d3 verglichen werden, wie oben beschrieben. Ähnliche Überlegungen der fahrbaren Distanz können in anderen Szenarien implementiert werden, wie etwa eine Abfahrt oder andere Anordnung, bei der sich zwei Fahrspuren teilen. Obwohl die Spuren hinsichtlich der fahrbaren Distanz relativ nahe bleiben, kann es vorteilhaft sein, Punkte, die entlang der Spurteilung gesammelt werden, zu korrelieren und/oder zu meshen. Während sich die fahrbare Distanz zwischen den Spuren erhöht, kann der Server 2810 jedoch die Informationen separat korrelieren und/oder meshen.
  • 30 ist ein Flussdiagramm, das einen beispielhaften Prozess 3000 zum Korrelieren von Fahrtinformationen zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 3000 kann durch mindestens eine Verarbeitungsvorrichtung eines Servers durchgeführt werden, wie etwa Server 2810. In einigen Ausführungsformen kann ein Teil oder der gesamte Prozess 3000 durch eine Verarbeitungsvorrichtung eines Fahrzeugs durchgeführt werden, wie etwa die Verarbeitungsvorrichtung 110. Es versteht sich, dass durchweg in der vorliegenden Offenbarung der Begriff „Prozessor“ als eine Kurzform für „mindestens ein Prozessor“ verwendet wird. Mit anderen Worten kann ein Prozessor ein oder mehrere Strukturen beinhalten, die Logikoperationen durchführen, egal, ob solche Strukturen kolokalisiert, verbunden oder verteilt sind. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor zum Durchführen des Prozesses 3000 veranlassen. Ferner ist der Prozess 3000 nicht notwendigerweise auf die in 30 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen Ausführungsformen, die durchweg in der vorliegenden Offenbarung beschrieben sind, können auch im Prozess 3000 eingeschlossen werden, einschließlich jener, die oben mit Bezug auf 27, 28 und 29 beschrieben sind.
  • Bei Schritt 3010 beinhaltet der Prozess 3000 Empfangen von Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen, die ein erstes Straßensegment befuhren. Beispielsweise kann die erste Vielzahl von Fahrzeugen das Host-Fahrzeug 2710 zusammen mit anderen Host-Fahrzeugen beinhalten, die das erste Straßensegment befahren. Die Fahrtinformationen können zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr. Die Fahrtinformationen können andere Informationen beinhalten, wie etwa Angaben von Objekten, die über eine Analyse von erfassten Bildframes detektiert werden, und mindestens einen Positionsindikator, der mit jedem der detektierten Objekte assoziiert ist. Die Positionsindikatoren können auf verschiedene Weisen repräsentiert werden. In einigen Ausführungsformen kann der mindestens eine Positionsindikator in Bildkoordinaten repräsentiert sein, und kann daher einen X-Y-Ort von einem erfassten Bildframe beinhalten. Alternativ oder zusätzlich kann der mindestens eine Positionsindikator einen dreidimensionalen (3D) Merkmalspunkt beinhalten, der basierend auf einer Structure-in-Motion-Berechnung bestimmt wird. Wie durchweg in der vorliegenden Offenbarung beschrieben, können die Angaben der detektierten Objekte einen nicht semantischen Merkmalstyp des Objekts identifizieren. Beispielsweise kann der nicht semantischen Merkmalstyp mindestens eines von einem Verkehrsschild, einer Ampel, einer Spurmarkierung, einer Schachtabdeckung, einem Straßenrand, einer Barriere oder einer Bordsteinkante beinhalten. In einigen Ausführungsformen kann der nicht semantische Merkmalstyp auch andere Informationen beinhalten, wie etwa eine Angabe, ob die Barriere, die Bordsteinkante oder der Straßenrand befahrbar sind oder nicht, und ob ein Gebiet über ein solches Straßenmerkmal hinaus navigierbar ist oder nicht. In einigen Ausführungsformen können die Fahrtinformationen ferner Positionen der Kamera beinhalten, wo die entsprechenden Bilder erfasst wurden (was einen Fahrpfad des Fahrzeugs angeben kann).
  • Bei Schritt 3020 beinhaltet der Prozess 3000 Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert. Beispielsweise kann die Korrelation der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen eine Aggregation und Ausrichtung von tatsächlichen Fahrzeugtrajektorien beinhalten, um eine Zieltrajektorie für mindestens eine Fahrspur zu bestimmen, die mit dem ersten Straßensegment assoziiert ist. Beispielsweise können die Fahrtinformationen korreliert werden, um die Zieltrajektorie 2722 zu bestimmen, wie in 27 gezeigt. In einigen Ausführungsformen kann die Zieltrajektorie als ein 3D-Spline repräsentiert sein, wie oben zum Beispiel mit Bezug auf 9B beschrieben.
  • Bei Schritt 3030 beinhaltet der Prozess 3000 Empfangen von Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen, die ein zweites Straßensegment befuhren. Beispielsweise kann Schritt 3030 Empfangen von Fahrtinformationen von einer Vielzahl von Fahrzeugen einschließlich eines der Host-Fahrzeuge 2820 oder 2822 beinhalten. Die zweite Vielzahl von Fahrzeugen kann sich von der ersten Vielzahl von Fahrzeugen unterscheiden. Die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen können zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr. Wie mit den Fahrtinformationen für die erste Vielzahl von Fahrzeugen können die Fahrtinformationen für die zweite Vielzahl von Fahrzeugen andere Informationen beinhalten, wie etwa Angaben von Objekten, die über eine Analyse von erfassten Bildframes detektiert werden, und mindestens einen Positionsindikator, der mit jedem der detektierten Objekte assoziiert ist. In einigen Ausführungsformen kann der mindestens eine Positionsindikator in Bildkoordinaten repräsentiert sein, und kann daher einen X-Y-Ort von einem erfassten Bildframe beinhalten. Alternativ oder zusätzlich kann der mindestens eine Positionsindikator einen dreidimensionalen (3D) Merkmalspunkt beinhalten, der basierend auf einer Structure-in-Motion-Berechnung bestimmt wird. Ferner können die Angaben der detektierten Objekte einen nicht semantischen Merkmalstyp des Objekts identifizieren, wie etwa ein Verkehrsschild, eine Ampel, eine Spurmarkierung, eine Schachtabdeckung, einen Straßenrand oder eine Bordsteinkante. Wie mit den ersten Fahrtinformationen können die zweiten Fahrtinformationen ferner Positionen der Kamera beinhalten, als die entsprechenden Bilder erfasst wurden (was einen Fahrpfad des Fahrzeugs angeben kann).
  • Bei Schritt 3040 beinhaltet der Prozess 3000 Korrelieren der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert. Beispielsweise kann die Korrelation der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen eine Aggregation und Ausrichtung von tatsächlichen Fahrzeugtrajektorien beinhalten, um eine Zieltrajektorie für mindestens eine Fahrspur zu bestimmen, die mit dem zweiten Straßensegment assoziiert ist. Beispielsweise können die Fahrtinformationen korreliert werden, um die Zieltrajektorie 2732 zu bestimmen, wie in 27 gezeigt. In einigen Ausführungsformen kann die Zieltrajektorie als ein 3D-Spline repräsentiert sein.
  • Im Schritt 3050 beinhaltet der Prozess 3000 Korrelieren des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßensegmentmodell bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist. Dementsprechend kann Schritt 3050 eine fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt beinhalten. Beispielsweise kann dies dem Bestimmen der fahrbaren Distanz d2 zwischen den Punkten 2802 und 2804 entsprechen, wie oben beschrieben. In einigen Ausführungsformen kann das Bestimmen der fahrbaren Distanz Zugreifen auf mindestens ein Straßennavigationsmodell (z. B. eine dünnbesetzte Karte) oder Informationen, die in einer Kartendatenbank gespeichert sind, beinhalten. In einigen Ausführungsformen kann das Bestimmen der fahrbaren Distanz Bestimmen einer Distanz beinhalten, die ein hypothetisches Fahrzeug fahren würde, unter der Annahme, dass das hypothetische Fahrzeug mindestens ein Verkehrsgesetz, eine Vorschrift, eine Richtlinie und/oder eine beste Praxis einhält.
  • Die Korrelation des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment kann auf verschiedene Weisen durchgeführt werden. Wie oben beschrieben, in einigen Ausführungsformen, das Meshen miteinander von Repräsentationen von Straßenoberflächen, die mit dem ersten Straßenmodellsegment und dem zweiten Straßenmodellsegment assoziiert sind. Beispielsweise kann das Meshing eine Anwendung eines Triangulationsalgorithmus beinhalten. In Ausführungsformen, bei denen die Korrelation der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen und die Korrelation der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen eine Aggregation von Positionsindikatoren beinhaltet, um verfeinerte Positionen für detektierte Objekte (z. B. Spurmarkierungen, Straßenränder usw.) zu bestimmen, kann die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments Meshing der verfeinerten Positionen für detektierte Objekte beinhalten. Mit anderen Worten kann die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments Meshing von Punkten beinhalten, die schon einem Ausrichtungs- oder Aggregationsprozess unterzogen wurden. In anderen Ausführungsformen kann die Korrelation des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment den Ausrichtungs- oder Aggregationsprozess beinhalten. Beispielsweise kann die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments Ausrichten von Zieltrajektorien beinhalten, die mit dem ersten und zweiten Straßensegmentmodell assoziiert sind. Dies kann Ausrichten von Zieltrajektorien für Spuren in entgegengesetzte Fahrtrichtungen beinhalten, sodass ein navigierendes Fahrzeug genau bestimmen kann, ob ein entgegenkommendes Fahrzeug entlang der gleichen Zieltrajektorie für die Spur des navigierenden Fahrzeugs fährt oder nicht. In einigen Ausführungsformen kann die Korrelation zum Erzeugen des korrigierten Straßensegmentmodells basierend auf den zugrundeliegenden Fahrtinformationen durchgeführt werden, die durch die erste Vielzahl von Fahrzeugen und die zweite Vielzahl von Fahrzeugen gesammelt werden. Somit können das erste Straßenmodellsegment und das zweite Straßenmodellsegment als Teil der Erzeugung des korrelierten Straßensegmentmodells bestimmt werden. Dementsprechend kann die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments durch Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen mit Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen durchgeführt werden.
  • Die vorbestimmte Distanzschwelle kann auf verschiedene Weisen definiert sein. Beispielsweise kann die vorbestimmte Distanzschwelle eine vorbestimmte Distanz, wie etwa 10 Meter oder weniger, 20 Meter oder weniger, 30 Meter oder weniger, 50 Meter oder weniger, 100 Meter oder weniger, oder eine beliebige andere geeignete Distanz sein. Als ein anderes Beispiel kann die vorbestimmte Distanzschwelle gleich einem physischen Abstand sein, der den ersten Punkt und den zweiten Punkt trennt. Beispielsweise kann die vorbestimmte Distanzschwelle gleich der Distanz d1 sein, wie oben beschrieben. Als ein zusätzliches Beispiel kann die vorbestimmte Distanzschwelle ein Faktor des physischen Abstands sein. Beispielsweise kann die vorbestimmte Distanzschwelle nicht mehr als 110 % eines physischen Abstands, der den ersten Punkt und den zweiten Punkt trennt, oder ein beliebiger anderer geeigneter Faktor sein.
  • Bei Schritt 3060 beinhaltet der Prozess 3000 Speichern des korrelierten Straßensegmentmodells als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments. Beispielsweise kann das korrelierte Straßensegmentmodell als Teil der oben beschriebenen dünnbesetzten Karte 800 oder ähnlicher hierin beschriebener dünnbesetzter Karten gespeichert werden. In einigen Ausführungsformen kann der Prozess 3000 zusätzliche Schritte beinhalten, die durchweg in der vorliegenden Offenbarung in Bezug auf das Erzeugen von dünnbesetzten Navigationskarten beschrieben sind. Beispielsweise kann der Prozess 3000 Bereitstellen der dünnbesetzten Navigationskarte, einschließlich des korrelierten Straßensegmentmodells, an ein oder mehrere Fahrzeuge zur Verwendung bei der Navigation des einen oder der mehreren Fahrzeuge entlang des ersten Straßensegments und des zweiten Straßensegments beinhalten.
  • In einigen Ausführungsformen kann das korrelierte Straßensegmentmodell nicht nur für eine Oberfläche einer Straße, sondern auch für navigierbare Gebiete entwickelt werden. Beispielsweise kann das Straßenmodell für Straßenoberflächen sowie navigierbare Gebiete entwickelt werden, die für ein Host-Fahrzeug in einem Notfall oder anderen Umständen befahrbar sind, wie oben beschrieben. Die navigierbaren Gebiete können einen unbefestigten Randstreifen, eine Notbucht, einen abgesenkten Fußweg, eine Grasfläche oder eine andere beliebige Oberfläche außerhalb einer Straßenoberfläche beinhalten, die ein Fahrzeug befahren kann. In einigen Ausführungsformen können navigierbare Gebiete gelabelt oder anderweitig von Fahrbahnoberflächen unterschieden sein. Alternativ oder zusätzlich können separate Modelle für Fahrbahnen und navigierbare Gebiete erzeugt werden. Unter Verwendung der oben beschriebenen Techniken kann zum Beispiel ein Modell erzeugt werden, das Fahrbahnen repräsentiert, und ein separates Modell kann erzeugt werden, das navigierbare Gebiete außerhalb der Fahrbahnen repräsentiert.
  • Während die obigen Ausführungsformen in Assoziation mit der Erzeugung von dünnbesetzten Karten basierend auf gesammelten Fahrzeuginformationen beschrieben sind, versteht es sich, das die gleichen oder ähnlichen Techniken mit beliebigen Informationsquellen angewendet werden können, die mit einer Fahrbahn assoziiert sind. Beispielsweise können Punkte, die mit einer Oberfläche einer Fahrbahn assoziiert sind, basierend auf LIDAR-Daten, Vermessungsgeräten, Luftbildern oder Luftbildscans, oder beliebigen anderen Daten, die 3D-Punkte entlang einer Fahrbahn beinhalten können, gesammelt werden. In Übereinstimmung mit den offenbarten Ausführungsformen kann ein Mesh erzeugt werden, um eine Oberfläche der Fahrbahn zu repräsentieren, und Punkte können basierend auf einer fahrbaren Distanz zwischen den Punkten miteinander gemesht werden. Das resultierende Mesh kann in ein Straßenoberflächenmodell eingeschlossen werden, das eine Oberfläche der Straße repräsentiert.
  • Dieses Straßenmodell kann zum Beispiel bei der Extraktion oder Bestimmung einer 3D-Position von Objekten innerhalb der Umgebung eines Fahrzeugs nützlich sein. Beispielsweise können Bilder, die durch eine Kamera eines Host-Fahrzeugs erfasst werden, Repräsentationen von Objekten in der Umgebung des Host-Fahrzeugs beinhalten. Wenn mit einem Straßenoberflächenmodell ausgestattet, das eine Oberfläche der Fahrbahn repräsentiert, kann das Host-Fahrzeug einen Standort des Objekts bestimmen oder zumindest approximieren. Insbesondere kann jedes Pixel eines erfassten Bildes mit einer Richtung relativ zu der Kamera assoziiert werden. Mit anderen Worten kann jedes Pixel eines Bildes einem Lichtstrahl entsprechen, der durch einen Sensor der Kamera aus einer bestimmten Richtung basierend auf der Form der Linse oder anderen Attributen der Kamera empfangen und erfasst wird. Für jedes Pixel, das eine Oberfläche der Straße repräsentiert, kann diese bekannte Richtung von einer angenommenen oder bekannten Position der Kamera im Modellraum projiziert werden, um einen Punkt entlang des Straßenoberflächenmodells zu bestimmen, von dem die Pixelinformationen empfangen werden. Dementsprechend kann für ein Pixel, das einen Kontaktpunkt zwischen einem Objekt und einer Fahrbahn repräsentiert, der Punkt des Kontakts relativ zu dem Straßenoberflächenmodell bestimmt werden. Dieses Modell kann dann verwendet werden, um Positionsinformationen für den Kontaktpunkt (und somit das Objekt) relativ zu dem Fahrzeug zu bestimmen, was eine Distanz zu dem Objekt, einen Winkel relativ zu dem Fahrzeug oder dergleichen beinhalten kann.
  • 31A veranschaulicht ein beispielhaftes Straßenoberflächenmodell 3100 für eine Überführung, in Übereinstimmung mit den offenbarten Ausführungsformen. Das in 31A veranschaulichte Straßenoberflächenmodell kann der in 27 veranschaulichten Überführung 2700 entsprechen. Das Straßenoberflächenmodell 3100 kann ein Mesh 3110 beinhalten, das eine dreidimensionale Oberfläche sein kann, die basierend auf einer Vielzahl von Punkten erzeugt wird, die entlang der Straßenoberfläche gesammelt werden. Das Mesh 3110 kann dem Straßensegment 2730 entsprechen, wie oben beschrieben. Das Straßenoberflächenmodell 3100 kann auch ein Mesh 3120 beinhalten, das dem Straßensegment 2720 entsprechen kann. Wie mit dem Mesh 3110 kann das Mesh 3120 basierend auf einer Vielzahl von Punkten erzeugt werden, die eine Oberfläche des Straßensegments 2720 repräsentieren. In einigen Ausführungsformen können die Punkte, die mit dem Mesh 3110 und 3120 assoziiert sind, unter Verwendung der Verfahren gesammelt werden, die durchweg in der vorliegenden Offenbarung beschrieben sind. Beispielsweise können die Punkte Merkmale, wie etwa Straßenränder, Spurmarkierungen, oder andere Merkmale repräsentieren, die unter Verwendung von Bildern gesammelt werden, die durch eine Vielzahl von Fahrzeugen erfasst werden, die die Fahrbahnen der Überführung 2700 befahren. Wie oben beschrieben, können die Punkte für das Mesh 3110 und 3120 jedoch auf verschiedene andere Weisen gesammelt werden, und ein beliebiger Satz von 3D-Punktdaten kann verwendet werden, um die Meshes 3110 und 3120 zu erzeugen. Die Meshes 3110 und 3120 können unter Verwendung eines Triangulationsverfahrens erzeugt werden, wie etwa einer Delaunay-Triangulationstechnik oder eines ähnlichen Algorithmus. Es versteht sich, dass das Mesh 3110 und 3120 als Beispiel gezeigt sind, und verschiedene andere geeignete Mesh-Strukturen, Datendichten, Datentypen oder dergleichen verwendet werden können.
  • Unter Verwendung der hierin beschriebenen Techniken kann das Mesh 3110 erzeugt werden, um nur die oberste Straßenoberfläche der Überführung 2700 zu repräsentieren, wohingegen das Mesh 3120 erzeugt werden kann, um nur die unterste Straßenoberfläche der Überführung 2700 zu repräsentieren, wie gezeigt. Mit anderen Worten können die Punkte, die mit dem Mesh 3110 assoziiert sind, miteinander gemesht werden, um jegliche der im Mesh 3120 gezeigten Punkte auszuschließen, und umgekehrt. Unter Verwendung herkömmlicher Techniken kann es aufgrund der relativen Nähe der Punkte, insbesondere hinsichtlich X-Y-Koordinaten (d. h. in einer Ebene parallel zu der lokalen Oberfläche der Erde) schwierig sein, zwischen Punkten, die im Mesh 3110 eingeschlossen werden sollten, und Punkten, die im Mesh 3120 eingeschlossen werden sollten, zu unterscheiden. 31B veranschaulicht ein Beispiel für eine Anomalie, die auftritt, falls ein Punkt, der mit dem Straßensegment 2720 assoziiert ist, mit Punkten, die mit dem Straßensegment 2730 assoziiert sind, miteinander gemesht wird, in Übereinstimmung mit den offenbarten Ausführungsformen. Beispielsweise wie in 31B gezeigt, kann ein Punkt 3122 ein Merkmal repräsentieren, das mit der Oberfläche des Straßensegments 2720 assoziiert ist. Falls mit Punkten gemesht, die mit Punkten assoziiert sind, die mit der Oberfläche des Straßensegments 2730 assoziiert sind (wie etwa Punkt 3112), kann das Mesh 3110 einen anomalen Abschnitt 3130 beinhalten. Insbesondere kann der anomale Abschnitt 3130 einen scharfen lokalen Abfall in der Höhe der Straßenoberfläche beinhalten, was die Oberfläche des Straßensegments 2720 möglicherweise nicht genau widerspiegeln wird. Diese Anomalie kann die Raytracing-Techniken zum Bestimmen des Standorts von Objekten, wie oben beschrieben, oder verschiedene andere Navigationsfunktionen, die auf das Straßenoberflächenmodell 3100 angewiesen sind, stören. Beispielsweise kann ein Fahrzeug nicht von einem Straßensegment, das mit den Mesh 3110 assoziiert ist, zu einem Straßensegment, das mit dem Mesh 3120 assoziiert ist, navigieren (oder umgekehrt), wenn das Mesh 3110 und das Mesh 3120 sich scheinbar überlappen oder verbinden, da im 3D-Raum das Mesh 3110 und das Mesh 3120 mit unterschiedlichen Straßensegmenten assoziiert sind, die aufgrund der Überführung in eine vertikale Richtung voneinander getrennt sind.
  • Unter Verwendung der offenbarten Techniken können solche Anomalien im Mesh 3110 (und/oder ähnliche Anomalien im Mesh 3120) vermieden oder verhindert werden. Beispielsweise kann bei der Bestimmung, ob der Punkt 3122 mit dem Punkt 3112 miteinander gemesht werden sollte, eine fahrbare Distanz zwischen den Punkten 3112 und 3122 bestimmt werden. Beispielsweise kann dies ähnlich zu der fahrbaren Distanz d2 zwischen den Punkten 2802 und 2804 bestimmt werden, wie oben beschrieben. Diese fahrbare Distanz kann mit einer Schwelle für das Bestimmen, ob die Punkte 3112 und 3122 miteinander gemesht werden sollten, verglichen werden, wie oben beschrieben. In diesem Szenario würde die Schwelle so gesetzt werden, dass die fahrbare Distanz zwischen den Punkten 3112 und 3122 (die erheblich größer sein würde als ein physischer Abstand zwischen den Punkten 3112 und 3122) die Schwelle überschreiten würde. Dementsprechend würde der Punkt 3122 nicht im Mesh 3110 eingeschlossen werden. Während das Mesh 3110 und 3120 für Veranschaulichungszwecke separat gezeigt sind, versteht es sich, dass sie beide in einem Gesamt-Mesh eingeschlossen werden können, das eine befahrbare Straßenoberfläche repräsentiert. Beispielsweise kann das Mesh 3120 entlang des fahrbaren Pfades d2 fortgesetzt werden, wie in 28 gezeigt, um einen kontinuierlichen Satz von gemeshten Punkten zu bilden. Die mit dem Mesh 3110 und 3120 in 31A assoziierten Punkte können jedoch lokal separat gemesht werden, wie gezeigt.
  • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess 3200 zum Erzeugen eines Straßenoberflächenmodells zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 3200 kann durch mindestens eine Verarbeitungsvorrichtung eines Servers durchgeführt werden, wie etwa Server 2810. In einigen Ausführungsformen kann ein Teil oder der gesamte Prozess 3200 durch eine Verarbeitungsvorrichtung eines Fahrzeugs durchgeführt werden, wie etwa die Verarbeitungsvorrichtung 110. Es versteht sich, dass durchweg in der vorliegenden Offenbarung der Begriff „Prozessor“ als eine Kurzform für „mindestens ein Prozessor“ verwendet wird. Mit anderen Worten kann ein Prozessor ein oder mehrere Strukturen beinhalten, die Logikoperationen durchführen, egal, ob solche Strukturen kolokalisiert, verbunden oder verteilt sind. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor zum Durchführen des Prozesses 3200 veranlassen. Ferner ist der Prozess 3200 nicht notwendigerweise auf die in 32 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen Ausführungsformen, die durchweg in der vorliegenden Offenbarung beschrieben sind, können auch im Prozess 3200 eingeschlossen werden, einschließlich jener, die oben mit Bezug auf 27, 28, 29, 30, 31A und 31B beschrieben sind.
  • Bei Schritt 3210 beinhaltet der Prozess 3200 Zugreifen auf eine Vielzahl von Punkten, die mit einer oder mehreren befahrbaren Straßen assoziiert sind. In einigen Ausführungsformen kann die Vielzahl von Punkten unter Verwendung der Techniken gesammelt werden, die durchweg in der vorliegenden Offenbarung beschrieben sind. Beispielsweise kann die Vielzahl von Punkten in Fahrtinformationen enthalten sein, die durch eine Vielzahl von Fahrzeugen gesammelt werden, die die eine oder die mehreren befahrbaren Straßen befahren. Dies kann Punkte beinhalten, die in einer dünnbesetzten Navigationskarte gespeichert sind, wie oben beschrieben. Die Vielzahl von Punkten kann Merkmale repräsentieren, wie etwa Straßenränder, Spurmarkierungen, Schlaglöcher, Richtungspfeile oder andere Merkmale entlang einer Fahrbahn, wie hierin beschrieben. In einigen Ausführungsformen kann die dünnbesetzte Navigationskarte eine Zieltrajektorie beinhalten, die mit der einen oder den mehreren befahrbaren Straßen assoziiert ist. Alternativ oder zusätzlich kann die Vielzahl von Punkten auf andere Weisen gesammelt werden. Beispielsweise kann die Vielzahl von Punkten unter Verwendung von LIDAR-Daten, unter Verwendung von Luftbild- oder Luftbildscandaten, unter Verwendung von Straßenvermessungsinformationen oder beliebiger anderer Techniken oder Kombinationen von Techniken zum Erfassen von 3D-Punktdaten gesammelt werden. In einigen Ausführungsformen kann Schritt 3210 Zugreifen auf eine Datenbank, einen Server oder einen anderen Speicherort beinhalten, in der/dem Informationen gespeichert sind, die die Vielzahl von Punkten repräsentieren. Dementsprechend kann in einigen Ausführungsformen die Quellen- oder Sammelmethodik, die zum Sammeln der Vielzahl von Punkten verwendet wird, dem offenbarten System (z. B. für eine existierende Kartendatenbank) unbekannt und/oder nicht verfügbar sein.
  • Bei Schritt 3220 beinhaltet der Prozess 3200 Erzeugen eines Straßenoberflächenmodells basierend auf der Vielzahl von Punkten. Das Oberflächenmodell kann ein Mesh beinhalten, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert. Beispielsweise kann der Schritt 3220 Erzeugen des Mesh 3110 und/oder des Mesh 3120 beinhalten, wie in 31A veranschaulicht. Das Mesh kann unter Verwendung eines Triangulationsalgorithmus oder eines beliebigen anderen geeigneten Meshing-Algorithmus erzeugt werden. Der Schritt 3220 kann Anwenden der hierin offenbarten Techniken für die fahrbare Distanzschwelle beinhalten, um das Mesh zu erzeugen. Beispielsweise kann der Schritt 3220 Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten beinhalten. Dies kann zum Beispiel dem Bestimmen einer fahrbaren Distanz zwischen den Punkten 3112 und 3122 entsprechen, wie oben beschrieben. In einigen Ausführungsformen kann die fahrbare Distanz basierend auf Informationen bestimmt werden, die in einem Straßennavigationsmodell enthalten sind. Beispielsweise kann die fahrbare Distanz basierend auf mindestens einer Zieltrajektorie bestimmt werden, die mit der einen oder den mehreren befahrbaren Straßen assoziiert ist. Wie hierin beschrieben, kann die mindestens eine Zieltrajektorie als ein 3D-Spline repräsentiert sein.
  • Der Schritt 3220 kann ferner Meshing des ersten Punktes mit dem zweiten Punkt basierend auf einer Bestimmung beinhalten, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist. Die vorbestimmte Distanzschwelle kann auf verschiedene Weisen definiert sein. Beispielsweise kann die vorbestimmte Distanzschwelle eine vorbestimmte Distanz, wie etwa 10 Meter oder weniger, 20 Meter oder weniger, 30 Meter oder weniger, 50 Meter oder weniger, 100 Meter oder weniger, oder eine beliebige andere geeignete Distanz sein. Als ein anderes Beispiel kann die vorbestimmte Distanzschwelle gleich einem physischen Abstand sein, der den ersten Punkt und den zweiten Punkt trennt. Beispielsweise kann die vorbestimmte Distanzschwelle gleich der Distanz d1 sein, wie oben beschrieben. Als ein zusätzliches Beispiel kann die vorbestimmte Distanzschwelle ein Faktor des physischen Abstands sein. Beispielsweise kann die vorbestimmte Distanzschwelle nicht mehr als 110 % eines physischen Abstands, der den ersten Punkt und den zweiten Punkt trennt, oder ein beliebiger anderer geeigneter Faktor sein.
  • In Schritt 3230 beinhaltet der Prozess 3200 Speichern des Straßenoberflächenmodells zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen. Beispielsweise kann das Straßenoberflächenmodell in einer dünnbesetzten Navigationskarte zur Befahrung der Straßensegmente 2720 und 2730 enthalten sein, wie oben beschrieben. Alternativ oder zusätzlich kann das Straßenoberflächenmodell separat gespeichert sein. In einigen Ausführungsformen kann der Prozess 3200 ferner Übertragen des Straßenoberflächenmodells zu einem oder mehreren Fahrzeugen zur Navigation der einen oder der mehreren befahrbaren Straßen beinhalten. Beispielsweise kann dies Übertragen des Straßenoberflächenmodells vom Server 2810 zu einem oder mehreren autonomen oder halbautonomen Fahrzeugen beinhalten. Während der Prozess 3230 allgemein im Kontext einer Überführung beschrieben ist, können die gleichen oder ähnlichen Techniken bei anderen Szenarien angewendet werden, bei denen Punkte, die mit einer Straßenoberfläche assoziiert sind, separat von anderen Straßenoberflächen miteinander gemesht werden können, wie etwa gegenüberliegende Seiten eines Mittelstreifens, auseinanderlaufende Fahrbahnen bei einer Kreuzung oder Abfahrt oder dergleichen.
  • Die vorstehende Beschreibung wurde für Veranschaulichungszwecke präsentiert. Sie ist nicht umfassend und ist nicht auf die präzisen offenbarten Formen oder Ausführungsformen beschränkt. Modifikationen und Anpassungen werden Fachleuten auf dem Gebiet aus der Betrachtung der Beschreibung und der Umsetzung der offenbarten Ausführungsformen ersichtlich werden. Zusätzlich wird, obwohl Aspekte der offenbarten Ausführungsformen als in einem Speicher gespeichert beschrieben sind, ein Fachmann auf dem Gebiet verstehen, dass diese Aspekte auch auf anderen Arten von computerlesbares Medien gespeichert werden können, wie etwa sekundären Speicherungsvorrichtungen, zum Beispiel Festplatten oder CD-ROM, oder anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-Ray, 4K Ultra HD Blu-Ray oder anderen optischen Laufwerksmedien.
  • Computerprogramme basierend auf der geschriebenen Beschreibung und den offenbarten Verfahren liegen im Können eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung einer beliebigen der Techniken erzeugt werden, die einem Fachmann auf dem Gebiet bekannt sind, oder können in Verbindung mit bestehender Software gestaltet werden. Beispielsweise können Programmabschnitte oder Programmmodule in oder mittels .Net Framework, .Net Compact Framework (und verwandte Sprachen, wie etwa Visual Basic, C usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit eingeschlossenen Java-Applets gestaltet werden.
  • Darüber hinaus weist, obwohl hierin veranschaulichende Ausführungsformen beschrieben wurden, der Schutzumfang jeglicher und aller Ausführungsformen äquivalente Elemente, Modifikationen, Weglassungen, Kombinationen (z. B. von Aspekten über verschiedene Ausführungsformen hinweg), Anpassungen und/oder Abänderungen auf, wie durch Fachleute auf dem Gebiet basierend auf der vorliegenden Offenbarung verstanden werden würde. Die Beschränkungen in den Ansprüchen sind als allgemein basierend auf der in den Ansprüchen eingesetzten Sprache und nicht auf Beispiele eingeschränkt zu interpretieren, die in der vorliegenden Beschreibung oder während der Ausführung der Anwendung beschrieben sind. Die Beispiele sollen als nicht ausschließend aufgefasst werden. Ferner können die Schritte der offenbarten Verfahren auf eine beliebige Weise modifiziert werden, einschließlich durch Umordnen von Schritten und/oder Einfügen oder Löschen von Schritten. Es wird daher beabsichtigt, dass die Beschreibung und die Beispiele nur als veranschaulichend anzusehen sind, wobei ein wahrer Schutzumfang und Gedanke durch die folgenden Ansprüche und ihren vollen Umfang von Äquivalenten angegeben werden.
  • 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 63072597 [0001]

Claims (39)

  1. System zum Korrelieren von Fahrtinformationen von mehreren Straßensegmenten, wobei das System umfasst: mindestens einen Prozessor, der eine Schaltungsanordnung und einen Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, die, wenn sie durch die Schaltungsanordnung ausgeführt werden, den mindestens einen Prozessor veranlassen zum: Empfangen von Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen, die ein erstes Straßensegment befuhren, wobei die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert; Empfangen von Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen, die ein zweites Straßensegment befuhren, wobei die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert; Korrelieren des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßensegmentmodell bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des korrelierten Straßensegmentmodells als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments.
  2. System nach Anspruch 1, wobei die Ausführung der Anweisungen, die in dem Speicher enthalten sind, ferner bewirkt, dass der mindestens eine Prozessor die dünnbesetzte Navigationskarte, einschließlich des korrelierten Straßensegmentmodells, an ein oder mehrere Fahrzeuge zur Verwendung bei der Navigation des einen oder der mehreren Fahrzeuge entlang des ersten Straßensegments und des zweiten Straßensegments bereitstellt.
  3. System nach Anspruch 1, wobei die Fahrtinformationen, die von der ersten Vielzahl von Fahrzeugen empfangen werden, und die Fahrtinformationen, die von der zweiten Vielzahl von Fahrzeugen empfangen werden, auch Angaben von Objekten, die über eine Analyse von erfassten Bildframes detektiert werden, und mindestens einen Positionsindikator, der mit jedem der detektierten Objekte assoziiert ist, beinhalten.
  4. System nach Anspruch 3, wobei die Angaben der detektierten Objekte einen nicht semantischen Merkmalstyp identifizieren.
  5. System nach Anspruch 4, wobei der nicht semantische Merkmalstyp mindestens eines von einem Verkehrsschild, einer Ampel, einer Spurmarkierung, einer Schachtabdeckung, einem Straßenrand oder einer Bordsteinkante beinhaltet.
  6. System nach Anspruch 3, wobei der mindestens eine Positionsindikator einen X-Y-Ort aus einem erfassten Bildframe beinhaltet.
  7. System nach Anspruch 3, wobei der mindestens eine Positionsindikator einen 3D-Merkmalspunkt beinhaltet, der basierend auf einer Structure-in-Motion-Berechnung bestimmt wird.
  8. System nach Anspruch 1, wobei die Korrelation der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen eine Aggregation und Ausrichtung von tatsächlichen Fahrzeugtrajektorien beinhaltet, um eine Zieltrajektorie für mindestens eine Fahrspur zu bestimmen, die mit dem ersten Straßensegment assoziiert ist.
  9. System nach Anspruch 8, wobei die Zieltrajektorie als ein 3D-Spline repräsentiert wird.
  10. System nach Anspruch 1, wobei die Korrelation der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen eine Aggregation und Ausrichtung von tatsächlichen Fahrzeugtrajektorien beinhaltet, um eine Zieltrajektorie für mindestens eine Fahrspur zu bestimmen, die mit dem zweiten Straßensegment assoziiert ist.
  11. System nach Anspruch 10, wobei die Zieltrajektorie als ein 3D-Spline repräsentiert wird.
  12. System nach Anspruch 1, wobei die Korrelation der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen eine Aggregation von Positionsindikatoren beinhaltet, die mit Objekten assoziiert sind, die basierend auf einer Analyse von erfassten Bildframes detektiert werden, die das erste Straßensegment repräsentieren, und wobei die Aggregation von Positionsindikatoren verwendet wird, um mindestens eine verfeinerte Position zu bestimmen, die mit jedem der detektierten Objekte assoziiert ist.
  13. System nach Anspruch 1, wobei die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments Ausrichten von Zieltrajektorien beinhaltet, die mit dem ersten und zweiten Straßensegmentmodell assoziiert sind.
  14. System nach Anspruch 1, wobei die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments Meshing von Repräsentationen von Straßenoberflächen beinhaltet, die mit dem ersten Straßenmodellsegment und dem zweiten Straßenmodellsegment assoziiert sind.
  15. System nach Anspruch 14, wobei das Meshing eine Anwendung eines Triangulationsalgorithmus beinhaltet.
  16. System nach Anspruch 1, wobei die Korrelation des ersten Straßenmodellsegments und des zweiten Straßenmodellsegments durch Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen mit Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen durchgeführt wird.
  17. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle 10 Meter oder weniger beträgt.
  18. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle 20 Meter oder weniger beträgt.
  19. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle 30 Meter oder weniger beträgt.
  20. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle 50 Meter oder weniger beträgt.
  21. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle 100 Meter oder weniger beträgt.
  22. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle nicht mehr als 110 % eines physischen Abstands beträgt, der den ersten Punkt und den zweiten Punkt trennt.
  23. System nach Anspruch 1, wobei die vorbestimmte Distanzschwelle gleich einem physischen Abstand ist, der den ersten Punkt und den zweiten Punkt trennt.
  24. Verfahren zum Korrelieren von Fahrtinformationen von mehreren Straßensegmenten, wobei das Verfahren umfasst: Empfangen von Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen, die ein erstes Straßensegment befuhren, wobei die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert; Empfangen von Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen, die ein zweites Straßensegment befuhren, wobei die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert; Korrelieren des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßensegmentmodell bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des korrelierten Straßensegmentmodells als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments.
  25. Nichtflüchtiges computerlesbares Medium, das Anweisungen enthält, die, wenn sie durch mindestens einen Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen, ein Verfahren zum Korrigieren von Fahrtinformationen von mehreren Straßensegmenten durchzuführen, wobei das Verfahren umfasst: Empfangen von Fahrtinformationen von jedem einer ersten Vielzahl von Fahrzeugen, die ein erstes Straßensegment befuhren, wobei die Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der ersten Vielzahl von Fahrzeugen das erste Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der ersten Vielzahl von Fahrzeugen, um ein erstes Straßenmodellsegment bereitzustellen, das das erste Straßensegment repräsentiert; Empfangen von Fahrtinformationen von jedem einer zweiten Vielzahl von Fahrzeugen, die ein zweites Straßensegment befuhren, wobei die Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen zumindest eine Angabe einer tatsächlichen verfolgten Trajektorie beinhalten, während ein bestimmtes Fahrzeug unter der zweiten Vielzahl von Fahrzeugen das zweite Straßensegment befuhr; Korrelieren der Fahrtinformationen von jedem der zweiten Vielzahl von Fahrzeugen, um ein zweites Straßenmodellsegment bereitzustellen, das das zweite Straßensegment repräsentiert; Korrelieren des ersten Straßenmodellsegments mit dem zweiten Straßenmodellsegment, um ein korreliertes Straßensegmentmodell bereitzustellen, falls eine fahrbare Distanz zwischen einem ersten Punkt, der mit dem ersten Straßensegment assoziiert ist, und einem zweiten Punkt, der mit dem zweiten Straßensegment assoziiert ist, kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des korrelierten Straßensegmentmodells als Teil einer dünnbesetzten Navigationskarte zur Verwendung bei der Navigation von Fahrzeugen entlang des ersten Straßensegments und des zweiten Straßensegments.
  26. System zum Erzeugen eines Straßenoberflächenmodells, wobei das System umfasst: mindestens einen Prozessor, der eine Schaltungsanordnung und einen Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, die, wenn sie durch die Schaltungsanordnung ausgeführt werden, den mindestens einen Prozessor veranlassen zum: Zugreifen auf eine Vielzahl von Punkten, die mit einer oder mehreren befahrbaren Straßen assoziiert sind; Erzeugen des Straßenoberflächenmodells basierend auf der Vielzahl von Punkten, wobei das Oberflächenmodell ein Mesh beinhaltet, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert, wobei das Erzeugen des Straßenoberflächenmodells beinhaltet: Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten; und Meshing des ersten Punktes mit dem zweiten Punkt basierend auf einer Bestimmung, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des Straßenoberflächenmodells zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen.
  27. System nach Anspruch 26, wobei die Vielzahl von Punkten in Fahrtinformationen enthalten ist, die durch eine Vielzahl von Fahrzeugen gesammelt werden, die die eine oder die mehreren befahrbaren Straßen befahren.
  28. System nach Anspruch 26, wobei die fahrbare Distanz basierend auf mindestens einer Zieltrajektorie bestimmt wird, die mit der einen oder den mehreren befahrbaren Straßen assoziiert ist.
  29. System nach Anspruch 28, wobei die mindestens eine Zieltrajektorie als ein 3D-Spline repräsentiert wird.
  30. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle 10 Meter oder weniger beträgt.
  31. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle 20 Meter oder weniger beträgt.
  32. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle 30 Meter oder weniger beträgt.
  33. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle 50 Meter oder weniger beträgt.
  34. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle 100 Meter oder weniger beträgt.
  35. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle nicht mehr als 110 % eines physischen Abstands beträgt, der den ersten Punkt und den zweiten Punkt trennt.
  36. System nach Anspruch 26, wobei die vorbestimmte Distanzschwelle gleich einem physischen Abstand ist, der den ersten Punkt und den zweiten Punkt trennt.
  37. System nach Anspruch 26, wobei das Meshing eine Anwendung eines Triangulationsalgorithmus beinhaltet.
  38. Verfahren zum Erzeugen eines Straßenoberflächenmodells, wobei das Verfahren umfasst: Zugreifen auf eine Vielzahl von Punkten, die mit einer oder mehreren befahrbaren Straßen assoziiert sind; Erzeugen des Straßenoberflächenmodells basierend auf der Vielzahl von Punkten, wobei das Oberflächenmodell ein Mesh beinhaltet, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert, wobei das Erzeugen des Straßenoberflächenmodells beinhaltet: Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten; und Meshing des ersten Punktes mit dem zweiten Punkt basierend auf einer Bestimmung, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des Straßenoberflächenmodells zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen.
  39. Nichtflüchtiges computerlesbares Medium, das Anweisungen enthält, die, wenn sie durch mindestens einen Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen, ein Verfahren zum Erzeugen eines Straßenoberflächenmodells durchzuführen, wobei das Verfahren umfasst: Zugreifen auf eine Vielzahl von Punkten, die mit einer oder mehreren befahrbaren Straßen assoziiert sind; Erzeugen des Straßenoberflächenmodells basierend auf der Vielzahl von Punkten, wobei das Oberflächenmodell ein Mesh beinhaltet, das Oberflächen der einen oder der mehreren befahrbaren Straßen repräsentiert, wobei das Erzeugen des Straßenoberflächenmodells beinhaltet: Bestimmen einer fahrbaren Distanz zwischen einem ersten Punkt der Vielzahl von Punkten und einem zweiten Punkt der Vielzahl von Punkten; und Meshing des ersten Punktes mit dem zweiten Punkt basierend auf einer Bestimmung, dass die fahrbare Distanz zwischen dem ersten Punkt und dem zweiten Punkt kleiner oder gleich einer vorbestimmten Distanzschwelle ist; und Speichern des Straßenoberflächenmodells zur Verwendung bei der Navigation von Fahrzeugen entlang der einen oder der mehreren befahrbaren Straßen.
DE112021004128.2T 2020-08-31 2021-08-31 Systeme und verfahren für kartenbasierte modellierung der realen welt Pending DE112021004128T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063072597P 2020-08-31 2020-08-31
US63/072,597 2020-08-31
PCT/US2021/048419 WO2022047372A1 (en) 2020-08-31 2021-08-31 Systems and methods for map-based real-world modeling

Publications (1)

Publication Number Publication Date
DE112021004128T5 true DE112021004128T5 (de) 2023-07-20

Family

ID=80355696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021004128.2T Pending DE112021004128T5 (de) 2020-08-31 2021-08-31 Systeme und verfahren für kartenbasierte modellierung der realen welt

Country Status (6)

Country Link
US (1) US20230195122A1 (de)
EP (1) EP4204768A1 (de)
JP (1) JP2023539868A (de)
CN (2) CN117824697A (de)
DE (1) DE112021004128T5 (de)
WO (1) WO2022047372A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022155145A (ja) * 2021-03-30 2022-10-13 トヨタ自動車株式会社 道路区間判定装置、道路区間判定用コンピュータプログラム及び道路区間判定方法
US20220404167A1 (en) * 2021-06-22 2022-12-22 GM Global Technology Operations LLC Roadway occlusion detection and reasoning
CN116578891B (zh) * 2023-07-14 2023-10-03 天津所托瑞安汽车科技有限公司 道路信息重构方法、终端及存储介质
CN117198058B (zh) * 2023-11-01 2024-01-30 合肥师范学院 一种基于遥感影像的道路交通智能监管系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836056B2 (en) * 2015-06-05 2017-12-05 Bao Tran Smart vehicle
KR20200130279A (ko) * 2018-03-05 2020-11-18 모빌아이 비젼 테크놀로지스 엘티디. 항법 정보를 익명화 하는 시스템 및 방법
US20200110817A1 (en) * 2018-10-04 2020-04-09 Here Global B.V. Method, apparatus, and system for providing quality assurance for map feature localization

Also Published As

Publication number Publication date
CN117824697A (zh) 2024-04-05
WO2022047372A1 (en) 2022-03-03
CN116802461A (zh) 2023-09-22
US20230195122A1 (en) 2023-06-22
EP4204768A1 (de) 2023-07-05
JP2023539868A (ja) 2023-09-20

Similar Documents

Publication Publication Date Title
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
US20210365701A1 (en) Virtual stop line mapping and navigation
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
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
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
CN117651668A (zh) 用于监测车道标记质量的系统和方法
DE112021002014T5 (de) Regelkreis zum navigieren eines fahrzeugs
DE102022128968A1 (de) Systeme und verfahren zum sammeln von bildern zur fahrzeugnavigation

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: MOBILEYE VISION TECHNOLOGIES LTD., IL

Free format text: FORMER OWNERS: CHAPMAN, RUTH, NOF AYALON, IL; GOLINSKY, ISHAY, KOCHAV YAIR, IL; HACOHEN, YAEL, JERUSALEM, IL; HANNIEL, IDDO, MODIIN, IL; MOBILEYE VISION TECHNOLOGIES LTD., JERUSALEM, IL; SHENFELD, MOSHE, JERUSALEM, IL