DE112020006427T5 - Systeme und verfahren zum detektieren von ampeln - Google Patents

Systeme und verfahren zum detektieren von ampeln Download PDF

Info

Publication number
DE112020006427T5
DE112020006427T5 DE112020006427.1T DE112020006427T DE112020006427T5 DE 112020006427 T5 DE112020006427 T5 DE 112020006427T5 DE 112020006427 T DE112020006427 T DE 112020006427T DE 112020006427 T5 DE112020006427 T5 DE 112020006427T5
Authority
DE
Germany
Prior art keywords
vehicle
camera
road
data
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020006427.1T
Other languages
English (en)
Inventor
Efim Belman
Gabriel Bowers
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 DE112020006427T5 publication Critical patent/DE112020006427T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/88Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters
    • G06V10/89Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters using frequency domain filters, e.g. Fourier masks implemented on spatial light modulators
    • G06V10/893Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters using frequency domain filters, e.g. Fourier masks implemented on spatial light modulators characterised by the kind of filter
    • G06V10/895Image or video recognition using optical means, e.g. reference filters, holographic masks, frequency domain filters or spatial domain filters using frequency domain filters, e.g. Fourier masks implemented on spatial light modulators characterised by the kind of filter the filter being related to phase processing, e.g. phase-only filters
    • 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
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/09623Systems involving the acquisition of information from passive traffic signs by means mounted on the vehicle
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

Systeme und Verfahren für Fahrzeugnavigation werden bereitgestellt. In einer Umsetzung kann ein Navigationssystem für ein Hostfahrzeug zumindest einen Prozessor umfassen. Der Prozessor kann dazu programmiert sein, von einer ersten Kamera zumindest ein erstes erfasstes Bild zu empfangen, das für eine Umgebung des Hostfahrzeugs repräsentativ ist. Der Prozessor kann dazu programmiert sein, von einer zweiten Kamera zumindest ein zweites erfasstes Bild zu empfangen, das für die Umgebung des Hostfahrzeugs repräsentativ ist. Sowohl das erste erfasste Bild als auch das zweite erfasste Bild umfassen eine Repräsentation der Ampel, und wobei die zweite Kamera dazu ausgelegt ist, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren. Der Prozessor kann ferner dazu programmiert sein, zumindest eine navigatorische Aktion durch das Fahrzeug basierend auf einer Analyse der Repräsentation der Ampel zu veranlassen.

Description

  • Querverweis zu verwandter Anmeldung
  • Diese Anmeldung beansprucht Priorität der vorläufigen US-Patentanmeldung Nr. 62/956,936 , eingereicht am 3. Januar 2020. Die vorgenannte Anmeldung wird hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • STAND DER TECHNIK
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Navigation autonomer Fahrzeuge.
  • Hintergrundinformationen
  • Mit sich immer weiter entwickelnder Technologie ist das Ziel eines vollständig autonomen Fahrzeugs, das in der Lage ist, auf Fahrbahnen zu navigieren, in greifbarer Nähe. Autonome Fahrzeuge müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen und entsprechende Entscheidungen basierend auf diesen Faktoren treffen, um ein beabsichtigtes Ziel sicher und genau zu erreichen. Beispielsweise muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. von einer Kamera erfasste Informationen) verarbeiten und interpretieren und kann auch von anderen Quellen (z. B. von einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.) erhaltene Informationen verwenden. Zur gleichen Zeit muss, um zu einem Ziel zu navigieren, ein autonomes Fahrzeug möglicherweise auch seine Position innerhalb einer bestimmten Fahrbahn (z. B. einer bestimmten Spur innerhalb einer mehrspurigen Straße) identifizieren, entlang anderer Fahrzeuge navigieren, Hindernisse und Fußgänger vermeiden, Verkehrssignale und -schilder beobachten und an geeigneten Kreuzungen oder Verkehrsknotenpunkten von einer Straße zu einer anderen Straße fahren. Nutzen und Interpretieren riesiger Informationsmengen, die durch ein autonomes Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Ziel fährt, bringt eine Vielzahl an konstruktiven Herausforderungen mit sich. Allein die Quantität der Daten (z. B. erfasste Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, auf die es zugreifen und/oder die es möglicherweise speichern muss, stellt Herausforderungen dar, die die autonome Navigation tatsächlich einschränken oder sogar negativ beeinflussen können. Wenn sich ferner ein autonomes Fahrzeug beim Navigieren auf herkömmliche Kartierungstechnologie verlässt, bringt die reine Menge an Daten, die nötig ist, um die Karte zu speichern und zu aktualisieren, beängstigende Herausforderungen mit sich.
  • KURZDARSTELLUNG
  • Ausführungsformen im Einklang mit der vorliegenden Offenbarung stellen Systeme und Verfahren für die Navigation autonomer Fahrzeuge bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um Merkmale für die Navigation autonomer Fahrzeuge bereitzustellen. Beispielsweise können, im Einklang mit den offenbarten Ausführungsformen, die offenbarten Systeme eine, zwei oder mehr Kameras umfassen, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine navigatorische Antwort, beispielsweise basierend auf einer Analyse von durch eine oder mehrere Kameras erfassten Bildern bereitstellen.
  • In einer Ausführungsform kann ein Navigationssystem für ein Hostfahrzeug zumindest einen Prozessor umfassen. Der Prozessor kann dazu programmiert sein, von einer ersten Kamera in Verbindung mit dem Hostfahrzeug zumindest ein erstes erfasstes Bild zu empfangen, das für eine Umgebung des Hostfahrzeugs repräsentativ ist. Der Prozessor kann ferner dazu programmiert sein, von einer zweiten Kamera in Verbindung mit dem Hostfahrzeug zumindest ein zweites erfasstes Bild zu empfangen, das repräsentativ für die Umgebung des Hostfahrzeugs ist, wobei ein Sichtfeld der ersten Kamera ein Sichtfeld der zweiten Kamera zumindest teilweise überlappt. Das erste erfasste Bild umfasst eine Repräsentation einer Ampel in der Umgebung des Hostfahrzeugs, wobei das zweite erfasste Bild ebenfalls eine Repräsentation der Ampel umfasst, und wobei die zweite Kamera dazu ausgelegt ist, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren. Der Prozessor kann dann zumindest eine navigatorische Aktion durch das Hostfahrzeug veranlassen, basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen ersten erfassten Bild und basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild.
  • In einer Ausführungsform kann ein Verfahren für Fahrzeugnavigation Folgendes umfassen: Empfangen, von einer ersten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines ersten erfassten Bilds, das repräsentativ für eine Umgebung des Hostfahrzeugs ist; Empfangen, von einer zweiten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines zweiten erfassten Bilds, das repräsentativ für die Umgebung des Hostfahrzeugs ist, wobei ein Sichtfeld der ersten Kamera ein Sichtfeld der zweiten Kamera zumindest teilweise überlappt, wobei das erste erfasste Bild eine Repräsentation einer Ampel in der Umgebung des Hostfahrzeugs umfasst, wobei das zweite erfasste Bild ebenfalls eine Repräsentation der Ampel umfasst; und wobei die zweite Kamera dazu ausgelegt ist, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren; Veranlassen zumindest einer navigatorischen Aktion durch das Hostfahrzeug basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen ersten erfassten Bild und basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild.
  • Im Einklang mit anderen offenbarten Ausführungsformen kann ein nicht-flüchtiges computerlesbares Speichermedium Programmanweisungen speichern, die durch zumindest eine Verarbeitungsvorrichtung ausgeführt werden, und ein beliebiges der hier beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende ausführliche Beschreibung sind beispielhaft und lediglich erläuternd und sind hinsichtlich der Ansprüche nicht einschränkend.
  • Figurenliste
  • Die beigefügten Zeichnungen, die in diese Offenbarung eingeschlossen sind und einen Teil derselben bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen:
    • 1 ist eine diagrammatische Darstellung eines beispielhaften Systems im Einklang mit den offenbarten Ausführungsformen.
    • 2A ist eine diagrammatische Seitenansichtdarstellung eines beispielhaften Fahrzeugs, umfassend ein System im Einklang mit den offenbarten Ausführungsformen.
    • 2B ist eine diagrammatische Draufsichtdarstellung des in 2A gezeigten Fahrzeugs und Systems im Einklang mit den offenbarten Ausführungsformen.
    • 2C ist eine diagrammatische Draufsichtdarstellung einer weiteren Ausführungsform eines Fahrzeugs, umfassend ein System im Einklang mit den offenbarten Ausführungsformen.
    • 2D ist eine diagrammatische Draufsichtdarstellung noch einer weiteren Ausführungsform eines Fahrzeugs, umfassend ein System im Einklang mit den offenbarten Ausführungsformen.
    • 2E ist eine diagrammatische Draufsichtdarstellung noch einer weiteren Ausführungsform eines Fahrzeugs, umfassend ein System im Einklang mit den offenbarten Ausführungsformen.
    • 2F ist eine diagrammatische Darstellung von beispielhaften Fahrzeugsteuersystemen im Einklang mit den offenbarten Ausführungsformen.
    • 3A ist eine diagrammatische Darstellung eines Innenraums eines Fahrzeugs, umfassend einen Rückspiegel und eine Benutzerschnittstelle für ein Fahrzeugbildgebungssystem im Einklang mit den offenbarten Ausführungsformen.
    • 3B ist eine Darstellung eines Beispiels einer Kamerabefestigung, die dazu ausgelegt ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, im Einklang mit den offenbarten Ausführungsformen.
    • 3C ist eine Darstellung der in 3B gezeigten Kamerabefestigung aus einer anderen Perspektive im Einklang mit den offenbarten Ausführungsformen.
    • 3D ist eine Darstellung eines Beispiels einer Kamerabefestigung, die dazu ausgelegt ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, im Einklang 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, im Einklang mit den offenbarten Ausführungsformen.
    • 5A ist ein Flussdiagramm, einen beispielhaften Prozess zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf monokularer Bildanalyse im Einklang mit offenbarten Ausführungsformen zeigend.
    • 5B ist ein Flussdiagramm, einen beispielhaften Prozess zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einer Menge von Bildern im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 5C ist ein Flussdiagramm, einen beispielhaften Prozess zum Detektieren von Straßenmarkierungen und/oder Spurgeometrieinformationen in einer Menge von Bildern im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 5D ist ein Flussdiagramm, einen beispielhaften Prozess zum Detektieren einer Ampel in einer Menge von Bildern im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 5E ist ein Flussdiagramm, einen beispielhaften Prozess zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf einem Fahrzeugpfad im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 5F ist ein Flussdiagramm, einen beispielhaften Prozess zum Bestimmen, ob ein vorausfahrendes Fahrzeug Spuren wechselt, im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 6 ist ein Flussdiagramm, einen beispielhaften Prozess zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf Stereobildanalyse im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 7 ist ein Flussdiagramm, einen beispielhaften Prozess zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf einer Analyse von drei Mengen von Bildern im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 8 zeigt eine spärliche Karte zum Bereitstellen von Navigation autonomer Fahrzeuge im Einklang mit den offenbarten Ausführungsformen.
    • 9A stellt eine polynomiale Repräsentation von Teilen eines Straßensegments im Einklang mit den offenbarten Ausführungsformen dar.
    • 9B stellt eine Kurve in einem dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs repräsentiert, für ein bestimmtes Straßensegment, das in einer spärlichen Karte enthalten ist, im Einklang mit den offenbarten Ausführungsformen dar.
    • 10 stellt beispielhafte Orientierungspunkte, die in einer spärlichen Karte enthalten sein können, im Einklang mit den offenbarten Ausführungsformen dar.
    • 11A zeigt polynomiale Repräsentationen von Trajektorien im Einklang mit den offenbarten Ausführungsformen.
    • 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße im Einklang mit offenbarten Ausführungsformen.
    • 11D zeigt ein beispielhaftes Straßensignaturprofil im Einklang mit offenbarten Ausführungsformen.
    • 12 ist eine schematische Darstellung eines Systems, das von mehreren Fahrzeugen empfangene Schwarmauslagerungsdaten für die Navigation autonomer Fahrzeuge verwendet, im Einklang mit den offenbarten Ausführungsformen.
    • 13 stellt ein beispielhaftes Straßennavigationsmodell für ein autonomes Fahrzeug, repräsentiert durch mehrere dreidimensionale Splines, im Einklang mit den offenbarten Ausführungsformen dar.
    • 14 zeigt ein Kartengerüst, erzeugt aus dem Kombinieren von Ortsinformationen von vielen Fahrten, im Einklang mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel einer Längsausrichtung von zwei Fahrten mit beispielhaften Schildern als Orientierungspunkten, im Einklang mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel einer Längsausrichtung von mehreren Fahrten mit einem beispielhaften Schild als ein Orientierungspunkt, im Einklang 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 im Einklang mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Darstellung eines Systems zur Schwarmauslagerung einer spärlichen Karte im Einklang mit den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, einen beispielhaften Prozess zum Erzeugen einer spärlichen Karte für die Navigation autonomer Fahrzeuge entlang eines Straßensegments im Einklang mit den offenbarten Ausführungsformen zeigend.
    • 20 stellt ein Blockdiagramm eines Servers im Einklang mit den offenbarten Ausführungsformen dar.
    • 21 stellt ein Blockdiagramm eines Speichers im Einklang mit den offenbarten Ausführungsformen dar.
    • 22 stellt einen Prozess des Gruppierens von Fahrzeugtrajektorien in Verbindung mit Fahrzeugen im Einklang mit den offenbarten Ausführungsformen dar.
    • 23 stellt ein Navigationssystem für ein Fahrzeug, das für autonome Navigation verwendet werden kann, im Einklang mit den offenbarten Ausführungsformen dar.
    • 24A, 24B, 24C und 24D stellen beispielhafte Spurmarkierungen, die detektiert werden können, im Einklang mit den offenbarten Ausführungsformen dar.
    • 24E zeigt beispielhafte kartierte Spurmarkierungen im Einklang mit den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie in Verbindung mit dem Detektieren einer Spurmarkierung im Einklang mit den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild der umgebenden Umgebung eines Fahrzeugs zur Navigation basierend auf den kartierten Spurmarkierungen im Einklang mit den offenbarten Ausführungsformen.
    • 25B stellt eine laterale Lokalisierungskorrektur eines Fahrzeugs basierend auf kartierten Spurmarkierungen in einem Straßennavigationsmodell im Einklang mit den offenbarten Ausführungsformen dar.
    • 25C und 25D stellt konzeptuelle Repräsentationen einer Lokalisierungstechnik zum Lokalisieren eines Hostfahrzeugs entlang einer Zieltrajektorie unter Verwendung von in einer spärlichen Karte enthaltenen kartierten Merkmalen bereit.
    • 26A ist ein Flussdiagramm, einen beispielhaften Prozess zum Kartieren einer Spurmarkierung zur Verwendung bei der Navigation autonomer Fahrzeuge im Einklang mit offenbarten Ausführungsformen zeigend.
    • 26B ist ein Flussdiagramm, einen beispielhaften Prozess zum autonomen Navigieren eines Hostfahrzeugs entlang eines Straßensegments unter Verwendung von kartierten Spurmarkierungen im Einklang mit offenbarten Ausführungsformen zeigend.
    • 27 ist eine diagrammatische Darstellung eines beispielhaften Systems im Einklang mit den offenbarten Ausführungsformen.
    • 28A und 28B stellen beispielhafte Bilder der umgebenden Umgebung eines Fahrzeugs, erfasst durch verschiedene Kameras, im Einklang mit den offenbarten Ausführungsformen dar.
    • 29A und 29B stellen beispielhafte Bilder der umgebenden Umgebung eines Fahrzeugs, erfasst in unterschiedlichen Betriebsmodi, im Einklang mit den offenbarten Ausführungsformen dar.
    • 30A und 30B stellen zwei Typen von Ampeln und Graphen, die deren Betrieb darstellen, im Einklang mit den offenbarten Ausführungsformen dar.
    • 31 ist ein Flussdiagramm, einen beispielhaften Prozess zum Analysieren einer Repräsentation einer Ampel in erfassten Bildern im Einklang mit den offenbarten Ausführungsformen zeigend.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen. Wo möglich, werden die gleichen Bezugszeichen in den Zeichnungen und der folgenden Beschreibung verwendet, um sich auf die gleichen oder ähnliche Teile zu beziehen. Während hier mehrere veranschaulichende Beispiele beschrieben sind, sind Modifikationen, Anpassungen und andere Umsetzungen möglich. Beispielsweise können Ersetzungen, Hinzufügungen oder Modifikationen an den in den Zeichnungen dargestellten Komponenten vorgenommen werden, und die hier beschriebenen veranschaulichenden Verfahren können durch Ersetzen, Umordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Entsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen ist der entsprechende Schutzumfang durch die beigefügten Ansprüche definiert.
  • Übersicht über autonome Fahrzeuge
  • Wie in dieser Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, zumindest eine navigatorische Änderung ohne Fahrereingabe umzusetzen. Eine „navigatorische Änderung“ bezieht sich auf eine Änderung in einem oder mehreren aus Lenken, Bremsen oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollständig automatisch sein (z. B. vollständiger Betrieb ohne Fahrer oder ohne Fahrereingabe). Stattdessen umfasst ein autonomes Fahrzeug eher diejenigen, die während bestimmter Zeitperioden unter Steuerung durch den Fahrer und während anderer Zeitperioden ohne Steuerung durch den Fahrer betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge umfassen, die nur einige Aspekte von Fahrzeugnavigation steuern, wie etwa Lenken (um z. B. einen Fahrzeugkurs zwischen Fahrzeugspurbeschränkungen beizubehalten), können aber andere Aspekte dem Fahrer überlassen (z. B. Bremsen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte aus Bremsen, Geschwindigkeitssteuerung und/oder Lenken des Fahrzeugs übernehmen.
  • Da sich menschliche Fahrer typischerweise auf visuelle Hinweise und Beobachtungen verlassen, um ein Fahrzeug zu steuern, sind die Transportinfrastrukturen entsprechend gebaut, wobei Spurmarkierungen, Verkehrsschilder und Ampeln allesamt dazu ausgestaltet sind, visuelle Informationen für die Fahrer bereitzustellen. Angesichts dieser Ausgestaltungscharakteristiken von Transportinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit umfassen, die visuelle Informationen analysiert, die von der Umgebung des Fahrzeugs erfasst werden. Die visuellen Informationen können, beispielsweise, Komponenten der Transportinfrastruktur (z. B. Spurmarkierungen, Verkehrsschilder, Ampeln usw.), die durch Fahrer beobachtbar sind, und andere Hindernisse (z. B. andere Fahrzeuge, Fußgänger, Ablagerungen usw.) umfassen. Zusätzlich kann ein autonomes Fahrzeug beim Navigieren auch gespeicherte Informationen verwenden, wie etwa Informationen, die ein Modell der Umgebung des Fahrzeugs bereitstellen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen bezüglich seiner Umgebung bereitzustellen, während das Fahrzeug fährt, und das Fahrzeug (wie auch andere Fahrzeuge) kann die Informationen verwenden, um sich selbst auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen in dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während des Navigierens erhalten werden (z. B. von einer Kamera, einer GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die von vergangenen Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) während des Navigierens erhalten wurden. In noch weiteren Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während des Navigierens erhalten werden, und Informationen, die von vergangenen Navigationen erhalten wurden, verwenden. Die folgenden Abschnitte stellen eine Übersicht eines Systems im Einklang mit den offenbarten Ausführungsformen, gefolgt von einer Übersicht eines nach vom zeigenden Bildgebungssystems, und Verfahren im Einklang mit dem System bereit. Die folgenden Abschnitte offenbaren Systeme und Verfahren zum Konstruieren, Verwenden und Aktualisieren einer spärlichen Karte zur Navigation autonomer Fahrzeuge.
  • Systemübersicht
  • 1 ist eine Blockdiagrammrepräsentation eines Systems 100 im Einklang mit den beispielhaften offenbarten Ausführungsformen. Das System 100 kann in Abhängigkeit von den Anforderungen einer bestimmten Umsetzung verschiedene Komponenten umfassen. 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 Sendeempfänger 172 umfassen. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen umfassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine beliebige andere geeignete Verarbeitungsvorrichtung umfassen. In ähnlicher Weise kann die Bilderfassungseinheit 120 in Abhängigkeit von den Anforderungen einer bestimmten Anwendung eine beliebige Anzahl an Bilderfassungsvorrichtungen und Komponenten umfassen. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bilderfassungsvorrichtungen (z. B. Kameras), wie etwa Bilderfassungsvorrichtung 122, Bilderfassungsvorrichtung 124 und Bilderfassungsvorrichtung 126, umfassen. Das System 100 kann auch eine Datenschnittstelle 128 umfassen, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bilderfassungsvorrichtung 120 verbindet. Beispielsweise kann die Datenschnittstelle 128 eine beliebige drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zum Senden von durch die Bilderfassungsvorrichtung 120 erfassten Bilddaten an die Verarbeitungseinheit 110 umfassen.
  • Der drahtlose Sendeempfänger 172 kann eine oder mehrere Vorrichtungen umfassen, die ausgelegt sind zum Austauschen von Übertragungen über eine Luftschnittstelle an ein oder mehrere Netzwerke (z. B. Mobilfunk, Internet usw.) durch Verwendung einer Funkfrequenz, einer Infrarotfrequenz, eines magnetischen Felds oder eines elektrischen Felds. Der drahtlose Sendeempfänger 172 kann einen beliebigen bekannten Standard zum Senden und/oder Empfangen von Daten verwenden (z. B. Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.). Solche Übertragungen können Kommunikationen vom Hostfahrzeug zu einem oder mehreren entfernt befindlichen Servern umfassen. Solche Übertragungen können auch Kommunikationen (Ein-Weg- oder Zwei-Wege-) zwischen dem Hostfahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Hostfahrzeugs (z. B. zum Erleichtern der Koordinierung der Navigation des Hostfahrzeugs angesichts von oder zusammen mit Zielfahrzeugen in der Umgebung des Hostfahrzeugs) oder sogar eine Rundsendeübertragung zu nicht angegebenen Empfängern in einer Nachbarschaft des sendenden Fahrzeugs umfassen.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Typen von Verarbeitungsvorrichtungen umfassen. Beispielsweise können einer oder beide aus dem Anwendungsprozessor 180 und dem Bildprozessor 190 einen Mikroprozessor, Präprozessoren (wie etwa einen Bildpräprozessor), eine Grafikverarbeitungseinheit (GPU), eine zentrale Verarbeitungseinheit (CPU), Unterstützungsschaltungen, Digitalsignalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Typen von Vorrichtungen, die geeignet sind zum Durchführen von Anwendungen und zur Bildverarbeitung und Analyse, umfassen. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen Typ von Einzel- oder Mehrkernprozessor, Mobilvorrichtungs-Mikrocontroller, zentraler Verarbeitungseinheit usw. umfassen. Verschiedene Verarbeitungsvorrichtungen können verwendet werden, umfassend, beispielsweise, Prozessoren, die von Herstellern wie etwa Intel®, AMD® usw. erhältlich sind, oder GPUs, die von Herstellern wie etwa NVIDIA(R), ATI® usw. erhältlich sind, und können verschiedene Architekturen (z. B. x86-Prozessor, ARM® usw.) umfassen.
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen aus der EyeQ-Serie von Prozessorchips, die von Mobileye® erhältlich sind, umfassen. Diese Prozessorausgestaltungen umfassen jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren umfassen und können auch Videoausgabefähigkeiten umfassen. In einem Beispiel verwendet der EyeQ2® eine 90nm-micron-Technologie, die bei 332 MHz arbeitet. Die EyeQ2®-Architektur besteht aus zwei Gleitkomma-Hyperthread-32-Bit-RISC-CPUs (MIPS32® 34K® Kerne), fünf VCEs (Vision Computing Engines), drei VMP® (Vector Microcode Processors), einer Denali 64-Bit-Mobile-DDR-Steuerung, einer internen 128-Bit-Sonics-Zwischenverbindung, dualen 16-Bit-Videoeingangs- und 18-Bit-Videoausgangssteuerungen, 16-Kanal-DMA und mehreren Peripheriegeräten. Die MIPS34K-CPU verwaltet die fünf VCEs, drei VMP™ und die DMA, die zweite MIPS34K-CPU und die Mehrkanal-DMA sowie die anderen Peripheriegeräte. Die fünf VCEs, drei VMP® und die MIPS34K-CPU können intensive Visionsberechnungen durchführen, wie sie durch Multifunktions-Bündelanwendungen gefordert werden. In einem anderen Beispiel kann der EyeQ3®, der ein Prozessor der dritten Generation ist und sechs Mal leistungsstärker als der EyeQ2® ist, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch beliebige neuere oder künftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Beliebige der hier offenbarten Verarbeitungsvorrichtungen können ausgelegt sein zum Durchführen bestimmter Funktionen. Auslegen einer Verarbeitungsvorrichtung, wie etwa eines beliebigen der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines Mikroprozessors, zum Durchführen bestimmter Funktionen kann Programmieren von computerausführbaren Anweisungen und Verfügbarmachen dieser Anweisungen für die Verarbeitungsvorrichtungen zur Ausführung während des Betriebs der Verarbeitungsvorrichtung umfassen. In einigen Ausführungsformen kann Auslegen einer Verarbeitungsvorrichtung Programmieren der Verarbeitungsvorrichtung direkt mit architektonischen Anweisungen umfassen. Beispielsweise können Verarbeitungsvorrichtungen, wie etwa feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und ähnliche, unter Verwendung, beispielsweise, einer oder mehrerer Hardwarebeschreibungssprachen (HDLs) ausgelegt werden.
  • In anderen Ausführungsformen kann Auslegen einer Verarbeitungsvorrichtung Speichern von ausführbaren Anweisungen auf einem Speicher, der während des Betriebs für die Verarbeitungsvorrichtung zugänglich ist, umfassen. Beispielsweise kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um während des Betriebs die gespeicherten Anweisungen zu erhalten und auszuführen. In jedem Fall repräsentiert die hier offenbarte Verarbeitungsvorrichtung, die ausgelegt ist zum Durchführen des Erfassens, der Bildanalyse und/oder von navigatorischen Funktionen, ein spezialisiertes hardwarebasiertes System in Kontrolle mehrerer hardwarebasierter Komponenten eines Hostfahrzeugs.
  • Während 1 zwei separate Verarbeitungsvorrichtungen darstellt, die in der Verarbeitungseinheit 110 enthalten sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Beispielsweise kann, in einigen Ausführungsformen, eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erledigen. In anderen Ausführungsformen können diese Aufgaben durch mehr als zwei Verarbeitungsvorrichtungen durchgeführt werden. Ferner kann, in einigen Ausführungsformen, das System 100 eine oder mehrere Verarbeitungseinheiten 110 umfassen, ohne andere Komponenten zu enthalten, wie etwa die Bilderfassungseinheit 120.
  • Die Verarbeitungseinheit 110 kann verschiedene Typen von Vorrichtungen umfassen. Beispielsweise kann eine Verarbeitungseinheit 110 verschiedene Vorrichtungen, wie etwa eine Steuerung, einen Bildpräprozessor, eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, Digitalsignalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Typen von Vorrichtungen für Bildverarbeitung und Analyse umfassen. Der Bildpräprozessor kann einen Videoprozessor zum Erfassen, Digitalisieren und Verarbeiten der Bilder von den Bildsensoren umfassen. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann ebenfalls eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die Unterstützungsschaltungen können eine beliebige Anzahl von Schaltungen sein, die im Allgemeinen im Gebiet wohlbekannt sind, umfassend Cache, Leistungsversorgung, Takt und Eingabe-Ausgabe-Schaltungen. Der Speicher kann Software speichern, die, wenn durch den Prozessor ausgeführt, den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware umfassen. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Plattenlaufwerken, optischem Speicher, Bandspeicher, entfernbarem Speicher und andere Typen von Speicher umfassen. In einem Fall kann der Speicher separat von der Verarbeitungseinheit 110 sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen umfassen, die, wenn durch einen Prozessor (z. B. Anwendungsprozessor 180 und/oder Bildprozessor 190) ausgeführt, den Betrieb von verschiedenen Aspekten von System 100 steuern kann. Diese Speichereinheiten können verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie etwa, beispielsweise, ein neuronales Netzwerk oder ein tiefes neuronales Netzwerk, umfassen. Die Speichereinheiten können Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Flash-Speicher, Plattenlaufwerke, optischen Speicher, Bandspeicher, entfernbaren Speicher und/oder andere Typen von Speicher umfassen. In einigen Ausführungsformen können die Speichereinheiten 140, 150 separat vom Anwendungsprozessor 180 und/oder Bildprozessor 190 sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann einen beliebigen Typ von Vorrichtung, die geeignet ist zum Bestimmen eines Ortes in Verbindung mit zumindest einer Komponente von System 100, umfassen. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger umfassen. Solche Empfänger können eine Benutzerposition und Geschwindigkeit durch Verarbeiten von Signalen, die durch Satelliten des globalen Positionsbestimmungssystems rundgesendet werden, bestimmen. Positionsinformationen von Positionssensor 130 können für den Anwendungsprozessor 180 und/oder den Bildprozessor 190 verfügbar gemacht werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten, wie etwa einen Geschwindigkeitssensor (z. B. ein Tachometer, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit von Fahrzeug 200 und/oder einen Beschleunigungsmesser (entweder mit einer Achse oder mit mehreren Achsen) zum Messen einer Beschleunigung von Fahrzeug 200 umfassen.
  • Die Benutzerschnittstelle 170 kann eine beliebige Vorrichtung, die geeignet ist zum Bereitstellen von Informationen für oder zum Empfangen von Eingängen von einem oder mehreren Benutzern des Systems 100, umfassen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen, umfassend, beispielsweise, einen Touchscreen, ein Mikrofon, eine Tastatur, Zeigervorrichtungen, Track-Wheels, Kameras, Knöpfe, Tasten usw. umfassen. Mit solchen Eingabevorrichtungen kann ein Benutzer in der Lage sein, Informationseingänge oder Befehle für das System 100 bereitzustellen durch Eintippen von Anweisungen oder Informationen, Bereitstellen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm unter Verwendung von Schaltflächen, Zeigern oder Augenverfolgungsfähigkeiten, oder durch beliebige andere geeignete Techniken zum Kommunizieren von Informationen an das System 100.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die ausgelegt sind zum Bereitstellen und Empfangen von Informationen für oder von einem Benutzer durch, beispielsweise, Anwendungsprozessor 180. In einigen Ausführungsformen können solche Verarbeitungsvorrichtungen Anweisungen zum Erkennen und Nachverfolgen von Augenbewegungen, Empfangen und Interpretieren von Sprachbefehlen, Erkennen und Interpretieren von Berührungen und/oder Gesten, die auf einem Touchscreen vorgenommen werden, Antworten auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 eine Anzeige, einen Lautsprecher, eine haptische Vorrichtung und/oder beliebige andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen an einen Benutzer umfassen.
  • Die Kartendatenbank 160 kann einen beliebigen Typ von Datenbank zum Speichern von Kartendaten, die für das System 100 nützlich sind, umfassen. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten bezüglich der Position, in einem Bezugskoordinatensystem, von verschiedenen Objekten, umfassend Straßen, Wassermerkmale, geografische Merkmale, Geschäfte, Punkte von Interesse, Restaurants, Tankstellen usw. umfassen. Die Kartendatenbank 160 kann nicht nur die Orte solcher Objekte speichern, sondern auch Deskriptoren bezüglich dieser Objekte, umfassend, beispielsweise, Namen in Verbindung mit einem beliebigen der gespeicherten Merkmale. In einigen Ausführungsformen kann die Kartendatenbank 160 physisch zusammen mit anderen Komponenten des Systems 100 befindlich sein. Alternativ oder zusätzlich kann die Kartendatenbank 160 oder ein Teil davon entfernt bezüglich anderer Komponenten des Systems 100 (z. B. Verarbeitungseinheit 110) befindlich sein. In solchen Ausführungsformen können Informationen von der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung mit einem Netzwerk (z. B. über ein Mobilfunknetzwerk und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein spärliches Datenmodell, umfassend polynomiale Repräsentationen von bestimmten Straßenmerkmalen (z. B. Spurmarkierungen) oder Zieltrajektorien für das Hostfahrzeug speichern. Systeme und Verfahren zum Erzeugen einer solchen Karte werden nachfolgend Bezug nehmend auf 8-19 erörtert.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jeweils einen beliebigen Typ von Vorrichtung enthalten, die geeignet ist zum Erfassen von zumindest einem Bild aus einer Umgebung. Darüber hinaus kann eine beliebige Anzahl von Bilderfassungsvorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzelne Bilderfassungsvorrichtung umfassen, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bilderfassungsvorrichtungen umfassen können. Die Bilderfassungsvorrichtungen 122, 124 und 126 werden ferner Bezug nehmend auf die 2B-2E weiter unten beschrieben.
  • System 100 oder verschiedene Komponenten davon können in verschiedenen unterschiedlichen Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 auf einem Fahrzeug 200 enthalten sein, wie in 2A gezeigt. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und einer beliebigen der anderen Komponenten von System 100 ausgestattet sein, wie oben bezüglich 1 beschrieben. Während das Fahrzeug 200 in einigen Ausführungsformen mit nur einer einzelnen Bilderfassungsvorrichtung (z. B. Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie etwa denjenigen, die in Verbindung mit 2B-2E erörtert werden, mehrere Bilderfassungsvorrichtungen verwendet werden. Beispielsweise kann eine der Bilderfassungsvorrichtungen 122 und 124 von Fahrzeug 200, wie in 2A gezeigt, Teil einer Bildgebungsmenge eines erweiterten Fahrerunterstützungssystems ADAS (Advanced Driver Assistance Systems) sein.
  • Die auf dem Fahrzeug 200 als Teil der Bilderfassungseinheit 120 enthaltenen Bilderfassungsvorrichtungen können an jedem geeigneten Ort positioniert werden. In einigen Ausführungsformen, wie in 2A-2E und 3A-3C gezeigt, kann die Bilderfassungsvorrichtung 122 in der Nachbarschaft des Rückspiegels befindlich sein. Diese Position kann eine Sichtlinie ähnlich der des Fahrers von Fahrzeug 200 bereitstellen, die beim Bestimmen helfen kann, was für den Fahrer sichtbar ist und was nicht. Die Bilderfassungsvorrichtung 122 kann an einem beliebigen Ort nahe dem Rückspiegel positioniert sein, aber Platzieren der Bilderfassungsvorrichtung 122 auf der Fahrerseite des Spiegels kann ferner helfen beim Erhalten von Bildern, die repräsentativ für das Sichtfeld und/oder die Sichtlinie des Fahrers sind.
  • Andere Orte für die Bilderfassungsvorrichtungen der Bilderfassungseinheit 120 können ebenfalls verwendet werden. Beispielsweise kann die Bilderfassungsvorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befindlich sein. Ein solcher Ort kann speziell für Bilderfassungsvorrichtungen geeignet sein, die ein breites Sichtfeld haben. Die Sichtlinie der am Stoßfänger befindlichen Bilderfassungsvorrichtungen kann verschieden von der des Fahrers sein, und daher sehen die Bilderfassungsvorrichtung am Stoßfänger und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) können auch an anderen Orten befindlich sein. Beispielsweise können die Bilderfassungsvorrichtungen an oder in einem oder beiden Seitenspiegeln des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, auf dem Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200 befindlich sein, montiert an, positioniert hinter oder positioniert vor einem beliebigen der Fenster des Fahrzeugs 200 sein, und in oder in der Nähe von Lichtfiguren an der Vorderseite und/oder Rückseite des Fahrzeugs 200 montiert sein usw.
  • Zusätzlich zu den Bilderfassungsvorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 umfassen. Beispielsweise kann die Verarbeitungseinheit 110 am Fahrzeug 200 enthalten sein, entweder integriert mit oder separat von einer Kraftmaschinensteuereinheit (ECU) des Fahrzeugs. Das Fahrzeug 200 kann auch mit einem Positionssensor 130 ausgestattet sein, wie etwa einem GPS-Empfänger, und kann auch eine Kartendatenbank 160 und Speichereinheiten 140 und 150 umfassen.
  • Wie früher erörtert, kann der drahtlose Sendeempfänger 172 Daten über eines oder mehrere Netzwerke (z. B. Mobilfunknetzwerke, das Internet usw.) (senden) und/oder empfangen. Beispielsweise kann der drahtlose Sendeempfänger 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 Sendeempfänger 172 kann das System 100, beispielsweise, periodische oder bedarfsbasierte Aktualisierungen von in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeicherten Daten empfangen. In ähnlicher Weise kann der drahtlose Sendeempfänger 172 beliebige Daten (z. B. durch die Bilderfassungseinheit 120 erfasste Bilder, durch den Positionssensor 130 oder andere Sensoren, Fahrzeugsteuersysteme usw. empfangene Daten) vom System 100 und/oder beliebige durch die Verarbeitungseinheit 110 verarbeitete Daten auf den einen oder die mehreren Server hochladen.
  • Das System 100 kann die Daten basierend auf einer Datenschutzniveaueinstellung auf einen Server (z. B. in die Cloud) hochladen. Beispielsweise kann das System 100 Datenschutzniveaueinstellungen umsetzen, um die Typen von an den Server gesendeten Daten (umfassend Metadaten) zu regulieren oder zu beschränken, die ein Fahrzeug und/oder einen Fahrer/Eigentümer eines Fahrzeugs eindeutig identifizieren können. Solche Einstellungen können durch einen Benutzer über, beispielsweise, einen drahtlosen Sendeempfänger 172 gesetzt, durch werksseitige Standardeinstellungen oder durch Daten, die von dem drahtlosen Sendeempfänger 172 empfangen werden, initialisiert werden.
  • In einigen Ausführungsformen kann das System 100 Daten entsprechend einem „hohen“ Datenschutzniveau hochladen, und unter Festlegen einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen im Zusammenhang mit einer Route, erfasste Bilder usw.) ohne irgendwelche Details zu dem spezifischen Fahrzeug und/oder Fahrer/Eigentümer senden. Wenn beispielsweise Daten entsprechend einer „hohen“ Datenschutzeinstellung hochgeladen werden, schließt das System 100 eine Fahrzeugidentifizierungsnummer (VIN) oder einen Namen eines Fahrers oder Eigentümers des Fahrzeugs möglicherweise nicht ein und kann stattdessen Daten, wie etwa erfasste Bilder und/oder beschränkte Ortsinformationen im Zusammenhang mit einer Route senden.
  • Andere Datenschutzniveaus werden in Betracht gezogen. Beispielsweise kann das System 100 Daten entsprechend einem „mittleren“ Datenschutzniveau an einen Server senden und zusätzliche Informationen einschließen, die unter einem „hohen“ Datenschutzniveau nicht eingeschlossen wären, wie etwa Fabrikat oder Modell eines Fahrzeugs und/oder ein Fahrzeugtyp (z. B. Personenkraftwagen, SUV (Sport Utility Vehicle), Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten entsprechend einem „niedrigen“ Datenschutzniveau hochladen. Unter einem „niedrigen“ Datenschutzniveau kann das System 100 Daten hochladen und Informationen einschließen, die ausreichend sind, um ein spezifisches Fahrzeug, einen Eigentümer/Fahrer und/oder einen Teil oder die Gesamtheit einer von dem Fahrzeug befahrenen Route eindeutig zu identifizieren. Solche Daten mit „niedrigem“ Datenschutzniveau können eines oder mehrere aus, beispielsweise, einer VIN, einem Namen des Fahrers/Eigentümers, einem Ausgangspunkt eines Fahrzeugs vor der Abfahrt, einem beabsichtigten Ziel des Fahrzeugs, einem Fabrikat und/oder Modell des Fahrzeugs, einem Typ des Fahrzeugs usw. umfassen.
  • 2A ist eine diagrammatische Seitenansichtdarstellung eines beispielhaften Fahrzeugbildgebungssystems im Einklang mit den offenbarten Ausführungsformen. 2B ist eine diagrammatische Draufsichtdarstellung der in 2A gezeigten Ausführungsform. Wie in 2B dargestellt, können die offenbarten Ausführungsformen ein Fahrzeug 200 umfassen, das in seiner Karosserie ein System 100 mit einer ersten Bilderfassungsvorrichtung 122, positioniert in der Nachbarschaft des Rückspiegels und/oder nahe dem Fahrer des Fahrzeugs 200, eine zweite Bilderfassungsvorrichtung 124, positioniert an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200, und eine Verarbeitungseinheit 110 umfasst.
  • Wie in 2C dargestellt, können die Bilderfassungsvorrichtungen 122 und 124 beide in der Nachbarschaft des Rückspiegels und/oder nahe dem Fahrer des Fahrzeugs 200 positioniert sein. Zusätzlich versteht es sich, dass, während zwei Bilderfassungsvorrichtungen 122 und 124 in 2B und 2C gezeigt werden, andere Ausführungsformen mehr als zwei Bilderfassungsvorrichtungen umfassen können. Beispielsweise sind in den in 2D und 2E gezeigten Ausführungsformen die erste, die zweite und die dritte Bilderfassungsvorrichtung 122, 124 und 126 im System 100 des Fahrzeugs 200 enthalten.
  • Wie in 2D dargestellt, kann die Bilderfassungsvorrichtung 122 in der Nachbarschaft des Rückspiegels und/oder nahe dem Fahrer des Fahrzeugs 200 positioniert sein, und die Bilderfassungsvorrichtungen 124 und 126 können an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E dargestellt, können die Bilderfassungsvorrichtungen 122, 124 und 126 in der Nachbarschaft des Rückspiegels und/oder nahe dem Fahrersitz des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Auslegung der Bilderfassungsvorrichtungen beschränkt, und die Bilderfassungsvorrichtungen können an einem beliebigen Ort im und/oder am Fahrzeug 200 positioniert sein.
  • Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und in anderen Kontexten angewendet werden können. Es versteht sich auch, dass offenbarte Ausführungsformen nicht auf einen bestimmten Typ von Fahrzeug 200 beschränkt sind und auf alle Typen von Fahrzeugen anwendbar sein können, umfassend Kraftfahrzeuge, Lastwagen, Anhänger und andere Typen von Fahrzeugen.
  • Die erste Bilderfassungsvorrichtung 122 kann einen beliebigen geeigneten Typ von Bilderfassungsvorrichtung umfassen. Die Bilderfassungsvorrichtung 122 kann eine optische Achse umfassen. In einem Fall kann die Bilderfassungsvorrichtung 122 einen Aptina-M9V024-WVGA-Sensor mit einem globalen Verschluss umfassen. In anderen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Auflösung von 1280x960 Pixeln bereitstellen und einen rollenden Verschluss umfassen. Die Bilderfassungsvorrichtung 122 kann verschiedene optische Elemente umfassen. 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 Bilderfassungsvorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 mit einer 6-mm-Linse oder einer 12-mm-Linse assoziiert sein. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 ausgelegt sein zum Erfassen von Bildern mit einem gewünschten Sichtfeld (FOV) 202, wie in 2D dargestellt. Beispielsweise kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein reguläres FOV aufzuweisen, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, umfassend ein 46-Grad-FOV, ein 50-Grad-FOV, ein 52-Grad-FOV oder größer. Alternativ kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein enges FOV im Bereich von 23 bis 40 Grad aufzuweisen, wie etwa ein 28-Grad-FOV oder ein 36-Grad-FOV. Zusätzlich kann die Bilderfassungsvorrichtung 122 dazu ausgelegt sein, ein weites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Weitwinkelkamera im Stoßfänger oder eine mit einem FOV von bis zu 180 Grad umfassen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine 7,2-Mio.-Pixel-Bilderfassungsvorrichtung mit einem Aspektverhältnis von etwa 2:1 (z. B. HxV=3800x1900 Pixel) mit einem horizontalen FOV von etwa 100 Grad sein. Eine solche Bilderfassungsvorrichtung kann anstelle einer Auslegung mit drei Bilderfassungsvorrichtungen verwendet werden. Aufgrund von erheblicher Linsenverzerrung kann das vertikale FOV einer solchen Bilderfassungsvorrichtung in Umsetzungen, in denen die Bilderfassungsvorrichtung eine radialsymmetrische Linse verwendet, deutlich kleiner als 50 Grad sein. Beispielsweise kann eine solche Linse nicht radialsymmetrisch sein, was ein vertikales FOV größer als 50 Grad mit einem horizontalen FOV von 100 Grad ermöglichen würde.
  • Die erste Bilderfassungsvorrichtung 122 kann mehrere erste Bilder relativ zu einer Szene in Verbindung mit dem Fahrzeug 200 erfassen. Jedes der mehreren ersten Bilder kann als eine Serie von Bildabtastzeilen erfasst werden, die unter Verwendung eines rollenden Verschlusses erfasst werden können. Jede Abtastzeile kann mehrere Pixel umfassen.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Abtastrate in Verbindung mit der Erfassung jeder der ersten Serie von Bildabtastzeilen aufweisen. Die Abtastrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten in Verbindung mit jedem in einer bestimmten Abtastzeile enthaltenen Pixel erfassen kann.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können einen beliebigen Typ und eine beliebige Anzahl von Bildsensoren enthalten, umfassend, beispielsweise, CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem rollenden Verschluss eingesetzt werden, sodass jedes Pixel in einer Zeile nacheinander gelesen wird, und Abtasten der Zeilen wird auf einer zeilenweisen Basis fortgesetzt, bis ein vollständiger Bildframe erfasst ist. In einigen Ausführungsformen können die Zeilen sequenziell von oben nach unten relativ zum Frame erfasst werden.
  • In einigen Ausführungsformen können eine oder mehrere der hier offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) eine hochauflösende Bildgebungsvorrichtung bilden und können eine Auflösung größer als 5 MPixel, 7 MPixel, 10 MPixel oder größer aufweisen.
  • Die Verwendung eines rollenden Verschlusses kann dazu führen, dass Pixel in unterschiedlichen Zeilen zu unterschiedlichen Zeiten belichtet und erfasst werden, was Schrägen und andere Bildartefakte in dem erfassten Bildframe verursachen kann. Andererseits können, wenn die Bilderfassungsvorrichtung 122 dazu ausgelegt ist, mit einem globalen oder synchronen Verschluss zu arbeiten, alle Pixel die gleiche Zeitdauer und während einer gemeinsamen Belichtungsperiode belichtet werden. Als ein Ergebnis repräsentieren die Bilddaten in einem Frame, die von einem System gesammelt werden, das einen globalen Verschluss einsetzt, einen Schnappschuss des gesamten FOV (wie etwa FOV 202) zu einem bestimmten Zeitpunkt. Im Gegensatz dazu werden bei der Anwendung eines rollenden Verschlusses die einzelnen Zeilen in einem Frame zu unterschiedlichen Zeiten belichtet und Daten erfasst. Daher können sich bewegende Objekte in einer Bilderfassungsvorrichtung mit einem rollenden Verschluss verzerrt erscheinen. Dieses Phänomen wird nachfolgend noch ausführlicher beschrieben.
  • Die zweite Bilderfassungsvorrichtung 124 und die dritte Bilderfassungsvorrichtung 126 können ein beliebiger Typ von Bilderfassungsvorrichtung sein. Ähnlich wie die erste Bilderfassungsvorrichtung 122 kann jede der Bilderfassungsvorrichtungen 124 und 126 eine optische Achse umfassen. In einer Ausführungsform kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Aptina-M9V024-WVGA-Sensor mit einem globalen Verschluss umfassen. Alternativ kann jede der Bilderfassungsvorrichtungen 124 und 126 einen rollenden Verschluss umfassen. Ähnlich wie die Bilderfassungsvorrichtung 122 können die Bilderfassungsvorrichtungen 124 und 126 dazu ausgelegt sein, verschiedene Linsen und optische Elemente zu umfassen. In einigen Ausführungsformen können Linsen in Verbindung mit den Bilderfassungsvorrichtungen 124 und 126 FOVs (wie etwa FOVs 204 und 206) bereitstellen, die die gleichen wie, oder enger als, ein FOV (wie etwa FOV 202) in Verbindung mit der Bilderfassungsvorrichtung 122 sind. Beispielsweise können die Bilderfassungsvorrichtungen 124 und 126 FOVs von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bilderfassungsvorrichtungen 124 und 126 können mehrere zweite und dritte Bilder relativ zu einer Szene in Verbindung mit dem Fahrzeug 200 erfassen. Jedes der mehreren zweiten und dritten Bilder kann als eine zweite und dritte Serie von Bildabtastzeilen erfasst werden, die unter Verwendung eines rollenden Verschlusses erfasst werden können. Jede Abtastzeile oder Zeile kann mehrere Pixel aufweisen. Die Bilderfassungsvorrichtungen 124 und 126 können zweite und dritte Abtastraten in Verbindung mit der Erfassung jeder der in der zweiten und dritten Serie enthaltenen Bildabtastzeilen aufweisen.
  • Jede Bilderfassungsvorrichtung 122, 124 und 126 kann bei einer beliebigen geeigneten Position und Ausrichtung relativ zum Fahrzeug 200 positioniert werden. Die relative Positionierung der Bilderfassungsvorrichtungen 122, 124 und 126 kann ausgewählt werden, um beim Zusammenfügen der Informationen zu helfen, die von den Bilderfassungsvorrichtungen erfasst werden. Beispielsweise kann, in einigen Ausführungsformen, ein FOV (wie etwa FOV 204) in Verbindung mit der Bilderfassungsvorrichtung 124 ein FOV (wie etwa FOV 202) in Verbindung mit der Bilderfassungsvorrichtung 122 und ein FOV (wie etwa FOV 206) in Verbindung mit der Bilderfassungsvorrichtung 126 teilweise oder vollständig überlappen.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können am Fahrzeug 200 bei beliebigen geeigneten relativen Höhen befindlich sein. In einem Fall kann es eine Höhendifferenz zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 geben, die ausreichende Parallaxeninformationen bereitstellen kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A gezeigt, sind die zwei Bilderfassungsvorrichtungen 122 und 124 in unterschiedlichen Höhen. Es kann auch eine laterale Versetzungsdifferenz zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 geben, die, beispielsweise, zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 gibt. Die Differenz im lateralen Versatz kann durch dx bezeichnet sein, wie in 2C und 2D gezeigt. In einigen Ausführungsformen können Vorwärts- und Rückwärtsversetzungen (z. B. Bereichsversetzung) zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 bestehen. Beispielsweise kann die Bilderfassungsvorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 befindlich sein. Dieser Typ von Versetzung kann einer der Bilderfassungsvorrichtungen ermöglichen, potenzielle blinde Flecken der anderen Bilderfassungsvorrichtung(en) abzudecken.
  • Die Bilderfassungsvorrichtungen 122 können eine beliebige geeignete Auflösungsfähigkeit (z. B. Anzahl von Pixeln in Verbindung mit dem Bildsensor) aufweisen, und die Auflösung des bzw. der Bildsensoren in Verbindung mit der Bilderfassungsvorrichtung 122 kann höher, niedriger oder die gleiche wie die Auflösung des bzw. der Bildsensoren in Verbindung mit den Bilderfassungsvorrichtungen 124 und 126 sein. In einigen Ausführungsformen können der bzw. die Bildsensoren in Verbindung mit der Bilderfassungsvorrichtung 122 und/oder den Bilderfassungsvorrichtungen 124 und 126 eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Framerate (z. B. die Rate, mit der eine Bilderfassungsvorrichtung eine Menge von Pixeldaten von einem Bildframe erfasst, bevor sie fortschreitet, um Pixeldaten in Verbindung mit dem nächsten Bildframe zu erfassen) kann steuerbar sein. Die Framerate in Verbindung mit der Bilderfassungsvorrichtung 122 kann höher, niedriger oder die gleiche sein wie die Framerate in Verbindung mit den Bilderfassungsvorrichtungen 124 und 126. Die Framerate in Verbindung mit den Bilderfassungsvorrichtungen 122, 124 und 126 kann von einer Vielzahl von Faktoren abhängen, die den Zeitverlauf der Framerate beeinflussen können. Beispielsweise können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode umfassen, die vor oder nach der Erfassung von Bilddaten in Verbindung mit dem einen oder den mehreren Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 auferlegt wird. Im Allgemeinen können Bilddaten entsprechend den einzelnen Pixeln gemäß einer Taktrate für die Vorrichtung (z. B. ein Pixel pro Taktzyklus) erfasst werden. Zusätzlich können in Ausführungsformen, die einen rollenden Verschluss umfassen, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare horizontale Austastperiode umfassen, die vor oder nach der Erfassung von Bilddaten in Verbindung mit einer Zeile von Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 auferlegt wird. Ferner können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare vertikale Austastperiode umfassen, die vor oder nach der Erfassung von Bilddaten in Verbindung mit einem Bildframe der Bilderfassungsvorrichtung 122, 124 und/oder 126 auferlegt wird.
  • Diese Zeitverlaufssteuerungen können eine Synchronisierung von Frameraten in Verbindung mit den Bilderfassungsvorrichtungen 122, 124 und 126 ermöglichen, selbst wenn die jeweiligen Zeilenabtastraten unterschiedlich sind. Zusätzlich können, wie nachfolgend noch ausführlicher erörtert wird, diese auswählbaren Zeitverlaufssteuerungen, unter anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenabtastraten usw.), eine Synchronisierung von Bilderfassung von einem Bereich, wo das FOV der Bilderfassungsvorrichtung 122 ein oder mehrere FOVs der Bilderfassungsvorrichtungen 124 und 126 überlappt, ermöglichen, selbst wenn das Sichtfeld der Bilderfassungsvorrichtung 122 verschieden von den FOVs der Bilderfassungsvorrichtungen 124 und 126 ist.
  • Der Zeitverlauf der Framerate in der Bilderfassungsvorrichtung 122, 124 und 126 kann von der Auflösung der zugehörigen Bildsensoren abhängen. Wenn beispielsweise, unter der Annahme ähnlicher Zeilenabtastraten für beide Vorrichtungen, eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 x 480 umfasst und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 umfasst, wird mehr Zeit erforderlich sein, um einen Frame von Bilddaten von dem Sensor zu erfassen, der die höhere Auflösung aufweist.
  • Ein anderer Faktor, der den Zeitverlauf der Bilddatenerfassung in den Bilderfassungsvorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenabtastrate. Beispielsweise erfordert die Erfassung einer Zeile von Bilddaten von einem in der Bilderfassungsvorrichtung 122, 124 und 126 enthaltenen Bildsensor eine gewisse minimale Zeitdauer.
  • Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, steht diese minimale Zeitdauer für die Erfassung einer Zeile von Bilddaten in Beziehung zu einer maximalen Zeilenabtastrate für eine bestimmte Vorrichtung. 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 Bilderfassungsvorrichtungen 124 und 126 eine maximale Zeilenabtastrate aufweisen, die höher als eine maximale Zeilenabtastrate in Verbindung mit der Bilderfassungsvorrichtung 122 ist. In einigen Ausführungsformen kann die maximale Zeilenabtastrate der Bilderfassungsvorrichtung 124 und/oder 126 1,25, 1,5, 1,75, oder 2 mal oder mehr als eine maximale Zeilenabtastrate der Bilderfassungsvorrichtung 122 sein.
  • In einer anderen Ausführungsform können die Bilderfassungsvorrichtungen 122, 124 und 126 die gleiche maximale Zeilenabtastrate aufweisen, aber die Bilderfassungsvorrichtung 122 kann bei einer Abtastrate betrieben werden, die kleiner als oder gleich ihrer maximalen Abtastrate ist. Das System kann so ausgelegt sein, dass eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 bei einer Zeilenabtastrate arbeiten, die gleich der Zeilenabtastrate der Bilderfassungsvorrichtung 122 ist. In anderen Fällen kann das System so ausgelegt sein, dass die Zeilenabtastrate der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 1,25, 1,5, 1,75, oder 2 mal oder mehr als die Zeilenabtastrate der Bilderfassungsvorrichtung 122 sein kann.
  • In einigen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten umfassen. Die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 können, beispielweise, einen beliebigen Bereich relativ zu einer Umgebung des Fahrzeugs 200 umfassen. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 dazu ausgelegt sein, Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, an den Seiten des Fahrzeugs 200 oder von Kombinationen daraus zu erfassen.
  • Ferner kann die Brennweite in Verbindung mit jeder Bilderfassungsvorrichtung 122, 124 und/oder 126 auswählbar sein (z. B. durch Einbeziehung entsprechender Linsen usw.), sodass jede Vorrichtung Bilder von Objekten bei einem gewünschten Abstandsbereich relativ zum Fahrzeug 200 erfasst. Beispielsweise können, in einigen Ausführungsformen, die Bilderfassungsvorrichtungen 122, 124 und 126 Bilder von nahen Objekten innerhalb von wenigen Metern vom Fahrzeug erfassen. Die Bilderfassungsvorrichtungen 122, 124 und 126 können auch dazu ausgelegt sein, Bilder von Objekten zu erfassen, die weiter vom Fahrzeug entfernt sind (z. B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgewählt werden, dass eine Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug erfassen kann (z. B. innerhalb von 10 m oder innerhalb von 20 m), während die anderen Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 124 und 126) Bilder von vom Fahrzeug 200 weiter entfernten Objekten (z. B. mehr als 20 m, 50 m, 100 m, 150 m usw.) erfassen können.
  • Entsprechend einigen Ausführungsformen kann das FOV von einer oder mehreren Bilderfassungsvorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein FOV von 140 Grad zu haben, insbesondere für die Bilderfassungsvorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Bereichs in der Nachbarschaft des Fahrzeugs 200 zu erfassen. Beispielsweise kann die Bilderfassungsvorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links vom Fahrzeug 200 zu erfassen, und, in solchen Ausführungsformen, kann es für die Bilderfassungsvorrichtung 122 wünschenswert sein, ein weites FOV (z. B. mindestens 140 Grad) zu haben.
  • Das Sichtfeld in Verbindung mit jeder der Bilderfassungsvorrichtungen 122, 124 und 126 kann von den entsprechenden Brennweiten abhängen. Wenn sich beispielsweise die Brennweite erhöht, verringert sich das entsprechende Sichtfeld.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können dazu ausgelegt sein, beliebige geeignete Sichtfelder aufzuweisen. In einem bestimmten Beispiel kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 46 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 23 Grad aufweisen, und Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem weiteren Fall kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 52 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 26 Grad aufweisen, und Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bilderfassungsvorrichtung 122 zu den FOVs der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 von 1,5 bis 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so ausgelegt sein, dass ein Sichtfeld der Bilderfassungsvorrichtung 122 ein Sichtfeld der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 zumindest teilweise oder vollständig überlappt. In einigen Ausführungsformen kann das System 100 so ausgelegt sein, dass die Sichtfelder der Bilderfassungsvorrichtungen 124 und 126, beispielsweise, in eine gemeinsame Mitte mit dem Sichtfeld der Bilderfassungsvorrichtung 122 fallen (z. B. enger als dieses sind). In anderen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 angrenzende FOVs erfassen und können teilweise Überlappung in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgerichtet sein, dass eine Mitte des engeren FOV der Bilderfassungsvorrichtungen 124 und/oder 126 in einer unteren Hälfte des Sichtfelds der Vorrichtung mit weiterem FOV 122 befindlich ist.
  • 2F ist eine diagrammatische Darstellung von beispielhaften Fahrzeugsteuersystemen im Einklang mit den offenbarten Ausführungsformen. Wie in 2F angezeigt, kann das Fahrzeug 200 ein Drosselsystem 220, ein Bremssystem 230 und ein Lenksystem 240 umfassen. Das System 100 kann Eingänge (z. B. Steuersignale) für eines oder mehrere aus einem Drosselsystem 220, einem Bremssystem 230 und einem Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. beliebige drahtgebundene und/oder drahtlose Verbindung(en) zum Senden von Daten) bereitstellen. Beispielsweise kann, basierend auf einer Analyse der durch die Bilderfassungsvorrichtungen 122, 124 und/oder 126 erfassten Bilder, das System 100 Steuersignale für eines oder mehrere aus dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Veranlassen einer Beschleunigung, eines Richtungsänderns, eines Spurwechsels usw.). Ferner kann das System 100 Eingänge von einem oder mehreren aus dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 24 empfangen, die die Betriebsbedingungen des Fahrzeugs 200 anzeigen (z. B. Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder die Richtung ändert usw.). Weitere Einzelheiten werden anschließend in Verbindung mit 4-7 bereitgestellt.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Beifahrer des Fahrzeugs 200 umfassen. Beispielsweise kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Tasten 340 und ein Mikrofon 350 umfassen. Ein Fahrer oder Beifahrer des Fahrzeugs 200 kann auch Griffe (z. B. an oder nahe der Lenksäule des Fahrzeugs 200 befindlich, umfassend, beispielsweise, Blinksignalgriffe), Tasten (z. B. befindlich am Lenkrad des Fahrzeugs 200) und ähnliches umfassen, um mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 angrenzend an einen Rückspiegel 310 positioniert sein. In ähnlicher Weise kann, in einigen Ausführungsformen, die Bilderfassungsvorrichtung 122 nahe dem Rückspiegel 310 positioniert sein. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) umfassen. Beispielsweise kann das System 100 verschiedene Benachrichtigungen (z. B. Alarme) über die Lautsprecher 360 bereitstellen.
  • 3B-3D sind Darstellungen einer beispielhaften Kamerabefestigung 370, dazu ausgelegt, hinter einem Rückspiegel (z. B. Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, im Einklang mit offenbarten Ausführungsformen. Wie in 3B gezeigt, kann die Kamerabefestigung 370 die Bilderfassungsvorrichtungen 122, 124 und 126 umfassen. Die Bilderfassungsvorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der bündig mit der Fahrzeugwindschutzscheibe sein kann und eine Zusammensetzung von Folie und/oder anti-reflektiven Materialien umfassen kann. Beispielsweise kann der Blendschutz 380 so positioniert sein, dass der Schutz gegen eine Fahrzeugwindschutzscheibe mit einer passenden Steigung ausgerichtet ist. In einigen Ausführungsformen kann jede der Bilderfassungsvorrichtungen 122, 124 und 126 hinter einem Blendschutz 380 positioniert sein, wie, beispielsweise, in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Auslegung der Bilderfassungsvorrichtungen 122, 124 und 126, der Kamerabefestigung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Darstellung der Kamerabefestigung 370, die in 3B auf einer Frontperspektive gezeigt ist.
  • Wie für einen Fachmann mit dem Vorteil dieser Offenbarung ersichtlich, können zahlreiche Variationen und/oder Modifikationen an den vorstehenden offenbarten Ausführungsformen vorgenommen werden. Beispielsweise sind nicht alle Komponenten für den Betrieb des Systems 100 wesentlich. Ferner kann eine beliebige Komponente in einem beliebigen geeigneten Teil des Systems 100 befindlich sein, und die Komponenten können in eine Vielzahl von Auslegungen umgeordnet werden, dabei die Funktionalität der offenbarten Ausführungsformen bereitstellend. Daher sind die vorstehenden Auslegungen Beispiele, und das System 100 kann, unabhängig von den oben erörterten Auslegungen, eine breite Vielfalt an Funktionalität bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 in Reaktion auf die Analyse zu navigieren.
  • Wie nachfolgend ausführlicher erörtert und im Einklang mit verschiedenen offenbarten Ausführungsformen, kann das System 100 eine Vielzahl von Merkmalen im Zusammenhang mit autonomem Fahren und/oder Fahrerunterstützungstechnologie 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 von, beispielsweise, der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion vornehmen soll oder nicht und dann die bestimmte Aktion ohne menschlichen Eingriff automatisch vornehmen. Wenn beispielsweise das Fahrzeug 200 ohne menschlichen Eingriff navigiert, kann das System 100 Bremsen, Beschleunigung und/oder Lenken des Fahrzeugs 200 automatisch steuern (z. B. durch Senden von Steuersignalen an eines oder mehrere aus 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 Details hinsichtlich der verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden nachfolgend bereitgestellt.
  • Nach vorn zeigendes Mehrfach-Bildgebungssystem
  • Wie oben erörtert, kann das System 100 eine Fahrunterstützungsfunktionalität bereitstellen, die ein Mehrfachkamerasystem verwendet. Das Mehrfachkamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung des Fahrzeugs zeigen. In anderen Ausführungsformen kann das Mehrfachkamerasystem eine oder mehrere Kameras umfassen, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs zeigen. In einer Ausführungsform kann, beispielsweise, das System 100 ein Zwei-Kamera-Bildgebungssystem verwenden, bei dem eine erste Kamera und eine zweite Kamera (z. B. die Bilderfassungsvorrichtungen 122 und 124) an der Front und/oder den Seiten eines Fahrzeugs (z. B. Fahrzeug 200) positioniert sein können. Die erste Kamera kann ein Sichtfeld aufweisen, das größer als, kleiner als oder teilweise überlappend mit dem Sichtfeld der zweiten Kamera ist. Zusätzlich kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um monokulare Bildanalyse von durch die erste Kamera bereitgestellten Bildern durchzuführen, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um monokulare Bildanalyse von durch die zweite Kamera bereitgestellten Bildern durchzuführen. Die Ausgänge (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 Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, bei dem jede der Kameras ein unterschiedliches Sichtfeld aufweist. Ein solches System kann, daher, Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die in variierenden Abständen sowohl zur Front als auch zu den Seiten des Fahrzeugs befindlich sind. Bezugnahmen auf monokulare Bildanalyse können sich auf Instanzen beziehen, bei denen Bildanalyse basierend auf Bildern durchgeführt wird, die von einem einzelnen Betrachtungspunkt (z. B. von einer einzelnen Kamera) erfasst werden. Stereobildanalyse kann sich auf Instanzen beziehen, bei denen die Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bilderfassungsparameters erfasst wurden. Beispielsweise können erfasste Bilder, die zum Durchführen von Stereobildanalyse geeignet sind, Bilder umfassen, die erfasst werden: von zwei oder mehr unterschiedlichen Positionen, von unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen usw.
  • Beispielsweise kann das System 100 in einer Ausführungsform eine Drei-Kamera-Auslegung unter Verwendung der Bilderfassungsvorrichtungen 122, 124 und 126 umsetzen. In einer solchen Auslegung kann die Bilderfassungsvorrichtung 122 ein enges Sichtfeld (z. B. 34 Grad, oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad ausgewählt werden, usw.) bereitstellen, die Bilderfassungsvorrichtung 124 kann ein weites Sichtfeld (z. B. 150 Grad oder andere Werte, die aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählt werden) bereitstellen, und die Bilderfassungsvorrichtung 126 kann ein mittleres Sichtfeld (z. B. 46 Grad oder andere Werte, die aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählt werden) bereitstellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 126 als eine Haupt- oder Primärkamera agieren. Die Bilderfassungsvorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 positioniert sein und im Wesentlichen Seite an Seite positioniert sein (z. B. 6 cm voneinander entfernt). Ferner können, in einigen Ausführungsformen, wie oben erörtert, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 hinter einem Blendschutz 380 montiert sein, der bündig mit der Windschutzscheibe des Fahrzeugs 200 ist. Ein solcher Schutz kann wirken, um die Auswirkungen beliebiger Reflexionen aus dem Inneren des Fahrzeugs auf die Bilderfassungsvorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform, wie oben in Verbindung mit 3B und 3C erörtert, kann die Kamera mit weitem Sichtfeld (z. B. die Bilderfassungsvorrichtung 124 im obigen Beispiel) niedriger als die Kameras mit engem Sichtfeld und Hauptsichtfeld (z. B. Bildvorrichtungen 122 und 126 im obigen Beispiel) montiert sein. Diese Auslegung kann eine freie Sichtlinie von der Kamera mit weitem Sichtfeld bereitstellen. Um Reflexionen zu verringern, können die Kameras nahe an der Windschutzscheibe des Fahrzeugs 200 montiert sein und können Polarisierer an den Kameras umfassen, um reflektiertes Licht zu dämpfen.
  • Ein Drei-Kamera-System kann gewisse Leistungscharakteristiken bereitstellen. Beispielsweise können einige Ausführungsformen eine Fähigkeit zum Validieren der Detektion von Objekten durch eine Kamera basierend auf Detektionsergebnissen von einer anderen Kamera umfassen. In der oben erörterten Drei-Kamera-Auslegung kann die Verarbeitungseinheit 110, beispielsweise, drei Verarbeitungsvorrichtungen (z. B. drei Prozessorchips der EyeQ-Serie, wie oben erörtert) umfassen, wobei jede Verarbeitungsvorrichtung bestimmt ist zum Verarbeiten von Bildern, die durch eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden.
  • In einem Drei-Kamera-System kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Kamera mit engem Sichtfeld empfangen und Visionsverarbeitung der Kamera mit engem FOV durchführen zum, beispielsweise, Detektieren anderer Fahrzeuge, Fußgänger, Spurmarkierungen, Verkehrsschilder, Ampeln und anderer Straßenobjekte. Ferner kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern von der Hauptkamera und der engen Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erzeugen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen, die basierend auf Informationen von einer anderen Kamera berechnet werden, kombinieren.
  • Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und Visionsverarbeitung durchführen zum Detektieren anderer Fahrzeuge, Fußgänger, Spurmarkierungen, Verkehrsschilder, Ampeln und anderer Straßenobjekte. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraversetzung berechnen und, basierend auf dem Versatz, eine Disparität von Pixeln zwischen aufeinander folgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene erzeugen (z. B. eine Struktur aus Bewegung). Die zweite Verarbeitungsvorrichtung kann die auf Struktur aus Bewegung basierende 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um mit den 3D-Stereobildern kombiniert zu werden.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der Kamera mit weitem FOV empfangen und die Bilder verarbeiten zum Detektieren von Fahrzeugen, Fußgängern, Spurmarkierungen, Verkehrsschilder, Ampeln und anderen Straßenobjekten. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren zum Identifizieren von Objekten, die sich im Bild bewegen, wie etwa Fahrzeugen, die die Spur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen kann das Vorhandensein von Strömen von bildbasierten Informationen, die unabhängig erfasst und verarbeitet werden, eine Möglichkeit zum Bereitstellen von Redundanz im System bieten. Eine solche Redundanz kann, beispielweise, Verwenden einer ersten Bilderfassungsvorrichtung und der von dieser Vorrichtung verarbeiteten Bilder zum Validieren und/oder Ergänzen von Informationen umfassen, die durch Erfassen und Verarbeiten von Bildinformationen von zumindest einer zweiten Bilderfassungsvorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122 und 124) verwenden, um Navigationsunterstützung für das Fahrzeug 200 bereitzustellen, und eine dritte Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 126) verwenden, um Redundanz bereitzustellen und die Analyse von Daten zu validieren, die von den anderen zwei Bilderfassungsvorrichtungen empfangen werden. Beispielsweise können, in einer solchen Auslegung, die Bilderfassungsvorrichtungen 122 und 124 Bilder für eine Stereoanalyse durch das System 100 zum Navigieren des Fahrzeugs 200 bereitstellen, während die Bilderfassungsvorrichtung 126 Bilder für monokulare Analysis durch das System 100 bereitstellen kann, um Redundanz und Validierung von Informationen bereitzustellen, die basierend auf Bildern erhalten werden, die von der Bilderfassungsvorrichtung 122 und/oder der Bilderfassungsvorrichtung 124 erfasst werden. Das heißt, die Bilderfassungsvorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als ein redundantes Untersystem bereitstellend angesehen werden, das eine Prüfung auf der Analyse, die von den Bilderfassungsvorrichtungen 122 und 124 abgeleitet wird, bereitstellt (um z. B. ein automatisches Notbremssystem (AEB) bereitzustellen). Ferner kann, in einigen Ausführungsformen, Redundanz und Validierung von empfangenen Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren (z. B. Radar, Lidar, akustische Sensoren, von einem oder mehreren Sendeempfängern außerhalb eines Fahrzeugs empfangene Informationen usw.) empfangen werden.
  • Für einen Fachmann ist ersichtlich, dass die obigen Kameraauslegungen, Kameraplatzierungen, Anzahl von Kameras, Kameraorte usw. nur Beispiele sind. Diese Komponenten und andere, relativ zu dem Gesamtsystem beschriebene, können zusammengebaut und in einer Vielzahl unterschiedlicher Auslegungen verwendet werden, ohne vom Schutzumfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten hinsichtlich der Nutzung eines Mehrfachkamerasystems zum Bereitstellen von Fahrerunterstützung und/oder autonomer Fahrzeugfunktionalität folgen anschließend.
  • 4 ist ein beispielhaftes funktionales Blockdiagramm eines Speichers 140 und/oder 150, der mit Anweisungen zum Durchführen einer oder mehrerer Operationen im Einklang mit den offenbarten Ausführungsformen gespeichert/programmiert werden kann. Obwohl sich Folgendes auf den Speicher 140 bezieht, ist es für einen Fachmann offensichtlich, dass die Anweisungen im Speicher 140 und/oder 150 gespeichert sein können.
  • Wie in 4 gezeigt, kann der Speicher 140 ein monokulares Bildanalysemodul 402, eine Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein navigatorisches Antwortmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Auslegung des Speichers 140 beschränkt. Ferner können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die in einem beliebigen der im Speicher 140 enthaltenen Module 402, 404, 406 und 408 gespeicherten Anweisungen ausführen. Für einen Fachmann ist es offensichtlich, dass sich Bezugnahmen in den folgenden Erörterungen auf die Verarbeitungseinheit 110 einzeln oder kollektiv auf den Anwendungsprozessor 180 und den Bildprozessor 190 beziehen können. Entsprechend können Schritte aus einem beliebigen der folgenden Prozesse durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie etwa Computervisionssoftware) speichern, was, wenn durch Verarbeitungseinheit 110 ausgeführt, monokulare Bildanalyse einer Menge von Bildern durchführt, die durch eine der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen von einer Menge von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit 5A-5D weiter unten beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Detektieren einer Menge von Merkmalen innerhalb der Menge von Bildern umfassen, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, gefährliche Objekte und beliebige andere Merkmale in Verbindung mit einer Umgebung eines Fahrzeugs. Basierend auf der Analyse kann das System 100 (z. B. über Verarbeitungseinheit 110) eine oder mehrere navigatorische Antworten im Fahrzeug 200 veranlassen, wie etwa ein Richtungsändern, einen Spurwechsel, eine Änderung der Beschleunigung und ähnliches, wie nachfolgend in Verbindung mit dem navigatorischen Antwortmodul 408 erörtert.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie etwa Computervisionssoftware) speichern, was, wenn durch Verarbeitungseinheit 110 ausgeführt, Stereobildanalyse einer ersten und zweiten Menge von Bildern durchführt, die durch eine Kombination von Bilderfassungsvorrichtungen, die aus den Bilderfassungsvorrichtungen 122, 124 und 126 ausgewählt werden, erfasst werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen von der ersten und der zweiten Menge von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen vom Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen von Stereobildanalyse basierend auf einer ersten Menge von Bildern, die durch die Bilderfassungsvorrichtung 124 erfasst werden, und einer zweiten Menge von Bildern, die durch die Bilderfassungsvorrichtung 126 erfasst werden, umfassen. Wie in Verbindung mit 6 weiter unten beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Detektieren einer Menge von Merkmalen innerhalb der ersten und der zweiten Menge von Bildern umfassen, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, gefährliche Objekte und ähnliches. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere navigatorische Antworten im Fahrzeug 200 veranlassen, wie etwa ein Richtungsändern, einen Spurwechsel, eine Änderung der Beschleunigung und ähnliches, wie nachfolgend in Verbindung mit dem navigatorischen Antwortmodul 408 erörtert. Ferner kann, in einigen Ausführungsformen, das Stereobildanalysemodul 404 Techniken in Verbindung mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System umsetzen, wie etwa einem System, das dazu ausgelegt sein kann, Computervisionsalgorithmen zu verwenden, um Objekte in einer Umgebung zu detektieren und/oder zu beschriften, aus der sensorische Informationen erfasst und verarbeitet werden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule dazu ausgelegt sein, eine Kombination aus einem trainierten und einem untrainierten 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 Datenverarbeitungs- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die dazu ausgelegt sind, eine Änderung in der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu veranlassen. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen in Verbindung mit dem Geschwindigkeits- und Beschleunigungsmodul 406 ausführen, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die von der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können, beispielsweise, eine Zielposition, eine Geschwindigkeit und/oder Beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem nahen Fahrzeug, Fußgänger oder Straßenobjekt, Positionsinformationen für das Fahrzeug 200 relativ zu Spurmarkierungen der Straße und ähnliches umfassen. Zusätzlich kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingängen (z. B. Informationen vom Radar) und Eingang von anderen Systemen des Fahrzeugs 200, wie etwa des Drosselsystems 220, des Bremssystems 230 und/oder des Lenksystems 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 Änderung in der Geschwindigkeit und/oder Beschleunigung auszulösen durch, beispielsweise, physisches Durchdrücken der Bremse oder Freigeben des Fahrpedals des Fahrzeugs 200.
  • In einer Ausführungsform kann das navigatorische Antwortmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte navigatorische Antwort basierend auf Daten zu bestimmen, die von der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können Positions- und Geschwindigkeitsinformationen in Verbindung mit nahen Fahrzeugen, Fußgängern und Straßenobjekten, Zielpositionsinformationen für das Fahrzeug 200 und ähnliches umfassen. Zusätzlich kann, in einigen Ausführungsformen, die navigatorische Antwort (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 bei der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 detektiert werden. Das navigatorische Antwortmodul 408 kann auch eine navigatorische Antwort basierend auf sensorischen Eingängen (z. B. Informationen vom Radar) und Eingängen von anderen Systemen des Fahrzeugs 200, wie etwa des Drosselsystems 220, des Bremssystems 230 und des Lenksystems 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten navigatorischen Antwort 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 navigatorische Antwort auszulösen, beispielsweise, durch Drehen des Lenkrads des Fahrzeugs 200, um eine Drehung um einen vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 den Ausgang des navigatorischen Antwortmoduls 408 (z. B. die gewünschte navigatorische Antwort) als einen Eingang für die Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zur Berechnung einer Änderung in der Geschwindigkeit des Fahrzeugs 200 verwenden.
  • Ferner kann ein beliebiges der hier offenbarten Module (z. B. Module 402, 404 und 406) Techniken in Verbindung mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System umsetzen.
  • 5A ist ein Flussdiagramm, einen beispielhaften Prozess 500A zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf monokularer Bildanalyse im Einklang mit offenbarten Ausführungsformen zeigend. Bei Schritt 510 kann die Verarbeitungseinheit 110 mehrere Bilder über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. Beispielsweise kann eine in der Bilderfassungseinheit 120 (wie etwa der Bilderfassungsvorrichtung 122 mit dem Sichtfeld 202) enthaltene Kamera mehrere Bilder eines Bereichs vor dem Fahrzeug 200 (oder an den Seiten des Fahrzeugs oder hinter dem Fahrzeug, beispielsweise) erfassen und sie ü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 die mehreren Bilder bei Schritt 520 zu analysieren, wie nachfolgend ausführlicher in Verbindung mit 5B-5D beschrieben. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 eine Menge von Merkmalen innerhalb der Menge von Bildern detektieren, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln und ähnliches.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um verschiedene Straßengefahren bei Schritt 520 zu detektieren, wie etwa, beispielsweise, Teile eines Lastwagenreifens, umgestürzte Straßenschilder, lose Ladung, kleine Tiere und ähnliches. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Detektion solcher Gefahren noch anspruchsvoller machen kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um Mehrfach-Frameanalyse auf den mehreren Bildern durchzuführen, um Straßengefahren zu detektieren. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinander folgenden Bildframes schätzen und die Disparitäten in den Pixeln zwischen den Frames berechnen, um eine 3D-Karte der Straße zu konstruieren. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren, die über der Straßenoberfläche vorhanden sind, zu detektieren.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das navigatorische Antwortmodul 408 ausführen, um eine oder mehrere navigatorische Antworten im Fahrzeug 200 zu veranlassen, basierend auf der bei Schritt 520 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben. Navigatorische Antworten können, beispielsweise, ein Richtungsändern, einen Spurwechsel, eine Änderung in der Beschleunigung und ähnliches umfassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder mehreren navigatorischen Antworten zu veranlassen. Zusätzlich können mehrere navigatorische Antworten gleichzeitig, nacheinander oder in einer Kombination daraus auftreten. Beispielsweise kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, eine Spur zu wechseln und dann zu beschleunigen durch, beispielsweise, sequenzielles Senden von Steuersignalen an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen zu bremsen, dabei zur gleichen Zeit Spuren wechselnd durch, beispielsweise, gleichzeitiges Senden von Steuersignalen an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200.
  • 5B ist ein Flussdiagramm, einen beispielhaften Prozess 500B zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einer Menge von Bildern im Einklang mit offenbarten Ausführungsformen zeigend. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B umzusetzen. Bei Schritt 540 kann die Verarbeitungseinheit 110 eine Menge von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger repräsentieren. Beispielsweise kann die Verarbeitungseinheit 110 ein oder mehrere Bilder abtasten, 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 in einer Weise ausgestaltet sein, um eine hohe Rate an „falschen Treffern“ und eine niedrige Rate an „verpassten Treffern“ zu erreichen. Beispielsweise kann die Verarbeitungseinheit 110 eine niedrige Schwelle von Ähnlichkeit mit vorbestimmten Mustern zum Identifizieren von Kandidatenobjekten als mögliche Fahrzeuge oder Fußgänger verwenden. Dies kann der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit des Verpassens (z. B. Nicht-Identifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, zu verringern.
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 die Menge von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können von verschiedenen Eigenschaften in Verbindung mit in einer Datenbank (z. B. einer im Speicher 140 gespeicherten Datenbank) gespeicherten Objekttypen abgeleitet werden. Eigenschaften können Objektform, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und ähnliches umfassen. Daher kann die Verarbeitungseinheit 110 eine oder mehrere Mengen von Kriterien verwenden, um falsche Kandidaten aus der Menge von Kandidatenobjekten abzulehnen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Frames von Bildern analysieren, um zu bestimmen, ob Objekte in der Menge von Kandidatenobjekten Fahrzeuge und/oder Fußgänger repräsentieren. Beispielsweise kann die Verarbeitungseinheit 110 ein detektiertes Kandidatenobjekt über aufeinander folgende Frames verfolgen und Daten in Verbindung mit dem detektierten Objekt (z. B. Größe, Position relativ zum Fahrzeug 200 usw.) Frame für Frame akkumulieren. Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das detektierte Objekt schätzen und die frameweisen Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 eine Menge von Messungen für die detektierten Objekte konstruieren. Solche Messungen können, beispielsweise, Positions-, Geschwindigkeits- und Beschleunigungswerte (bezüglich des Fahrzeugs 200) in Verbindung mit den detektierten Objekten umfassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätzungstechniken unter Verwendung einer Serie von zeitbasierten Beobachtungen, wie etwa Kalman-Filter oder linearquadratischer Schätzung (LQE), und/oder basierend auf verfügbaren Modellierungsdaten für unterschiedliche Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) konstruieren. Die Kalman-Filter können auf einer Messung der Skala eines Objekts basieren, wobei die Skalenmessung proportional zu einer Zeit bis zur Kollision ist (z. B. die Zeitspanne für das Fahrzeug 200 zum Erreichen des Objekts). So kann, durch Durchführen der Schritte 540-546, die Verarbeitungseinheit 110 Fahrzeuge und Fußgänger identifizieren, die innerhalb der Menge von erfassten Bildern auftauchen, und Informationen (z. B. Position, Geschwindigkeit, Größe) in Verbindung mit den Fahrzeugen und Fußgängern ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere navigatorische Antworten im Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten des Detektierens eines „falschen Treffers“ und des Verpassens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, zu verringern. Die optische Flussanalyse kann sich, beispielsweise, auf Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in dem einen oder den mehreren Bildern in Verbindung mit anderen Fahrzeugen und Fußgängern, und die verschieden von Straßenoberflächenbewegung sind, beziehen. Die Verarbeitungseinheit 110 kann die Bewegung der Kandidatenobjekte berechnen durch Beobachten der unterschiedlichen Positionen der Objekte über mehrere Bildframes, die zu unterschiedlichen Zeiten erfasst wurden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingänge in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Daher kann optische Flussanalyse ein weiteres Verfahren zum Detektieren von Fahrzeugen und Fußgängern, die nahe dem Fahrzeug 200 sind, bereitstellen. Die Verarbeitungseinheit 110 kann optische Flussanalyse in Kombination mit Schritten 540-546 durchführen, um Redundanz für das Detektieren von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, einen beispielhaften Prozess 500C zum Detektieren von Straßenmarkierungen und/oder Spurgeometrieinformationen in einer Menge von Bildern im Einklang mit offenbarten Ausführungsformen zeigend. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C umzusetzen. Bei Schritt 550 kann die Verarbeitungseinheit 110 eine Menge von Objekten durch Abtasten von einem oder mehreren Bildern detektieren. Zum Detektieren von Segmenten von Spurmarkierungen, Spurgeometrieinformationen und anderen zugehörigen Straßenmarkierungen kann die Verarbeitungseinheit 110 die Menge von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt wurden (z. B. kleinere Schlaglöcher, kleine Steine usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 detektierten Segmente, die zur gleichen Straßenmarkierung oder Spurmarkierung gehören, zusammen gruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell entwickeln, um die detektierten Segmente zu repräsentieren, wie etwa ein mathematisches Modell.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 eine Menge von Messungen in Verbindung mit den detektierten Segmenten konstruieren. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der detektierten Segmente von der Bildebene auf die Echtweltebene erzeugen. Die Projektion kann unter Verwendung eines Polynoms dritten Grades mit Koeffizienten entsprechend physischen Eigenschaften, wie etwa Position, Anstieg, Krümmung und Krümmungsableitung der detektierten Straße, charakterisiert werden. Beim Erzeugen der Projektion kann die Verarbeitungseinheit 110 Änderungen in der Straßenoberfläche, wie auch der Nick- und Wankraten in Verbindung mit dem Fahrzeug 200 berücksichtigen. Zusätzlich kann die Verarbeitungseinheit 110 die Straßenerhebung modellieren durch Analysieren der auf der Straße vorhandenen Positions- und Bewegungshinweise. Ferner kann die Verarbeitungseinheit 110 die Nick- und Wankraten in Verbindung mit dem Fahrzeug 200 schätzen durch Nachverfolgen einer Menge von Merkmalspunkten in dem einen oder den mehreren Bildern.
  • Bei Schritt 556 kann die Verarbeitungseinheit 110 Mehrfach-Frameanalyse durchführen durch, beispielsweise, Nachverfolgen der detektierten Segmente über aufeinander folgende Bildframes und frameweises Akkumulieren von Daten in Verbindung mit den detektierten Segmenten. Wenn die Verarbeitungseinheit 110 Mehrfach-Frameanalyse durchführt, kann die bei Schritt 554 konstruierte Menge von Messungen zuverlässiger werden und mit einem zunehmend höheren Konfidenzniveau assoziiert werden. Daher kann, durch Durchführen der Schritte 550, 552, 554 und 556, die Verarbeitungseinheit 110 Straßenmarkierungen, die innerhalb der Menge von erfassten Bildern auftauchen, identifizieren und Spurgeometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere navigatorische Antworten im Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
  • Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Quellen von Informationen berücksichtigen, 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 autonome Steuerung des Fahrzeugs 200 in einer sicheren Weise ausführen kann. Zum Entwickeln des Sicherheitsmodells kann, in einigen Ausführungsformen, die Verarbeitungseinheit 110 die Position und Bewegung anderer Fahrzeuge, die detektierten Straßenränder und Barrieren und/oder aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahierte allgemeine Beschreibungen der Straßenform berücksichtigen. Durch Berücksichtigen zusätzlicher Quellen von Informationen kann die Verarbeitungseinheit 110 Redundanz zum Detektieren von Straßenmarkierungen und Spurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, einen beispielhaften Prozess 500D zum Detektieren einer Ampel in einer Menge von Bildern im Einklang mit offenbarten Ausführungsformen zeigend. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D umzusetzen. Bei Schritt 560 kann die Verarbeitungseinheit 110 die Menge von Bildern abtasten und Objekte, die an Orten in den Bildern auftauchen, als wahrscheinlich eine Ampel enthaltend identifizieren. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um eine Menge von Kandidatenobjekten zu konstruieren, dabei diejenigen Objekte ausschließend, die wahrscheinlich keiner Ampel entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften in Verbindung mit Ampeln, wie etwa Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und ähnliches 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 Mehrfach-Frameanalyse auf der Menge von Kandidatenobjekten, die mögliche Ampeln reflektieren, durchführen. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinander folgende Bildframes nachverfolgen, die Echtweltposition der Kandidatenobjekte schätzen und diejenigen Objekte herausfiltern, die sich bewegen (die wahrscheinlich keine Ampeln sind). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Farbanalyse auf den Kandidatenobjekten durchführen und die relative Position der detektierten Farben identifizieren, die innerhalb der möglichen Ampel erscheinen.
  • Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination aus Folgendem basieren: (i) Anzahl von Spuren, die auf jeder Seite des Fahrzeugs 200 detektiert werden, (ii) Markierungen (wie etwa Pfeilmarkierungen), die auf der Straße detektiert werden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert werden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung der von der Ausführung des monokularen Analysemoduls 402 abgeleiteten Informationen durchführen. Zusätzlich kann die Verarbeitungseinheit 110 eine Entsprechung zwischen den bei Schritt 560 detektierten Ampeln und den nahe dem Fahrzeug 200 erscheinenden Spuren bestimmen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann, bei Schritt 564, die Verarbeitungseinheit 110 das Konfidenzniveau in Verbindung mit der analysierten Kreuzungsgeometrie und den detektierten Ampeln aktualisieren. Beispielsweise kann sich die Anzahl von Ampeln, die schätzungsgemäß an der Kreuzung erscheint, verglichen mit der Anzahl, die tatsächlich an der Kreuzung erscheint, das Konfidenzniveau beeinflussen. So kann, basierend auf dem Konfidenzniveau, die Verarbeitungseinheit 110 die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Durchführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln, die innerhalb der Menge von erfassten Bildern auftauchen, identifizieren und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere navigatorische Antworten im Fahrzeug 200 veranlassen, wie oben in Verbindung mit 5A beschrieben.
  • 5E ist ein Flussdiagramm, einen beispielhaften Prozess 500E zum Veranlassen einer oder mehrerer navigatorischer Antworten im Fahrzeug 200 basierend auf einem Fahrzeugpfad im Einklang mit den offenbarten Ausführungsformen zeigend. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugpfad in Verbindung mit dem Fahrzeug 200 konstruieren. Der Fahrzeugpfad kann unter Verwendung einer Menge von Punkten, ausgedrückt in Koordinaten (x, z), repräsentiert werden, und der Abstand di zwischen zwei Punkten in der Menge von Punkten kann in den Bereich von 1 bis 5 Meter fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugpfad unter Verwendung von zwei Polynomen, wie etwa linken und rechten Straßenpolynomen, konstruieren. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den zwei Polynomen berechnen und jeden in dem resultierenden Fahrzeugpfad enthaltenen Punkt um einen vorbestimmten Versatz versetzen (z. B. ein intelligenter Spurversatz), sofern vorhanden (ein Versatz von Null kann einer Fahrt in der Mitte einer Spur entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen beliebigen zwei Punkten in dem Fahrzeugpfad sein. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Spurbreite verwenden, um jeden Punkt des Fahrzeugpfads um die Hälfte der geschätzten Spurbreite plus einem vorbestimmten Versatz zu versetzen (z. B. ein intelligenter Spurversatz).
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 den bei Schritt 570 konstruierten Fahrzeugpfad aktualisieren. Die Verarbeitungseinheit 110 kann den bei Schritt 570 konstruierten Fahrzeugpfad unter Verwendung einer höheren Auflösung rekonstruieren, sodass der Abstand dk zwischen zwei Punkten in der Menge von Punkten, die den Fahrzeugpfad repräsentiert, kleiner als der oben beschriebene Abstand di ist. Beispielsweise kann der Abstand dk in den Bereich von 0,1 bis 0,3 Meter fallen. Die Verarbeitungseinheit 110 kann den Fahrzeugpfad unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, was einen kumulativen Abstandsvektor S entsprechend der Gesamtlänge des Fahrzeugpfads (d. h. basierend auf der Menge von Punkten, die den Fahrzeugpfad repräsentieren) ergibt.
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl)) basierend auf dem aktualisierten Fahrzeugpfad, konstruiert bei Schritt 572, bestimmen. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann mit einem Vorausschauabstand und einer Vorausschauzeit assoziiert sein. Der Vorausschauabstand, der eine untere Grenze haben kann, die von 10 bis 20 Meter reicht, kann als das Produkt der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn sich beispielsweise die Geschwindigkeit des Fahrzeugs 200 verringert, kann sich auch der Vorausschauabstand verringern (z. B. bis er die untere Grenze erreicht). Die Vorausschauzeit, die von 0,5 bis 1,5 Sekunden reichen kann, kann umgekehrt proportional zu der Verstärkung einer oder mehrerer Regelschleifen in Verbindung mit dem Veranlassen einer navigatorischen Antwort im Fahrzeug 200 sein, wie etwa der Regelschleife zur Richtungsfehlernachverfolgung. Beispielsweise kann die Verstärkung der Regelschleife zur Richtungsfehlernachverfolgung von der Bandbreite einer Gierratenschleife, einer Lenkaktuatorschleife, von der lateralen Fahrzeugdynamik und ähnlichem abhängen. Je höher also die Verstärkung der Regelschleife zur Richtungsfehlernachverfolgung ist, desto kürzer ist die Vorausschauzeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Richtungsfehler und einen Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Verarbeitungseinheit 110 kann den Richtungsfehler bestimmen durch Berechnen des Arcustangens des Vorausschaupunkts, z. B. arctan (xl/zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Richtungsfehlers und einer Steuerverstärkung auf hohem Niveau bestimmen. Die Steuerverstärkung auf hohem Niveau kann gleich sein: (2 / Vorausschauzeit), wenn der Vorausschauabstand nicht an der unteren Grenze ist. Andernfalls kann die Steuerverstärkung auf hohem Niveau gleich sein: (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschauabstand).
  • 5F ist ein Flussdiagramm, einen beispielhaften Prozess 500F zum Bestimmen, ob ein vorausfahrendes Fahrzeug Spuren wechselt, im Einklang mit den offenbarten Ausführungsformen zeigend. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen in Verbindung mit einem führenden Fahrzeug (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt) bestimmen. Beispielsweise kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder Beschleunigung des führenden Fahrzeugs unter Verwendung der oben in Verbindung mit 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (in Verbindung mit dem Fahrzeug 200), und/oder eine Schneckenspur (z. B. eine Menge von Punkten, die einen durch das führende Fahrzeug genommenen Pfad beschreiben) unter Verwendung der 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 Schneckenspur und einem Straßenpolynom (z. B. entlang der Spur) berechnen. Wenn die Abweichung dieses Abstands entlang der Spur eine vorbestimmte Schwelle (beispielsweise 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven) überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich Spuren wechselt. In dem Fall, in dem mehrere Fahrzeuge detektiert werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die Schneckenspuren in Verbindung mit jedem Fahrzeug vergleichen. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich Spuren wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (in Verbindung mit dem führenden Fahrzeug) mit der erwarteten Krümmung des Straßensegments, in dem das führende Fahrzeug fährt, vergleichen. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), von Straßenpolynomen, von Schneckenspuren anderer Fahrzeuge, aus vorhandenem Wissen über die Straße und ähnlichem extrahiert werden. Wenn die Differenz in der Krümmung der Schneckenspur und der erwarteten Krümmung des Straßensegments eine vorbestimmte Schwelle überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich Spuren wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 über eine bestimmte Zeitspanne (z. B. 0,5 bis 1,5 Sekunden) die momentane Position des führenden Fahrzeugs mit dem Vorausschaupunkt (in Verbindung mit dem Fahrzeug 200) vergleichen. Wenn der Abstand zwischen der momentanen Position des führenden Fahrzeugs und dem Vorausschaupunkt während der spezifischen Zeitspanne variiert und die kumulative Summe der Abweichung eine vorbestimmte Schwelle (beispielsweise 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven) überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich Spuren wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur analysieren durch Vergleichen der durchfahrenen lateralen Strecke entlang der Spur mit der erwarteten Krümmung der Schneckenspur. Der erwartete Radius der Krümmung kann entsprechend der folgenden Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx die durchfahrene laterale Strecke repräsentiert und δz die durchfahrene Längsstrecke repräsentiert. Wenn die Differenz zwischen der durchfahrenen lateralen Strecke und der erwarteten Krümmung eine vorbestimmte Schwelle (z. B. 500 bis 700 Meter) überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich Spuren wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des führenden Fahrzeugs analysieren. Wenn die Position des führenden Fahrzeugs ein Straßenpolynom verdunkelt (wenn z. B. das führende Fahrzeug oben auf dem Straßenpolynom überlagert ist), kann die Verarbeitungseinheit 110 bestimmen, dass das führende Fahrzeug wahrscheinlich Spuren wechselt. In dem Fall, in dem die Position des führenden Fahrzeugs so ist, dass ein anderes Fahrzeug vor dem führenden Fahrzeug detektiert wird und die Schneckenspuren der zwei Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) führende Fahrzeug wahrscheinlich Spuren wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das führende Fahrzeug 200 Spuren wechselt oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Durchschnitt der bei Schritt 582 durchgeführten individuellen Analysen vornehmen. Unter einem solchen Schema kann, beispielsweise, einer Entscheidung durch die Verarbeitungseinheit 110, dass, basierend auf einem bestimmten Typ von Analyse, das führende Fahrzeug wahrscheinlich Spuren wechselt, ein Wert von „1“ zugewiesen werden (und „0“, um eine Bestimmung zu repräsentieren, dass das führende Fahrzeug wahrscheinlich keine Spuren wechselt). Den bei Schritt 582 durchgeführten unterschiedlichen Analysen können unterschiedliche Gewichte zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichten beschränkt.
  • 6 ist ein Flussdiagramm, einen beispielhaften Prozess 600 zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf Stereobildanalyse im Einklang mit offenbarten Ausführungsformen zeigend. Bei Schritt 610 kann die Verarbeitungseinheit 110 erste und zweite mehrere Bilder über die Datenschnittstelle 128 empfangen. Beispielsweise können in der Bilderfassungseinheit 120 (wie etwa den Bilderfassungsvorrichtungen 122 und 124 mit Sichtfeldern 202 und 204) enthaltene Kameras erste und zweite mehrere Bilder eines Bereiches vor dem Fahrzeug 200 erfassen 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 ersten und zweiten mehreren Bilder über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenauslegungen oder Protokolle beschränkt.
  • Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildanalyse der ersten und zweiten mehreren Bilder durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erzeugen und Merkmale, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, Straßengefahren und ähnliches, innerhalb der Bilder zu detektieren. Stereobildanalyse kann in einer Weise ähnlich den oben in Verbindung mit 5A-5D beschriebenen Schritten durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Straßengefahren usw.) innerhalb der ersten und zweiten mehreren Bilder zu detektieren, eine Untermenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und Mehrfach-Frameanalyse durchzuführen, Messungen zu konstruieren und ein Konfidenzniveau für die verbleibenden Kandidatenobjekte zu bestimmen. Beim Durchführen der obigen Schritte kann die Verarbeitungseinheit 110 Informationen sowohl von den ersten als auch den zweiten mehreren Bildern anstatt allein von einer Menge von Bildern berücksichtigen. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in Daten auf Pixelebene (oder anderen Datenmengen unter den zwei Strömen von erfassten Bildern) für ein Kandidatenobjekt analysieren, das sowohl in den ersten als auch den zweiten mehreren Bildern erscheint. Als ein weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z. B. relativ zum Fahrzeug 200) schätzen durch Beobachten, dass das Objekt in den einen mehreren Bildern erscheint, aber nicht in den anderen mehreren Bildern, oder relativ zu anderen Unterschieden, die relativ zu Objekten, die in den zwei Bildströmen erscheinen, vorhanden sein können. Beispielsweise können Position, Geschwindigkeit und/oder Beschleunigung relativ zum Fahrzeug 200 basierend auf Trajektorien, Positionen, Bewegungscharakteristiken usw. von Merkmalen in Verbindung mit einem Objekt, das in einem oder beiden der Bildströme erscheint, bestimmt werden.
  • Bei Schritt 630 kann die Verarbeitungseinheit 110 das navigatorische Antwortmodul 408 ausführen, um eine oder mehrere navigatorische Antworten im Fahrzeug 200 zu veranlassen, basierend auf der bei Schritt 620 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben. Navigatorische Antworten können, beispielsweise, ein Richtungsändern, einen Spurwechsel, eine Änderung in der Beschleunigung, eine Änderung in der Geschwindigkeit, Bremsen und ähnliches umfassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder mehreren navigatorischen Antworten zu veranlassen. Zusätzlich können mehrere navigatorische Antworten gleichzeitig, nacheinander oder in einer Kombination daraus auftreten.
  • 7 ist ein Flussdiagramm, einen beispielhaften Prozess 700 zum Veranlassen einer oder mehrerer navigatorischer Antworten basierend auf einer Analyse von drei Mengen von Bildern im Einklang mit offenbarten Ausführungsformen zeigend. Bei Schritt 710 kann die Verarbeitungseinheit 110 erste, zweite und dritte mehrere Bilder über die Datenschnittstelle 128 empfangen. Beispielsweise können in der Bilderfassungseinheit 120 (wie etwa den Bilderfassungsvorrichtungen 122, 124 und 126 mit Sichtfeldern 202, 204 und 206) enthaltene Kameras erste, zweite und dritte mehrere Bilder eines Bereiches vor dem und/oder an den Seiten des Fahrzeugs 200 erfassen 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 ersten, zweiten und dritten mehreren Bilder über drei oder mehr Datenschnittstellen empfangen. Beispielsweise kann jede der Bilderfassungsvorrichtungen 122, 124, 126 eine zugehörige Datenschnittstelle zum Kommunizieren von Daten zur Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenauslegungen oder Protokolle beschränkt.
  • Bei Schritt 720 kann die Verarbeitungseinheit 110 die ersten, zweiten und dritten mehreren Bilder analysieren, um Merkmale innerhalb der Bilder, wie etwa Spurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnabfahrten, Ampeln, Straßengefahren und ähnliches, zu detektieren. Die Analyse kann in einer Weise ähnlich den oben in Verbindung mit 5A-5D und 6 beschriebenen Schritten vorgenommen werden. Beispielsweise kann die Verarbeitungseinheit 110 monokulare Bildanalyse (z. B. über Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den oben in Verbindung mit 5A-5D beschriebenen Schritten) jeweils auf den ersten, zweiten und dritten mehreren Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 Stereobildanalyse (z. B. über Ausführung des Stereobildanalysemoduls 404 und basierend auf den oben in Verbindung mit 6 beschriebenen Schritten) auf den ersten und zweiten mehreren Bildern, den zweiten und dritten mehreren Bildern und/oder den ersten und dritten mehreren Bildern durchführen. Die verarbeiteten Informationen entsprechend der Analyse der ersten, zweiten und/oder dritten mehreren Bilder können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination aus monokularer und Stereobildanalyse durchführen. Beispielsweise kann die Verarbeitungseinheit 110 monokulare Bildanalyse (z. B. über Ausführung des monokularen Bildanalysemoduls 402) auf den ersten mehreren Bildern und Stereobildanalyse (z. B. über Ausführung des Stereobildanalysemoduls 404) auf den zweiten und dritten mehreren Bildern durchführen. Die Auslegung der Bilderfassungsvorrichtungen 122, 124 und 126 - umfassend ihre entsprechenden Orte und Sichtfelder 202, 204 und 206 - können die Typen von Analysen beeinflussen, die auf den ersten, zweiten und dritten mehreren Bildern ausgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Auslegung der Bilderfassungsvorrichtungen 122, 124 und 126 oder die Typen von Analysen, die auf den ersten, zweiten und dritten mehreren Bildern ausgeführt werden, beschränkt.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Testen auf dem System 100 basierend auf den in den Schritten 710 und 720 erfassten und analysierten Bildern durchführen. Solches Testen kann einen Indikator zur Gesamtleistung des Systems 100 für bestimmte Auslegungen der Bilderfassungsvorrichtungen 122, 124 und 126 bereitstellen. Beispielsweise kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fälle, in denen das System 100 die Anwesenheit eines Fahrzeugs oder Fußgängers nicht korrekt bestimmt) und „verpassten Treffern“ bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere navigatorische Antworten im Fahrzeug 200 basierend auf Informationen, die von zweien aus den ersten, zweiten und dritten mehreren Bildern abgeleitet werden, veranlassen. Die Auswahl der ersten, zweiten und dritten mehreren Bilder kann von verschiedenen Faktoren abhängen, wie etwa, beispielsweise, der Anzahl, den Typen und Größen von Objekten, die in jedem der mehreren Bilder detektiert werden. Die Verarbeitungseinheit 110 kann die Auswahl auch basierend auf Bildqualität und Auflösung, dem in den Bildern widergespiegelten effektiven Sichtfeld, der Anzahl von erfassten Frames, dem Ausmaß, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Frames erscheinen (z. B. der prozentuale Anteil von Frames, in denen ein Objekt erscheint, der Anteil des Objekts, der in jedem solchen Frame erscheint, usw.) und ähnlichem treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die von zweien aus den ersten, zweiten und dritten mehreren Bildern abgeleitet werden durch Bestimmen des Ausmaßes, in dem Informationen, die von einer Bildquelle abgeleitet werden, konsistent mit Informationen sind, die von anderen Bildquellen abgeleitet werden. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 abgeleitet werden (sei es durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination der beiden), kombinieren und visuelle Indikatoren (z. B. Spurmarkierungen, ein detektiertes Fahrzeug und seinen Ort und/oder Pfad, eine detektierte Ampel usw.) bestimmen, die über die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 erfassten Bilder konsistent sind. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die über die erfassten Bilder inkonsistent sind (z. B. ein Fahrzeug, das Spuren wechselt, ein Spurmodell, das ein Fahrzeug anzeigt, das zu nahe am Fahrzeug 200 ist, usw.). Daher kann die Verarbeitungseinheit 110 Informationen auswählen, die von zweien aus den ersten, zweiten und dritten mehreren Bildern abgeleitet werden, basierend auf den Bestimmungen von konsistenten und inkonsistenten Informationen.
  • Navigatorische Antworten können, beispielsweise, ein Richtungsändern, einen Spurwechsel, eine Änderung in der Beschleunigung und ähnliches umfassen. Die Verarbeitungseinheit 110 kann die eine oder mehreren navigatorischen Antworten veranlassen, basierend auf der bei Schritt 720 durchgeführten Analyse und den Techniken, wie oben in Verbindung mit 4 beschrieben. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder mehreren navigatorischen Antworten zu veranlassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder mehreren navigatorischen Antworten basierend auf einer relativen Position, einer relativen Geschwindigkeit und/oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem innerhalb eines beliebigen aus den ersten, zweiten und dritten mehreren Bildern detektierten Objekt veranlassen. Mehrere navigatorische Antworten können gleichzeitig, nacheinander oder in einer Kombination daraus auftreten.
  • Spärliches Straßenmodell für Navigation autonomer Fahrzeuge
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die Navigation autonomer Fahrzeuge verwenden. Insbesondere kann die spärliche Karte für die Navigation autonomer Fahrzeug entlang eines Straßensegments sein. Beispielsweise kann die spärliche Karte ausreichend Informationen zum Navigieren eines autonomen Fahrzeugs ohne Speichern und/oder Aktualisieren einer großen Quantität von Daten bereitstellen. Wie nachfolgend ausführlicher erörtert wird, kann ein autonomes Fahrzeug die spärliche Karte verwenden, um eine oder mehrere Straßen basierend auf einer oder mehreren gespeicherten Trajektorien zu navigieren.
  • Spärliche Karte für Navigation autonomer Fahrzeug
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die Navigation autonomer Fahrzeuge erzeugen. Beispielsweise kann die spärliche Karte ausreichend Informationen für Navigation bereitstellen, ohne dass übermäßiger Datenspeicher oder Datenübertragungsraten erforderlich sind. Wie nachfolgend ausführlicher erörtert, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die spärliche Karte verwenden, um eine oder mehrere Straßen zu navigieren. Beispielsweise kann, in einigen Ausführungsformen, die spärliche Karte Daten bezüglich einer Straße und potenziell Orientierungspunkten entlang der Straße umfassen, die für die Fahrzeugnavigation ausreichend sein können, die aber außerdem kleine Datenfußabdrücke aufweisen. Beispielsweise kann die spärliche Karte, die nachfolgend ausführlich beschrieben ist, erheblich weniger Speicherplatz und Datenübertragungsbandbreite erfordern im Vergleich mit digitalen Karten, die detaillierte Karteninformationen umfassen, wie etwa Bilddaten, die entlang einer Straße gesammelt wurden.
  • Anstatt beispielsweise detaillierte Repräsentationen eines Straßensegments zu speichern, kann die spärliche Datenkarte dreidimensionale polynomiale Repräsentationen von bevorzugten Fahrzeugpfaden entlang einer Straße speichern. Diese Pfade erfordern möglicherweise sehr wenig Datenspeicherplatz. Ferner können, in den beschriebenen spärlichen Datenkarten, Orientierungspunkte identifiziert und in das Straßenmodell der spärlichen Karte eingeschlossen werden, um bei der Navigation zu helfen. Diese Orientierungspunkte können an einem beliebigen Abstand befindlich sein, der geeignet ist, um Fahrzeugnavigation zu ermöglichen, aber in einigen Fällen müssen solche Orientierungspunkte nicht identifiziert und in das Modell bei hohen Dichten und kurzen Abständen aufgenommen werden. Stattdessen kann, in einigen Fällen, Navigation möglich sein basierend auf Orientierungspunkten, die mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer voneinander beabstandet sind. Wie in anderen Abschnitten noch ausführlicher erörtert wird, kann die spärliche Karte basierend auf Daten erzeugt werden, die durch Fahrzeuge gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bilderfassungsvorrichtungen, Sensoren des globalen Positionsbestimmungssystems, Bewegungssensoren usw., wenn das Fahrzeug Fahrbahnen entlang fährt. 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. Erzeugen einer spärlichen Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Schwarmauslagerung“ einer spärlichen Karte bezeichnet werden.
  • Im Einklang 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 unter Verwendung einer spärlichen Karte und/oder eines erzeugten Straßennavigationsmodells entlang eines Straßensegments navigieren. Spärliche Karten im Einklang mit der vorliegenden Offenbarung können eine oder mehrere dreidimensionale Konturen umfassen, die vorbestimmte Trajektorien repräsentieren können, die autonome Fahrzeuge durchfahren können, wenn sie sich entlang zugehöriger Straßensegmente bewegen.
  • Spärliche Karten im Einklang mit der vorliegenden Offenbarung können auch Daten umfassen, die ein oder mehrere Straßenmerkmale repräsentieren. Solche Straßenmerkmale können erkannte Orientierungspunkte, Straßensignaturprofile und beliebige andere straßenbezogene Merkmale umfassen, die beim Navigieren des Fahrzeugs hilfreich sind. Spärliche Karten im Einklang mit der vorliegenden Offenbarung können autonome Navigation eines Fahrzeugs basierend auf relativ kleinen Datenmengen, die in der spärlichen Karte enthalten sind, ermöglichen. Beispielsweise können, anstatt detaillierte Repräsentationen einer Straße zu enthalten, wie etwa Straßenränder, Straßenkrümmung, Bilder im Zusammenhang mit Straßensegmenten oder Daten, die andere physische Merkmale in Verbindung mit einem Straßensegment ausführlich angeben, die offenbarten Ausführungsformen der spärlichen Karte einen relativ kleinen Speicherplatz (und eine relativ kleine Bandbreite, wenn Teile der spärlichen Karte auf ein Fahrzeug übertragen werden) benötigen, aber immer noch für die Navigation eines autonomen Fahrzeugs ausreichend bereitstellen. Der kleine Datenfußabdruck der offenbarten spärlichen Karten, wie nachfolgend ausführlich erörtert, kann in einigen Ausführungsformen durch Speichern von Repräsentationen von straßenbezogenen Elementen erreicht werden, die kleine Datenmengen erfordern, aber dennoch autonome Navigation ermöglichen.
  • Anstatt beispielsweise detaillierte Repräsentationen von verschiedenen Aspekten einer Straße zu speichern, können die offenbarten spärlichen Karten polynomiale Repräsentationen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Daher kann, anstatt dass Details hinsichtlich der physischen Beschaffenheit der Straße gespeichert werden (oder übertragen werden müssen), um Navigation entlang der Straße zu ermöglichen, ein Fahrzeug unter Verwendung der offenbarten spärlichen Karten entlang eines bestimmen Straßensegments navigiert werden, ohne, in einigen Fällen, physische Aspekte der Straße interpretieren zu müssen, sondern, stattdessen, durch Ausrichten seines Fahrtwegs auf eine Trajektorie (z. B. einen 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 viel weniger Speicherplatz erfordern kann als ein Ansatz, der eine Speicherung von Fahrbahnbildern, Straßenparametern, Straßenlayout usw. enthält.
  • Zusätzlich zu den gespeicherten polynomialen Repräsentationen von Trajektorien entlang eines Straßensegments können die offenbarten spärlichen Karten auch kleine Datenobjekte umfassen, die ein Straßenmerkmal repräsentieren können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen umfassen, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das durch einen Sensor (z. B. eine Kamera oder einen anderen Sensor, wie etwa einen Aufhängungssensor) an Bord eines Fahrzeugs, das entlang des Straßensegments fährt, erhalten wurde. Die digitale Signatur kann eine verringerte Größe relativ zu dem Signal aufweisen, das durch den Sensor erfasst wird. In einigen Ausführungsformen kann die digitale Signatur erzeugt werden, um kompatibel mit einer Klassifiziererfunktion zu sein, die dazu ausgelegt ist, das Straßenmerkmal aus dem Signal zu detektieren und zu identifizieren, das, beispielsweise, während einer nachfolgenden Fahrt durch den Sensor erfasst wird. In einigen Ausführungsformen kann eine digitale Signatur erzeugt werden, sodass die digitale Signatur einen Fußabdruck aufweist, der so klein wie möglich ist, während die Fähigkeit erhalten bleibt, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem durch einen Sensor erzeugten digitalen Signal, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten umfasst) des Straßenmerkmals zu korrelieren oder abzugleichen, das durch eine Kamera an Bord eines Fahrzeugs, das zu einer nachfolgenden Zeit entlang des gleichen Straßensegments fährt, erfasst wird.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner mit einer Eindeutigkeit des Straßenmerkmals verknüpft sein. Beispielsweise kann es für ein Straßenmerkmal, das durch eine Kamera an Bord eines Fahrzeugs detektierbar ist, und wobei das Kamerasystem an Bord des Fahrzeugs mit einem Klassifizierer gekoppelt ist, der in der Lage ist, die Bilddaten entsprechend diesem Straßenmerkmal als mit einem bestimmten Typ von Straßenmerkmal, beispielsweise, einem Straßenschild, assoziiert zu unterscheiden, und wobei ein solches Straßenschild lokal eindeutig in diesem Bereich ist (z. B. gibt es in der Nähe kein identisches Straßenschild oder ein Straßenschild vom gleichen Typ), ausreichend sein, Daten zu speichern, die den Typ des Straßenmerkmals und seinen Ort anzeigen.
  • Wie nachfolgend ausführlicher erörtert wird, können Straßenmerkmale (z. B. Orientierungspunkte entlang eines Straßensegments) in relativ wenigen Bytes als kleine Datenobjekte gespeichert sein, die ein Straßenmerkmal repräsentieren, während sie zur gleichen Zeit ausreichend Informationen zum Erkennen und Verwenden eines solchen Merkmals für die Navigation bereitstellen. In einem Beispiel kann ein Straßenschild als ein erkannter Orientierungspunkt identifiziert werden, auf dem die Navigation eines Fahrzeugs basieren kann. Eine Repräsentation des Straßenschilds kann in der spärlichen Karte gespeichert sein, um, z. B., wenige Bytes von Daten, die einen Typ von Orientierungspunkt (z. B. ein Stoppschild) anzeigen, und wenige Bytes von Daten, die einen Ort des Orientierungspunkts (z. B. Koordinaten) anzeigen, zu umfassen. Navigieren basierend auf solchen datenarmen Repräsentationen der Orientierungspunkte (z. B. unter Verwendung von Repräsentationen, die ausreichend sind zum Lokalisieren, Erkennen und Navigieren basierend auf den Orientierungspunkten) kann ein gewünschtes Niveau von navigatorischer Funktionalität in Verbindung mit spärlichen Karten bereitstellen, ohne deutlich den Datenüberhang in Verbindung mit den spärlichen Karten zu erhöhen. Diese schlanke Repräsentation von Orientierungspunkten (und anderen Straßenmerkmalen) kann von den an Bord solcher Fahrzeuge enthaltenen Sensoren und Prozessoren profitieren, die dazu ausgelegt sind, bestimmte Straßenmerkmale zu detektieren, zu identifizieren und/oder zu klassifizieren.
  • Wenn, beispielsweise, ein Schild oder sogar ein bestimmter Typ von Schild in einem gegebenen Bereich lokal eindeutig ist (wenn es z. B. kein anderes Schild oder kein anderes Schild vom gleichen Typ gibt), kann die spärliche Karte Daten verwenden, die einen Typ von Orientierungspunkt (ein Schild oder einen spezifischen Typ von Schild) anzeigen, und während der Navigation (z. B. autonome Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs erfasst, der ein Schild (oder einen spezifischen Typ von Schild) umfasst, kann der Prozessor das Bild verarbeiten, das Schild detektieren (wenn tatsächlich im Bild vorhanden), das Bild als ein Schild (oder als einen spezifischen Typ von Schild) klassifizieren und den Ort des Bildes mit dem Ort des Schildes, wie in der spärlichen Karte gespeichert, korrelieren.
  • Die spärliche Karte kann eine beliebige geeignete Repräsentation von Objekten umfassen, die entlang eines Straßensegments identifiziert werden. In einigen Fällen können die Objekte als semantische Objekte oder nicht-semantische Objekte bezeichnet werden. Semantische Objekte können, beispielsweise, Objekte in Verbindung mit einer vorbestimmten Typklassifikation umfassen. Diese Typklassifikation kann hilfreich sein beim Verringern der Datenmenge, die erforderlich ist, um das in einer Umgebung erkannte semantische Objekt zu beschreiben, was sowohl in der Erntephase (z. B., um Kosten in Verbindung mit Bandbreitennutzung zum Übertragen von Fahrtinformationen von mehreren Erntefahrzeugen zu einem Server) als auch während der Navigationsphase vorteilhaft sein kann (z. B. kann die Verringerung von Kartendaten die Übertragung von Kartenkacheln von einem Server auf ein navigierendes Fahrzeug beschleunigen und kann auch die Kosten in Verbindung mit der Bandbreitennutzung für solche Übertragungen verringern). Klassifizierungstypen für semantische Objekte können einem beliebigen Typ von Objekten oder Merkmalen zugewiesen werden, auf die entlang einer Fahrbahn zu treffen erwartet wird.
  • Semantische Objekte können ferner in zwei oder mehr logische Gruppen unterteilt werden. Beispielsweise kann, in einigen Fällen, eine Gruppe von semantischen Objekttypen mit vorbestimmten Abmessungen verknüpft sein. Solche semantischen Objekte können bestimmte Geschwindigkeitsbegrenzungsschilder, Vorfahrtsschilder, Zusammenführungsschilder, Stoppschilder, Ampeln, Richtungspfeile auf einer Fahrbahn, Mannlochabdeckungen oder einen beliebigen anderen Typ von Objekt umfassen, die mit einer standardisierten Größe verbunden sein können. Ein Vorteil, der durch solche semantischen Objekte geboten wird, ist, dass möglicherweise nur sehr wenige Daten benötigt werden, um die Objekte zu repräsentieren/vollständig zu definieren. Wenn beispielsweise eine standardisierte Größe eines Geschwindigkeitsbegrenzungsschilds bekannt ist, dann muss ein Erntefahrzeug möglicherweise nur (durch Analyse eines erfassten Bildes) die Anwesenheit eines Geschwindigkeitsbegrenzungsschilds (ein erkannter Typ) zusammen mit einer Anzeige einer Position des detektierten Geschwindigkeitsbegrenzungsschilds (z. B. eine 2D-Position im erfassten Bild (oder, alternativ, eine 3D-Position in Echtweltkoordinaten) einer Mitte des Schildes oder einer bestimmten Ecke des Schildes) identifizieren, um ausreichend Informationen zur Kartenerzeugung auf der Serverseite bereitzustellen. Wo 2D-Bildpositionen an den Server gesendet werden, kann auch eine Position in Verbindung mit dem erfassten Bild, in dem das Schild detektiert wird, gesendet werden, sodass der Server eine Echtweltposition des Schildes bestimmen kann (z. B. durch Struktur-in-Bewegung-Techniken unter Verwendung mehrerer erfasster Bilder von einem oder mehreren Erntefahrzeugen). Selbst mit diesen beschränkten Informationen (die nur wenige Bytes erfordern, um die einzelnen detektierten Objekte zu definieren) kann der Server die Karte, umfassend ein vollständig repräsentiertes Geschwindigkeitsbegrenzungsschild, basierend auf dem Typ der Klassifizierung (repräsentativ für ein Geschwindigkeitsbegrenzungsschild), empfangen von einem oder mehreren Erntefahrzeugen zusammen mit den Positionsinformationen für das detektierte Schild, konstruieren.
  • Semantische Objekte können auch andere erkannte Objekt- oder Merkmalstypen umfassen, die nicht mit bestimmten standardisierten Charakteristiken verknüpft sind. Solche Objekte oder Merkmale können Schlaglöcher, Asphaltnähte, Lichtmasten, nicht-standardisierte Schilder, Bordsteine, Bäume, Äste oder einen beliebigen anderen Typ von erkanntem Objekttyp mit einer oder mehreren variablen Charakteristiken (z. B. variable Abmessungen) umfassen. In solchen Fällen kann, zusätzlich zum Senden, an einen Server, einer Indikation des detektierten Objekt- oder Merkmalstyps (z. B. Schlagloch, Mast usw.) und von Positionsinformationen für das detektierte Objekt oder Merkmal, eine Erntemaschine auch eine Indikation einer Größe des Objekts oder Merkmals senden. Die Größe kann in 2D-Bilddimensionen (z. B. mit einem Begrenzungskasten oder einem oder mehreren Dimensionswerten) oder Echtweltdimensionen (bestimmt durch Struktur-in-Bewegung-Berechnungen, basierend auf LIDAR- oder RADAR-Systemausgängen, basierend auf Ausgängen eines trainierten neuronalen Netzwerks usw.) ausgedrückt werden.
  • Nicht-semantische Objekte oder Merkmale können beliebige Objekte oder Merkmale umfassen, die außerhalb einer erkannten Kategorie oder eines erkannten Typs fallen, die aber dennoch wertvolle Informationen für die Kartenerzeugung bereitstellen können. In einigen Fällen können solche nicht-semantischen Merkmale eine detektierte Ecke eines Gebäudes oder eine Ecke eines detektierten Fensters eines Gebäudes, einen einzigartigen Stein oder ein Objekt nahe einer Fahrbahn, einen Betonspritzer in einer Fahrbahnschulter oder ein beliebiges anderes detektierbares Objekt oder Merkmal umfassen. Beim Detektieren eines solchen Objekts oder Merkmals können ein oder mehrere Erntefahrzeuge einen Ort von einem oder mehreren Punkten (2D-Bildpunkte oder 3D-Echtweltpunkte) in Verbindung mit dem detektierten Objekt/Merkmal an einen Kartenerzeugungsserver senden. Zusätzlich kann ein komprimiertes oder vereinfachtes Bildsegment (z. B. ein Bild-Hash) für einen Bereich des erfassten Bildes, das das detektierte Objekt oder Merkmal umfasst, erzeugt werden. Dieser Bild-Hash kann basierend auf einem vorbestimmten Bildverarbeitungsalgorithmus berechnet werden und kann eine effektive Signatur für das detektierte nicht-semantische Objekt oder Merkmal bilden. Eine solche Signatur kann hilfreich für die Navigation relativ zu einer spärlichen Karte, die das nicht-semantische Merkmal oder Objekt umfasst, sein, da ein Fahrzeug, das die Fahrbahn befährt, einen Algorithmus ähnlich dem Algorithmus anwenden kann, der zum Erzeugen des Bild-Hashs verwendet wird, um die Anwesenheit des kartierten nicht-semantischen Merkmals oder Objekts in einem erfassten Bild zu bestätigen/verifizieren. Unter Verwendung dieser Technik können diese nicht-semantischen Merkmale zur Reichhaltigkeit der spärlichen Karten beitragen (um z. B. ihre Nützlichkeit bei der Navigation zu erhöhen), ohne erheblichen Datenüberhang einzuführen.
  • Wie angemerkt, können Zieltrajektorien in der spärlichen Karte gespeichert sein. Diese Zieltrajektorien (z. B. 3D-Splines) können die bevorzugten oder empfohlenen Pfade für jede verfügbare Spur einer Fahrbahn, jeden gültigen Pfad durch eine Kreuzung, für Zusammenführungen und Abfahrten usw. repräsentieren. Zusätzlich zu den Zieltrajektorien können auch andere Straßenmerkmale detektiert, geerntet und in der Form von repräsentativen Splines in die spärlichen Karten integriert werden. Solche Merkmale können, beispielsweise, Straßenränder, Spurmarkierungen, Bordsteine, Geländer oder beliebige andere Objekte oder Merkmale umfassen, die sich entlang einer Fahrbahn oder eines Straßensegments erstrecken.
  • Erzeugen einer spärlichen Karte
  • In einigen Ausführungsformen kann eine spärliche Karte zumindest eine Linienrepräsentation eines Straßenoberflächenmerkmals, das sich entlang eines Straßensegments erstreckt, und von mehreren Orientierungspunkten in Verbindung mit dem Straßensegment umfassen. In bestimmten Aspekten kann die spärliche Karte über „Schwarmauslagerung“ erzeugt werden, beispielsweise durch Bildanalyse von mehreren Bildern, die erfasst werden, wenn ein oder mehrere Fahrzeuge das Straßensegment befahren.
  • 8 zeigt eine spärliche Karte 800, auf die ein oder mehrere Fahrzeuge, z. B. das Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen kann, um Navigation für das autonome Fahrzeug bereitzustellen. Die spärliche Karte 800 kann in einem Speicher gespeichert sein, wie etwa Speicher 140 oder 150. Solche Speichervorrichtungen können beliebige Typen von nicht-flüchtigen Speichervorrichtungen oder computerlesbaren Medien umfassen. Beispielsweise kann der Speicher 140 oder 150 Festplatten, Compact-Discs, Flash-Speicher, magnetisch basierte Speichervorrichtungen, optisch basierte Speichervorrichtungen usw. umfassen. In einigen Ausführungsformen kann die spärliche Karte 800 in einer Datenbank (z. B. der Kartendatenbank 160), die im Speicher 140 oder 150 gespeichert sein kann, oder anderen Typen von Speichervorrichtungen gespeichert sein.
  • In einigen Ausführungsformen kann die spärliche Karte 800 auf einer Speichervorrichtung oder einem nicht-flüchtigen computerlesbaren Medium, die bzw. das an Bord des Fahrzeugs 200 bereitgestellt ist (z. B. einer in einem Navigationssystem an Bord des Fahrzeugs 200 enthaltenen Speichervorrichtung), gespeichert sein. Ein auf dem Fahrzeug 200 bereitgestellter Prozessor (z. B. Verarbeitungseinheit 110) kann auf die in der Speichervorrichtung oder dem computerlesbaren Medium, die bzw. das an Bord des Fahrzeugs 200 bereitgestellt ist, gespeicherte spärliche Karte 800 zugreifen, um navigatorische Antworten zum Führen des autonomen Fahrzeugs 200 zu erzeugen, wenn das Fahrzeug ein Straßensegment befährt.
  • Die spärliche Karte 800 muss allerdings nicht lokal bezüglich eines Fahrzeugs gespeichert sein. In einigen Ausführungsformen kann die spärliche Karte 800 auf einer Speichervorrichtung oder einem auf einem entfernten Server, der mit dem Fahrzeug 200 kommuniziert, oder einer Vorrichtung in Verbindung mit dem Fahrzeug 200 gespeichert sein. Ein am Fahrzeug 200 bereitgestellter Prozessor (z. B. Verarbeitungseinheit 110) kann Daten, die in der spärlichen Karte 800 enthalten sind, von dem entfernten Server empfangen und kann die Daten zum Führen des autonomen Fahrens des Fahrzeugs 200 ausführen. In solchen Ausführungsformen kann der entfernte Server die gesamte spärliche Karte 800 oder nur einen Teil davon speichern. Entsprechend kann die Speichervorrichtung oder das computerlesbare Medium, die bzw. das an Bord des Fahrzeugs 200 und/oder an Bord eines oder mehrerer zusätzlicher Fahrzeuge bereitgestellt ist, den bzw. die verbleibenden Teil(e) der spärlichen Karte 800 speichern.
  • Ferner kann, in solchen Ausführungsformen, die spärliche Karte 800 für mehrere Fahrzeuge zugänglich gemacht werden, die verschiedene Straßensegmente befahren (z. B. einige Zehn, Hunderte, Tausende oder Millionen Fahrzeuge usw.). Es ist auch anzumerken, dass die spärliche Karte 800 mehrere Unterkarten umfassen kann. Beispielsweise kann, in einigen Ausführungsformen, die spärliche Karte 800 Hunderte, Tausende, Millionen oder mehr Unterkarten (z. B. Kartenkacheln) umfassen, die beim Navigieren eines Fahrzeugs verwendet werden können. Solche Unterkarten können als lokale Karten oder Kartenkacheln bezeichnet werden, und ein Fahrzeug, das entlang einer Fahrbahn fährt, kann auf eine beliebige Anzahl von lokalen Karten zugreifen, die relevant für einen Ort sind, in dem das Fahrzeug fährt. Die lokalen Kartenabschnitte der spärlichen Karte 800 können mit einem GNSS-Schlüssel (Global Navigation Satellite System) als ein Index für die Datenbank der spärlichen Karte 800 gespeichert werden. Daher können, während die Berechnung von Lenkwinkeln zum Navigieren eines Hostfahrzeugs im vorliegenden System durchgeführt werden kann, ohne sich auf eine GNSS-Position des Hostfahrzeugs, Straßenmerkmale, oder Orientierungspunkte verlassen zu müssen, solche GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Im Allgemeinen kann die spärliche Karte 800 basierend auf Daten (z. B. Fahrinformationen) erzeugt werden, die von einem oder mehreren Fahrzeugen gesammelt werden, wenn sie Fahrbahnen entlang fahren. Beispielsweise können, unter Verwendung von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z. B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungsmesser usw.), die Trajektorien, die das eine oder die mehreren Fahrzeuge entlang einer Fahrbahn befahren, aufgezeichnet werden, und die polynomiale Repräsentation einer bevorzugten Trajektorie für Fahrzeuge, die darauf folgend Fahrten entlang der Fahrbahn unternehmen, kann basierend auf den gesammelten Trajektorien, die durch das eine oder die mehreren Fahrzeuge befahren werden, bestimmt werden. In ähnlicher Weise können die durch das eine oder die mehreren Fahrzeuge gesammelten Daten beim Identifizieren potenzieller Orientierungspunkte entlang einer bestimmten Fahrbahn helfen. Daten, die von fahrenden Fahrzeugen gesammelt werden, können auch verwendet werden, um Straßenprofilinformationen, wie etwa Straßenbreitenprofile, Straßenrauheitsprofile, Verkehrslinienabstandsprofile, Straßenbedingungen usw., zu identifizieren. Unter Verwendung der gesammelten Informationen kann die spärliche Karte 800 erzeugt und verteilt werden (z. B. für lokale Speicherung oder über On-the-fly-Datenübertragung) zur Verwendung beim Navigieren von einem oder mehreren autonomen Fahrzeugen. Allerdings muss, in einigen Ausführungsformen, die Kartenerzeugung nicht bei der anfänglichen Erzeugung der Karte enden. Wie nachfolgend noch ausführlicher erörtert wird, kann die spärliche Karte 800 kontinuierlich oder periodisch aktualisiert werden, basierend auf Daten, die von Fahrzeugen gesammelt werden, wenn diese Fahrzeuge weiter die in der spärlichen Karte 800 enthaltenen Fahrbahnen befahren.
  • Die in der spärlichen Karte 800 aufgezeichneten Daten können Positionsinformationen basierend auf Daten des globalen Positionsbestimmungssystems (GPS) umfassen. Beispielsweise können Ortsinformationen in der spärlichen Karte 800 für verschiedene Kartenelemente enthalten sein, umfassend, beispielsweise, Orientierungspunktorte, Straßenprofilorte usw. Orte für in der spärlichen Karte 800 enthaltene Kartenelemente können unter Verwendung von GPS-Daten erhalten werden, die von Fahrzeugen gesammelt werden, die eine Fahrbahn befahren. Beispielsweise kann ein Fahrzeug, das einen identifizierten Orientierungspunkt passiert, einen Ort des identifizierten Orientierungspunkts unter Verwendung von GPS-Positionsinformationen in Verbindung mit dem Fahrzeug und einer Bestimmung eines Ortes des identifizierten Orientierungspunkts relativ zum Fahrzeug bestimmen (z. B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt werden). Solche Ortsbestimmungen eines identifizierten Orientierungspunkts (oder eines beliebigen anderen in der spärlichen Karte 800 enthaltenen Merkmals) können wiederholt werden, wenn andere Fahrzeuge den Ort des identifizierten Orientierungspunkts passieren. Einige oder alle der zusätzlichen Ortsbestimmungen können verwendet werden, um die in der spärlichen Karte 800 gespeicherten Ortsinformationen relativ zum identifizierten Orientierungspunkt zu verfeinern. Beispielsweise können, in einigen Ausführungsformen, mehrere Positionsmessungen relativ zu einem bestimmten in der spärlichen Karte 800 gespeicherten Merkmal zusammen gemittelt werden. Beliebige andere mathematische Operationen können allerdings auch verwendet werden, um einen gespeicherten Ort eines Kartenelements basierend auf mehreren bestimmten Orten für das Kartenelement zu verfeinern.
  • In einem bestimmten Beispiel können Erntefahrzeuge ein bestimmtes Straßensegment befahren. Jedes Erntefahrzeug erfasst Bilder seiner jeweiligen Umgebungen. Die Bilder können bei einer beliebigen geeigneten Frameerfassungsrate (z. B. 9 Hz usw.) gesammelt werden. Bildanalyseprozessor(en) an Bord jedes Erntefahrzeugs analysieren die erfassten Bilder, um die Anwesenheit von semantischen und/oder nicht-semantischen Merkmalen/Objekten zu detektieren. Auf einem hohen Niveau senden die Erntefahrzeuge an einen Kartierungsserver Indikationen von Detektionen der semantischen und/oder nicht-semantischen Objekte/Merkmale zusammen mit Positionen in Verbindung mit diesen Objekten/Merkmalen. Ausführlicher können Typenindikatoren, Dimensionsindikatoren usw. zusammen mit den Positionsinformationen gesendet werden. Die Positionsinformationen können beliebige geeignete Informationen umfassen, um dem Kartierungsserver zu ermöglichen, die detektierten Objekte/Merkmale in einer spärlichen Karte zu sammeln, die für die Navigation hilfreich ist. In einigen Fällen können die Positionsinformationen eine oder mehrere 2D-Bildpositionen (z. B. X-Y-Pixelorte) in einem erfassten Bild umfassen, in dem die semantischen oder nicht-semantischen Merkmale/Objekte detektiert werden. Solche Bildpositionen können einer Mitte des Merkmals/Objekts, einer Ecke usw. entsprechen. Um in diesem Szenario dem Kartierungsserver beim Rekonstruieren der Fahrinformationen und beim Abgleichen der Fahrinformationen von mehreren Erntefahrzeugen zu helfen, kann jedes Erntefahrzeug für den Server auch einen Ort (z. B. einen GPS-Ort) bereitstellen, in dem die einzelnen Bilder erfasst wurden.
  • In anderen Fällen kann das Erntefahrzeug für den Server einen oder mehrere 3D-Echtweltpunkte in Verbindung mit den detektierten Objekten/Merkmalen bereitstellen. Solche 3D-Punkte können relativ zu einem vorbestimmten Ursprung (wie etwa einem Ursprung eines Fahrsegments) sein und können durch eine beliebige geeignete Technik bestimmt werden. In einigen Fällen kann eine Struktur-in-Bewegung-Technik verwendet werden, um die 3D-Echtweltposition eines detektierten Objekts/Merkmals zu bestimmen. Beispielsweise kann ein bestimmtes Objekt, wie etwa ein bestimmtes Geschwindigkeitsbegrenzungsschild in zwei oder mehr erfassten Bildern detektiert werden. Unter Verwendung von Informationen, wie etwa der bekannten Ego-Bewegung (Geschwindigkeit, Trajektorie, GPS-Position usw.), des Erntefahrzeugs zwischen den erfassten Bildern, kann, zusammen mit beobachteten Änderungen des Geschwindigkeitsbegrenzungsschilds in den erfassten Bildern (Änderungen im X-Y-Pixelort, Änderung in der Größe usw.), die Echtweltposition eines oder mehrerer Punkte in Verbindung mit dem Geschwindigkeitsbegrenzungsschild bestimmt und an den Kartierungsserver weitergegeben werden. Ein solcher Ansatz ist optional, da er mehr Berechnung seitens der Erntefahrzeugsysteme erfordert. Die spärliche Karte der offenbarten Ausführungsformen kann autonome Navigation eines Fahrzeugs unter Verwendung relativ kleiner Mengen von gespeicherten Daten ermöglichen. In einigen Ausführungsformen kann die spärliche Karte 800 eine Datendichte (z. B. umfassend Daten, die Zieltrajektorien, Orientierungspunkte und beliebige andere gespeicherte Straßenmerkmale repräsentieren) von weniger als 2 MB pro Kilometer Straßen, weniger als 1 MB pro Kilometer Straßen, weniger als 500 kB pro Kilometer Straßen oder weniger als 100 kB pro Kilometer Straßen aufweisen. In einigen Ausführungsformen kann die Datendichte der spärlichen Karte 800 kleiner als 10 kB pro Kilometer Straßen oder sogar kleiner als 2 kB pro Kilometer Straßen (z. B. 1,6 kB pro Kilometer) oder nicht mehr als 10 kB pro Kilometer Straßen oder nicht mehr als 20 kB pro Kilometer Straßen sein. In einigen Ausführungsformen können die meisten, wenn nicht alle, Straßen in den Vereinigten Staaten autonom unter Verwendung einer spärlichen Karte navigiert werden, die insgesamt 4 GB oder weniger Daten aufweist. Diese Datendichtenwerte können einen Durchschnitt über einer gesamten spärlichen Karte 800, über einer lokalen Karte innerhalb der spärlichen Karte 800 und/oder über einem bestimmten Straßensegment innerhalb der spärlichen Karte 800 repräsentieren.
  • Wie angemerkt, kann die spärliche Karte 800 Repräsentationen von mehreren Zieltrajektorien 810 zum Führen von autonomem Fahren oder zur Navigation entlang eines Straßensegments umfassen. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert sein. Die in der spärlichen Karte 800 gespeicherten Zieltrajektorien können, beispielsweise, basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Fahrten von Fahrzeugen entlang eines bestimmten Straßensegments bestimmt werden. Ein Straßensegment kann mit einer einzelnen Zieltrajektorie oder mehreren Zieltrajektorien verknüpft sein. Beispielsweise kann, auf einer zweispurigen Straße, eine erste Zieltrajektorie gespeichert sein, um einen beabsichtigten Fahrpfad entlang der Straße in einer ersten Richtung zu repräsentieren, und eine zweite Zieltrajektorie kann gespeichert sein, um einen beabsichtigten Fahrpfad entlang der Straße in einer anderen Richtung (z. B. entgegengesetzt der ersten Richtung) zu repräsentieren. Zusätzliche Zieltrajektorien können bezüglich eines bestimmten Straßensegments gespeichert sein. Beispielsweise können, auf einer mehrspurigen Straße, eine oder mehrere Zieltrajektorien gespeichert sein, die beabsichtigte Fahrpfade für Fahrzeuge in einer oder mehreren Spuren in Verbindung mit der mehrspurigen Straße repräsentieren. In einigen Ausführungsformen kann jede Spur einer mehrspurigen Straße mit ihrer eigenen Zieltrajektorie verknüpft sein. In anderen Ausführungsformen können weniger Zieltrajektorien gespeichert sein, als Spuren auf einer mehrspurigen Straße vorhanden sind. In solchen Fällen kann ein Fahrzeug, das die mehrspurige Straße navigiert, eine beliebige der gespeicherten Zieltrajektorien zum Führen seiner Navigation verwenden durch Berücksichtigen einer Größe von Spurversatz gegenüber einer Spur, für die eine Zieltrajektorie gespeichert ist (wenn z. B. ein Fahrzeug in der am weitesten links befindlichen Spur einer dreispurigen Autobahn fährt und eine Zieltrajektorie nur für die mittlere Spur der Autobahn gespeichert ist, kann das Fahrzeug unter Verwendung der Zieltrajektorie der mittleren Spur navigieren, indem beim Erzeugen der navigatorischen Anweisungen die Größe des Spurversatzes zwischen der mittleren Spur und der am weitesten links befindlichen Spur berücksichtigt wird).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Pfad repräsentieren, den ein Fahrzeug nehmen sollte, wenn das Fahrzeug fährt. Die Zieltrajektorie kann, beispielsweise, bei einer ungefähren Mitte einer Fahrspur befindlich sein. In anderen Fällen kann die Zieltrajektorie an einer anderen Position bezüglich eines Straßensegments befindlich sein. Beispielsweise kann eine Zieltrajektorie ungefähr mit einer Mitte einer Straße, einem Rand einer Straße oder einem Rand einer Spur usw. zusammenfallen. In solchen Fällen kann die Navigation basierend auf der Zieltrajektorie eine bestimmte Größe von Versatz umfassen, die relativ zum Ort der Zieltrajektorie beizubehalten ist. Darüber hinaus kann sich, in einigen Ausführungsformen, die bestimmte Größe des beizubehaltenden Versatzes relativ zum Ort der Zieltrajektorie basierend auf einem Typ von Fahrzeug unterscheiden (z. B. kann ein Personenfahrzeug umfassend zwei Achsen entlang zumindest eines Teils der Zieltrajektorie einen anderen Versatz aufweisen als ein Lastwagen, der mehr als zwei Achsen umfasst).
  • Die spärliche Karte 800 kann auch Daten bezüglich mehrerer vorbestimmter Orientierungspunkte 820 in Verbindung mit bestimmten Straßensegmenten, lokalen Karten usw. umfassen. Wie nachfolgend noch ausführlicher erörtert, können diese Orientierungspunkte bei der Navigation des autonomen Fahrzeugs verwendet werden. Beispielsweise können, in einigen Ausführungsformen, die Orientierungspunkte verwendet werden, um eine aktuelle Position des Fahrzeugs relativ zu einer gespeicherten Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung anzupassen, um mit einer Richtung der Zieltrajektorie am bestimmten Ort übereinzustimmen.
  • Die mehreren Orientierungspunkte 820 können bei beliebigen geeigneten Abständen identifiziert und in der spärlichen Karte 800 gespeichert sein. In einigen Ausführungsformen können die Orientierungspunkte bei relativ hohen Dichten (z. B. alle paar Meter oder mehr) gespeichert sein. In einigen Ausführungsformen können allerdings deutlich größere Abstandswerte für die Orientierungspunkte eingesetzt werden. Beispielsweise können, in der spärlichen Karte 800, identifizierte (oder erkannte) Orientierungspunkte 10 Meter, 20 Meter, 50 Meter, 100 Meter, 1 Kilometer oder 2 Kilometer voneinander beabstandet sein. In einigen Fällen können die identifizierten Orientierungspunkte bei Abständen von noch mehr als 2 Kilometern voneinander entfernt befindlich sein.
  • Zwischen Orientierungspunkten, und damit zwischen Bestimmungen von Fahrzeugpositionen relativ zu einer Zieltrajektorie, kann das Fahrzeug basierend auf Koppelnavigation navigieren, wobei das Fahrzeug Sensoren verwendet, um seine Ego-Bewegung zu bestimmen und seine Position relativ zur Zieltrajektorie zu schätzen. Da sich während einer Navigation durch Koppelnavigation Fehler akkumulieren können, können die Positionsbestimmungen relativ zur Zieltrajektorie zunehmend ungenauer werden. Das Fahrzeug kann Orientierungspunkte, die in der spärlichen Karte 800 auftreten (und ihre bekannten Orte) verwenden, um die durch Koppelnavigation eingebrachten Fehler bei der Positionsbestimmung zu entfernen. Auf diese Weise können die in der spärlichen Karte 800 enthaltenen identifizierten Orientierungspunkte als navigatorische Anker dienen, von denen aus eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann. Da ein gewisser Fehlerbetrag bei der Positionslokalisierung akzeptabel sein kann, muss ein identifizierter Orientierungspunkt nicht immer für ein autonomes Fahrzeug verfügbar sein. Stattdessen kann eine geeignete Navigation selbst basierend auf Orientierungspunktabständen, wie oben angemerkt, von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein. In einigen Ausführungsformen kann eine Dichte von 1 identifizierten Orientierungspunkt alle 1 km Straße ausreichend sein, um eine Genauigkeit der Längspositionsbestimmung innerhalb von 1 m aufrechtzuerhalten. Daher muss nicht jeder potenzielle Orientierungspunkt, der entlang eines Straßensegments erscheint, in der spärlichen Karte 800 gespeichert sein.
  • Darüber hinaus können, in einigen Ausführungsformen, Spurmarkierungen für die Lokalisierung des Fahrzeugs in den Orientierungspunktabständen verwendet werden. Durch Verwenden von Spurmarkierungen in den Orientierungspunktabständen kann die Akkumulation von Fehlern während der Navigation durch Koppelnavigation minimiert werden.
  • Zusätzlich zu den Zieltrajektorien und den identifizierten Orientierungspunkten kann die spärliche Karte 800 Informationen bezüglich verschiedener anderer Straßenmerkmale umfassen. Beispielsweise stellt 9A eine Repräsentation von Kurven entlang eines bestimmten Straßensegments dar, die in der spärlichen Karte 800 gespeichert sein kann. In einigen Ausführungsformen kann eine einzelne Spur einer Straße durch eine dreidimensionale polynomiale Beschreibung von linken und rechten Seiten der Straße modelliert sein. Solche Polynome, die linke und rechte Seiten einer einzelnen Spur repräsentieren, sind in 9A gezeigt. Unabhängig davon, wie viele Spuren eine Straße möglicherweise hat, kann die Straße unter Verwendung von Polynomen in einer Weise ähnlich der in 9A dargestellten repräsentiert werden. Beispielsweise können linke und rechte Seiten einer mehrspurigen Straße durch Polynome ähnlich den in 9A gezeigten repräsentiert werden, und dazwischen liegende Spurmarkierungen, die auf einer mehrspurigen Straße enthalten sind (z. B. gestrichelte Markierungen, die Spurbegrenzungen repräsentieren, durchgehende gelbe Linien, die Begrenzungen zwischen Spuren repräsentieren, die in unterschiedliche Richtungen führen, usw.) können auch unter Verwendung von Polynomen repräsentiert werden, wie den in 9A gezeigten.
  • Wie in 9A gezeigt, kann eine Spur 900 unter Verwendung von Polynomen (z. B. Polynomen erster Ordnung, zweiter Ordnung, dritter Ordnung oder beliebiger geeigneter Ordnung) repräsentiert werden. Zur Veranschaulichung ist die Spur 900 als eine zweidimensionale Spur gezeigt, und die Polynome sind als zweidimensionale Polynome gezeigt. Wie in 9A dargestellt, umfasst die Spur 900 eine linke Seite 910 und eine rechte Seite 920. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um einen Ort jeder Seite der Straße oder eine Spurbegrenzung zu repräsentieren. Beispielsweise kann jede aus der linken Seite 910 und der rechten Seite 920 durch mehrere Polynome einer beliebigen geeigneten Länge repräsentiert werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m aufweisen, obwohl andere Längen größer oder kleiner als 100 m ebenfalls verwendet werden können. Zusätzlich können die Polynome einander überlappen, um nahtlose Übergänge beim Navigieren zu ermöglichen, basierend auf nachfolgend angetroffenen Polynomen, wenn ein Hostfahrzeug eine Fahrbahn entlang fährt. Beispielsweise kann jede aus der linken Seite 910 und der rechten Seite 920 durch mehrere Polynome dritter Ordnung repräsentiert werden, die in Segmente von etwa 100 Metern Länge (ein Beispiel des ersten vorbestimmten Bereichs) separiert werden und einander um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 repräsentieren, können die gleiche Ordnung haben oder nicht. Beispielsweise können, in einigen Ausführungsformen, einige Polynome Polynome zweiter Ordnung sein, einige können Polynome dritter Ordnung sein, und einige können Polynome vierter Ordnung sein.
  • In dem in 9A gezeigten Beispiel wird die linke Seite 910 der Spur 900 durch zwei Gruppen von Polynomen dritter Ordnung repräsentiert. Die erste Gruppe umfasst polynomiale Segmente 911, 912 und 913. Die zweite Gruppe umfasst polynomiale Segmente 914, 915 und 916. Die zwei Gruppen, obwohl im Wesentlichen parallel zueinander, folgen den Orten ihrer entsprechenden Seiten der Straße. Die polynomialen Segmente 911, 912, 913, 914, 915 und 916 haben eine Länge von etwa 100 Metern und überlappen angrenzende Segmente in der Reihe um etwa 50 Meter. Wie vorher angemerkt, können allerdings auch Polynome unterschiedlicher Längen und mit unterschiedlichen Überlappungsgrößen verwendet werden. Beispielsweise können die Polynome Längen von 500 m, 1 km oder mehr haben, und die Überlappungsgröße kann von 0 bis 50 m, 50 m bis 100 m, oder mehr als 100 m variieren. Darüber hinaus versteht es sich, dass, während 9A als Polynome, die sich im 2D-Raum (z. B. auf der Oberfläche des Papiers) erstrecken, repräsentierend gezeigt wird, diese Polynome Kurven repräsentieren können, die sich in drei Dimensionen (z. B. umfassend eine Höhenkomponente) erstrecken, um Erhöhungsänderungen in einem Straßensegment zusätzlich zur X-Y-Krümmung zu repräsentieren. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 der Spur 900 ferner durch eine erste Gruppe mit polynomialen Segmenten 921, 922 und 923 und eine zweite Gruppe mit polynomialen Segmenten 924, 925 und 926 repräsentiert.
  • Zurückkehrend zu den Zieltrajektorien der spärlichen Karte 800 zeigt 9B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug repräsentiert, das entlang eines bestimmten Straßensegments fährt. Die Zieltrajektorie repräsentiert nicht nur den X-Y-Pfad, den ein Hostfahrzeug entlang eines bestimmten Straßensegments fahren soll, sondern auch die Erhöhungsänderung, die das Hostfahrzeug erfährt, wenn es entlang des Straßensegments fährt. Daher kann jede Zieltrajektorie in der spärlichen Karte 800 durch ein oder mehrere dreidimensionale Polynome repräsentiert werden, wie etwa das dreidimensionale Polynom 950, das in 9B gezeigt wird. Die spärliche Karte 800 kann mehrere Trajektorien (z. B. Millionen oder Milliarden oder mehr zum Repräsentieren von Trajektorien von Fahrzeugen entlang verschiedener Straßensegmente entlang Straßen auf der ganzen Welt) umfassen. In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale polynomiale Segmente verbindet.
  • Hinsichtlich des Datenfuß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 repräsentiert werden, die jeweils vier Bytes Daten erfordern. Geeignete Repräsentationen können mit Polynomen dritten Grades erhalten werden, die etwa 192 Bytes Daten für jeweils 100 m erfordern. Dies lässt sich in etwa 200 kB pro Stunde in Datennutzungs-/-übertragungsanforderungen für ein Hostfahrzeug, das mit etwa 100 km/h fährt, übertragen.
  • Die spärliche Karte 800 kann das Spurnetzwerk unter Verwendung einer Kombination aus Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines beschrieben werden, wie oben beschrieben. Die Metadaten können die Anzahl von Spuren, spezielle Charakteristiken (wie etwa Spur für Fahrgemeinschaften) und möglicherweise andere spärliche Kennzeichnungen beschreiben. Der Gesamtfußabdruck solcher Indikatoren kann vernachlässigbar sein.
  • Entsprechend kann eine spärliche Karte entsprechend Ausführungsformen der vorliegenden Offenbarung zumindest eine Linienrepräsentation eines Straßenoberflächenmerkmals umfassen, das sich entlang des Straßensegments erstreckt, wobei jede Linienrepräsentation, die einen Pfad entlang des Straßensegments repräsentiert, im Wesentlichen dem Straßenoberflächenmerkmal entspricht. In einigen Ausführungsformen kann, wie oben erörtert, die zumindest eine Linienrepräsentation des Straßenoberflächenmerkmals einen Spline, eine polynomiale Repräsentation oder eine Kurve umfassen. Ferner kann, in einigen Ausführungsformen, das Straßenoberflächenmerkmal zumindest eines aus einem Straßenrand oder einer Spurmarkierung umfassen. Darüber hinaus kann, wie nachfolgend im Hinblick auf „Schwarmauslagerung“ erörtert, das Straßenoberflächenmerkmal durch Bildanalyse von mehreren Bildern identifiziert werden, die erfasst werden, wenn ein oder mehrere Fahrzeuge das Straßensegment befahren.
  • Wie bereits angemerkt, kann die spärliche Karte 800 mehrere vorbestimmte Orientierungspunkte in Verbindung mit einem Straßensegment umfassen. Anstatt tatsächliche Bilder der Orientierungspunkte zu speichern und, beispielsweise, sich auf eine Bilderkennungsanalyse basierend auf erfassten Bildern und gespeicherten Bildern zu verlassen, kann jeder Orientierungspunkt in der spärlichen Karte 800 unter Verwendung von weniger Daten repräsentiert und erkannt werden, als ein gespeichertes, tatsächliches Bild erfordern würde. Daten, die Orientierungspunkte repräsentieren, können immer noch ausreichend Informationen zum Beschreiben oder Identifizieren der Orientierungspunkte entlang einer Straße umfassen. Speichern von Daten, die Charakteristiken der Orientierungspunkte beschreiben, anstatt der tatsächlichen Bilder von Orientierungspunkten, kann die Größe der spärlichen Karte 800 verringern.
  • 10 stellt Beispiele für Typen von Orientierungspunkten dar, die in der spärlichen Karte 800 repräsentiert werden können. Die Orientierungspunkte können beliebige sichtbare und identifizierbare Objekte entlang eines Straßensegments umfassen. Die Orientierungspunkte können so ausgewählt werden, dass sie fixiert sind und sich hinsichtlich ihrer Orte und/oder ihres Inhalts nicht häufig ändern. Die in der spärlichen Karte 800 enthaltenen Orientierungspunkte können hilfreich beim Bestimmen eines Ortes des Fahrzeugs 200 hinsichtlich einer Zieltrajektorie sein, wenn das Fahrzeug ein bestimmtes Straßensegment durchfährt. Beispiele von Orientierungspunkten können Verkehrsschilder, Richtungsschilder, allgemeine Schilder (z. B. rechteckige Schilder), straßenseitige Vorrichtungen (z. B. Lichtmasten, Reflektoren usw.) und jede beliebige andere geeignete Kategorie umfassen. In einigen Ausführungsformen können Spurmarkierungen auf der Straße auch als Orientierungspunkte in der spärlichen Karte 800 enthalten sein.
  • Beispiele für Orientierungspunkte, die in 10 gezeigt werden, umfassen Verkehrsschilder, Richtungsschilder, straßenseitige Vorrichtungen und allgemeine Schilder. Verkehrsschilder können, beispielsweise, Geschwindigkeitsbegrenzungsschilder (z. B. Geschwindigkeitsbegrenzungsschild 1000), Vorfahrtschilder (z. B. Vorfahrtschild 1005), Straßennummernschilder (z. B. Routennummernschild 1010), Ampelschilder (z. B. Ampelschild 1015), Stoppschilder (z. B. Stoppschild 1020) umfassen. Richtungsschilder können ein Schild umfassen, das einen oder mehrere Pfeile umfasst, die eine oder mehrere Richtungen zu unterschiedlichen Plätzen anzeigen. Beispielsweise können Richtungsschilder ein Autobahnschild 1025, das Pfeile zum Leiten von Fahrzeugen zu unterschiedlichen Straßen oder Plätzen aufweist, ein Abfahrtsschild 1030, das einen Pfeil zum Leiten von Fahrzeugen herunter von einer Straße, usw. umfassen. Entsprechend kann zumindest einer der mehreren Orientierungspunkte ein Straßenschild umfassen.
  • Allgemeine Schilder müssen sich nicht auf den Verkehr beziehen. Allgemeine Schilder können beispielsweise Anschlagtafeln für Werbung oder eine Begrüßungstafel angrenzend an eine Grenze zwischen zwei Ländern, Staaten, Counties, Städten oder Ortschaften umfassen. 10 zeigt ein allgemeines Schild 1040 („Joe's Restaurant“). Obwohl das allgemeine Schild 1040 eine rechteckige Form haben kann, wie in 10 gezeigt, kann das allgemeine Schild 1040 andere Formen aufweisen, wie etwa quadratisch, kreisrund, dreieckig usw.
  • Orientierungspunkte können auch straßenseitige Vorrichtungen umfassen. Straßenseitige Vorrichtung können Objekte sein, die keine Schilder sind und die keine Beziehung zum Verkehr oder zu Richtungen haben. Straßenseitige Vorrichtungen können beispielsweise Lichtmasten (z. B. Lichtmast 1035), Strommasten, Verkehrsschildmasten usw. umfassen.
  • Orientierungspunkte können auch Baken umfassen, die speziell für eine Nutzung in einem Navigationssystem eines autonomen Fahrzeugs ausgestaltet sein können. Solche Baken können beispielsweise eigenständige Strukturen umfassen, die an vorbestimmten Intervallen platziert sind, um beim Navigieren eines Hostfahrzeugs zu helfen. Solche Baken können auch visuelle/grafische Informationen umfassen, die zu bestehenden Straßenschildern (z. B. Symbolen, Emblemen, Strichcodes usw.) hinzugefügt sind, die durch ein Fahrzeug, das entlang eines Straßensegments fährt, identifiziert oder erkannt werden können. Solche Baken können auch elektronische Komponenten umfassen. In solchen Ausführungsformen können elektronische Baken (z. B. RFID-Kennzeichen usw.) verwendet werden, um nicht-visuelle Informationen an ein Hostfahrzeug zu senden. Solche Informationen können, beispielsweise, Orientierungspunktidentifizierungs- und/oder Orientierungspunktortsinformationen umfassen, die ein Hostfahrzeug beim Bestimmen seiner Position entlang einer Zieltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die in der spärlichen Karte 800 enthaltenen Orientierungspunkte durch ein Datenobjekt einer vorbestimmten Größe repräsentiert werden. Die Daten, die einen Orientierungspunkt repräsentieren, können beliebige geeignete Parameter zum Identifizieren eines bestimmten Orientierungspunkts umfassen. Beispielsweise können, in einigen Ausführungsfonnen, in der spärlichen Karte 800 gespeicherte Orientierungspunkte Parameter umfassen, wie eine physische Größe des Orientierungspunkts (z. B. zur Unterstützung der Schätzung eines Abstands zum Orientierungspunkt basierend auf einer bekannten Größe/Skala), einen Abstand zu einem vorherigen Orientierungspunkt, lateralen Versatz, Höhe, einen Typcode (z. B. einen Orientierungspunkttyp - welcher Typ von Richtungsschild, Verkehrsschild usw.), eine GPS-Koordinate (z. B. zur Unterstützung globaler Lokalisierung) und beliebige andere geeignete Parameter. Jeder Parameter kann mit einer Datengröße verknüpft sein. Beispielsweise kann eine Orientierungspunktgröße unter Verwendung von 8 Bytes Daten gespeichert sein. Ein Abstand zu einem vorherigen Orientierungspunkt, ein lateraler Versatz und eine Höhe können unter Verwendung von 12 Bytes Daten angegeben werden. Ein Typcode in Verbindung mit einem Orientierungspunkt, wie etwa einem Richtungsschild oder einem Verkehrsschild kann etwa 2 Bytes Daten erfordern. Für allgemeine Schilder kann eine Bildsignatur, die eine Identifizierung des allgemeinen Schildes ermöglicht, unter Verwendung von 50 Bytes Datenspeicher gespeichert sein. Die GPS-Position des Orientierungspunkts kann mit 16 Bytes Datenspeicher verknüpft sein. Diese Datengrößen für jeden Parameter sind nur Beispiele, und andere Datengrößen können ebenfalls verwendet werden. Repräsentieren von Orientierungspunkten in der spärlichen Karte 800 in dieser Weise kann eine schlanke Lösung zum effizienten Repräsentieren von Orientierungspunkten in der Datenbank bereitstellen. In einigen Ausführungsformen können Objekte als standardmäßige semantische Objekte oder nicht-standardmäßige semantische Objekte bezeichnet werden. Ein standardmäßiges semantisches Objekt kann eine beliebige Objektklasse umfassen, für die es eine standardisierte Menge von Charakteristiken gibt (z. B. Geschwindigkeitsbegrenzungsschilder, Warnschilder, Richtungsschilder, Ampeln usw. mit bekannten Abmessungen oder anderen Charakteristiken). Ein nicht-standardmäßiges semantisches Objekt kann ein beliebiges Objekt umfassen, das nicht mit einer standardisierten Menge von Charakteristiken verknüpft ist (z. B. allgemeine Werbeschilder, Schilder, die Geschäftsniederlassungen identifizieren, Schlaglöcher, Bäume usw., die variable Abmessungen haben können). Jedes nicht-standardmäßige semantische Objekt kann mit 38 Bytes Daten repräsentiert werden (z. B. 8 Bytes für Größe; 12 Bytes für Abstand zu einem vorherigen Orientierungspunkt, lateralen Versatz und 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 repräsentiert werden, da Größeninformationen möglicherweise nicht vom Kartierungsserver benötigt werden, um das Objekt in der spärlichen Karte vollständig zu repräsentieren.
  • Die spärliche Karte 800 kann ein Kennzeichensystem verwenden, um Orientierungspunkttypen zu repräsentieren. In einigen Fällen kann jedes Verkehrsschild oder Richtungsschild mit seinem eigenen Kennzeichen verknüpft werden, was in der Datenbank als Teil der Orientierungspunktidentifizierung gespeichert sein kann. Beispielsweise kann die Datenbank eine Größenordnung von 1000 unterschiedlichen Kennzeichen umfassen, um verschiedene Verkehrsschilder zu repräsentieren, und eine Größenordnung von etwa 10000 unterschiedlichen Kennzeichen umfassen, um Richtungsschilder zu repräsentieren. Natürlich kann eine beliebige geeignete Anzahl von Kennzeichen verwendet werden, und bei Bedarf können zusätzliche Kennzeichen erzeugt werden. Allgemeine Schilder können unter Verwendung von weniger als etwa 100 Bytes repräsentiert werden (z. B. etwa 86 Bytes, umfassend 8 Bytes für Größe; 12 Bytes für Abstand zu einem vorherigen Orientierungspunkt, lateralen Versatz und Höhe; 50 Bytes für eine Bildsignatur; und 16 Bytes für GPS-Koordinaten).
  • Da semantische Straßenschilder keine Bildsignatur erfordern, kann die Datendichtenauswirkung auf die spärliche Karte 800, selbst bei relativ hohen Orientierungspunktdichten von etwa 1 pro 50 m, in der Größenordnung von etwa 760 Bytes pro Kilometer sein (z. B. 20 Orientierungspunkte pro km x 38 Bytes pro Orientierungspunkt = 760 Bytes). Selbst für allgemeine Schilder, die eine Bildsignaturkomponente umfassen, ist die Datendichtenauswirkung etwa 1,72 kB pro km (z. B. 20 Orientierungspunkte pro km x 86 Bytes pro Orientierungspunkt = 1.720 Bytes). Für semantische Straßenschilder gleicht dies etwa 76 kB pro Stunde Datennutzung für ein Fahrzeug, das mit 100 km/h fährt. Für allgemeine Straßenschilder gleicht dies etwa 170 kB pro Stunde für ein Fahrzeug, das mit 100 km/h fährt. Es ist anzumerken, dass in einigen Umgebungen (z. B. urbanen Umgebungen) eine viel höhere Dichte von detektierten Objekten zur Einbeziehung in die spärliche Karte verfügbar sein kann (vielleicht mehr als eins pro Meter). In einigen Ausführungsformen kann ein im Allgemeinen rechteckiges Objekt, wie etwa ein rechteckiges Schild, in der spärlichen Karte 800 durch nicht mehr als 100 Bytes Daten repräsentiert werden. Die Repräsentation des im Allgemeinen rechteckigen Objekts (z. B. allgemeines Schild 1040) in der spärlichen Karte 800 kann eine kondensierte Bildsignatur oder einen Bild-Hash (z. B. eine kondensierte Bildsignatur 1045) in Verbindung mit dem im Allgemeinen rechteckigen Objekt umfassen. Diese(r) kondensierte Bildsignatur/Bild-Hash kann unter Verwendung eines beliebigen geeigneten Bild-Hashing-Algorithmus bestimmt werden und kann, beispielsweise, verwendet werden, um bei der Identifizierung eines allgemeinen Schildes, beispielsweise, als ein erkannter Orientierungspunkt zu helfen. Ein solche kondensierte Bildsignatur (z. B. Bildinformationen, die von tatsächlichen Bilddaten abgeleitet werden, die ein Objekt repräsentieren) können eine Notwendigkeit zur Speicherung eines tatsächlichen Bildes eines Objekts oder eine Notwendigkeit zur komparativen Bildanalyse, die auf tatsächlichen Bildern durchgeführt wird, um Orientierungspunkte zu erkennen, vermeiden.
  • Bezug nehmend auf 10 kann die spärliche Karte 800 eine kondensierte Bildsignatur 1045 in Verbindung mit einem allgemeinen Schild 1040 anstelle eines tatsächlichen Bildes des allgemeinen Schildes 1040 umfassen oder speichern. Beispielsweise kann, nachdem eine Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 122, 124 oder 126) ein Bild eines allgemeinen Schildes 1040 erfasst hat, ein Prozessor (z. B. Bildprozessor 190 oder ein beliebiger anderer Prozessor, der Bilder entweder an Bord oder entfernt bezüglich eines Hostfahrzeugs befindlich verarbeiten kann) eine Bildanalyse durchführen, um die kondensierte Bildsignatur 1045 zu extrahieren/erzeugen, die eine eindeutige Signatur oder ein eindeutiges Muster in Verbindung mit dem allgemeinen Schild 1040 umfasst. In einer Ausführungsform kann die kondensierte Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein beliebiges anderes Merkmal umfassen, die bzw. das aus dem Bild des allgemeinen Schildes 1040 extrahiert werden kann, um das allgemeine Schild 1040 zu beschreiben.
  • Beispielsweise können, in 10, die Kreise, Dreiecke und Sterne, die in der kondensierten Bildsignatur 1045 gezeigt werden, Bereiche unterschiedlicher Farben repräsentieren. Das durch die Kreise, Dreiecke und Sterne repräsentierte Muster kann in der spärlichen Karte 800 gespeichert sein, z. B. innerhalb der 50 Bytes, die dazu gedacht sind, eine Bildsignatur zu umfassen. Es ist anzumerken, dass die Kreise, Dreiecke und Sterne nicht notwendigerweise anzeigen sollen, dass solche Formen als Teil der Bildsignatur gespeichert sind. Stattdessen sollen diese Formen konzeptuell erkennbare Bereiche repräsentieren, die unterscheidbare Farbdifferenzen, Textbereiche, grafische Formen oder andere Abweichungen in den Charakteristiken aufweisen, die mit einem allgemeinen Schild verknüpft werden können. Solche kondensierten Bildsignaturen können verwendet werden, um einen Orientierungspunkt in der Form eines allgemeinen Schildes zu identifizieren. Beispielsweise kann die kondensierte Bildsignatur verwendet werden, um eine Gleich/Nicht-gleich-Analyse basierend auf einem Vergleich einer gespeicherten kondensierten Bildsignatur mit erfassten Bilddaten durchzuführen, beispielsweise unter Verwendung einer Kamera an Bord eines autonomen Fahrzeugs.
  • Entsprechend können die mehreren Orientierungspunkte durch Bildanalyse der mehreren Bilder identifiziert werden, die erfasst werden, wenn ein oder mehrere Fahrzeuge das Straßensegment befahren. Wie nachfolgend im Hinblick auf „Schwarmauslagerung“ erläutert, kann, in einigen Ausführungsformen, die Bildanalyse zum Identifizieren der mehreren Orientierungspunkte Akzeptieren potenzieller Orientierungspunkte umfassen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, eine Schwelle überschreitet. Ferner kann, in einigen Ausführungsformen, die Bildanalyse zum Identifizieren der mehreren Orientierungspunkte Ablehnen potenzieller Orientierungspunkte umfassen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, eine Schwelle überschreitet.
  • Zurückkehrend zu den Zieltrajektorien, die ein Hostfahrzeug verwenden kann, um ein bestimmtes Straßensegment zu navigieren, zeigt 11A polynomiale Repräsentationen von Trajektorien, die während eines Prozesses des Aufbauens oder Erhaltens der spärlichen Karte 800 erfasst werden. Eine polynomiale Repräsentation einer in der spärlichen Karte 800 enthaltenen Zieltrajektorie kann basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Fahrten von Fahrzeugen entlang des gleichen Straßensegments bestimmt werden. In einigen Ausführungsformen kann die polynomiale Repräsentation der in der spärlichen Karte 800 enthaltenen Zieltrajektorie eine Aggregation von zwei oder mehr rekonstruierten Trajektorien von vorherigen Fahrten von Fahrzeugen entlang des gleichen Straßensegments sein. In einigen Ausführungsformen kann die polynomiale Repräsentation der in der spärlichen Karte 800 enthaltenen Zieltrajektorie ein Durchschnitt der zwei oder mehr rekonstruierten Trajektorien von vorherigen Fahrten von Fahrzeugen entlang des gleichen Straßensegments sein. Es können auch andere mathematische Operationen verwendet werden, um eine Zieltrajektorie entlang eines Straßenpfades basierend auf rekonstruierten Trajektorien zu konstruieren, die von Fahrzeugen gesammelt werden, die entlang eines Straßensegments fahren.
  • Wie in 11A gezeigt, kann ein Straßensegment 1100 von einer Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten durchfahren werden. Jedes Fahrzeug 200 kann Daten bezüglich eines Pfades sammeln, den das Fahrzeug entlang des Straßensegments genommen hat. Der von einem bestimmten Fahrzeug durchfahrene Pfad kann basierend auf Kameradaten, Beschleunigungsmesserinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen, unter anderen potenziellen Quellen, bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die entlang des Straßensegments fahren, und basierend auf diesen rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für das bestimmte Straßensegment bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Pfad eines Hostfahrzeugs repräsentieren (z. B. geführt durch ein autonomes Navigationssystem), wenn 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 empfangen werden, das das Straßensegment 1100 zu einer ersten Zeitperiode (z. B. Tag 1) durchfährt, eine zweite rekonstruierte Trajektorie 1102 kann von einem zweiten Fahrzeug erhalten werden, das das Straßensegment 1100 zu einer zweiten Zeitperiode (z. B. Tag 2) durchfährt, und eine dritte rekonstruierte Trajektorie 1103 kann von einem dritten Fahrzeug erhalten werden, das das Straßensegment 1100 zu einer dritten Zeitperiode (z. B. Tag 3) durchfährt. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom repräsentiert werden, wie etwa ein dreidimensionales Polynom. Es ist anzumerken, dass, in einigen Ausführungsformen, beliebige der rekonstruierten Trajektorien an Bord der Fahrzeuge zusammengestellt werden, die das Straßensegment 1100 durchfahren.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien auf einer Serverseite basierend auf Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die das Straßensegment 1100 befahren. Beispielsweise können, in einigen Ausführungsformen, Fahrzeuge 200 Daten an einen oder mehrere Server bezüglich ihrer Bewegung entlang des Straßensegments 1100 senden (z. B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Orientierungspunkte, unter anderen). Der Server kann Trajektorien für die Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Zieltrajektorie zum Führen der Navigation eines autonomen Fahrzeugs, das zu einer späteren Zeit entlang des gleichen Straßensegments 1100 fährt, basierend auf der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 erzeugen. Während eine Zieltrajektorie mit einer einzelnen vorherigen Befahrung eines Straßensegments verknüpft 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 bestimmt werden, die das gleiche Straßensegment befahren. In 11A wird die Zieltrajektorie durch 1110 repräsentiert. In einigen Ausführungsformen kann die Zieltrajektorie 1110 basierend auf einem Durchschnitt der ersten, zweiten und dritten 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.
  • Am Kartierungsserver kann der Server tatsächliche Trajektorien für ein bestimmtes Straßensegment von mehreren Erntefahrzeugen empfangen, die das Straßensegment befahren. Um eine Zieltrajektorie für jeden gültigen Pfad entlang des Straßensegments (z. B. jede Spur, jede Fahrtrichtung, jeden Pfad durch eine Kreuzung usw.) zu erzeugen, können die empfangenen tatsächlichen Trajektorien ausgerichtet werden. Der Ausrichtungsprozess kann Verwenden von detektierten Objekten/Merkmalen, die entlang des Straßensegments identifiziert werden, zusammen mit geernteten Positionen dieser detektierten Objekte/Merkmale umfassen, um die tatsächlichen, geernteten Trajektorien miteinander zu korrelieren. Einmal ausgerichtet, kann ein Durchschnitt oder eine Zieltrajektorie mit der „besten Anpassung“ für jede verfügbare Spur usw. basierend auf den aggregierten, korrelierten/ausgerichteten tatsächlichen Trajektorien bestimmt werden.
  • 11B und 11C stellen ferner das Konzept von Zieltrajektorien in Verbindung mit Straßensegmenten dar, die innerhalb einer geografischen Region 1111 vorhanden sind. Wie in 11B gezeigt, kann ein erstes Straßensegment 1120 innerhalb der geografischen Region 1111 eine mehrspurige Straße umfassen, die zwei Spuren 1122, die für Fahrzeugverkehr in einer ersten Richtung bestimmt sind, und zwei zusätzliche Spuren 1124, die für Fahrzeugverkehr in einer zweiten Richtung bestimmt sind, die der ersten Richtung entgegengesetzt ist, umfasst. Die Spuren 1122 und die Spuren 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Die geografische Region 1111 kann auch ein sich verzweigendes Straßensegment 1130 umfassen, das das Straßensegment 1120 schneidet. Das Straßensegment 1130 kann eine zweispurige Straße umfassen, wobei jede Spur für eine unterschiedliche Richtung der Fahrt bestimmt ist. Die geografische Region 1111 kann auch andere Straßenmerkmale umfassen, wie etwa eine Stopplinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsbegrenzungsschild 1136 und ein Gefahrenschild 1138.
  • Wie in 11C gezeigt, kann die spärliche Karte 800 eine lokale Karte 1140 umfassen, umfassend ein Straßenmodell zum Unterstützen der autonomen Navigation von Fahrzeugen innerhalb der geografischen Region 1111. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien für eine oder mehrere Spuren in Verbindung mit den Straßensegmenten 1120 und/oder 1130 innerhalb der geografischen Region 1111 umfassen. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien 1141 und/oder 1142 umfassen, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es die Spuren 1122 befährt. In ähnlicher Weise kann die lokale Karte 1140 Zieltrajektorien 1143 und/oder 1144 umfassen, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es die Spuren 1124 befährt. Ferner kann die lokale Karte 1140 Zieltrajektorien 1145 und/oder 1146 umfassen, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es sich verlassen kann, wenn es das Straßensegment 1130 befährt. Die Zieltrajektorie 1147 repräsentiert einen bevorzugten Pfad, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Spuren 1120 (und insbesondere relativ zur Zieltrajektorie 1141 in Verbindung mit einer am weitesten rechts befindlichen Spur der Spuren 1120) zu Straßensegment 1130 (und insbesondere relativ zu einer Zieltrajektorie 1145 in Verbindung mit einer ersten Seite des Straßensegments 1130) übergeht. In ähnlicher Weise repräsentiert die Zieltrajektorie 1148 einen bevorzugten Pfad, dem ein autonomes Fahrzeug folgen sollte, wenn es vom Straßensegment 1130 (und insbesondere relativ zur Zieltrajektorie 1146) zu einem Teil des Straßensegments 1124 (und insbesondere, wie gezeigt, relativ zu einer Zieltrajektorie 1143 in Verbindung mit einer am weitesten links befindlichen Spur der Spuren 1124) übergeht.
  • Die spärliche Karte 800 kann auch Repräsentationen von anderen straßenbezogenen Merkmalen in Verbindung mit der geografischen Region 1111 umfassen. Beispielsweise kann die spärliche Karte 800 auch Repräsentationen von einem oder mehreren in der geografischen Region 1111 identifizierten Orientierungspunkten umfassen. Solche Orientierungspunkte können einen ersten Orientierungspunkt 1150 in Verbindung mit der Stopplinie 1132, einen zweiten Orientierungspunkt 1152 in Verbindung mit dem Stoppschild 1134, einen dritten Orientierungspunkt in Verbindung mit dem Geschwindigkeitsbegrenzungsschild 1154 und einen vierten Orientierungspunkt 1156 in Verbindung mit dem Gefahrenschild 1138 umfassen. Solche Orientierungspunkte können verwendet werden, um, beispielsweise, ein autonomes Fahrzeug zu unterstützen, seinen aktuellen Ort relativ zu einer beliebigen der gezeigten Zieltrajektorien zu bestimmen, sodass das Fahrzeug seinen Kurs anpassen kann, um mit einer Richtung der Zieltrajektorie am bestimmten Ort übereinzustimmen.
  • In einigen Ausführungsformen kann die spärliche Karte 800 auch Straßensignaturprofile umfassen. Solche Straßensignaturprofile können mit einer beliebigen unterscheidbaren/messbaren Variation in zumindest einem Parameter in Verbindung mit einer Straße verknüpft sein. Beispielsweise können, in einigen Fällen, solche Profile mit Variationen in Straßenoberflächeninformationen verknüpft sein, wie etwa Variationen in der Oberflächenrauheit eines bestimmten Straßensegments, Variationen in der Straßenbreite über ein bestimmtes Straßensegment, Variationen in Abständen zwischen gestrichelten Linien, die entlang eines bestimmten Straßensegments aufgemalt sind, Variationen in der Straßenkrümmung entlang eines bestimmten Straßensegments usw. 11D zeigt ein Beispiel eines Straßensignaturprofils 1160. Während das Profil 1160 einen beliebigen der oben erwähnten Parameter oder andere repräsentieren kann, kann, in einem Beispiel, das Profil 1160 ein Maß einer Straßenoberflächenrauheit repräsentieren, wie, beispielsweise, durch Überwachen eines oder mehrerer Sensoren erhalten, die Ausgänge bereitstellen, die indikativ für eine Aufhängungsversetzung sind, wenn das Fahrzeug ein bestimmtes Straßensegment befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation in der Straßenbreite repräsentieren, wie basierend auf Bilddaten bestimmt, die über eine Kamera an Bord eines Fahrzeugs erhalten werden, das ein bestimmtes Straßensegment befährt. Solche Profile können, beispielsweise, beim Bestimmen eines bestimmten Ortes eines autonomen Fahrzeugs relativ zu einer bestimmten Zieltrajektorie hilfreich sein. Das heißt, während ein autonomes Fahrzeug ein Straßensegment durchfährt, kann es ein Profil in Verbindung mit einem oder mehreren Parametern in Verbindung mit dem Straßensegment messen. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/abgestimmt werden kann, das die Parametervariation bezüglich einer Position entlang des Straßensegments aufzeichnet, können das gemessene und das vorbestimmte Profil verwendet werden (z. B. durch Überlagern entsprechender Abschnitte des gemessenen und des vorbestimmten Profils), um eine aktuelle Position entlang des Straßensegments und, damit, eine aktuelle Position relativ zu einer Zieltrajektorie für das Straßensegment zu bestimmen.
  • In einigen Ausführungsformen kann die spärliche Karte 800 unterschiedliche Trajektorien basierend auf unterschiedlichen Charakteristiken in Verbindung mit einem Benutzer von autonomen Fahrzeugen, Umweltbedingungen und/oder anderen Parametern bezüglich des Fahrens umfassen. Beispielsweise können, in einigen Ausführungsformen, unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder Profilen erzeugt werden. Die spärliche Karte 800, die solche unterschiedlichen Trajektorien umfasst, kann für unterschiedliche autonome Fahrzeuge von unterschiedlichen Benutzern bereitgestellt werden. Beispielsweise können einige Benutzer bevorzugen, Mautstraßen zu vermeiden, während andere bevorzugen können, die kürzeste oder schnellste Route zu nehmen, unabhängig davon, ob es auf der Route eine Mautstraße gibt. Die offenbarten Systeme können unterschiedliche spärliche Karten mit unterschiedlichen Trajektorien basierend auf solchen unterschiedlichen Benutzerpräferenzen oder Profilen erzeugen. Als ein weiteres Beispiel können einige Benutzer bevorzugen, in einer sich schnell bewegenden Spur zu fahren, während andere bevorzugen können, die ganze Zeit in der mittleren Spur zu bleiben.
  • Unterschiedliche Trajektorien können erzeugt und in die spärliche Karte 800 basierend auf unterschiedlichen Umgebungsbedingungen, wie etwa Tag und Nacht, Schnee, Regen, Nebel usw. eingeschlossen werden . Für autonome Fahrzeuge, die unter unterschiedlichen Umgebungsbedingungen fahren, kann eine spärliche Karte 800 bereitgestellt werden, die basierend auf solchen unterschiedlichen Umgebungsbedingungen erzeugt wurde. In einigen Ausführungsformen können an autonomen Fahrzeugen bereitgestellte Kameras die Umgebungsbedingungen detektieren und solche Informationen wieder zurück für einen Server bereitstellen, 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 besser geeignet oder sicherer für autonomes Fahren unter den detektierten Umgebungsbedingungen sein können. Die Aktualisierung der spärlichen Karte 800 basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, wenn die autonomen Fahrzeuge entlang der Straßen fahren.
  • Andere unterschiedliche Parameter bezüglich des Fahrens können ebenfalls als eine Basis für das Erzeugen und Bereitstellen unterschiedlicher spärlicher Karten für unterschiedliche autonome Fahrzeuge verwendet werden. Wenn beispielsweise ein autonomes Fahrzeug mit einer hohen Geschwindigkeit fährt, können Richtungsänderungen enger sein. Trajektorien in Verbindung mit spezifischen Spuren, anstelle von Straßen, können in die spärliche Karte 800 eingeschlossen werden, sodass das autonome Fahrzeug innerhalb einer spezifischen Spur gehalten werden kann, wenn das Fahrzeug einer spezifischen Trajektorie folgt. Wenn ein durch eine Kamera an Bord des autonomen Fahrzeugs erfasstes Bild anzeigt, dass das Fahrzeug aus der Spur herausgedriftet ist (z. B. die Spurmarkierung gekreuzt hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug zurück in die Spur entsprechend der spezifischen Trajektorie zu bringen.
  • Schwarmauslagerung einer spärlichen Karte
  • Die offenbarten spärlichen Karten können effizient (und passiv) durch die Kraft der Schwarmauslagerung erzeugt werden. Beispielsweise kann ein beliebiges privates oder gewerbliches Fahrzeug, das mit einer Kamera (z. B. einer einfachen Kamera mit niedriger Auflösung, die in heutigen Fahrzeugen regulär als OEM-Ausstattung enthalten ist) und einem geeigneten Bildanalyseprozessor ausgestattet ist, als ein Erntefahrzeug dienen. Eine spezielle Ausrüstung (z. B. hochauflösende Bildgebungs- und/oder Positionsbestimmungssysteme) sind nicht erforderlich. Als ein Ergebnis der offenbarten Schwarmauslagerungstechnik können die erzeugten spärlichen Karten extrem genau sein und können extrem verfeinerte Positionsinformationen umfassen (die Navigationsfehlergrenzen von 10 cm oder weniger ermöglichen), ohne dass irgendeine spezialisierte Bildgebungs- oder Erfassungsausrüstung als Eingang für den Kartenerzeugungsprozess erforderlich ist. Schwarmauslagerung ermöglicht auch sehr viel schnellere (und billige) Aktualisierungen an den erzeugten Karten, da kontinuierlich neue Fahrinformationen für das Kartierungsserversystem von beliebigen Straßen verfügbar sind, die von privaten oder gewerblichen Fahrzeugen befahren werden, die minimal ausgestattet sind, um auch als Erntefahrzeuge zu dienen. Es besteht keine Notwendigkeit, dass bestimmte Fahrzeuge mit hochauflösenden Bildgebungs- und Kartierungssensoren ausgestattet sind. Daher können die Aufwendungen in Verbindung mit dem Aufbau solcher spezialisierter Fahrzeuge vermieden werden. Ferner können Aktualisierungen an den momentan offenbarten spärlichen Karten viel schneller vorgenommen werden, als Systeme, die auf dedizierte, spezialisierte Kartierungsfahrzeuge aufbauen (die angesichts ihrer Aufwendungen und der Spezialausstattung typischerweise beschränkt sind auf eine Flotte spezialisierter Fahrzeuge in sehr viel kleinerer Anzahl als die Anzahl der privaten oder gewerblichen Fahrzeuge, die bereits für das Durchführen der offenbarten Erntetechniken verfügbar sind).
  • Die offenbarten spärlichen Karten, die durch Schwarmauslagerung erzeugt wurden, können extrem genau sein, da sie basierend auf vielen Eingängen von mehreren (mehrere Zehn, Hunderte, Millionen usw.) Erntefahrzeugen erzeugt werden können, die Fahrinformationen entlang eines bestimmten Straßensegments gesammelt haben. Beispielsweise kann jedes Erntefahrzeug, das entlang eines bestimmten Straßensegments fährt, seine tatsächliche Trajektorie aufzeichnen und kann Positionsinformationen relativ zu detektierten Objekten/Merkmalen entlang des Straßensegments bestimmen. Diese Informationen werden von mehreren Erntefahrzeugen an einen Server übergeben. Die tatsächlichen Trajektorien werden aggregiert, um eine verfeinerte Zieltrajektorie für jeden gültigen Fahrpfad entlang des Straßensegments zu erzeugen. Zusätzlich können auch die Positionsinformationen, die von den mehreren Erntefahrzeugen für jedes der detektierten Objekte/Merkmale entlang des Straßensegments (semantisch oder nicht-semantisch) gesammelt werden, aggregiert werden. Als ein Ergebnis kann die kartierte Position jedes detektierten Objekts/Merkmals einen Durchschnitt von Hunderten, Tausenden oder Millionen von individuell bestimmten Positionen für jedes detektierte Objekt/Merkmal bilden. Eine solche Technik kann extrem genaue kartierte Positionen für die detektierten Objekte/Merkmale ergeben.
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine spärliche Karte für die Navigation autonomer Fahrzeuge erzeugen. Beispielsweise können offenbarte Systeme und Verfahren schwarmausgelagerte Daten für die Erzeugung einer spärlichen Karte verwenden, die ein oder mehrere autonome Fahrzeuge verwenden können, um entlang eines Systems von Straßen zu navigieren. Wie hier verwendet, bedeutet „Schwarmauslagerung“, dass Daten von verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen) empfangen werden, die zu unterschiedlichen Zeiten auf einem Straßensegment fahren, und solche Daten werden verwendet, um das Straßenmodell, umfassend Kacheln der spärlichen Karte, zu erzeugen und/oder zu aktualisieren. Das Modell oder eine beliebige der spärlichen Kartenkacheln kann, seinerseits bzw. ihrerseits, an die Fahrzeuge oder an andere Fahrzeuge, die später entlang des Straßensegments fahren, gesendet werden, um die Navigation des autonomen Fahrzeugs zu unterstützen. Das Straßenmodell kann mehrere Zieltrajektorien umfassen, die bevorzugte Trajektorien repräsentieren, denen autonome Fahrzeuge folgenden sollten, wenn sie ein Straßensegment befahren. Die Zieltrajektorien können die gleichen sein, wie eine rekonstruierte tatsächliche Trajektorie, die von einem Fahrzeug gesammelt wird, das ein Straßensegment befährt, die vom Fahrzeug an den Server gesendet werden kann. In einigen Ausführungsformen können die Zieltrajektorien verschieden von tatsächlichen Trajektorien sein, die ein oder mehrere Fahrzeuge beim Befahren eines Straßensegments vorher genommen haben. Die Zieltrajektorien können basierend auf tatsächlichen Trajektorien erzeugt werden (z. B. durch Mitteln oder eine beliebige andere geeignete Operation).
  • Die Fahrzeugtrajektoriedaten, 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 oder mit dieser in Beziehung stehen kann, aber von der tatsächlichen rekonstruierten Trajektorie verschieden sein 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 Trajektorieinformationen können andere Informationen zur potenziellen Verwendung beim Aufbauen einer spärlichen Datenkarte 800 Informationen bezüglich potenzieller Orientierungspunktkandidaten umfassen. Beispielsweise können durch Schwarmauslagerung von Informationen die offenbarten Systeme und Verfahren potenzielle Orientierungspunkte in einer Umgebung identifizieren und Orientierungspunktpositionen verfeinern. Die Orientierungspunkte können durch ein Navigationssystem von autonomen Fahrzeugen verwendet werden, um die Position des Fahrzeugs entlang der Zieltrajektorien zu bestimmen und/oder einzustellen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug erzeugen kann, wenn das Fahrzeug entlang der Straße fährt, können durch ein beliebiges geeignetes Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien entwickelt werden durch Zusammenfügen von Segmenten von Bewegung für das Fahrzeug, z. B. unter Verwendung einer Ego-Bewegungsschätzung (z. B. dreidimensionale Translation und dreidimensionale Rotation der Kamera und damit der Karosserie des Fahrzeugs). Die Rotations- und Translationsschätzung kann basierend auf einer Analyse von Bildern, die durch eine oder mehrere Bilderfassungsvorrichtungen erfasst werden, zusammen mit Informationen von anderen Sensoren oder Vorrichtungen, wie etwa Trägheitssensoren und Geschwindigkeitssensoren, bestimmt werden. Beispielsweise können die Trägheitssensoren einen Beschleunigungsmesser oder andere geeignete Sensoren umfassen, die dazu ausgelegt sind, Änderungen in der Translation und/oder Rotation der Fahrzeugkarosserie zu messen. Das Fahrzeug kann einen Geschwindigkeitssensor umfassen, der eine Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Ego-Bewegung der Kamera (und damit der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der erfassten Bilder geschätzt werden. Eine optische Flussanalyse einer Abfolge von Bildern identifiziert Bewegung von Pixeln aus der Abfolge von Bildern und bestimmt, basierend auf der identifizierten Bewegung, Bewegungen des Fahrzeugs. Die Ego-Bewegung kann über die Zeit und entlang des Straßensegments integriert werden, um eine Trajektorie in Verbindung mit dem Straßensegment zu rekonstruieren, dem das Fahrzeug gefolgt ist.
  • Daten (z. B. rekonstruierte Trajektorien), die durch mehrere Fahrzeuge bei mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt werden, können verwendet werden, um das in der spärlichen Karte 800 enthaltene Straßenmodell (z. B. umfassend die Zieltrajektorien usw.) zu konstruieren. Daten, die durch mehrere Fahrzeuge bei mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt werden, können auch gemittelt werden, um eine Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten hinsichtlich der Straßengeometrie und/oder Orientierungspunkte von mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten das gemeinsame Straßensegment durchfahren. 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 repräsentiert werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die Kurve der rekonstruierten Trajektorie kann aus einer Analyse eines Videostroms oder von mehreren Bildern, die durch eine am Fahrzeug installierte Kamera erfasst werden, bestimmt werden. In einigen Ausführungsformen wird ein Ort in jedem Frame oder Bild identifiziert, der wenige Meter vor der aktuellen Position des Fahrzeugs ist. Dieser Ort ist dort, wohin das Fahrzeug in einem vorbestimmten Zeitraum erwartetermaßen fährt. Diese Operation kann Frame für Frame wiederholt werden, und zur gleichen Zeit kann das Fahrzeug die Ego-Bewegung der Kamera (Rotation und Translation) berechnen. Bei jedem Frame oder Bild wird ein Modell mit kurzer Reichweite für den gewünschten Pfad durch das Fahrzeug in einem Referenzframe erzeugt, der an der Kamera befestigt ist. Die Modelle mit kurzer Reichweite können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem gewissen Koordinatenrahmen zu erhalten, der ein arbiträrer oder vorbestimmter Koordinatenrahmen sein kann. Das dreidimensionale Modell der Straße kann dann durch einen Spline angepasst werden, der ein oder mehrere Polynome geeigneter Ordnungen umfassen oder verbinden kann.
  • Zum Abschließen des Straßenmodells mit kurzer Reichweite bei jedem Frame können ein oder mehrere Detektionsmodule verwendet werden. Beispielsweise kann ein aufbauendes Spurdetektionsmodul verwendet werden. Das aufbauende Spurdetektionsmodul kann hilfreich sein, wenn Spurmarkierungen auf die Straße gezeichnet sind. Dieses Modul kann nach Rändern im Bild suchen und fügt sie zusammen, um die Spurmarkierungen zu bilden. Ein zweites Modul kann zusammen mit dem aufbauenden Spurdetektionsmodul verwendet werden. Das zweite Modul ist ein tiefes neuronales Endezu-Ende-Netzwerk, das trainiert werden kann, um aus einem Eingangsbild den korrekten Pfad mit kurzer Reichweite vorherzusagen. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen detektiert und in einen dreidimensionalen Raum transformiert werden, der virtuell an der Kamera befestigt werden kann.
  • Obwohl das Modellierungsverfahren mit rekonstruierter Trajektorie aufgrund der Integration von Ego-Bewegung über einen langen Zeitraum, was eine Rauschkomponente umfassen kann, eine Akkumulation von Fehlern einbringen kann, können solche Fehler folgenlos sein, da das erzeugte Modell ausreichend Genauigkeit für die Navigation über einer lokalen Skala bereitstellen kann. Zusätzlich ist es möglich, den integrierten Fehler durch Verwenden von externen Informationsquellen, wie etwa Satellitenbildern oder geodätischen Messungen, zu beseitigen. Beispielsweise können die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um akkumulierte Fehler zu beseitigen. Allerdings müssen die GNSS-Positionierungssignale nicht immer verfügbar und genau sein. Die offenbarten Systeme und Verfahren können eine Lenkanwendung ermöglichen, die schwach von der Verfügbarkeit und Genauigkeit der GNSS-Positionierung abhängt. In solchen Systemen kann die Nutzung der GNSS-Signale beschränkt sein. Beispielsweise können, in einigen Ausführungsformen, die offenbarten Systeme die GNSS-Signale nur für Datenbankindexierungszwecke verwenden.
  • In einigen Ausführungsformen kann die Bereichsskala (z. B. lokale Skala), die relevant für eine Lenkanwendung zur Navigation für autonome Fahrzeuge sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Strecken können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: Vorausplanen der Trajektorie und Lokalisieren des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über eine typische Reichweite von 40 Metern voraus (oder eine beliebige andere geeignete Strecke voraus, wie etwa 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Steueralgorithmus das Fahrzeug entsprechend einem Zielpunkt lenkt, der 1,3 Sekunden voraus liegt (oder eine beliebige andere Zeit, wie etwa 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.). Die Lokalisierungsaufgabe verwendet das Straßenmodell über eine typische Reichweite von 60 Metern hinter dem Auto (oder beliebige andere geeignete Strecken, wie etwa 50 Meter, 100 Meter, 150 Meter usw.), entsprechend einem „Heckausrichtung“ genannten Verfahren, das in einem anderen Abschnitt noch ausführlicher beschrieben wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das ausreichende Genauigkeit über eine bestimmte Reichweite hat, wie etwa 100 Meter, sodass eine geplante Trajektorie um nicht mehr als, beispielsweise, 30 cm von der Mitte der Spur abweicht.
  • Wie oben erläutert, kann ein dreidimensionales Straßenmodell aus dem Detektieren von Abschnitten mit kurzer Reichweite und Zusammenfügen derselben konstruiert werden. Das Zusammenfügen kann durch Berechnen eines Ego-Bewegungsmodells mit sechs Graden ermöglicht werden, unter Verwendung der durch die Kamera erfassten Videos und/oder Bilder, von Daten von den Trägheitssensoren, die die Bewegungen des Fahrzeugs und das Geschwindigkeitssignal des Hostfahrzeugs widerspiegeln. Der akkumulierte Fehler kann über eine gewisse lokale Reichweitenskala klein genug sein, etwa in der Größenordnung von 100 Metern. All dies kann bei einer einzelnen Fahrt über einem bestimmten Straßensegment durchgeführt werden.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln und seine Genauigkeit noch weiter zu verbessern. Das gleiche Auto kann die gleiche Route mehrmals befahren, oder mehrere Autos können ihre gesammelten Modelldaten an einen zentralen Server senden. In jedem Fall kann eine Abstimmungsprozedur durchgeführt werden, um überlappende Modelle zu identifizieren und Mitteln zu ermöglichen, um Zieltrajektorien zu erzeugen. Das konstruierte Modell (z. B. umfassend die Zieltrajektorien) kann zum Lenken verwendet werden, sobald ein Konvergenzkriterium erfüllt ist. Nachfolgende Fahrten können für weitere Modellverbesserungen sowie dazu verwendet werden, Infrastrukturänderungen aufzunehmen.
  • Gemeinsames Nutzen von Fahrerfahrung (wie etwa erfasste Daten) zwischen mehreren Autos wird realisierbar, wenn sie mit einem zentralen Server verbunden sind. Jeder Fahrzeug-Client kann eine teilweise Kopie eines universellen Straßenmodells speichern, das relevant für seine aktuelle Position sein kann. Eine bidirektionale Aktualisierungsprozedur zwischen den Fahrzeugen und dem Server kann durch die Fahrzeuge und den Server durchgeführt werden. Das oben erörterte Konzept des kleinen Fußabdrucks ermöglicht den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen unter Verwendung einer sehr kleinen Bandbreite durchzuführen.
  • Informationen bezüglich potenzieller Orientierungspunkte können auch bestimmt und an einen zentralen Server weitergeleitet werden. Beispielsweise können die offenbarten Systeme und Verfahren eine oder mehrere physische Eigenschaften eines potenziellen Orientierungspunkts basierend auf einem oder mehreren Bildern bestimmen, die den Orientierungspunkt umfassen. Die physischen Eigenschaften können eine physische Größe (z. B. Höhe, Breite) des Orientierungspunkts, einen Abstand von einem Fahrzeug zu einem Orientierungspunkt, einen Abstand von dem Orientierungspunkt zu einem vorherigen Orientierungspunkt, die laterale Position des Orientierungspunkts (z. B. die Position des Orientierungspunkts relativ zur Fahrspur), die GPS-Koordinaten des Orientierungspunkts, einen Typ von Orientierungspunkt, Identifizierung von Text auf dem Orientierungspunkt usw. umfassen. Beispielsweise kann ein Fahrzeug ein oder mehrere durch eine Kamera erfasste Bilder analysieren, um einen potenziellen Orientierungspunkt, wie etwa ein Geschwindigkeitsbegrenzungsschild, zu detektieren.
  • Das Fahrzeug kann einen Abstand vom Fahrzeug zum Orientierungspunkt oder eine Position in Verbindung mit dem Orientierungspunkt (z. B. ein beliebiges semantisches oder nicht-semantisches Objekt oder Merkmal entlang eines Straßensegments) basierend auf der Analyse des einen oder der mehreren Bilder bestimmen. In einigen Ausführungsformen kann der Abstand basierend auf einer Analyse von Bildern des Orientierungspunkts unter Verwendung eines geeigneten Bildanalyseverfahrens, wie etwa eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens, bestimmt werden. Wie bereits angemerkt, kann eine Position des Objekts/Merkmals eine 2D-Bildposition (z. B. eine X-Y-Pixelposition in einem oder mehreren erfassten Bildern) von einem oder mehreren Punkten in Verbindung mit dem Objekt/Merkmal umfassen oder kann eine 3D-Echtweltposition von einem oder mehreren Punkten (z. B. bestimmt durch Struktur-in-Bewegung-/optische Flusstechniken, LIDAR- oder RADAR-Informationen usw.) umfassen. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren dazu ausgelegt sein, einen Typ oder eine Klassifizierung eines potenziellen Orientierungspunkts zu bestimmen. Im Fall, dass das Fahrzeug bestimmt, dass ein gewisser potenzieller Orientierungspunkt einem vorbestimmten Typ oder einer Klassifizierung entspricht, der bzw. die in einer spärlichen Karte gespeichert ist, kann es für das Fahrzeug ausreichend sein, eine Indikation des Typs oder der Klassifizierung des Orientierungspunkts zusammen mit seinem Ort an den Server zu senden. Der Server kann solche Indikationen speichern. Zu einem späteren Zeitpunkt kann, während der Navigation, ein navigierendes Fahrzeug ein Bild erfassen, das eine Repräsentation des Orientierungspunkts umfasst, das Bild verarbeiten (z. B. unter Verwendung eines Klassifizierers) und den resultierenden Orientierungspunkt vergleichen, um Detektion des kartierten Orientierungspunkts zu bestätigen und den kartierten Orientierungspunkt beim Lokalisieren des navigierenden Fahrzeugs relativ zur 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 Kurve erzeugen, die ihre Fahrt (z. B. durch Integration von Ego-Bewegung) in einem arbiträren Koordinatenrahmen beschreibt. Die Fahrzeuge können Orientierungspunkte detektieren und sie in dem gleichen Frame lokalisieren. Die Fahrzeuge können die Kurve und die Orientierungspunkte auf den Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein vereinheitlichtes Straßenmodell erzeugen. Wie beispielsweise nachfolgend Bezug nehmend auf 19 erörtert, kann der Server eine spärliche Karte, die das vereinheitlichte Straßenmodell aufweist, unter Verwendung der hochgeladenen Kurven und Orientierungspunkte erzeugen.
  • Der Server kann auch das Modell an die Clients (z. B. Fahrzeuge) verteilen. Beispielsweise kann der Server die spärliche Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann bei Empfangen neuer Daten von den Fahrzeugen das Modell kontinuierlich oder periodisch aktualisieren. Beispielsweise kann der Server die neuen Daten verarbeiten, um zu evaluieren, ob die Daten Informationen umfassen, die eine Aktualisierung oder Erzeugung neuer Daten auf dem Server auslösen. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge verteilen, um Navigation für autonome Fahrzeuge bereitzustellen.
  • Der Server kann ein oder mehrere Kriterien verwenden, um zu bestimmen, ob neue, von den Fahrzeugen empfangene Daten eine Aktualisierung am Modell auslösen sollen oder die Erzeugung neuer Daten auslösen sollen. Wenn beispielsweise die neuen Daten anzeigen, dass ein vorher erkannter Orientierungspunkt an einem spezifischen Ort nicht mehr existiert oder durch einen anderen Orientierungspunkt ersetzt ist, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung am Modell auslösen sollen. Als ein weiteres Beispiel kann, wenn die neuen Daten anzeigen, dass ein Straßensegment geschlossen wurde, und wenn dies durch von anderen Fahrzeugen empfangenen Daten unterstützt wird, der Server bestimmen, dass die neuen Daten eine Aktualisierung am Modell auslösen sollen.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Teil des Modells) auf ein oder mehr Fahrzeuge verteilen, die auf dem gleichen Straßensegment fahren, mit dem die Aktualisierungen an dem Modell verknüpft sind. Der Server kann auch das aktualisierte Modell an Fahrzeuge verteilen, die dabei sind, auf dem Straßensegment zu fahren, oder an Fahrzeuge, deren geplante Fahrt das Straßensegment umfasst, mit dem die Aktualisierungen am Modell verknüpft sind. Während beispielsweise ein autonomes Fahrzeug entlang eines anderen Straßensegments fährt, bevor es das Straßensegment erreicht, mit dem eine Aktualisierung verknüpft ist, kann der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug das Straßensegment erreicht.
  • In einigen Ausführungsformen kann der entfernte Server Trajektorien und Orientierungspunkte von mehreren Clients sammeln (z. B. Fahrzeugen, die entlang eines gemeinsamen Straßensegments fahren). Der Server kann Kurven unter Verwendung von Orientierungspunkten anpassen und ein durchschnittliches Straßenmodell basierend auf den von den mehreren Fahrzeugen gesammelten Trajektorien erzeugen. Der Server kann auch einen Graphen von Straßen und den wahrscheinlichsten Pfad an jedem Knoten oder jeder Kreuzung des Straßensegments berechnen. Beispielsweise kann der entfernte Server die Trajektorien ausrichten, um eine schwarmausgelagerte spärliche Karte aus den gesammelten Trajektorien zu erzeugen.
  • Der Server kann von mehreren Fahrzeugen, die entlang des gemeinsamen Straßensegments gefahren sind, empfangene Orientierungspunkteigenschaften mitteln, wie etwa die Abstände von einem Orientierungspunkt zu einem anderen (z. B. einem vorherigen entlang des Straßensegments), wie durch mehrere Fahrzeuge gemessen, um einen Bogenlängenparameter zu bestimmen und Lokalisierung entlang des Pfades und Geschwindigkeitskalibrierung für jedes Client-Fahrzeug zu unterstützen. Der Server kann die physischen Abmessungen eines Orientierungspunkts, die von mehreren Fahrzeugen gemessen wurden, die entlang des gemeinsamen Straßensegments gefahren sind und den gleichen Orientierungspunkt erkannt haben, mitteln. Die gemittelten physischen Abmessungen können verwendet werden, um Abstandsschätzung zu unterstützen, wie etwa des Abstands vom Fahrzeug zum Orientierungspunkt. Der Server kann laterale Positionen eines Orientierungspunkts (z. B. Position von der Spur, in der Fahrzeuge zum Orientierungspunkt fahren) mitteln, die von mehreren Fahrzeugen gemessen wurden, die entlang des gemeinsamen Straßensegments gefahren sind und den gleichen Orientierungspunkt erkannt haben. Die gemittelte laterale Position kann verwendet werden, um Spurenzuweisung zu unterstützen. Der Server kann die GPS-Koordinaten des Orientierungspunkts, die von mehreren Fahrzeugen gemessen wurden, die entlang des gleichen Straßensegments gefahren sind und den gleichen Orientierungspunkt erkannt haben, mitteln. Die gemittelten GPS-Koordinaten des Orientierungspunkts können verwendet werden, um globale Lokalisierung oder Positionierung des Orientierungspunkts im Straßenmodell zu unterstützen.
  • In einigen Ausführungsformen kann der Server Modelländerungen, wie etwa Baustellen, Umleitungen, neue Schilder, entfernte Schilder usw., basierend auf von den Fahrzeugen empfangenen Daten identifizieren. Der Server kann bei Empfangen neuer Daten von den Fahrzeugen das Modell kontinuierlich oder periodisch oder unmittelbar aktualisieren. Der Server kann Aktualisierungen am Modell oder das aktualisierte Modell an die Fahrzeuge verteilen, um autonome Navigation bereitzustellen. Beispielsweise kann, wie weiter unten erörtert, der Server die schwarmausgelagerten Daten verwenden, um durch die Fahrzeuge detektierte „Geist“-Orientierungspunkte herauszufiltern.
  • In einigen Ausführungsformen kann der Server während des autonomen Fahrens Fahrereingriffe analysieren. Der Server kann von dem Fahrzeug empfangene Daten zum Zeitpunkt und an dem Ort, wo der Eingriff erfolgt, und/oder Daten, die vor dem Zeitpunkt empfangen wurden, zu dem der Eingriff erfolgte, analysieren. Der Server kann gewisse Teile der Daten identifizieren, die den Eingriff veranlasst haben oder mit diesem in enger Beziehung stehen, beispielsweise Daten, die eine vorübergehende Schließung einer Spur anzeigen, oder Daten, die einen Fußgänger auf der Straße anzeigen. 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 Darstellung eines Systems, das Schwarmauslagerung verwendet, um eine spärliche Karte zu erzeugen (sowie zu verteilen und unter Verwendung der schwarmausgelagerten spärlichen Karte zu navigieren). 12 zeigt ein Straßensegment 1200, das eine oder mehrere Spuren umfasst. Mehrere Fahrzeuge 1205, 1210, 1215, 1220 und 1225 können zur gleichen Zeit oder zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren (obwohl in 12 als zur gleichen Zeit auf dem Straßensegment 1200 erscheinend angezeigt). Zumindest eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Der Einfachheit des vorliegenden Beispiels halber wird angenommen, dass alle Fahrzeuge 1205, 1210, 1215, 1220 und 1225 autonome Fahrzeuge sind.
  • Jedes Fahrzeug kann ähnlich zu Fahrzeugen sein, die in anderen Ausführungsformen offenbart sind (z. B. Fahrzeug 200) und kann Komponenten oder Vorrichtungen umfassen, die in in anderen Ausführungsformen offenbarten Fahrzeugen enthalten oder mit diesen verknüpft sind. Jedes Fahrzeug kann mit einer Bilderfassungsvorrichtung oder Kamera ausgestattet sein (z. B. Bilderfassungsvorrichtung 122 oder Kamera 122). Jedes Fahrzeug kann mit einem entfernten Server 1230 über ein oder mehrere Netzwerke (z. B. über ein Mobilfunknetzwerk und/oder das Internet usw.) über drahtlose Kommunikationspfade 1235 kommunizieren, wie durch die gestrichelten Linien angezeigt. Jedes Fahrzeug kann Daten an den Server 1230 senden und Daten vom 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 das autonome Fahrzeug oder eine Aktualisierung an dem Modell zu erzeugen. Der Server 1230 kann das Straßennavigationsmodell des autonomen Fahrzeugs oder die Aktualisierung am Modell 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 am Modell an andere Fahrzeuge senden, die zu späteren Zeiten auf dem Straßensegment 1200 fahren.
  • Wenn die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 auf dem Straßensegment 1200 fahren, können Navigationsinformationen, die durch Fahrzeuge 1205, 1210, 1215, 1220 und 1225 gesammelt (z. B. detektiert, erfasst oder gemessen) werden, an den Server 1230 gesendet werden. In einigen Ausführungsformen können die Navigationsinformationen mit dem gemeinsamen Straßensegment 1200 verknüpft sein. Die Navigationsinformationen können eine Trajektorie in Verbindung mit jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 umfassen, wenn die einzelnen Fahrzeuge das Straßensegment 1200 durchfahren. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten rekonstruiert werden, die durch verschiedene am Fahrzeug 1205 bereitgestellte Sensoren und Vorrichtungen erfasst werden. Beispielsweise kann die Trajektorie basierend auf zumindest einem aus Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Orientierungspunktdaten, Straßengeometrie- oder Profildaten, Fahrzeugpositionierungsdaten und Ego-Bewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten von Trägheitssensoren, wie etwa dem Beschleunigungsmesser, und der Geschwindigkeit des Fahrzeugs 1205, erfasst durch einen Geschwindigkeitssensor, rekonstruiert werden. Zusätzlich kann, in einigen Ausführungsformen, die Trajektorie basierend auf erfasster Ego-Bewegung der Kamera, die eine dreidimensionale Translation und/oder dreidimensionale Rotationen (oder rotatorische Bewegungen) bestimmt werden (z. B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225). Die Ego-Bewegung der Kamera (und damit der Fahrzeugkarosserie) kann aus der Analyse von einem oder mehreren durch die Kamera erfassten Bildern bestimmt werden.
  • In einigen Ausführungsformen kann die Trajektorie des Fahrzeugs 1205 durch einen an Bord des Fahrzeugs 1205 bereitgestellten Prozessor bestimmt und an den Server 1230 gesendet werden. In anderen Ausführungsformen kann der Server 1230 durch die verschiedenen im Fahrzeug 1205 bereitgestellten Sensoren und Vorrichtungen erfasste Daten empfangen und die Trajektorie basierend auf den vom Fahrzeug 1205 empfangenen Daten bestimmen.
  • In einigen Ausführungsformen können die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 an den Server 1230 gesendeten Navigationsinformationen Daten hinsichtlich der Straßenoberfläche, der Straßengeometrie oder des Straßenprofils umfassen. Die Geometrie des Straßensegments 1200 kann Spurstruktur und/oder Orientierungspunkte umfassen. Die Spurstruktur kann die Gesamtanzahl von Spuren des Straßensegments 1200, den Typ der Spuren (z. B. Ein-Weg-Spur, Zwei-Wege-Spur, Fahrspur, Überholspur usw.), Markierungen auf den Spuren, Breite von Spuren usw. umfassen. In einigen Ausführungsformen können die Navigationsinformationen eine Spurzuweisung umfassen, z. B. auf welcher Spur von mehreren Spuren ein Fahrzeug fährt. Beispielsweise kann die Spurzuweisung mit einem numerischen Wert „3“ verknüpft sein, der anzeigt, dass das Fahrzeug auf der dritten Spur von links oder rechts fährt. Als ein weiteres Beispiel kann die Spurzuweisung mit einem Textwert „mittlere Spur“ verknüpft sein, der anzeigt, dass das Fahrzeug in der mittleren Spur fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nicht-flüchtigen computerlesbaren Medium, wie etwa einer Festplatte, einer Compact Disk, einem Band, einem Speicher usw. speichern. Der Server 1230 kann (z. B. durch einen im Server 1230 enthaltenen Prozessor) zumindest einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für das gemeinsame Straßensegment 1200 basierend auf den von den mehreren Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen und kann das Modell als einen Teil einer spärlichen Karte speichern. Der Server 1230 kann eine Trajektorie in Verbindung mit jeder Spur basierend auf schwarmausgelagerten Daten (z. B. Navigationsinformationen) bestimmen, die von mehreren Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die zu unterschiedlichen Zeiten auf einer Spur des Straßensegments fahren. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder einen Teil des Modells (z. B. einen aktualisierten Teil) basierend auf mehreren Trajektorien erzeugen, die basierend auf den schwarmausgelagerten Navigationsdaten bestimmt werden. Der Server 1230 kann das Modell oder den aktualisierten Teil des Modells an eines oder mehrere der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die auf dem Straßensegment 1200 fahren, oder an beliebige andere autonome Fahrzeuge, die zu einer späteren Zeit auf dem Straßensegment fahren, senden, um ein in einem Navigationssystem der Fahrzeuge bereitgestelltes bestehendes Straßennavigationsmodell für autonome Fahrzeuge zu aktualisieren. Das Straßennavigationsmodell für autonome Fahrzeuge kann durch die autonomen Fahrzeuge beim autonomen Navigieren entlang des gemeinsamen Straßensegments 1200 verwendet werden.
  • Wie oben erläutert, kann das Straßennavigationsmodell für autonome Fahrzeuge in einer spärlichen Karte enthalten sein (z. B. der spärlichen Karte 800, die in 8 dargestellt ist). Die spärliche Karte 800 kann eine spärliche Aufzeichnung von Daten bezüglich der Straßengeometrie und/oder Orientierungspunkten entlang der Straße umfassen, was ausreichend Informationen bereitstellen kann, um die autonome Navigation eines autonomen Fahrzeugs zu führen, erfordert aber keinen übermäßigen Datenspeicher. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge separat von der spärlichen Karte 800 gespeichert sein und kann Kartendaten von der spärlichen Karte 800 verwenden, wenn das Modell für Navigation ausgeführt wird. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge in der spärlichen Karte 800 enthaltene Kartendaten verwenden, 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 zu führen, die später entlang des Straßensegments 1200 fahren. Wenn beispielsweise das Straßennavigationsmodell für autonome Fahrzeuge durch einen in einem Navigationssystem des Fahrzeugs 1205 enthaltenen Prozessor ausgeführt wird, kann das Modell den Prozessor veranlassen, die basierend auf den vom Fahrzeug 1205 empfangenen Navigationsinformationen bestimmten Trajektorien mit in der spärlichen Karte 800 enthaltenen vorbestimmten Trajektorien zu vergleichen, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu validieren und/oder zu korrigieren.
  • Im Straßennavigationsmodell für autonome Fahrzeuge 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 ein oder mehrere verbindende dreidimensionale Polynome umfasst. Für einen Fachmann versteht es sich, dass ein Spline eine numerische Funktion sein kann, die stückweise durch eine Serie von Polynomen zum Einpassen von Daten definiert ist. Ein Spline zum Einpassen 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 daraus umfassen. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnung umfassen, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z. B. einpassen). In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge einen dreidimensionalen Spline entsprechend einer Zieltrajektorie entlang eines gemeinsamen Straßensegments (z. B. Straßensegment 1200) oder einer Spur des Straßensegments 1200 umfassen.
  • Wie oben erläutert, kann das in der spärlichen Karte enthaltene Straßennavigationsmodell für autonome Fahrzeuge andere Informationen umfassen, wie etwa die Identifizierung zumindest eines Orientierungspunkts entlang des Straßensegments 1200. Der Orientierungspunkt kann innerhalb eines Sichtfelds einer Kamera (z. B. 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 eines Orientierungspunkts erfassen. Ein am Fahrzeug 1205 bereitgestellter Prozessor (z. B. Prozessor 180, 190 oder Verarbeitungseinheit 110) kann das Bild des Orientierungspunkts verarbeiten, um Identifizierungsinformationen für den Orientierungspunkt zu extrahieren. Die Orientierungspunktidentifizierungsinformationen können, anstelle eines tatsächlichen Bildes des Orientierungspunkts, in der spärlichen Karte 800 gespeichert sein. Die Orientierungspunktidentifizierungsinformationen erfordern möglicherweise viel weniger Speicherplatz als ein tatsächliches Bild. Andere Sensoren oder Systeme (z. B. GPS-System) können auch bestimmte Identifizierungsinformationen des Orientierungspunkts (z. B. Position des Orientierungspunkts) bereitstellen. Der Orientierungspunkt kann zumindest eines aus einem Verkehrsschild, einer Pfeilmarkierung, einer Spurmarkierung, einer gestrichelten Spurmarkierung, einer Ampel, einer Stopplinie, einem Richtungsschild (z. B. einem Autobahnabfahrtsschild mit einem Pfeil, der eine Richtung anzeigt, einem Autobahnschild mit Pfeilen, die in unterschiedliche Richtungen oder zu unterschiedlichen Plätzen zeigen), einer Orientierungspunktbake oder einem Lichtmast umfassen. Eine Orientierungspunktbake bezieht sich auf eine entlang eines Straßensegments installierte Vorrichtung (z. B. eine RFID-Vorrichtung), die ein Signal zu einem an einem Fahrzeug installierten Empfänger sendet oder reflektiert, sodass, wenn das Fahrzeug die Vorrichtung passiert, die durch das Fahrzeug empfangene Bake und der Ort der Vorrichtung (z. B. bestimmt aus dem GPS-Ort der Vorrichtung) als ein in die spärliche Karte 800 einzuschließender Orientierungspunkt verwendet werden kann.
  • Die Identifizierung von zumindest einem Orientierungspunkt kann eine Position des zumindest einen Orientierungspunkts umfassen. Die Position des Orientierungspunkts kann basierend auf Positionsmessungen bestimmt werden, die unter Verwendung von Sensorsystemen (z. B. globalen Positionsbestimmungssystemen, trägheitsbasierten Positionsbestimmungssystemen, Orientierungspunktbake usw.) in Verbindung mit den mehreren Fahrzeugen 1205, 1210, 1215, 1220 und 1225 durchgeführt werden. In einigen Ausführungsformen kann die Position des Orientierungspunkts durch Mitteln der durch Sensorsysteme auf unterschiedlichen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 bei mehreren Fahrten detektierten, gesammelten oder empfangenen Positionsmessungen bestimmt werden. Beispielsweise können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessungsdaten an den Server 1230 senden, der die Positionsmessungen mitteln und die gemittelte Positionsmessung als die Position des Orientierungspunkts verwenden kann. Die Position des Orientierungspunkts kann durch von Fahrzeugen in nachfolgenden Fahrten empfangene Messungen kontinuierlich verfeinert werden.
  • Die Identifizierung des Orientierungspunkts kann eine Größe des Orientierungspunkts umfassen. Der auf einem Fahrzeug (z. B. 1205) bereitgestellte Prozessor kann die physische Größe des Orientierungspunkts basierend auf der Analyse der Bilder schätzen. Der Server 1230 kann mehrere Schätzungen der physischen Größe des gleichen Orientierungspunkts von unterschiedlichen Fahrzeugen über unterschiedliche Fahrten empfangen. Der Server 1230 kann die unterschiedlichen Schätzungen mitteln, um bei einer physischen Größe für den Orientierungspunkt anzukommen und diese Orientierungspunktgröße in dem Straßenmodell speichern. Die physische Größenschätzung kann verwendet werden, um ferner einen Abstand vom Fahrzeug zum Orientierungspunkt zu bestimmen oder zu schätzen. Der Abstand zum Orientierungspunkt kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einer Skala der Erweiterung basierend auf der Position des in den Bildern erscheinenden Orientierungspunkts relativ zum Fokus der Erweiterung der Kamera geschätzt werden. Beispielsweise kann der Abstand zum Orientierungspunkt geschätzt werden durch Z= V*dt*R/D, wobei V die Geschwindigkeit des Fahrzeugs ist, R der Abstand im Bild vom Orientierungspunkt zum Zeitpunkt t1 zum Fokus der Erweiterung ist und D die Änderung im Abstand für den Orientierungspunkt im Bild von t1 bis t2 ist. dt repräsentiert (t2-t1). Beispielsweise kann der Abstand zum Orientierungspunkt geschätzt werden durch Z= V*dt*R/D, wobei V die Geschwindigkeit des Fahrzeugs ist, R der Abstand im Bild vom Orientierungspunkt zum Fokus der Erweiterung ist, dt ein Zeitintervall ist und D der Bildversatz des Orientierungspunkts entlang der epipolaren Linie ist. Andere Gleichungen äquivalent zu der obigen Gleichung, wie etwa Z = V * ω/Δω, können zum Schätzen des Abstands zum Orientierungspunkt verwendet werden. Hier ist V die Fahrzeuggeschwindigkeit, ω ist eine Bildlänge (wie die Objektbreite), und Δω ist die Änderung dieser Bildlänge in einer Einheit von Zeit.
  • Wenn die physische Größe des Orientierungspunkts bekannt ist, kann der Abstand zum Orientierungspunkt auch basierend auf der folgenden Gleichung bestimmt werden: Z = f * W/ω, wobei f die Brennweite ist, W die Größe des Orientierungspunkts (z. B. Höhe oder Breite) ist, ω die Anzahl von Pixeln ist, wenn der Orientierungspunkt das Bild verlässt. Aus der obigen Gleichung kann eine Änderung im Abstand Z berechnet werden unter Verwendung von ΔZ = f * W * Δω / ω2 + f * ΔW/ω, wobei ΔW durch Mitteln auf Null fällt, und wobei Δω die Anzahl von Pixeln ist, die die Genauigkeit eines Begrenzungskastens im Bild repräsentiert. Ein Wert, der die physische Größe des Orientierungspunkts schätzt, kann durch Mitteln der mehreren Operationen auf der Serverseite berechnet werden. Der resultierende Fehler in der Abstandsschätzung kann sehr klein sein. Es gibt zwei Fehlerquellen, die bei Verwendung der obigen Formel auftreten können, und zwar ΔW und Δω. Ihr Beitrag zum Abstandsfehler ist gegeben durch ΔZ = f * W * Δω / ω2 + f * ΔW/ω. Allerdings fällt ΔW durch Mitteln auf Null; daher wird ΔZ durch Δω bestimmt (z. B. die Ungenauigkeit des Begrenzungskastens im Bild).
  • Für Orientierungspunkte mit unbekannten Abmessungen kann der Abstand zum Orientierungspunkt durch Nachverfolgen von Merkmalspunkten an dem Orientierungspunkt zwischen aufeinander folgenden Frames geschätzt werden. Beispielsweise können bestimmte Merkmale, die auf einem Geschwindigkeitsbegrenzungsschild erscheinen, zwischen zwei oder mehr Frames nachverfolgt werden. Basierend auf diesen nachverfolgten Merkmalen kann eine Abstandsverteilung pro Merkmalspunkt erzeugt werden. Die Abstandsschätzung kann aus der Abstandsverteilung extrahiert werden. Beispielsweise kann der häufigste Abstand, der in der Abstandsverteilung erscheint, als die Abstandsschätzung verwendet werden. Als ein weiteres Beispiel kann der Durchschnitt der Abstandsverteilung als die Abstandsschätzung verwendet werden.
  • 13 stellt ein beispielhaftes Straßennavigationsmodell für ein autonomes Fahrzeug, repräsentiert durch mehrere dreidimensionale Splines 1301, 1302 und 1303 dar. Die Kurven 1301, 1302 und 1303, die in 13 gezeigt werden, dienen lediglich zur Veranschaulichung. Jeder Spline kann ein oder mehrere dreidimensionale Polynome umfassen, die mehrere Datenpunkte 1310 verbinden. Jedes Polynom kann ein Polynom erster Ordnung, ein Polynom zweiter Ordnung, ein Polynom dritter Ordnung oder eine Kombination aus beliebigen geeigneten Polynomen unterschiedlicher Ordnungen sein. Jeder Datenpunkt 1310 kann mit von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen verknüpft sein. In einigen Ausführungsformen kann jeder Datenpunkt 1310 mit Daten bezüglich der Orientierungspunkte (z. B. Größe, Ort und Identifizierungsinformationen der Orientierungspunkte) und/oder Straßensignaturprofilen (z. B. Straßengeometrie, Straßenrauheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) verknüpft sein. In einigen Ausführungsformen können einige Datenpunkte 1310 mit Daten bezüglich der Orientierungspunkte verknüpft sein, und andere können mit Daten bezüglich der Straßensignaturprofile verknüpft sein.
  • 14 stellen rohe Ortsdaten 1410 (z. B. GPS-Daten) dar, die von fünf separaten Fahrten empfangen werden. Eine Fahrt kann separat von einer anderen Fahrt sein, wenn sie zur gleichen Zeit von separaten Fahrzeugen, zu unterschiedlichen Zeit vom gleichen Fahrzeug, oder zu unterschiedlichen Zeiten von separaten Fahrzeugen absolviert wird. Um Fehler in den Ortsdaten 1410 zu berücksichtigen und Orte von Fahrzeugen in der gleichen Spur zu unterscheiden (z. B. kann ein Fahrzeug weiter links in der Spur fahren als ein anderes), kann der Server 1230 unter Verwendung einer oder mehrerer statistischer Techniken ein Kartengerüst 1420 erzeugen, um zu bestimmen, ob Variationen in den rohen Ortsdaten 1410 tatsächliche Abweichungen oder statistische Fehler repräsentieren. Jeder Pfad innerhalb des Gerüsts 1420 kann wieder zurück mit den Rohdaten 1410 verknüpft werden, die den Pfad gebildet haben. Beispielsweise ist der Pfad zwischen A und B innerhalb des Gerüsts 1420 mit den Rohdaten 1410 von den Fahrten 2, 3, 4 und 5 verknüpft, aber nicht mit denen von Fahrt 1. Das Gerüst 1420 kann nicht detailliert genug sein, um zum Navigieren eines Fahrzeugs verwendet zu werden (da es z. B. Fahrten von mehreren Spuren auf der gleichen Straße anders als die oben beschriebenen Splines kombiniert), kann aber hilfreiche topologische Informationen bereitstellen und kann verwendet werden, um Kreuzungen zu definieren.
  • 15 stellt ein Beispiel dar, durch das zusätzliche Details für eine spärliche Karte innerhalb eines Segments eines Kartengerüsts (z. B. Segment A bis B innerhalb des Gerüsts 1420) erzeugt werden können. Wie in 15 dargestellt, können die Daten (z. B. Ego-Bewegungsdaten, Straßenmarkierungsdaten und ähnliches) als eine Funktion der Position S (oder S1 oder S2) entlang der Fahrt gezeigt werden. Der Server 1230 kann die Orientierungspunkte für die spärliche Karte identifizieren durch Identifizieren eindeutiger Übereinstimmungen zwischen den Orientierungspunkten 1501, 1503 und 1505 von Fahrt 1510 und Orientierungspunkten 1507 und 1509 von Fahrt 1520. Ein solcher Übereinstimmungsalgorithmus kann in der Identifizierung der Orientierungspunkte 1511, 1513 und 1515 resultieren. Für einen Fachmann ist es allerdings ersichtlich, dass auch andere Übereinstimmungsalgorithmen verwendet werden können. Beispielsweise kann Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit eindeutiger Übereinstimmung verwendet werden. Der Server 1230 kann die Fahrten längs ausrichten, um die übereinstimmenden Orientierungspunkte auszurichten. Beispielsweise kann der Server 1230 eine Fahrt (z. B. Fahrt 1520) als eine Referenzfahrt auswählen und dann die andere(n) Fahrt(en) (z. B. Fahrt 1510) zur Ausrichtung verschieben und/oder elastisch dehnen.
  • 16 zeigt ein Beispiel von ausgerichteten Orientierungspunktdaten zur Verwendung in einer spärlichen Karte. Im Beispiel aus 16 umfasst der Orientierungspunkt 1610 ein Straßenschild. Das Beispiel aus 16 stellt ferner Daten von mehreren Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613 dar. Im Beispiel aus 16 bestehen die Daten von Fahrt 1613 aus einem „Geist“-Orientierungspunkt, und der Server 1230 kann ihn als solchen identifizieren, da keine der Fahrten 1601, 1603, 1605, 1607, 1609 und 1611 eine Identifizierung eines Orientierungspunkts in der Nachbarschaft des identifizierten Orientierungspunkts in Fahrt 1613 umfasst. Entsprechend kann der Server 1230 potenzielle Orientierungspunkte akzeptieren, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, eine Schwelle überschreitet, und/oder kann potenzielle Orientierungspunkte ablehnen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, eine Schwelle überschreitet.
  • 17 stellt ein System 1700 zum Erzeugen von Fahrtdaten dar, das zum Schwarmauslagern einer spärlichen Karte verwendet werden kann. Wie in 17 dargestellt, kann das System 1700 eine Kamera 1701 und eine Lokalisierungsvorrichtung 1703 (z. B. einen GPS-Lokalisierer) umfassen. Die Kamera 1701 und die Lokalisierungsvorrichtung 1703 können an einem Fahrzeug (z. B. einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) montiert sein. Die Kamera 1701 kann mehrere Daten mehrerer Typen produzieren, z. B. Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder ähnliches. 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 beseitigen. Wenn beispielsweise ein Orientierungspunkt in mehreren Bildern von Kamera 1701 erscheint, kann das System 1700 die redundanten Daten abstreifen, sodass die Fahrtsegmente 1705 nur eine Kopie des Ortes und beliebige Metadaten bezüglich des Orientierungspunkts enthalten. In einem weiteren Beispiel kann, wenn eine Spurmarkierung in mehreren Bildern von Kamera 1701 erscheint, das System 1700 die redundanten Daten abstreifen, sodass die Fahrtsegmente 1705 nur eine Kopie des Ortes und beliebige Metadaten bezüglich der Spurmarkierung enthalten.
  • System 1700 umfasst auch einen Server (z. B. Server 1230). Der Server 1230 kann die Fahrtsegmente 1705 vom Fahrzeug empfangen und die Fahrtsegmente 1705 zu einer einzelnen Fahrt 1707 neu kombinieren. Eine solche Anordnung kann eine Verringerung der Bandbreitenanforderungen beim Übertragen von Daten zwischen dem Fahrzeug und dem Server ermöglichen und dabei dem Server ermöglichen, Daten bezüglich einer ganzen Fahrt zu speichern.
  • 18 stellt das System 1700 aus 17 dar, ferner ausgelegt zum Schwarmauslagern einer spärlichen Karte. Wie in 17 umfasst das System 1700 das Fahrzeug 1810, das Fahrtdaten, beispielsweise, unter Verwendung einer Kamera (die, z. B., Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder ähnliches produziert) und einer Lokalisierungsvorrichtung (z. B. eines GPS-Lokalisierers) erfasst. Wie in 17 segmentiert das Fahrzeug 1810 die gesammelten Daten in Fahrtsegmente (dargestellt als „FS1 1“, „FS2 1“, „FSN 1“ in 18). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert eine Fahrt (dargestellt als „Fahrt 1“ in 18) aus den empfangenen Segmenten.
  • Wie ferner in 18 dargestellt, empfängt das System 1700 auch Daten von zusätzlichen Fahrzeugen. Beispielsweise erfasst das Fahrzeug 1820 auch Fahrtdaten, beispielsweise, unter Verwendung einer Kamera (die, z. B., Ego-Bewegungsdaten, Verkehrsschilddaten, Straßendaten oder ähnliches produziert) und einer Lokalisierungsvorrichtung (z. B. eines GPS-Lokalisierers). Ähnlich wie Fahrzeug 1810 segmentiert das Fahrzeug 1820 die gesammelten Daten in Fahrtsegmente (dargestellt als „FS1 2“, „FS2 2“, „FSN 2“ in 18). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert eine Fahrt (dargestellt als „Fahrt 2“ in 18) aus den empfangenen Segmenten. Eine beliebige Anzahl von zusätzlichen Fahrzeugen kann verwendet werden. Beispielsweise umfasst 18 auch „AUTO N“, das Fahrtdaten erfasst, diese in Fahrtsegmente segmentiert (dargestellt als „FS 1 N“, „FS2 N“, „FSN N“ in 18) und sie zur Rekonstruktion in eine Fahrt an den Server 1230 sendet (dargestellt als „Fahrt N“ in 18).
  • Wie in 18 dargestellt, kann der Server 1230 eine spärliche Karte (dargestellt als „KARTE“) unter Verwendung der rekonstruierten Fahrten (z. B. „Fahrt 1“, „Fahrt 2“ und „Fahrt N“), gesammelt von mehreren Fahrzeugen (z. B. „AUTO 1“ (auch als Fahrzeug 1810 bezeichnet), „AUTO 2“ (auch als Fahrzeug 1820 bezeichnet) und „AUTO N“), konstruieren.
  • 19 ist ein Flussdiagramm, einen beispielhaften Prozess 1900 zum Erzeugen einer spärlichen Karte für die Navigation autonomer Fahrzeuge entlang eines Straßensegments zeigend. Der Prozess 1900 kann durch eine oder mehrere im Server 1230 enthaltene Verarbeitungsvorrichtungen durchgeführt werden.
  • Der Prozess 1900 kann Empfangen von mehreren Bildern umfassen, die empfangen werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchfahren (Schritt 1905). Der Server 1230 kann Bilder von in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 enthaltenen Kameras empfangen. Beispielsweise kann die Kamera 122 ein oder mehrere Bilder der das Fahrzeug 1205 umgebenden Umgebung erfassen, wenn das Fahrzeug 1205 entlang des Straßensegments 1200 fährt. In einigen Ausführungsformen kann der Server 1230 auch abgestreifte Bilddaten empfangen, die Redundanzen aufwiesen, die durch einen Prozessor am Fahrzeug 1205 entfernt wurden, wie oben Bezug nehmend auf 17 erörtert.
  • Der Prozess 1900 kann ferner Identifizieren, basierend auf den mehreren Bildern, zumindest einer Linienrepräsentation eines Straßenoberflächenmerkmals umfassen, das sich entlang des Straßensegments erstreckt (Schritt 1910). Jede Linienrepräsentation kann einen Pfad entlang des Straßensegments repräsentieren, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um einen Straßenrand oder eine Spurmarkierung zu identifizieren und eine Trajektorie der Fahrt entlang des Straßensegments 1200 in Verbindung mit dem Straßenrand oder der Spurmarkierung zu bestimmen. In einigen Ausführungsformen kann die Trajektorie (oder Linienrepräsentation) einen Spline, eine polynomiale Repräsentation oder eine Kurve umfassen. Der Server 1230 kann die Trajektorie der Fahrt des Fahrzeugs 1205 basierend auf Ego-Bewegungen der Kamera (z. B. dreidimensionale Translation und/oder dreidimensionale rotatorische Bewegungen) bestimmen, die bei Schritt 1905 empfangen werden.
  • Der Prozess 1900 kann auch Identifizieren, basierend auf den mehreren Bildern, von mehreren Orientierungspunkten in Verbindung mit dem Straßensegment umfassen (Schritt 1910). Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um einen oder mehrere Orientierungspunkte, wie etwa Straßenschilder, entlang des Straßensegments 1200 zu identifizieren. Der Server 1230 kann die Orientierungspunkte unter Verwendung einer Analyse der mehreren Bilder identifizieren, die erfasst werden, wenn ein oder mehrere Fahrzeuge das Straßensegment befahren. Um Schwarmauslagerung zu ermöglichen, kann die Analyse Regeln hinsichtlich des Akzeptierens und Ablehnens möglicher Orientierungspunkte in Verbindung mit dem Straßensegment umfassen. Beispielsweise kann die Analyse Akzeptieren potenzieller Orientierungspunkte, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, eine Schwelle überschreitet, und/oder Ablehnen potenzieller Orientierungspunkte, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, eine Schwelle überschreitet, umfassen.
  • Der Prozess 1900 kann andere Operationen und Schritte umfassen, die durch den Server 1230 durchgeführt werden. Beispielsweise können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge umfassen, um entlang eines Straßensegments zu fahren, und der Prozess 1900 kann Gruppieren, durch den Server 1230, von Fahrzeugtrajektorien bezüglich mehrerer Fahrzeuge, die auf dem Straßensegment fahren, und Bestimmen der Zieltrajektorie basierend auf den gruppierten Fahrzeugtrajektorien umfassen, wie nachfolgend ausführlicher erörtert wird. Gruppieren von Fahrzeugtrajektorien kann Gruppieren, durch den Server 1230, der mehreren Trajektorien bezüglich der Fahrzeuge, die auf dem Straßensegment fahren, in mehreren Clustern basierend auf zumindest einem aus dem absoluten Kurs von Fahrzeugen oder der Spurzuweisung der Fahrzeuge umfassen. Erzeugen der Zieltrajektorie kann Mitteln, durch den Server 1230, der gruppierten Trajektorien umfassen. In einem weiteren Beispiel kann der Prozess 1900 Ausrichten von Daten umfassen, die in Schritt 1905 empfangen werden. Andere Prozesse und Schritte, die durch den Server 1230 durchgeführt werden, wie oben beschrieben, können auch in den Prozess 1900 eingeschlossen werden.
  • Die offenbarten Systeme und Verfahren können andere Merkmale umfassen. Beispielsweise können die offenbarten Systeme lokale Koordinaten anstelle von globalen Koordinaten verwenden. Für autonomes Fahren können einige Systeme Daten in Weltkoordinaten präsentieren. Beispielsweise können Längen- und Breitengradkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte zum Lenken zu verwenden, kann das Hostfahrzeug seine Position und Ausrichtung relativ zur Karte bestimmen. Es scheint natürlich zu sein, eine GPS-Vorrichtung an Bord zu verwenden, um das Fahrzeug auf der Karte zu positionieren und um die Rotationstransformation zwischen dem Karosseriereferenzrahmen und dem Weltreferenzrahmen zu finden (z. B. Norden, Osten und Unten). Sobald der Karosseriereferenzrahmen mit dem Kartenreferenzrahmen ausgerichtet ist, kann die gewünschte Route im Karosseriereferenzrahmen ausgedrückt werden, und die Lenkbefehle können berechnet oder erzeugt werden.
  • Die offenbarten Systeme und Verfahren können Navigation für autonome Fahrzeuge (z. B. Lenksteuerung) mit Modellen mit geringem Fußabdruck ermöglichen, die durch die autonomen Fahrzeuge selbst ohne die Unterstützung kostspieliger Überwachungsausrüstungen gesammelt werden können. Zum Unterstützen der autonomen Navigation (z. B. Lenkanwendungen) kann das Straßenmodell eine spärliche Karte mit der Geometrie der Straße, ihrer Spurstruktur und Orientierungspunkten umfassen, die verwendet werden können, um den Ort oder die Position von Fahrzeugen entlang einer in dem Modell enthaltenen Trajektorie zu bestimmen. Wie oben erörtert, kann die Erzeugung der spärlichen Karte durch einen entfernten Server durchgeführt werden, der mit Fahrzeugen kommuniziert, die auf der Straße fahren, und der Daten von den Fahrzeugen empfängt. Die Daten können erfasste Daten, basierend auf den erfassten Daten rekonstruierte Trajektorien und/oder empfohlene Trajektorien, die modifizierte rekonstruierte Trajektorien repräsentieren können, umfassen. Wie nachfolgend erörtert, kann der Server das Modell zurück zu den Fahrzeugen oder anderen Fahrzeugen senden, die später auf der Straße fahren, um die autonome Navigation zu unterstützen.
  • 20 stellt ein Blockdiagramm des Servers 1230 dar. Der Server 1230 kann eine Kommunikationseinheit 2005 umfassen, die sowohl Hardwarekomponenten (z. B. Kommunikationssteuerschaltungen, Schalter und Antennen) als auch Softwarekomponenten (z. B. Kommunikationsprotokolle, Computercodes) umfassen kann. Beispielsweise kann die Kommunikationseinheit 2005 zumindest eine Netzwerkschnittstelle umfassen. 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 für autonome Fahrzeuge auf ein oder mehrere autonome Fahrzeug verteilen.
  • Der Server 1230 kann zumindest ein nicht-flüchtiges Speichermedium 2010 umfassen, wie etwa eine Festplatte, eine Compact Disk, ein Band usw. Die Speichervorrichtung 1410 kann dazu ausgelegt sein, Daten zu speichern, wie etwa von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen und/oder das Straßennavigationsmodell für autonome Fahrzeuge, das der Server 1230 basierend auf den Navigationsinformationen erzeugt. Die Speichervorrichtung 2010 kann dazu ausgelegt sein, beliebige andere Informationen zu speichern, wie etwa die spärliche Karte (z. B. die spärliche Karte 800, die oben Bezug nehmend auf 8 erörtert wurde).
  • Zusätzlich zu oder anstelle der Speichervorrichtung 2010 kann der Server 1230 einen Speicher 2015 umfassen. Der Speicher 2015 kann ähnlich dem oder verschieden von dem Speicher 140 oder 150 sein. Der Speicher 2015 kann ein nicht-flüchtiger Speicher, wie etwa ein Flash-Speicher, ein Direktzugriffsspeicher usw. sein. Der Speicher 2015 kann dazu ausgelegt sein, Daten zu speichern, wie etwa Computercodes oder Anweisungen, die durch einen Prozessor (z. B. Prozessor 2020) ausführbar sind, Kartendaten (z. B. Daten der spärlichen Karte 800), das Straßennavigationsmodell für autonome Fahrzeuge und/oder von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen.
  • Der Server 1230 kann zumindest eine Verarbeitungsvorrichtung 2020 umfassen, die dazu ausgelegt ist, Computercodes oder Anweisungen, die im Speicher 2015 gespeichert sind, auszuführen, um verschiedene Funktionen durchzuführen. Beispielsweise kann die Verarbeitungsvorrichtung 2020 die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen analysieren und basierend auf der Analyse das Straßennavigationsmodell für autonome Fahrzeuge erzeugen. Die Verarbeitungsvorrichtung 2020 kann die Kommunikationseinheit 1405 steuern, um das Straßennavigationsmodell für autonome Fahrzeuge an ein oder mehrere autonome Fahrzeuge zu verteilen (z. B. eines oder mehrere der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder ein beliebiges Fahrzeug, das zu einer späteren Zeit auf dem Straßensegment 1200 fährt). Die Verarbeitungsvorrichtung 2020 kann ähnlich oder verschieden von dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 sein.
  • 21 stellt ein Blockdiagramm des Speichers 2015 dar, der Computercode oder Anweisungen zum Durchführen einer oder mehrerer Operationen zum Erzeugen eines Straßennavigationsmodells zur Verwendung bei der Navigation für autonome Fahrzeuge speichern kann. Wie in 21 gezeigt, kann der Speicher 2015 ein oder mehrere Module zum Durchführen der Operationen zum Verarbeiten von Fahrzeugnavigationsinformationen speichern. Beispielsweise kann der Speicher 2015 ein modellerzeugendes Modul 2105 und ein modellverteilendes Modul 2110 umfassen. Der Prozessor 2020 kann die in einem beliebigen der im Speicher 2015 enthaltenen Module 2105 und 2110 gespeicherten Anweisungen ausführen.
  • Das modellerzeugende Modul 2105 kann Anweisungen speichern, die, wenn durch den Prozessor 2020 ausgeführt, zumindest einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für ein gemeinsames Straßensegment (z. B. Straßensegment 1200) basierend auf von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen können. Beispielsweise kann, beim Erzeugen des Straßennavigationsmodells für autonome Fahrzeuge, der Prozessor 2020 Fahrzeugtrajektorien entlang des gemeinsamen Straßensegments 1200 in unterschiedliche Cluster gruppieren. Der Prozessor 2020 kann eine Zieltrajektorie entlang des gemeinsamen Straßensegments 1200 basierend auf den gruppierten Fahrzeugtrajektorien für jeden der unterschiedlichen Cluster bestimmen. Eine solche Operation kann Finden einer mittleren oder durchschnittlichen Fahrzeugtrajektorie der gruppierten Fahrzeugtrajektorien (z. B. durch Mitteln von Daten, die die gruppierten Fahrzeugtrajektorien repräsentieren) in jedem Cluster umfassen. In einigen Ausführungsformen kann die Zieltrajektorie mit einer einzelnen Spur des gemeinsamen Straßensegments 1200 verknüpft sein.
  • Das Straßenmodell und/oder die spärliche Karte können Trajektorien in Verbindung mit einem Straßensegment speichern. Diese Trajektorien können als Zieltrajektorien bezeichnet werden, die für autonome Fahrzeuge zur autonomen Navigation bereitgestellt werden. Die Zieltrajektorien können von mehreren Fahrzeugen empfangen werden oder können basierend auf tatsächlichen Trajektorien oder empfohlenen Trajektorien (tatsächliche Trajektorien mit einigen Modifikationen), die von mehreren Fahrzeugen empfangen werden, erzeugt werden. Die in dem Straßenmodell oder der spärlichen Karte enthaltenen Zieltrajektorien können kontinuierlich mit neuen, von anderen Fahrzeugen empfangenen Trajektorien aktualisiert (z. B. gemittelt werden).
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten durch verschiedene Sensoren sammeln. Die Daten können Orientierungspunkte, ein Straßensignaturprofil, Fahrzeugbewegung (z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten), Fahrzeugposition (z. B. GPS-Daten) umfassen und können die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten an einen Server senden, der die tatsächlichen Trajektorien für die Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten bezüglich einer Trajektorie (z. B. einer Kurve in einem arbiträren Referenzrahmen), Orientierungspunktdaten und Spurzuweisung entlang eines Fahrpfads an den Server 1230 senden. Verschiedene Fahrzeuge, die bei mehreren Fahrten entlang des gleichen Straßensegments fahren, können unterschiedliche Trajektorien aufweisen. Der Server 1230 kann Routen oder Trajektorien in Verbindung mit jeder Spur aus den Trajektorien identifizieren, die von Fahrzeugen während eines Gruppierungsprozesses empfangen werden.
  • 22 stellt einen Prozess des Gruppierens von Fahrzeugtrajektorien in Verbindung mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zum Bestimmen einer Zieltrajektorie für das gemeinsame Straßensegment (z. B. Straßensegment 1200) dar. Die Zieltrajektorie oder mehrere Zieltrajektorien, die aus dem Gruppierungsprozess bestimmt werden, können in das Straßennavigationsmodell für autonome Fahrzeuge oder die spärliche Karte 800 eingeschlossen werden. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die entlang des Straßensegments 1200 fahren, mehrere Trajektorien 2200 an den Server 1230 senden. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Orientierungspunkt, Straßengeometrie und Fahrzeugbewegungsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, erzeugen. Zum Erzeugen des Straßennavigationsmodells für autonome Fahrzeuge kann der Server 1230 Fahrzeugtrajektorien 1600 zu mehreren Clustern 2205, 2210, 2215, 2220, 2225 und 2230 gruppieren, wie in 22 gezeigt.
  • Das Gruppieren kann unter Verwendung verschiedener Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster ähnlich hinsichtlich des absoluten Kurses entlang des Straßensegments 1200 sein. Der absolute Kurs kann aus von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen GPS-Signalen erhalten werden. In einigen Ausführungsformen kann der absolute Kurs unter Verwendung von Koppelnavigation erhalten werden. Wie es sich für einen Fachmann versteht, kann Koppelnavigation verwendet werden, um die aktuelle Position und damit den Kurs der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 unter Verwendung der vorher bestimmten Position, geschätzten Geschwindigkeit usw. zu bestimmen. Trajektorien, die nach absolutem Kurs gruppiert werden, können hilfreich zum Identifizieren von Routen entlang der Fahrbahnen sein.
  • In einigen Ausführungsformen können alle Fahrten in einem Cluster ähnlich hinsichtlich der Spurzuweisung (z. B. vor und nach einer Kreuzung in der gleichen Spur) entlang der Fahrt auf dem Straßensegment 1200 sein. Durch Spurzuweisung gruppierte Trajektorien können hilfreich für das Identifizieren von Spuren entlang der Fahrbahnen sein. In einigen Ausführungsformen können beide Kriterien (z. B. absoluter Kurs und Spurzuweisung) für das Gruppieren verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine Zieltrajektorie in Verbindung mit dem spezifischen Cluster zu erhalten. Beispielsweise können die Trajektorien von mehreren Fahrten in Verbindung mit dem gleichen Spurcluster gemittelt werden. Die gemittelte Trajektorie kann eine Zieltrajektorie in Verbindung mit einer spezifischen Spur sein. Zum Mitteln eines Clusters von Trajektorien kann der Server 1230 einen Referenzrahmen einer arbiträren Trajektorie C0 auswählen. Für alle anderen Trajektorien (C1, ..., Cn) kann der Server 1230 eine starre Transformation finden, die Ci auf C0 abbildet, wobei i = 1, 2, ..., n, wobei n eine positive ganze Zahl ist, die der Gesamtanzahl von in dem Cluster enthaltenen Trajektorien entspricht. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im C0-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Orientierungspunkte eine Bogenlängenübereinstimmung zwischen unterschiedlichen Fahrten definieren, die für Ausrichtung von Trajektorien mit Spuren verwendet werden kann. In einigen Ausführungsformen können Spurmarkierungen vor und hinter einer Kreuzung für die Ausrichtung von Trajektorien mit Spuren verwendet werden.
  • Zum Zusammenstellen von Spuren aus den Trajektorien kann der Server 1230 einen Referenzrahmen einer arbiträren Spur auswählen. Der Server 1230 kann teilweise überlappende Spuren auf den ausgewählten Referenzrahmen abbilden. Der Server 1230 kann mit dem Abbilden fortfahren, bis alle Spuren im gleichen Referenzrahmen sind. Spuren, die nebeneinander sind, können ausgerichtet werden, als wären sie die gleiche Spur, und sie können später lateral verschoben werden.
  • Entlang des Straßensegments erkannte Orientierungspunkte können auf den gemeinsamen Referenzrahmen abgebildet werden, zunächst auf Spurebene, dann auf Kreuzungsebene. Beispielsweise können die gleichen Orientierungspunkte durch mehrere Fahrzeuge bei mehreren Fahrten mehrmals erkannt werden. Die Daten hinsichtlich der bei unterschiedlichen Fahrten empfangenen gleichen Orientierungspunkte kann geringfügig unterschiedlich sein. Solche Daten können gemittelt und auf den gleichen Referenzrahmen abgebildet werden, wie etwa den C0-Referenzrahmen. Zusätzlich oder alternativ kann die Varianz der Daten des bei mehreren Fahrten empfangenen gleichen Orientierungspunkts berechnet werden.
  • In einigen Ausführungsformen kann jede Spur des Straßensegments 120 mit einer Zieltrajektorie und bestimmten Orientierungspunkten verknüpft sein. Die Zieltrajektorie oder mehrere solcher Zieltrajektorien können in das Straßennavigationsmodell für autonome Fahrzeuge eingeschlossen werden, das später durch andere autonome Fahrzeuge verwendet werden kann, die entlang des gleichen Straßensegments 1200 fahren. Orientierungspunkte, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge entlang des Straßensegments 1200 fahren, können zusammen mit der Zieltrajektorie aufgezeichnet werden. Die Daten der Zieltrajektorien und Orientierungspunkte 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 Ausrichtungsdaten bestimmt werden, Vorhersage eines künftigen Ortes voraus des aktuellen Ortes des Fahrzeugs durch Integration der Ego-Bewegung. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtung der Orientierungspunkte korrigiert oder angepasst werden. Wenn beispielsweise das Fahrzeug einen Orientierungspunkt innerhalb eines durch die Kamera erfassten Bildes detektiert, kann der Orientierungspunkt mit einem bekannten Orientierungspunkt verglichen werden, der innerhalb des Straßenmodells oder in der spärlichen Karte 800 gespeichert ist. Der bekannte Orientierungspunkt kann einen bekannten Ort (z. B. GPS-Daten) entlang einer Zieltrajektorie aufweisen, der in dem Straßenmodell und/oder der spärlichen Karte 800 gespeichert ist. Basierend auf der aktuellen Geschwindigkeit und auf Bildern des Orientierungspunkts kann der Abstand vom Fahrzeug zum Orientierungspunkt geschätzt werden. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann basierend auf dem Abstand zum Orientierungspunkt und zum bekannten Ort des Orientierungspunkts angepasst werden (gespeichert im Straßenmodell oder in der spärlichen Karte 800). Die Positions-/Ortsdaten des Orientierungspunkts (z. B. Mittelwerte von mehreren Fahrten), die im Straßenmodell und/oder in der spärlichen Karte 800 gespeichert sind, können als genau angenommen werden.
  • In einigen Ausführungsformen kann das offenbarte System ein geschlossenes Untersystem bilden, in dem die Schätzung des Fahrzeugortes mit sechs Freiheitsgraden (z. B. dreidimensionale Positionsdaten plus dreidimensionale Ausrichtungsdaten) verwendet werden kann zum Navigieren (z. B. des Lenkrads) des autonomen Fahrzeugs, um einen gewünschten Punkt (z. B. 1,3 Sekunden vor dem gespeicherten) zu erreichen. Vom Lenken und der tatsächlichen Navigation gemessene Daten können ihrerseits verwendet werden, um den Ort mit sechs Freiheitsgraden zu schätzen.
  • In einigen Ausführungsformen können Masten entlang einer Straße, wie etwa Lichtmasten oder Stromleitungs- oder Kabelmasten, als Orientierungspunkte zum Lokalisieren der Fahrzeuge verwendet werden. Andere Orientierungspunkte, wie etwa Verkehrsschilder, Ampeln, Pfeile auf der Straße, Stopplinien sowie statische Merkmale oder Signaturen eines Objekts entlang des Straßensegments können ebenfalls als Orientierungspunkte zum Lokalisieren des Fahrzeugs verwendet werden. Wenn Masten zur Lokalisierung verwendet werden, kann die x-Beobachtung der Masten (d. h. der Betrachtungswinkel vom Fahrzeug) anstelle der y-Beobachtung (d. h. des Abstands zum Mast) verwendet werden, da die Bodenbereiche der Masten verdeckt sein können und manchmal nicht auf der Straßenebene sind.
  • 23 stellt ein Navigationssystem für ein Fahrzeug dar, das für autonome Navigation unter Verwendung einer schwarmausgelagerten spärlichen Karte verwendet werden kann. Zur Darstellung wird das Fahrzeug als Fahrzeug 1205 bezeichnet. Das in 23 gezeigte Fahrzeug kann ein beliebiges anderes hier offenbartes Fahrzeug sein, umfassend, beispielsweise, die Fahrzeuge 1210, 1215, 1220 und 1225, sowie das in anderen Ausführungsformen gezeigte Fahrzeug 200. Wie in 12 gezeigt, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bilderfassungsvorrichtung 122 (z. B. die Kamera 122) umfassen. Das Fahrzeug 1205 kann ein Navigationssystem 2300 umfassen, das dazu ausgelegt ist, eine Navigationsführung für das Fahrzeug 1205 bereitzustellen, um auf einer Straße (z. B. Straßensegment 1200) zu fahren. Das Fahrzeug 1205 kann auch andere Sensoren, wie etwa einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325, umfassen. Der Geschwindigkeitssensor 2320 kann dazu ausgelegt sein, die Geschwindigkeit des Fahrzeugs 1205 zu detektieren. Der Beschleunigungsmesser 2325 kann dazu ausgelegt sein, eine Beschleunigung oder Verlangsamung des Fahrzeugs 1205 zu detektieren. Das Fahrzeug 1205, das in 23 gezeigt wird, kann ein autonomes Fahrzeug sein, und das Navigationssystem 2300 kann zum Bereitstellen einer Navigationsführung zum autonomen Fahren verwendet werden. Alternativ kann das Fahrzeug 1205 auch ein nicht-autonomes, menschlich gesteuertes Fahrzeug sein, und das Navigationssystem 2300 kann weiterhin zum Bereitstellen einer Navigationsführung verwendet werden.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 umfassen, die dazu ausgelegt ist, über den Kommunikationspfad 1235 mit dem Server 1230 zu kommunizieren. Das Navigationssystem 2300 kann auch eine GPS-Einheit 2310 umfassen, die dazu ausgelegt ist, GPS-Signale zu empfangen und zu verarbeiten. Das Navigationssystem 2300 kann ferner zumindest einen Prozessor 2315 umfassen, der dazu ausgelegt ist, Daten zu verarbeiten, wie etwa GPS-Signale, Kartendaten von der spärlichen Karte 800 (die auf einer an Bord des Fahrzeugs 1205 bereitgestellten Speichervorrichtung gespeichert und/oder vom Server 1230 empfangen worden sein können), Straßengeometrie, erfasst durch einen Straßenprofilsensor 2330, durch die Kamera 122 erfasste Bilder und/oder das vom Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge. Der Straßenprofilsensor 2330 kann unterschiedliche Typen von Vorrichtungen zum Messen unterschiedlicher Typen von Straßenprofil umfassen, wie etwa Straßenoberflächenrauheit, Straßenbreite, Straßenerhöhung, Straßenkrümmung usw. Beispielsweise kann der Straßenprofilsensor 2330 eine Vorrichtung umfassen, die die Bewegung einer Aufhängung des Fahrzeugs 2305 umfasst, um das Straßenrauheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren zum Messen des Abstands vom Fahrzeug 1205 zu den Straßenseiten (z. B. Barrieren an den Straßenseiten) zu messen, dadurch die Breite der Straße messend. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung umfassen, die dazu ausgelegt ist, die Auf- und Abwärtserhöhung der Straße zu messen. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung umfassen, 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 zu erfassen, die die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu detektieren.
  • Der zumindest eine Prozessor 2315 kann dazu programmiert sein, von der Kamera 122 zumindest ein Umgebungsbild in Verbindung mit dem Fahrzeug 1205 zu empfangen. Der zumindest eine Prozessor 2315 kann das zumindest eine Umgebungsbild analysieren, um die Navigationsinformationen bezüglich des Fahrzeugs 1205 zu bestimmen. Die Navigationsinformationen können eine Trajektorie bezüglich der Fahrt des Fahrzeugs 1205 entlang des Straßensegments 1200 umfassen. Der zumindest eine Prozessor 2315 kann die Trajektorie basierend auf Bewegungen der Kamera 122 (und damit des Fahrzeugs) bestimmen, wie etwa dreidimensionalen translatorischen und dreidimensionalen rotatorischen Bewegungen. In einigen Ausführungsformen kann der zumindest eine Prozessor 2315 die translatorischen und rotatorischen Bewegungen der Kamera 122 basierend auf einer Analyse von mehreren durch die Kamera 122 erfassten Bildern bestimmen. In einigen Ausführungsformen können die Navigationsinformationen Spurzuweisungsinformationen umfassen (z. B. in welcher Spur das Fahrzeug 1205 entlang des Straßensegments 1200 fährt). Die vom Fahrzeug 1205 an den Server 1230 gesendeten Navigationsinformationen können vom Server 1230 verwendet werden, um ein Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen und/oder zu aktualisieren, das vom Server 1230 zurück zum Fahrzeug 1205 gesendet werden kann, um autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der zumindest eine Prozessor 2315 kann auch dazu programmiert sein, die Navigationsinformationen vom 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 zumindest eines aus dem durch die GPS-Einheit 2310 empfangenen GPS-Signal, den Orientierungspunktinformationen, der Straßengeometrie, Spurinformationen usw. umfassen. Der zumindest eine Prozessor 2315 kann, vom Server 1230, das Straßennavigationsmodell für autonome Fahrzeuge oder eine Portion des Modells empfangen. Das vom Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge kann zumindest eine Aktualisierung basierend auf den vom Fahrzeug 1205 an den Server 1230 gesendeten Navigationsinformationen umfassen. Der vom Server 1230 an das Fahrzeug 1205 gesendete Teil des Modells kann einen aktualisierten Teil des Modells umfassen. Der zumindest eine Prozessor 2315 kann zumindest ein navigatorisches Manöver (z. B. Lenken, wie etwa beim Richtungsändern, Bremsen, Beschleunigen, Passieren eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Straßennavigationsmodell für autonome Fahrzeuge oder dem aktualisierten Teil des Modells veranlassen.
  • Der zumindest eine Prozessor 2315 kann dazu ausgelegt sein, mit verschiedenen im Fahrzeug 1205 enthaltenen Sensoren und Komponenten zu kommunizieren, umfassend die Kommunikationseinheit 1705, die GPS-Einheit 2315, die Kamera 122, den Geschwindigkeitssensor 2320, den Beschleunigungsmesser 2325 und den Straßenprofilsensor 2330. Der zumindest 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 durch die 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 miteinander gemeinsam nutzen, sodass zumindest eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Schwarmauslagerung erzeugen kann, z. B. basierend auf von anderen Fahrzeugen gemeinsam genutzten Informationen. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformation miteinander gemeinsam nutzen, und jedes Fahrzeug kann sein eigenes, im Fahrzeug bereitgestelltes Straßennavigationsmodell für autonome Fahrzeuge aktualisieren. In einigen Ausführungsformen kann zumindest eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z. B. Fahrzeug 1205) als ein Zentralfahrzeug fungieren. Der zumindest eine Prozessor 2315 des Zentralfahrzeugs (z. B. Fahrzeug 1205) kann einige oder alle durch den Server 1230 durchgeführten Funktionen durchführen. Beispielsweise kann der zumindest eine Prozessor 2315 des Zentralfahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der zumindest eine Prozessor 2315 des Zentralfahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung am Modell basierend auf den von anderen Fahrzeugen gemeinsam genutzten Informationen erzeugen. Der zumindest eine Prozessor 2315 des Zentralfahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung am Modell an andere Fahrzeuge senden, um autonome Navigationsführung bereitzustellen.
  • Navigation basierend auf spärlichen Karten
  • Wie bereits erörtert, kann das Straßennavigationsmodell für autonome Fahrzeuge umfassend die spärliche Karte 800 mehrere kartierte Spurmarkierungen und mehrere kartierte Objekte/Merkmale in Verbindung mit einem Straßensegment umfassen. Wie nachfolgend noch ausführlicher erörtert wird, können diese kartierten Spurmarkierungen, 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 Hostfahrzeug relativ zur Karte zu lokalisieren (z. B. relativ zu einer kartierten Zieltrajektorie). Die kartierten Spurmarkierungen können (z. B. als eine Prüfung) verwendet werden, um eine laterale Position und/oder Ausrichtung relativ zu einer geplanten oder Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung anzupassen, um mit einer Richtung einer Zieltrajektorie an der bestimmten Position übereinzustimmen.
  • Das Fahrzeug 200 kann dazu ausgelegt sein, Spurmarkierungen in einem gegebenen Straßensegment zu detektieren. Das Straßensegment kann beliebige Markierungen auf einer Straße umfassen, um Fahrzeugverkehr auf einer Fahrbahn zu führen. Beispielsweise können die Spurmarkierungen durchgehende oder gestrichelte Linien sein, die den Rand einer Fahrspur kennzeichnen. Die Spurmarkierungen können auch doppelte Linien umfassen, wie etwa doppelte durchgehende Linien, doppelte gestrichelte Linien oder eine Kombination aus durchgehenden und gestrichelten Linien, beispielsweise anzeigend, ob Passieren in einer angrenzenden Spur erlaubt ist. Die Spurmarkierungen können auch Autobahnauffahrt- und -abfahrtmarkierungen, die, beispielsweise, eine Verlangsamungsspur für eine Abfahrt anzeigen, oder gepunktete Linien, die anzeigen, dass eine Spur eine Abbiegespur ist oder dass die Spur endet, umfassen. Die Markierungen können ferner eine Arbeitszone, eine vorübergehende Spurverschiebung, einen Fahrpfad durch eine Kreuzung, eine Mittellinie, eine spezielle Spur (z. B. eine Fahrradspur, eine Fahrgemeinschaftsspur usw.) oder andere sonstige Markierungen (z. B. Fußgängerüberweg, Bremshügel, Bahnübergang, eine Stopplinie usw.) anzeigen.
  • Das Fahrzeug 200 kann Kameras, wie etwa die in der Bilderfassungseinheit 120 enthaltenen Bilderfassungsvorrichtungen 122 und 124 verwenden, um Bilder der umgebenden Spurmarkierungen zu erfassen. Das Fahrzeug 200 kann die Bilder analysieren, um basierend auf Merkmalen, die innerhalb eines oder mehrerer der erfassten Bilder identifiziert werden, Punktorte in Verbindung mit den Spurmarkierungen zu detektieren. Die Punktorte können auf einen Server hochgeladen werden, um die Spurmarkierungen in der spärlichen Karte 800 zu repräsentieren. In Abhängigkeit von der Position und dem Sichtfeld der Kamera können Spurmarkierungen für beide Seiten des Fahrzeugs aus einem einzelnen Bild gleichzeitig detektiert werden. In anderen Ausführungsformen können unterschiedliche Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs zu erfassen. Anstatt tatsächliche Bilder der Spurmarkierungen hochzuladen, können die Markierungen in der spärlichen Karte 800 als ein Spline oder eine Serie von Punkten gespeichert sein, so die Größe der spärlichen Karte 800 und/oder der Daten verringernd, die entfernt durch das Fahrzeug hochgeladen werden müssen.
  • 24A-24D stellen beispielhafte Punktorte dar, die durch das Fahrzeug 200 detektiert werden können, um bestimmte Spurmarkierungen zu repräsentieren. Ähnlich den oben beschriebenen Orientierungspunkten kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder Software verwenden, um Punktorte innerhalb eines erfassten Bildes zu identifizieren. Beispielsweise kann das Fahrzeug 200 eine Reihe von Randpunkten, Eckpunkten oder verschiedenen anderen Punktorten in Verbindung mit einer bestimmten Spurmarkierung erkennen. 24A zeigt eine durchgehende Spurmarkierung 2410, die durch das Fahrzeug 200 detektiert werden kann. Die Spurmarkierung 2410 kann den äußeren Rand einer Fahrbahn repräsentieren, repräsentiert durch eine durchgehende weiße Linie. Wie in 24A gezeigt, kann das Fahrzeug 200 dazu ausgelegt sein, mehrere Randortpunkte 2411 entlang der Spurmarkierung zu detektieren. Zum Repräsentieren der Spurmarkierungen können die Ortspunkte 2411 bei beliebigen Intervallen gesammelt werden, die ausreichend sind, um eine kartierte Spurmarkierung in der spärlichen Karte zu erzeugen. Beispielsweise kann die Spurmarkierung durch einen Punkt pro Meter des detektierten Randes, einen Punkt für jeweils fünf Meter des detektierten Randes oder andere geeignete Abstände repräsentiert werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren bestimmt werden, beispielsweise anstelle von festgelegten Intervallen basierend auf Punkten, wo das Fahrzeug 200 eine höchste Konfidenzbewertung des Ortes der detektierten Punkte hat. Obwohl 24A Randortpunkte an einem inneren Rand der Spurmarkierung 2410 zeigt, können Punkte am äußeren Rand der Linie oder entlang beider Ränder gesammelt werden. Während ferner in 24A eine einzelne Linie gezeigt ist, können ähnliche Randpunkte für eine doppelte durchgehende Linie detektiert werden. Beispielsweise können die Punkte 2411 entlang eines Randes von einer oder beiden der durchgehenden Linien detektiert werden.
  • Das Fahrzeug 200 kann Spurmarkierungen in Abhängigkeit vom Typ oder der Form der Spurmarkierung auch unterschiedlich repräsentieren. 24B zeigt eine beispielhafte gestrichelte Spurmarkierung 2420, die durch das Fahrzeug 200 detektiert werden kann. Anstatt Randpunkte zu identifizieren, wie in 24A, kann das Fahrzeug eine Serie von Eckpunkten 2421 detektieren, die Ecken der Spurstriche repräsentieren, um die volle Begrenzung des Striches zu definieren. Während 24B jede Ecke einer lokalisierten gegebenen Strichmarkierung zeigt, kann das Fahrzeug 200 eine Untermenge der in der Figur gezeigten Punkte detektieren oder hochladen. Beispielsweise kann das Fahrzeug 200 den vorderen Rand oder die vordere Ecke einer gegebenen Strichmarkierung detektieren oder kann die zwei der Innenseite der Spur am nächsten gelegenen Eckpunkte detektieren. Ferner kann nicht jede Strichmarkierung erfasst werden, beispielsweise kann das Fahrzeug 200 Punkte, die ein Muster von Strichmarkierungen (z. B. jede zweite, jede dritte, jede fünfte usw.) oder Strichmarkierungen bei einem vordefinierten Abstand (z. B. alle Meter, alle fünf Meter, alle 10 Meter usw.) repräsentieren, erfassen und/oder aufzeichnen. Eckpunkte können auch für ähnliche Spurmarkierungen detektiert werden, wie etwa Markierungen, die anzeigen, dass eine Spur für eine Abfahrt bestimmt ist, dass eine bestimmte Spur endet oder andere verschiedene Spurmarkierungen, die detektierbare Eckpunkte aufweisen können. Eckpunkte können auch für Spurmarkierungen detektiert werden, die aus doppelten gestrichelten Linien oder einer Kombination aus durchgehenden und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die Punkte, die auf den Server hochgeladen werden, um die kartierten Spurmarkierungen zu erzeugen, andere Punkte neben den detektierten Randpunkten oder Eckpunkten repräsentieren. 24C stellt eine Serie von Punkten dar, die eine Mittelline einer gegebenen Spurmarkierung repräsentieren. Beispielsweise kann eine durchgehende Spur 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Spurmarkierung repräsentiert werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu ausgelegt sein, diese Mittelpunkte unter Verwendung verschiedener Bilderkennungstechniken zu detektieren, wie etwa durch faltende neuronale Netzwerke (CNN), skaleninvariante Merkmalstransformation (SIFT), HOG-Merkmale (Histogramm von ausgerichteten Gradienten) oder andere Techniken. Alternativ kann das Fahrzeug 200 andere Punkte detektieren, wie etwa Randpunkte 2411, wie in 24A gezeigt, und kann Mittellinienpunkte 2441 berechnen, beispielsweise durch Detektieren von Punkten entlang jedes Randes und Bestimmen eines Mittelpunkts zwischen den Randpunkten. In ähnlicher Weise kann die gestrichelte Spurmarkierung 2420 durch Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Spurmarkierung repräsentiert werden. Die Mittellinienpunkte können sich am Rand des Strichs, wie in 24C gezeigt, oder an verschiedenen anderen Orten entlang der Mittellinie befinden. Beispielsweise kann jeder Strich durch einen einzelnen Punkt in der geometrischen Mitte des Strichs repräsentiert werden. Die Punkte können auch bei einem vorbestimmten Intervall entlang der Mittellinie beabstandet sein (z. B. alle Meter, 5 Meter, 10 Meter usw.). Die Mittellinienpunkte 2451 können direkt durch das Fahrzeug 200 detektiert werden oder können basierend auf anderen detektierten Referenzpunkten berechnet werden, wie etwa Eckpunkten 2421, wie in 24B gezeigt. Eine Mittellinie kann auch verwendet werden, um andere Spurmarkierungstypen, wie etwa eine Doppellinie, unter Verwendung ähnlicher Techniken wie oben zu repräsentieren.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale repräsentieren, wie etwa einen Scheitelpunkt zwischen zwei sich schneidenden Spurmarkierungen. 24D zeigt beispielhafte Punkte, die einen Schnittpunkt zwischen zwei Spurmarkierungen 2460 und 2465 repräsentieren. Das Fahrzeug 200 kann einen Scheitelpunkt 2466 berechnen, der einen Schnittpunkt zwischen den zwei Spurmarkierungen repräsentiert. Beispielsweise kann eine der Spurmarkierungen 2460 oder 2465 einen Bahnübergangsbereich oder einen anderen Übergangsbereich im Straßensegment repräsentieren. Während die Spurmarkierungen 2460 und 2465 als zueinander senkrecht kreuzend gezeigt werden, können verschiedene andere Auslegungen detektiert werden. Beispielsweise können die Spurmarkierungen 2460 und 2465 in anderen Winkeln kreuzen, oder eine oder beide der Spurmarkierungen können am Scheitelpunkt 2466 enden. Ähnliche Techniken können auch für Schnittpunkte zwischen gestrichelten oder anderen Spurmarkierungstypen angewendet werden. Zusätzlich zum Scheitelpunkt 2466 können auch verschiedene andere Punkte 2467 detektiert werden, weitere Informationen über die Ausrichtung der Spurmarkierungen 2460 und 2465 bereitstellend.
  • Das Fahrzeug 200 kann Echtweltkoordinaten mit jedem detektierten Punkt der Spurmarkierung verknüpfen. Beispielsweise können Ortskennungen, umfassend Koordinaten für jeden Punkt, zum Hochladen auf einen Server zum Kartieren der Spurmarkierung erzeugt werden. Die Ortskennungen können ferner andere Identifizierungsinformationen über die Punkte umfassen, einschließlich, ob der Punkt einen Eckpunkt, einen Randpunkt, einen Mittelpunkt usw. repräsentiert. Das Fahrzeug 200 kann daher dazu ausgelegt sein, eine Echtweltposition jedes Punktes basierend auf einer Analyse der Bilder zu bestimmen. Beispielsweise kann das Fahrzeug 200 andere Merkmale im Bild detektieren, wie etwa die oben beschriebenen verschiedenen Orientierungspunkte, um die Echtweltposition der Spurmarkierungen zu lokalisieren. Dies kann Bestimmen des Ortes der Spurmarkierungen im Bild relativ zum detektierten Orientierungspunkt oder Bestimmen der Position des Fahrzeugs basierend auf dem detektierten Orientierungspunkt und dann Bestimmen eines Abstands vom Fahrzeug (oder der Zieltrajektorie des Fahrzeugs) zur Spurmarkierung beinhalten. Wenn ein Orientierungspunkt nicht verfügbar ist, kann der Ort der Spurmarkierungspunkte relativ zu einer basierend auf Koppelnavigation bestimmten Position des Fahrzeugs bestimmt werden. Die in den Ortskennungen enthaltenen Echtweltkoordinaten können als absolute Koordinaten (z. B. Längengrad-/Breitengradkoordinaten) repräsentiert werden oder können relativ zu anderen Merkmalen sein, wie etwa auf einer Längsposition entlang einer Zieltrajektorie und einem lateralen Abstand von der Zieltrajektorie basierend. Die Ortskennungen können dann zur Erzeugung der kartierten Spurmarkierungen im Navigationsmodell (wie etwa der spärlichen Karte 800) auf den Server hochgeladen werden. In einigen Ausführungsformen kann der Server einen Spline konstruieren, der die Spurmarkierungen eines Straßensegments repräsentiert. Alternativ kann das Fahrzeug 200 den Spline erzeugen und ihn auf den Server hochladen, um im navigatorischen Modell aufgezeichnet zu werden.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine spärliche Karte für ein entsprechendes Straßensegment, das kartierte Spurmarkierungen umfasst. Die spärliche Karte kann eine Zieltrajektorie 2475 umfassen, der ein Fahrzeug entlang eines Straßensegments folgen soll. Wie oben beschrieben, kann die Zieltrajektorie 2475 einen idealen Pfad repräsentieren, den ein Fahrzeug beim Befahren des entsprechenden Straßensegments nehmen sollte, oder sie kann sich irgendwo anders auf der Straße befinden (z. B. eine Mittellinie der Straße usw.). Die Zieltrajektorie 2475 kann in den oben beschriebenen verschiedenen Verfahren berechnet werden, beispielsweise basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die das gleiche Straßensegment befahren.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Typen und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleich erzeugt werden. In anderen Ausführungsformen können allerdings beim Erzeugen der Zieltrajektorie auch verschiedene andere Faktoren oder Variablen berücksichtigt werden. Eine unterschiedliche Zieltrajektorie kann für unterschiedliche Typen von Fahrzeugen (z. B. einen Personenkraftwagen, einen Leichtlastkraftwagen und ein volles Gespann) erzeugt werden. Beispielsweise kann eine Zieltrajektorie mit relativ engeren Wenderadien für einen kleinen Personenkraftwagen als für einen größeren Sattelschlepper erzeugt werden. In einigen Ausführungsformen können auch Straßen-, Fahrzeug- und Umgebungsbedingungen berücksichtigt werden. Beispielsweise kann eine unterschiedliche Zieltrajektorie für unterschiedliche Straßenbedingungen (z. B. nass, verschneit, vereist, trocken usw.), Fahrzeugbedingungen (z. B. Reifenzustand oder geschätzter Reifenzustand, Bremsenzustand oder geschätzter Bremsenzustand, verbleibende Kraftstoffmenge usw.) oder Umgebungsfaktoren (z. B. Tageszeit, Sichtbarkeit, Wetter usw.) erzeugt werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßensegments abhängen (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Richtungsänderungen, Steigung usw.). In einigen Ausführungsformen können auch verschiedene Benutzereinstellungen verwendet werden, um die Zieltrajektorie zu bestimmen, wie etwa ein festgelegter Fahrmodus (z. B. gewünschte Fahraggressivität, Wirtschaftlichkeitsmodus usw.).
  • Die spärliche Karte kann auch kartierte Spurmarkierungen 2470 und 2480 umfassen, die Spurmarkierungen entlang des Straßensegments repräsentieren. Die kartierten Spurmarkierungen können durch mehrere Ortskennungen 2471 und 2481 repräsentiert werden. Wie oben beschrieben, können die Ortskennungen Orte in Echtweltkoordinaten von Punkten in Verbindung mit einer detektierten Spurmarkierung umfassen. Ähnlich der Zieltrajektorie im Modell können die Spurmarkierungen auch Erhöhungsdaten umfassen und können als eine Kurve im dreidimensionalen Raum repräsentiert werden. Beispielsweise kann die Kurve ein Spline sein, der dreidimensionale Polynome geeigneter Ordnung verbindet, oder die Kurve kann basierend auf den Ortskennungen berechnet werden. Die kartierten Spurmarkierungen können auch andere Informationen oder Metadaten über die Spurmarkierung umfassen, wie etwa eine Kennung des Typs der Spurmarkierung (z. B. zwischen zwei Spuren mit der gleichen Fahrtrichtung, zwischen zwei Spuren mit entgegengesetzter Fahrtrichtung, Ränder einer Fahrbahn usw.) und/oder andere Charakteristiken der Spurmarkierung (z. B. durchgehend, gestrichelt, einzelne Linie, Doppellinie, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Spurmarkierungen kontinuierlich innerhalb des Modells aktualisiert werden, beispielsweise unter Verwendung von Schwarmauslagerungstechniken. Das gleiche Fahrzeug kann während mehrerer Gelegenheiten des Befahrens des gleichen Straßensegments Ortskennungen hochladen, oder Daten können von mehreren Fahrzeugen (wie etwa 1205, 1210, 1215, 1220 und 1225), die das Straßensegment zu unterschiedlichen Zeiten befahren, ausgewählt werden. Die spärliche Karte 800 kann dann basierend auf von den Fahrzeugen empfangenen nachfolgenden Ortskennungen aktualisiert oder verfeinert und im System gespeichert werden. Wenn die kartierten Spurmarkierungen aktualisiert und verfeinert werden, können das aktualisierte Straßennavigationsmodell und/oder die spärliche Karte an mehrere autonome Fahrzeuge verteilt werden.
  • Erzeugen der kartierten Spurmarkierungen in der spärlichen Karte kann auch Detektieren und/oder Abschwächen von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Spurmarkierungen selbst umfassen. 24F zeigt eine beispielhafte Anomalie 2495 in Verbindung mit dem Detektieren der Spurmarkierung 2490. Die Anomalie 2495 kann in dem durch das Fahrzeug 200 erfassten Bild erscheinen, beispielsweise von einem Objekt, das die Sicht der Kamera auf die Spurmarkierung verdeckt, Ablagerungen auf der Linse usw. In einigen Fällen kann die Anomalie auf die Spurmarkierung selbst zurückzuführen sein, die beschädigt oder verschlissen sein kann oder, teilweise, beispielsweise durch Schmutz, Ablagerungen, Wasser, Schnee oder andere Materialien auf der Straße bedeckt sein kann. Die Anomalie 2495 kann in einem fehlerhaften Punkt 2491 resultieren, der durch das Fahrzeug 200 detektiert wird. Die spärliche Karte 800 können die korrekte kartierte Spurmarkierung bereitstellen und den Fehler ausschließen. In einigen Ausführungsformen kann das Fahrzeug 200 den fehlerhaften Punkt 2491 detektieren, beispielsweise durch Detektieren der Anomalie 2495 im Bild, oder durch Identifizieren des Fehlers basierend auf den detektierten Spurmarkierungspunkten vor und nach der Anomalie. Basierend auf dem Detektieren der Anomalie kann das Fahrzeug den Punkt 2491 auslassen oder kann diesen anpassen, um in einer Linie mit anderen detektierten Punkten zu sein. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, beispielsweise durch Bestimmen, dass der Punkt außerhalb einer erwarteten Schwelle ist, basierend auf anderen Punkten, die während der gleichen Fahrt hochgeladen wurden, oder basierend auf einer Aggregation von Daten von vorherigen Fahrten entlang des gleichen Straßensegments.
  • Die kartierten Spurmarkierungen im Navigationsmodell und/oder der spärlichen Karte können auch zur Navigation durch ein autonomes Fahrzeug verwendet werden, das die entsprechende Fahrbahn befährt. Beispielsweise kann ein Fahrzeug, das entlang einer Zieltrajektorie navigiert, die kartierten Spurmarkierungen in der spärlichen Karte periodisch verwenden, um sich selbst mit der Zieltrajektorie auszurichten. Wie oben erwähnt, kann das Fahrzeug zwischen Orientierungspunkten navigieren, basierend auf Koppelnavigation, wobei das Fahrzeug Sensoren verwendet, um seine Ego-Bewegung zu bestimmen und seine Position relativ zur Zieltrajektorie zu schätzen. Fehler können sich über die Zeit akkumulieren, und die Bestimmungen der Position des Fahrzeugs relativ zur Zieltrajektorie können zunehmend ungenau werden. Entsprechend kann das Fahrzeug Spurmarkierungen, die in der spärlichen Karte 800 auftreten (und ihre bekannten Orte) verwenden, um die durch Koppelnavigation eingebrachten Fehler bei der Positionsbestimmung zu verringern. Auf diese Weise können die in der spärlichen Karte 800 enthaltenen identifizierten Spurmarkierungen als navigatorische Anker dienen, von denen aus eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 der umgebenden Umgebung eines Fahrzeugs, das zur Navigation basierend auf den kartierten Spurmarkierungen verwendet werden kann. Das Bild 2500 kann, beispielsweise, durch das Fahrzeug 200 über die in der Bilderfassungseinheit 120 enthaltenen Bilderfassungsvorrichtungen 122 und 124 erfasst werden. Das Bild 2500 kann ein Bild zumindest einer Spurmarkierung 2510 umfassen, wie in 25A gezeigt. Das Bild 2500 kann auch einen oder mehrere Orientierungspunkte 2521 umfassen, wie etwa ein Straßenschild, das zur Navigation verwendet wird, wie oben beschrieben. Einige in 25A gezeigte Elemente, wie etwa Elemente 2511, 2530 und 2520, die nicht in dem erfassten Bild 2500 erscheinen, aber durch das Fahrzeug 200 detektiert und/oder bestimmt werden, sind zu Referenzzwecken ebenfalls gezeigt.
  • Unter Verwendung der verschiedenen Techniken, die oben Bezug nehmend auf 24A-D und 24F beschrieben wurden, kann ein Fahrzeug das Bild 2500 analysieren, um die Spurmarkierung 2510 zu identifizieren. Verschiedene Punkte 2511 können entsprechend Merkmalen der Spurmarkierung in dem Bild detektiert werden. Die Punkte 2511, beispielsweise, können einem Rand der Spurmarkierung, einer Ecke der Spurmarkierung, einem Mittelpunkt der Spurmarkierung, einem Scheitelpunkt zwischen zwei sich schneidenden Spurmarkierungen oder verschiedenen anderen Merkmalen oder Orten entsprechen. Die Punkte 2511 können detektiert werden, um einem Ort von in einem von einem Server empfangenen Navigationsmodell gespeicherten Punkten zu entsprechen. Wenn beispielsweise eine spärliche Karte empfangen wird, die Punkte enthält, die eine Mittelline einer kartierten Spurmarkierung repräsentieren, können die Punkte 2511 auch basierend auf einer Mittellinie der Spurmarkierung 2510 detektiert werden.
  • Das Fahrzeug kann auch eine Längsposition bestimmen, die durch das Element 2520 repräsentiert wird und entlang einer Zieltrajektorie befindlich ist. Die Längsposition 2520 kann aus dem Bild 2500 bestimmt werden, beispielsweise durch Detektieren des Orientierungspunkts 2521 innerhalb des Bildes 2500 und Vergleichen eines gemessenen Ortes mit einem bekannten Orientierungspunktort, der in dem Straßenmodell oder der spärlichen Karte 800 gespeichert ist. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann dann basierend auf dem Abstand zum Orientierungspunkt und zum bekannten Ort des Orientierungspunkts bestimmt werden. Die Längsposition 2520 kann auch aus Bildern bestimmt werden, die von denen, die zum Bestimmen der Position einer Spurmarkierung verwendet werden, verschieden sind. Beispielsweise kann die Längsposition 2520 bestimmt werden durch Detektieren von Orientierungspunkten in Bildern von anderen Kameras innerhalb der Bilderfassungseinheit 120, die gleichzeitig oder beinahe gleichzeitig mit dem Bild 2500 genommen wurden. In einigen Fällen ist das Fahrzeug möglicherweise nicht in der Nähe irgendwelcher Orientierungspunkte oder anderer Referenzpunkte zum Bestimmen der Längsposition 2520. In solchen Fällen kann das Fahrzeug basierend auf Koppelnavigation navigieren und kann daher Sensoren verwenden, um seine Ego-Bewegung zu bestimmen und eine Längsposition 2520 relativ zur Zieltrajektorie zu schätzen. Das Fahrzeug kann auch einen Abstand 2530 bestimmen, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Spurmarkierung 2510, der in dem bzw. den erfassten Bildern beobachtet wird, repräsentiert. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren können beim Bestimmen des Abstands 2530 berücksichtigt werden.
  • 25B stellt eine laterale Lokalisierungskorrektur des Fahrzeugs basierend auf den kartierten Spurmarkierungen in einem Straßennavigationsmodell dar. Wie oben beschrieben, kann das Fahrzeug 200 einen Abstand 2530 zwischen dem Fahrzeug 200 und einer Spurmarkierung 2510 unter Verwendung von einem oder mehreren durch das Fahrzeug 200 erfassten Bildern bestimmen. Das Fahrzeug 200 kann auch Zugriff auf ein Straßennavigationsmodell haben, wie etwa die spärliche Karte 800, die eine kartierte Spurmarkierung 2550 und eine Zieltrajektorie 2555 umfassen kann. Die kartierte Spurmarkierung 2550 kann unter Verwendung der oben beschriebenen Techniken modelliert werden, beispielsweise unter Verwendung von schwarmausgelagerten Ortskennungen, die durch mehrere Fahrzeuge erfasst werden. Die Zieltrajektorie 2555 kann auch unter Verwendung der verschiedenen vorher beschriebenen Techniken erzeugt werden. Das Fahrzeug 200 kann auch eine Längsposition 2520 entlang der Zieltrajektorie 2555 bestimmen oder schätzen, wie oben Bezug nehmend auf 25A beschrieben. Das Fahrzeug 200 kann dann einen erwarteten Abstand 2540 basierend auf einem lateralen Abstand zwischen der Zieltrajektorie 2555 und der kartierten Spurmarkierung 2550 entsprechend der Längsposition 2520 bestimmen. Die laterale Lokalisierung des Fahrzeugs 200 kann korrigiert oder angepasst werden durch Vergleichen des tatsächlichen Abstands 2530, gemessen unter Verwendung des bzw. der erfassten Bilder mit dem erwarteten Abstand 2540 aus dem Modell.
  • 25C und 25D stellen Darstellungen in Verbindung mit einem anderen Beispiel für das Lokalisieren eines Hostfahrzeugs während der Navigation basierend auf kartierten Orientierungspunkten/Objekten/Merkmalen in einer spärlichen Karte dar. 25C stellt konzeptuell eine Serie von Bildern dar, die von Fahrzeugen, die entlang eines Straßensegments 2560 navigieren, erfasst werden. In diesem Beispiel umfasst das Straßensegment 2560 einen geraden Abschnitt einer zweispurigen geteilten Autobahn, begrenzt durch Straßenränder 2561 und 2562 und die mittlere Spurmarkierung 2563. Wie gezeigt, navigiert das Hostfahrzeug entlang einer Spur 2564, die mit einer kartierten Zieltrajektorie 2565 verknüpft ist. Daher sollte, in einer idealen Situation (und ohne Beeinflussungen, wie etwa die Anwesenheit von Zielfahrzeugen oder Objekten auf der Fahrbahn usw.), das Hostfahrzeug die kartierte Zieltrajektorie 2565 eng nachverfolgen, wenn es entlang der Spur 2564 des Straßensegments 2560 navigiert. In der Realität kann das Hostfahrzeug ein Driften erfahren, wenn es entlang der kartierten Zieltrajektorie 2565 navigiert. Für eine effektive und sichere Navigation sollte dieses Driften innerhalb akzeptabler Grenzen gehalten werden (z. B. +/- 10 cm lateraler Versatz von der Zieltrajektorie 2565 oder eine beliebige andere geeignete Schwelle). Um periodisch das Driften zu berücksichtigen und nötige Kurskorrekturen vorzunehmen, um sicherzustellen, dass das Hostfahrzeug der Zieltrajektorie 2565 folgt, können die offenbarten Navigationssysteme in der Lage sein, das Hostfahrzeug unter Verwendung von einem oder mehreren in der spärlichen Karte enthaltenen kartierten Merkmalen/Objekten entlang der Zieltrajektorie 2565 zu lokalisieren (z. B. eine laterale und eine Längsposition des Hostfahrzeugs relativ zur Zieltrajektorie 2565 zu bestimmen).
  • Als ein einfaches Beispiel zeigt 25C ein Geschwindigkeitsbegrenzungsschild 2566, wie es in fünf unterschiedlichen, nacheinander erfassten Bildern erscheinen kann, wenn das Hostfahrzeug entlang des Straßensegments 2560 navigiert. Beispielsweise kann, zu einem ersten Zeitpunkt, t0, das Schild 2566 in einem erfassten Bild nahe dem Horizont erscheinen. Wenn sich das Hostfahrzeug dem Schild 2566 nähert, erscheint, in nachfolgend erfassten Bildern zu den Zeitpunkten t1, t2, t3 und t4, das Schild 2566 an verschiedenen 2D-X-Y-Pixelorten der erfassten Bilder. Beispielsweise bewegt sich, im erfassten Bildraum, das Schild 2566 entlang der Kurve 2567 nach unten und nach rechts (z. B. eine Kurve, die sich durch die Mitte des Schildes in jedem der fünf erfassten Bildframes erstreckt). Das Schild 2566 scheint auch größer zu werden, je weiter sich das Hostfahrzeug ihm nähert (d. h. es nimmt in nachfolgend erfassten Bildern eine große Anzahl von Pixeln ein).
  • Diese Änderungen in den Bildraumrepräsentationen eines Objekts, wie etwa des Schildes 2566, kann ausgenutzt werden, um eine lokalisierte Position des Hostfahrzeugs entlang einer Zieltrajektorie zu bestimmen. Beispielsweise kann, wie in der vorliegenden Offenbarung beschrieben, ein beliebiges detektierbares Objekt oder Merkmal, wie etwa ein semantisches Merkmal wie Schild 2566 oder ein detektierbares nicht-semantisches Merkmal, durch ein oder mehrere Erntefahrzeuge identifiziert werden, die vorher ein Straßensegment (z. B. Straßensegment 2560) befahren haben. Ein Kartierungsserver kann die geernteten Fahrinformationen von mehreren Fahrzeugen sammeln, diese Informationen aggregieren und korrelieren und eine spärliche Karte erzeugen, die, beispielsweise, eine Zieltrajektorie 2565 für die Spur 2564 des Straßensegments 2560 umfasst. Die spärliche Karte kann auch einen Ort des Schildes 2566 (zusammen mit Typinformationen usw.) speichern. Während der Navigation (z. B. vor dem Eintreten in das Straßensegment 2560), kann ein Fahrzeug mit einer Kartenkachel versorgt werden, die eine spärliche Karte für das Straßensegment 2560 umfasst. Zum Navigieren in der Spur 2564 des Straßensegments 2560 kann das Hostfahrzeug der kartierten Zieltrajektorie 2565 folgen.
  • Die kartierte Repräsentation des Schildes 2566 kann durch das Hostfahrzeug verwendet werden, um sich selbst relativ zur Zieltrajektorie zu lokalisieren. Beispielsweise erfasst eine Kamera am Hostfahrzeug ein Bild 2570 der Umgebung des Hostfahrzeugs, und dieses erfasste Bild 2570 kann eine Bildrepräsentation des Schildes 2566 mit einer gewissen Größe und einem gewissen X-Y-Bildort aufweisen, wie in 25D gezeigt. Diese Größe und der X-Y-Bildort können verwendet werden, um die Position des Hostfahrzeugs relativ zur Zieltrajektorie 2565 zu bestimmen. Beispielsweise kann, basierend auf der spärlichen Karte, umfassend eine Repräsentation des Schildes 2566, ein Navigationsprozessor des Hostfahrzeugs bestimmen, dass in Reaktion darauf, dass das Hostfahrzeug entlang der Zieltrajektorie 2565 fährt, eine Repräsentation des Schildes 2566 in erfassten Bildern erscheinen soll, sodass sich eine Mitte des Schildes 2566 (im Bildraum) entlang der Linie 2567 bewegt. Wenn ein erfasstes Bild, wie etwa Bild 2570, die Mitte (oder einen anderen Referenzpunkt) versetzt von der Linie 2567 (z. B. der erwarteten Bildraumtrajektorie) zeigt, kann das Navigationssystem des Hostfahrzeugs bestimmen, dass es sich zum Zeitpunkt des erfassten Bildes nicht auf der Zieltrajektorie 2565 befunden hat. Aus dem Bild kann allerdings der Navigationsprozessor eine geeignete navigatorische Korrektur bestimmen, um das Hostfahrzeug zur Zieltrajektorie 2565 zurückzuführen. Wenn beispielsweise die Analyse einen Bildort des Schildes 2566 zeigt, der im Bild um einen Abstand 2572 links vom erwarteten Bildraumort auf der Linie 2567 versetzt ist, kann der Navigationsprozessor eine Kursänderung durch das Hostfahrzeug (z. B. Änderung des Lenkwinkels der Räder) veranlassen, um das Hostfahrzeug um eine Strecke 2573 nach links zu bewegen. Auf diese Weise kann jedes erfasste Bild als Teil eines Rückmeldeschleifenprozesses verwendet werden, sodass ein Unterschied zwischen einer beobachteten Bildposition des Schildes 2566 und der erwarteten Bildtrajektorie 2567 minimiert werden kann, um sicherzustellen, dass das Hostfahrzeug mit wenig oder ohne Abweichung entlang der Zieltrajektorie 2565 fortfährt. Natürlich kann, je mehr kartierte Objekte verfügbar sind, umso öfter die beschriebene Lokalisierungstechnik eingesetzt werden, was die durch Driften eingebrachten Abweichungen von der Zieltrajektorie 2565 verringern oder beseitigen kann.
  • Der oben beschriebene Prozess kann hilfreich sein zum Detektieren einer lateralen Ausrichtung oder Versetzung des Hostfahrzeugs relativ zu einer Zieltrajektorie. Die Lokalisierung des Hostfahrzeugs relativ zur Zieltrajektorie 2565 kann auch eine Bestimmung eines Längsortes des Zielfahrzeugs entlang der Zieltrajektorie umfassen. Beispielsweise umfasst das erfasste Bild 2570 eine Repräsentation des Schildes 2566 als eine gewisse Bildgröße aufweisend (z. B. 2D-X-Y-Pixelbereich). Diese Größe kann mit einer erwarteten Größe des kartierten Schildes 2566 verglichen werden, wenn es sich entlang der Linie 2567 durch den Bildraum bewegt (z. B. da die Größe des Schildes progressiv zunimmt, wie in 25C gezeigt). Basierend auf der Bildgröße des Schildes 2566 im Bild 2570 und basierend auf der erwarteten Größenprogression im Bildraum relativ zur kartierten Zieltrajektorie 2565 kann das Hostfahrzeug seine Längsposition (zu dem Zeitpunkt, zu dem das Bild 2570 erfasst wurde) relativ zur Zieltrajektorie 2565 bestimmen. Diese Längsposition, gekoppelt mit einer beliebigen lateralen Versetzung relativ zur Zieltrajektorie 2565, wie oben beschrieben, ermöglicht eine vollständige Lokalisierung des Hostfahrzeugs relativ zur Zieltrajektorie 2565, wenn das Hostfahrzeug entlang der Straße 2560 navigiert.
  • 25C und 25D stellen nur ein Beispiel der offenbarten Lokalisierungstechnik unter Verwendung eines einzelnen kartierten Objekts und einer einzelnen Zieltrajektorie bereit. In anderen Beispielen kann es viel mehr Zieltrajektorien geben (z. B. eine Zieltrajektorie für jede befahrbare Spur einer mehrspurigen Autobahn, Stadtstraße, komplexe Kreuzung usw.), und es kann viel mehr kartierte geben, die für Lokalisierung verfügbar sind. Beispielsweise kann eine spärliche Karte, die repräsentativ für eine städtische Umgebung ist, viele Objekte pro Meter umfassen, die für eine Lokalisierung verfügbar sind.
  • 26A ist ein Flussdiagramm, einen beispielhaften Prozess 2600A zum Kartieren einer Spurmarkierung zur Verwendung bei der Navigation autonomer Fahrzeuge im Einklang mit offenbarten Ausführungsformen zeigend. Bei Schritt 2610 kann der Prozess 2600A Empfangen von zwei oder mehr Ortskennungen in Verbindung mit einer detektierten Spurmarkierung umfassen. Beispielsweise kann Schritt 2610 durch den Server 1230 oder einen oder mehrere Prozessoren in Verbindung mit dem Server durchgeführt werden. Die Ortskennungen können Orte in Echtweltkoordinaten von Punkten in Verbindung mit der detektierten Spurmarkierung umfassen, wie oben Bezug nehmend auf 24E beschrieben. In einigen Ausführungsformen können die Ortskennungen auch andere Daten enthalten, wie etwa zusätzliche Informationen über das Straßensegment oder die Spurmarkierung. Zusätzliche Daten können auch während Schritt 2610 empfangen werden, wie etwa Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Orientierungspunktdaten, Straßengeometrie- oder Profildaten, Fahrzeugpositionierungsdaten, Ego-Bewegungsdaten oder verschiedene andere Formen von Daten, wie oben beschrieben. Die Ortskennungen können durch ein Fahrzeug, wie etwa Fahrzeuge 1205, 1210, 1215, 1220 und 1225, basierend auf durch das Fahrzeug erfassten Bildern erzeugt werden. Beispielsweise können die Kennungen basierend auf der Erfassung, von einer Kamera in Verbindung mit einem Hostfahrzeug, von zumindest einem Bild, das repräsentativ für eine Umgebung des Hostfahrzeugs ist, der Analyse des zumindest einen Bildes zum Detektieren der Spurmarkierung in der Umgebung des Hostfahrzeugs und der Analyse des zumindest einen Bildes zum Bestimmen einer Position der detektierten Spurmarkierung relativ zu einem Ort in Verbindung mit dem Hostfahrzeug bestimmt werden. Wie oben beschrieben, kann die Spurmarkierung eine Vielzahl von unterschiedlichen Markierungstypen umfassen, und die Ortskennungen können einer Vielzahl von Punkten relativ zur Spurmarkierung entsprechen. Wo beispielsweise die detektierte Spurmarkierung Teil einer gestrichelten Linie ist, die eine Spurbegrenzung markiert, können die Punkte detektierten Ecken der Spurmarkierung entsprechen. Wo die detektierte Spurmarkierung Teil einer durchgehenden Linie ist, die eine Spurbegrenzung markiert, können die Punkte einem detektierten Rand der Spurmarkierung entsprechen, mit verschiedenen Abständen, wie oben beschrieben. In einigen Ausführungsformen können die Punkte der Mittellinie der detektierten Spurmarkierung entsprechen, wie in 24C gezeigt, oder sie können einem Scheitelpunkt zwischen zwei sich schneidenden Spurmarkierungen und mindestens zwei anderen Punkten in Verbindung mit den sich schneidenden Spurmarkierungen entsprechen, wie in 24D gezeigt.
  • Bei Schritt 2612 kann der Prozess 2600A Verknüpfen der detektierten Spurmarkierung mit einem entsprechenden Straßensegment umfassen. Beispielsweise kann der Server 1230 die Echtweltkoordinaten oder andere während Schritt 2610 empfangene Informationen analysieren und die Koordinaten oder anderen Informationen mit Ortsinformationen vergleichen, die in einem Straßennavigationsmodell für autonome Fahrzeuge gespeichert sind. Der Server 1230 kann ein Straßensegment in dem Modell bestimmen, das dem Echtwelt-Straßensegment entspricht, wo die Spurmarkierung detektiert wurde.
  • Bei Schritt 2614 kann der Prozess 2600A Aktualisieren eines Straßennavigationsmodells für autonome Fahrzeuge relativ zu dem entsprechenden Straßensegment basierend auf den zwei oder mehr Ortskennungen in Verbindung mit der detektierten Spurmarkierung umfassen. Beispielsweise kann das autonome Straßennavigationsmodell die spärliche Karte 800 sein, und der Server 1230 kann die spärliche Karte aktualisieren, um eine kartierte Spurmarkierung in das Modell einzuschließen oder anzupassen. Der Server 1230 kann das Modell basierend auf verschiedenen Verfahren oder Prozessen aktualisieren, die oben Bezug nehmend auf 24E beschrieben werden. In einigen Ausführungsformen kann Aktualisieren des Straßennavigationsmodells für autonome Fahrzeuge Speichern von einem oder mehreren Indikatoren der Position in Echtweltkoordinaten der detektierten Spurmarkierung umfassen. Das Straßennavigationsmodell für autonome Fahrzeuge kann auch zumindest eine Zieltrajektorie umfassen, der ein Fahrzeug entlang des entsprechenden Straßensegments folgen kann, wie in 24E gezeigt.
  • Bei Schritt 2616 kann der Prozess 2600A Verteilen des aktualisierten Straßennavigationsmodells für autonome Fahrzeuge an mehrere autonome Fahrzeuge umfassen. Beispielsweise kann der Server 1230 das aktualisierte Straßennavigationsmodell für autonome Fahrzeuge an Fahrzeuge 1205, 1210, 1215, 1220 und 1225 verteilen, die das Modell zur Navigation verwenden können. Das Straßennavigationsmodell für autonome Fahrzeuge kann über ein oder mehrere Netzwerke (z. B. über ein Mobilfunknetzwerk und/oder das Internet usw.) über drahtlose Kommunikationspfade 1235 verteilt werden, wie in 12 gezeigt.
  • In einigen Ausführungsformen können die Spurmarkierungen unter Verwendung von Daten kartiert werden, die von mehreren Fahrzeugen empfangen werden, wie etwa über eine Schwarmauslagerungstechnik, wie oben Bezug nehmend auf 24E beschrieben. Beispielsweise kann der Prozess 2600A Empfangen einer ersten Kommunikation von einem ersten Hostfahrzeug, umfassend Ortskennungen in Verbindung mit einer detektierten Spurmarkierung, und Empfangen einer zweiten Kommunikation von einem zweiten Hostfahrzeug, umfassend zusätzliche Ortskennungen in Verbindung mit der detektierten Spurmarkierung, umfassen. Beispielsweise kann die zweite Kommunikation von einem nachfolgenden Fahrzeug, das auf dem gleichen Straßensegment fährt, oder von dem gleichen Fahrzeug bei einer nachfolgenden Fahrt entlang des gleichen Straßensegments empfangen werden. Der Prozess 2600A kann ferner Verfeinern einer Bestimmung zumindest einer Position in Verbindung mit der detektierten Spurmarkierung basierend auf den in der ersten Kommunikation empfangenen Ortskennungen und basierend auf den in der zweiten Kommunikation empfangenen zusätzlichen Ortskennungen umfassen. Dies kann Verwenden eines Durchschnitts der mehreren Ortskennungen und/oder Herausfiltern von „Geist“-Kennungen, die die Echtweltposition der Spurmarkierung möglicherweise nicht widerspiegeln, umfassen.
  • 26B ist ein Flussdiagramm, einen beispielhaften Prozess 2600B zum autonomen Navigieren eines Hostfahrzeugs entlang eines Straßensegments unter Verwendung von kartierten Spurmarkierungen zeigend. Der Prozess 2600B kann, beispielsweise, durch die Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. Bei Schritt 2620 kann der Prozess 2600B Empfangen, von einem serverbasierten System, eines Straßennavigationsmodells für autonome Fahrzeuge umfassen. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge eine Zieltrajektorie für das Hostfahrzeug entlang des Straßensegments und Ortskennungen in Verbindung mit einer oder mehreren Spurmarkierungen in Verbindung mit dem Straßensegment umfassen. Beispielsweise kann das Fahrzeug 200 die spärliche Karte 800 oder ein anderes unter Verwendung von Prozess 2600A entwickeltes Straßennavigationsmodell empfangen. In einigen Ausführungsformen kann die Zieltrajektorie als ein dreidimensionaler Spline repräsentiert werden, wie beispielsweise in 9B gezeigt. Wie oben Bezug nehmend auf 24A-F beschrieben, können die Ortskennungen Orte in Echtweltkoordinaten von Punkten in Verbindung mit der Spurmarkierung umfassen (z. B. Eckpunkte einer gestrichelten Spurmarkierung, Randpunkte einer durchgehenden Spurmarkierung, einen Scheitelpunkt zwischen zwei sich schneidenden Spurmarkierungen und andere Punkte in Verbindung mit den sich schneidenden Spurmarkierungen, eine Mittelline in Verbindung mit der Spurmarkierung usw.).
  • Bei Schritt 2621 kann der Prozess 2600B Empfangen zumindest eines Bildes umfassen, das repräsentativ für eine Umgebung des Fahrzeugs ist. Das Bild kann von einer Bilderfassungsvorrichtung des Fahrzeugs, wie etwa durch die in der Bilderfassungseinheit 120 enthaltenen Bilderfassungsvorrichtungen 122 and 124, empfangen werden. Das Bild kann ein Bild von einer oder mehreren Spurmarkierungen umfassen, ähnlich dem oben beschriebenen Bild 2500.
  • Bei Schritt 2622 kann der Prozess 2600B Bestimmen einer Längsposition des Hostfahrzeugs entlang der Zieltrajektorie umfassen. Wie oben Bezug nehmend auf 25A beschrieben, kann dies auf anderen Informationen im erfassten Bild (z. B. Orientierungspunkte usw.) oder auf Koppelnavigation des Fahrzeugs zwischen detektierten Orientierungspunkten basieren.
  • Bei Schritt 2623 kann der Prozess 2600B Bestimmen eines erwarteten lateralen Abstands zur Spurmarkierung basierend auf der bestimmten Längsposition des Hostfahrzeugs entlang der Zieltrajektorie und basierend auf den zwei oder mehr Ortskennungen in Verbindung mit der zumindest einen Spurmarkierung umfassen. Beispielsweise kann das Fahrzeug 200 die spärliche Karte 800 verwenden, um einen erwarteten lateralen Abstand zur Spurmarkierung zu bestimmen. Wie in 25B gezeigt, kann die Längsposition 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 zur kartierten Spurmarkierung 2550 entsprechend der Längsposition 2520 bestimmen.
  • Bei Schritt 2624 kann der Prozess 2600B Analysieren des zumindest einen Bildes zum Identifizieren der zumindest einen Spurmarkierung umfassen. Das Fahrzeug 200 kann, beispielsweise, verschiedene Bilderkennungstechniken oder Algorithmen verwenden, um die Spurmarkierung innerhalb des Bildes zu identifizieren, wie oben beschrieben. Beispielsweise kann die Spurmarkierung 2510 durch eine Bildanalyse des Bildes 2500 detektiert werden, wie in 25A gezeigt.
  • Bei Schritt 2625 kann der Prozess 2600B Bestimmen eines tatsächlichen lateralen Abstands zu der zumindest einen Spurmarkierung basierend auf der Analyse des zumindest einen Bildes umfassen. Beispielsweise kann das Fahrzeug einen Abstand 2530 bestimmen, wie in 25A gezeigt, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Spurmarkierung 2510 repräsentiert. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs, die Position der Kamera relativ zum Fahrzeug oder verschiedene andere Faktoren können beim Bestimmen des Abstands 2530 berücksichtigt werden.
  • Bei Schritt 2626 kann der Prozess 2600B Bestimmen einer autonomen Lenkaktion für das Hostfahrzeug basierend auf einer Differenz zwischen dem erwarteten lateralen Abstand zu der zumindest einen Spurmarkierung und dem bestimmten tatsächlichen lateralen Abstand zu der zumindest einen Spurmarkierung umfassen. Wie beispielsweise oben Bezug nehmend auf 25B beschrieben, kann das Fahrzeug 200 den tatsächlichen Abstand 2530 mit einem erwarteten Abstand 2540 vergleichen. Die Differenz zwischen dem tatsächlichen und dem erwarteten Abstand kann einen Fehler (und seine Größenordnung) zwischen der tatsächlichen Position des Fahrzeugs und der Zieltrajektorie, der das Fahrzeug folgen soll, anzeigen. Entsprechend kann das Fahrzeug eine autonome Lenkaktion oder eine andere autonome Aktion basierend auf der Differenz bestimmen. Wenn beispielsweise der tatsächliche Abstand 2530 kleiner als der erwartete Abstand 2540 ist, wie in 25B gezeigt, kann das Fahrzeug eine autonome Lenkaktion bestimmen, um das Fahrzeug nach links zu leiten, weg von der Spurmarkierung 2510. So kann die Position des Fahrzeugs relativ zur Zieltrajektorie korrigiert werden. Der Prozess 2600B kann, beispielsweise, verwendet werden, um die Navigation des Fahrzeugs zwischen Orientierungspunkten zu verbessern.
  • Die Prozesse 2600A und 2600B stellen nur Beispiele für Techniken bereit, die zum Navigieren eines Hostfahrzeugs unter Verwendung der offenbarten spärlichen Karten verwendet werden können. In anderen Beispielen können auch Prozesse im Einklang mit den relativ zu den 25C und 25D beschriebenen eingesetzt werden.
  • Ampeldetektion und Analyse
  • Die vorliegende Offenbarung beschreibt ein Navigationssystem für ein Hostfahrzeug, das dazu ausgelegt ist, die Merkmale von Ampeln entlang einer durch das Hostfahrzeug befahrenen Fahrbahn zu bestimmen. In einer Ausführungsform kann das Navigationssystem dazu ausgelegt sein, ein oder mehrere durch eine erste Kamera erfasste erste Bilder der Umgebung des Hostfahrzeugs zu empfangen und ein oder mehrere durch eine zweite Kamera erfasste zweite Bilder der Umgebung des Hostfahrzeugs zu empfangen. Beispielsweise können die erste und die zweite Kamera des Hostfahrzeugs überlappende Sichtfelder aufweisen. Eine der Kameras kann (vorübergehend oder konstant) für Ampeldetektion spezialisiert sein, um zuverlässige Bilder zum Bestimmen zumindest eines Merkmals einer Ampel bereitzustellen. Insbesondere die zweite Kamera kann in einem primären Modus arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren. Beispielsweise können die Betriebsparameter der zweiten Kamera basierend auf dem Flimmern oder dem Tastverhältnis in Verbindung mit einer LED-Anordnung einer Ampel, die im ersten und zweiten Bild dargestellt ist, abgestimmt werden. Das Navigationssystem kann dazu ausgelegt sein, die Repräsentation der Ampel in den ersten Bildern und in den zweiten Bildern zu analysieren, um den Zustand der Ampel zu bestimmen. Dann kann das Navigationssystem das Hostfahrzeug veranlassen, zumindest eine basierend auf dem Zustand der Ampel bestimmte navigatorische Aktion umzusetzen. Beispielsweise kann das Navigationssystem den Zustand der Ampel als einen Zustand mit grünem Licht bestimmen und kann das Hostfahrzeug veranlassen, seine aktuelle Kursrichtung bei der aktuellen Geschwindigkeit beizubehalten, um eine Kreuzung in Verbindung mit der Ampel zu durchfahren.
  • 27 ist eine diagrammatische Darstellung eines beispielhaften Navigationssystems 2700 im Einklang mit den offenbarten Ausführungsformen. Das Navigationssystem 2700 kann einen Server 2701, zumindest ein Hostfahrzeug 2702 mit mehreren Kameras 2703 (z. B. einer ersten Kamera 2703A, einer zweiten Kamera 2703B und einer dritten Kamera 2703C), eine Datenbank 2704 und ein Netzwerk 2706 umfassen. Der Server 2701 kann dazu ausgelegt sein, Karteninformationen für das Hostfahrzeug 2702 bereitzustellen. Beispielsweise kann der Server 2701 dazu ausgelegt sein, an das Hostfahrzeug 2702 Karteninformationen zu senden, umfassend Informationen bezüglich Straßen und/oder einer oder mehrerer Ampeln. Das Hostfahrzeug 2702 kann dazu ausgelegt sein, eine oder mehrere Komponenten des Fahrzeugs zu betreiben, wie etwa einen Lenkmechanismus, einen Bremsmechanismus oder verschiedene andere Komponenten. Die Datenbank 2704 kann dazu ausgelegt sein, Informationen für die Komponenten des Systems 2700 (z. B. Server 2701, Hostfahrzeug 2702 und/oder Kameras 2703) zu speichern. Das Netzwerk 2706 kann dazu ausgelegt sein, Kommunikationen unter den Komponenten des Systems 2700 zu ermöglichen.
  • In einigen Ausführungsformen kann der Server 2701 ein Cloud-Server sein, der die hier offenbarten Funktionen durchführt. Der Begriff „Cloud-Server“ bezieht sich auf eine Computerplattform, die Dienste über ein Netzwerk, wie etwa das Internet, bereitstellt. In dieser beispielhaften Auslegung kann der Server 2701 virtuelle Maschinen verwenden, die möglicherweise nicht individueller Hardware entsprechen. Beispielsweise können Berechnungs- und/oder Speicherfertigkeiten durch Zuweisen geeigneter Teile von wünschenswerter Berechnungs-/Speicherleistung aus einem skalierbaren Repository, wie etwa einem Datenzentrum oder einer verteilten Datenverarbeitungsumgebung, umgesetzt werden. In einem Beispiel kann der Server 2701 die hier beschriebenen Verfahren umsetzen unter Verwendung festverdrahteter Logik, einer oder mehrerer anwendungsspezifischer integrierter Schaltungen (ASICs) oder feldprogrammierbarer Gate-Arrays (FPGAs), Firmware und/oder Programmlogik, die, in Kombination mit dem Computersystem, den Server 2701 veranlassen, eine spezielle Maschine zu sein.
  • Das Hostfahrzeug 2702 kann eine oder mehrere Komponenten umfassen, wie etwa einen Lenkmechanismus, einen Bremsmechanismus oder verschiedene andere Komponenten, um verschiedene navigatorische Aktionen umzusetzen. Das Hostfahrzeug 2702 kann ähnlich zu Fahrzeugen sein, die in anderen Ausführungsformen offenbart sind (z. B. Fahrzeug 200) und kann Komponenten oder Vorrichtungen umfassen, die in in anderen Ausführungsformen offenbarten Fahrzeugen enthalten oder mit diesen verknüpft sind. Das Hostfahrzeug 2702 kann mit einer oder mehreren Kameras (z. B. erste Kamera 2703A, zweite Kamera 2703B und dritte Kamera 2703C) ausgestattet sein. Das Hostfahrzeug 2702 kann über ein oder mehrere Netzwerke (z. B. über ein Mobilfunknetzwerk und/oder das Internet usw.) mit dem Server 2701 kommunizieren. Das Hostfahrzeug 2702 kann Daten an den Server 2701 senden und Daten vom Server 2701 empfangen.
  • Die Kamera 2703 kann eine oder mehrere Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtung 122, Bilderfassungsvorrichtung 124 und Bilderfassungsvorrichtung 126) umfassen, die mit dem Hostfahrzeug verknüpft sind und dazu ausgelegt sind, ein oder mehrere Bilder zu erfassen, die die Umgebung des Fahrzeugs repräsentieren. Die Kamera 2703 kann dazu ausgelegt sein, die Bilder an eine oder mehrere Komponenten des Navigationssystems 2700 (z. B. Hostfahrzeug 2702, Server 2701 und/oder Datenbank 2704) zu senden. In einigen Ausführungsformen können die mehreren Kameras 2703 zwei oder mehr Kameras umfassen, die dazu ausgelegt sind, Bilder zu erfassen, die die Umgebung des Hostfahrzeugs 2702 repräsentieren. In einigen Ausführungsformen können die mehreren Kameras 2703 der gleiche Typ von Kameras sein, aber mit unterschiedlichen Sichtfeldern. Alternativ können mindestens zwei der mehreren Kameras 2703 unterschiedlich sein (z. B. unterschiedliche Brennweiten aufweisen, unterschiedliche Betriebsparameter aufweisen oder ähnliches oder eine Kombination daraus). Beispielsweise können die mehreren Kameras 2703 fünf Kameras umfassen. In einer beispielhaften Anordnung kann die erste Kamera eine Kamera mit einem Fischaugenobjektiv sein, die zweite Kamera kann eine Kamera mit einem Teleobjektiv sein, und die dritte Kamera kann eine mittlere (oder Haupt-)Kamera mit einem normalen Objektiv sein (z. B. eine Brennweite gleich 50 mm aufweisend). Jede aus der ersten, der zweiten und der dritten Kamera kann ein Sichtfeld aufweisen, das zur mittleren Front des Fahrzeugs zeigt. Die vierte Kamera kann eine linke Kamera mit einem normalen Objektiv sein und ein Sichtfeld aufweisen, das auf die Umgebung links an der Front des Fahrzeugs fokussiert, und die fünfte Kamera kann eine rechte Kamera mit einem normalen Objektiv sein und ein Sichtfeld aufweisen, das auf die Umgebung rechts an der Front des Fahrzeugs fokussiert.
  • Die Datenbank 2704 kann eine Kartendatenbank umfassen, die dazu ausgelegt ist, Kartendaten für die Komponenten des Systems 2700 (z. B. Server 2701 und/oder Hostfahrzeug 2702) zu speichern. In einigen Ausführungsformen können der Server 2701 und/oder das Hostfahrzeug 2702 dazu ausgelegt sein, auf die Datenbank 2704 zuzugreifen und Daten zu erhalten, die über das Netzwerk 2706 von der Datenbank 2704 gespeichert wurden und/oder Daten in diese hochzuladen. Beispielsweise kann der Server 2701 Daten bezüglich der Karteninformationen zur Speicherung an die Datenbank 2704 senden. Das Hostfahrzeug 2702 kann Karteninformationen und/oder Daten von der Datenbank 2704 herunterladen. In einigen Ausführungsformen kann die Datenbank 2704 Daten bezüglich einer oder mehrerer Ampeln (z. B. die Positionen von Ampeln, Informationen bezüglich des Typs der Ampeln usw.) umfassen. Die Datenbank 2704 kann auch Informationen bezüglicher verschiedener Objekte umfassen, einschließlich Straßen, Wassermerkmale, geografische Merkmale, Unternehmen, Punkte von Interesse, Restaurants, Tankstellen oder ähnliches oder eine Kombination daraus. In einigen Ausführungsformen kann die Datenbank 2704 eine Datenbank ähnlich der Kartendatenbank 160 und beliebiger anderer Kartendatenbanken und Systeme umfassen, die irgendwo in dieser Offenbarung beschrieben wurden.
  • 28A und 28B stellen beispielhafte Bilder der umgebenden Umgebung eines Fahrzeugs im Einklang mit den offenbarten Ausführungsformen dar. 28A stellt ein erstes Bild 2801 dar, das durch die erste Kamera 2703A des Hostfahrzeugs 2702 erfasst worden sein kann, und umfasst eine Repräsentation der Umgebung des Hostfahrzeugs 2702. Die erste Kamera 2703A kann das erste Bild 2801 an das Navigationssystem senden (z. B. an einen Prozessor des Hostfahrzeugs 2702). Wie dargestellt, kann das erste Bild 2801 eine Repräsentation der Ampel 2811 umfassen, die direkt vor dem Hostfahrzeug 2702 entlang der Spur 2821 positioniert ist. Das erste Bild 2801 kann auch eine Repräsentation der Ampel 2812 umfassen, die nicht direkt vor dem Hostfahrzeug 2702 positioniert ist. Beispielsweise kann die Ampel 2812 in eine Richtung entlang der Spur 2822 zeigen, die senkrecht zur Spur 2821 sein kann, auf der das Hostfahrzeug 2702 fährt. Das erste Bild 2801 kann auch eine Repräsentation der Straßenlaterne 2831 sein, die Licht 2832A in die Umgebung des Hostfahrzeugs 2702 emittiert, die im ersten Bild 2801 erfasst ist.
  • 28B stellt ein zweites Bild 2802 dar, das durch die zweite Kamera 2703B des Hostfahrzeugs 2702 erfasst worden sein kann, und umfasst auch eine Repräsentation der Umgebung des Hostfahrzeugs 2702. Die zweite Kamera 2703B kann das zweite Bild 2802 an das Navigationssystem senden (z. B. auch an einen Prozessor des Hostfahrzeugs 2702). Die Sichtfelder in Verbindung mit der ersten Kamera 2703A und der zweiten Kamera 2703B können von den entsprechenden Brennweiten abhängen. Wenn sich beispielsweise die Brennweite erhöht, verringert sich das entsprechende Sichtfeld. Das System 100 kann so ausgelegt sein, dass ein Sichtfeld der ersten Kamera 2703A ein Sichtfeld der zweiten Kamera 2703B zumindest teilweise oder vollständig überlappt. In einigen Ausführungsformen kann das Navigationssystem so ausgelegt sein, dass die Sichtfelder der zweiten Kamera 2703B, beispielsweise, in eine gemeinsame Mitte mit dem Sichtfeld der ersten Kamera 2703A fallen (z. B. enger als dieses sind). In anderen Ausführungsformen können die Kameras 2703 angrenzende Sichtfelder erfassen oder können teilweise Überlappungen in ihren Sichtfeldern aufweisen. Wie gezeigt, kann das zweite Bild 2802 auch die Repräsentation der Ampel 2811 und eine Repräsentation der Straßenlaterne 2831 umfassen. Im Einklang mit der vorliegenden Offenbarung kann die zweite Kamera 2703B mit einer Filteranordnung verknüpft sein, die dazu ausgelegt ist, die Hintergrundbeleuchtung zu dämpfen oder Objekte herauszufiltern, die die Bestimmung eines Merkmals der Ampel 2811 beeinflussen können. Beispielsweise kann, im zweiten Bild 2802, das Licht 2832B relativ zum Licht 2832A gedämpft sein.
  • In einigen Ausführungsformen kann das Hostfahrzeug 2702 mehrere Bilder (z. B. Frames) einer Ampel mit einer angegebenen Framerate pro Sekunde für jede der Kameras 2703 erfassen. Beispielsweise kann das Hostfahrzeug 2702 etwa zehn Frames pro Sekunde, etwa vierundzwanzig Frames pro Sekunde (typische Rate für Videodaten), etwa fünfzig Frames pro Sekunde, etwa hundert Frames pro Sekunde oder mehr erfassen. Es versteht sich, dass in der gesamten vorliegenden Offenbarung der Begriff „Bild“ (z. B. erstes Bild, zweites Bild usw.) als eine Abkürzung für „zumindest ein Bild“ verwendet werden kann. Mit anderen Worten, jedes aus dem ersten Bild und dem zweiten Bild kann einen Strom von Bildern repräsentieren, sodass das erste Bild 2801 mehrere erste Bilder repräsentieren kann und das zweite Bild 2802 mehrere zweite Bilder repräsentieren kann. In einigen Ausführungsformen kann das zweite Bild 2802 zur gleichen Zeit erfasst werden, zu der das erste Bild 2801 erfasst wird. Alternativ kann das zweite Bild 2802 zu einer Zeit erfasst werden, die verschieden von der Zeit ist, zu der das erste Bild 2801 erfasst wird (z. B. bevor oder nachdem das erste Bild 2801 erfasst wird). Zusätzlich kann das zweite Bild 2802 mit einer anderen Framerate verknüpft sein als das erste Bild 2801.
  • Im Einklang mit der vorliegenden Offenbarung kann das Navigationssystem ein Merkmal der Ampel (z. B. den Zustand der Ampel) basierend auf einer Analyse des ersten Bildes 2801 und des zweiten Bildes 2802 bestimmen. In einigen Ausführungsformen kann das Navigationssystem das erste Bild 2801 von der ersten Kamera 2703A analysieren, um den Fakt zu identifizieren, dass es eine Ampel in der Umgebung des Fahrzeugs gibt (z. B. eine Analyse auf hoher Ebene) und dann das zweite Bild 2802 von der Kamera 2703B analysieren, um das Merkmal der Ampel zu bestimmen. Beispielsweise kann die erste Kamera 2703A eine Weitwinkelkamera sein, und die zweite Kamera 2703B kann eine auf die Bestimmung eines Ampelmerkmals spezialisierte Kamera sein, z. B. mit einem engeren Sichtfeld. Speziell kann, beim Analysieren des ersten Bildes 2801, das Navigationssystem eine oder mehrere Ampeln aus dem ersten Bild 2801 detektieren durch Bestimmen von Kandidatenobjekten, die an Orten im Bild erscheinen, die wahrscheinlich eine Ampel enthalten, und einige Kandidatenobjekte filtern, um eine Untermenge von Kandidatenobjekten zu erhalten durch Ausschließen derjenigen Objekte, die wahrscheinlich keiner Ampel entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften in Verbindung mit Ampeln, wie etwa Form, Abmessungen, Textur, Position (z. B. relativ zum Hostfahrzeug 2702) und ähnliches erfolgen. Beispielsweise kann der Prozessor die Kandidatenobjekte über aufeinander folgende Bildframes nachverfolgen (z. B. modifizierte Versionen der ersten Bilder 2801), die Echtweltposition der Kandidatenobjekte schätzen und diejenigen Objekte herausfiltern, die sich bewegen (die wahrscheinlich keine Ampeln sind). Beim Analysieren des zweiten Bildes 2802 kann das Navigationssystem das Merkmal der Ampel bestimmen durch Identifizieren einer aktuellen Farbe der Ampel (z. B. rot, grün, gelb oder weiß), Identifizieren eines durch die Ampel angezeigten Bildes (z. B. grüner Pfeil, orangefarbige Hand, Bild einer Person und ähnliches), Identifizieren von Wörtern, die durch die Ampel angezeigt werden (z. B. Geschwindigkeit eines Fahrzeugs, Anzeige zum Verlangsamen, Anzeige von Straßenarbeiten oder ähnliches) und/oder Identifizieren von Zeitsteuerungsinformationen, die durch die Ampel angezeigt werden (z. B. Zeit bis rot, Übergangszeit zum nächsten Zustand usw.).
  • In alternativen Ausführungsformen kann das Navigationssystem das erste Bild 2801 analysieren, um die Ampel 2811 und ein Merkmal der Ampel 2811 zu identifizieren, und das zweite Bild 2802 analysieren, um die Ampel 2811 und ein Merkmal der Ampel 2811 zu identifizieren. Speziell kann das Navigationssystem ein erstes Detektionsergebnis erzeugen, umfassend die Identifizierung der Ampel 2811 und ihres bestimmten Merkmals (z. B. einen roten Lichtzustand aufweisend) basierend auf der Analyse des ersten Bildes 2801, und ein zweites Detektionsergebnis erzeugen, umfassend die Identifizierung der Ampel 2811 und ihres bestimmten Merkmals (z. B. einen roten Lichtzustand aufweisend) basierend auf der Analyse des zweiten Bildes 2802. Das erste Detektionsergebnis und das zweite Detektionsergebnis können verglichen werden, um ein drittes Detektionsergebnis zu bestimmen. Das dritte Detektionsergebnis kann ein bestimmtes Merkmal der Ampel umfassen. Beispielsweise kann das Navigationssystem das im ersten Detektionsergebnis enthaltene Merkmal der Ampel und das im zweiten Detektionsergebnis enthaltene Merkmal der Ampel vergleichen. Wenn das im ersten Detektionsergebnis enthaltene Merkmal der Ampel konsistent mit dem im zweiten Detektionsergebnis enthaltenen Merkmal der Ampel ist (z. B. beide sind grünes Licht), kann das Navigationssystem ein drittes Detektionsergebnis bestimmen, das ein bestätigtes Merkmal der Ampel umfasst (z. B. grünes Licht).
  • Das Navigationssystem kann basierend auf dem bestimmten Merkmal (z. B. Zustand) der Ampel zumindest eine navigatorische Aktion bestimmen, die durch das Hostfahrzeug vorzunehmen ist. Die navigatorische Aktion kann eine beliebige Aktion durch das Hostfahrzeug 2702 bezüglich der Bewegung des Hostfahrzeugs 2702 umfassen. Beispielsweise kann die navigatorische Aktion zumindest eines aus Beschleunigen des Hostfahrzeugs 2702, Verlangsamen des Hostfahrzeugs 2702 oder Richtungsändern des Hostfahrzeugs 2702 umfassen.
  • 29A und 29B stellen durch die zweite Kamera 2703B erfasste beispielhafte Bilder im Einklang mit den offenbarten Ausführungsformen dar. 29A stellt ein Bild dar, das erfasst wird, wenn die zweite Kamera 2703B in einem primären Modus arbeitet (im Folgenden „primäres Bild 2901“), und 29B stellt ein Bild dar, das erfasst wird, wenn die zweite Kamera 2703B in einem sekundären Modus arbeitet (im Folgenden „sekundäres Bild 2902“). Wie dargestellt, können beide Bilder eine Repräsentation der Ampel 2811, die direkt vor dem Hostfahrzeug 2702 positioniert ist, und eine Repräsentation der Straßenlaterne 2831, die Licht in die Umgebung des Hostfahrzeugs 2702 emittiert, umfassen. Im primären Bild 2901 wird das von der Straßenlaterne 2831 emittierte Licht gedämpft, um eine Interferenz mit der Bestimmung eines Merkmals der Ampel 2811 zu verhindern. Im sekundären Bild 2902 werden die Straße, die Gebäude am Horizont und der Himmel mit unterschiedlichen Farben verknüpft.
  • In offenbarten Ausführungsformen kann die zweite Kamera 2703B eine Filteranordnung umfassen, die dazu ausgelegt ist, Licht in einem ersten Band in Verbindung mit einer erwarteten Farbe einer roten Leuchte in Verbindung mit der Ampel (z. B. etwa 625 bis 750 nm) durchzulassen. Die Filteranordnung kann auch dazu ausgelegt sein, Licht in einem zweiten Band in Verbindung mit einer erwarteten Farbe einer orangefarbigen Leuchte in Verbindung mit der Ampel (z. B. etwa 600 bis 625 nm) durchzulassen. Die Filteranordnung kann auch dazu ausgelegt sein, Licht in einem dritten Band in Verbindung mit einer erwarteten Farbe einer gelben Leuchte in Verbindung mit der Ampel (z. B. etwa 577 bis 600 nm) durchzulassen. Die Filteranordnung kann auch dazu ausgelegt sein, Licht in einem vierten Band in Verbindung mit einer erwarteten Farbe einer grünen Leuchte in Verbindung mit der Ampel (z. B. etwa 492 bis 577 nm) durchzulassen. Wenn die zweite Kamera 2703B in einem primären Modus arbeitet, kann die Filteranordnung so eingesetzt werden, dass das Licht mit Wellenlängen innerhalb zumindest eines aus dem ersten, zweiten, dritten und vierten Band verwendet wird, um das primäre Bild 2901 zu erzeugen. Wie in 29A und 29B dargestellt, kann Licht mit Wellenlängen außerhalb des zumindest einen aus dem ersten, zweiten dritten und vierten Band im primären Bild 2901 relativ zu Licht innerhalb des zumindest einen aus dem ersten, zweiten, dritten und vierten Band gedämpft werden.
  • Im Einklang mit der vorliegenden Offenbarung können ein oder mehrere Betriebsparameter der zweiten Kamera 2703B durch das Navigationssystem angepasst werden. Wie hier verwendet, bezieht sich der Begriff „Betriebsparameter“ auf einen variablen, anpassbaren Faktor, der zu Bedingungen, unter denen die zweite Kamera 2703B das zweite Bild 2802 (z. B. das primäre Bild 2901 und das sekundäre Bild 2902) erfasst, beiträgt oder diese definiert. Beispiele solcher Betriebsparameter können Folgendes umfassen: Verwenden oder Nicht-Verwenden der Filteranordnung, Frameerfassungsrate, eine Sensorverstärkung, eine Sensorintegrationszeit, Belichtungszeit, Verschlusszeit, Blenden, Beleuchtungseinstellungen, Auflösung und so weiter. Das Navigationssystem kann einen oder mehrere Betriebsparameter der zweiten Kamera 2703B anpassen, um zumindest ein Merkmal der Ampel zu detektieren. Wie hier verwendet, bezieht sich der Begriff „Merkmal der Ampel“ auf eine beliebige messbare oder zeitliche Eigenschaft der Ampel. Beispiele für physische Eigenschaften in Verbindung mit Ampeln können Form, Abmessungen, Typ, Modell, Position (z. B. relativ zum Fahrzeug 200) und ähnliches sein. Beispiele für zeitliche Eigenschaften in Verbindung mit Ampeln können den Zustand der Ampel, Zeitdauern nach einer Änderung im Zustand der Ampel, Farbmuster, ein Helligkeitsmuster und mehr umfassen. In einigen Ausführungsformen kann, wenn die zweite Kamera 2703B in einem primären Modus arbeitet, zumindest ein Betriebsparameter der zweiten Kamera 2703B abgestimmt werden (z. B. effektiver gemacht werden), um zumindest ein Merkmal der Ampel zu detektieren. In ähnlicher Weise kann, wenn die zweite Kamera 2703B in einem sekundären Modus arbeitet, zumindest ein Betriebsparameter der zweiten Kamera 2703B verstimmt werden (z. B. weniger effektiv gemacht werden), um zumindest ein Merkmal der Ampel zu detektieren.
  • Das Hostfahrzeug 2702 kann eine zweite Kamera 2703B umfassen, die dazu ausgelegt ist, die ganze Zeit im primären Modus zu arbeiten. Alternativ kann das Hostfahrzeug 2702 eine zweite Kamera 2703B umfassen, die dazu ausgelegt ist, während alternierender Frameerfassungen in dem primären Modus und dem sekundären Modus zu arbeiten. Beispielsweise kann die zweite Kamera 2703B alternierend im primären Modus für erste mehrere Frames und im sekundären Modus für zweite mehrere Frames arbeiten (z. B. zehn Frames primärer Modus, gefolgt von drei Frames sekundärer Modus). Zusätzlich kann die zweite Kamera gezielt zwischen dem primären Modus und dem sekundären Modus umschalten. Beispielsweise kann das Navigationssystem den Positionssensor 130 und die Kartendatenbank 160 verwenden, um zu bestimmen, dass sich das Hostfahrzeug 2702 einer Ampel nähert, und in den primären Modus umschalten. In ähnlicher Weise kann das Navigationssystem den Positionssensor 130 und die Kartendatenbank 160 verwenden, um zu bestimmen, dass für das Hostfahrzeug 2702 nicht geplant ist, in naher Zukunft eine Ampel zu erreichen, und in den sekundären Modus umschalten.
  • In einigen Ausführungsformen kann das Navigationssystem dazu ausgelegt sein, ein Konfidenzniveau in Verbindung mit der Bestimmung des Merkmals der Ampel (z. B. den Zustand der Ampel) zu bestimmen. Der Begriff „Konfidenzniveau“ bezieht sich auf eine beliebige Indikation, numerisch oder anderweitig, eines Niveaus (z. B. innerhalb eines vorbestimmten Bereichs), das indikativ für einen Betrag an Konfidenz ist, die das System hat, dass das bestimmte Merkmal der Ampel ein tatsächliches Merkmal der Ampel ist. Das Konfidenzniveau kann einen Wert zwischen 1 und 10 haben. Alternativ kann das Konfidenzniveau als ein Prozentsatz oder eine beliebige andere numerische oder nicht-numerische Indikation ausgedrückt werden. Das Navigationssystem kann ein Merkmal der Ampel bestimmen durch Kombinieren der Analyseergebnisse der mehreren Bilder. Die mehreren Bilder können mehrere zu unterschiedlichen Zeiten durch die zweite Kamera 2703B im primären Modus erfasste Bilder (z. B. primäre Bilder 2901), mehrere durch die zweite Kamera 2703B im primären Modus (z. B. primäres Bild 2901) und im sekundären Modus (z. B. sekundäres Bild 2902) erfasste Bilder und/oder mehrere durch die erste Kamera 2703A und die zweite Kamera 2703B erfasste Bilder umfassen. In einer Ausführungsform kann das Navigationssystem dazu ausgelegt sein, ein kombiniertes Konfidenzniveau für das Merkmal der Ampel zu bestimmen. Als Beispiel kann das Navigationssystem zwei Konfidenzniveaus bestimmen. Ein erstes Konfidenzniveau (z. B. ein Konfidenzniveau von 70 %) in Verbindung mit der Analyse des ersten Bildes 2801 und ein zweites Konfidenzniveau (z. B. ein Konfidenzniveau von 90 %) in Verbindung mit der Analyse des zweiten Bildes 2802. In einigen Ausführungsformen kann das Navigationssystem dazu ausgelegt sein, ein Konfidenzniveau basierend auf einer Analyse der zwei Bilder zu bestimmen. Als Beispiel kann das Navigationssystem einen Durchschnitt aus dem Konfidenzniveau des ersten Ergebnisses (z. B. 70 %) und dem Konfidenzniveau des zweiten Ergebnisses (z. B. 90 %) als das Konfidenzniveau des Merkmals der Ampel (d. h. 80 %) bestimmen, wenn das erste Ergebnis konsistent mit dem zweiten Ergebnis ist. In einigen Fällen kann das System das Konfidenzniveau mit einer Schwelle vergleichen. Der Begriff „Schwelle“, wie hier verwendet, bezeichnet einen Referenzwert, ein Niveau, einen Punkt oder einen Bereich von Werten. Wenn, im Betrieb, ein Konfidenzniveau in einem Zustand der Ampel eine Schwelle überschreitet (oder darunter fällt, in Abhängigkeit vom jeweiligen Verwendungsfall), kann das System einer ersten Vorgehensweise folgen, und wenn das Konfidenzniveau darunter ist (oder darüber ist, in Abhängigkeit von einem bestimmten Verwendungsfall), kann das System einer zweiten Vorgehensweise folgen.
  • 30A und 30B stellen zwei Typen von Leuchtdioden- bzw. LED-Ampeln dar. In der Vergangenheit wurden in Ampeln typischerweise Glühlampen und Halogenleuchten eingesetzt, die meisten modernen Ampeln verwenden aber LED-Leuchten. LED-Ampeln umfassen Anordnungen von LED-Leuchten, die in verschiedenen Mustern angeordnet sind, anders als die auf Glühlampen basierenden Ampeln und die auf Halogenleuchten basierenden Ampeln, die eine einzelne große Leuchte verwenden. Eine Anordnung von LED-Leuchten erscheint, wenn aus einem Abstand betrachtet, als eine durchgehende Lichtquelle. Die LED-Ampeln verbrauchen weniger Leistung, haben eine erhöhte Lichtausgabe, halten deutlich länger, und im Falle des Ausfalls einer einzelnen LED-Leuchte kann die Ampel dennoch weiterarbeiten (allerdings mit einer verringerten Lichtausgabe). Allerdings kann das Steuern der Helligkeit der LED-Leuchten komplizierter als das Steuern der Helligkeit von Glühlampen sein. Zum Steuern der Helligkeit einer Glühlampe muss die an die Leuchte gesendete Leistung variiert werden, beispielsweise unter Verwendung eines Potentiometers (z. B. eines variablen Widerstands). Je mehr Leistung die Leuchte empfängt, desto heller ist sie, und je weniger Leistung sie empfängt, desto schwächer leuchtet sie. Da die Steuerung der Ampel digital ist, hat sie nur zwei Leistungszustände (d. h. „EIN“ und „AUS“). Um verschiedene Niveaus von Leistung unter Verwendung einer digitalen Steuerung zu „simulieren“, kann die LED-Steuerung zwischen Leistungszuständen umschalten, um die Leistung auszuwählen, die die LED-Anordnung empfängt; dies erzeugt ein Flimmern der LED-Anordnung, das mit dem Zyklus verknüpft ist. Dieser Zyklus wird typischerweise in Hertz gemessen. Um zusätzlich die Dauer des Zyklus zu steuern (z. B. wann EINzuschalten ist und wann AUSzuschalten ist), hat die Steuerung der Ampel die Möglichkeit der Pulsbreitenmodulation (PWM), um die von der LED-Anordnung empfangene Leistung weiter anzupassen. Die gesamte Zeitdauer, die ein Impuls während der Dauer des Zyklus „EIN“ ist, wird Tastverhältnis genannt. Das Tastverhältnis wird üblicherweise als ein Prozentsatz des vollständigen Zyklus ausgedrückt. Beispielsweise bedeutet ein Tastverhältnis von 25 % eines 50-Hz-Zyklus, dass die LED-Anordnung 5.000 Mikrosekunden Licht emittiert und dann 15.000 Mikrosekunden das Emittieren von Licht vermeidet. In einigen Ausführungsformen hat das Flimmern in Verbindung mit der LED-Anordnung eine Frequenz, die zwischen 80 Hz und 120 Hz variiert (z. B. 100 Hz), und das Tastverhältnis in Verbindung mit der LED-Anordnung kann zwischen 8 % und 12 % sein (z. B. 10 %).
  • 30A stellt eine erste Ampel 3000 mit drei LED-Anordnungen dar, die zum entgegenkommenden Verkehr zeigen: eine rote LED-Anordnung 3004 oben, eine gelbe LED-Anordnung 3006 in der Mitte und eine grüne LED-Anordnung 3008 unten. Der Graph 3002 stellt die Arbeitsparameter der roten LED-Anordnung 3004 dar. Wie gezeigt, kann die rote LED-Anordnung 3004 mit einer Flimmerrate von 100 Hz und einem Tastverhältnis von 10 % verknüpft sein. Diese Arbeitsparameter sind typisch für Ampeln. 30B stellt eine zweite Ampel 3010 mit ebenfalls drei LED-Anordnungen dar, die zum entgegenkommenden Verkehr zeigen: eine rote LED-Anordnung 3014 oben, eine gelbe LED-Anordnung 3016 in der Mitte und eine grüne LED-Anordnung 3018 unten. Das Muster der LED-Anordnungen der zweiten Ampel 3010 unterscheidet sich vom Muster der LED-Anordnungen der ersten Ampel 3000. Der Graph 3012 stellt die Arbeitsparameter der roten LED-Anordnung 3014 dar. Wie gezeigt, kann die rote LED-Anordnung 3004 mit einer Flimmerrate von 50 Hz und einem Tastverhältnis von 50 % verknüpft sein. Diese Arbeitsparameter werden zur Veranschaulichung verwendet und typischerweise in Ampeln nicht verwendet.
  • Im Einklang mit der vorliegenden Offenbarung kann die zweite Kamera 2703B (z. B. beim Arbeiten im primären Modus) mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit arbeiten, ausgewählt, um die Detektion eines erwarteten Flimmerns in Verbindung mit zumindest einer Leuchte der Ampel zu erleichtern. Beispielsweise kann zumindest ein Betriebsparameter der zweiten Kamera 2703B abgestimmt sein, um ein Flimmern in Verbindung mit zumindest einer Leuchte der Ampel zu detektieren, das eine Frequenz von zwischen 80 Hz und 120 Hz aufweist. Zusätzlich kann die zweite Kamera 2703B (z. B. beim Arbeiten im primären Modus) mit einer oder mehreren aus Folgendem arbeiten: einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit, ausgewählt, um die Detektion eines erwarteten Tastverhältnisses in Verbindung mit zumindest einer Leuchte der Ampel zu erleichtern. Beispielsweise kann zumindest ein Betriebsparameter der zweiten Kamera 2703B abgestimmt sein, um ein Tastverhältnis in Verbindung mit zumindest einer Leuchte der Ampel zu detektieren, die ein Tastverhältnis zwischen 8 % und 12 % aufweist. In offenbarten Ausführungsformen kann das Navigationssystem das zumindest eine aus dem erwarteten Flimmern und dem erwarteten Tastverhältnis in Verbindung mit der Ampel bestimmen, der sich das Fahrzeug 2702 nähert. Das Navigationssystem kann zumindest eines aus einem erwarteten Flimmern und einem erwarteten Tastverhältnis basierend auf dem geografischen Ort der Ampel (z. B. Gemeinde, Land, städtische Umgebung oder ländliche Umgebung usw.), basierend auf einem Merkmal der Ampel (z. B. Form, Typ usw.), basierend auf der Tageszeit und/oder dem Tag im Jahr oder mehr bestimmen. In einem Beispiel kann die zweite Kamera 2703B (z. B. beim Arbeiten im primären Modus) arbeiten, wenn zumindest ein Betriebsparameter der zweiten Kamera 2703B abgestimmt ist, um eine Flimmerrate von 100 Hz einer roten LED-Leuchte zu detektieren, die bei einem Tastverhältnis von 10 % arbeitet.
  • 31 ist ein Flussdiagramm, einen beispielhaften Prozess 3100 zum Analysieren einer Repräsentation einer Ampel in erfassten Bildern im Einklang mit den offenbarten Ausführungsformen zeigend. Der Prozess 3100 kann durch zumindest eine Verarbeitungseinheit des Hostfahrzeugs 2702, wie etwa die Verarbeitungseinheit 110, wie oben beschrieben, durchgeführt werden. Es versteht sich, dass in der gesamten vorliegenden Offenbarung der Begriff „Prozessor“ als eine Abkürzung für „zumindest einen Prozessor“ verwendet werden kann. Mit anderen Worten, ein Prozessor kann eine oder mehrere Strukturen umfassen, die Logikoperationen durchführen, unabhängig davon, ob solche Strukturen zusammengestellt, verbunden oder verteilt sind. In einigen Ausführungsformen kann ein nicht-flüchtiges computerlesbares Speichermedium Anweisungen enthalten, die, wenn durch einen Prozessor ausgeführt, den Prozessor veranlassen, den Prozess 3100 durchzuführen. Ferner ist der Prozess 3100 nicht notwendigerweise auf die in 31 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen in der gesamten Offenbarung beschriebenen Ausführungsformen können ebenfalls in den Prozess 3100 eingeschlossen werden, einschließlich derjenigen, die oben Bezug nehmend auf 27-30 beschrieben wurden.
  • Bei Schritt 3102 kann der Prozess 3100 Empfangen, von einer ersten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines ersten erfassten Bildes, das für eine Umgebung des Hostfahrzeugs repräsentativ ist, umfassen. Beispielsweise kann das Hostfahrzeug 2702 das durch die erste Kamera 2703A (z. B. eine der Bilderfassungsvorrichtungen 122, 124 und 126) erfasste erste Bild 2801 empfangen, wie oben beschrieben. In offenbarten Ausführungsformen kann das zumindest eine erste Bild einen ersten Strom von Bildern umfassen. Die erste Kamera 2703A kann ein weites Sichtfeld aufweisen, und das erste Bild 2801 kann dazu verwendet werden, eine Ampel in der Umgebung des Hostfahrzeugs 2702 zu detektieren.
  • Bei Schritt 3104 kann der Prozess 3100 Empfangen, von einer zweiten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines zweiten erfassten Bildes, das repräsentativ für die Umgebung des Hostfahrzeugs ist, umfassen, wobei ein Sichtfeld der ersten Kamera ein Sichtfeld der zweiten Kamera zumindest teilweise überlappt. Beispielsweise können mindestens 10 %, mindestens 25 % oder mindestens 33 % des Sichtfelds der ersten Kamera 2703A ein Sichtfeld der zweiten Kamera 2703B überlappen. Alternativ können weniger als 30 %, weniger als 20 %, weniger als 10 % oder weniger als 5 % des Sichtfelds der ersten Kamera 2703A ein Sichtfeld der zweiten Kamera 2703B überlappen. In offenbarten Ausführungsformen kann das Hostfahrzeug 2702 das durch die zweite Kamera 2703B erfasste zweite Bild 2802 empfangen. Das zweite Bild 2802 kann einen zweiten Strom von Bildern umfassen. In Schritt 3104 kann das erste erfasste Bild eine Repräsentation einer Ampel in der Umgebung des Hostfahrzeugs umfassen, wobei das zweite erfasste Bild auch eine Repräsentation der Ampel umfassen kann. Beispielsweise können sowohl das erste Bild 2801 als auch das zweite Bild 2802 eine Repräsentation der Ampel 2811 umfassen, die zumindest eine LED-Leuchte (z. B. die rote LED-Anordnung 3004) umfasst. In Schritt 3104 kann die zweite Kamera dazu ausgelegt sein, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren. In offenbarten Ausführungsformen kann, im primären Modus, die zweite Kamera 2703B mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit arbeiten, ausgewählt, um die Detektion eines erwarteten Flimmerns in Verbindung mit zumindest einer Leuchte der Ampel zu erleichtern. Beispielsweise kann das erwartete Flimmern in Verbindung mit zumindest einer Leuchte der Ampel eine Frequenz von zwischen 80 Hz und 120 Hz aufweisen. Zusätzlich kann, im primären Modus, die zweite Kamera 2703B mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit arbeiten, ausgewählt, um die Detektion eines erwarteten Tastverhältnisses in Verbindung mit zumindest einer Leuchte der Ampel zu erleichtern. Beispielsweise kann das erwartete Tastverhältnis in Verbindung mit zumindest einer Leuchte der Ampel zwischen 8 % und 12 % sein. In einem spezifischen Beispiel kann der zumindest eine Betriebsparameter der zweiten Kamera 2703B abgestimmt sein, um eine Flimmerrate von 100 Hz einer LED-Leuchte zu detektieren, die bei einem Tastverhältnis von 10 % arbeitet.
  • Im Einklang mit der vorliegenden Offenbarung kann die zweite Kamera 2703 eine Filteranordnung umfassen, die dazu ausgelegt ist: Licht in einem ersten Band in Verbindung mit einer erwarteten Farbe einer roten Leuchte in Verbindung mit der Ampel durchzulassen; Licht in einem zweiten Band in Verbindung mit einer erwarteten Farbe einer orangefarbigen Leuchte in Verbindung mit der Ampel durchzulassen; und Licht in einem dritten Band in Verbindung mit einer erwarteten Farbe einer gelben Leuchte in Verbindung mit der Ampel durchzulassen. In einer Ausführungsform, wenn die zweite Kamera 2703 im primären Modus ist, kann die Filteranordnung so eingesetzt werden, dass Licht mit Wellenlängen innerhalb des ersten, zweiten und dritten Bandes verwendet wird, um das zumindest eine zweite erfasste Bild zu erzeugen, wobei Licht mit Wellenlängen außerhalb des ersten, zweiten und dritten Bandes relativ zu Licht innerhalb des ersten, zweiten und dritten Bandes gedämpft wird.
  • Darüber hinaus kann die zweite Kamera 2703 in einem sekundären Modus arbeiten, der in zumindest einer Hinsicht relativ zum primären Modus verschieden ist. In einer Ausführungsform kann, im sekundären Modus, der zumindest eine Betriebsparameter der zweiten Kamera 2703 verstimmt sein zum Detektieren des zumindest einen Merkmals der Ampel. Beispielsweise kann, wie oben im primären Modus erörtert, eine Filteranordnung verwendet werden, um Licht, das nicht mit den Leuchten der Ampel verknüpft ist, zu dämpfen; aber im sekundären Modus kann die Filteranordnung nicht verwendet werden, um Licht zu dämpfen. In einer Ausführungsform kann die zweite Kamera 2703 die ganze Zeit im primären Modus arbeiten. Beispielsweise kann die zweite Kamera 2703B eine spezialisierte Ampeldetektionskamera sein, die ausschließlich arbeitet, um den Zustand von Ampeln zu detektieren. In alternativen Ausführungsformen kann die zweite Kamera 2703 während alternierender Frameerfassungen in dem primären Modus und dem sekundären Modus arbeiten. Mit anderen Worten, die zweite Kamera 2703B kann eine Kamera sein, die während einiger Zeitperioden als eine fungieren kann, die für Ampeldetektion abgestimmt ist, und zu anderen Zeiten in einem oder mehreren anderen Modi fungieren kann, die nicht spezifisch für Ampeldetektion sind. Beispielsweise kann die zweite Kamera 2703B gezielt zwischen dem primären Modus und dem sekundären Modus umschalten. Speziell kann die zweite Kamera 2703B dazu ausgelegt sein, alternierend im primären Modus für erste mehrere Frames und im sekundären Modus für zweite mehrere Frames zu arbeiten. Die Anzahl von Frames in den ersten und zweiten mehreren Frames kann fixiert sein oder dynamisch ausgewählt sein.
  • Bei Schritt 3106 kann der Prozess 3100 Veranlassen zumindest einer navigatorischen Aktion durch das Hostfahrzeug basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen ersten erfassten Bild und basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild umfassen. Beispielsweise kann das Navigationssystem zumindest eine navigatorische Aktion bezüglich der Bewegung des Hostfahrzeugs 2702, die durch das Hostfahrzeug 2702 vorzunehmen ist, bestimmen. Beispielsweise kann die navigatorische Aktion zumindest eines aus Beschleunigen des Hostfahrzeugs 2702, Verlangsamen des Hostfahrzeugs 2702 oder Richtungsändern des Hostfahrzeugs 2702 umfassen. In einigen Ausführungsformen kann das Veranlassen der zumindest einen, durch das Hostfahrzeug 2702 vorzunehmenden Aktion Senden eines Signals zum Aktivieren eines Lenkmechanismus, eines Bremsmechanismus, eines Beschleunigers oder eines anderen Mechanismus des Hostfahrzeugs umfassen. In einigen Ausführungsformen kann die navigatorische Aktion sein, eine aktuelle Kursrichtung und/oder Geschwindigkeit des Hostfahrzeugs 2702 beizubehalten. Entsprechend kann Veranlassen der zumindest einen navigatorischen Aktion Nicht-Aktivieren eines Lenk- oder Bremsmechanismus umfassen.
  • In zusätzlichen Ausführungsformen kann der Prozessor von der dritten Kamera 2703C in Verbindung mit dem Hostfahrzeug 2702 zumindest ein drittes erfasstes Bild empfangen, das repräsentativ für eine Umgebung des Hostfahrzeugs 2702 ist. Das Sichtfeld der zweiten Kamera 2703B kann sowohl das Sichtfeld der ersten Kamera 2703A als auch das Sichtfeld der dritten Kamera 2703C zumindest teilweise überlappen. Entsprechend kann der Prozessor die zumindest eine navigatorische Aktion durch das Hostfahrzeug 2702 basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten Bild 2802 und basierend auf einer Analyse einer Repräsentation der Ampel in dem zumindest einen dritten erfassten Bild veranlassen.
  • Die vorstehende Beschreibung wurde zum Zwecke der Veranschaulichung vorgelegt. Sie ist nicht erschöpfend und nicht auf die offenbarten präzisen Formen oder Ausführungsformen beschränkt. Für Fachleute erschließen sich Modifikationen und Anpassungen aus der Berücksichtigung der Spezifikation und der Praxis der offenbarten Ausführungsformen. Zusätzlich, obwohl Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben sind, versteht es sich für einen Fachmann, dass diese Aspekte auch auf anderen Typen von computerlesbaren Medien gespeichert sein können, wie etwa sekundären Speichervorrichtungen, wie Festplatten oder CD-ROM, oder anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-ray oder anderen optischen Laufwerksmedien.
  • Computerprogramme basierend auf der geschriebenen Beschreibung und den offenbarten Verfahren fallen in den Fertigkeitsbereich eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung beliebiger der Techniken erzeugt werden, die Fachleuten bekannt sind, oder können in Verbindung mit vorhandener Software ausgestaltet werden. Beispielsweise können Programmabschnitte oder Programmmodule in oder mittels .Net Framework, .Net Compact Framework (und verwandten Sprachen, wie etwa Visual Basic, C usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit enthaltenen Java-Applets ausgestaltet werden.
  • Darüber hinaus, während hier veranschaulichende Ausführungsformen beschrieben wurden, schließt der Schutzumfang beliebige und alle Ausführungsformen mit äquivalenten Elementen, Modifikationen, Auslassungen, Kombinationen (z. B. von Aspekten über verschiedene Ausführungsformen), Anpassungen und/oder Änderungen ein, wie für Fachleute ersichtlich ist, basierend auf der vorliegenden Offenbarung. Die Beschränkungen in den Ansprüchen sind im weitesten Sinne basierend auf der in den Ansprüchen eingesetzten Sprache zu interpretieren und nicht auf in der vorliegenden Spezifikation oder während der Verfolgung der Anmeldung beschriebene Beispiele beschränkt. Die Beispiele sind als nicht-ausschließlich aufzufassen. Ferner können die Schritte der offenbarten Verfahren in einer beliebigen Weise modifiziert werden, einschließlich durch Neuordnen von Schritten und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Spezifikation und die Beispiele lediglich als veranschaulichend betrachtet werden, wobei der wahre Schutzumfang und Geist durch die folgenden Ansprüche und ihren vollständigen Umfang von Äquivalenten angezeigt wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62956936 [0001]

Claims (22)

  1. Navigationssystem für ein Hostfahrzeug, wobei das Navigationssystem Folgendes umfasst: zumindest einen Prozessor, programmiert zum: Empfangen, von einer ersten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines ersten erfassten Bildes, das für eine Umgebung des Hostfahrzeugs repräsentativ ist; Empfangen, von einer zweiten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines zweiten erfassten Bildes, das für die Umgebung des Hostfahrzeugs repräsentativ ist, wobei ein Sichtfeld der ersten Kamera ein Sichtfeld der zweiten Kamera zumindest teilweise überlappt, wobei das erste erfasste Bild eine Repräsentation einer Ampel in der Umgebung des Hostfahrzeugs umfasst, wobei das zweite erfasste Bild auch eine Repräsentation der Ampel umfasst und wobei die zweite Kamera dazu ausgelegt ist, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren; und Veranlassen zumindest einer navigatorischen Aktion durch das Hostfahrzeug, basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen ersten erfassten Bild und basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild.
  2. Navigationssystem nach Anspruch 1, wobei die navigatorische Aktion zumindest eines aus Beschleunigen, Bremsen oder Richtungsändern des Hostfahrzeugs umfasst.
  3. Navigationssystem nach Anspruch 1, wobei die zweite Kamera eine Filteranordnung umfasst, die ausgelegt ist zum: Durchlassen von Licht in einem ersten Band in Verbindung mit einer erwarteten Farbe einer roten Leuchte in Verbindung mit der Ampel; Durchlassen von Licht in einem zweiten Band in Verbindung mit einer erwarteten Farbe einer orangefarbigen Leuchte in Verbindung mit der Ampel; und Durchlassen von Licht in einem dritten Band in Verbindung mit einer erwarteten Farbe einer gelben Leuchte in Verbindung mit der Ampel; und wobei, während des primären Modus, die Filteranordnung so eingesetzt wird, dass Licht mit Wellenlängen innerhalb des ersten, zweiten und dritten Bandes verwendet wird, um das zumindest eine zweite erfasste Bild zu erzeugen, wobei Licht mit Wellenlängen außerhalb des ersten, zweiten und dritten Bandes relativ zu Licht innerhalb des ersten, zweiten und dritten Bandes gedämpft wird.
  4. Navigationssystem nach Anspruch 1, wobei, im primären Modus, die zweite Kamera dazu ausgelegt ist, mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit zu arbeiten, ausgewählt, um die Detektion eines erwarteten Flimmerns in Verbindung mit zumindest einer Leuchte der Ampel zu ermöglichen.
  5. Navigationssystem nach Anspruch 4, wobei das erwartete Flimmern in Verbindung mit zumindest einer Leuchte der Ampel eine Frequenz von zwischen 80 Hz und 120 Hz aufweist.
  6. Navigationssystem nach Anspruch 1, wobei, im primären Modus, die zweite Kamera dazu ausgelegt ist, mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit zu arbeiten, ausgewählt, um die Detektion eines erwarteten Tastverhältnisses in Verbindung mit zumindest einer Leuchte der Ampel zu ermöglichen.
  7. Navigationssystem nach Anspruch 6, wobei das erwartete Tastverhältnis in Verbindung mit zumindest einer Leuchte der Ampel zwischen 8 % und 12 % ist.
  8. Navigationssystem nach Anspruch 1, wobei, im primären Modus, der zumindest eine Betriebsparameter der zweiten Kamera abgestimmt ist zum Detektieren einer 100-Hz-Flimmerrate einer roten LED-Leuchte, die bei einem Tastverhältnis von 10 % arbeitet.
  9. Navigationssystem nach Anspruch 1, wobei die zweite Kamera dazu ausgelegt ist, in einem sekundären Modus zu arbeiten, der in zumindest einer Hinsicht relativ zum primären Modus verschieden ist.
  10. Navigationssystem nach Anspruch 9, wobei, im sekundären Modus, der zumindest eine Betriebsparameter der zweiten Kamera verstimmt ist zum Detektieren des zumindest einen Merkmals der Ampel.
  11. Navigationssystem nach Anspruch 9, wobei die zweite Kamera dazu ausgelegt ist, während alternierender Frameerfassungen in dem primären Modus und dem sekundären Modus zu arbeiten.
  12. Navigationssystem nach Anspruch 9, wobei die zweite Kamera dazu ausgelegt ist, die ganze Zeit im primären Modus zu arbeiten.
  13. Navigationssystem nach Anspruch 9, wobei die zweite Kamera dazu ausgelegt ist, gezielt zwischen dem primären Modus und dem sekundären Modus umzuschalten.
  14. Navigationssystem nach Anspruch 9, wobei die zweite Kamera dazu ausgelegt ist, alternierend im primären Modus für erste mehrere Frames und im sekundären Modus für zweite mehrere Frames zu arbeiten.
  15. Navigationssystem nach Anspruch 1, wobei der zumindest eine Prozessor ferner programmiert ist zum: Empfangen, von einer dritten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines dritten erfassten Bildes, das repräsentativ für eine Umgebung des Hostfahrzeugs ist, wobei das Sichtfeld der zweiten Kamera sowohl das Sichtfeld der ersten Kamera als auch das Sichtfeld der dritten Kamera zumindest teilweise überlappt; und Veranlassen zumindest einer navigatorischen Aktion durch das Hostfahrzeug, basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild und basierend auf einer Analyse einer Repräsentation der Ampel in dem zumindest einen dritten erfassten Bild.
  16. Navigationssystem nach Anspruch 1, wobei die Ampel zumindest eine LED-Leuchte umfasst.
  17. Navigationssystem nach Anspruch 1, wobei das zumindest eine erste Bild einen ersten Strom von Bildern umfasst.
  18. Navigationssystem nach Anspruch 1, wobei das zumindest eine zweite Bild einen zweiten Strom von Bildern umfasst.
  19. Verfahren zum Navigieren eines Hostfahrzeugs, wobei das Verfahren Folgendes umfasst: Empfangen, von einer ersten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines ersten erfassten Bildes, das für eine Umgebung des Hostfahrzeugs repräsentativ ist; Empfangen, von einer zweiten Kamera in Verbindung mit dem Hostfahrzeug, zumindest eines zweiten erfassten Bildes, das für die Umgebung des Hostfahrzeugs repräsentativ ist, wobei ein Sichtfeld der ersten Kamera ein Sichtfeld der zweiten Kamera zumindest teilweise überlappt, wobei das erste erfasste Bild eine Repräsentation einer Ampel in der Umgebung des Hostfahrzeugs umfasst, wobei das zweite erfasste Bild auch eine Repräsentation der Ampel umfasst und wobei die zweite Kamera dazu ausgelegt ist, in einem primären Modus zu arbeiten, in dem zumindest ein Betriebsparameter der zweiten Kamera abgestimmt ist, um zumindest ein Merkmal der Ampel zu detektieren; und Veranlassen zumindest einer navigatorischen Aktion durch das Hostfahrzeug, basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen ersten erfassten Bild und basierend auf einer Analyse der Repräsentation der Ampel in dem zumindest einen zweiten erfassten Bild.
  20. Verfahren nach Anspruch 19, wobei, im primären Modus, die zweite Kamera dazu ausgelegt ist, mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit zu arbeiten, ausgewählt, um die Detektion eines erwarteten Flimmerns in Verbindung mit zumindest einer Leuchte der Ampel zu ermöglichen.
  21. Verfahren nach Anspruch 19, wobei, im primären Modus, die zweite Kamera dazu ausgelegt ist, mit einer oder mehreren aus einer Frameerfassungsrate, einer Sensorverstärkung oder einer Sensorintegrationszeit zu arbeiten, ausgewählt, um die Detektion eines erwarteten Tastverhältnisses in Verbindung mit zumindest einer Leuchte der Ampel zu ermöglichen.
  22. Verfahren nach Anspruch 19, wobei die zweite Kamera dazu ausgelegt ist, in einem sekundären Modus zu arbeiten, der in zumindest einer Hinsicht relativ zum primären Modus verschieden ist.
DE112020006427.1T 2020-01-03 2020-12-31 Systeme und verfahren zum detektieren von ampeln Pending DE112020006427T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062956936P 2020-01-03 2020-01-03
US62/956,936 2020-01-03
PCT/IB2020/001105 WO2021136970A1 (en) 2020-01-03 2020-12-31 Systems and methods for detecting traffic lights

Publications (1)

Publication Number Publication Date
DE112020006427T5 true DE112020006427T5 (de) 2022-12-15

Family

ID=74561929

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006427.1T Pending DE112020006427T5 (de) 2020-01-03 2020-12-31 Systeme und verfahren zum detektieren von ampeln

Country Status (5)

Country Link
US (1) US20220327843A1 (de)
JP (1) JP2023509292A (de)
CN (1) CN114930123A (de)
DE (1) DE112020006427T5 (de)
WO (1) WO2021136970A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7351805B2 (ja) * 2020-07-01 2023-09-27 トヨタ自動車株式会社 情報処理方法、プログラム、車載装置及び車両
WO2022012748A1 (en) * 2020-07-15 2022-01-20 Veoneer Sweden Ab Vision system for a motor vehicle
US11807266B2 (en) * 2020-12-04 2023-11-07 Mitsubishi Electric Corporation Driving system for distribution of planning and control functionality between vehicle device and cloud computing device, vehicle computing device, and cloud computing device
US12017637B2 (en) * 2021-11-16 2024-06-25 Ford Global Technologies, Llc System for identifying road type

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7495579B2 (en) * 2005-06-13 2009-02-24 Sirota J Marcos Traffic light status remote sensor system
EP3865822A1 (de) * 2018-05-15 2021-08-18 Mobileye Vision Technologies Ltd. Systeme und verfahren zur autonomen fahrzeugnavigation

Also Published As

Publication number Publication date
CN114930123A (zh) 2022-08-19
JP2023509292A (ja) 2023-03-08
WO2021136970A1 (en) 2021-07-08
US20220327843A1 (en) 2022-10-13

Similar Documents

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

Legal Events

Date Code Title Description
R012 Request for examination validly filed