DE112020002869T5 - Navigationssysteme und verfahren zum bestimmen von objektabmessungen - Google Patents

Navigationssysteme und verfahren zum bestimmen von objektabmessungen Download PDF

Info

Publication number
DE112020002869T5
DE112020002869T5 DE112020002869.0T DE112020002869T DE112020002869T5 DE 112020002869 T5 DE112020002869 T5 DE 112020002869T5 DE 112020002869 T DE112020002869 T DE 112020002869T DE 112020002869 T5 DE112020002869 T5 DE 112020002869T5
Authority
DE
Germany
Prior art keywords
vehicle
target
navigation system
road
data
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
DE112020002869.0T
Other languages
English (en)
Inventor
Yaakov Shambik
Ohad CHITRIT
Michael Sachter
Alon Netser
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 DE112020002869T5 publication Critical patent/DE112020002869T5/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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • 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/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • 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/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • 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/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/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, light or radio wave 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • 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/10Number of lanes
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Systeme und Verfahren für die Fahrzeugnavigation bereitgestellt. In einer Implementierung kann ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor umfassen. Der Prozessor kann dazu programmiert sein, von einer Kamera an Bord des Host-Fahrzeugs eine Vielzahl von aufgenommenen Bildern zu empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Der Prozessor kann jedes der Vielzahl von aufgenommenen Bildern einem Zielobjektanalysemodul bereitstellen, das mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen. Der Prozessor kann die erzeugte Ausgabe von dem Zielobjektanalysemodul empfangen. Der Prozessor kann ferner basierend auf der durch das Zielobjektanalysemodul erzeugten Ausgabe mindestens eine von dem Host-Fahrzeug vorzunehmende Navigationsaktion bestimmen. Der Prozessor kann bewirken, dass die mindestens eine Navigationsaktion durch das Host-Fahrzeug vorgenommen wird.

Description

  • Querverweis auf verwandte Anmeldung
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 62/956,979 , die am 3. Januar 2020 eingereicht wurde. Die vorstehende Anmeldung wird durch Bezugnahme in ihrer Gesamtheit hierin aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein die Navigation eines autonomen Fahrzeugs.
  • Hintergrundinformationen
  • Mit der fortschreitenden technologischen Entwicklung ist das Ziel eines vollständig autonomen Fahrzeugs, das auf Straßen navigieren kann, in Aussicht. Autonome Fahrzeuge müssen möglicherweise eine Vielfalt von Faktoren berücksichtigen, und basierend auf diesen Faktoren geeignete Entscheidungen treffen, um ein beabsichtigtes Ziel sicher und genau zu erreichen. Beispielsweise muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. von einer Kamera aufgenommene Informationen) verarbeiten und interpretieren, und kann auch Informationen verwenden, die aus anderen Quellen (z. B. von einem GPS-Gerät, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Federungssensor, usw.) erhalten wurden. Gleichzeitig muss ein autonomes Fahrzeug, um zu einem Ziel zu navigieren, möglicherweise auch seinen Ort innerhalb einer bestimmten Fahrbahn (z. B. eine bestimmte Fahrspur auf einer mehrspurigen Straße) identifizieren, entlang von anderen Fahrzeugen navigieren, Hindernisse und Fußgänger meiden, auf Verkehrssignale und Zeichen achten, und an geeigneten Kreuzungen oder Anschlussstellen von einer Straße zu einer anderen Straße fahren. Die Nutzung und Interpretation großer Informationsmengen, die von einem autonomen Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Zielort fährt, stellt eine große Menge von Entwurfsherausforderungen dar. Die schiere Menge an Daten (z. B. aufgenommene Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, abrufen und/oder speichern muss, stellen Herausforderungen dar, die die autonome Navigation tatsächlich einschränken oder sogar nachteilig beeinflussen können. Darüber hinaus stellt, wenn ein autonomes Fahrzeug zur Navigation auf herkömmliche Kartierungstechnologie angewiesen ist, die schiere Datenmenge, die zum Speichern und Aktualisieren der Karte erforderlich ist, eine gewaltige Herausforderung dar.
  • KURZDARSTELLUNG
  • Mit der vorliegenden Offenbarung übereinstimmende Ausführungsformen stellen Systeme und Verfahren zur autonomen Fahrzeugnavigation bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um Navigationsfunktionen für autonome Fahrzeuge bereitzustellen. Beispielsweise können die offenbarten Systeme in Übereinstimmung mit den offenbarten Ausführungsformen eine, zwei oder mehr Kameras umfassen, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion bereitstellen, die beispielsweise auf einer Analyse von Bildern basiert, die von einer oder mehreren der Kameras aufgenommen wurden.
  • In einer Ausführungsform kann ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor aufweisen. Der Prozessor kann dazu programmiert sein, von einer Kamera an Bord des Host-Fahrzeugs eine Vielzahl von aufgenommenen Bildern zu empfangen, die eine Umgebung des Host-Fahrzeugs darstellen. Der Prozessor kann ferner dazu programmiert sein, jedes der Vielzahl von aufgenommenen Bildern einem Zielobjektanalysemodul bereitzustellen, das mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von der aufgenommenen Bildern mindestens einen Indikator einer Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist. Der Prozessor kann ferner dazu programmiert sein, von dem Zielobjektanalysemodul die erzeugte Ausgabe zu empfangen, die den Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist. Der Prozessor kann dann basierend auf dem Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs mindestens eine von dem Host-Fahrzeug vorzunehmende Navigationsaktion bestimmen; und bewirken, dass die mindestens eine Navigationsaktion von dem Host-Fahrzeug vorgenommen wird.
  • In einer Ausführungsform kann ein Verfahren zur Fahrzeugnavigation aufweisen Empfangen, von einer Kamera an Bord des Host-Fahrzeugs, einer Vielzahl von aufgenommenen Bildern, die eine Umgebung des Host-Fahrzeugs darstellen; Bereitstellen jedes der Vielzahl von aufgenommenen Bildern an ein Zielobjektanalysemodul, das mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von aufgenommenen Bildern mindestens einen Indikator einer Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist; Empfangen, von dem Zielobjektanalysemodul, der erzeugten Ausgabe, die den Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist; Bestimmen mindestens einer durch das Host-Fahrzeug vorzunehmenden Navigationsaktion basierend auf dem Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs; und Bewirken der mindestens einen Navigationsaktion durch das Host-Fahrzeug.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die von mindestens einer Verarbeitungsvorrichtung ausgeführt werden und eines der hierin beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende ausführliche Beschreibung sind nur beispielhaft und erläuternd und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die beigefügten Zeichnungen, die in dieser Offenbarung enthalten sind und einen Teil davon bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen gilt:
    • 1 ist eine schematische Darstellung eines beispielhaften Systems in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansichtsdarstellung eines beispielhaften Fahrzeugs, das ein System in Übereinstimmung mit den offenbarten Ausführungsformen aufweist.
    • 2B ist eine schematische Draufsichtdarstellung des Fahrzeugs und des Systems, die in 2A gezeigt sind, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsichtdarstellung einer anderen Ausführungsform eines Fahrzeugs, das ein System in Übereinstimmung mit den offenbarten Ausführungsformen aufweist.
    • 2D ist eine schematische Draufsichtdarstellung noch einer anderen Ausführungsform eines Fahrzeugs, das ein System in Übereinstimmung mit den offenbarten Ausführungsformen aufweist.
    • 2E ist eine schematische Draufsichtdarstellung noch einer anderen Ausführungsform eines Fahrzeugs, das ein System in Übereinstimmung mit den offenbarten Ausführungsformen aufweist.
    • 2F ist eine schematische Darstellung von beispielhaften Fahrzeugsteuersystemen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3A ist eine schematische Darstellung eines Innenraums eines Fahrzeugs mit einem Rückspiegel und einer Benutzerschnittstelle für ein Fahrzeugbildgebungssystem in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3B ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und an einer Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit den offenbarten Ausführungsformen
    • 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3D ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und an einer Fahrzeugwindschutzscheibe positioniert zu sein, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der dazu ausgelegt ist, Anweisungen zum Durchführen einer oder mehrerer Operationen zu speichern, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Straßenmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugweg zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 8 zeigt eine spärliche Karte zum Bereitstellen einer autonomen Fahrzeugnavigation in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9A veranschaulicht eine polynomiale Darstellung eines Teils eines Straßensegments in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9B veranschaulicht eine Kurve im dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs für ein bestimmtes Straßensegment darstellt, das in einer spärlichen Karte enthalten ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 10 veranschaulicht beispielhafte Landmarken, die in einer spärlichen Karte enthalten sein können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 11A zeigt polynomiale Darstellungen von Trajektorien in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße in Übereinstimmung mit offenbarten Ausführungsformen.
    • 11D zeigt ein beispielhaftes Straßensignaturprofil in Übereinstimmung mit offenbarten Ausführungsformen.
    • 12 ist eine schematische Darstellung eines Systems, das von mehreren Fahrzeugen empfangene Crowd-Sourcing-Daten zur autonomen Fahrzeugnavigation verwendet, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell eines autonomen Fahrzeugs, das durch eine Vielzahl von dreidimensionalen Splines dargestellt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartenskelett, das durch Kombinieren von Ortsinformationen von vielen Fahrten erzeugt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel für eine longitudinale Ausrichtung von zwei Fahrten mit beispielhaften Zeichen als Landmarken, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel einer longitudinalen Ausrichtung vieler Fahrten mit einem beispielhaften Zeichen als Landmarke, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 17 ist eine schematische Darstellung eines Systems zum Erzeugen von Fahrtdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Veranschaulichung eines Systems zum Crowd-Sourcing einer spärlichen Karte, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erzeugen einer spärlichen Karte für die Navigation eines autonomen Fahrzeugs entlang eines Straßensegments zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 20 veranschaulicht ein Blockdiagramm eines Servers in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 21 veranschaulicht ein Blockschaltbild eines Speichers in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die Fahrzeugen zugeordnet sind, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für eine autonome Navigation verwendet werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 24A, 24B, 24C und 24D veranschaulichen beispielhafte Fahrspurmarkierungen, die in Übereinstimmung mit den offenbarten Ausführungsformen erkannt werden können.
    • 24E zeigt beispielhafte abgebildete Fahrspurmarkierungen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie, die dem Erkennen einer Fahrspurmarkierung zugeordnet ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild der Umgebung eines Fahrzeugs zur Navigation basierend auf den abgebildeten Fahrspurmarkierungen, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25B veranschaulicht eine laterale Lokalisierungskorrektur eines Fahrzeugs basierend auf abgebildeten Fahrspurmarkierungen in einem Straßennavigationsmodell, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • Die 25C und 25D stellen konzeptionelle Darstellungen einer Lokalisierungstechnik zum Lokalisieren eines Host-Fahrzeugs entlang einer Zieltrajektorie unter Verwendung von abgebildeten Merkmalen bereit, die in einer spärlichen Karte enthalten sind.
    • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Kartieren einer Fahrspurmarkierung zur Verwendung bei der Navigation eines autonomen Fahrzeugs zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung von abgebildeten Fahrspurmarkierungen zeigt, in Übereinstimmung mit offenbarten Ausführungsformen.
    • 27 ist ein Blockdiagramm, das einen beispielhaften Prozess zum Bestimmen eines Indikators des Zielobjekts veranschaulicht, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 28 ist eine Veranschaulichung eines beispielhaften Bildes, das von einem Host-Fahrzeug aufgenommen wurde, das zum Identifizieren von Zielobjekten in der Umgebung des Host-Fahrzeugs verwendet werden kann.
    • 29 ist eine Darstellung von beispielhaften Indikatoren, die für Zielobjekte bestimmt werden können, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 30 ist ein Blockdiagramm, das einen beispielhaften Trainingsprozess zum Trainieren eines Modells zum Bestimmen von Objektabmessungen veranschaulicht, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 31 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen eines Indikators einer Position des Zielobjekts bezüglich eines Host-Fahrzeugs zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen von Werten zeigt, die die Abmessungen eines Zielobjekts angeben, in Übereinstimmung mit den offenbarten Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung nimmt Bezug auf die beigelegten Zeichnungen. Wo immer es möglich ist, werden in den Zeichnungen und der nachfolgenden Beschreibung gleiche Bezugszeichen verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Obwohl hier mehrere anschauliche Ausführungsformen beschrieben werden, sind Modifizierungen, Anpassungen und andere Implementierungen möglich. Beispielsweise können an den in den Zeichnungen dargestellten Komponenten Ersetzungen, Ergänzungen oder Modifizierungen vorgenommen werden, und die hierin beschriebenen veranschaulichenden Verfahren können durch Ersetzen, Neuordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der angemessene Umfang durch die beigefügten Ansprüche definiert.
  • Übersicht über autonome Fahrzeuge
  • Wie in dieser gesamten Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingabe zu implementieren. Eine „Navigationsänderung“ bezieht sich auf eine Änderung in einem oder mehreren von Lenkung, Bremsung oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (z. B. vollständiger Betrieb ohne Fahrer oder ohne Fahrereingabe). Vielmehr weist ein autonomes Fahrzeug solche auf, die während bestimmter Zeiträume unter Steuerung des Fahrers und während anderer Zeiträume ohne Steuerung durch den Fahrer betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge aufweisen, die nur einige Aspekte der Fahrzeugnavigation steuern, wie z. B. das Lenken (z. B., um einen Fahrzeugkurs zwischen Fahrspurbeschränkungen beizubehalten), aber andere Aspekte (z. B. Bremsen) dem Fahrer überlassen werden können. In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitssteuerung und/oder des Lenkens des Fahrzeugs handhaben.
  • Da menschliche Fahrer in der Regel auf visuelle Hinweise und Beobachtungen angewiesen sind, um ein Fahrzeug zu steuern, werden die Verkehrsinfrastrukturen entsprechend gebaut, wobei Fahrspurmarkierungen, Verkehrszeichen und Ampeln alle darauf ausgelegt sind, den Fahrern visuelle Informationen bereitzustellen. In Anbetracht dieser Konstruktionsmerkmale von Verkehrsinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit aufweisen, die visuelle Informationen analysiert, die aus der Umgebung des Fahrzeugs aufgenommen wurden. Die visuellen Informationen können beispielsweise Komponenten der Verkehrsinfrastruktur (z. B. Fahrspurmarkierung, Verkehrszeichen, Ampeln usw.), die von Fahrern beobachtbar sind, und andere Hindernissen (z. B. andere Fahrzeuge, Fußgänger, Schutt usw.) aufweisen. Außerdem kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie etwa Informationen, die beim Navigieren ein Modell der Fahrzeugumgebung bereitstellen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Federungssensor usw.) und/oder anderen Kartendaten verwenden, um Informationen bezüglich seiner Umgebung bereitzustellen, während das Fahrzeug fährt. und das Fahrzeug (sowie andere Fahrzeuge) kann die Informationen verwenden, um sich selbst in dem Modell zu lokalisieren.
  • In einigen Ausführungsformen dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während der Navigation erhalten werden (z. B. von einer Kamera, einer GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Federungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug während der Navigation Informationen verwenden, die aus früheren Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) erhalten wurden. In noch anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination von Informationen, die während des Navigierens erhalten werden, und Informationen, die aus früheren Navigationen erhalten wurden, verwenden. Die folgenden Abschnitte geben einen Überblick über ein System in Übereinstimmung mit den offenbarten Ausführungsformen, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und Verfahren in Übereinstimmung mit dem System. Die folgenden Abschnitte offenbaren Systeme und Verfahren zum Erstellen, Verwenden und Aktualisieren einer spärlichen Karte für die Navigation eines autonomen Fahrzeugs.
  • Systemübersicht
  • 1 ist eine Blockdiagrammdarstellung eines Systems 100 in Übereinstimmung mit den beispielhaften offenbarten Ausführungsformen. Das System 100 kann in Abhängigkeit von den Anforderungen einer bestimmten Implementierung verschiedene Komponenten aufweisen. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Transceiver 172 aufweisen. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190, oder jede andere geeignete Verarbeitungsvorrichtung aufweisen. In ähnlicher Weise kann die Bilderfassungseinheit 120 eine beliebige Anzahl von Bildaufnahmevorrichtungen und -komponenten aufweisen, in Abhängigkeit von den Anforderungen einer bestimmten Anwendung. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bildaufnahmevorrichtungen (z. B. Kameras) aufweisen, wie etwa die Bildaufnahmevorrichtung 122, die Bildaufnahmevorrichtung 124, und die Bildaufnahmevorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 aufweisen, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bildaufnahmevorrichtung 120 verbindet. Beispielsweise kann die Datenschnittstelle 128 eine beliebige drahtgebundene und/oder drahtlose Verbindung, oder Verbindungen zum Senden von Bilddaten, die von der Bildaufnahmevorrichtung 120 erfasst wurden, an die Verarbeitungseinheit 110 aufweisen.
  • Der drahtlose Transceiver 172 kann eine oder mehrere Vorrichtungen aufweisen, die dazu ausgelegt sind, Übertragungen über eine Luftschnittstelle zu einem oder mehreren Netzwerken (z. B. Mobilfunk, das Internet usw.) unter Verwendung einer Hochfrequenz, Infrarotfrequenz, eines Magnetfelds oder eines elektrischen Felds auszutauschen. Der drahtlose Transceiver 172 kann jeden bekannten Standard verwenden, um Daten zu senden und/oder zu empfangen (z. B. Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.). Solche Übertragungen können Kommunikationen von dem Host-Fahrzeug zu einem oder mehreren entfernt angeordneten Servern umfassen. Solche Übertragungen können auch Kommunikationen (einseitig oder zweiseitig) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs aufweisen (z. B., um die Koordination der Navigation des Host-Fahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu vereinfachen), oder sogar eine Rundsendung an nicht spezifizierte Empfänger in der Nähe des sendenden Fahrzeugs.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Typen von Verarbeitungsvorrichtungen aufweisen. Beispielsweise können der Anwendungsprozessor 180 oder der Bildprozessor 190, oder beide, einen Mikroprozessor, Präprozessoren (wie etwa einen Bildpräprozessor), eine Grafikverarbeitungseinheit (GPU), eine Zentraleinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltkreise, Speicher oder andere Typen von Vorrichtungen, die zum Ausführen von Anwendungen und zur Bildverarbeitung und -analyse geeignet sind, aufweisen. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 jeden Typ von Ein- oder Mehrkernprozessor, einen Mikrocontroller für mobile Vorrichtungen, eine Zentraleinheit usw. aufweisen. Es können verschiedene Verarbeitungsvorrichtungen verwendet werden, die beispielsweise Prozessoren aufweisen, die von Herstellern wie Intel®, AMD® usw. erhältlich sind, oder GPUs, die von Herstellern wie NVIDIA®, ATI® usw. erhältlich sind, und verschiedene Architekturen (z. B. x86-Prozessor, ARM® usw.) aufweisen können.
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen der EyeQ-Serie von Prozessorchips, die von Mobileye® erhältlich sind, aufweisen. Diese Prozessordesigns weisen jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen auf. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren aufweisen, und können auch Videoausgabefähigkeiten aufweisen. In einem Beispiel verwendet EyeQ2@ die 90nm-Mikrometer-Technologie, die mit 332 MHz arbeitet. Die EyeQ2®-Architektur besteht aus zwei Gleitkomma-Hyper-Thread-32-Bit-RISC-CPUs (MIPS32® 34K®-Kerne), fünf Vision Computing Engines (VCE), drei Vector Microcode Prozessoren (VMP®), einem Denali 64-Bit Mobile DDR-Controller, einem internen 128-Bit Sonics Interconnect, einem dualen 16-Bit-Videoeingang und einem 18-Bit-Videoausgangscontroller, einem 16-Kanal-DMA und verschiedenen 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 Bildberechnungen durchführen, die von Multifunktions-Bundle-Anwendungen benötigt werden. In einem anderen Beispiel kann der EyeQ3®, der ein Prozessor der dritten Generation ist und sechsmal leistungsfähiger ist als der EyeQ2®, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch alle neueren oder zukünftigen EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Jede der hierin offenbarten Verarbeitungsvorrichtungen kann dazu ausgelegt sein, bestimmte Funktionen auszuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa eines der beschriebenen EyeQ-Prozessoren oder eines anderen Controllers oder Mikroprozessors, zum Ausführen bestimmter Funktionen kann das Programmieren von computerausführbaren Anweisungen und das Verfügbarmachen dieser Anweisungen für die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung aufweisen. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das direkte Programmieren der Verarbeitungsvorrichtung mit Architekturanweisungen aufweisen. Beispielsweise können Verarbeitungsvorrichtungen, wie etwa feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltkreise (ASICs) und dergleichen, unter Verwendung von beispielsweise einer oder mehreren Hardwarebeschreibungssprachen (HDLs) konfiguriert werden.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Speichern von ausführbaren Anweisungen in einem Speicher aufweisen, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann. Beispielsweise kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In jedem Fall stellt die Verarbeitungsvorrichtung, die dazu ausgelegt ist, die hierin offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen durchzuführen, ein spezialisiertes hardwarebasiertes System zur Steuerung mehrerer hardwarebasierter Komponenten eines Host-Fahrzeugs dar.
  • Während 1 zwei separate Verarbeitungsvorrichtungen zeigt, die in der Verarbeitungseinheit 110 enthalten sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Beispielsweise kann in einigen Ausführungsformen eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungsvorrichtungen durchgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere der Verarbeitungseinheit 110 aufweisen, ohne andere Komponenten, wie etwa die Bilderfassungseinheit 120, aufzuweisen.
  • Die Verarbeitungseinheit 110 kann verschiedene Typen von Vorrichtungen umfassen. Beispielsweise kann die Verarbeitungseinheit 110 verschiedene Geräte, wie etwa einen Controller, einen Bildpräprozessor, eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder andere Typen von Vorrichtungen zur Bildverarbeitung und -analyse, aufweisen. Der Bildpräprozessor kann einen Videoprozessor zum Aufnehmen, Digitalisieren und Verarbeiten der Bilder von den Bildsensoren aufweisen. 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 allgemein in der Technik bekannt sind, einschließlich Cache-, Stromversorgungs-, Takt- und Eingabe-Ausgabe-Schaltungen. Der Speicher kann Software speichern, die bei Ausführung durch den Prozessor den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware aufweisen. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Plattenlaufwerken, optischen Speichern, Bandspeichern, entfernbaren Speichern, und anderen Typen von Speicher umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen aufweisen, die bei Ausführung durch einen Prozessor (z. B. dem Anwendungsprozessor 180 und/oder dem 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 etwa ein neuronales Netz oder ein tiefes neuronales Netz, aufweisen. Die Speichereinheiten können Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Flash-Speicher, Plattenlaufwerken, optischen Speicher, Bandspeicher, entfernbaren Speicher und/oder beliebige andere Typen von Speicher aufweisen. In einigen Ausführungsformen können die Speichereinheiten 140, 150 von dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 getrennt sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann jeden Typ von Vorrichtung aufweisen, der zum Bestimmen eines Orts geeignet ist, der mindestens einer Komponente des Systems 100 zugeordnet ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger aufweisen. Solche Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die von Satelliten des globalen Positionsbestimmungssystems gesendet werden. Positionsinformationen von dem 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 aufweisen, wie etwa einen Geschwindigkeitssensor (z. B. einen Drehzahlmesser, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder einachsig oder mehrachsig) zum Messen der Beschleunigung des Fahrzeugs 200.
  • Die Benutzerschnittstelle 170 kann eine beliebige Vorrichtung aufweisen, die dazu geeignet ist, einem oder mehreren Benutzern des Systems 100 Informationen bereitzustellen oder Eingaben von diesen zu empfangen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen aufweisen, die beispielsweise einen Touchscreen, ein Mikrofon, eine Tastatur, Zeigevorrichtungen, Track Wheels, Kameras, Knöpfe, Schaltflächen usw. aufweisen. Mit solchen Eingabevorrichtungen kann ein Benutzer dazu in der Lage sein, Informationseingaben oder Befehle an das System 100 durch Eingeben von Anweisungen oder Informationen bereitzustellen, Sprachbefehle bereitzustellen, Menüoptionen auf einem Bildschirm unter Verwendung von Schaltflächen, Zeigern oder Blickverfolgungsfunktionen oder durch andere geeignete Techniken zum Übermitteln von Informationen an das System 100 auszuwählen.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die dazu ausgelegt sind, Informationen an oder von einem Benutzer bereitzustellen und zu empfangen, und diese Informationen zur Verwendung beispielsweise durch 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. Die Benutzerschnittstelle 170 kann eine Anzeige, einen Lautsprecher, eine taktile Vorrichtung und/oder andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen an einen Benutzer aufweisen.
  • Die Kartendatenbank 160 kann jeden Typ von Datenbank zum Speichern von Kartendaten, die für das System 100 nützlich sind, aufweisen. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten bezüglich der Position in einem Referenzkoordinatensystem von verschiedenen Elementen aufweisen, die Straßen, Wassermerkmale, geografische Merkmale, Geschäfte, Sonderziele, Restaurants, Tankstellen usw. aufweisen. Die Kartendatenbank 160 kann nicht nur die Orte solcher Elemente speichern, sondern auch Deskriptoren, die sich auf diese Elemente beziehen, die beispielsweise Namen aufweisen, die einem der gespeicherten Merkmale zugeordnet sind. In einigen Ausführungsformen kann die Kartendatenbank 160 physisch bei 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. die 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 usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein spärliches Datenmodell speichern, das polynomiale Darstellungen bestimmter Straßenmerkmale (z. B. Fahrspurmarkierungen) oder Zieltrajektorien für das Host-Fahrzeug aufweist. Systeme und Verfahren zum Erzeugen einer solchen Karte werden unten unter Bezugnahme auf die 8-19 erläutert.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können jeweils jeden Typ von Vorrichtung aufweisen, der zum Aufnehmen mindestens eines Bildes aus einer Umgebung geeignet ist. Darüber hinaus kann eine beliebige Anzahl von Bildaufnahmevorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzelne Bildaufnahmevorrichtung aufweisen, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bildaufnahmevorrichtungen aufweisen können. Die Bildaufnahmevorrichtungen 122, 124 und 126 werden weiter unten unter Bezugnahme auf die 2B-2E weiterhin beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene unterschiedliche Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 enthalten sein, wie in 2A gezeigt wird. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und beliebigen anderen Komponenten des Systems 100 ausgestattet sein, wie oben in Bezug auf 1 beschrieben wurde. Während das Fahrzeug 200 in einigen Ausführungsformen mit nur einer einzigen Bildaufnahmevorrichtung (z. B. einer Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie etwa den in Verbindung mit den 2B-2E erläuterten, mehrere Bildaufnahmevorrichtungen verwendet werden. Beispielsweise kann eine der Bildaufnahmevorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A gezeigt wird, Teil einer ADAS- (Advanced Driver Assistance Systems) Bildgebungsausrüstung sein.
  • Die in dem Fahrzeug 200 als Teil der Bilderfassungseinheit 120 enthaltenen Bildaufnahmevorrichtungen können an jedem geeigneten Ort positioniert werden. In einigen Ausführungsformen kann sich die Bildaufnahmevorrichtung 122, wie in den 2A-2E und 3A-3C gezeigt wird, in der Nähe des Rückspiegels befinden. Diese Position kann eine Sichtlinie ähnlich der des Fahrers des Fahrzeugs 200 bereitstellen, was bei der Bestimmung helfen kann, was für den Fahrer sichtbar ist und was nicht. Die Bildaufnahmevorrichtung 122 kann an einer beliebigen Stelle in der Nähe des Rückspiegels positioniert sein, aber das Platzieren der Bildaufnahmevorrichtung 122 auf der Fahrerseite des Spiegels kann weiter dazu beitragen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
  • Es können auch andere Orte für die Bildaufnahmevorrichtungen der Bilderfassungseinheit 120 verwendet werden. Beispielsweise kann sich die Bildaufnahmevorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Ein solcher Ort kann besonders für Bildaufnahmevorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie von an dem Stoßfänger angeordneten Bildaufnahmevorrichtungen kann sich von der des Fahrers unterscheiden, und daher sehen die Stoßfänger-Bildaufnahmevorrichtung und der Fahrer möglicherweise nicht immer dieselben Objekte. Die Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) können sich auch an anderen Orten befinden. Beispielsweise können sich die Bildaufnahmevorrichtungen an oder in einem oder beiden der Seitenspiegel des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, im Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200 befinden, hinter oder vor einem der Fenster des Fahrzeugs 200 positioniert oder angebracht sein, und in oder in der Nähe von Lichtfiguren, vorne und/oder hinten an dem Fahrzeugs 200, angebracht sein, usw.
  • Zusätzlich zu Bildaufnahmevorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 aufweisen. Beispielsweise kann die Verarbeitungseinheit 110 an dem Fahrzeug 200 entweder integriert mit oder getrennt von einer Motorsteuereinheit (ECU) des Fahrzeugs enthalten sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie etwa einem GPS-Empfänger, ausgestattet sein, und kann auch eine Kartendatenbank 160 und Speichereinheiten 140 und 150 aufweisen.
  • Wie zuvor erläutert, kann der drahtlose Transceiver 172 Daten über eines oder mehrere Netze (z. B. Mobilfunknetze, das Internet usw.) senden und/oder empfangen. Beispielsweise kann der drahtlose Transceiver 172 durch das System 100 gesammelte Daten auf einen oder mehrere Server hochladen, und Daten von dem einen oder den mehreren Servern herunterladen. Über den drahtlosen Transceiver 172 kann das System 100 beispielsweise periodisch oder bei Bedarf Aktualisierungen von Daten empfangen, die in der Kartendatenbank 160, dem Speicher 140 und/oder dem Speicher 150 gespeichert werden. In ähnlicher Weise kann der drahtlose Transceiver 172 beliebige Daten von dem System 100 (z. B. von der Bilderfassungseinheit 120 aufgenommene Bilder, von dem Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuersystemen usw. empfangene Daten) und/oder alle von der Verarbeitungseinheit 110 verarbeiteten Daten auf den einen oder die mehreren Server hochladen.
  • Das System 100 kann basierend auf einer Einstellung des Datenschutzniveaus Daten auf einen Server (z. B. in die Cloud) hochladen. Beispielsweise kann das System 100 Einstellungen zum Datenschutzniveau implementieren, um die Typen von Daten (einschließlich Metadaten), die an den Server gesendet werden, die ein Fahrzeug und/oder einen Fahrer/Eigentümer eines Fahrzeugs eindeutig identifizieren können, zu regulieren oder zu begrenzen. Solche Einstellungen können von dem Benutzer, beispielsweise über den drahtlosen Transceiver 172, durch werksseitige Standardeinstellungen initialisiert werden oder durch von dem drahtlosen Transceiver 172 empfangene Daten eingestellt werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einem „hohen“ Datenschutzniveau hochladen, und mittels Einstellen einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne Einzelheiten über das bestimmte Fahrzeug und/oder den Fahrer/Eigentümer senden. Wenn Daten beispielsweise gemäß einer „hohen“ Datenschutzeinstellung hochgeladen werden, enthält das System 100 möglicherweise keine Fahrzeugidentifikationsnummer (VIN) oder keinen Namen eines Fahrers oder Eigentümers des Fahrzeugs, und kann stattdessen Daten, wie etwa aufgenommene Bilder, und/oder begrenzte Ortsinformationen in Bezug auf eine Route senden.
  • Andere Datenschutzniveaus werden in Betracht gezogen. Beispielsweise kann das System 100 Daten gemäß einem „mittleren“ Datenschutzniveau an einen Server senden, und kann zusätzliche Informationen aufweisen, die nicht unter einem „hohen“ Datenschutzniveau enthalten sind, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder einen Fahrzeugtyp (z. B. ein Personenkraftwagen, ein Geländewagen, ein Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einem „niedrigen“ Datenschutzniveau hochladen. Unter einer „niedrigen“ Datenschutzniveaueinstellung kann das System 100 Daten hochladen und Informationen aufweisen, die ausreichen, um ein bestimmtes Fahrzeug, einen Eigentümer/Fahrer und/oder einen Teil oder die Gesamtheit einer von dem Fahrzeug befahrenen Route eindeutig zu identifizieren. Solche Daten auf „niedrigem“ Datenschutzniveau können beispielsweise eine VIN, einen Fahrer-/Eigentümernamen, einen Ausgangspunkt eines Fahrzeugs vor der Abfahrt, einen beabsichtigten Zielort des Fahrzeugs, eine Marke und/oder ein Modell des Fahrzeugs, einen Fahrzeugtyp usw. aufweisen.
  • 2A ist eine schematische Seitenansichtsdarstellung eines beispielhaften Fahrzeugbildgebungssystems in Übereinstimmung mit den offenbarten Ausführungsformen. 2B ist eine schematische Draufsichtdarstellung der in 2A gezeigten Ausführungsform. Wie in 2B veranschaulicht wird, können die offenbarten Ausführungsformen ein Fahrzeug 200 aufweisen, das in seinem Körper ein System 100 mit einer ersten Bildaufnahmevorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, eine zweite Bildaufnahmevorrichtung 124, die auf oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und eine Verarbeitungseinheit 110 aufweist.
  • Wie in 2C veranschaulicht wird, können die Bildaufnahmevorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Außerdem, während in den 2B und 2C zwei Bildaufnahmevorrichtungen 122 und 124 gezeigt sind, versteht es sich, dass andere Ausführungsformen mehr als zwei Bildaufnahmevorrichtungen aufweisen können. Beispielsweise sind in den Ausführungsformen, die in den 2D und 2E gezeigt werden, eine erste, eine zweite und eine dritte Bildaufnahmevorrichtung 122, 124 und 126 in dem System 100 des Fahrzeugs 200 enthalten.
  • Wie in 2D veranschaulicht wird, kann die Bildaufnahmevorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein, und die Bildaufnahmevorrichtungen 124 und 126 können an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt wird, können die Bildaufnahmevorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bildaufnahmevorrichtungen beschränkt, und die Bildaufnahmevorrichtungen können an jeder geeigneten Stelle innerhalb und/oder an dem Fahrzeug 200 positioniert sein.
  • Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und in anderen Zusammenhängen angewendet werden könnten. Es versteht sich auch, dass offenbarte Ausführungsformen nicht auf einen bestimmten Fahrzeugtyp 200 beschränkt sind und auf alle Fahrzeugtypen anwendbar sein können, einschließlich Automobile, Lastwagen, Anhänger und andere Fahrzeugtypen.
  • Die erste Bildaufnahmevorrichtung 122 kann jeden geeigneten Typ von Bildaufnahmevorrichtung aufweisen. Die Bildaufnahmevorrichtung 122 kann eine optische Achse aufweisen. In einem Fall kann die Bildaufnahmevorrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem globalen Shutter aufweisen. In anderen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Auflösung von 1280×960 Pixeln bereitstellen und kann einen Rolling Shutter aufweisen. Die Bildaufnahmevorrichtung 122 kann verschiedene optische Elemente aufweisen. In einigen Ausführungsformen können eine oder mehrere Linsen enthalten sein, um beispielsweise eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bildaufnahmevorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 einer 6-mm-Linse oder einer 12-mm-Linse zugeordnet sein. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, Bilder aufzunehmen, die ein gewünschtes Sichtfeld (FOV) 202 aufweisen, wie in 2D veranschaulicht wird. Beispielsweise kann die Bildaufnahmevorrichtung 122 so ausgelegt sein, dass sie ein normales Sichtfeld aufweist, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, einschließlich eines Sichtfelds von 46 Grad, eines Sichtfelds von 50 Grad, eines Sichtfelds von 52 Grad oder mehr. Alternativ kann die Bildaufnahmevorrichtung 122 so ausgelegt sein, dass sie ein schmales FOV im Bereich von 23 bis 40 Grad aufweist, wie beispielsweise ein FOV von 28 Grad oder ein FOV von 36 Grad. Außerdem kann die Bildaufnahmevorrichtung 122 so ausgelegt sein, dass sie ein breites Sichtfeld im Bereich von 100 bis 180 Grad aufweist. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Weitwinkel-Stoßfängerkamera oder eine mit einem Sichtfeld von bis zu 180 Grad aufweisen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine 7,2 Megapixel-Bildaufnahmevorrichtung mit einem Seitenverhältnis von ungefähr 2:1 (z. B. H×V =
    3800×1900 Pixel) mit einem horizontalen Sichtfeld von ungefähr 100 Grad sein. Eine solche Bildaufnahmevorrichtung kann anstelle einer Konfiguration mit drei Bildaufnahmevorrichtungen verwendet werden. Aufgrund einer erheblichen Linsenverzerrung kann das vertikale Sichtfeld einer solchen Bildaufnahmevorrichtung bei Implementierungen, bei denen die Bildaufnahmevorrichtung eine radialsymmetrische Linse verwendet, deutlich kleiner als 50 Grad sein. Beispielsweise kann es sein, dass eine solche Linse nicht radialsymmetrisch ist, was ein vertikales Sichtfeld von mehr als 50 Grad mit einem horizontalen Sichtfeld von 100 Grad ermöglichen würde.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Vielzahl von ersten Bildern bezüglich einer Szene erfassen, die dem Fahrzeug 200 zugeordnet ist. Jedes der Vielzahl von ersten Bildern kann als eine Folge von Bildabtastzeilen erfasst werden, die unter Verwendung eines Rolling Shutters aufgenommen werden können. Jede Abtastzeile kann mehrere Pixel aufweisen.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Abtastrate aufweisen, die der Erfassung jeder der ersten Folge von Bildabtastlinien zugeordnet ist. Die Abtastrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel zugeordnet sind, das in einer bestimmten Abtastzeile enthalten ist.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können jeden geeigneten Typ und jede geeignete Anzahl von Bildsensoren enthalten, die beispielsweise CCD-Sensoren oder CMOS-Sensoren aufweisen. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rolling Shutter verwendet werden, so dass jedes Pixel in einer Zeile einzeln gelesen wird und das Abtasten der Zeilen reihenweise fortschreitet, bis ein ganzes Bild aufgenommen wurde. In einigen Ausführungsformen können die Zeilen relativ zu dem Frame sequentiell von oben nach unten aufgenommen werden.
  • In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber darstellen, und können eine Auflösung von mehr als 5M Pixeln, 7M Pixeln, 10M Pixeln oder mehr aufweisen.
  • Die Verwendung eines Rolling Shutters kann dazu führen, dass Pixel in unterschiedlichen Zeilen belichtet und zu unterschiedlichen Zeiten erfasst werden, was zu Schräglagen und anderen Bildartefakten in dem erfassten Bildframe führen kann. Andererseits können, wenn die Bildaufnahmevorrichtung 122 dazu ausgelegt ist, mit einem globalen oder synchronen Verschluss zu arbeiten, alle Pixel für dieselbe Zeitdauer und während einer gemeinsamen Belichtungsperiode belichtet werden. Als Ergebnis stellen die Bilddaten in einem Frame, der von einem System gesammelt wurde, das einen globalen Shutter verwendet, eine Momentaufnahme des gesamten FOV (wie etwa des FOV 202) zu einem bestimmten Zeitpunkt dar. Im Gegensatz dazu wird bei einer Rolling-Shutter-Anwendung jede Zeile in einem Bild belichtet, und die Daten werden zu unterschiedlichen Zeiten aufgenommen. Somit können sich bewegende Objekte in einer Bildaufnahmevorrichtung mit einem Rolling Shutter verzerrt erscheinen. Dieses Phänomen wird unten ausführlicher beschrieben.
  • Die zweite Bildaufnahmevorrichtung 124 und die dritte Bildaufnahmevorrichtung 126 können von jedem Typ einer Bildaufnahmevorrichtung sein. Wie die erste Bildaufnahmevorrichtung 122 kann jede der Bildaufnahmevorrichtungen 124 und 126 eine optische Achse aufweisen. In einer Ausführungsform kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem globalen Shutter aufweisen. Alternativ kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Rolling Shutter aufweisen. Wie die Bildaufnahmevorrichtung 122 können die Bildaufnahmevorrichtungen 124 und 126 dazu ausgelegt sein, verschiedene Linsen und optische Elemente aufzuweisen. In einigen Ausführungsformen können Linsen, die den Bildaufnahmevorrichtungen 124 und 126 zugeordnet sind, FOVs (wie etwa die FOVs 204 und 206) bereitstellen, die gleich oder schmaler sind als ein FOV (wie etwa das FOV 202), das der Bildaufnahmevorrichtung 122 zugeordnet ist. Beispielsweise können die Bildaufnahmevorrichtungen 124 und 126 FOVs von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bildaufnahmevorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern bezüglich einer dem Fahrzeug 200 zugeordneten Szene erfassen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und eine dritte Folge von Bildabtastzeilen erfasst werden, die unter Verwendung eines Rolling Shutter aufgenommen werden können. Jede Abtastlinie oder Zeile kann eine Vielzahl von Pixeln aufweisen. Die Bildaufnahmevorrichtungen 124 und 126 können zweite und dritte Abtastraten aufweisen, die der Erfassung jeder der Bildabtastzeilen zugeordnet sind, die in der zweiten und dritten Serie enthalten sind.
  • Jede Bildaufnahmevorrichtung 122, 124 und 126 kann an einer beliebigen geeigneten Position und Ausrichtung bezüglich des Fahrzeugs 200 positioniert sein. Die relative Positionierung der Bildaufnahmevorrichtung 122, 124 und 126 kann ausgewählt werden, um das Zusammenführen der von den Bildaufnahmevorrichtungen aufgenommenen Informationen zu unterstützen. Beispielsweise kann in einigen Ausführungsformen ein FOV (wie etwa das FOV 204), das der Bildaufnahmevorrichtung 124 zugeordnet ist, teilweise oder vollständig mit einem FOV (wie etwa dem FOV 202) überlappen, das der Bildaufnahmevorrichtung 122 zugeordnet ist, und einem FOV (wie etwa dem FOV 206), das der Bildaufnahmevorrichtung 126 zugeordnet ist.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können sich in beliebigen geeigneten relativen Höhen am Fahrzeug 200 befinden. In einem Fall kann es einen Höhenunterschied zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 geben, der ausreichende Parallaxeninformationen bereitstellen kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A gezeigt wird, befinden sich die beiden Bildaufnahmevorrichtungen 122 und 124 auf unterschiedlichen Höhen. Es kann auch einen lateralen Versatzunterschied zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 geben, was beispielsweise zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 liefert. Der Unterschied im lateralen Versatz kann mit dx bezeichnet werden, wie in den 2C und 2D gezeigt wird. In einigen Ausführungsformen kann ein Vorwärts- oder Rückwärtsversatz (z. B. eine Versatzbereich) zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 vorhanden sein. Beispielsweise kann sich die Bildaufnahmevorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 befinden. Dieser Typ von Versatz kann es einer der Bildaufnahmevorrichtungen ermöglichen, potenzielle blinde Flecken der anderen Bildaufnahmevorrichtung(en) abzudecken.
  • Die Bildaufnahmevorrichtungen 122 können jedes geeignete Auflösungsvermögen (z. B. eine dem Bildsensor zugeordnete Anzahl von Pixeln) aufweisen, und die Auflösung des/der mit der Bildaufnahmevorrichtung 122 zugeordneten Bildsensors bzw. der Bildsensoren kann höher, niedriger oder gleich sein wie die Auflösung des Bildsensors bzw. der Bildsensoren, die den Bildaufnahmevorrichtungen 124 und 126 zugeordnet sind. In einigen Ausführungsformen können der/die Bildsensor(en), der/die der Bildaufnahmevorrichtung 122 und/oder den Bildaufnahmevorrichtungen 124 und 126 zugeordnet ist/sind, eine Auflösung von 640 × 480, 1024 × 768, 1280 × 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Framerate (z. B. die Rate, mit der eine Bildaufnahmevorrichtung einen Satz von Pixeldaten eines Bildframes erfasst, bevor sie damit fortfährt, Pixeldaten aufzunehmen, die dem nächsten Frame zugeordnet sind) kann steuerbar sein. Die der Bildaufnahmevorrichtung 122 zugeordnete Framerate kann höher, niedriger oder gleich der der Bildaufnahmevorrichtungen 124 und 126 zugeordneten Framerate sein. Die den Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnete Bildfrequenz kann von einer Vielzahl von Faktoren abhängig sein, die das Timing der Bildfrequenz beeinflussen können. Beispielsweise können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode aufweisen, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem oder mehreren Pixeln eines Bildsensors in den Bildaufnahmevorrichtungen 122, 124 und/oder 126 zugeordnet sind. Im Allgemeinen können Bilddaten entsprechend jedem Pixel gemäß einer Taktrate für die Vorrichtung erfasst werden (z. B. ein Pixel pro Taktzyklus). Außerdem können in Ausführungsformen, die einen Rolling Shutter aufweisen, eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine wählbare horizontale Austastperiode aufweisen, die vor oder nach der Erfassung von Bilddaten, die einer Pixelzeile eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet sind, auferlegt wird. Ferner können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und/oder 126 eine wählbare vertikale Austastperiode aufweisen, die vor oder nach der Erfassung von Bilddaten, die einem Bildframe der Bildaufnahmevorrichtung 122, 124 und 126 zugeordnet sind, auferlegt wird.
  • Diese Zeitsteuerungen können eine Synchronisierung von Frameraten ermöglichen, die den Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnet sind, selbst wenn die Zeilenabtastraten jeweils unterschiedlich sind. Außerdem können, wie weiter unten ausführlicher erläutert wird, diese wählbaren Zeitsteuerungen neben anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenabtastraten usw.) eine Synchronisierung der Bildaufnahme eines Bereichs ermöglichen, wo sich das FOV der Bildaufnahmevorrichtung 122 mit einem oder mehreren FOVs der Bildaufnahmevorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld der Bildaufnahmevorrichtung 122 von den FOVs der Bildaufnahmevorrichtungen 124 und 126 unterscheidet.
  • Das Timing der Framerate in den Bildaufnahmevorrichtungen 122, 124 und 126 kann von der Auflösung der zugeordneten Bildsensoren abhängig sein. Beispielsweise wird, unter Annahme ähnlicher Zeilenabtastraten für beide Vorrichtungen, wenn 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 aufweist, dann mehr Zeit benötigt, um einen Frame von Bilddaten von dem Sensor mit der höheren Auflösung zu erfassen.
  • Ein weiterer Faktor, der den Zeitpunkt der Bilddatenerfassung in den Bildaufnahmevorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenabtastrate. Beispielsweise erfordert die Erfassung einer Reihe von Bilddaten von einem Bildsensor, der in den Bildaufnahmevorrichtungen 122, 124 und 126 enthalten ist, eine gewisse minimale Zeitdauer. Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, wird diese minimale Zeitdauer für die Erfassung einer Reihe von Bilddaten auf die maximale Zeilenabtastrate für eine bestimmte Vorrichtung bezogen. Vorrichtungen, die höhere maximale Zeilenabtastraten bieten, haben das Potenzial, höhere Frameraten bereitzustellen als Vorrichtungen mit niedrigeren maximalen Zeilenabtastraten. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 eine maximale Zeilenabtastrate aufweisen, die höher ist als eine maximale Zeilenabtastrate, die der Bildaufnahmevorrichtung 122 zugeordnet ist. In einigen Ausführungsformen kann die maximale Zeilenabtastrate der Bildaufnahmevorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als eine maximale Zeilenabtastrate der Bildaufnahmevorrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bildaufnahmevorrichtungen 122, 124 und 126 dieselbe maximale Zeilenabtastrate aufweisen, aber die Bildaufnahmevorrichtung 122 kann mit einer Abtastrate betrieben werden, die kleiner oder gleich ihrer maximalen Abtastrate ist Das System kann so ausgelegt sein, dass eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 mit einer Zeilenabtastrate arbeiten, die gleich der Zeilenabtastrate der Bildaufnahmevorrichtung 122 ist. In anderen Fällen kann das System so ausgelegt sein, dass die Zeilenabtastrate der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 1,25, 1,5, 1,75 oder zweimal so viel, oder mehr, wie die Zeilenabtastrate der Bildaufnahmevorrichtung 122 betragen kann.
  • In einigen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten aufweisen. Die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 können beispielsweise einen beliebigen gewünschten Bereich bezüglich einer Umgebung des Fahrzeugs 200 aufweisen. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 dazu ausgelegt sein, Bilddaten aus einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, seitlich des Fahrzeugs 200, oder in Kombinationen davon, zu erfassen.
  • Ferner kann die jeder der Bildaufnahmevorrichtungen 122, 124 und/oder 126 zugeordnete Brennweite auswählbar sein (z. B. durch Einbeziehung geeigneter Linsen usw.), so dass jede Vorrichtung Bilder von Objekten in einem gewünschten Abstandsbereich bezüglich des Fahrzeugs 200 erfasst. Beispielsweise können die Bildaufnahmevorrichtungen 122, 124 und 126 in einigen Ausführungsformen Bilder von nahen Objekten, die sich innerhalb weniger Meter von dem Fahrzeug entfernt befinden, erfassen. Die Bildaufnahmevorrichtungen 122, 124 und 126 können auch dazu ausgelegt sein, Bilder von Objekten in Bereichen zu erfassen, die weit von dem Fahrzeug entfernt liegen (z. B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgewählt werden, dass eine Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug (z. B. innerhalb von 10 m oder innerhalb von 20 m) erfassen kann, während die anderen Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 124 und 126) Bilder von weiter von dem Fahrzeug 200 entfernten Objekten (z. B. mehr als 20 m, 50 m, 100 m, 150 m usw.) erfassen können.
  • Gemäß einigen Ausführungsformen kann das Sichtfeld einer oder mehrerer Bildaufnahmevorrichtungen 122, 124 und 126 einen Weitwinkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein Sichtfeld von 140 Grad zu haben, insbesondere für die Bildaufnahmevorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Bereichs in der Nähe des Fahrzeugs 200 aufzunehmen. Beispielsweise kann die Bildaufnahmevorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links des Fahrzeugs 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bildaufnahmevorrichtung 122 ein breites Sichtfeld (z. B. mindestens 140 Grad) aufweist.
  • Das jeder der Bildaufnahmevorrichtungen 122, 124 und 126 zugeordnete Sichtfeld kann von den jeweiligen Brennweiten abhängig sein. Beispielsweise nimmt mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können dazu ausgelegt sein, beliebige geeignete Sichtfelder aufzuweisen. In einem bestimmten Beispiel kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 46 Grad aufweisen, die Bildaufnahmevorrichtung 124 kann ein horizontales FOV von 23 Grad aufweisen, und die Bildaufnahmevorrichtung 126 kann ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 52 Grad aufweisen, die Bildaufnahmevorrichtung 124 kann ein horizontales FOV von 26 Grad aufweisen, und die Bildaufnahmevorrichtung 126 kann ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bildaufnahmevorrichtung 122 zu den FOVs der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 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 ausgelegt sein, dass sich ein Sichtfeld der Bildaufnahmevorrichtung 122 mindestens teilweise oder vollständig mit einem Sichtfeld der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so ausgelegt sein, dass die Sichtfelder der Bildaufnahmevorrichtungen 124 und 126 beispielsweise in das Sichtfeld der Bildaufnahmevorrichtung 122 fallen (z. B. schmaler sein als dieses) und ein gemeinsames Zentrum mit dem Sichtfeld teilen. In anderen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen, oder können eine teilweise Überlappung in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgerichtet sein, dass sich eine Mitte der schmaleren FOV-Bildaufnahmevorrichtung 124 und/oder 126 in einer unteren Hälfte des Sichtfelds der Vorrichtung 122 mit dem breiteren FOV befinden kann.
  • 2F ist eine schematische Darstellung von beispielhaften Fahrzeugsteuersystemen in Übereinstimmung mit den offenbarten Ausführungsformen. Wie in 2F angegeben, kann das Fahrzeug 200 ein Drosselsystem 220, ein Bremssystem 230 und ein Lenksystem 240 aufweisen. Das System 100 kann Eingaben (z. B. Steuersignale) an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. eine beliebige drahtgebundene und/oder drahtlose Verbindung, oder Verbindungen zum Übertragen von Daten) bereitstellen. Beispielsweise kann das System 100 basierend auf der Analyse von Bildern, die von den Bildaufnahmevorrichtungen 122, 124 und/oder 126 erfasst wurden, Steuersignale an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Bewirken einer Beschleunigung, eines Abbiegens, eines Fahrspurwechsels usw.). Ferner kann das System 100 Eingaben von einem oder mehreren von dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. eine Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt, usw.). Weitere Einzelheiten werden weiter unten in Verbindung mit den 4-7 bereitgestellt.
  • Wie in 3A gezeigt wird, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Beifahrer des Fahrzeugs 200 aufweisen. Beispielsweise kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Knöpfe 340 und ein Mikrofon 350 aufweisen. Ein Fahrer oder Beifahrer des Fahrzeugs 200 kann auch Griffe (z. B. an oder in der Nähe der Lenksäule des Fahrzeugs 200 verwenden, einschließlich beispielsweise Blinkergriffe), Knöpfe (die sich z. B. am Lenkrad des Fahrzeugs 200 befinden) und dergleichen aufweisen, und mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 benachbart zu einem Rückspiegel 310 positioniert sein. In ähnlicher Weise kann sich die Bildaufnahmevorrichtung 122 in einigen Ausführungsformen in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) aufweisen. Beispielsweise kann das System 100 verschiedene Benachrichtigungen (z. B. Warnungen) über die Lautsprecher 360 bereitstellen.
  • Die 3B-3D sind Darstellungen einer beispielhaften Kamerahalterung 370, die dazu ausgelegt ist, hinter einem Rückspiegel (z. B. dem Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, in Übereinstimmung mit offenbarten Ausführungsformen. Wie in 3B gezeigt wird, kann die Kamerahalterung 370 Bildaufnahmevorrichtungen 122, 124 und 126 aufweisen. Die Bildaufnahmevorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der bündig mit der Fahrzeugwindschutzscheibe abschließen kann und eine Zusammensetzung aus Film und/oder Antireflexionsmaterialien aufweist. Beispielsweise kann der Blendschutz 380 so positioniert sein, dass der Schutz mit einer passenden Neigung gegen eine Fahrzeugwindschutzscheibe ausgerichtet ist. In einigen Ausführungsformen kann jede der Bildaufnahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie beispielsweise in 3 gezeigt wird. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126, der Kamerahalterung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung 370 aus einer Frontperspektive.
  • Wie für einen Fachmann zu erkennen ist, der den Nutzen dieser Offenbarung hat, können zahlreiche Variationen und/oder Modifizierungen an den vorstehenden offenbarten Ausführungsformen vorgenommen werden. Beispielsweise sind nicht alle Komponenten für den Betrieb des Systems 100 essentiell. Ferner kann sich jede Komponente in jedem geeigneten Teil des Systems 100 befinden, und die Komponenten können in eine Vielzahl von Konfigurationen umorganisiert sein, während sie die Funktionalität der offenbarten Ausführungsformen bereitstellen. Daher sind die vorstehenden Konfigurationen Beispiele, und ungeachtet der oben erläuterten Konfigurationen kann das System 100 einen breiten Funktionsumfang bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 als Reaktion auf die Analyse zu navigieren.
  • Wie nachstehend ausführlicher erläutert wird, und in Übereinstimmung mit verschiedenen offenbarten Ausführungsformen, kann das System 100 eine Vielzahl von Merkmalen in Bezug auf autonomes Fahren und/oder Fahrerassistenztechnologie bereitstellen. Beispielsweise kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Ortsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von im Fahrzeug 200 enthaltenen Sensoren analysieren. Das System 100 kann die Daten zur Analyse beispielsweise von der Bilderfassungseinheit 120, dem Positionssensor 130, und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion ausführen sollte oder nicht, und dann automatisch die bestimmte Aktion ohne menschliches Eingreifen ausführen. Wenn das Fahrzeug 200 beispielsweise ohne menschliches Eingreifen navigiert, kann das System 100 automatisch ein Bremsen, Beschleunigen und/oder Lenken des Fahrzeugs 200 steuern (z. B. durch Senden von Steuersignalen an eines oder mehrere von dem Drosselsystem 220, dem Bremssystem 230, und dem Lenksystem 240). Ferner kann das System 100 die gesammelten Daten analysieren und basierend auf der Analyse der gesammelten Daten Warnungen und/oder Alarme an Fahrzeuginsassen ausgeben. Zusätzliche Einzelheiten bezüglich der verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden unten bereitgestellt.
  • Nach vorne gerichtetes Mehrfach-Bildgebungs-System
  • Wie oben erläutert wurde, kann das System 100 eine Fahrassistenzfunktionalität bereitstellen, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras aufweisen, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs gerichtet sind. In einer Ausführungsform kann das System 100 beispielsweise ein Zwei-Kamera-Bildgebungssystem verwenden, wobei eine erste Kamera und eine zweite Kamera (z. B. Bildaufnahmevorrichtungen 122 und 124) an der Vorderseite und/oder an den Seiten eines Fahrzeugs (z. B. des Fahrzeugs 200) positioniert sein können. Die erste Kamera kann ein Sichtfeld aufweisen, das größer oder kleiner als das Sichtfeld der zweiten Kamera ist oder dieses teilweise überlappt. Außerdem kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der ersten Kamera bereitgestellt werden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der zweiten Kamera bereitgestellt werden. Die Ausgaben (z. B. verarbeitete Informationen) des ersten und des zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten Kamera als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, wobei jede der Kameras ein anderes Sichtfeld aufweist. Ein solches System kann daher Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die sich in unterschiedlichen Abständen sowohl vor als auch seitlich des Fahrzeugs befinden. Bezüge auf die monokulare Bildanalyse können sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf Bildern durchgeführt wird, die aus einem einzigen Blickwinkel (z. B. von einer einzelnen Kamera) aufgenommen wurden. Eine Stereobildanalyse kann sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bildaufnahmeparameters aufgenommen wurden. Beispielsweise können aufgenommene Bilder, die zum Durchführen einer Stereobildanalyse geeignet sind, aufgenommene Bilder aufweisen: aus zwei oder mehr unterschiedlichen Positionen, aus unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen usw.
  • Beispielsweise kann das System 100 in einer Ausführungsform eine Konfiguration mit drei Kameras unter Verwendung der Bildaufnahmevorrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bildaufnahmevorrichtung 122 ein schmales Sichtfeld bereitstellen (z. B. 34 Grad, oder andere Werte, ausgewählt aus einem Bereich von etwa 20 bis 45 Grad usw.), die Bildaufnahmevorrichtung 124 kann ein breites Sichtfeld bereitstellen (z. B. 150 Grad, oder andere Werte, ausgewählt aus einem Bereich von etwa 100 bis etwa 180 Grad), und die Bildaufnahmevorrichtung 126 kann ein Zwischensichtfeld bereitstellen (z. B. 46 Grad, oder andere Werte, ausgewählt aus einem Bereich von etwa 35 bis etwa 60 Grad). In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 126 als Haupt- oder Primärkamera fungieren. Die Bildaufnahmevorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 positioniert sein und im Wesentlichen nebeneinander (z. B. 6 cm voneinander entfernt) positioniert sein. Ferner können in einigen Ausführungsformen, wie oben erläutert wurde, eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 montiert sein, der bündig mit der Windschutzscheibe des Fahrzeugs 200 ist. Eine solche Abschirmung kann dazu dienen, den Einfluss von Reflexionen aus dem Inneren des Fahrzeugs auf die Bildaufnahmevorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform kann, wie oben in Verbindung mit den 3B und 3C erläutert, die Kamera mit einem weitem Sichtfeld (z. B. die Bildaufnahmevorrichtung 124 im obigen Beispiel) niedriger angebracht sein als die Kamera mit dem schmalem und Hauptsichtfeld (z. B. die Bildvorrichtungen 122 und 126 im obigen Beispiel). Diese Konfiguration kann eine freie Sichtlinie von der Kamera mit weitem Sichtfeld bereitstellen. Um Reflexionen zu verringern, können die Kameras nahe der Windschutzscheibe des Fahrzeugs 200 angebracht sein, und können Polarisatoren an den Kameras aufweisen, um reflektiertes Licht zu dämpfen.
  • Ein Drei-Kamera-System kann bestimmte Leistungsmerkmale bereitstellen. Beispielsweise können einige Ausführungsformen eine Fähigkeit aufweisen, die Erkennung von Objekten durch eine Kamera basierend auf Erkennungsergebnissen von einer anderen Kamera zu validieren. In der oben erläuterten Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 beispielsweise drei Verarbeitungsvorrichtungen (z. B. drei EyeQ-Serien von Prozessorchips, wie oben erläutert) aufweisen, wobei jede Verarbeitungsvorrichtung für die Verarbeitung von Bildern bestimmt ist, die von einem oder mehreren der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurden.
  • In einem Drei-Kamera-System kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Kamera mit engem Sichtfeld empfangen, und eine Bildverarbeitung (Englisch: Vision Processing) der Kamera mit engem Sichtfeld durchführen, um beispielsweise andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Ferner kann die erste Verarbeitungsvorrichtung eine Pixeldisparität zwischen den Bildern von der Hauptkamera und der schmalen Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen, die basierend auf Informationen von einer anderen Kamera berechnet wurden, kombinieren.
  • Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln, und andere Straßenobjekte zu erkennen. Außerdem kann die zweite Verarbeitungsvorrichtung einen Kameraversatz berechnen, und basierend auf dem Versatz eine Pixeldisparität zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene (z. B. eine Structure from Motion) erstellen. Die zweite Verarbeitungsvorrichtung kann die auf die Structure from Motion basierte 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um sie mit den Stereo-3D-Bildern zu kombinieren.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der Kamera mit breitem Sichtfeld 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 ausführen, um Bilder zu analysieren, um sich bewegende Objekte, wie etwa Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw., in dem Bild zu identifizieren.
  • In einigen Ausführungsformen kann das Vorliegen von unabhängig aufgenommenen und verarbeiteten Strömen bildbasierter Informationen eine Gelegenheit zum Bereitstellen von Redundanz in dem System bereitstellen. Eine solche Redundanz kann beispielsweise die Verwendung einer ersten Bildaufnahmevorrichtung und der von dieser Vorrichtung verarbeiteten Bilder aufweisen, um Informationen zu validieren und/oder zu ergänzen, die durch das Aufnehmen und Verarbeiten von Bildinformationen von mindestens einer zweiten Bildaufnahmevorrichtung erhalten wurden.
  • In einigen Ausführungsformen kann das System 100 zwei Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122 und 124) verwenden, um eine Navigationsassistenz für das Fahrzeug 200 bereitzustellen, und kann eine dritte Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 126) verwenden, um Redundanz bereitzustellen und die Datenanalyse der von den anderen beiden Bildaufnahmevorrichtungen empfangenen Daten zu validieren. Beispielsweise können in einer solchen Konfiguration die Bildaufnahmevorrichtungen 122 und 124 Bilder zur Stereoanalyse durch das System 100 zum Navigieren des Fahrzeugs 200 bereitstellen, während die Bildaufnahmevorrichtung 126 Bilder zur monokularen Analyse durch das System 100 bereitstellen kann, um Redundanz und Validierung der Informationen bereitzustellen, die basierend auf Bildern, die von der Bildaufnahmevorrichtung 122 und/oder der Bildaufnahmevorrichtung 124 aufgenommen wurden, erhalten wurden. Das heißt, die Bildaufnahmevorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als redundantes Untersystem angesehen werden, um eine Überprüfung der von den Bildaufnahmevorrichtungen 122 und 124 abgeleiteten Analyse bereitzustellen (z. B. an ein automatisches Notbremsungs- (AEB) System). Darüber hinaus können in einigen Ausführungsformen Redundanz und Validierung empfangener Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren (z. B. Radar, Lidar, akustische Sensoren, Informationen, die von einem oder mehreren Transceivern außerhalb eines Fahrzeugs usw. empfangen werden) empfangen werden.
  • Ein Fachmann wird erkennen, dass die obigen Kamerakonfigurationen, Kameraplatzierungen, die Anzahl von Kameras, Kamerapositionen, usw., nur Beispiele sind. Diese Komponenten und andere, die in Bezug auf das Gesamtsystem beschrieben wurden, können in einer Vielzahl von unterschiedlichen Konfigurationen zusammengesetzt und verwendet werden, ohne dabei vom Umfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten zur Verwendung eines Mehrkamerasystems zur Bereitstellung von Fahrerassistenz- und/oder autonomer Fahrzeugfunktionalität folgen unten.
  • 4 ist ein beispielhaftes Funktionsblockdiagramm des Speichers 140 und/oder 150, die mit Anweisungen zum Durchführen einer oder mehrerer Operationen in Übereinstimmung mit den offenbarten Ausführungsformen gespeichert/programmiert werden können. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen in dem Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 gezeigt wird, 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. Ferner können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die Anweisungen ausführen, die in einem der in dem Speicher 140 enthaltenen Module 402, 404, 406 und 408 gespeichert sind. Ein Fachmann wird verstehen, dass Bezugnahmen auf die Verarbeitungseinheit 110 in den folgenden Diskussionen sich einzeln oder gemeinsam auf den Anwendungsprozessor 180 und den Bildprozessor 190 beziehen können. Dementsprechend können Schritte eines der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen speichern (wie etwa Computer-Vision-Software), die, wenn sie von der Verarbeitungseinheit 110 ausgeführt wird, eine monokulare Bildanalyse eines Satzes von Bildern durchführt, die von einer der Bildaufnahmevorrichtungen 122, 124 und 126 erfasst wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von einem Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit den 5A-5D unten erläutert wird, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des Satzes von Bildern, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und alle anderen Merkmale, die der Umgebung eines Fahrzeugs zugeordnet sind, aufweisen. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 bewirken, wie etwa ein Abbiegen, einen Fahrspurwechsel, eine Beschleunigungsänderung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 erläutert wird.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie etwa Computer-Vision-Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine Stereobildanalyse eines ersten und zweiten Satzes von Bildern durchführt, die durch eine Kombination von Bildaufnahmevorrichtungen aus beliebigen der Bildaufnahmevorrichtungen 122, 124 und 126 ausgewählt sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und dem zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von einem Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen einer Stereobildanalyse basierend auf einem ersten Satz von Bildern, die von der Bildaufnahmevorrichtung 124 erfasst wurden, und einem zweiten Satz von Bildern, die von der Bildaufnahmevorrichtung 126 erfasst wurden, aufweisen. Wie weiter unten in Verbindung mit 6 beschrieben wird, kann das Stereobildanalysemodul 404 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnauffahrten, Ampeln, gefährliche Objekte und dergleichen, aufweisen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 bewirken, wie etwa ein Abbiegen, einen Fahrspurwechsel, eine Beschleunigungsänderung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 erläutert wird. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die einem trainierten System (wie etwa einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem nicht trainierten System zugeordnet sind, wie etwa einem System, das dazu ausgelegt sein kann, Computer-Vision-Algorithmen zu verwenden, um Objekte in einer Umgebung zu erkennen und/oder zu kennzeichnen, aus der sensorische Informationen aufgenommen und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule dazu ausgelegt sein, eine Kombination aus einem trainierten und nicht trainierten System zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die dazu ausgelegt ist, Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die dazu ausgelegt sind, eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu bewirken. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Solche Daten können beispielsweise eine Zielposition, eine Geschwindigkeit und/oder Beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem nahegelegenen Fahrzeug, einen Fußgänger oder ein Straßenobjekt, Positionsinformationen für das Fahrzeug 200 relativ zu Fahrspurmarkierungen der Straße und dergleichen, aufweisen. Außerdem kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf einer sensorischen Eingabe (z. B. Informationen von einem Radar) und einer Eingabe von anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200 berechnen. Basierend auf der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 senden, um eine Geschwindigkeits- und/oder Beschleunigungsänderung auszulösen, beispielsweise durch physisches Drücken der Bremsen oder Nachlassen des Gaspedals des Fahrzeugs 200.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Solche Daten können Positions- und Geschwindigkeitsinformationen in Verbindung mit nahegelegenen Fahrzeugen, Fußgängern und Straßenobjekten, Zielpositionsinformationen für das Fahrzeug 200 und dergleichen, aufweisen. 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 relativen Geschwindigkeit oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemodul 404 erkannt wurden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z. B. Informationen von einem Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 senden, 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 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als Eingabe zur Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zum Berechnen 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 einem trainierten System (wie etwa einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem nicht trainierten System zugeordnet sind.
  • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse in Übereinstimmung mit offenbarten Ausführungsformen zeigt. Bei Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. Beispielsweise kann eine in der Bilderfassungseinheit 120 enthaltene Kamera (wie etwa die Bildaufnahmevorrichtung 122 mit dem Sichtfeld 202) eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise seitlich oder hinter einem Fahrzeug) aufnehmen und über eine Datenverbindung (z. B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 senden. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um Vielzahl von Bildern in Schritt 520 zu analysieren, wie weiter unten in Verbindung mit den 5B-5D ausführlicher beschrieben wird. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern erkennen, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnauffahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um in Schritt 520 verschiedene Gefahren im Straßenverkehr zu erkennen, wie beispielsweise Teile eines Lastwagenreifens, heruntergefallene Verkehrszeichen, lose Fracht, kleine Tiere und dergleichen. Gefahren im Straßenverkehr können in Struktur, Form, Größe und Farbe variieren, was die Erkennung solcher Gefahren erschweren kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Multi-Frame-Analyse an den mehreren Bildern durchzuführen, um Gefahren im Straßenverkehr zu erkennen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Bildframes schätzen und die Pixeldisparitäten zwischen den Bildframes berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie über der Straßenoberfläche vorhandene Gefahren zu erkennen.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 basierend auf der bei Schritt 520 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken zu bewirken. Navigationsreaktionen können beispielsweise ein Abbiegen, einen Fahrspurwechsel, eine Beschleunigungsänderung, und dergleichen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander, oder in einer beliebige Kombination davon, auftreten. Beispielsweise kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 eine Fahrspur wechselt und dann beschleunigt, indem sie beispielsweise sequentiell Steuersignale an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 sendet. Alternativ kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 bremst, während gleichzeitig die Fahrspur gewechselt wird, indem beispielsweise gleichzeitig Steuersignale an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 gesendet werden.
  • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zur Erkennung eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Bei Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 eines oder mehrere Bilder scannen, die Bilder mit einem oder mehreren vorbestimmten Mustern vergleichen, und in jedem Bild mögliche Orte identifizieren, die interessierende Objekte (z. B. Fahrzeuge, Fußgänger, oder Teile davon) enthalten können. Die vorbestimmten Muster können so gestaltet sein, dass eine hohe Rate an „falschen Treffern“ und eine niedrige Rate an „entgangenen Treffern“ erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Schwellenwert an Ähnlichkeit zu vorbestimmten Mustern verwenden, um Kandidatenobjekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Dies kann es der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit des Verfehlens (z. B. Nicht-Identifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu verringern.
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die einer Datenbank gespeicherten Objekttypen (z. B. einer im Speicher 140 gespeicherten Datenbank) zugeordnet sind. Eigenschaften können Objektform, Abmessungen, Textur, Position (z. B. relativ zu dem Fahrzeug 200) und dergleichen aufweisen. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten abzulehnen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Frames von Bildern analysieren, um zu bestimmen, ob Objekte in dem Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Frames hinweg verfolgen, und Frame-für-Frame Daten akkumulieren, die dem erkannten Objekt zugeordnet sind (z. B. Größe, Position bezüglich des Fahrzeugs 200, usw.). Außerdem kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen, und die Frame-für-Frame-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erkannten Objekte erstellen. Solche Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (bezüglich des Fahrzeugs 200) aufweisen, die den erfassten Objekten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätztechniken unter Verwendung einer Serie von zeitbasierten Beobachtungen, wie etwa Kalman-Filtern oder linearer quadratischer Schätzung (LQE), und/oder basierend auf verfügbaren Modellierungsdaten für unterschiedliche Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Verkehrszeichen usw.), erstellen. Die Kalman-Filter können auf einer Messung des Maßstabs eines Objekts basieren, wobei die Maßstabsmessung proportional zu einer Zeit bis zur Kollision ist (z. B. der Zeitdauer, die das Fahrzeug 200 benötigt, um das Objekt zu erreichen). Somit kann die Verarbeitungseinheit 110 durch Ausführen der Schritte 540-546 Fahrzeuge und Fußgänger identifizieren, die in dem Satz aufgenommener Bilder erscheinen, und Informationen (z. B. Position, Geschwindigkeit, Größe), die den Fahrzeugen und Fußgängern zugeordnet sind, ableiten. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 bewirken, wie oben in Verbindung mit 5A beschrieben wurde.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse eines oder mehrerer Bilder durchführen, um die Wahrscheinlichkeiten des Erkennens eines „falschen Treffers“ und des Verfehlens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu verringern. Die Analyse des optischen Flusses kann sich beispielsweise auf ein Analysieren von Bewegungsmustern bezüglich des Fahrzeugs 200 in dem einen oder den mehreren Bildern beziehen, die anderen Fahrzeugen und Fußgängern zugeordnet sind und die sich von der Straßenoberflächenbewegung unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die unterschiedlichen Positionen der Objekte über mehrere Bildframes hinweg, die zu unterschiedlichen Zeiten aufgenommen werden, beobachtet. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse ein weiteres Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann eine optische Flussanalyse in Kombination mit den Schritten 540-546 durchführen, um eine Redundanz zum Erkennen von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Erkennen von Straßenmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Bei Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten erkennen, indem sie eines oder mehrere Bilder scannt. Um Segmente von Fahrspurmarkierungen, Fahrbahngeometrieinformationen, und andere relevanten Straßenmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt werden (z. B. kleinere Schlaglöcher, kleine Steine, usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 erkannten Segmente, die zu derselben Fahrspurmarkierung oder Fahrspurmarkierung gehören, zusammengruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell, wie etwa ein mathematisches Modell, entwickeln, um die erkannten Segmente darzustellen.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen erstellen, die den erkannten Segmenten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Segmente aus der Bildebene auf die Ebene der realen Welt erzeugen. Die Projektion kann unter Verwendung eines Polynoms dritten Grades charakterisiert werden, das Koeffizienten aufweist, die physikalischen Eigenschaften, wie etwa der Position, Neigung, Krümmung, und Krümmungsableitung der erkannten Straße, entsprechen. Beim Erzeugen der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche, sowie Nick- und Rollraten, die dem Fahrzeug 200 zugeordnet sind, berücksichtigen. Außerdem kann die Verarbeitungseinheit 110 die Straßenhöhe modellieren, indem sie auf der Straßenoberfläche vorhandene Positions- und Bewegungshinweise analysiert. Ferner kann die Verarbeitungseinheit 110 die dem Fahrzeug 200 zugeordneten Nick- und Rollraten schätzen, indem sie einen Satz von Merkmalspunkten in dem einen oder den mehreren Bildern verfolgt.
  • In Schritt 556 kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführen, indem sie beispielsweise die erkannten Segmente über aufeinanderfolgende Bildframes verfolgt, und Frame-für-Frame Daten sammelt, die erkannten Segmenten zugeordnet sind. Wenn die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführt, kann der in Schritt 554 konstruierte Satz von Messungen zuverlässiger werden und einem zunehmend höheren Konfidenzniveau zugeordnet werden. Somit kann die Verarbeitungseinheit 110 durch Ausführen der Schritte 550, 552, 554 und 556 Straßenmarkierungen identifizieren, die innerhalb des Satzes aufgenommener Bilder erscheinen, und kann Fahrbahngeometrieinformationen ableiten. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 bewirken, wie weiter oben in Verbindung mit 5A beschrieben wurde.
  • Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen in Betracht ziehen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext 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 erkannten Straßenränder und Hindernisse und/oder allgemeine Beschreibungen von Straßenformen, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert wurden, berücksichtigen. Durch Berücksichtigung zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz zum Erkennen von Straßenmarkierungen und einer Fahrspurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess 500D zur Erkennung von Ampeln in einem Satz von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. 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. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu erstellen, wobei diejenigen Objekte ausgeschlossen werden, die wahrscheinlich keinen Ampeln entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften im Zusammenhang mit Ampeln, wie etwa Form, Abmessungen, Textur, Position (z. B. bezüglich des Fahrzeugs 200), und dergleichen, erfolgen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuersignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse an dem Satz von Kandidatenobjekten durchführen, die mögliche Ampeln widerspiegeln. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildframes hinweg verfolgen, die realen Position der Kandidatenobjekte schätzen, und diejenigen Objekte herausfiltern, die sich bewegen (die wahrscheinlich keine Ampeln sind). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen, und die relative Position der erkannten Farben identifizieren, die innerhalb möglicher Ampeln erscheinen.
  • Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination von Folgendem basieren: (i) die Anzahl der auf beiden Seiten des Fahrzeugs 200 erkannten Fahrspuren, (ii) auf der Straße erkannte Markierungen (wie etwa Pfeilmarkierungen), und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert wurden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet wurden. Außerdem kann die Verarbeitungseinheit 110 eine Entsprechung zwischen den bei Schritt 560 erkannten Ampeln und den Fahrspuren, die in der Nähe des Fahrzeugs 200 erscheinen, bestimmen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 das Konfidenzniveau aktualisieren, das der analysierten Kreuzungsgeometrie und den erkannten Ampeln zugeordnet ist. Beispielsweise kann die Anzahl der Ampeln, die an der Kreuzung geschätzt werden, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung erscheinen, das Konfidenzniveau beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf dem Konfidenzniveau die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Ausführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln identifizieren, die in dem Satz von aufgenommenen Bildern erscheinen, und Informationen über die Kreuzungsgeometrie analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen in dem Fahrzeug 200 bewirken, wie weiter oben in Verbindung mit 5A beschrieben wurde.
  • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E zum Bewirken einer oder mehrerer Navigationsreaktionen in dem Fahrzeug 200 basierend auf einem Fahrzeugweg zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugweg erstellen, der dem Fahrzeug 200 zugeordnet ist. Der Fahrzeugweg kann unter Verwendung eines in Koordinaten (x, z) ausgedrückten Satzes von Punkten dargestellt werden, und der Abstand di zwischen zwei Punkten in dem Satz von Punkten kann in dem Bereich von 1 bis 5 Metern liegen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugweg unter Verwendung von zwei Polynomen, wie etwa einem linken und einem rechten Straßenpolynom, erstellen. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den zwei Polynomen berechnen, und jeden Punkt, der in dem resultierenden Fahrzeugweg enthalten ist, um einen vorbestimmten Offset (z. B. einem intelligentem Fahrspur-Offset) versetzen. Der Offset kann in einer Richtung senkrecht zu einem Segment zwischen zwei beliebigen Punkten im Fahrzeugweg sein. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugwegs um die Hälfte der geschätzten Fahrspurbreite plus einem vorbestimmten Offset (z. B. einem intelligenten Fahrspur-Offset) zu versetzen.
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 den bei Schritt 570 erstellten Fahrzeugweg aktualisieren. Die Verarbeitungseinheit 110 kann den in Schritt 570 erstellten Fahrzeugweg unter Verwendung einer höheren Auflösung rekonstruieren, so dass der Abstand dk zwischen zwei Punkten in dem Satz von Punkten, der den Fahrzeugweg darstellt, kleiner als der oben beschriebene Abstand di ist. Beispielsweise kann der Abstand dk in dem Bereich von 0,1 bis 0,3 Meter liegen. Die Verarbeitungseinheit 110 kann den Fahrzeugweg unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S entsprechend der Gesamtlänge des Fahrzeugwegs (d. h. basierend auf dem Satz von Punkten, der den Fahrzeugweg darstellt) ergeben kann.
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Look-Ahead-Punkt (ausgedrückt in Koordinaten als (xl, zl)) basierend auf den bei Schritt 572 erstellten aktualisierten Fahrzeugweg bestimmen. Die Verarbeitungseinheit 110 kann den Look-Ahead-Punkt aus dem kumulativen Abstandsvektor S extrahieren, und der Look-Ahead-Punkt kann einem Look-Ahead-Abstand und einer Look-Ahead-Zeit zugeordnet sein. Der Look-Ahead-Abstand, der eine untere Grenze im Bereich von 10 bis 20 Metern haben kann, kann als das Produkt der Geschwindigkeit des Fahrzeugs 200 und der Look-Ahead-Zeit berechnet werden. Wenn beispielsweise die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann der Look-Ahead-Abstand auch abnehmen (z. B. so lange, bis er die untere Grenze erreicht). Die Look-Ahead-Zeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zu der Verstärkung eines oder mehrerer Regelkreise sein, die einem Bewirken einer Navigationsreaktion in dem Fahrzeug 200 zugeordnet sind, wie etwa die Kursfehlerverfolgungs-Regelschleife. Beispielsweise kann die Verstärkung der Kursfehlerverfolgungs-Regelschleife von der Bandbreite einer Gierratenschleife, einer Lenkaktuatorschleife, der Fahrzeugquerdynamik, und dergleichen, abhängig sein. Je größer daher die Verstärkung der Kursfehlerverfolgungs-Regelschleife ist, desto geringer ist die Look-Ahead-Zeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler- und Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Look-Ahead-Punkt bestimmen. Die Verarbeitungseinheit 110 kann den Kursfehler bestimmen, indem sie den Arkustangens des Look-Ahead-Punkts, z. B. arctan (xl/zl), berechnet. Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Kursfehlers und einer Steuerverstärkung auf hohem Niveau bestimmen. Die Steuerverstärkung auf hohem Niveau kann gleich sein zu: (2 / Look-Ahead-Zeit), wenn der Look-Ahead-Abstand nicht an der unteren Grenze liegt. Andernfalls kann die Steuerverstärkung auf hohem Niveau gleich sein zu: (2 * Fahrzeuggeschwindigkeit 200 / Look-Ahead-Abstand).
  • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem vorausfahrenden Fahrzeug (z. B. einem vor dem Fahrzeug 200 fahrenden Fahrzeug) zugeordnet sind. Beispielsweise kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der weiter oben in Verbindung mit den 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch eines oder mehrere Straßenpolynome, einen Look-Ahead-Punkt (der dem Fahrzeug 200 zugeordnet ist) und/oder eine aufgezeichneten Strecke (Englisch: Snail-Trail) (z. B. einem Satz von Punkten, die einen durch das vorausfahrende Fahrzeug genommenen Weg beschreiben) unter Verwendung der weiter oben in Verbindung mit 5E beschriebenen Techniken bestimmen.
  • Bei Schritt 582 kann die Verarbeitungseinheit 110 die bei Schritt 580 bestimmten Navigationsinformationen analysieren. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einer aufgezeichneten Strecke und einem Straßenpolynom (z. B. entlang der Strecke) berechnen. Wenn die Abweichung dieser Strecke entlang des Weges 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 vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In dem Fall, in dem mehrere Fahrzeuge erkannt werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die jedem Fahrzeug zugeordneten aufgezeichneten Strecken vergleichen. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen aufgezeichnete Strecke nicht mit den aufgezeichneten Strecken der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Fahrspur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der aufgezeichneten Strecke (die dem vorausfahrenden Fahrzeug zugeordnet ist) mit der erwarteten Krümmung des Straßensegments, auf dem das vorausfahrende Fahrzeug fährt, vergleichen. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus aufgezeichneten Strecken anderer Fahrzeuge, aus Vorwissen über die Straße und dergleichen extrahiert werden. Wenn der Unterschied in der Krümmung der aufgezeichneten Strecke und der erwarteten Krümmung des Straßensegments einen vorbestimmten Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem Look-Ahead-Punkt (der dem Fahrzeug 200 zugeordnet ist) über einen bestimmten Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn sich der Abstand zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Look-Ahead-Punkt während des bestimmten Zeitraums ändert und die kumulative Summe der Abweichungen einen vorbestimmten 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 vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der aufgezeichneten Strecke analysieren, indem sie den entlang der Strecke zurückgelegte lateralen Abstand mit der erwarteten Krümmung der aufgezeichneten Strecke vergleicht. Der erwartete Krümmungsradius kann gemäß folgender Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx den zurückgelegten laterale Abstand und δz den zurückgelegten longitudinalen Abstand darstellt. Wenn der Unterschied zwischen dem zurückgelegten lateralen Abstand und der erwarteten Krümmung einen vorbestimmten Schwellenwert (z. B. 500 bis 700 Meter) überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des vorausfahrenden Fahrzeugs analysieren. Wenn die Position des vorausfahrenden Fahrzeugs ein Straßenpolynom verdeckt (z. B., wenn das vorausfahrende Fahrzeug das Straßenpolynom überlagert), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In dem Fall, in dem die Position des vorausfahrenden Fahrzeugs so ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug erkannt wird, und die aufgezeichneten Strecken der beiden Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das vorausfahrende Fahrzeug 200 die Fahrspur wechselt oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Mittelwert der in Schritt 582 durchgeführten individuellen Analysen treffen. Bei einem solchen Schema kann beispielsweise einer Entscheidung der Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt, basierend auf einem bestimmten Analysetyp, ein Wert von „1“ zugewiesen werden (und „0“, um eine Bestimmung darzustellen, dass das vorausfahrende Fahrzeug wahrscheinlich nicht die Fahrspur wechselt). Unterschiedliche Analysen, die in Schritt 582 durchgeführt werden, können unterschiedliche Gewichtungen zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und eine zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie etwa die Bildaufnahmevorrichtungen 122 und 124 mit Sichtfeldern 202 und 204) eine erste und eine zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 aufnehmen, und diese über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth, usw.) an die Verarbeitungseinheit 110 senden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und die 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 Stereobildanalyse der ersten und der zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erzeugen, und Merkmale in den Bildern, wie etwa Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Gefahren im Straßenverkehr und dergleichen, zu erkennen. Die Stereobildanalyse kann auf ähnliche Weise wie die oben in Verbindung mit den in den 5A-5D beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Gefahren im Straßenverkehr, usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu erkennen, eine Teilmenge von Kandidatenobjekten basierend auf verschiedenen Kriterien herauszufiltern, und eine Multi-Frame-Analyse durchführen, Messungen erstellen, und ein Konfidenzniveau für die verbleibenden Kandidatenobjekte bestimmen. Beim Durchführen der obigen Schritte kann die Verarbeitungseinheit 110 Informationen sowohl aus der ersten als auch der zweiten Vielzahl von Bildern berücksichtigen, anstatt Informationen aus einem Satz von Bildern allein. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in Pixelebenendaten (oder anderen Datenteilmengen aus den zwei Strömen von aufgenommenen Bildern) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als ein weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z. B. bezüglich des Fahrzeugs 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern erscheint, aber nicht in den anderen, oder bezüglich anderen Unterschieden, die bezüglichen Objekten existieren können, die in den beiden Bildströmen erscheinen. Beispielsweise können eine Position, Geschwindigkeit und/oder Beschleunigung bezüglich des Fahrzeugs 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 in dem Fahrzeug 200 basierend auf der bei Schritt 620 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben, zu bewirken. Navigationsreaktionen können beispielsweise ein Abbiegen, einen Fahrspurwechsel, eine Beschleunigungsänderung, eine Geschwindigkeitsänderung, Bremsen und dergleichen aufweisen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander, oder in einer beliebigen Kombination davon, auftreten.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, in Übereinstimmung mit offenbarten Ausführungsformen. Bei Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie etwa die Bildaufnahmevorrichtungen 122, 124 und 126 mit Sichtfeldern 202, 204 und 206), eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 und/oder an der Seite davon aufnehmen, und sie über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 senden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. Beispielsweise kann jede der Bildaufnahmevorrichtungen 122, 124, 126 eine zugeordnete Datenschnittstelle zum Kommunizieren 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 in den Bildern, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnauffahrten, Ampeln, Gefahren im Straßenverkehr, und dergleichen, zu erkennen. Die Analyse kann in ähnlicher Weise wie die oben in Verbindung mit den 5A-5D und 6 beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den oben in Verbindung mit den 5A-5D beschriebenen Schritten) an jeder 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 oben in Verbindung mit 6 beschriebenen Schritten) an der ersten und zweiten Vielzahl von Bildern, der zweiten und dritten Vielzahl von Bildern, und/oder der ersten und dritten Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von monokularen und Stereobildanalysen durchführen. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126, einschließlich ihrer jeweiligen Orte und Sichtfelder 202, 204 und 206, können Einfluss auf die Typen von Analysen haben, die an der ersten, zweiten und dritten Vielzahl von Bildern ausgeführt wird. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126, oder die Typen von Analysen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden, beschränkt.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Tests auf dem System 100 basierend auf den Bildern durchführen, die in den Schritten 710 und 720 erfasst und analysiert wurden. Ein solches Testen kann einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen der Bildaufnahmevorrichtungen 122, 124 und 126 bereitstellen. Beispielsweise kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fällen, in denen das System 100 die Anwesenheit eines Fahrzeugs oder Fußgängers falsch bestimmt hat) und „entgangenen Treffern“ bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen bewirken, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängig sein, wie beispielsweise der Anzahl, der Typen und Größen von Objekten, die in jedem der Vielzahl von Bildern erkannt werden. Die Verarbeitungseinheit 110 kann die Auswahl auch basierend auf eine Bildqualität und Auflösung, dem in den Bildern reflektierten effektiven Sichtfeld, der Anzahl der aufgenommenen Frames, dem Ausmaß, in dem eines oder mehrere interessierende Objekte tatsächlich in den Frames erscheinen (z. B. Prozentsatz der Frames, in denen ein Objekt erscheint, der Teil des Objekts, der in jedem dieser Frames erscheint usw.), und dergleichen vornehmen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet wurden, indem sie das Ausmaß bestimmt, in dem Informationen, die von einer Bildquelle abgeleitet wurden, mit Informationen übereinstimmten, die von anderen Bildquellen abgeleitet wurden. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen kombinieren, die von jeder der Bildaufnahmevorrichtungen 122, 124 und 126 abgeleitet wurden (entweder durch monokulare Analyse, Stereoanalyse, oder eine beliebige Kombination der beiden), und visuelle Indikatoren (z. B. Fahrspurmarkierungen, ein erkanntes Fahrzeug und sein Ort und/oder Weg, eine erkannte Ampel usw.) bestimmen, die über die von jeder der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommenen Bildern hinweg übereinstimmen. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die in den aufgenommenen Bildern nicht übereinstimmend sind (z. B. einen Fahrspurwechsel eines Fahrzeugs, ein Fahrspurmodell, das angibt, dass sich ein Fahrzeug zu nahe an dem Fahrzeug 200 befindet, 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 übereinstimmender und nicht übereinstimmender Informationen.
  • Navigationsreaktionen können beispielsweise ein Abbiegen, einen Fahrspurwechsel, eine Beschleunigungsänderung und dergleichen aufweisen. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der in Schritt 720 durchgeführten Analyse und den Techniken, wie sie oben in Verbindung mit 4 beschrieben wurden, bewirken. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die von der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, relativen Geschwindigkeit und/oder relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das in einem der ersten; zweiten und dritten Vielzahl von Bildern erkannt wird, bewirken. Mehrere Navigationsreaktionen können gleichzeitig, nacheinander, oder in einer beliebiger Kombination davon auftreten.
  • Spärliches Straßenmodell für die 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 der autonomen Fahrzeugnavigation entlang eines Straßensegments dienen. Beispielsweise kann die spärliche Karte ausreichende Informationen zum Navigieren eines autonomen Fahrzeugs bereitstellen, ohne eine große Datenmenge zu speichern und/oder zu aktualisieren. Wie nachstehend ausführlicher erläutert wird, kann ein autonomes Fahrzeug die spärliche Karte verwenden, um auf einer oder mehreren Straßen basierend auf einer oder mehreren gespeicherten Trajektorien zu navigieren.
  • Spärliche Karte für die autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die autonome Fahrzeugnavigation erzeugen. Beispielsweise kann die spärliche Karte ausreichende Informationen für die Navigation bereitstellen, ohne übermäßige Datenspeicher- oder Datenübertragungsraten zu erfordern. Wie nachstehend ausführlicher erläutert wird, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die spärliche Karte verwenden, um auf einer oder mehreren Straßen zu navigieren. Beispielsweise kann die spärliche Karte in einigen Ausführungsformen Daten in Bezug auf eine Straße und potenzielle Landmarken entlang der Straße aufweisen, die für die Fahrzeugnavigation ausreichend sein können, aber auch kleine Daten-Fußabdrücke vorweisen. Beispielsweise können die Karten mit spärlichen Daten, die unten im Einzelnen beschrieben werden, im Vergleich zu digitalen Karten mit ausführlichen Karteninformationen, wie etwa entlang einer Straße gesammelten Bilddaten, erheblich weniger Speicherplatz und Datenübertragungsbandbreite erfordern.
  • Beispielsweise kann die Karte mit spärlichen Daten, anstatt ausführliche Darstellungen eines Straßensegments zu speichern, dreidimensionale polynomiale Darstellungen von bevorzugten Fahrzeugwegen entlang einer Straße speichern. Diese Pfade benötigen möglicherweise sehr wenig Datenspeicherplatz. Ferner können in den beschriebenen Karten mit spärlichen Daten Landmarken identifiziert werden und in das Straßenmodell mit spärlichen Karten aufgenommen werden, um die Navigation zu unterstützen. Diese Landmarken können sich in jedem beliebigen Abstand befinden, der dazu geeignet ist, die Fahrzeugnavigation zu ermöglichen, aber in einigen Fällen müssen solche Landmarken nicht identifiziert werden und mit hohen Dichten und kurzen Abständen in das Modell aufgenommen werden. Vielmehr kann in einigen Fällen eine Navigation basierend auf Landmarken möglich sein, die mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer voneinander beabstandet sind. Wie in anderen Teilen ausführlicher erläutert wird, kann die spärliche Karte basierend auf Daten erzeugt werden, die von Fahrzeugen gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bildaufnahmevorrichtungen, Global-Positionierungs- System-Sensoren, Bewegungssensoren, usw., wenn die Fahrzeuge auf Straßen fahren. In einigen Fällen kann die spärliche Karte basierend auf Daten erzeugt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge entlang einer bestimmten Fahrbahn gesammelt wurden. Das Erzeugen einer spärlichen Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowd-Sourcing“ einer spärlichen Karte bezeichnet werden.
  • In Übereinstimmung mit offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine spärliche Karte zur Navigation verwenden. Beispielsweise können die offenbarten Systeme und Verfahren eine spärliche Karte zum Erzeugen eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen, und können ein autonomes Fahrzeug entlang eines Straßensegments unter Verwendung einer spärlichen Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Mit der vorliegenden Offenbarung übereinstimmende spärliche Karten können eine oder mehrere dreidimensionale Konturen aufweisen, die vorbestimmte Trajektorien darstellen können, die autonome Fahrzeuge durchqueren können, wenn sie sich entlang zugehöriger Straßensegmente bewegen.
  • Mit der vorliegenden Offenbarung übereinstimmende spärliche Karten können auch Daten aufweisen, die eines oder mehrere Straßenmerkmale darstellen. Solche Straßenmerkmale können erkannte Landmarken, Straßensignaturprofile und alle anderen straßenbezogenen Merkmale aufweisen, die beim Navigieren eines Fahrzeugs nützlich sind. Mit der vorliegenden Offenbarung übereinstimmende spärliche Karten können eine autonome Navigation eines Fahrzeugs basierend auf relativ kleinen Datenmengen ermöglichen, die in der spärlichen Karte enthalten sind. Anstatt beispielsweise ausführliche Darstellungen einer Straße, wie etwa Straßenränder, eine Straßenkrümmung, Straßensegmenten zugeordnete Bilder, oder Daten, die andere physikalische Merkmale im Zusammenhang mit einem Straßensegment ausführliche beschreiben, aufzunehmen, können die offenbarten Ausführungsformen der spärlichen Karte relativ wenig Speicherplatz erfordern (und eine relativ geringe Bandbreite, wenn Teile der spärlichen Karte an ein Fahrzeug übertragen werden), können aber dennoch ausreichend für eine autonome Fahrzeugnavigation sorgen. Der kleine Daten-Fußabdruck der offenbarten spärlichen Karten, der unten ausführlicher erläutert wird, kann in einigen Ausführungsformen durch Speichern von Darstellungen von straßenbezogenen Elementen erreicht werden, die kleine Datenmengen erfordern, aber dennoch eine autonome Navigation ermöglichen.
  • Beispielsweise können die offenbarten spärlichen Karten, anstatt ausführliche Darstellungen verschiedener Aspekte einer Straße zu speichern, polynomiale Darstellungen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Daher kann, anstatt Einzelheiten bezüglich der physikalischen Beschaffenheit der Straße zu speichern (oder zu übertragen), um die Navigation entlang der Straße zu ermöglichen, ein Fahrzeug unter Verwendung der offenbarten spärlichen Karten entlang eines bestimmten Straßensegments navigiert werden, ohne es dass es, in einigen Fällen, physikalische Aspekte der Straße interpretieren muss, sondern vielmehr durch Ausrichten seines Fahrwegs mit einer Trajektorie (z. B. einem polynomialen Spline) entlang des bestimmten Straßensegments. Auf diese Weise kann das Fahrzeug hauptsächlich basierend auf der gespeicherten Trajektorie (z. B. einem polynomialen Spline) navigiert werden, die möglicherweise viel weniger Speicherplatz benötigt als ein Ansatz, der die Speicherung von Fahrbahnbildern, Straßenparametern, Straßenlayout usw. aufweist.
  • Zusätzlich zu den gespeicherten polynomialen Darstellungen von Trajektorien entlang eines Straßensegments können die offenbarten spärlichen Karten auch kleine Datenobjekte aufweisen, die ein Straßenmerkmal darstellen können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen aufweisen, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das von einem Sensor (z. B. einer Kamera oder einem anderen Sensor, wie etwa einem Federungssensor) an Bord eines Fahrzeugs erhalten wurde, das entlang des Straßensegments fährt. Die digitale Signatur kann relativ zu dem von dem Sensor erfassten Signal eine verringerte Größe aufweisen. In einigen Ausführungsformen kann die digitale Signatur erzeugt werden, um mit einer Klassifiziererfunktion kompatibel zu sein, die dazu ausgelegt ist, das Straßenmerkmal aus dem Signal zu erkennen und zu identifizieren, das beispielsweise während einer nachfolgenden Fahrt durch den Sensor erfasst wird. In einigen Ausführungsformen kann eine digitale Signatur so erzeugt werden, dass die digitale Signatur einen möglichst kleinen Fußabdruck aufweist, während die Fähigkeit beibehalten wird, das Straßen merkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem erzeugten digitalen Signal, das durch einen Sensor erzeugt wurde, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten aufweist) des Straßenmerkmals, das von einer Kamera an Bord eines Fahrzeugs aufgenommen wird, das zu einem späteren Zeitpunkt auf demselben Straßensegment fährt, zu korrelieren oder abzugleichen.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner einer Einzigartigkeit des Straßenmerkmals zugeordnet sein. Beispielsweise kann es für ein Straßenmerkmal, das von einer Kamera an Bord eines Fahrzeugs erkennbar ist und bei dem das Kamerasystem an Bord des Fahrzeugs mit einem Klassifizierer gekoppelt ist, der in der Lage ist, die diesem Straßenmerkmal entsprechenden Bilddaten als einem bestimmten Typ eines Straßenmerkmals, beispielsweise einem Verkehrszeichen, zugeordnet zu unterscheiden, und wo ein solches Verkehrszeichen in diesem Gebiet lokal einzigartig ist (z. B. kein identisches Verkehrszeichen oder Verkehrszeichen desselben Typs in der Nähe ist), ausreichend sein, Daten zu speichern, die den Typ des Straßenmerkmals und seine Position angeben.
  • Wie weiter unten ausführlicher erläutert wird, können Straßenmerkmale (z. B. Landmarken entlang eines Straßensegments) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes darstellen können, während gleichzeitig ausreichende Informationen zum Erkennen und Verwenden einer solchen Funktion für die Navigation bereitgestellt werden. In einem Beispiel kann ein Verkehrszeichen als erkannte Landmarke, auf der die Navigation eines Fahrzeugs basieren kann, identifiziert werden. Eine Darstellung des Verkehrszeichens kann in der spärlichen Karte gespeichert werden, um z. B. einige Datenbytes, die einen Typ einer Landmarke (z. B. ein Stoppschild) angeben, und einige Datenbytes von Daten, die einen Ort der Landmarke (z. B. Koordinaten) angeben, aufzuweisen. Das Navigieren basierend auf solchen Daten-leichten Darstellungen der Landmarken (z. B. unter Verwendung von Darstellungen, die ausreichend sind, um basierend auf den Landmarken zu lokalisieren, zu erkennen und zu navigieren) kann ein gewünschtes Maß an den spärlichen Karten zugeordneter Navigationsfunktionalität bereitstellen, ohne den Daten-Overhead, der den spärlichen Karten zugeordnet ist, signifikant zu erhöhen. Diese schlanke Darstellung von Landmarken (und anderen Straßenmerkmalen) kann die an Bord solcher Fahrzeuge enthalten Sensoren und Prozessoren nutzen, die dazu ausgelegt sind, bestimmte Straßenmerkmale zu erkennen, zu identifizieren und/oder zu klassifizieren.
  • Wenn beispielsweise ein Zeichen oder sogar ein bestimmter Typ eines Zeichens in einem bestimmten Gebiet lokal eindeutig ist (z. B., wenn kein anderes Zeichen, oder kein anderes Zeichen desselben Typs vorhanden ist), kann die spärliche Karte Daten verwenden, die einen Typ einer Landmarke angeben (ein Zeichen, oder ein bestimmter Typ von Zeichen), und während der Navigation (z. B. einer autonomen Navigation) kann, wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs aufnimmt, der ein Zeichen (oder einen bestimmten Typ von Zeichen) aufweist, der Prozessor das Bild verarbeiten, das Zeichen erkennen (wenn es tatsächlich in dem Bild vorhanden ist), das Bild als Zeichen (oder als ein bestimmter Typ von Zeichen) klassifizieren, und den Ort des Bildes mit dem Ort des Zeichens korrelieren, wenn es in der spärlichen Karte gespeichert wird.
  • Die spärliche Karte kann jede geeignete Darstellung von Objekten aufweisen, die entlang eines Straßensegments identifiziert wurden. In einigen Fällen können die Objekte als semantische Objekte oder nicht-semantische Objekte bezeichnet werden. Semantische Objekte können beispielsweise Objekte aufweisen, die einer vorbestimmten Typklassifizierung zugeordnet sind. Diese Typklassifizierung kann nützlich sein, um die Datenmenge zu verringern, die erforderlich ist, um das in einer Umgebung erkannte semantische Objekt zu beschreiben, was sowohl in der Sammelphase von Vorteil sein kann (z. B., um die einer Bandbreitennutzung zum Übertragen von Fahrtinformationen von einer Vielzahl von Sammelfahrzeugen zu einem Server zugeordneten Kosten zu verringern) als auch während der Navigationsphase (z. B. kann eine Verringerung von Kartendaten die Übertragung von Kartenkacheln von einem Server zu einem navigierenden Fahrzeug beschleunigen, und kann auch die einer Bandbreitennutzung für solche Übertragungen zugeordneten Kosten verringern). Semantische Objektklassifizierungstypen können jedem Typ von Objekt oder Merkmalen zugewiesen werden, von denen erwartet wird, dass sie entlang einer Fahrbahn angetroffen werden.
  • Semantische Objekte können ferner in zwei oder mehr logische Gruppen unterteilt werden. In einigen Fällen kann beispielsweise eine Gruppe von semantischen Objekttypen vorbestimmten Abmessungen zugeordnet sein. Solche semantischen Objekte können bestimmte Geschwindigkeitsbegrenzungszeichen, Vorfahrtzeichen, Einmündungszeichen, Stoppschilder, Ampeln, Richtungspfeile auf einer Fahrbahn, Kanaldeckel, oder jeden anderen Objekttyp aufweisen, der einer standardisierten Größe zugeordnet sein kann. Ein von solchen semantischen Objekten bereitgestellter Vorteil besteht darin, dass sehr wenig Daten benötigt werden, um die Objekte darzustellen/vollständig zu definieren. Wenn beispielsweise eine standardisierte Größe einer Geschwindigkeitsbegrenzungsgröße bekannt ist, muss ein Sammelfahrzeug möglicherweise nur (durch Analyse eines aufgenommenen Bildes) das Vorhandensein eines Geschwindigkeitsbegrenzungszeichens (ein erkannter Typ) zusammen mit einer Positionsangabe des erkannten Geschwindigkeitsbegrenzungszeichens (z. B. eine 2D-Position im aufgenommenen Bild (oder alternativ eine 3D-Position in realen Koordinaten), einer Mitte des Zeichens oder einer bestimmten Ecke des Zeichens identifizieren, um ausreichende Informationen für die Kartenerzeugung serverseitig bereitzustellen. Wenn 2D-Bildpositionen an den Server gesendet werden, kann auch eine dem erfassten Bild zugeordnete Position, an der das Zeichen erkannt wurde, übertragen werden, damit der Server eine reale Position des Zeichens bestimmen kann (z. B. durch Structure-in-Motion-Techniken unter Verwendung mehrerer von einem oder mehreren Sammelfahrzeugen aufgenommenen Bildern). Selbst mit diesen begrenzten Informationen (die nur wenige Bytes erfordern, um jedes erkannte Objekt zu definieren) kann der Server die Karte erstellen, die ein vollständig dargestelltes Geschwindigkeitsbegrenzungszeichen aufweist, basierend auf der Typklassifizierung (repräsentativ für ein Geschwindigkeitsbegrenzungszeichen), die von einer oder mehreren Sammelfahrzeuge empfangen wurden, zusammen mit den Positionsinformationen für das erkannte Zeichen.
  • Semantische Objekte können auch andere erkannte Objekt- oder Merkmalstypen aufweisen, die nicht bestimmten standardisierten Merkmalen zugeordnet sind. Solche Objekte oder Merkmale können Schlaglöcher, Teerfugen, Lichtmasten, nicht standardisierte Zeichen, Bordsteine, Bäume, Äste, oder jeder andere Typ von erkanntem Objekttyp mit einer oder mehreren variablen Eigenschaften (z. B. variablen Abmessungen) aufweisen. In solchen Fällen kann ein Sammelfahrzeug zusätzlich zur Sendung einer Angabe des erkannten Objekt- oder Merkmalstyps (z. B. Schlagloch, Pfahl usw.) und Positionsinformationen für das erkannte Objekt oder Merkmal an einen Server auch eine Angabe eines Größe des Objekts oder Merkmals senden. Die Größe kann in 2D-Bildabmessungen (z. B. mit einem Begrenzungsrahmen oder einem oder mehreren Abmessungswerten) oder in realen Abmessungen ausgedrückt werden (bestimmt durch Structure-in-Motion-Berechnungen, basierend auf LIDAR- oder RADAR-Systemausgaben, basierend auf trainierten neuronalen Netzausgaben, usw.).
  • Nicht-semantische Objekte oder Merkmale können alle erkennbaren Objekte oder Merkmale aufweisen, die außerhalb einer erkannten Kategorie oder eines erkannten Typs liegen, aber dennoch wertvolle Informationen bei der Kartenerzeugung bereitstellen können. In einigen Fällen können solche nicht-semantischen Merkmale eine erkannte Ecke eines Gebäudes oder eine Ecke eines erkannten Fensters eines Gebäudes, ein einzelner Stein oder ein Objekt in der Nähe einer Fahrbahn, ein Betonspritzer an einem Fahrbahnrand, oder jedes andere erkennbare Objekt oder Merkmal sein. Beim Erkennen eines solchen Objekts oder Merkmals können eines oder mehrere Sammelfahrzeuge an einen Kartenerzeugungsserver einen Ort von einem oder mehreren Punkten (2D-Bildpunkte oder 3D-Punkte der realen Welt), die dem erkannten Objekt/Merkmal zugeordnet sind, senden. Außerdem kann ein komprimiertes oder vereinfachtes Bildsegment (z. B. ein Bild-Hash) für einen Bereich des aufgenommenen Bildes, der das erkannte Objekts oder Merkmal aufweist, erzeugt werden. Dieser Bild-Hash kann basierend auf einem vorbestimmten Bildverarbeitungsalgorithmus berechnet werden und kann eine effektive Signatur für das erkannte nicht-semantische Objekt oder Merkmal bilden. Eine solche Signatur kann für die Navigation bezüglich einer spärlichen Karte, die das nicht-semantische Merkmal oder Objekt aufweist, nützlich sein, da ein Fahrzeug, das die Fahrbahn durchquert, einen Algorithmus ähnlich dem Algorithmus anwenden kann, der zum Erzeugen des Bild-Hash verwendet wird, um die Anwesenheit des abgebildeten nicht-semantischen Merkmals oder Objekts in einem aufgenommenen Bild zu bestätigen/verifizieren. Unter Verwendung dieser Technik können nicht-semantische Merkmale zum Reichtum der spärlichen Karten beitragen (z. B., um ihre Nützlichkeit bei der Navigation zu verbessern), ohne einen signifikanten Daten-Overhead hinzuzufügen.
  • Wie bereits erwähnt wurde, können Zieltrajektorien in der spärlichen Karte gespeichert werden. Diese Zieltrajektorien (z. B. 3D-Splines) können die bevorzugten oder empfohlenen Wege für jede verfügbare Fahrspur einer Fahrbahn, jeden gültigen Pfad durch eine Kreuzung, für Einmündungen und Ausfahrten usw. darstellen. Zusätzlich zu den Zieltrajektorien können auch andere Straßenmerkmale erkannt, gesammelt und in Form von repräsentativen Splines in die spärlichen Karten integriert werden. Solche Merkmale können beispielsweise Straßenränder, Fahrspurmarkierungen, Bordsteine, Leitplanken oder beliebige andere Objekte oder Merkmale aufweisen, die sich entlang einer Fahrbahn oder eines Straßensegments erstrecken.
  • Erzeugen 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ßensegments erstreckt, und eine Vielzahl von dem Straßensegment zugeordneten Landmarken aufweisen. In bestimmten Aspekten kann die spärliche Karte über „Crowd-Sourcing“ erzeugt werden, beispielsweise durch Bildanalyse einer Vielzahl von Bildern, die erfasst werden, während eines oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • 8 zeigt eine spärliche Karte 800, auf die eines oder mehrere Fahrzeuge, z. B. das Fahrzeug 200 (das ein autonomes Fahrzeug sein kann) zugreifen können, um eine autonome Fahrzeugnavigation bereitzustellen. Die spärliche Karte 800 kann in einem Speicher, wie etwa dem Speicher 140 oder 150, gespeichert sein. Solche Speichervorrichtungen können beliebige Typen von nichtflüchtigen Speichervorrichtungen oder computerlesbaren Medien aufweisen. Beispielsweise kann der Speicher 140 oder 150 in einigen Ausführungsformen Festplatten, CDs, Flash-Speicher, magnetbasierte Speichervorrichtungen, optisch basierte Speichervorrichtungen usw. aufweisen. In einigen Ausführungsformen kann die spärliche Karte 800 in einer Datenbank (z. B. Kartendatenbank 160), die in dem Speicher 140 oder 150 gespeichert sein kann, oder in anderen Typen von Speichervorrichtungen gespeichert werden.
  • In einigen Ausführungsformen kann die spärliche Karte 800 in einer Speichervorrichtung oder auf einem nichtflüchtigen computerlesbaren Medium gespeichert werden, das an Bord des Fahrzeugs 200 bereitgestellt wird (z. B. einer Speichervorrichtung, die in einem Navigationssystem an Bord des Fahrzeugs 200 enthalten ist). Ein im Fahrzeug 200 bereitgestellter Prozessor (z. B. eine Verarbeitungseinheit 110) kann auf eine spärliche Karte 800 zugreifen, die in der Speichervorrichtung oder einem computerlesbaren Medium, das an Bord des Fahrzeugs 200 bereitgestellt ist, gespeichert ist, um Navigationsanweisungen zum Führen des autonomen Fahrzeugs 200 zu erzeugen, wenn das Fahrzeug ein Straßensegment durchquert.
  • 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 sein, das auf einem entfernten Server bereitgestellt wird, der mit dem Fahrzeug 200 oder einer mit dem Fahrzeug 200 zugeordneten Vorrichtung kommuniziert. Ein an dem Fahrzeug 200 bereitgestellter Prozessor (z. B. die Verarbeitungseinheit 110) kann Daten, die in der spärlichen Karte 800 enthalten sind, von dem entfernten Server empfangen, und die Daten zum Führen des autonomen Fahrens des Fahrzeugs 200 ausführen. In solchen Ausführungsformen kann der entfernte Server die gesamte Karte 800 mit geringer Dichte 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 Teil(e) 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 (z. B. mehrere Zehn, Hunderte, Tausende oder Millionen von Fahrzeugen usw.), die verschiedene Straßensegmente durchqueren. Es sollte auch beachtet werden, dass die spärliche Karte 800 mehrere Unterkarten aufweisen kann. Beispielsweise kann die spärliche Karte 800 in einigen Ausführungsformen Hunderte, Tausende, Millionen oder mehr Unterkarten (z. B. Kartenkacheln) aufweisen, die beim Navigieren eines Fahrzeugs verwendet werden können. Solche Unterkarten können als lokale Karten oder Kartenkacheln bezeichnet werden, und ein entlang einer Straße fahrendes Fahrzeug kann auf eine beliebige Anzahl lokaler Karten zugreifen, die für einen Ort relevant sind, an dem das Fahrzeug fährt. Die lokalen Kartenteile der spärlichen Karte 800 können mit einem Schlüssel des globalen Navigationssatellitensystems (GNSS) als Index für die Datenbank der spärlichen Karte 800 gespeichert werden. Während die Berechnung von Lenkwinkeln zum Navigieren eines Host-Fahrzeugs in dem vorliegenden System ohne Abhängigkeit von einer GNSS-Position des Host-Fahrzeugs, Straßenmerkmalen oder Landmarken durchgeführt werden kann, können daher solche GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Im Allgemeinen kann die spärliche Karte 800 basierend auf Daten (z. B. Fahrtinformationen) erzeugt werden, die von einem oder mehreren Fahrzeugen gesammelt werden, während sie auf Straßen fahren. Beispielsweise können die Trajektorien, die das eine oder die mehreren Fahrzeuge entlang einer Fahrbahn fahren, unter Verwendung von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z. B. Kameras, Tachometer, GPS, Beschleunigungsmesser usw.) aufgezeichnet werden, und die polynomiale Darstellung einer bevorzugten Trajektorie für Fahrzeuge, die nachfolgende Fahrten entlang der Fahrbahn unternehmen, kann basierend auf den gesammelten Trajektorien, die von dem einen oder den mehreren Fahrzeugen gefahren werden, bestimmt werden. In ähnlicher Weise können Daten, die von dem einen oder den mehreren Fahrzeugen gesammelt werden, beim Identifizieren potenzieller Landmarken entlang einer bestimmten Fahrbahn von Nutzen sein. Von querenden Fahrzeugen gesammelte Daten können auch verwendet werden, um Straßenprofilinformationen zu identifizieren, wie etwa Straßenbreitenprofile, Straßenrauheitsprofile, Verkehrslinienabstandsprofile, Straßenbedingungen usw. Unter Verwendung der gesammelten Informationen kann eine spärliche Karte 800 erzeugt und verteilt werden (z. B. zur lokalen Speicherung oder per Datenübertragung im Flug), um bei der Navigation eines oder mehrerer autonomer Fahrzeuge verwendet zu werden. In einigen Ausführungsformen endet die Kartenerzeugungjedoch möglicherweise nicht mit der anfänglichen Erzeugung der Karte. Wie unten ausführlicher erläutert wird, kann die spärliche Karte 800 kontinuierlich oder periodisch basierend auf Daten aktualisiert werden, die von Fahrzeugen gesammelt wurden, während diese Fahrzeuge weiterhin Straßen durchqueren, die in der spärlichen Karte 800 enthalten sind.
  • In der spärlichen Karte 800 aufgezeichnete Daten können Positionsinformationen basierend auf Daten des globalen Positionsbestimmungssystems (GPS) aufweisen. Beispielsweise können Ortsinformationen in der spärlichen Karte 800 für verschiedene Kartenelemente, die beispielsweise Ort von Landmarken, Orte von Straßenprofilen, usw. aufweisen, enthalten sein. Orte für Kartenelemente, die in der spärlichen Karte 800 enthalten sind, können unter Verwendung von GPS-Daten erhalten werden, die von Fahrzeugen, die eine Fahrbahn durchqueren, gesammelt wurden. Beispielsweise kann ein Fahrzeug, das eine identifizierte Landmarke passiert, einen Ort der identifizierten Landmarke unter Verwendung von GPS-Positionsinformationen, die dem Fahrzeug zugeordnet sind, und einer Bestimmung eines Orts der identifizierten Landmarke bezüglich des Fahrzeugs bestimmen (z. B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt wurden). Solche Ortsbestimmungen einer identifizierten Landmarke (oder jedes anderen Merkmals, das in der spärlichen Karte 800 enthalten ist) können wiederholt werden, wenn zusätzliche Fahrzeuge den Ort der identifizierten Landmarke passieren. Einige oder alle der zusätzlichen Ortsbestimmungen können verwendet werden, um die in der spärlichen Karte 800 gespeicherten Ortsinformationen bezüglich der identifizierten Landmarke zu verfeinern. Beispielsweise können in einigen Ausführungsformen mehrere Positionsmessungen bezüglich eines bestimmten Merkmals, das in der spärlichen Karte 800 gespeichert ist, gemittelt werden. Beliebige andere mathematische Operationen können jedoch auch verwendet werden, um einen gespeicherten Ort eines Kartenelements basierend auf einer Vielzahl von bestimmten Orten für das Kartenelement zu verfeinern.
  • In einem bestimmten Beispiel können Sammelfahrzeuge einen bestimmten Straßensegment durchqueren. Jedes Sammelfahrzeug nimmt Bilder seiner jeweiligen Umgebung auf. Die Bilder können mit jeder geeigneten Frame-Aufnahme-Rate (z. B. 9 Hz usw.) gesammelt werden. Ein Bildanalyseprozessor (Bildanalyseprozessoren) an Bord jedes Sammelfahrzeugs analysiert (analysieren) die aufgenommenen Bilder, um das Vorhandensein semantischer und/oder nicht-semantischer Merkmale/Objekte zu erkennen. Auf einer hohen Ebene senden die Sammelfahrzeuge an einen Kartierungsserver Hinweise auf Erkennungen der semantischen und/oder nicht-semantischen Objekte/Merkmale zusammen mit Positionen, die diesen Objekten/Merkmalen zugeordnet sind. Genauer gesagt können Typindikatoren, Abmessungsindikatoren usw. zusammen mit den Positionsinformationen gesendet werden. Die Positionsinformationen können beliebige geeignete Informationen aufweisen, um dem Kartierungsserver zu ermöglichen, die erkannten Objekte/Merkmale zu einer spärlichen Karte, die für die Navigation nützlich ist, zu aggregieren. In einigen Fällen können die Positionsinformationen eine oder mehrere 2D-Bildpositionen (z. B. X-Y-Pixelpositionen) in einem aufgenommenen Bild, in dem die semantischen oder nicht-semantischen Merkmale/Objekte erkannt wurden, aufweisen. Solche Bildpositionen können einer Mitte des Merkmals/Objekts, einer Ecke, usw. entsprechen. In diesem Szenario kann jedes Sammelfahrzeug, um den Kartierungsserver bei der Rekonstruktion der Fahrtinformationen und dem Abgleich der Fahrtinformationen von mehreren Sammelfahrzeugen zu unterstützen, den Servern auch einen Ort (z. B. einem GPS-Ort), an dem jedes Bild aufgenommen wurde, bereitstellen.
  • In anderen Fällen kann das Sammelfahrzeug dem Server einen oder mehrere reale 3D-Punkte bereitstellen, die den erkannten Objekten/Merkmalen zugeordnet sind. Solche 3D-Punkte können relativ zu einem vorbestimmten Ursprung (wie etwa einem Ursprung eines Fahrtsegments) sein, und können durch jede geeignete Technik bestimmt werden. In einigen Fällen kann eine Structure-in-Motion-Technik verwendet werden, um die reale 3D-Position eines erkannten Objekts/Merkmals zu bestimmen. Beispielsweise kann ein bestimmtes Objekt, wie etwa ein bestimmtes Geschwindigkeitsbegrenzungszeichen, in zwei oder mehr aufgenommenen Bildern erkannt werden. Unter Verwendung von Informationen, wie etwa der bekannten Eigenbewegung (Geschwindigkeit, Trajektorie, GPS-Position usw.) des Sammelfahrzeugs zwischen den aufgenommenen Bildern, zusammen mit beobachteten Änderungen des Geschwindigkeitsbegrenzungszeichens in den aufgenommenen Bildern (Änderung der X-Y-Pixelposition, Änderung der Größe usw.), kann die reale Position eines oder mehrerer Punkte, die dem Geschwindigkeitsbegrenzungszeichen zugeordnet sind, bestimmt werden und an den Kartierungsserver weitergegeben werden. Ein solcher Ansatz ist optional, da er mehr Rechenaufwand seitens der Sammelfahrzeugsysteme erfordert. Die spärliche Karte der offenbarten Ausführungsformen kann eine autonome Navigation eines Fahrzeugs unter Verwendung von relativ kleinen Mengen an gespeicherten Daten ermöglichen. In einigen Ausführungsformen kann die spärliche Karte 800 eine Datendichte (einschließlich z. B. Daten, die die Zieltrajektorien, Landmarken und andere gespeicherte 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 Straßenkilometer oder sogar weniger als 2 kB pro Straßenkilometer (z. B. 1,6 kB pro Kilometer) oder nicht mehr als 10 kB pro Straßenkilometer oder nicht mehr als 20 kB pro Straßenkilometer betragen. In einigen Ausführungsformen können die meisten, wenn nicht alle Straßen der Vereinigten Staaten, autonom unter Verwendung einer spärlichen Karte mit insgesamt 4 GB, oder weniger, an Daten navigiert werden. Diese Datendichtewerte können einen Mittelwert über eine gesamte spärliche Karte 800, über eine lokale Karte innerhalb der spärlichen Karte 800 und/oder über ein bestimmtes Straßensegment innerhalb der spärlichen Karte 800 darstellen.
  • Wie erwähnt, kann die spärliche Karte 800 Darstellungen einer Vielzahl von Zieltrajektorien 810 zum Führen des autonomen Fahrens oder der Navigation entlang eines Straßensegments aufweisen. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert werden. Die in der spärlichen Karte 800 gespeicherten Zieltrajektorien können beispielsweise basierend auf zwei oder mehr rekonstruierten Trajektorien früherer Durchquerungen von Fahrzeugen entlang eines bestimmten Straßensegments bestimmt werden. Ein Straßensegment kann einer einzelnen Zieltrajektorie oder mehreren Zieltrajektorien zugeordnet sein. Beispielsweise kann, auf einer zweispurigen Straße, eine erste Zieltrajektorie gespeichert werden, um einen beabsichtigten Fahrtweg entlang der Straße in einer ersten Richtung darzustellen, und eine zweite Zieltrajektorie kann gespeichert werden, um einen beabsichtigten Fahrtweg entlang der Straße in einer anderen Richtung (z. B. entgegengesetzt zu der ersten Richtung) darzustellen. Zusätzliche Zieltrajektorien können in Bezug auf ein bestimmtes Straßensegment gespeichert werden. Beispielsweise können auf einer mehrspurigen Straße eine oder mehrere Zieltrajektorien gespeichert werden, die beabsichtigte Fahrwege für Fahrzeuge auf einer oder mehreren Fahrspuren darstellen, die der mehrspurigen Straße zugeordnet sind. In einigen Ausführungsformen kann jede Fahrspur einer mehrspurigen Straße ihrer eigenen Zieltrajektorie zugeordnet sein. In anderen Ausführungsformen können weniger Zieltrajektorien gespeichert sein als Fahrspuren, die auf einer mehrspurigen Straße vorhanden sind. In solchen Fällen kann ein Fahrzeug, das auf der mehrspurigen Straße navigiert, jede der gespeicherten Zieltrajektorien verwenden, um seine Navigation zu führen, indem ein Betrag des Fahrspur-Offsets von einer Fahrspur berücksichtigt wird, für die eine Zieltrajektorie gespeichert ist (z. B. kann, wenn ein Fahrzeug auf der am weitesten links liegenden Fahrspur einer dreispurigen Autobahn fährt und eine Zieltrajektorie nur für die mittlere Fahrspur der Autobahn gespeichert ist, das Fahrzeug unter Verwendung der Zieltrajektorie der mittleren Fahrspur navigieren, indem der Betrag des Fahrspur-Offsets zwischen der mittleren Fahrspur und der am weitesten links liegenden Fahrspur beim Erzeugen von Navigationsanweisungen berücksichtigt wird).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Weg darstellen, den ein Fahrzeug nehmen sollte, während das Fahrzeug fährt. Die Zieltrajektorie kann sich beispielsweise in einer ungefähren Mitte einer Fahrspur befinden. In anderen Fällen kann sich die Zieltrajektorie an anderer Stelle bezüglich eines Straßensegments befinden. Beispielsweise kann eine Zieltrajektorie ungefähr mit einer Mitte einer Straße, einem Straßenrand oder einem Rand einer Fahrspur usw. zusammenfallen. In solchen Fällen kann die Navigation basierend auf der Zieltrajektorie einen bestimmten Versatzbetrag aufweisen, der bezüglich des Orts der Zieltrajektorie einzuhalten ist. Darüber hinaus kann sich in einigen Ausführungsformen der bestimmte Offset-Betrag, der bezüglich des Orts der Zieltrajektorie einzuhalten ist, basierend auf einem Fahrzeugtyp unterscheiden (z. B. kann ein Personenkraftwagen mit zwei Achsen entlang mindestens eines Teils der Zieltrajektorie einen anderen Offset aufweisen als ein Lastkraftwagen mit mehr als zwei Achsen).
  • Die spärliche Karte 800 kann auch Daten aufweisen, die sich auf eine Vielzahl von vorbestimmten Landmarken 820 beziehen, die bestimmten Straßensegmenten, lokalen Karten usw. zugeordnet sind. Wie unten ausführlicher erläutert wird, können diese Landmarken bei der Navigation des autonomen Fahrzeugs verwendet werden. Beispielsweise können die Landmarken in einigen Ausführungsformen verwendet werden, um eine aktuelle Position des Fahrzeugs bezüglich einer gespeicherten Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung so anzupassen, dass sie einer Richtung der Zieltrajektorie an dem bestimmten Ort entspricht.
  • Die Vielzahl von Landmarken 820 können in jedem geeigneten Abstand identifiziert und in einer spärlichen Karte 800 gespeichert werden. In einigen Ausführungsformen können Landmarken in relativ hoher Dichte gespeichert werden (z. B. alle paar Meter, oder öfter). In einigen Ausführungsformen können jedoch deutlich größere Abstandswerte für die Landmarken verwendet werden. Beispielsweise können in der spärlichen Karte 800 identifizierte (oder erkannte) Landmarken um 10 Meter, 20 Meter, 50 Meter, 100 Meter, 1 Kilometer oder 2 Kilometer voneinander beabstandet sein. In einigen Fällen können sich die identifizierten Landmarken sogar in Abständen von mehr als 2 Kilometern befinden.
  • Zwischen Landmarken, und daher zwischen Bestimmungen der Fahrzeugposition bezüglich einer Zieltrajektorie, kann das Fahrzeug basierend auf einer Koppelnavigation navigieren, bei der das Fahrzeug Sensoren verwendet, um seine Eigenbewegung zu bestimmen und seine Position bezüglich der Zieltrajektorie zu schätzen. Da sich während der Navigation durch Koppelnavigation Fehler ansammeln können, können die Positionsbestimmungen bezüglich der Zieltrajektorie mit der Zeit immer ungenauer werden. Das Fahrzeug kann Landmarken verwenden, die in der spärlichen Karte 800 (und ihren bekannten Orten) vorkommen, um die durch Koppelnavigation induzierten Fehler bei der Positionsbestimmung zu entfernen. Auf diese Weise können die identifizierten Landmarken, die in der spärlichen Karte 800 enthalten sind, als Navigationsanker dienen, aus denen eine genaue Position des Fahrzeugs bezüglich einer Zieltrajektorie bestimmt werden kann. Da ein gewisses Fehlermaß bei der Positionsbestimmung akzeptabel sein kann, muss eine identifizierte Landmarke für ein autonomes Fahrzeug nicht immer verfügbar sein. Vielmehr kann, wie oben erwähnt, eine geeignete Navigation sogar basierend auf Landmarkenabständen von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein. In einigen Ausführungsformen kann eine Dichte von 1 identifizierten Landmarke alle 1 km Straße ausreichend sein, um eine für eine longitudinale Positionsbestimmung eine Genauigkeit von unterhalb 1 m aufrechtzuerhalten. Somit muss nicht jede potenzielle Landmarke, die entlang eines Straßensegments erscheint, in der spärlichen Karte 800 gespeichert werden.
  • Darüber hinaus können in einigen Ausführungsformen Fahrspurmarkierungen zur Lokalisierung des Fahrzeugs zwischen Landmarkenabständen verwendet werden. Durch die Verwendung von Fahrspurmarkierungen zwischen Landmarkenabständen kann die Ansammlung von Fehlern während der Navigation durch Koppelnavigation minimiert werden.
  • Zusätzlich zu Zieltrajektorien und identifizierten Landmarken kann die spärliche Karte 800 Informationen in Bezug auf verschiedene andere Straßenmerkmale aufweisen. Beispielsweise veranschaulicht 9A eine Darstellung von Kurven entlang eines bestimmten Straßensegments, 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 polynomiale Beschreibung der linken und rechten Seite der Straße modelliert werden. Solche Polynome, die linke und rechte Seite einer einzelnen Fahrspur darstellen, sind in 9A gezeigt. Unabhängig davon, wie viele Fahrspuren eine Straße aufweisen kann, kann die Straße unter Verwendung von Polynomen auf ähnliche Weise wie in 9A dargestellt werden. Beispielsweise können die linke und die rechte Seite einer mehrspurigen Straße durch Polynome dargestellt werden, die denen ähnlich sind, die in 9A gezeigt werden, und Zwischenspurmarkierungen, die auf einer mehrspurigen Straße enthalten sind (z. B. gestrichelte Markierungen, die Fahrspurgrenzen darstellen, durchgezogene gelbe Linien, die Grenzen zwischen Fahrspuren darstellen, die in unterschiedliche Richtungen fahren, usw.), können auch unter Verwendung von Polynomen dargestellt werden, wie sie in 9A gezeigt werden.
  • Wie in 9A gezeigt wird, kann eine Fahrspur 900 unter Verwendung von Polynomen (z. B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung, oder beliebiger geeigneter Ordnung) dargestellt werden. Zur Veranschaulichung wird die Fahrspur 900 als zweidimensionale Fahrspur gezeigt, und die Polynome werden als zweidimensionale Polynome gezeigt. Wie in 9A gezeigt wird, weist die Fahrspur 900 eine linke Seite 910 und eine rechte Seite 920 auf. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um einen Ort jeder Seite der Straßen- oder Fahrspurbegrenzung darzustellen. Beispielsweise können sowohl die linke Seite 910 als auch die rechte Seite 920 durch eine Vielzahl von Polynomen jeder geeigneten 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 oder weniger als 100 m verwendet werden können. Außerdem können sich die Polynome einander überlappen, um beim Navigieren nahtlose Übergänge zu erleichtern, basierend auf nachfolgend auftretenden Polynomen, wenn ein Host-Fahrzeug entlang einer Straße fährt. Beispielsweise können die linke Seite 910 und die rechte Seite 920 durch eine Vielzahl von Polynomen dritter Ordnung dargestellt werden, die in Segmente von etwa 100 Metern Länge (ein Beispiel des ersten vorbestimmten Bereichs) unterteilt sind und einander um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 darstellen, können dieselbe Ordnung haben oder nicht. Beispielsweise können in einigen Ausführungsformen einige Polynome zweiter Ordnung sein, einige Polynome können dritter Ordnung sein, und einige Polynome können vierter Ordnung sein.
  • In dem in 9A gezeigten Beispiel wird die linke Seite 910 der Fahrspur 900 durch zwei Gruppen von Polynomen dritter Ordnung dargestellt. Die erste Gruppe weist polynomiale Segmente 911, 912 und 913 auf. Die zweite Gruppe weist polynomiale Segmente 914, 915 und 916 auf. Die beiden Gruppen folgen, obwohl sie im Wesentlichen parallel zueinander sind, den Orten ihrer jeweiligen Seiten der Straße. Die polynomialen Segmente 911, 912, 913, 914, 915 und 916 haben eine Länge von ungefähr 100 Metern und überlappen sich mit benachbarten Segmenten in der Folge um ungefähr 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome unterschiedlicher Länge und unterschiedlicher Beträge an Überlappung verwendet werden. Beispielsweise können die Polynome Längen von 500 m, 1 km oder mehr aufweisen, und der Überlappungsbetrag kann von 0 bis 50 m, 50 m bis 100 m, oder mehr als 100 m variieren. Außerdem versteht sich, dass, während 9A als Polynome darstellend gezeigt ist, die sich im 2D-Raum (z. B. auf der Fläche des Papiers) erstrecken, diese Polynome Kurven darstellen können, die sich in drei Abmessungen erstrecken (die z. B. eine Höhenkomponente aufweisen), um zusätzlich zu der X-Y-Krümmung Höhenänderungen in einem Straßensegment darzustellen. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 der Fahrspur 900 ferner durch eine erste Gruppe mit polynomialen Segmenten 921, 922 und 923 und eine zweite Gruppe mit polynomialen Segmenten 924, 925 und 926 dargestellt.
  • Um auf die Zieltrajektorien der spärlichen Karte 800 zurückzukommen, zeigt 9B zeigt ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug darstellt, das entlang eines bestimmten Straßensegments fährt. Die Zieltrajektorie stellt nicht nur den X-Y-Weg dar, den ein Host-Fahrzeug entlang eines bestimmten Straßensegments fahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug beim Fahren entlang des Straßensegments erfahren wird. Somit kann jede Zieltrajektorie in der spärlichen Karte 800 durch eines oder mehrere dreidimensionale Polynome dargestellt werden, wie etwa das dreidimensionale Polynom 950, das in 9B gezeigt wird. Die spärliche Karte 800 kann eine Vielzahl von Trajektorien aufweisen (z. B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedener Straßensegmente entlang von Straßen auf der ganzen Welt darzustellen). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale polynomiale Segmente verbindet.
  • Bezüglich des Daten-Fußabdrucks von polynomialen Kurven, 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 Datenbytes erfordern. Geeignete Darstellungen können mit Polynomen dritten Grades erhalten werden, die etwa 192 Bytes Daten pro 100 m benötigen. Dies kann für ein Host-Fahrzeug, das ungefähr 100 km/h fährt, ungefähr 200 kB pro Stunde an Datennutzungs-/Übertragungsanforderungen bedeuten.
  • Die spärliche Karte 800 kann das Fahrspur-Netzwerk unter Verwendung einer Kombination von Geometriedeskriptoren 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 (wie etwa eine Fahrgemeinschaftsspur), und möglicherweise andere spärliche Bezeichnungen beschreiben. Der gesamte Fußabdruck solcher Indikatoren kann vernachlässigbar sein.
  • Dementsprechend kann eine spärliche Karte gemäß Ausführungsformen der vorliegenden Offenbarung mindestens eine Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang des Straßensegments erstreckt, aufweisen, wobei jede Liniendarstellung einen Weg entlang des Straßensegments dargestellt, das im Wesentlichen dem Straßenoberflächenmerkmal entspricht. In einigen Ausführungsformen kann, wie oben erläutert, die mindestens eine Liniendarstellung des Straßenoberflächenmerkmals einen Spline, eine polynomiale Darstellung oder eine Kurve aufweisen. Darüber hinaus kann das Straßenoberflächenmerkmal in einigen Ausführungsformen mindestens eines von einem Straßenrand oder einer Fahrspurmarkierung aufweisen. Darüber hinaus kann, wie unten in Bezug auf „Crowd-Sourcing“ erläutert, das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die erfasst werden, wenn eines oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • Wie zuvor bereits erwähnt, kann die spärliche Karte 800 eine Vielzahl von vorbestimmten Landmarken, die einem Straßensegment zugeordnet sind, aufweisen. Anstatt tatsächliche Bilder der Landmarken zu speichern und sich beispielsweise auf eine Bilderkennungsanalyse basierend auf aufgenommenen Bildern und gespeicherten Bildern zu verlassen, kann jede Landmarke in der spärlichen Karte 800 unter Verwendung von weniger Daten, als ein gespeichertes tatsächliches Bild erfordern würde, dargestellt und erkannt werden. Daten, die Landmarken darstellen, können immer noch ausreichende Informationen zum Beschreiben oder Identifizieren der Landmarken entlang einer Straße aufweisen. Das Speichern von Daten, die Merkmale von Landmarken beschreiben, anstelle der tatsächlichen Bilder von Landmarken, kann die Größe der spärlichen Karte 800 verringern.
  • 10 veranschaulicht Beispiele von Typen von Landmarken, die in der spärlichen Karte 800 dargestellt werden können. Die Landmarken können beliebige sichtbare und identifizierbare Objekte entlang eines Straßensegments aufweisen. Die Landmarken können so ausgewählt werden, dass sie feststehend sind und sich bezüglich ihrer Lage und/oder ihres Inhalts nicht oft ändern. Die in der spärlichen Karte 800 enthaltenen Landmarken können beim Bestimmen eines Orts des Fahrzeugs 200 in Bezug auf eine Zieltrajektorie nützlich sein, wenn das Fahrzeug ein bestimmtes Straßensegment durchquert. Beispiele für Landmarken können Verkehrszeichen, Wegweiser, allgemeine Zeichen (z. B. rechteckige Zeichen), Einrichtungen am Straßenrand (z. B. Laternenpfähle, Reflektoren usw.), und jede andere geeignete Kategorie aufweisen. In einigen Ausführungsformen können Fahrspurmarkierungen auf der Straße auch als Landmarken in der spärlichen Karte 800 enthalten sein.
  • Beispiele für in 10 gezeigte Landmarken weisen Verkehrszeichen, Wegweiser, Einrichtungen am Straßenrand und allgemeine Zeichen auf. Verkehrszeichen können beispielsweise Geschwindigkeitsbegrenzungszeichen (z. B. das Geschwindigkeitsbegrenzungszeichen 1000), Verkehrszeichen (z. B. das Verkehrszeichen 1005), Streckennummernzeichen (z. B. das Streckennummernzeichen 1010), Ampelzeichen (z. B. das Ampelzeichen 1015), Stoppschilder (z. B. das Stoppschild 1020) aufweisen. Wegweiser können ein Zeichen aufweisen, das einen oder mehrere Pfeile aufweist, die eine oder mehrere Richtungen zu unterschiedlichen Orten anzeigen. Beispielsweise können Wegweiser ein Autobahnschild 1025 mit Pfeilen zum Leiten von Fahrzeugen zu unterschiedlichen Straßen oder Orten, ein Ausfahrtzeichen 1030 mit einem Pfeil, der Fahrzeuge von einer Straße wegführt, usw. aufweisen. Dementsprechend kann mindestens eine der Vielzahl von Landmarken Verkehrszeichen aufweisen.
  • Allgemeine Zeichen haben möglicherweise keinen Bezug zum Verkehr. Allgemeine Zeichen können beispielsweise Reklametafeln aufweisen, die für Werbung verwendet werden, oder eine Willkommenstafel benachbart zu einer Grenze zwischen zwei Ländern, Bundesstaaten, Landkreisen, Städten oder Gemeinden. 10 zeigt ein allgemeines Zeichen 1040 („Joe's Restaurant“). Obwohl das allgemeine Zeichen 1040 eine rechteckige Form haben kann, wie in 10 gezeigt wird, kann das allgemeine Zeichen 1040 andere Formen haben, wie etwa ein Quadrat, Kreis, Dreieck usw.
  • Zu den Landmarken können auch Einrichtungen am Straßenrand gehören. Einrichtungen am Straßenrand können Objekte sein, die keine Zeichen sind und möglicherweise nicht mit dem Verkehr oder Wegbeschreibungen in Zusammenhang stehen. Beispielsweise können Einrichtungen am Straßenrand Laternenpfähle (z. B. der Laternenpfahl 1035), Stromleitungspfosten, Ampelpfosten usw. aufweisen.
  • Landmarken können auch Baken aufweisen, die speziell für die Verwendung in einem autonomen Fahrzeugnavigationssystem ausgelegt sein können. Beispielsweise können solche Baken eigenständige Strukturen aufweisen, die in vorbestimmten Intervallen platziert sind, um das Navigieren eines Host-Fahrzeugs zu unterstützen. Solche Baken können auch visuelle/grafische Informationen aufweisen, die zu bestehenden Verkehrszeichen, die von einem entlang eines Straßensegments fahrenden Fahrzeug identifiziert oder erkannt werden können, hinzugefügt werden (z. B. Symbole, Embleme, Strichcodes usw.). Solche Baken können auch elektronische Komponenten aufweisen. In solchen Ausführungsformen können elektronische Baken (z. B. RFID-Tags usw.) verwendet werden, um nichtvisuelle Informationen an ein Host-Fahrzeug zu senden. Solche Informationen können beispielsweise Landmarken-Identifikations- und/oder Landmarken-Ortsinformationen aufweisen, die ein Host-Fahrzeug beim Bestimmen seiner Position entlang einer Zieltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die in der spärlichen Karte 800 enthaltenen Landmarken durch ein Datenobjekt einer vorbestimmten Größe dargestellt werden. Die Daten, die eine Landmarke darstellen, können beliebige geeignete Parameter zum Identifizieren einer bestimmten Landmarke aufweisen. Beispielsweise können in einigen Ausführungsformen in der spärlichen Karte 800 gespeicherte Landmarken Parameter, wie etwa eine physikalische Größe der Landmarke (z. B., um die Schätzung dem Abstand zu der Landmarke basierend auf einer bekannten Größe/Maßstab zu unterstützen), einen Abstand zu einer vorherigen Landmarke, einen lateralen Offset, eine Höhe, einen Typcode (z. B. einen Landmarkentyp - welcher Typ von Wegweiser, Verkehrszeichen usw.), eine GPS-Koordinate (z. B., um eine globale Lokalisierung zu unterstützen) und beliebige andere geeignete Parameter aufweisen. Jeder Parameter kann einer Datengröße zugeordnet sein. Beispielsweise kann eine Landmarkengröße unter Verwendung von 8 Datenbytes gespeichert werden. Ein Abstand zu einer vorherigen Landmarke, ein lateraler Offset und eine Höhe können unter Verwendung von 12 Datenbytes angegeben werden. Ein Typcode, der einer Landmarke, wie etwa einem Wegweiser oder einem Verkehrszeichen, zugeordnet ist, kann ungefähr 2 Bytes an Daten erfordern. Für allgemeine Zeichen kann eine Bildsignatur, die eine Identifizierung des allgemeinen Zeichens ermöglicht, unter Verwendung von 50 Byte Datenspeicherung gespeichert werden. Der Landmarken-GPS-Position können 16 Bytes Datenspeicherung zugeordnet sein. Diese Datengrößen für jeden Parameter sind nur Beispiele, und andere Datengrößen können ebenfalls verwendet werden. Das Darstellen von Landmarken in der spärlichen Karte 800 auf diese Weise kann eine schlanke Lösung zum effizienten Darstellen von Landmarken in der Datenbank bieten. In einigen Ausführungsformen können Objekte als standardmäßige semantische Objekte oder nicht standardmäßige semantische Objekte bezeichnet werden. Ein standardmäßiges semantisches Objekt kann jede Objektklasse aufweisen, für die es einen standardisierten Satz von Eigenschaften gibt (z. B. Geschwindigkeitsbegrenzungszeichen, Warnschilder, Wegweiser, Ampeln usw., die bekannte Abmessungen oder anderen Eigenschaften haben). Ein nicht standardmäßiges semantisches Objekt kann jedes Objekt aufweisen, das keinem standardisierten Satz von Merkmalen zugeordnet ist (z. B. allgemeine Werbeschilder, Zeichen zur Identifizierung von Geschäftseinrichtungen, Schlaglöcher, Bäume usw., die variable Abmessungen haben können). Ein Objekt kann mit 38 Bytes Daten dargestellt werden (z. B. 8 Bytes für die Größe; 12 Bytes für den Abstand zu der vorherigen Landmarke, ein lateraler Offset, und eine Höhe; 2 Bytes für einen Typcode; und 16 Bytes für Positionskoordinaten). Standardmäßige semantische Objekte können unter Verwendung von noch weniger Daten dargestellt werden, da Größeninformationen von dem Kartierungsserver möglicherweise nicht benötigt werden, um das Objekt in der spärlichen Karte vollständig darzustellen.
  • Die spärliche Karte 800 kann ein Tag-System verwenden, um Landmarkentypen darzustellen. In einigen Fällen kann jedem Verkehrszeichen oder Wegweiser eine eigene Bezeichnung zugeordnet sein, die als Teil der Landmarkenidentifikation in der Datenbank gespeichert werden kann. Beispielsweise kann die Datenbank eine Größenordnung von 1000 unterschiedlichen Tags aufweisen, um verschiedene Verkehrszeichen darzustellen, und die Größenordnung von ungefähr 10000 unterschiedlichen Tags, um Wegweiser darzustellen. Natürlich kann jede geeignete Anzahl von Tags verwendet werden, und zusätzliche Tags können nach Bedarf erzeugt werden. Allzweckzeichen können in einigen Ausführungsformen unter Verwendung von 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 den Abstand zu der vorherigen Landmarke, einen lateralen Offset und eine Höhe; 50 Bytes für eine Bildsignatur; und 16 Bytes für GPS-Koordinaten).
  • Somit kann für semantische Verkehrszeichen, die keine Bildsignatur erfordern, die Auswirkung auf die Datendichte auf die spärliche Karte 800 selbst bei relativ hohen Landmarkendichten von etwa 1 pro 50 m in der Größenordnung von etwa 760 Bytes pro Kilometer liegen (z. B. 20 Landmarken pro km x 38 Bytes pro Landmarke = 760 Byte). Selbst für Allzweckzeichen mit einer Bildsignaturkomponente beträgt die Auswirkung auf die Datendichte etwa 1,72 kB pro km (z. B. 20 Landmarken pro km x 86 Bytes pro Landmarke = 1.720 Bytes). Bei semantischen Verkehrszeichen entspricht dies etwa 76 kB pro Stunde Datennutzung für ein Fahrzeug mit 100 km/h. Für allgemeine Zeichen entspricht dies etwa 170 kB pro Stunde für ein Fahrzeug mit 100 km/h. Es sollte beachtet werden, dass in einigen Umgebungen (z. B. städtischen Umgebungen) eine viel höhere Dichte von erkannten Objekten verfügbar sein kann, die in die spärliche Karte aufgenommen werden können (vielleicht mehr als eines pro Meter). In einigen Ausführungsformen kann ein im Allgemeinen rechteckiges Objekt, wie beispielsweise ein rechteckiges Zeichen, in der spärlichen Karte 800 durch nicht mehr als 100 Datenbytes dargestellt werden. Die Darstellung des im Allgemeinen rechteckigen Objekts (z. B. das allgemeine Zeichen 1040) in der spärlichen Karte 800 kann eine verdichtete Bildsignatur oder einen Bild-Hash (z. B. die verdichtete Bildsignatur 1045) aufweisen, die dem im Allgemeinen rechteckigen Objekt zugeordnet ist. Diese komprimierte Bildsignatur/der Bild-Hash kann unter Verwendung eines beliebigen geeigneten Bild-Hash-Algorithmus bestimmt werden, und kann beispielsweise dazu verwendet werden, bei der Identifizierung eines Allzweckzeichens, beispielsweise einer erkannten Landmarke, zu helfen. Eine solche komprimierte 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, die an tatsächlichen Bildern durchgeführt wird, um Landmarken zu erkennen, unnötig machen.
  • Bezugnehmend auf 10 kann die spärliche Karte 800 eine komprimierte Bildsignatur 1045, die einem allgemeinen Zeichen 1040 zugeordnet ist, anstelle eines tatsächlichen Bildes des allgemeinen Zeichens 1040 aufweisen oder speichern. Beispielsweise kann, nachdem eine Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122, 124 oder 126) ein Bild des allgemeinen Zeichens 1040 aufgenommen hat, ein Prozessor (z. B. der Bildprozessor 190 oder jeder andere Prozessor, der Bilder entweder an Bord oder an einem bezüglich eines Host-Fahrzeugs entfernten Ort verarbeiten kann) eine Bildanalyse durchführen, um eine komprimierte Bildsignatur 1045 zu extrahieren/erzeugen, die eine einzigartige Signatur oder ein einzigartiges Muster aufweist, das dem allgemeinen Zeichen 1040 zugeordnet ist. In einer Ausführungsform kann die komprimierte Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein beliebiges anderes Merkmal aufweisen, das aus dem Bild des allgemeinen Zeichens 1040 zum Beschreiben des allgemeinen Zeichens 1040 extrahiert werden kann.
  • Beispielsweise können in 10 die Kreise, Dreiecke und Sterne, die in der komprimierten Bildsignatur 1045 gezeigt sind, Bereiche unterschiedlicher Farben darstellen. Das durch die Kreise, Dreiecke und Sterne dargestellte Muster kann in einer spärlichen Karte 800 gespeichert werden, z. B. innerhalb der 50 Bytes, die dazu bestimmt sind, eine Bildsignatur aufzuweisen. Insbesondere sollen die Kreise, Dreiecke und Sterne nicht unbedingt anzeigen, dass solche Formen als Teil der Bildsignatur gespeichert sind. Vielmehr sollen diese Formen konzeptionell erkennbare Bereiche mit erkennbaren Farbunterschieden, Textbereichen, grafischen Formen oder anderen Variationen von Eigenschaften darstellen, die einem Allzweckzeichen zugeordnet sein können. Solche komprimierten Bildsignaturen können verwendet werden, um eine Landmarke in Form eines allgemeinen Zeichens zu identifizieren. Beispielsweise kann die komprimierte Bildsignatur dazu verwendet werden, eine Gleich-Nicht-Gleich-Analyse basierend auf einem Vergleich einer gespeicherten komprimierten Bildsignatur mit Bilddaten durchzuführen, die beispielsweise unter Verwendung einer Kamera an Bord eines autonomen Fahrzeugs aufgenommen wurden.
  • Dementsprechend kann die Vielzahl von Landmarken durch Bildanalyse der Vielzahl von Bildern identifiziert werden, die erfasst werden, wenn eines oder mehrere Fahrzeuge das Straßensegment durchqueren. Wie unten in Bezug auf „Crowd-Sourcing“ erläutert wird, kann die Bildanalyse zum Identifizieren der Vielzahl von Landmarken in einigen Ausführungsformen das Akzeptieren potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke erscheint, zu Bildern, in denen die Landmarke nicht erscheint, einen Schwellenwert überschreitet, aufweisen. Darüber hinaus kann in einigen Ausführungsformen die Bildanalyse zum Identifizieren der Vielzahl von Landmarken das Ablehnen potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke nicht erscheint, zu Bildern, in denen die Landmarke erscheint, einen Schwellenwert überschreitet, aufweisen.
  • Um auf die Zieltrajektorien zurückzukommen, die ein Host-Fahrzeug verwenden kann, um ein bestimmtes Straßensegment zu navigieren, zeigt 11A polynomiale Darstellungen von Trajektorien, die während eines Prozesses des Erstellens oder Aufrechterhaltens einer spärlichen Karte 800 aufgenommen werden. Eine polynomiale Darstellung einer Zieltrajektorie, die in der spärlichen Karte 800 enthalten ist, kann basierend auf zwei oder mehr rekonstruierten Trajektorien früherer Fahrten von Fahrzeugen entlang desselben Straßensegments bestimmt werden. In einigen Ausführungsformen kann die polynomiale Darstellung der Zieltrajektorie, die in der spärlichen Karte 800 enthalten ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien früherer Fahrten von Fahrzeugen entlang desselben Straßensegments sein. In einigen Ausführungsformen kann die polynomiale Darstellung der Zieltrajektorie, die in der spärlichen Karte 800 enthalten ist, ein Mittelwert der zwei oder mehr rekonstruierten Trajektorien früherer Überquerungen von Fahrzeugen entlang desselben Straßensegments sein. Andere mathematische Operationen können auch verwendet werden, um eine Zieltrajektorie entlang eines Straßenwegs basierend auf rekonstruierten Trajektorien zu erstellen, die von Fahrzeugen gesammelt wurden, die entlang eines Straßensegments fahren.
  • Wie in 11A gezeigt wird, kann ein Straßensegment 1100 von einer Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten in Bezug auf einen Weg sammeln, den das Fahrzeug entlang des Straßensegments genommen hat. Der von einem bestimmten Fahrzeug zurückgelegte Weg kann unter anderem basierend auf Kameradaten, Beschleunigungsmesserinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die entlang des Straßensegments fahren, und basierend auf diesen rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für den bestimmten Straßensegment bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Weg eines Host-Fahrzeugs (das z. B. von einem autonomen Navigationssystem geführt wird) darstellen, während das Fahrzeug entlang des Straßensegments fährt.
  • In dem in 11A gezeigten Beispiel kann eine erste rekonstruierte Trajektorie 1101 basierend auf Daten bestimmt werden, die von einem ersten Fahrzeug, das das Straßensegment 1100 zu einem ersten Zeitraum (z. B. Tag 1) durchquert, empfangen wird, kann eine zweite rekonstruierte Trajektorie 1102 von einem zweiten Fahrzeug, das das Straßensegment 1100 zu einem zweiten Zeitraum (z. B. Tag 2) durchquert, erhalten werden, und kann eine dritte rekonstruierte Trajektorie 1103 von einem dritten Fahrzeug, das das Straßensegment 1100 zu einem dritten Zeitraum (z. B. Tag 3) durchquert, erhalten werden. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom, wie beispielsweise ein dreidimensionales Polynom, dargestellt werden. Es sollte beachtet werden, dass in einigen Ausführungsformen jede der rekonstruierten Trajektorien an Bord der Fahrzeuge, die das Straßensegment 1100 durchqueren, zusammengesetzt sein kann.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien serverseitig basierend auf Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die das Straßensegment 1100 durchqueren. Beispielsweise können die Fahrzeuge 200 in einigen Ausführungsformen Daten bezüglich ihrer Bewegung entlang des Straßensegments 1100 (z. B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Landmarken, unter anderen Dingen) an einen oder mehrere Server senden. Der Server kann Trajektorien für Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch basierend auf der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 eine Zieltrajektorie zum Führen der Navigation eines autonomen Fahrzeugs, das zu einem späteren Zeitpunkt entlang desselben Straßensegments 1100 fahren wird, erzeugen. Während eine Zieltrajektorie einer einzelnen vorherigen Durchquerung eines Straßensegments zugeordnet sein kann, kann in einigen Ausführungsformen jede in der spärlichen Karte 800 enthaltene Zieltrajektorie basierend auf zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die dasselbe Straßensegment durchqueren, bestimmt werden. In 11A wird die Zieltrajektorie durch 1110 dargestellt. In einigen Ausführungsformen kann die Zieltrajektorie 1110 basierend auf einen Mittelwert 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 Zieltrajektorie 1110 eine Aggregation (z. B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Trajektorien sein.
  • Auf dem Kartierungsserver kann der Server tatsächliche Trajektorien für ein bestimmtes Straßensegment von mehreren Sammelfahrzeugen, die das Straßensegment durchqueren, empfangen. Um eine Zieltrajektorie für jeden gültigen Weg entlang des Straßensegments (z. B. jede Fahrspur, jede Fahrtrichtung, jeden Weg durch eine Kreuzung usw.) zu erzeugen, können die empfangenen tatsächlichen Trajektorien ausgerichtet werden. Der Ausrichtungsprozess kann das Verwenden erkannter Objekte/Merkmale, die entlang des Straßensegments identifiziert wurden, zusammen mit gesammelten Positionen dieser erkannten Objekte/Merkmale aufweisen, um die tatsächlichen erfassten Trajektorien miteinander zu korrelieren. Nach der Ausrichtung kann eine mittlere oder „am besten passende“ Zieltrajektorie für jede verfügbare Fahrspur usw. basierend auf den aggregierten, korrelierten/ausgerichteten tatsächlichen Trajektorien bestimmt werden.
  • Die 11B und 11C veranschaulichen ferner das Konzept von Zieltrajektorien, die Straßensegmenten zugeordnet sind, die innerhalb einer geografischen Region 1111 vorhanden sind. Wie in 11B gezeigt wird, kann ein erstes Straßensegment 1120 innerhalb der geografischen Region 1111 eine mehrspurige Straße aufweisen, die zwei Fahrspuren 1122, die für die Fahrzeugfahrt in eine erste Richtung bestimmt sind, und zwei zusätzliche Fahrspuren 1124, die für die Fahrzeugfahrt in eine zweite Richtung entgegengesetzt zur ersten Richtung bestimmt sind, aufweist. Die Fahrspuren 1122 und die Fahrspuren 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Die geografische Region 1111 kann auch ein abzweigendes Straßensegment 1130 aufweisen, das sich mit dem Straßensegment 1120 schneidet. Das Straßensegment 1130 kann eine zweispurige Straße aufweisen, wobei jede Fahrspur für eine andere Fahrtrichtung bestimmt ist. Die geografische Region 1111 kann auch andere Straßenmerkmale aufweisen, wie etwa eine Stopplinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsbegrenzungszeichen 1136, und ein Gefahrenzeichen 1138.
  • Wie in 11C gezeigt wird, kann die spärliche Karte 800 eine lokale Karte 1140 aufweisen, die ein Straßenmodell zum Unterstützen bei der autonomen Navigation von Fahrzeugen innerhalb der geografischen Region 1111 aufweist. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien für eine oder mehrere Fahrspuren aufweisen, die Straßensegmenten 1120 und/oder 1130 innerhalb der geografischen Region 1111 zugeordnet sind. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien 1141 und/oder 1142 aufweisen, auf die ein autonomes Fahrzeug zugreifen oder vertrauen kann, wenn es die Fahrspuren 1122 durchquert. In ähnlicher Weise kann die lokale Karte 1140 Zieltrajektorien 1143 und/oder 1144 aufweisen, auf die ein autonomes Fahrzeug zugreifen oder vertrauen kann, wenn es die Fahrspuren 1124 durchquert. Ferner kann die lokale Karte 1140 Zieltrajektorien 1145 und/oder 1146 aufweisen, auf die ein autonomes Fahrzeug zugreifen oder vertrauen kann, wenn es das Straßensegment 1130 durchquert. Die Zieltrajektorie 1147 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrspuren 1120 (und insbesondere bezüglich einer Zieltrajektorie 1141, die einer ganz rechten Fahrspur der Fahrspuren 1120 zugeordnet ist) zu dem Straßensegment 1130 wechselt (und insbesondere bezüglich einer Zieltrajektorie 1145, die einer ersten Seite des Straßensegments 1130 zugeordnet ist). In ähnlicher Weise stellt die Zieltrajektorie 1148 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von einem Straßensegment 1130 (und insbesondere bezüglich einer Zieltrajektorie 1146) zu einem Teil des Straßensegments 1124 wechselt (und insbesondere, wie gezeigt wird, bezüglich einer Zieltrajektorie 1143, die einer linken Fahrspur von Fahrspuren 1124 zugeordnet ist).
  • Die spärliche Karte 800 kann auch Darstellungen anderer straßenbezogener Merkmale aufweisen, die der geografischen Region 1111 zugeordnet sind. Beispielsweise kann die spärliche Karte 800 auch Darstellungen von einem oder mehreren Landmarken aufweisen, die in der geografischen Region 1111 identifiziert wurden. Solche Landmarken können eine erste Landmarke 1150, die einer Stopplinie 1132 zugeordnet ist, eine zweite Landmarke 1152, die einem Stoppschild 1134 zugeordnet ist, eine dritte Landmarke, die einem Geschwindigkeitsbegrenzungszeichen 1154 zugeordnet ist, und eine vierte Landmarke 1156, die einem Gefahrenzeichen 1138 zugeordnet ist, aufweisen. Solche Landmarken können beispielsweise verwendet werden, um ein autonomes Fahrzeug bei der Bestimmung seines aktuellen Orts bezüglich einer der gezeigten Zieltrajektorien zu unterstützen, so dass das Fahrzeug seinen Kurs derart anpassen kann, dass er mit einer Richtung der Zieltrajektorie an dem bestimmten Ort übereinstimmt.
  • In einigen Ausführungsformen kann die spärliche Karte 800 auch Straßensignaturprofile aufweisen. Solche Straßensignaturprofile können jeder erkennbaren/messbaren Variation in mindestens einem Parameter, der einer Straße zugeordnet ist, zugeordnet sein. In einigen Fällen können solche Profile beispielsweise Variationen der Straßenoberflächeninformationen zugeordnet sein, wie etwa Variationen der Flächenrauheit eines bestimmten Straßensegments, Variationen der Straßenbreite über ein bestimmtes Straßensegment, Variationen der Abstände zwischen gestrichelten Linien, die entlang eines bestimmten Straßensegments gemalt sind, Variationen der Straßenkrümmung entlang eines bestimmten Straßensegments, usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Während das Profil 1160 einen der oben genannten Parameter oder andere darstellen kann, kann das Profil 1160 in einem Beispiel ein Maß der Straßenoberflächenrauheit darstellen, wie es beispielsweise durch Überwachen eines oder mehrerer Sensoren erhalten wird, die Ausgaben liefern, die einen Federungsversatz anzeigen, wenn ein Fahrzeug ein bestimmtes Straßensegment 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 erhalten werden, das ein bestimmtes Straßensegment befährt. Solche Profile können beispielsweise beim Bestimmen eines bestimmten Orts eines autonomen Fahrzeugs bezüglich einer bestimmten Zieltrajektorie nützlich sein. Das heißt, ein autonomes Fahrzeug kann beim Durchqueren eines Straßensegments ein Profil messen, das einem oder mehreren Parametern zugeordnet ist, die dem Straßensegment zugeordnet sind. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/abgeglichen werden kann, das die Parametervariation in Bezug auf die Position entlang des Straßensegments darstellt, können die gemessenen und vorbestimmten Profile verwendet werden (z. B. durch Überlagern entsprechender Teile der gemessenen und vorbestimmten Profile), um eine aktuelle Position entlang des Straßensegments und damit eine aktuelle Position bezüglich einer Zieltrajektorie für das Straßensegment zu bestimmen.
  • In einigen Ausführungsformen kann die spärliche Karte 800 unterschiedliche Trajektorien basierend auf unterschiedlichen Eigenschaften, die einem Benutzer autonomer Fahrzeuge zugeordnet sind, Umgebungsbedingungen, und/oder andere Parameter in Bezug auf das Fahren aufweisen. Beispielsweise können in einigen Ausführungsformen unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder -profilen erzeugt werden. Eine spärliche Karte 800 mit solchen unterschiedlichen Trajektorien kann unterschiedlichen autonomen Fahrzeugen unterschiedlicher Benutzer bereitgestellt werden. Beispielsweise können einige Benutzer Mautstraßen meiden, während andere die kürzeste oder schnellste Route bevorzugen, unabhängig davon, ob auf der Route eine Mautstraße vorhanden ist. Die offenbarten Systeme können basierend auf solchen unterschiedlichen Benutzerpräferenzen oder -profilen unterschiedliche spärliche Karten mit unterschiedlichen Trajektorien erzeugen. Als weiteres Beispiel ziehen es einige Benutzer vor, auf einer schnellen Fahrspur zu fahren, während andere es vorziehen, jederzeit eine Position auf der mittleren Fahrspur beizubehalten.
  • Basierend auf unterschiedlichen Umgebungsbedingungen, wie Tag und Nacht, Schnee, Regen, Nebel usw., können unterschiedliche Trajektorien erzeugt und in die spärliche Karte 800 aufgenommen werden. Autonome Fahrzeuge, die unter unterschiedlichen Umgebungsbedingungen fahren, können mit einer spärlichen Karte 800 ausgestattet werden, die basierend auf solchen unterschiedlichen Umweltbedingungen erzeugt wurden. In einigen Ausführungsformen können an autonomen Fahrzeugen bereitgestellte Kameras die Umgebungsbedingungen erkennen, und können solche Informationen an einen Server zurückgeben, der spärliche Karten erzeugt und bereitstellt. Beispielsweise kann der Server eine bereits erzeugte spärliche Karte 800 erzeugen oder aktualisieren, um Trajektorien einzuschließen, die für das autonome Fahren unter den erfassten Umgebungsbedingungen besser geeignet oder sicherer sind. Die Aktualisierung der spärlichen Karte 800 basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge auf Straßen fahren.
  • Andere unterschiedliche Parameter in Bezug auf das Fahren können auch als Grundlage zum Erzeugen und Bereitstellen unterschiedlicher spärlicher Karten für unterschiedliche autonome Fahrzeuge verwendet werden. Wenn beispielsweise ein autonomes Fahrzeug mit hoher Geschwindigkeit fährt, können die Kurven enger werden. Trajektorien, die bestimmten Fahrspuren zugeordnet sind, können anstelle von Straßen in der spärlichen Karte 800 enthalten sein, so dass das autonome Fahrzeug innerhalb einer bestimmten Fahrspur bleiben kann, wenn das Fahrzeug einer bestimmten Trajektorie folgt. Wenn ein von einer Kamera an Bord des autonomen Fahrzeugs aufgenommenes Bild angibt, dass das Fahrzeug außerhalb der Fahrspur abgedriftet ist (z. B. die Fahrspurmarkierung durchquert hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug gemäß der spezifischen Trajektorie auf die vorgesehene Fahrspur zurückzubringen.
  • Crowd-Sourcing einer spärlichen Karte
  • Die offenbarten spärlichen Karten können durch Crowd-Sourcing effizient (und passiv) erzeugt werden. Als Sammelfahrzeug kann beispielsweise jedes mit einer Kamera (z. B. eine einfache Kamera mit niedriger Auflösung, die bei heutigen Fahrzeugen regelmäßig als OEM-Ausstattung enthalten ist) und einem geeigneten Bildanalyseprozessor ausgestattete Privat- oder Nutzfahrzeug dienen. Es ist keine Spezialausrüstung (z. B. hochauflösende Bildgebungs- und/oder Positionierungssysteme) erforderlich. Als Ergebnis der offenbarten Crowd-Sourcing-Technik können die erzeugten spärlichen Karten äußerst genau sein und können extrem verfeinerte Positionsinformationen aufweisen (was Navigationsfehlergrenzen von 10 cm oder weniger ermöglicht), ohne dass eine spezialisierte Bildgebungs- oder Sensorausrüstung als Eingabe für den Kartenerzeugungsprozess erforderlich ist. Crowd-Sourcing ermöglicht zudem eine wesentlich schnellere (und kostengünstigere) Aktualisierung der erzeugten Karten, da dem Kartierungsserversystem ständig neue Fahrtinformationen von allen Straßen zur Verfügung stehen, die von Privat- oder Nutzfahrzeugen befahren werden, die minimal ausgerüstet sind, um auch als Sammelfahrzeuge zu dienen. Es sind keine dedizierten Fahrzeuge erforderlich, die mit hochauflösenden Bildgebungs- und Kartierungssensoren ausgestattet sind. Daher können die mit dem Bau solcher Spezialfahrzeuge verbundenen Kosten vermieden werden. Darüber hinaus können Aktualisierungen der gegenwärtig offenbarten spärlichen Karten viel schneller durchgeführt werden als bei Systemen, die auf dedizierten, spezialisierten Kartierungsfahrzeugen beruhen (die aufgrund ihrer Kosten und Spezialausrüstung typischerweise begrenzt sind auf eine Flotte von spezialisierten Fahrzeugen mit einer weit geringeren Anzahl als die der Anzahl privater oder gewerblicher Fahrzeuge, die bereits für die Durchführung der offenbarten Erntetechniken verfügbar sind).
  • Die durch Crowd-Sourcing erzeugten offenbarten spärlichen Karten können äußerst genau sein, da sie basierend auf vielen Eingaben von mehreren (10er, Hunderten, Millionen usw.) von Sammelfahrzeugen erzeugt werden können, die Fahrtinformationen entlang eines bestimmten Straßensegments gesammelt haben. Beispielsweise kann jedes Sammelfahrzeug, das entlang eines bestimmten Straßensegments fährt, seine tatsächliche Trajektorie aufzeichnen, und kann Positionsinformationen bezüglich erkannter Objekte/Merkmale entlang des Straßensegments bestimmen. Diese Informationen werden von mehreren Sammelfahrzeugen an einen Server weitergegeben. Die tatsächlichen Trajektorien werden aggregiert, um eine verfeinerte Zieltrajektorie für jeden gültigen Fahrweg entlang des Straßensegments zu erzeugen. Darüber hinaus können auch die Positionsinformationen, die von den mehreren Sammelfahrzeugen für jedes der erkannten Objekte/Merkmale entlang des Straßensegments (semantisch oder nicht semantisch) gesammelt wurden, aggregiert werden. Als Ergebnis kann die abgebildete Position jedes erfassten Objekts/Merkmals einen Mittelwert von Hunderten, Tausenden oder Millionen von individuell bestimmten Positionen für jedes erkannte Objekt/Merkmal darstellen. Eine solche Technik kann extrem genau abgebildete Positionen für die erkannten Objekte/Merkmale ergeben.
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die autonome Fahrzeugnavigation erzeugen. Beispielsweise können offenbarte Systeme und Verfahren Crowd-Sourcing-Daten zum Erzeugen einer spärlichen Karte verwenden, die eines oder mehrere autonome Fahrzeuge verwenden können, um entlang eines Straßensystems zu navigieren. Wie hierin verwendet, bedeutet „Crowd-Sourcing“, dass Daten von verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen), die zu unterschiedlichen Zeiten auf einem Straßensegment fahren, empfangen werden, und solche Daten verwendet werden, um das Straßenmodell zu erzeugen und/oder zu aktualisieren, das spärliche Kartenkacheln aufweist. Das Modell oder eine seiner spärlichen Kartenkacheln kann wiederum an die Fahrzeuge, oder an andere Fahrzeuge, die später entlang des Straßensegments fahren, übertragen werden, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Zieltrajektorien aufweisen, die bevorzugte Trajektorien darstellen, denen autonome Fahrzeuge folgen sollten, wenn sie ein Straßensegment durchqueren. Die Zieltrajektorien können die gleichen wie eine rekonstruierte tatsächliche Trajektorie sein, die von einem Fahrzeug gesammelt wurde, das ein Straßensegment durchquert, und die von dem Fahrzeug an einen Server gesendet werden kann. In einigen Ausführungsformen können sich die Zieltrajektorien von tatsächlichen Trajektorien unterscheiden, die eines oder mehrere Fahrzeuge zuvor beim Durchqueren eines Straßensegments genommen haben. Die Zieltrajektorien können basierend auf tatsächlichen Trajektorien (z. B. durch Mittelwertbildung oder eine andere geeignete Operation) erzeugt werden.
  • Die Fahrzeug-Trajektoriendaten, die ein Fahrzeug auf einen Server hochladen kann, können der tatsächlichen rekonstruierten Trajektorie für das Fahrzeug entsprechen, oder können einer empfohlenen Trajektorie entsprechen, die auf der tatsächlichen rekonstruierten Trajektorie des Fahrzeugs basieren kann oder sich auf diese beziehen kann, sich jedoch von der tatsächlich rekonstruierten Trajektorie unterscheiden kann. Beispielsweise können Fahrzeuge ihre tatsächlichen rekonstruierten Trajektorien modifizieren, und die modifizierten tatsächlichen Trajektorien an den Server übermitteln (z. B. empfehlen). Das Straßenmodell kann die empfohlenen modifizierten Trajektorien als Zieltrajektorien für die autonome Navigation anderer Fahrzeuge verwenden.
  • Zusätzlich zu Trajektorieninformationen können andere Informationen, die potentiell beim Erstellen einer Karte 800 mit spärlichen Daten verwendet werden, Informationen bezüglich potenzieller Landmarkenkandidaten aufweisen. Beispielsweise können die offenbarten Systeme und Verfahren durch Gewinnen von Informationen durch Crowd-Sourcing potenzielle Landmarken in einer Umgebung identifizieren und Landmarkenpositionen verfeinern. Die Landmarken können von einem Navigationssystem autonomer Fahrzeuge verwendet werden, um die Position des Fahrzeugs entlang der Zieltrajektorien zu bestimmen und/oder anzupassen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug erzeugen kann, wenn das Fahrzeug entlang einer Straße fährt, können durch jedes geeignete Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien durch Zusammenheften von Bewegungssegmenten für das Fahrzeug entwickelt werden, z. B. unter Verwendung einer Eigenbewegungsschätzung (z. B. eine dreidimensionale Translation und dreidimensionale Drehung der Kamera und damit der Karosserie des Fahrzeugs). Die Drehungs- und Translationsschätzung kann basierend auf der Analyse von Bildern bestimmt werden, die von einer oder mehreren Bildaufnahmevorrichtungen zusammen mit Informationen von anderen Sensoren oder Vorrichtungen, wie etwa Trägheitssensoren und Geschwindigkeitssensoren, aufgenommen wurden. Beispielsweise können die Trägheitssensoren einen Beschleunigungsmesser oder andere geeignete Sensoren aufweisen, die dazu ausgelegt sind, Änderungen der Translation und/oder Drehung der Fahrzeugkarosserie zu messen. Das Fahrzeug kann einen Geschwindigkeitssensor aufweisen, der eine Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Eigenbewegung der Kamera (und damit der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der aufgenommenen Bildern geschätzt werden. Eine optische Flussanalyse einer Bildfolge identifiziert die Bewegung von Pixeln aus der Bildfolge, und bestimmt basierend auf der identifizierten Bewegung Bewegungen des Fahrzeugs. Die Eigenbewegung kann über die Zeit und entlang des Straßensegments integriert werden, um eine Trajektorie zu rekonstruieren, die dem Straßensegment zugeordnet ist, dem das Fahrzeug gefolgt ist.
  • Daten (z. B. rekonstruierte Trajektorien), die von mehreren Fahrzeugen in mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt wurden, können verwendet werden, um das Straßenmodell (das z. B. die Zieltrajektorien usw. aufweist) zu erstellen, das in der spärlichen Datenkarte 800 enthalten ist. Daten, die von mehreren Fahrzeugen bei mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt wurden, können auch gemittelt werden, um die Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten bezüglich der Straßengeometrie und/oder Landmarken von mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten durch das gemeinsame Straßensegment fahren. Solche von unterschiedlichen Fahrzeugen empfangenen Daten können kombiniert werden, um das Straßenmodell zu erzeugen und/oder das Straßenmodell zu aktualisieren.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Zieltrajektorie) entlang eines Straßensegments kann durch eine Kurve im dreidimensionalen Raum dargestellt werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektorienkurve kann aus der Analyse eines Videostreams oder einer Vielzahl von Bildern bestimmt werden, die von einer an dem Fahrzeug installierten Kamera aufgenommen wurden. In einigen Ausführungsformen wird in jedem Frame oder Bild ein Ort identifiziert, der einige Meter vor der aktuellen Position des Fahrzeugs liegt. Dieser Ort ist der Ort, zu dem das Fahrzeug in einer vorbestimmten Zeitperiode voraussichtlich fahren wird. Diese Operation kann Frame-für-Frame wiederholt werden, und gleichzeitig kann das Fahrzeug die Eigenbewegung der Kamera (Drehung und Translation) berechnen. Bei jedem Frame oder Bild wird von dem Fahrzeug in einem an der Kamera angebrachten Referenzrahmen ein Nahbereichsmodell für den gewünschten Weg erzeugt. Die Nahbereichsmodelle können zusammengeheftet werden, um ein dreidimensionales Modell der Straße in einem Koordinatenrahmen zu erhalten, der ein willkürlicher oder vorbestimmter Koordinatenrahmen sein kann. Das dreidimensionale Modell der Straße kann dann durch einen Spline angepasst werden, der eines oder mehrere Polynome geeigneter Ordnungen aufweisen oder verbinden kann.
  • Um das Nahbereichsstraßenmodell bei jedem Frame abzuschließen, können eines oder mehrere Erkennungsmodule verwendet werden. Beispielsweise kann ein Bottom-Up-Spurerkennungsmodul verwendet werden. Das Bottom-Up-Spurerkennungsmodul kann nützlich sein, wenn Fahrspurmarkierungen auf der Straße gezeichnet sind. Dieses Modul kann in dem Bild nach Kanten suchen und diese zu den Fahrspurmarkierungen zusammenfügen. Ein zweites Modul kann zusammen mit dem Bottom-Up-Spurerkennungsmodul verwendet werden. Das zweite Modul ist ein tiefes neuronales Ende-zu-Ende-Netz, das trainiert werden kann, um den korrekten Nahbereichsweg aus einem Eingabebild vorherzusagen. In beiden Modulen kann das Straßenmodell in dem Bildkoordinatenrahmen erkannt und in einen dreidimensionalen Raum transformiert werden, der virtuell an der Kamera angebracht sein kann.
  • Obwohl das Modellierungsverfahren der rekonstruierten Trajektorie aufgrund der Integration der Eigenbewegung über einen langen Zeitraum eine Anhäufung von Fehlern einführen kann, die eine Rauschkomponente enthalten können, können solche Fehler möglicherweise belanglos sein, da das erzeugte Modell eine ausreichende Genauigkeit für die Navigation über einen lokaler Maßstab bereitstellen kann. Außerdem ist es möglich, den integrierten Fehler durch Verwendung externer Informationsquellen, wie etwa Satellitenbilder oder geodätische Messungen, aufzuheben. Beispielsweise können die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um akkumulierte Fehler aufzuheben. Die GNSS-Positionierungssignale sind jedoch möglicherweise nicht immer verfügbar und genau. Die offenbarten Systeme und Verfahren können eine Lenkanwendung ermöglichen, die nur schwach von der Verfügbarkeit und Genauigkeit der GNSS-Positionierung abhängig ist. In solchen Systemen kann die Verwendung der GNSS-Signale eingeschränkt sein. Beispielsweise können die offenbarten Systeme in einigen Ausführungsformen die GNSS-Signale nur für Datenbankindexierungszwecke verwenden.
  • In einigen Ausführungsformen kann der Bereich (z. B. der lokale Bereich), der für eine Navigationssteuerungsanwendung eines autonomen Fahrzeugs relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Abstände können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: die Planung der vorausliegenden Trajektorie und die Lokalisierung des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über einen typischen Bereich von 40 Metern vorausliegend (oder jeden anderen geeigneten vorausliegenden Abstand, wie etwa 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Steueralgorithmus das Fahrzeug gemäß einem Zielpunkt lenkt, der sich 1,3 Sekunden (oder eine andere Zeit, wie etwa 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.) vorausliegend befindet. Die Lokalisierungsaufgabe verwendet das Straßenmodell über einen typischen Bereich von 60 Metern hinter dem Auto (oder jeden anderen geeigneten Abstand, wie etwa 50 Meter, 100 Meter, 150 Meter usw.) gemäß einem Verfahren genannt „Heckausrichtung“ (Englisch: „Tail Alignment“), das in einem anderen Abschnitt ausführlicher erläutert wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das über einen bestimmten Bereich, wie etwa 100 Meter, eine ausreichende Genauigkeit aufweist, sodass eine geplante Trajektorie nicht um mehr als beispielsweise 30 cm von der Fahrspurmitte abweicht.
  • Wie oben erläutert, kann ein dreidimensionales Straßenmodell erstellt werden, indem Nahbereichsabschnitte erkannt und zusammengeheftet werden. Das Zusammenheften kann durch Berechnen eines Eigenbewegungsmodells mit sechs Graden unter Verwendung der von der Kamera aufgenommenen Videos und/oder Bilder, Daten von den Trägheitssensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Host-Fahrzeug-Geschwindigkeitssignals ermöglicht werden. Der akkumulierte Ferner kann über eine lokale Abstandsskala, wie etwa in der Größenordnung von 100 Metern, klein genug sein. All dies kann in einer einzigen Fahrt über ein bestimmtes Straßensegment abgeschlossen werden.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln, und um seine Genauigkeit weiter zu erhöhen. Dasselbe Auto kann dieselbe Route mehrmals befahren, oder es können mehrere Autos ihre gesammelten Modelldaten an einen zentralen Server senden. In jedem Fall kann ein Abgleichverfahren durchgeführt werden, um überlappende Modelle zu identifizieren und eine Mittelwertbildung zu ermöglichen, um Zieltrajektorien zu erzeugen. Das konstruierte Modell (das z. B. die Zieltrajektorien aufweist) kann zum Steuern verwendet werden, sobald ein Konvergenzkriterium erfüllt ist. Nachfolgende Fahrten können für weitere Modellverbesserungen und zur Anpassung an Infrastrukturänderungen verwendet werden.
  • Die gemeinsame Nutzung von Fahrerlebnissen (wie etwa erfasste Daten) zwischen mehreren Autos wird möglich, wenn sie mit einem zentralen Server verbunden sind. Jeder Fahrzeugclient kann eine Teilkopie eines universellen Straßenmodells speichern, das für seine aktuelle Position relevant sein kann. Eine bidirektionale Aktualisierungsprozedur zwischen den Fahrzeugen und dem Server kann von den Fahrzeugen und dem Server durchgeführt werden. Das oben erläuterte Konzept mit kleinem Fußabdruck ermöglicht es den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen unter Verwendung einer sehr kleinen Bandbreite durchzuführen.
  • Informationen bezüglich potentieller Landmarken können auch bestimmt und an einen zentralen Server weitergeleitet werden. Beispielsweise können die offenbarten Systeme und Verfahren eine oder mehrere physikalische Eigenschaften einer potentiellen Landmarke basierend auf einem oder mehreren Bildern bestimmen, die die Landmarke aufweisen. Die physikalischen Eigenschaften können eine physikalische Größe (z. B. Höhe, Breite) der Landmarke, einen Abstand von einem Fahrzeug zu einer Landmarke, einen Abstand zwischen der Landmarke zu einer vorherigen Landmarke, die laterale Position der Landmarke (z. B. die Position der Landmarke bezüglich der Fahrspur), die GPS-Koordinaten der Landmarke, ein Typ von Landmarke, eine Identifizierung von Text auf der Landmarke usw. Beispielsweise kann ein Fahrzeug eines oder mehrere von einer Kamera aufgenommene Bilder analysieren, um eine potenzielle Landmarke, wie etwa ein Geschwindigkeitsbegrenzungszeichen, zu erkennen.
  • Das Fahrzeug kann basierend auf der Analyse des einen oder der mehreren Bilder einen Abstand von dem Fahrzeug zu der Landmarke oder eine der Landmarke zugeordnete Position (z. B. ein beliebiges semantisches oder nicht-semantisches Objekt oder Merkmal entlang eines Straßensegments) bestimmen. In einigen Ausführungsformen kann der Abstand basierend auf einer Analyse von Bildern der Landmarke unter Verwendung eines geeigneten Bildanalyseverfahrens, wie etwa eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens, bestimmt werden. Wie bereits erwähnt wurde, kann eine Position des Objekts/Merkmals eine 2D-Bildposition (z. B. eine X-Y-Pixelposition in einem oder Vielzahl von aufgenommenen Bildern) eines oder mehrerer Punkte aufweisen, die dem Objekt/Merkmal zugeordnet sind, oder kann eine reale 3D-Position eines oder mehrerer Punkte aufweisen (die z. B. durch Structure-in-Motion/optische Flusstechniken, LIDAR- oder RADAR-Informationen usw. bestimmt werden). In einigen Ausführungsformen können die offenbarten Systeme und Verfahren dazu ausgelegt sein, einen Typ oder eine Klassifikation einer potentiellen Landmarke zu bestimmen. Falls das Fahrzeug bestimmt, dass eine bestimmte potenzielle Landmarke einem vorbestimmten Typ oder einer bestimmten Klassifizierung entspricht, die in einer spärlichen Karte gespeichert ist, kann es ausreichen, dass das Fahrzeug dem Server einen Hinweis auf den Typ oder die Klassifizierung der Landmarkes zusammen mit ihrem Ort kommunizieren. Der Server kann solche Angaben speichern. Zu einem späteren Zeitpunkt, während der Navigation, kann ein navigierendes Fahrzeug ein Bild aufnehmen, das eine Darstellung der Landmarke aufweist, das Bild verarbeiten (z. B. unter Verwendung eines Klassifizierers), und die resultierende Landmarke vergleichen, um die Erkennung der abgebildeten Landmarke zu bestätigen und die abgebildete Landmarke beim Lokalisieren des navigierenden Fahrzeugs bezüglich der spärlichen Karte zu verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßensegment fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Clients) können eine ihre Fahrt beschreibende Kurve (z. B. durch Eigenbewegungs-Integration) in einem beliebigen Koordinatensystem erzeugen. Die Fahrzeuge können Landmarken erkennen und sie im selben Frame lokalisieren. Die Fahrzeuge können die Kurve und die Landmarken auf den Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein einheitliches Straßenmodell erzeugen. Wie beispielsweise unten in Bezug auf 19 erläutert wurde, kann der Server eine spärliche Karte mit dem vereinheitlichten Straßenmodell unter Verwendung der hochgeladenen Kurven und Landmarken erzeugen.
  • Der Server kann das Modell auch an Clients (z. B. Fahrzeuge) verteilen. Beispielsweise kann der Server die spärliche Karte an eines oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder periodisch aktualisieren, wenn er neue Daten von den Fahrzeugen empfängt. Beispielsweise kann der Server die neuen Daten verarbeiten, um auszuwerten, ob die Daten Informationen aufweisen, die eine Aktualisierung oder Erzeugung 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 bereitzustellen.
  • Der Server kann eines oder mehrere Kriterien verwenden, um zu bestimmen, ob von den Fahrzeugen empfangene neue Daten eine Aktualisierung des Modells auslösen oder die Erzeugung neuer Daten auslösen sollen. Wenn beispielsweise die neuen Daten anzeigen, dass eine zuvor erkannte Landmarke an einem bestimmten Ort nicht mehr existiert oder durch eine andere Landmarke ersetzt wird, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollen. Als weiteres Beispiel kann der Server, wenn die neuen Daten angeben, dass ein Straßensegment gesperrt wurde und dies durch von anderen Fahrzeugen empfangene Daten bestätigt wurde, bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Teil des Modells) an eines oder mehrere Fahrzeuge verteilen, die auf dem Straßensegment fahren, dem die Aktualisierungen des Modells zugeordnet sind. Der Server kann das aktualisierte Modell auch an Fahrzeuge verteilen, die im Begriff sind, auf dem Straßensegment zu fahren, oder an Fahrzeuge, deren geplante Fahrt das Straßensegment aufweist, dem die Aktualisierungen des Modells zugeordnet sind. Beispielsweise kann, während ein autonomes Fahrzeug entlang eines anderen Straßensegments fährt, bevor es das Straßensegment erreicht, dem eine Aktualisierung zugeordnet ist, der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug das Straßensegment erreicht.
  • In einigen Ausführungsformen kann der entfernte Server Trajektorien und Landmarken von mehreren Clients (z. B. Fahrzeugen, die entlang eines gemeinsamen Straßensegments fahren) sammeln. Der Server kann Kurven unter Verwendung von Landmarken abgleichen und ein durchschnittliches Straßenmodell basierend auf den Trajektorien erzeugen, die von den mehreren Fahrzeugen gesammelt wurden. Der Server kann auch einen Straßengraphen und den wahrscheinlichsten Weg an jedem Knoten oder jeder Kreuzung des Straßensegments berechnen. Beispielsweise kann der entfernte Server die Trajektorien ausrichten, um aus den gesammelten Trajektorien eine durch Crowd-Sourcing gespeiste spärliche Karte zu erzeugen.
  • Der Server kann Landmarken-Eigenschaften, die von mehreren Fahrzeugen empfangen wurden, die entlang des gemeinsamen Straßensegments gefahren sind, mitteln, wie etwa die Abstände zwischen einer Landmarke zu einer anderen (z. B. einer vorherigen entlang des Straßensegments), wie von mehreren Fahrzeugen gemessen, um einen Bogenlängen-Parameter zu bestimmen und die Lokalisierung entlang des Weges und die Geschwindigkeitskalibrierung für jedes Kundenfahrzeug zu unterstützen. Der Server kann die physikalischen Abmessungen einer Landmarke, die von mehreren Fahrzeugen gemessen wurden, die entlang des gemeinsamen Straßensegments gefahren sind und dieselbe Landmarke erkannt haben, mitteln. Die gemittelten physikalischen Abmessungen können verwendet werden, um die Abstandsschätzung zu unterstützen, wie etwa den Abstand von dem Fahrzeug zu der Landmarke. Der Server kann laterale Positionen einer Landmarke (z. B. die Position von der Fahrspur, auf der Fahrzeuge auf die Landmarke zufahren), die von mehreren Fahrzeugen gemessen wurde, die entlang des gemeinsamen Straßensegments gefahren sind und dieselbe Landmarke erkannt haben, mitteln. Der gemittelte laterale Teil kann dazu verwendet werden, die Fahrspurzuweisung zu unterstützen. Der Server kann die GPS-Koordinaten der Landmarke, die von mehreren Fahrzeugen gemessen wurden, die entlang desselben Straßensegments gefahren sind und dieselbe Landmarke erkannt haben, mitteln. Die gemittelten GPS-Koordinaten der Landmarke können verwendet werden, um die globale Lokalisierung oder Positionierung der Landmarke in dem Straßenmodell zu unterstützen.
  • In einigen Ausführungsformen kann der Server Modelländerungen, wie etwa Konstruktionen, Umleitungen, neue Zeichen, Beseitigung von Zeichen usw., basierend auf den Fahrzeugen empfangenen Daten identifizieren. Der Server kann das Modell beim Empfang neuer Daten von den Fahrzeugen kontinuierlich oder periodisch oder augenblicklich aktualisieren. Der Server kann Aktualisierungen des Modells oder das aktualisierte Modell an Fahrzeuge verteilen, um eine autonome Navigation bereitzustellen. Beispielsweise kann, wie weiter unten erläutert wird, der Server Crowd-Sourcing-Daten verwenden, um von Fahrzeugen erkannte „Geister“-Landmarken herauszufiltern.
  • In einigen Ausführungsformen kann der Server Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann Daten, die zu dem Zeitpunkt und an dem Ort, an dem der Eingriff erfolgt, von dem Fahrzeug empfangen wurden, und/oder Daten, die vor dem Zeitpunkt des Eingriffs empfangen wurden, analysieren. Der Server kann bestimmte Teile der Daten, die den Eingriff verursacht haben oder in engem Zusammenhang damit stehen, beispielsweise Daten, die die Einrichtung einer vorübergehenden Fahrspursperrung angeben, Daten, die einen Fußgänger auf der Straße angeben, identifizieren. Der Server kann das Modell basierend auf den identifizierten Daten aktualisieren. Beispielsweise kann der Server eine oder mehrere in dem Modell gespeicherte Trajektorien modifizieren.
  • 12 ist eine schematische Veranschaulichung eines Systems, das Crowd-Sourcing verwendet, um eine spärliche Karte zu erzeugen (sowie zu verteilen, und unter Verwendung einer durch Crowd-Sourcing entstandenen spärlichen Karte navigiert). 12 zeigt ein Straßensegment 1200, das eine oder mehrere Fahrspuren aufweist. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 können gleichzeitig oder zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren (obwohl sie in 12 als gleichzeitig auf dem Straßensegment 1200 erscheinend gezeigt). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Zur Vereinfachung des vorliegenden Beispiels wird angenommen, dass alle Fahrzeuge 1205, 1210, 1215, 1220 und 1225 autonome Fahrzeuge sind.
  • Jedes Fahrzeug kann Fahrzeugen ähneln, die in anderen Ausführungsformen offenbart sind (z. B. das Fahrzeug 200), und kann Komponenten oder Vorrichtungen aufweisen, die in Fahrzeugen, die in anderen Ausführungsformen offenbart sind, enthalten sind oder diesen zugeordnet sind. Jedes Fahrzeug kann mit einer Bildaufnahmevorrichtung oder Kamera (z. B. die Bildaufnahmevorrichtung 122 oder Kamera 122) ausgestattet sein. Jedes Fahrzeug kann mit einem entfernten Server 1230 über eines oder mehrere Netzwerke (z. B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 kommunizieren, wie durch die gestrichelten Linien angegeben wird. Jedes Fahrzeug kann Daten an den Server 1230 senden und Daten von dem Server 1230 empfangen. Beispielsweise kann der Server 1230 Daten von mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren, und kann die gesammelten Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells zu erzeugen. Der Server 1230 kann das Straßennavigationsmodell des autonomen Fahrzeugs oder die Aktualisierung des Modells an die Fahrzeuge senden, die Daten an den Server 1230 gesendet haben. Der Server 1230 kann das Straßennavigationsmodell des autonomen Fahrzeugs oder die Aktualisierung des Modells zu späteren Zeitpunkten an andere Fahrzeuge senden, die auf dem Straßensegment 1200 fahren.
  • Wenn die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 auf dem Straßensegment 1200 fahren, können von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 gesammelte (z. B. erkannte, erfasste oder gemessene) Navigationsinformationen an den Server 1230 gesendet werden. In einigen Ausführungsformen können die Navigationsinformationen dem gemeinsamen Straßensegment 1200 zugeordnet sein. Die Navigationsinformationen können eine Trajektorie aufweisen, die jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 zugeordnet ist, wenn jedes Fahrzeug über das Straßensegment 1200 fährt. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten rekonstruiert werden, die von verschiedenen an dem Fahrzeug 1205 vorgesehenen Sensoren und Vorrichtungen erfasst wurden. Beispielsweise kann die Trajektorie basierend auf mindestens einem von Beschleunigungsmessungsdaten, Geschwindigkeitsdaten, Landmarkendaten, Straßengeometrie- oder Profildaten, Fahrzeugpositionsdaten und Eigenbewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten von Trägheitssensoren, wie etwa einem Beschleunigungsmesser, und der von einem Geschwindigkeitssensor erfassten Geschwindigkeit des Fahrzeugs 1205 rekonstruiert werden. Darüber hinaus kann in einigen Ausführungsformen die Trajektorie basierend auf einer (z. B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) erfassten Eigenbewegung der Kamera bestimmt werden, die eine dreidimensionale Translation und/oder oder dreidimensionale Drehungen (oder Drehbewegungen) angibt. Die Eigenbewegung der Kamera (und damit der Fahrzeugkarosserie) kann aus der 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 bereitgestellten Prozessor bestimmt werden und an den Server 1230 gesendet werden. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die von den verschiedenen Sensoren und Vorrichtungen, die in dem Fahrzeug 1205 bereitgestellt werden, erfasst wurden, und die Trajektorie basierend auf den von dem 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 gesendeten Navigationsinformationen Daten bezüglich der Straßenoberfläche, der Straßengeometrie oder des Straßenprofils aufweisen. Die Geometrie des Straßensegments 1200 kann eine Fahrspurstruktur und/oder Landmarken aufweisen. Die Fahrspurstruktur kann die Gesamtzahl der Fahrspuren des Straßensegments 1200, den Typ der Fahrspuren (z. B. Einbahnspur, Gegenfahrspur, Fahrspur, Überholspur usw.), Markierungen auf Fahrspuren, Breite der Fahrspuren, usw. aufweisen. In einigen Ausführungsformen können die Navigationsinformationen eine Fahrspurzuweisung, z. B. welche Fahrspur von mehreren Fahrspuren ein Fahrzeug befährt, aufweisen. Beispielsweise kann die Fahrspurzuweisung einem numerischen Wert „3“ zugeordnet sein, der angibt, dass das Fahrzeug auf der dritten Fahrspur von links oder rechts fährt. Als ein weiteres Beispiel kann die Fahrspurzuweisung mit einem Textwert „mittlere Fahrspur“ zugeordnet sein, der angibt, dass das Fahrzeug auf der mittleren Fahrspur fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nichtflüchtigen computerlesbaren Medium, wie etwa einer Festplatte, einer CD, einem Band, einem Speicher usw., speichern. Der Server 1230 kann (z. B. durch einen in dem Server 1230 enthaltenen Prozessor) mindestens einen Teil eines Straßennavigationsmodells eines autonomen Fahrzeugs für das gemeinsame Straßensegment 1200 basierend auf den Navigationsinformationen, die von den mehreren Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen wurden, erzeugen, und kann das Modell als einen Teil einer spärlichen Karte speichern. Der Server 1230 kann eine einer jeweiligen Fahrspur zugeordnete Trajektorie basierend auf Crowd-Sourcing-Daten (z. B. Navigationsinformationen), die von mehreren Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) empfangen wurden, die zu unterschiedlichen Zeiten auf einer Fahrspur eines Straßensegments fahren, bestimmen. Der Server 1230 kann das Straßennavigationsmodell des autonomen Fahrzeugs oder einen Teil des Modells (z. B. einen aktualisierten Teil) basierend auf einer Vielzahl von Trajektorien erzeugen, die basierend auf den durch Crowd-Sourcing bereitgestellten Navigationsdaten bestimmt werden. Der Server 1230 kann das Modell oder den aktualisierten Teil des Modells zu einem oder mehreren autonomen Fahrzeugen 1205, 1210, 1215, 1220 und 1225, die auf dem Straßensegment 1200 fahren, oder anderen autonomen Fahrzeugen, die auf dem Straßensegment fahren, zu einem späteren Zeitpunkt senden, um ein existierendes Straßennavigationsmodell eines autonomen Fahrzeugs, das in einem Navigationssystem der Fahrzeuge bereitgestellt wird, zu aktualisieren. Das Straßennavigationsmodell des autonomen Fahrzeugs kann von den autonomen Fahrzeugen beim autonomen Navigieren entlang des gemeinsamen Straßensegments 1200 verwendet werden.
  • Wie oben erläutert, kann das Straßennavigationsmodell des autonomen Fahrzeugs in einer spärlichen Karte (z. B. der in 8 gezeigten spärlichen Karte 800) enthalten sein. Die spärliche Karte 800 kann eine spärliche Aufzeichnung von Daten in Bezug auf eine Straßengeometrie und/oder Landmarken entlang einer Straße aufweisen, die ausreichende Informationen zum Führen einer autonomen Navigation eines autonomen Fahrzeugs bereitstellen können, jedoch keine übermäßige Datenspeicherung erfordert. In einigen Ausführungsformen kann das Straßennavigationsmodell des autonomen Fahrzeugs getrennt von der spärlichen Karte 800 gespeichert werden, und kann Kartendaten von der spärlichen Karte 800 verwenden, wenn das Modell zur Navigation ausgeführt wird. In einigen Ausführungsformen kann das Straßennavigationsmodell des autonomen Fahrzeugs Kartendaten verwenden, die in der spärlichen Karte 800 enthalten sind, um Zieltrajektorien entlang des Straßensegments 1200 zu bestimmen, um die autonome Navigation von autonomen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 oder anderen Fahrzeugen, die später entlang des Straßensegments 1200 fahren, zu führen. Wenn beispielsweise das Straßennavigationsmodell des autonomen Fahrzeugs von einem Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 enthalten ist, kann das Modell bewirken, dass der Prozessor die Trajektorien, die basierend auf den vom Fahrzeug 1205 empfangenen Navigationsinformationen bestimmt wurden, mit vorbestimmten Trajektorien, die in spärlichen Karte 800 enthalten sind, vergleicht, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu validieren und/oder zu korrigieren.
  • In dem Straßennavigationsmodell des autonomen Fahrzeugs kann die Geometrie eines Straßenmerkmals oder einer Zieltrajektorie durch eine Kurve in einem dreidimensionalen Raum codiert werden. In einer Ausführungsform kann die Kurve ein dreidimensionaler Spline sein, der eines oder mehrere verbindende dreidimensionale Polynome aufweist. Wie der Fachmann versteht, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Folge von Polynomen zum Anpassen von Daten definiert wird. Ein Spline zum Anpassen der dreidimensionalen Geometriedaten der Straße kann einen linearen Spline (erste Ordnung), einen quadratischen Spline (zweite Ordnung), einen kubischen Spline (dritte Ordnung) oder beliebige andere Splines (andere Ordnungen) oder eine Kombination davon aufweisen. Der Spline kann eines oder mehrere dreidimensionale Polynome unterschiedlicher Ordnung aufweisen, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z. B. anpassen). In einigen Ausführungsformen kann das Straßennavigationsmodell des autonomen Fahrzeugs einen dreidimensionalen Spline aufweisen, der einer Zieltrajektorie entlang eines gemeinsamen Straßensegments (z. B. des Straßensegments 1200) oder einer Fahrspur des Straßensegments 1200 entspricht.
  • Wie oben erläutert wurde, kann das Straßennavigationsmodell des autonomen Fahrzeugs, das in der spärlichen Karte enthalten ist, andere Informationen aufweisen, wie etwa die Identifizierung mindestens einer Landmarke entlang des Straßensegments 1200. Die Landmarke kann innerhalb eines Sichtfelds einer Kamera (z. B. der Kamera 122), die an jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 installiert ist, sichtbar sein. In einigen Ausführungsformen kann die Kamera 122 ein Bild einer Landmarke aufnehmen. Ein an dem Fahrzeug 1205 bereitgestellter Prozessor (z. B. der Prozessor 180, 190 oder die Verarbeitungseinheit 110) kann das Bild der Landmarke verarbeiten, um Identifikationsinformationen für die Landmarke zu extrahieren. Die Landmarken-Identifikationsinformationen können anstelle eines tatsächlichen Bildes der Landmarke in der spärlichen Karte 800 gespeichert werden. Die Landmarken-Identifikationsinformationen können viel weniger Speicherplatz benötigen als ein tatsächliches Bild. Andere Sensoren oder Systeme (z. B. ein GPS-System) können auch bestimmte Identifikationsinformationen der Landmarke (z. B. die Position der Landmarke) bereitstellen. Die Landmarke kann mindestens eines von einem Verkehrszeichen, einer Pfeilmarkierung, einer Fahrspurmarkierung, einer gestrichelten Fahrspurmarkierung, einer Ampel, einer Haltelinie, einem Wegweiser (z. B. einem Autobahnausfahrtzeichen mit einem Richtungspfeil, ein Autobahnschild mit Pfeilen, die in verschiedene Richtungen oder Orte zeigen), einer Landmarken-Bake, oder einem Laternenpfahl aufweisen. Eine Landmarken-Bake bezieht sich auf eine Vorrichtung (z. B. eine RFID-Vorrichtung), die entlang eines Straßensegments installiert ist und ein Signal an einen in einem Fahrzeug installierten Empfänger sendet oder reflektiert, so dass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, das von dem Fahrzeug empfangene Bakensignal und der Ort der Vorrichtung (der z. B. aus dem GPS-Ort der Vorrichtung bestimmt wird) als ein Landmarke verwendet werden kann, die in das Straßennavigationsmodell des autonomen Fahrzeugs und/oder die spärliche Karte 800 aufzunehmen ist.
  • Das Identifizieren mindestens einer Landmarke kann eine Position der mindestens einen Landmarke aufweisen. Die Position der Landmarke kann basierend auf Positionsmessungen bestimmt werden, die unter Verwendung von Sensorsystemen (z. B. globalen Positionierungssystemen, trägheitsbasierten Positionierungssysteme, Landmarken-Baken usw.) durchgeführt werden, die den mehreren Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind. In einigen Ausführungsformen kann die Position der Landmarke durch Mitteln der Positionsmessungen bestimmt werden, die von Sensorsystemen an unterschiedlichen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 durch mehrere Fahrten erkannt, gesammelt oder empfangen werden. Beispielsweise können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessdaten an den Server 1230 senden, der die Positionsmessungen mitteln, und den gemittelten Positionsmesswert als Position der Landmarke verwenden kann. Die Position der Landmarke kann durch Messungen, die von Fahrzeugen bei nachfolgenden Fahrten empfangen werden, kontinuierlich verfeinert werden.
  • Die Identifizierung der Landmarke kann eine Größe der Landmarke aufweisen. Der an einem Fahrzeug bereitgestellte Prozessor (z. B. 1205) kann die physische Größe der Landmarke basierend auf der Analyse der Bilder schätzen. Der Server 1230 kann mehrere Schätzungen der physischen Größe desselben Landmarke von unterschiedlichen Fahrzeugen über unterschiedliche Fahrten empfangen. Der Server 1230 kann die verschiedenen Schätzungen mitteln, um eine physische Größe für die Landmarke zu erhalten, und diese Landmarkengröße in dem Straßenmodell speichern. Die Schätzung der physischen Größe kann verwendet werden, um einen Abstand von dem Fahrzeug zu der Landmarke weiter zu bestimmen oder zu schätzen. Der Abstand zu der Landmarke kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einem Ausdehnungsmaßstab basierend auf der Position der Landmarke, die in den Bildern relativ zu dem Fokus der Ausdehnung der Kamera erscheint, geschätzt werden. Beispielsweise kann der Abstand zu der Landmarke durch Z = V*dt*R/D geschätzt werden, wobei V die Fahrzeuggeschwindigkeit ist, R der Abstand im Bild von der Landmarke zum Zeitpunkt t1 zu dem Fokus der Ausdehnung ist, und D die Abstandsänderung für die Landmarke in dem Bild von t1 zu t2 ist. dt steht für (t2-t1). Beispielsweise kann der Abstand zu der Landmarke durch Z = V*dt*R/D geschätzt werden, wobei V die Fahrzeuggeschwindigkeit ist, R der Abstand im Bild zwischen der Landmarke und dem Fokus der Ausdehnung ist, dt ein Zeitintervall ist, und D die Bildverschiebung der Landmarke entlang der Epipolarlinie ist. Andere Gleichungen, die der obigen Gleichung äquivalent sind, wie etwa Z = V * ω/Δω, können zum Schätzen des Abstands zu der Landmarke verwendet werden. Hier ist V die Fahrzeuggeschwindigkeit, ω ist eine Bildlänge (wie die Objektbreite), und Δω ist die Änderung dieser Bildlänge in einer Zeiteinheit.
  • Wenn die physikalische Größe der Landmarke bekannt ist, kann der Abstand zu der Landmarke auch basierend auf der folgenden Gleichung bestimmt werden: Z = f * W/ω, wobei f die Brennweite ist, W die Größe der Landmarke ist (z. B. Höhe oder Breite), ω die Anzahl der Pixel ist, wenn die Landmarke das Bild verlässt. Aus der obigen Gleichung kann eine Änderung des Abstands Z berechnet werden unter Verwendung von ΔZ = f * W * / ω2 + f* ΔW/ω, wobei ΔW durch Mittelwertbildung auf Null abfällt und wobei Δω die Anzahl der Pixel ist, die eine Begrenzungsrahmengenauigkeit in dem Bild darstellen. Ein Wert, der die physikalische Größe der Landmarke schätzt, kann durch Mitteln mehrerer Beobachtungen serverseitig berechnet werden. Der resultierende Fehler bei der Abstandsschätzung kann sehr klein sein. Bei der Verwendung der obigen Formel können zwei Fehlerquellen auftreten, nämlich ΔW und Δω. Ihr Beitrag zum Abstandsfehler ist gegeben durch ΔZ = f * W * Δω / ω2 + f* ΔW/cω. Jedoch fällt W durch Mittelwertbildung auf Null ab; daher wird ΔZ durch Δω (z. B. die Ungenauigkeit des Begrenzungsrahmens im Bild) bestimmt.
  • Für Landmarken mit unbekannten Abmessungen kann der Abstand zu der Landmarke geschätzt werden, indem Merkmalspunkte auf der Landmarke zwischen aufeinanderfolgenden Frames verfolgt werden. Beispielsweise können bestimmte Merkmale, die auf einem Geschwindigkeitsbegrenzungszeichen erscheinen, zwischen zwei oder mehr Bildframes verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Abstandsverteilung pro Merkmalspunkt erzeugt werden. Die Abstandsschätzung kann aus der Abstandsverteilung extrahiert werden. Beispielsweise kann der in der Abstandsverteilung am häufigsten vorkommende Abstand als Abstandsschätzung verwendet werden. Als weiteres Beispiel kann der Mittelwert der Abstandsverteilung als Abstandsschätzung verwendet werden.
  • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell eines autonomen Fahrzeugs, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 dargestellt wird. Die in 13 gezeigten Kurven 1301, 1302 und 1303 dienen nur der Veranschaulichung. Jeder Spline kann eines oder mehrere dreidimensionale Polynome aufweisen, 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 von beliebigen geeigneten Polynomen mit unterschiedlichen Ordnungen sein. Jeder Datenpunkt 1310 kann den Navigationsinformationen zugeordnet sein, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann jeder Datenpunkt 1310 Daten zugeordnet sein, die sich auf Landmarken (z. B. Größe, Position und Identifikationsinformationen von Landmarken) und/oder Straßensignaturprofile (z. B. eine Straßengeometrie, ein Straßenunebenheitsprofil, ein Straßenkrümmungsprofil, ein Straßenbreitenprofil) beziehen. In einigen Ausführungsformen können einige Datenpunkte 1310 Daten in Bezug auf Landmarken zugeordnet sein, und andere können Daten in Bezug auf Straßensignaturprofile zugeordnet sein.
  • 14 veranschaulicht rohe Ortsdaten 1410 (z. B. GPS-Daten), die von fünf getrennten Fahrten empfangen wurden. Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie von getrennten Fahrzeugen gleichzeitig, von demselben Fahrzeug zu getrennten Zeiten, oder von getrennten Fahrzeugen zu getrennten Zeiten gefahren wurde. Um Fehler in den Ortsdaten 1410 und unterschiedliche Orte von Fahrzeugen innerhalb derselben Fahrspur zu berücksichtigen (z. B. kann ein Fahrzeug näher an der linken Seite einer Fahrspur fahren als ein anderes), kann der Server 1230 ein Kartenskelett 1420 unter Verwendung eines oder mehrerer statistischer Techniken erzeugen, um zu bestimmen, ob Variationen in den rohen Ortsdaten 1410 tatsächliche Divergenzen oder statistische Fehler darstellen. Jeder Pfad innerhalb des Skeletts 1420 kann auf die Rohdaten 1410, die den Weg gebildet haben, rückbezogen werden. Beispielsweise ist der Weg zwischen A und B innerhalb des Skeletts 1420 den Rohdaten 1410 von den Fahrten 2, 3, 4 und 5 zugeordnet, aber nicht von Fahrt 1. Das Skelett 1420 weist möglicherweise nicht genug Einzelheiten auf, um zum Navigieren eines Fahrzeugs verwendet zu werden (z. B. weil es Fahrten von mehreren Fahrspuren auf derselben Straße kombiniert, im Gegensatz zu den oben beschriebenen Splines), kann jedoch nützliche topologische Informationen bereitstellen und kann verwendet werden, um Kreuzungen zu definieren.
  • 15 veranschaulicht ein Beispiel, durch das zusätzliche Einzelheiten für eine spärliche Karte innerhalb eines Segments eines Kartenskeletts (z. B. Segment A bis B innerhalb des Skeletts 1420) erzeugt werden kann. Wie in 15 gezeigt wird, können die Daten (z. B. Eigenbewegungsdaten, Straßenmarkierungsdaten, und dergleichen) als Funktion der Position S (oder Sl oder S2) entlang der Fahrt angezeigt werden. Der Server 1230 kann Landmarken für die spärliche Karte identifizieren, indem er eindeutige Übereinstimmungen zwischen den Landmarken 1501, 1503 und 1505 der Fahrt 1510 und den Landmarken 1507 und 1509 der Fahrt 1520 identifiziert. Ein solcher Abgleichsalgorithmus kann zur Identifizierung von Landmarken 1511, 1513 und 1515 führen. Ein Fachmann würde jedoch erkennen, dass andere Abgleichsalgorithmen verwendet werden können. Beispielsweise kann die Wahrscheinlichkeitsoptimierung anstelle oder in Kombination zu einem eindeutigen Abgleich verwendet werden. Der Server 1230 kann die Fahrten in longitudinaler Richtung ausrichten, um die übereinstimmenden Landmarken auszurichten. Beispielsweise kann der Server 1230 ein Fahrt (z. B. die Fahrt 1520) als Referenzfahrt auswählen, und dann das/die andere(n) Fahrt(en) (z. B. die Fahrt 1510) zur Ausrichtung verschieben und/oder elastisch dehnen.
  • 16 zeigt ein Beispiel ausgerichteter Landmarkendaten zur Verwendung in einer spärlichen Karte. In dem Beispiel von 16 umfasst das Landmarke 1610 ein Verkehrszeichen. Das Beispiel von 16 zeigt ferner Daten einer Vielzahl von Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613. In dem Beispiel von 16 bestehen die Daten von Fahrt 1613 aus einer „Geister“-Landmarke, und der Server 1230 kann sie als solches identifizieren, da keine der Fahrten 1601, 1603, 1605, 1607, 1609 und 1611 eine Identifikation einer Landmarke in der Nähe der in Fahrt 1613 identifizierten Landmarke aufweist. Dementsprechend kann der Server 1230 potenzielle Landmarken akzeptieren, wenn ein Verhältnis von Bildern, in denen die Landmarke erscheint, zu Bildern, in denen die Landmarke nicht erscheint, einen Schwellenwert überschreitet, und/oder kann potenzielle Landmarken ablehnen, wenn ein Verhältnis von Bildern, in denen die Landmarke nicht erscheint, zu Bildern, in denen der Landmarke erscheint, einen Schwellenwert überschreitet.
  • 17 zeigt ein System 1700 zum Erzeugen von Fahrtdaten, die verwendet werden können, um eine spärliche Karte mittels Crowd-Sourcing zu erzeugen. Wie in 17 gezeigt wird, kann das System 1700 eine Kamera 1701 und eine Ortungsvorrichtung 1703 (z. B. eine GPS-Ortungsvorrichtung) aufweisen. Die Kamera 1701 und die Ortungsvorrichtung 1703 können an einem Fahrzeug montiert sein (z. B. an einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225). Die Kamera 1701 kann eine Vielzahl von Daten mehrerer Typen erzeugen, z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen. Die Kameradaten und Ortsdaten können in Fahrtsegmente 1705 segmentiert werden. Beispielsweise können die Fahrtsegmente 1705 jeweils Kameradaten und Ortsdaten von weniger als 1 km Fahrt aufweisen.
  • In einigen Ausführungsformen kann das System 1700 Redundanzen in den Fahrtsegmenten 1705 entfernen. Wenn beispielsweise ein Landmarke in mehreren Bildern von der Kamera 1701 erscheint, kann das System 1700 die redundanten Daten entfernen, so dass die Fahrtsegmente 1705 nur eine Kopie des Ortes der Landmarke und alle Metadaten bezüglich der Landmarke enthalten. Als weiteres Beispiel kann das System 1700, wenn eine Fahrspurmarkierung in mehreren Bildern von der Kamera 1701 erscheint, die redundanten Daten entfernen, so dass die Fahrtsegmente 1705 nur eine Kopie des Ortes der Fahrspurmarkierung und alle Metadaten bezüglich der Fahrspurmarkierung enthalten.
  • Das System 1700 weist auch einen Server (z. B. den Server 1230) auf. Der Server 1230 kann Fahrtsegmente 1705 von dem Fahrzeug empfangen und die Fahrtsegmente 1705 zu einer einzelnen Fahrt 1707 rekombinieren. Eine solche Anordnung kann eine Verringerung der Bandbreitenanforderungen beim Übertragen von Daten zwischen dem Fahrzeug und dem Server ermöglichen, während es dem Server auch ermöglicht, Daten bezüglich einer gesamten Fahrt zu speichern.
  • 18 zeigt das System 1700 von 17, das ferner zum Crowd-Sourcing einer spärlichen Karte ausgelegt ist. Wie in 17 gezeigt wird, weist das System 1700 ein Fahrzeug 1810 auf, das Fahrtdaten aufnimmt, indem es beispielsweise eine Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und eine Ortungsvorrichtung (z. B. eine GPS-Ortungsvorrichtung) verwendet. Wie in 17 segmentiert das Fahrzeug 1810 die gesammelten Daten in Fahrtsegmente (in 18 als „DS1 1,“ „DS2 1,“ „DSN 1“ gezeigt). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert eine Fahrt (in 18 als „Fahrt 1“ gezeigt) aus den empfangenen Segmenten.
  • Wie ferner in 18 gezeigt wird, empfängt das System 1700 auch Daten von zusätzlichen Fahrzeugen. Beispielsweise nimmt das Fahrzeug 1820 auch Fahrtdaten unter Verwendung beispielsweise einer Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Ortungsvorrichtung (z. B. einer GPS-Ortungsvorrichtung) auf. Ähnlich wie das Fahrzeug 1810 segmentiert das Fahrzeug 1820 die gesammelten Daten in Fahrtsegmente (in 18 als „DS1 2,“ „DS2 2,“ „DSN 2“ gezeigt). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert ein Fahrt (in 18 als „Fahrt 2“ gezeigt) aus den empfangenen Segmenten. Es können beliebig viele weitere Fahrzeuge verwendet werden. Beispielsweise weist 18 auch ein „AUTO N“ auf, das Fahrtdaten erfasst, in Fahrtsegmente segmentiert (in 18 als „DS1N“, „DS2 N“, „DSN N“ gezeigt) und sie an den Server 1230 sendet, um in eine Fahrt (in 18 „Fahrt N“ gezeigt) rekonstruiert zu werden.
  • Wie in 18 gezeigt, kann der Server 1230 eine spärliche Karte (als „KARTE“ gezeigt) unter Verwendung der rekonstruierten Fahrten (z. B. „Fahrt 1,“ „Fahrt 2,“ und „Fahrt N“) erstellen, die von einer Vielzahl von Fahrzeugen (z. B. „AUTO 1“ (auch als Fahrzeug 1810 bezeichnet), „AUTO 2“ (auch als Fahrzeug 1820 bezeichnet) und „AUTO N“) gesammelt wurden.
  • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess 1900 zum Erzeugen einer spärlichen Karte für die Navigation eines autonomen Fahrzeugs entlang eines Straßensegments zeigt. Der Prozess 1900 kann von einer oder mehreren Verarbeitungsvorrichtungen ausgeführt werden, die in dem Server 1230 enthalten sind.
  • Der Prozess 1900 kann ein Empfangen einer Vielzahl von Bildern aufweisen, die erfasst werden, wenn eines oder mehrere Fahrzeuge das Straßensegment durchqueren (Schritt 1905). Der Server 1230 kann Bilder von Kameras empfangen, die in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 enthalten sind. Beispielsweise kann die Kamera 122 eines oder mehrere Bilder der Umgebung des Fahrzeugs 1205 aufnehmen, während das Fahrzeug 1205 entlang des Straßensegments 1200 fährt. In einigen Ausführungsformen kann der Server 1230 auch abgespeckte Bilddaten empfangen, deren Redundanzen von einem Prozessor im Fahrzeug 1205 entfernt wurden, wie oben in Bezug auf 17 erläutert wird.
  • Der Prozess 1900 kann ferner ein Identifizieren mindestens einer Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang des Straßensegments erstreckt, basierend auf der Vielzahl von Bildern aufweisen (Schritt 1910). Jede Liniendarstellung kann einen Weg entlang des Straßensegments, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht, darstellen. Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um einen Straßenrand oder eine Fahrspurmarkierung zu identifizieren, und eine Fahrbahn entlang des Straßensegments 1200 zu bestimmen, die dem Straßenrand oder der Fahrspurmarkierung zugeordnet ist. In einigen Ausführungsformen kann die Trajektorie (oder die Liniendarstellung) einen Spline, eine polynomiale Darstellung, oder eine Kurve aufweisen. Der Server 1230 kann die Fahrbahn des Fahrzeugs 1205 basierend auf Kamera-Eigenbewegungen (z. B. eine dreidimensionale Translation und/oder dreidimensionale Drehbewegungen), die bei Schritt 1905 empfangen wurden, bestimmen.
  • Der Prozess 1900 kann auch ein Identifizieren einer Vielzahl von Landmarken, die dem Straßensegment zugeordnet sind, basierend auf den mehreren Bildern aufweisen (Schritt 1910). Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um eine oder mehrere Landmarken, wie etwa ein Verkehrszeichen entlang des Straßensegments 1200, zu identifizieren. Der Server 1230 kann die Landmarken unter Verwendung einer Analyse der Vielzahl von Bildern identifizieren, die erfasst werden, wenn eines oder mehrere Fahrzeuge das Straßensegment durchqueren. Um Crowd-Sourcing zu ermöglichen, kann die Analyse Regeln bezüglich des Akzeptierens und Ablehnens möglicher Landmarken, die dem Straßensegment zugeordnet sind, aufweisen. Beispielsweise kann die Analyse ein Akzeptieren potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke erscheint, zu Bildern, in denen die Landmarke nicht erscheint, einen Schwellenwert überschreitet, und/oder ein Ablehnen potenzieller Landmarken, wenn ein Verhältnis von Bildern, in denen die Landmarke nicht erscheint, zu Bildern, auf denen die Landmarke erscheint, einen Schwellenwert überschreitet, aufweisen.
  • Der Prozess 1900 kann andere Operationen oder Schritte aufweisen, die von dem Server 1230 ausgeführt werden. Beispielsweise können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge aufweisen, die entlang eines Straßensegments fahren sollen, und der Prozess 1900 kann ein Clustern von Fahrzeugtrajektorien, die sich auf mehrere auf dem Straßensegment fahrende Fahrzeuge beziehen, durch den Server 1230, und ein Bestimmen der Zieltrajektorie basierend auf den geclusterte Fahrzeugtrajektorien, aufweisen, wie unten ausführlicher erläutert wird. Das Clustern von Fahrzeugtrajektorien kann ein Clustern der mehreren Trajektorien, die sich auf die auf dem Straßensegment fahrenden Fahrzeuge beziehen, durch den Server 1230 in eine Vielzahl von Clustern basierend auf mindestens einem von dem absoluten Kurs von Fahrzeugen oder der Fahrspurzuweisung der Fahrzeuge aufweisen. Das Erzeugen der Zieltrajektorie kann ein Mitteln der geclusterten Trajektorien durch den Server 1230 aufweisen. Als weiteres Beispiel kann der Prozess 1900 ein Ausrichten von in Schritt 1905 empfangenen Daten aufweisen. Andere durch den Server 1230 durchgeführte Prozesse oder Schritte, wie oben beschrieben, können auch in dem Prozess 1900 enthalten sein.
  • Die offenbarten Systeme und Verfahren können andere Merkmale aufweisen. Beispielsweise können die offenbarten Systeme lokale Koordinaten anstelle von globalen Koordinaten verwenden. Beim autonomen Fahren können einige Systeme Daten in Weltkoordinaten darstellen. Beispielsweise können Längen- und Breitenkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte zum Lenken zu verwenden, kann das Host-Fahrzeug seine Position und Orientierung relativ zu der Karte bestimmen. Es erscheint naheliegend, eine GPS-Vorrichtung an Bord zu verwenden, um das Fahrzeug auf der Karte zu positionieren und die Drehtransformation zwischen dem Körperbezugssystem und dem Weltbezugssystem (z. B. Norden, Osten, und unten) zu finden. Sobald der Körperbezugsrahmen mit dem Kartenbezugsrahmen ausgerichtet ist, kann die gewünschte Route in dem Körperbezugsrahmen ausgedrückt werden, und die Lenkbefehle können berechnet oder erzeugt werden.
  • Die offenbarten Systeme und Verfahren können eine autonome Fahrzeugnavigation (z. B. Lenksteuerung) mit Modellen mit geringem Platzbedarf ermöglichen, die von den autonomen Fahrzeugen selbst ohne Hilfe teurer Vermessungsausrüstung gesammelt werden können. Um die autonome Navigation (z. B. Lenkanwendungen) zu unterstützen, kann das Straßenmodell eine spärliche Karte mit der Geometrie der Straße, ihrer Fahrspurstruktur, und Landmarken aufweisen, die verwendet werden können, um den Ort oder die Position von Fahrzeugen entlang einer in dem Modell enthaltenen Trajektorie zu bestimmen. Wie oben erläutert, kann die Erzeugung der spärlichen Karte durch einen entfernten Server durchgeführt werden, der mit auf der Straße fahrenden Fahrzeugen kommuniziert und der Daten von den Fahrzeugen empfängt. Die Daten können erfasste Daten, Trajektorien, die basierend auf den erfassten Daten rekonstruiert wurden, und/oder empfohlene Trajektorien, die modifizierte rekonstruierte Trajektorien darstellen können, aufweisen. Wie unten erläutert wird, kann der Server das Modell zurück an die Fahrzeuge oder andere Fahrzeuge, die später auf der Straße fahren, senden, um die autonome Navigation zu unterstützen.
  • 20 veranschaulicht ein Blockdiagramm des Servers 1230. Der Server 1230 kann eine Kommunikationseinheit 2005 aufweisen, die sowohl Hardwarekomponenten (z. B. Kommunikationssteuerschaltungen, Schalter, und eine Antenne) als auch Softwarekomponenten (z. B. Kommunikationsprotokolle, Computercodes) aufweisen kann. Beispielsweise kann die Kommunikationseinheit 2005 mindestens eine Netzwerkschnittstelle aufweisen. Der Server 1230 kann über die Kommunikationseinheit 2005 mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kommunizieren. Beispielsweise kann der Server 1230 über die Kommunikationseinheit 2005 von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 gesendete Navigationsinformationen empfangen. Der Server 1230 kann über die Kommunikationseinheit 2005 das Straßennavigationsmodell des autonomen Fahrzeugs an eines oder mehrere autonome Fahrzeuge verteilen.
  • Der Server 1230 kann mindestens ein nichtflüchtiges Speichermedium 2010 aufweisen, wie etwa eine Festplatte, eine CD, ein Band usw. Die Speichervorrichtung 1410 kann dazu ausgelegt sein, Daten zu speichern, wie etwa von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen und/oder das Straßennavigationsmodell des autonomen Fahrzeugs, das der Server 1230 basierend auf den Navigationsinformationen erzeugt. Die Speichervorrichtung 2010 kann dazu ausgelegt sein, beliebige andere Informationen zu speichern, wie etwa eine spärliche Karte (z. B. die oben in Bezug auf 8 erläuterte spärliche Karte 800).
  • Zusätzlich zu oder anstelle der Speichervorrichtung 2010 kann der Server 1230 einen Speicher 2015 aufweisen. Speicher 2015 kann ähnlich oder unterschiedlich zu dem Speicher 140 oder 150 sein. Der Speicher 2015 kann ein nichtflüchtiger Speicher sein, wie etwa ein Flash-Speicher, ein Direktzugriffsspeicher usw. Der Speicher 2015 kann dazu ausgelegt sein, Daten zu speichern, wie etwa Computercodes oder Anweisungen, die von einem Prozessor (z. B. Prozessor 2020) ausführbar sind, Kartendaten (z. B. Daten der spärlichen Karte 800), das Straßennavigationsmodell des autonomen Fahrzeugs und/oder von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen.
  • Der Server 1230 kann mindestens eine Verarbeitungsvorrichtung 2020 aufweisen, die dazu ausgelegt ist, in dem Speicher 2015 gespeicherte Computercodes oder Anweisungen auszuführen, um verschiedene Funktionen auszuführen. Beispielsweise kann die Verarbeitungsvorrichtung 2020 die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen analysieren und das Straßennavigationsmodell des autonomen Fahrzeugs basierend auf der Analyse erzeugen. Die Verarbeitungsvorrichtung 2020 kann die Kommunikationseinheit 1405 steuern, um das Straßennavigationsmodell des autonomen Fahrzeugs an eines oder mehrere autonome Fahrzeuge (z. B. eines oder mehrere der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder jedes Fahrzeug, das auf dem Straßensegment 1200 zu einer späteren Zeit fährt) zu verteilen. Die Verarbeitungsvorrichtung 2020 kann sich dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 ähneln oder sich unterscheiden.
  • 21 veranschaulicht ein Blockdiagramm des Speichers 2015, der Computercode oder Anweisungen zum Durchführen einer oder mehrerer Operationen zum Erzeugen eines Straßennavigationsmodells zur Verwendung bei der autonomen Fahrzeugnavigation speichern kann. Wie in 21 gezeigt wird, kann der Speicher 2015 eines oder mehrere Module zum Durchführen der Operationen zum Verarbeiten von Fahrzeugnavigationsinformationen speichern. Beispielsweise kann der Speicher 2015 ein Modellerzeugungsmodul 2105 und ein Modellverteilungsmodul 2110 aufweisen. Der Prozessor 2020 kann die Anweisungen ausführen, die in einem der Module 2105 und 2110 gespeichert sind, die im Speicher 2015 enthalten sind.
  • Das Modellerzeugungsmodul 2105 kann Anweisungen speichern, die, wenn sie durch den Prozessor 2020 ausgeführt werden, mindestens einen Teil eines Straßennavigationsmodells eines autonomen Fahrzeugs für ein gemeinsames Straßensegment (z. B. das Straßensegment 1200) basierend auf von den Fahrzeugen 1205, 1210, 215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen können. Beispielsweise kann der Prozessor 2020 beim Erzeugen des Straßennavigationsmodells des autonomen Fahrzeugs Fahrzeugtrajektorien entlang des gemeinsamen Straßensegments 1200 in verschiedene Cluster gruppieren. Der Prozessor 2020 kann eine Zieltrajektorie entlang des gemeinsamen Straßensegments 1200 basierend auf den geclusterten Fahrzeugtrajektorien für jeden der unterschiedlichen Cluster bestimmen. Eine solche Operation kann ein Finden einer mittleren oder durchschnittlichen Trajektorie der geclusterten Fahrzeugtrajektorien (z. B. durch Mitteln von Daten, die die geclusterten Fahrzeugtrajektorien darstellen) in jedem Cluster aufweisen. In einigen Ausführungsformen kann die Zieltrajektorie einer einzelnen Fahrspur des gemeinsamen Straßensegments 1200 zugeordnet sein.
  • Das Straßenmodell und/oder die spärliche Karte können Trajektorien speichern, die einem Straßensegment zugeordnet sind. Diese Trajektorien können als Zieltrajektorien bezeichnet werden, die autonomen Fahrzeugen zur autonomen Navigation bereitgestellt werden. Die Zieltrajektorien können von mehreren Fahrzeugen empfangen werden, oder können basierend auf tatsächlichen Trajektorien oder empfohlenen Trajektorien (tatsächliche Trajektorien mit einigen Modifizierungen), die von mehreren Fahrzeugen empfangen werden, erzeugt werden. Die in dem Straßenmodell oder der spärlichen Karte enthaltenen Zieltrajektorien können mit neuen Trajektorien, die von anderen Fahrzeugen empfangen werden, kontinuierlich aktualisiert (z. B. gemittelt) werden.
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten von verschiedenen Sensoren sammeln. Die Daten können Landmarken, ein Straßensignaturprofil, eine Fahrzeugbewegung (z. B. Beschleunigungsmessungsdaten, Geschwindigkeitsdaten), eine Fahrzeugposition (z. B. GPS-Daten) aufweisen, und können entweder die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten an einen Server senden, der die tatsächlichen Trajektorien der Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten bezüglich einer Trajektorie (z. B. einer Kurve in einem beliebigen Referenzrahmen), Landmarkendaten und eine Fahrspurzuweisung entlang des Fahrwegs an den Server 1230 senden. Verschiedene Fahrzeuge, die auf mehreren Fahrten auf demselben Straßensegment fahren, können unterschiedliche Trajektorien haben. Der Server 1230 kann Routen oder Trajektorien, die einer jeweiligen Fahrspur zugeordnet sind, aus den Trajektorien identifizieren, die von Fahrzeugen durch einen Clustering-Prozess empfangen werden.
  • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind, zum Bestimmen einer Zieltrajektorie für das gemeinsame Straßensegment (z. B. das Straßensegment 1200). Die Zieltrajektorie oder eine Vielzahl von Zieltrajektorien, die aus dem Clustering-Prozess bestimmt werden, können in dem Straßennavigationsmodell des autonomen Fahrzeugs oder der spärlichen Karte 800 enthalten sein. In einigen Ausführungsformen können Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die entlang des Straßensegments 1200 fahren, eine Vielzahl von Trajektorien 2200 an den Server 1230 senden. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Landmarken-, Straßengeometrie- und Fahrzeugbewegungsinformationen erzeugen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das Straßennavigationsmodell des autonomen Fahrzeugs zu erzeugen, kann der Server 1230 die Fahrzeugtrajektorien 1600 in eine Vielzahl von Clustern 2205, 2210, 2215, 2220, 2225 und 2230 clustern, wie in 22 gezeigt wird.
  • Das Clustern kann unter Verwendung verschiedener Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf den absoluten Kurs entlang des Straßensegments 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 unter Verwendung von Koppelnavigation erhalten werden. Koppelnavigation kann, wie ein Fachmann verstehen würde, verwendet werden, um die aktuelle Position und damit den Kurs der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 zu bestimmen, indem eine zuvor bestimmte Position, geschätzte Geschwindigkeit usw. verwendet wird. Trajektorien, die nach dem absolutem Kurs geclustert sind, können zum Identifizieren von Routen entlang der Straßen nützlich sein.
  • In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf eine Fahrspurzuweisung (z. B. derselben Fahrspur vor und nach einer Kreuzung) entlang der Fahrt auf dem Straßensegment 1200 ähnlich sein. Trajektorien, die nach der Fahrspurzuweisung geclustert sind, können zum Identifizieren von Fahrspuren entlang der Fahrbahnen nützlich sein. In einigen Ausführungsformen können beide Kriterien (z. B. absoluter Kurs und Fahrspurzuweisung) zum Clustern verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine dem spezifischen Cluster zugeordnete Zieltrajektorie zu erhalten. Beispielsweise können die Trajektorien von mehreren Fahrten, die demselben Fahrspurcluster zugeordnet sind, gemittelt werden. Die gemittelte Trajektorie kann eine einer bestimmten Fahrspur zugeordnete Zieltrajektorie sein. Um einen Cluster von Trajektorien zu mitteln, kann der Server 1230 einen Referenzrahmen einer beliebigen Trajektorie C0 auswählen. Für alle anderen Trajektorien (C1, ..., Cn) kann der Server 1230 eine starre Transformation finden, die Ci auf CO abbildet, wobei i = 1, 2, ..., n ist, wobei n eine positive ganze Zahl ist, die der Gesamtzahl von in dem Cluster enthaltenen Trajektorien entspricht. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im CO-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Landmarken eine Bogenlängenanpassung zwischen verschiedenen Fahrten definieren, die zum Ausrichten von Trajektorien mit Fahrspuren verwendet werden kann. In einigen Ausführungsformen können Fahrspurmarkierungen vor und nach einer Kreuzung zum Ausrichten von Trajektorien an Fahrspuren verwendet werden.
  • Um Fahrspuren aus den Trajektorien zusammenzustellen, kann der Server 1230 einen Referenzrahmen einer beliebigen Fahrspur auswählen. Der Server 1230 kann dem ausgewählten Referenzrahmen teilweise überlappende Fahrspuren zuordnen. Der Server 1230 kann mit der Kartierung fortfahren, bis sich alle Fahrspuren in demselben Referenzrahmen befinden. Nebeneinander liegende Fahrspuren können so ausgerichtet werden, als wären die gleiche Fahrspur, und später seitlich verschoben werden.
  • Entlang des Straßensegments erkannte Landmarken können dem gemeinsamen Referenzrahmen zugeordnet werden, zuerst auf Fahrspurebene, dann auf Kreuzungsebene. Dieselben Landmarken können beispielsweise von mehreren Fahrzeugen bei mehreren Fahrten mehrmals erkannt werden. Die Daten zu den gleichen Landmarken, die in unterschiedlichen Fahrten empfangen wurden, können sich geringfügig unterscheiden. Solche Daten können gemittelt und auf denselben Referenzrahmen, wie etwa den C0-Referenzrahmen, abgebildet werden. Zusätzlich oder alternativ kann die Varianz der Daten derselben Landmarke, die in mehreren Fahrten empfangen wurde, berechnet werden.
  • In einigen Ausführungsformen kann jede Fahrspur des Straßensegments 120 einer Zieltrajektorie und bestimmten Landmarken zugeordnet werden. Die Zieltrajektorie oder eine Vielzahl solcher Zieltrajektorien können in dem Straßennavigationsmodell des autonomen Fahrzeugs enthalten sein, das später von anderen autonomen Fahrzeugen verwendet werden kann, die entlang des gleichen Straßenabschnitts 1200 fahren. Landmarken, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge entlang des Straßensegments 1200 fahren, können in Zuordnung zu der Zieltrajektorie aufgezeichnet werden. Die Daten der Zieltrajektorien und Landmarken können kontinuierlich oder periodisch mit neuen Daten aktualisiert werden, die von anderen Fahrzeugen in nachfolgenden Fahrten empfangen werden.
  • Zur Lokalisierung eines autonomen Fahrzeugs können die offenbarten Systeme und Verfahren einen erweiterten Kalman-Filter verwenden. Der Ort des Fahrzeugs kann basierend auf dreidimensionalen Positionsdaten und/oder dreidimensionalen Orientierungsdaten, einer Vorhersage des zukünftigen Orts vor dem aktuellen Ort des Fahrzeugs durch Integration der Eigenbewegung bestimmt werden. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtungen von Landmarken korrigiert oder angepasst werden. Wenn das Fahrzeug beispielsweise eine Landmarke in einem von der Kamera aufgenommenen Bild erkennt, kann die Landmarke mit einer bekannten Landmarke verglichen werden, die in dem Straßenmodell oder einer spärlichen Karte 800 gespeichert ist. Der bekannte Landmarke kann einen bekannten Ort (z. B. GPS-Daten) entlang einer Zieltrajektorie haben, die in dem Straßenmodell und/oder in der spärlichen Karte 800 gespeichert ist. Basierend auf der aktuellen Geschwindigkeit und Bildern der Landmarke kann der Abstand von dem Fahrzeug zu der Landmarke geschätzt werden. Die Position des Fahrzeugs entlang einer Zieltrajektorie kann basierend auf dem Abstand zu der Landmarke und der bekannten Position der Landmarke (die in dem Straßenmodell oder der spärlichen Karte 800 gespeichert ist) angepasst werden. Es kann davon ausgegangen werden, dass die Positions-/Ortsdaten der Landmarke (z. B. Mittelwerte von mehreren Fahrten), die in dem Straßenmodell und/oder der spärlichen Karte 800 gespeichert sind, genau sind.
  • In einigen Ausführungsformen kann das offenbarte System ein Untersystem mit geschlossener Schleife bilden, in dem die Schätzung des Orts mit sechs Freiheitsgraden des Fahrzeugs (z. B. dreidimensionale Positionsdaten plus dreidimensionale Orientierungsdaten) zum Navigieren (z. B. Lenken des Lenkrads) des autonomen Fahrzeugs verwendet werden kann, um einen gewünschten Punkt zu erreichen (z. B. 1,3 Sekunden Vorsprung zu dem Gespeicherten). Die von der Lenkung und der tatsächlichen Navigation gemessenen Daten können wiederum verwendet werden, um den Ort mit sechs Freiheitsgraden zu schätzen.
  • In einigen Ausführungsformen können Masten entlang einer Straße, wie etwa Laternenpfähle und Strom- oder Kabelmasten, als Landmarken zum Lokalisieren der Fahrzeuge verwendet werden. Auch andere Landmarken, wie etwa Verkehrszeichen, Ampeln, Straßenpfeile, Haltelinien, sowie statische Merkmale oder Signaturen eines Objekts entlang des Straßensegments, können als Landmarken zur Lokalisierung des Fahrzeugs verwendet werden. Wenn Masten zur Lokalisierung verwendet werden, kann die x-Beobachtung der Masten (d. h. der Blickwinkel von dem Fahrzeug) anstelle der y-Beobachtung (d. h. der Abstand zum Mast) verwendet werden, da die Unterseiten der Masten verdeckt sein können und sich manchmal nicht in der Straßenebene befinden.
  • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für eine autonome Navigation unter Verwendung einer durch Crowd-Sourcing bereitgestellten spärlichen Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als Fahrzeug 1205 bezeichnet. Das in 23 gezeigte Fahrzeug kann ein beliebiges anderes hierin offenbartes Fahrzeug sein, einschließlich beispielsweise der Fahrzeuge 1210, 1215, 1220 und 1225, sowie das in anderen Ausführungsformen gezeigte Fahrzeugs 200. Wie in 12 gezeigt wird, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bildaufnahmevorrichtung 122 (z. B. Kamera 122) aufweisen. Das Fahrzeug 1205 kann ein Navigationssystem 2300 aufweisen, das dazu ausgelegt ist, eine Navigationsführung für das Fahrzeug 1205 bereitzustellen, um auf einer Straße (z. B. dem Straßensegment 1200) zu fahren. Das Fahrzeug 1205 kann auch andere Sensoren aufweisen, wie etwa einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325. Der Geschwindigkeitssensor 2320 kann dazu ausgelegt sein, die Geschwindigkeit des Fahrzeugs 1205 zu erkennen. Der Beschleunigungsmesser 2325 kann dazu ausgelegt sein, eine Beschleunigung oder Verzögerung des Fahrzeugs 1205 zu erkennen. Das in 23 gezeigte Fahrzeug 1205 kann ein autonomes Fahrzeug sein, und das Navigationssystem 2300 kann verwendet werden, um eine Navigationsführung für autonomes Fahren bereitzustellen. Alternativ kann das Fahrzeug 1205 auch ein nicht autonomes, von einem Menschen gesteuertes Fahrzeug sein, und das Navigationssystem 2300 kann immer noch zum Bereitstellen einer Navigationsführung verwendet werden.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 aufweisen, die dazu ausgelegt ist, mit dem Server 1230 über den Kommunikationspfad 1235 zu kommunizieren. Das Navigationssystem 2300 kann auch eine GPS-Einheit 2310 aufweisen, die dazu ausgelegt ist, GPS-Signale zu empfangen und zu verarbeiten. Das Navigationssystem 2300 kann ferner mindestens einen Prozessor 2315 aufweisen, der dazu ausgelegt ist, Daten zu verarbeiten, wie etwa GPS-Signale, Kartendaten von einer spärlichen Karte 800 (die auf einer an Bord des Fahrzeugs 1205 bereitgestellten Speichervorrichtung gespeichert sind und/oder von dem Server 1230 empfangen werden können), eine von einem Straßenprofilsensor 2330 erfasste Straßengeometrie, von der Kamera 122 aufgenommene und/oder ein von dem Server 1230 empfangenes Straßennavigationsmodell des autonomen Fahrzeugs. Der Straßenprofilsensor 2330 kann unterschiedliche Typen von Vorrichtungen zum Messen unterschiedlicher Typen von Straßenprofilen aufweisen, wie etwa eine Straßenoberflächenrauhigkeit, Straßenbreite, Straßenhöhe, Straßenkrümmung usw. Beispielsweise kann der Straßenprofilsensor 2330 eine Vorrichtung aufweisen, die die Bewegung einer Aufhängung des Fahrzeugs 2305 misst, um das Straßenunebenheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren aufweisen, um den Abstand von dem Fahrzeug 1205 zu Straßenrändern (z. B. eine Barriere an den Straßenrändern) zu messen, wodurch die Breite der Straße gemessen wird. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung aufweisen, die dazu ausgelegt ist, die Höhenunterschiede der Straße zu messen. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung aufweisen, die dazu ausgelegt ist, die Straßenkrümmung zu messen. Beispielsweise kann eine Kamera (z. B. die Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder der Straße aufzunehmen, die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu erkennen.
  • Der mindestens eine Prozessor 2315 kann dazu programmiert sein, mindestens ein dem Fahrzeug 1205 zugeordnetes Umgebungsbild von der Kamera 122 zu empfangen. Der mindestens eine Prozessor 2315 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen in Bezug auf das Fahrzeug 1205 zu bestimmen. Die Navigationsinformationen können eine Trajektorie aufweisen, die sich auf die Fahrt des Fahrzeugs 1205 entlang des Straßensegments 1200 bezieht. Der mindestens eine Prozessor 2315 kann die Trajektorie basierend auf Bewegungen der Kamera 122 (und damit des Fahrzeugs) bestimmen, wie etwa eine dreidimensionale Translation und dreidimensionale Drehbewegungen. In einigen Ausführungsformen kann der mindestens eine Prozessor 2315 die Translations- und Drehbewegungen der Kamera 122 basierend auf einer Analyse einer Vielzahl von Bildern bestimmen, die von der Kamera 122 erfasst wurden. In einigen Ausführungsformen können die Navigationsinformationen Fahrspurzuweisungsinformationen aufweisen (z. B. auf welcher Fahrspur das Fahrzeug 1205 entlang des Straßensegments 1200 fährt). Die von dem Fahrzeug 1205 an den Server 1230 gesendeten Navigationsinformationen können von dem Server 1230 verwendet werden, um ein Straßennavigationsmodell des autonomen Fahrzeugs zu erzeugen und/oder zu aktualisieren, das von dem Server 1230 an das Fahrzeug 1205 zurückgesendet werden kann, um eine autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann auch dazu programmiert sein, die Navigationsinformationen von dem Fahrzeug 1205 an den Server 1230 zu senden. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen an den Server 1230 gesendet werden. Die Straßenortsinformationen können das von der GPS-Einheit 2310 empfangene GPS-Signal, Landmarkeninformationen, eine Straßengeometrie, Fahrspurinformationen usw. aufweisen. Der mindestens eine Prozessor 2315 kann von dem Server 1230 das Straßennavigationsmodell des autonomen Fahrzeugs empfangen oder ein Teil des Modells. Das von dem Server 1230 empfangene Straßennavigationsmodell des autonomen Fahrzeugs kann mindestens eine Aktualisierung basierend auf den von dem Fahrzeug 1205 an den Server 1230 gesendeten Navigationsinformationen aufweisen. Der Teil des Modells, der von dem Server 1230 an das Fahrzeug 1205 gesendet wird, kann einen aktualisierten Teil des Modells aufweisen. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z. B. Lenken, wie etwa Abbiegen, Bremsen, Beschleunigen, Überholen eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Straßennavigationsmodell des autonomen Fahrzeugs oder dem aktualisierten Teil des Modells bewirken.
  • Der mindestens eine Prozessor 2315 kann dazu ausgelegt sein, mit verschiedenen Sensoren und Komponenten zu kommunizieren, die in dem Fahrzeug 1205 enthalten sind, die eine Kommunikationseinheit 1705, eine GPS-Einheit 2315, eine Kamera 122, einen Geschwindigkeitssensor 2320, einen Beschleunigungsmesser 2325 und einen Straßenprofilsensor 2330 aufweisen können. Der mindestens eine Prozessor 2315 kann Informationen oder Daten von verschiedenen Sensoren und Komponenten sammeln, und die Informationen oder Daten über die Kommunikationseinheit 2305 an den Server 1230 senden. Alternativ oder zusätzlich können verschiedene Sensoren oder Komponenten des Fahrzeugs 1205 auch mit dem Server 1230 kommunizieren, und von den Sensoren oder Komponenten gesammelte Daten oder Informationen an den Server 1230 senden.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren, und können Navigationsinformationen untereinander teilen, so dass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Crowd-Sourcing, z. B. basierend auf Informationen, die von anderen Fahrzeugen geteilt werden, erzeugen kann. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen untereinander teilen, und jedes Fahrzeug kann sein eigenes im Fahrzeug bereitgestelltes Straßennavigationsmodell des autonomen Fahrzeugs aktualisieren. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z. B. das Fahrzeug 1205) als ein Hub-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs (z. B. das Fahrzeug 1205) kann einige oder alle der von dem Server 1230 ausgeführten Funktionen ausführen. Beispielsweise kann der mindestens eine Prozessor 2315 des Hub-Fahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell des autonomen Fahrzeugs oder eine Aktualisierung des Modells basierend auf der von anderen Fahrzeugen empfangenen geteilten Informationen erzeugen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell des autonomen Fahrzeugs oder die Aktualisierung des Modells an andere Fahrzeuge senden, um eine autonome Navigationsführung bereitzustellen.
  • Navigation basierend auf spärlichen Karten
  • Wie zuvor erläutert, kann das Straßennavigationsmodell des autonomen Fahrzeugs, das eine spärliche Karte 800 aufweist, eine Vielzahl von abgebildeten Fahrspurmarkierungen und eine Vielzahl von abgebildeten Objekten/Merkmale, die einem Straßensegment zugeordnet sind, aufweisen. Wie unten ausführlicher erläutert wird, können diese abgebildeten Fahrspurmarkierungen, Objekte und Merkmale verwendet werden, wenn das autonome Fahrzeug navigiert. Beispielsweise können in einigen Ausführungsformen die kartierten Objekte und Merkmale verwendet werden, um ein Host-Fahrzeug bezüglich der Karte (z. B. bezüglich einer kartierten Zieltrajektorie) zu lokalisieren. Die abgebildeten Fahrspurmarkierungen können (z. B. zur Kontrolle) verwendet werden, um eine laterale Position und/oder Orientierung bezüglich einer geplanten oder Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung anzupassen, um einer Richtung einer Zieltrajektorie an der bestimmten Position zu entsprechen.
  • Das Fahrzeug 200 kann dazu ausgelegt sein, Fahrspurmarkierungen in einem gegebenen Straßensegment zu erkennen. Der Straßensegment kann beliebige Markierungen auf einer Straße zum Leiten des Fahrzeugverkehrs auf einer Fahrbahn aufweisen. Beispielsweise können die Fahrspurmarkierungen durchgehende oder gestrichelte Linien sein, die den Rand einer Fahrspur markieren. Die Fahrspurmarkierungen können auch Doppellinien aufweisen, wie etwa doppelte durchgehende Linien, doppelte gestrichelte Linien, oder eine Kombination aus durchgehenden und gestrichelten Linien, die beispielsweise anzeigen, ob das Überholen auf einer benachbarten Fahrspur erlaubt ist. Die Fahrspurmarkierungen können auch Autobahneinfahrts- und -ausfahrtsmarkierungen aufweisen, die beispielsweise eine Verzögerungsspur für eine Ausfahrtsrampe oder gepunktete Linien angeben, die angeben, dass eine Fahrspur nur zum Abbiegen dient oder dass die Fahrspur endet. Die Markierungen können ferner einen Baustellenbereich, eine vorübergehende Fahrspurverschiebung, einen Fahrweg durch eine Kreuzung, einen Mittelstreifen, eine Sonderfahrspur (z. B. eine Fahrradspur, eine HOV-Spur, usw.), oder verschiedenartige andere Markierungen (z. B. einen Fußgängerüberweg, eine Geschwindigkeitsschwelle, einen Bahnübergang, eine Haltelinie usw.) angeben.
  • Das Fahrzeug 200 kann Kameras verwenden, wie etwa die Bildaufnahmevorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 enthalten sind, um Bilder der umgebenden Fahrspurmarkierungen aufzunehmen. Das Fahrzeug 200 kann die Bilder analysieren, um den Fahrspurmarkierungen zugeordnete Punktpositionen basierend auf Merkmalen zu erkennen, die in einem oder mehreren der aufgenommenen Bildern identifiziert wurden. Diese Punktpositionen können auf einen Server hochgeladen werden, um die Fahrspurmarkierungen in der spärlichen Karte 800 darzustellen. Je nach Position und Sichtfeld der Kamera können Fahrspurmarkierungen für beide Fahrzeugseiten gleichzeitig aus einem einzigen Bild erkannt werden. In anderen Ausführungsformen können unterschiedliche Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs aufzunehmen. Anstatt tatsächliche Bilder der Fahrspurmarkierungen hochzuladen, können die Markierungen als Spline oder eine Folge von Punkten in der spärlichen Karte 800 gespeichert werden, wodurch die Größe der spärlichen Karte 800 und/oder der Daten, die von dem Fahrzeug rechnerfern hochgeladen werden müssen, verringert wird.
  • Die 24A-24D veranschaulichen beispielhafte Punktpositionen, die von dem Fahrzeug 200 erkannt werden können, um bestimmte Fahrspurmarkierungen darzustellen. Ähnlich wie bei den oben beschriebenen Landmarken kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder Software verwenden, um Punktpositionen in einem aufgenommenen Bild zu identifizieren. Beispielsweise kann das Fahrzeug 200 eine Folge von Kantenpunkten, Eckpunkten oder verschiedenen anderen Punktpositionen erkennen, die einer bestimmten Fahrspurmarkierung zugeordnet sind. 24A zeigt eine durchgehende Fahrspurmarkierung 2410, die von dem Fahrzeug 200 erkannt werden kann. Die Fahrspurmarkierung 2410 kann den Außenrand einer Fahrbahn darstellen, die durch eine durchgehende weiße Linie dargestellt wird. Wie in 24A gezeigt wird, kann das Fahrzeug 200 dazu ausgelegt sein, eine Vielzahl von Kantenlokalisierungspunkten 2411 entlang der Fahrspurmarkierung zu erkennen. Lokalisierungspunkte 2411 können gesammelt werden, um die Fahrspurmarkierung in beliebigen Intervallen darzustellen, die ausreichen, um eine abgebildete Fahrspurmarkierung in der spärlichen Karte zu erzeugen. Beispielsweise kann die Fahrspurmarkierung durch einen Punkt pro Meter der erkannten Kante, einen Punkt pro fünf Meter der erkannten Kante, oder in anderen geeigneten Abständen dargestellt werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren bestimmt werden, anstatt in festgelegten Intervallen, wie beispielsweise basierend auf Punkten, an denen das Fahrzeug 200 eine höchste Vertrauenswürdigkeit der Position der erkannten Punkte hat. Obwohl 24A Kantenlokalisierungspunkte an einer Innenkante der Fahrspurmarkierung 2410 zeigt, können Punkte an der Außenkante der Linie oder entlang beider Kanten gesammelt werden. Ferner können, während in 24A eine einfache Linie gezeigt ist, ähnliche Kantenpunkte für eine doppelt durchgezogene Linie erkannt werden. Beispielsweise können Punkte 2411 entlang einer Kante einer oder beider der durchgehenden Linien erkannt werden.
  • Das Fahrzeug 200 kann Fahrspurmarkierungen auch in Abhängigkeit von dem Typ oder der Form der Fahrspurmarkierung unterschiedlich darstellen. 24B zeigt eine beispielhafte gestrichelte Fahrspurmarkierung 2420, die von dem Fahrzeug 200 erkannt werden kann. Anstatt Kantenpunkte zu identifizieren, wie in 24A, kann das Fahrzeug eine Folge von Eckpunkten 2421 erkennen, die Ecken der Fahrspurstrichlinen darstellen, um die vollständige Begrenzung des Strichs zu definieren. Während 24B zeigt, dass jede Ecke einer bestimmten Strichmarkierung lokalisiert ist, kann das Fahrzeug 200 eine Teilmenge der in der Figur gezeigten Punkte erkennen oder hochladen. Beispielsweise kann das Fahrzeug 200 die Vorderkante oder Vorderecke einer gegebenen Strichmarkierung erkennen, oder kann die zwei Eckpunkte erkennen, die dem Inneren der Fahrspur am nächsten sind. Ferner kann möglicherweise nicht jede Strichmarkierung aufgenommen werden, beispielsweise kann das Fahrzeug 200 Punkte aufnehmen und/oder aufzeichnen, die eine Stichprobe von Strichmarkierungen (z. B. jede zweite, jede dritte, jede fünfte usw.) oder Strichmarkierungen in einem vordefinierten Abstand darstellen (z. B. jeden Meter, alle fünf Meter, alle 10 Meter usw.). Eckpunkte können auch für ähnliche Fahrspurmarkierungen erkannt werden, wie etwa Markierungen, die zeigen, dass eine Fahrspur für eine Ausfahrt ist, dass eine bestimmte Fahrspur endet, oder verschiedene andere Fahrspurmarkierungen, die erkennbare Eckpunkte aufweisen können. Eckpunkte können auch für Fahrspurmarkierungen erkannt werden, die aus doppelt gestrichelten Linien oder einer Kombination aus durchgehenden und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die auf den Server hochgeladenen Punkte zum Erzeugen der abgebildeten Fahrspurmarkierungen andere Punkte als die erkannten Kantenpunkte oder Eckpunkte darstellen. 24C veranschaulicht eine Folge von Punkten, die eine Mittellinie einer gegebenen Fahrspurmarkierung darstellen können. Beispielsweise kann die durchgehende Fahrspur 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Fahrspurmarkierung dargestellt werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu ausgelegt sein, diese Mittelpunkte unter Verwendung verschiedener Bilderkennungstechniken zu erkennen, wie etwa durch konvolutionelle neuronale Netze (CNN), eine skaleninvariante Merkmalstransformation (SIFT), ein Histogramm von orientierten Gradienten- (HOG) Merkmalen, oder andere Techniken. Alternativ kann das Fahrzeug 200 andere Punkte erkennen, wie etwa die in 24A gezeigten Kantenpunkte 2411, und kann Mittellinienpunkte 2441 berechnen, beispielsweise durch Erkennen von Punkten entlang jeder Kante und Bestimmen eines Mittelpunkts zwischen den Kantenpunkten. In ähnlicher Weise kann die gestrichelte Fahrspurmarkierung 2420 durch Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Fahrspurmarkierung dargestellt werden. Die Mittellinienpunkte können sich an der Kante eines Strichs befinden, wie in 24C gezeigt wird, oder an verschiedenen anderen Stellen entlang der Mittellinie. Beispielsweise kann jeder Strich durch einen einzelnen Punkt in der geometrischen Mitte des Strichs dargestellt werden. Die Punkte können auch um ein vorbestimmtes Intervall entlang der Mittellinie beabstandet sein (z. B. alle Meter, 5 Meter, 10 Meter usw.). Die Mittellinienpunkte 2451 können direkt von dem Fahrzeug 200 erkannt werden, oder können basierend auf anderen erkannten Referenzpunkten, wie etwa Eckpunkten 2421, wie in 24B gezeigt, berechnet werden. Eine Mittellinie kann auch verwendet werden, um andere Typen von Fahrspurmarkierungen, wie etwa eine Doppellinie, darzustellen, unter Verwendung ähnlicher Techniken wie oben.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale darstellen, wie etwa einen Scheitelpunkt zwischen zwei sich kreuzenden Fahrspurmarkierungen. 24D zeigt beispielhafte Punkte, die einen Schnittpunkt zwischen zwei Fahrspurmarkierungen 2460 und 2465 darstellen. Das Fahrzeug 200 kann einen Scheitelpunkt 2466 berechnen, der einen Schnittpunkt zwischen den zwei Fahrspurmarkierungen darstellt. Beispielsweise kann eine der Fahrspurmarkierungen 2460 oder 2465 einen Bahnübergang oder einen anderen Kreuzungsbereich in dem Straßensegment darstellen. Während die Fahrspurmarkierungen 2460 und 2465 als einander senkrecht kreuzend gezeigt sind, können verschiedene andere Konfigurationen erkannt werden. Beispielsweise können sich die Fahrspurmarkierungen 2460 und 2465 in anderen Winkeln kreuzen oder eine oder beide der Fahrspurmarkierungen können an dem Scheitelpunkt 2466 enden. Ähnliche Techniken können auch für Kreuzungen zwischen gestrichelten oder anderen Typen von Fahrspurmarkierungen angewendet werden. Zusätzlich zum Scheitelpunkt 2466 können auch verschiedene andere Punkte 2467 erkannt werden, die weitere Informationen über die Ausrichtung der Fahrspurmarkierungen 2460 und 2465 bereitstellen.
  • Das Fahrzeug 200 kann jedem erkannten Punkt der Fahrspurmarkierung reale Koordinaten zuordnen. Beispielsweise können Ortskennungen erzeugt werden, die Koordinaten für jeden Punkt aufweisen, um sie auf einen Server hochzuladen, um die Fahrspurmarkierung zu kartieren. Die Ortskennungen können ferner andere identifizierende Informationen über die Punkte aufweisen, die aufweisen, ob der Punkt einen Eckpunkt, einen Kantenpunkt, einen Mittelpunkt usw. darstellt. Das Fahrzeug 200 kann daher dazu ausgelegt sein, eine reale Position jedes Punktes basierend auf einer Analyse der Bilder zu bestimmen. Beispielsweise kann das Fahrzeug 200 andere Merkmale in dem Bild erkennen, wie etwa die verschiedenen oben beschriebenen Landmarken, um die reale Position der Fahrspurmarkierungen zu lokalisieren. Dies kann ein Bestimmen der Position der Fahrspurmarkierungen in dem Bild bezüglich der erkannten Landmarke oder ein Bestimmen der Position des Fahrzeugs basierend auf der erkannten Landmarke, und dann ein Bestimmen eines Abstands von dem Fahrzeug (oder der Zieltrajektorie des Fahrzeugs) zu der Fahrspurmarkierung beinhalten. Wenn kein Landmarke verfügbar ist, kann die Position der Fahrspurmarkierungspunkte bezüglich einer Position des Fahrzeugs bestimmt werden, die basierend auf Koppelnavigation bestimmt wird. Die in den Ortskennungen enthaltenen realen Koordinaten können als absolute Koordinaten (z. B. Breiten-/Längen-Koordinaten) dargestellt werden, oder können relativ zu anderen Merkmalen sein, wie etwa basierend auf einer longitudinalen Position entlang einer Trajektorie und einem lateralen Abstand von der Zieltrajektorie. Die Ortskennungen können dann auf einen Server hochgeladen werden, um die abgebildeten Fahrspurmarkierungen in dem Navigationsmodell (wie etwa der spärlichen Karte 800) zu erzeugen. In einigen Ausführungsformen kann der Server einen Spline erstellen, der die Fahrspurmarkierungen eines Straßensegments darstellt. Alternativ kann das Fahrzeug 200 den Spline erzeugen und auf den Server hochladen, um in dem Navigationsmodell aufgezeichnet zu werden.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine spärliche Karte für ein entsprechendes Straßensegment, das abgebildete Fahrspurmarkierungen aufweist. Die spärliche Karte kann eine Zieltrajektorie 2475 aufweisen, der ein Fahrzeug entlang eines Straßensegments folgen soll. Wie oben beschrieben, kann die Zieltrajektorie 2475 einen idealen Weg darstellen, den ein Fahrzeug nehmen soll, während es das entsprechende Straßensegment befährt, oder sie kann sich an anderer Stelle auf der Straße (z. B. einer Mittellinie der Straße usw.) befinden. Die Zieltrajektorie 2475 kann in den verschiedenen oben beschriebenen Verfahren berechnet werden, beispielsweise basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die dasselbe Straßensegment durchqueren.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Fahrzeugtypen und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleichermaßen erzeugt werden. In anderen Ausführungsformen können jedoch auch verschiedene andere Faktoren oder Variablen beim Erzeugen der Zieltrajektorie berücksichtigt werden. Für unterschiedliche Fahrzeugtypen (z. B. ein privater Pkw, ein leichter Lastkraftwagen, und ein Mehrachsanhänger) kann eine unterschiedliche Zieltrajektorie erzeugt werden. Beispielsweise kann für einen kleinen Pkw eine Zieltrajektorie mit relativ engeren Wenderadien erzeugt werden als für einen größeren Sattelschlepper. In einigen Ausführungsformen können auch Straßen-, Fahrzeug- und Umgebungsbedingungen berücksichtigt werden. Beispielsweise kann eine unterschiedliche Zieltrajektorie für unterschiedliche Straßenbedingungen (z. B. nass, verschneit, vereist, trocken usw.), Fahrzeugbedingungen (z. B. Reifenzustand oder geschätzter Reifenzustand, Bremszustand oder geschätzter Bremszustand, Betrag von verbleibendem Kraftstoff usw.) oder Umweltfaktoren (z. B. Tageszeit, Sichtweite, Wetter usw.) erzeugt werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßensegments (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Kurven, Steigung usw.) abhängig sein. In einigen Ausführungsformen können auch verschiedene Benutzereinstellungen, wie etwa ein eingestellter Fahrmodus (z. B. gewünschte Fahraggressivität, Sparmodus usw.), verwendet werden, um die Zieltrajektorie zu bestimmen.
  • Die spärliche Karte kann auch abgebildete Fahrspurmarkierungen 2470 und 2480 aufweisen, die Fahrspurmarkierungen entlang des Straßensegments darstellen. Die abgebildeten Fahrspurmarkierungen können durch eine Vielzahl von Ortskennungen 2471 und 2481 dargestellt werden. Wie oben beschrieben, können die Ortskennungen Orte von Punkten in realen Koordinaten aufweisen, die einer erkannten Fahrspurmarkierung zugeordnet sind. Ähnlich der Zieltrajektorie in dem Modell können die Fahrspurmarkierungen auch Höhendaten aufweisen und können als Kurve im dreidimensionalen Raum dargestellt werden. Beispielsweise kann die Kurve ein Spline sein, der dreidimensionale Polynome geeigneter Ordnung verbindet. Die Kurve kann basierend auf den Ortskennungen berechnet werden. Die abgebildeten Fahrspurmarkierungen können auch andere Informationen oder Metadaten über die Fahrspurmarkierung aufweisen, wie z. B. eine Kennung des Typs der Fahrspurmarkierung (z. B. zwischen zwei Fahrspuren mit derselben Fahrtrichtung, zwischen zwei Fahrspuren mit entgegengesetzter Fahrtrichtung, einen Fahrbahnrand, usw.) und/oder andere Merkmale der Fahrspurmarkierung (z. B. durchgehend, gestrichelte, einfache Linie, doppelte Linie, gelb, weiß, usw.). In einigen Ausführungsformen können die abgebildeten Fahrspurmarkierungen innerhalb des Modells kontinuierlich aktualisiert werden, beispielsweise unter Verwendung von Crowd-Sourcing-Techniken. Dasselbe Fahrzeug kann Ortskennungen während mehrerer Gelegenheiten des Befahrens desselben Straßensegments hochladen, oder Daten können aus einer Vielzahl von Fahrzeugen (wie etwa 1205, 1210, 1215, 1220 und 1225) ausgewählt werden, die das Straßensegment zu unterschiedlichen Zeiten befahren. Die spärliche Karte 800 kann dann basierend auf nachfolgenden Ortskennungen, die von den Fahrzeugen empfangen und im System gespeichert werden, aktualisiert oder verfeinert werden. Wenn die abgebildeten Fahrspurmarkierungen aktualisiert und verfeinert werden, können das aktualisierte Straßennavigationsmodell und/oder die spärliche Karte an eine Vielzahl von autonomen Fahrzeugen verteilt werden.
  • Das Erzeugen der abgebildeten Fahrspurmarkierungen in der spärlichen Karte kann auch ein Erkennen und/oder Abschwächen von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Fahrspurmarkierungen selbst aufweisen. 24F zeigt eine beispielhafte Anomalie 2495, die dem Erkennen einer Fahrspurmarkierung 2490 zugeordnet ist. Die Anomalie 2495 kann in dem von dem Fahrzeug 200 aufgenommenen Bild auftreten, beispielsweise durch ein Objekt, das die Sicht der Kamera auf die Fahrspurmarkierung behindert, Schmutz auf der Linse usw. In einigen Fällen kann die Anomalie auf die Fahrspurmarkierung selbst zurückzuführen sein, die beschädigt oder abgenutzt oder teilweise bedeckt sein kann, beispielsweise durch Schmutz, Schutt, Wasser, Schnee oder andere Materialien auf der Straße. Die Anomalie 2495 kann dazu führen, dass ein fehlerhafter Punkt 2491 vom Fahrzeug 200 erkannt wird. Die spärliche Karte 800 kann die abgebildete Fahrspurmarkierung korrekt bereitstellen und den Fehler ausschließen. In einigen Ausführungsformen kann das Fahrzeug 200 einen fehlerhaften Punkt 249] erkennen, beispielsweise durch Erkennen einer Anomalie 2495 in dem Bild oder durch Identifizieren des Fehlers basierend auf erkannten Fahrspurmarkierungspunkten vor und nach der Anomalie. Basierend auf dem Erkennen der Anomalie kann das Fahrzeug den Punkt 2491 auslassen, oder kann ihn so anpassen, dass er mit anderen erkannten Punkten übereinstimmt. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, beispielsweise, indem bestimmt wird, dass der Punkt außerhalb eines erwarteten Schwellenwerts liegt, basierend auf anderen Punkten, die während derselben Fahrt hochgeladen wurden, oder basierend auf einer Aggregation von Daten von früheren Fahrten entlang des gleichen Straßensegments.
  • Die abgebildeten Fahrspurmarkierungen in dem Navigationsmodell und/oder der spärlichen Karte können auch für die Navigation durch ein autonomes Fahrzeug verwendet werden, das die entsprechende Fahrbahn durchquert. Beispielsweise kann ein Fahrzeug, das entlang einer Zieltrajektorie navigiert, periodisch die abgebildeten Fahrspurmarkierungen in der spärlichen Karte verwenden, um sich selbst an der Zieltrajektorie auszurichten. Wie oben erwähnt, kann das Fahrzeug zwischen Landmarken basierend auf einer Koppelnavigation navigieren, bei der das Fahrzeug Sensoren verwendet, um seine Eigenbewegung zu bestimmen und seine Position relativ zu der Zieltrajektorie zu schätzen. Im Laufe der Zeit können sich Fehler ansammeln, und die Positionsbestimmungen des Fahrzeugs bezüglich der Trajektorie können immer weniger genau werden. Dementsprechend kann das Fahrzeug Fahrspurmarkierungen verwenden, die in der spärlichen Karte 800 (und ihren bekannten Orten) auftreten, um die durch Koppelnavigation induzierten Fehler bei der Positionsbestimmung zu verringern. Auf diese Weise können die identifizierten Fahrspurmarkierungen, die in der spärlichen Karte 800 enthalten sind, als Navigationsanker dienen, aus denen eine genaue Position des Fahrzeugs bezüglich einer Zieltrajektorie bestimmt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 der Umgebung eines Fahrzeugs, das für die Navigation basierend auf den abgebildeten Fahrspurmarkierungen verwendet werden kann. Das Bild 2500 kann beispielsweise durch das Fahrzeug 200 durch die in der Bilderfassungseinheit 120 enthaltenen Bildaufnahmevorrichtungen 122 und 124 aufgenommen werden. Das Bild 2500 kann ein Bild mindestens einer Fahrspurmarkierung 2510 aufweisen, wie 25A gezeigt wird. Das Bild 2500 kann auch eine oder mehrere Landmarken 2521 aufweisen, wie etwa ein Verkehrszeichen, das für die Navigation verwendet wird, wie oben beschrieben wurde. Einige der in 25A gezeigten Elemente, wie etwa die Elemente 2511, 2530 und 2520, die nicht in dem aufgenommenen Bild 2500 erscheinen, aber von dem Fahrzeug 200 erkannt und/oder bestimmt werden, sind als Referenz ebenfalls gezeigt.
  • Unter Verwendung der verschiedenen Techniken, die oben mit Bezug auf die 24A-D und 24F beschrieben wurden, kann ein Fahrzeug das Bild 2500 analysieren, um die Fahrspurmarkierung 2510 zu identifizieren. Verschiedene Punkte 2511 können entsprechend Merkmalen der Fahrspurmarkierung in dem Bild erkannt werden. Die Punkte 2511 können beispielsweise einer Kante der Fahrspurmarkierung, einer Ecke der Fahrspurmarkierung, einem Mittelpunkt der Fahrspurmarkierung, einem Scheitelpunkt zwischen zwei sich kreuzenden Fahrspurmarkierungen, oder verschiedenen anderen Merkmalen oder Orten entsprechen. Es kann erkannt werden, dass die Punkte 2511 einer Position von Punkten entsprechen, die in einem von einem Server empfangenen Navigationsmodell gespeichert sind. Wenn beispielsweise eine spärliche Karte empfangen wird, die Punkte aufweist, die eine Mittellinie einer abgebildeten Fahrspurmarkierung darstellen, können die Punkte 2511 auch basierend auf einer Mittellinie der Fahrspurmarkierung 2510 erkannt werden.
  • Das Fahrzeug kann auch eine longitudinale Position bestimmen, die durch das Element 2520 dargestellt wird und sich entlang einer Trajektorie lokalisiert ist. Die longitudinale Position 2520 kann aus dem Bild 2500 bestimmt werden, beispielsweise durch Erfassen der Landmarke 2521 innerhalb des Bildes 2500 und Vergleichen eines gemessenen Orts mit einer bekannten Landmarkenposition, die in dem Straßenmodell oder der spärlichen Karte 800 gespeichert ist. Die Position des Fahrzeugs entlang einer Zieltrajektorie kann dann basierend auf dem Abstand zu der Landmarke und der bekannten Position der Landmarke bestimmt werden. Die longitudinale Position 2520 kann auch aus anderen Bildern als denjenigen bestimmt werden, die verwendet werden, um die Position einer Fahrspurmarkierung zu bestimmen. Beispielsweise kann die longitudinale Position 2520 bestimmt werden, indem Landmarken in Bildern von anderen Kameras innerhalb der Bilderfassungseinheit 120, die gleichzeitig oder nahezu gleichzeitig mit dem Bild 2500 aufgenommen wurden, erkannt werden. In einigen Fällen befindet sich das Fahrzeug möglicherweise nicht in der Nähe von Landmarken oder anderen Referenzpunkten zum Bestimmen der longitudinalen Position 2520. In solchen Fällen kann das Fahrzeug basierend auf Koppelnavigation navigieren, und kann somit Sensoren verwenden, um seine Eigenbewegung zu bestimmen und eine longitudinale Position 2520 bezüglich der Trajektorie zu schätzen. Das Fahrzeug kann auch einen Abstand 2530 bestimmen, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrspurmarkierung 2510, die in den aufgenommenen Bildern beobachtet wird, darstellt. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren können bei der Bestimmung des Abstands 2530 berücksichtigt werden.
  • 25B veranschaulicht eine laterale Lokalisierungskorrektur des Fahrzeugs basierend auf den abgebildeten Fahrspurmarkierungen in einem Straßennavigationsmodell. Wie oben beschrieben wurde, kann das Fahrzeug 200 unter Verwendung eines oder mehrerer vom Fahrzeug 200 aufgenommener Bilder einen Abstand 2530 zwischen dem Fahrzeug 200 und einer Fahrspurmarkierung 2510 bestimmen. Das Fahrzeug 200 kann auch Zugriff auf ein Straßennavigationsmodell haben, wie etwa eine spärliche Karte 800, die eine abgebildete Fahrspurmarkierung 2550 und eine Zieltrajektorie 2555 aufweisen kann. Die abgebildete Fahrspurmarkierung 2550 kann unter Verwendung der oben beschriebenen Techniken modelliert werden, beispielsweise unter Verwendung von Crowd-Sourcing-Ortskennungen, die von einer Vielzahl von Fahrzeugen aufgenommen werden. Die Zieltrajektorie 2555 kann auch unter Verwendung der verschiedenen zuvor beschriebenen Techniken erzeugt werden. Das Fahrzeug 200 kann auch eine longitudinale Position 2520 entlang der Zieltrajektorie 2555 bestimmen oder schätzen, wie oben mit Bezug auf 25A beschrieben wurde. Das Fahrzeug 200 kann dann einen erwarteten Abstand 2540 basierend auf einem lateralen Abstand zwischen der Zieltrajektorie 2555 und der abgebildeten Fahrspurmarkierung 2550 entsprechend der longitudinalen Position 2520 bestimmen. Die laterale Lokalisierung des Fahrzeugs 200 kann korrigiert oder angepasst werden, indem der tatsächliche Abstand 2530, der unter Verwendung des/der aufgenommenen Bildes/Bilder gemessen wurde, mit dem erwarteten Abstand 2540 von dem Modell verglichen wird.
  • Die 25C und 25D stellen Abbildungen bereit, die einem anderen Beispiel zur Lokalisierung eines Host-Fahrzeugs während der Navigation basierend auf kartierten Landmarken/Objekten/Merkmalen in einer spärlichen Karte zugeordnet sind. 25C stellt konzeptionell eine Folge von Bildern dar, die von einem Fahrzeug aufgenommen wurden, das entlang eines Straßensegments 2560 navigiert. In diesem Beispiel weist das Straßensegment 2560 einen geraden Abschnitt einer zweispurigen geteilten Autobahn auf, die durch die Straßenränder 2561 und 2562 und die Mittelspurmarkierung 2563 abgegrenzt wird. Wie gezeigt wird, navigiert das Host-Fahrzeug entlang einer Fahrspur 2564, die einer abgebildeten Zieltrajektorie 2565 zugeordnet ist. Somit sollte das Host-Fahrzeug in einer idealen Situation (und ohne Einflussfaktoren, wie etwa dem Vorhandensein von Zielfahrzeugen oder Objekten auf der Fahrbahn usw.) die abgebildete Zieltrajektorie 2565 genau verfolgen, während es entlang der Fahrspur 2564 des Straßensegments 2560 navigiert. In Wirklichkeit kann das Host-Fahrzeug eine Drift erfahren, wenn es entlang der abgebildeten Zieltrajektorie 2565 navigiert. Für eine effektive und sichere Navigation sollte diese Drift innerhalb akzeptabler Grenzen gehalten werden (z. B. +/- 10 cm lateraler Versatz von der Zieltrajektorie 2565, oder jeder andere geeignete Schwellenwert). Um periodisch eine Drift zu berücksichtigen und alle erforderlichen Kurskorrekturen vorzunehmen, um sicherzustellen, dass das Host-Fahrzeug der Zieltrajektorie 2565 folgt, können die offenbarten Navigationssysteme in der Lage sein, das Host-Fahrzeug entlang der Zieltrajektorie 2565 zu lokalisieren (z. B. eine Seiten- und longitudinale Position des Host-Fahrzeug bezüglich der Zieltrajektorie 2565 bestimmen), unter Verwendung eines oder mehrerer abgebildeter Merkmale/Objekte, die in der spärlichen Karte enthalten sind.
  • Als einfaches Beispiel zeigt 25C zeigt ein Geschwindigkeitsbegrenzungszeichen 2566, wie es in fünf verschiedenen, nacheinander aufgenommenen Bildern erscheinen kann, während das Host-Fahrzeug entlang des Straßensegments 2560 navigiert. Beispielsweise kann zu einem ersten Zeitpunkt t0 das Zeichen 2566 in einem aufgenommenen Bild nahe dem Horizont erscheinen. Wenn sich das Host-Fahrzeug dem Zeichen 2566 nähert, erscheint das Zeichen 2566 in nachfolgend aufgenommenen Bildern zu den Zeitpunkten t1, t2, t3, und t4 an verschiedenen 2D-X-Y-Pixelpositionen der aufgenommenen Bilder. Beispielsweise bewegt sich das Zeichen 2566 in dem aufgenommenen Bildraum entlang der Kurve 2567 (z. B. einer Kurve, die sich durch die Mitte des Zeichens in jedem der fünf aufgenommenen Bildrahmen erstreckt) nach unten und nach rechts. Das Zeichen 2566 scheint auch an Größe zuzunehmen, wenn es sich dem Host-Fahrzeug nähert (d. h. es wird in nachfolgend aufgenommenen Bildern eine große Anzahl von Pixeln einnehmen).
  • Diese Änderungen in den Bildraumdarstellungen eines Objekts, wie etwa des Zeichens 2566, können ausgenutzt werden, um eine lokalisierte Position des Host-Fahrzeugs entlang einer Zieltrajektorie zu bestimmen. Beispielsweise kann, wie in der vorliegenden Offenbarung beschrieben wird, jedes erkennbare Objekt oder Merkmal, wie etwa ein semantisches Merkmal wie das Zeichen 2566 oder ein erkennbares nicht-semantisches Merkmal, von einem oder mehreren Sammelfahrzeugen identifiziert werden, die zuvor ein Straßensegment (z. B. das Straßensegment 2560) befahren haben. Ein Kartierungsserver kann die gesammelten Fahrtinformationen von einer Vielzahl von Fahrzeugen sammeln, diese Informationen aggregieren und korrelieren, und eine spärliche Karte erzeugen, die beispielsweise eine Zieltrajektorie 2565 für die Fahrspur 2564 des Straßensegments 2560 aufweist. Die spärliche Karte kann auch eine Position des Zeichens 2566 (zusammen mit Typinformationen usw.) speichern. Während der Navigation (z. B. vor dem Eintreten in das Straßensegment 2560) kann ein Host-Fahrzeug mit einer Kartenkachel versorgt werden, die eine spärliche Karte für das Straßensegment 2560 aufweist. Um auf der Fahrspur 2564 des Straßensegments 2560 zu navigieren, kann das Host-Fahrzeug der abgebildeten Zieltrajektorie 2565 folgen.
  • Die abgebildete Darstellung des Zeichens 2566 kann von dem Host-Fahrzeug verwendet werden, um sich selbst bezüglich der Zieltrajektorie zu lokalisieren. Beispielsweise nimmt eine Kamera des Host-Fahrzeugs ein Bild 2570 der Umgebung des Host-Fahrzeugs auf, und dieses aufgenommene Bild 2570 kann eine Bilddarstellung des Zeichens 2566 mit einer bestimmten Größe und einer bestimmten X-Y-Bildposition aufweisen, wie in 25D gezeigt wird. Diese Größe und X-Y-Bildposition können verwendet werden, um die Position des Host-Fahrzeugs bezüglich der Zieltrajektorie 2565 zu bestimmen. Beispielsweise kann ein Navigationsprozessor des Host-Fahrzeugs basierend auf der spärlichen Karte, die eine Darstellung des Zeichens 2566 aufweist, bestimmen, dass als Reaktion darauf, dass das Host-Fahrzeug entlang der Zieltrajektorie 2565 fährt, eine Darstellung des Zeichens 2566 so in aufgenommenen Bildern erscheinen sollte, dass die Mitte des Zeichens 2566 sich (im Bildraum) entlang der Linie 2567 bewegt. Wenn ein aufgenommenes Bild, wie etwa das Bild 2570, die Mitte (oder einen anderen Referenzpunkt) verschoben von der Linie 2567 (z. B. die erwartete Bildraum-Trajektorie) zeigt, dann kann das Navigationssystem des Host-Fahrzeugs bestimmen, dass es sich zum Zeitpunkt des aufgenommenen Bildes nicht auf der Zieltrajektorie 2565 befand. Aus dem Bild kann der Navigationsprozessor jedoch eine geeignete Navigationskorrektur bestimmen, um das Host-Fahrzeug auf die Zieltrajektorie 2565 zurückzuführen. Wenn die Analyse beispielsweise eine Bildposition des Zeichens 2566 zeigt, die im Bild um einen Abstand 2572 nach links von der erwarteten Bildraumposition auf der Linie 2567 verschoben ist, dann kann der Navigationsprozessor eine Kursänderung durch das Host-Fahrzeug bewirken (z. B. den Lenkwinkel der Räder ändern), um das eigene Fahrzeug um einen Abstand 2573 nach links zu bewegen. Auf diese Weise kann jedes aufgenommene Bild als Teil eines Rückkopplungsschleifenprozesses verwendet werden, so dass ein Unterschied zwischen einer beobachteten Bildposition des Zeichens 2566 und der erwarteten Bildtrajektorie 2567 minimiert werden kann, um sicherzustellen, dass das Host-Fahrzeug mit wenig oder keiner Abweichung entlang der Trajektorie 2565 fährt. Je mehr abgebildete Objekte verfügbar sind, desto häufiger kann natürlich die beschriebene Lokalisierungstechnik verwendet werden, welche driftinduzierte Abweichungen von der Zieltrajektorie 2565 verringern oder eliminieren kann.
  • Der oben beschriebene Prozess kann nützlich sein, um eine lateralen Orientierung oder einen Versatz des Host-Fahrzeugs bezüglich einer Trajektorie zu erkennen. Die Lokalisierung des Host-Fahrzeugs bezüglich der Zieltrajektorie 2565 kann auch eine Bestimmung einer longitudinalen Position des Zielfahrzeugs entlang der Zieltrajektorie aufweisen. Beispielsweise weist das aufgenommene Bild 2570 eine Darstellung des Zeichens 2566 mit einer bestimmten Bildgröße (z. B. einen 2D-X-Y-Pixelbereich) auf. Diese Größe kann mit einer erwarteten Bildgröße des abgebildeten Zeichens 2566 verglichen werden, wenn es sich entlang der Linie 2567 durch den Bildraum bewegt (z. B. wenn die Größe des Zeichens fortschreitend zunimmt, wie in 25C gezeigt wird). Basierend auf der Bildgröße des Zeichens 2566 in dem Bild 2570 und basierend auf dem erwarteten Größenverlauf im Bildraum bezüglich der abgebildeten Zieltrajektorie 2565 kann das Host-Fahrzeug seine longitudinale Position (zu dem Zeitpunkt, als das Bild 2570 aufgenommen wurde) bezüglich der Zieltrajektorie 2565 bestimmen. Diese longitudinale Position, gekoppelt mit einem beliebigen lateralen Versatz bezüglich der Zieltrajektorie 2565, wie oben beschrieben wurde, ermöglicht eine vollständige Lokalisierung des Host-Fahrzeugs bezüglich der Zieltrajektorie 2565, wenn das Host-Fahrzeug entlang der Straße 2560 navigiert.
  • Die 25C und 25D stellen nur ein Beispiel der offenbarten Lokalisierungstechnik bereit, die ein einzelnes abgebildetes Objekt und eine einzelne Zieltrajektorie verwendet. In anderen Beispielen kann es viel mehr Zieltrajektorien geben (z. B. eine Zieltrajektorie für jede tragfähige Fahrspur einer mehrspurigen Autobahn, Stadtstraße, komplexen Kreuzung usw.), und es können viel mehr für die Lokalisierung verfügbare Karten verfügbar sein. Beispielsweise kann eine spärliche Karte, die eine städtische Umgebung darstellt, viele Objekte pro Meter aufweisen, die für die Lokalisierung verfügbar sind.
  • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess 2600A zum Abbilden einer Fahrspurmarkierung zur Verwendung bei der Navigation eines autonomen Fahrzeugs zeigt, gemäß offenbarten Ausführungsformen. Bei Schritt 2610 kann der Prozess 2600A ein Empfangen von zwei oder mehr Ortskennungen aufweisen, die einer erkannten Fahrspurmarkierung zugeordnet sind. Schritt 2610 kann beispielsweise durch den Server 1230 oder einen oder mehrere dem Server zugeordnete Prozessoren ausgeführt werden. Die Ortskennungen können Orte in realen Koordinaten von Punkten aufweisen, die der erkannten Fahrspurmarkierung zugeordnet sind, wie oben mit Bezug auf 24E beschrieben wurde. In einigen Ausführungsformen können die Ortskennungen auch andere Daten enthalten, wie etwa zusätzliche Informationen über das Straßensegment oder die Fahrspurmarkierung. Während Schritt 2610 können auch zusätzliche Daten empfangen werden, wie Beschleunigungsmessungsdaten, Geschwindigkeitsdaten, Landmarkendaten, Straßengeometrie- oder Profildaten, Fahrzeugpositionsdaten, Eigenbewegungsdaten oder verschiedene andere Formen der oben beschriebenen Daten. Die Ortskennungen können von einem Fahrzeug, wie etwa den Fahrzeugen 1205, 1210, 1215, 1220 und 1225, basierend auf Bildern erzeugt werden, die von dem Fahrzeug aufgenommen wurden. Beispielsweise können die Kennungen basierend auf einer Erfassung von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt, von einer einem Host-Fahrzeug zugeordneten Kamera, einer Analyse des mindestens einen Bildes, um die Fahrspurmarkierung in der Umgebung des Host-Fahrzeugs zu erkennen, und einer Analyse des mindestens einen Bildes, um eine Position der erkannten Fahrspurmarkierung bezüglich eines dem Host-Fahrzeug zugeordneten Ort zu bestimmen, bestimmt werden. Wie oben beschrieben, kann die Fahrspurmarkierung eine Vielzahl unterschiedlicher Markierungstypen aufweisen, und die Ortskennungen können einer Vielzahl von Punkten bezüglich der Fahrspurmarkierung entsprechen. Wenn beispielsweise die erkannte Fahrspurmarkierung Teil einer gestrichelten Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte erkannten Ecken der Fahrspurmarkierung entsprechen. Wenn die erfasste Fahrspurmarkierung Teil einer durchgehenden Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte einer erkannten Kante der Fahrspurmarkierung mit verschiedenen Abständen entsprechen, wie oben beschrieben wurde. In einigen Ausführungsformen können die Punkte der Mittellinie der erkannten Fahrspurmarkierung entsprechen, wie in 24C gezeigt wird, oder können einem Scheitelpunkt zwischen zwei sich kreuzenden Fahrspurmarkierungen und mindestens zwei anderen Punkten entsprechen, die den sich kreuzenden Fahrspurmarkierungen zugeordnet sind, wie in 24D gezeigt wird.
  • Bei Schritt 2612 kann der Prozess 2600A das Zuordnen der erkannten Fahrspurmarkierung zu einem entsprechenden Straßensegment aufweisen. Beispielsweise kann der Server 1230 die realen Koordinaten oder andere während des Schritts 2610 empfangene Informationen analysieren, und die Koordinaten oder andere Informationen mit Ortsinformationen vergleichen, die in einem Straßennavigationsmodell eines autonomen Fahrzeugs gespeichert sind. Der Server 1230 kann einen Straßensegment in dem Modell bestimmen, das dem realen Straßensegment entspricht, auf dem die Fahrspurmarkierung erkannt wurde.
  • Bei Schritt 2614 kann der Prozess 2600A ein Aktualisieren eines Straßennavigationsmodells eines autonomen Fahrzeugs bezüglich dem entsprechenden Straßensegment basierend auf den zwei oder mehr Ortskennungen, die der erkannten Fahrspurmarkierung zugeordnet sind, aufweisen. Beispielsweise kann das autonome Straßennavigationsmodell eine spärliche Karte 800 sein, und der Server 1230 kann die spärliche Karte aktualisieren, um eine abgebildete Fahrspurmarkierung in das Modell aufzunehmen oder anzupassen. Der Server 1230 kann das Modell basierend auf den verschiedenen Verfahren oder Prozessen, die oben mit Bezug auf 24E beschrieben wurden, aktualisieren. In einigen Ausführungsformen kann das Aktualisieren des Straßennavigationsmodells des autonomen Fahrzeugs ein Speichern eines oder mehrerer Positionsindikatoren in realen Koordinaten der erkannten Fahrspurmarkierung aufweisen. Das Straßennavigationsmodell des autonomen Fahrzeugs kann auch mindestens eine Zieltrajektorie aufweisen, der ein Fahrzeug entlang des entsprechenden Straßensegments folgen soll, wie in 24E gezeigt wird.
  • Bei Schritt 2616 kann der Prozess 2600A ein Verteilen des aktualisierten Straßennavigationsmodells des autonomen Fahrzeugs an eine Vielzahl von autonomen Fahrzeugen aufweisen. Beispielsweise kann der Server 1230 das aktualisierte Straßennavigationsmodell des autonomen Fahrzeugs an die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 verteilen, die das Modell zur Navigation verwenden können. Das Straßennavigationsmodell des autonomen Fahrzeugs kann über eines oder mehrere Netzwerke (z. B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 verteilt werden, wie in 12 gezeigt wird.
  • In einigen Ausführungsformen können die Fahrspurmarkierungen unter Verwendung von Daten kartiert werden, die von einer Vielzahl von Fahrzeugen empfangen werden, wie etwa durch eine Crowd-Sourcing-Technik, wie oben mit Bezug auf 24E beschrieben wird. Beispielsweise kann der Prozess 2600A ein Empfangen einer ersten Kommunikation von einem ersten Host-Fahrzeug aufweisen, die Ortskennungen, die einer erkannten Fahrspurmarkierung zugeordnet sind, und Empfangen einer zweiten Kommunikation von einem zweiten Host-Fahrzeug, die zusätzliche Ortskennungen aufweist, die der erkannten Fahrspurmarkierung zugeordnet sind, aufweisen. Beispielsweise kann die zweite Kommunikation von einem nachfolgenden Fahrzeug empfangen werden, das auf demselben Straßensegment fährt, oder von demselben Fahrzeug auf einer nachfolgenden Fahrt auf demselben Straßensegment. Der Prozess 2600A kann ferner ein Verfeinern einer Bestimmung mindestens einer Position, die der erkannten Fahrspurmarkierung zugeordnet ist, basierend auf den in der ersten Kommunikation empfangenen Ortskennungen und basierend auf den in der zweiten Kommunikation empfangenen zusätzlichen Ortskennungen aufweisen. Dies kann ein Verwenden eines Mittelwerts der mehreren Ortskennungen und/oder ein Herausfiltern von „Geister“-Kennungen umfassen, die möglicherweise nicht die reale Position der Fahrspurmarkierung widerspiegeln.
  • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess 2600B zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung von abgebildeten Fahrspurmarkierungen zeigt. Der Prozess 2600B kann beispielsweise durch die Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. Bei Schritt 2620 kann der Prozess 2600B ein Empfangen eines Straßennavigationsmodells eines autonomen Fahrzeugs von einem serverbasierten System aufweisen. In einigen Ausführungsformen kann das Straßennavigationsmodell des autonomen Fahrzeugs eine Zieltrajektorie für das Host-Fahrzeug entlang des Straßensegments und Ortskennungen, die einer oder mehreren dem Straßensegment zugeordneten Fahrspurmarkierungen zugeordnet sind, aufweisen. Beispielsweise kann das Fahrzeug 200 eine spärliche Karte 800 oder ein anderes Straßennavigationsmodell empfangen, das unter Verwendung des Prozesses 2600A entwickelt wurde. In einigen Ausführungsformen kann die Zieltrajektorie beispielsweise als dreidimensionaler Spline dargestellt werden, wie in 9B gezeigt wird. Wie oben mit Bezug auf die 24A-F beschrieben wurde, können die Ortskennungen Orte in realen Koordinaten von Punkten aufweisen, die der Fahrspurmarkierung zugeordnet sind (z. B. Eckpunkte einer gestrichelten Fahrspurmarkierung, Kantenpunkte einer durchgehenden Fahrspurmarkierung, einen Scheitelpunkt zwischen zwei sich schneidenden Fahrspurmarkierungen, und andere Punkte, die den sich kreuzenden Fahrspurmarkierungen zugeordnet sind, eine der Fahrspurmarkierung zugeordnete Mittellinie usw.).
  • Bei Schritt 2621 kann der Prozess 2600B ein Empfangen von mindestens einem Bild aufweisen, das eine Umgebung des Fahrzeugs darstellt. Das Bild kann von einer Bildaufnahmevorrichtung des Fahrzeugs empfangen werden, wie etwa durch die Bildaufnahmevorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 enthalten sind. Das Bild kann ein Bild von einer oder mehreren Fahrspurmarkierungen aufweisen, ähnlich dem oben beschriebenen Bild 2500.
  • Bei Schritt 2622 kann der Prozess 2600B ein Bestimmen einer longitudinale Position des Host-Fahrzeugs entlang der Zieltrajektorie aufweisen. Wie oben mit Bezug auf 25A beschrieben wurde, kann dies auf anderen Informationen in dem aufgenommenen Bild (z. B. Landmarken usw.) oder auf einer Koppelnavigation des Fahrzeugs zwischen erkannten Landmarken basieren.
  • Bei Schritt 2623 kann der Prozess 2600B ein Bestimmen eines erwarteten lateralen Abstands zu der Fahrspurmarkierung basierend auf der bestimmten longitudinalen Position des Host-Fahrzeugs entlang der Zieltrajektorie und basierend auf den zwei oder mehr Ortskennungen, die der mindestens einen Fahrspurmarkierung zugeordnet sind, aufweisen. Beispielsweise kann das Fahrzeug 200 die spärliche Karte 800 verwenden, um einen erwarteten lateralen Abstand zu der Fahrspurmarkierung zu bestimmen. Wie in 25B gezeigt wird, kann die longitudinale Position 2520 entlang einer Zieltrajektorie 2555 in Schritt 2622 bestimmt werden. Unter Verwendung der spärlichen Karte 800 kann das Fahrzeug 200 einen erwarteten Abstand 2540 zu der abgebildeten Fahrspurmarkierung 2550 entsprechend der longitudinale Position 2520 bestimmen.
  • Bei Schritt 2624 kann der Prozess 2600B ein Analysieren des mindestens einen Bildes, um die mindestens eine Fahrspurmarkierung zu identifizieren, aufweisen. Das Fahrzeug 200 kann beispielsweise verschiedene Bilderkennungstechniken oder -algorithmen verwenden, um die Fahrspurmarkierung innerhalb des Bildes zu identifizieren, wie oben beschrieben. Beispielsweise kann die Fahrspurmarkierung 2510 durch eine Bildanalyse des Bildes 2500 erkannt werden, wie in 25A gezeigt wird.
  • Bei Schritt 2625 kann der Prozess 2600B ein Bestimmen eines tatsächlichen lateralen Abstands zu der mindestens einen Fahrspurmarkierung basierend auf einer Analyse des mindestens einen Bildes aufweisen. Beispielsweise kann das Fahrzeug einen Abstand 2530 bestimmen, wie in 25A gezeigt wird, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrspurmarkierung 2510 darstellt. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs, die Position der Kamera bezüglich des Fahrzeugs, oder verschiedene andere Faktoren können bei der Bestimmung des Abstands 2530 berücksichtigt werden.
  • Bei Schritt 2626 kann der Prozess 2600B Bestimmen einer autonomen Lenkaktion für das Host-Fahrzeug basierend auf einem Unterschied zwischen dem erwarteten lateralen Abstand zu der mindestens einen Fahrspurmarkierung und dem bestimmten tatsächlichen lateralen Abstand zu der mindestens einen Fahrspurmarkierung aufweisen. Beispielsweise kann das Fahrzeug 200, wie oben mit Bezug auf 25B beschreiben wurde, den tatsächlichen Abstand 2530 mit einem erwarteten Abstand 2540 vergleichen. Der Unterschied zwischen dem tatsächlichen und dem erwarteten Abstand kann einen Fehler (und seine Größe) zwischen der tatsächlichen Position des Fahrzeugs und der von dem Fahrzeug zu verfolgenden Zieltrajektorie angeben. Dementsprechend kann das Fahrzeug eine autonome Lenkaktion oder eine andere autonome Aktion basierend auf dem Unterschied bestimmen. Wenn beispielsweise der tatsächliche Abstand 2530 kleiner als der erwartete Abstand 2540 ist, wie in 25B gezeigt wird, kann das Fahrzeug eine autonome Lenkaktion bestimmen, um das Fahrzeug weg von der Fahrspurmarkierung 2510 nach links zu lenken. Somit kann die Position des Fahrzeugs bezüglich der Zieltrajektorie korrigiert werden. Der Prozess 2600B kann beispielsweise verwendet werden, um die Navigation des Fahrzeugs zwischen Landmarken zu verbessern.
  • Die Prozesse 2600A und 2600B stellen nur Beispiele für Techniken bereit, die zum Navigieren eines Host-Fahrzeugs unter Verwendung der offenbarten spärlichen Karten verwendet werden können. In anderen Beispielen können Prozesse, die mit denen übereinstimmen, die in Bezug auf die 25C und 25D beschrieben wurden, ebenfalls verwendet werden.
  • Bestimmen von Objektabmessungen
  • Wie in der gesamten vorliegenden Offenbarung beschrieben, kann ein Navigationssystem die Navigation eines Host-Fahrzeugs im Hinblick auf Zielobjekte in der Umgebung des Host-Fahrzeugs koordinieren. Insbesondere kann das Navigationssystem Bilder der Umgebung eines Host-Fahrzeugs aufnehmen und eine Vielzahl von Zielobjekten (z. B. Fahrzeuge, Fußgänger, oder statische Objekte auf der Straße oder in der Nähe davon) identifizieren. Einige Navigationssysteme verwenden Bildverarbeitungstechniken (z. B. Structure-in-Motion-Analysetechniken) für eine große Anzahl von Bildframes (in manchen Fällen erfordert dies eine Analyse von 400 oder mehr erfassten Bildframes), um Werte von Messungen zu bestimmen, die Attribute oder Abmessungen der identifizierte Zielobjekte quantifizieren. Diese Messungen können einen Indikator einer Position eines Zielobjekts bezüglich des Host-Fahrzeugs, einen Indikator einer physikalischen Abmessung eines Zielobjekts (z. B. Höhe, Breite oder Länge), einen Indikator einer Bewegung eines Zielobjekts bezüglich des Host-Fahrzeugs (z. B. Geschwindigkeit, Beschleunigung oder Fahrtrichtungen), und mehr aufweisen. Die Analyse von Hunderten von aufgenommenen Bildframes ist nicht nur rechenintensiv, sondern eine solche Analyse kann auch eine beträchtliche Zeit in Anspruch nehmen. Die von diesen Techniken benötigte Analysezeit kann für die Verwendung bei der Navigation von autonomen Fahrzeugen untragbar sein, die von einem Sicherheits- und/oder Komfortstandpunkt profitieren können, indem Positions- und Abmessungsinformationen bezüglich Zielobjekten leicht verfügbar sind.
  • Die folgende Offenbarung beschreibt eine potenziell schnellere und effektivere Technik zum Bestimmen von Objektabmessungen, während Ressourcen von dem Navigationssystem effizienter verwendet werden. Insbesondere können die offenbarten Ausführungsformen eine Technik zur Erzeugung von Abmessungs- und Positionsinformationen bezüglich eines Zielobjekts implementieren, das in einem einzelnen aufgenommen Bildrahmen identifiziert wird. Anstatt also eine Analyse von möglicherweise Hunderten von aufgenommenen Bildframes zu erfordern, um Abmessungsinformationen bezüglich eines bestimmten Zielobjekts bereitzustellen, sind die offenbarten Systeme so ausgelegt, dass sie diese Informationen für jeden einzelnen aufgenommenen Bildframe erzeugen. Das offenbarte Navigationssystem kann ein Zielobjektanalysemodul aufweisen, das ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für ein aufgenommenes Bild zu erzeugen. Das trainierte Modell kann ein künstliches neuronales Netz (wie etwa ein tiefes neuronales Netz, ein konvolutionelles neuronales Netz usw.) verwenden, um Werte der Messungen zu bestimmen, die Attribute der identifizierten Objekte quantifizieren. Das künstliche neuronale Netz kann manuell konfiguriert werden, unter Verwendung von Verfahren des maschinellen Lernens oder durch Kombinieren anderer künstlicher neuronaler Netze. Die Ausgabe des trainierten Modells, das aus einem einzelnen Bildframe erzeugt wird, kann bewirken, dass das Host-Fahrzeug eine oder mehrere Navigationsaktionen implementiert. Somit kann eine Einzelframebestimmung in Bezug auf Messungen von Zielobjekten, wie unten beschrieben, die Sicherheits- und Komfortleistung des Host-Fahrzeugs verbessern.
  • 27 ist ein Diagramm, das einen beispielhaften Prozess 2700 zum Bestimmen von Messungen von Zielobjekten in Übereinstimmung mit den offenbarten Ausführungsformen veranschaulicht. Der Prozess 2700 kann durch ein Host-Fahrzeug, wie etwa das oben beschriebene Fahrzeug 200, das entlang eines Straßensegments fährt, implementiert werden. Dementsprechend kann der Prozess 2700 durch ein autonomes oder halbautonomes Fahrzeug implementiert werden und kann zur Navigation des Fahrzeugs verwendet werden. Das Host-Fahrzeug kann die Bilderfassungseinheit 120 verwenden, um eine Vielzahl von Bildern 2702 aufzunehmen, wie in 27 gezeigt wird. Jedes der Vielzahl von Bildern 2702 kann eine Darstellung eines oder mehrerer Zielobjekte innerhalb der Umgebung des Host-Fahrzeugs aufweisen. In einer Ausführungsform können eines oder mehrere der Vielzahl von aufgenommenen Bildern 2702 eine Okklusion aufweisen, die ein Zielobjekt mindestens teilweise verdeckt. Die Okklusion kann als Ergebnis davon auftreten, dass sich mindestens ein Teil des Zielobjekts über einen Rahmen hinaus erstreckt, der dem einen oder den mehreren der Vielzahl von Bildern 2702 zugeordnet ist. Alternativ kann die Okklusion als Ergebnis davon auftreten, dass ein anderen Zielobjekt die Sichtlinie der Kamera blockiert, die das eine oder die mehreren der Vielzahl von Bildern 2702 aufnimmt. Beispielsweise kann die Okklusion eine Darstellung eines anderen Fahrzeugs, eine Darstellung eines Zeichens, eine Darstellung eines Fußgängers und mehr aufweisen. 28 veranschaulicht ein Beispiel eines aufgenommenen Bildes mit teilweise verdeckten Zielobjekten.
  • In einigen Ausführungsformen können die Vielzahl von Bildern 2702 und zusätzliche Eingabedaten 2704 in ein Zielobjektanalysemodul 2706 eingegeben werden. Die Eingabedaten 2704 können beliebige Daten zusätzlich zu einer Vielzahl von Bildern 2702 aufweisen, die zum Bestimmen der Messungen der Zielobjekte verwendet werden können. Dies kann beispielsweise zusätzliche Sensordaten umfassen, wie etwa LIDAR-Daten, GPS-Daten, Näherungssensordaten, gespeicherte oder berechnete Positions- und Bewegungsdaten des Host-Fahrzeugs, oder dergleichen. In Übereinstimmung mit der vorliegenden Offenbarung kann das Zielobjektanalysemodul 2706 mindestens ein trainiertes Modell 2708 zum Bestimmen eines Satzes von Zielobjektmessungen 2710 aufweisen. Der Satz von Zielobjektmessungen 2710 kann eine oder mehrere Zielobjektmessungen 2710 aufweisen.
  • In einer Ausführungsform kann der Satz von Zielobjektmessungen 2710 mindestens einen Indikator einer Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweisen. Der Indikator der Position des Zielobjekts bezüglich eines Host-Fahrzeugs kann einen Abstand zwischen einem dem Host-Fahrzeug zugeordneten Referenzpunkt und einem dem Zielobjekt zugeordneten Zielpunkt aufweisen. Beispielsweise kann der dem Host-Fahrzeug zugeordnete Referenzpunkt eine Position der Kamera an dem Host-Fahrzeug aufweisen, und der Zielpunkt kann eine Position eines Teils des Zielobjekts aufweisen, der dem Referenzpunkt, der dem Host-Fahrzeug zugeordnet ist, am nächsten ist. Es können jedoch auch beliebige andere geeignete Referenzpunkte bezüglich des Host-Fahrzeugs und des Zielobjekts verwendet werden. Außerdem kann der Indikator der Position des Zielobjekts der Abstand zwischen dem Host-Fahrzeug und dem Zielobjekt angeben (z. B. in Fuß oder Metern, usw.), und/oder die berechnete oder geschätzte Zeitdauer für das Host-Fahrzeug, um das Zielobjekt zu erreichen (z. B. Zeit bis zur Kollision), angeben.
  • In einer Ausführungsform kann der Satz von Zielobjektmessungen 2710 mindestens einen Indikator für eine physische Abmessung eines Zielobjekts, wie etwa Höhe, Breite und Länge, aufweisen. Beispielsweise können Zielobjektmessungen 2710 mindestens zwei aufweisen von: einem ersten Wert, der eine Höhe eines Zielobjekts angibt, einem zweiten Wert, der eine Breite des Zielobjekts angibt, und einem dritten Wert, der eine Länge des Zielobjekts angibt. Der erste Wert, der zweite Wert und der dritte Wert können reale Abmessungen des Zielobjekts angeben, im Gegensatz zu Bildabmessungen, wie etwa einer Anzahl von Pixeln in einem Bild, das Kanten der Darstellung des Zielobjekts zugeordnet ist. Zusätzlich oder als Alternative zu dem Ausgeben von Zielobjektabmessungen können die offenbarten Ausführungsformen auch dazu ausgelegt sein, einen Begrenzungsrahmen für jedes identifizierte Zielobjekt in einem einzelnen Bildrahmen zu erzeugen. Der Begrenzungsrahmen kann die Abmessungen des Zielobjekts angeben. Der Begrenzungsrahmen kann ein 2D-Begrenzungsrahmen (wo z. B. nur eine Seite eines Zielobjekts in einem aufgenommenen Bildframe sichtbar ist) oder einen 3D-Begrenzungsrahmen (wo z. B. zwei oder mehr Seiten eines Zielobjekts in einem aufgenommenen Bildrahmen dargestellt sind).
  • In einer Ausführungsform kann der Satz von Zielobjektmessungen 2710 einen Indikator einer Bewegung eines Zielobjekts bezüglich des Host-Fahrzeugs, wie etwa Geschwindigkeit, Beschleunigung, Fahrtrichtungen, aufweisen. Beispielsweise können Zielobjektmessungen 2710 mindestens zwei aufweisen von: einem ersten Wert, der eine Geschwindigkeit eines Zielobjekts angibt, einem zweiten Wert, der eine Beschleunigung des Zielobjekts angibt, und einem dritten Wert, der eine Richtung des Zielobjekts angibt. Zusätzliche Einzelheiten zu dem Prozess zum Bestimmen von Zielobjektmessungen 2710 unter Verwendung des trainierten Modells 2708 werden unten beschrieben.
  • In Übereinstimmung mit der vorliegenden Offenbarung kann der Satz von Zielobjektmessungen 2710 durch das Zielobjektanalysemodul 2706 für eines oder mehrere der Vielzahl von aufgenommenen Bildern 2702 erzeugt werden. Der Satz von Zielobjektmessungen 2710 für die Zielobjektumgebung des Host-Fahrzeugs kann an ein Systemantwortmodul 2712 bereitgestellt werden. Ein Typ von Systemreaktion kann Navigationsreaktionen aufweisen, wie oben im Einzelnen unter Bezugnahme auf das Navigationsreaktionsmodul 408 beschrieben wurde. Andere Typen von Systemreaktionen können das Steuerdrosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 aufweisen. Insbesondere kann die basierend auf dem Satz von Zielobjektmessungen 2710 bestimmte Navigationsaktion mindestens eines von Beschleunigen, Bremsen oder Wenden des Host-Fahrzeugs aufweisen. Beispielsweise kann die Verarbeitungseinheit 110 elektronische Signale senden, die das System 100 veranlassen, die Bremse physisch um einen vorbestimmten Betrag zu betätigen oder das Gaspedal des Fahrzeugs 200 teilweise zu lösen. Ferner kann die Verarbeitungseinheit 110 elektronische Signale senden, die das System 100 veranlassen, das Fahrzeug 200 in eine bestimmte Richtung zu lenken. Solche Antworten können auf der Bestimmung einer Aktion basierend, die von dem Host-Fahrzeug basierend auf dem Satz von Zielobjektmessungen 2710 vorzunehmen ist, der durch das Zielobjektanalysemodul 2706 erzeugt wird.
  • 28 ist eine Veranschaulichung eines beispielhaften Bildes 2800 der Umgebung des Host-Fahrzeugs, das zum Bestimmen von Messungen von Zielobjekten 2802 verwendet werden kann. Das Bild 2800 kann von einer Kamera des Host-Fahrzeugs, wie etwa den oben erläuterten Bildaufnahmevorrichtungen 122, 124 und/oder 126, aufgenommen werden. In dem in 28 gezeigten Beispiel kann das Bild von einer nach vorne gerichteten Kamera des Host-Fahrzeugs aufgenommen werden, wenn das Host-Fahrzeug entlang eines Straßensegments fährt. In diesem Beispiel kann das Straßensegment eine zweispurige Autobahn mit einer Linkskurve aufweisen. Das Host-Fahrzeug fährt auf der rechten Fahrspur, und die Gegenfahrspur wird von einem Zielfahrzeug 2802A und einem Lastwagen 2802B befahren. Außerdem weist die Umgebung des Host-Fahrzeugs einen Fußgänger 2802C, ein Verkehrszeichen 2802D und andere Objekte (z. B. Verkehrszeichen, Fahrspurmarkierungen, Straßenränder, Leitplanken und mehr) auf. Während das Bild 2800 ein Bild darstellt, das von der Vorderseite des Host-Fahrzeugs aus aufgenommen wurde, können die gleichen oder ähnliche Prozesse auch auf Bilder angewendet werden, die von anderen Kamerapositionen aus aufgenommen wurden, wie etwa Bilder, die von einer Seite oder dem Heck des Host-Fahrzeugs aus aufgenommen wurden. In einigen Ausführungsformen kann das Bild 2800 zum Trainieren des trainierten Modells 2708 verwendet werden, wie weiter unten erläutert wird.
  • In Übereinstimmung mit der vorliegenden Offenbarung kann das Bild 2800 selbst verwendet werden, um Messungen von Zielobjekten 2710 in der Umgebung des Host-Fahrzeugs gemäß den oben in Bezug auf den Prozess 2700 beschriebenen Verfahren zu bestimmen. Dementsprechend kann das Bild 2800 Teil der Vielzahl von Bildern 2702 sein, und kann in das Zielobjektanalysemodul 2706 eingegeben werden, um Messungen des Fahrzeugs 2802A, des Lastwagens 2802B, des Fußgängers 2802C und des Verkehrszeichens 2802D zu bestimmen. Wie oben angemerkt wurde, kann das Navigationssystem für das Host-Fahrzeug Messungen von Zielobjekten 2802 unter Verwendung einer Analyse eines einzelnen Bildes und/oder unter Verwendung einer Analyse mehrerer Bilder (zwei, drei, ..., n Bilder) bestimmen. Wenn beispielsweise die Position eines Zielobjekts 2802 in Bezug auf einen vorherigen Bildframe festgelegt wurde, kann die relative Bewegung des Zielobjekts 2802 zu dem vorherigen Bildframe geschätzt werden, um seinen ungefähren Ort zu bestimmen. Eine solche Relativbewegung, die eine Geschwindigkeit für das Zielobjekt aufweisen kann, kann auf einem Verfolgen von Positionsänderungen oder Änderungen an einer oder mehreren Begrenzungsrahmen-Orten für das Zielobjekt basieren, die basierend auf der Analyse von zwei oder mehr aufgenommenen Bildern bestimmt werden. Mit anderen Worten, die offenbarten Systeme können eine Position eines Zielobjekts und/oder einen Begrenzungsrahmen für das Zielobjekt für jedes einer Vielzahl von aufgenommenen Bildframes erzeugen. Das Beobachten von Änderungen der Position und/oder des Begrenzungsrahmens über zwei oder mehr Ausgaben, die für zwei oder mehr aufgenommene Bildframes erzeugt wurden, kann eine Folgerung oder Berechnungen einer Zielobjektgeschwindigkeit ermöglichen, insbesondere wenn sie gekoppelt ist sie mit bekannten Eigenbewegungseigenschaften des Host-Fahrzeugs (z. B. der Geschwindigkeit, Beschleunigung, Position usw., die basierend auf Ausgaben eines oder mehrerer Eigenbewegungssensoren, wie Geschwindigkeitsmesser, Beschleunigungsmesser, GPS-Sensoren usw., bestimmt werden).
  • In einigen Ausführungsformen kann das Navigationssystem 100 von dem Zielobjektanalysemodul 2706 zusätzlich zu den Messungen der Zielobjekte 2802 Informationen empfangen, die einen Typ des Zielobjekts 2802 angeben. Die empfangenen Informationen, die einen Typ des Zielobjekts 2802 angeben, können aufweisen, dass sie ein Fahrzeug angeben können, eine Fahrzeuggrößenklasse angeben können, einen Fußgänger angeben können, ein Hindernis auf einer Fahrbahn in der Umgebung des Host-Fahrzeugs angeben können, und mehr. Wie in 28 gezeigt wird, können einige der Zielobjekte 2802 durch andere Objekte verdeckt sein. Insbesondere wird mindestens ein Teil des Lastkraftwagens 2802B durch das Fahrzeug 2802A versperrt, und mindestens ein Teil des Fußgängers 2802C wird durch das Verkehrszeichen 2802D versperrt. In dieser Offenbarung bedeutet eine mindestens teilweise verdeckte Fläche, dass mindestens 5% der Fläche, mindestens 15% der Fläche, mindestens 25% der Fläche, mindestens 50% der Fläche oder mindestens 75% der Fläche durch ein anderes Objekt verdeckt oder auf andere Weise in dem aufgenommenen Bild nicht sichtbar ist. In Übereinstimmung mit der vorliegenden Offenbarung kann das Zielobjektanalysemodul 2706 dazu ausgelegt sein, Zielobjektmessungen 2710 für das Bild 2800 auszugeben, wobei mindestens eine Fläche des Zielobjekts 2802 mindestens teilweise verdeckt wird. Insbesondere kann das Zielobjekt 2802 ein Zielfahrzeug sein, und die mindestens eine Fläche kann einem Heck des Zielfahrzeugs, einer Seite des Zielfahrzeugs oder einer Vorderseite des Zielfahrzeugs zugeordnet sein. Das Zielobjektanalysemodul 2706 kann auch Zielobjektmessungen 2710 ausgeben, wenn zwei oder mehr Flächen des Zielobjekts 2802 mindestens teilweise verdeckt sind.
  • 29 veranschaulicht beispielhafte Messungen, die für Zielobjekte 2802 bezüglich einem Navigationskartensegment 2900 bestimmt werden können, in Übereinstimmung mit den offenbarten Ausführungsformen. Das Navigationskartensegment 2900 kann ein Teil eines Straßennavigationsmodells sein, wie etwa eine spärliche Karte 800 oder verschiedene andere Formen von Navigationsmodellen. Das Navigationskartensegment 2900 kann verschiedene Darstellungen von Objekten oder Merkmalen entlang des Straßensegments aufweisen. Beispielsweise kann das Navigationskartensegment 2900 einem in dem Bild 2800 gezeigten Teil der Fahrbahn entsprechen. Die gestrichelten Linien in 29 stellt das Sichtfeld der nach vorne gerichteten Kamera des Host-Fahrzeugs, das das Bild 2802 aufgenommen hat, dar. Dementsprechend weist das Navigationskartensegment 2900 Darstellungen der in dem Bild 2800 abgebildeten Zielobjekte 2802 auf.
  • Das Navigationskartensegment 2900 zeigt auch eine Darstellung eines Host-Fahrzeugs 2902 und Darstellungen von mindestens einigen der Zielobjektmessungen 2710, die durch das Zielobjektanalysemodul 2706 erzeugt werden. Wie gezeigt wird, kann das Navigationskartensegment 2900 Abstandsindikatoren 2904 aufweisen, die die Position von Zielobjekten 2802 bezüglich des Host-Fahrzeugs 2902 darstellen. Insbesondere können Abstandsindikatoren 2904 einen Abstandsindikator 2904A aufweisen, der die Position des Fahrzeugs 2802A bezüglich des Host-Fahrzeugs 2902 darstellt, einen Abstandsindikator 2904B, der die Position des Lastkraftwagens 2802B bezüglich des Host-Fahrzeugs 2902 darstellt, einen Abstandsindikator 2904C, der die Position eines Fußgängers 2802C bezüglich des Host-Fahrzeugs 2902 darstellt, und einen Abstandsindikator 2904D, der die Position eines Verkehrszeichens 2802D bezüglich des Host-Fahrzeugs 2902 darstellt. Das Navigationskartensegment 2900 weist auch Abmessungsindikatoren 2906 auf, die eine Breite oder Länge des Zielobjekts 2802 darstellen. Insbesondere können die Abmessungsindikatoren 2906 einen Abmessungsindikator 2906A, der die Länge des Fahrzeugs 2802A darstellt, und einen Abmessungsindikator 2906B, der die Länge des Lastkraftwagens 2802B darstellt, aufweisen. In einigen Fällen kann es bei den zurückgegebenen Werten für die Länge des Zielobjekts 2802 zu Unsicherheiten kommen. Beispielsweise kann das trainierte Modell 2708 dahin trainiert werden, Abmessungen eines verdeckten Lastkraftwagens zu erkennen und auszugeben, die die Länge des Lastkraftwagens aufweisen, wobei das hintere Ende des Lastkraftwagens verdeckt wird. Es gibt jedoch keine Möglichkeit, zu wissen, ob der Lastkraftwagen einen Anhänger zieht oder nicht. In ähnlicher Weise kann das trainierte Modell 2708 eine Länge für einen Bus basierend auf einem Erscheinungsbild eines vorderen Teils des Busses in einem Bild bereitstellen, aber der Bus kann ein Bus doppelter Länge sein (z. B. mit einem Gelenk in der Mitte). In solchen Fällen kann das Zielobjektanalysemodul 2706 einen Längenwert zusammen mit einem bestimmten Konfidenzniveau zurückgeben. Das Konfidenzniveau kann basierend auf dem Typ des Zielobjekts, basierend auf dem Prozentsatz, zu dem das Zielobjekt verdeckt wird, basierend auf der in dem Bild sichtbaren Seite des Zielobjekts, und mehr bestimmt werden.
  • In Übereinstimmung mit der vorliegenden Offenbarung kann das Navigationssystem ein Konfidenzniveau für die durch das Zielobjektanalysemodul 2706 erzeugten Messungen bestimmen. Der Begriff „Konfidenzniveau“ bezieht sich auf jede Angabe, numerisch oder anderweitig, eines Niveaus (z. B. innerhalb eines vorbestimmten Bereichs), das ein Maß an Vertrauen angibt, das das System hat, dass die bestimmten Messungen von Zielobjekten die tatsächlichen Messungen von Zielobjekten sind. In einem ersten Beispiel kann das System 100 ein Konfidenzniveau für den Indikator einer Position des Zielobjekts 2802 bezüglich des Host-Fahrzeugs 2902 bestimmen. In einem zweiten Beispiel kann das System 100 ein Konfidenzniveau für einen ersten Wert bestimmen, der eine Höhe des Zielobjekts 2802 angibt, und ein Konfidenzniveau von mindestens einem zweiten Wert, der eine Breite oder Länge des Zielobjekts 2802 angibt. Das Konfidenzniveau kann einen Wert zwischen 1 und 10 haben. Alternativ kann das Konfidenzniveau als Prozentsatz oder jede andere numerische oder nicht numerische Angabe ausgedrückt werden. In einigen Fällen kann das System das Konfidenzniveau mit einem Schwellenwert vergleichen. Der Begriff „Schwellenwert“, wie er hier verwendet wird, bezeichnet einen Referenzwert, ein Niveau, einen Punkt oder einen Wertebereich. Wenn im Betrieb ein Konfidenzniveau bei einer Messung eines Zielobjekts 2802 einen Schwellenwert überschreitet (oder je nach Anwendungsfall darunter liegt), kann das System einer ersten Vorgehensweise folgen, und wenn das Konfidenzniveau darunter liegt (oder je nach Anwendungsfall darüber liegt), kann das System einer zweiten Vorgehensweise folgen. Wenn beispielsweise das Konfidenzniveau einer spezifischen Messung eines Zielobjekts 2802 unter einem Konfidenzschwellenwert liegt, kann das System ein zusätzliches Bild in das Zielobjektanalysemodul 2706 eingeben, um die Genauigkeit der spezifischen Messung zu bestätigen. Der Wert des Schwellenwerts kann für alle Typen von Zielobjekten vorbestimmt sein oder kann basierend auf unterschiedlichen Überlegungen dynamisch ausgewählt werden.
  • In einigen Ausführungsformen kann das Zielobjektanalysemodul 2706 eine individuelle Ausgabe für jedes der Vielzahl von aufgenommenen Bildern erzeugen, wie oben angemerkt und in Bezug auf die 31 und 32 ausführlicher beschrieben wird. Die Ausgabe des Zielobjektanalysemoduls 2706 kann für Navigationszwecke und andere verwandte Prozesse verwendet werden. Beispielsweise kann das Navigationssystem dazu ausgelegt sein, eine Navigationsaktion für das Host-Fahrzeug basierend auf Messungen des Zielobjekts 2802 zu bestimmen. Eine Navigationsaktion kann jede Aktion aufweisen, die sich auf die Bewegung des Host-Fahrzeugs 2902 entlang eines Straßensegments bezieht. Beispielsweise kann die Navigationsaktion ein Bremsmanöver, ein Beschleunigungsmanöver, ein Fahrspurwechselmanöver, ein Abbiegemanöver, das Beibehalten einer aktuellen Geschwindigkeit oder Kursrichtung, oder eine Kombination von einem oder mehreren dieser Manöver aufweisen.
  • 30 ist ein Blockdiagramm, das einen beispielhaften Trainingsprozess 3000 zum Trainieren eines Modells für die Bestimmung von Objektmessungen veranschaulicht, in Übereinstimmung mit den offenbarten Ausführungsformen. Wie in 30 gezeigt wird, können Trainingsdaten 3004 in einen Trainingsalgorithmus 3006 eingegeben werden, um das trainierte Modell 2708 für das Zielobjektanalysemodul 2706 zu erzeugen. In einigen Ausführungsformen kann der Trainingsalgorithmus 3006 ein künstliches neuronales Netz sein. Verschiedene andere maschinelle Lernalgorithmen können verwendet werden, einschließlich einer logistischen Regression, einer linearen Regression, einer Regression, eines Random Forest, eines K-Nearest-Neighbor- (KNN) (wie beispielsweise oben beschrieben wird), eines K-Means-Modells, eines Entscheidungsbaums, eines Cox-Proportional-Hazards-Regressionsmodells, eines Naive-Bayes-Modell, eines Support-Vector-Machines-(SVM) Modells, ein Gradient-Boosting-Algorithmus oder jeder anderen Form von Modell oder Algorithmus für maschinelles Lernen. In Übereinstimmung mit der vorliegenden Offenbarung können die Trainingsdaten 3004 zuvor aufgenommene Bilder, LIDAR-Daten und Daten bekannter Fehler aufweisen. Die zuvor aufgenommenen Bildern und die LIDAR-Daten können von dem Host-Fahrzeug 2902 und/oder einem beliebigen anderen Fahrzeug 3002 erhalten werden. Die Fehlerdaten können einen bekannten Unterschied zwischen angenäherten Messungen von Zielobjekten 2802 (die z. B. durch eine Bildverarbeitung der zuvor aufgenommenen Bilder bestimmt werden) und wahren Messungen von Zielobjekten 2802 (die z. B. durch die LIDAR-Daten bestimmt werden) darstellen. Als Ergebnis des Prozesses 3000 kann das trainierte Modell 2708 des Zielobjektanalysemoduls 2706 dahin trainiert werden, eine Diskrepanz zwischen den angenäherten Messungen der Zielobjekte 2802 und den wahren Messungen der Zielobjekte 2802 zu bestimmen, und Informationen auszugeben, um den Fehler zu korrigieren. Beispielsweise kann das trainierte Modell 2708 dahin trainiert werden, einen Indikator einer Position des Zielobjekts 2802 bezüglich des Host-Fahrzeugs 2902 und den Wert von mindestens einem von: einer Höhe des Zielobjekts 2802, einer Breite des Zielobjekts 2802, einer Länge des Zielobjekts 2802, eine Geschwindigkeit des Zielobjekts 2802, eine Beschleunigung des Zielobjekts 2802 oder Fahrtrichtungen des Zielobjekts 2802 zu bestimmen.
  • In Übereinstimmung mit der vorliegenden Offenbarung kann das Zielobjektanalysemodul 2706 mindestens ein trainiertes Modell 2708 aufweisen, das dazu ausgelegt ist, die Vielzahl von aufgenommenen Bildern basierend auf Trainingsdaten 3004 einzeln oder gemeinsam zu analysieren. Die LIDAR-Daten können LIDAR-Tiefeninformationen aufweisen, die von einer Vielzahl von Fahrzeugen vor der Analyse der Vielzahl von aufgenommenen Bildern durch das Zielobjektanalysemodul 2706 aufgenommen wurden. Beispielsweise können die LIDAR-Daten mindestens eines von Höhen-, Tiefen- oder Breitenabmessungen für eine Vielzahl von Referenzobjekten aufweisen, die basierend auf den gesammelten LIDAR-Tiefeninformationen identifiziert wurden. Beispiele von LIDAR-Daten, die als Trainingsdaten 3004 verwendet werden können, können Punktwolkenmodelle aufweisen, die einen Satz von Datenpunkten aufweisen, die sich räumlich in einem bestimmten Koordinatensystem befinden (d. h. einen identifizierbaren Ort in einem durch ein jeweiliges Koordinatensystem beschriebenen Raum aufweisen). Der Begriff „Datenpunkt“ bezieht sich auf einen Punkt im Raum (der dimensionslos sein kann, oder ein Miniaturzellenraum sein kann, z. B. 1 cm3), und dessen Ort durch ein LIDAR-System bestimmt und durch das Punktwolkenmodell unter Verwendung eines Satzes von Koordinaten (z. B. (X,Y,Z), (r,ϕ,θ)) beschrieben werden kann. Beispielsweise können Zielobjekte 2802 in dem Punktwolkenmodell durch eine Vielzahl von Punkten dargestellt werden, und das Punktwolkenmodell kann zusätzliche Informationen für einige oder alle Zielobjekte 2802 speichern (z. B. Farbinformationen für aus Kamerabildern erzeugte Punkte).
  • In Übereinstimmung mit der vorliegenden Offenbarung und in Bezug auf Zielfahrzeuge können die Trainingsdaten 3004 auch Informationen über Typ, Marke und Modell des Zielfahrzeugs aufweisen. Die vorliegende Offenbarung ist nicht auf irgendeine Form von Trainingsdaten oder Trainingsalgorithmen beschränkt, und verschiedene andere Mittel können verwendet werden, um die Trainingsdaten zu erzeugen. In einigen Ausführungsformen kann das Navigationssystem einen Indikator der Bewegung des Zielobjekts 2802 (z. B. Geschwindigkeit, Beschleunigung oder Fahrtrichtungen) basierend auf zwei oder mehr der erzeugten Ausgaben bestimmen, und kann ferner auf einer empfangenen Ausgabe von mindestens einem Eigenbewegungssensor, der dem Host-Fahrzeug 2902 zugeordnet ist, basieren. Insbesondere kann das Zielobjektanalysemodul 2706 ein dediziertes trainiertes Modell 2708 zum Bestimmen der Geschwindigkeit des Zielobjekts 2802 basierend auf zwei oder mehr der erzeugten Ausgaben und der empfangenen Ausgabe von mindestens einem Eigenbewegungssensor aufweisen. Der mindestens eine Eigenbewegungssensor kann einen Tachometer, einen Beschleunigungsmesser und einen GPS-Empfänger aufweisen. Außerdem kann jede der zwei oder mehr der erzeugten Ausgaben durch das Zielobjektanalysemodul 2706 erzeugt werden, das ein einzelnes Bild 2800 verarbeitet.
  • 31 ist ein Flussdiagramm, das einen beispielhaften Prozess 3100 zum Bestimmen eines Indikators der Position des Zielobjekts 2802 bezüglich des Host-Fahrzeugs 2902 zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Der Prozess 3100 kann von mindestens einer Verarbeitungsvorrichtung eines Host-Fahrzeugs, wie etwa der Verarbeitungseinheit 110, wie sie oben beschrieben wurde, durchgeführt werden. Es versteht sich, dass der Begriff „Prozessor“ in der gesamten vorliegenden Offenbarung als Kurzform für „mindestens ein Prozessor“ verwendet wird. Mit anderen Worten, ein Prozessor kann eine oder mehrere Strukturen aufweisen, die logische Operationen ausführen, unabhängig davon, ob solche Strukturen nebeneinander angeordnet, verbunden oder verteilt sind. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor den Prozess 3100 durchführt. Ferner ist der Prozess 3100 nicht notwendigerweise auf die in 31 gezeigten Schritte beschränkt, und alle Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben sind, können auch in dem Prozess 3100 enthalten sein, einschließlich derjenigen, die oben mit Bezug auf die 27-30 beschrieben sind.
  • Bei Schritt 3102 kann der Prozess 3100 ein Empfangen, von einer Kamera an Bord des Host-Fahrzeugs, einer Vielzahl von aufgenommenen Bildern, die eine Umgebung des Host-Fahrzeugs darstellen, aufweisen. Beispielsweise kann das Host-Fahrzeug 2902 ein Bild 2800 empfangen, das von den Bildaufnahmevorrichtungen 122, 124 und 126, wie oben beschrieben, aufgenommen wurde. In einer Ausführungsform kann jedes der Vielzahl von aufgenommenen Bildern eine Darstellung von mindestens einem Teil des Zielobjekts 2802 aufweisen. Außerdem können eines oder mehrere der Vielzahl von aufgenommenen Bildern eine Okklusion aufweisen, die das Zielobjekt 2802 mindestens teilweise verdeckt. Beispielsweise kann die Okklusion eine Darstellung eines anderen Fahrzeugs, eine Darstellung eines Zeichens oder eine Darstellung eines Fußgängers aufweisen. In einigen Fällen kann die Okklusion des Zielobjekts 2802 als Ergebnis davon auftreten, dass sich mindestens ein Teil des Zielobjekts 2802 über einen Rahmen hinaus erstreckt, der dem einen oder den mehreren der Vielzahl von aufgenommenen Bildern zugeordnet ist.
  • Bei Schritt 3104 kann der Prozess 3100 ein Bereitstellen jedes der Vielzahl von aufgenommenen Bildern an ein Zielobjektanalysemodul aufweisen, das mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von aufgenommenen Bildern mindestens einen Indikator einer Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist. In offenbarten Ausführungsformen kann das mindestens eine trainierte Modell des Zielobjektanalysemoduls 2706 jedes der Vielzahl von aufgenommenen Bildern basierend auf Trainingsdaten analysieren, die eines oder mehrere zuvor aufgenommene Bilder und/oder zuvor erfasste LIDAR-Tiefeninformationen aufweisen. Beispielsweise kann der mindestens eine Teil des Bildes 2800 dem trainierten Modell 2708 bereitgestellt werden. Die Trainingsdaten (z. B. die Trainingsdaten 3004) können auch Positionsinformationen für eine Vielzahl von Referenzobjekten aufweisen, die in den zuvor aufgenommenen Bildern dargestellt sind. Beispielsweise kann das Zielobjektanalysemodul 2706 ein lernendes System (z. B. das trainiertes Modell 2708) aufweisen. Das lernende System kann ein neuronales Netz oder andere maschinelle Lernalgorithmen aufweisen. In einigen Ausführungsformen kann das trainierte Modell 2708 mindestens basierend auf einem Trainingsdatensatz konfiguriert sein, der eine Vielzahl von Trainingsbildern aufweist, die unterschiedliche Messungen von Referenzzielobjekten 2800 bezüglich einem Trainingsnavigationskartensegment darstellen. Insbesondere kann das trainierte Modell 2708 basierend auf Trainingsdaten 3004 trainiert werden, wie in 30 gezeigt wird. In einigen Ausführungsformen kann das trainierte Modell 2708 mindestens basierend auf einer Belohnungsfunktion konfiguriert sein. Beispielsweise kann die Belohnungsfunktion das trainierte Modell 2708 dafür belohnen, die Unterschiede der Messungen von Zielobjekten 2800 zwischen den Trainingsbildern und dem Trainingsnavigationskartensegment zu verringern. In einigen Ausführungsformen kann der Prozessor auch eine Geschwindigkeit des Zielobjekts 2802 basierend auf zwei oder mehr der erzeugten Ausgaben und ferner basierend auf einer empfangenen Ausgabe von mindestens einem Eigenbewegungssensor, der mit dem Host-Fahrzeug 2902 zugeordnet ist, bestimmen. Der mindestens eine Eigenbewegungssensor kann mindestens einen von einem Geschwindigkeitsmesser, einem Beschleunigungsmesser oder einem GPS-Empfänger aufweisen. In einigen Ausführungsformen kann der mindestens eine Eigenbewegungssensor eine beliebige Kombination von zwei oder mehreren von einem Tachometer, einem Beschleunigungsmesser und einem GPS-Empfänger aufweisen.
  • Bei Schritt 3106 kann der Prozess 3100 ein Empfangen der erzeugten Ausgabe von dem Zielobjektanalysemodul aufweisen, die den Indikators der Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist. In offenbarten Ausführungsformen kann der Indikator der Position des Zielobjekts 2802 bezüglich des Host-Fahrzeugs 2902 einen Abstand zwischen einem dem Host-Fahrzeug zugeordneten Referenzpunkt und einem dem Zielobjekt 2802 zugeordneten Zielpunkt aufweisen. Beispielsweise kann der dem Host-Fahrzeug 2902 zugeordnete Referenzpunkt einen Ort aufweisen, der der Kamera des Host-Fahrzeugs 2902 zugeordnet ist, und der Zielpunkt kann einen Ort eines Teils des Zielobjekts 2802 aufweisen, das in einem der Vielzahl von aufgenommenen Bildern als am nächsten, zu dem Referenzpunkt dargestellt ist, der dem Host-Fahrzeug 2902 zugeordnet ist. In einigen Ausführungsformen kann der Prozessor von dem Zielobjektanalysemodul 2706 Informationen empfangen, die einen Typ des Zielobjekts 2802 angeben. Beispielsweise kann der Typ des Zielobjekts 2802 ein Fahrzeug angeben, eine Fahrzeuggrößenklasse angeben, ein Fahrzeugmodell angeben, einen Fußgänger angeben, oder ein Hindernis auf einer Fahrbahn in der Umgebung des Host-Fahrzeugs 2902 angeben. In Übereinstimmung mit der vorliegenden Offenbarung kann das Zielobjektanalysemodul 2706 den Indikator der Position des Zielobjekts 2802 bezügliche des Host-Fahrzeugs 2902 für ein bestimmtes der Vielzahl von aufgenommenen Bildern ausgeben, wobei mindestens eine Fläche des Zielobjekts in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt sein kann. Beispielsweise kann das Zielobjekt 2802 ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs (z. B. das Fahrzeug 2802A oder der Lastkraftwagen 2802B) sein, und die mindestens eine Fläche kann einem Heck des Zielfahrzeugs zugeordnet sein. Darüber hinaus kann das Zielobjektanalysemodul 2706 den Indikator der Position des Zielobjekts 2802 bezüglich des Host-Fahrzeugs 2902 für ein bestimmtes der Vielzahl von aufgenommenen Bildern ausgeben, wobei mindestens zwei Flächen des Zielobjekts 2802 mindestens teilweise verdeckt sein können in dem bestimmten der Vielzahl von aufgenommenen Bildern. Beispielsweise kann das Zielobjekt 2802 ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs 2902 sein, und die mindestens zwei Flächen können einem Heck des Zielfahrzeugs und einer Seite des Zielfahrzeugs zugeordnet sein. Insbesondere können die mindestens zwei Flächen verdeckten Seitenflächen oder einer Rückfläche im hinteren Bereich des Zielfahrzeugs zugeordnet sein.
  • Bei Schritt 3108 kann der Prozess 3100 ein Bestimmen mindestens einer durch das Host-Fahrzeug vorzunehmenden Navigationsaktion basierend auf dem Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweisen. Die Navigationsaktion kann jede Aktion des Host-Fahrzeugs 2902 in Bezug auf die Bewegung des Host-Fahrzeugs 2902 aufweisen. Beispielsweise kann die Navigationsaktion mindestens eines von Beschleunigen des Host-Fahrzeugs 2902, Verlangsamen des Host-Fahrzeugs 2902, oder Abbiegen des Host-Fahrzeugs 2902 aufweisen. Bei Schritt 3110 kann der Prozess 3100 ein Bewirken, dass die mindestens eine Navigationsaktion von dem Host-Fahrzeug vorgenommen wird, aufweisen. Dies kann ein Senden eines Signals aufweisen, um einen Lenkmechanismus, einen Bremsmechanismus, ein Gaspedal oder einen anderen Mechanismus des Host-Fahrzeugs zu aktivieren. In einigen Ausführungsformen kann die Navigationsaktion darin bestehen, eine aktuelle Kursrichtung und/oder Geschwindigkeit des Host-Fahrzeugs 2902 beizubehalten. Dementsprechend kann das Bewirken der mindestens einen Navigationsaktion aufweisen, dass ein Lenk- oder Bremsmechanismus nicht aktiviert wird.
  • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess 3200 zum Bestimmen eines ersten Werts, der eine Höhe des Zielobjekts 2802 angibt, und mindestens eines zweiten Werts, der eine Breite oder Länge des Zielobjekts 2802 angibt, zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen. Wie oben unter Bezugnahme auf den Prozess 3100 erläutert wurde, kann der Prozess 3200 von mindestens einer Verarbeitungsvorrichtung des Host-Fahrzeugs 2902, wie etwa der Verarbeitungseinheit 110, durchgeführt werden, wie oben beschrieben wurde. In einigen Ausführungsformen kann ein nicht flüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie von einem Prozessor ausgeführt werden, bewirken, dass der Prozessor den Prozess 3200 durchführt. Ferner ist der Prozess 3200 nicht notwendigerweise auf die in 32 gezeigten Schritte beschränkt, und alle Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben sind, können auch in dem Prozess 3200 enthalten sein, einschließlich derjenigen, die oben mit Bezug auf die 27-31 beschrieben sind.
  • Bei Schritt 3202 kann der Prozess 3200 ein Empfangen einer Vielzahl von aufgenommenen Bildern, die eine Umgebung des Host-Fahrzeugs darstellen, von einer Kamera an Bord des Host-Fahrzeugs aufweisen. Wie oben erläutert, kann der Prozessor ein Bild 2800 empfangen, das von den Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurde. In offenbarten Ausführungsformen weist jedes der Vielzahl von aufgenommenen Bildern eine Darstellung des Zielobjekts 2802 auf. Wie oben erläutert wurde, kann das Zielobjekt 2802 ein Fahrzeug in der Umgebung des Host-Fahrzeugs 2902 (z. B. das Fahrzeug 2802A oder der Lastkraftwagen 2802B) sein. Das Zielobjekt 2802 kann auch ein Fußgänger in der Umgebung des Host-Fahrzeugs 2902 (z. B. der Fußgänger 2802C) oder ein statisches Objekt auf einer Straßenoberfläche (z. B. das Verkehrszeichen 2802D) sein.
  • Bei Schritt 3204 kann der Prozess 3200 ein Bereitstellen jedes der Vielzahl von aufgenommenen Bildern an ein Zielobjektanalysemodul aufweisen, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von aufgenommenen Bildern einen ersten Wert, der eine Höhe eines Zielobjekts angibt, das in einem bestimmten der Vielzahl von aufgenommenen Bildern identifiziert ist, und mindestens einen zweiten Wert, der eine Breite oder Länge des Zielobjekts angibt, aufweist. In offenbarten Ausführungsformen kann das Zielobjektanalysemodul 2706 mindestens ein trainiertes Modell 2708 aufweisen, das dazu ausgelegt ist, jedes der Vielzahl von aufgenommenen Bildern basierend auf Trainingsdaten 3004 zu analysieren. Mindestens ein trainiertes Modell 2708 kann ein neuronales Netz aufweisen, und die Trainingsdaten (z. B. die Trainingsdaten 3004) können LIDAR-Tiefeninformationen aufweisen, die von einer Vielzahl von Fahrzeugen vor der Analyse der Vielzahl von aufgenommenen Bildern durch das Zielobjektanalysemodul 2706 erfasst wurden. Insbesondere können die Trainingsdaten 3004 mindestens eines von Höhen-, Tiefen- oder Breitenabmessungen für eine Vielzahl von Referenzobjekten aufweisen, die basierend auf den gesammelten LIDAR-Tiefeninformationen identifiziert oder aus anderen Tiefenbestimmungstechniken (z. B. Structure-in-Motion-Berechnungen basierend auf aufgenommenen Bildern) bestimmt wurden, physikalischen Messungen, die den aufgenommenen Bildern zugeordnet sind, Parallaxeninformationen, die von zwei oder mehr Kameras mit überlappenden FOVs verfügbar sind, usw.) bestimmt wurden. In anderen Ausführungsformen kann das Zielobjektanalysemodul 2706 den ersten Wert und den zweiten Wert für ein bestimmtes der Vielzahl von aufgenommenen Bildern ausgeben, wobei mindestens eine Fläche des Zielobjekts 2802 in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt sein kann. Wenn beispielsweise das Zielobjekt 2802 ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs 2902 ist, kann die mindestens eine Fläche einem Heck des Zielfahrzeugs zugeordnet sein. Außerdem kann das Zielobjektanalysemodul 2706 den ersten Wert, den zweiten Wert und einen dritten Wert für ein bestimmtes der Vielzahl von aufgenommenen Bildern ausgeben, wobei mindestens zwei Flächen des Zielobjekts 2802 in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt sind. In diesem Fall kann der erste Wert eine Höhe eines Zielobjekts angeben, kann der zweite Wert eine Breite des Zielobjekts angeben, und kann der dritte Wert eine Länge des Zielobjekts angeben. Wenn beispielsweise das Zielobjekt 2802 ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs 2902 ist, können die mindestens zwei Flächen einem Heck des Zielfahrzeugs und einer Seite des Zielfahrzeugs zugeordnet sein.
  • Bei Schritt 3206 kann der Prozess 3200 ein Empfangen der erzeugten Ausgabe, die den ersten und den zweiten Wert aufweist, von dem Zielobjektanalysemodul für jedes der Vielzahl von aufgenommenen Bildern aufweisen. Wie oben erwähnt, geben der erste Wert und der zweite Wert reale Abmessungen des Zielobjekts 2802 an. In einigen Ausführungsformen kann der Prozessor auch ein Konfidenzniveau für die durch das Zielobjektanalysemodul 2706 erzeugte Ausgabe bestimmen und bereitstellen. Wenn das Konfidenzniveau kleiner als ein Schwellenwert ist, kann der Prozessor ein nachfolgendes Bild verarbeiten, um das Konfidenzniveau in der erzeugten Ausgabe zu verbessern. Danach kann der Prozessor die Ausgabe und das Konfidenzniveau, die durch das Zielobjektanalysemodul 2706 erzeugt wurden, aktualisieren. Beispielsweise kann das Zielobjektanalysemodul 2706 einen ersten und einen zweiten Wert in Bezug auf ein Zielfahrzeug, wie in einem ersten Bildframe dargestellt wird, bestimmen, aber bei der Verarbeitung eines zweiten nachfolgenden Bildes, in dem sich das Zielfahrzeug näher an dem Host-Fahrzeug 2902 befindet, kann das Zielobjektanalysemodul 2706 den ersten und den zweiten Werte, die dem Zielfahrzeug zugeordnet sind, aktualisieren. Beispiele für Faktoren, die das Konfidenzniveau eines bestimmten Satzes von erzeugten Werten (z. B. Abmessungen, Position, Begrenzungsrahmen, Geschwindigkeit usw.) beeinflussen können, können einen Grad der Okklusion eines Zielobjekts, wie viele Kanten eines Zielobjekts teilweise oder vollständig verdeckt sind, ob ein hinterer Teil eines Zielfahrzeugs verdeckt wird, usw. aufweisen. Beispielsweise kann in einigen Fällen ein Fahrzeug, wie etwa ein Lieferwagen, teilweise verdeckt sein, aber das Bild enthält genügend Informationen für das Netzwerk, um Abmessungen usw. des Lieferwagens basierend auf einem einzelnen aufgenommenen Bildframe genau zu bestimmen. Ein solches Szenario kann ein Bild eines Lieferwagens aufweisen, bei dem nur ein Teil eines hinteren Stoßfängers (wie etwa eine linke Seite eines hinteren Stoßfängers) in der Sicht verdeckt wird. In anderen Fällen, z. B. wenn eine gesamte hintere Hälfte eines Fahrzeugs in einem aufgenommenen Bild verdeckt wird, kann das Netzwerk immer noch Abmessungen usw. basierend auf einem einzelnen aufgenommenen Bildframe erzeugen, aber das mit der erzeugten Ausgabe verbundene Konfidenzniveau kann aufgrund eines Unsicherheitsniveaus, das dem blockierten Teil des Fahrzeugs zugeordnet ist (z. B., ob das Fahrzeug einen Anhänger zieht usw.), verringert sein.
  • Bei Schritt 3208 kann der Prozess 3200 ein Bewirken mindestens einer Navigationsaktion durch das Host-Fahrzeug basierend auf dem ersten und dem zweiten Wert, die mindestens einem der Vielzahl von aufgenommenen Bildern zugeordnet sind, aufweisen. Wie oben beschrieben wurde, kann die mindestens eine Navigationsaktion eine beliebige Aktion des Host-Fahrzeugs 2902 in Bezug auf die Bewegung des Host-Fahrzeugs 2902 aufweisen. Beispielsweise kann die Navigationsaktion mindestens eines von Beschleunigen des Host-Fahrzeugs 2902, Verlangsamen des Host-Fahrzeugs 2902 oder Abbiegen des Host-Fahrzeugs 2902 aufweisen. Außerdem kann die Navigationsaktion, wie oben beschrieben wurde, darin bestehen, eine aktuelle Kursrichtung und/oder Geschwindigkeit des Host-Fahrzeugs 2902 beizubehalten. Dementsprechend kann ein Bewirken der mindestens einen Navigationsaktion ein Vermeiden einer Aktivierung eines Lenk- oder Bremsmechanismus aufweisen.
  • Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung gegeben. Sie ist nicht erschöpfend und nicht auf die genauen offenbarten Formen oder Ausführungsformen beschränkt. Modifizierungen und Anpassungen werden Fachleuten aus der Betrachtung der Spezifikation und der Praxis der offenbarten Ausführungsformen offensichtlich sein. Obwohl Aspekte der offenbarten Ausführungsformen als in einem Speicher gespeichert beschrieben wurden, wird ein Fachmann außerdem erkennen, dass diese Aspekte auch auf anderen Typen von computerlesbaren Medien gespeichert sein können, beispielsweise auf einer CD-ROM oder auf anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-ray, oder anderen Medien für optischen Laufwerke.
  • Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Verfahren basieren, liegen innerhalb des Könnens eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können mit beliebigen dem Fachmann bekannten Techniken erstellt werden oder in Verbindung mit bestehender Software entworfen werden. Programmteile oder Programmmodule können beispielsweise in dem oder durch das .Net Framework, das .Net Compact Framework (und verwandte Sprachen, wie etwa Visual Basic, C etc.), Java, C++, Objective C, HTML, HTML/AJAX-Kombinationen, XML oder HTML, mit darin enthaltenen Java-Applets, entworfen werden.
  • Darüber hinaus wird, obwohl hierin veranschaulichende Ausführungsformen beschrieben wurden, der Umfang sämtlicher Ausführungsformen, die Elemente, Modifizierungen, Weglassungen, Kombinationen (z. B. von Aspekten, die sich über verschiedene Ausführungsformen erstrecken), Anpassungen und/oder Änderungen aufweisen, die äquivalent sind, von einem Fachmann als auf die vorliegenden Offenbarung basierend angesehen. Die Beschränkungen in den Ansprüchen sind basierend auf der in den Ansprüchen verwendeten Sprache weit zu interpretieren, und sind nicht auf Beispiele beschränkt, die in der vorliegenden Beschreibung oder während der Bearbeitung der Anmeldung beschrieben werden. Die Beispiele sind als nicht ausschließlich zu verstehen. Darüber hinaus können die Schritte der offenbarten Verfahren auf beliebige Weise modifiziert werden, was ein Neuordnen von Schritten und/oder Einfügen oder Löschen von Schritten aufweist. Es ist daher beabsichtigt, dass die Beschreibung und die Beispiele nur als veranschaulichend angesehen werden, wobei ein wahrer Umfang und Wesen durch die folgenden Ansprüche und ihren vollen Umfang von Äquivalenten angegeben werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/956979 [0001]

Claims (51)

  1. Navigationssystem für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer Kamera an Bord des Host-Fahrzeugs, einer Vielzahl von aufgenommenen Bildern, die eine Umgebung des Host-Fahrzeugs darstellen; Bereitstellen jedes der Vielzahl von aufgenommenen Bildern an ein Zielobjektanalysemodul, das mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von aufgenommenen Bildern mindestens einen Indikator einer Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist; Empfangen, von dem Zielobjektanalysemodul, der erzeugten Ausgabe, die den Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs aufweist; Bestimmen mindestens einer von dem Host-Fahrzeug vorzunehmenden Navigationsaktion basierend auf dem Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs; und Bewirken der mindestens einen Navigationsaktion durch das Host-Fahrzeug.
  2. Navigationssystem nach Anspruch 1, wobei der Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs einen Abstand zwischen einem dem Host-Fahrzeug zugeordneten Referenzpunkt und einem dem Zielobjekt zugeordneten Zielpunkt aufweist.
  3. Navigationssystem nach Anspruch 2, wobei der dem Host-Fahrzeug zugeordnete Referenzpunkt einen Ort aufweist, der der Kamera des Host-Fahrzeugs zugeordnet ist.
  4. Navigationssystem nach Anspruch 2, wobei der Zielpunkt einen Ort eines Teils des Zielobjekts aufweist, der in einem der Vielzahl von aufgenommenen Bildern dargestellt wird, der dem Referenzpunkt, der dem Host-Fahrzeug zugeordnet ist, am nächsten liegt.
  5. Navigationssystem nach Anspruch 1, wobei der mindestens eine Prozessor ferner dazu programmiert ist, eine Geschwindigkeit des Zielobjekts basierend auf zwei oder mehr der erzeugten Ausgaben und ferner basierend auf einer empfangenen Ausgabe von mindestens einem Eigenbewegungssensor, der dem Host-Fahrzeug zugeordnet ist, zu bestimmen.
  6. Navigationssystem nach Anspruch 5, wobei der Eigenbewegungssensor mindestens eines von einem Tachometer, einem Beschleunigungsmesser, oder einem GPS-Empfänger aufweist.
  7. Navigationssystem nach Anspruch 1, wobei das mindestens eine trainierte Modell dazu ausgelegt ist, jedes der Vielzahl von aufgenommenen Bildern basierend auf Trainingsdaten zu analysieren, die eines oder mehrere von zuvor aufgenommenen Bildern oder zuvor erfassten LIDAR-Tiefeninformationen aufweisen.
  8. Navigationssystem nach Anspruch 7, wobei das mindestens eine trainierte Modell ein neuronales Netz aufweist.
  9. Navigationssystem nach Anspruch 7, wobei die Trainingsdaten Positionsinformationen für eine Vielzahl von Referenzobjekten aufweisen, die in den zuvor aufgenommenen Bildern dargestellt sind.
  10. Navigationssystem nach Anspruch 1, wobei das Zielobjektanalysemodul dazu ausgelegt ist, den Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs für ein bestimmtes der Vielzahl von aufgenommenen Bildern auszugeben, wobei mindestens eine Fläche des Zielobjekts in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt wird.
  11. Navigationssystem nach Anspruch 10, wobei das Zielobjekt ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs ist, und die mindestens eine Fläche einem Heck des Zielfahrzeugs zugeordnet ist.
  12. Navigationssystem nach Anspruch 1, wobei das Zielobjektanalysemodul dazu ausgelegt ist, den Indikator der Position des Zielobjekts bezüglich des Host-Fahrzeugs für ein bestimmtes der Vielzahl von aufgenommenen Bildern auszugeben, wobei mindestens zwei Flächen des Zielobjekts in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt werden.
  13. Navigationssystem nach Anspruch 12, wobei das Zielobjekt ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs ist, und die mindestens zwei Flächen einem Heck des Zielfahrzeugs und einer Seite des Zielfahrzeugs zugeordnet sind.
  14. Navigationssystem nach Anspruch 1, wobei das Zielobjekt ein Fahrzeug in der Umgebung des Host-Fahrzeugs aufweist.
  15. Navigationssystem nach Anspruch 1, wobei das Zielobjekt einen Fußgänger aufweist.
  16. Navigationssystem nach Anspruch 1, wobei das Zielobjekt ein statisches Objekt auf einer Straßenoberfläche aufweist.
  17. Navigationssystem nach Anspruch 1, wobei jedes der Vielzahl von aufgenommenen Bildern eine Darstellung von mindestens einem Teil des Zielobjekts aufweist.
  18. Navigationssystem nach Anspruch 1, wobei der mindestens eine Prozessor ferner dazu programmiert ist, von dem Zielobjektanalysemodul Informationen zu empfangen, die einen Typ des Zielobjekts angeben.
  19. Navigationssystem nach Anspruch 18, wobei der Typ des Zielobjekts mindestens eines von einem Fahrzeug oder einer Fahrzeuggrößenklasse angibt.
  20. Navigationssystem nach Anspruch 18, wobei der Typ des Zielobjekts einen Fußgänger angibt.
  21. Navigationssystem nach Anspruch 18, wobei der Typ des Zielobjekts ein Hindernis auf einer Fahrbahn in der Umgebung des Host-Fahrzeugs angibt.
  22. Navigationssystem nach Anspruch 1, wobei eines oder mehrere der Vielzahl von aufgenommenen Bildern eine Okklusion aufweisen, die das Zielobjekt mindestens teilweise verdeckt.
  23. Navigationssystem nach Anspruch 22, wobei die Okklusion eine Darstellung eines anderen Fahrzeugs aufweist.
  24. Navigationssystem nach Anspruch 22, wobei die Okklusion eine Darstellung eines Zeichens aufweist.
  25. Navigationssystem nach Anspruch 22, wobei die Okklusion eine Darstellung eines Fußgängers aufweist.
  26. Navigationssystem nach Anspruch 22, wobei die Okklusion als Ergebnis davon auftritt, dass sich mindestens ein Teil des Zielobjekts über einen Rahmen hinaus erstreckt, der dem einen oder den mehreren der Vielzahl von aufgenommenen Bildern zugeordnet ist.
  27. Navigationssystem nach Anspruch 1, wobei die Navigationsaktion mindestens eines von Beschleunigen, Bremsen oder Wenden des Host-Fahrzeugs aufweist.
  28. Navigationssystem für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer Kamera an Bord des Host-Fahrzeugs, einer Vielzahl von aufgenommenen Bildern, die eine Umgebung des Host-Fahrzeugs darstellen; Bereitzustellen jedes der Vielzahl von aufgenommenen Bildern einem Zielobjektanalysemodul, das dazu ausgelegt ist, eine Ausgabe für jedes der Vielzahl von aufgenommenen Bildern zu erzeugen, wobei die erzeugte Ausgabe für jedes der Vielzahl von aufgenommenen Bildern einen ersten Wert, der eine Höhe eines Zielobjekts angibt, das in einem bestimmten der Vielzahl von aufgenommenen Bildern identifiziert ist, und mindestens einen zweiten Wert, der eine Breite oder Länge des Zielobjekts angibt, aufweist; Empfangen, von dem Zielobjektanalysemodul, der erzeugten Ausgabe, die den ersten und den zweiten Wert aufweist, für jedes der Vielzahl von aufgenommenen Bildern; und Bewirken von mindestens einer Navigationsaktion durch das Host-Fahrzeug basierend auf dem ersten und dem zweiten Wert, die mindestens einem der Vielzahl von aufgenommenen Bildern zugeordnet sind.
  29. Navigationssystem nach Anspruch 28, wobei das Zielobjektanalysemodul mindestens ein trainiertes Modell aufweist, das dazu ausgelegt ist, jedes der Vielzahl von aufgenommenen Bildern basierend auf Trainingsdaten zu analysieren, die Tiefeninformationen aufweisen, die vor der Analyse der Vielzahl von aufgenommenen Bildern durch das Zielobjektanalysemodul erfasst wurden.
  30. Navigationssystem nach Anspruch 29, wobei das mindestens eine trainierte Modell ein neuronales Netz aufweist.
  31. Navigationssystem nach Anspruch 29, wobei die Trainingsdaten mindestens eines von Höhen-, Tiefen- oder Breitenabmessungen für eine Vielzahl von Referenzobjekten aufweisen, die basierend auf den gesammelten Tiefeninformationen identifiziert wurden.
  32. Navigationssystem nach Anspruch 28, wobei das Zielobjektanalysemodul dazu ausgelegt ist, den ersten Wert und den zweiten Wert für ein bestimmtes der Vielzahl von aufgenommenen Bildern auszugeben, wobei mindestens eine Fläche des Zielobjekts in dem bestimmten der Vielzahl von aufgenommenen Bildern mindestens teilweise verdeckt wird.
  33. Navigationssystem nach Anspruch 32, wobei das Zielobjekt ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs ist, und die mindestens eine Fläche einem Heck des Zielfahrzeugs zugeordnet ist.
  34. Navigationssystem nach Anspruch 28, wobei das Zielobjektanalysemodul dazu ausgelegt ist, den ersten Wert, den zweiten Wert und einen dritten Wert für ein bestimmtes der Vielzahl von aufgenommenen Bildern auszugeben, wobei mindestens zwei Flächen des Zielobjekts mindestens teilweise verdeckt werden in dem bestimmten der Vielzahl von aufgenommenen Bildern, und wobei der zweite Wert eine Breite des Zielobjekts angibt und der dritte Wert eine Länge des Zielobjekts angibt.
  35. Navigationssystem nach Anspruch 34, wobei das Zielobjekt ein Zielfahrzeug in der Umgebung des Host-Fahrzeugs ist, und die mindestens zwei Flächen einem Heck des Zielfahrzeugs und einer Seite des Zielfahrzeugs zugeordnet sind.
  36. Navigationssystem nach Anspruch 34, wobei der erste Wert, der zweite Wert und der dritte Wert reale Abmessungen des Zielobjekts angeben.
  37. Navigationssystem nach Anspruch 28, wobei der erste Wert und der zweite Wert reale Abmessungen des Zielobjekts angeben.
  38. Navigationssystem nach Anspruch 28, wobei das Zielobjekt ein Fahrzeug in der Umgebung des Host-Fahrzeugs aufweist.
  39. Navigationssystem nach Anspruch 28, wobei jedes der Vielzahl von aufgenommenen Bildern eine Darstellung des Zielobjekts aufweist.
  40. Navigationssystem nach Anspruch 28, wobei der mindestens eine Prozessor ferner dazu programmiert ist, von dem Zielobjektanalysemodul Informationen zu empfangen, die einen Typ des Zielobjekts angeben.
  41. Navigationssystem nach Anspruch 40, wobei der Typ des Zielobjekts mindestens eines von einem Fahrzeug oder einer Fahrzeuggrößenklasse angibt.
  42. Navigationssystem nach Anspruch 40, wobei der Typ des Zielobjekts einen Fußgänger angibt.
  43. Navigationssystem nach Anspruch 40, wobei der Typ des Zielobjekts ein Hindernis auf einer Fahrbahn in der Umgebung des Host-Fahrzeugs angibt.
  44. Navigationssystem nach Anspruch 28, wobei eines oder mehrere der Vielzahl von aufgenommenen Bildern eine Okklusion aufweisen, die das Zielobjekt mindestens teilweise verdeckt.
  45. Navigationssystem nach Anspruch 44, wobei die Okklusion eine Darstellung eines anderen Fahrzeugs aufweist.
  46. Navigationssystem nach Anspruch 44, wobei die Okklusion eine Darstellung eines Zeichens aufweist.
  47. Navigationssystem nach Anspruch 44, wobei die Okklusion eine Darstellung eines Fußgängers aufweist.
  48. Navigationssystem nach Anspruch 44, wobei die Okklusion als Ergebnis davon auftritt, dass sich mindestens ein Teil des Zielobjekts über einen Rahmen hinaus erstreckt, der dem einen oder den mehreren der Vielzahl von aufgenommenen Bildern zugeordnet ist.
  49. Navigationssystem nach Anspruch 28, wobei die Navigationsaktion mindestens eines von Beschleunigen, Bremsen oder Wenden des Host-Fahrzeugs aufweist.
  50. Navigationssystem nach Anspruch 28, wobei die Ausgabe, die von dem Zielobjektanalysemodul für jedes der Vielzahl von aufgenommenen Bildern erzeugt wird, einen dem Zielobjekt zugeordneten Begrenzungsrahmen aufweist.
  51. Navigationssystem nach Anspruch 29, wobei der mindestens eine Prozessor dazu programmiert ist, eine Geschwindigkeit des Zielobjekts basierend auf Begrenzungsrahmen zu bestimmen, die dem Zielobjekt zugeordnet sind, das durch das Zielobjektanalysemodul basierend auf der Analyse von zwei oder mehr der Vielzahl von aufgenommenen Bildern erzeugt wurde.
DE112020002869.0T 2020-01-03 2020-12-31 Navigationssysteme und verfahren zum bestimmen von objektabmessungen Pending DE112020002869T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062956979P 2020-01-03 2020-01-03
US62/956,979 2020-01-03
PCT/IB2020/001092 WO2021136967A2 (en) 2020-01-03 2020-12-31 Navigation systems and methods for determining object dimensions

Publications (1)

Publication Number Publication Date
DE112020002869T5 true DE112020002869T5 (de) 2022-03-10

Family

ID=74494946

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020002869.0T Pending DE112020002869T5 (de) 2020-01-03 2020-12-31 Navigationssysteme und verfahren zum bestimmen von objektabmessungen

Country Status (5)

Country Link
US (1) US20230175852A1 (de)
EP (1) EP4085232A2 (de)
CN (1) CN113924462A (de)
DE (1) DE112020002869T5 (de)
WO (1) WO2021136967A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220001866A1 (en) * 2020-07-01 2022-01-06 Toyota Jidosha Kabushiki Kaisha Information processing method, non-transitory computer readable medium, in-vehicle apparatus, vehicle, information processing apparatus, and information processing system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020503612A (ja) * 2016-12-22 2020-01-30 ニッサン ノース アメリカ,インク 自律走行車両サービスシステム
FR3084631B1 (fr) * 2018-07-31 2021-01-08 Valeo Schalter & Sensoren Gmbh Assistance a la conduite pour le controle longitudinal et/ou lateral d'un vehicule automobile
DE102021107904A1 (de) * 2021-03-29 2022-09-29 Conti Temic Microelectronic Gmbh Verfahren und System zur Bestimmung der Bodenebene mit einem künstlichen neuronalen Netz
CN116071284A (zh) * 2021-10-25 2023-05-05 北京图森智途科技有限公司 交通标志物检测方法和交通标志物检测模型的训练方法
US20230202473A1 (en) * 2021-12-29 2023-06-29 Mobileye Vision Technologies Ltd. Calculating vehicle speed for a road curve
WO2023196288A1 (en) 2022-04-04 2023-10-12 Mobileye Vision Technologies Ltd. Detecting an open door using a sparse representation
US20240098364A1 (en) * 2022-09-21 2024-03-21 GM Global Technology Operations LLC Methods and systems for automated frame synchronization after initial video feed
US11972613B1 (en) * 2022-10-28 2024-04-30 Zoox, Inc. Apparatus and methods for atmospheric condition detection

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101234601A (zh) * 2007-01-30 2008-08-06 南京理工大学 基于单目视觉的汽车巡航控制方法及其实现系统
KR102384175B1 (ko) * 2015-07-29 2022-04-08 주식회사 만도모빌리티솔루션즈 차량의 카메라 장치
US10137890B2 (en) * 2016-06-28 2018-11-27 Toyota Motor Engineering & Manufacturing North America, Inc. Occluded obstacle classification for vehicles
CA3029124A1 (en) * 2016-07-21 2018-01-25 Mobileye Vision Technologies Ltd. Crowdsourcing and distributing a sparse map, and lane measurements for autonomous vehicle navigation
EP3497405B1 (de) * 2016-08-09 2022-06-15 Nauto, Inc. System und verfahren zur präzisionsortung und kartierung
US11761790B2 (en) * 2016-12-09 2023-09-19 Tomtom Global Content B.V. Method and system for image-based positioning and mapping for a road network utilizing object detection
CN106909148A (zh) * 2017-03-10 2017-06-30 南京沃杨机械科技有限公司 基于农田环境感知的农机无人驾驶导航方法
US10311312B2 (en) * 2017-08-31 2019-06-04 TuSimple System and method for vehicle occlusion detection
CN107328424B (zh) * 2017-07-12 2020-12-11 三星电子(中国)研发中心 导航方法和装置
CN107380163A (zh) * 2017-08-15 2017-11-24 上海电气自动化设计研究所有限公司 基于磁导航的汽车智能报警预测系统及其方法
US10268204B2 (en) * 2017-08-30 2019-04-23 GM Global Technology Operations LLC Cross traffic detection using cameras
CN107886749A (zh) * 2017-12-13 2018-04-06 南通理工学院 一种行车提醒方法及装置
CN108596058A (zh) * 2018-04-11 2018-09-28 西安电子科技大学 基于计算机视觉的行车障碍物测距方法
CN108909624B (zh) * 2018-05-13 2021-05-18 西北工业大学 一种基于单目视觉的实时障碍物检测和定位方法
US10839234B2 (en) * 2018-09-12 2020-11-17 Tusimple, Inc. System and method for three-dimensional (3D) object detection
CN109948448B (zh) * 2019-02-20 2021-03-12 苏州风图智能科技有限公司 用于3d障碍物的检测方法、装置、系统及计算机存储介质
US11532167B2 (en) * 2019-10-31 2022-12-20 Zoox, Inc. State machine for obstacle avoidance
US11587330B2 (en) * 2019-12-31 2023-02-21 Robert Bosch Gmbh Visual analytics platform for updating object detection models in autonomous driving applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220001866A1 (en) * 2020-07-01 2022-01-06 Toyota Jidosha Kabushiki Kaisha Information processing method, non-transitory computer readable medium, in-vehicle apparatus, vehicle, information processing apparatus, and information processing system
US11676402B2 (en) * 2020-07-01 2023-06-13 Toyota Jidosha Kabushiki Kaisha Information processing method, non-transitory computer readable medium, in-vehicle apparatus, vehicle, information processing apparatus, and information processing system

Also Published As

Publication number Publication date
WO2021136967A3 (en) 2021-08-12
EP4085232A2 (de) 2022-11-09
WO2021136967A2 (en) 2021-07-08
CN113924462A (zh) 2022-01-11
US20230175852A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
US20210365701A1 (en) Virtual stop line mapping and navigation
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
JP2022553491A (ja) 車両ナビゲーション用のシステムおよび方法
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112021002014T5 (de) Regelkreis zum navigieren eines fahrzeugs
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation
DE102022128968A1 (de) Systeme und verfahren zum sammeln von bildern zur fahrzeugnavigation
DE112021000146T5 (de) Systeme und verfahren zur erkennung von radschlupf bei fahrzeugen

Legal Events

Date Code Title Description
R012 Request for examination validly filed