DE112018002143T5 - Systeme und verfahren zur kompression von fahrspurdaten - Google Patents

Systeme und verfahren zur kompression von fahrspurdaten Download PDF

Info

Publication number
DE112018002143T5
DE112018002143T5 DE112018002143.2T DE112018002143T DE112018002143T5 DE 112018002143 T5 DE112018002143 T5 DE 112018002143T5 DE 112018002143 T DE112018002143 T DE 112018002143T DE 112018002143 T5 DE112018002143 T5 DE 112018002143T5
Authority
DE
Germany
Prior art keywords
vehicle
road
data
point
image
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
DE112018002143.2T
Other languages
English (en)
Inventor
Iddo Hanniel
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 DE112018002143T5 publication Critical patent/DE112018002143T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • 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
    • 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/3837Data obtained from a single source
    • 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/3848Data obtained from both position sensors and additional sensors
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/30Road curve radius
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk

Abstract

Ein System zum Identifizieren von Merkmalen einer von einem Hostfahrzeug durchfahrenen Fahrbahn kann zumindest einen Prozessor beinhalten, der programmiert ist, um: eine Vielzahl von Bildern zu empfangen, die eine Umgebung des Hostfahrzeugs darstellen; in der Vielzahl von Bildern das Vorhandensein eines der Fahrbahn zugeordneten Straßenmerkmals zu erkennen; eine Position eines dem Straßenmerkmal zugeordneten ersten Punktes in Bezug auf eine Kurve zu bestimmen, die eine Fahrtroute des Hostfahrzeugs darstellt; eine Position eines zweiten Punktes zu bestimmen, der dem Straßenmerkmal in Bezug auf die Kurve zugeordnet ist; und eine Übertragung an einen Server, der vom Hostfahrzeug entfernt angeordnet ist, einer Darstellung einer Reihe von Punkten zu verursachen, die den Positionen entlang der Straßenmerkmale zugeordnet sind. Der zweite Punkt kann vom ersten Punkt beabstandet sein, und die Reihe von Punkten kann mindestens den ersten Punkt und den zweiten Punkt beinhalten.

Description

  • Querverweise auf zugehörige Anwendungen
  • Diese Anmeldung beansprucht die Priorität der am 24. April 2017 eingereichten provisorischen US-Patentanmeldung Nr. 62/489,077 und der am 3. April 2018 eingereichten provisorischen US-Patentanmeldung Nr. 62/652,044 . Alle vorgenannten Anmeldungen sind hierin durch Verweis in ihrer Gesamtheit aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf die autonome Fahrzeugnavigation und eine spärliche Karte (Sparse Map) für die autonome Fahrzeugnavigation. Diese Offenbarung bezieht sich insbesondere auf Systeme und Verfahren zum Crowdsourcing einer spärlichen Karte für die autonome Fahrzeugnavigation, Systeme und Verfahren zum Verteilen einer aus Crowdsourcing stammenden spärlichen Karte für die autonome Fahrzeugnavigation, Systeme und Verfahren zum Navigieren eines Fahrzeugs unter Verwendung einer aus Crowdsourcing stammenden spärlichen Karte, Systeme und Verfahren zum Ausrichten von aus Crowdsourcing stammenden Kartendaten, Systeme und Verfahren zum Sammeln von Straßenoberflächeninformationen sowie Systeme und Verfahren zur Fahrzeuglokalisierung unter Verwendung von Spurmessungen.
  • Hintergrund-Information
  • Mit fortschreitender Technologie ist das Ziel eines völlig autonomen Fahrzeugs, das in der Lage ist, auf Fahrbahnen zu navigieren, in Sicht. Autonome Fahrzeuge müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen und geeignete Entscheidungen auf der Grundlage dieser Faktoren treffen, um ein bestimmtes Ziel sicher und genau zu erreichen. So kann beispielsweise ein autonomes Fahrzeug visuelle Informationen verarbeiten und interpretieren (z.B. Informationen, die von einer Kamera erfasst werden) und auch Informationen aus anderen Quellen verwenden (z.B. von einem GPS-Gerät, einem Geschwindigkeitssensor, einem Beschleunigungssensor, einem Aufhängesensor usw). Gleichzeitig kann ein autonomes Fahrzeug zur Navigation zu einem Ziel auch seinen Standort innerhalb einer Fahrbahn (z.B. eine bestimmte Fahrspur innerhalb einer mehrspurigen Straße) identifizieren, neben anderen Fahrzeugen navigieren, Hindernisse und Fußgänger umgehen, Ampeln und Schilder beobachten und an geeigneten Kreuzungen oder Kreuzungen von der Straße auf eine andere Straße fahren. Die Nutzung und Interpretation großer Mengen von Informationen, die von einem autonomen Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Bestimmungsort fährt, stellt eine Vielzahl von konstruktiven Herausforderungen dar. Die schiere Menge an Daten (z.B. erfasste Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug zur Analyse, zum Zugriff und/oder zur Speicherung benötigen kann, stellt Herausforderungen dar, die die autonome Navigation tatsächlich einschränken oder sogar beeinträchtigen können. Wenn ein autonomes Fahrzeug bei der Navigation auf traditionelle Kartentechnologie angewiesen ist, stellt die schiere Datenmenge, die zur Speicherung und Aktualisierung der Karte benötigt wird, eine große Herausforderung dar.
  • Neben der Erhebung von Daten zur Aktualisierung der Karte müssen autonome Fahrzeuge in der Lage sein, die Karte zur Navigation zu nutzen. Dementsprechend müssen Größe und Detail der Karte sowie deren Aufbau und Übertragung optimiert werden.
  • ZUSAMMENFASSUNG
  • Ausführungsformen, die mit der vorliegenden Offenbarung übereinstimmen, bieten Systeme und Verfahren für die autonome Fahrzeugnavigation. Die offenbarten Ausführungsformen können Kameras verwenden, um autonome Fahrzeugnavigationsfunktionen bereitzustellen. So können beispielsweise die offenbarten Systeme in Übereinstimmung mit den offenbarten Ausführungsformen eine, zwei oder mehrere Kameras beinhalten, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion liefern, die beispielsweise auf einer Analyse von Bildern basiert, die von einer oder mehreren der Kameras aufgenommen wurden. Die offenbarten Systeme können auch den Bau und die Navigation mit einer durch Crowdsourcing bezogenen spärlichen Karte (Sparse Map) vorsehen. Andere offenbarte Systeme können eine entsprechende Analyse von Bildern verwenden, um eine Lokalisierung durchzuführen, die die Navigation mit einer spärlichen Karte ergänzen kann. Die Navigationsreaktion kann auch andere Daten berücksichtigen, wie beispielsweise GPS-Daten (Global Positioning System), Sensordaten (z.B. von einem Beschleunigungssensor, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten.
  • In einer Ausführungsform kann ein System zur Identifizierung von Merkmalen einer von einem Hostfahrzeug befahrenen Fahrbahn mindestens einen Prozessor umfassen. Der mindestens eine Prozessor kann programmiert werden, um: von mindestens einer Bilderfassungsvorrichtung eine Vielzahl von Bildern zu empfangen, die eine Umgebung des Hostfahrzeugs darstellen; in der Vielzahl von Bildern das Vorhandensein eines Straßenmerkmals zu erkennen, das der Fahrbahn zugeordnet ist; basierend auf der Analyse der Vielzahl von Bildern einen Standort eines ersten Punktes zu bestimmen, der dem Straßenmerkmal zugeordnet ist, bezogen auf eine Kurve, die eine Fahrtroute des Hostfahrzeugs darstellen; und basierend auf der Analyse der Vielzahl von Bildern einen Standort eines zweiten Punktes zu bestimmen, der dem Straßenmerkmal zugeordnet ist, bezogen auf die Kurve, die die Fahrtroute des Hostfahrzeugs darstellt. Die Position des zweiten Punktes kann von der Position des ersten Punktes beabstandet sein. Der mindestens eine Prozessor kann ferner programmiert werden, um die Übertragung einer Darstellung einer Reihe von Punkten, die mit Positionen entlang des Straßenmerkmals verbunden sind, an einen Server zu bewirken, der sich in Bezug auf das Hostfahrzeug entfernt befindet. Die Reihe von Punkten kann mindestens den ersten Punkt und den zweiten Punkt umfassen.
  • In einer Ausführungsform kann ein Server zum Erzeugen von Karteninformationen in Bezug auf eine Fahrbahn basierend auf Navigationsinformationen, die von einem oder mehreren Fahrzeugen, die die Fahrbahn befahren, bereitgestellt werden, mindestens einen Prozessor umfassen. Der mindestens eine Prozessor kann programmiert werden, um von einem ersten Fahrzeug eine erste Darstellung einer ersten Reihe von Punkten zu empfangen, die mit Positionen entlang des Straßenmerkmals verbunden sind. Die erste Reihe von Punkten kann mindestens einen ersten Punkt und einen zweiten Punkt beinhalten, die dem Straßenmerkmal zugeordnet sind, bezogen auf eine erste Kurve, die eine Fahrtroute des ersten Fahrzeugs darstellt. Der mindestens eine Prozessor kann ferner programmiert werden, um basierend auf mindestens der ersten Reihe von Punkten eine erste Kurve zu erzeugen, die das Straßenmerkmal darstellen, und von einem zweiten Fahrzeug eine zweite Darstellung einer zweiten Reihe von Punkten zu empfangen, die den Positionen entlang des Straßenmerkmals zugeordnet sind. Die zweite Reihe von Punkten kann mindestens einen dritten Punkt und einen vierten Punkt beinhalten, die dem Straßenmerkmal zugeordnet sind, bezogen auf eine zweite Kurve, die eine Fahrtroute des zweiten Fahrzeugs darstellen. Der mindestens eine Prozessor kann ferner programmiert werden, um basierend auf mindestens der zweiten Serie von Punkten eine zweite Kurve zu erzeugen, die das Straßenmerkmal darstellen, und basierend auf der ersten Kurve, die das Straßenmerkmal darstellen, und der zweiten Kurve, die das Straßenmerkmal darstellen, eine das Straßenmerkmal darstellende Kartenkurve zu erzeugen.
  • In einer Ausführungsform kann ein System zum Navigieren eines Hostfahrzeugs mindestens einen Prozessor umfassen. Der mindestens eine Prozessor kann programmiert werden, um: von einer oder mehreren Bilderfassungsvorrichtungen eine Vielzahl von Bildern zu empfangen, die eine Umgebung des Hostfahrzeugs darstellen; in der Vielzahl von Bildern das Vorhandensein eines Straßenmerkmals zu erkennen; und zwischen einem spärlichen Navigationsinformationsübertragungsmodus und einem dichten Navigationsinformationsübertragungsmodus zu wählen. Wenn der Modus für die Übertragung von spärlichen Navigationsinformationen ausgewählt ist, kann der mindestens eine Prozessor so programmiert werden, dass er eine Übertragung von ersten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System bewirkt, wobei die ersten Standortinformationen mit einer ersten Datendichte verknüpft sind. Wenn der dichte Navigationsinformationsübertragungsmodus ausgewählt ist, kann der mindestens eine Prozessor so programmiert werden, dass er eine Übertragung von zweiten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System bewirkt, wobei die zweiten Standortinformationen einer zweiten Datendichte zugeordnet sind, die größer als die erste Datendichte ist.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige, computerlesbare Speichermedien Programmanweisungen speichern, die von mindestens einer Verarbeitungsvorrichtung ausgeführt werden und eine der hierin beschriebenen Methoden ausführen.
  • Die vorstehende allgemeine Beschreibung und die folgende detaillierte Beschreibung sind nur exemplarisch und erläuternd und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die beigefügten Zeichnungen, die in diese Offenbarung aufgenommen sind und einen Teil davon bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen:
    • 1 ist eine schematische Darstellung eines exemplarischen Systems in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansichtsdarstellung eines exemplarischen Fahrzeugs mit einem System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2B ist eine schematische Draufsichtdarstellung des in 2A dargestellten Fahrzeugs und Systems in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsichtdarstellung einer weiteren Ausführungsform eines Fahrzeugs mit einem System, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 2D ist eine schematische Draufsichtdarstellung einer weiteren Ausführungsform eines Fahrzeugs mit einem System, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 2E ist eine schematische Draufsichtdarstellung einer weiteren Ausführungsform eines Fahrzeugs mit einem System, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 2F ist eine schematische Darstellung exemplarischer Fahrzeugsteuerungssysteme, die mit den offenbarten Ausführungsformen übereinstimmen.
    • 3A ist eine schematische Darstellung eines Fahrzeuginnenraums mit einem Rückspiegel und einer Benutzeroberfläche für ein Fahrzeugbildgebungssystem, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 3B ist eine Illustration eines Beispiels einer Kamerahalterung, die konfiguriert ist, um hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, die mit den offenbarten Ausführungsformen übereinstimmt.
    • 3C ist eine Darstellung der in 3B dargestellten Kamerahalterung aus einer anderen Perspektive und mit den offenbarten Ausführungsformen übereinstimmend.
    • 3D ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die konfiguriert ist, um hinter einem Rückspiegel und an einer Fahrzeugwindschutzscheibe gemäß den offenbarten Ausführungsformen positioniert zu werden.
    • 4 ist ein exemplarisches Blockdiagramm eines Speichers, der konfiguriert ist, um Anweisungen zum Ausführen einer oder mehrerer Operationen gemäß den offenbarten Ausführungsformen zu speichern.
    • 5A ist ein Flussdiagramm, das einen exemplarischen Prozess zum Verursachen einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse in Übereinstimmung mit offenbarten Ausführungsformen darstellt.
    • 5B ist ein Flussdiagramm, das einen exemplarischen Prozess zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einer Reihe von Bildern zeigt, der mit den offenbarten Ausführungsformen übereinstimmt.
    • 5C ist ein Flussdiagramm, das einen exemplarischen Prozess zum Erfassen von Fahrspurmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen übereinstimmt.
    • 5D ist ein Flussdiagramm, das einen exemplarischen Prozess zur Erkennung von Ampeln in einer Reihe von Bildern zeigt, der mit den offenbarten Ausführungsformen übereinstimmt.
    • 5E ist ein Flussdiagramm, das einen exemplarischen Prozess zum Verursachen einer oder mehrerer Navigationsreaktionen basierend auf einer Fahrzeugroute in Übereinstimmung mit den offenbarten Ausführungsformen darstellt.
    • 5F ist ein Flussdiagramm, das einen exemplarischen Prozess zum Bestimmen, ob ein führendes Fahrzeug die Spur wechselt, im Einklang mit den offenbarten Ausführungsformen darstellt.
    • 6 ist ein Flussdiagramm, das einen exemplarischen Prozess zum Verursachen einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildauswertung in Übereinstimmung mit den offenbarten Ausführungsformen darstellt.
    • 7 ist ein Flussdiagramm, das einen exemplarischen Prozess zum Verursachen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Bildsätzen in Übereinstimmung mit den offenbarten Ausführungsformen darstellt.
    • 8 zeigt eine spärliche Karte zur Bereitstellung einer autonomen Fahrzeugnavigation, die mit den offenbarten Ausführungsformen übereinstimmt.
    • 9A veranschaulicht eine polynome Darstellung eines Abschnitts eines Straßenabschnitts in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9B veranschaulicht eine Kurve im dreidimensionalen Raum, die eine Solltrajektorie eines Fahrzeugs für einen bestimmten Straßenabschnitt darstellt, die in einer spärlichen Karte enthalten ist, die mit den offenbarten Ausführungsformen übereinstimmt.
    • 10 veranschaulicht exemplarische Orientierungspunkte, die in einer spärlichen Karte in Übereinstimmung mit den offenbarten Ausführungsformen enthalten sein können.
    • 11A zeigt polynome Darstellungen von Trajektorien, die mit den offenbarten Ausführungsformen übereinstimmen.
    • Die 11B und 11C zeigen Solltrajektorien entlang einer mehrspurigen Straße, die mit den offenbarten Ausführungsformen übereinstimmen.
    • 11D zeigt ein exemplarisches Straßensignaturprofil, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 12 ist eine schematische Darstellung eines Systems, das Crowdsourcing-Daten verwendet, die von einer Vielzahl von Fahrzeugen empfangen wurden, für die autonome Fahrzeugnavigation, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 13 veranschaulicht ein exemplarisches autonomes Fahrzeug-Straßennavigationsmodell, das durch eine Vielzahl von dreidimensionalen Splines dargestellt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartengerüst, das aus der Kombination von Standortinformationen von vielen Fahrten erzeugt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 15 ist eine schematische Darstellung eines Systems zum Crowdsourcing einer spärlichen Karte, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 16 veranschaulicht einen Prozess der Bündelung von Fahrzeugtrajektorien, die mit Fahrzeugen verbunden sind, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 17 veranschaulicht ein Navigationssystem für ein Fahrzeug, das zur autonomen Navigation verwendet werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 18A veranschaulicht ein Beispiel für Fahrdaten von vier separaten Fahrten, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 18B veranschaulicht ein Beispiel für Fahrdaten von fünf separaten Fahrten, die mit den offenbarten Ausführungsformen übereinstimmen.
    • 18C veranschaulicht ein Beispiel für Fahrzeugwege, die aus Fahrdaten von fünf separaten Fahrten bestimmt wurden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 19 veranschaulicht ein Blockdiagramm eines Speichers, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 20 veranschaulicht ein Beispiel für die Verwendung von Normalebenen zur Kodierung dreidimensionaler Splines, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 21 ist ein Flussdiagramm, das einen exemplarischen Prozess zum Identifizieren von Merkmalen einer von einem Hostfahrzeug befahrenen Fahrbahn in Übereinstimmung mit den offenbarten Ausführungsformen darstellt.
    • 22 ist ein Flussdiagramm, das einen exemplarischen Prozess zum Erzeugen von Karteninformationen in Bezug auf eine Fahrbahn basierend auf Navigationsinformationen darstellt, die von einem oder mehreren Fahrzeugen, die die Fahrbahn überqueren, bereitgestellt werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 23 ist ein Flussdiagramm, das einen exemplarischen Prozess zum Navigieren eines Hostfahrzeugs unter Verwendung eines spärlichen Navigationsinformationsübertragungsmodus und eines dichten Navigationsinformationsübertragungsmodus zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende detaillierte Beschreibung bezieht sich auf die beiliegenden Zeichnungen. In den Zeichnungen und der folgenden Beschreibung werden nach Möglichkeit die gleichen Referenznummern verwendet, um sich auf gleiche oder ähnliche Teile zu beziehen. Während hierin mehrere veranschaulichende Ausführungsformen beschrieben sind, sind Modifikationen, Anpassungen und andere Implementierungen möglich. So können beispielsweise Ersetzungen, Ergänzungen oder Änderungen an den in den Zeichnungen dargestellten Komponenten vorgenommen werden, und die hierin beschriebenen exemplarischen Verfahren können durch Ersetzen, Neuordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren geändert werden. Dementsprechend beschränkt sich die nachfolgende detaillierte Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele. Stattdessen wird der richtige Umfang durch die angehängten Ansprüche definiert.
  • Überblick Autonomes Fahrzeug
  • Wie in dieser Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrerinteraktion durchzuführen. Eine „Navigationsänderung“ bezieht sich auf eine Änderung einer oder mehrerer Lenk-, Brems- oder Beschleunigungsvorgänge des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (z.B. vollautomatischer Betrieb ohne Fahrer oder ohne Fahrerinteraktion). Vielmehr umfasst ein autonomes Fahrzeug diejenigen, die in bestimmten Zeiträumen unter Fahrersteuerung und in anderen Zeiträumen ohne Fahrersteuerung betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge umfassen, die nur einige Aspekte der Fahrzeugnavigation steuern, wie beispielsweise die Lenkung (z.B. um einen Fahrzeugverlauf zwischen den Fahrspurbeschränkungen aufrechtzuerhalten), können aber auch andere Aspekte dem Fahrer überlassen (z.B. Bremsen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitsregelung und/oder der Lenkung des Fahrzeugs übernehmen.
  • Da menschliche Fahrer typischerweise auf visuelle Hinweise und Beobachtungen angewiesen sind, um ein Fahrzeug zu steuern, werden Verkehrsinfrastrukturen entsprechend aufgebaut, wobei Fahrspurmarkierungen, Verkehrsschilder und Ampeln alle so konzipiert sind, dass sie dem Fahrer visuelle Informationen liefern. In Anbetracht dieser Konstruktionsmerkmale von Verkehrsinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit beinhalten, die visuelle Informationen aus der Umgebung des Fahrzeugs analysiert. Die visuellen Informationen können beispielsweise Komponenten der Verkehrsinfrastruktur (z.B. Fahrspurmarkierungen, Verkehrszeichen, Ampeln usw.) beinhalten, die von Fahrern und anderen Hindernissen (z.B. andere Fahrzeuge, Fußgänger, Schutt usw.) beobachtet werden können. Darüber hinaus kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie beispielsweise Informationen, die bei der Navigation ein Modell der Fahrzeugumgebung liefern. So kann beispielsweise das Fahrzeug GPS-Daten, Sensordaten (z.B. von einem Beschleunigungssensor, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen über seine Umgebung bereitzustellen, während das Fahrzeug fährt, und das Fahrzeug (und andere Fahrzeuge) kann diese Informationen verwenden, um sich auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während der Navigation gewonnen werden (z.B. von einer Kamera, einem GPS-Gerät, einem Beschleunigungssensor, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die aus früheren Navigationen des Fahrzeugs (oder anderer Fahrzeuge) während der Navigation gewonnen wurden. In noch weiteren Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während der Navigation gewonnen werden, und Informationen, die aus früheren Navigationen gewonnen werden, verwenden. Die folgenden Abschnitte geben einen Überblick über ein System, das mit den offenbarten Ausführungsformen übereinstimmt, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und mit dem System konsistente Verfahren. Die folgenden Abschnitte enthalten Systeme und Verfahren zum Konstruieren, Verwenden und Aktualisieren einer spärlichen Karte für die autonome Fahrzeugnavigation.
  • Überblick über das System
  • 1 ist eine Blockdiagrammdarstellung eines Systems 100 in Übereinstimmung mit den exemplarisch offenbarten Ausführungsformen. Das System 100 kann verschiedene Komponenten beinhalten, je nach den Anforderungen einer bestimmten Implementierung. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bildaufnahmeeinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 140, 150, eine Kartendatenbank 160, eine Benutzeroberfläche 170 und einen drahtlosen Sende-Empfä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 andere geeignete Verarbeitungsvorrichtung beinhalten. Ebenso kann die Bildaufnahmeeinheit 120 eine beliebige Anzahl von Bilderfassungsvorrichtungen und -komponenten beinhalten, abhängig von den Anforderungen einer bestimmten Anwendung. In einigen Ausführungsformen kann die Bildaufnahmeeinheit120 eine oder mehrere Bilderfassungsvorrichtungen (z.B. Kameras) beinhalten, wie beispielsweise die Bilderfassungsvorrichtung 122, die Bilderfassungsvorrichtung 124 und die Bilderfassungsvorrichtung 126. System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bildaufnahmeeinheit 120 verbindet. So kann beispielsweise die Datenschnittstelle 128 jede drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zur Übertragung von Bilddaten, die von der Bildaufnahmeeinheit120 erfasst wurden, an die Verarbeitungseinheit 110 beinhalten.
  • Der drahtlose Sender-Empfänger 172 kann eine oder mehrere Vorrichtungen beinhalten, die konfiguriert sind, um Übertragungen über eine Luftschnittstelle an ein oder mehrere Netzwerke (z.B. Mobilfunk, Internet usw.) unter Verwendung einer Funkfrequenz, einer Infrarotfrequenz, eines Magnetfeldes oder eines elektrischen Feldes auszutauschen. Der drahtlose Sender-Empfänger 172 kann jeden bekannten Standard zum Senden und/oder Empfangen von Daten verwenden (z.B. WiFi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee, etc.). Solche Übertragungen können die Kommunikation vom Hostfahrzeug zu einem oder mehreren entfernten Servern beinhalten. Diese Übertragungen können auch Kommunikationen (ein- oder zweiseitig) zwischen dem Hostfahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Hostfahrzeugs (z. B. zur Erleichterung der Koordination der Navigation des Hostfahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Hostfahrzeugs) oder sogar eine Broadcast-Übertragung an nicht näher bezeichnete Empfänger in der Nähe des Hostfahrzeugs beinhalten.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungsvorrichtungen beinhalten. So kann beispielsweise entweder der Anwendungsprozessor 180 oder beide und der Bildprozessor 190 einen Mikroprozessor, Präprozessoren (z.B. einen Bildvorprozessor), eine Grafikverarbeitungseinheit (GPU), eine Zentraleinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder jede andere Art von Vorrichtungen beinhalten, die für die Ausführung von Anwendungen und für die Bildverarbeitung und -analyse geeignet sind. In einigen Ausführungsformen kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 jede Art von Ein- oder Mehrkernprozessor, Mikrocontroller für mobile Geräte, Zentraleinheit usw. beinhalten. Es können verschiedene Verarbeitungsgeräte verwendet werden, einschließlich beispielsweise Prozessoren von Herstellern wie Intel®, AMD® usw. oder GPUs von Herstellern wie NVIDIA®, ATI® usw., die verschiedene Architekturen (z.B. x86-Prozessor, ARM® usw.) beinhalten können.
  • In einigen Ausführungsformen kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen der von Mobileye® erhältlichen Prozessorchips der EyeQ-Serie beinhalten. Diese Prozessor-Designs beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren und auch Videoausgänge beinhalten. In einem Beispiel verwendet der EyeQ2® die 90nm-Mikron-Technologie mit 332Mhz. Die EyeQ2®-Architektur besteht aus zwei Gleitkomma-, Hyper-Thread-32-Bit-RISC-CPUs (MIPS32® 34K®-Kerne), fünf Vision Computing Engines (VCE), drei Vektor-Mikrocode-Prozessoren (VMP®), Denali 64-Bit Mobile DDR-Controller, 128-Bit internem Sonics Interconnect, zwei 16-Bit-Videoeingangs- und 18-Bit-Videoausgangscontrollern, 16-Kanal-DMA und mehreren Peripheriegeräten. Die MIPS34K CPU verwaltet die fünf VCEs, drei VMP™ und den DMA, die zweite MIPS34K CPU und den Mehrkanal-DMA sowie die anderen Peripheriegeräte. Die fünf VCEs, drei VMP® und die MIPS34K CPU können intensive Bildverarbeitungsberechnungen durchführen, die von Multifunktionsbündelanwendungen benötigt werden. In einem weiteren Beispiel kann der EyeQ3®, ein Prozessor der dritten Generation, der sechsmal leistungsfähiger ist als der EyeQ2®, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen kann das EyeQ4® und/oder das EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Selbstverständlich können auch neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Jede der hierin offenbarten Verarbeitungsvorrichtungen kann konfiguriert werden, um bestimmte Funktionen auszuführen. Die Konfiguration einer Verarbeitungsvorrichtung, wie beispielsweise eines der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines anderen Mikroprozessors, zur Ausführung bestimmter Funktionen kann die Programmierung von computerausführbaren Anweisungen beinhalten und diese Anweisungen der Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung zur Verfügung stellen. In einigen Ausführungsformen kann die Konfiguration einer Verarbeitungsvorrichtung die Programmierung der Verarbeitungsvorrichtung direkt mit Architekturanweisungen beinhalten. So können beispielsweise Verarbeitungsvorrichtungen wie feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen beispielsweise mit einer oder mehreren Hardwarebeschreibungssprachen (HDLs) konfiguriert werden.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Speichern ausführbarer Anweisungen auf einem Speicher beinhalten, der für die Verarbeitungsvorrichtung während des Betriebs zugänglich ist. So kann beispielsweise die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In beiden Fällen stellt die Verarbeitungsvorrichtung, die konfiguriert ist, um die hierin offenbarten Abtast-, Bildanalyse- und/oder Navigationsfunktionen auszuführen, ein spezialisiertes hardwarebasiertes System dar, das mehrere hardwarebasierte Komponenten eines Hostfahrzeugs steuert.
  • Obwohl 1 zwei getrennte Verarbeitungsvorrichtungen darstellt, die in der Verarbeitungseinheit 110 enthalten sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. So kann beispielsweise in einigen Ausführungsformen eine einzige Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungsvorrichtungen ausgeführt werden. Darüber hinaus kann das System 100 in einigen Ausführungsformen eine oder mehrere der Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten, wie beispielsweise die Bildaufnahmeeinheit 120, zu beinhalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Vorrichtungen umfassen. So kann beispielsweise die Verarbeitungseinheit 110 verschiedene Vorrichtungen beinhalten, wie beispielsweise eine Steuerung, einen Bildpräprozessor, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder jede andere Art von Vorrichtungen zur Bildverarbeitung und -analyse. Der Bildpräprozessor 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 in der Technik allgemein bekannt sind, einschließlich Cache, Stromversorgung, Takt- und Eingangs-Ausgangsschaltungen. Der Speicher kann Software speichern, die, wenn sie vom Prozessor ausgeführt wird, den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Festplattenlaufwerken, optischen Speichern, Bandspeichern, Wechselmedien und anderen Arten von Speichern umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem weiteren Fall kann der Speicher in die Verarbeitungseinheit 110 integriert werden.
  • Jeder Speicher 140, 150 kann Softwareanweisungen enthalten, die bei Ausführung durch einen Prozessor (z.B. Anwendungsprozessor 180 und/oder Bildprozessor 190) den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie beispielsweise ein neuronales Netzwerk oder ein tiefes neuronales Netzwerk, beinhalten. Die Speichereinheiten können Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Flash-Speicher, Festplattenlaufwerke, optische Speicher, Bandspeicher, Wechselmedien und/oder andere Arten von Speicher beinhalten. In einigen Ausführungsformen können die Speichereinheiten 140, 150 vom Anwendungsprozessor 180 und/oder Bildprozessor 190 getrennt sein. In weiteren Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert werden.
  • Der Positionssensor 130 kann jede Art von Vorrichtung beinhalten, die geeignet ist, einen Standort zu bestimmen, der mindestens einer Komponente des Systems 100 zugeordnet ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Solche Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die von Satelliten des globalen Positionierungssystems übertragen werden. Positionsinformationen vom Positionssensor 130 können dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 zur Verfügung gestellt werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten wie einen Geschwindigkeitssensor (z.B. einen Tacho, einen Tacho) zum Messen einer Fahrzeuggeschwindigkeit 200 und/oder einen Beschleunigungssensor (entweder eine Achse oder mehrere Achsen) zum Messen der Beschleunigung des Fahrzeugs 200 beinhalten.
  • Die Benutzeroberfläche 170 kann jede Vorrichtung beinhalten, die geeignet ist, Informationen an oder zum Empfangen von Eingaben von einem oder mehreren Benutzern des Systems 100 bereitzustellen. In einigen Ausführungsformen kann die Benutzeroberfläche 170 Benutzereingabevorrichtungen beinhalten, einschließlich beispielsweise eines Touchscreens, eines Mikrofons, einer Tastatur, von Zeigergeräten, von Spurrädern, Kameras, Knöpfen, Tasten usw. Mit solchen Eingabevorrichtungen kann ein Benutzer in der Lage sein, dem System 100 Informationseingaben oder -befehle zur Verfügung zu stellen, indem er Anweisungen oder Informationen eingibt, Sprachbefehle bereitstellt, Menüoptionen auf einem Bildschirm mit Hilfe von Tasten, Zeigern oder Blickverfolgungsfunktionen auswählt oder durch andere geeignete Techniken zur Übertragung von Informationen an das System 100.
  • Die Benutzeroberfläche 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die konfiguriert sind, um Informationen an 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, zum Empfangen und Interpretieren von Sprachbefehlen, zum Erkennen und Interpretieren von Berührungen und/oder Gesten auf einem Touchscreen, zum Reagieren auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzeroberfläche 170 eine Anzeige, einen Lautsprecher, eine taktile Vorrichtung und/oder andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen für einen Benutzer beinhalten.
  • Die Kartendatenbank 160 kann jede 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 über die Position verschiedener Elemente in einem Referenzkoordinatensystem enthalten, einschließlich Straßen, Wassermerkmale, geografische Merkmale, Unternehmen, Sehenswürdigkeiten, Restaurants, Tankstellen usw. Die Kartendatenbank 160 kann nicht nur die Standorte solcher Elemente speichern, sondern auch Deskriptoren, die sich auf diese Elemente beziehen, einschließlich beispielsweise Namen, die mit einem der gespeicherten Merkmale verknüpft 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 in Bezug auf andere Komponenten des Systems 100 (z.B. Verarbeitungseinheit 110) entfernt angeordnet sein. In solchen Ausführungsformen können Informationen aus der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z.B. über ein Mobilfunknetz und/oder das Internet, etc.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein spärliches Datenmodell speichern, das polynome Repräsentationen bestimmter Straßenmerkmale (z.B. Fahrspurmarkierungen) oder Solltrajektorien für das Hostfahrzeug enthält. Systeme und Verfahren zur Erzeugung einer solchen Karte werden im Folgenden unter Bezugnahme auf die FIGen 8-19 erläutert.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jeweils jede Art von Gerät beinhalten, das geeignet ist, mindestens ein Bild aus einer Umgebung aufzunehmen. Darüber hinaus können beliebig viele Bilderfassungsvorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bilderfassungsvorrichtung beinhalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bilderfassungsvorrichtungen beinhalten können. Die Bilderfassungsvorrichtungen 122, 124 und 126 werden im Folgenden mit Bezug auf die 2B-2E näher beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene verschiedene Plattformen integriert werden. In einigen Ausführungsformen kann das System 100 an einem Fahrzeug 200 angebracht werden, wie in 2A dargestellt. So kann beispielsweise das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und einer der anderen Komponenten des Systems 100 ausgestattet sein, wie vorstehend in Bezug auf 1 beschrieben. Während das Fahrzeug 200 in einigen Ausführungsformen mit nur einer einzigen Bilderfassungsvorrichtung (z.B. Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie sie in Verbindung mit den FIGEN 2B-2E beschrieben sind, mehrere Bilderfassungsvorrichtungen verwendet werden. So kann beispielsweise jede der Bilderfassungsvorrichtung 122 und 124 des Fahrzeugs 200, wie in 2A dargestellt, Teil eines ADAS (Advanced Driver Assistance Systems) Bildaufnahmesets sein.
  • Die Bilderfassungsvorrichtungen, die sich im Fahrzeug 200 als Teil der Bildaufnahmeeinheit 120 befinden, können an jeder geeigneten Stelle positioniert werden. In einigen Ausführungsformen, wie in den FIGen 2A-2E und 3A 3C dargestellt, kann sich die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels befinden. Diese Position kann eine Sichtlinie ähnlich der des Fahrers des Fahrzeugs 200 bieten, was bei der Bestimmung helfen kann, was für den Fahrer sichtbar ist und was nicht. Die Bilderfassungsvorrichtung 122 kann an jeder beliebigen Stelle in der Nähe des Rückspiegels positioniert werden, aber die Platzierung der Bilderfassungsvorrichtung 122 auf der Fahrerseite des Spiegels kann weiter helfen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
  • Andere Positionen für die Bilderfassungsvorrichtung der Bildaufnahmeeinheit 120 können ebenfalls verwendet werden. So kann sich beispielsweise die Bilderfassungsvorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Ein solcher Ort kann besonders geeignet sein für Bilderfassungsvorrichtungen mit einem großen Sichtfeld. Die Sichtlinie der an der Stoßstange angebrachten Bilderfassungsvorrichtungen kann sich von der des Fahrers unterscheiden, so dass die Stoßfänger-Bilderfassungsvorrichtung und der Fahrer nicht immer die gleichen Objekte sehen können. Die Bilderfassungsvorrichtungen (z.B. die Bilderfassungsvorrichtungen 122, 124 und 126) können sich auch an anderen Orten befinden. So können sich beispielsweise die Bilderfassungsvorrichtungen auf 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, auf den Seiten des Fahrzeugs 200, auf einer der Scheiben des Fahrzeugs 200 montiert, hinter oder vor diesen positioniert und in oder nahe Lichtfiguren auf der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. befinden.
  • Zusätzlich zu den Bilderfassungsvorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. So kann beispielsweise die Verarbeitungseinheit 110 in das Fahrzeug 200 integriert oder getrennt von einer Motorsteuereinheit (ECU) des Fahrzeugs integriert sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie beispielsweise einem GPS-Empfänger, ausgestattet sein und kann auch eine Kartendatenbank 160 und die Speichereinheiten 140 und 150 beinhalten.
  • Wie bereits erwähnt, kann der drahtlose Sende-Empfänger 172 Daten über ein oder mehrere Netzwerke (z.B. Mobilfunknetze, das Internet usw.) empfangen und/oder empfangen. So kann beispielsweise der drahtlose Sende-Empfänger 172 vom System 100 gesammelte Daten auf einen oder mehrere Server hochladen und Daten von einem oder mehreren Servern herunterladen. Über den drahtlosen Sende-Empfänger 172 kann das System 100 beispielsweise periodische oder bedarfsgerechte Aktualisierungen der in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeicherten Daten empfangen. Ebenso kann der drahtlose Sende-Empfänger 172 alle Daten (z.B. Bilder, die von der Bildaufnahmeeinheit 120 aufgenommen wurden, Daten, die vom Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuerungssystemen usw. empfangen wurden) von System 100 und/oder alle von der Verarbeitungseinheit 110 verarbeiteten Daten auf einen oder mehrere Server hochladen.
  • System 100 kann Daten basierend auf einer Einstellung der Datenschutzstufe auf einen Server (z.B. in die Cloud) hochladen. So kann beispielsweise das System 100 Einstellungen für die Datenschutzstufe implementieren, um die Art der an den Server gesendeten Daten (einschließlich Metadaten) zu regeln oder zu begrenzen, die ein Fahrzeug und/oder einen Fahrer/Besitzer eines Fahrzeugs eindeutig identifizieren können. Diese Einstellungen können vom Benutzer beispielsweise über den drahtlosen Sende-Empfänger 172 eingestellt, mit den werkseitigen Standardeinstellungen initialisiert oder mit den vom drahtlosen Sende-Empfänger 172 empfangenen Daten vorgenommen werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einer „hohen“ Datenschutzstufe hochladen, und bei entsprechender Einstellung kann das System 100 Daten (z.B. Standortinformationen zu einer Route, aufgenommene Bilder usw.) ohne Angaben zum jeweiligen Fahrzeug und/oder Fahrer/Besitzer übertragen. Wenn beispielsweise Daten gemäß einer „hohen“ Datenschutzeinstellung hochgeladen werden, darf das System 100 keine Fahrzeugidentifikationsnummer (VIN) oder einen Namen eines Fahrers oder Fahrzeughalters enthalten und kann stattdessen Daten wie aufgenommene Bilder und/oder begrenzte Standortinformationen in Bezug auf eine Route übertragen.
  • Weitere Datenschutzstufen werden erwogen. So kann beispielsweise das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übertragen und zusätzliche Informationen enthalten, die nicht unter einer „hohen“ Datenschutzstufe enthalten sind, wie beispielsweise eine Marke und/oder ein Modell eines Fahrzeugs und/oder eines Fahrzeugtyps (z.B. ein Pkw, ein Geländewagen, ein Lastwagen usw.). In einigen Ausführungsformen kann das System 100 Daten entsprechend einer „niedrigen“ Datenschutzstufe hochladen. Unter der Einstellung „niedrige“ Datenschutzstufe kann das System 100 Daten hochladen und Informationen enthalten, die ausreichen, um ein bestimmtes Fahrzeug, einen bestimmten Eigentümer/Fahrer und/oder einen Teil oder die Gesamtheit einer vom Fahrzeug zurückgelegten Strecke eindeutig zu identifizieren. Solche „niedrigen“ Datenschutzniveaus können beispielsweise eine oder mehrere von beispielsweise einer Fahrgestellnummer, einem Fahrer-/Besitzernamen, einem Ausgangspunkt eines Fahrzeugs vor der Abfahrt, einem vorgesehenen Bestimmungsort des Fahrzeugs, einer Marke und/oder einem Modell des Fahrzeugs, einem Fahrzeugtyp usw. beinhalten.
  • 2A ist eine schematische Seitenansichtsdarstellung eines exemplarischen Fahrzeug-Bildgebungssystems im Einklang mit den offenbarten Ausführungsformen. 2B ist eine schematische Draufsicht der in 2A dargestellten Ausführungsform. Wie in 2B veranschaulicht, können die offenbarten Ausführungsformen ein Fahrzeug 200 beinhalten, das in seiner Karosserie ein System 100 mit einer ersten Bilderfassungsvorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 angeordnet ist, eine zweite Bilderfassungsvorrichtung 124, die auf oder in einem Stoßfängerbereich (z.B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 angeordnet ist, und eine Verarbeitungseinheit 110.
  • Wie in 2C dargestellt, können die Bilderfassungsvorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 angeordnet sein. Obwohl in den FIGen 2B und 2C zwei Bilderfassungsvorrichtungen 122 und 124 dargestellt sind, ist zu beachten, dass andere Ausführungsformen mehr als zwei Bilderfassungsvorrichtungen beinhalten können. So sind beispielsweise in den in den FIGen 2D und 2E dargestellten Ausführungsformen die ersten, zweiten und dritten Bilderfassungsvorrichtungen 122, 124 und 126 im System 100 des Fahrzeugs 200 enthalten.
  • Wie in 2D dargestellt, kann die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert werden, und die Bilderfassungsvorrichtungen 124 und 126 können auf oder in einem Stoßfängerbereich (z.B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert werden. Und wie in 2E dargestellt, können die Bilderfassungsvorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bilderfassungsvorrichtungen beschränkt, und die Bilderfassungsvorrichtungen können an jeder geeigneten Stelle im und/oder am Fahrzeug 200 positioniert werden.
  • Es ist zu verstehen, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und in anderen Zusammenhängen angewendet werden können. Es ist auch zu verstehen, dass die offenbarten Ausführungsformen nicht auf einen bestimmten Fahrzeugtyp 200 beschränkt sind und für alle Fahrzeugtypen einschließlich Pkw, Lkw, Anhänger und andere Fahrzeugtypen gelten können.
  • Die erste Bilderfassungsvorrichtung 122 kann jede 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 Gesamtverschluss beinhalten. In anderen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Auflösung von 1280x960 Pixeln bereitstellen und einen rollierenden Verschluss beinhalten. Die Bilderfassungsvorrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können ein oder mehrere Objektive integriert sein, um beispielsweise eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bilderfassungsvorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 mit einem 6mm-Objektiv oder einem 12mm-Objektiv verbunden sein. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 konfiguriert werden, um Bilder mit einem gewünschten Sichtfeld (FOV) 202 aufzunehmen, wie in 2D dargestellt. So kann beispielsweise die Bilderfassungsvorrichtung 122 so konfiguriert werden, dass sie ein normales Sichtfeld aufweist, beispielsweise in einem Bereich von 40 Grad bis 56 Grad, einschließlich eines 46 Grad Sichtfeldes, 50 Grad Sichtfeldes, 52 Grad Sichtfeld oder mehr. Alternativ kann die Bilderfassungsvorrichtung 122 so konfiguriert werden, dass sie ein schmales Sichtfeld im Bereich von 23 bis 40 Grad aufweist, wie beispielsweise ein 28 Grad Sichtfeld oder 36 Grad Sichtfeld. Darüber hinaus kann die Bilderfassungsvorrichtung 122 so konfiguriert werden, dass sie ein breites Sichtfeld im Bereich von 100 bis 180 Grad aufweist. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Weitwinkelstoßfängerkamera oder eine mit bis zu 180 Grad Sichtfeld beinhalten. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine 7,2 Mio. Pixel Bilderfassungsvorrichtung mit einem Seitenverhältnis von etwa 2:1 (z.B. HxV=3800x1900 Pixel) mit etwa 100 Grad horizontalem Sichtfeld sein. Eine solche Bilderfassungsvorrichtung kann anstelle einer Konfiguration mit drei Bilderfassungsvorrichtungen verwendet werden. Aufgrund der erheblichen Objektivverzerrung kann das vertikale Sichtfeld einer solchen Bilderfassungsvorrichtung in Implementierungen, in denen die Bilderfassungsvorrichtung eine radial symmetrische Linse verwendet, deutlich unter 50 Grad liegen. So kann beispielsweise eine solche Linse nicht radial symmetrisch sein, was ein vertikales Sichtfeld von mehr als 50 Grad bei 100 Grad horizontalem Sichtfeld ermöglichen würde.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Vielzahl von ersten Bildern in Bezug auf eine dem Fahrzeug 200 zugeordnete Szene erfassen. Jedes der Vielzahl der ersten Bilder kann als eine Reihe von Bildabtastzeilen aufgenommen werden, die mit einem Rollverschluss aufgenommen werden können. Jede Scanzeile kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Abtastrate aufweisen, die der Erfassung jeder der ersten Serien von Bildabtastzeilen zugeordnet ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel zugeordnet sind, das in einer bestimmten Scanlinie enthalten ist.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jede geeignete Art und Anzahl von Bildsensoren enthalten, einschließlich beispielsweise CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rollverschluss verwendet werden, so dass jedes Pixel in einer Reihe einzeln gelesen wird und das Abtasten der Zeilen zeilenweise erfolgt, bis ein ganzes Bild aufgenommen wurde. In einigen Ausführungsformen können die Zeilen nacheinander von oben nach unten in Bezug auf das Einzelbild erfasst werden.
  • In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z.B. Bilderfassungsvorrichtungen 122, 124 und 126) einen hochauflösenden Bildaufnehmer darstellen und eine Auflösung von mehr als 5M Pixel, 7M Pixel, 10M Pixel oder mehr aufweisen.
  • Die Verwendung eines Rollverschlusses kann dazu führen, dass Pixel in verschiedenen Reihen belichtet und zu unterschiedlichen Zeiten aufgenommen werden, was zu Verzerrungen und anderen Bildartefakten im aufgenommenen Bildframe führen kann. Andererseits, wenn die Bilderfassungsvorrichtung 122 konfiguriert ist, um mit einem globalen oder synchronen Verschluss zu arbeiten, können alle Pixel für die gleiche Zeit und während einer gemeinsamen Belichtungszeit belichtet werden. Infolgedessen stellen die Bilddaten in einem von einem System mit globalem Verschluss gesammelten Rahmen eine Momentaufnahme des gesamten Sichtfeld (z.B. Sichtfeld 202) zu einem bestimmten Zeitpunkt dar. Im Gegensatz dazu wird bei einer Rollverschluss-Anwendung jede Zeile in einem Bild belichtet und die Daten zu unterschiedlichen Zeiten erfasst. So können sich bewegende Objekte in einer Bilderfassungsvorrichtung mit Rollverschluss verzerrt erscheinen. Dieses Phänomen wird im Folgenden näher beschrieben.
  • Die zweite Bilderfassungsvorrichtung 124 und die dritte Bilderfassungsvorrichtung 126 können jede 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 jedes der Bilderfassungsvorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem Global Shutter beinhalten. Alternativ kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Rollverschluss beinhalten. Wie die Bilderfassungsvorrichtung 122 können die Bilderfassungsvorrichtungen 124 und 126 so konfiguriert werden, dass sie verschiedene Linsen und optische Elemente beinhalten. In einigen Ausführungsformen können Objektive, die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet sind, Sichtfelder (wie die Sichtfelder 204 und 206) bereitstellen, die gleich oder schmaler als ein Sichtfeld (wie das Sichtfeld 202) sind, das der Bilderfassungsvorrichtung 122 zugeordnet ist. So können beispielsweise die Bilderfassungsvorrichtungen 124 und 126 Sichtfelder von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Bilderfassungsvorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern in Bezug auf eine dem Fahrzeug 200 zugeordnete Szene erfassen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Serie von Bildabtastzeilen aufgenommen werden, die mit einem Rollverschluss aufgenommen werden können. Jede Scanzeile oder -zeile kann eine Vielzahl von Pixeln aufweisen. Die Bilderfassungsvorrichtungen 124 und 126 können zweite und dritte Abtastraten aufweisen, die mit der Erfassung jeder der Bildabtastzeilen der zweiten und dritten Serie verbunden sind.
  • Jede Bilderfassungsvorrichtung 122, 124 und 126 kann an jeder geeigneten Position und Ausrichtung in Bezug auf das Fahrzeug 200 positioniert werden. Die relative Positionierung der Bilderfassungsvorrichtungen 122, 124 und 126 kann ausgewählt werden, um das Verschmelzen der von den Bilderfassungsvorrichtungen erfassten Informationen zu unterstützen. So kann sich beispielsweise in einigen Ausführungsformen ein der Bilderfassungsvorrichtung 124 zugeordnetes Sichtfeld (wie Sichtfeld 204) teilweise oder vollständig mit einem der Bilderfassungsvorrichtung 122 zugeordneten Sichtfeld (wie Sichtfeld 202) und einem der Bilderfassungsvorrichtung 126 zugeordneten Sichtfeld (wie Sichtfeld 206) überschneiden.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können sich am Fahrzeug 200 in jeder geeigneten relativen Höhe befinden. In einem Fall kann es einen Höhenunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 geben, der genügend Parallaxeninformationen liefern kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A dargestellt, befinden sich die beiden Bilderfassungsvorrichtungen 122 und 124 auf unterschiedlichen Höhen. Es kann auch ein seitlicher Verschiebungsunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 bestehen, der zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 liefert. Die Differenz in der seitlichen Verschiebung kann mit dx bezeichnet werden, wie in den FIGen 2C und 2D dargestellt. In einigen Ausführungsformen kann eine Vor- oder Nachverschiebung (z.B. Bereichsverschiebung) zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 vorhanden sein. So kann sich beispielsweise die Bilderfassungsvorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 befinden. Diese Art der Verschiebung kann es einem der Bilderfassungsvorrichtungen ermöglichen, potenzielle blinde Flecken der anderen Bilderfassungsvorrichtung(en) abzudecken.
  • Bilderfassungsvorrichtungen 122 können jede geeignete Auflösungsfähigkeit aufweisen (z.B. Anzahl der dem Bildsensor zugeordneten Pixel), und die Auflösung der der der Bilderfassungsvorrichtung 122 zugeordneten Bildsensoren kann höher, niedriger oder die gleiche sein wie die Auflösung der den Bilderfassungsvorrichtungen 124 und 126 zugeordneten Bildsensoren. In einigen Ausführungsformen können die Bildsensoren, die der Bilderfassungsvorrichtung 122 und/oder den Bilderfassungsvorrichtungen 124 und 126 zugeordnet sind, eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine andere geeignete Auflösung aufweisen.
  • Die Bildrate (z.B. die Geschwindigkeit, mit der eine Bilderfassungsvorrichtung einen Satz von Pixeldaten eines Einzelbildes erfasst, bevor sie zur Erfassung von Pixeldaten des nächsten Einzelbildes übergeht) kann gesteuert werden. Die der Bilderfassungsvorrichtung 122 zugeordnete Bildrate kann höher, niedriger oder gleich der Bildrate der Bilderfassungsvorrichtungen 124 und 126 sein. Die Bildrate, die den Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von einer Vielzahl von Faktoren abhängen, die das Timing der Bildrate beeinflussen können. So kann beispielsweise eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine wählbare Pixelverzögerungszeit beinhalten, die vor oder nach der Erfassung von Bilddaten, die einem oder mehreren Pixeln eines Bildsensors zugeordnet sind, in der Bilderfassungsvorrichtung 122, 124 und/oder 126 festgelegt wird. Im Allgemeinen können Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktfrequenz für die Vorrichtung erfasst werden (z.B. ein Pixel pro Taktzyklus). Darüber hinaus kann in Ausführungsformen, die einen Rollverschluss beinhalten, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine wählbare horizontale Ausblendzeit beinhalten, die vor oder nach der Erfassung von Bilddaten, die einer Reihe von Pixeln eines Bildsensors zugeordnet sind, in der Bilderfassungsvorrichtung 122, 124 und/oder 126 festgelegt wird. Weiterhin kann eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und/oder 126 eine wählbare vertikale Ausblendzeit beinhalten, die vor oder nach der Erfassung von Bilddaten, die einem Bildrahmen der Bilderfassungsvorrichtung 122, 124 und 126 zugeordnet sind, festgelegt wird.
  • Diese Zeitsteuerungen können die Synchronisation der Bildraten der Bilderfassungsvorrichtungen 122, 124 und 126 ermöglichen, selbst wenn die Zeilenabtastraten der einzelnen Geräte unterschiedlich sind. Darüber hinaus können diese wählbaren Zeitsteuerungen, wie im Folgenden näher erläutert, neben anderen Faktoren (z.B. Bildsensorauflösung, maximale Zeilenabtastraten usw.) die Synchronisation der Bilderfassung aus einem Bereich ermöglichen, in dem sich das Sichtfeld der Bilderfassungsvorrichtung 122 mit einem oder mehreren Sichtfeldern der Bilderfassungsvorrichtungen 124 und 126 überschneidet, selbst wenn sich das Sichtfeld der Bilderfassungsvorrichtung 122 von den Sichtfeldern der Bilderfassungsvorrichtungen 124 und 126 unterscheidet.
  • Die Bildratenzeitmessung in den Bilderfassungsvorrichtungen 122, 124 und 126 kann von der Auflösung der zugehörigen Bildsensoren abhängen. Wenn beispielsweise bei ähnlichen Zeilenabtastraten für beide Vorrichtungen eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 x 480 und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 beinhaltet, dann wird mehr Zeit benötigt, um einen Rahmen von Bilddaten von dem Sensor mit der höheren Auflösung zu erfassen.
  • Ein weiterer Faktor, der den Zeitpunkt der Bilddatenerfassung in den Bilderfassungsvorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenabtastrate. So erfordert beispielsweise die Erfassung einer Reihe von Bilddaten von einem Bildsensor, der in den Bilderfassungsvorrichtungen 122, 124 und 126 enthalten ist, eine minimale Zeitspanne. Unter der Annahme, dass keine Pixelverzögerungszeiten hinzugefügt werden, hängt diese minimale Zeitspanne für die Erfassung einer Reihe von Bilddaten von der maximalen Zeilenabtastrate für eine bestimmte Vorrichtung ab. Vorrichtungen, die höhere maximale Zeilenabtastraten bieten, haben das Potenzial, höhere Bildraten zu liefern als Vorrichtungen mit niedrigeren maximalen Zeilenabtastraten. In einigen Ausführungsformen kann eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 eine maximale Zeilenabtastrate aufweisen, die höher ist als eine maximale Zeilenabtastrate, die der Bilderfassungsvorrichtung 122 zugeordnet ist. In einigen Ausführungsformen kann die maximale Zeilenabtastrate der Bilderfassungsvorrichtung 124 und/oder 126 1,25, 1,5, 1,75 oder 2 mal oder mehr als die maximale Zeilenabtastrate der Bilderfassungsvorrichtung 122 betragen.
  • In einer weiteren Ausführungsform können die Bilderfassungsvorrichtungen 122, 124 und 126 die gleiche maximale Zeilenabtastrate aufweisen, aber die Bilderfassungsvorrichtung 122 kann mit einer Abtastrate betrieben werden, die kleiner oder gleich ihrer maximalen Abtastrate ist. Das System kann so konfiguriert werden, dass eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 mit einer Zeilenabtastrate arbeiten, die gleich der Zeilenabtastrate der Bilderfassungsvorrichtung 122 ist. In anderen Fällen kann das System so konfiguriert werden, dass die Zeilenabtastrate der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 1,25, 1,5, 1,75 oder 2 mal oder mehr als die Zeilenabtastrate der Bilderfassungsvorrichtung 122 betragen kann.
  • In einigen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten beinhalten. Die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 können jeden gewünschten Bereich in Bezug auf eine Umgebung des Fahrzeugs 200 beinhalten, zum Beispiel. In einigen Ausführungsformen kann eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 konfiguriert werden, um Bilddaten aus einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, an den Seiten des Fahrzeugs 200 oder Kombinationen davon zu erfassen.
  • Darüber hinaus kann die Brennweite, die jeder Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet ist, wählbar sein (z.B. durch Einbeziehung geeigneter Objektive usw.), so dass jede Vorrichtung Bilder von Objekten in einem gewünschten Entfernungsbereich in Bezug auf das Fahrzeug 200 erfasst. So können beispielsweise in einigen Ausführungsformen Bilderfassungsvorrichtungen 122, 124 und 126 Bilder von Nahaufnahmen innerhalb weniger Meter vom Fahrzeug aus aufnehmen. Die Bilderfassungsvorrichtungen 122, 124 und 126 können auch konfiguriert werden, um Bilder von Objekten in weiter entfernten Entfernungen vom Fahrzeug aufzunehmen (z.B. 25 m, 50 m, 100 m, 150 m oder mehr). Weiterhin können die Brennweiten der Bilderfassungsvorrichtungen 122, 124 und 126 so gewählt werden, dass eine Bilderfassungsvorrichtung (z.B. Bilderfassungsvorrichtung 122) Bilder von Objekten in relativer Nähe des Fahrzeugs (z.B. innerhalb von 10 m oder innerhalb von 20 m) erfassen 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, etc.) vom Fahrzeug 200 erfassen können.
  • Gemäß einigen Ausführungsformen kann das Sichtfeld eines oder mehrerer Bilderfassungsvorrichtungen 122, 124 und 126 einen Weitwinkel aufweisen. So kann es beispielsweise vorteilhaft sein, ein Sichtfeld von 140 Grad zu haben, insbesondere für die Bilderfassungsvorrichtungen 122, 124 und 126, die zur Aufnahme von Bildern des Bereichs in der Nähe des Fahrzeugs 200 verwendet werden können. So kann beispielsweise die Bilderfassungsvorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links vom Fahrzeug 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bilderfassungsvorrichtung 122 ein breites Sichtfeld hat (z.B. mindestens 140 Grad).
  • Das Sichtfeld, das jeder der Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von den jeweiligen Brennweiten abhängen. So nimmt beispielsweise mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können so konfiguriert werden, dass sie alle geeigneten Sichtfelder aufweisen. In einem bestimmten Beispiel kann die Bilderfassungsvorrichtung 122 ein horizontales Sichtfeld von 46 Grad aufweisen, die Bilderfassungsvorrichtung 124 ein horizontales Sichtfeld von 23 Grad und die Bilderfassungsvorrichtung 126 ein horizontales Sichtfeld zwischen 23 und 46 Grad. In einem weiteren Fall kann die Bilderfassungsvorrichtung 122 ein horizontales Sichtfeld von 52 Grad aufweisen, die Bilderfassungsvorrichtung 124 ein horizontales Sichtfeld von 26 Grad und die Bilderfassungsvorrichtung 126 ein horizontales Sichtfeld zwischen 26 und 52 Grad. In einigen Ausführungsformen kann das Verhältnis des Sichtfeldes der Bilderfassungsvorrichtung 122 zu den Sichtfeldern 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 werden, dass sich ein Sichtfeld der Bilderfassungsvorrichtung 122 zumindest teilweise oder vollständig mit einem Sichtfeld der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so konfiguriert werden, dass beispielsweise die Sichtfelder der Bilderfassungsvorrichtungen 124 und 126 in den Bereich fallen (z.B. schmaler als) und ein gemeinsames Zentrum mit dem Sichtfeld der Bilderfassungsvorrichtung 122 teilen. In anderen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 benachbarte Sichtfelder erfassen oder sich teilweise in ihren Sichtfeldern überlappen. In einigen Ausführungsformen können die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgerichtet sein, dass ein Mittelpunkt der schmaleren Sichtfeld-Bilderfassungsvorrichtungen 124 und/oder 126 in einer unteren Hälfte des Sichtfeldes der breiteren Sichtfeld-Vorrichtung 122 angeordnet sein kann.
  • 2F ist eine schematische Darstellung exemplarischer Fahrzeugsteuerungssysteme, die mit den offenbarten Ausführungsformen übereinstimmt. Wie in 2F angegeben, kann das Fahrzeug 200 das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 beinhalten. Das System 100 kann Eingänge (z.B. Steuersignale) für ein oder mehrere Drosselsysteme 220, Bremssysteme 230 und Lenksysteme 240 über eine oder mehrere Datenverbindungen (z.B. jede drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zur Datenübertragung) bereitstellen. Basierend auf der Analyse von Bildern, die von den Bilderfassungsvorrichtungen 122, 124 und/oder 126 aufgenommen wurden, kann das System 100 beispielsweise Steuersignale an ein oder mehrere von Drosselsystemen 220, Bremssystemen 230 und Lenksystemen 240 zum Navigieren des Fahrzeugs 200 liefern (z.B. durch eine Beschleunigung, eine Kurve, einen Spurwechsel usw.). Weiterhin kann das System 100 Eingaben von einem oder mehreren der folgenden Systeme empfangen: Drosselsystem 220, Bremssystem 230 und Lenksystem 24, die die Betriebsbedingungen des Fahrzeugs 200 anzeigen (z.B. Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder dreht, usw.). Weitere Details sind in Verbindung mit den FIGen 4-7, unten, aufgeführt.
  • Wie in 3A dargestellt, kann das Fahrzeug 200 auch eine Benutzeroberfläche 170 zur Interaktion mit einem Fahrer oder Beifahrer des Fahrzeugs 200 beinhalten. So kann beispielsweise die Benutzeroberfläche 170 in einer Fahrzeuganwendung einen Touchscreen 320, Drehknöpfe 330, Tasten 340 und ein Mikrofon 350 beinhalten. Ein Fahrer oder Beifahrer des Fahrzeugs 200 kann auch Griffe (z.B. an oder in der Nähe der Lenksäule des Fahrzeugs 200, einschließlich beispielsweise Blinkergriffe), Tasten (z.B. am Lenkrad des Fahrzeugs 200) und dergleichen zur Interaktion mit dem System 100 verwenden. In einigen Ausführungsformen kann das Mikrofon 350 angrenzend an einen Rückspiegel 310 positioniert werden. Ebenso kann sich in einigen Ausführungsformen die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzeroberfläche 170 auch einen oder mehrere Lautsprecher 360 (z.B. Lautsprecher eines Fahrzeug-Audiosystems) beinhalten. So kann beispielsweise das System 100 verschiedene Benachrichtigungen (z.B. Warnungen) über die Lautsprecher 360 bereitstellen.
  • 3B-3D sind Abbildungen einer exemplarischen Kamerahalterung 370, die konfiguriert ist, um hinter einem Rückspiegel (z.B. Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, im Einklang mit offenbarten Ausführungsformen. Wie in 3B dargestellt, kann die Kamerahalterung 370 Bilderfassungsvorrichtungen 122, 124 und 126 beinhalten. Die Bilderfassungsvorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert werden, der bündig mit der Fahrzeugwindschutzscheibe abschließen kann und eine Zusammensetzung aus Film und/oder anti-reflektierenden Materialien beinhaltet. So kann beispielsweise der Blendschutz 380 so positioniert werden, dass er sich an einer Fahrzeugwindschutzscheibe mit einer entsprechenden Neigung ausrichtet. In einigen Ausführungsformen kann jedes der Bilderfassungsvorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie beispielsweise in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration von Bilderfassungsvorrichtungen 122, 124 und 126, Kamerahalterung 370 und Blendschutz 380 beschränkt. 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung 370 aus der vorderen Perspektive.
  • Wie von einem Fachmann mit dem Vorteil dieser Offenbarung geschätzt wird, können zahlreiche Variationen und/oder Änderungen an den vorstehend offenbarten Ausführungsformen vorgenommen werden. So sind beispielsweise nicht alle Komponenten für den Betrieb des Systems 100 unerlässlich. Darüber hinaus kann sich jede Komponente in einem geeigneten Teil des Systems 100 befinden und die Komponenten können in eine Vielzahl von Konfigurationen neu angeordnet werden, wobei die Funktionalität der offenbarten Ausführungsformen gewährleistet ist. Daher sind die vorgenannten Konfigurationen Beispiele, und unabhängig von den oben genannten Konfigurationen kann das System 100 eine breite Palette von Funktionen bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 als Reaktion auf die Analyse zu steuern.
  • Wie im Folgenden näher erläutert und in Übereinstimmung mit verschiedenen offenbarten Ausführungsformen, kann das System 100 eine Vielzahl von Funktionen im Zusammenhang mit der autonomen Fahr- und/oder Fahrerassistenztechnologie bieten. So kann beispielsweise das System 100 Bilddaten, Positionsdaten (z.B. GPS-Positionsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von im Fahrzeug 200 enthaltenen Sensoren analysieren. Das System 100 kann die Daten zur Analyse sammeln, z.B. von der Bildaufnahmeeinheit 120, dem Positionssensor 130 und anderen Sensoren. Darüber hinaus kann System 100 die gesammelten Daten analysieren, um festzustellen, ob das Fahrzeug 200 eine bestimmte Maßnahme ergreifen sollte oder nicht, und dann die bestimmte Maßnahme ohne menschliches Zutun automatisch durchführen. Wenn beispielsweise das Fahrzeug 200 ohne menschlichen Eingriff navigiert, kann das System 100 automatisch das Bremsen, Beschleunigen und/oder Lenken des Fahrzeugs 200 steuern (z.B. durch Senden von Steuersignalen an ein oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240). Darüber hinaus kann das System 100 die gesammelten Daten analysieren und auf der Grundlage der Analyse der gesammelten Daten Warnungen und/oder Warnungen an die Fahrzeuginsassen ausgeben. Weitere Einzelheiten zu den verschiedenen Ausführungsformen, die das System 100 bereitstellt, finden Sie im Folgenden.
  • Vorwärts gerichtetes Mehrfach-Bildgebungssystem
  • Wie vorstehend erläutert, kann das System 100 eine Fahrassistenzfunktionalität bereitstellen, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann eine oder mehrere Kameras verwenden, die in Vorwärtsrichtung eines Fahrzeugs ausgerichtet sind. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras beinhalten, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs zeigen. In einer Ausführungsform kann das System 100 beispielsweise ein Zwei-Kamera-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, kleiner oder teilweise mit dem Sichtfeld der zweiten Kamera übereinstimmt. Darüber hinaus kann die erste Kamera mit einem ersten Bildprozessor verbunden werden, um eine monokulare Bildanalyse der von der ersten Kamera bereitgestellten Bilder durchzuführen, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden werden, um eine monokulare Bildanalyse der von der zweiten Kamera bereitgestellten Bilder durchzuführen. Die Ausgänge (z.B. verarbeitete Informationen) des ersten und zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten Kamera als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer weiteren Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, bei dem jede der Kameras ein anderes Sichtfeld hat. Ein solches System kann daher Entscheidungen auf der Grundlage von Informationen treffen, die von Objekten stammen, die sich in unterschiedlichen Abständen sowohl vor als auch zu den Seiten des Fahrzeugs befinden. Verweise auf die monokulare Bildanalyse können sich auf Fälle beziehen, in denen die Bildanalyse auf der Grundlage von Bildern durchgeführt wird, die aus einem einzigen Blickwinkel aufgenommen wurden (z.B. von einer einzigen Kamera). Die Stereobildanalyse kann sich auf Fälle beziehen, in denen die Bildanalyse auf der Grundlage von zwei oder mehreren Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bilderfassungsparameters aufgenommen wurden. So können beispielsweise aufgenommene Bilder, die für die Stereobildanalyse geeignet sind, Bilder beinhalten, die aufgenommen wurden: aus zwei oder mehr verschiedenen Positionen, aus verschiedenen Blickwinkeln, mit unterschiedlichen Brennweiten, zusammen mit Parallaxeninformationen usw.
  • In einer Ausführungsform kann das System 100 beispielsweise eine Konfiguration mit drei Kameras unter Verwendung der Bilderfassungsvorrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bilderfassungsvorrichtung 122 ein enges Sichtfeld (z.B. 34 Grad oder andere Werte aus einem Bereich von etwa 20 bis 45 Grad usw.), die Bilderfassungsvorrichtung 124 ein breites Sichtfeld (z.B. 150 Grad oder andere Werte aus einem Bereich von etwa 100 bis etwa 180 Grad) und die Bilderfassungsvorrichtung 126 ein mittleres Sichtfeld (z.B. 46 Grad oder andere Werte aus einem Bereich von etwa 35 bis etwa 60 Grad) bereitstellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 126 als Haupt- oder Primärkamera fungieren. Die Bilderfassungsvorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 positioniert und im Wesentlichen nebeneinander (z.B. 6 cm Abstand) positioniert werden. Darüber hinaus können in einigen Ausführungsformen, wie vorstehend erläutert, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 montiert werden, der mit der Windschutzscheibe des Fahrzeugs 200 bündig ist. Eine solche Abschirmung kann dazu dienen, die Auswirkungen von Reflexionen aus dem Fahrzeuginneren auf die Bilderfassungsvorrichtungen 122, 124 und 126 zu minimieren.
  • In einer weiteren Ausführungsform, wie vorstehend in Verbindung mit den FIGen 3B und 3C erläutert, kann die Weitwinkelkamera (z.B. die Bilderfassungsvorrichtung 124 im vorstehenden Beispiel) niedriger montiert werden als die Schmal- und Hauptfeldkameras (z.B. die Bildvorrichtungen 122 und 126 im vorstehenden Beispiel). Diese Konfiguration kann eine freie Sichtlinie aus dem weiten Sichtfeld der Kamera ermöglichen. Um Reflexionen zu reduzieren, können die Kameras in der Nähe der Windschutzscheibe des Fahrzeugs 200 montiert werden und können Polarisatoren an den Kameras beinhalten, um reflektiertes Licht zu dämpfen.
  • Ein Drei-Kamera-System kann bestimmte Leistungsmerkmale aufweisen. Einige Ausführungsformen können beispielsweise die Möglichkeit beinhalten, die Erkennung von Objekten durch eine Kamera basierend auf den Erkennungsergebnissen einer anderen Kamera zu validieren. In der vorstehend beschriebenen Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 beispielsweise drei Verarbeitungsvorrichtungen (z.B. drei Prozessorchips der EyeQ-Serie, wie vorstehend erläutert) beinhalten, wobei jede Verarbeitungsvorrichtung der Verarbeitung von Bildern gewidmet ist, die von einer oder mehreren der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden.
  • In einem Drei-Kamera-System kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Schmalbild-Kamera empfangen und eine Bildverarbeitung der Schmalbild-Kamera durchführen, um beispielsweise andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrsschilder, Ampeln und andere Straßenobjekte zu erkennen. Weiterhin kann die erste Verarbeitungsvorrichtung eine Pixeldifferenz zwischen den Bildern der Hauptkamera und der Schmalbild-Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen kombinieren, die auf der Grundlage von Informationen einer anderen Kamera berechnet wurden.
  • Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrsschilder, Ampeln und andere Straßenobjekte zu erkennen. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen und, basierend auf der Verschiebung, eine Disparität der Pixel zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene erstellen (z.B. eine Struktur aus Bewegung). Die zweite Verarbeitungsvorrichtung kann die Struktur von der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, die mit den Stereo-3D-Bildern kombiniert wird.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der breiten FOV-Kamera empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen zur Analyse von Bildern ausführen, um Objekte zu identifizieren, die sich im Bild bewegen, wie z.B. Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen können Ströme von bildbasierten Informationen, die unabhängig voneinander erfasst und verarbeitet werden, eine Möglichkeit zur Bereitstellung von Redundanz im System bieten. Eine solche Redundanz kann beispielsweise die Verwendung einer ersten Bilderfassungsvorrichtung und der von dieser Vorrichtung verarbeiteten Bilder beinhalten, um Informationen zu validieren und/oder zu ergänzen, die durch die Erfassung und Verarbeitung von Bildinformationen von mindestens einer zweiten Bilderfassungsvorrichtung erhalten wurden.
  • In einigen Ausführungsformen kann das System 100 zwei Bilderfassungsvorrichtungen (z.B. Bilderfassungsvorrichtungen 122 und 124) verwenden, um Navigationshilfe für das Fahrzeug 200 bereitzustellen, und eine dritte Bilderfassungsvorrichtung (z.B. Bilderfassungsvorrichtung 126) verwenden, um Redundanz zu gewährleisten und die Analyse der von den beiden anderen Bilderfassungsvorrichtungen empfangenen Daten zu validieren. In einer solchen Konfiguration können beispielsweise die Bilderfassungsvorrichtungen 122 und 124 Bilder für die Stereoanalyse durch das System 100 zum Navigieren des Fahrzeugs 200 bereitstellen, während die Bilderfassungsvorrichtung 126 Bilder für die monokulare Analyse durch das System 100 bereitstellen kann, um Redundanz und Validierung von Informationen zu gewährleisten, die basierend auf Bildern, die von der Bilderfassungsvorrichtung 122 und/oder der Bilderfassungsvorrichtung 124 aufgenommen wurden, erhalten wurden. Das heißt, die Bilderfassungsvorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als redundantes Subsystem zur Überprüfung der von den Bilderfassungsvorrichtungen 122 und 124 abgeleiteten Analyse (z.B. zur Bereitstellung eines automatischen Notbremssystems (AEB)) angesehen werden. Darüber hinaus können in einigen Ausführungsformen die Redundanz und Validierung der empfangenen Daten auf der Grundlage von Informationen ergänzt werden, die von einem weiteren Sensor empfangen werden (z.B. Radar, Lidar, akustische Sensoren, Informationen, die von einem oder mehreren Transceivern außerhalb eines Fahrzeugs empfangen werden, usw.).
  • Ein Fachmann wird erkennen, dass die obigen Kamerakonfigurationen, Kameraplatzierungen, Anzahl der Kameras, Kamerapositionen usw. nur Beispiele sind. Diese und andere im Verhältnis zum Gesamtsystem beschriebene Komponenten können in einer Vielzahl von verschiedenen Konfigurationen zusammengebaut und verwendet werden, ohne vom Umfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten zur Verwendung eines Mehrkamerasystems zur Fahrerassistenz und/oder autonomen Fahrzeugfunktionalität folgen im Folgenden.
  • 4 ist ein exemplarisches Funktionsblockdiagramm des Speichers 140 und/oder 150, das mit Anweisungen zum Ausführen einer oder mehrerer Operationen gemäß den offenbarten Ausführungsformen gespeichert/programmiert werden kann. Obwohl sich das Folgende auf Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 dargestellt, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration des Speichers 140 beschränkt. Darüber hinaus kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die in einem der im Speicher 140 enthaltenen Module 402, 404, 406 und 408 gespeicherten Anweisungen ausführen. Ein Fachmann der Technik wird verstehen, dass sich Verweise in den folgenden Diskussionen auf die Verarbeitungseinheit 110 auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können die Schritte eines der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (z. B. Computer Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z.B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit den folgenden FIGen 5A-5D beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erkennen einer Reihe von Merkmalen innerhalb des Satzes von Bildern beinhalten, wie Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und alle anderen Merkmale, die mit einer Umgebung eines Fahrzeugs verbunden sind. Basierend auf der Analyse kann das System 100 (z.B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie beispielsweise eine Kurve, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie im Folgenden in Verbindung mit dem Navigationsreaktionsmodul 408 erläutert.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (z. B. eine Computer Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine Stereobildauswertung der ersten und zweiten Sätze von Bildern durchführen, die von einer Kombination von Bilderfassungsvorrichtungen aufgenommen wurden, die aus einer der Bilderfassungsvorrichtungen 122, 124 und 126 ausgewählt wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und zweiten Bildsatz mit zusätzlichen sensorischen Informationen (z.B. Informationen vom Radar) kombinieren, um die Stereo-Bildanalyse durchzuführen. So kann beispielsweise das Stereobild- Analysemodul 404 Anweisungen zur Durchführung der Stereobild- Analyse basierend auf einem ersten Satz von Bildern, die von der Bilderfassungsvorrichtung 124 aufgenommen wurden, und einem zweiten Satz von Bildern, die von der Bilderfassungsvorrichtung 126 aufgenommen wurden, beinhalten. Wie in Verbindung mit 6 unten beschrieben, kann das Stereobild-Analysemodul 404 Anweisungen zum Erkennen einer Reihe von Merkmalen innerhalb der ersten und zweiten Bildfolgen beinhalten, wie Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Gegenstände und dergleichen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie beispielsweise eine Kurve, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie nachfolgend in Verbindung mit dem Navigationsreaktionsmodul 408 erläutert. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die einem trainierten System (wie einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem nicht trainierten System zugeordnet sind, wie beispielsweise einem System, das konfiguriert werden kann, um Computer Vision-Algorithmen zum Erkennen und/oder Beschriften von Objekten in einer Umgebung zu verwenden, aus der sensorische Informationen erfasst und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule konfiguriert werden, um eine Kombination aus einem trainierten und einem untrainierten System zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 eine Software speichern, die konfiguriert ist, um Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen in Fahrzeug 200 empfangen wurden, die konfiguriert sind, um eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu bewirken. So kann beispielsweise die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Sollgeschwindigkeit für das Fahrzeug 200 zu berechnen, basierend auf Daten, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Diese Daten können beispielsweise eine Zielposition, Geschwindigkeit und/oder Beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 in Bezug auf ein nahegelegenes Fahrzeug, einen Fußgänger oder ein Straßenobjekt, Positionsinformationen für das Fahrzeug 200 in Bezug auf Fahrspurmarkierungen der Straße und dergleichen beinhalten. Darüber hinaus kann die Verarbeitungseinheit 110 eine Sollgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingaben (z.B. Informationen vom Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200 berechnen. Basierend auf der berechneten Sollgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine Änderung der Geschwindigkeit und/oder Beschleunigung auszulösen, indem sie beispielsweise die Bremse physisch niederdrückt oder das Gaspedal des Fahrzeugs 200 nachlässt.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 eine von der Verarbeitungseinheit 110 ausführbare Software speichern, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die von der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Diese Daten können Positions- und Geschwindigkeitsinformationen beinhalten, die mit Fahrzeugen, Fußgängern und Straßenobjekten in der Nähe verbunden sind, Zielpositionsinformationen für Fahrzeug 200 und dergleichen. Darüber hinaus kann die Navigationsreaktion in einigen Ausführungsformen (teilweise oder vollständig) auf Kartendaten, einer vorbestimmten Position des Fahrzeugs 200 und/oder einer Relativgeschwindigkeit oder einer Relativbeschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die durch die Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erfasst wurden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z.B. Informationen vom Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem sie beispielsweise das Lenkrad des Fahrzeugs 200 dreht, um eine Drehung um einen vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 den Ausgang des Navigationsreaktionsmoduls 408 (z.B. die gewünschte Navigationsreaktion) als Eingang zur Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zur Berechnung einer Geschwindigkeitsänderung des Fahrzeugs 200 verwenden.
  • Darüber hinaus kann jedes der hierin offenbarten Module (z.B. die Module 402, 404 und 406) Techniken implementieren, die mit einem trainierten System (wie einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System verbunden sind.
  • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A darstellt, um eine oder mehrere Navigationsreaktionen basierend auf einer monokularen Bildanalyse zu erzeugen, die mit den offenbarten Ausführungsformen übereinstimmen. In Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bildaufnahmeeinheit 120 empfangen. So kann beispielsweise eine in der Bildaufnahmeeinheit 120 enthaltene Kamera (wie beispielsweise die Bilderfassungsvorrichtung 122 mit Sichtfeld 202) eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise an den Seiten oder am Heck eines Fahrzeugs) erfassen und über eine Datenverbindung (z.B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern bei Schritt 520 zu analysieren, wie in weiteren Details in Verbindung mit den folgenden FIGen 5B-5D beschrieben. Durch die Durchführung der Analyse kann die Verarbeitungseinheit 110 eine Reihe von Merkmalen innerhalb des Satzes von Bildern erkennen, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um verschiedene Straßengefahren bei Schritt 520 zu erkennen, wie beispielsweise Teile eines LKW-Reifens, umgefallene Verkehrszeichen, lose Ladung, Kleintiere und dergleichen. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Erkennung solcher Gefahren schwieriger machen kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Mehrbildanalyse der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erkennen. So kann beispielsweise die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Einzelbildern schätzen und die Pixelunterschiede zwischen den Einzelbildern berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Fahrbahnoberfläche sowie die über der Fahrbahnoberfläche bestehenden Gefahren zu erfassen.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der in Schritt 520 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken zu bewirken. Navigationsreaktionen können beispielsweise eine Kurve, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder andere Navigationsreaktion zu bewirken. Darüber hinaus können mehrere Navigationsreaktionen gleichzeitig, in Folge oder in einer beliebigen Kombination davon auftreten. So kann beispielsweise die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, eine Spur zu wechseln und dann zu beschleunigen, indem sie beispielsweise Steuersignale nacheinander an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 überträgt. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 zum Bremsen bringen und gleichzeitig die Fahrspuren wechseln, indem sie beispielsweise gleichzeitig Steuersignale an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 überträgt.
  • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern darstellt, die mit den offenbarten Ausführungsformen übereinstimmen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Bei Schritt 540 kann die Verarbeitungseinheit 110 einen Menge von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. So kann beispielsweise die Verarbeitungseinheit 110 ein oder mehrere Bilder scannen, die Bilder mit einem oder mehreren vorgegebenen Mustern vergleichen und in jedem Bild mögliche Orte identifizieren, die Objekte von Interesse enthalten können (z.B. Fahrzeuge, Fußgänger oder Teile davon). Die vorgegebenen Muster können so gestaltet werden, dass eine hohe Rate von „falschen Treffern“ (false hits) und eine niedrige Rate von „Auslassungen“ (misses) erreicht wird. So kann beispielsweise die Verarbeitungseinheit 110 einen niedrigen Schwellenwert für die Ähnlichkeit mit vorgegebenen Mustern verwenden, um geeignete Objekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Dies kann es der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit zu verringern, dass ein Kandidatenobjekt, das ein Fahrzeug oder einen Fußgänger darstellt, fehlt (z.B. nicht identifiziert wird).
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 die Menge der Kandidatenobjekte filtern, um bestimmte Kandidaten (z.B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen verbunden sind, die in einer Datenbank gespeichert sind (z.B. eine im Speicher 140 gespeicherte Datenbank). Zu den Eigenschaften können Objektform, Abmessungen, Textur, Position (z.B. in Bezug auf das Fahrzeug 200) und dergleichen gehören. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus der Menge von Kandidatenobjekten zurückzuweisen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Bildframes analysieren, um festzustellen, ob Objekte in der Menge der Kandidatenobjekte Fahrzeuge und/oder Fußgänger darstellen. So kann beispielsweise die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Einzelbilder hinweg verfolgen und Frame-by-Frame-Daten sammeln, die dem erfassten Objekt zugeordnet sind (z.B. Größe, Position in Bezug auf das Fahrzeug 200, etc.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das erfasste Objekt schätzen und die Positionsdaten des Objekts Frame für Frame mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erfassten Objekte konstruieren. Solche Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (bezogen auf das Fahrzeug 200) beinhalten, die den erfassten Objekten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätzverfahren unter Verwendung einer Reihe von zeitbasierten Beobachtungen wie Kalman-Filtern oder linearer quadratischer Schätzung (LQE) und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objekttypen (z.B. Autos, Lastwagen, Fußgänger, Fahrräder, Verkehrszeichen usw.) konstruieren. Die Kalman-Filter können auf einer Messung der Skala eines Objekts basieren, wobei die Skalenmessung proportional zu einer Zeit bis zur Kollision ist (z.B. die Zeitspanne, in der das Fahrzeug 200 das Objekt erreicht). Durch die Durchführung der Schritte 540-546 kann die Verarbeitungseinheit 110 somit Fahrzeuge und Fußgänger identifizieren, die innerhalb des Satzes der erfassten Bilder erscheinen, und Informationen (z.B. Position, Geschwindigkeit, Größe) ableiten, die den Fahrzeugen und Fußgängern zugeordnet sind. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie in Verbindung mit 5A oben beschrieben.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse (optical flow analysis) eines oder mehrerer Bilder durchführen, um die Wahrscheinlichkeit zu verringern, einen „falschen Treffer“ zu erkennen und ein Kandidatenobjekt zu verpassen, das ein Fahrzeug oder einen Fußgänger darstellt. Die optische Flussanalyse kann sich beispielsweise auf die Analyse von Bewegungsmustern in Bezug auf das Fahrzeug 200 in einem oder mehreren Bildern beziehen, die anderen Fahrzeugen und Fußgängern zugeordnet sind und sich von der Bewegung der Straßenoberfläche unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die unterschiedlichen Positionen der Objekte über mehrere Bilderrahmen hinweg beobachtet, die zu unterschiedlichen Zeiten erfasst werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingabe in mathematische Modelle zur Berechnung der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse eine weitere Methode zur Erkennung von Fahrzeugen und Fußgängern bieten, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann in Kombination mit den Schritten 540-546 eine optische Flussanalyse durchführen, um Redundanz für die Erkennung von Fahrzeugen und Fußgängern zu schaffen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Erfassen von Fahrbahnmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern im Einklang mit offenbarten Ausführungsformen darstellt. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Bei Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten durch Scannen eines oder mehrerer Bilder erfassen. Um Segmente von Fahrbahnmarkierungen, Fahrbahngeometrieinformationen und andere relevante Fahrbahnmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 die Menge der Objekte filtern, um diejenigen auszuschließen, die als irrelevant erachtet werden (z.B. kleinere Schlaglöcher, kleine Felsen usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 erfassten Segmente, die zur gleichen Straßen- oder Fahrspurmarkierung gehören, zusammenfassen. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell zur Darstellung der erfassten Segmente entwickeln, wie beispielsweise ein mathematisches Modell.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen konstruieren, die den detektierten Segmenten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erfassten Segmente von der Bildebene auf die reale Ebene erzeugen. Die Projektion kann durch ein Polynom 3. Grades mit Koeffizienten charakterisiert werden, die den physikalischen Eigenschaften wie Position, Steigung, Krümmung und Krümmungsableitung der detektierten Straße entsprechen. Bei der Erzeugung der Projektion kann die Verarbeitungseinheit 110 Änderungen der Fahrbahnoberfläche sowie die mit dem Fahrzeug 200 verbundenen Neigungs- und Rollraten berücksichtigen. Darüber hinaus kann die Verarbeitungseinheit 110 die Straßenhöhe modellieren, indem sie Positions- und Bewegungsabläufe auf der Fahrbahnoberfläche analysiert. Weiterhin kann die Verarbeitungseinheit 110 die Neigungs- und Rollraten im Zusammenhang mit dem Fahrzeug 200 schätzen, indem sie eine Reihe von Merkmalspunkten in einem oder mehreren Bildern verfolgt.
  • Bei Schritt 556 kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführen, indem sie beispielsweise die erfassten Segmente über aufeinanderfolgende Bilder verfolgt und Frame-by-Frame-Daten sammelt, die den erfassten Segmenten zugeordnet sind. Da die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführt, kann der bei Schritt 554 konstruierte Messsatz zuverlässiger werden und mit einem immer höheren Konfidenzniveau verbunden sein. So kann die Verarbeitungseinheit 110 durch Ausführen der Schritte 550, 552, 554 und 556 Fahrbahnmarkierungen identifizieren, die innerhalb des Satzes der erfassten Bilder erscheinen, und Fahrbahngeometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, 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 Zusammenhang mit seiner Umgebung weiterzuentwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 auf sichere Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die erfassten Straßenränder und -barrieren und/oder allgemeine Straßenformbeschreibungen berücksichtigen, die aus Kartendaten (wie Daten aus der Kartendatenbank 160) extrahiert wurden. Durch die Berücksichtigung zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 eine Redundanz zur Erkennung von Fahrbahnmarkierungen und Fahrbahngeometrien bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess 500D zum Erkennen von Ampeln in einem Satz von Bildern in Übereinstimmung mit offenbarten Ausführungsformen darstellt. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. Bei Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern scannen und Objekte identifizieren, die an Stellen in den Bildern erscheinen, die wahrscheinlich Ampeln enthalten. So kann beispielsweise die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um eine Menge von Kandidatenobjekten zu konstruieren, mit Ausnahme derjenigen Objekte, die wahrscheinlich nicht der Ampel entsprechen. Die Filterung kann auf der Grundlage verschiedener Eigenschaften erfolgen, die mit Ampeln verbunden sind, wie Form, Abmessungen, Textur, Position (z.B. relativ zum Fahrzeug 200) und dergleichen. Diese Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuersignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse der Menge der Kandidatenobjekte durchführen, die mögliche Ampeln wiedergeben. So kann beispielsweise die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildframes hinweg verfolgen, die reale Position der Kandidatenobjekte schätzen und die sich bewegenden Objekte herausfiltern (die wahrscheinlich keine Ampel sein werden). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse der Kandidatenobjekte durchführen und die relative Position der erfassten Farben identifizieren, die innerhalb möglicher Ampeln erscheinen.
  • Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann basierend sein auf einer beliebigen Kombination von: (i) der Anzahl der auf beiden Seiten des Fahrzeugs 200 erfassten Fahrspuren, (ii) auf der Straße erfassten Markierungen (wie Pfeilmarkierungen) und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie Daten aus der Kartendatenbank 160) gewonnen wurden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet wurden. Darüber hinaus kann die Verarbeitungseinheit 110 eine Übereinstimmung zwischen den in Schritt 560 erfassten Ampeln und den in der Nähe des Fahrzeugs 200 erscheinenden Fahrspuren bestimmen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 das der analysierten Kreuzungsgeometrie und den erfassten Ampeln zugeordnete Konfidenzniveau aktualisieren. So kann beispielsweise die Anzahl der Ampeln, die an der Kreuzung voraussichtlich erscheinen werden, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung erscheint, das Konfidenzniveau beeinflussen. Somit kann die Verarbeitungseinheit 110, basierend auf dem Vertrauensniveau, die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch die Durchführung der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln identifizieren, die innerhalb des Satzes der erfassten Bilder erscheinen, und Verbindungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie in Verbindung mit 5A oben beschrieben.
  • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E darstellt, um eine oder mehrere Navigationsreaktionen in Fahrzeug 200 basierend auf einer Fahrzeugroute, der mit den offenbarten Ausführungsformen konsistent ist, zu bewirken. Bei Schritt 570 kann die Verarbeitungseinheit 110 eine erste Fahrzeugroute konstruieren, der dem Fahrzeug 200 zugeordnet ist. Die Fahrzeugroute kann durch eine Reihe von Punkten dargestellt werden, die in Koordinaten (x, z) ausgedrückt sind, und der Abstand di zwischen zwei Punkten in der Gruppe von Punkten kann in den Bereich von 1 bis 5 Metern fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 die anfängliche Fahrzeugroute unter Verwendung von zwei Polynomen, wie beispielsweise dem linken und rechten Straßenpolynom, konstruieren. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den beiden Polynomen berechnen und jeden Punkt, der in den resultierenden Fahrzeugroute einbezogen ist, um einen vorgegebenen Versatz (z.B. einen intelligenten Fahrbahnversatz, smart lane offset) verschieben, falls vorhanden (ein Versatz von Null kann dem Fahren in der Mitte einer Fahrspur entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen zwei beliebigen Punkten in der Fahrzeugführung liegen. In einer weiteren Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrbahnbreite verwenden, um jeden Punkt der Fahrzeugroute um die Hälfte der geschätzten Fahrbahnbreite plus einen vorbestimmten Versatz (z.B. einen intelligenten Fahrbahnversatz) zu verschieben.
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 die in Schritt 570 konstruierten Fahrzeugroute aktualisieren. Die Verarbeitungseinheit 110 kann die bei Schritt 570 konstruierten Fahrzeugroute mit einer höheren Auflösung rekonstruieren, so dass der Abstand dk zwischen zwei Punkten in dem Satz von Punkten, die die Fahrzeugroute darstellen, kleiner ist als der vorstehend beschriebene Abstand di . So kann beispielsweise die Entfernung dk im Bereich von 0,1 bis 0,3 Metern liegen. Die Verarbeitungseinheit 110 kann die Fahrzeugroute unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Distanzvektor S ergeben kann, der der Gesamtlänge der Fahrzeugroute entspricht (d.h. basierend auf dem Satz von Punkten, die die Fahrzeugroute darstellen).
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl , zl )) basierend auf der bei Schritt 572 erstellten aktualisierten Fahrzeugroute bestimmen. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Distanzvektor S extrahieren, und der Vorausschaupunkt kann mit einem Vorausschauabstand und einer Vorausschauzeit verknüpft sein. Der Vorausschauabstand, der eine untere Grenze von 10 bis 20 Metern aufweisen kann, kann als Produkt aus der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn beispielsweise die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann sich auch der Vorausschauabstand verringern (z.B. bis er die untere Grenze erreicht). Die Vorausschauzeit, die zwischen 0,5 und 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung eines oder mehrerer Regelkreise sein, die mit dem Verursachen einer Navigationsreaktion im Fahrzeug 200 verbunden sind, wie beispielsweise der Kursfehler-Tracking-Regelkreis (heading error tracking control loop). So kann beispielsweise die Verstärkung des Kursfehler-Tracking-Regelkreises von der Bandbreite einer Gierratenschleife, einer Lenkstellgliedschleife, der Querdynamik des Fahrzeugs und dergleichen abhängen. Je höher also die Verstärkung des Kursfehler-Tracking-Regelkreises, desto geringer ist die Vorausschauzeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler und Gierratenbefehl basierend auf dem in Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Verarbeitungseinheit 110 kann den Kursfehler bestimmen, indem sie den Arcustangens des Vorausschaupunktes berechnet, z.B. Arctan (xl /zl ). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als Produkt aus dem Kursfehler und einer hochpegeligen Steuerverstärkung bestimmen. Die hochpegelige Steuerverstärkung kann wie folgt sein: (2 / Vorausschauzeit), wenn der Vorausschauabstand nicht an der unteren Grenze liegt. Andernfalls kann die hochpegelige Steuerverstärkung gleich sein: (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschauabstand).
  • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen, ob ein führendes Fahrzeug die Spur wechselt, in Übereinstimmung mit den offenbarten Ausführungsformen darstellt. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem führenden Fahrzeug zugeordnet sind (z.B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt). So kann beispielsweise die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z.B. Richtung und Geschwindigkeit) und/oder Beschleunigung des führenden Fahrzeugs unter Verwendung der in Verbindung mit den vorstehenden FIGen 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen vorausschauenden Punkt (der dem Fahrzeug 200 zugeordnet ist) und/oder eine Schneckenspur (z.B. eine Reihe von Punkten, die einen vom führenden Fahrzeug zurückgelegten Weg beschreiben) unter Verwendung der in Verbindung mit 5E beschriebenen Techniken bestimmen.
  • Bei Schritt 582 kann die Verarbeitungseinheit 110 die in 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 Spur) berechnen. Wenn die Abweichung dieser Strecke entlang der Spur einen vorgegebenen Schwellenwert überschreitet (z. B. 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Fahrspur wechselt. In dem Fall, dass mehrere Fahrzeuge erkannt werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die mit jedem Fahrzeug verbundenen Schneckenspuren vergleichen. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Fahrspur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (dem führenden Fahrzeug zugeordnet) mit der erwarteten Krümmung des Straßenabschnitts vergleichen, in dem das führende Fahrzeug fährt. Die erwartete Krümmung kann aus Kartendaten (z.B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus Schneckenspuren anderer Fahrzeuge, aus Vorkenntnissen über die Straße und dergleichen extrahiert werden. Wenn der Unterschied in der Krümmung der Schneckenspur und der erwarteten Krümmung des Straßenabschnitts einen vorgegebenen Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In einer weiteren Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des führenden Fahrzeugs mit dem Vorausschaupunkt (der dem Fahrzeug 200 zugeordnet ist) über einen bestimmten Zeitraum (z.B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn der Abstand zwischen der momentanen Position des führenden Fahrzeugs und dem Vorausschaupunkt während des bestimmten Zeitraums variiert und die kumulative Summe der Variationen einen vorgegebenen Schwellenwert überschreitet (z. B. 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Spur wechselt. In einer weiteren Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur analysieren, indem sie die entlang der Spur zurückgelegte seitliche Entfernung mit der erwarteten Krümmung der Schneckenspur vergleicht. Der zu erwartende Krümmungsradius kann gemäß der Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx die zurückgelegte seitliche Entfernung und δz die zurückgelegte Längsstrecke darstellt. Wenn die Differenz zwischen der zurückgelegten seitlichen Entfernung und der erwarteten Krümmung einen vorgegebenen Schwellenwert überschreitet (z.B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer weiteren Ausführungsform kann die Verarbeitungseinheit 110 die Position des führenden Fahrzeugs analysieren. Wenn die Position des führenden Fahrzeugs ein Straßenpolynom verdeckt (z.B. wird das führende Fahrzeug auf dem Straßenpolynom überlagert), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich die Fahrspur wechselt. In dem Fall, dass die Position des führenden Fahrzeugs so ist, dass ein anderes Fahrzeug vor dem führenden Fahrzeug erkannt wird und die Schneckenspuren der beiden Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) führende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der in Schritt 582 durchgeführten Analyse bestimmen, ob das führende Fahrzeug 200 die Fahrspur wechselt oder nicht. So kann beispielsweise die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Durchschnitt der in Schritt 582 durchgeführten Einzelanalysen vornehmen. Nach einem solchen Schema kann beispielsweise einer Entscheidung der Verarbeitungseinheit 110, dass das führende Fahrzeug aufgrund einer bestimmten Art von Analyse wahrscheinlich die Fahrspur wechselt, ein Wert von „1“ zugewiesen werden (und „0“, um eine Bestimmung darzustellen, dass das führende Fahrzeug wahrscheinlich nicht die Fahrspur wechselt). Verschiedene in Schritt 582 durchgeführte Analysen können mit unterschiedlichen Gewichten versehen werden, und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichten beschränkt.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Verursachen einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildauswertung in Übereinstimmung mit offenbarten Ausführungsformen darstellt. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. So können beispielsweise Kameras, die in der Bildaufnahmeeinheit 120 enthalten sind (wie beispielsweise 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 über eine digitale Verbindung (z.B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder Protokolle beschränkt.
  • Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildauswertung der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale innerhalb der Bilder zu erkennen, wie Fahrbahnmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Verkehrsgefahren und dergleichen. Die Stereobildauswertung kann auf ähnliche Weise durchgeführt werden wie in Verbindung mit den oben beschriebenen Schritten in den FIGen 5A-5D. So kann beispielsweise die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z.B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Verkehrsgefahren usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu erkennen, eine Teilmenge der Kandidatenobjekte anhand verschiedener Kriterien herauszufiltern und eine Mehrbildanalyse durchzuführen, Messungen zu konstruieren und ein Konfidenzniveau für die übrigen Kandidatenobjekte zu bestimmen. Bei der Durchführung der obigen Schritte kann die Verarbeitungseinheit 110 Informationen aus der ersten und zweiten Vielzahl von Bildern und nicht nur Informationen aus einem Satz von Bildern berücksichtigen. So kann beispielsweise die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilsätzen aus den beiden Strömen der aufgenommenen Bilder) für ein geeignetes Objekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z.B. in Bezug auf das Fahrzeug 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern erscheint, aber nicht im anderen oder in Bezug auf andere Unterschiede, die in Bezug auf Objekte bestehen können, die bei den beiden Bildströmen auftreten. So können beispielsweise Position, Geschwindigkeit und/oder Beschleunigung in Bezug auf das Fahrzeug 200 basierend auf Trajektorien, Positionen, Bewegungseigenschaften usw. von Merkmalen bestimmt werden, die einem Objekt zugeordnet sind, das in einem oder beiden der Bildströme erscheint.
  • Bei Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der in Schritt 620 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken zu bewirken. Navigationsreaktionen können beispielsweise eine Kurve, einen Spurwechsel, eine Änderung der Beschleunigung, eine Änderung der Geschwindigkeit, Bremsen und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder andere Navigationsreaktion zu bewirken. Darüber hinaus können mehrere Navigationsreaktionen gleichzeitig, in Folge oder in einer beliebigen Kombination davon auftreten.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Verursachen 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. So können beispielsweise Kameras, die in der Bildaufnahmeeinheit 120 enthalten sind (wie beispielsweise die Bilderfassungsvorrichtungen 122, 124 und 126 mit Sichtfeldern 202, 204 und 206), eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor und/oder zur Seite des Fahrzeugs 200 aufnehmen und über eine digitale Verbindung (z.B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. So kann beispielsweise jede der Bilderfassungsvorrichtungen 122, 124, 126 eine zugehörige Datenschnittstelle zum Übertragen von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder Protokolle beschränkt.
  • Bei Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale innerhalb der Bilder zu erkennen, wie Fahrbahnmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Verkehrsgefahren und dergleichen. Die Analyse kann auf ähnliche Weise durchgeführt werden wie die in Verbindung mit den FIGen 5A-5D und 6 beschriebenen Schritte. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z.B. durch Ausführen des monokularen Bildanalysemoduls 402 und basierend auf den in Verbindung mit den FIGen 5A-5D, oben beschriebenen Schritten) an jedem der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereobildanalyse (z.B. durch Ausführen des Stereobildanalysemoduls 404 und basierend auf den in Verbindung mit 6, oben beschriebenen Schritten) für die erste und zweite Vielzahl von Bildern, die zweite und dritte Vielzahl von Bildern und/oder die erste und dritte Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von monokularen und Stereo-Bildanalysen durchführen. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z.B. durch Ausführen des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereobildauswertung (z.B. durch Ausführen des Stereobildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Positionen und Sichtfelder 202, 204 und 206 - kann die Art der 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 von Bilderfassungsvorrichtungen 122, 124 und 126 oder die Arten von Analysen beschränkt, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Tests am System 100 basierend auf den in den Schritten 710 und 720 aufgenommenen und analysierten Bildern durchführen. Diese Prüfung kann einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen von Bilderfassungsvorrichtungen 122, 124 und 126 liefern. So kann beispielsweise die Verarbeitungseinheit 110 den Anteil der „falschen Treffer“ (z.B. Fälle, in denen das System 100 die Anwesenheit eines Fahrzeugs oder Fußgängers falsch bestimmt hat) und der „Auslassungen“ (misses) bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, verursachen. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie beispielsweise der Anzahl, den Typen und den Größen der in jedem der Vielzahl von Bildern erfassten Objekte. Die Verarbeitungseinheit 110 kann die Auswahl auch basierend auf der Bildqualität und -auflösung, dem effektiven Sichtfeld, das sich in den Bildern widerspiegelt, der Anzahl der aufgenommenen Bilder, dem Ausmaß, in dem ein oder mehrere interessante Objekte tatsächlich in den Bildern erscheinen (z.B. der Prozentsatz der Bilder, in denen ein Objekt erscheint, der Anteil des Objekts, das in jedem dieser Bilder erscheint, usw.) und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, indem sie bestimmt, inwieweit die von einer Bildquelle abgeleiteten Informationen mit Informationen aus anderen Bildquellen übereinstimmen. So kann beispielsweise die Verarbeitungseinheit 110 die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 abgeleiteten verarbeiteten Informationen kombinieren (sei es durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination der beiden) und visuelle Indikatoren (z.B. Fahrbahnmarkierungen, ein erfasstes Fahrzeug und seine Position und/oder Weg, eine erfasste Ampel usw.) bestimmen, die über die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 erfassten Bilder konsistent sind. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die über die erfassten Bilder hinweg inkonsistent sind (z.B. ein Spurwechsel des Fahrzeugs, ein Spurmodell, das ein Fahrzeug anzeigt, das zu nahe am Fahrzeug 200 liegt, usw.). Somit kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, basierend auf den Bestimmungen von konsistenten und inkonsistenten Informationen.
  • Navigationsreaktionen können beispielsweise eine Kurve, einen Fahrspurwechsel, eine Änderung der Beschleunigung und dergleichen beinhalten. Die Verarbeitungseinheit 110 kann die eine oder mehrere Navigationsreaktionen basierend auf der bei Schritt 720 durchgeführten Analyse und den vorstehend in Verbindung mit 4 beschriebenen Techniken verursachen. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet wurden, um eine oder mehrere Navigationsreaktionen zu bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder mehrere Navigationsreaktionen basierend auf einer relativen Position, Relativgeschwindigkeit und/oder Relativbeschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das in einem der ersten, zweiten und dritten Vielzahl von Bildern erfasst wird, verursachen. Mehrere Navigationsreaktionen können gleichzeitig, in Folge oder in einer beliebigen Kombination davon auftreten.
  • Die Analyse der aufgenommenen Bilder kann die Erzeugung und Verwendung eines spärlichen Kartenmodells für die autonome Fahrzeugnavigation ermöglichen. Darüber hinaus kann die Analyse der aufgenommenen Bilder die Lokalisierung eines autonomen Fahrzeugs unter Verwendung identifizierter Fahrbahnmarkierungen ermöglichen. Ausführungsformen zur Erkennung bestimmter Merkmale auf der Grundlage einer oder mehrerer spezieller Analysen der aufgenommenen Bilder und zur Navigation eines autonomen Fahrzeugs mit einem spärlichen Kartenmodell werden im Folgenden anhand von 8-28 erläutert.
  • Spärliches Straßenmodell für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die autonome Fahrzeugnavigation verwenden. Insbesondere kann die spärliche Karte für die autonome Fahrzeugnavigation entlang eines Straßenabschnitts verwendet werden. So kann beispielsweise die spärliche Karte ausreichende Informationen für die Navigation in einem autonomen Fahrzeug liefern, ohne eine große Datenmenge zu speichern und/oder zu aktualisieren. Wie im Folgenden näher erläutert, kann ein autonomes Fahrzeug die spärliche Karte verwenden, um eine oder mehrere Straßen basierend auf einer oder mehreren gespeicherten Trajektorien zu navigieren.
  • Spärliche Karte für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die autonome Fahrzeugnavigation erzeugen. So kann beispielsweise die spärliche Karte ausreichende Informationen für die Navigation liefern, ohne dass übermäßige Datenspeicherung oder Datenübertragungsraten erforderlich sind. Wie im Folgenden näher erläutert, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die spärliche Karte verwenden, um eine oder mehrere Straßen zu navigieren. So kann beispielsweise in einigen Ausführungsformen die spärliche Karte Daten zu einer Straße und potenzielle Orientierungspunkte entlang der Straße enthalten, die für die Fahrzeugnavigation ausreichend sein können, aber auch kleine Datenaufkommen aufweisen. So können beispielsweise die im Folgenden detailliert beschriebenen spärlichen Datenkarten im Vergleich zu digitalen Karten mit detaillierten Karteninformationen, wie beispielsweise entlang einer Straße gesammelten Bilddaten, deutlich weniger Speicherplatz und Datenübertragungsbandbreite benötigen.
  • Anstatt beispielsweise detaillierte Darstellungen eines Straßenabschnitts zu speichern, kann die spärliche Datenkarte dreidimensionale Polynomdarstellungen bevorzugter Fahrzeugroutee entlang einer Straße speichern. Diese Pfade können sehr wenig Datenspeicherplatz beanspruchen. Darüber hinaus können in den beschriebenen spärlichen Datenkarten Orientierungspunkte identifiziert und in das Straßenmodell der spärlichen Karte aufgenommen werden, um die Navigation zu erleichtern. Diese Orientierungspunkte können in jedem beliebigen Abstand angeordnet sein, der für die Fahrzeugnavigation geeignet ist, aber in einigen Fällen müssen diese Orientierungspunkte nicht identifiziert und bei hohen Dichten und kurzen Abständen in das Modell aufgenommen werden. Vielmehr kann in einigen Fällen eine Navigation auf der Grundlage von Orientierungspunkte möglich sein, die einen Abstand von mindestens 50 Metern, mindestens 100 Metern, mindestens 500 Metern, mindestens 1 Kilometer oder mindestens 2 Kilometern aufweisen. Wie in anderen Abschnitten näher erläutert wird, kann die spärliche Karte auf der Grundlage von Daten erstellt werden, die von Fahrzeugen gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie z.B. Bilderfassungsvorrichtungen, Global Positioning System-Sensoren, Bewegungssensoren usw., während die Fahrzeuge auf Fahrbahnen fahren. In einigen Fällen kann die spärliche Karte basierend auf Daten erstellt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge entlang einer bestimmten Fahrbahn gesammelt wurden. Das Erzeugen einer spärlichen Karte mit mehreren Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer spärlichen Karte bezeichnet werden.
  • In Übereinstimmung mit offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine spärliche Karte zur Navigation verwenden. So können beispielsweise die offenbarten Systeme und Verfahren eine spärliche Karte zur Erzeugung eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und ein autonomes Fahrzeug entlang eines Straßenabschnitts unter Verwendung einer spärlichen Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Spärliche Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien darstellen können, die autonome Fahrzeuge durchfahren können, während sie sich entlang der zugehörigen Straßenabschnitte bewegen.
  • Spärliche Karten, die mit der vorliegenden Offenbarung übereinstimmen, können auch Daten enthalten, die ein oder mehrere Straßenmerkmale darstellen. Solche Straßenmerkmale können anerkannte Orientierungspunkte, Straßenkennzeichnungsprofile und alle anderen straßenbezogenen Merkmale sein, die für die Navigation in einem Fahrzeug nützlich sind. Spärliche Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine autonome Navigation eines Fahrzeugs auf der Grundlage relativ kleiner Datenmengen ermöglichen, die in der spärlichen Karte enthalten sind. Anstatt beispielsweise detaillierte Darstellungen einer Straße, wie Straßenränder, Straßenkrümmung, Bilder, die Straßenabschnitten zugeordnet sind, oder Daten, die andere physische Merkmale, die einem Straßenabschnitt zugeordnet sind, detailliert beschreiben, aufzunehmen, können die offenbarten Ausführungsformen der spärlichen Karte relativ wenig Speicherplatz benötigen (und relativ wenig Bandbreite, wenn Teile der spärlichen Karte auf ein Fahrzeug übertragen werden), aber dennoch eine autonome Fahrzeugnavigation ausreichend ermöglichen. Der geringe Datenbedarf der offenbarten spärlichen Karten, der im Folgenden näher erläutert wird, kann in einigen Ausführungsformen dadurch erreicht werden, dass Darstellungen von straßenbezogenen Elementen gespeichert werden, die kleine Datenmengen erfordern, aber dennoch eine autonome Navigation ermöglichen.
  • Anstatt beispielsweise detaillierte Darstellungen verschiedener Aspekte einer Straße zu speichern, können die offenbarten spärlichen Karten Polynomdarstellungen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Anstatt also Details über die physische Beschaffenheit der Straße zu speichern (oder übertragen zu müssen), um die Navigation entlang der Straße zu ermöglichen, kann ein Fahrzeug unter Verwendung der offenbarten spärlichen Karten entlang eines bestimmten Straßenabschnitts navigiert werden, ohne in einigen Fällen physische Aspekte der Straße interpretieren zu müssen, sondern vielmehr, indem seine Fahrtroute auf eine Trajektorie (z.B. ein Polynomspline) entlang des jeweiligen Straßenabschnitts ausgerichtet wird. Auf diese Weise kann das Fahrzeug hauptsächlich basierend auf der gespeicherten Trajektorie (z.B. einer Polynom-Spline) navigiert werden, die viel weniger Speicherplatz beanspruchen kann als ein Ansatz zur Speicherung von Fahrbahnbildern, Straßenparametern, Straßenlayout usw.
  • Zusätzlich zu den gespeicherten polynomen Darstellungen von Trajektorien entlang eines Straßenabschnitts können die offenbarten spärlichen Karten auch kleine Datenobjekte enthalten, die ein Straßenmerkmal darstellen können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen beinhalten, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet sind, das von einem Sensor (z.B. einer Kamera oder einem anderen Sensor, wie beispielsweise einem Aufhängesensor) an Bord eines Fahrzeugs, das entlang des Straßenabschnitts fährt, erhalten wurde. Die digitale Signatur kann im Vergleich zu dem vom Sensor erfassten Signal eine geringere Größe aufweisen. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifizierungsfunktion kompatibel ist, die konfiguriert ist, um das Straßenmerkmal aus dem Signal zu erkennen und zu identifizieren, das der Sensor beispielsweise bei einer nachfolgenden Fahrt erfasst. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen so kleinen Platzbedarf wie möglich aufweist, wobei die Fähigkeit erhalten bleibt, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem von einem Sensor erzeugten digitalen Signal, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten enthält) des Straßenmerkmals zu korrelieren oder anzupassen, das von einer Kamera an Bord eines Fahrzeugs erfasst wird, das zu einem späteren Zeitpunkt auf dem gleichen Straßenabschnitt fährt.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte weiterhin mit einer Einzigartigkeit des Straßenmerkmals verbunden sein. So kann es beispielsweise für ein Straßenmerkmal, das von einer Kamera an Bord eines Fahrzeugs erfasst werden kann, 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 einer bestimmten Art von Straßenmerkmal, beispielsweise einem Straßenschild, zuzuordnen, und wenn ein solches Straßenschild in diesem Gebiet lokal einzigartig ist (z.B. gibt es kein identisches Straßenschild oder ein Straßenschild desselben Typs in der Nähe), ausreichen, um Daten zu speichern, die die Art des Straßenmerkmals und seine Position angeben.
  • Wie im Folgenden näher erläutert, können Straßenmerkmale (z.B. Orientierungspunkte entlang eines Straßenabschnitts) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes darstellen können, während sie gleichzeitig ausreichende Informationen für die Erkennung und Verwendung eines solchen Merkmals zur Navigation bereitstellen. In einem Beispiel kann ein Verkehrszeichen als anerkannter Orientierungspunkt identifiziert werden, auf dem die Navigation eines Fahrzeugs basieren kann. Eine Darstellung des Verkehrszeichens kann in der spärlichen Karte gespeichert werden, um z.B. ein paar Bytes Daten, die eine Art von Orientierungspunkt (z.B. ein Stoppschild) anzeigen, und ein paar Bytes Daten, die eine Position der Orientierungspunktes (z.B. Koordinaten) angeben, zu beinhalten. Die Navigation auf der Grundlage solcher leichter Datenrepräsentationen der Orientierungspunkte (z.B. durch die Verwendung von Darstellungen, die für das Auffinden, Erkennen und Navigieren auf der Grundlage der Orientierungspunkte ausreichen) kann ein gewünschtes Maß an Navigationsfunktionalität bieten, das mit spärlichen Karten verbunden ist, ohne den Daten-Overhead, der mit den spärlichen Karten verbunden ist, erheblich zu erhöhen. Diese schlanke Darstellung von Orientierungspunkten (und anderen Straßenmerkmalen) kann die Vorteile der Sensoren und Prozessoren an Bord solcher Fahrzeuge nutzen, die konfiguriert sind, um bestimmte Straßenmerkmale zu erkennen, zu identifizieren und/oder zu klassifizieren.
  • Wenn beispielsweise ein Zeichen oder sogar eine bestimmte Art eines Zeichens lokal einzigartig ist (z.B. wenn es in einem bestimmten Gebiet kein anderes Zeichen oder kein anderes Zeichen desselben Typs gibt), kann die spärliche Karte Daten verwenden, die eine Art eines Orientierungspunktes (ein Zeichen oder eine bestimmte Art von Zeichen) angeben, sowie während der Navigation (z.B., autonome Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs mit einem Schild (oder einer bestimmten Art von Schild) erfasst, kann der Prozessor das Bild verarbeiten, das Schild erkennen (falls es tatsächlich im Bild vorhanden ist), das Bild als Schild (oder als eine bestimmte Art von Schild) klassifizieren und den Standort des Bildes mit dem Standort des Schildes korrelieren, wie er in der spärlichen Karte gespeichert ist.
  • Generieren einer spärlichen Karte
  • In einigen Ausführungsformen kann eine spärliche Karte mindestens eine Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang eines Straßenabschnitts erstreckt, und eine Vielzahl von Orientierungspunkten beinhalten, die dem Straßenabschnitt zugeordnet sind. In bestimmten Aspekten kann die spärliche Karte über „Crowdsourcing“ erzeugt werden, z.B. durch Bildanalyse einer Vielzahl von Bildern, die beim Durchfahren des Straßenabschnitts durch ein oder mehrere Fahrzeuge aufgenommen werden.
  • 8 zeigt eine spärliche Karte 800, auf die ein oder mehrere Fahrzeuge, z.B. das Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen können, um eine autonome Fahrzeugnavigation zu ermöglichen. Die spärliche Karte 800 kann in einem Speicher, wie beispielsweise dem Speicher 140 oder 150, gespeichert werden. Solche Speichervorrichtungen können alle Arten von nicht-flüchtigen Speichervorrichtungen oder computerlesbaren Medien beinhalten. So kann beispielsweise in einigen Ausführungsformen der Speicher 140 oder 150 Festplatten, CDs, Flash-Speicher, magnetische Speichergeräte, optische Speichergeräte usw. beinhalten. In einigen Ausführungsformen kann die spärliche Karte 800 in einer Datenbank (z.B. Kartendatenbank 160) gespeichert werden, die im Speicher 140 oder 150 oder anderen Arten von Speichervorrichtungen gespeichert werden kann.
  • In einigen Ausführungsformen kann die spärliche Karte 800 auf einer Speichervorrichtung oder einem nicht flüchtigen, computerlesbaren Medium gespeichert werden, das im Fahrzeug 200 bereitgestellt wird (z.B. eine Speichervorrichtung, die in einem Navigationssystem im Fahrzeug 200 enthalten ist). Ein Prozessor (z.B. Verarbeitungseinheit 110), der am Fahrzeug 200 vorgesehen ist, kann auf die in der Speichervorrichtung gespeicherte spärliche Karte 800 oder auf ein computerlesbares Medium an Bord des Fahrzeugs 200 zugreifen, um Navigationsanweisungen zum Führen des autonomen Fahrzeugs 200 zu erzeugen, während das Fahrzeug einen Straßenabschnitt durchfährt.
  • Die spärliche Karte 800 muss jedoch nicht lokal in Bezug auf ein Fahrzeug gespeichert werden. In einigen Ausführungsformen kann die spärliche Karte 800 auf einer Speichervorrichtung oder einem computerlesbaren Medium gespeichert werden, die auf einem entfernten Server bereitgestellt wird, der mit dem Fahrzeug 200 oder einer dem Fahrzeug 200 zugeordneten Vorrichtung kommuniziert. Ein Prozessor (z.B. Verarbeitungseinheit 110), der am Fahrzeug 200 vorgesehen ist, kann Daten, die in der spärlichen Karte 800 enthalten sind, vom Entfernungsserver empfangen und die Daten zum Führen der autonomen Fahrt des Fahrzeugs 200 ausführen. In solchen Ausführungsformen kann der entfernte Server die gesamte spärliche Karte 800 oder nur einen Teil davon speichern. Dementsprechend kann die Speichervorrichtung oder das computerlesbare Medium, das an Bord des Fahrzeugs 200 und/oder an Bord eines oder mehrerer zusätzlicher Fahrzeuge bereitgestellt wird, den/die verbleibenden Abschnitte der spärlichen Karte 800 speichern.
  • Darüber hinaus kann in solchen Ausführungsformen die spärliche Karte 800 einer Vielzahl von Fahrzeugen zugänglich gemacht werden, die verschiedene Straßenabschnitte durchfahren (z.B. Dutzende, Hunderte, Tausende oder Millionen von Fahrzeugen usw.). Es ist auch zu beachten, dass die spärliche Karte 800 mehrere Unterkarten beinhalten kann. So kann beispielsweise in einigen Ausführungsformen die spärliche Karte 800 Hunderte, Tausende, Millionen oder mehr von Unterkarten beinhalten, die bei der Navigation in einem Fahrzeug verwendet werden können. Solche Unterkarten können als lokale Karten 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 Kartenausschnitte der spärlichen Karte 800 können mit einem Global Navigation Satellite System (GNSS)-Schlüssel als Index in der Datenbank der spärlichen Karte 800 gespeichert werden. Während die Berechnung von Lenkwinkeln für die Navigation eines Hostfahrzeugs im vorliegenden System ohne Abhängigkeit von einer GNSS-Position des Hostfahrzeugs, Straßenmerkmale oder Orientierungspunkten durchgeführt werden kann, können diese GNSS-Informationen für den Abruf relevanter lokaler Karten verwendet werden.
  • Die Datenerhebung und die Generierung der spärlichen Karte 800 wird weiter unten näher erläutert, z.B. im Hinblick auf 19. Im Allgemeinen kann jedoch die spärliche Karte 800 auf der Grundlage von Daten erstellt werden, die von einem oder mehreren Fahrzeugen während der Fahrt entlang der Straßen gesammelt wurden. So können beispielsweise mit Hilfe von Sensoren an Bord eines oder mehrerer Fahrzeuge (z.B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungssensoren usw.) die Trajektorien, die das eine oder die mehreren Fahrzeuge entlang einer Fahrbahn fahren, aufgezeichnet und die polynome Darstellung einer bevorzugten Trajektorie für Fahrzeuge, die nachfolgende Fahrten entlang der Fahrbahn unternehmen, basierend auf den gesammelten Trajektorien, die von einem oder mehreren Fahrzeugen zurückgelegt werden, bestimmt werden. Ebenso können die von einem oder mehreren Fahrzeugen gesammelten Daten dazu beitragen, potenzielle Orientierungspunkte entlang einer bestimmten Fahrbahn zu identifizieren. Die von fahrenden Fahrzeugen gesammelten Daten können auch zur Identifizierung von Straßenprofilinformationen verwendet werden, wie beispielsweise Straßenbreitenprofile, Straßenrauhigkeitsprofile, Abstandsprofile für Verkehrslinien, Straßenzustand usw. Anhand der gesammelten Informationen kann die spärliche Karte 800 erzeugt und verteilt werden (z.B. zur lokalen Speicherung oder per on-the-fly Datenübertragung), um bei der Navigation in einem oder mehreren autonomen Fahrzeugen verwendet zu werden. In einigen Ausführungsformen endet die Kartengenerierung jedoch möglicherweise nicht mit der ersten Generierung der Karte. Wie im Folgenden näher erläutert wird, kann die spärliche Karte 800 kontinuierlich oder regelmäßig aktualisiert werden, basierend auf Daten, die von Fahrzeugen gesammelt wurden, während diese Fahrzeuge weiterhin die in der spärlichen Karte 800 enthaltenen Fahrbahnen überqueren.
  • Daten, die in der spärlichen Karte 800 aufgezeichnet sind, können Positionsinformationen basierend auf GPS-Daten (Global Positioning System) beinhalten. So können beispielsweise Standortinformationen in der spärlichen Karte 800 für verschiedene Kartenelemente enthalten sein, einschließlich beispielsweise Orientierungspunkte, Straßenprofilpositionen usw. Standorte für Kartenelemente, die in der spärlichen Karte 800 enthalten sind, können mit Hilfe von GPS-Daten ermittelt werden, die von Fahrzeugen gesammelt wurden, die eine Fahrbahn befahren. So kann beispielsweise ein Fahrzeug, das an einem identifizierten Orientierungspunkt vorbeifährt, unter Verwendung von GPS-Positionsinformationen, die dem Fahrzeug zugeordnet sind, und einer Bestimmung der Position des identifizierten Orientierungspunktes in Bezug auf das Fahrzeug (z.B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt wurden), einen Standort des identifizierten Orientierungspunktes bestimmen. Solche Standortbestimmungen eines identifizierten Orientierungspunktes (oder eines anderen in der spärlichen Karte 800 enthaltenen Merkmals) können wiederholt werden, wenn zusätzliche Fahrzeuge den Standort des identifizierten Orientierungspunktes passieren. Einige oder alle zusätzlichen Standortbestimmungen können verwendet werden, um die in der spärlichen Karte 800 gespeicherten Standortinformationen in Bezug auf den identifizierten Orientierungspunkt zu verfeinern. So können beispielsweise in einigen Ausführungsformen mehrere Positionsmessungen in Bezug auf ein bestimmtes Merkmal, das in der spärlichen Karte 800 gespeichert ist, gemeinsam gemittelt werden. Alle anderen mathematischen 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.
  • Die spärliche Karte der offenbarten Ausführungsformen kann eine autonome Navigation eines Fahrzeugs mit relativ kleinen gespeicherten Datenmengen ermöglichen. In einigen Ausführungsformen kann die spärliche Karte 800 eine Datendichte (z.B. einschließlich Daten, die die Solltrajektorien, Orientierungspunkte und alle anderen gespeicherten Straßenmerkmale darstellen) von weniger als 2 MB pro Straßenkilometer, weniger als 1 MB pro Straßenkilometer, weniger als 500 kB pro Straßenkilometer oder weniger als 100 kB pro Straßenkilometer aufweisen. In einigen Ausführungsformen kann die Datendichte der spärlichen Karte 800 weniger als 10 kB pro Kilometer Straße oder sogar weniger als 2 kB pro Kilometer Straße (z.B. 1,6 kB pro Kilometer Straße) oder nicht mehr als 10 kB pro Kilometer Straße oder nicht mehr als 20 kB pro Kilometer Straße betragen. In einigen Ausführungsformen können die meisten, wenn nicht sogar alle Straßen der Vereinigten Staaten autonom mit einer spärlichen Karte mit insgesamt 4 GB oder weniger Daten navigiert werden. Diese Datendichtewerte können einen Durchschnitt über eine gesamte spärliche Karte 800, über eine lokale Karte innerhalb der spärlichen Karte 800 und/oder über einen bestimmten Straßenabschnitt innerhalb der spärlichen Karte 800 darstellen.
  • Wie bereits erwähnt, kann die spärliche Karte 800 Darstellungen einer Vielzahl von Solltrajektorien 810 zum Führen von autonomen Fahrten oder Navigationen entlang eines Straßenabschnitts beinhalten. Solche Solltrajektorien können als dreidimensionale Splines gespeichert werden. Die in der spärlichen Karte 800 gespeicherten Solltrajektorien können basierend auf zwei oder mehr rekonstruierten Trajektorien früherer Überfahrten von Fahrzeugen entlang eines bestimmten Straßenabschnitts bestimmt werden, zum Beispiel, wie in Bezug auf 29 erläutert. Ein Straßenabschnitt kann einer einzelnen Solltrajektorie oder mehreren Solltrajektorien zugeordnet sein. So kann beispielsweise auf einer zweispurigen Straße eine erste Solltrajektorie gespeichert werden, um eine beabsichtigte Fahrtroute entlang der Straße in eine erste Richtung darzustellen, und eine zweite Solltrajektorie kann gespeichert werden, um eine beabsichtigte Fahrtroute entlang der Straße in eine andere Richtung (z.B. entgegen der ersten Richtung) darzustellen. Zusätzliche Solltrajektorien können in Bezug auf einen bestimmten Straßenabschnitt gespeichert werden. So können beispielsweise auf einer mehrspurigen Straße eine oder mehrere Solltrajektorien gespeichert werden, die die für Fahrzeuge vorgesehenen Fahrtrouten in einer oder mehreren Fahrspuren darstellen, die der mehrspurigen Straße zugeordnet sind. In einigen Ausführungsformen kann jede Fahrspur einer mehrspurigen Straße mit einer eigenen Solltrajektorie verknüpft sein. In anderen Ausführungsformen können weniger Solltrajektorien gespeichert sein als Fahrspuren auf einer mehrspurigen Straße. In solchen Fällen kann ein Fahrzeug, das die mehrspurige Straße befährt, eine der gespeicherten Solltrajektorien verwenden, um seine Navigation zu steuern, indem es einen Betrag des Spurversatzes von einer Fahrspur berücksichtigt, für die eine Solltrajektorie gespeichert ist (z.B., wenn ein Fahrzeug auf der linken Fahrspur einer dreispurigen Autobahn fährt und eine Solltrajektorie nur für die mittlere Fahrspur der Autobahn gespeichert ist, kann das Fahrzeug mit der Solltrajektorie der mittleren Fahrspur navigieren, indem es den Spurversatz zwischen der mittleren Fahrspur und der linken Fahrspur beim Erzeugen von Navigationsanweisungen berücksichtigt).
  • In einigen Ausführungsformen kann die Solltrajektorie einen idealen Weg darstellen, den ein Fahrzeug während der Fahrt einnehmen sollte. Die Solltrajektorie kann sich beispielsweise in einem ungefähren Mittelpunkt einer Fahrspur befinden. In anderen Fällen kann sich die Solltrajektorie an anderer Stelle in Bezug auf einen Straßenabschnitt befinden. So kann beispielsweise eine Solltrajektorie ungefähr mit einem Zentrum einer Straße, einem Rand einer Straße oder einem Rand einer Fahrspur usw. übereinstimmen. In solchen Fällen kann die Navigation auf der Grundlage der Solltrajektorie einen bestimmten Betrag an Versatz beinhalten, der in Bezug auf den Standort der Solltrajektorie beibehalten werden muss. Darüber hinaus kann sich in einigen Ausführungsformen der bestimmte Betrag des Versatzes, der in Bezug auf den Standort der Solltrajektorie beizubehalten ist, je nach Fahrzeugtyp unterscheiden (z.B. kann ein PKW mit zwei Achsen einen anderen Versatz aufweisen als ein LKW mit mehr als zwei Achsen entlang mindestens eines Teils der Solltrajektorie).
  • Die spärliche Karte 800 kann auch Daten zu einer Vielzahl von vorbestimmten Orientierungspunkten 820 beinhalten, die bestimmten Straßenabschnitten, lokalen Karten usw. zugeordnet sind. Wie im Folgenden näher erläutert, können diese Orientierungspunkte für die Navigation des autonomen Fahrzeugs verwendet werden. So können beispielsweise in einigen Ausführungsformen die Orientierungspunkte verwendet werden, um eine aktuelle Position des Fahrzeugs in Bezug auf eine gespeicherte Solltrajektorie zu bestimmen. Mit dieser Positionsinformation kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung so einzustellen, dass sie mit einer Richtung der Solltrajektorie an der bestimmten Position übereinstimmt.
  • Die Vielzahl der Orientierungspunkte 820 kann identifiziert und in der spärlichen Karte 800 in jedem geeigneten Abstand gespeichert werden. In einigen Ausführungsformen können Orientierungspunkte bei relativ hohen Dichten (z.B. alle paar Meter oder mehr) gespeichert werden. In einigen Ausführungsformen können jedoch deutlich größere Abstandswerte für Orientierungspunkte verwendet werden. So können beispielsweise in der spärlichen Karte 800 identifizierte (oder erkannte) Orientierungspunkte einen Abstand von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 1 Kilometer oder 2 Kilometern aufweisen. In einigen Fällen können die identifizierten Orientierungspunkte in Abständen von sogar mehr als 2 Kilometern liegen.
  • Zwischen den Orientierungspunkten und damit zwischen den Bestimmungen der Fahrzeugposition in Bezug auf eine Solltrajektorie kann das Fahrzeug basierend auf der Koppelnavigation navigieren, bei der das Fahrzeug Sensoren verwendet, um seine Eigenbewegung zu bestimmen und seine Position in Bezug auf die Solltrajektorie zu schätzen. Da sich bei der Navigation durch Koppelnavigation Fehler ansammeln können, können die Positionsbestimmungen in Bezug auf die Solltrajektorie mit der Zeit immer ungenauer werden. Das Fahrzeug kann Orientierungspunkte, die in der spärlichen Karte 800 (und deren bekannten Positionen) vorkommen, verwenden, um die durch die Kopplungsrechnung verursachten Fehler bei der Positionsbestimmung zu beseitigen. Auf diese Weise können die in der spärlichen Karte 800 enthaltenen identifizierten Orientierungspunkte als Navigationsanker dienen, aus denen eine genaue Position des Fahrzeugs in Bezug auf eine Solltrajektorie bestimmt werden kann. Da ein gewisser Fehler in der Positionsbestimmung akzeptabel sein kann, muss ein identifizierter Orientierungspunkt nicht immer für ein autonomes Fahrzeug verfügbar sein. Vielmehr kann eine geeignete Navigation auch auf der Grundlage von Orientierungspunktabständen von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein, wie bereits erwähnt. In einigen Ausführungsformen kann eine Dichte von 1 identifizierten Orientierungspunkt alle 1 km der Straße ausreichen, um eine Genauigkeit der Längspositionsbestimmung innerhalb von 1 m aufrechtzuerhalten. Daher muss nicht jeder potenzielle Orientierungspunkt, die entlang eines Straßenabschnitts erscheint, in der spärlichen Karte 800 gespeichert werden.
  • Darüber hinaus können in einigen Ausführungsformen Fahrbahnmarkierungen zur Lokalisierung des Fahrzeugs während der Abstände zwischen den Orientierungspunkten verwendet werden. Durch die Verwendung von Fahrbahnmarkierungen während der Abstände zwischen den Orientierungspunkten kann die Ansammlung von Fahrspuren während der Navigation durch Koppelnavigation minimiert werden. Insbesondere wird eine solche Lokalisierung im Folgenden in Bezug auf 35 erläutert.
  • Zusätzlich zu den Solltrajektorien und identifizierten Orientierungspunkten kann die spärliche Karte 800 Informationen über verschiedene andere Straßenmerkmale enthalten. 9A veranschaulicht beispielsweise eine Darstellung von Kurven entlang eines bestimmten Straßenabschnitts, die in der spärlichen Karte 800 gespeichert werden können. In einigen Ausführungsformen kann eine einzelne Fahrspur einer Straße durch eine dreidimensionale polynome Beschreibung der linken und rechten Straßenseite modelliert werden. Solche Polynome, die die linke und rechte Seite einer einzelnen Bahn darstellen, sind in 9A dargestellt. Unabhängig davon, wie viele Fahrspuren eine Straße haben kann, kann die Straße durch Polynome in einer ähnlichen Weise dargestellt werden wie in 9A dargestellt. So können beispielsweise die linke und rechte Seite einer mehrspurigen Straße durch Polynome ähnlich den in 9A dargestellten dargestellt werden, und Zwischenspurmarkierungen, die auf einer mehrspurigen Straße enthalten sind (z.B. gestrichelte Markierungen, die Fahrspurbegrenzungen darstellen, durchgezogene gelbe Linien, die Begrenzungen zwischen Fahrspuren darstellen, die in verschiedene Richtungen fahren, usw.), können auch durch Polynome dargestellt werden, wie sie in 9A dargestellt sind.
  • Wie in 9A dargestellt, kann eine Fahrspur 900 durch Polynome dargestellt werden (z.B. eine erste Ordnung, eine zweite Ordnung, eine dritte Ordnung oder ein geeignetes Polynom der Ordnung). Zur Veranschaulichung wird die Bahn 900 als zweidimensionale Bahn und die Polynome als zweidimensionale Polynome dargestellt. Wie in 9A dargestellt, beinhaltet die Spur 900 eine linke Seite 910 und eine rechte Seite 920. In einigen Ausführungsformen können mehr als ein Polynom verwendet werden, um eine Position auf jeder Seite der Straßen- oder Fahrspurgrenze darzustellen. So kann beispielsweise jede der linken Seite 910 und rechten Seite 920 durch eine Vielzahl von Polynomen beliebiger Länge dargestellt werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m aufweisen, obwohl auch andere Längen von mehr als oder weniger als 100 m verwendet werden können. Darüber hinaus können sich die Polynome überschneiden, um nahtlose Übergänge bei der Navigation auf der Grundlage von später angetroffenen Polynomen zu ermöglichen, wenn ein Hostfahrzeug entlang einer Fahrbahn fährt. So kann beispielsweise jede der linken Seite 910 und rechten Seite 920 durch eine Vielzahl von Polynomen dritter Ordnung dargestellt werden, die in Segmente von etwa 100 Metern Länge (ein Beispiel für den ersten vorbestimmten Bereich) unterteilt sind und sich gegenseitig um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 darstellen, können die gleiche Ordnung aufweisen oder auch nicht. So können beispielsweise in einigen Ausführungsformen einige Polynome Polynome zweiter Ordnung sein, einige können Polynome dritter Ordnung sein, und einige können Polynome vierter Ordnung sein.
  • In dem in 9A dargestellten Beispiel wird die linke Seite 910 der Bahn 900 durch zwei Gruppen von Polynomen dritter Ordnung dargestellt. Die erste Gruppe beinhaltet die Polynomsegmente 911, 912 und 913. Die zweite Gruppe beinhaltet die Polynomsegmente 914, 915 und 916. Die beiden Gruppen sind im Wesentlichen parallel zueinander, folgen aber den Positionen ihrer jeweiligen Straßenseiten. Die Polynomsegmente 911, 912, 913, 914, 915 und 916 haben eine Länge von etwa 100 Metern und überlappen benachbarte Segmente in der Serie um etwa 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome unterschiedlicher Länge und unterschiedlicher Überlappungsmengen verwendet werden. So können beispielsweise die Polynome Längen von 500 m, 1 km oder mehr aufweisen und die Überlappungsmenge kann von 0 bis 50 m, 50 m bis 100 m oder mehr als 100 m variieren. Darüber hinaus ist 9A zwar als Darstellung von Polynomen dargestellt, die sich im 2D-Raum erstrecken (z.B. auf der Papieroberfläche), es ist jedoch zu verstehen, dass diese Polynome Kurven darstellen können, die sich in drei Dimensionen erstrecken (z.B. einschließlich einer Höhenkomponente), um Höhenänderungen in einem Straßenabschnitt zusätzlich zur X-Y-Krümmung darzustellen. In dem in 9A dargestellten Beispiel wird die rechte Seite 920 der Bahn 900 weiterhin durch eine erste Gruppe mit den Polynomsegmenten 921, 922 und 923 und eine zweite Gruppe mit den Polynomsegmenten 924, 925 und 926 dargestellt.
  • Um zu den Solltrajektorien der spärlichen Karte 800 zurückzukehren, zeigt 9B ein dreidimensionales Polynom, das eine Solltrajektorie für ein Fahrzeug darstellt, das entlang eines bestimmten Straßenabschnitts fährt. Die Solltrajektorie stellt nicht nur den X-Y-Weg dar, den ein Hostfahrzeug entlang eines bestimmten Straßenabschnitts fahren sollte, sondern auch die Höhenänderung, die das Hostfahrzeug beim Fahren entlang des Straßenabschnitts erfahren wird. Somit kann jede Solltrajektorie in der spärlichen Karte 800 durch ein oder mehrere dreidimensionale Polynome dargestellt werden, wie das in 9B dargestellte dreidimensionale Polynom 950. Die spärliche Karte 800 kann eine Vielzahl von Trajektorien beinhalten (z.B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedener Straßenabschnitte entlang von Straßen auf der ganzen Welt darzustellen). In einigen Ausführungsformen kann jede Solltrajektorie einer Spline entsprechen, die dreidimensionale Polynomsegmente verbindet.
  • Bezüglich des Daten-Footprints von Polynomkurven, die in der spärlichen Karte 800 gespeichert sind, kann in einigen Ausführungsformen jedes Polynom dritten Grades durch vier Parameter dargestellt werden, die jeweils vier Bytes Daten erfordern. Geeignete Darstellungen können mit Polynomen dritten Grades erhalten werden, die etwa 192 Bytes Daten pro 100 m benötigen. Dies kann zu einer Datennutzung/Transferanforderung von etwa 200 kB pro Stunde für ein Hostfahrzeug mit einer Geschwindigkeit von etwa 100 km/h führen.
  • Die spärliche Karte 800 kann das Fahrspurnetz mit einer Kombination aus Geometrie-Deskriptoren und Metadaten beschreiben. Die Geometrie kann wie oben beschrieben durch Polynome oder Splines beschrieben werden. Die Metadaten können die Anzahl der Fahrspuren, besondere Merkmale (z.B. eine Fahrgemeinschaftsfahrspur) und möglicherweise andere spärliche Bezeichnungen beschreiben. Der Gesamt-Footprint solcher Indikatoren kann vernachlässigbar sein.
  • Dementsprechend kann eine spärliche Karte gemäß den Ausführungsformen der vorliegenden Offenbarung mindestens eine Liniendarstellung eines sich entlang des Straßenabschnitts erstreckenden Straßenoberflächenmerkmals beinhalten, wobei jede Liniendarstellung einen Pfad entlang des Straßenabschnitts im Wesentlichen entsprechend dem Straßenoberflächenmerkmal darstellt. In einigen Ausführungsformen, wie vorstehend erläutert, kann die mindestens eine Liniendarstellung des Straßenoberflächenmerkmals eine Spline, eine Polynomdarstellung oder eine Kurve beinhalten. Darüber hinaus kann das Fahrbahnmerkmal in einigen Ausführungsformen mindestens eine von einer Straßenkante oder einer Fahrspurmarkierungen beinhalten. Darüber hinaus kann, wie im Folgenden im Hinblick auf „Crowdsourcing“ erläutert, das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die beim Durchfahren des Straßenabschnitts durch ein oder mehrere Fahrzeuge aufgenommen werden.
  • Wie bereits erwähnt, kann die spärliche Karte 800 eine Vielzahl von vorbestimmten Orientierungspunkten beinhalten, die einem Straßenabschnitt zugeordnet sind. Anstatt tatsächliche Bilder der Orientierungspunkte zu speichern und sich beispielsweise auf eine Bilderkennungsanalyse zu stützen, die auf erfassten Bildern und gespeicherten Bildern basiert, kann jeder Orientierungspunkt in der spärlichen Karte 800 mit weniger Daten dargestellt und erkannt werden, als ein gespeichertes, tatsächliches FIG. erfordern würde. Daten, die Orientierungspunkte darstellen, können noch ausreichende Informationen zur Beschreibung oder Identifizierung der Orientierungspunkte entlang einer Straße enthalten. Die Speicherung von Daten, die Merkmale von Orientierungspunkten beschreiben, und nicht die tatsächlichen Bilder von Orientierungspunkten, kann die Größe der spärlichen Karte 800 verringern.
  • 10 veranschaulicht Beispiele für Arten von Orientierungspunkten, die in der spärlichen Karte 800 dargestellt werden können. Die Orientierungspunkte können alle sichtbaren und identifizierbaren Objekte entlang eines Straßenabschnitts beinhalten. Die Orientierungspunkte können so ausgewählt werden, dass sie fest sind und sich nicht oft in Bezug auf ihre Lage und/oder ihren Inhalt ändern. Die in der spärlichen Karte 800 enthaltenen Orientierungspunkte können bei der Bestimmung der Position des Fahrzeugs 200 in Bezug auf eine Solltrajektorie nützlich sein, wenn das Fahrzeug einen bestimmten Straßenabschnitt durchquert. Beispiele für Orientierungspunkte können Verkehrszeichen, Wegweiser, allgemeine Schilder (z.B. rechteckige Schilder), straßenseitige Vorrichtungen (z.B. Latemenmasten, Reflektoren usw.) und jede andere geeignete Kategorie sein. In einigen Ausführungsformen können Fahrbahnmarkierungen auf der Straße auch als Orientierungspunkte in der kargen Karte 800 enthalten sein.
  • Beispiele für die in 10 dargestellten Orientierungspunkte sind Verkehrszeichen, Wegweiser, Vorrichtungen am Straßenrand und allgemeine Schilder. Verkehrszeichen können beispielsweise Geschwindigkeitsbeschilderungen (z.B. Geschwindigkeitsbeschilderung 1000), Vorfahrtsschilder (z.B. Vorfahrtsschild 1005), Wegnummernschilder (z.B. Wegnummernschild 1010), Ampelschilder (z.B. Ampelschild 1015), Stoppschilder (z.B. Stoppschild 1020) sein. Wegweiser können ein Schild beinhalten, das einen oder mehrere Pfeile enthält, die eine oder mehrere Richtungen zu verschiedenen Orten anzeigen. So können beispielsweise Wegweiser ein Straßenschild 1025 mit Pfeilen zum Führen von Fahrzeugen auf verschiedene Straßen oder Orte, ein Ausfahrtsschild 1030 mit einem Pfeil zum Führen von Fahrzeugen von einer Straße usw. beinhalten. Dementsprechend kann mindestens eines der Vielzahl von Sehenswürdigkeiten ein Verkehrsschild beinhalten.
  • Allgemeine Schilder sind nicht unbedingt mit dem Verkehr verbunden. So können beispielsweise allgemeine Schilder Werbetafeln für Werbezwecke oder ein Willkommenstafel an einer Grenze zwischen zwei Ländern, Staaten, Landkreisen, Städten oder Gemeinden enthalten. 10 zeigt ein allgemeines Schild 1040 („Joe's Restaurant“). Obwohl das allgemeine Zeichen 1040 eine rechteckige Form haben kann, wie in 10 dargestellt, kann das allgemeine Zeichen 1040 andere Formen haben, wie z.B. Quadrat, Kreis, Dreieck, etc.
  • Zu den Orientierungspunkten können auch Vorrichtungen am Straßenrand gehören. Vorrichtungen am Straßenrand können Objekte sein, die keine Schilder sind, und dürfen nicht mit Verkehr oder Richtungen in Verbindung gebracht werden. So können beispielsweise Vorrichtungen am Straßenrand Laternenpfähle (z.B. Laternenpfahl 1035), Strommasten, Ampelstifte usw. beinhalten.
  • Orientierungspunkte können auch Markierungen (Beacons) beinhalten, die speziell für die Verwendung in einem autonomen Fahrzeugnavigationssystem ausgelegt sein können. Solche Beacons können beispielsweise eigenständige Strukturen beinhalten, die in vorbestimmten Abständen angeordnet sind, um die Navigation in einem Hostfahrzeug zu erleichtern. Diese Beacons können auch visuelle/grafische Informationen beinhalten, die zu bestehenden Verkehrszeichen hinzugefügt werden (z.B. Symbole, Embleme, Barcodes usw.), die von einem Fahrzeug, das entlang eines Straßenabschnitts fährt, identifiziert oder erkannt werden können. Diese 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 an ein Hostfahrzeug zu übertragen. Diese Informationen können beispielsweise Informationen zur Identifizierung von Orientierungspunkten und/oder zur Positionsbestimmung von Orientierungspunkten beinhalten, die ein Hostfahrzeug zur Bestimmung seiner Position entlang einer Solltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die in der spärlichen Karte 800 enthaltenen Orientierungspunkte durch ein Datenobjekt einer vorbestimmten Größe dargestellt werden. Die Daten, die einen Orientierungspunkt darstellen, können alle geeigneten Parameter zur Identifizierung eines bestimmten Orientierungspunktes beinhalten. So können beispielsweise in einigen Ausführungsformen Orientierungspunkte, die in der spärlichen Karte 800 gespeichert sind, Parameter beinhalten, wie z.B. eine physische Größe des Orientierungspunktes (z.B. zur Unterstützung der Schätzung der Entfernung zum Orientierungspunkt basierend auf einer bekannten Größe/Skala), eine Entfernung zu einem vorherigen Orientierungspunkt, einen seitlichen Versatz, eine Höhe, einen Typcode (z.B. einen Orientierungspunkttyp - welche Art von Orientierungszeichen, Verkehrszeichen usw.), eine GPS-Koordinate (z.B. zur Unterstützung der Globalisierung) und alle anderen geeigneten Parameter. Jeder Parameter kann mit einer Datengröße verknüpft werden. So kann beispielsweise eine Orientierungspunktgröße mit 8 Bytes Daten gespeichert werden. Ein Abstand zu einem vorherigen Orientierungspunkt, ein seitlicher Versatz und die Höhe können mit 12 Byte Daten angegeben werden. Ein Typcode, der einem Orientierungspunkt wie einem Richtungsschild oder einem Verkehrsschild zugeordnet ist, kann etwa 2 Bytes Daten erfordern. Für allgemeine Zeichen kann eine Bildsignatur zur Identifizierung des allgemeinen Zeichens mit 50 Byte Datenspeicher gespeichert werden. Die Orientierungspunkt-GPS-Position kann mit 16 Bytes Datenspeicher verknüpft sein. Diese Datengrößen für jeden Parameter sind nur Beispiele, und es können auch andere Datengrößen verwendet werden.
  • Die Darstellung von Orientierungspunkten in der spärlichen Karte 800 auf diese Weise kann eine schlanke Lösung zur effizienten Darstellung von Orientierungspunkten in der Datenbank darstellen. In einigen Ausführungsformen können Zeichen als semantische Zeichen und nichtsemantische Zeichen bezeichnet werden. Ein semantisches Zeichen kann jede Klasse von Zeichen beinhalten, für die es eine einheitliche Bedeutung gibt (z.B. Geschwindigkeitsbegrenzungsschilder, Warnschilder, Wegweiser, etc.). Ein nicht-semantisches Zeichen kann jedes Zeichen beinhalten, das nicht mit einer standardisierten Bedeutung verbunden ist (z.B. allgemeine Werbeschilder, Zeichen zur Identifizierung von Geschäftseinrichtungen usw.). So kann beispielsweise jedes semantische Zeichen mit 38 Byte Daten dargestellt werden (z.B. 8 Byte für die Größe, 12 Byte für die Entfernung zum vorherigen Orientierungspunkt). Eine spärliche Karte 800 kann ein Tag-System verwenden, um Arten von Orientierungspunkten darzustellen. In einigen Fällen kann jedes Verkehrszeichen oder Wegweiser mit einem eigenen Tag verknüpft sein, der als Teil der Orientierungspunktkennzeichnung in der Datenbank gespeichert werden kann. So kann die Datenbank beispielsweise in der Größenordnung von 1000 verschiedenen Tags zur Repräsentation verschiedener Verkehrszeichen und in der Größenordnung von etwa 10000 verschiedenen Tags zur Repräsentation von Wegweisern enthalten. Natürlich kann eine beliebige Anzahl von Tags verwendet werden, und bei Bedarf können zusätzliche Tags erstellt werden. Allgemeine Verkehrszeichen können in einigen Ausführungsformen mit weniger als etwa 100 Bytes dargestellt werden (z.B. etwa 86 Bytes einschließlich 8 Bytes für die Größe; 12 Bytes für die Entfernung zum vorherigen Orientierungspunkt, den seitlichen Versatz und die Höhe; 50 Bytes für eine Bildsignatur; und 16 Bytes für GPS-Koordinaten).
  • Bei semantischen Verkehrszeichen, die keine Bildsignatur erfordern, kann der Einfluss der Datendichte auf die spärliche Karte 800 auch bei relativ hohen Orientierungspunktdichten von etwa 1 pro 50 m in der Größenordnung von etwa 760 Byte pro Kilometer liegen (z.B. 20 Orientierungspunkte pro km x 38 Byte pro Orientierungspunkt = 760 Byte). Selbst bei Universalschildern mit einer Bildsignaturkomponente beträgt die Auswirkung auf die Datendichte etwa 1,72 kB pro km (z.B. 20 Orientierungspunkte pro km x 86 Bytes pro Orientierungspunkt = 1.720 Bytes). Für semantische Verkehrszeichen entspricht dies etwa 76 kB pro Stunde Datennutzung für ein Fahrzeug mit einer Geschwindigkeit von 100 km/h. Bei allgemeinen Schildern entspricht dies etwa 170 kB pro Stunde für ein Fahrzeug mit einer Geschwindigkeit von 100 km/h.
  • In einigen Ausführungsformen kann ein allgemein rechteckiges Objekt, wie beispielsweise ein rechteckiges Zeichen, in der spärlichen Karte 800 durch nicht mehr als 100 Byte Daten dargestellt werden. Die Darstellung des allgemein rechteckigen Objekts (z.B. allgemeines Zeichen 1040) in der kargen Karte 800 kann eine dem allgemein rechteckigen Objekt zugeordnete kondensierte Bildsignatur (z.B. kondensierte Bildsignatur 1045) beinhalten. Diese kondensierte Bildsignatur kann beispielsweise verwendet werden, um die Identifizierung eines Universalzeichens zu erleichtern, beispielsweise als erkannte Orientierungspunkt. Eine solche kondensierte Bildsignatur (z.B. Bildinformationen, die aus tatsächlichen Bilddaten abgeleitet sind, die ein Objekt darstellen) kann die Notwendigkeit der Speicherung eines tatsächlichen Bildes eines Objekts oder die Notwendigkeit einer vergleichenden Bildanalyse an tatsächlichen Bildern zur Erkennung von Orientierungspunkten vermeiden.
  • Unter Bezugnahme auf 10 kann die spärliche Karte 800 eine kondensierte Bildsignatur 1045 beinhalten oder speichern, die einem allgemeinen Zeichen 1040 zugeordnet ist, und nicht ein tatsächliches FIG. des allgemeinen Zeichens 1040. Nachdem beispielsweise eine Bilderfassungsvorrichtung (z.B. die Bilderfassungsvorrichtung 122, 124 oder 126) ein FIG. mit dem allgemeinen Zeichen 1040 aufgenommen hat, kann ein Prozessor (z.B. der Bildprozessor 190 oder ein anderer Prozessor, der Bilder entweder an Bord oder entfernt in Bezug auf ein Hostfahrzeug verarbeiten kann) eine Bildanalyse durchführen, um eine kondensierte Bildsignatur 1045 zu extrahieren/erstellen, die eine eindeutige Signatur oder ein Muster beinhaltet, das dem allgemeinen Zeichen 1040 zugeordnet ist. In einer Ausführungsform kann die kondensierte Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein anderes Merkmal beinhalten, das aus dem FIG. des allgemeinen Zeichens 1040 zur Beschreibung des allgemeinen Zeichens 1040 extrahiert werden kann.
  • Zum Beispiel können in 10 die Kreise, Dreiecke und Sterne, die in der kondensierten Bildsignatur 1045 dargestellt sind, Bereiche mit unterschiedlichen Farben darstellen. Das durch die Kreise, Dreiecke und Sterne dargestellte Muster kann in der spärlichen Karte 800 gespeichert werden, z.B. innerhalb der 50 Bytes, die mit einer Bildsignatur versehen sind. Insbesondere sind die Kreise, Dreiecke und Sterne nicht unbedingt dazu gedacht, darauf hinzuweisen, dass solche Formen als Teil der Bildsignatur gespeichert sind. Vielmehr sind diese Formen dazu gedacht, erkennbare Bereiche mit erkennbaren Farbunterschieden, Textbereiche, grafische Formen oder andere Variationen von Merkmalen, die mit einem Universalzeichen verbunden sein können, konzeptionell darzustellen. Solche kondensierten Bildsignaturen können verwendet werden, um einen Orientierungspunkt in Form eines allgemeinen Verkehrszeichens zu identifizieren. So kann beispielsweise die verdichtete Bildsignatur verwendet werden, um eine „gleich oder nicht gleich“ Analyse durchzuführen, die auf einem Vergleich einer gespeicherten kondensierten Bildsignatur mit Bilddaten basiert, die beispielsweise mit einer Kamera an Bord eines autonomen Fahrzeugs erfasst wurden.
  • Dementsprechend kann die Vielzahl von Orientierungspunkten durch Bildanalyse der Vielzahl von Bildern identifiziert werden, die beim Durchfahren des Straßenabschnitts durch ein oder mehrere Fahrzeuge aufgenommen werden. Wie nachstehend in Bezug auf „Crowdsourcing“ erläutert, kann die Bildanalyse zur Identifizierung der Vielzahl von Orientierungspunkte in einigen Ausführungsformen das Akzeptieren potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet. Darüber hinaus kann die Bildanalyse zur Identifizierung der Vielzahl von Orientierungspunkten in einigen Ausführungsformen das Ablehnen potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen die Orientierungspunkte nicht erscheinen, zu Bildern, in denen die Orientierungspunkte erscheinen, einen Schwellenwert überschreitet.
  • Um zu den Solltrajektorien zurückzukehren, mit denen ein Hostfahrzeug einen bestimmten Straßenabschnitt navigieren kann, zeigt 11A polynome Darstellungen von Trajektorien, die während eines Prozesses des Aufbaus oder der Wartung der spärlichen Karte 800 erfasst werden. Eine polynomale Darstellung einer in der spärlichen Karte 800 enthaltenen Solltrajektorie kann basierend auf zwei oder mehr rekonstruierten Trajektorien früherer Fahrzeugdurchfahrten entlang des gleichen Straßenabschnitts bestimmt werden. In einigen Ausführungsformen kann die polynome Darstellung der Solltrajektorie in der spärlichen Karte 800 eine Zusammenfassung von zwei oder mehr rekonstruierten Trajektorien früherer Fahrzeugdurchfahrten entlang des gleichen Straßenabschnitts sein. In einigen Ausführungsformen kann die polynome Darstellung der in der spärlichen Karte 800 enthaltenen Solltrajektorie ein Durchschnitt der zwei oder mehreren rekonstruierten Trajektorien früherer Fahrzeugdurchfahrten entlang des gleichen Straßenabschnitts sein. Andere mathematische Operationen können auch verwendet werden, um eine Solltrajektorie entlang eines Straßenwegs zu konstruieren, die auf rekonstruierten Trajektorien basiert, die von Fahrzeugen gesammelt wurden, die entlang eines Straßenabschnitts fahren.
  • Wie in 11A dargestellt, kann ein Straßenabschnitt 1100 von einer Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten über einen Weg sammeln, den das Fahrzeug entlang des Straßenabschnitts zurückgelegt hat. Der von einem bestimmten Fahrzeug zurückgelegte Weg kann basierend auf Kameradaten, Beschleunigungssensorinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen und anderen potenziellen Quellen bestimmt werden. Diese Daten können zur Rekonstruktion der Trajektorien von Fahrzeugen, die entlang des Straßenabschnitts fahren, verwendet werden, und basierend auf diesen rekonstruierten Trajektorien kann eine Solltrajektorie (oder mehrere Solltrajektorien) für den jeweiligen Straßenabschnitt bestimmt werden. Solche Solltrajektorien können einen bevorzugten Weg eines Hostfahrzeugs (z.B. geführt von einem autonomen Navigationssystem) darstellen, während das Fahrzeug entlang des Straßenabschnitts fährt.
  • In dem in 11A dargestellten Beispiel kann eine erste rekonstruierte Trajektorie 1101 basierend auf Daten bestimmt werden, die von einem ersten Fahrzeug empfangen werden, das den Straßenabschnitt 1100 in einem ersten Zeitabschnitt durchquert (z.B, Tag 1), kann eine zweite rekonstruierte Trajektorie 1102 von einem zweiten Fahrzeug, das den Straßenabschnitt 1100 in einer zweiten Zeitperiode (z.B. Tag 2) befährt, und eine dritte rekonstruierte Trajektorie 1103 von einem dritten Fahrzeug, das den Straßenabschnitt 1100 in einer dritten Zeitperiode (z.B. Tag 3) befährt, erhalten werden. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom, wie beispielsweise ein dreidimensionales Polynom, dargestellt werden. Es ist zu beachten, dass in einigen Ausführungsformen jede der rekonstruierten Trajektorien an Bord der Fahrzeuge, die den Straßenabschnitt 1100 überqueren, zusammengesetzt werden kann.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien serverseitig basierend auf Informationen von Fahrzeugen, die den Straßenabschnitt 1100 durchfahren, bestimmt werden. So können beispielsweise in einigen Ausführungsformen Fahrzeuge 200 Daten an einen oder mehrere Server übertragen, die sich auf ihre Bewegung entlang des Straßenabschnitts 1100 beziehen (z.B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Orientierungspunkte, unter anderem). Der Server kann Trajektorien für Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Solltrajektorie zum Führen der Navigation eines autonomen Fahrzeugs erzeugen, das zu einem späteren Zeitpunkt entlang des gleichen Straßenabschnitts 1100 fährt, basierend auf den ersten, zweiten und dritten Trajektorien 1101, 1102 und 1103. Während eine Solltrajektorie einer einzelnen vorherigen Traversierung eines Straßenabschnitts zugeordnet werden kann, kann in einigen Ausführungsformen jede Solltrajektorie, die in der spärlichen Karte 800 enthalten ist, basierend auf zwei oder mehreren rekonstruierten Trajektorien von Fahrzeugen, die den gleichen Straßenabschnitt befahren, bestimmt werden. In 11A wird die Solltrajektorie durch 1110 dargestellt. In einigen Ausführungsformen kann die Solltrajektorie 1110 basierend auf einem Durchschnitt der ersten, zweiten und dritten Trajektorien 1101, 1102 und 1103 erzeugt werden. In einigen Ausführungsformen kann die in der spärlichen Karte 800 enthaltene Solltrajektorie 1110 eine Aggregation (z.B. eine gewichtete Kombination) von zwei oder mehreren rekonstruierten Trajektorien sein. Die Ausrichtung der Fahrtdaten zur Konstruktion von Trajektorien wird im Folgenden in Bezug auf 29 näher erläutert.
  • Die 11B und 11C veranschaulichen das Konzept der Solltrajektorien, die mit Straßenabschnitten verbunden sind, die innerhalb einer geografischen Region 1111 liegen. Wie in 11B dargestellt, kann ein erster Straßenabschnitt 1120 innerhalb der geografischen Region 1111 eine mehrspurige Straße beinhalten, die zwei Fahrspuren 1122 für die Fahrzeugfahrt in eine erste Richtung und zwei zusätzliche Fahrspuren 1124 für die Fahrzeugfahrt in eine zweite Richtung entgegen der ersten Richtung beinhaltet. Die Fahrspuren 1122 und 1124 können durch eine doppelte gelbe Linie 1123 getrennt werden. Die geografische Region 1111 kann auch einen verzweigten Straßenabschnitt 1130 beinhalten, der sich mit dem Straßenabschnitt 1120 kreuzt. Der Straßenabschnitt 1130 kann eine zweispurige Straße beinhalten, wobei jede Spur für eine andere Fahrtrichtung bestimmt ist. Die geografische Region 1111 kann auch andere Straßenmerkmale beinhalten, wie z.B. eine Haltelinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsschild 1136 und ein Gefahrenschild 1138.
  • Wie in 11C dargestellt, kann die spärliche Karte 800 eine lokale Karte 1140 beinhalten, die ein Straßenmodell zur Unterstützung der autonomen Navigation von Fahrzeugen innerhalb der geografischen Region 1111 beinhaltet. So kann beispielsweise die lokale Karte 1140 Solltrajektorien für eine oder mehrere Fahrspuren beinhalten, die den Straßenabschnitten 1120 und/oder 1130 innerhalb der geografischen Region 1111 zugeordnet sind. So kann beispielsweise die lokale Karte 1140 die Solltrajektorien 1141 und/oder 1142 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder sich beim Überqueren der Fahrspuren 1122 verlassen kann. Ebenso kann die lokale Karte 1140 die Solltrajektorien 1143 und/oder 1144 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder sich beim Überqueren der Fahrspuren 1124 verlassen kann. Darüber hinaus kann die lokale Karte 1140 Solltrajektorien 1145 und/oder 1146 beinhalten, auf die ein autonomes Fahrzeug zugreifen oder sich beim Durchfahren des Straßenabschnitts 1130 verlassen kann. Die Solltrajektorie 1147 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrspuren 1120 (und insbesondere von der Solltrajektorie 1141, die einer rechten Fahrspur der Fahrspuren 1120 zugeordnet ist) zum Straßenabschnitt 1130 (und insbesondere von einer Solltrajektorie 1145, die einer ersten Seite des Straßenabschnitts 1130 zugeordnet ist) übergeht. Ebenso stellt die Solltrajektorie 1148 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es vom Straßenabschnitt 1130 (und insbesondere in Bezug auf die Solltrajektorie 1146) auf einen Abschnitt des Straßenabschnitts 1124 (und insbesondere, wie dargestellt, in Bezug auf eine Solltrajektorie 1143, die einer linken Spur der Spuren 1124 zugeordnet ist) übergeht.
  • Die spärliche Karte 800 kann auch Darstellungen anderer straßenbezogener Merkmale im Zusammenhang mit der geografischen Region 1111 enthalten. So kann beispielsweise die spärliche Karte 800 auch Darstellungen einer oder mehrerer Orientierungspunkte beinhalten, die in der geografischen Region 1111 identifiziert wurden. Solche Orientierungspunkte können einen ersten Orientierungspunkt 1150, der der Haltelinie 1132 zugeordnet ist, einen zweiten Orientierungspunkt 1152, der dem Stoppschild 1134 zugeordnet ist, einen dritten Orientierungspunkt, der dem Geschwindigkeitsbeschränkungsschild 1154 zugeordnet ist, und einen vierten Orientierungspunkt 1156, der dem Gefahrenschild 1138 zugeordnet ist, beinhalten. Solche Orientierungspunkte können beispielsweise verwendet werden, um ein autonomes Fahrzeug bei der Bestimmung seiner aktuellen Position in Bezug auf eine der angezeigten Solltrajektorien zu unterstützen, so dass das Fahrzeug seinen Kurs an eine Richtung der Solltrajektorie an der bestimmten Position anpassen kann. Die Navigation mit Orientierungspunkten aus einer spärlichen Karte wird im Folgenden in Bezug auf 26 näher erläutert.
  • In einigen Ausführungsformen kann die spärliche Karte 800 auch Straßensignaturprofile beinhalten. Solche Straßensignaturprofile können jeder erkennbaren/messbaren Abweichung von mindestens einem Parameter, der einer Straße zugeordnet ist, zugeordnet werden. In einigen Fällen können solche Profile beispielsweise mit Schwankungen der Straßenoberflächeninformationen verbunden sein, wie beispielsweise Schwankungen der Oberflächenrauheit eines bestimmten Straßenabschnitts, Schwankungen der Straßenbreite über einen bestimmten Straßenabschnitt, Schwankungen der Abstände zwischen gestrichelten Linien, die entlang eines bestimmten Straßenabschnitts gemalt werden, Schwankungen der Straßenkrümmung entlang eines bestimmten Straßenabschnitts usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Während das Profil 1160 einen der oben genannten Parameter oder andere Parameter darstellen kann, kann das Profil 1160 in einem Beispiel ein Maß für die Straßenoberflächenrauheit darstellen, wie es beispielsweise durch die Überwachung eines oder mehrerer Sensoren erhalten wird, die Ausgänge liefern, die eine Menge an Aufhängungsverschiebung anzeigen, wenn ein Fahrzeug einen bestimmten Straßenabschnitt befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite darstellen, die basierend auf Bilddaten bestimmt wird, die über eine Kamera an Bord eines Fahrzeugs, das einen bestimmten Straßenabschnitt fährt, erhalten werden. Solche Profile können beispielsweise nützlich sein, um einen bestimmten Standort eines autonomen Fahrzeugs in Bezug auf eine bestimmte Solltrajektorie zu bestimmen. Das heißt, wenn es einen Straßenabschnitt durchquert, kann ein autonomes Fahrzeug ein Profil messen, das einem oder mehreren Parametern zugeordnet ist, die dem Straßenabschnitt zugeordnet sind. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/zugeordnet werden kann, das die Parametervariation in Bezug auf die Position entlang des Straßenabschnitts darstellt, dann können die gemessenen und vorbestimmten Profile verwendet werden (z.B. durch Überlagerung entsprechender Abschnitte der gemessenen und vorbestimmten Profile), um eine aktuelle Position entlang des Straßenabschnitts und damit eine aktuelle Position in Bezug auf eine Solltrajektorie für den Straßenabschnitt zu bestimmen.
  • In einigen Ausführungsformen kann die spärliche Karte 800 verschiedene Trajektorien beinhalten, die auf unterschiedlichen Merkmalen beruhen, die mit einem Benutzer von autonomen Fahrzeugen, Umgebungsbedingungen und/oder anderen fahrerbezogenen Parametern verbunden sind. So können beispielsweise in einigen Ausführungsformen unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder Profilen erzeugt werden. Die spärliche Karte 800 mit solchen unterschiedlichen Trajektorien kann verschiedenen autonomen Fahrzeugen verschiedener Benutzer zur Verfügung gestellt werden. Beispielsweise können einige Benutzer es vorziehen, Mautstraßen zu vermeiden, während andere es vorziehen, die kürzesten oder schnellsten Routen zu nehmen, unabhängig davon, ob es eine Mautstraße auf der Strecke gibt. Die offenbarten Systeme können verschiedene spärliche Karten mit unterschiedlichen Trajektorien erzeugen, die auf so unterschiedlichen Benutzerpräferenzen oder Profilen basieren. Als weiteres Beispiel können einige Benutzer es vorziehen, auf einer schnell fahrenden Spur zu fahren, während andere es vorziehen, jederzeit eine Position auf der zentralen Spur zu halten.
  • Verschiedene Trajektorien können erzeugt und in die spärliche Karte 800 aufgenommen werden, basierend auf unterschiedlichen Umgebungsbedingungen, wie Tag und Nacht, Schnee, Regen, Nebel, etc. Autonome Fahrzeuge, die unter verschiedenen Umgebungsbedingungen fahren, können mit der spärlichen Karte 800 ausgestattet werden, die auf der Grundlage dieser unterschiedlichen Umgebungsbedingungen erstellt wird. In einigen Ausführungsformen können Kameras, die auf autonomen Fahrzeugen bereitgestellt werden, die Umgebungsbedingungen erkennen und diese Informationen an einen Server zurückgeben, der spärliche Karten erzeugt und bereitstellt. So kann beispielsweise der Server eine bereits generierte spärliche Karte 800 erzeugen oder aktualisieren, um Trajektorien aufzunehmen, die für autonomes Fahren unter den erfassten Umgebungsbedingungen geeigneter oder sicherer sein können. Die Aktualisierung der spärlichen Karte 800 basierend auf den Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge auf Straßen unterwegs sind.
  • Andere unterschiedliche Parameter, die sich auf das Fahren beziehen, können auch als Grundlage für die Erstellung und Bereitstellung verschiedener spärlicher Karten für verschiedene autonome Fahrzeuge verwendet werden. Wenn beispielsweise ein autonomes Fahrzeug mit hoher Geschwindigkeit fährt, können die Kurven enger sein. Trajektorien, die bestimmten Fahrspuren und nicht Straßen zugeordnet sind, können in die spärliche Karte 800 aufgenommen werden, so dass das autonome Fahrzeug innerhalb einer bestimmten Fahrspur bleiben kann, wenn das Fahrzeug einer bestimmten Fahrspur folgt. Wenn ein von einer Kamera an Bord des autonomen Fahrzeugs aufgenommenes Bild anzeigt, dass das Fahrzeug aus der Fahrspur herausgefahren ist (z.B. die Fahrspurmarkierung überschritten hat), kann innerhalb des Fahrzeugs eine Aktion ausgelöst werden, um das Fahrzeug entsprechend der spezifischen Trajektorie wieder auf die vorgesehene Fahrspur zu bringen.
  • Crowdsourcing einer spärlichen Karte
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die autonome Fahrzeugnavigation erzeugen. So können beispielsweise offenbarte Systeme und Verfahren Crowdsourced-Daten zur Erzeugung einer spärlichen Karte verwenden, mit der ein oder mehrere autonome Fahrzeuge entlang eines Straßennetzes navigieren können. Wie hierin verwendet, bedeutet „Crowdsourcing“, dass Daten von verschiedenen Fahrzeugen (z.B. autonomen Fahrzeugen) empfangen werden, die zu unterschiedlichen Zeiten auf einem Straßenabschnitt fahren, und dass diese Daten zur Erstellung und/oder Aktualisierung des Straßenmodells verwendet werden. Das Modell wiederum kann an die Fahrzeuge oder andere Fahrzeuge übertragen werden, die später entlang des Straßenabschnitts fahren, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Solltrajektorien beinhalten, die bevorzugte Trajektorien darstellen, denen autonome Fahrzeuge beim Durchfahren eines Straßenabschnitts folgen sollten. Die Solltrajektorien können die gleichen sein wie eine rekonstruierte Isttrajektorie, die von einem Fahrzeug gesammelt wurde, das einen Straßenabschnitt überquert, das vom Fahrzeug an einen Server übertragen werden kann. In einigen Ausführungsformen können sich die Solltrajektorien von den tatsächlichen Trajektorien unterscheiden, die ein oder mehrere Fahrzeuge zuvor beim Überqueren eines Straßenabschnitts zurückgelegt haben. Die Solltrajektorien können basierend auf den tatsächlichen Trajektorien erzeugt werden (z.B. durch Mittelung oder eine andere geeignete Operation). Ein Beispiel für die Ausrichtung von Crowdsourced-Daten zur Erzeugung von Solltrajektorien wird im Folgenden in Bezug auf 29 diskutiert.
  • Die Fahrzeugtrajektorien-Daten, die ein Fahrzeug auf einen Server hochladen kann, können mit der tatsächlichen rekonstruierten Trajektorie für das Fahrzeug übereinstimmen oder einer empfohlenen Trajektorie entsprechen, die auf der tatsächlichen rekonstruierten Trajektorie des Fahrzeugs basieren oder mit dieser in Beziehung stehen kann, aber von der tatsächlichen rekonstruierten Trajektorie abweichen kann. So können beispielsweise Fahrzeuge ihre tatsächlichen, rekonstruierten Trajektorien ändern und die geänderten tatsächlichen Trajektorien an den Server übermitteln (z.B. empfehlen). Das Straßenmodell kann die empfohlenen, modifizierten Trajektorien als Solltrajektorien für die autonome Navigation anderer Fahrzeuge verwenden.
  • Zusätzlich zu den Trajektorieninformationen können weitere Informationen zur möglichen Verwendung beim Erstellen einer spärlichen Datenkarte 800 Informationen über potenzielle Orientierungspunkt-Kandidaten beinhalten. Durch das Crowdsourcing von Informationen können die offenbarten Systeme und Methoden beispielsweise potenzielle Orientierungspunkte in einer Umgebung identifizieren und die Positionen der Orientierungspunkte verfeinern. Die Orientierungspunkte können von einem Navigationssystem autonomer Fahrzeuge verwendet werden, um die Position des Fahrzeugs entlang der Solltrajektorien zu bestimmen und/oder anzupassen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug während der Fahrt entlang einer Straße erzeugen kann, können mit jedem geeigneten Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien durch Zusammenfügen von Bewegungssegmenten für das Fahrzeug entwickelt werden, z.B. durch die Verwendung von Selbstbewegungsschätzung (z.B. dreidimensionale Translation und dreidimensionale Drehung der Kamera und damit der Karosserie des Fahrzeugs). Die Rotations- und Translationsschätzung kann basierend auf der Analyse von Bildern, die von einem oder mehreren Bilderfassungsvorrichtungen aufgenommen wurden, zusammen mit Informationen von anderen Sensoren oder Vorrichtungen, wie beispielsweise Trägheitssensoren und Geschwindigkeitssensoren, bestimmt werden. So können beispielsweise die Trägheitssensoren einen Beschleunigungssensor oder andere geeignete Sensoren beinhalten, die konfiguriert sind, um Änderungen der Translation und/oder Drehung der Fahrzeugkarosserie zu messen. Das Fahrzeug kann einen Geschwindigkeitssensor beinhalten, der eine Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Selbstbewegung der Kamera (und damit der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der aufgenommenen Bilder geschätzt werden. Eine optische Flussanalyse einer Bildsequenz identifiziert die Bewegung von Pixeln aus der Bildsequenz und bestimmt basierend auf der identifizierten Bewegung die Bewegungen des Fahrzeugs. Die Selbstbewegung kann im Laufe der Zeit und entlang des Straßenabschnitts integriert werden, um eine Trajektorie zu rekonstruieren, die dem Straßenabschnitt zugeordnet ist, dem das Fahrzeug gefolgt ist.
  • Daten (z.B. rekonstruierte Trajektorien), die von mehreren Fahrzeugen bei mehreren Fahrten entlang eines Straßenabschnitts zu unterschiedlichen Zeiten gesammelt wurden, können zur Erstellung des Straßenmodells (z.B. einschließlich der Solltrajektorien usw.) verwendet werden, das in der spärlichen Datenkarte 800 enthalten ist. Daten, die von mehreren Fahrzeugen in mehreren Fahrten entlang eines Straßenabschnitts zu unterschiedlichen Zeiten gesammelt werden, können auch gemittelt werden, um die Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten über die Straßengeometrie und/oder Sehenswürdigkeiten von mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten durch den gemeinsamen Straßenabschnitt fahren. Diese von verschiedenen Fahrzeugen empfangenen Daten können kombiniert werden, um das Straßenmodell zu erstellen und/oder das Straßenmodell zu aktualisieren.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Solltrajektorie) entlang eines Straßenabschnitts kann durch eine Kurve im dreidimensionalen Raum dargestellt werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektorienkurve kann aus der Analyse eines Videostroms oder einer Vielzahl von Bildern bestimmt werden, die von einer am Fahrzeug installierten Kamera aufgenommen wurden. In einigen Ausführungsformen wird in jedem Frame oder Bild eine Position identifiziert, die wenige Meter vor der aktuellen Position des Fahrzeugs liegt. Dieser Ort ist der Ort, an den das Fahrzeug in einem vorgegebenen Zeitraum voraussichtlich fahren wird. Dieser Vorgang kann Bild für Bild wiederholt werden, und gleichzeitig kann das Fahrzeug die Selbstbewegung der Kamera (Drehung und Translation) berechnen. Bei jedem Frame oder Bild wird vom Fahrzeug in einem Referenzrahmen, der an der Kamera befestigt ist, ein Kurzstreckenmodell für den gewünschten Pfad erzeugt. Die Nahbereichsmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem Koordinatensystem zu erhalten, das aus einem beliebigen oder vorgegebenen Koordinatensystem bestehen kann. Das dreidimensionale Modell der Straße kann dann mit einem Spline versehen werden, der ein oder mehrere Polynome geeigneter Ordnungen beinhalten oder verbinden kann.
  • Um das Nahbereichs-Straßenmodell an jedem Frame abzuschließen, können ein oder mehrere Erkennungsmodule verwendet werden. So kann beispielsweise ein Bottom-Up-Fahrspurerkennungsmodul verwendet werden. Das Bottom-Up-Fahrspurerkennungsmodul kann nützlich sein, wenn Fahrbahnmarkierungen auf der Straße angebracht werden. Dieses Modul kann nach Kanten im Bild suchen und diese zu den Fahrbahnmarkierungen zusammenfügen. Ein zweites Modul kann zusammen mit dem Bottom-Up-Fahrspurerkennungsmodul verwendet werden. Das zweite Modul ist ein Ende-zu-Ende Deep Neural Network, das trainiert werden kann, um den richtigen Kurzstreckenpfad aus einem Eingangsbild vorherzusagen. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen erkannt und in einen dreidimensionalen Raum umgewandelt werden, der virtuell an der Kamera befestigt werden kann.
  • Obwohl die rekonstruierte Trajektorienmodellierungsmethode eine Anhäufung von Fehlern aufgrund der Integration von Selbstbewegungen über einen langen Zeitraum hinweg hervorrufen kann, die auch eine Rauschkomponente beinhalten kann, können diese Fehler unbedeutend sein, da das generierte Modell eine ausreichende Genauigkeit für die Navigation über einen lokalen Maßstab bieten kann. Darüber hinaus ist es möglich, den integrierten Fehler durch den Einsatz externer Informationsquellen wie Satellitenbilder oder geodätische Messungen zu beheben. So können beispielsweise die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um angesammelte Fehler zu beseitigen. Die GNSS-Positionierungssignale sind jedoch möglicherweise nicht immer verfügbar und genau. Die offenbarten Systeme und Methoden können eine Steuerungsanwendung ermöglichen, die schwach von der Verfügbarkeit und Genauigkeit der GNSS-Positionierung abhängt. In solchen Systemen kann die Verwendung der GNSS-Signale eingeschränkt sein. So können beispielsweise die offenbarten Systeme in einigen Ausführungsformen die GNSS-Signale nur für die Datenbankindizierung verwenden.
  • In einigen Ausführungsformen kann die Reichweitenskala (z.B. lokale Skala), die für eine autonome Fahrzeugnavigationslenkung relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Diese Abstände können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: die Planung der Trajektorie im Voraus und die Lokalisierung des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über eine typische Reichweite von 40 Metern im Voraus (oder jede andere geeignete Entfernung im Voraus, wie z. B. 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Regelalgorithmus das Fahrzeug gemäß einem Zielpunkt steuert, der 1,3 Sekunden im Voraus liegt (oder zu jeder anderen Zeit, wie z. B. 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.). Die Lokalisierungsaufgabe verwendet das Straßenmodell über eine typische Reichweite von 60 Metern hinter dem Fahrzeug (oder andere geeignete Entfernungen, wie 50 Meter, 100 Meter, 150 Meter usw.), nach einem Verfahren namens „Heckausrichtung“, das in einem anderen Abschnitt näher beschrieben wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das über einen bestimmten Bereich, wie beispielsweise 100 Meter, eine ausreichende Genauigkeit aufweist, so dass eine geplante Trajektorie nicht mehr als beispielsweise 30 cm von der Fahrspurmitte abweicht.
  • Wie vorstehend erläutert, kann ein dreidimensionales Straßenmodell konstruiert werden, indem Kurzstreckenabschnitte erkannt und zusammengefügt werden. Das Zusammenfügen kann durch Berechnen eines Sechs-Grad-Selbstbewegungsmodells unter Verwendung der von der Kamera aufgenommenen Videos und/oder Bilder, von Daten der Trägheitssensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Geschwindigkeitssignals des Hostfahrzeugs aktiviert werden. Der akkumulierte Fehler kann über eine lokale Entfernungsskala klein genug sein, z.B. in der Größenordnung von 100 Metern. All dies kann in einer einzigen Fahrt über einen bestimmten Straßenabschnitt erfolgen.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln und seine Genauigkeit weiter zu erhöhen. Das gleiche Auto kann die gleiche Strecke mehrmals befahren, oder mehrere Autos können ihre gesammelten Modelldaten an einen zentralen Server senden. In jedem Fall kann ein Matching-Verfahren durchgeführt werden, um überlappende Modelle zu identifizieren und eine Mittelung zu ermöglichen, um Solltrajektorien zu erzeugen. Das konstruierte Modell (z.B. einschließlich der Solltrajektorien) kann zur Steuerung verwendet werden, sobald ein Konvergenzkriterium erfüllt ist. Nachfolgende Fahrten können für weitere Modellverbesserungen und zur Anpassung an Infrastrukturänderungen verwendet werden.
  • Der Austausch von Fahrerlebnissen (z.B. erfassten Daten) zwischen mehreren Fahrzeugen wird möglich, wenn sie mit einem zentralen Server verbunden sind. Jeder Fahrzeugkunde kann eine Teilkopie eines universellen Straßenmodells speichern, die für seine aktuelle Position relevant sein kann. Ein bidirektionales Aktualisierungsverfahren zwischen den Fahrzeugen und dem Server kann von den Fahrzeugen und dem Server durchgeführt werden. Das oben beschriebene Konzept des kleinen Speicherbedarfs ermöglicht es den offenbarten Systemen und Verfahren, die bidirektionalen Updates mit einer sehr kleinen Bandbreite durchzuführen.
  • Informationen über mögliche Orientierungspunkte können auch ermittelt und an einen zentralen Server weitergeleitet werden. So können beispielsweise die offenbarten Systeme und Verfahren eine oder mehrere physikalische Eigenschaften eines potenziellen Orientierungspunktes basierend auf einem oder mehreren Bildern, die den Orientierungspunkt beinhalten, bestimmen. Die physikalischen Eigenschaften können eine physikalische Größe (z.B. Höhe, Breite) des Orientierungspunktes, eine Entfernung von einem Fahrzeug zu einem Orientierungspunkt, eine Entfernung zwischen dem Orientierungspunkt und einem vorherigen Orientierungspunkt, die seitliche Position des Orientierungspunktes (z.B. die Position des Orientierungspunktes in Bezug auf die Fahrspur), die GPS-Koordinaten des Orientierungspunktes, eine Art von Orientierungspunkt, die Identifizierung von Text auf dem Orientierungspunkt, etc. beinhalten. So kann beispielsweise ein Fahrzeug ein oder mehrere Bilder analysieren, die von einer Kamera aufgenommen wurden, um einen potenziellen Orientierungspunkt, wie beispielsweise ein Geschwindigkeitsbeschränkungszeichen, zu erkennen.
  • Das Fahrzeug kann einen Abstand vom Fahrzeug bis zum Orientierungspunkt basierend auf der Analyse der einen oder mehreren Bilder bestimmen. In einigen Ausführungsformen kann der Abstand basierend auf der Analyse von Bildern des Orientierungspunktes mit einem geeigneten Bildanalyseverfahren, wie beispielsweise einem Skalierungsverfahren und/oder einem optischen Strömungsverfahren, bestimmt werden. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren konfiguriert werden, um eine Art oder Klassifizierung eines potenziellen Orientierungspunktes zu bestimmen. Für den Fall, dass das Fahrzeug feststellt, dass ein bestimmter potenzieller Orientierungspunkt einem vorbestimmten Typ oder einer vorbestimmten Klassifizierung entspricht, die in einer spärlichen Karte gespeichert ist, kann es ausreichend sein, wenn das Fahrzeug dem Server eine Angabe über den Typ oder die Klassifizierung des Orientierungspunktes zusammen mit seiner Position übermittelt. Der Server kann diese Angaben speichern. Zu einem späteren Zeitpunkt können andere Fahrzeuge ein Bild des Orientierungspunktes aufnehmen, das Bild verarbeiten (z.B. mit einem Klassifizierer) und das Ergebnis der Bildverarbeitung mit der im Server gespeicherten Angabe über die Art des Orientierungspunktes vergleichen. Es kann verschiedene Arten von Orientierungspunkten geben, und verschiedene Arten von Orientierungspunkten können mit verschiedenen Arten von Daten verknüpft sein, die auf den Server hochgeladen und dort gespeichert werden sollen, verschiedene Verarbeitungen an Bord des Fahrzeugs können die Orientierungspunkte erkennen und Informationen über die Orientierungspunkte an den Server übermitteln, und das System an Bord des Fahrzeugs kann die Orientierungspunktdaten vom Server empfangen und die Orientierungspunktdaten zur Identifizierung eines Orientierungspunktes bei autonomer Navigation verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßenabschnitt fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Kunden) können eine Kurve erzeugen, die ihren Fahrt (z.B. durch Selbstbewegungsintegration) in einem beliebigen Koordinatensystem beschreibt. Die Fahrzeuge können Orientierungspunkte erkennen und im gleichen System lokalisieren. Die Fahrzeuge können die Kurve und die Orientierungspunkte auf den Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein einheitliches Straßenmodell erstellen. Wie im Folgenden in Bezug auf 19 erläutert, kann der Server beispielsweise eine spärliche Karte mit dem einheitlichen Straßenmodell unter Verwendung der hochgeladenen Kurven und Orientierungspunkte erzeugen.
  • Der Server kann das Modell auch an Kunden (z.B. Fahrzeuge) verteilen. Wie im Folgenden in Bezug auf 24 erläutert, kann der Server beispielsweise die spärliche Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder regelmäßig aktualisieren, wenn er neue Daten von den Fahrzeugen erhält. So kann der Server beispielsweise die neuen Daten verarbeiten, um zu beurteilen, ob die Daten Informationen enthalten, die eine Aktualisierung oder die Erstellung neuer Daten auf dem Server auslösen sollen. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge verteilen, um eine autonome Fahrzeugnavigation zu ermöglichen.
  • Der Server kann ein oder mehrere Kriterien verwenden, um zu bestimmen, ob von den Fahrzeugen empfangene neue Daten eine Aktualisierung des Modells oder die Erstellung neuer Daten auslösen sollen. Wenn die neuen Daten beispielsweise anzeigen, dass ein zuvor erkannter Orientierungspunkt an einem bestimmten Ort nicht mehr existiert oder durch einen anderen Orientierungspunkt ersetzt wird, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollen. Als weiteres Beispiel, wenn die neuen Daten anzeigen, dass ein Straßenabschnitt geschlossen wurde, und wenn dies durch Daten von anderen Fahrzeugen bestätigt wurde, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollen.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Teil des Modells) an ein oder mehrere Fahrzeuge verteilen, die auf dem Straßenabschnitt fahren, mit dem die Aktualisierungen des Modells verbunden sind. Der Server kann das aktualisierte Modell auch an Fahrzeuge verteilen, die kurz vor der Fahrt auf dem Straßenabschnitt stehen, oder an Fahrzeuge, deren geplante Fahrt den Straßenabschnitt beinhaltet, mit dem die Aktualisierungen des Modells verbunden sind. Während beispielsweise ein autonomes Fahrzeug entlang eines anderen Straßenabschnitts fährt, bevor es den Straßenabschnitt erreicht, dem ein Update zugeordnet ist, kann der Server die Updates oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug den Straßenabschnitt erreicht.
  • In einigen Ausführungsformen kann der Remote-Server Trajektorien und Orientierungspunkte von mehreren Clients sammeln (z.B. Fahrzeuge, die entlang eines gemeinsamen Straßenabschnitts fahren). Der Server kann Kurven mit Hilfe von Orientierungspunkten abgleichen und ein durchschnittliches Straßenmodell erstellen, das auf den von den mehreren Fahrzeugen gesammelten Trajektorien basiert. Der Server kann auch ein Straßendiagramm und den wahrscheinlichsten Weg an jedem Knoten oder einer Verbindung des Straßenabschnitts berechnen. Wie im Folgenden in Bezug auf 29 erläutert, kann der entfernte Server beispielsweise die Trajektorien so ausrichten, dass aus den gesammelten Trajektorien eine Crowdsourced spärliche Karte erzeugt wird.
  • Der Server kann die Eigenschaften von Orientierungspunkten, die von mehreren Fahrzeugen empfangen wurden, die entlang des gemeinsamen Straßenabschnitts gefahren sind, wie z.B. die Entfernungen zwischen zwei Orientierungspunkten (z.B. einen vorherigen entlang des Straßenabschnitts), gemessen von mehreren Fahrzeugen, mitteln, um einen Kreisbogen-Längenparameter zu bestimmen und die Lokalisierung entlang der Weg- und Geschwindigkeitskalibrierung für jedes Client-Fahrzeug zu unterstützen. Der Server kann die physischen Abmessungen eines Orientierungspunktes, gemessen von mehreren Fahrzeugen, die entlang des gemeinsamen Straßenabschnitts gefahren sind, mitteln und den gleichen Orientierungspunkt erkennen. Die gemittelten physikalischen Abmessungen können zur Unterstützung der Entfernungsschätzung verwendet werden, wie beispielsweise die Entfernung vom Fahrzeug bis zum Orientierungspunkt. Der Server kann die Seitenpositionen eines Orientierungspunktes (z.B. Position von der Fahrspur, in der Fahrzeuge in die Fahrspur einfahren) mitteln, gemessen von mehreren Fahrzeugen, die entlang des gemeinsamen Straßenabschnitts fahren und den gleichen Orientierungspunkt erkennen. Der gemittelte Seitenabschnitt kann zur Unterstützung der Fahrspurzuweisung verwendet werden. Der Server kann die GPS-Koordinaten des Orientierungspunktes mitteln, die von mehreren Fahrzeugen gemessen wurden, die entlang desselben Straßenabschnitts gefahren sind, und den gleichen Orientierungspunkt erkennen. Die gemittelten GPS-Koordinaten der Orientierungspunkte können verwendet werden, um die globale Lokalisierung oder Positionierung der Orientierungspunkte im Straßenmodell zu unterstützen.
  • In einigen Ausführungsformen kann der Server Modelländerungen, wie Baustellen, Umwege, neue Schilder, Entfernung von Schildern usw., basierend auf den von den Fahrzeugen empfangenen Daten identifizieren. Der Server kann das Modell kontinuierlich oder regelmäßig oder sofort aktualisieren, wenn er neue Daten von den Fahrzeugen erhält. Der Server kann Aktualisierungen des Modells oder des aktualisierten Modells an Fahrzeuge verteilen, um eine autonome Navigation zu ermöglichen. Wie im Folgenden näher erläutert, kann der Server beispielsweise Crowdsourced-Daten verwenden, um von Fahrzeugen erkannte „Ghost“-Orientierungspunkte herauszufiltern.
  • In einigen Ausführungsformen kann der Server Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann die vom Fahrzeug empfangenen Daten zum Zeitpunkt und am Ort des Eingriffs und/oder die vor dem Zeitpunkt des Eingriffs empfangenen Daten analysieren. Der Server kann bestimmte Teile der Daten identifizieren, die die Intervention verursacht haben oder eng mit ihr verbunden sind, z.B. Daten, die auf eine vorübergehende Sperrung der Fahrspur oder auf einen Fußgänger auf der Straße hinweisen. Der Server kann das Modell basierend auf den identifizierten Daten aktualisieren. So kann der Server beispielsweise eine oder mehrere im Modell gespeicherte Trajektorien ändern.
  • 12 ist eine schematische Darstellung eines Systems, das Crowdsourcing verwendet, um eine spärliche Karte (Sparse Map) zu erzeugen (sowie die Verteilung und Navigation mit einer Crowdsourced Sparse Map). 12 zeigt einen Straßenabschnitt 1200, der eine oder mehrere Fahrspuren beinhaltet. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 können auf dem Straßenabschnitt 1200 zur gleichen Zeit oder zu unterschiedlichen Zeiten fahren (obwohl sie in 12 gleichzeitig auf dem Straßenabschnitt 1200 dargestellt sind). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Der Einfachheit halber werden alle Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 als autonome Fahrzeuge angenommen.
  • Jedes Fahrzeug kann den in anderen Ausführungsformen (z.B. Fahrzeug 200) offenbarten Fahrzeugen ähnlich sein und Komponenten oder Vorrichtungen beinhalten, die in Fahrzeugen enthalten sind oder mit Fahrzeugen in anderen Ausführungsformen verbunden sind. Jedes Fahrzeug kann mit einer Bilderfassungsvorrichtung oder Kamera (z.B. Bilderfassungsvorrichtung 122 oder Kamera 122) ausgestattet sein. Jedes Fahrzeug kann mit einem entfernten Server 1230 über ein oder mehrere Netzwerke (z.B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 kommunizieren, wie durch die gestrichelten Linien angegeben. Jedes Fahrzeug kann Daten an den Server 1230 übertragen und Daten vom Server 1230 empfangen. So kann beispielsweise der Server 1230 Daten von mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßenabschnitt 1200 fahren, und die gesammelten Daten verarbeiten, um ein autonomes Fahrzeug-Straßennavigationsmodell oder eine Aktualisierung des Modells zu erzeugen. Der Server 1230 kann das autonome Fahrzeug-Straßennavigationsmodell oder die Aktualisierung des Modells an die Fahrzeuge übertragen, die Daten an den Server 1230 übertragen haben. Der Server 1230 kann das autonome Fahrzeug-Straßennavigationsmodell oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, die zu einem späteren Zeitpunkt auf dem Straßenabschnitt 1200 fahren.
  • Wenn die Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 auf dem Straßenabschnitt 1200 fahren, können die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 gesammelten (z.B. detektierten, erfassten oder gemessenen) Navigationsinformationen an den Server 1230 übertragen werden. In einigen Ausführungsformen können die Navigationsinformationen dem gemeinsamen Straßenabschnitt 1200 zugeordnet sein. Die Navigationsinformationen können eine Trajektorie beinhalten, die jedem der Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 zugeordnet ist, wenn jedes Fahrzeug über den Straßenabschnitt 1200 fährt. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten rekonstruiert werden, die von verschiedenen Sensoren und Vorrichtungen im Fahrzeug 1205 erfasst werden. So kann beispielsweise die Trajektorie basierend auf mindestens einer von Beschleunigungssensor-Daten, Geschwindigkeitsdaten, Orientierungspunktdaten, Straßengeometrie- oder Profildaten, Fahrzeugpositionierungsdaten und Selbstbewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten von Trägheitssensoren, wie beispielsweise Beschleunigungssensoren, und der Geschwindigkeit des Fahrzeugs 1205, die von einem Geschwindigkeitssensor erfasst wird, rekonstruiert werden. Darüber hinaus kann in einigen Ausführungsformen die Trajektorie bestimmt werden (z.B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225), basierend auf der erfassten Selbstbewegung der Kamera, die eine dreidimensionale Translation und/oder dreidimensionale Drehungen (oder Drehbewegungen) anzeigen kann. Die Selbstbewegung der Kamera (und damit der Fahrzeugkarosserie) kann durch Analyse eines oder mehrerer von der Kamera aufgenommener Bilder bestimmt werden.
  • In einigen Ausführungsformen kann die Trajektorie des Fahrzeugs 1205 durch einen an Bord des Fahrzeugs 1205 vorgesehenen Prozessor bestimmt und an den Server 1230 übertragen werden. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die von den verschiedenen Sensoren und Vorrichtungen im Fahrzeug 1205 erfasst werden, und die Trajektorie basierend auf den vom Fahrzeug 1205 empfangenen Daten bestimmen.
  • In einigen Ausführungsformen können die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 an den Server 1230 übertragenen Navigationsinformationen Daten über die Fahrbahnoberfläche, die Straßengeometrie oder das Straßenprofil beinhalten. Die Geometrie des Straßenabschnitts 1200 kann die Fahrspurstruktur und/oder die Orientierungspunkte beinhalten. Die Fahrspurstruktur kann die Gesamtzahl der Fahrspuren des Straßenabschnitts 1200, die Art der Fahrspuren (z.B. Einbahnspur, Zweibahnspur, normale Fahrspur, Überholspur usw.), Markierungen auf Fahrspuren, Breite der Fahrspuren usw. beinhalten. In einigen Ausführungsformen können die Navigationsinformationen eine Spurzuweisung beinhalten, z.B. welche Fahrspur aus einer Vielzahl von Fahrspuren ein Fahrzeug befährt. So kann beispielsweise der Fahrspurzuweisung ein Zahlenwert „3“ zugeordnet werden, der anzeigt, dass das Fahrzeug auf der dritten Fahrspur von links oder rechts fährt. Als weiteres Beispiel kann die Spurzuweisung mit einem Textwert „mittlere Spur“ verknüpft werden, der anzeigt, dass das Fahrzeug auf der mittleren Spur fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nicht flüchtigen, computerlesbaren Medium speichern, wie beispielsweise einer Festplatte, einer Compact Disc, einem Band, einem Speicher usw. Der Server 1230 kann (z.B. durch einen in Server 1230 enthaltenen Prozessor) mindestens einen Teil eines autonomen Fahrzeug-Straßennavigationsmodells für den gemeinsamen Straßenabschnitt 1200 basierend auf den von der Vielzahl der Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen und kann das Modell als Teil einer spärlichen Karte speichern. Der Server 1230 kann eine jeder Fahrspur zugeordnete Trajektorie basierend auf Crowdsourcing-Daten (z.B. Navigationsinformationen) bestimmen, die von mehreren Fahrzeugen (z.B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die zu unterschiedlichen Zeiten auf einer Fahrspur des Straßenabschnitts fahren. Der Server 1230 kann das autonome Fahrzeug-Straßennavigationsmodell oder einen Teil des Modells (z.B. einen aktualisierten Teil) basierend auf einer Vielzahl von Trajektorien erzeugen, die basierend auf den von der Menge bezogenen Navigationsdaten bestimmt werden. Der Server 1230 kann das Modell oder den aktualisierten Teil des Modells an ein oder mehrere autonome Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 übertragen, die auf dem Straßenabschnitt 1200 oder anderen autonomen Fahrzeugen fahren, die zu einem späteren Zeitpunkt auf dem Straßenabschnitt fahren, um ein bestehendes autonomes Fahrzeug-Straßennavigationsmodell zu aktualisieren, das in einem Navigationssystem der Fahrzeuge bereitgestellt wird. Das autonome Fahrzeug-Straßennavigationsmodell kann von den autonomen Fahrzeugen bei der autonomen Navigation entlang des gemeinsamen Straßenabschnitts 1200 verwendet werden.
  • Wie vorstehend erläutert, kann das autonome Fahrzeug-Straßennavigationsmodell in eine spärliche Karte (z.B. die in 8 dargestellte spärliche Karte 800) aufgenommen werden. Die spärliche Karte 800 kann eine spärliche Aufzeichnung von Daten im Zusammenhang mit der Straßengeometrie und/oder den Orientierungspunkten entlang einer Straße beinhalten, die ausreichende Informationen zur Steuerung der autonomen Navigation eines autonomen Fahrzeugs liefern kann, jedoch keine übermäßige Datenspeicherung erfordert. In einigen Ausführungsformen kann das autonome Fahrzeug-Straßennavigationsmodell getrennt von der spärlichen Karte 800 gespeichert werden und Kartendaten aus der spärlichen Karte 800 verwenden, wenn das Modell zur Navigation ausgeführt wird. In einigen Ausführungsformen kann das autonome Fahrzeug-Straßennavigationsmodell Kartendaten verwenden, die in der spärlichen Karte 800 enthalten sind, um Solltrajektorien entlang des Straßenabschnitts 1200 zu bestimmen, um die autonome Navigation von autonomen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 oder anderen Fahrzeugen zu steuern, die später entlang des Straßenabschnitts 1200 fahren. Wenn beispielsweise das autonome Fahrzeug-Straßennavigationsmodell von einem Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 enthalten ist, kann das Modell den Prozessor veranlassen, die basierend auf den vom Fahrzeug 1205 empfangenen Navigationsinformationen bestimmten Trajektorien mit vorbestimmten Trajektorien in der spärlichen Karte 800 zu vergleichen, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu überprüfen und/oder zu korrigieren.
  • Im autonomen Fahrzeug-Straßennavigationsmodell kann die Geometrie eines Straßenmerkmals oder einer Solltrajektorie durch eine Kurve in einem dreidimensionalen Raum kodiert werden. In einer Ausführungsform kann die Kurve ein dreidimensionaler Spline sein, der ein oder mehrere verbindende dreidimensionale Polynome beinhaltet. Wie ein Fachmann verstehen würde, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Reihe von Polynomen zur Anpassung an Daten definiert ist. Ein Spline zur Anpassung der dreidimensionalen Geometriedaten der Straße kann ein linearer Spline (erste Ordnung), ein quadratischer Spline (zweite Ordnung), ein kubischer Spline (dritte Ordnung) oder andere Splines (andere Ordnung) oder eine Kombination derselben beinhalten. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnung beinhalten, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z.B. anpassen). In einigen Ausführungsformen kann das autonome Fahrzeug-Straßennavigationsmodell einen dreidimensionalen Spline beinhalten, der einer Solltrajektorie entlang eines gemeinsamen Straßenabschnitts (z.B. Straßenabschnitt 1200) oder einer Spur des Straßenabschnitts 1200 entspricht.
  • Wie vorstehend erläutert, kann das in der kargen Karte enthaltene autonome Fahrzeug-Straßennavigationsmodell weitere Informationen enthalten, wie beispielsweise die Identifizierung mindestens eines Orientierungspunktes entlang des Straßenabschnitts 1200. Der Orientierungspunkt kann in einem Sichtfeld einer Kamera (z.B. Kamera 122) sichtbar sein, die auf jedem der Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 installiert ist. In einigen Ausführungsformen kann die Kamera 122 ein Bild eines Orientierungspunktes aufnehmen. Ein Prozessor (z.B. Prozessor 180, 190 oder Verarbeitungseinheit 110), der am Fahrzeug 1205 vorgesehen ist, kann das Bild des Orientierungspunktes verarbeiten, um Identifikationsinformationen für den Orientierungspunkt zu erhalten. Die Informationen zur Identifizierung von Orientierungspunkten und nicht ein tatsächliches Bild der Orientierungspunkte können in der spärlichen Karte 800 gespeichert werden. Die Informationen zur Identifizierung von Orientierungspunkten benötigen möglicherweise viel weniger Speicherplatz als ein tatsächliches Bild. Andere Sensoren oder Systeme (z.B. GPS-System) können auch bestimmte Identifikationsinformationen der Orientierungspunkte liefern (z.B. Position des Orientierungspunktes). Der Orientierungspunkt kann mindestens eines von einem Verkehrszeichen, einer Pfeilmarkierung, einer Fahrspurmarkierungen, einer gestrichelten Fahrspurmarkierungen, einer Ampel, einer Haltelinie, einem Richtungszeichen (z.B. ein Autobahnausfahrtsschild mit einem Pfeil, der eine Richtung anzeigt, ein Autobahnzeichen mit Pfeilen, die auf verschiedene Richtungen oder Orte zeigen), einem Orientierungspunkt-Beacon oder einen Laternenpfahl beinhalten. Ein Orientierungspunkt-Beacon bezieht sich auf eine Vorrichtung (z.B. eine RFID-Vorrichtung), die entlang eines Straßenabschnitts installiert ist, der ein Signal an einen an einem Fahrzeug installierten Empfänger sendet oder reflektiert, so dass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, das vom Fahrzeug empfangene Beacon und der Standort der Vorrichtung (z.B. bestimmt aus dem GPS-Standort der Vorrichtung) als Orientierungspunkt verwendet werden können, der in das autonome Fahrzeug-Straßennavigationsmodell und/oder die spärliche Karte 800 aufzunehmen ist.
  • Die Identifizierung mindestens eines Orientierungspunktes kann eine Position des mindestens einen Orientierungspunktes beinhalten. Die Position des Orientierungspunktes kann basierend auf Positionsmessungen bestimmt werden, die mit Hilfe von Sensorsystemen (z.B. Global Positioning Systeme, trägheitsbasierte Positionierungssysteme, Orientierungspunkt-Beacon, etc.) durchgeführt werden, die der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1215, 1220 und 1225 zugeordnet sind. In einigen Ausführungsformen kann die Position der Orientierungspunkte durch Mittelung der Positionsmessungen bestimmt werden, die von Sensorsystemen an verschiedenen Fahrzeugen 1205, 1210, 1215, 1215, 1220 und 1225 über mehrere Fahrten erfasst, gesammelt oder empfangen werden. So können beispielsweise die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessdaten an den Server 1230 übertragen, der die Positionsmessungen mitteln und die gemittelte Positionsmessung als Position des Orientierungspunktes verwenden kann. Die Position des Orientierungspunktes kann durch Messungen, die von Fahrzeugen bei nachfolgenden Fahrten erhalten werden, kontinuierlich verbessert werden.
  • Die Identifizierung des Orientierungspunktes kann eine Größe des Orientierungspunktes beinhalten. Der in einem Fahrzeug (z.B. 1205) vorgesehene Prozessor kann die physikalische Größe des Orientierungspunktes basierend auf der Analyse der Bilder schätzen. Server 1230 kann mehrere Schätzungen der physischen Größe desselben Orientierungspunktes von verschiedenen Fahrzeugen über verschiedene Fahrten empfangen. Server 1230 kann die verschiedenen Schätzungen mitteln, um eine physische Größe für den Orientierungspunkt zu erhalten, und diese Orientierungspunktgröße im Straßenmodell speichern. Die physikalische Größenschätzung kann verwendet werden, um den Abstand zwischen dem Fahrzeug und dem Orientierungspunkt weiter zu bestimmen oder zu schätzen. Der Abstand zum Orientierungspunkt kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einem Expansionsgrad basierend auf der Position des Orientierungspunktes, der in den Bildern erscheint, relativ zum Fokus der Expansion der Kamera geschätzt werden. So kann beispielsweise der Abstand zum Orientierungspunkt mit Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R der Abstand im Bild vom Orientierungspunkt zum Zeitpunkt t1 bis zum Fokus der Expansion ist und D die Abstandsänderung für den Orientierungspunkt im Bild von t1 auf t2 ist. dt stellt das (t2-t1) dar. So kann beispielsweise der Abstand zum Orientierungspunkt mit Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R der Abstand im Bild zwischen dem Orientierungspunkt und dem Fokus der Expansion ist, dt ein Zeitintervall ist und D die Bildverschiebung des Orientierungspunktes entlang der Epipolarlinie ist. Andere Gleichungen, die der obigen Gleichung entsprechen, wie z.B. Z = V * ω/Δω, können zur Schätzung der Entfernung zum Orientierungspunkt 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 des Orientierungspunkts bekannt ist, kann der Abstand zum Orientierungspunkt auch anhand der folgenden Gleichung bestimmt werden: Z = f * W/ω, wobei f die Brennweite ist, W die Größe der Orientierungspunkt (z.B. Höhe oder Breite) ist, ω die Anzahl der Pixel ist, wenn der Orientierungspunkt das Bild verlässt. Aus der obigen Gleichung kann eine Abstandsänderung Z mit ΔZ = f * W * Δω / ω2 + f * ΔW/ω berechnet werden, wobei ΔW durch Mittelung auf Null abfällt und wobei Δω die Anzahl der Pixel ist, die eine Genauigkeit des Begrenzungsrahmens im Bild darstellt. Ein Wert, der die physikalische Größe des Orientierungspunktes schätzt, kann durch die Mittelung mehrerer Beobachtungen auf der Serverseite berechnet werden. Der daraus resultierende Fehler bei der Entfernungsschätzung kann sehr klein sein. Es gibt zwei Fehlerquellen, die bei der Verwendung der obigen Formel auftreten können, nämlich ΔW und Δω. Ihr Beitrag zum Abstandsfehler wird von ΔZ = f * W * Δω / ω2 + f * ΔW/ω geleistet. Allerdings zerfällt ΔW durch Mittelung auf Null; daher wird ΔZ durch Δω bestimmt (z.B. die Ungenauigkeit des Begrenzungsrahmens im Bild).
  • Bei Orientierungspunkten unbekannter Abmessungen kann der Abstand zum Orientierungspunkt geschätzt werden, indem Merkmalspunkte auf dem Orientierungspunkt zwischen aufeinanderfolgenden Bildern verfolgt werden. So können beispielsweise bestimmte Merkmale, die auf einem Geschwindigkeitsbeschränkungszeichen erscheinen, zwischen zwei oder mehr Einzelbildern verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Entfernungsverteilung pro Merkmalspunkt erzeugt werden. Die Entfernungsschätzung kann aus der Entfernungsverteilung extrahiert werden. So kann beispielsweise die in der Entfernungsverteilung am häufigsten auftretende Entfernung als Entfernungsschätzung verwendet werden. Als weiteres Beispiel kann der Mittelwert der Entfernungsverteilung als Entfernungsschätzung verwendet werden.
  • 13 veranschaulicht ein beispielhaftes autonomes Fahrzeug-Straßennavigationsmodell, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 dargestellt wird. Die in 13 dargestellten Kurven 1301, 1302 und 1303 dienen nur zur Veranschaulichung. 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 aus beliebigen geeigneten Polynomen mit unterschiedlichen Ordnungen sein. Jeder Datenpunkt 1310 kann mit den von den Fahrzeugen 1205, 1210, 1215, 1215, 1220 und 1225 empfangenen Navigationsinformationen verknüpft werden. In einigen Ausführungsformen kann jeder Datenpunkt 1310 mit Daten in Verbindung mit Orientierungspunkten (z.B. Größe, Lage und Identifikationsinformationen von Orientierungspunkten) und/oder Straßensignaturprofilen (z.B. Straßengeometrie, Straßenrauhigkeitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) verknüpft sein. In einigen Ausführungsformen können einige Datenpunkte 1310 mit Daten über Orientierungspunkte verknüpft werden, während andere mit Daten über Straßensignaturprofile verknüpft sein können.
  • 14 veranschaulicht die von fünf separaten Fahrten empfangenen Standortdaten 1410 (z.B. GPS-Daten). Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie von getrennten Fahrzeugen zur gleichen Zeit, von demselben Fahrzeug zu getrennten Zeiten oder von getrennten Fahrzeugen zu getrennten Zeiten durchfahren wurde. Um Fehler in den Standortdaten 1410 und unterschiedliche Standorte von Fahrzeugen innerhalb derselben Fahrspur zu berücksichtigen (z.B. kann ein Fahrzeug näher an einer Fahrspur als eine andere fahren), kann der Server 1230 ein Kartenskelett 1420 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um festzustellen, ob Abweichungen in den Rohstandortdaten 1410 tatsächliche Abweichungen oder statistische Fehler darstellen. Jeder Pfad innerhalb des Skeletts 1420 kann mit den Rohdaten 1410, die den Pfad gebildet haben, verknüpft werden. So ist beispielsweise der Weg zwischen A und B innerhalb des Skeletts 1420 mit den Rohdaten 1410 von den Fahrten 2, 3, 4 und 5 verknüpft, aber nicht von Fahrt 1. Das Skelett 1420 ist möglicherweise nicht detailliert genug, um für die Navigation in einem Fahrzeug verwendet zu werden (z.B. weil es Fahrten von mehreren Fahrspuren auf derselben Straße kombiniert, im Gegensatz zu den oben beschriebenen Splines), kann aber nützliche topologische Informationen liefern und kann zur Definition von Kreuzungen verwendet werden.
  • 15 stellt ein System 1500 dar, das für Crowdsourcing einer spärlichen Karte konfiguriert ist. Das System 1500 kann das Fahrzeug 1510 beinhalten, das Fahrdaten beispielsweise mit einer Kamera (die z.B. Selbstbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Ortungsvorrichtung (z.B. einem GPS-Lokalisierer) erfasst. Das Fahrzeug 1510 segmentiert die gesammelten Daten in Fahrtabschnitte (dargestellt als „DS1 1“, „DS2 1“, „DSN 1“ in 15). Der Server 1230 empfängt dann die Fahrtabschnitte und rekonstruiert eine Fahrt (in 15 als „Fahrt 1“ dargestellt) aus den empfangenen Segmenten.
  • Wie in 15 weiter dargestellt, empfängt das System 1500 auch Daten von weiteren Fahrzeugen. So erfasst das Fahrzeug 1520 beispielsweise auch Fahrdaten, beispielsweise mit einer Kamera (die z.B. Selbstbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Ortungsvorrichtung (z.B. einem GPS-Lokalisierer). Ähnlich wie das Fahrzeug 1510 segmentiert das Fahrzeug 1520 die gesammelten Daten in Fahrtabschnitte (dargestellt als „DS1 2“, „DS2 2“, „DSN 2“ in 15). Der Server 1230 empfängt dann die Fahrtabschnitte und rekonstruiert eine Fahrt (in 15 als „Fahrt 2“ dargestellt) aus den empfangenen Segmenten. Es können beliebig viele zusätzliche Fahrzeuge eingesetzt werden. 15 beinhaltet beispielsweise auch „CAR N“, das Fahrdaten erfasst, in Fahrtabschnitte unterteilt (dargestellt als „DS1 N“, „DS2 N“, „DSN N“ in 1815 und an den Server 1230 zur Rekonstruktion in eine Fahrt sendet (dargestellt als „Fahrt N“ in 18).
  • Wie in 15 dargestellt, kann der Server 1230 eine spärliche Karte (dargestellt als „KARTE“) unter Verwendung der rekonstruierten Fahrten (z.B. „Fahrt 1“, „Fahrt 2“ und „Fahrt N“) erstellen, die aus einer Vielzahl von Fahrzeugen (z.B. „AUTO 1“ (auch mit Fahrzeug 1510 bezeichnet), „AUTO 2“ (auch mit Fahrzeug 1520 bezeichnet) und „AUTO N“) gesammelt wurden.
  • In einigen Ausführungsformen können die offenbarten Systeme anstelle von globalen Koordinaten lokale Koordinaten verwenden. Für autonomes Fahren können einige Systeme Daten in Weltkoordinaten darstellen. So können beispielsweise Längen- und Breitengradkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte zum Lenken zu nutzen, kann das Hostfahrzeug seine Position und Ausrichtung in Bezug auf die Karte bestimmen. Eine typische Implementierung ist der Einsatz eines GPS-Gerätes an Bord, um das Fahrzeug auf der Karte zu positionieren und die Drehwandlung zwischen dem Karosserie-Bezugssystem und dem Welt-Bezugssystem (z.B. Nord, Ost und West) zu finden. Sobald das Karosserie-Bezugssystem mit dem Karten-Bezugssystem ausgerichtet ist, kann die gewünschte Route im Karosserie-Bezugssystem ausgedrückt und die Lenkbefehle berechnet oder erzeugt werden.
  • Ein technisches Problem bei dieser Implementierung ist jedoch, dass die aktuelle GPS-Technologie den Karosseriestandort und die Position normalerweise nicht mit ausreichender Genauigkeit und Verfügbarkeit liefert. Als technische Lösung für dieses Problem können Orientierungspunkte, deren Welt-Koordinaten bekannt sind, verwendet werden, um sehr detaillierte Karten (sogenannte High Definition- oder HD-Karten) zu erstellen, die Orientierungspunkte verschiedener Art enthalten. Dementsprechend kann ein mit einem Sensor ausgestattetes Fahrzeug die Orientierungspunkte in seinem eigenen Bezugssystem erfassen und lokalisieren. Sobald die relative Position zwischen dem Fahrzeug und den Orientierungspunkten gefunden wurde, können die Welt-Koordinaten der Orientierungspunkte aus der HD-Karte bestimmt werden, und das Fahrzeug kann sie zur Berechnung seiner eigenen Position und Position verwenden. Dementsprechend können die Orientierungspunkte verwendet werden, um die Einschränkungen des GPS-Geräts an Bord der Fahrzeuge auszugleichen. Die Orientierungspunkte können zusammen mit einer HD-Karte die genaue Fahrzeugposition in globalen Koordinaten berechnen, wodurch das Problem der Karten-Karosserie-Ausrichtung gelöst wird.
  • In den offenbarten Systemen und Verfahren können anstelle einer globalen Weltkarte viele Kartenteile oder lokale Karten zur autonomen Navigation verwendet werden. Jedes Teil einer Karte oder jede lokale Karte kann sein eigenes Koordinatensystem definieren. Diese Koordinatensysteme können beliebig sein. Dementsprechend müssen die Fahrzeugkoordinaten in den lokalen Karten nicht angeben, wo sich das Fahrzeug auf der Erdoberfläche befindet. Darüber hinaus müssen die lokalen Karten nicht über große Entfernungen genau sein, was zu keiner starren Transformation führt, die eine lokale Karte in das globale Weltkoordinatensystem einbetten könnte.
  • Solche Darstellungen können durch Crowdsourcing erstellt und gepflegt werden. Um solche Crowdsourcing-Karten zu verwenden, kann ein effizientes Verfahren verwendet werden, um die lokale Karte mit dem Karosserie-Bezugssystem auszurichten, ohne ein Standard-Weltkoordinatensystem zu durchlaufen. Daher ist es zumindest in den meisten Szenarien und Umständen nicht erforderlich, eine genaue Schätzung der Fahrzeugposition und -position in globalen Koordinaten vorzunehmen. Darüber hinaus kann der Speicherbedarf der lokalen Karten daher relativ klein gehalten werden.
  • Das der Kartengenerierung zugrunde liegende Prinzip ist die Integration der Selbstbewegung. Die Fahrzeuge können die Bewegung ihrer Kameras im Raum wahrnehmen (z.B. 3D-Übersetzung und 3D-Rotation). Die Fahrzeuge und/oder der Server können die Trajektorie jedes Fahrzeugs durch Integration der Selbstbewegung im Laufe der Zeit rekonstruieren, und dieser integrierte Weg kann als Modell für die Straßengeometrie verwendet werden. In einigen Ausführungsformen kann dieser Prozess mit dem Erfassen von Fahrbahnmarkierungen im Nahbereich kombiniert werden, und dann kann die rekonstruierte Route den Weg widerspiegeln, dem ein Fahrzeug folgen sollte, und nicht den speziellen Weg, dem das Fahrzeug gefolgt ist. Das heißt, die rekonstruierte Route oder Trajektorie kann basierend auf den erfassten Daten in Bezug auf Nahbereichsfahrspurmarkierungen geändert werden, und die modifizierte rekonstruierte Trajektorie kann als empfohlene Trajektorie oder Solltrajektorie verwendet werden, die im Straßenmodell oder in der kargen Karte gespeichert werden kann, um von anderen Fahrzeugen verwendet zu werden, die den gleichen Straßenabschnitt fahren.
  • In jeder dieser Ausführungsformen kann das Kartenkoordinatensystem beliebig sein. So kann beispielsweise ein Kamera-Bezugssystem zu einem beliebigen Zeitpunkt ausgewählt und als Kartenursprung verwendet werden. Die integrierte Trajektorie der Kamera kann dann im Koordinatensystem des jeweiligen ausgewählten Bildes ausgedrückt werden. Dementsprechend kann es sein, dass der Wert der Routenkoordinaten in der Karte nicht direkt einen Standort auf der Erde darstellt.
  • Der integrierte Pfad kann zu Fehlern führen. So ist beispielsweise die Erfassung der Selbstbewegung möglicherweise nicht absolut genau. Das Ergebnis des akkumulierten Fehlers ist, dass die lokale Karte divergieren kann und die lokale Karte möglicherweise nicht als lokale Kopie der globalen Karte funktioniert. Im Allgemeinen gilt: Je größer die Größe des lokalen Kartenausschnitts, desto größer ist die Abweichung von der globalen Karte. Die Beliebigkeit und Divergenz der lokalen Karten ist im Allgemeinen nicht eine Folge der Integrationsmethode, die angewendet werden kann, um die Karten in einer Crowdsourcing-Form zu erstellen (z.B. durch Fahrzeuge, die entlang der Straßen fahren).
  • Diese Abweichungen können über weite Strecken auftreten. Da die Karte zur Planung einer Trajektorie in unmittelbarer Nähe des Fahrzeugs verwendet wird, kann der Effekt der Abweichung akzeptabel sein. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann den Ausrichtvorgang jederzeit wiederholen und anhand der Karte die Straßenlage (im Kamera-Koordinatensystem) einige 1,3 Sekunden im Voraus vorhersagen (oder jede andere Sekunde, z.B. 1,5 Sekunden, 1,0 Sekunden, 1,8 Sekunden usw.). Solange der akkumulierte Fehler über diese Strecke ausreichend klein ist, kann der für autonomes Fahren vorgesehene Lenkbefehl problemlos verwendet werden.
  • In einigen Ausführungsformen ist es möglich, dass sich eine lokale Karte auf einen lokalen Bereich konzentriert und nicht auf einen großen Bereich. Dementsprechend kann ein Fahrzeug, das eine lokale Karte zum Lenken im autonomen Fahren verwendet, an einem Punkt am Ende der Karte ankommen und möglicherweise auf einen anderen lokalen Teil oder Ausschnitt einer Karte (d.h. eine andere lokale Karte) wechseln müssen. Die Umschaltung kann durch überlappende Bereiche der lokalen Karten ermöglicht werden. Sobald das Fahrzeug beispielsweise den für beide Karten gemeinsamen Bereich betritt, kann das System (z.B. Server 1230 oder Fahrzeug 1205) weiterhin Lenkbefehle basierend auf einer ersten lokalen Karte (der aktuell verwendeten Karte) erzeugen, aber auch das Fahrzeug auf der anderen Karte (der zweiten lokalen Karte) lokalisieren, die mit der ersten lokalen Karte überlappt. Somit kann das System (z.B. Server 1230 oder Fahrzeug 1205) gleichzeitig den aktuellen Koordinatenrahmen der Kamera mit dem Koordinatenrahmen der ersten Karte und dem Koordinatenrahmen der zweiten Karte ausrichten. Sobald die neue Ausrichtung festgelegt ist, kann das System auf die andere Karte (die zweite lokale Karte) wechseln und die Fahrzeugtrajektorie mit dieser planen.
  • Um die Koordinatensysteme des Fahrzeugs und der Karte auszurichten, können die offenbarten Systeme ein Ausrichtungsverfahren verwenden. In einem Beispiel für ein solches Verfahren kann das System einen ID-Schätzer für die Position des Fahrzeugs entlang der Straße berechnen, z.B. unter Verwendung spärlicher Orientierungspunkte und der Integration der Selbstgeschwindigkeit. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann die Form der Trajektorie selbst verwenden, um den Rotationsanteil der Ausrichtung zu berechnen, z.B. mit einem Heckausrichtungsverfahren. Dementsprechend kann das Fahrzeug während der Fahrt mit dem „Heck“ seine eigene Trajektorie rekonstruieren und eine Drehung um seine angenommene Position entlang der Straße berechnen, um das Heck mit der Karte auszurichten. Ein solches Ausrichtungsverfahren unterscheidet sich von der Ausrichtung der im Folgenden in Bezug auf die FIGen 28A-28C behandelten Crowdsourcing-Daten.
  • In jeder der oben genannten Ausführungsformen kann weiterhin ein GPS-Gerät verwendet werden. Beispielsweise können globale Koordinaten für die Indexierung der Datenbank verwendet werden, die die Trajektorien und/oder Orientierungspunkte speichert. Somit können das entsprechende Stück der lokalen Karte und die relevanten Orientierungspunkte in der Nähe der Fahrzeuge im Speicher gespeichert und mit Hilfe von globalen GPS-Koordinaten aus dem Speicher abgerufen werden. Die globalen Koordinaten müssen jedoch nicht für die Wegplanung verwendet werden, da sie möglicherweise nicht genau sind. Dementsprechend kann sich die Verwendung von globalen Koordinaten auf die Indexierung beschränken.
  • In Situationen, in denen die „Heckausrichtung“ nicht gut funktioniert, kann das System (z.B. Server 1230 oder Fahrzeug 1205) die Position des Fahrzeugs aus einer größeren Anzahl von Orientierungspunkten berechnen. So kann beispielsweise das System (z.B. Server 1230 oder Fahrzeug 1205) semantische Orientierungspunkte (z.B. Verkehrszeichen) verwenden, die aus der Szene zuverlässig erkannt und mit den im Straßenmodell oder in der spärlichen Karte gespeicherten Orientierungspunkten verglichen werden können. In einigen Fällen können die offenbarten Systeme auch nicht-semantische Orientierungspunkte (z.B. allgemeine Hinweisschilder) verwenden, und in solchen Fällen können die nicht-semantischen Orientierungspunkte an eine Erscheinungs-Signatur angehängt werden. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann eine Lernmethode zur Erzeugung von Signaturen verwenden, die dem Erkennungsparadigma „gleich oder nicht gleich“ folgt.
  • Bei vielen Fahrten mit GPS-Koordinaten können die offenbarten Systeme beispielsweise die zugrunde liegenden Straßenstrukturknotenpunkte und Straßenabschnitte erzeugen, wie vorstehend in Bezug auf 14 erläutert. Es kann davon ausgegangen werden, dass die Straßen weit genug voneinander entfernt sind, um sie mit dem GPS unterscheiden zu können. In einigen Ausführungsformen kann daher nur eine grobkörnige Karte erforderlich sein. Um das zugrunde liegende Straßenstrukturdiagramm zu erzeugen, kann der Raum in ein Gitter mit einer bestimmten Auflösung (z.B. 50 m × 50 m) unterteilt werden. Jede Fahrt kann als eine geordnete Liste von Gitterstellen betrachtet werden. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann jede zu einer Fahrt gehörende Gitterstelle färben, um ein Abbild der zusammengeführten Fahrten zu erzeugen. Die farbigen Gitterstellen können als Knoten auf den zusammengeführten Fahrten dargestellt werden. Die Fahrten, die von einem Knoten zum anderen führen, können als Links dargestellt werden. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann kleine Löcher im Bild füllen, um eine Unterscheidung der Spuren zu vermeiden und GPS-Fehler zu korrigieren. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann einen geeigneten Ausdünnungsalgorithmus (z.B. einen Algorithmus namens „Zhang-Suen“ Ausdünnungsalgorithmus) verwenden, um das Skelett des Bildes zu erhalten. Dieses Skelett kann die darunterliegende Straßenstruktur darstellen, und Kreuzungen können über eine Maske gefunden werden (z.B. ein Punkt, der mit mindestens drei anderen verbunden ist). Nachdem die Verbindungen gefunden wurden, können die Abschnitte die Skelettteile sein, die sie verbinden. Um die Fahrten wieder auf das Skelett abzustimmen, kann das System ein Hidden Markov-Modell verwenden. Jeder GPS-Punkt kann mit einer Gitterstelle verbunden sein, deren Wahrscheinlichkeit invers zu seiner Entfernung von dieser Stelle ist. Das System (z.B. Server 1230 oder Fahrzeug 1205) kann einen geeigneten Algorithmus (z.B. einen Algorithmus namens „Viterbi“) verwenden, um GPS-Punkte mit Gitterstellen zu vergleichen, ohne dass aufeinanderfolgende GPS-Punkte mit nicht benachbarten Gitterstellen übereinstimmen dürfen.
  • Eine Vielzahl von Verfahren kann verwendet werden, um die Fahrten wieder auf die Karte abzubilden. So kann beispielsweise das Abbilden während des Ausdünnungsprozesses durchgeführt werden. Zusätzlich oder alternativ kann das System (z.B. Server 1230 oder Fahrzeug 1205) eine Näherungsanpassung verwenden. Zusätzlich oder alternativ kann das System (z.B. Server 1230 oder Fahrzeug 1205) ein Hidden Markov-Modell und/oder einen Viterbi verwenden.
  • 16 veranschaulicht einen Prozess der Bündelung von Fahrzeugtrajektorien, die den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind, um eine Solltrajektorie für den gemeinsamen Straßenabschnitt (z.B. Straßenabschnitt 1200) zu bestimmen. Die Solltrajektorie oder eine Vielzahl von Solltrajektorien, die aus dem Clustering-Prozess bestimmt werden, können in das autonome Fahrzeug-Straßennavigationsmodell oder die spärliche Karte 800 aufgenommen werden. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220, 1220 und 1225, die entlang des Straßenabschnitts 1200 fahren, eine Vielzahl von Trajektorien 1600 an den Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Orientierungspunkten-, Straßengeometrie- und Fahrzeugbewegungsinformationen erzeugen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das autonome Fahrzeug-Straßennavigationsmodell zu erzeugen, kann der Server 1230 die Fahrzeugtrajektorien 1600 zu einer Vielzahl von Clustern 1605, 1610, 1615, 1620, 1625 und 1630 bündeln, wie in 16 dargestellt.
  • Clustering kann nach verschiedenen Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf die absolute Richtung entlang des Straßenabschnitts 1200 ähnlich sein. Der absolute Kurs kann aus GPS-Signalen erhalten werden, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann der absolute Kurs durch Koppelnavigation ermittelt werden. Die Koppelnavigation, wie ein Fachmann verstehen würde, kann verwendet werden, um die aktuelle Position und damit die Richtung der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 unter Verwendung einer zuvor bestimmten Position, einer geschätzten Geschwindigkeit usw. zu bestimmen. Trajektorien, die nach absoluten Überschriften gebündelt sind, können nützlich sein, um Routen entlang der Fahrbahnen zu identifizieren.
  • In einigen Ausführungsformen können alle Fahrwerke in einem Cluster in Bezug auf die Fahrspurzuweisung (z.B. in der gleichen Fahrspur vor und nach einer Kreuzung) entlang der Fahrt auf dem Straßenabschnitt 1200 ähnlich sein. Trajektorien, die nach Fahrspurzuweisung gebündelt sind, können nützlich sein, um Fahrspuren entlang der Fahrbahnen zu identifizieren. In einigen Ausführungsformen können beide Kriterien (z.B. absolute Kursrichtung und Fahrspurzuweisung) für das Clustering verwendet werden.
  • In jedem Cluster 1605, 1610, 1615, 1615, 1620, 1625 und 1630 können Trajektorien gemittelt werden, um eine dem spezifischen Cluster zugeordnete Solltrajektorie zu erhalten. So können beispielsweise die Trajektorien von mehreren Fahrten, die dem gleichen Spurcluster zugeordnet sind, gemittelt werden. Die gemittelte Trajektorie kann eine Solltrajektorie sein, die mit einer bestimmten Spur verbunden ist. Um einen Cluster von Trajektorien zu berechnen, kann der Server 1230 ein Bezugssystem einer beliebigen 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 ganze Zahl ist, die der Gesamtzahl der im Cluster enthaltenen Trajektorien entspricht. Server 1230 kann eine mittlere Kurve oder Trajektorie im C0-Bezugssystem berechnen.
  • Um Fahrspuren aus den Trajektorien zusammenzustellen, kann der Server 1230 ein Bezugssystem einer beliebigen Fahrspur auswählen. Der Server 1230 kann teilweise überlappende Fahrspuren dem ausgewählten Bezugssystem zuordnen. Der Server 1230 kann die Zuordnung fortsetzen, bis sich alle Spuren im gleichen Bezugssystem befinden. Fahrspuren, die nebeneinander liegen, können so ausgerichtet werden, als wären sie die gleiche Fahrspur, und später können sie seitlich verschoben werden. In einigen Ausführungsformen kann jede Fahrspur des Straßenabschnitts 120 mit einer Solltrajektorie und bestimmten Orientierungspunkten verknüpft sein. Die Solltrajektorie oder eine Vielzahl solcher Solltrajektorien kann in das autonome Fahrzeug-Straßennavigationsmodell aufgenommen werden, das später von anderen autonomen Fahrzeugen verwendet werden kann, die auf demselben Straßenabschnitt 1200 fahren. Orientierungspunkte, die von den Fahrzeugen 1205, 1210, 1215, 1220, 1220 und 1225 identifiziert werden, während die Fahrzeuge entlang des Straßenabschnitts 1200 fahren, können in Verbindung mit der Solltrajektorie erfasst werden. Die Daten der Solltrajektorien und Orientierungspunkte können kontinuierlich oder periodisch mit neuen Daten aktualisiert werden, die von anderen Fahrzeugen bei nachfolgenden Fahrten empfangen werden.
  • Zur Lokalisierung eines autonomen Fahrzeugs können die offenbarten Systeme und Verfahren einen erweiterten Kalman-Filter verwenden. Der Standort des Fahrzeugs kann anhand von dreidimensionalen Positionsdaten und/oder dreidimensionalen Orientierungspunktdaten bestimmt werden. In einigen Ausführungsformen kann die Lokalisierung des Fahrzeugs durch Bildbeobachtungen von Orientierungspunkten korrigiert oder angepasst werden. Wenn das Fahrzeug beispielsweise einen Orientierungspunkt in einem von der Kamera aufgenommenen Bild erkennt, kann der Orientierungspunkt mit einem bekannten Orientierungspunkt verglichen werden, der im Straßenmodell oder der spärlichen Karte 800 gespeichert ist. Der bekannte Orientierungspunkt kann einen bekannten Standort (z.B. GPS-Daten) entlang einer im Straßenmodell und/oder in der spärlichen Karte 800 gespeicherten Solltrajektorie aufweisen. Basierend auf der aktuellen Geschwindigkeit und den Bildern der Orientierungspunkte kann die Entfernung vom Fahrzeug zum Orientierungspunkt geschätzt werden. Die Position des Fahrzeugs entlang einer Solltrajektorie kann basierend auf der Entfernung zum Orientierungspunkt und der bekannten Position des Orientierungspunktes angepasst werden (gespeichert im Straßenmodell oder in der spärlichen Karte 800). Die im Straßenmodell und/oder in der spärlichen Karte 800 gespeicherten Positions-/Ortsdaten des Orientierungspunktes (z.B. Mittelwerte von mehreren Fahrten) können als genau angesehen werden.
  • In einigen Ausführungsformen kann das offenbarte System ein Subsystem mit geschlossenem Regelkreis bilden, bei dem die Schätzung des Fahrzeugs sechs Freiheitsgrade (z.B. dreidimensionale Positionsdaten plus dreidimensionale Orientierungspunktdaten) zum Navigieren (z.B. Lenken des Rades) des autonomen Fahrzeugs verwendet werden kann, um einen gewünschten Punkt zu erreichen (z.B. 1,3 Sekunden voraus im gespeicherten Zustand). Im Gegenzug können die von der Lenkung und der tatsächlichen Navigation gemessenen Daten verwendet werden, um die sechs Freiheitsgrade zu schätzen.
  • 17 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für die autonome Navigation mit Hilfe einer von Crowdsourcing erstellten spärlichen Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als Fahrzeug 1205 bezeichnet. Das in 17 dargestellte Fahrzeug kann jedes andere hierin offenbarte Fahrzeug sein, einschließlich beispielsweise der Fahrzeuge 1210, 1215, 1220 und 1225, sowie das in anderen Ausführungsformen dargestellte Fahrzeug 200. Wie in 17 dargestellt, 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 1700 beinhalten, das konfiguriert ist, um eine Navigationsführung für das Fahrzeug 1205 zum Fahren auf einer Straße (z.B. Straßenabschnitt 1200) bereitzustellen. Das Fahrzeug 1205 kann auch andere Sensoren beinhalten, wie beispielsweise einen Geschwindigkeitssensor 1720 und einen Beschleunigungssensor 1725. Der Geschwindigkeitssensor 1720 kann konfiguriert werden, um die Geschwindigkeit des Fahrzeugs 1205 zu erfassen. Der Beschleunigungssensor 1725 kann konfiguriert werden, um eine Beschleunigung oder Verzögerung des Fahrzeugs 1205 zu erfassen. Das in 17 dargestellte Fahrzeug 1205 kann ein autonomes Fahrzeug sein, und das Navigationssystem 1700 kann zur Bereitstellung einer Navigationsführung für autonomes Fahren verwendet werden. Alternativ kann das Fahrzeug 1205 auch ein nicht autonomes, von Menschen gesteuertes Fahrzeug sein, und das Navigationssystem 1700 kann weiterhin zur Navigation verwendet werden.
  • Das Navigationssystem 1700 kann eine Kommunikationseinheit 1705 beinhalten, die konfiguriert ist, um mit dem Server 1230 über den Kommunikationspfad 1235 zu kommunizieren. Das Navigationssystem 1700 kann auch eine GPS-Einheit 1710 beinhalten, die zum Empfangen und Verarbeiten von GPS-Signalen konfiguriert ist. Das Navigationssystem 1700 kann ferner mindestens einen Prozessor 1715 beinhalten, der konfiguriert ist, um Daten zu verarbeiten, wie z.B. GPS-Signale, Kartendaten von der spärlichen Karte 800 (die auf einer Speichervorrichtung gespeichert werden können, die an Bord des Fahrzeugs 1205 bereitgestellt und/oder vom Server 1230 empfangen werden kann), Straßengeometrie, die von einem Straßenprofilsensor 1730 erfasst wird, Bilder, die von der Kamera 122 aufgenommen werden, und/oder ein autonomes Fahrzeug-Straßennavigationsmodell, das von Server 1230 empfangen wird. Der Straßenprofilsensor 1730 kann verschiedene Arten von Vorrichtungen zum Messen verschiedener Arten von Straßenprofilen beinhalten, wie z.B. Straßenoberflächenrauhigkeit, Straßenbreite, Straßenhöhe, Straßenkrümmung, etc. So kann beispielsweise der Straßenprofilsensor 1730 eine Vorrichtung beinhalten, die die Bewegung einer Aufhängung des Fahrzeugs 1205 misst, um das Straßenrauhigkeitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 1730 Radarsensoren beinhalten, um den Abstand vom Fahrzeug 1205 zu den Straßenrändern (z.B. Barriere an den Straßenrändern) zu messen und so die Breite der Straße zu messen. In einigen Ausführungsformen kann der Straßenprofilsensor 1730 eine Vorrichtung beinhalten, die zum Messen der Auf- und Abwärtshöhe der Straße konfiguriert ist. In einigen Ausführungsformen kann der Straßenprofilsensor 1730 eine Vorrichtung beinhalten, die zum Messen der Straßenkrümmung konfiguriert ist. So kann beispielsweise eine Kamera (z.B. Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder der Straße mit Straßenkrümmungen aufzunehmen. Das Fahrzeug 1205 kann diese Bilder verwenden, um Straßenkrümmungen zu erkennen.
  • Der mindestens eine Prozessor 1715 kann programmiert werden, um von der Kamera 122 mindestens ein Umgebungsbild zu empfangen, das dem Fahrzeug 1205 zugeordnet ist. Der mindestens eine Prozessor 1715 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen in Bezug auf das Fahrzeug 1205 zu bestimmen. Die Navigationsinformationen können eine Trajektorie beinhalten, die sich auf die Fahrt des Fahrzeugs 1205 entlang des Straßenabschnitts 1200 bezieht. Der mindestens eine Prozessor 1715 kann die Trajektorie basierend auf Bewegungen der Kamera 122 (und damit des Fahrzeugs) bestimmen, wie beispielsweise dreidimensionale Translation und dreidimensionale Drehbewegungen. In einigen Ausführungsformen kann der mindestens eine Prozessor 1715 die Verschiebe- und Drehbewegungen der Kamera 122 basierend auf der Analyse einer Vielzahl von mit der Kamera 122 aufgenommenen Bildern bestimmen. In einigen Ausführungsformen können die Navigationsinformationen Informationen zur Fahrspurzuweisung beinhalten (z.B. in welcher Fahrspur das Fahrzeug 1205 entlang des Straßenabschnitts 1200 fährt). Die vom Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen können vom Server 1230 verwendet werden, um ein autonomes Fahrzeug-Straßennavigationsmodell zu erzeugen und/oder zu aktualisieren, das vom Server 1230 an das Fahrzeug 1205 zurück übertragen werden kann, um eine autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 1715 kann auch programmiert werden, um die Navigationsinformationen vom Fahrzeug 1205 zum Server 1230 zu übertragen. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen an den Server 1230 übertragen werden. Die Straßenortungsinformationen können mindestens eines der von der GPS-Einheit 2310 empfangenen GPS-Signale, Orientierungspunktinformationen, Straßengeometrie, Spurinformationen usw. beinhalten. Der mindestens eine Prozessor 2315 kann vom Server 1230 das autonome Fahrzeug-Straßennavigationsmodell oder einen Teil des Modells empfangen. Das vom Server 1230 empfangene autonome Fahrzeug-Straßennavigationsmodell kann mindestens ein Update basierend auf den vom Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen beinhalten. Der Teil des vom Server 1230 an das Fahrzeug 1205 übertragenen Modells kann einen aktualisierten Teil des Modells beinhalten. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z.B. Lenken, wie z.B. Abbiegen, Bremsen, Beschleunigen, Vorbeifahren eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen autonomen Fahrzeug-Straßen-Navigationsmodell oder dem aktualisierten Teil des Modells verursachen.
  • Der mindestens eine Prozessor 1715 kann konfiguriert werden, um mit verschiedenen Sensoren und Komponenten zu kommunizieren, die im Fahrzeug 1205 enthalten sind, einschließlich der Kommunikationseinheit 1705, GPS-Einheit 1715, Kamera 122, Geschwindigkeitssensor 1720, Beschleunigungssensor 1725 und Straßenprofilsensor 1730. Der mindestens eine Prozessor 1715 kann Informationen oder Daten von verschiedenen Sensoren und Komponenten sammeln und die Informationen oder Daten über die Kommunikationseinheit 1705 an den 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 von den Sensoren oder Komponenten gesammelt wurden, an den Server 1230 übertragen.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 miteinander kommunizieren und Navigationsinformationen miteinander austauschen, so dass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 das autonome Fahrzeug-Straßennavigationsmodell unter Verwendung von Crowdsourcing erzeugen kann, z.B. basierend auf Informationen, die von anderen Fahrzeugen ausgetauscht werden. 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 wird, aktualisieren. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1215, 1220 und 1225 (z.B. Fahrzeug 1205) als Trägerfahrzeug fungieren. Der mindestens eine Prozessor 1715 des Trägerfahrzeugs (z.B. Fahrzeug 1205) kann einige oder alle Funktionen ausführen, die vom Server 1230 ausgeführt werden. So kann beispielsweise der mindestens eine Prozessor 2315 des Trägerfahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 1715 des Trägerfahrzeugs kann das autonome Fahrzeug-Straßennavigationsmodell oder eine Aktualisierung des Modells basierend auf den von anderen Fahrzeugen empfangenen gemeinsamen Informationen erzeugen. Der mindestens eine Prozessor 1715 des Trägerfahrzeugs kann das autonome Fahrzeug-Straßennavigationsmodell oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, um eine autonome Navigationsführung bereitzustellen.
  • Fahrspurdaten-Kompression
  • In den oben erläuterten Ausführungsformen können Fahrspurdaten zwischen Fahrzeugen und einem Server als eine Vielzahl von Splines übertragen werden. So kann beispielsweise eine Fahrbahn mit einem Polynom dargestellt werden, ebenso wie Straßenmerkmale wie Fahrspurmarkierungen, Straßenränder, Leitplanken und dergleichen. Dementsprechend können Daten, die die Trajektorien darstellen, mit Hilfe von Koeffizienten eines Polynoms kodiert (und damit komprimiert) werden. Für einige Trajektorien ist jedoch ein stückweises Polynom erforderlich. Die Kompression, die beim Kodieren einer Spline als stückweises Polynom erreicht wird, kann je nachdem, wie häufig sich die Koeffizienten ändern und wie viele Knoten innerhalb der Spline vorhanden sind, deutlich geringer sein.
  • Dementsprechend kann die Kodierung einer Trajektorie als Spline für die Übertragung über ein Computernetzwerk zu Problemen führen, wenn die Datenkompression klein und die Netzwerkbandbreite gering ist. Um dieses technische Problem zu überwinden, ermöglichen Ausführungsformen der vorliegenden Offenbarung, dass ein Fahrzeug Splines als eine Reihe von Punkten (optional mit Winkeln) kodiert, um sie in einer Matrix zu kodieren und zur Rekonstruktion als Spline auf einem entfernten Server zu übertragen. Darüber hinaus kann das Fahrzeug in einigen Ausführungsformen angepasst werden, um zwischen einem dichten Übertragungsmodus, in dem volle Splines hochgeladen werden, und einem spärlichen Übertragungsmodus, in dem Punkte (optional mit Winkeln) hochgeladen werden, zu wechseln. So kann das Fahrzeug beispielsweise zwischen dem dichten und dem spärlichen Modus wählen, abhängig von dem Niveau der zu übertragenden Daten, der Stärke einer Verbindung zwischen dem Fahrzeug und dem Server, der Bandbreite der Verbindung oder einer beliebigen Kombination davon. Zusätzlich oder alternativ kann das Fahrzeug bestimmen, einen dichten Modus für Straßenmerkmale zu verwenden, die als komplex eingestuft sind (z.B. eine Leitplanke oder dergleichen) und/oder Straßenmerkmale innerhalb einer komplexen Umgebung (z.B. eine mehrspurige Autobahn, eine überfüllte Stadtstraße oder dergleichen), aber es kann auch einen spärlichen Modus für Straßenmerkmale verwenden, die als einfach eingestuft sind (z.B. Fahrspurmarkierungenoder dergleichen) und/oder Straßenmerkmale innerhalb einer einfachen Umgebung (z.B. eine zweispurige Landstraße, eine Autobahn nicht während der Hauptverkehrszeit oder dergleichen). Zusätzlich oder alternativ kann das Fahrzeug bestimmen, ob es einen dichten Modus für Straßenmerkmale mit einem Vertrauenswert unterhalb eines bestimmten Schwellenwerts und einen spärlichen Modus für Straßenmerkmale mit einem Vertrauenswert oberhalb des Schwellenwerts verwendet. Der Vertrauenswert kann auf einer Anzahl von Punkten basieren, die bestimmt wurden, um mit den Straßenmerkmalen, einer Erkennungsqualität (z.B. Ausgabe von einem neuronalen Netzwerk oder einem anderen Objektdetektor) oder dergleichen verbunden zu sein. Zusätzlich oder alternativ kann das Fahrzeug die Umgebungsbedingungen verwenden, um zu bestimmen, ob es einen spärlichen Modus oder einen dichten Modus verwenden soll. So kann das Fahrzeug beispielsweise einen dichten Modus bei Regen, bewölkten Bedingungen, wenn die Sichtbarkeit eines oder mehrerer Bilderfassungsvorrichtungen unter einem Schwellenwert liegt, wenn ein hohes Reflexionsvermögen von einem Straßenmerkmal oder dergleichen vorliegt, aber einen spärlichen Modus bei sonnigem oder klarem Wetter, Sicht über dem Schwellenwert, einem niedrigen Reflexionsvermögen oder dergleichen verwenden.
  • 18A veranschaulicht ein Beispiel für Rohdaten von vier verschiedenen Fahrten. Im Beispiel von 28A werden die Rohdaten von der ersten Fahrt als eine Reihe von Sternen dargestellt, die Rohdaten von der zweiten Fahrt als eine Reihe von ausgefüllten Feldern, die Rohdaten von der dritten Fahrt als eine Reihe von offenen Quadraten, und die Rohdaten von der vierten Fahrt als eine Reihe von offenen Kreisen. Wie man als Fachmann erkennen würde, sind die Formen nur eine Illustration der Daten selbst, die als eine Reihe von Koordinaten gespeichert werden können, ob lokal oder global.
  • Wie in 18A zu sehen ist, können die Fahrten auf verschiedenen Fahrspuren entlang derselben Straße (dargestellt durch die Linie 1800) auftreten. Darüber hinaus stellt 18A dar, dass die Fahrtdaten Abweichungen aufgrund von Fehlern bei Standortmessungen (z.B. GPS) beinhalten können und aufgrund von Systemfehlern fehlende Datenpunkte aufweisen können. Schließlich stellt 18A auch dar, dass jede Fahrt an einem anderen Punkt innerhalb eines Abschnitts entlang der Straße beginnen und enden kann.
  • 18B veranschaulicht ein weiteres Beispiel von Rohdaten von fünf verschiedenen Fahrten. Im Beispiel von 18B werden die Rohdaten der ersten Fahrt als eine Reihe von ausgefüllten Feldern dargestellt, die Rohdaten der zweiten Fahrt als eine Reihe von offenen Feldern, die Rohdaten der dritten Fahrt als eine Reihe von offenen Kreisen, die Rohdaten der vierten Fahrt als eine Reihe von Sternen, und die Rohdaten der fünften Fahrt als eine Reihe von Dreiecken. Wie man als Fachmann erkennen würde, sind die Formen nur eine Illustration der Daten selbst, die als eine Reihe von Koordinaten gespeichert werden können, ob lokal oder global.
  • 18B veranschaulicht ähnliche Eigenschaften der Fahrtdaten wie 18A. 18B stellt ferner dar, dass eine Kreuzung erkannt werden kann, indem die Bewegung der fünften Fahrt weg von den anderen verfolgt wird. So können beispielsweise die Beispieldaten in 18B darauf hindeuten, dass auf der rechten Straßenseite (dargestellt durch die Linie 1800) eine Ausfahrt vorhanden ist. 18B zeigt auch, dass zusätzliche Fahrspuren erkannt werden können, wenn Daten auf einem neuen Abschnitt der Straße beginnen. So kann beispielsweise die vierte Fahrt in den Beispieldaten in 28B darauf hindeuten, dass kurz nach der erkannten Ausfahrt eine vierte Spur zur Straße hinzugefügt wird.
  • 18C veranschaulicht ein Beispiel für Rohdaten mit Solltrajektorien daraus. So haben beispielsweise die ersten Fahrtdaten (dargestellt durch Dreiecke) und die zweiten Fahrtdaten (dargestellt durch offene Quadrate) eine zugehörige Solltrajektorie 1810. Ebenso weisen die dritten Fahrtdaten (dargestellt durch offene Kreise) eine zugeordnete Solltrajektorie 1820 und die Daten der vierten Fahrt (dargestellt durch ausgefüllte Felder) eine zugeordnete Solltrajektorie 1830 auf. In einigen Ausführungsformen können die Fahrtdaten so rekonstruiert werden, dass jeder Fahrspur eine Solltrajektorie zugeordnet ist, wie in 18C dargestellt. Solche Solltrajektorien können aus einem oder mehreren einfachen glatten Linienmodellen erzeugt werden, wenn eine korrekte Ausrichtung der Patches der Fahrtdaten erfolgt.
  • Zusätzlich zu den als Splines kodierten Solltrajektorien muss sich ein Hostfahrzeug innerhalb bestimmter Straßenmerkmale befinden, wie Fahrbahnmarkierungen, Straßenränder, Geländer und dergleichen. Anstatt diese Merkmale als separate Splines zu kodieren, ermöglichen die folgenden Ausführungsformen eine stärker komprimierte Kodierung von Straßenmerkmalen, indem sie die Straßenmerkmale mit dem für die Fahrt verwendeten Spline verbinden.
  • 19 ist ein exemplarisches Funktionsblockdiagramm des Speichers 140 und/oder 150, das mit Anweisungen zum Ausführen einer oder mehrerer Operationen gemäß den offenbarten Ausführungsformen gespeichert/programmiert werden kann. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 19 dargestellt, kann der Speicher 140 ein Straßenmerkmalmodul 1902, ein Punktortungsmodul 1904, ein Spline-Codiermodul 1906 und ein Übertragungsmodul 1908 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration des Speichers 140 beschränkt. Darüber hinaus kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die in einem der Module 1902, 1904, 1906 und 1908 im Speicher 140 gespeicherten Anweisungen ausführen. Ein Fachmann der Technik wird verstehen, dass sich Bezugnahmen in den folgenden Diskussionen auf die Verarbeitungseinheit 110 auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können die Schritte eines der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das Straßenmerkmalsmodul 1902 Anweisungen speichern, die bei Ausführung durch die Verarbeitungseinheit 110 dazu führen, dass die Verarbeitungseinheit 110 von mindestens einer Bilderfassungsvorrichtung eine Vielzahl von Bildern empfängt, die eine Umgebung des Hostfahrzeugs darstellen. So kann beispielsweise das Straßenmerkmalmodul 1902 Bilder empfangen (und in einigen Ausführungsformen speichern), die von einer der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden.
  • Das Straßenmerkmalsmodul 1902 kann weitere Anweisungen (wie beispielsweise eine Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine Bildanalyse der Vielzahl von Bildern durchführen (z.B. von einer der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen). Die Bildanalyse kann dazu dienen, in der Vielzahl von Bildern das Vorhandensein eines Straßenmerkmals zu erkennen. So kann beispielsweise das Straßenbelagsmerkmal eine Straßenkante oder eine Fahrspurmarkierung beinhalten. Die Bildanalyse kann Pixelabgleich, Patchabgleich, Klassifikatoren (oder kaskadierende Klassifikatoren), neuronale Netzwerke (wie z.B. ein You Only Look Once (YOLO)-Netzwerk, ein Single-Shot-Detektor (SSD)-Netzwerk oder dergleichen) oder eine beliebige Kombination davon beinhalten, um das Straßenmerkmal zu identifizieren.
  • Das Straßenmerkmal kann einer Fahrbahn zugeordnet werden, die von einem Hostfahrzeug befahren wird. So kann beispielsweise die Fahrspurmarkierung oder der Straßenrand der vom Fahrzeug befahrenen Fahrbahn und nicht einer Fahrbahn zugeordnet werden, die sich parallel zur vom Fahrzeug befahrenen Fahrbahn kreuzt oder verläuft. Darüber hinaus kann das Straßenmerkmal mit einer aktuellen Fahrspur des Hostfahrzeugs verknüpft sein. So kann beispielsweise die Fahrspurmarkierung oder der Straßenrand eine Grenze der aktuellen Fahrspur markieren.
  • In einer Ausführungsform kann das Punktortungsmodul 1904 Anweisungen (wie GPS-Software, visuelle Odometriesoftware und/oder Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine Position eines ersten mit dem Straßenmerkmal verbundenen Punktes in Bezug auf eine Kurve bestimmen, die eine Fahrtroute des Hostfahrzeugs darstellen. So kann beispielsweise das Punktortungsmodul 1904 den Standort unter Verwendung der Analyse der Vielzahl von Bildern bestimmen, die vom Straßenmerkmalelement 1902 empfangen werden. So kann beispielsweise das Punktortungsmodul 1904 unter Verwendung eines Koordinatensystems der Bilderfassungsvorrichtung Koordinaten von mindestens einem Teil des erkannten Merkmals im Koordinatensystem der Bilderfassungsvorrichtung identifizieren. Der erste Punkt kann ein Zentrum des erkannten Merkmals, eine Kante des erkannten Merkmals oder dergleichen darstellen. Das Punktortungsmodul 1904 kann dann das Koordinatensystem der Kamera in ein Koordinatensystem einer aktuellen lokalen Karte und/oder in ein globales Koordinatensystem transformieren. Dementsprechend kann der erste Punkt als Koordinaten im Koordinatensystem der aktuellen Ortskarte und/oder im globalen Koordinatensystem dargestellt werden.
  • Zusätzlich kann das Punktortungsmodul 1904 GPS-Daten und/oder Eigenbewegungsdaten einschließlich der Position des Fahrzeugs erhalten. In solchen Ausführungsformen kann das Punktortungsmodul 1904 die Position des Fahrzeugs nutzen, um die durch die Bildanalyse bestimmte Position des ersten Punktes zu verfeinern. So kann beispielsweise das Punktortungsmodul 1904 einen Standort von mindestens einem Teil des erkannten Merkmals in Bezug auf das Fahrzeug schätzen und dann den aus der Bildanalyse bestimmten Standort mit dem geschätzten Standort in Bezug auf das Fahrzeug mitteln. Zusätzlich oder alternativ kann das Punktortungsmodul 1904 die Position des Fahrzeugs nutzen, um die Transformation der ersten Punktposition aus dem Koordinatensystem der Kamera in ein Koordinatensystem einer aktuellen lokalen Karte und/oder in ein globales Koordinatensystem zu verfeinern. So kann beispielsweise das Punktortungsmodul 1904 die Position des Fahrzeugs in Bezug auf ein Koordinatensystem der aktuellen Ortskarte und/oder in Bezug auf das globale Koordinatensystem bestimmen. Dementsprechend kann das Punktortungsmodul 1904 einen Standort von mindestens einem Teil des erkannten Merkmals in Bezug auf das Fahrzeug schätzen und dann den geschätzten Standort und die Position des Fahrzeugs in Bezug auf ein Koordinatensystem der aktuellen Ortskarte und/oder in Bezug auf das globale Koordinatensystem verwenden, um eine Transformation vom Koordinatensystem der Kamera zum Koordinatensystem der aktuellen Ortskarte und/oder zum globalen Koordinatensystem zu bestimmen.
  • Das Punktortungsmodul 1904 kann weitere Anweisungen (wie GPS-Software, visuelle Odometriesoftware und/oder Computer-Vision-Software) speichern, die, wenn sie von der Verarbeitungseinheit 110 ausgeführt werden, eine Position eines zweiten, dem Straßenmerkmal zugeordneten Punktes in Bezug auf eine Kurve bestimmen, die eine Fahrtroute des Hostfahrzeugs darstellen. So kann beispielsweise die Lage des zweiten Punktes ähnlich wie die der Lage des ersten Punktes bestimmt werden, wie vorstehend beschrieben.
  • Obwohl oben mit zwei Punkten beschrieben, kann eine beliebige Anzahl von Punkten verwendet werden. So kann beispielsweise eine Vielzahl von Punkten verwendet werden, um ein einzelnes Straßenmerkmal zu identifizieren. Dementsprechend kann ein dritter Punkt in Kombination mit dem zweiten Punkt verwendet werden, um das zweite Straßenmerkmal zu identifizieren. Zusätzlich oder alternativ kann ein dritter Punkt, vierter Punkt und dergleichen verwendet werden, um das Straßenmerkmal entlang der Kurve zu identifizieren. In einigen Ausführungsformen können die entlang der Kurve verwendeten Punkte gleichmäßig verteilt sein (z.B. 1 Meter Abstand, 2 Meter Abstand oder dergleichen). Alternativ können die Punkte auch dynamisch angeordnet sein. So können beispielsweise die Punkte so gewählt werden, dass sie näher beieinander liegen, wenn die Größe der Ableitung der Kurve höher und weiter auseinander ist, wenn die Größe der Ableitung der Kurve niedriger ist. Zusätzlich oder alternativ kann die Dichte von einem Navigationsmodus abhängen, wie im Folgenden in Bezug auf das Sendemodul 1908 erläutert.
  • In einer Ausführungsform kann das Spline-Codiermodul 1906 eine von der Verarbeitungseinheit 110 ausführbare Software speichern, um einen Spline zu codieren, der den ersten und den zweiten Standort darstellt. So kann beispielsweise das Spline-Codiermodul 1906 den Spline codieren, wie nachfolgend in Bezug auf 20 erläutert. Nach der Codierung kann die Spline mit dem Übertragungsmodul 1908 gesendet werden, wie im Folgenden erläutert. Der Empfänger des Codierungssplines kann dann den Codierungsspline wie unten in Bezug auf 20 erläutert dekodieren (z.B. unter Verwendung eines Spline-Dekodiermoduls, nicht dargestellt).
  • In einer Ausführungsform kann das Übertragungsmodul 1908 eine von der Verarbeitungseinheit 110 ausführbare Software speichern, um den von dem Spline-Codiermodul 1906 codierten Spline zu übertragen. Dementsprechend kann das Übertragungsmodul 1908 die Übertragung einer Darstellung einer Reihe von Punkten, die mit Positionen entlang des Straßenmerkmals verbunden sind, an einen Server, der sich in Bezug auf das Hostfahrzeug entfernt befindet, bewirken. Die Darstellung kann den ersten Punkt und den zweiten Punkt beinhalten, wie vorstehend beschrieben.
  • In einigen Ausführungsformen kann das Übertragungsmodul 1908 zwischen einer Vielzahl von Navigationsinformationsübertragungsmodi wählen. So kann beispielsweise ein spärlicher Navigationsinformationsübertragungsmodus die Übertragung von ersten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System beinhalten, wobei die ersten Standortinformationen einer ersten Datendichte zugeordnet sind, und ein dichter Navigationsinformationsübertragungsmodus die Übertragung von zweiten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System beinhalten kann, wobei die zweiten Standortinformationen einer zweiten Datendichte zugeordnet sind, die größer als die erste Datendichte ist. Die erste Information kann die Information sein, die vom Spline-Codierungsmodul 1904 codiert wurde, während die zweite Information die Rohdaten Spline-Information sein kann (z.B. alle Koeffizienten und Kontrollpunkte der Spline). Zusätzlich oder alternativ können die ersten Informationen Informationen darstellen, die durch das Spline-Codiermodul 1904 unter Verwendung einer ersten Dichte von Punkten codiert werden (z.B. Punkte, die durch einen ersten Schwellenwert beabstandet sind), während die zweiten Informationen Informationen darstellen können, die durch das Spline-Codiermodul 1904 unter Verwendung einer zweiten, höheren Dichte von Punkten codiert werden (z.B. Punkte, die durch einen zweiten, unteren Schwellenwert beabstandet sind).
  • Darüber hinaus kann jedes der hierin offenbarten Module (z.B. die Module 1902, 1904 und 1906) Techniken implementieren, die mit einem trainierten System (wie einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem nicht trainierten System verbunden sind.
  • 20 veranschaulicht ein Beispiel für die Verwendung von Normalebenen zur Kodierung dreidimensionaler Splines. Im Beispiel von 20 stellt die Spline 2010 eine aktuelle Spline der Bewegung dar, und Punkt 2020 ist ein repräsentativer Punkt entlang der Spline 2010. Die Ableitung 2030 ist dargestellt als ein Vektor, der eine Richtung (und Größe) der Ableitung entlang des Splines 2010 darstellt.
  • Das Beispiel von 20 zeigt weiterhin einen Winkel θ zwischen der Normalebene des Splines 2010 und der Ebene der Fahrbahn. Die Punkte 2040a und 2040b sind daher Schnittpunkte zwischen der Normalebene und der Fahrbahn. So können beispielsweise die Punkte 2040a und 2040b Schnittpunkte zwischen der Normalebene und den Straßenrändern oder Fahrbahnkanten oder andere Indikatoren für die Grenzen der Fahrbahn (oder einer aktuellen Fahrspur auf der Fahrbahn) darstellen. Zusätzlich zum Winkel θ kann der Abstand d1 zwischen Punkt 2020 und Schnittpunkt 2040a sowie der Abstand d2 zwischen Punkt 2020 und Schnittpunkt 2040b bestimmt werden.
  • Die in 20 dargestellten Variablen können zur Kodierung des Spline 2010 verwendet werden. In einem Beispiel kann eine Vielzahl von Punkten (z.B. einschließlich Punkt 2030) als Punkte ausgewählt werden, die für den Spline 2010 repräsentativ sind. Die repräsentativen Punkte können aus dem Spline 2010 extrahiert werden. In einigen Ausführungsformen kann der Spline 2010 vom Hostfahrzeug zur Navigation verwendet werden. Alternativ können die repräsentativen Punkte anhand eines Standorts des Fahrzeugs und/oder basierend auf der Analyse eines oder mehrerer Bilder, die von einer Bilderfassungsvorrichtung empfangen wurden, bestimmt werden, wie vorstehend in Bezug auf das Straßenmerkmalmodul 1902 und/oder das Punktortungsmodul 1904 erläutert. So können beispielsweise die repräsentativen Punkte aus der Eigenbewegung des Fahrzeugs extrahiert werden. Die Punkte können gleichmäßig oder dynamisch verteilt sein, wie vorstehend in Bezug auf das Punktortungsmodul 1904 beschrieben.
  • Darüber hinaus kann die Ableitung als jeder der Vielzahl von Punkten bestimmt werden. So kann beispielsweise in Ausführungsformen, in denen die Spline 2010 zur Navigation verwendet wird, die Ableitung direkt aus dem Polynom berechnet werden, das den Spline 2010 an jedem repräsentativen Punkt darstellt. In Ausführungsformen, bei denen die repräsentativen Punkte anhand des Standorts des Fahrzeugs und/oder der Bildanalyse bestimmt werden, kann der Spline 2010 zunächst anhand der vorherigen Fahrtroute des Fahrzeugs und/oder einer vorhergesagten Fahrtroute des Fahrzeugs bestimmt werden. So kann beispielsweise die Spline 2010 eine Kombination aus einer vergangenen Ich-Bewegung des Fahrzeugs und einer vorhergesagten Ich-Bewegung für das Fahrzeug darstellen. Die Ableitung kann dann mit Hilfe des ermittelten Spline 2010 berechnet werden. Der Spline 2010 kann für jeden repräsentativen Punkt zumindest teilweise neu bestimmt oder nur in bestimmten Abständen (z.B. alle 10 Meter, 20 Meter oder dergleichen) aktualisiert werden.
  • Winkel (z.B. θ) zwischen jeder durch die Ableitungen definierten Normalebene und einer entsprechenden Straßenebene können bestimmt werden. Diese Winkel können in einem Winkel-Array gespeichert werden. So kann beispielsweise der Winkel-Array einen Index aufweisen, der dem Index eines Arrays entspricht, das die repräsentativen Punkte speichert, und/oder eines Arrays, der die Ableitungen speichert. Dementsprechend kann jeder Winkel leicht auf einen entsprechenden Punkt und/oder eine Ableitung abgebildet werden.
  • Darüber hinaus können Schnittpunkte (z.B. 2040a und 2040b) an jedem der Vielzahl von Punkten bestimmt werden. So können beispielsweise die Kreuzungspunkte anhand einer Position des Fahrzeugs und/oder basierend auf der Analyse eines oder mehrerer Bilder, die von einer Bilderfassungsvorrichtung empfangen wurden, bestimmt werden, wie vorstehend in Bezug auf das Straßenmerkmalmodul 1902 und/oder das Punktortungsmodul 1904 erläutert. Zusätzlich oder alternativ kann einer oder mehrere der Schnittpunkte mit der Normalebene aus dem Spline 2010 extrapoliert und die Bildanalyse in der Nähe einer oder mehrerer Regionen basierend auf der Extrapolation durchgeführt werden. So kann beispielsweise die Normalebene aus dem Spline 2010 extrapoliert und das eine oder die mehreren Bilder analysiert werden, um eine Straßenmarkierung, eine Straßenkante, eine Leitplanke oder dergleichen in der Nähe (z.B. innerhalb von 0,1 Metern, innerhalb von 0,2 Metern, innerhalb von 0,5 Metern oder dergleichen) der Normalebene zu identifizieren. Die Schnittpunkte können in einem Schnittpunkt-Array gespeichert werden. So kann beispielsweise das Schnittpunkt-Array einen Index aufweisen, der dem Index des Winkel-Arrays entspricht, ein Array, das die repräsentativen Punkte speichert, und/oder ein Array, das die Ableitungen speichert. Dementsprechend kann jeder Schnittpunkt leicht auf einen entsprechenden Winkel, einen entsprechenden Punkt und/oder eine entsprechende Ableitung abgebildet werden.
  • Für jeden Schnittpunkt kann eine Distanz (z.B. d1, d2) bestimmt werden. So kann beispielsweise eine Bildanalyse durchgeführt werden, um den Abstand zwischen einem bestimmten Schnittpunkt und seinem entsprechenden repräsentativen Punkt auf dem Spline 2010 (z.B. Punkt 2020) zu bestimmen. Die Abstände können in einem Fahrspurabstandsarray gespeichert werden. So kann beispielsweise der Fahrspurabstandsarray einen Index aufweisen, der dem Index des Schnittpunkt-Arrays, des Winkelarrays, eines Arrays, das die repräsentativen Punkte speichert, und/oder eines Arrays, das die Ableitungen speichert, entspricht. Dementsprechend kann jeder Abstand leicht auf einen entsprechenden Schnittpunkt, einen entsprechenden Winkel, einen entsprechenden Punkt und/oder eine entsprechende Ableitung abgebildet werden.
  • Diese Variablen können dann für die Codierung verwendet werden. In einem Beispiel kann für jede Länge in jeder Datenreihe eine Matrix berechnet werden. So kann beispielsweise der Spline 2010 100 Meter lang sein, aber eine benachbarte Fahrspur kann nach 70 Metern enden, so dass der Straßenrand, der die Grenze der benachbarten Fahrspur definiert, nach 70 Metern nicht definiert werden kann (und somit keine relevanten Daten hat). Dementsprechend kann eine Matrix konstruiert werden, die anzeigt, dass eine Begrenzung der aktuellen Fahrspur von Meter 0 bis Meter 100 reicht und dass eine Begrenzung der benachbarten Fahrspur von Meter 0 bis Meter 70 reicht.
  • Koeffizienten eines Polynoms, das zu jeder Distanzreihe passt, können abgeleitet werden. So kann beispielsweise ein lineares, quadratisches, kubisches oder ähnliches Polynom verwendet werden. Dementsprechend kann eine erste Serie, die Distanzen von Kreuzungspunkten an einer Grenze der aktuellen Fahrspur vom entsprechenden repräsentativen Punkt darstellt, als erstes Polynom und Distanzen von Kreuzungspunkten an einer Grenze einer benachbarten Fahrspur vom entsprechenden repräsentativen Punkt als zweites Polynom codiert werden. Da die Serie im Allgemeinen eine kürzere Länge als der gesamte Spline 2010 aufweist, kann das Polynom in der Reihenfolge reduziert werden (z.B. auf ein Polynom dritter Ordnung für einen Spline vierter Ordnung), ohne dass die Genauigkeit wesentlich beeinträchtigt wird. Die Reduzierung der Ordnung kann eine Reduzierung der Daten und damit eine schnellere Übertragung zwischen dem Fahrzeug und einem Server ermöglichen.
  • Zusätzlich zu den Polynomen, die für jede Distanzreihe passen, kann ein Polynom, das für das Winkel-Array passt, abgeleitet werden. So kann beispielsweise ein lineares, quadratisches, kubisches oder ähnliches Polynom verwendet werden. Dementsprechend kann eine erste Serie, die Punkte an einer Grenze der aktuellen Fahrspur darstellt, als erstes Polynom und Punkte an einer Grenze der benachbarten Fahrspur als zweites Polynom codiert werden. Die Verwendung eines Polynoms zum Codieren von Schnittwinkeln und eines oder mehrerer Polynome zum Codieren von Distanzen kann allesamt zu einer Reduzierung der Daten im Vergleich zum Hochladen von vollen Splines führen, die die Merkmale darstellen (z.B. Fahrspurmarkierungen, Straßenränder, Leitplanke oder dergleichen). Diese Reduzierung ermöglicht eine schnellere Übertragung zwischen dem Fahrzeug und dem Server.
  • 21 ist ein Flussdiagramm, das einen exemplarischen Prozess 2100 zur Identifizierung von Merkmalen einer von einem Hostfahrzeug befahrenen Fahrbahn darstellt. Der Prozess 2100 kann von dem im Navigationssystem 1700 enthaltenen Prozessor 1715 durchgeführt werden.
  • Der Prozess 2100 kann das Empfangen einer Vielzahl von Bildern, die eine Umgebung des Hostfahrzeugs darstellen, von mindestens einer Bilderfassungsvorrichtung beinhalten (Schritt 2105). So kann beispielsweise der Prozessor 1715 Bilder empfangen (und in einigen Ausführungsformen speichern), die von einer der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden.
  • Der Prozess 2100 kann ferner das Erkennen eines Vorhandenseins eines der Fahrbahn zugeordneten Straßenmerkmals in der Vielzahl von Bildern beinhalten (Schritt 2110). So kann beispielsweise der Prozessor 1715 die Bildanalyse (wie vorstehend in Bezug auf das Straßenmerkmalmodul 1902 von 19 und das Beispiel von 20 beschrieben) verwenden, um das Straßenmerkmal zu erkennen.
  • Der Prozess 2100 kann auch das Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines ersten Punktes, der dem Straßenmerkmal zugeordnet ist, in Bezug auf eine Kurve beinhalten, die eine Fahrtroute des Hostfahrzeugs darstellen (Schritt 2115). So kann beispielsweise der Prozessor 1715 die Bildanalyse (wie vorstehend in Bezug auf das Straßenmerkmalmodul 1902 von 19 und das Beispiel von 20 beschrieben) verwenden, um den Standort zu bestimmen. Das Straßenmerkmal kann einen Straßenrand, eine Fahrbahnmarkierung, eine Mitte einer Fahrspur und/oder mindestens eine von einer Straßensperre, einem Bordstein oder eine Leitplanke beinhalten.
  • Der Prozess 2100 kann das Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines zweiten Punktes, der dem Straßenmerkmal zugeordnet ist, in Bezug auf die Kurve, die die Fahrtroute des Hostfahrzeugs darstellt, beinhalten (Schritt 2120). Die Position des zweiten Punktes kann von der Position des ersten Punktes beabstandet sein. Wie vorstehend in Bezug auf 20 erläutert, kann der zweite Punkt beispielsweise ein anderer repräsentativer Punkt sein, der weiter entlang des Splines 2010 liegt als der repräsentative Punkt 2020 (d.h. der „erste Punkt“).
  • Wie vorstehend in Bezug auf 20 erläutert, kann die die Fahrtroute des Hostfahrzeugs darstellende Kurve ein dreidimensionaler Spline sein (z.B. Spline 2010). Der dreidimensionale Spline kann empfangen oder bestimmt werden, wie in Bezug auf 20 erläutert. In einigen Ausführungsformen kann sich der erste Punkt auf einer ersten Ebene befinden, die die Kurve schneidet, und/oder der zweite Punkt kann sich auf einer zweiten Ebene befinden, die die Kurve schneidet. In solchen Ausführungsformen unterscheidet sich die erste Ebene von der zweiten Ebene. So kann beispielsweise die erste Ebene die Normalebene oder die Ebene der Fahrbahn an der ersten Stelle darstellen, während der zweite Plan die Normalebene oder die Ebene der Fahrbahn an der zweiten Stelle darstellen kann.
  • In einigen Ausführungsformen kann die erste Ebene parallel zur zweiten Ebene sein. In anderen Ausführungsformen kann sich die erste Ebene schneiden. So kann sich beispielsweise die normale Ebene oder die Ebene der Fahrbahn entlang des Splines bzw. der Fahrbahn so verändern, dass die zweite Ebene nicht parallel zur ersten Ebene verläuft.
  • In jeder der obigen Ausführungsformen können der erste Punkt und der zweite Punkt gemäß einer vorbestimmten Raumdichte voneinander beabstandet sein. Dementsprechend können die Punkte gemäß einem bestimmten Schwellenwert, wie vorstehend in Bezug auf das Punktortungsmodul 1904 und das Übertragungsmodul 1908 erläutert, voneinander beabstandet sein. In solchen Ausführungsformen kann die vorgegebene Raumdichte einer Bilderfassungsrate der mindestens einen Bilderfassungsvorrichtung entsprechen. Alternativ können die Punkte dynamisch beabstandet werden, wie vorstehend in Bezug auf das Punktortungsmodul 1904 und das Übertragungsmodul 1908 erläutert.
  • Der Prozess 2100 kann ferner die Übertragung einer Darstellung einer Reihe von Punkten, die mit Positionen entlang des Straßenmerkmals verbunden sind, an einen Server, der sich in Bezug auf das Hostfahrzeug entfernt befindet, beinhalten (Schritt 2125). Die Reihe von Punkten kann mindestens den ersten Punkt und den zweiten Punkt umfassen. In einigen Ausführungsformen, wie besprochen, kann die Reihe der Punkte mehr als zwei Punkte beinhalten. Zusätzlich oder alternativ kann die Reihe von Punkten kodiert werden, z.B. wie vorstehend in Bezug auf 20 erläutert. Obwohl die Koordinaten der Punkte in 21 nicht übertragen werden, umfassen die Polynome und die Serienlängenmatrix eine Darstellung einer Reihe von Punkten, da sie die Extrapolation der Positionen durch den entfernten Server ermöglichen. Andere Darstellungen der Punkte neben den Koordinaten selbst können von Personen mit gewöhnlichen Fähigkeiten betrachtet und verwendet werden.
  • In einigen Ausführungsformen kann die Reihe von Punkten einer vorbestimmten Abschnittslänge der Fahrbahn zugeordnet sein. So ist beispielsweise im Beispiel von 20 die Punktfolge einer Länge einer Reihe zugeordnet, die in dem Reihenlängen-Array dargestellt ist. Zusätzlich oder alternativ kann die Reihe der Punkte einem Abschnitt des Splines zugeordnet werden.
  • Zusätzlich oder alternativ kann der Prozess 2100 das Senden einer Darstellung der Kurve, die die Fahrtroute des Hostfahrzeugs darstellt, an den Server beinhalten. So kann beispielsweise die Kurve als Polynom (oder eine Vielzahl von Polynomen) kodiert und die Koeffizienten auf den Remote-Server hochgeladen werden.
  • Der Prozess 2100 kann zusätzliche Operationen oder Schritte beinhalten. So kann beispielsweise der Prozess 2100 ferner das Bestimmen eines Drehwinkels, der der mindestens einen Bilderfassungsvorrichtung zugeordnet ist, beinhalten und die Übertragung des bestimmten Drehwinkels an den Server veranlassen. In einem solchen Beispiel kann der Drehwinkel den Winkel θ von 20 zwischen einer Normalebene und einer Ebene der Fahrbahn darstellen. Zusätzlich oder alternativ kann der Drehwinkel einen Winkel der Bilderfassungsvorrichtung darstellen, beispielsweise in Bezug auf eine Tangentiallinie des Splines an einer bestimmten Stelle. In solchen Ausführungsformen kann der Drehwinkel in Bezug auf eine horizontale Bezugsebene (oder eine Tangentialebene) so bestimmt werden, dass jeder der Punktreihen einem bestimmten Drehwinkel zugeordnet ist, der der mindestens einen Bilderfassungsvorrichtung zugeordnet ist. Dementsprechend kann der Winkel der Bilderfassungsvorrichtung es dem entfernten Server ermöglichen, den Abstand vom repräsentativen Punkt entlang des Splines bis zur ersten Position entlang des Winkels der Bilderfassungsvorrichtung zu extrapolieren, anstatt den senkrechten Abstand von dem Spline bis zur ersten Position zu verwenden.
  • Zusätzlich oder alternativ kann der Prozess 2100 das Erkennen des Vorhandenseins eines zweiten Straßenmerkmals in den Bildern beinhalten; das Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines dritten Punktes, der dem zweiten Straßenmerkmal zugeordnet ist, in Bezug auf die Kurve, die die Fahrtroute des Hostfahrzeugs darstellt; und das Veranlassen der Übertragung einer Darstellung von mindestens dem dritten Punkt an den Server. Diese Schritte können ähnlich wie in den Schritten 2110, 2115 (oder 2120) und 2125 beschrieben implementiert werden. Bei Ausführungsformen mit einer ersten Ebene und einer zweiten Ebene können sich der dritte Punkt und der erste Punkt beide auf der ersten Ebene befinden. So können beispielsweise der erste Punkt und der dritte Punkt die Schnittpunkte 2040a und 2040b umfassen, wie im Beispiel von 20 beschrieben.
  • 22 ist ein Flussdiagramm, das einen exemplarischen Prozess 2200 zum Erzeugen von Karteninformationen in Bezug auf eine Fahrbahn basierend auf Navigationsinformationen darstellt, die von einem oder mehreren Fahrzeugen, die die Fahrbahn befahren, bereitgestellt werden. Der Prozess 2200 kann von einem in Server 1230 enthaltenen Prozessor durchgeführt werden.
  • Der Prozess 2200 kann das Empfangen einer ersten Darstellung einer ersten Reihe von Punkten von einem ersten Fahrzeug beinhalten, die mit Positionen entlang des Straßenmerkmals verbunden sind (Schritt 2205). Die erste Reihe von Punkten kann mindestens einen ersten Punkt und einen zweiten Punkt beinhalten, die dem Straßenmerkmal zugeordnet sind, bezogen auf eine erste Kurve, die eine Fahrtroute des ersten Fahrzeugs darstellt. So können beispielsweise der erste Punkt und der zweite Punkt Schnittpunkte (z.B. 2040a und 2040b) umfassen, wie im Beispiel von 20 beschrieben. Darüber hinaus kann das Straßenmerkmal einen Straßenrand, eine Fahrspurmarkierung, eine Fahrspurmitte und/oder mindestens eine von einer Straßensperre, einem Bordstein oder eine Leitplanke beinhalten, und die Kurve kann einen dreidimensionalen Spline umfassen (z.B. Spline 2010 aus 20).
  • Obwohl der Server die Koordinaten direkt empfangen kann, kann die erste Reihe von Punkten in einer oder mehreren Darstellungen codiert werden. So können beispielsweise die Polynome und die in Bezug auf 20 beschriebene Reihenlängenmatrix eine Darstellung der ersten Reihe von Punkten umfassen, da sie die Extrapolation des ersten Punktes und des zweiten Punktes durch den Server ermöglichen. Andere Darstellungen der Punkte neben den Koordinaten selbst können von denen mit gewöhnlicher Fertigkeit betrachtet und verwendet werden.
  • Der Prozess 2200 kann ferner das Erzeugen einer ersten Kurve, die das Straßenmerkmal darstellt, basierend auf mindestens der ersten Reihe von Punkten beinhalten (Schritt 2210). Wenn die Darstellung beispielsweise eine nach dem Beispiel von 20 kodierte Darstellung umfasst, kann die Kurve direkt aus den Koeffizienten der Darstellung extrapoliert werden. In einem weiteren Beispiel können die Koordinaten der Punkte vom Server zusammen mit der Regressionsanalyse verwendet werden, um die erste Kurve zu bestimmen. In jeder der obigen Ausführungsformen kann die erste Kurve ein lineares Polynom, ein quadratisches Polynom, ein kubisches Polynom oder dergleichen umfassen.
  • Der Prozess 2200 kann auch das Empfangen einer zweiten Darstellung einer zweiten Reihe von Punkten von einem zweiten Fahrzeug beinhalten, die den Positionen entlang des Straßenmerkmals zugeordnet sind (Schritt 2215). Die zweite Reihe von Punkten kann mindestens einen dritten Punkt und einen vierten Punkt beinhalten, die dem Straßenmerkmal zugeordnet sind, bezogen auf eine zweite Kurve, die eine Fahrtroute des zweiten Fahrzeugs darstellt. So können beispielsweise der dritte Punkt und der vierte Punkt Schnittpunkte (z.B. 2040a und 2040b) umfassen, wie im Beispiel von 20 beschrieben. Darüber hinaus kann das Straßenmerkmal einen Straßenrand, eine Fahrspurmarkierung, eine Fahrspurmitte und/oder mindestens eine von einer Straßensperre, einem Bordstein oder eine Leitplanke beinhalten, und die Kurve kann einen dreidimensionalen Spline umfassen (z.B. Spline 2010 aus 20).
  • Die zweite Reihe von Punkten kann in einer oder mehreren Darstellungen kodiert werden, wie vorstehend in Bezug auf Schritt 2205 erläutert. Zusätzlich oder alternativ können die Koordinaten der Punkte empfangen werden.
  • Der Prozess 2200 kann das Erzeugen einer zweiten Kurve, die das Straßenmerkmal darstellt, basierend auf mindestens der zweiten Serie von Punkten beinhalten (Schritt 2220). So kann beispielsweise die zweite Kurve ähnlich wie die erste Kurve von Schritt 2220 erzeugt werden.
  • Der Prozess 2200 kann ferner das Erzeugen einer das Straßenmerkmal darstellenden Kartenkurve basierend auf der ersten das Straßenmerkmal darstellenden Kurve und der zweiten das Straßenmerkmal darstellenden Kurve beinhalten (Schritt 2225). So kann beispielsweise die das Straßenmerkmal darstellende Kartenkurve durch Mittelung der ersten das Straßenmerkmal darstellenden Kurve und der zweiten das Straßenmerkmal darstellenden Kurve erzeugt werden. Der Mittelwert kann z.B. durch einen Vertrauenswert gewichtet werden, der jeder Kurve zugeordnet ist. Es können auch andere Kombinationen als die Mittelung, wie z.B. Faltung oder dergleichen, verwendet werden.
  • Alternativ können die erste Serie von Punkten und die zweite Serie von Punkten kombiniert und dann die Kartenkurve durch Regression auf die kombinierte Menge bestimmt werden. In solchen Ausführungsformen müssen die erste Kurve und die zweite Kurve nicht erzeugt werden.
  • Der Prozess 2200 kann zusätzliche Operationen oder Schritte beinhalten. So kann beispielsweise der Prozess 2200 ferner das Empfangen eines Drehwinkels beinhalten, der einer Bilderfassungsvorrichtung des ersten Fahrzeugs zugeordnet ist, und/oder das Empfangen eines Drehwinkels, der einer Bilderfassungsvorrichtung des zweiten Fahrzeugs zugeordnet ist. Der Drehwinkel kann einen Drehwinkel umfassen, wie vorstehend in Bezug auf das Verfahren 2100 beschrieben.
  • In einigen Ausführungsformen kann der Prozess 2200 ferner das Empfangen einer ersten Darstellung einer ersten Serie von Punkten beinhalten, die Positionen entlang eines zweiten Straßenmerkmals zugeordnet sind, wobei die erste Serie von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, mindestens einen ersten Punkt und einen zweiten Punkt beinhaltet, die dem zweiten Straßenmerkmal zugeordnet sind, bezogen auf die erste Kurve, die die Fahrtoute des ersten Fahrzeugs darstellt, und das Empfangen einer zweiten Darstellung einer zweiten Serie von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, von dem zweiten Fahrzeug, wobei die zweite Serie von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, mindestens einen dritten Punkt und einen vierten Punkt beinhaltet, die dem zweiten Straßenmerkmal zugeordnet sind, bezogen auf die zweite Kurve, die die Fahrtroute des zweiten Fahrzeugs darstellt. Dementsprechend kann eine erste Kurve, eine zweite Kurve und eine Kartenkurve (oder in einigen Ausführungsformen nur eine Kartenkurve) erzeugt werden, die das zweite Straßenmerkmal darstellt. In einem Beispiel kann das erste Straßenmerkmal eine Straßenkante oder eine Fahrspurmarkierung auf der linken Seite des ersten Fahrzeugs und des zweiten Fahrzeugs umfassen, und das zweite Straßenmerkmal kann eine Straßenkante oder eine Fahrspurmarkierung auf der rechten Seite des ersten Fahrzeugs und des zweiten Fahrzeugs umfassen. Dementsprechend kann der Server in einem solchen Beispiel zwei Kartenkurven erzeugen, die zusammen die Grenzen einer Fahrspur, die vom ersten Fahrzeug und dem zweiten Fahrzeug durchfahren wird, darstellen (nicht unbedingt gleichzeitig).
  • 23 ist ein Flussdiagramm, das einen exemplarischen Prozess 2300 zum Navigieren eines Hostfahrzeugs unter Verwendung eines spärlichen Navigationsinformationsübertragungsmodus und eines dichten Navigationsinformationsübertragungsmodus darstellt. Der Prozess 2300 kann von dem im Navigationssystem 1700 enthaltenen Prozessor 1715 durchgeführt werden.
  • Der Prozess 2300 kann das Empfangen einer Vielzahl von Bildern, die eine Umgebung des Hostfahrzeugs darstellt, von einer oder mehreren Bilderfassungsvorrichtungen beinhalten (Schritt 2305). So kann beispielsweise Schritt 2305 ähnlich wie Schritt 2105 des vorstehend beschriebenen Prozesses 2100 ausgeführt werden.
  • Der Prozess 2300 kann ferner das Erkennen des Vorhandenseins eines Straßenmerkmals in der Vielzahl der Bilder beinhalten (Schritt 2310). So kann beispielsweise Schritt 2310 ähnlich wie Schritt 2110 des oben beschriebenen Prozesses 2100 ausgeführt werden. Wie vorstehend erläutert, kann das Straßenmerkmal mindestens eine von einer Fahrspurmarkierung, einer Straßenkante oder einer Fahrspurmitte beinhalten. Alternativ kann das Straßenmerkmal mindestens einen von einem Straßenrand, einer Fahrspurmarkierung, einem Fahrspurmittelpunkt, einer Absperrung am Straßenrand, einem Bordstein oder einer Leitplanke beinhalten.
  • Der Prozess 2300 kann auch die Auswahl zwischen einem spärlichen Navigationsinformationstransfer-Modus und einem dichten Navigationsinformationstransfer-Modus beinhalten. Wenn der Modus für die Übertragung von spärlichen Navigationsinformationen ausgewählt ist, kann der mindestens eine Prozessor so programmiert werden, dass er eine Übertragung von ersten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System bewirkt, wobei die ersten Standortinformationen einer ersten Datendichte zugeordnet sind. Wenn der dichte Navigationsinformationsübertragungsmodus ausgewählt ist, ist der mindestens eine Prozessor so programmiert, dass er eine Übertragung von zweiten Standortinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System bewirkt, wobei die zweiten Standortinformationen einer zweiten Datendichte zugeordnet sind, die größer ist als die erste Datendichte (Schritt 2315). Wie vorstehend in Bezug auf das Punktortungsmodul 1904 und das Übertragungsmodul 1908 erläutert, kann beispielsweise die erste Datendichte einen größeren Abstand zwischen den dem Straßenmerkmal zugeordneten Punkten darstellen, die im Vergleich zur zweiten Datendichte übertragen werden (kodiert und übertragen). Zusätzlich oder alternativ kann die erste Datendichte eine kodierte Version der Punkte (z.B. wie in Bezug auf 20 diskutiert) im Vergleich zur zweiten Datendichte, die die Koordinaten der Punkte selbst darstellt, darstellen.
  • Obwohl beschrieben als vom Hostfahrzeug ausgewählt, kann in einigen Ausführungsformen die Auswahl zwischen dem spärlichen Navigationsinformationsübertragungsmodus und dem dichten Navigationsinformationsübertragungsmodus durch ein entferntes System verursacht werden. So kann beispielsweise das entfernte System den spärlichen Navigationsinformationsübertragungsmodus wählen, wenn eine Bandbreite des entfernten Systems und/oder ein verfügbarer Speicherplatz des entfernten Systems unter einem bestimmten Schwellenwert liegt. Zusätzlich oder alternativ kann das entfernte System den Modus für die Übertragung von spärlichen Navigationsinformationen wählen, wenn ein oder mehrere Fahrzeuge bereits Standortinformationen hochgeladen haben, die mit demselben Straßenmerkmal verbunden sind.
  • Wie vorstehend in Bezug auf 20 erläutert, können die ersten Standortinformationen eine Vielzahl von beabstandeten Punktpositionen beinhalten, die mit dem Straßenmerkmal übereinstimmen. Obwohl das Fahrzeug die Koordinaten der Positionen direkt übertragen kann, können die Positionen in einer oder mehreren Darstellungen kodiert werden. So können beispielsweise die Polynome und die in Bezug auf 20 beschriebene Serienlängenmatrix eine Darstellung der beabstandeten Punktpositionen umfassen, da sie die Extrapolation der Positionen durch den Server ermöglichen. Andere Darstellungen der Orte neben den Koordinaten selbst können von denen gewöhnlicher Fähigkeiten in Betracht gezogen und verwendet werden.
  • Die vorstehende Beschreibung wurde zur Veranschaulichung vorgelegt. Sie ist nicht abschließend und beschränkt sich nicht auf die genauen Formen oder Ausführungsformen. Änderungen und Anpassungen werden für den Fachmann unter Berücksichtigung der Spezifikation und Praxis der offenbarten Ausführungsformen ersichtlich. Obwohl Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben werden, wird ein Fachmann zu schätzen wissen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien gespeichert werden können, wie zum Beispiel sekundären Speichermedien, wie 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 Laufwerken.
  • Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Methoden basieren, gehören zu den Fähigkeiten eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können mit einer der einem Fachmann bekannten Techniken erstellt oder in Verbindung mit vorhandener Software gestaltet werden. Beispielsweise können Programmteile oder Programmmodule in oder mit Hilfe vonNet Framework,.Net Compact Framework (und verwandten Sprachen wie Visual Basic, C, etc.), Java, C++, Objective-C, HTML, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit integrierten Java-Applets gestaltet werden.
  • Darüber hinaus wurden hierin zwar illustrative Ausführungsformen beschrieben, aber der Umfang aller Ausführungsformen mit gleichwertigen Elementen, Modifikationen, Auslassungen, Kombinationen (z.B. von Aspekten über verschiedene Ausführungsformen hinweg), Anpassungen und/oder Änderungen, wie sie von Fachleuten auf der Grundlage der vorliegenden Offenbarung als nützlich angesehen würden. Die Beschränkungen der Ansprüche sind weitestgehend auf der Grundlage der in den Ansprüchen verwendeten Sprache auszulegen und nicht auf Beispiele beschränkt, die in der vorliegenden Spezifikation oder bei der Prüfung der Anmeldung beschrieben sind. Die Beispiele sind als nicht exklusiv zu verstehen. Darüber hinaus können die Schritte der offenbarten Methoden in jeder Hinsicht geändert werden, einschließlich durch Neuordnung von Schritten und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Spezifikation und die Beispiele nur zur Veranschaulichung betrachtet werden, wobei ein wahrer Umfang und Sinn durch die folgenden Ansprüche und ihren vollen Umfang an Äquivalenten angegeben wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62489077 [0001]
    • US 62652044 [0001]

Claims (26)

  1. System zum Identifizieren von Merkmalen einer von einem Hostfahrzeug befahrenen Fahrbahn, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen einer Vielzahl von Bildern, die eine Umgebung des Hostfahrzeugs darstellen, von mindestens einer Bilderfassungsvorrichtung; Erkennen, in der Vielzahl von Bildern, des Vorhandenseins eines der Fahrbahn zugeordneten Straßenmerkmals; Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines ersten Punktes, der dem Straßenmerkmal zugeordnet ist, in Bezug auf eine Kurve, die eine Fahrtroute des Hostfahrzeugs darstellt; Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines zweiten Punktes, der dem Straßenmerkmal zugeordnet ist, in Bezug auf die Kurve, die die Fahrtroute des Hostfahrzeugs darstellt, wobei die Position des zweiten Punktes von der Position des ersten Punktes beabstandet ist; und Veranlassen der Übertragung einer Darstellung einer Reihe von Punkten, die den Positionen entlang des Straßenmerkmals zugeordnet sind, an einen Server, der sich in Bezug auf das Hostfahrzeug entfernt befindet, wobei die Reihe von Punkten mindestens den ersten Punkt und den zweiten Punkt beinhaltet.
  2. System nach Anspruch 1, wobei die Reihe von Punkten einer vorbestimmten Abschnittslänge der Fahrbahn zugeordnet ist.
  3. System nach Anspruch 1, wobei der mindestens eine Prozessor ferner programmiert ist, um die Übertragung einer Darstellung der die Fahrtroute des Hostfahrzeugs darstellenden Kurve an den Server zu bewirken.
  4. System nach Anspruch 1, wobei die die Fahrtroute des Hostfahrzeugs darstellende Kurve ein dreidimensionaler Spline ist.
  5. System nach Anspruch 1, wobei der mindestens eine Prozessor ferner programmiert ist zum: Bestimmen eines Drehwinkels, der der mindestens einen Bilderfassungsvorrichtung zugeordnet ist; und Bewirken, dass der bestimmte Drehwinkel auf den Server übertragen wird.
  6. System nach Anspruch 5, wobei der Drehwinkel in Bezug auf eine horizontale Bezugsebene bestimmt wird und wobei jeder der Serien von Punkten einem bestimmten Drehwinkel zugeordnet ist, der der mindestens einen Bilderfassungsvorrichtung zugeordnet ist.
  7. System nach Anspruch 1, wobei der erste Punkt auf einer ersten Ebene angeordnet ist, die die Kurve schneidet, und wobei der zweite Punkt auf einer zweiten Ebene angeordnet ist, die die Kurve schneidet, und wobei die erste Ebene von der zweiten Ebene verschieden ist.
  8. System nach Anspruch 7, wobei die erste Ebene parallel zur zweiten Ebene ist.
  9. System nach Anspruch 7, wobei der erste Punkt und der zweite Punkt gemäß einer vorbestimmten Raumdichte voneinander beabstandet sind.
  10. System nach Anspruch 9, wobei die vorgegebene Raumdichte einer Bilderfassungsrate der mindestens einen Bilderfassungsvorrichtung entspricht.
  11. System nach Anspruch 7, wobei der mindestens eine Prozessor ferner programmiert ist zum: Erkennen in der Vielzahl von Bildern eines Vorhandenseins eines zweiten Straßenmerkmals; Bestimmen, basierend auf der Analyse der Vielzahl von Bildern, einer Position eines dritten Punktes, der dem zweiten Straßenmerkmal zugeordnet ist, in Bezug auf die Kurve, die die Fahrtroute des Hostfahrzeugs darstellt; und Veranlassen der Übertragung einer Darstellung von mindestens dem dritten Punkt an den Server.
  12. System nach Anspruch 11, wobei der dritte Punkt und der erste Punkt beide auf der ersten Ebene angeordnet sind.
  13. System nach Anspruch 1, wobei das Straßenmerkmal eine Straßenkante beinhaltet.
  14. System nach Anspruch 1, wobei das Straßenmerkmal eine Fahrspurmarkierung beinhaltet.
  15. System nach Anspruch 1, wobei das Straßenmerkmal eine Mitte einer Fahrspur beinhaltet.
  16. System nach Anspruch 1, wobei das Straßenmerkmal mindestens eine von einer straßenseitigen Barriere, einem Bordstein oder eine Leitplanke beinhaltet.
  17. Server zum Erzeugen von Karteninformationen in Bezug auf eine Fahrbahn basierend auf Navigationsinformationen, die von einem oder mehreren Fahrzeugen bereitgestellt werden, die die Fahrbahn durchfahren, wobei der Server umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einem ersten Fahrzeug, einer ersten Darstellung einer ersten Serie von Punkten, die Positionen entlang des Straßenmerkmals zugeordnet sind, wobei die erste Serie von Punkten mindestens einen ersten Punkt und einen zweiten Punkt, die dem Straßenmerkmal zugeordnet sind, in Bezug auf eine erste Kurve, die eine Fahrtroute des ersten Fahrzeugs darstellt, beinhaltet; Erzeugen einer ersten Kurve, die das Straßenmerkmal darstellt, basierend auf mindestens der ersten Serie von Punkten; Empfangen einer zweiten Darstellung einer zweiten Serie von Punkten, die Positionen entlang des Straßenmerkmals zugeordnet sind, von einem zweiten Fahrzeug, wobei die zweite Serie von Punkten mindestens einen dritten Punkt und einen vierten Punkt beinhaltet, die dem Straßenmerkmal zugeordnet sind, bezogen auf eine zweite Kurve, die eine Fahrtroute des zweiten Fahrzeugs darstellt; Erzeugen einer zweiten Kurve, die das Straßenmerkmal darstellt, basierend auf mindestens der zweiten Serie von Punkten; und Erzeugen einer das Straßenmerkmal darstellenden Kartenkurve basierend auf der ersten das Straßenmerkmal darstellenden Kurve und der zweiten das Straßenmerkmal darstellenden Kurve.
  18. System nach Anspruch 17, wobei die das Straßenmerkmal darstellende Kartenkurve durch Mittelung der ersten das Straßenmerkmal darstellenden Kurve und der zweiten das Straßenmerkmal darstellenden Kurve erzeugt wird.
  19. System nach Anspruch 17, wobei der mindestens eine Prozessor ferner programmiert ist, um einen Drehwinkel zu empfangen, der einer Bilderfassungsvorrichtung des ersten Fahrzeugs zugeordnet ist.
  20. System nach Anspruch 17, wobei der mindestens eine Prozessor ferner programmiert ist, um einen Drehwinkel zu empfangen, der einer Bilderfassungsvorrichtung des zweiten Fahrzeugs zugeordnet ist.
  21. System nach Anspruch 17, wobei der mindestens eine Prozessor ferner programmiert ist zum: Empfangen, von dem ersten Fahrzeug, einer ersten Darstellung einer ersten Reihe von Punkten, die Positionen entlang eines zweiten Straßenmerkmals zugeordnet sind, wobei die erste Reihe von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, mindestens einen ersten Punkt und einen zweiten Punkt beinhaltet, die dem zweiten Straßenmerkmal zugeordnet sind, bezogen auf die erste Kurve, die die Fahrtroute des ersten Fahrzeugs darstellt; und Empfangen einer zweiten Darstellung einer zweiten Serie von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, von dem zweiten Fahrzeug, wobei die zweite Serie von Punkten, die Positionen entlang des zweiten Straßenmerkmals zugeordnet sind, mindestens einen dritten Punkt und einen vierten Punkt beinhaltet, die dem zweiten Straßenmerkmal zugeordnet sind, bezogen auf die zweite Kurve, die die Fahrtroute des zweiten Fahrzeugs darstellt.
  22. System zum Navigieren eines Hostfahrzeugs, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer oder mehreren Bilderfassungsvorrichtungen, einer Vielzahl von Bildern, die eine Umgebung des Hostfahrzeugs darstellen; Erkennen, in der Vielzahl von Bildern, eines Vorhandenseins eines Straßenmerkmals; und Auswählen zwischen einem spärlichen Navigationsinformationsübertragungsmodus und einem dichten Navigationsinformationsübertragungsmodus, wobei, wenn der spärliche Navigationsinformationsübertragungsmodus ausgewählt wird, der mindestens eine Prozessor programmiert ist, um eine Übertragung von ersten Positionsinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System zu bewirken, wobei die ersten Positionsinformationen mit einer ersten Datendichte assoziiert sind, und wobei, wenn der dichte Navigationsinformationsübertragungsmodus ausgewählt wird, der mindestens eine Prozessor programmiert ist, um eine Übertragung von zweiten Positionsinformationen, die dem Straßenmerkmal zugeordnet sind, an ein entferntes System zu bewirken, wobei die zweiten Positionsinformationen mit einer zweiten Datendichte assoziiert sind, die größer als die erste Datendichte ist.
  23. System nach Anspruch 22, wobei die erste Positionsinformation eine Vielzahl von beabstandeten Punktpositionen beinhaltet, die mit dem Straßenmerkmal übereinstimmen.
  24. System nach Anspruch 22, wobei das Straßenmerkmal mindestens eine von einer Fahrbahnmarkierung, einer Straßenkante oder einer Fahrbahnmitte beinhaltet.
  25. System nach Anspruch 22, wobei die Auswahl zwischen dem spärlichen Navigationsinformationstransfer-Modus und dem dichten Navigationsinformationstransfer-Modus durch das entfernte System verursacht wird.
  26. System nach Anspruch 22, wobei das Straßenmerkmal mindestens einen von einem Straßenrand, einer Fahrbahnmarkierung, einem Mittelpunkt einer Fahrspur, einer Straßensperre, einem Bordstein oder eine Leitplanke beinhaltet.
DE112018002143.2T 2017-04-24 2018-04-24 Systeme und verfahren zur kompression von fahrspurdaten Pending DE112018002143T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762489077P 2017-04-24 2017-04-24
US62/489,077 2017-04-24
US201862652044P 2018-04-03 2018-04-03
US62/652,044 2018-04-03
PCT/US2018/029136 WO2018200522A1 (en) 2017-04-24 2018-04-24 Systems and methods for compression of lane data

Publications (1)

Publication Number Publication Date
DE112018002143T5 true DE112018002143T5 (de) 2020-01-16

Family

ID=62117167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018002143.2T Pending DE112018002143T5 (de) 2017-04-24 2018-04-24 Systeme und verfahren zur kompression von fahrspurdaten

Country Status (3)

Country Link
US (1) US11254329B2 (de)
DE (1) DE112018002143T5 (de)
WO (1) WO2018200522A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206990A1 (de) * 2019-05-14 2020-11-19 Zf Friedrichshafen Ag Generieren einer Umgebungskarte eines Fahrzeugs
DE102020200757A1 (de) 2020-01-22 2021-07-22 Volkswagen Aktiengesellschaft Verfahren und System zum Aufbau einer Datenbank für Entwicklungsleistungen eines automatischen Fahrbetriebs von Fahrzeugen
DE102020105250A1 (de) 2020-02-27 2021-09-02 Bayerische Motoren Werke Aktiengesellschaft Bestimmen des Verlaufs einer Fahrspurbegrenzung
DE102020214327A1 (de) 2020-11-13 2022-05-19 Continental Automotive Gmbh Verfahren und System zum Bestimmen einer Position einer Fahrspur
DE102021133089A1 (de) 2021-12-14 2023-06-15 Cariad Se Vorrichtung zur Ermittlung einer Topographie einer Fahrzeugumgebung, Fahrzeug und Verfahren

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018119417A1 (en) * 2016-12-22 2018-06-28 Nissan North America, Inc. Autonomous vehicle service system
EP3688492B1 (de) * 2017-09-26 2023-12-20 Innoviz Technologies Ltd. Lidar-systeme und -verfahren
KR102371616B1 (ko) * 2017-11-07 2022-03-07 현대자동차주식회사 차량의 센서 데이터 연계 장치 및 방법
CN110298219A (zh) * 2018-03-23 2019-10-01 广州汽车集团股份有限公司 无人驾驶车道保持方法、装置、计算机设备和存储介质
WO2020008221A1 (ja) * 2018-07-04 2020-01-09 日産自動車株式会社 走行支援方法及び走行支援装置
KR102483649B1 (ko) * 2018-10-16 2023-01-02 삼성전자주식회사 차량 위치 결정 방법 및 차량 위치 결정 장치
JP7151387B2 (ja) * 2018-11-06 2022-10-12 株式会社デンソー 自車挙動推定装置、自車挙動推定プログラム、記憶媒体および自車挙動推定装置の制御方法
EP3888049A4 (de) * 2018-11-28 2022-07-27 Saab Ab Verfahren, softwareprodukt, vorrichtung und system zur integration von bildern
US11507775B2 (en) * 2018-12-05 2022-11-22 Here Global B.V. Method and apparatus for matching heterogeneous feature spaces
US11084503B2 (en) * 2018-12-26 2021-08-10 Baidu Usa Llc Mutual nudge algorithm for self-reverse lane of autonomous driving
DE112020000590T5 (de) * 2019-01-30 2021-12-23 Harman Becker Automotive Systems Gmbh Karte und verfahren zum erstellen einer karte
CN115031743A (zh) * 2019-02-14 2022-09-09 御眼视觉技术有限公司 对收集的相对于公共道路路段的信息关联的系统和方法
GB2596708B (en) * 2019-03-07 2024-01-10 Mobileye Vision Technologies Ltd Aligning road information for navigation
CN109919593A (zh) * 2019-03-21 2019-06-21 京东方科技集团股份有限公司 结算方法及系统、车载设备、计算机设备及介质
CN112041637B (zh) * 2019-03-28 2021-11-19 百度时代网络技术(北京)有限公司 用于3级自动驾驶车辆的无地图且基于摄像机的车道标识取样方法
JP2022535351A (ja) * 2019-05-28 2022-08-08 モービルアイ ビジョン テクノロジーズ リミテッド 車両ナビゲーションのためのシステム及び方法
US20200393261A1 (en) * 2019-06-17 2020-12-17 DeepMap Inc. Updating high definition maps based on lane closure and lane opening
US11482015B2 (en) * 2019-08-09 2022-10-25 Otobrite Electronics Inc. Method for recognizing parking space for vehicle and parking assistance system using the method
US11536573B2 (en) * 2019-09-03 2022-12-27 Here Global B.V. Method, apparatus, and computer program product for generating correspondence between map versions
JP7358896B2 (ja) * 2019-10-09 2023-10-11 株式会社Jvcケンウッド 車両用電子機器及び制御方法
DE102019215656B4 (de) * 2019-10-11 2021-07-22 Zf Friedrichshafen Ag Verfahren zum Bewerten einer ausgewählten Route, Routenbewertungssystem und Computerprogramm
US11680804B2 (en) * 2019-12-02 2023-06-20 Toyota Motor North America, Inc. System and method for verifying roads
US11200167B2 (en) 2019-12-10 2021-12-14 Pony Ai Inc. Dynamic memory address encoding
DE102019220510A1 (de) * 2019-12-23 2021-06-24 Robert Bosch Gmbh Verfahren zum Bereitstellen einer digitalen Lokalisierungskarte
US11688155B2 (en) * 2020-01-06 2023-06-27 Luminar, Llc Lane detection and tracking techniques for imaging systems
CN111780981B (zh) * 2020-05-21 2022-02-18 东南大学 一种智能车辆编队变道性能测评方法
CN111703422B (zh) * 2020-06-24 2021-06-29 北京经纬恒润科技股份有限公司 智能驾驶车辆的目标跟踪路径选择方法及装置
US11644330B2 (en) * 2020-07-08 2023-05-09 Rivian Ip Holdings, Llc Setting destinations in vehicle navigation systems based on image metadata from portable electronic devices and from captured images using zero click navigation
US11577733B2 (en) * 2020-09-30 2023-02-14 GM Global Technology Operations LLC Efficient road coordinates transformations library
CN112132853B (zh) * 2020-11-30 2021-02-05 湖北亿咖通科技有限公司 地面导向箭头的构建方法及其装置、电子设备及存储介质
CN112750150B (zh) * 2021-01-18 2023-04-07 西安电子科技大学 基于车辆检测和多目标跟踪的车流量统计方法
US20220366786A1 (en) * 2021-05-03 2022-11-17 Here Global B.V. Method and apparatus for estimating lane pavement conditions based on street parking information
CN115688682B (zh) * 2022-12-29 2023-11-14 浙江工业大学 一种基于模糊预测的车辆轨迹数据压缩方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5064870B2 (ja) * 2007-04-17 2012-10-31 株式会社日立製作所 デジタル道路地図の生成方法及び地図生成システム
KR101812654B1 (ko) * 2011-01-28 2018-01-30 삼성전자주식회사 서버의 서버 기반의 자동차 보안 서비스 제공 방법과 그 서버, 자동차 디바이스의 서버 기반의 자동차 보안 서비스 이용 방법과 그 자동차 디바이스, 사용자 디바이스의 서버 기반의 자동차 보안 서비스 이용 방법과 그 사용자 디바이스
WO2014085316A1 (en) * 2012-11-27 2014-06-05 Cloudparc, Inc. Controlling use of a single multi-vehicle parking space using multiple cameras
US20140095062A1 (en) * 2012-09-28 2014-04-03 Hewlett-Packard Development Company, L.P. Road Maps from Clusters of Line Segments of Multiple Sources
US10322672B2 (en) * 2013-02-28 2019-06-18 Aisin Seiki Kabushiki Kaisha Vehicle control apparatus and program with rotational control of captured image data
KR102622571B1 (ko) 2015-02-10 2024-01-09 모빌아이 비젼 테크놀로지스 엘티디. 자율 주행을 위한 약도
KR101806324B1 (ko) 2015-03-20 2017-12-06 주식회사 태건 다기능 감시카메라
JP6327719B2 (ja) * 2016-02-04 2018-05-23 株式会社Subaru 車両の走行制御装置
US9978161B2 (en) * 2016-04-11 2018-05-22 Here Global B.V. Supporting a creation of a representation of road geometry
US10279807B2 (en) * 2017-02-17 2019-05-07 GM Global Technology Operations LLC System and method for predicting a possible lane departure when driving a vehicle autonomously or semi-autonomously, and for taking a remedial action to prevent a lane departure

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019206990A1 (de) * 2019-05-14 2020-11-19 Zf Friedrichshafen Ag Generieren einer Umgebungskarte eines Fahrzeugs
DE102019206990B4 (de) * 2019-05-14 2020-12-10 Zf Friedrichshafen Ag Generieren einer Umgebungskarte eines Fahrzeugs
DE102020200757A1 (de) 2020-01-22 2021-07-22 Volkswagen Aktiengesellschaft Verfahren und System zum Aufbau einer Datenbank für Entwicklungsleistungen eines automatischen Fahrbetriebs von Fahrzeugen
DE102020105250A1 (de) 2020-02-27 2021-09-02 Bayerische Motoren Werke Aktiengesellschaft Bestimmen des Verlaufs einer Fahrspurbegrenzung
DE102020214327A1 (de) 2020-11-13 2022-05-19 Continental Automotive Gmbh Verfahren und System zum Bestimmen einer Position einer Fahrspur
DE102021133089A1 (de) 2021-12-14 2023-06-15 Cariad Se Vorrichtung zur Ermittlung einer Topographie einer Fahrzeugumgebung, Fahrzeug und Verfahren

Also Published As

Publication number Publication date
US11254329B2 (en) 2022-02-22
US20200385014A1 (en) 2020-12-10
WO2018200522A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
JP7302934B2 (ja) ナビゲーション情報を匿名化するためのシステム及び方法
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
US20210372808A1 (en) Collecting non-semantic feature points
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
JP2021088357A (ja) 自律車両ナビゲーションのための疎な地図並びにレーン測定値のクラウドソーシング及び配信
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
JP2022553491A (ja) 車両ナビゲーション用のシステムおよび方法
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
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) 用于监测车道标记质量的系统和方法

Legal Events

Date Code Title Description
R012 Request for examination validly filed