DE112020000821T5 - Systeme und verfahren zur fahrzeugnavigation - Google Patents

Systeme und verfahren zur fahrzeugnavigation Download PDF

Info

Publication number
DE112020000821T5
DE112020000821T5 DE112020000821.5T DE112020000821T DE112020000821T5 DE 112020000821 T5 DE112020000821 T5 DE 112020000821T5 DE 112020000821 T DE112020000821 T DE 112020000821T DE 112020000821 T5 DE112020000821 T5 DE 112020000821T5
Authority
DE
Germany
Prior art keywords
vehicle
image
road
vehicles
images
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
DE112020000821.5T
Other languages
English (en)
Inventor
Maxim Schwartz
Daniel Braunstein
Kfir Viente
Raz Cohen Maslaton
Itai Ben Shalom
Yoav Taieb
Jonathan Abramson
Tomer Eshet
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 DE112020000821T5 publication Critical patent/DE112020000821T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/181Preparing for stopping
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18154Approaching an intersection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/802Longitudinal distance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/40High definition maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Abstract

Es werden Systeme und Verfahren zur Fahrzeugnavigation bereitgestellt. In einer Implementierung beinhaltet ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor, der programmiert ist, um: von einer Kamera des Host-Fahrzeugs ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs erfasst wurden; das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen; basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, einen Halteort des Host-Fahrzeugs relativ zu der erkannten Kreuzung zu bestimmen; das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, und den Halteort des Host-Fahrzeugs und den Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells zu senden.

Description

  • Querverweise auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 62/805,646 , eingereicht am 14. Februar 2019, und der vorläufigen US-Anmeldung Nr. 62/813,403 , eingereicht am 4. März 2019. Die vorstehenden Anmeldungen werden hierin durch Bezugnahme in ihrer Gesamtheit aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft im Allgemeinen die Fahrzeugnavigation.
  • Hintergrundinformationen
  • Im Zuge der technologischen Weiterentwicklung befindet sich das Ziel eines vollautonomen Fahrzeugs, das auf der Fahrbahn navigieren kann, in Sichtweite. Es kann sein, dass autonome Fahrzeuge eine Vielzahl von Faktoren berücksichtigen und basierend auf diesen Faktoren geeignete Entscheidungen treffen müssen, um ein beabsichtigtes Ziel sicher und genau zu erreichen. Zum Beispiel muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. Informationen, die von einer Kamera aufgenommen wurden) verarbeiten und interpretieren und kann zudem Informationen verwenden, die von anderen Quellen (z. B. von einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.) erhalten wurden. Um zu einem Ziel zu navigieren, muss ein autonomes Fahrzeug gleichzeitig möglicherweise auch seinen Standort innerhalb einer bestimmten Straße (z. B. einer bestimmten Spur innerhalb einer mehrspurigen Straße) identifizieren, neben anderen Fahrzeugen navigieren, Hindernisse und Fußgänger vermeiden, Verkehrssignale und -zeichen beobachten und von einer Straße zu einer anderen Straße an geeigneten Kreuzungen oder Anschlussstellen fahren. Das Nutzen und Interpretieren riesiger Mengen von Informationen, die durch ein autonomes Fahrzeug gesammelt werden, während das Fahrzeug zu seinem Ziel fährt, stellt eine Vielzahl von Designherausforderungen dar. Die schiere Datenmenge (z. B. aufgenommene Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, auf diese zugreifen und/oder diese speichern muss, stellt Herausforderungen dar, die tatsächlich die autonome Navigation einschränken oder sogar nachteilig beeinflussen können. Darüber hinaus stellt die schiere Datenmenge, die zum Speichern und Aktualisieren der Karte erforderlich ist, gewaltige Herausforderungen dar, wenn sich ein autonomes Fahrzeug auf herkömmliche Kartierungstechnologie zum Navigieren stützt.
  • ZUSAMMENFASSUNG
  • Ausführungsformen, die mit der vorliegenden Offenbarung übereinstimmen, stellen Systeme und Verfahren für die Fahrzeugnavigation bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um Fahrzeugnavigationsmerkmale bereitzustellen. Zum Beispiel können die offenbarten Systeme, die mit den offenbarten Ausführungsformen übereinstimmen, eine, zwei oder mehr Kameras beinhalten, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion bereitstellen, die zum Beispiel auf einer Analyse von Bildern basiert, die von einer oder mehreren der Kameras aufgenommen wurden.
  • In einer Ausführungsform kann ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor beinhalten, der programmiert ist, um von einer Kamera des Host-Fahrzeugs ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs aufgenommen wurden. Der mindestens eine Prozessor kann auch programmiert sein, um das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen. Der mindestens eine Prozessor kann ferner programmiert sein, um basierend auf der Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, einen Halteort des Host-Fahrzeugs relativ zu der erkannten Kreuzung zu bestimmen. Der mindestens eine Prozessor kann auch programmiert sein, um das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden. Der mindestens eine Prozessor kann ferner programmiert sein, um den Halteort des Host-Fahrzeugs und den Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells zu senden.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren für ein Host-Fahrzeug das Empfangen eines oder mehrerer Bilder, die von einer Umgebung des Host-Fahrzeugs aufgenommen wurden, von einer Kamera des Host-Fahrzeugs beinhalten. Das Verfahren kann auch das Analysieren des einen oder der mehreren Bilder beinhalten, um einen Indikator einer Kreuzung zu erkennen. Das Verfahren kann ferner das Bestimmen eines Halteorts des Host-Fahrzeugs relativ zu der erkannten Kreuzung basierend auf einer Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, beinhalten. Das Verfahren kann auch das Analysieren des einen oder der mehreren Bilder beinhalten, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden. Das Verfahren kann ferner das Senden des Halteorts des Host-Fahrzeugs und des Indikators, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells beinhalten.
  • In einer Ausführungsform kann ein System zum Aktualisieren eines Straßennavigationsmodells für ein Straßensegment mindestens einen Prozessor beinhalten, der programmiert ist, um Fahrinformationen von jedem von einer Vielzahl von Fahrzeugen zu empfangen, wobei die Fahrinformationen einen Halteort beinhalten, an dem ein bestimmtes Fahrzeug aus der Vielzahl von Fahrzeugen während einer Fahrt entlang des Straßensegments relativ zu einer Kreuzung angehalten hat. Der mindestens eine Prozessor kann auch programmiert sein, um die Halteorte in den von der Vielzahl von Fahrzeugen empfangenen Fahrinformationen zu aggregieren. Der mindestens eine Prozessor kann ferner programmiert sein, um basierend auf den aggregierten Halteorten einen Haltelinienort relativ zu der Kreuzung zu bestimmen. Der mindestens eine Prozessor kann auch programmiert sein, um das Straßennavigationsmodell zu aktualisieren, um den Haltelinienort zu beinhalten.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Aktualisieren eines Straßennavigationsmodells für ein Straßensegment das Empfangen von Fahrinformationen von jedem von einer Vielzahl von Fahrzeugen beinhalten, wobei die Fahrinformation einen Halteort beinhaltet, an dem ein bestimmtes Fahrzeug aus den mehreren Fahrzeugen während einer Fahrt entlang des Straßensegments relativ zu einer Kreuzung angehalten hat. Das Verfahren kann auch das Aggregieren der Halteorte in den von der Vielzahl von Fahrzeugen empfangenen Fahrinformationen beinhalten. Das Verfahren kann ferner das Bestimmen eines Haltelinienorts relativ zu der Kreuzung basierend auf den aggregierten Halteorten beinhalten. Das Verfahren kann auch das Aktualisieren des Straßennavigationsmodells beinhalten, um den Haltelinienort zu beinhalten.
  • In einer Ausführungsform kann ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor beinhalten, der programmiert ist, um von einer Kamera des Host-Fahrzeugs ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs erfasst wurden. Der mindestens eine Prozessor kann auch programmiert sein, um einen Indikator einer Kreuzung in einer Umgebung des Host-Fahrzeugs zu erkennen, wobei eine Oberfläche des Straßensegments in einer Fahrspur vor dem Host-Fahrzeug keine Markierungen beinhaltet, die einen Ort zum Anhalten anzeigen. Der mindestens eine Prozessor kann ferner programmiert sein, um Karteninformationen zu empfangen, die einen Haltelinienort relativ zu der Kreuzung beinhalten. Der mindestens eine Prozessor kann auch programmiert sein, um basierend auf dem Haltelinienort relativ zu der Kreuzung zu veranlassen, dass das Host-Fahrzeug mindestens eine Navigationsaktion relativ zu der Kreuzung durchführt.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren für ein Host-Fahrzeug das Empfangen eines oder mehrerer Bilder, die von einer Umgebung des Host-Fahrzeugs erfasst wurden, von einer Kamera des Host-Fahrzeugs beinhalten. Das Verfahren kann auch das Erkennen eines Indikators einer Kreuzung in einer Umgebung des Host-Fahrzeugs beinhalten, wobei eine Oberfläche des Straßensegments in einer Fahrspur vor dem Host-Fahrzeug keine Markierungen beinhaltet, die einen Ort zum Anhalten anzeigen. Das Verfahren kann ferner das Empfangen von Karteninformationen beinhalten, die einen Haltelinienort relativ zu der Kreuzung beinhalten. Das Verfahren kann auch das Veranlassen, basierend auf dem Haltelinienort relativ zu der Kreuzung, dass das Host-Fahrzeug mindestens eine Navigationsaktion relativ zu der Kreuzung durchführt, beinhalten.
  • In einer Ausführungsform kann ein Navigationssystem für ein Host-Fahrzeug mindestens einen Prozessor beinhalten, der programmiert ist, um von einer Kamera des Host-Fahrzeugs ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs erfasst wurden. Der mindestens eine Prozessor kann auch programmiert sein, um das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen. Der mindestens eine Prozessor kann ferner programmiert sein, um basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, einen Halteort des Host-Fahrzeugs relativ zu der erkannten Kreuzung zu bestimmen. Der mindestens eine Prozessor kann auch programmiert sein, um das eine oder die mehreren Bilder zu analysieren, um zu bestimmen, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden. Der mindestens eine Prozessor kann ferner programmiert sein, um den Halteort des Host-Fahrzeugs basierend auf der Bestimmung, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden, zu senden.
  • In einer Ausführungsform kann ein System zum Erzeugen von Karteninformationen mindestens einen Prozessor beinhalten, der programmiert ist, um ein erstes Bild von einem ersten Fahrzeug, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde, zu empfangen und ein zweites Bild von einem zweiten Fahrzeug, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments erfasst wurde, zu empfangen. Der mindestens eine Prozessor kann auch konfiguriert sein, um das erste und das zweite Bild zu analysieren, um Repräsentationen einer Vielzahl von Objekten zu identifizieren. Die Objekte können zu mindestens einer vorbestimmten Kategorie von Objekten gehören. Der mindestens eine Prozessor kann ferner programmiert sein, um das erste und das zweite Bild zu analysieren, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zu dem Straßensegment zu bestimmen. Der mindestens eine Prozessor kann auch programmiert sein, um die Positionsindikatoren für jedes der Vielzahl von Objekten zu korrelieren. Das Korrelieren kann das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhalten. Der mindestens eine Prozessor kann ferner programmiert sein, um basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, eine Karte zu erzeugen, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Erzeugen von Karteninformationen das Empfangen eines ersten Bilds von einem ersten Fahrzeug, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde, und das Empfangen eines zweiten Bilds von einem zweiten Fahrzeug, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments aufgenommen wurde, beinhalten. Das Verfahren kann auch das Analysieren des ersten und des zweiten Bilds beinhalten, um Repräsentationen einer Vielzahl von Objekten zu identifizieren. Die Objekte können zu mindestens einer vorbestimmten Kategorie von Objekten gehören. Das Verfahren kann ferner das Analysieren des ersten und des zweiten Bilds beinhalten, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen. Das Verfahren kann auch das Korrelieren der Positionsindikatoren für jedes der Vielzahl von Objekten beinhalten. Das Korrelieren kann das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhalten. Das Verfahren kann ferner das Erzeugen, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, einer Karte beinhalten, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  • In einer Ausführungsform ist ein nichtflüchtiges computerlesbares Medium vorgesehen, das Anweisungen speichert, die, wenn sie von mindestens einem Prozessor ausgeführt werden, konfiguriert sind, um mindestens einen Prozessor zu veranlassen, ein erstes Bild von einem ersten Fahrzeug zu empfangen, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde, und ein zweites Bild von einem zweiten Fahrzeug zu empfangen, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments erfasst wurde. Die Anweisungen können auch den mindestens einen Prozessor veranlassen, das erste und das zweite Bild zu analysieren, um Repräsentationen einer Vielzahl von Objekten zu identifizieren. Die Objekte können zu mindestens einer vorbestimmten Kategorie von Objekten gehören. Die Anweisungen können ferner den mindestens einen Prozessor veranlassen, das erste und das zweite Bild zu analysieren, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen. Die Anweisungen können auch den mindestens einen Prozessor veranlassen, die Positionsindikatoren für jedes der Vielzahl von Objekten zu korrelieren. Das Korrelieren kann das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhalten. Die Anweisungen können ferner den mindestens einen Prozessor veranlassen, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, eine Karte zu erzeugen, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  • In einer Ausführungsform kann ein System zum Sammeln von Zustandsinformationen, die einem Straßensegment zugeordnet sind, mindestens einen Prozessor beinhalten, der programmiert ist, um mindestens eine Kennung zu empfangen, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist. Die mindestens eine Kennung kann basierend auf der Erfassung von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt, von einer Kamera, die einem Host-Fahrzeug zugeordnet ist, der Analyse des mindestens einen Bilds, um die Bedingung in der Umgebung des Host-Fahrzeugs zu identifizieren, und der Analyse des mindestens einen Bilds bestimmt werden, um die mindestens eine Kennung zu bestimmen, die der Bedingung zugeordnet ist. Der mindestens eine Prozessor kann auch programmiert sein, um einen Datenbankeintrag zu aktualisieren, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist, und den Datenbankeintrag an mindestens eine Entität zu verteilen.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Sammeln von Zustandsinformationen, die einem Straßensegment zugeordnet sind, das Empfangen mindestens einer Kennung beinhalten, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist. Die mindestens eine Kennung kann basierend auf der Erfassung von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt, von einer Kamera, die einem Host-Fahrzeug zugeordnet ist, der Analyse des mindestens einen Bilds, um die Bedingung in der Umgebung des Host-Fahrzeugs zu identifizieren, und der Analyse des mindestens einen Bilds bestimmt werden, um die mindestens eine Kennung zu bestimmen, die der Bedingung zugeordnet ist. Das Verfahren kann auch das Aktualisieren eines Datenbankeintrags beinhalten, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist, und das Verteilen des Datenbankeintrags an mindestens eine Entität.
  • In einer Ausführungsform kann ein System zum Korrelieren von Informationen, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, mindestens einen Prozessor beinhalten, der programmiert ist, um einen ersten Satz von Fahrinformationen von einem ersten Fahrzeug zu empfangen. Der erste Satz von Fahrinformationen kann mindestens einen ersten Indikator einer Position beinhalten, die einem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen zweiten Indikator einer Position, die einem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist. Die ersten und zweiten Positionsindikatoren können basierend auf der Analyse von mindestens einem Bild bestimmt worden sein, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des gemeinsamen Straßensegments erfasst wurde. Der mindestens eine Prozessor kann ferner programmiert sein, um einen zweiten Satz von Fahrinformationen von einem zweiten Fahrzeug zu empfangen. Der zweite Satz von Fahrinformationen kann mindestens einen dritten Indikator einer Position beinhalten, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen vierten Indikator einer Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist. Die dritten und vierten Positionsindikatoren können basierend auf der Analyse von mindestens einem Bild bestimmt worden sein, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des zweiten Fahrzeugs entlang mindestens des Abschnitts des gemeinsamen Straßensegments erfasst wurde. Der mindestens eine Prozessor kann die ersten und zweiten Sätze von Fahrinformationen korrelieren. Das Korrelieren kann das Bestimmen einer verfeinerten Position des erkannten semantischen Straßenmerkmals basierend auf den ersten und dritten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und das Bestimmen einer verfeinerten Position des erkannten nicht-semantischen Straßenmerkmals basierend auf den zweiten und vierten Indikatoren der Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhalten. Der mindestens eine Prozessor kann dann die verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer Karte speichern und die Karte an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments verteilen.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Korrelieren von Informationen, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, das Empfangen eines ersten Satzes von Fahrinformationen von einem ersten Fahrzeug beinhalten. Der erste Satz von Fahrinformationen kann mindestens einen ersten Indikator einer Position, die einem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen zweiten Indikator einer Position, die einem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhalten. Die ersten und zweiten Positionsindikatoren können basierend auf der Analyse von mindestens einem Bild bestimmt worden sein, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des gemeinsamen Straßensegments aufgenommen wurde. Das Verfahren kann ferner das Empfangen eines zweiten Satzes von Fahrinformationen von einem zweiten Fahrzeug beinhalten. Der zweite Satz von Fahrinformationen kann mindestens einen dritten Indikator einer Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen vierten Indikator einer Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhalten. Die dritten und vierten Positionsindikatoren können basierend auf der Analyse von mindestens einem Bild bestimmt worden sein, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des zweiten Fahrzeugs entlang mindestens des Abschnitts des gemeinsamen Straßensegments aufgenommen wurde. Das Verfahren kann das Korrelieren der ersten und zweiten Sätze von Fahrinformationen beinhalten. Das Korrelieren kann das Bestimmen einer verfeinerten Position des erkannten semantischen Straßenmerkmals basierend auf den ersten und dritten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und das Bestimmen einer verfeinerten Position des erkannten nicht-semantischen Straßenmerkmals basierend auf den zweiten und vierten Indikatoren der Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhalten. Das Verfahren kann dann das Speichern der verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer Karte und das Verteilen der Karte an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments beinhalten.
  • In einer Ausführungsform kann ein System zum Navigieren eines Fahrzeugs mindestens einen Prozessor beinhalten, der programmiert ist, um von einer Kamera des Fahrzeugs eine Vielzahl von Bildern zu empfangen, die von einer Umgebung des Fahrzeugs aufgenommen wurden. Der mindestens eine Prozessor kann ein erstes Bild der Vielzahl von Bildern analysieren, um ein nicht-semantisches Straßenmerkmal zu identifizieren, das im ersten Bild dargestellt ist, und einen ersten Bild-Ort im ersten Bild von mindestens einem Punkt zu identifizieren, der dem nicht-semantischen Straßenmerkmal zugeordnet ist. Der mindestens eine Prozessor kann ferner konfiguriert sein, um ein zweites Bild der Vielzahl von Bildern zu analysieren, um eine Repräsentation des nicht-semantischen Straßenmerkmals im zweiten Bild zu identifizieren und einen zweiten Bild-Ort im zweiten Bild des mindestens einen Punkts zu identifizieren, der dem nicht-semantischen Straßenmerkmal zugeordnet ist. Der mindestens eine Prozessor kann dann basierend auf einer Differenz zwischen dem ersten und zweiten Bild-Ort und basierend auf Bewegungsinformationen für das Fahrzeug zwischen einer Aufnahme des ersten Bilds und einer Aufnahme des zweiten Bilds dreidimensionale Koordinaten für den mindestens einen Punkt bestimmen, der dem nicht-semantischen Straßenmerkmal zugeordnet ist. Der mindestens eine Prozessor kann ferner konfiguriert sein, um die dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells zu senden.
  • In einer Ausführungsform kann ein computerimplementiertes Verfahren zum Navigieren eines Fahrzeugs das Empfangen einer Vielzahl von Bildern, die von einer Umgebung des Fahrzeugs aufgenommen wurden, von einer Kamera des Fahrzeugs beinhalten. Das Verfahren kann das Analysieren eines ersten Bilds der Vielzahl von Bildern beinhalten, um ein nicht-semantisches Straßenmerkmal zu identifizieren, das im ersten Bild dargestellt ist, und einen ersten Bild-Ort im ersten Bild von mindestens einem Punkt zu identifizieren, der dem nicht-semantischen Straßenmerkmal zugeordnet ist. Das Verfahren kann ferner das Analysieren eines zweiten Bilds der Vielzahl von Bildern beinhalten, um eine Repräsentation des nicht-semantischen Straßenmerkmals in dem zweiten Bild zu identifizieren, das einen zweiten Bild-Ort in dem zweiten Bild des mindestens einen Punkts identifiziert, der dem nicht-semantischen Straßenmerkmal zugeordnet ist. Das Verfahren kann dann das Bestimmen von dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, basierend auf einer Differenz zwischen dem ersten und zweiten Bild-Ort und basierend auf Bewegungsinformationen für das Fahrzeug zwischen einer Aufnahme des ersten Bilds und einer Aufnahme des zweiten Bilds beinhalten. Das Verfahren kann ferner das Senden der dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells beinhalten.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die von mindestens einer Verarbeitungsvorrichtung ausgeführt werden und eines der hierin beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende detaillierte Beschreibung sind nur exemplarisch und erläuternd und schränken die Patentansprüche nicht ein.
  • Figurenliste
  • Die beigefügten Zeichnungen, die in diese Offenbarung aufgenommen sind und einen Teil davon bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen:
    • 1 ist eine schematische Repräsentation eines beispielhaften Systems, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2A ist eine schematische Seitenansicht einer Repräsentation eines beispielhaften Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2B ist eine schematische Draufsicht einer Repräsentation des Fahrzeugs und des Systems, die in 2A gezeigt sind, die mit den offenbarten Ausführungsformen konsistent ist.
    • 2C ist eine schematische Draufsicht einer Repräsentation einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2D ist eine schematische Draufsicht einer Repräsentation noch einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2E ist eine schematische Draufsicht einer Repräsentation noch einer anderen Ausführungsform eines Fahrzeugs, das ein System beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, die mit den offenbarten Ausführungsformen konsistent sind.
    • 3A ist eine schematische Repräsentation eines Innenraums eines Fahrzeugs, das einen Rückspiegel und eine Benutzerschnittstelle für ein Fahrzeugbildgebungssystem beinhaltet, das mit den offenbarten Ausführungsformen konsistent ist.
    • 3B ist eine Veranschaulichung eines Beispiels einer Kamerahalterung, die dazu konfiguriert ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, das mit den offenbarten Ausführungsformen konsistent ist.
    • 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive, die mit den offenbarten Ausführungsformen konsistent ist.
    • 3D ist eine Darstellung eines Beispiels einer Kamerahalterung, die dazu konfiguriert ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, das mit den offenbarten Ausführungsformen konsistent ist.
    • 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der dazu konfiguriert ist, Anweisungen zum Durchführen einer oder mehrerer Vorgänge zu speichern, die mit den offenbarten Ausführungsformen konsistent sind.
    • 5A ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf monokularer Bildanalyse zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 5B ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 5C ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Detektieren von Straßenmarkierungen und/oder Fahrspur-Geometrieinformationen in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 5D ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Detektieren von Ampeln in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 5E ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugweg zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 5F ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf Stereo-Bildanalyse zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist.
    • 8 zeigt eine dünnbesetzte Karte zum Bereitstellen einer autonomen Fahrzeugnavigation, die mit den offenbarten Ausführungsformen konsistent ist.
    • 9A veranschaulicht eine Polynomrepräsentation von Abschnitten eines Straßensegments, die mit den offenbarten Ausführungsformen konsistent ist.
    • 9B veranschaulicht eine Kurve im dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs für ein bestimmtes Straßensegment darstellt, das in einer dünnbesetzten Karte enthalten ist, die mit den offenbarten Ausführungsformen konsistent ist.
    • 10 veranschaulicht beispielhafte Orientierungspunkte, die in einer dünnbesetzten Karte enthalten sein können, die mit den offenbarten Ausführungsformen konsistent ist.
    • 11A zeigt Polynomrepräsentationen von Trajektorien, die mit den offenbarten Ausführungsformen konsistent sind.
    • 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße, übereinstimmend mit offenbarten Ausführungsformen.
    • 11D zeigt ein beispielhaftes Straßensignaturprofil, übereinstimmend mit offenbarten Ausführungsformen.
    • 12 ist eine schematische Darstellung eines Systems, das Crowd-Sourcing-Daten verwendet, die von einer Vielzahl von Fahrzeugen für eine autonome Fahrzeugnavigation empfangen werden, übereinstimmend mit den offenbarten Ausführungsformen.
    • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell eines autonomen Fahrzeugs, das durch eine Vielzahl von dreidimensionalen Splines dargestellt wird, übereinstimmend mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartenskelett, das durch Kombinieren von Ortsinformationen von vielen Fahrten erzeugt wird, übereinstimmend mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel einer Längsausrichtung von zwei Fahrten mit beispielhaften Zeichen als Orientierungspunkte, übereinstimmend mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel einer Längsausrichtung von vielen Fahrten mit einem beispielhaften Zeichen als Orientierungspunkt, übereinstimmend mit den offenbarten Ausführungsformen.
    • 17 ist eine schematische Veranschaulichung eines Systems zum Erzeugen von Fahrtdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers, übereinstimmend mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Veranschaulichung eines Systems zum Crowdsourcing einer dünnbesetzten Karte, übereinstimmend mit den offenbarten Ausführungsformen.
    • 19 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen einer dünnbesetzten Karte für eine autonome Fahrzeugnavigation entlang einem Straßensegment zeigt, übereinstimmend mit den offenbarten Ausführungsformen.
    • 20 veranschaulicht ein Blockdiagramm eines Servers, der mit den offenbarten Ausführungsformen konsistent ist.
    • 21 veranschaulicht ein Blockdiagramm eines Speichers, der mit den offenbarten Ausführungsformen konsistent ist.
    • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die mit Fahrzeugen assoziiert sind, übereinstimmend mit den offenbarten Ausführungsformen.
    • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für autonome Navigation verwendet werden kann, übereinstimmend mit den offenbarten Ausführungsformen.
    • 24A, 24B, 24C und 24D veranschaulichen beispielhafte Fahrspur-Markierungen, die übereinstimmend mit den offenbarten Ausführungsformen detektiert werden können.
    • 24E zeigt beispielhafte kartierte Fahrspur-Markierungen, übereinstimmend mit den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie, die mit dem Detektieren einer Fahrspur-Markierung assoziiert ist, übereinstimmend mit den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild der Umgebung eines Fahrzeugs zur Navigation basierend auf den kartierten Fahrspur-Markierungen, übereinstimmend mit den offenbarten Ausführungsformen.
    • 25B veranschaulicht eine Korrektur der seitlichen Lokalisierung eines Fahrzeugs basierend auf kartierten Fahrspur-Markierungen in einem Straßennavigationsmodell, übereinstimmend mit den offenbarten Ausführungsformen.
    • 26A ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Kartieren einer Fahrspur-Markierung zur Verwendung in einer autonomen Fahrzeugnavigation zeigt, übereinstimmend mit offenbarten Ausführungsformen.
    • 26B ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum autonomen Navigieren eines Host-Fahrzeugs entlang einem Straßensegment unter Verwendung von kartierten Fahrspur-Markierungen zeigt, übereinstimmend mit offenbarten Ausführungsformen.
    • 27 veranschaulicht ein beispielhaftes System zur Fahrzeugnavigation, übereinstimmend mit den offenbarten Ausführungsformen.
    • 28 ist eine schematische Veranschaulichung von beispielhaften Fahrzeugen an einer Kreuzung, übereinstimmend mit den offenbarten Ausführungsformen.
    • 29A ist ein Ablaufdiagramm, das einen beispielhaften Prozess zur Fahrzeugnavigation zeigt, übereinstimmend mit den offenbarten Ausführungsformen.
    • 29B ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Aktualisieren eines Straßennavigationsmodells zeigt, übereinstimmend mit den offenbarten Ausführungsformen.
    • 29C ist ein Ablaufdiagramm, das einen beispielhaften Prozess zur Fahrzeugnavigation zeigt, übereinstimmend mit den offenbarten Ausführungsformen.
    • 30 ist ein veranschaulicht ein beispielhaftes System zum Erzeugen von Karteninformationen, übereinstimmend mit den offenbarten Ausführungsformen.
    • 31 zeigt ein beispielhaftes Bild der Umgebung eines Fahrzeugs, übereinstimmend mit den offenbarten Ausführungsformen.
    • 32 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen von Karteninformationen zeigt, übereinstimmend mit offenbarten Ausführungsformen.
    • 33 veranschaulicht ein beispielhaftes System zum Sammeln von Bedingungsinformationen, die mit einem Straßensegment assoziiert sind, übereinstimmend mit den offenbarten Ausführungsformen.
    • 34A, 34B und 34C veranschaulichen beispielhafte Umgebungen eines Fahrzeugs, übereinstimmend mit den offenbarten Ausführungsformen.
    • 35A ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen einer Bedingung mit mindestens einer dynamischen Charakteristik zeigt, übereinstimmend mit offenbarten Ausführungsformen.
    • 35B ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Sammeln von Bedingungsinformationen zeigt, die mit einem Straßensegment assoziiert sind, übereinstimmend mit offenbarten Ausführungsformen.
    • 36 ist eine schematische Veranschaulichung eines Systems zum Ausrichten von Informationen von mehreren Fahrten basierend auf semantischen und nicht semantischen Straßenmerkmalen, übereinstimmend mit offenbarten Ausführungsformen.
    • 37A zeigt ein beispielhaftes Bild, das von einem Fahrzeug aufgenommen werden kann, übereinstimmend mit offenbarten Ausführungsformen.
    • 37B, 37C und 37D veranschaulichen beispielhafte nicht semantische Straßenmerkmale, die für Ausrichtungszwecke verwendet werden können, übereinstimmend mit offenbarten Ausführungsformen.
    • 38 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Korrelieren von Informationen zeigt, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, übereinstimmend mit offenbarten Ausführungsformen.
    • 39A und 39B zeigen beispielhafte Bilder, die zum Detektieren von nicht semantischen Straßenmerkmalen verwendet werden können, übereinstimmend mit offenbarten Ausführungsformen.
    • 40 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen von nicht semantischen Straßenmerkmal-Punkten zeigt, übereinstimmend mit offenbarten Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende detaillierte Beschreibung bezieht sich auf die beigefügten Zeichnungen. Wo immer möglich, werden die gleichen Bezugszeichen in den Zeichnungen und der folgenden Beschreibung verwendet, um gleiche oder ähnliche Teile zu bezeichnen. Während mehrere veranschaulichende Ausführungsformen hierin beschrieben werden, sind Modifikationen, Anpassungen und andere Implementierungen möglich. So können beispielsweise Ersetzungen, Ergänzungen oder Modifikationen an den in den Zeichnungen veranschaulichten Komponenten vorgenommen werden, und die hierin beschriebenen veranschaulichenden Verfahren können durch Ersetzen, Neuordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende detaillierte Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der richtige Umfang durch die beigefügten Ansprüche definiert.
  • Überblick über autonome Fahrzeuge
  • Wie in dieser Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingabe zu implementieren. Ein „Navigationsänderung“ bezieht sich auf eine Änderung in einem oder mehreren von Lenken, Bremsen oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (z. B. vollständiger Vorgang ohne Fahrer oder ohne Fahrereingabe). Vielmehr beinhaltet ein autonomes Fahrzeug diejenigen, die während bestimmter Zeiträume unter Fahrersteuerung und während anderer Zeiträume ohne Fahrersteuerung betrieben werden können. Autonome Fahrzeuge können auch Fahrzeuge beinhalten, die nur einige Aspekte der Fahrzeugnavigation steuern, wie etwa Lenken (z. B. um einen Fahrzeugkurs zwischen Fahrzeug-Fahrspur-Beschränkungen aufrechtzuerhalten), können jedoch andere Aspekte dem Fahrer überlassen (z. B. Bremsen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitssteuerung und/oder des Lenkens des Fahrzeugs bewältigen.
  • Da menschliche Fahrer typischerweise auf visuelle Hinweise und Beobachtungen zurückgreifen, um ein Fahrzeug zu steuern, werden Transportinfrastrukturen entsprechend aufgebaut, wobei Fahrspur-Markierungen, Verkehrszeichen und Ampeln alle dazu ausgestaltet sind, den Fahrern visuelle Informationen bereitzustellen. Im Hinblick auf diese Designcharakteristiken von Transportinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit beinhalten, die visuelle Informationen analysiert, die von der Umgebung des Fahrzeugs aufgenommen wurden. Die visuellen Informationen können zum Beispiel Komponenten der Transportinfrastruktur (z. B. Fahrspur-Markierungen, Verkehrszeichen, Ampeln usw.) beinhalten, die von Fahrern und anderen Hindernissen (z. B. anderen Fahrzeugen, Fußgängern, Schutt usw.) beobachtet werden können. Zusätzlich kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, wie etwa Informationen, die ein Modell der Umgebung des Fahrzeugs beim Navigieren bereitstellen. Zum Beispiel kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen in Bezug auf seine Umgebung bereitzustellen, während das Fahrzeug fährt, und das Fahrzeug (sowie andere Fahrzeuge) kann die Informationen verwenden, um sich auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen in dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die während des Navigierens erhalten wurden (z. B. von einer Kamera, GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die von vergangenen Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) während des Navigierens erhalten wurden. In noch anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während des Navigierens erhalten wurden, und Informationen, die von vergangenen Navigationen erhalten wurden, verwenden. Die folgenden Abschnitte stellen einen Überblick über ein System bereit, das mit den offenbarten Ausführungsformen konsistent ist, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und Verfahren, die mit dem System konsistent sind. Die folgenden Abschnitte offenbaren Systeme und Verfahren zum Konstruieren, Verwenden und Aktualisieren einer dünnbesetzten Karte für autonome Fahrzeugnavigation.
  • Systemüberblick
  • 1 ist eine Blockdiagrammrepräsentation eines Systems 100, das mit den beispielhaften offenbarten Ausführungsformen konsistent ist. Das System 100 kann verschiedene Komponenten beinhalten, abhängig von den Anforderungen einer bestimmten Implementierung. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speicher-Einheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Sendeempfänger 172 beinhalten. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine beliebige andere geeignete Verarbeitungsvorrichtung beinhalten. Ebenso kann die Bilderfassungseinheit 120 eine beliebige Anzahl von Bilderfassungsvorrichtungen und Komponenten beinhalten, abhängig von den Anforderungen einer bestimmten Anwendung. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bilderfassungsvorrichtungen (z. B. Kameras) beinhalten, wie beispielsweise die Bilderfassungsvorrichtung 122, die Bilderfassungsvorrichtung 124 und die Bilderfassungsvorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungsvorrichtung 110 kommunikativ mit der Bilderfassungsvorrichtung 120 verbindet. So kann beispielsweise die Datenschnittstelle 128 eine beliebige drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zum Übertragen von Bilddaten an die Verarbeitungseinheit 110 beinhalten, die von der Bilderfassungsvorrichtung 120 erfasst werden.
  • Der drahtlose Sendeempfänger 172 kann eine oder mehrere Vorrichtungen beinhalten, die konfiguriert sind, um Übertragungen über eine Luftschnittstelle zu einem oder mehreren Netzwerken (z. B. Mobilfunk, Internet usw.) unter Verwendung einer Funkfrequenz, Infrarotfrequenz, eines Magnetfelds oder eines elektrischen Felds auszutauschen. Der drahtlose Sendeempfänger 172 kann jeden bekannten Standard verwenden, um Daten zu übertragen und/oder zu empfangen (z. B. Wi-Fi, Bluetooth® Bluetooth Smart, 802.15.4, ZigBee usw.). Derartige Übertragungen können Kommunikationen vom Host-Fahrzeug zu einem oder mehreren entfernt angeordneten Servern beinhalten. Derartige Übertragungen können auch Kommunikationen (Einweg- oder Zweiweg-) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs beinhalten (z. B. um die Koordination der Navigation des Host-Fahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs zu erleichtern) oder sogar eine Broadcast-Übertragung an nicht spezifizierte Empfänger in einer Nähe des übertragenden Fahrzeugs.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungsvorrichtungen beinhalten. Zum Beispiel können einer oder beide des Anwendungsprozessors 180 und des Bildprozessors 190 einen Mikroprozessor, Vorprozessoren (wie etwa einen Bildvorprozessor), eine Grafikverarbeitungseinheit (graphics processing unit - GPU), eine zentrale Verarbeitungseinheit (central processing unit - CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen beinhalten, die zum Ausführen von Anwendungen und zur Bildverarbeitung und -analyse geeignet sind. In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 eine beliebige Art von Einzel- oder Mehrkernprozessor, Mikrocontroller für mobile Vorrichtungen, zentrale Verarbeitungseinheit usw. beinhalten. Verschiedene Verarbeitungsvorrichtungen können verwendet werden, einschließlich zum Beispiel Prozessoren, die von Herstellern wie etwa Intel® AMD® usw. erhältlich sind, oder GPUs, die von Herstellern wie etwa NVIDIA® ATI® usw. erhältlich sind, und können verschiedene Architekturen (z. B. x86-Prozessor, ARM® usw.) beinhalten.
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 eine beliebige der EyeQ-Reihen von Prozessorchips beinhalten, die von Mobileye® erhältlich sind. Diese Prozessordesigns beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Anweisungssätzen. Derartige Prozessoren können Videoeingaben zum Empfangen von Bilddaten von mehreren Bildsensoren beinhalten und können zudem Videoausgabefähigkeiten beinhalten. In einem Beispiel verwendet das EyeQ2® eine 90 nm-Mikrometer-Technologie, die bei 332 MHz betrieben wird. Die EyeQ2® Architektur besteht aus zwei Gleitkomma-, Hyper-Thread-32-Bit-RISC-CPUs (MIPS32® 34K®e), fünf Vision Computing Engines (VCE), drei Vector Microcode Processors (VMP® Denali 64-Bit Mobile DDR Controller, 128-Bit interne Sonics Interconnect, dual 16-Bit Video Input und 18-Bit Video Output Controller, 16-Kanal-DMA und mehreren Peripheriegeräten. Die MIPS34K-CPU verwaltet die fünf VCEs, drei VMP™ und den DMA, die zweite MIPS34K-CPU und den Mehrkanal-DMA sowie die anderen Peripheriegeräte. Die fünf VCEs, drei VMP® und die MIPS34K-CPU können intensive Bildverarbeitungsberechnungen durchführen, die von Multifunktions-Bundle-Anwendungen benötigt werden. In einem anderen Beispiel kann der EyeQ3® der ein Prozessor der dritten Generation ist und sechsmal leistungsfähiger ist als der EyeQ2® in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Jede der hierin offenbarten Verarbeitungsvorrichtungen kann konfiguriert sein, um bestimmte Funktionen auszuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa eines der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines Mikroprozessors, um bestimmte Funktionen auszuführen, kann das Programmieren von computerausführbaren Anweisungen und das Verfügbarmachen dieser Anweisungen für die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung beinhalten. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Programmieren der Verarbeitungsvorrichtung direkt mit Architekturanweisungen beinhalten. Zum Beispiel können Verarbeitungsvorrichtungen, wie etwa feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen, zum Beispiel unter Verwendung einer oder mehrerer Hardwarebeschreibungssprachen (HDLs) konfiguriert sein.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung das Speichern ausführbarer Anweisungen auf einem Speicher beinhalten, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann. Zum Beispiel kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu erhalten und auszuführen. In jedem Fall stellt die Verarbeitungsvorrichtung, die konfiguriert ist, um die hierin offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen auszuführen, ein spezialisiertes hardwarebasiertes System dar, das mehrere hardwarebasierte Komponenten eines Host-Fahrzeugs steuert.
  • Während 1 zwei separate Verarbeitungsvorrichtungen darstellt, die in der Verarbeitungseinheit 110 beinhaltet sind, können mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. Zum Beispiel kann in einigen Ausführungsformen eine einzelne Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungsvorrichtungen ausgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere der Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten, wie beispielsweise die Bilderfassungseinheit 120, zu beinhalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Vorrichtungen umfassen. Zum Beispiel kann die Verarbeitungseinheit 110 verschiedene Vorrichtungen beinhalten, wie etwa eine Steuerung, einen Bildvorprozessor, eine zentrale Verarbeitungseinheit (central processing unit - CPU), eine Grafikverarbeitungseinheit (graphics processing unit - GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Vorrichtungen zur Bildverarbeitung und -analyse. Der Bildvorprozessor kann einen Videoprozessor zum Aufnehmen, Digitalisieren und Verarbeiten der Bilder von den Bildsensoren beinhalten. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann zudem eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Bei den Unterstützungsschaltungen kann es sich um eine beliebige Anzahl von Schaltungen handeln, die im Allgemeinen im Stand der Technik bekannt sind, einschließlich Cache-, Stromversorgungs-, Takt- und Eingabe-Ausgabe-Schaltungen. Der Speicher kann Software speichern, die bei Ausführung durch den Prozessor den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Festwertspeichern, Flash-Speichern, Plattenlaufwerken, optischem Speicher, Bandspeicher, entfernbarem Speicher und anderen Arten von Speichern umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen beinhalten, die bei Ausführung durch einen Prozessor (z. B. den Anwendungsprozessor 180 und/oder den Bildprozessor 190) den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können zum Beispiel verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System, wie etwa ein neuronales Netz, oder ein tiefes neuronales Netz, beinhalten. Die Speichereinheiten können Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), Flash-Speicher, Plattenlaufwerke, optischen Speicher, Bandspeicher, entfernbaren Speicher und/oder beliebige andere Arten von Speicher beinhalten. In einigen Ausführungsformen können die Speichereinheiten 140, 150 vom Anwendungsprozessor 180 und/oder Bildprozessor 190 getrennt sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann eine beliebige Art von Vorrichtung beinhalten, die geeignet ist, um einen Ort zu bestimmen, der mindestens einer Komponente des Systems 100 zugeordnet ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Derartige Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die von Satelliten des globalen Positionsbestimmungssystems gesendet werden. Positionsinformationen vom Positionssensor 130 können dem Anwendungsprozessor 180 und/oder Bildprozessor 190 zur Verfügung gestellt werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten wie einen Geschwindigkeitssensor (z. B. ein Tachometer, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder Einzelachse oder Mehrachse) zum Messen der Beschleunigung des Fahrzeugs 200 beinhalten.
  • Die Benutzerschnittstelle 170 kann eine beliebige Vorrichtung beinhalten, die geeignet ist, um Informationen an einen oder mehrere Benutzer des Systems 100 bereitzustellen oder Eingaben von diesen zu empfangen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabevorrichtungen beinhalten, einschließlich beispielsweise eines Touchscreens, eines Mikrofons, einer Tastatur, Zeigervorrichtungen, Trackwheels, Kameras, Knöpfen, Tasten usw. Mit derartigen Eingabevorrichtungen kann ein Benutzer in der Lage sein, dem System 100 Informationseingaben oder -befehle durch Eingeben von Anweisungen oder Informationen, Bereitstellen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm unter Verwendung von Tasten, Zeigern oder Eye-Tracking-Fähigkeiten oder durch beliebige andere geeignete Techniken zum Kommunizieren von Informationen an das System 100 bereitzustellen.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die konfiguriert sind, um Informationen an einen oder von einem Benutzer bereitzustellen und zu empfangen und diese Informationen zur Verwendung durch beispielsweise den Anwendungsprozessor 180 zu verarbeiten. In einigen Ausführungsformen können derartige Verarbeitungsvorrichtungen Anweisungen zum Erkennen und Verfolgen von Augenbewegungen, Empfangen und Interpretieren von Sprachbefehlen, Erkennen und Interpretieren von Berührungen und/oder Gesten, die auf einem Touchscreen vorgenommen werden, Reagieren auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 eine Anzeige, einen Lautsprecher, eine taktile Vorrichtung und/oder beliebige andere Vorrichtungen zum Bereitstellen von Ausgabeinformationen an einen Benutzer beinhalten.
  • Die Kartendatenbank 160 kann eine beliebige Art von Datenbank zum Speichern von Kartendaten beinhalten, die für das System 100 nützlich sind. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten in Bezug auf die Position verschiedener Elemente, einschließlich Straßen, Wassermerkmale, geografische Merkmale, Geschäfte, Sehenswürdigkeiten, Restaurants, Tankstellen usw., in einem Referenzkoordinatensystem beinhalten. Die Kartendatenbank 160 kann nicht nur die Orte derartiger Elemente speichern, sondern auch Deskriptoren in Bezug auf diese Elemente, einschließlich beispielsweise Namen, die mit einem der gespeicherten Merkmale assoziiert sind. In einigen Ausführungsformen kann sich die Kartendatenbank 160 physisch mit anderen Komponenten des Systems 100 befinden. Alternativ oder zusätzlich kann sich die Kartendatenbank 160 oder ein Abschnitt davon entfernt in Bezug auf andere Komponenten des Systems 100 (z. B. Verarbeitungseinheit 110) befinden. In derartigen Ausführungsformen können Informationen aus der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z. B. über ein Mobilfunknetz und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein dünnbesetztes Datenmodell speichern, das Polynomrepräsentationen bestimmter Straßenmerkmale (z. B. Fahrspur-Markierungen) oder Zieltrajektorien für das Host-Fahrzeug beinhaltet. Systeme und Verfahren zum Erzeugen einer derartigen Karte werden nachstehend unter Bezugnahme auf die 8-19 erörtert.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können jeweils eine beliebige Art von Vorrichtung beinhalten, die geeignet ist, um mindestens ein Bild aus einer Umgebung aufzunehmen. Darüber hinaus kann eine beliebige Anzahl von Bilderfassungsvorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bilderfassungsvorrichtung beinhalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bilderfassungsvorrichtungen beinhalten können. Die Bilderfassungsvorrichtungen 122, 124 und 126 werden nachstehend unter Bezugnahme auf die 2B-2E näher beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 beinhaltet sein, wie in 2A gezeigt. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und einer beliebigen der anderen Komponenten des Systems 100 ausgestattet sein, wie vorstehend in Bezug auf 1 beschrieben. Während in einigen Ausführungsformen das Fahrzeug 200 mit nur einer einzigen Bilderfassungsvorrichtung (z. B. Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie etwa den in Verbindung mit den 2B-2E erörterten, mehrere Bilderfassungsvorrichtungen verwendet werden. Beispielsweise kann jede der Bilderfassungsvorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A gezeigt, Teil eines ADAS-Bildgebungssatzes (Advanced Driver Assistance Systems) sein.
  • Wie in 2B gezeigt, können die Bilderfassungsvorrichtungen, die im Fahrzeug 200 als Teil der Bilderfassungseinheit 120 beinhaltet sind, an einem beliebigen geeigneten Ort positioniert sein. In einigen Ausführungsformen, wie in den 2A-2E und 3A-3C gezeigt, kann sich die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels befinden. Diese Position kann eine Sichtlinie bereitstellen, die der des Fahrers des Fahrzeugs 200 ähnlich ist, was dabei helfen kann, zu bestimmen, was für den Fahrer sichtbar ist und nicht. Die Bilderfassungsvorrichtung 122 kann an einem beliebigen Ort in der Nähe des Rückspiegels positioniert sein, aber das Platzieren der Bilderfassungsvorrichtung 122 auf der Fahrerseite des Spiegels kann ferner dabei helfen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
  • Andere Orte für die Bilderfassungsvorrichtungen der Bilderfassungseinheit 120 können ebenfalls verwendet werden. Zum Beispiel kann sich die Bilderfassungsvorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Ein solcher Ort kann besonders für Bilderfassungsvorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie der am Stoßfänger befindlichen Bilderfassungsvorrichtungen kann sich von der des Fahrers unterscheiden und daher sehen die Stoßfänger-Bilderfassungsvorrichtung und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bilderfassungsvorrichtungen (z. B. die Bilderfassungsvorrichtungen 122, 124 und 126) können sich ebenfalls an anderen Orten befinden. Zum Beispiel können sich die Bilderfassungsvorrichtungen an oder in einem oder beiden der Seitenspiegel des Fahrzeugs 200, am Dach des Fahrzeugs 200, an der Motorhaube des Fahrzeugs 200, am Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200, an einem beliebigen der Fenster des Fahrzeugs 200 montiert, dahinter positioniert oder davor positioniert und in oder in der Nähe von Lichtfiguren an der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. montiert befinden.
  • Zusätzlich zu den Bilderfassungsvorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. Zum Beispiel kann die Verarbeitungseinheit 110 am Fahrzeug 200 entweder in eine Motorsteuereinheit (engine control unit - ECU) des Fahrzeugs integriert oder davon getrennt beinhaltet sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie etwa einem GPS-Empfänger, ausgestattet sein und kann auch eine Kartendatenbank 160 und Speicher-Einheiten 140 und 150 beinhalten.
  • Wie bereits erörtert, kann der drahtlose Sendeempfänger 172 Daten über ein oder mehrere Netzwerke (z. B. Mobilfunknetze, das Internet usw.) empfangen und/oder empfangen. Zum Beispiel kann der drahtlose Sendeempfänger 172 Daten, die vom System 100 gesammelt wurden, auf einen oder mehrere Server hochladen und Daten von einem oder mehreren Servern herunterladen. Über den drahtlosen Sendeempfänger 172 kann das System 100 zum Beispiel periodische oder bedarfsgesteuerte Aktualisierungen an Daten empfangen, die in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeichert sind. Ebenso kann der drahtlose Sendeempfänger 172 beliebige Daten (z. B. Bilder, die von der Bilderfassungseinheit 120 aufgenommen wurden, Daten, die vom Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuersystemen usw. empfangen wurden) vom System 100 und/oder beliebige Daten, die von der Verarbeitungseinheit 110 verarbeitet wurden, auf einen oder mehrere Server hochladen.
  • Das System 100 kann Daten basierend auf einer Einstellung der Datenschutzstufe auf einen Server (z. B. in die Cloud) hochladen. Zum Beispiel kann das System 100 Einstellungen der Datenschutzstufe implementieren, um die Arten von Daten (einschließlich Metadaten), die an den Server gesendet werden, der ein Fahrzeug und/oder einen Fahrer/Besitzer eines Fahrzeugs eindeutig identifizieren kann, zu regulieren oder zu begrenzen. Solche Einstellungen können vom Benutzer beispielsweise über den drahtlosen Sendeempfänger 172 eingestellt, durch werksseitige Standardeinstellungen oder durch Daten, die vom drahtlosen Sendeempfänger 172 empfangen werden, initialisiert werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einer „hohen“ Datenschutzstufe hochladen, und unter Einstellung einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne Details über das spezifische Fahrzeug und/oder den spezifischen Fahrer/Besitzer übertragen. Zum Beispiel kann das System 100 beim Hochladen von Daten gemäß einer „hohen“ Datenschutzeinstellung keine Fahrzeugidentifikationsnummer (VIN) oder einen Namen eines Fahrers oder Besitzers des Fahrzeugs beinhalten und kann stattdessen Daten, wie aufgenommene Bilder und/oder begrenzte Ortsinformationen in Bezug auf eine Route, übertragen.
  • Andere Datenschutzstufen werden in Betracht gezogen. Zum Beispiel kann das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übertragen und zusätzliche Informationen beinhalten, die nicht unter einer „hohen“ Datenschutzstufe beinhaltet sind, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder eine Fahrzeugart (z. B. ein Personenkraftwagen, ein Geländewagen, ein Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einer „niedrigen“ Datenschutzstufe hochladen. Unter einer „niedrigen“ Datenschutzstufeneinstellung kann das System 100 Daten hochladen und Informationen beinhalten, die ausreichen, um ein spezifisches Fahrzeug, einen spezifischen Besitzer/Fahrer und/oder einen Abschnitt oder die Gesamtheit einer vom Fahrzeug befahrenen Route eindeutig zu identifizieren. Derartige „niedrige“ Datenschutzstufendaten können eines oder mehrere von zum Beispiel einer VIN, einem Fahrer/Besitzernamen, einem Ursprungspunkt eines Fahrzeugs vor der Abfahrt, einem beabsichtigten Ziel des Fahrzeugs, einer Marke und/oder einem Modell des Fahrzeugs, einer Art des Fahrzeugs usw. beinhalten.
  • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugbildgebungssystems, das mit den offenbarten Ausführungsformen konsistent ist. 2B ist eine schematische Draufsicht einer Veranschaulichung der in 2A gezeigten Ausführungsform. Wie in 2B veranschaulicht, können die offenbarten Ausführungsformen ein Fahrzeug 200 beinhalten, das in seiner Karosserie ein System 100 mit einer ersten Bilderfassungsvorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, einer zweiten Bilderfassungsvorrichtung 124, die an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und einer Verarbeitungseinheit 110 beinhaltet.
  • Wie in 2C veranschaulicht, können die Bilderfassungsvorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Während zwei Bilderfassungsvorrichtungen 122 und 124 in 2B und 2C gezeigt sind, versteht es sich außerdem, dass andere Ausführungsformen mehr als zwei Bilderfassungsvorrichtungen beinhalten können. Zum Beispiel sind in den Ausführungsformen, die in den 2D und 2E gezeigt sind, die erste, zweite und dritte Bilderfassungsvorrichtung 122, 124 und 126 im System 100 des Fahrzeugs 200 beinhaltet.
  • Wie in 2D veranschaulicht, kann die Bilderfassungsvorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein und können die Bilderfassungsvorrichtungen 124 und 126 an oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt, können die Bilderfassungsvorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bilderfassungsvorrichtungen beschränkt und können die Bilderfassungsvorrichtungen an einem beliebigen geeigneten Ort innerhalb und/oder am Fahrzeug 200 positioniert sein.
  • Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und in anderen Kontexten angewendet werden könnten. Es versteht sich zudem, dass die offenbarten Ausführungsformen nicht auf eine bestimmte Art von Fahrzeug 200 beschränkt sind und auf alle Arten von Fahrzeugen einschließlich Automobilen, Lastkraftwagen, Anhängern und anderen Arten von Fahrzeugen anwendbar sein können.
  • Die erste Bilderfassungsvorrichtung 122 kann eine beliebige geeignete Art von Bilderfassungsvorrichtung beinhalten. Die Bilderfassungsvorrichtung 122 kann eine optische Achse beinhalten. In einem Fall kann die Bilderfassungsvorrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss beinhalten. In anderen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Auflösung von 1280 x 960 Pixeln bereitstellen und kann einen Rollenden Verschluss beinhalten. Die Bilderfassungsvorrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können eine oder mehrere Linsen beinhaltet sein, um beispielsweise eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bilderfassungsvorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 einer 6 mm-Linse oder einer 12 mm-Linse zugeordnet sein. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um Bilder mit einem gewünschten Sichtfeld (field-of-view - FOV) 202 aufzunehmen, wie in 2D veranschaulicht. Beispielsweise kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein regelmäßiges FOV aufzuweisen, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, einschließlich eines 46-Grad-FOV, 50-Grad-FOV, 52-Grad-FOV oder größer. Alternativ kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein schmales FOV im Bereich von 23 bis 40 Grad aufzuweisen, wie etwa ein 28-Grad-FOV oder 36-Grad-FOV. Zusätzlich kann die Bilderfassungsvorrichtung 122 konfiguriert sein, um ein breites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine Weitwinkel-Stoßfänger-Kamera oder eine mit bis zu einem 180-Grad-FOV beinhalten. In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 122 eine 7,2M-Pixel-Bilderfassungsvorrichtung mit einem Seitenverhältnis von etwa 2:1 (z. B. HxV = 3800 x 1900 Pixel) mit etwa 100 Grad horizontalem FOV sein. Eine solche Bilderfassungsvorrichtung kann anstelle einer Konfiguration mit drei Bilderfassungsvorrichtungen verwendet werden. Aufgrund einer signifikanten Linsenverzerrung kann das vertikale FOV einer solchen Bilderfassungsvorrichtung in Implementierungen, in denen die Bilderfassungsvorrichtung eine radialsymmetrische Linse verwendet, deutlich kleiner als 50 Grad sein. Beispielsweise kann eine solche Linse nicht radialsymmetrisch sein, was ein vertikales FOV größer als 50 Grad mit 100 Grad horizontalem FOV ermöglichen würde.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Vielzahl von ersten Bildern relativ zu einer dem Fahrzeug 200 zugeordneten Szene aufnehmen. Jedes der Vielzahl von ersten Bildern kann als eine Reihe von Bildscanlinien aufgenommen werden, die unter Verwendung eines Rollenden Verschlusses aufgenommen werden können. Jede Scanlinie kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bilderfassungsvorrichtung 122 kann eine Scanrate aufweisen, die der Aufnahme jeder der ersten Reihe von Bildscanlinien zugeordnet ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel zugeordnet sind, das in einer bestimmten Scanlinie enthalten ist.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können eine beliebige geeignete Art und Anzahl von Bildsensoren enthalten, einschließlich beispielsweise CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rollenden Verschluss eingesetzt werden, sodass jedes Pixel in einer Zeile einzeln gelesen wird und das Scannen der Zeilen zeilenweise fortgesetzt wird, bis ein gesamtes Einzelbild aufgenommen wurde. In einigen Ausführungsformen können die Zeilen sequenziell von oben nach unten relativ zum Einzelbild aufgenommen werden.
  • Eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) können einen hochauflösenden Bildgeber bilden und können eine Auflösung größer als 5 M Pixel, 7 M Pixel, 10 M Pixel oder größer aufweisen. In einigen Ausführungsformen können eine oder mehrere der hierin offenbarten Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber bilden und können eine Auflösung größer als 5 M Pixel,
  • Die Verwendung eines Rollenden Verschlusses kann dazu führen, dass Pixel in verschiedenen Zeilen zu verschiedenen Zeiten belichtet und aufgenommen werden, was zu Schräglauf und anderen Bildartefakten im aufgenommenen Einzelbild führen kann. Wenn andererseits die Bilderfassungsvorrichtung 122 konfiguriert ist, um mit einem globalen oder synchronen Verschluss zu arbeiten, können alle Pixel für die gleiche Zeitdauer und während einer gemeinsamen Belichtungsperiode belichtet werden. Als Ergebnis stellen die Bilddaten in einem Einzelbild, der von einem System gesammelt wurde, das einen globalen Verschluss verwendet, eine Momentaufnahme des gesamten FOV (wie beispielsweise des FOV 202) zu einer bestimmten Zeit dar. Dagegen wird in einer Rolling-Shutter-Anwendung jede Zeile in einem Rahmen belichtet und werden Daten zu verschiedenen Zeiten aufgenommen. Somit können sich bewegende Objekte in einer Bilderfassungsvorrichtung mit einem Rollenden Verschluss verzerrt erscheinen. Diese Erscheinung wird nachstehend ausführlicher beschrieben.
  • Die zweite Bilderfassungsvorrichtung 124 und die dritte Bilderfassungsvorrichtung 126 können eine beliebige Art von Bilderfassungsvorrichtung sein. Wie die erste Bilderfassungsvorrichtung 122 kann jede der Bilderfassungsvorrichtungen 124 und 126 eine optische Achse beinhalten. In einer Ausführungsform kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss beinhalten. Alternativ kann jede der Bilderfassungsvorrichtungen 124 und 126 einen Rollenden Verschluss beinhalten. Wie die Bilderfassungsvorrichtung 122 können die Bilderfassungsvorrichtungen 124 und 126 dazu konfiguriert sein, verschiedene Linsen und optische Elemente zu beinhalten. In einigen Ausführungsformen können Linsen, die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet sind, FOV bereitstellen (wie etwa die FOV 204 und 206), die gleich oder schmaler als ein der Bilderfassungsvorrichtung 122 zugeordnetes FOV (wie etwa das FOV 202) sind. Beispielsweise können die Bilderfassungsvorrichtungen 124 und 126 FOV von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bilderfassungsvorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern relativ zu einer dem Fahrzeug 200 zugeordneten Szene aufnehmen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Reihe von Bildscanlinien aufgenommen werden, die unter Verwendung eines Rollenden Verschlusses aufgenommen werden können. Jede Scanlinie oder Zeile kann eine Vielzahl von Pixeln aufweisen. Die Bilderfassungsvorrichtungen 124 und 126 können zweite und dritte Scanraten aufweisen, die der Aufnahme jeder der Bildscanlinien zugeordnet sind, die in der zweiten und dritten Reihe enthalten sind.
  • Jede Bilderfassungsvorrichtung 122, 124 und 126 kann an einer beliebigen geeigneten Position und Ausrichtung relativ zum Fahrzeug 200 positioniert sein. Die relative Positionierung der Bilderfassungsvorrichtungen 122, 124 und 126 kann ausgewählt werden, um dabei zu helfen, die von den Bilderfassungsvorrichtungen aufgenommenen Informationen zusammenzufassen. So kann beispielsweise in einigen Ausführungsformen ein der Bilderfassungsvorrichtung 124 zugeordnetes FOV (wie beispielsweise das FOV 204) teilweise oder vollständig mit einem der Bilderfassungsvorrichtung 122 zugeordneten FOV (wie beispielsweise dem FOV 202) und einem der Bilderfassungsvorrichtung 126 zugeordneten FOV (wie beispielsweise dem FOV 206) überlappen.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können sich auf dem Fahrzeug 200 in beliebigen geeigneten relativen Höhen befinden. In einem Fall kann es zu einem Höhenunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 kommen, der ausreichende Parallaxeninformationen bereitstellen kann, um eine Stereoanalyse zu ermöglichen. Wie beispielsweise in 2A gezeigt, befinden sich die beiden Bilderfassungsvorrichtungen 122 und 124 in unterschiedlichen Höhen. Es kann auch zu einem seitlichen Verschiebungsunterschied zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 kommen, wodurch beispielsweise zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 erhalten werden. Der Unterschied der seitlichen Verschiebung kann mit dx bezeichnet werden, wie in den 2C und 2D gezeigt. In einigen Ausführungsformen kann eine Vorwärts- oder Rückwärtsverschiebung (z. B. eine Entfernungsverschiebung) zwischen den Bilderfassungsvorrichtungen 122, 124 und 126 vorhanden sein. Zum Beispiel kann sich die Bilderfassungsvorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 befinden. Diese Art der Verschiebung kann es einer der Bilderfassungsvorrichtungen ermöglichen, potenzielle tote Winkel der anderen Bilderfassungsvorrichtung(en) abzudecken.
  • Die Bilderfassungsvorrichtungen 122 können eine beliebige geeignete Auflösungsfähigkeit aufweisen (z. B. Anzahl von Pixeln, die dem Bildsensor zugeordnet sind), und die Auflösung des/der Bildsensor(en), der/die der Bilderfassungsvorrichtung 122 zugeordnet ist/sind, kann höher, niedriger oder gleich der Auflösung des/der Bildsensor(en) sein, der/die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist/sind. In einigen Ausführungsformen kann/können der/die Bildsensor(en), der/die der Bilderfassungsvorrichtung 122 und/oder den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist/sind, eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Bildrate (z. B. die Rate, mit der eine Bilderfassungsvorrichtung einen Satz von Pixeldaten eines Einzelbilds erfasst, bevor sie sich weiterbewegt, um Pixeldaten aufzunehmen, die dem nächsten Einzelbild zugeordnet sind) kann steuerbar sein. Die Bildrate, die der Bilderfassungsvorrichtung 122 zugeordnet ist, kann höher, niedriger oder gleich der Bildrate sein, die den Bilderfassungsvorrichtungen 124 und 126 zugeordnet ist. Die Bildrate, die den Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von einer Vielzahl von Faktoren abhängen, die die zeitliche Abstimmung der Bildrate beeinflussen können. Zum Beispiel können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem oder mehreren Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet sind. Im Allgemeinen können Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktrate für die Vorrichtung (z. B. ein Pixel pro Taktzyklus) erfasst werden. Zusätzlich können in Ausführungsformen, die einen Rollenden Verschluss beinhalten, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 eine auswählbare horizontale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einer Zeile von Pixeln eines Bildsensors in der Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnet sind. Ferner können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und/oder 126 eine auswählbare vertikale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die einem Einzelbild (image frame) der Bilderfassungsvorrichtung 122, 124 und 126 zugeordnet sind.
  • Diese Zeitsteuerungen können die Synchronisation von Bildraten ermöglichen, die den Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet sind, selbst wenn die Zeilenscanraten von jeder unterschiedlich sind. Zusätzlich können, wie nachstehend ausführlicher erörtert wird, diese auswählbaren Zeitsteuerungen neben anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenscanraten usw.) die Synchronisation der Bilderfassung von einem Bereich ermöglichen, in dem das FOV der Bilderfassungsvorrichtung 122 mit einem oder mehreren FOVs der Bilderfassungsvorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld der Bilderfassungsvorrichtung 122 von den FOVs der Bilderfassungsvorrichtungen 124 und 126 unterscheidet.
  • Die zeitliche Abstimmung der Bildrate in der Bilderfassungsvorrichtung 122, 124 und 126 kann von der Auflösung der zugeordneten Bildsensoren abhängen. Wenn beispielsweise angenommen wird, dass ähnliche Zeilenscanraten für beide Vorrichtungen vorliegen, wenn eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 x 480 aufweist und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 aufweist, dann wird mehr Zeit benötigt, um ein Einzelbild vom Sensor mit der höheren Auflösung zu erfassen.
  • Ein weiterer Faktor, der die zeitliche Abstimmung der Bilddatenaufnahme in den Bilderfassungsvorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenscanrate. So erfordert beispielsweise die Erfassung einer Zeile von Bilddaten von einem Bildsensor, der in der Bilderfassungsvorrichtung 122, 124 und 126 enthalten ist, eine minimale Zeitdauer. Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, wird diese minimale Zeitdauer für die Erfassung einer Zeile von Bilddaten mit der maximalen Zeilenscanrate für eine bestimmte Vorrichtung in Beziehung gesetzt. Vorrichtungen, die höhere maximale Zeilenscanraten bieten, haben das Potenzial, höhere Bildraten als Vorrichtungen mit niedrigeren maximalen Zeilenscanraten bereitzustellen. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 eine maximale Zeilenscanrate aufweisen, die höher ist als eine maximale Zeilenscanrate, die der Bilderfassungsvorrichtung 122 zugeordnet ist. In einigen Ausführungsformen kann die maximale Zeilenscanrate der Bilderfassungsvorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als eine maximale Zeilenscanrate der Bilderfassungsvorrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bilderfassungsvorrichtungen 122, 124 und 126 die gleiche maximale Zeilenscanrate aufweisen, aber die Bilderfassungsvorrichtung 122 kann mit einer Scanrate betrieben werden, die kleiner oder gleich ihrer maximalen Scanrate ist. Das System kann so konfiguriert sein, dass eine oder mehrere der Bilderfassungsvorrichtungen 124 und 126 mit einer Zeilenscanrate arbeiten, die gleich der Zeilenscanrate der Bilderfassungsvorrichtung 122 ist. In anderen Fällen kann das System so konfiguriert sein, dass die Zeilenscanrate der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr als die Zeilenscanrate der Bilderfassungsvorrichtung 122 betragen kann.
  • In einigen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten beinhalten. Die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 können beispielsweise einen beliebigen gewünschten Bereich relativ zu einer Umgebung des Fahrzeugs 200 beinhalten. In einigen Ausführungsformen können eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 dazu konfiguriert sein, Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, zu den Seiten des Fahrzeugs 200 oder Kombinationen davon zu erfassen.
  • Ferner kann die jeder Bilderfassungsvorrichtung 122, 124 und/oder 126 zugeordnete Brennweite auswählbar sein (z. B. durch Einbeziehung geeigneter Linsen usw.), sodass jede Vorrichtung Bilder von Objekten in einem gewünschten Abstandsbereich relativ zum Fahrzeug 200 aufnimmt. Beispielsweise können in einigen Ausführungsformen die Bilderfassungsvorrichtungen 122, 124 und 126 Bilder von Nahaufnahmeobjekten innerhalb weniger Meter vom Fahrzeug aufnehmen. Die Bilderfassungsvorrichtungen 122, 124 und 126 können auch dazu konfiguriert sein, Bilder von Objekten in Entfernungen zu erfassen, die weiter vom Fahrzeug entfernt sind (z. B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgewählt werden, dass eine Bilderfassungsvorrichtung (z. B. die Bilderfassungsvorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug aufnehmen kann (z. B. innerhalb von 10 m oder innerhalb von 20 m), während die anderen Bilderfassungsvorrichtungen (z. B. die Bilderfassungsvorrichtungen 124 und 126) Bilder von weiter entfernten Objekten (z. B. größer als 20 m, 50 m, 100 m, 150 m usw.) vom Fahrzeug 200 aufnehmen können.
  • Gemäß einigen Ausführungsformen kann das FOV einer oder mehrerer Bilderfassungsvorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Beispielsweise kann es vorteilhaft sein, ein FOV von 140 Grad aufzuweisen, insbesondere für die Bilderfassungsvorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Bereichs in der Nähe des Fahrzeugs 200 aufzunehmen. Beispielsweise kann die Bilderfassungsvorrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links vom Fahrzeug 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bilderfassungsvorrichtung 122 ein breites FOV (z. B. mindestens 140 Grad) aufweist.
  • Das Sichtfeld, das jeder der Bilderfassungsvorrichtungen 122, 124 und 126 zugeordnet ist, kann von den jeweiligen Brennweiten abhängen. Beispielsweise nimmt mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bilderfassungsvorrichtungen 122, 124 und 126 können so konfiguriert sein, dass sie beliebige geeignete Sichtfelder aufweisen. In einem bestimmten Beispiel kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 46 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 23 Grad aufweisen und die Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bilderfassungsvorrichtung 122 ein horizontales FOV von 52 Grad aufweisen, die Bilderfassungsvorrichtung 124 kann ein horizontales FOV von 26 Grad aufweisen und die Bilderfassungsvorrichtung 126 kann ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bilderfassungsvorrichtung 122 zu den FOVs der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 von 1,5 bis 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so konfiguriert sein, dass ein Sichtfeld der Bilderfassungsvorrichtung 122 zumindest teilweise oder vollständig mit einem Sichtfeld der Bilderfassungsvorrichtung 124 und/oder der Bilderfassungsvorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so konfiguriert sein, dass die Sichtfelder der Bilderfassungsvorrichtungen 124 und 126 beispielsweise in das Sichtfeld der Bilderfassungsvorrichtung 122 fallen (z. B. schmaler als dieses sind) und ein gemeinsames Zentrum mit diesem teilen. Bei anderen Ausführungsformen können die Bilderfassungsvorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen oder können in ihren FOVs teilweise überlappen. In einigen Ausführungsformen können die Sichtfelder der Bilderfassungsvorrichtungen 122, 124 und 126 so ausgerichtet sein, dass ein Zentrum der Bilderfassungsvorrichtungen 124 und/oder 126 mit schmalerem FOV in einer unteren Hälfte des Sichtfelds der Vorrichtung 122 mit breiterem FOV angeordnet sein kann.
  • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 2F angegeben, kann das Fahrzeug 200 das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 beinhalten. Das System 100 kann Eingaben (z. B. Steuersignale) an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. eine beliebige drahtgebundene und/oder drahtlose Verbindung oder Verbindungen zum Übertragen von Daten) bereitstellen. Zum Beispiel kann das System 100 basierend auf der Analyse von Bildern, die von den Bilderfassungsvorrichtungen 122, 124 und/oder 126 aufgenommen wurden, Steuersignale an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (z. B. durch Veranlassen einer Beschleunigung, einer Kurve, einer Fahrspurverschiebung usw.). Ferner kann das System 100 Eingaben von einem oder mehreren von Drosselsystem 220, Bremssystem 230 und Lenksystem 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt usw.). Weitere Details werden in Verbindung mit den nachstehenden 4-7 bereitgestellt.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 auch eine Benutzerschnittstelle 170 zum Interagieren mit einem Fahrer oder einem Fahrgast des Fahrzeugs 200 beinhalten. Zum Beispiel kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Tasten 340 und ein Mikrofon 350 beinhalten. Ein Fahrer oder Fahrgast des Fahrzeugs 200 kann auch Griffe (die sich z. B. an oder nahe der Lenksäule des Fahrzeugs 200 befinden, einschließlich beispielsweise Blinkgriffe), Tasten (die sich z. B. am Lenkrad des Fahrzeugs 200 befinden) und dergleichen verwenden, um mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 benachbart zu einem Rückspiegel 310 positioniert sein. Gleichermaßen kann sich die Bilderfassungsvorrichtung 122 in einigen Ausführungsformen in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) beinhalten. Zum Beispiel kann das System 100 verschiedene Benachrichtigungen (z. B. Alarme) über die Lautsprecher 360 bereitstellen.
  • 3B-3D sind Veranschaulichungen einer beispielhaften Kamerahalterung 370, die dazu konfiguriert ist, hinter einem Rückspiegel (z. B. Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, übereinstimmend mit offenbarten Ausführungsformen. Wie in 3B gezeigt, kann die Kamerahalterung 370 Bilderfassungsvorrichtungen 122, 124 und 126 beinhalten. Die Bilderfassungsvorrichtungen 124 und 126 können hinter einer Blendschutzscheibe 380 positioniert sein, die bündig mit der Fahrzeugwindschutzscheibe sein kann und eine Zusammensetzung aus Film- und/oder Antireflexionsmaterialien beinhalten kann. Zum Beispiel kann die Blendschutzscheibe 380 derart positioniert sein, dass die Schutzscheibe an einer Fahrzeugwindschutzscheibe ausgerichtet ist, die eine übereinstimmende Neigung aufweist. In einigen Ausführungsformen kann jede der Bilderfassungsvorrichtungen 122, 124 und 126 hinter der Blendschutzscheibe 380 positioniert sein, wie zum Beispiel in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126, der Kamerahalterung 370 und der Blendschutzscheibe 380 beschränkt. 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung 370 aus einer vorderen Perspektive.
  • Für einen Fachmann, der den Vorteil dieser Offenbarung hat, versteht es sich, dass zahlreiche Variationen und/oder Modifikationen an den vorstehenden offenbarten Ausführungsformen vorgenommen werden können. Zum Beispiel sind nicht alle Komponenten für den Betrieb des Systems 100 wesentlich. Ferner kann sich eine beliebige Komponente in einem beliebigen geeigneten Teil des Systems 100 befinden und die Komponenten können in eine Vielzahl von Konfigurationen umgeordnet werden, während die Funktionalität der offenbarten Ausführungsformen bereitgestellt wird. Daher sind die vorstehenden Konfigurationen Beispiele und unabhängig von den vorstehend erörterten Konfigurationen kann das System 100 einen breiten Funktionsumfang bereitstellen, um die Umgebung des Fahrzeugs 200 zu analysieren und das Fahrzeug 200 als Reaktion auf die Analyse zu navigieren.
  • Wie nachstehend ausführlicher erörtert und mit verschiedenen offenbarten Ausführungsformen konsistent, kann das System 100 eine Vielzahl von Merkmalen bereitstellen, die sich auf autonomes Fahren und/oder Fahrerassistenztechnologie beziehen. Zum Beispiel kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Ortsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von Sensoren analysieren, die im Fahrzeug 200 beinhaltet sind. Das System 100 kann die Daten zur Analyse von beispielsweise der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion ausführen sollte oder nicht, und dann die bestimmte Aktion ohne menschliches Eingreifen automatisch ausführen. Wenn das Fahrzeug 200 zum Beispiel ohne menschliches Eingreifen navigiert, kann das System 100 das Bremsen, die Beschleunigung und/oder das Lenken des Fahrzeugs 200 automatisch steuern (z. B. durch Senden von Steuersignalen an eines oder mehrere von Drosselsystem 220, Bremssystem 230 und Lenksystem 240). Ferner kann das System 100 die gesammelten Daten analysieren und Warnungen und/oder Alarme an Fahrzeuginsassen basierend auf der Analyse der gesammelten Daten ausgeben. Zusätzliche Details in Bezug auf die verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden nachstehend bereitgestellt.
  • Vorwärts gerichtetes Multibildgebungssystem
  • Wie vorstehend erörtert, kann das System 100 eine Fahrtunterstützungsfunktionalität bereitstellen, die ein Multikamerasystem verwendet. Das Multikamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Multikamerasystem eine oder mehrere Kameras beinhalten, die zur Seite eines Fahrzeugs oder zum Heck des Fahrzeugs gerichtet sind. In einer Ausführungsform kann das System 100 zum Beispiel ein Zweikamera-Bildgebungssystem verwenden, wobei eine erste Kamera und eine zweite Kamera (z. B. Bilderfassungsvorrichtungen 122 und 124) an der Vorderseite und/oder den Seiten eines Fahrzeugs (z. B. Fahrzeug 200) positioniert sein können. Die erste Kamera kann ein Sichtfeld aufweisen, das größer als, kleiner als oder teilweise überlappend mit dem Sichtfeld der zweiten Kamera ist. Zusätzlich kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der ersten Kamera bereitgestellt werden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die von der zweiten Kamera bereitgestellt werden. Die Ausgaben (z. B. verarbeitete Informationen) des ersten und zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten Kamera als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, bei dem jede der Kameras ein anderes Sichtfeld aufweist. Ein derartiges System kann daher Entscheidungen basierend auf Informationen treffen, die von Objekten abgeleitet werden, die sich in variierenden Abständen sowohl vor als auch neben dem Fahrzeug befinden. Verweise auf eine monokulare Bildanalyse können sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf Bildern durchgeführt wird, die von einem einzelnen Sichtfeld (z. B. von einer einzelnen Kamera) aufgenommen werden. Eine Stereobildanalyse kann sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bilderfassungsparameters aufgenommen werden. Zum Beispiel können aufgenommene Bilder, die zum Durchführen einer Stereobildanalyse geeignet sind, Bilder beinhalten, die aufgenommen werden: von zwei oder mehr unterschiedlichen Positionen, von unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen usw.
  • Zum Beispiel kann das System 100 in einer Ausführungsform eine Konfiguration mit drei Kameras unter Verwendung der Bilderfassungsvorrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bilderfassungsvorrichtung 122 ein schmales Sichtfeld bereitstellen (z. B. 34 Grad oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad ausgewählt sind, usw.), die Bilderfassungsvorrichtung 124 kann ein breites Sichtfeld bereitstellen (z. B. 150 Grad oder andere Werte, die aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählt sind) und die Bilderfassungsvorrichtung 126 kann ein mittleres Sichtfeld bereitstellen (z. B. 46 Grad oder andere Werte, die aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählt sind). In einigen Ausführungsformen kann die Bilderfassungsvorrichtung 126 als eine Haupt- oder Primärkamera fungieren. Die Bilderfassungsvorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 positioniert sein und im Wesentlichen nebeneinander positioniert sein (z. B. 6 cm voneinander entfernt). Ferner können in einigen Ausführungsformen, wie vorstehend erörtert, eine oder mehrere der Bilderfassungsvorrichtungen 122, 124 und 126 hinter der Blendschutzscheibe 380 montiert sein, die bündig mit der Windschutzscheibe des Fahrzeugs 200 ist. Eine derartige Abschirmung kann fungieren, um den Aufprall von Reflexionen von innerhalb des Fahrzeugs auf die Bilderfassungsvorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform, wie vorstehend in Verbindung mit den 3B und 3C erörtert, kann die Kamera mit breitem Sichtfeld (z. B. Bilderfassungsvorrichtung 124 im vorstehenden Beispiel) niedriger als die Kameras mit schmalem und Hauptsichtfeld montiert sein (z. B. Bilderfassungsvorrichtungen 122 und 126 im vorstehenden Beispiel). Diese Konfiguration kann eine freie Sichtlinie von der Kamera mit breitem Sichtfeld bereitstellen. Um Reflexionen zu reduzieren, können die Kameras nahe der Windschutzscheibe des Fahrzeugs 200 montiert sein und können Polarisatoren an den Kameras beinhalten, um reflektiertes Licht zu dämpfen.
  • Ein System mit drei Kameras kann bestimmte Leistungsmerkmale bereitstellen. Zum Beispiel können einige Ausführungsformen eine Fähigkeit beinhalten, die Erfassung von Objekten durch eine Kamera basierend auf Erfassungsergebnissen von einer anderen Kamera zu validieren. In der vorstehend erörterten Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 zum Beispiel drei Verarbeitungsvorrichtungen (z. B. drei EyeQ-Reihen von Prozessorchips, wie vorstehend erörtert) beinhalten, wobei jede Verarbeitungsvorrichtung für die Verarbeitung von Bildern dediziert ist, die von einer oder mehreren der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden.
  • Bei einem System mit drei Kameras kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Kamera mit schmalem Sichtfeld empfangen und eine Bildverarbeitung der Kamera mit schmalem Sichtfeld durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampel und andere Straßenobjekte zu erfassen. Weiterhin kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern von der Hauptkamera und der schmalen Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen kombinieren, die basierend auf Informationen von einer anderen Kamera berechnet werden.
  • Die zweite Verarbeitungsvorrichtung kann Bilder von der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erfassen. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen und basierend auf der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene (z. B. eine Struktur aus Bewegung) erstellen. Die zweite Verarbeitungsvorrichtung kann die Struktur aus der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um mit den Stereo-3D-Bildern kombiniert zu werden.
  • Die dritte Verarbeitungsvorrichtung kann Bilder von der Kamera mit breitem FOV empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspur-Markierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erfassen. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren, um Objekte zu identifizieren, die sich im Bild bewegen, wie beispielsweise Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen kann das unabhängige Aufnehmen und Verarbeiten von Strömen von bildbasierten Informationen eine Gelegenheit bereitstellen, Redundanz im System bereitzustellen. Eine solche Redundanz kann zum Beispiel das Verwenden einer ersten Bilderfassungsvorrichtung und der Bilder beinhalten, die von dieser Vorrichtung verarbeitet werden, um Informationen zu validieren und/oder zu ergänzen, die durch Aufnehmen und Verarbeiten von Bildinformationen von mindestens einer zweiten Bilderfassungsvorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bilderfassungsvorrichtungen (z. B. Bilderfassungsvorrichtungen 122 und 124) verwenden, um Navigationsunterstützung für das Fahrzeug 200 bereitzustellen und eine dritte Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 126) zu verwenden, um Redundanz bereitzustellen und die Analyse von Daten zu validieren, die von den anderen beiden Bilderfassungsvorrichtungen empfangen werden. Zum Beispiel können in einer solchen Konfiguration die Bilderfassungsvorrichtungen 122 und 124 Bilder zur Stereoanalyse durch das System 100 bereitstellen, um das Fahrzeug 200 zu navigieren, während die Bilderfassungsvorrichtung 126 Bilder zur monokularen Analyse durch das System 100 bereitstellen kann, um Redundanz und Validierung von Informationen bereitzustellen, die basierend auf Bildern erhalten werden, die von der Bilderfassungsvorrichtung 122 und/oder der Bilderfassungsvorrichtung 124 aufgenommen wurden. Das heißt, die Bilderfassungsvorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann als ein redundantes Teilsystem zum Bereitstellen einer Überprüfung der Analyse betrachtet werden, die von den Bilderfassungsvorrichtungen 122 und 124 abgeleitet wurde (z. B. um ein automatisches Notbremssystem (AEB-System) bereitzustellen). Darüber hinaus können in einigen Ausführungsformen Redundanz und Validierung von empfangenen Daten basierend auf Informationen ergänzt werden, die von einem oder mehreren Sensoren empfangen werden (z. B. Radar, Lidar, akustische Sensoren, Informationen, die von einem oder mehreren Sendeempfängern außerhalb eines Fahrzeugs empfangen werden usw.).
  • Ein Fachmann wird erkennen, dass die vorstehenden Kamerakonfigurationen, Kameraplatzierungen, Anzahl von Kameras, Kameraorte usw. nur Beispiele sind. Diese Komponenten und andere, die in Bezug auf das Gesamtsystem beschrieben sind, können in einer Vielzahl von unterschiedlichen Konfigurationen zusammengebaut und verwendet werden, ohne vom Umfang der offenbarten Ausführungsformen abzuweichen. Weitere Details in Bezug auf die Verwendung eines Multikamerasystems, um eine Fahrerassistenzfunktionalität und/oder eine autonome Fahrzeugfunktionalität bereitzustellen, folgen nachstehend.
  • 4 ist ein beispielhaftes Funktionsblockdiagramm des Speichers 140 und/oder 150, der mit Anweisungen zum Durchführen einer oder mehrerer Vorgänge gespeichert/programmiert werden kann, die mit den offenbarten Ausführungsformen konsistent sind. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird ein Fachmann erkennen, dass Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 gezeigt, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereo-Bildanalysemodul 404, ein Geschwindigkeits- und Beschleunigung-Modul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration des Speichers 140 beschränkt. Ferner können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die Anweisungen ausführen, die in einem beliebigen der Module 402, 404, 406 und 408 gespeichert sind, die im Speicher 140 beinhaltet sind. Ein Fachmann wird verstehen, dass sich Verweise in den folgenden Erörterungen auf die Verarbeitungseinheit 110 auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können Schritte eines beliebigen der folgenden Prozesse von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie z. B. Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bilderfassungsvorrichtungen 122, 124 und 126 erfasst werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit den nachstehenden 5A-5D beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zum Erfassen eines Satzes von Merkmalen innerhalb des Satzes von Bildern beinhalten, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und jedes andere Merkmal, das einer Umgebung eines Fahrzeugs zugeordnet ist. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie z. B. eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie z. B. Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine Stereobildanalyse des ersten und zweiten Satzes von Bildern durchführen, die durch eine Kombination von Bilderfassungsvorrichtungen erfasst werden, die aus einer beliebigen der Bilderfassungsvorrichtungen 122, 124 und 126 ausgewählt sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen von Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen einer Stereobildanalyse basierend auf einem ersten Satz von Bildern, die von der Bilderfassungsvorrichtung 124 erfasst werden, und einem zweiten Satz von Bildern, die von der Bilderfassungsvorrichtung 126 erfasst werden, beinhalten. Wie in Verbindung mit den nachstehenden 6 beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Erfassen eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern beinhalten, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und dergleichen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie z. B. eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem ungelernten System zugeordnet sind, wie z. B. einem System, das konfiguriert sein kann, um Computer Vision-Algorithmen zu verwenden, um Objekte in einer Umgebung zu erfassen und/oder zu kennzeichnen, aus der sensorische Informationen aufgenommen und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule konfiguriert sein, um eine Kombination eines trainierten und ungelernten Systems zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die konfiguriert ist, um Daten zu analysieren, die von einer oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die konfiguriert sind, um eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu verursachen. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Derartige Daten können beispielsweise eine Zielposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem Fahrzeug in der Nähe, Fußgänger oder Straßenobjekt, Positionsinformationen für das Fahrzeug 200 relativ zu Fahrspur-Markierungen der Straße und dergleichen beinhalten. Darüber hinaus kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingaben (z. B. Informationen von Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie beispielsweise dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200, berechnen. Basierend auf der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine Änderung der Geschwindigkeit und/oder Beschleunigung auszulösen, indem sie beispielsweise die Bremse physisch niederdrückt oder das Beschleunigen des Fahrzeugs 200 herunterfährt.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die von der Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Derartige Daten können Positions- und Geschwindigkeitsinformationen beinhalten, die mit Fahrzeugen in der Nähe, Fußgängern und Straßenobjekten, Zielpositionsinformationen für das Fahrzeug 200 und dergleichen assoziiert sind. Zusätzlich kann in einigen Ausführungsformen die Navigationsreaktion (teilweise oder vollständig) auf Kartendaten, einer vorbestimmten Position des Fahrzeugs 200 und/oder einer relativen Geschwindigkeit oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die durch die Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erfasst werden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z. B. Informationen von Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie beispielsweise dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem sie beispielsweise das Lenkrad des Fahrzeugs 200 dreht, um eine Drehung eines vorbestimmten Winkels zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als Eingabe für die Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 zum Berechnen einer Geschwindigkeitsänderung des Fahrzeugs 200 verwenden.
  • Darüber hinaus können alle hierin offenbarten Module (z. B. Module 402, 404 und 406) Techniken implementieren, die einem trainierten System (wie z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem ungelernten System zugeordnet sind.
  • 5A ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500A zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf monokularer Bildanalyse zeigt, übereinstimmend mit offenbarten Ausführungsformen. Bei Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. So kann beispielsweise eine Kamera, die in der Bilderfassungseinheit 120 enthalten ist (wie z. B. die Bilderfassungsvorrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise zu den Seiten oder dem Heck eines Fahrzeugs) aufnehmen und über eine Datenverbindung (z. B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern bei Schritt 520 zu analysieren, wie in Verbindung mit den nachstehenden 5B-5D ausführlicher beschrieben. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern erfassen, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um verschiedene Straßengefahren bei Schritt 520 zu erfassen, wie z. B. Teile eines Lkw-Reifens, heruntergefallene Verkehrszeichen, lose Ladung, kleine Tiere und dergleichen. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Erfassung derartiger Gefahren schwieriger machen kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Mehrere Einzelbilder-Analyse (multi-frame analysis) an der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erfassen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Einzelbildern schätzen und die Disparitäten in Pixeln zwischen den Einzelbildern berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren zu erfassen, die über der Straßenoberfläche vorhanden sind.
  • Bei Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die bei Schritt 520 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, zu veranlassen. Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten. Beispielsweise kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, eine Fahrspur zu wechseln und dann zu beschleunigen, indem sie beispielsweise Steuersignale sequenziell an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 überträgt. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, zu bremsen, während es gleichzeitig die Fahrspur wechselt, indem sie beispielsweise Steuersignale gleichzeitig an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 überträgt.
  • 5B ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500B zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Bei Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein oder mehrere Bilder scannen, die Bilder mit einem oder mehreren vorbestimmten Mustern vergleichen und innerhalb jedes Bilds mögliche Orte identifizieren, die Objekte von Interesse enthalten können (z. B. Fahrzeuge, Fußgänger oder Abschnitte davon). Die vorbestimmten Muster können so gestaltet werden, dass eine hohe Rate von „falschen Treffern“ („false hits“) und eine niedrige Rate von „Aussetzern“ („misses“) erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Ähnlichkeitsschwellenwert mit vorbestimmten Mustern verwenden, um Kandidatenobjekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Dies kann es der Verarbeitungseinheit 110 ermöglichen, die Wahrscheinlichkeit eines Aussetzens (z. B. Nicht-Identifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu reduzieren.
  • Bei Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können von verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen assoziiert sind, die in einer Datenbank (z. B. einer im Speicher 140 gespeicherten Datenbank) gespeichert sind. Eigenschaften können Objektform, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen beinhalten. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten abzulehnen.
  • Bei Schritt 544 kann die Verarbeitungseinheit 110 mehrere Einzelbilder analysieren, um zu bestimmen, ob Objekte im Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Einzelbilder verfolgen und Einzelbild-für-Einzelbild-Daten akkumulieren, die mit dem erkannten Objekt assoziiert sind (z. B. Größe, Position relativ zum Fahrzeug 200 usw.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen und die Einzelbild-für-Einzelbild-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Bei Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erkannten Objekte erstellen. Derartige Messungen können beispielsweise Positions-, Geschwindigkeits- und Beschleunigungswerte (relativ zum Fahrzeug 200) beinhalten, die mit den erkannten Objekten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätzungstechniken unter Verwendung einer Reihe von zeitbasierten Beobachtungen wie etwa Kalman-Filtern oder linearer quadratischer Schätzung (LQE) und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) erstellen. Die Kalman-Filter können auf einer Messung der Objektskala basieren, wobei die Skalenmessung proportional zu einer Zeit bis zur Kollision ist (z. B. der Zeitbetrag, den das Fahrzeug 200 benötigt, um das Objekt zu erreichen). Somit kann die Verarbeitungseinheit 110 durch Durchführen der Schritte 540 -546 Fahrzeuge und Fußgänger identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Informationen (z. B. Position, Geschwindigkeit, Größe) ableiten, die mit den Fahrzeugen und Fußgängern assoziiert sind. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 veranlassen, wie vorstehend in Verbindung mit 5A beschrieben.
  • Bei Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten des Erkennens eines „falschen Treffers“ („false hit“) und des Verpassens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger darstellt, zu reduzieren. Die optische Flussanalyse kann sich beispielsweise auf das Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in einem oder mehreren Bildern beziehen, die mit anderen Fahrzeugen und Fußgängern assoziiert sind und die sich von der Straßenoberflächenbewegung unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung von Kandidatenobjekten berechnen, indem sie die verschiedenen Positionen der Objekte über mehrere Einzelbilder beobachtet, die zu verschiedenen Zeiten aufgenommen werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse ein anderes Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann die optische Flussanalyse in Kombination mit den Schritten 540 - 546 durchführen, um Redundanz zum Erkennen von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500C zum Detektieren von Straßenmarkierungen und/oder Fahrspur-Geometrieinformationen in einem Satz von Bildern zeigt, übereinstimmend mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Bei Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten durch Scannen eines oder mehrerer Bilder erkennen. Um Segmente von Fahrspur-Markierungen, Fahrspur-Geometrieinformationen und anderen relevanten Straßenmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt wurden (z. B. kleinere Schlaglöcher, kleine Steine usw.). Bei Schritt 552 kann die Verarbeitungseinheit 110 die Segmente, die in Schritt 550 erkannt wurden, die zu derselben Straßenmarkierung oder Fahrspur-Markierung gehören, gruppieren. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell entwickeln, um die erkannten Segmente darzustellen, wie beispielsweise ein mathematisches Modell.
  • Bei Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen erstellen, die mit den detektierten Segmenten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Segmente von der Bildebene auf die Realwelt-Ebene erstellen. Die Projektion kann unter Verwendung eines Polynoms 3. Grad charakterisiert werden, das Koeffizienten aufweist, die physischen Eigenschaften entsprechen, wie beispielsweise der Position, Neigung, Krümmung und Krümmungsableitung der detektierten Straße. Beim Erzeugen der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche sowie Neigungs- und Rollraten, die mit dem Fahrzeug 200 assoziiert sind, berücksichtigen. Zusätzlich kann die Verarbeitungseinheit 110 die Straßenhöhe durch Analysieren von Positions- und Bewegungshinweisen, die auf der Straßenoberfläche vorhanden sind, modellieren. Ferner kann die Verarbeitungseinheit 110 die Neigungs- und Rollraten schätzen, die mit dem Fahrzeug 200 assoziiert sind, indem sie einen Satz von Merkmalspunkten in einem oder mehreren Bildern verfolgt.
  • Bei Schritt 556 kann die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse durchführen, indem sie beispielsweise die erkannten Segmente über aufeinanderfolgende Einzelbilder verfolgt und Einzelbild-für-Einzelbild-Daten akkumuliert, die mit den erkannten Segmenten assoziiert sind. Wenn die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse (multi-frame analysis) durchführt, kann der Satz von Messungen, der bei Schritt 554 erstellt wurde, zuverlässiger werden und mit einer zunehmend höheren Konfidenzstufe assoziiert werden. Somit kann die Verarbeitungseinheit 110 durch Durchführen der Schritte 550, 552, 554 und 556 Straßenmarkierungen identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Fahrspur-Geometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie vorstehend in Verbindung mit 5A beschrieben.
  • Bei Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen berücksichtigen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seiner Umgebung weiter zu entwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 auf sichere Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die detektierten Straßenränder und -barrieren und/oder allgemeine Straßenformbeschreibungen berücksichtigen, die aus Kartendaten (wie beispielsweise Daten aus der Kartendatenbank 160) extrahiert wurden. Durch Berücksichtigen zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz zum Detektieren von Straßenmarkierungen und Fahrspurgeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500D zum Detektieren von Ampeln in einem Satz von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. Bei Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern scannen und Objekte identifizieren, die an Orten in den Bildern erscheinen, die wahrscheinlich Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu erstellen, wobei diese Objekte ausgeschlossen werden, die wahrscheinlich nicht den Ampeln entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften erfolgen, die mit Ampeln assoziiert sind, wie beispielsweise Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuersignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Mehrere Einzelbilder-Analyse am Satz von Kandidatenobjekten durchführen, die mögliche Ampeln reflektieren. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Einzelbilder verfolgen, die Position der Kandidatenobjekte in der realen Welt schätzen und diese sich bewegenden Objekte (die wahrscheinlich keine Ampeln sind) herausfiltern. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen und die relative Position der detektierten Farben identifizieren, die innerhalb möglicher Ampeln erscheinen.
  • Bei Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination von Folgendem basieren: (i) der Anzahl von Fahrspuren, die auf beiden Seiten des Fahrzeugs 200 detektiert wurden, (ii) Markierungen (wie beispielsweise Pfeilmarkierungen), die auf der Straße detektiert wurden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie beispielsweise Daten aus der Kartendatenbank 160) extrahiert wurden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet wurden. Zusätzlich kann die Verarbeitungseinheit 110 eine Übereinstimmung zwischen den Ampeln bestimmen, die bei Schritt 560 detektiert wurden, und den Fahrspuren, die in der Nähe des Fahrzeugs 200 erscheinen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 bei Schritt 564 die Konfidenzstufe aktualisieren, die mit der analysierten Kreuzungsgeometrie und den detektierten Ampeln assoziiert ist. So kann beispielsweise die Anzahl der Ampeln, deren Erscheinen an der Kreuzung geschätzt wird, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung erscheint, die Konfidenzstufe beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf der Konfidenzstufe die Steuerung an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Durchführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 Ampeln identifizieren, die innerhalb des Satzes von aufgenommenen Bildern erscheinen, und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 verursachen, wie vorstehend in Verbindung mit 5A beschrieben.
  • 5E ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500E zum Veranlassen einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 basierend auf einem Fahrzeugweg zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugweg erstellen, der mit dem Fahrzeug 200 assoziiert ist. Der Fahrzeugweg kann unter Verwendung eines Satzes von Punkten dargestellt werden, die in den Koordinaten (x, z) ausgedrückt sind, und der Abstand di zwischen zwei Punkten im Satz von Punkten kann in den Bereich von 1 bis 5 Metern fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugweg unter Verwendung von zwei Polynomen, wie etwa links und rechts Straßenpolynomen, erstellen. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den zwei Polynomen berechnen und jeden Punkt, der im resultierenden Fahrzeugweg beinhaltet ist, um einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) versetzen, falls vorhanden (ein Versatz von null kann der Fahrt in der Mitte einer Fahrspur entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen beliebigen zwei Punkten im Fahrzeugweg sein. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugwegs um die Hälfte der geschätzten Fahrspurbreite plus einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) zu versetzen.
  • Bei Schritt 572 kann die Verarbeitungseinheit 110 den Fahrzeugweg aktualisieren, der bei Schritt 570 erstellt wurde. Die Verarbeitungseinheit 110 kann den Fahrzeugweg, der bei Schritt 570 erstellt wurde, unter Verwendung einer höheren Auflösung rekonstruieren, sodass der Abstand dk zwischen zwei Punkten im Satz von Punkten, die den Fahrzeugweg darstellen, kleiner als der vorstehend beschriebene Abstand dl ist. Beispielsweise kann der Abstand dk in den Bereich von 0,1 bis 0,3 Metern fallen. Die Verarbeitungseinheit 110 kann den Fahrzeugweg unter Verwendung eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S liefern kann, der der Gesamtlänge des Fahrzeugwegs entspricht (d. h. basierend auf dem Satz von Punkten, die den Fahrzeugweg darstellen).
  • Bei Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (x<sub>1</sub>, z<sub>1</sub>)) basierend auf dem aktualisierten Fahrzeugweg bestimmen, der bei Schritt 572 erstellt wurde. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann mit einem Vorausschauabstand und einer Vorausschauzeit assoziiert sein. Der Vorausschauabstand, der eine untere Grenze im Bereich von 10 bis 20 Metern aufweisen kann, kann als das Produkt der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn beispielsweise die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann der Vorausschauabstand ebenfalls abnehmen (z. B. bis er die untere Grenze erreicht). Die Vorausschauzeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung einer oder mehrerer Regelkreise sein, die mit dem Veranlassen einer Navigationsreaktion im Fahrzeug 200 assoziiert sind, wie beispielsweise der Kursfehlerverfolgungs-Regelkreis. So kann beispielsweise die Verstärkung des Kursfehlerverfolgungs-Regelkreises von der Bandbreite eines Gierratenregelkreises, eines Lenkstellgliedregelkreises, einer Fahrzeugseitendynamik und dergleichen abhängen. Je höher also die Verstärkung des Kursfehlerverfolgungs-Regelkreises ist, desto geringer ist die Vorausschauzeit.
  • Bei Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler- und Gierratenbefehl basierend auf dem bei Schritt 574 bestimmten Vorausschaupunkt bestimmen. Die Verarbeitungseinheit 110 kann den Kursfehler durch Berechnen des Arkustangens des Vorausschaupunkts bestimmen, z. B. arctan (xl/ zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als das Produkt des Kursfehlers und einer übergeordneten Steuerverstärkung bestimmen. Die übergeordnete Steuerverstärkung kann gleich sein wie folgt: (2/Vorausschauzeit), wenn der Vorausschauabstand nicht an der unteren Grenze liegt. Andernfalls kann die übergeordnete Steuerverstärkung gleich sein wie folgt: (2* Geschwindigkeit des Fahrzeugs 200/Vorausschauabstand).
  • 5F ist ein Ablaufdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, übereinstimmend mit den offenbarten Ausführungsformen. Bei Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem vorausfahrenden Fahrzeug (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt) zugeordnet sind. Beispielsweise kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der vorstehend in Verbindung mit den 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (dem Fahrzeug 200 zugeordnet) und/oder eine Schneckenspur (z. B. einen Satz von Punkten, die einen Weg beschreiben, den das vorausfahrende Fahrzeug nimmt) unter Verwendung der vorstehend in Verbindung mit 5E beschriebenen Techniken bestimmen.
  • Bei Schritt 582 kann die Verarbeitungseinheit 110 die Navigationsinformationen analysieren, die bei Schritt 580 bestimmt wurden. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einer Schneckenspur und einem Straßenpolynom (z. B. entlang der Spur) berechnen. Wenn die Varianz dieses Abstands entlang der Spur einen vorbestimmten Schwellenwert überschreitet (beispielsweise 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. Im Fall, dass mehrere Fahrzeuge als vor dem Fahrzeug 200 fahrend detektiert werden, kann die Verarbeitungseinheit 110 die Schneckenspuren vergleichen, die jedem Fahrzeug zugeordnet sind. Basierend auf dem Vergleich kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Fahrspur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der Schneckenspur (die dem vorausfahrenden Fahrzeug zugeordnet ist) mit der erwarteten Krümmung des Straßensegments vergleichen, in dem das vorausfahrende Fahrzeug fährt. Die erwartete Krümmung kann aus Kartendaten (z. B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus Schneckenspuren anderer Fahrzeuge, aus Vorwissen über die Straße und dergleichen extrahiert werden. Wenn der Krümmungsunterschied der Schneckenspur und die erwartete Krümmung des Straßensegments einen vorbestimmten Schwellenwert überschreiten, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem Vorausschaupunkt (der dem Fahrzeug 200 zugeordnet ist) über einen bestimmten Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn der Abstand zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Vorausschaupunkt während des bestimmten Zeitraums variiert und die kumulative Variationssumme einen vorbestimmten Schwellenwert überschreitet (beispielsweise 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur durch Vergleichen des seitlichen Abstands, der entlang der Spur zurückgelegt wurde, mit der erwarteten Krümmung der Schneckenspur analysieren. Der erwartete Krümmungsradius kann gemäß der Berechnung bestimmt werden: (δZ 2 + δX 2) / 2 / (δX), wobei (δX) den zurückgelegten seitlichen Abstand darstellt und (δZ) den zurückgelegten Längsabstand darstellt. Wenn der Unterschied zwischen dem zurückgelegten seitlichen Abstand und der erwarteten Krümmung einen vorbestimmten Schwellenwert überschreitet (z. B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des vorausfahrenden Fahrzeugs analysieren. Wenn die Position des vorausfahrenden Fahrzeugs ein Straßenpolynom verdeckt (z. B. das vorausfahrende Fahrzeug auf dem Straßenpolynom überlagert ist), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. Im Fall, dass die Position des vorausfahrenden Fahrzeugs derart ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug detektiert wird und die Schneckenspuren der zwei Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • Bei Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der bei Schritt 582 durchgeführten Analyse bestimmen, ob das vorausfahrende Fahrzeug 200 die Fahrspur wechselt oder nicht. Zum Beispiel kann die Verarbeitungseinheit 110 die Bestimmung basierend auf einem gewichteten Durchschnitt der einzelnen bei Schritt 582 durchgeführten Analysen vornehmen. Unter einem derartigen Schema kann zum Beispiel einer Entscheidung durch die Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt, basierend auf einer bestimmten Art von Analyse ein Wert von „1“ (und „0“, um eine Bestimmung darzustellen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur nicht wechselt) zugewiesen werden. Verschiedenen bei Schritt 582 durchgeführten Analysen können unterschiedliche Gewichtungen zugewiesen werden und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 600 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf Stereo-Bildanalyse zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 610 kann die Verarbeitungseinheit 110 eine erste und zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. So können beispielsweise Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie z. B. die Bilderfassungsvorrichtungen 122 und 124 mit den Sichtfeldern 202 und 204), eine erste und zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 aufnehmen und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Bei Schritt 620 kann die Verarbeitungseinheit 110 das Stereo-Bildanalysemodul 404 ausführen, um eine Stereo-Bildanalyse der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale innerhalb der Bilder zu detektieren, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Stereo-Bildanalyse kann auf eine Weise durchgeführt werden, die den in Verbindung mit den vorstehenden 5A-5D beschriebenen Schritten ähnlich ist. Beispielsweise kann die Verarbeitungseinheit 110 das Stereo-Bildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Straßengefahren usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu detektieren, eine Teilmenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und eine Mehrere Einzelbilder-Analyse durchzuführen, Messungen zu erstellen und eine Konfidenzstufe für die verbleibenden Kandidatenobjekte zu bestimmen. Beim Durchführen der vorstehenden Schritte kann die Verarbeitungseinheit 110 Informationen sowohl aus der ersten als auch aus der zweiten Vielzahl von Bildern berücksichtigen, und nicht nur Informationen aus einem Satz von Bildern. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilmengen aus den beiden Strömen von aufgenommenen Bildern) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als ein weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines Kandidatenobjekts (z. B. relativ zum Fahrzeug 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern erscheint, aber nicht das andere oder relativ zu anderen Unterschieden, die relativ zu Objekten vorhanden sein können, die erscheinen, wenn die beiden Bildströme erscheinen. Beispielsweise können Position, Geschwindigkeit und/oder Beschleunigung relativ zum Fahrzeug 200 basierend auf Trajektorien, Positionen, Bewegungscharakteristiken usw. von Merkmalen bestimmt werden, die mit einem Objekt assoziiert sind, das in einem oder beiden der Bildströme erscheint.
  • Bei Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die bei Schritt 620 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, zu veranlassen.
  • Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung, eine Änderung der Geschwindigkeit, Bremsen und dergleichen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten.
  • 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 700 zum Veranlassen einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, der mit den offenbarten Ausführungsformen konsistent ist. Bei Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. So können beispielsweise Kameras, die in der Bilderfassungseinheit 120 enthalten sind (wie z. B. die Bilderfassungsvorrichtungen 122, 124 und 126 mit den Sichtfeldern 202, 204 und 206), eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor und/oder seitlich des Fahrzeugs 200 aufnehmen und über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. So kann beispielsweise jede der Bilderfassungsvorrichtungen 122, 124, 126 eine zugehörige Datenschnittstelle zum Übertragen von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder - protokolle beschränkt.
  • Bei Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale innerhalb der Bilder zu erfassen, wie z. B. Fahrspur-Markierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Analyse kann auf eine Weise durchgeführt werden, die den in Verbindung mit den vorstehenden 5A-5D und 6 beschriebenen Schritten ähnlich ist. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den in Verbindung mit den vorstehenden 5A-5D beschriebenen Schritten) an jedem der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereo-Bildanalyse (z. B. über die Ausführung des Stereo-Bildanalysemoduls 404 und basierend auf den in Verbindung mit den vorstehenden 6 beschriebenen Schritten) an der ersten und zweiten Vielzahl von Bildern, der zweiten und dritten Vielzahl von Bildern und/oder der ersten und dritten Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von monokularen und Stereo-Bildanalysen durchführen. So kann beispielsweise die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und eine Stereo-Bildanalyse (z. B. über die Ausführung des Stereo-Bildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Orte und Sichtfelder 202, 204 und 206 - kann die Arten von Analysen beeinflussen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bilderfassungsvorrichtungen 122, 124 und 126 oder die Arten von Analysen beschränkt, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 ein Testen am System 100 basierend auf den Bildern durchführen, die bei den Schritten 710 und 720 erfasst und analysiert wurden. Ein solches Testen kann einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen der Bilderfassungsvorrichtungen 122, 124 und 126 bereitstellen. Zum Beispiel kann die Verarbeitungseinheit 110 den Anteil von „falschen Treffern“ (z. B. Fälle, in denen das System 100 das Vorhandensein eines Fahrzeugs oder Fußgängers falsch bestimmt hat) und „Aussetzer“ („misses“) bestimmen.
  • Bei Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen veranlassen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie beispielsweise der Anzahl, den Arten und den Größen von Objekten, die in jedem der Vielzahl von Bildern detektiert werden. Die Verarbeitungseinheit 110 kann auch die Auswahl basierend auf Bildqualität und Auflösung, dem effektiven Sichtfeld, das in den Bildern reflektiert wird, der Anzahl der aufgenommenen Einzelbilder, dem Ausmaß, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Einzelbildern erscheinen (z. B. dem Prozentsatz der Einzelbilder, in denen ein Objekt erscheint, dem Anteil des Objekts, das in jedem solchen Einzelbild erscheint, usw.) und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, indem sie bestimmt, inwieweit Informationen, die von einer Bildquelle abgeleitet werden, mit Informationen konsistent sind, die von anderen Bildquellen abgeleitet werden. Zum Beispiel kann die Verarbeitungseinheit 110 die verarbeiteten Informationen, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 abgeleitet werden (ob durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination der beiden) kombinieren und visuelle Indikatoren (z. B. Fahrspur-Markierungen, ein detektiertes Fahrzeug und seinen Ort und/oder Weg, eine detektierte Ampel usw.) bestimmen, die über die Bilder konsistent sind, die von jeder der Bilderfassungsvorrichtungen 122, 124 und 126 aufgenommen wurden. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die über die aufgenommenen Bilder inkonsistent sind (z. B. ein Fahrzeug, das die Fahrspur wechselt, ein Fahrspurmodell, das ein Fahrzeug anzeigt, das sich zu nahe am Fahrzeug 200 befindet, usw.). Somit kann die Verarbeitungseinheit 110 Informationen, die von zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, basierend auf den Bestimmungen konsistenter und inkonsistenter Informationen auswählen.
  • Navigationsreaktionen können beispielsweise eine Kurve, eine Fahrspurverschiebung, eine Änderung der Beschleunigung und dergleichen beinhalten. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der Analyse, die bei Schritt 720 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, veranlassen. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 abgeleitet werden, um die eine oder die mehreren Navigationsreaktionen zu veranlassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, relativen Geschwindigkeit und/oder relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das innerhalb eines der ersten, zweiten und dritten Vielzahl von Bildern detektiert wird, veranlassen. Mehrere Navigationsreaktionen können gleichzeitig, nacheinander oder eine beliebige Kombination davon auftreten.
  • Dünnbesetztes Straßenmodell für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für autonome Fahrzeugnavigation verwenden. Insbesondere kann die dünnbesetzte Karte für eine autonome Fahrzeugnavigation entlang einem Straßensegment sein. Beispielsweise kann die dünnbesetzte Karte ausreichend Informationen bereitstellen, um ein autonomes Fahrzeug zu navigieren, ohne eine große Datenmenge zu speichern und/oder zu aktualisieren. Wie nachstehend ausführlicher erörtert, kann ein autonomes Fahrzeug die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen basierend auf einer oder mehreren gespeicherten Trajektorien zu navigieren.
  • Dünnbesetzte Karte für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für eine autonome Fahrzeugnavigation erzeugen. Beispielsweise kann die dünnbesetzte Karte ausreichend Informationen für die Navigation bereitstellen, ohne übermäßige Datenspeicherung oder Datenübertragungsraten zu erfordern. Wie nachstehend ausführlicher erörtert, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen zu navigieren. Zum Beispiel kann die dünnbesetzte Karte in einigen Ausführungsformen Daten beinhalten, die sich auf eine Straße und potenziell Orientierungspunkte entlang der Straße beziehen, die für die Fahrzeugnavigation ausreichend sein können, aber auch kleine Datenfüßabdrücke aufweisen. Beispielsweise können die nachstehend ausführlich beschriebenen dünnbesetzten Datenkarten im Vergleich zu digitalen Karten, die detaillierte Karteninformationen beinhalten, wie beispielsweise Bilddaten, die entlang einer Straße gesammelt werden, einen erheblich geringeren Speicherplatz und eine erheblich geringere Datenübertragungsbandbreite erfordern.
  • Zum Beispiel kann die dünnbesetzte Datenkarte, anstatt detaillierte Repräsentationen eines Straßensegments zu speichern, dreidimensionale Polynomrepräsentationen von bevorzugten Fahrzeugwegen entlang einer Straße speichern. Diese Wege können einen sehr geringen Datenspeicherplatz erfordern. Ferner können in den beschriebenen dünnbesetzten Datenkarten Orientierungspunkte identifiziert und in das Straßenmodell der dünnbesetzten Karte einbezogen werden, um die Navigation zu unterstützen. Diese Orientierungspunkte können sich in einem beliebigen Abstand befinden, der zum Ermöglichen der Fahrzeugnavigation geeignet ist, aber in einigen Fällen müssen solche Orientierungspunkte nicht identifiziert und in das Modell in hohen Dichten und kurzen Abständen einbezogen werden. Vielmehr kann in einigen Fällen die Navigation basierend auf Orientierungspunkten möglich sein, die um mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer voneinander entfernt sind. Wie in anderen Abschnitten ausführlicher erörtert wird, kann die dünnbesetzte Karte basierend auf Daten erzeugt werden, die von Fahrzeugen gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bilderfassungsvorrichtungen, Sensoren des globalen Positionsbestimmungssystems, Bewegungssensoren usw., während die Fahrzeuge auf der Fahrbahn fahren. In einigen Fällen kann die dünnbesetzte Karte basierend auf Daten erzeugt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge entlang einer bestimmten Fahrbahn gesammelt werden. Das Erzeugen einer dünnbesetzten Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer dünnbesetzten Karte bezeichnet werden.
  • Übereinstimmend mit den offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine dünnbesetzte Karte zur Navigation verwenden. Zum Beispiel können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zum Erzeugen eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und können ein autonomes Fahrzeug entlang einem Straßensegment unter Verwendung einer dünnbesetzten Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien darstellen können, die autonome Fahrzeuge durchlaufen können, wenn sie sich entlang zugehörigen Straßensegmenten bewegen.
  • Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können ebenfalls Daten beinhalten, die ein oder mehrere Straßenmerkmale darstellen. Derartige Straßenmerkmale können erkannte Orientierungspunkte, Straßensignaturprofile und beliebige andere straßenbezogene Merkmale beinhalten, die beim Navigieren eines Fahrzeugs nützlich sind. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine autonome Navigation eines Fahrzeugs basierend auf relativ geringen Datenmengen ermöglichen, die in der dünnbesetzten Karte beinhaltet sind. Beispielsweise können die offenbarten Ausführungsformen der dünnbesetzten Karte, anstatt detaillierte Repräsentationen einer Straße, wie beispielsweise Straßenränder, Straßenkrümmung, Bilder, die Straßensegmenten zugeordnet sind, oder Daten, die andere physische Merkmale, die einem Straßensegment zugeordnet sind, beinhalten, einen relativ geringen Speicherplatz (und eine relativ geringe Bandbreite, wenn Abschnitte der dünnbesetzten Karte an ein Fahrzeug übertragen werden) erfordern, dennoch eine autonome Fahrzeugnavigation angemessen bereitstellen. Der kleine Datenfußabdruck der offenbarten dünnbesetzten Karten, der nachstehend ausführlicher erörtert wird, kann in einigen Ausführungsformen durch Speichern von Repräsentationen von straßenbezogenen Elementen erreicht werden, die geringe Datenmengen erfordern, aber dennoch eine autonome Navigation ermöglichen.
  • Zum Beispiel können die offenbarten dünnbesetzten Karten, anstatt detaillierte Repräsentationen von verschiedenen Aspekten einer Straße zu speichern, Polynomrepräsentationen von einer oder mehreren Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Somit kann ein Fahrzeug, anstatt Details in Bezug auf die physische Beschaffenheit der Straße zu speichern (oder übertragen zu müssen), um die Navigation entlang der Straße zu ermöglichen, unter Verwendung der offenbarten dünnbesetzten Karten entlang eines bestimmten Straßensegments navigiert werden, ohne in einigen Fällen physische Aspekte der Straße interpretieren zu müssen, sondern vielmehr durch Ausrichten seines Fahrwegs mit einer Trajektorie (z. B. einem Polynom-Spline) entlang des bestimmten Straßensegments. Auf diese Weise kann das Fahrzeug hauptsächlich auf Grundlage der gespeicherten Trajektorie (z. B. einem Polynom-Spline) navigiert werden, die viel weniger Speicherplatz erfordern kann als ein Ansatz, der die Speicherung von Straßenbildern, Straßenparametern, Straßenlayout usw. beinhaltet.
  • Zusätzlich zu den gespeicherten Polynomrepräsentationen von Trajektorien entlang eines Straßensegments können die offenbarten dünnbesetzten Karten auch kleine Datenobjekte beinhalten, die ein Straßenmerkmal repräsentieren können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen beinhalten, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das von einem Sensor (z. B. einer Kamera oder einem anderen Sensor, wie etwa einem Aufhängungssensor) an Bord eines Fahrzeugs, das entlang des Straßensegments fährt, erhalten wurde. Die digitale Signatur kann eine reduzierte Größe relativ zu dem Signal aufweisen, das durch den Sensor aufgenommen wurde. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifizierungsfunktion kompatibel ist, die konfiguriert ist, um das Straßenmerkmal aus dem Signal zu detektieren und zu identifizieren, das durch den Sensor beispielsweise während einer nachfolgenden Fahrt erfasst wird. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen Fußabdruck aufweist, der so klein wie möglich ist, während die Fähigkeit beibehalten wird, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem digitalen Signal, das durch einen Sensor erzeugt wird, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten beinhaltet) des Straßenmerkmals, das durch eine Kamera an Bord eines Fahrzeugs, das zu einem nachfolgenden Zeitpunkt entlang desselben Straßensegments fährt, aufgenommen wird, zu korrelieren oder diesem zuzuordnen.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner mit einer Einzigartigkeit des Straßenmerkmals assoziiert sein. Beispielsweise kann es für ein Straßenmerkmal, das durch eine Kamera an Bord eines Fahrzeugs detektierbar ist, und wenn das Kamerasystem an Bord des Fahrzeugs mit einem Klassifizierer gekoppelt ist, der in der Lage ist, die Bilddaten, die diesem Straßenmerkmal entsprechen, als mit einer bestimmten Art von Straßenmerkmal assoziiert zu unterscheiden, beispielsweise einem Straßenzeichen, und wenn ein derartiges Straßenzeichen in diesem Bereich lokal einzigartig ist (z. B. es gibt kein identisches Straßenzeichen oder Straßenzeichen der gleichen Art in der Nähe), ausreichend sein, Daten zu speichern, die die Art des Straßenmerkmals und seinen Ort angeben.
  • Wie nachstehend ausführlicher erörtert, können Straßenmerkmale (z. B. Orientierungspunkte entlang eines Straßensegments) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes repräsentieren können, während sie gleichzeitig ausreichende Informationen zum Erkennen und Verwenden eines derartigen Merkmals für die Navigation bereitstellen. In einem Beispiel kann ein Verkehrszeichen als ein erkannter Orientierungspunkt identifiziert werden, auf dem die Navigation eines Fahrzeugs basieren kann. Eine Repräsentation des Verkehrszeichens kann in der dünnbesetzte Karte gespeichert werden, um z. B. einige Bytes von Daten, die eine Art von Orientierungspunkt (z. B. ein Stoppschild) angeben, und einige Bytes von Daten, die einen Ort des Orientierungspunkts (z. B. Koordinaten) angeben, zu beinhalten. Das Navigieren basierend auf derartigen Daten-Licht-Repräsentationen der Orientierungspunkte (z. B. unter Verwendung von Repräsentationen, die zum Lokalisieren, Erkennen und Navigieren basierend auf den Orientierungspunkten ausreichend sind) kann ein gewünschtes Niveau an Navigationsfunktionalität bereitstellen, die dünnbesetzten Karten zugeordnet ist, ohne den Datenaufwand, der den dünnbesetzten Karten zugeordnet ist, signifikant zu erhöhen. Diese schlanke Repräsentation von Orientierungspunkten (und anderen Straßenmerkmalen) kann die Vorteile der Sensoren und Prozessoren nutzen, die an Bord derartiger Fahrzeuge beinhaltet sind, die konfiguriert sind, um bestimmte Straßenmerkmale zu detektieren, zu identifizieren und/oder zu klassifizieren.
  • Wenn beispielsweise ein Zeichen oder sogar eine bestimmte Art eines Zeichens lokal einzigartig ist (z. B. wenn es kein anderes Zeichen oder kein anderes Zeichen der gleichen Art gibt), kann die dünnbesetzte Karte Daten verwenden, die eine Art eines Orientierungspunkts (ein Zeichen oder eine bestimmte Art von Zeichen) angeben, und während der Navigation (z. B. autonome Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs aufnimmt, das eine Zeichen (oder eine bestimmte Art von Zeichen) beinhaltet, kann der Prozessor das Bild verarbeiten, das Zeichen detektieren (wenn es tatsächlich im Bild vorhanden ist), das Bild als ein Zeichen (oder als eine bestimmte Art von Zeichen) klassifizieren und den Ort des Bilds mit dem Ort des Zeichens korrelieren, wie es in der dünnbesetzten Karte gespeichert ist.
  • Erzeugen einer dünnbesetzten Karte
  • In einigen Ausführungsformen kann eine dünnbesetzte Karte mindestens eine Linienrepräsentation eines Straßenoberflächenmerkmals, das sich entlang eines Straßensegments erstreckt, und eine Vielzahl von Orientierungspunkten, die mit dem Straßensegment assoziiert sind, beinhalten. In bestimmten Aspekten kann die dünnbesetzte Karte über „Crowdsourcing“ erzeugt werden, zum Beispiel durch Bildanalyse einer Vielzahl von Bildern, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • 8 zeigt eine dünnbesetzte Karte 800, auf die ein oder mehrere Fahrzeuge, z. B. das Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen können, um eine autonome Fahrzeugnavigation bereitzustellen. Die dünnbesetzte Karte 800 kann in einem Speicher, wie etwa dem Speicher 140 oder 150, gespeichert sein. Derartige Speichervorrichtungen können beliebige Arten von nichtflüchtigen Speichervorrichtungen oder computerlesbaren Medien beinhalten. Zum Beispiel kann der Speicher 140 oder 150 in einigen Ausführungsformen Festplatten, Compact Discs, Flash-Speicher, magnetbasierte Speichervorrichtungen, optische basierte Speichervorrichtungen usw. beinhalten. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Datenbank (z. B. Kartendatenbank 160) gespeichert sein, die im Speicher 140 oder 150 oder anderen Arten von Speichervorrichtungen gespeichert sein kann.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichervorrichtung oder einem nichtflüchtigen computerlesbaren Medium gespeichert sein, das an Bord des Fahrzeugs 200 bereitgestellt ist (z. B. einer Speichervorrichtung, die in einem bordeigenen Navigationssystem 200 enthalten ist). Ein Prozessor (z. B. Verarbeitungseinheit 110), der am Fahrzeug 200 bereitgestellt ist, kann auf die dünnbesetzte Karte 800 zugreifen, die in der Speichervorrichtung oder dem computerlesbaren Medium gespeichert ist, das an Bord des Fahrzeugs 200 bereitgestellt ist, um Navigationsanweisungen zum Führen des autonom Fahrzeugs 200 zu erzeugen, wenn das Fahrzeug ein Straßensegment überquert.
  • Die dünnbesetzte Karte 800 muss jedoch nicht lokal in Bezug auf ein Fahrzeug gespeichert sein. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichervorrichtung oder einem computerlesbaren Medium gespeichert sein, das auf einem entfernten Server bereitgestellt ist, der mit dem Fahrzeug 200 oder einer Vorrichtung kommuniziert, die dem Fahrzeug 200 zugeordnet ist. Ein Prozessor (z. B. Verarbeitungseinheit 110), der am Fahrzeug 200 bereitgestellt ist, kann Daten, die in der dünnbesetzten Karte 800 enthalten sind, vom entfernten Server empfangen und kann die Daten zum Führen der autonomen Fahrt des Fahrzeugs 200 ausführen. In derartigen Ausführungsformen kann der entfernte Server die gesamte dünnbesetzte Karte 800 oder nur einen Abschnitt davon speichern. Dementsprechend kann die Speichervorrichtung oder das computerlesbare Medium, das an Bord des Fahrzeugs 200 und/oder an Bord eines oder mehrerer zusätzlicher Fahrzeuge bereitgestellt ist, den/die verbleibenden Abschnitt(e) der dünnbesetzten Karte 800 speichern.
  • Darüber hinaus kann in derartigen Ausführungsformen die dünnbesetzte Karte 800 für eine Vielzahl von Fahrzeugen zugänglich gemacht werden, die verschiedene Straßensegmente (z. B. Dutzende, Hunderte, Tausende oder Millionen von Fahrzeugen usw.) durchqueren. Es ist auch zu beachten, dass die dünnbesetzte Karte 800 mehrere Unterkarten beinhalten kann. Zum Beispiel kann die dünnbesetzte Karte 800 in einigen Ausführungsformen Hunderte, Tausende, Millionen oder mehr Unterkarten beinhalten, die beim Navigieren eines Fahrzeugs verwendet werden können. Derartige Unterkarten können als lokale Karten bezeichnet werden und ein Fahrzeug, das entlang einer Fahrbahn fährt, kann auf eine beliebige Anzahl von lokalen Karten zugreifen, die für einen Ort relevant sind, an dem das Fahrzeug fährt. Die lokalen Kartenabschnitte der dünnbesetzten Karte 800 können mit einem Schlüssel des globalen Navigationssatellitensystems (GNSS) als Index in der Datenbank der dünnbesetzten Karte 800 gespeichert werden. Somit können, während die Berechnung von Lenkwinkeln zum Navigieren eines Host-Fahrzeugs im vorliegenden System ohne Abhängigkeit von einer GNSS-Position des Host-Fahrzeugs, Straßenmerkmal oder Orientierungspunkt durchgeführt werden kann, derartige GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Im Allgemeinen kann die dünnbesetzte Karte 800 basierend auf Daten erzeugt werden, die von einem oder mehreren Fahrzeugen gesammelt werden, während sie auf der Fahrbahn fahren. Zum Beispiel können unter Verwendung von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z. B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungsmesser usw.) die Trajektorien, die das eine oder die mehreren Fahrzeuge entlang einer Fahrbahn fahren, aufgezeichnet werden und die Polynomrepräsentationen einer bevorzugten Trajektorie für Fahrzeuge, die nachfolgende Fahrten entlang der Fahrbahn machen, können basierend auf den gesammelten Trajektorien bestimmt werden, die durch das eine oder die mehreren Fahrzeuge gefahren werden. Gleichermaßen können Daten, die durch das eine oder die mehreren Fahrzeuge gesammelt werden, dabei helfen, potenzielle Orientierungspunkte entlang einer bestimmten Fahrbahn zu identifizieren. Daten, die von fahrenden Fahrzeugen gesammelt werden, können auch verwendet werden, um Straßenprofilinformationen zu identifizieren, wie etwa Straßenbreitenprofile, Straßenunebenheitsprofile, Verkehrslinienabstandsprofile, Straßenbedingungen usw. Unter Verwendung der gesammelten Informationen kann die dünnbesetzte Karte 800 erzeugt und verteilt werden (z. B. zur lokalen Speicherung oder über eine Datenübertragung im laufenden Betrieb), um ein oder mehrere autonome Fahrzeuge zu navigieren. In einigen Ausführungsformen endet die Kartenerzeugung jedoch möglicherweise nicht bei der anfänglichen Erzeugung der Karte. Wie nachstehend ausführlicher erörtert wird, kann die dünnbesetzte Karte 800 kontinuierlich oder periodisch basierend auf Daten aktualisiert werden, die von Fahrzeugen gesammelt werden, während diese Fahrzeuge weiterhin Fahrbahnen befahren, die in der dünnbesetzten Karte 800 enthalten sind.
  • Daten, die in der dünnbesetzten Karte 800 aufgezeichnet sind, können Positionsinformationen basierend auf Daten des globalen Positionsbestimmungssystems (GPS) beinhalten. Zum Beispiel können Ortsinformationen in der dünnbesetzten Karte 800 für verschiedene Kartenelemente enthalten sein, einschließlich zum Beispiel Orientierungspunkt-Orte, Straßenprofilorte usw. Orte für Kartenelemente, die in der dünnbesetzten Karte 800 enthalten sind, können unter Verwendung von GPS-Daten erhalten werden, die von Fahrzeugen gesammelt werden, die eine Fahrbahn befahren Zum Beispiel kann ein Fahrzeug, das einen identifizierten Orientierungspunkt passiert, einen Ort des identifizierten Orientierungspunkts unter Verwendung von GPS-Positionsinformationen bestimmen, die dem Fahrzeug zugeordnet sind, und eine Bestimmung eines Orts des identifizierten Orientierungspunkts relativ zum Fahrzeug (z. B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt werden). Derartige Ortsbestimmungen eines identifizierten Orientierungspunkts (oder ein beliebiges anderes Merkmal, das in der dünnbesetzten Karte 800 enthalten ist) können wiederholt werden, wenn zusätzliche Fahrzeuge den Ort des identifizierten Orientierungspunkts passieren. Einige oder alle der zusätzlichen Ortsbestimmungen können verwendet werden, um die Ortsinformationen, die in der dünnbesetzten Karte 800 gespeichert sind, relativ zum identifizierten Orientierungspunkt zu verfeinern. Zum Beispiel können in einigen Ausführungsformen mehrere Positionsmessungen relativ zu einem bestimmten Merkmal, das in der dünnbesetzten Karte 800 gespeichert ist, zusammen gemittelt werden. Beliebige andere mathematische Vorgänge können jedoch auch verwendet werden, um einen gespeicherten Ort eines Kartenelements basierend auf einer Vielzahl von bestimmten Orten für das Kartenelement zu verfeinern.
  • Die dünnbesetzte Karte der offenbarten Ausführungsformen kann eine autonome Navigation eines Fahrzeugs unter Verwendung relativ geringer Mengen von gespeicherten Daten ermöglichen. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 eine Datendichte (z. B. einschließlich Daten, die die Zieltrajektorien, Orientierungspunkte und beliebige andere gespeicherte Straßenmerkmale darstellen) 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 dünnbesetzten Karte 800 weniger als 10 kB pro Kilometer Straßen oder sogar weniger 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 betragen. In einigen Ausführungsformen können die meisten, wenn nicht alle, der Fahrbahnen der Vereinigten Staaten autonom unter Verwendung einer dünnbesetzten Karte navigiert werden, die insgesamt 4 GB oder weniger Daten aufweist. Diese Datendichte-Werte können einen Durchschnitt über eine gesamte dünnbesetzte Karte 800, über eine lokale Karte innerhalb der dünnbesetzten Karte 800 und/oder über ein bestimmtes Straßensegment innerhalb der dünnbesetzten Karte 800 darstellen.
  • Wie angemerkt, kann die dünnbesetzte Karte 800 Repräsentationen einer Vielzahl von Zieltrajektorien 810 zum Führen der autonomen Fahrt oder Navigation entlang einem Straßensegment beinhalten. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert werden. Die in der dünnbesetzten Karte 800 gespeicherten Zieltrajektorien können beispielsweise basierend auf zwei oder mehr rekonstruierten Trajektorien vorheriger Durchquerungen von Fahrzeugen entlang einem bestimmten Straßensegment bestimmt werden. Ein Straßensegment kann mit einer einzelnen Zieltrajektorie oder mehreren Zieltrajektorien assoziiert sein. Beispielsweise kann auf einer zweispurigen Straße eine erste Zieltrajektorie gespeichert werden, um einen beabsichtigten Fahrweg entlang der Straße in einer ersten Richtung darzustellen, und eine zweite Zieltrajektorie kann gespeichert werden, um einen beabsichtigten Fahrweg entlang der Straße in einer anderen Richtung (z. B. entgegengesetzt zur ersten Richtung) darzustellen. Zusätzliche Zieltrajektorien können in Bezug auf ein bestimmtes Straßensegment gespeichert werden. Beispielsweise können auf einer mehrspurigen Straße eine oder mehrere Zieltrajektorien gespeichert werden, die beabsichtigte Fahrwege für Fahrzeuge in einer oder mehreren Fahrspuren darstellen, die mit der mehrspurigen Straße assoziiert sind. In einigen Ausführungsformen kann jede Fahrspur einer mehrspurigen Straße mit ihrer eigenen Zieltrajektorie assoziiert sein. In anderen Ausführungsformen können weniger Zieltrajektorien gespeichert werden als Fahrspuren, die auf einer mehrspurigen Straße vorhanden sind. In solchen Fällen kann ein Fahrzeug, das auf der mehrspurigen Straße navigiert, eine beliebige der gespeicherten Zieltrajektorien verwenden, um seine Navigation unter Berücksichtigung einer Menge an Fahrspurversatz von einer Fahrspur, für die eine Zieltrajektorie gespeichert ist, zu führen (z. B. wenn ein Fahrzeug auf der am weitesten links gelegenen Fahrspur einer dreispurigen Autobahn fährt und eine Zieltrajektorie nur für die mittlere Fahrspur der Autobahn gespeichert ist, kann das Fahrzeug unter Verwendung der Zieltrajektorie der mittleren Fahrspur navigieren, indem es die Menge an Fahrspurversatz zwischen der mittleren Fahrspur und der am weitesten links gelegenen Fahrspur berücksichtigt, wenn es Navigationsanweisungen erzeugt).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Weg darstellen, den ein Fahrzeug nehmen sollte, wenn das Fahrzeug fährt. Die Zieltrajektorie kann beispielsweise in einer ungefähren Mitte einer Fahrspur angeordnet sein. In anderen Fällen kann die Zieltrajektorie an anderer Stelle relativ zu einem Straßensegment angeordnet sein. Beispielsweise kann eine Zieltrajektorie ungefähr mit einem Zentrum einer Straße, einem Rand einer Straße oder einem Rand einer Fahrspur usw. übereinstimmen. In solchen Fällen kann die Navigation basierend auf der Zieltrajektorie einen bestimmten Versatzbetrag beinhalten, der relativ zum Ort der Zieltrajektorie aufrechtzuerhalten ist. Darüber hinaus kann sich in einigen Ausführungsformen der bestimmte Versatzbetrag, der relativ zum Ort der Zieltraj ektorie aufrechtzuerhalten ist, basierend auf einer Fahrzeugart unterscheiden (z. B. kann ein Personenkraftwagen, der zwei Achsen beinhaltet, einen anderen Versatz zu einem Lastkraftwagen aufweisen, der mehr als zwei Achsen entlang mindestens einem Abschnitt der Zieltrajektorie beinhaltet).
  • Die dünnbesetzte Karte 800 kann auch Daten beinhalten, die sich auf eine Vielzahl von vorbestimmten Orientierungspunkten 820 beziehen, die mit bestimmten Straßensegmenten, lokalen Karten usw. assoziiert sind. Wie nachstehend 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 eine Richtung der Zieltrajektorie am bestimmten Ort anzupassen.
  • Die Vielzahl von Orientierungspunkten 820 kann in der dünnbesetzten Karte 800 in einem beliebigen geeigneten Abstand identifiziert und gespeichert werden. In einigen Ausführungsformen können Orientierungspunkte in relativ hohen Dichten (z. B. alle paar Meter oder mehr) gespeichert werden. In einigen Ausführungsformen können jedoch wesentlich größere Orientierungspunktabstandswerte eingesetzt werden. Beispielsweise können in der dünnbesetzten Karte 800 identifizierte (oder erkannte) Orientierungspunkte um 10 Meter, 20 Meter, 50 Meter, 100 Meter, 1 Kilometer oder 2 Kilometer voneinander entfernt sein. In einigen Fällen können die identifizierten Orientierungspunkte in Abständen von sogar mehr als 2 Kilometern voneinander entfernt sein.
  • Zwischen Orientierungspunkten und daher zwischen Bestimmungen der Fahrzeugposition relativ zu einer Zieltrajektorie kann das Fahrzeug basierend auf Koppelnavigation navigieren, bei der das Fahrzeug Sensoren verwendet, um seine Eigenbewegung zu bestimmen und seine Position relativ zur Zieltrajektorie zu schätzen. Da sich Fehler während der Navigation durch Koppelnavigation ansammeln können, können die Positionsbestimmungen relativ zur Zieltrajektorie im Laufe der Zeit zunehmend weniger genau werden. Das Fahrzeug kann Orientierungspunkte verwenden, die in der dünnbesetzten Karte 800 (und ihren bekannten Orten) auftreten, um die Koppelnavigation-induzierten Fehler bei der Positionsbestimmung zu entfernen. Auf diese Weise können die identifizierten Orientierungspunkte, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, aus denen eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann. Da ein bestimmter Fehlerbetrag am Ort der Position akzeptabel sein kann, muss ein identifizierter Orientierungspunkt nicht immer für ein autonomes Fahrzeug verfügbar sein. Vielmehr kann eine geeignete Navigation sogar basierend auf Orientierungspunktabständen von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein, wie vorstehend erwähnt. In einigen Ausführungsformen kann eine Dichte von 1 identifiziertem Orientierungspunkt alle 1 km Straße ausreichend sein, um eine Genauigkeit der Bestimmung der Längsposition innerhalb von 1 m aufrechtzuerhalten. Somit muss nicht jeder potenzielle Orientierungspunkt, der entlang einem Straßensegment erscheint, in der dünnbesetzten Karte 800 gespeichert werden.
  • Darüber hinaus können in einigen Ausführungsformen Fahrspur-Markierungen zur Lokalisierung des Fahrzeugs während Orientierungspunktabständen verwendet werden. Durch Verwendung von Fahrspur-Markierungen während Orientierungspunktabständen kann die Ansammlung von Koppelnavigation während der Navigation durch Koppelnavigation minimiert werden.
  • Zusätzlich zu Zieltrajektorien und identifizierten Orientierungspunkten kann die dünnbesetzte Karte 800 Informationen beinhalten, die sich auf verschiedene andere Straßenmerkmale beziehen. Zum Beispiel veranschaulicht 9A eine Repräsentation von Kurven entlang einem bestimmten Straßensegment, die in der dünnbesetzten Karte 800 gespeichert werden können. In einigen Ausführungsformen kann eine einzelne Fahrspur einer Straße durch eine dreidimensionale Polynombeschreibung der linken und rechten Seite der Straße modelliert werden. Solche Polynome, die die linke und rechte Seite einer einzelnen Fahrspur repräsentieren, sind in 9A gezeigt. Unabhängig davon, wie viele Fahrspuren eine Straße aufweisen kann, kann die Straße unter Verwendung von Polynomen auf eine Weise repräsentiert werden, die der in 9A veranschaulichten ähnlich ist. Zum Beispiel können die linke und rechte Seite einer mehrspurigen Straße durch Polynome repräsentiert werden, die den in 9A gezeigten ähnlich sind, und mittlere Fahrspur-Markierungen, die auf einer mehrspurigen Straße beinhaltet sind (z. B. gestrichelte Markierungen, die Fahrspurbegrenzungen repräsentieren, durchgehende gelbe Linien, die Begrenzungen zwischen Fahrspuren repräsentieren, die in unterschiedliche Richtungen fahren usw.) können ebenfalls unter Verwendung von Polynomen repräsentiert werden, wie etwa den in 9A gezeigten.
  • Wie in 9A gezeigt, kann eine Fahrspur 900 unter Verwendung von Polynomen (z. B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung oder einer beliebigen geeigneten Ordnung) repräsentiert werden. Zur Veranschaulichung ist die Fahrspur 900 als eine zweidimensionale Fahrspur gezeigt und die Polynome sind als zweidimensionale Polynome gezeigt. Wie in 9A dargestellt, beinhaltet die Fahrspur 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 Fahrspurbegrenzung zu repräsentieren. Beispielsweise kann jede der linken Seite 910 und rechten Seite 920 durch eine Vielzahl von Polynomen einer beliebigen geeigneten Länge repräsentiert werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m aufweisen, obwohl auch andere Längen größer oder kleiner als 100 m verwendet werden können. Zusätzlich können sich die Polynome miteinander überlappen, um nahtlose Übergänge beim Navigieren basierend auf nachfolgend angetroffenen Polynomen zu erleichtern, wenn ein Host-Fahrzeug entlang einer Fahrbahn fährt. Beispielsweise kann jede der linken Seite 910 und rechten Seite 920 durch eine Vielzahl von Polynomen dritter Ordnung repräsentiert werden, die in Segmente von etwa 100 Metern Länge (ein Beispiel des ersten vorbestimmten Bereichs) unterteilt sind 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 aufweisen oder nicht. Beispielsweise können in einigen Ausführungsformen einige Polynome Polynome zweiter Ordnung sein, einige Polynome dritter Ordnung und einige Polynome vierter Ordnung.
  • Im in 9A gezeigten Beispiel wird die linke Seite 910 der Fahrspur 900 durch zwei Gruppen von Polynomen dritter Ordnung repräsentiert. Die erste Gruppe beinhaltet Polynomsegmente 911, 912 und 913. Die zweite Gruppe beinhaltet Polynomsegmente 914, 915 und 916. Die zwei Gruppen folgen, während sie im Wesentlichen parallel zueinander sind, den Orten ihrer jeweiligen Seiten der Straße. Die Polynomsegmente 911, 912, 913, 914, 915 und 916 weisen eine Länge von etwa 100 Metern auf und überlappen benachbarte Segmente in der Reihe um etwa 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome unterschiedlicher Längen und unterschiedlicher Überlappungsmengen verwendet werden. Beispielsweise können die Polynome Längen von 500 m, 1 km oder mehr aufweisen und die Überlappungsmenge kann von 0 bis 50 m, 50 m bis 100 m oder größer als 100 m variieren. Während 9A als Polynome darstellend gezeigt ist, die sich im 2D-Raum (z. B. auf der Oberfläche des Papiers) erstrecken, versteht es sich außerdem, dass diese Polynome Kurven darstellen können, die sich in drei Dimensionen erstrecken (z. B. einschließlich einer Höhenkomponente), um Höhenänderungen in einem Straßensegment zusätzlich zur X-Y-Krümmung darzustellen. Im in 9A gezeigten Beispiel wird die rechte Seite 920 der Fahrspur 900 ferner durch eine erste Gruppe mit Polynomsegmenten 921, 922 und 923 und eine zweite Gruppe mit Polynomsegmenten 924, 925 und 926 dargestellt.
  • Unter erneuter Bezugnahme auf die Zieltrajektorien der dünnbesetzten Karte 800 zeigt 9B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug darstellt, das sich entlang eines bestimmten Straßensegments bewegt. Die Zieltrajektorie stellt nicht nur den X-Y-Weg dar, den ein Host-Fahrzeug entlang eines bestimmten Straßensegments fahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug erfahren wird, wenn es sich entlang des Straßensegments bewegt. Somit kann jede Zieltrajektorie in der dünnbesetzten Karte 800 durch ein oder mehrere dreidimensionale Polynome dargestellt werden, wie das in 9B gezeigte dreidimensionale Polynom 950. Die dünnbesetzte Karte 800 kann eine Vielzahl von Trajektorien beinhalten (z. B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedener Straßensegmente entlang von Fahrbahnen in der ganzen Welt darzustellen). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale Polynomsegmente verbindet.
  • In Bezug auf den Datenfußabdruck von Polynomkurven, die in der dünnbesetzten Karte 800 gespeichert sind, kann in einigen Ausführungsformen jedes Polynom dritten Grads durch vier Parameter dargestellt werden, die jeweils vier Bytes an Daten erfordern. Geeignete Repräsentationen können mit Polynomen dritten Grads erhalten werden, die etwa 192 Bytes an Daten für alle 100 m erfordern. Dies kann in Datennutzungs-/-übertragungsanforderungen für ein Host-Fahrzeug, das etwa 100 km/h fährt, auf etwa 200 kB pro Stunde übersetzt werden.
  • Die dünnbesetzte Karte 800 kann das Fahrspurnetzwerk unter Verwendung einer Kombination von Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines wie vorstehend beschrieben beschrieben werden. Die Metadaten können die Anzahl von Fahrspuren, spezielle Charakteristiken (wie etwa eine Fahrspur im Fahrzeugpool) und möglicherweise andere dünnbesetzte Bezeichnungen beschreiben. Der Gesamtfußabdruck solcher Indikatoren kann vernachlässigbar sein.
  • Dementsprechend kann eine dünnbesetzte Karte gemäß Ausführungsformen der vorliegenden Offenbarung mindestens eine Linienrepräsentation eines Straßenoberflächenmerkmals beinhalten, das sich entlang des Straßensegments erstreckt, wobei jede Linienrepräsentation einen Weg entlang des Straßensegments darstellt, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. In einigen Ausführungsformen kann, wie vorstehend erörtert, die mindestens eine Linienrepräsentation des Straßenoberflächenmerkmals einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Darüber hinaus kann in einigen Ausführungsformen das Straßenoberflächenmerkmal mindestens eines von einem Straßenrand oder einer Fahrspur-Markierung beinhalten. Darüber hinaus kann, wie nachstehend in Bezug auf „Crowdsourcing“ erörtert, das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 eine Vielzahl von vorbestimmten Orientierungspunkten beinhalten, die mit einem Straßensegment assoziiert sind. Anstatt tatsächliche Bilder der Orientierungspunkte zu speichern und sich beispielsweise auf Bilderkennungsanalyse basierend auf aufgenommenen Bildern und gespeicherten Bildern zu stützen, kann jeder Orientierungspunkt in der dünnbesetzten Karte 800 unter Verwendung von weniger Daten dargestellt und erkannt werden, als ein gespeichertes, tatsächliches Bild erfordern würde. Daten, die Orientierungspunkte repräsentieren, können dennoch ausreichende Informationen zum Beschreiben oder Identifizieren der Orientierungspunkte entlang einer Straße beinhalten. Das Speichern von Daten, die Charakteristiken von Orientierungspunkten beschreiben, anstatt der tatsächlichen Bilder von Orientierungspunkten, kann die Größe der dünnbesetzten Karte 800 reduzieren.
  • 10 veranschaulicht Beispiele von Arten von Orientierungspunkten, die in der dünnbesetzten Karte 800 dargestellt werden können. Die Orientierungspunkte können beliebige sichtbare und identifizierbare Objekte entlang einem Straßensegment beinhalten. Die Orientierungspunkte können so ausgewählt werden, dass sie fest sind und sich in Bezug auf ihre Orte und/oder ihren Inhalt nicht häufig ändern. Die Orientierungspunkte, die in der dünnbesetzten Karte 800 enthalten sind, können beim Bestimmen eines Orts des Fahrzeugs 200 in Bezug auf eine Zieltrajektorie nützlich sein, wenn das Fahrzeug ein bestimmtes Straßensegment befährt. Beispielhafte Orientierungspunkte können Verkehrszeichen, Richtungszeichen, allgemeine Zeichen (z. B. rechteckige Zeichen), Straßenrandbefestigungselemente (z. B. Laternenpfosten, Reflektoren usw.) und eine beliebige andere geeignete Kategorie beinhalten. In einigen Ausführungsformen können Fahrspurmarkierungen auf der Straße ebenfalls als Orientierungspunkte in der dünnbesetzten Karte 800 enthalten sein.
  • Beispiele für Orientierungspunkte, die in 10 gezeigt sind, beinhalten Verkehrszeichen, Richtungszeichen, Straßenrandbefestigungselemente und allgemeine Zeichen. Verkehrszeichen können beispielsweise Geschwindigkeitsbegrenzungszeichen (z. B. Geschwindigkeitsbegrenzungszeichen 1000), Ausweichschilder (z. B. Ausweichschild 1005), Routennummernschilder (z. B. Routennummernschild 1010), Ampelzeichen (z. B. Ampelzeichen 1015), Stoppschilder (z. B. Stoppschild 1020) beinhalten. Richtungszeichen können ein Zeichen beinhalten, das einen oder mehrere Pfeile beinhaltet, die eine oder mehrere Richtungen zu unterschiedlichen Stellen angeben. Beispielsweise können Richtungszeichen ein Autobahnzeichen 1025 mit Pfeilen zum Leiten von Fahrzeugen zu unterschiedlichen Straßen oder Stellen, ein Ausweichschild 1030 mit einem Pfeil, der Fahrzeuge von einer Straße leitet, usw. beinhalten. Dementsprechend kann mindestens einer der Vielzahl von Orientierungspunkten ein Straßenzeichen beinhalten.
  • Allgemeine Zeichen können verkehrsunabhängig sein. Beispielsweise können allgemeine Zeichen Werbetafeln beinhalten, die zur Werbung verwendet werden, oder eine Willkommenstafel benachbart zu einer Grenze zwischen zwei Ländern, Staaten, Landkreisen, Städten oder Städten. 10 zeigt ein allgemeines Zeichen 1040 („Joes Restaurant“). Obwohl das allgemeine Zeichen 1040 eine rechteckige Form aufweisen kann, wie in 10 gezeigt, kann das allgemeine Zeichen 1040 andere Formen aufweisen, wie etwa Quadrat, Kreis, Dreieck usw.
  • Orientierungspunkte können zudem Straßenrandbefestigungselemente beinhalten. Straßenrandbefestigungselemente können Objekte sein, die keine Zeichen sind, und können nicht mit Verkehr oder Richtungen in Beziehung stehen. Beispielsweise können Straßenrandbefestigungselemente Laternenpfosten (z. B. Laternenpfosten 1035), Stromleitungspfosten, Ampelpfosten usw. beinhalten.
  • Orientierungspunkte können zudem Baken (beacon) beinhalten, die speziell für die Verwendung in einem autonomen Fahrzeugnavigationssystem ausgestaltet sein können. Beispielsweise können derartige Baken eigenständige Strukturen beinhalten, die in vorbestimmten Intervallen platziert sind, um dabei zu helfen, ein Host-Fahrzeug zu navigieren. Derartige Baken können zudem visuelle/grafische Informationen beinhalten, die zu vorhandenen Verkehrszeichen (z. B. Symbolen, Emblemen, Strichcodes usw.) hinzugefügt werden, die von einem Fahrzeug, das ein Straßensegment entlang fährt, identifiziert oder erkannt werden können. Derartige Baken können zudem elektronische Komponenten beinhalten. In derartigen Ausführungsformen können elektronische Baken (z. B. RFID-Tags usw.) verwendet werden, um nicht visuelle Informationen an ein Host-Fahrzeug zu übertragen. Derartige Informationen können beispielsweise Orientierungspunktidentifizierungs- und/oder Orientierungspunkt-Ortsinformationen beinhalten, die ein Host-Fahrzeug beim Bestimmen seiner Position entlang einer Zieltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die Orientierungspunkte, die in der dünnbesetzten Karte 800 enthalten sind, durch ein Datenobjekt einer vorbestimmten Größe dargestellt werden. Die Daten, die einen Orientierungspunkt repräsentieren, können beliebige geeignete Parameter zum Identifizieren eines bestimmten Orientierungspunkts beinhalten. Beispielsweise können in einigen Ausführungsformen Orientierungspunkte, die in der dünnbesetzten Karte 800 gespeichert sind, Parameter wie etwa eine physische Größe des Orientierungspunkts (z. B. um die Schätzung der Entfernung zum Orientierungspunkt basierend auf einer bekannten Größe/Skala zu unterstützen), eine Entfernung zu einem vorherigen Orientierungspunkt, einen seitlichen Versatz, eine Höhe, einen Typcode (z. B. einen Orientierungspunkttyp - welcher Typ von Richtungszeichen, Verkehrszeichen usw.), eine GPS-Koordinate (z. B. um die globale Lokalisierung zu unterstützen) und beliebige andere geeignete Parameter beinhalten. Jeder Parameter kann mit einer Datengröße assoziiert sein. Beispielsweise kann eine Orientierungspunktgröße unter Verwendung von 8 Bytes an Daten gespeichert werden. Eine Entfernung zu einem vorherigen Orientierungspunkt, ein seitlicher Versatz und eine Höhe können unter Verwendung von 12 Bytes an Daten spezifiziert werden. Ein Typcode, der mit einem Orientierungspunkt wie etwa einem Richtungszeichen oder einem Verkehrszeichen assoziiert ist, kann etwa 2 Bytes an Daten erfordern. Für allgemeine Zeichen kann eine Bild-Signatur, die eine Identifizierung des allgemeinen Zeichens ermöglicht, unter Verwendung von 50 Bytes an Datenspeicher gespeichert werden. Die GPS-Position des Orientierungspunkts kann mit 16 Bytes an Datenspeicher assoziiert sein. Diese Datengrößen für jeden Parameter sind nur Beispiele und andere Datengrößen können ebenfalls verwendet werden.
  • Das Darstellen von Orientierungspunkten in der dünnbesetzten Karte 800 auf diese Weise kann eine schlanke Lösung zum effizienten Darstellen von Orientierungspunkten in der Datenbank bieten. In einigen Ausführungsformen können Zeichen als semantische Zeichen und nicht-semantische Zeichen bezeichnet werden. Ein semantisches Zeichen kann eine beliebige Klasse von Zeichen beinhalten, für die es eine standardisierte Bedeutung gibt (z. B. Geschwindigkeitsbegrenzungszeichen, Warnzeichen, Richtungszeichen usw.). Ein nichtsemantisches Zeichen kann ein beliebiges Zeichen beinhalten, das nicht mit einer standardisierten Bedeutung assoziiert ist (z. B. allgemeine Werbeschilder, Zeichen, die Geschäftseinrichtungen identifizieren, usw.). Beispielsweise kann jedes semantische Zeichen mit 38 Bytes an Daten dargestellt werden (z. B. 8 Bytes für die Größe; 12 Bytes für den Abstand zu einem vorherigen Orientierungspunkt, seitlicher Versatz und Höhe; 2 Bytes für einen Typcode; und 16 Bytes für GPS-Koordinaten). Die dünnbesetzte Karte 800 kann ein Markierungssystem verwenden, um Orientierungspunktarten darzustellen. In einigen Fällen kann jedes Verkehrszeichen oder Richtungszeichen mit seiner eigenen Markierung assoziiert sein, die als Teil der Orientierungspunktidentifizierung in der Datenbank gespeichert werden kann. Beispielsweise kann die Datenbank in der Größenordnung von 1000 verschiedenen Markierungen beinhalten, um verschiedene Verkehrszeichen darzustellen, und in der Größenordnung von etwa 10000 verschiedenen Markierungen, um Richtungszeichen darzustellen. Natürlich kann eine beliebige geeignete Anzahl von Markierungen verwendet werden, und zusätzliche Markierungen können nach Bedarf erstellt werden. Allgemeine Zeichen können in einigen Ausführungsformen unter Verwendung von weniger als etwa 100 Bytes dargestellt werden (z. B. etwa 86 Bytes, einschließlich 8 Bytes für die Größe; 12 Bytes für den Abstand zu einem vorherigen Orientierungspunkt, seitlicher Versatz und Höhe; 50 Bytes für eine Bild-Signatur; und 16 Bytes für GPS-Koordinaten).
  • Somit kann sich für semantische Verkehrszeichen, die keine Bild-Signatur erfordern, die Datendichte auf die dünnbesetzte Karte 800 auswirken, selbst bei relativ hohen Orientierungspunktdichten von etwa 1 pro 50 m, in der Größenordnung von etwa 760 Bytes pro Kilometer (z. B. 20 Orientierungspunkte pro km × 38 Bytes pro Orientierungspunkt = 760 Bytes). Selbst für allgemeine Zeichen, die eine Bild-Signatur-Komponente beinhalten, beträgt die Datendichte etwa 1,72 kB pro km (z. B. 20 Orientierungspunkte pro km × 86 Bytes pro Orientierungspunkt = 1.720 Bytes). Für semantische Verkehrszeichen entspricht dies etwa 76 kB pro Stunde Datennutzung für ein Fahrzeug, das 100 km/h fährt. Für allgemeine Zeichen entspricht dies etwa 170 kB pro Stunde für ein Fahrzeug, das 100 km/h fährt.
  • In einigen Ausführungsformen kann ein allgemein rechteckiges Objekt, wie etwa ein rechteckiges Zeichen, in der dünnbesetzten Karte 800 durch nicht mehr als 100 Bytes an Daten dargestellt werden. Die Repräsentation des allgemein rechteckigen Objekts (z. B. des allgemeinen Zeichens 1040) in der dünnbesetzten Karte 800 kann eine kondensierte Bild-Signatur (z. B. die kondensierte Bild-Signatur 1045) beinhalten, die mit dem allgemein rechteckigen Objekt assoziiert ist. Diese kondensierte Bild-Signatur kann zum Beispiel verwendet werden, um die Identifizierung eines allgemeinen Zeichens zu unterstützen, zum Beispiel als ein erkannter Orientierungspunkt. Eine solche kondensierte Bild-Signatur (z. B. Bildinformationen, die aus tatsächlichen Bilddaten abgeleitet wurden, die ein Objekt repräsentieren) kann eine Notwendigkeit für die Speicherung eines tatsächlichen Bilds eines Objekts oder eine Notwendigkeit für eine vergleichende Bildanalyse, die an tatsächlichen Bildern durchgeführt wird, um Orientierungspunkte zu erkennen, vermeiden.
  • Unter Bezugnahme auf 10 kann die dünnbesetzte Karte 800 eine kondensierte Bild-Signatur 1045 beinhalten oder speichern, die mit einem allgemeinen Zeichen 1040 assoziiert ist, anstatt eines tatsächlichen Bilds des allgemeinen Zeichens 1040. Nachdem zum Beispiel eine Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 122, 124 oder 126) ein Bild des allgemeinen Zeichens 1040 aufnimmt, kann ein Prozessor (z. B. Bildprozessor 190 oder ein beliebiger anderer Prozessor, der Bilder entweder an Bord oder entfernt angeordnet in Bezug auf ein Host-Fahrzeug verarbeiten kann) eine Bildanalyse durchführen, um die kondensierte Bild-Signatur 1045 zu extrahieren/erstellen, die eine eindeutige Signatur oder ein Muster beinhaltet, die/das mit dem allgemeinen Zeichen 1040 assoziiert ist. In einer Ausführungsform kann die kondensierte Bild-Signatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein beliebiges anderes Merkmal beinhalten, das aus dem Bild des allgemeinen Zeichens 1040 extrahiert werden kann, um das allgemeine Zeichen 1040 zu beschreiben.
  • Zum Beispiel können in 10 die Kreise, Dreiecke und Sterne, die in der kondensierten Bild-Signatur 1045 gezeigt sind, Bereiche unterschiedlicher Farben repräsentieren. Das Muster, das durch die Kreise, Dreiecke und Sterne repräsentiert wird, kann in der dünnbesetzten Karte 800 gespeichert werden, z. B. innerhalb der 50 Bytes, die als eine Bild-Signatur beinhaltend bezeichnet sind. Insbesondere sind die Kreise, Dreiecke und Sterne nicht unbedingt dazu gedacht, anzugeben, dass derartige Formen als Teil der Bild-Signatur gespeichert sind. Vielmehr sind diese Formen dazu gedacht, erkennbare Bereiche mit erkennbaren Farbunterschieden, Textbereiche, grafische Formen oder andere Variationen von Charakteristiken, die mit einem allgemeinen Zeichen assoziiert sein können, konzeptionell zu repräsentieren. Derartige kondensierte Bild-Signaturen können verwendet werden, um einen Orientierungspunkt in der Form eines allgemeinen Zeichens zu identifizieren. Zum Beispiel kann die kondensierte Bild-Signatur verwendet werden, um eine gleich-nicht-gleich Analyse basierend auf einem Vergleich einer gespeicherten kondensierten Bild-Signatur mit Bilddaten durchzuführen, die zum Beispiel unter Verwendung einer Kamera an Bord eines autonomen Fahrzeugs aufgenommen wurden.
  • Dementsprechend kann die Vielzahl von Orientierungspunkten durch Bildanalyse der Vielzahl von Bildern identifiziert werden, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren. Wie nachstehend in Bezug auf „Crowdsourcing“ erörtert, kann die Bildanalyse zum Identifizieren der Vielzahl von Orientierungspunkten in einigen Ausführungsformen das Akzeptieren potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet. Darüber hinaus kann die Bildanalyse zum Identifizieren der Vielzahl von Orientierungspunkten in einigen Ausführungsformen das Ablehnen potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, einen Schwellenwert überschreitet.
  • Unter erneuter Bezugnahme auf die Zieltrajektorien, die ein Host-Fahrzeug verwenden kann, um ein bestimmtes Straßensegment zu navigieren, zeigt 11A Polynomrepräsentationen von Trajektorien, die während eines Prozesses des Erstellens oder Aufrechterhaltens der dünnbesetzten Karte 800 aufnehmen. Eine Polynomrepräsentation einer Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, kann basierend auf zwei oder mehr rekonstruierten Trajektorien vorheriger Durchquerungen von Fahrzeugen entlang demselben Straßensegment bestimmt werden. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien vorheriger Durchquerungen von Fahrzeugen entlang demselben Straßensegment sein. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, ein Durchschnitt der zwei oder mehr rekonstruierten Trajektorien vorheriger Durchquerungen von Fahrzeugen entlang demselben Straßensegment sein. Andere mathematische Vorgänge können auch verwendet werden, um eine Zieltrajektorie entlang eines Straßenwegs basierend auf rekonstruierten Trajektorien zu erstellen, die von Fahrzeugen gesammelt werden, die entlang eines Straßensegments durchqueren.
  • Wie in 11A gezeigt, kann ein Straßensegment 1100 zu unterschiedlichen Zeiten von einer Anzahl von Fahrzeugen 200 befahren werden. Jedes Fahrzeug 200 kann Daten in Bezug auf einen Weg sammeln, den das Fahrzeug entlang des Straßensegments genommen hat. Der Weg, der von einem bestimmten Fahrzeug befahren wird, kann basierend auf Kameradaten, Beschleunigungsmesserinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen unter anderen möglichen Quellen bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die sich entlang des Straßensegments bewegen, und basierend auf diesen rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für das bestimmte Straßensegment bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Weg eines Host-Fahrzeugs (z. B. geführt durch ein autonomes Navigation-System) darstellen, 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 in einem ersten Zeitraum (z. B. Tag 1) befährt, eine zweite rekonstruierte Trajektorie 1102 kann von einem zweiten Fahrzeug erhalten werden, das das Straßensegment 1100 in einem zweiten Zeitraum (z. B. Tag 2) befährt, und eine dritte rekonstruierte Trajektorie 1103 kann von einem dritten Fahrzeug erhalten werden, das das Straßensegment 1100 in einem dritten Zeitraum (z. B. Tag 3) befährt. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom dargestellt werden, wie beispielsweise ein dreidimensionales Polynom. Es ist zu beachten, dass in einigen Ausführungsformen jede der rekonstruierten Trajektorien an Bord der Fahrzeuge zusammengebaut werden kann, die das Straßensegment 1100 befahren.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien auf einer Server-Seite basierend auf Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die das Straßensegment 1100 befahren. So können beispielsweise in einigen Ausführungsformen die Fahrzeuge 200 Daten an einen oder mehrere Server übertragen, die sich auf ihre Bewegung entlang des Straßensegments 1100 beziehen (z. B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Orientierungspunkte unter anderem). Der Server kann Trajektorien für die Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Zieltrajektorie zum Führen der Navigation eines autonomen Fahrzeugs erzeugen, das zu einem späteren Zeitpunkt basierend auf der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 entlang desselben Straßensegments 1100 fährt. Während eine Zieltrajektorie mit einer einzelnen vorherigen Durchquerung eines Straßensegments assoziiert sein kann, kann in einigen Ausführungsformen jede Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, basierend auf zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen bestimmt werden, die das gleiche Straßensegment befahren. In 11A ist die Zieltrajektorie durch 1110 dargestellt. In einigen Ausführungsformen kann die Zieltrajektorie 1110 basierend auf einem Durchschnitt der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 erzeugt werden. In einigen Ausführungsformen kann die Zieltrajektorie 1110, die in der dünnbesetzten Karte 800 beinhaltet ist, eine Aggregation (z. B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Trajektorien sein.
  • Die 11B und 11C veranschaulichen ferner das Konzept von Zieltrajektorien, die mit Straßensegmenten assoziiert sind, die innerhalb eines geografischen Bereichs 1111 vorhanden sind. Wie in 11B gezeigt, kann ein erstes Straßensegment 1120 innerhalb des geografischen Bereichs 1111 eine mehrspurige Straße beinhalten, die zwei Fahrspuren 1122, die für die Fahrzeugfahrt in einer ersten Richtung bestimmt sind, und zwei zusätzliche Fahrspuren 1124, die für die Fahrzeugfahrt in einer zweiten Richtung entgegengesetzt zur ersten Richtung bestimmt sind, beinhaltet. Die Fahrspuren 1122 und die Fahrspuren 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Der geografische Bereich 1111 kann auch ein abzweigendes Straßensegment 1130 beinhalten, das sich mit dem Straßensegment 1120 schneidet. Das Straßensegment 1130 kann eine zweispurige Straße beinhalten, wobei jede Fahrspur für eine unterschiedliche Fahrtrichtung bestimmt ist. Der geografische Bereich 1111 kann auch andere Straßenmerkmale beinhalten, wie etwa eine Stopplinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsbegrenzungszeichen 1136 und ein Gefahrenzeichen 1138.
  • Wie in 11C gezeigt, kann die dünnbesetzte Karte 800 eine lokale Karte 1140 beinhalten, die ein Straßenmodell zum Unterstützen der autonomen Navigation von Fahrzeugen innerhalb des geografischen Bereichs 1111 beinhaltet. Zum Beispiel kann die lokale Karte 1140 Zieltrajektorien für eine oder mehrere Fahrspuren beinhalten, die mit den Straßensegmenten 1120 und/oder 1130 innerhalb des geografischen Bereichs 1111 assoziiert sind. Zum Beispiel kann die lokale Karte 1140 Zieltrajektorien 1141 und/oder 1142 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es zurückgreifen kann, wenn es die Fahrspuren 1122 überquert. Gleichermaßen kann die lokale Karte 1140 Zieltrajektorien 1143 und/oder 1144 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es zurückgreifen kann, wenn es die Fahrspuren 1124 überquert. Ferner kann die lokale Karte 1140 Zieltrajektorien 1145 und/oder 1146 beinhalten, auf die ein autonomes Fahrzeug zugreifen kann oder auf die es zurückgreifen kann, wenn es das Straßensegment 1130 überquert. Die Zieltrajektorie 1147 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrspuren 1120 (und insbesondere relativ zu der Zieltrajektorie 1141, die mit einer äußersten rechten Fahrspur der Fahrspuren 1120 assoziiert ist) zu dem Straßensegment 1130 (und insbesondere relativ zu einer Zieltrajektorie 1145, die mit einer ersten Seite des Straßensegments 1130 assoziiert ist) übergeht. Gleichermaßen stellt die Zieltrajektorie 1148 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von dem Straßensegment 1130 (und insbesondere relativ zu der Zieltrajektorie 1146) zu einem Abschnitt des Straßensegments 1124 (und insbesondere, wie gezeigt, relativ zu einer Zieltrajektorie 1143, die mit einer linken Fahrspur der Fahrspuren 1124 assoziiert ist) übergeht.
  • Die dünnbesetzte Karte 800 kann auch Repräsentationen von anderen straßenbezogenen Merkmalen beinhalten, die mit dem geografischen Bereich 1111 assoziiert sind. Zum Beispiel kann die dünnbesetzte Karte 800 auch Repräsentationen von einem oder mehreren Orientierungspunkten beinhalten, die in den geografischen Bereich 1111 identifiziert sind. Solche Orientierungspunkte können einen ersten Orientierungspunkt 1150, der mit der Stopplinie 1132 assoziiert ist, einen zweiten Orientierungspunkt 1152, der mit dem Stoppschild 1134 assoziiert ist, einen dritten Orientierungspunkt, der mit dem Geschwindigkeitsbegrenzungszeichen 1154 assoziiert ist, und einen vierten Orientierungspunkt 1156, der mit dem Gefahrenzeichen 1138 assoziiert ist, beinhalten. Solche Orientierungspunkte können beispielsweise verwendet werden, um ein autonomes Fahrzeug beim Bestimmen seines aktuellen Orts relativ zu einer beliebigen der gezeigten Zieltrajektorien zu unterstützen, sodass das Fahrzeug seinen Kurs anpassen kann, um eine Richtung der Zieltrajektorie am bestimmten Ort anzupassen.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 ebenfalls Straßensignaturprofile beinhalten. Derartige Straßensignaturprofile können mit einer beliebigen erkennbaren/messbaren Variation in mindestens einem Parameter, der mit einer Straße assoziiert ist, assoziiert sein. Beispielsweise können in einigen Fällen derartige Profile mit Variationen der Straßenoberflächeninformationen assoziiert sein, wie etwa Variationen der Oberflächenunebenheit eines bestimmten Straßensegments, Variationen der Straßenbreite über ein bestimmtes Straßensegment, Variationen der Abstände zwischen gestrichelten Linien, die entlang eines bestimmten Straßensegments gemalt sind, Variationen der Straßenkrümmung entlang eines bestimmten Straßensegments usw. 11D zeigt ein Beispiel eines Straßensignaturprofils 1160. Während das Profil 1160 einen beliebigen der vorstehend erwähnten Parameter oder andere darstellen kann, kann das Profil 1160 in einem Beispiel ein Maß der Straßenoberflächenunebenheit darstellen, wie es zum Beispiel durch Überwachen eines oder mehrerer Sensoren erhalten wurde, die Ausgaben bereitstellen, die eine Menge der Aufhängungsverschiebung angeben, wenn ein Fahrzeug ein bestimmtes Straßensegment befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite darstellen, wie sie basierend auf Bilddaten bestimmt wird, die über eine Kamera an Bord eines Fahrzeugs, das ein bestimmtes Straßensegment befährt, erhalten wurden. Derartige Profile können beispielsweise beim Bestimmen eines bestimmten Orts eines autonomen Fahrzeugs relativ zu einer bestimmten Zieltrajektorie nützlich sein. Das heißt, wenn es ein Straßensegment befährt, kann ein autonomes Fahrzeug ein Profil messen, das mit einem oder mehreren Parametern assoziiert ist, die mit dem Straßensegment assoziiert sind. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/abgeglichen werden kann, das die Parametervariation in Bezug auf die Position entlang des Straßensegments darstellt, können die gemessenen und vorbestimmten Profile verwendet werden (z. B. durch Überlagern entsprechender Abschnitte der gemessenen und vorbestimmten Profile), um eine aktuelle Position entlang des Straßensegments und somit eine aktuelle Position relativ zu einer Zieltrajektorie für das Straßensegment zu bestimmen.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 unterschiedliche Trajektorien basierend auf unterschiedlichen Charakteristiken beinhalten, die mit einem Benutzer von autonomen Fahrzeugen, Umgebungsbedingungen und/oder anderen Parametern in Bezug auf die Fahrt assoziiert sind. Beispielsweise können in einigen Ausführungsformen unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder Profilen erzeugt werden. Die dünnbesetzte Karte 800, die solche unterschiedlichen Trajektorien beinhaltet, kann an unterschiedliche autonome Fahrzeuge unterschiedlicher Benutzer bereitgestellt werden. Beispielsweise können einige Benutzer es bevorzugen, mautpflichtige Straßen zu vermeiden, während andere es bevorzugen können, die kürzesten oder schnellsten Routen zu nehmen, unabhängig davon, ob es eine mautpflichtige Straße auf der Route gibt. Die offenbarten Systeme können unterschiedliche dünnbesetzte Karten mit unterschiedlichen Trajektorien basierend auf solchen unterschiedlichen Benutzerpräferenzen oder -profilen erzeugen. Als ein weiteres Beispiel können einige Benutzer es bevorzugen, auf einer sich schnell bewegenden Fahrspur zu fahren, während andere es bevorzugen können, jederzeit eine Position auf der zentralen Fahrspur aufrechtzuerhalten.
  • Unterschiedliche Trajektorien können basierend auf unterschiedlichen Umgebungsbedingungen, wie etwa Tag und Nacht, Schnee, Regen, Nebel usw., erzeugt und in der dünnbesetzten Karte 800 beinhaltet werden. Autonome Fahrzeuge, die unter unterschiedlichen Umgebungsbedingungen fahren, können mit der dünnbesetzten Karte 800 bereitgestellt werden, die basierend auf solchen unterschiedlichen Umgebungsbedingungen erzeugt wird. In einigen Ausführungsformen können Kameras, die an autonomen Fahrzeugen bereitgestellt werden, die Umgebungsbedingungen detektieren und können solche Informationen zurück an einen Server bereitstellen, der dünnbesetzte Karten erzeugt und bereitstellt. Zum Beispiel kann der Server eine bereits erzeugte dünnbesetzte Karte 800 erzeugen oder aktualisieren, um Trajektorien zu beinhalten, die für autonomes Fahren unter den detektierten Umgebungsbedingungen geeigneter oder sicherer sein können. Die Aktualisierung der dünnbesetzten Karte 800 basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge auf der Straße fahren.
  • Andere unterschiedliche Parameter in Bezug auf das Fahren können ebenfalls als Grundlage zum Erzeugen und Bereitstellen unterschiedlicher dünnbesetzter Karten an unterschiedliche autonome Fahrzeuge verwendet werden. Wenn zum Beispiel ein autonomes Fahrzeug mit einer hohen Geschwindigkeit fährt, können Kurven enger sein. Trajektorien, die mit spezifischen Fahrspuren assoziiert sind, anstatt Straßen, können in der dünnbesetzten Karte 800 beinhaltet sein, sodass das autonome Fahrzeug innerhalb einer spezifischen Fahrspur bleiben kann, während das Fahrzeug einer spezifischen Trajektorie folgt. Wenn ein Bild, das von einer Kamera an Bord des autonomen Fahrzeugs aufgenommen wurde, anzeigt, dass das Fahrzeug außerhalb der Fahrspur gedriftet ist (z. B. die Fahrspurmarkierung überquert hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug gemäß der spezifischen Trajektorie zurück auf die bestimmte Fahrspur zu bringen.
  • Crowdsourcing einer dünnbesetzten Karte
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für eine autonome Fahrzeugnavigation erzeugen. Zum Beispiel können offenbarte Systeme und Verfahren Crowdsourcing-Daten zum Erzeugen eines dünnbesetzten Fahrzeugs verwenden, das ein oder mehrere autonome Fahrzeuge verwenden können, um entlang einem System von Straßen zu navigieren. Im hier verwendeten Sinne bedeutet „Crowdsourcing“, dass Daten von verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen) empfangen werden, die zu unterschiedlichen Zeiten auf einem Straßensegment fahren, und derartige Daten verwendet werden, um das Straßenmodell zu erzeugen und/oder zu aktualisieren. Das Modell kann wiederum an die Fahrzeuge oder andere Fahrzeuge übertragen werden, die später entlang dem Straßensegment fahren, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Zieltrajektorien beinhalten, die bevorzugte Trajektorien darstellen, denen autonome Fahrzeuge folgen sollten, wenn sie ein Straßensegment befahren. Die Zieltrajektorien können dieselben sein wie eine rekonstruierte tatsächliche Trajektorie, die von einem Fahrzeug gesammelt wird, das ein Straßensegment befährt, die vom Fahrzeug an einen Server übertragen werden kann. In einigen Ausführungsformen können sich die Zieltrajektorien von tatsächlichen Trajektorien unterscheiden, die ein oder mehrere Fahrzeuge zuvor genommen haben, wenn sie ein Straßensegment befahren. Die Zieltrajektorien können basierend auf tatsächlichen Trajektorien erzeugt werden (z. B. durch Mitteln oder einen beliebigen anderen geeigneten Vorgang).
  • Die Fahrzeugtrajektoriendaten, die ein Fahrzeug an 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 sich auf diese beziehen kann, sich aber von der tatsächlichen rekonstruierten Trajektorie unterscheiden kann. Zum Beispiel 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 den Trajektorieninformationen können andere Informationen zur potenziellen Verwendung beim Erstellen einer dünnbesetzten Datenkarte 800 Informationen beinhalten, die sich auf potenzielle Orientierungspunktkandidaten beziehen. Zum Beispiel können die offenbarten Systeme und Verfahren durch Crowd-Sourcing von Informationen potenzielle Orientierungspunkte in einer Umgebung identifizieren und Orientierungspunkt-Positionen 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 anzupassen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug erzeugen kann, wenn sich das Fahrzeug entlang einer Straße bewegt, können durch ein beliebiges geeignetes Verfahren erhalten werden. Bei einigen Ausführungsformen können die rekonstruierten Trajektorien durch Zusammenfügen von Bewegungssegmenten für das Fahrzeug unter Verwendung von z. B. einer Eigenbewegungsschätzung (z. B. dreidimensionaler Translation und dreidimensionaler Rotation der Kamera und somit der Karosserie des Fahrzeugs) entwickelt werden. Die Rotations- und Translationsschätzung kann basierend auf einer Analyse von Bildern bestimmt werden, die durch eine oder mehrere Bilderfassungsvorrichtungen zusammen mit Informationen von anderen Sensoren oder Vorrichtungen, wie etwa Trägheitssensoren und Geschwindigkeitssensoren, aufgenommen werden. Zum Beispiel können die Trägheitssensoren einen Beschleunigungsmesser oder andere geeignete Sensoren beinhalten, die dazu konfiguriert sind, Änderungen der Translation und/oder Rotation der Fahrzeugkarosserie zu messen. Das Fahrzeug kann einen Geschwindigkeitssensor beinhalten, der eine Geschwindigkeit des Fahrzeugs misst.
  • Bei einigen Ausführungsformen kann die Eigenbewegung der Kamera (und somit der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der aufgenommenen Bilder geschätzt werden. Eine optische Flussanalyse einer Sequenz von Bildern identifiziert eine Bewegung von Pixeln aus der Sequenz von Bildern und bestimmt basierend auf der identifizierten Bewegung Bewegungen des Fahrzeugs. Die Eigenbewegung kann im Laufe der Zeit und entlang des Straßensegments integriert werden, um eine Trajektorie zu rekonstruieren, die mit dem Straßensegment assoziiert ist, dem das Fahrzeug gefolgt ist.
  • Daten (z. B. rekonstruierte Trajektorien), die von mehreren Fahrzeugen in mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt werden, können verwendet werden, um das Straßenmodell (z. B. einschließlich der Zieltrajektorien usw.) zu erstellen, das in der dünnbesetzten Datenkarte 800 beinhaltet ist. Daten, die von mehreren Fahrzeugen in 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 in Bezug auf die Straßengeometrie und/oder Orientierungspunkte von mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten durch das gemeinsame Straßensegment fahren. Derartige Daten, die von unterschiedlichen Fahrzeugen empfangen werden, können kombiniert werden, um das Straßenmodell zu erzeugen und/oder das Straßenmodell zu aktualisieren.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Zieltrajektorie) entlang eines Straßensegments kann durch eine Kurve im dreidimensionalen Raum dargestellt werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektorienkurve kann aus der Analyse eines Videostroms oder einer Vielzahl von Bildern bestimmt werden, die von einer am Fahrzeug installierten Kamera aufgenommen werden. In einigen Ausführungsformen wird ein Ort in jedem Einzelbild (frame) bzw. Bild identifiziert, das sich einige Meter vor der aktuellen Position des Fahrzeugs befindet. Dieser Ort ist der Ort, zu dem das Fahrzeug in einem vorbestimmten Zeitraum voraussichtlich fahren wird. Dieser Vorgang kann Einzelbild für Einzelbild wiederholt werden und gleichzeitig kann das Fahrzeug die Eigenbewegung (Rotation und Translation) der Kamera berechnen. Bei jedem Einzelbild oder Bild wird ein Kurzstreckenmodell für den gewünschten Weg vom Fahrzeug in einem Referenzrahmen erzeugt, der an der Kamera angebracht ist. Die Kurzstreckenmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem Koordinatenrahmen zu erhalten, der ein beliebiger 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 beinhalten oder verbinden kann.
  • Um das Kurzstreckenstraßenmodell bei jedem Einzelbild abzuschließen, können ein oder mehrere Erfassungsmodule verwendet werden. Zum Beispiel kann ein Bottom-up-Fahrspur-Detektionsmodul verwendet werden. Das Bottom-up-Fahrspur-Detektionsmodul kann nützlich sein, wenn Fahrspurmarkierungen auf der Straße gezogen werden. Dieses Modul kann nach Kanten im Bild suchen und sie zusammenfügen, um die Fahrspurmarkierungen zu bilden. Ein zweites Modul kann zusammen mit dem Bottom-up-Fahrspur-Detektionsmodul verwendet werden. Das zweite Modul ist ein tiefes neuronales End-to-End-Netz, das trainiert werden kann, um den korrekten Kurzstreckenweg aus einem Eingabebild vorherzusagen. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen detektiert und in einen dreidimensionalen Raum transformiert werden, der virtuell an der Kamera angebracht sein kann.
  • Obwohl das rekonstruierte Trajektorien-Modellierungsverfahren eine Ansammlung von Fehlern aufgrund der Integration von Eigenbewegung über einen langen Zeitraum einführen kann, was eine Rauschkomponente beinhalten kann, können solche Fehler unbedeutend sein, da das erzeugte Modell eine ausreichende Genauigkeit für die Navigation über eine lokale Skala bereitstellen kann. Zusätzlich ist es möglich, den integrierten Fehler durch Verwendung externer Informationsquellen, wie etwa Satellitenbildern oder geodätischen Messungen, zu beheben. Beispielsweise können die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um angesammelte Fehler zu beheben. Die GNSS-Positionierungssignale sind jedoch möglicherweise nicht immer verfügbar und genau. Die offenbarten Systeme und Verfahren können eine Lenkanwendung ermöglichen, die schwach von der Verfügbarkeit und Genauigkeit der GNSS-Positionierung abhängt. In solchen Systemen kann die Verwendung der GNSS-Signale beschränkt sein. Beispielsweise können die offenbarten Systeme in einigen Ausführungsformen die GNSS-Signale nur für Datenbankindexierungszwecke verwenden.
  • In einigen Ausführungsformen kann die Entfernungsskala (z. B. lokale Skala), die für eine autonome Fahrzeugnavigation-Lenkanwendung relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Entfernungen können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: Planen der vorausliegenden Trajektorie und Lokalisieren des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über eine typische Entfernung von 40 Metern voraus (oder einen beliebigen anderen geeigneten Abstand voraus, wie etwa 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Steueralgorithmus das Fahrzeug gemäß einem Zielpunkt lenkt, der sich 1,3 Sekunden voraus befindet (oder einer beliebigen anderen Zeit, wie etwa 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.). Die Lokalisierungsaufgabe verwendet das Straßenmodell über eine typische Entfernung von 60 Metern hinter dem Auto (oder beliebige andere geeignete Entfernungen, wie etwa 50 Meter, 100 Meter, 150 Meter usw.) gemäß einem „Endausrichtung“ genannten Verfahren, das in einem anderen Abschnitt ausführlicher beschrieben wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das eine ausreichende Genauigkeit über eine bestimmte Entfernung, wie etwa 100 Meter, aufweist, sodass eine geplante Trajektorie nicht um mehr als beispielsweise 30 cm von der Fahrspurmitte abweicht.
  • Wie vorstehend erörtert, kann ein dreidimensionales Straßenmodell aus dem Detektieren von Kurzstreckenabschnitten und Zusammenfügen derselben konstruiert werden. Das Zusammenfügen kann durch Berechnen eines Sechsgrad-Eigenbewegungsmodells unter Verwendung der Videos und/oder Bilder, die von der Kamera aufgenommen werden, Daten von den Trägheitssensoren, die die Bewegungen des Fahrzeugs reflektieren, und des Host-Fahrzeuggeschwindigkeitssignals ermöglicht werden. Der angesammelte Fehler kann über eine gewisse lokale Entfernungsskala, wie etwa in der Größenordnung von 100 Metern, klein genug sein. All dies kann in einer einzelnen Fahrt über ein bestimmtes Straßensegment abgeschlossen werden.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln und seine Genauigkeit weiter zu erhöhen. Das gleiche Auto kann die gleiche Strecke mehrmals fahren oder mehrere Autos können ihre gesammelten Modelldaten an einen zentralen Server senden. In jedem Fall kann eine Anpassungsprozedur durchgeführt werden, um überlappende Modelle zu identifizieren und eine Mittelung zu ermöglichen, um Zieltrajektorien zu erzeugen. Das erstellte Modell (z. B. einschließlich der Zieltrajektorien) kann zum Lenken verwendet werden, sobald ein Konvergenzkriterium erfüllt ist. Nachfolgende Fahrten können für weitere Modellverbesserungen und zur Anpassung an Infrastrukturänderungen verwendet werden.
  • Das Teilen der Fahrerfahrung (wie etwa erfasste Daten) zwischen mehreren Autos wird möglich, wenn sie mit einem zentralen Server verbunden sind. Jeder Fahrzeugkunde kann eine teilweise Kopie eines universellen Straßenmodells speichern, das für seine aktuelle Position relevant sein kann. Eine bidirektionale Aktualisierungsprozedur zwischen den Fahrzeugen und dem Server kann durch die Fahrzeuge und den Server durchgeführt werden. Das vorstehend erörterte Konzept mit geringem Fußabdruck ermöglicht es den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen unter Verwendung einer sehr geringen Bandbreite durchzuführen.
  • Informationen, die sich auf potenzielle Orientierungspunkte beziehen, können ebenfalls bestimmt und an einen zentralen Server weitergeleitet werden. Zum Beispiel 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 beinhalten. Die physischen Eigenschaften können eine physische Größe (z. B. Höhe, Breite) des Orientierungspunkts, eine Entfernung von einem Fahrzeug zu einem Orientierungspunkt, eine Entfernung zwischen dem Orientierungspunkt zu einem vorherigen Orientierungspunkt, die seitliche Position des Orientierungspunkts (z. B. die Position des Orientierungspunkts relativ zur Fahrspur), die GPS-Koordinaten des Orientierungspunkts, einen Orientierungspunkttyp, eine Textidentifizierung auf dem Orientierungspunkt usw. beinhalten. Zum Beispiel kann ein Fahrzeug ein oder mehrere Bilder analysieren, die von einer Kamera aufgenommen wurden, um einen potenziellen Orientierungspunkt zu detektieren, wie etwa ein Geschwindigkeitsbegrenzungszeichen.
  • Das Fahrzeug kann eine Entfernung vom Fahrzeug zum Orientierungspunkt basierend auf der Analyse des einen oder der mehreren Bilder bestimmen. In einigen Ausführungsformen kann die Entfernung basierend auf der Analyse von Bildern des Orientierungspunkts unter Verwendung eines geeigneten Bildanalyseverfahrens, wie etwa eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens, bestimmt werden. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren konfiguriert sein, um eine Art oder Klassifizierung eines potenziellen Orientierungspunkts zu bestimmen. Falls das Fahrzeug bestimmt, dass ein bestimmter potenzieller Orientierungspunkt einer vorbestimmten Art oder Klassifizierung entspricht, die in einer dünnbesetzten Karte gespeichert ist, kann es ausreichend sein, dass das Fahrzeug dem Server eine Angabe der Art oder Klassifizierung des Orientierungspunkts zusammen mit seinem Ort kommuniziert. Der Server kann derartige Angaben speichern. Zu einem späteren Zeitpunkt können andere Fahrzeuge ein Bild des Orientierungspunkts aufnehmen, das Bild verarbeiten (z. B. unter Verwendung eines Klassifikators) und das Ergebnis aus der Verarbeitung des Bilds mit der Angabe vergleichen, die im Server in Bezug auf die Art des Orientierungspunkts gespeichert ist. Es kann verschiedene Arten von Orientierungspunkten geben, und verschiedene Arten von Orientierungspunkten können mit verschiedenen Arten von Daten assoziiert sein, die auf den Server hochgeladen und dort gespeichert werden sollen, verschiedene Verarbeitungen an Bord des Fahrzeugs können den Orientierungspunkt detektieren und Informationen über den Orientierungspunkt an den Server kommunizieren, und das System an Bord des Fahrzeugs kann die Orientierungspunktdaten vom Server empfangen und die Orientierungspunktdaten zum Identifizieren eines Orientierungspunkts in der autonomen Navigation verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßensegment fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Kunden) können eine Kurve erzeugen, die ihre Fahrt (z. B. durch Eigenbewegungsintegration) in einem beliebigen Koordinatenrahmen beschreibt. Die Fahrzeuge können Orientierungspunkte detektieren und sie im gleichen Rahmen lokalisieren. Die Fahrzeuge können die Kurve und die Orientierungspunkte auf den Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein einheitliches Straßenmodell erzeugen. Zum Beispiel kann, wie nachstehend in Bezug auf 19 erörtert, der Server eine dünnbesetzte Karte mit dem einheitlichen Straßenmodell unter Verwendung der hochgeladenen Kurven und Orientierungspunkte erzeugen.
  • Der Server kann das Modell auch an Kunden (z. B. Fahrzeuge) verteilen. Zum Beispiel kann der Server die dünnbesetzte Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder periodisch aktualisieren, wenn er neue Daten von den Fahrzeugen empfängt. Zum Beispiel kann der Server die neuen Daten verarbeiten, um zu bewerten, ob die Daten Informationen beinhalten, die eine aktualisierte oder Erzeugung neuer Daten auf dem Server auslösen sollten. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge verteilen, um autonome Fahrzeugnavigation bereitzustellen.
  • Der Server kann ein oder mehrere Kriterien verwenden, um zu bestimmen, ob neue Daten, die von den Fahrzeugen empfangen werden, eine Aktualisierung des Modells auslösen oder die Erzeugung neuer Daten auslösen sollten. Wenn zum Beispiel die neuen Daten anzeigen, dass ein zuvor erkannter Orientierungspunkt an einem bestimmten Ort nicht mehr vorhanden ist oder durch einen anderen Orientierungspunkt ersetzt wird, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten. Als ein anderes Beispiel kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten, wenn die neuen Daten anzeigen, dass ein Straßensegment geschlossen wurde und wenn dies durch Daten bestätigt wurde, die von anderen Fahrzeugen empfangen wurden.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Abschnitt des Modells) an ein oder mehrere Fahrzeuge verteilen, die auf dem Straßensegment fahren, mit dem die Aktualisierungen des Modells assoziiert sind. Der Server kann das aktualisierte Modell auch an Fahrzeuge verteilen, die auf dem Straßensegment fahren werden, oder Fahrzeuge, deren geplante Fahrt das Straßensegment beinhaltet, mit dem die Aktualisierungen des Modells assoziiert sind. Während zum Beispiel ein autonomes Fahrzeug entlang einem anderen Straßensegment fährt, bevor es das Straßensegment erreicht, mit dem eine Aktualisierung assoziiert ist, kann der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug das Straßensegment erreicht.
  • In einigen Ausführungsformen kann der entfernte Server Trajektorien und Orientierungspunkte von mehreren Kunden (z. B. Fahrzeugen, die entlang einem gemeinsamen Straßensegment fahren) sammeln. Der Server kann Kurven unter Verwendung von Orientierungspunkten anpassen und ein durchschnittliches Straßenmodell basierend auf den Trajektorien erstellen, die von den mehreren Fahrzeugen gesammelt werden. Der Server kann auch einen Verlauf von Straßen und den wahrscheinlichsten Weg an jedem Knoten oder jeder Verbindung des Straßensegments berechnen. Zum Beispiel kann der entfernte Server die Trajektorien ausrichten, um eine durch Crowdsourcing erhaltene dünnbesetzte Karte aus den gesammelten Trajektorien zu erzeugen.
  • Der Server kann Orientierungspunkteigenschaften, die von mehreren Fahrzeugen empfangen werden, die entlang dem gemeinsamen Straßensegment gefahren sind, wie etwa die Entfernungen zwischen einem Orientierungspunkt zu einem anderen (z. B. einem vorherigen entlang dem Straßensegment), wie durch mehrere Fahrzeuge gemessen, mitteln, um einen Bogenlängenparameter zu bestimmen und die Lokalisierung entlang dem Weg und die Geschwindigkeitskalibrierung für jedes Kundenfahrzeug zu unterstützen. Der Server kann die physikalischen Abmessungen eines Orientierungspunkts, der durch mehrere Fahrzeuge gemessen wurde, die entlang dem gemeinsamen Straßensegment gefahren sind und denselben Orientierungspunkt erkannt haben, mitteln. Die gemittelten physikalischen Abmessungen können verwendet werden, um die Entfernungsschätzung zu unterstützen, wie etwa die Entfernung vom Fahrzeug zum Orientierungspunkt. Der Server kann seitliche Positionen eines Orientierungspunkts (z. B. Position von der Fahrspur, auf der Fahrzeuge zum Orientierungspunkt fahren), die durch mehrere Fahrzeuge gemessen wurden, die entlang dem gemeinsamen Straßensegment gefahren sind und denselben Orientierungspunkt erkannt haben, mitteln. Die gemittelte seitliche Position kann verwendet werden, um die Fahrspurzuweisung zu unterstützen. Der Server kann die GPS-Koordinaten des Orientierungspunkts, die durch mehrere Fahrzeuge gemessen wurden, die entlang dem gleichen Straßensegment gefahren sind und denselben Orientierungspunkt erkannt haben, mitteln. Die gemittelten GPS-Koordinaten des Orientierungspunkts können verwendet werden, um die globale Lokalisierung oder Positionierung des Orientierungspunkts im Straßenmodell zu unterstützen.
  • In einigen Ausführungsformen kann der Server Modelländerungen, wie etwa Konstruktionen, Umleitungen, neue Zeichen, Entfernen von Zeichen usw., basierend auf Daten identifizieren, die von den Fahrzeugen empfangen wurden. Der Server kann das Modell kontinuierlich oder periodisch oder sofort aktualisieren, wenn er neue Daten von den Fahrzeugen empfängt. Der Server kann Aktualisierungen des Modells oder des aktualisierten Modells an Fahrzeuge verteilen, um autonome Navigation bereitzustellen. Zum Beispiel kann, wie nachstehend ausführlicher erörtert, der Server crowdsourcing-Daten verwenden, um „Phantom“-Orientierungspunkte herauszufiltern, die durch Fahrzeuge detektiert wurden.
  • In einigen Ausführungsformen kann der Server Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann Daten analysieren, die vom Fahrzeug zu dem Zeitpunkt und Ort empfangen wurden, an dem ein Eingriff erfolgt, und/oder Daten, die vor dem Zeitpunkt empfangen wurden, an dem der Eingriff erfolgt ist. Der Server kann bestimmte Abschnitte der Daten identifizieren, die den Eingriff verursacht haben oder in engem Zusammenhang damit stehen, zum Beispiel Daten, die eine vorübergehende Fahrspursperrung anzeigen, oder Daten, die einen Fußgänger auf der Straße anzeigen. Der Server kann das Modell basierend auf den identifizierten Daten aktualisieren. Zum Beispiel kann der Server eine oder mehrere im Modell gespeicherte Trajektorien modifizieren.
  • 12 ist eine schematische Veranschaulichung eines Systems, das Crowdsourcing verwendet, um eine dünnbesetzte Karte zu erzeugen (sowie unter Verwendung einer crowdsourcing dünnbesetzten Karte zu verteilen und zu navigieren). 12 zeigt ein Straßensegment 1200, das eine oder mehrere Fahrspuren beinhaltet. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kann zur gleichen Zeit oder zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren (obwohl in 12 zur gleichen Zeit auf dem Straßensegment 1200 erscheinend gezeigt). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Der Einfachheit des vorliegenden Beispiels halber werden alle der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 als autonome Fahrzeuge angenommen.
  • Jedes Fahrzeug kann Fahrzeugen ähnlich sein, die in anderen Ausführungsformen offenbart sind (z. B. Fahrzeug 200), und kann Komponenten oder Vorrichtungen beinhalten, die in Fahrzeugen beinhaltet sind oder diesen zugeordnet sind, die in anderen Ausführungsformen offenbart sind. Jedes Fahrzeug kann mit einer Bilderfassungsvorrichtung oder Kamera (z. B. Bilderfassungsvorrichtung 122 oder Kamera 122) ausgestattet sein. Jedes Fahrzeug kann mit einem entfernten Server 1230 über ein oder mehrere Netzwerke (z. B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 kommunizieren, wie durch die gestrichelten Linien angegeben. Jedes Fahrzeug kann Daten an den Server 1230 übertragen und Daten vom Server 1230 empfangen. Zum Beispiel kann der Server 1230 Daten von mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren, und kann die gesammelten Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells zu erzeugen. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an die Fahrzeuge übertragen, die Daten an den Server 1230 übertragen haben. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, 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 die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 gesammelt (z. B. detektiert, erfasst oder gemessen) werden, an den Server 1230 übertragen werden. In einigen Ausführungsformen können die Navigationsinformationen dem gemeinsamen Straßensegment 1200 zugeordnet sein. Die Navigationsinformationen können eine Trajektorie beinhalten, die jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 zugeordnet ist, wenn jedes Fahrzeug über das Straßensegment 1200 fährt. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten rekonstruiert werden, die durch verschiedene Sensoren und Vorrichtungen erfasst werden, die am Fahrzeug 1205 bereitgestellt werden. Zum Beispiel kann die Trajektorie basierend auf mindestens einem von Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Orientierungspunktdaten, Straßengeometrie- oder -profildaten, Fahrzeugpositionsbestimmungsdaten und Eigenbewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten von Trägheitssensoren, wie etwa Beschleunigungsmesser, und der Geschwindigkeit des Fahrzeugs 1205, die durch einen Geschwindigkeitssensor erfasst wird, rekonstruiert werden. Zusätzlich kann die Trajektorie in einigen Ausführungsformen basierend auf einer erfassten Eigenbewegung der Kamera bestimmt werden (z. B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225), was dreidimensionale Translation und/oder dreidimensionale Rotationen (oder Rotationsbewegungen) angeben kann. Die Eigenbewegung der Kamera (und somit der Fahrzeugkarosserie) kann aus einer Analyse von einem oder mehreren Bildern bestimmt werden, die durch die Kamera aufgenommen werden.
  • In einigen Ausführungsformen kann die Trajektorie des Fahrzeugs 1205 durch einen Prozessor bestimmt werden, der an Bord des Fahrzeugs 1205 bereitgestellt und an den Server 1230 übertragen wird. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die durch die verschiedenen Sensoren und Vorrichtungen erfasst werden, die im Fahrzeug 1205 bereitgestellt werden, und die Trajektorie basierend auf den Daten bestimmen, die vom Fahrzeug 1205 empfangen werden.
  • In einigen Ausführungsformen können die Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 an den Server 1230 übertragen werden, Daten in Bezug auf die Straßenoberfläche, die Straßengeometrie oder das Straßenprofil beinhalten. Die Geometrie des Straßensegments 1200 kann eine Fahrspurstruktur und/oder Orientierungspunkte beinhalten. Die Fahrspurstruktur kann die Gesamtanzahl der Fahrspuren des Straßensegments 1200, die Art der Fahrspuren (z. B. Einwegspur, Zweiwegspur, Fahrspur, Überholspur usw.), Markierungen auf Fahrspuren, Breite der Fahrspuren usw. beinhalten. In einigen Ausführungsformen können die Navigationsinformationen eine Fahrspurzuweisung beinhalten, z. B. welche Fahrspur einer Vielzahl von Fahrspuren ein Fahrzeug befährt. Beispielsweise kann die Fahrspurzuweisung mit einem numerischen Wert „3“ assoziiert sein, der angibt, dass das Fahrzeug auf der dritten Fahrspur von links oder rechts fährt. Als ein weiteres Beispiel kann die Fahrspurzuweisung mit einem Textwert „mittlere Fahrspur“ assoziiert sein, der angibt, dass das Fahrzeug auf der mittleren Fahrspur fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nichtflüchtigen computerlesbaren Medium speichern, wie etwa einer Festplatte, einer Compact Disc, einem Band, einem Speicher usw. Der Server 1230 kann (z. B. durch einen im Server 1230 enthaltenen Prozessor) mindestens einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für das gemeinsame Straßensegment 1200 basierend auf den von der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen und kann das Modell als einen Teil einer dünnbesetzten Karte speichern. Der Server 1230 kann eine mit jeder Fahrspur assoziierte Trajektorie basierend auf Crowdsourcing-Daten (z. B. Navigationsinformationen) bestimmen, die von mehreren Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die zu unterschiedlichen Zeiten auf einer Fahrspur des Straßensegments fahren. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder einen Abschnitt des Modells (z. B. einen aktualisierten Abschnitt) basierend auf einer Vielzahl von Trajektorien erzeugen, die basierend auf den Crowd-Sourcing-Navigationsdaten bestimmt werden. Der Server 1230 kann das Modell oder den aktualisierten Abschnitt des Modells an ein oder mehrere autonome Fahrzeuge 1205, 1210, 1215, 1220 und 1225 übertragen, die auf dem Straßensegment 1200 fahren, oder an beliebige andere autonome Fahrzeuge, die zu einem späteren Zeitpunkt auf dem Straßensegment fahren, um ein vorhandenes Straßennavigationsmodell für autonome Fahrzeuge zu aktualisieren, das in einem Navigationssystem der Fahrzeuge bereitgestellt ist. Das Straßennavigationsmodell für autonome Fahrzeuge kann von den autonomen Fahrzeugen beim autonomen Navigieren entlang dem gemeinsamen Straßensegment 1200 verwendet werden.
  • Wie vorstehend erörtert, kann das Straßennavigationsmodell für autonome Fahrzeuge in einer dünnbesetzten Karte (z. B. der in 8 dargestellten dünnbesetzten Karte 800) beinhaltet sein. Die dünnbesetzte Karte 800 kann eine dünnbesetzte Aufzeichnung von Daten beinhalten, die sich auf die Straßengeometrie und/oder Orientierungspunkte entlang einer Straße beziehen, die ausreichend Informationen zum Führen der autonomen Navigation eines autonomen Fahrzeugs bereitstellen kann, jedoch keine übermäßige Datenspeicherung erfordert. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge separat von der dünnbesetzten Karte 800 gespeichert werden und Kartendaten von der dünnbesetzten Karte 800 verwenden, wenn das Modell zur Navigation ausgeführt wird. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge Kartendaten verwenden, die in der dünnbesetzten Karte 800 beinhaltet sind, um Zieltrajektorien entlang dem Straßensegment 1200 zu bestimmen, um die autonome Navigation der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder anderer Fahrzeuge, die später entlang dem Straßensegment 1200 fahren, zu führen. Wenn beispielsweise das Straßennavigationsmodell für autonome Fahrzeuge durch einen Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 beinhaltet ist, kann das Modell den Prozessor veranlassen, die basierend auf den Navigationsinformationen bestimmten Trajektorien, die vom Fahrzeug 1205 empfangen werden, mit vorbestimmten Trajektorien zu vergleichen, die in der dünnbesetzten Karte 800 beinhaltet sind, um den aktuellen Fahrverlauf 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 beinhaltet. Wie ein Fachmann verstehen würde, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Reihe von Polynomen zum Anpassen von Daten definiert ist. Ein Spline zum Anpassen der dreidimensionalen Geometriedaten der Straße kann einen linearen Spline (erste Ordnung), einen quadratischen Spline (zweite Ordnung), einen kubischen Spline (dritte Ordnung) oder beliebige andere Splines (andere Ordnungen) oder eine Kombination davon beinhalten. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnungen beinhalten, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z. B. anpassen). In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge einen dreidimensionalen Spline beinhalten, der einer Zieltrajektorie entlang eines gemeinsamen Straßensegments (z. B. Straßensegment 1200) oder einer Fahrspur des Straßensegments 1200 entspricht.
  • Wie vorstehend erörtert, kann das Straßennavigationsmodell für autonome Fahrzeuge, das in der dünnbesetzten Karte beinhaltet ist, andere Informationen beinhalten, wie etwa die Identifizierung von mindestens einem Orientierungspunkt entlang Straßensegment 1200. Der Orientierungspunkt kann innerhalb eines Sichtfelds einer Kamera (z. B. Kamera 122) sichtbar sein, die an jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 installiert ist. In einigen Ausführungsformen kann die Kamera 122 ein Bild eines Orientierungspunkts aufnehmen. Ein Prozessor (z. B. Prozessor 180, 190 oder Verarbeitungseinheit 110), der am Fahrzeug 1205 bereitgestellt ist, kann das Bild des Orientierungspunkts verarbeiten, um Identifizierungsinformationen für den Orientierungspunkt zu extrahieren. Die Orientierungspunkt-Identifizierungsinformationen können in der dünnbesetzten Karte 800 gespeichert werden, anstatt eines tatsächlichen Bilds des Orientierungspunkts. Die Orientierungspunkt-Identifizierungsinformationen können viel weniger Speicherplatz erfordern als ein tatsächliches Bild. Andere Sensoren oder Systeme (z. B. GPS-System) können ebenfalls bestimmte Identifizierungsinformationen des Orientierungspunkts bereitstellen (z. B. Position des Orientierungspunkts). Der Orientierungspunkt kann mindestens eines von einem Verkehrszeichen, einer Pfeil-Markierung, einer Fahrspur-Markierung, einer Markierung mit gestrichelter Fahrspur, einer Ampel, einer Stopplinie, einem Richtungszeichen (z. B. einem Autobahnausweichschild mit einem Pfeil, der eine Richtung angibt, einem Autobahnzeichen mit Pfeilen, die in unterschiedliche Richtungen oder Stellen zeigen), einer Orientierungspunkt-Bake (landmark beacon) oder einem Laternenpfosten beinhalten. Eine Orientierungspunkt-Bake bezieht sich auf eine Vorrichtung (z. B. eine RFID-Vorrichtung), die entlang eines Straßensegments installiert ist, das ein Signal an einen an einem Fahrzeug installierten Empfänger überträgt oder reflektiert, sodass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, die vom Fahrzeug empfangene Bake und der Ort der Vorrichtung (z. B. bestimmt aus dem GPS-Ort der Vorrichtung) als Orientierungspunkt verwendet werden können, der in das Straßennavigationsmodell des autonomen Fahrzeugs und/oder die dünnbesetzte Karte 800 einbezogen werden soll.
  • Die Identifizierung von mindestens einem Orientierungspunkt kann eine Position des mindestens einen Orientierungspunkts beinhalten. Die Position des Orientierungspunkts kann basierend auf Positionsmessungen bestimmt werden, die unter Verwendung von Sensorsystemen (z. B. globalen Positionsbestimmungssystemen, trägheitsbasierten Positionsbestimmungssystemen, Orientierungspunkt-Bake usw.) durchgeführt werden, die mit der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 assoziiert sind. In einigen Ausführungsformen kann die Position des Orientierungspunkts durch Mitteln der Positionsmessungen bestimmt werden, die von Sensorsystemen an unterschiedlichen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 durch mehrere Fahrten detektiert, gesammelt oder empfangen werden. Zum Beispiel können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessungsdaten an den Server 1230 übertragen, der die Positionsmessungen mitteln kann und die gemittelte Positionsmessung als die Position des Orientierungspunkts verwenden kann. Die Position des Orientierungspunkts kann durch Messungen, die von Fahrzeugen in nachfolgenden Fahrten empfangen werden, kontinuierlich verfeinert werden.
  • Die Identifizierung des Orientierungspunkts kann eine Größe des Orientierungspunkts beinhalten. Der Prozessor, der an einem Fahrzeug (z. B. 1205) bereitgestellt ist, 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 desselben Orientierungspunkts von unterschiedlichen Fahrzeugen über unterschiedliche Fahrten empfangen. Der Server 1230 kann die unterschiedlichen Schätzungen mitteln, um zu einer physischen Größe für den Orientierungspunkt zu gelangen, und diese Orientierungspunktgröße im Straßenmodell speichern. Die Schätzung der physischen Größe kann verwendet werden, um ferner eine Entfernung vom Fahrzeug zum Orientierungspunkt zu bestimmen oder zu schätzen. Die Entfernung zum Orientierungspunkt kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einer Ausdehnungsskala basierend auf der Position des Orientierungspunkts, der in den Bildern relativ zum Ausdehnungsfokus der Kamera erscheint, geschätzt werden. Zum Beispiel kann die Entfernung zum Orientierungspunkt durch Z = V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Entfernung im Bild vom Orientierungspunkt zum Zeitpunkt t1 zum Ausdehnungsfokus ist und D die Änderung der Entfernung für den Orientierungspunkt im Bild von t1 zu t2 ist. dt stellt die (t2-t1) dar. Zum Beispiel kann die Entfernung zum Orientierungspunkt durch Z = V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Entfernung im Bild zwischen dem Orientierungspunkt und dem Ausdehnungsfokus ist, dt ein Zeitintervall ist und D die Bildverschiebung des Orientierungspunkts entlang der Epipolarlinie ist. Andere Gleichungen, die der vorstehenden Gleichung entsprechen, wie z = V*ω/Δω, können zum Schätzen der Entfernung zum Orientierungspunkt verwendet werden. Hier ist V die Fahrzeuggeschwindigkeit, ω ist eine Bildlänge (wie die Objektbreite) und Δω ist die Änderung dieser Bildlänge in einer Zeiteinheit.
  • Wenn die physische Größe des Orientierungspunkts bekannt ist, kann die Entfernung 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 der Pixel ist, wenn der Orientierungspunkt das Bild verlässt. Aus der obigen Gleichung lässt sich die Änderung des Abstands Z wie folgt berechnen ΔZ = f * W * Δω / ω2 + f * ΔW/ω, wobei ΔW durch Mittelung auf Null fällt, und wobei Δω ist die Anzahl der Pixel, die die Genauigkeit eines Begrenzungskastens im Bild darstellen. Ein Wert, der die physische Größe des Orientierungspunkts schätzt, kann berechnet werden, indem mehrere Beobachtungen auf der Serverseite gemittelt werden. Der resultierende Fehler bei der Entfernungsschätzung kann sehr klein sein. Es gibt zwei Fehlerquellen, die auftreten können, wenn die vorstehende Formel verwendet wird, nämlich ΔW und Δω. Ihr Beitrag zum Entfernungsfehler wird durch ΔZ = f * W * Δω / ω2 + f * ΔW/ω) gegeben. ΔW fällt jedoch durch Mittelung auf null ab; somit wird ΔZ durch Δω bestimmt (z. B. die Ungenauigkeit des Begrenzungskastens im Bild).
  • Für Orientierungspunkte mit unbekannten Abmessungen kann die Entfernung zum Orientierungspunkt geschätzt werden, indem Merkmalspunkte auf dem Orientierungspunkt zwischen aufeinanderfolgenden Einzelbildern verfolgt werden. Beispielsweise können bestimmte Merkmale, die auf einem Geschwindigkeitsbegrenzungszeichen erscheinen, zwischen zwei oder mehr Einzelbildern verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Entfernungsverteilung pro Merkmalspunkt erzeugt werden. Die Entfernungsschätzung kann aus der Entfernungsverteilung extrahiert werden. Beispielsweise kann die häufigste Entfernung, die in der Entfernungsverteilung erscheint, als die Entfernungsschätzung verwendet werden. Als ein anderes Beispiel kann der Durchschnitt der Entfernungsverteilung als die Entfernungsschätzung verwendet werden.
  • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell eines autonomen Fahrzeugs, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 dargestellt wird. Die in 13 gezeigten Kurven 1301, 1302 und 1303 dienen nur der Veranschaulichung. Jeder Spline kann ein oder mehrere dreidimensionale Polynome beinhalten, die eine Vielzahl von Datenpunkten 1310 verbinden. Jedes Polynom kann ein Polynom erster Ordnung, ein Polynom zweiter Ordnung, ein Polynom dritter Ordnung oder eine Kombination von beliebigen geeigneten Polynomen mit unterschiedlichen Ordnungen sein. Jeder Datenpunkt 1310 kann den von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen zugeordnet sein. In einigen Ausführungsformen kann jeder Datenpunkt 1310 Daten zugeordnet sein, die sich auf Orientierungspunkte (z. B. Größe, Ort und Identifizierungsinformationen von Orientierungspunkten) und/oder Straßensignaturprofile (z. B. Straßengeometrie, Straßenunebenheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) beziehen. In einigen Ausführungsformen können einige Datenpunkte 1310 Daten zugeordnet sein, die sich auf Orientierungspunkte beziehen, und andere können Daten zugeordnet sein, die sich auf Straßensignaturprofile beziehen.
  • Die 14 veranschaulicht rohe Ortsdaten 1410 (z. B. GPS-Daten), die von fünf separaten Fahrten empfangen werden. Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie gleichzeitig von separaten Fahrzeugen, zu separaten Zeiten vom gleichen Fahrzeug oder zu separaten Zeiten von separaten Fahrzeugen befahren wurde. Um Fehler in den Ortsdaten 1410 und für unterschiedliche Orte von Fahrzeugen innerhalb der gleichen Fahrspur zu berücksichtigen (z. B. kann ein Fahrzeug näher an der linken Seite einer Fahrspur fahren als ein anderes), kann der Server 1230 ein Kartenskelett 1420 unter Verwendung einer oder mehrerer statistischer Techniken erzeugen, um zu bestimmen, ob Variationen in den rohen Ortsdaten 1410 tatsächliche Abweichungen oder statistische Fehler repräsentieren. Jeder Weg innerhalb des Skeletts 1420 kann mit den Rohdaten 1410, die den Weg bildeten, zurückverbunden sein. So ist beispielsweise der Weg zwischen A und B innerhalb des Skeletts 1420 mit den Rohdaten 1410 von den Fahrten 2, 3, 4 und 5, aber nicht von der Fahrt 1 verbunden. Das Skelett 1420 ist möglicherweise nicht detailliert genug, um verwendet zu werden, um ein Fahrzeug zu navigieren (z. B. weil es Fahrten von mehreren Fahrspuren auf der gleichen Straße im Gegensatz zu den vorstehend beschriebenen Splines kombiniert), kann aber nützliche topologische Informationen bereitstellen und kann verwendet werden, um Kreuzungen zu definieren.
  • 15 veranschaulicht ein Beispiel, durch das zusätzliche Details für eine dünnbesetzte Karte innerhalb eines Segments eines Kartenskeletts erzeugt werden können (z. B. Segment A bis B innerhalb des Skeletts 1420). Wie in 15 dargestellt, können die Daten (z. B. Eigenbewegungsdaten, Straßenmarkierungsdaten und dergleichen) als eine Funktion der Position S (oder S1 oder S2) entlang der Fahrt dargestellt werden. Der Server 1230 kann Orientierungspunkte für die dünnbesetzte Karte durch Identifizieren eindeutiger Übereinstimmungen zwischen den Orientierungspunkten 1501, 1503 und 1505 der Fahrt 1510 und den Orientierungspunkten 1507 und 1509 der Fahrt 1520 identifizieren. Ein derartiger Abgleichalgorithmus kann zur Identifizierung der Orientierungspunkte 1511, 1513 und 1515 führen. Ein Fachmann würde jedoch erkennen, dass andere Abgleichalgorithmen verwendet werden können. Beispielsweise kann die Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit eindeutigem Abgleich verwendet werden. Der Server 1230 kann die Fahrten längs ausrichten, um die abgeglichenen Orientierungspunkte auszurichten. Beispielsweise kann der Server 1230 eine Fahrt (z. B. die Fahrt 1520) als Referenzfahrt auswählen und dann die andere(n) Fahrt(en) (z. B. die Fahrt 1510) zur Ausrichtung wechseln und/oder elastisch strecken.
  • 16 zeigt ein Beispiel von ausgerichteten Orientierungspunktdaten zur Verwendung in einer dünnbesetzten Karte. Im Beispiel von 16 umfasst der Orientierungspunkt 1610 ein Verkehrszeichen. Das Beispiel von 16 stellt ferner Daten von einer Vielzahl von Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613 dar. Im Beispiel von 16 bestehen die Daten von der Fahrt 1613 aus einem „Phantom“-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 Nähe des identifizierten Orientierungspunkts in der Fahrt 1613 beinhaltet. Dementsprechend 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, einen Schwellenwert ü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, einen Schwellenwert überschreitet.
  • 17 stellt ein System 1700 zum Erzeugen von Fahrtdaten dar, das verwendet werden kann, um eine dünnbesetzte Karte zu crowdsourcen. Wie in 17 dargestellt, kann das System 1700 eine Kamera 1701 und eine Lokalisierungsvorrichtung 1703 (z. B. einen GPS-Positionsgeber) beinhalten. Die Kamera 1701 und die Lokalisierungsvorrichtung 1703 können an einem Fahrzeug (z. B. einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) montiert sein. Die Kamera 1701 kann eine Vielzahl von Daten von mehreren Typen erzeugen, z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen. Die Kameradaten und Ortsdaten können in Fahrtsegmente 1705 segmentiert sein. Zum Beispiel können die Fahrtsegmente 1705 jeweils Kameradaten und Ortsdaten von weniger als 1 km Fahrt aufweisen.
  • In einigen Ausführungsformen kann das System 1700 Redundanzen in den Fahrtsegmenten 1705 entfernen. Wenn zum Beispiel ein Orientierungspunkt in mehreren Bildern von der Kamera 1701 erscheint, kann das System 1700 die redundanten Daten derart entfernen, dass die Fahrtsegmente 1705 nur eine Kopie des Orts und jeglicher Metadaten in Bezug auf den Orientierungspunkt enthalten. Als weiteres Beispiel kann das System 1700, wenn eine Fahrspur-Markierung in mehreren Bildern von der Kamera 1701 erscheint, die redundanten Daten derart entfernen, dass die Fahrtsegmente 1705 nur eine Kopie des Orts und jeglicher Metadaten in Bezug auf die Fahrspur-Markierung enthalten.
  • Das System 1700 beinhaltet auch einen Server (z. B. Server 1230). Der Server 1230 kann Fahrtsegmente 1705 vom Fahrzeug empfangen und die Fahrtsegmente 1705 in einer einzelnen Fahrt 1707 rekombinieren. Eine derartige Anordnung kann es ermöglichen, Bandbreitenanforderungen beim Übertragen von Daten zwischen dem Fahrzeug und dem Server zu reduzieren, während es dem Server auch ermöglicht wird, Daten in Bezug auf eine gesamte Fahrt zu speichern.
  • 18 stellt das System 1700 aus 17 dar, das ferner zum Crowdsourcing einer dünnbesetzten Karte konfiguriert ist. Wie in 17 beinhaltet das System 1700 das Fahrzeug 1810, das Fahrtdaten beispielsweise unter Verwendung einer Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichen-Daten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einem GPS-Positionsgeber) aufnimmt. Wie in 17 segmentiert das Fahrzeug 1810 die gesammelten Daten in Fahrtsegmente (dargestellt als „DS1 1“, „DS2 1“, „DSN 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 nimmt das Fahrzeug 1820 auch Fahrtdaten beispielsweise unter Verwendung einer Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichen-Daten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einem GPS-Positionsgeber) auf. Ähnlich wie das Fahrzeug 1810 segmentiert das Fahrzeug 1820 die gesammelten Daten in Fahrtsegmente (dargestellt als „DS1 2“, „DS2 2“, „DSN 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. Es kann eine beliebige Anzahl von zusätzlichen Fahrzeugen verwendet werden. Beispielsweise beinhaltet 18 auch „AUTO N“, das Fahrtdaten aufnimmt, sie in Fahrtsegmente segmentiert (dargestellt als „DS1 N“, „DS2 N“, „DSN N“ in 18) und sie an den Server 1230 zur Rekonstruktion in eine Fahrt sendet (dargestellt als „Fahrt N“ in 18).
  • Wie in 18 dargestellt, kann der Server 1230 eine dünnbesetzte Karte (dargestellt als „KARTE“) unter Verwendung der rekonstruierten Fahrten (z. B. „Fahrt 1“, „Fahrt 2“ und „Fahrt N“) konstruieren, die aus einer Vielzahl von Fahrzeugen (z. B. „AUTO 1“ (auch als Fahrzeug 1810 bezeichnet), „AUTO 2“ (auch als Fahrzeug 1820 bezeichnet) und „AUTO N“) gesammelt wurden.
  • 19 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 1900 zum Erzeugen einer dünnbesetzten Karte für eine autonome Fahrzeugnavigation entlang einem Straßensegment zeigt. Der Prozess 1900 kann von einer oder mehreren Verarbeitungsvorrichtungen durchgeführt werden, die im Server 1230 beinhaltet sind.
  • Der Prozess 1900 kann das Empfangen einer Vielzahl von Bildern beinhalten, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren (Schritt 1905). Der Server 1230 kann Bilder von Kameras empfangen, die in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 beinhaltet sind. Beispielsweise kann die Kamera 122 ein oder mehrere Bilder der Umgebung aufnehmen, die das Fahrzeug 1205 umgibt, wenn das Fahrzeug 1205 entlang dem Straßensegment 1200 fährt. In einigen Ausführungsformen kann der Server 1230 auch Bilddaten empfangen, die Redundanzen aufweisen, die von einem Prozessor am Fahrzeug 1205 entfernt wurden, wie vorstehend in Bezug auf 17 erörtert.
  • Der Prozess 1900 kann ferner das Identifizieren, basierend auf der Vielzahl von Bildern, mindestens einer Linienrepräsentation eines Straßenoberflächenmerkmals beinhalten, das sich entlang des Straßensegments erstreckt (Schritt 1910). Jede Linienrepräsentation kann einen Weg entlang des Straßensegments darstellen, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. Beispielsweise kann der Server 1230 die Umgebungsbilder analysieren, die von der Kamera 122 empfangen werden, um eine Straßenkante oder eine Fahrspur-Markierung zu identifizieren und eine Bewegungstrajektorie entlang des Straßensegments 1200 zu bestimmen, die mit der Straßenkante oder Fahrspur-Markierung assoziiert ist. In einigen Ausführungsformen kann die Trajektorie (oder Linienrepräsentation) einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Der Server 1230 kann die Bewegungstrajektorie des Fahrzeugs 1205 basierend auf Kamera-Eigenbewegungen (z. B. dreidimensionale Translation und/oder dreidimensionale Rotationsbewegungen) bestimmen, die bei Schritt 1905 empfangen werden.
  • Der Prozess 1900 kann auch das Identifizieren, basierend auf der Vielzahl von Bildern, einer Vielzahl von Orientierungspunkten beinhalten, die mit dem Straßensegment assoziiert sind (Schritt 1910). Beispielsweise kann der Server 1230 die Umgebungsbilder analysieren, die von der Kamera 122 empfangen werden, um einen oder mehrere Orientierungspunkte zu identifizieren, wie etwa ein Straßenzeichen entlang des Straßensegments 1200. Der Server 1230 kann die Orientierungspunkte unter Verwendung einer Analyse der Vielzahl von Bildern identifizieren, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment durchqueren. Um Crowdsourcing zu ermöglichen, kann die Analyse Regeln in Bezug auf das Akzeptieren und Ablehnen möglicher Orientierungspunkte beinhalten, die mit dem Straßensegment assoziiert sind. Beispielsweise kann die Analyse das Akzeptieren potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet, und/oder das Ablehnen potenzieller Orientierungspunkte, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, einen Schwellenwert überschreitet.
  • Der Prozess 1900 kann andere Vorgänge oder Schritte beinhalten, die vom Server 1230 durchgeführt werden. Beispielsweise können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge beinhalten, die sich entlang eines Straßensegments bewegen, und der Prozess 1900 kann das Clustern von Fahrzeugtrajektorien durch den Server 1230 beinhalten, die sich auf mehrere Fahrzeuge beziehen, die sich auf dem Straßensegment bewegen, und das Bestimmen der Zieltrajektorie basierend auf den geclusterten Fahrzeugtrajektorien, wie nachstehend ausführlicher erörtert. Das Clustern von Fahrzeugtrajektorien kann das Clustern der mehreren Trajektorien durch den Server 1230 beinhalten, die sich auf die Fahrzeuge beziehen, die sich auf dem Straßensegment bewegen, in eine Vielzahl von Clustern basierend auf mindestens einem der absoluten Fahrtrichtung von Fahrzeugen oder der Fahrspurzuweisung der Fahrzeuge. Das Erzeugen der Zieltrajektorie kann das Mitteln der geclusterten Trajektorien durch den Server 1230 beinhalten. Als weiteres Beispiel kann der Prozess 1900 das Ausrichten von Daten beinhalten, die in Schritt 1905 empfangen wurden. Andere Prozesse oder Schritte, die vom Server 1230 durchgeführt werden, wie vorstehend beschrieben, können ebenfalls im Prozess 1900 beinhaltet sein.
  • Die offenbarten Systeme und Verfahren können andere Merkmale beinhalten. Beispielsweise können die offenbarten Systeme lokale Koordinaten anstelle von globalen Koordinaten verwenden. Für autonomes Fahren können einige Systeme Daten in Weltkoordinaten darstellen. Beispielsweise können Längen- und Breitenkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte zum Lenken zu verwenden, kann das Host-Fahrzeug seine Position und Ausrichtung relativ zur Karte bestimmen. Es scheint natürlich, eine GPS-Vorrichtung an Bord zu verwenden, um das Fahrzeug auf der Karte zu positionieren und um die Rotationstransformation zwischen dem Karosseriebezugsrahmen und dem Weltbezugsrahmen (z. B. Nord, Ost und Abwärts) zu finden. Sobald der Karosseriebezugsrahmen mit dem Kartenbezugsrahmen ausgerichtet ist, kann die gewünschte Route im Karosseriebezugsrahmen ausgedrückt werden und die Lenkbefehle können berechnet oder erzeugt werden.
  • Die offenbarten Systeme und Verfahren können eine autonome Fahrzeugnavigation (z. B. Lenksteuerung) mit Modellen mit geringem Fußabdruck ermöglichen, die durch die autonomen Fahrzeuge selbst ohne die Hilfe teurer Vermessungsausrüstung gesammelt werden können. Um die autonome Navigation (z. B. Lenkanwendungen) zu unterstützen, kann das Straßenmodell eine dünnbesetzte Karte mit der Geometrie der Straße, seiner Fahrspurstruktur und Orientierungspunkten beinhalten, die verwendet werden können, um den Ort oder die Position von Fahrzeugen entlang einer im Modell beinhalteten Trajektorie zu bestimmen. Wie vorstehend erörtert, kann die Erzeugung der dünnbesetzten 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, Trajektorien, die basierend auf den erfassten Daten rekonstruiert werden, und/oder empfohlene Trajektorien beinhalten, die modifizierte rekonstruierte Trajektorien darstellen können. Wie nachstehend erörtert, kann der Server das Modell zurück an die Fahrzeuge oder andere Fahrzeuge übertragen, die später auf der Straße fahren, um die autonome Navigation zu unterstützen.
  • 20 veranschaulicht ein Blockdiagramm des Servers 1230. Der Server 1230 kann eine Kommunikationseinheit 2005 beinhalten, die sowohl Hardwarekomponenten (z. B. Kommunikationssteuerschaltungen, Schalter und Antenne) als auch Softwarekomponenten (z. B. Kommunikationsprotokolle, Computercodes) beinhalten kann. Zum Beispiel kann die Kommunikationseinheit 2005 mindestens eine Netzwerkschnittstelle beinhalten. Der Server 1230 kann mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 über die Kommunikationseinheit 2005 kommunizieren. Zum Beispiel kann der Server 1230 über die Kommunikationseinheit 2005 Navigationsinformationen empfangen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 übertragen werden. Der Server 1230 kann über die Kommunikationseinheit 2005 das Straßennavigationsmodell für autonome Fahrzeuge an ein oder mehrere autonome Fahrzeuge verteilen.
  • Der Server 1230 kann mindestens ein nichtflüchtiges Speichermedium 2010 beinhalten, wie etwa eine Festplatte, eine Compact Disc, ein Band usw. Die Speichervorrichtung 1410 kann dazu konfiguriert sein, Daten zu speichern, wie etwa Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 und/oder dem Straßennavigationsmodell für autonome Fahrzeuge empfangen werden, das der Server 1230 basierend auf den Navigationsinformationen erzeugt. Die Speichervorrichtung 2010 kann dazu konfiguriert sein, beliebige andere Informationen zu speichern, wie etwa eine dünnbesetzte Karte (z. B. die dünnbesetzte Karte 800, die vorstehend in Bezug auf 8 erörtert wurde).
  • Zusätzlich zu oder anstelle der Speichervorrichtung 2010 kann der Server 1230 einen Speicher 2015 beinhalten. Der Speicher 110 kann dem Speicher 140 oder 150 ähnlich oder davon verschieden sein. Der Speicher 110 kann ein nichtflüchtiger Speicher sein, wie etwa ein Flash-Speicher, ein Direktzugriffsspeicher usw. Der Speicher 110 kann dazu konfiguriert sein, Daten zu speichern, wie etwa Computercodes oder Anweisungen, die durch einen Prozessor (z. B. den Prozessor 2020) ausführbar sind, Kartendaten (z. B. Daten der dünnbesetzten Karte 800), das Straßennavigationsmodell für autonome Fahrzeuge und/oder Navigationsinformationen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden.
  • Der Server 1230 kann mindestens eine Verarbeitungsvorrichtung 2020 beinhalten, die dazu konfiguriert ist, Computercodes oder Anweisungen auszuführen, die im Speicher 110 gespeichert sind, um verschiedene Funktionen auszuführen. Zum Beispiel kann die Verarbeitungsvorrichtung 2020 die Navigationsinformationen analysieren, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, und das Straßennavigationsmodell für autonome Fahrzeuge basierend auf der Analyse erzeugen. Die Verarbeitungsvorrichtung 2020 kann die Kommunikationseinheit 1405 steuern, um das Straßennavigationsmodell für autonome Fahrzeuge an ein oder mehrere autonome Fahrzeuge (z. B. eines oder mehrere der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder ein beliebiges Fahrzeug, das zu einem späteren Zeitpunkt auf dem Straßensegment 1200 fährt) zu verteilen. Die Verarbeitungsvorrichtung 2020 kann dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 ähnlich oder davon verschieden sein.
  • 21 veranschaulicht ein Blockdiagramm des Speichers 2015, der Computercode oder Anweisungen zum Ausführen eines oder mehrerer Vorgänge zum Erzeugen eines Straßennavigationsmodells zur Verwendung bei der autonomen Fahrzeugnavigation speichern kann. Wie in 21 gezeigt, kann der Speicher 2015 ein oder mehrere Module zum Ausführen der Vorgänge zum Verarbeiten von Fahrzeugnavigationsinformationen speichern. Zum Beispiel kann der Speicher 2015 ein Modellerzeugungsmodul 2105 und ein Modellverteilungsmodul 2110 beinhalten. Der Prozessor 2020 kann die Anweisungen ausführen, die in einem beliebigen der Module 2105 und 2110 gespeichert sind, die im Speicher 2015 beinhaltet sind.
  • Das Modellerzeugungsmodul 2105 kann Anweisungen speichern, die bei Ausführung durch den Prozessor 2020 mindestens einen Abschnitt eines Straßennavigationsmodells für autonome Fahrzeuge für ein gemeinsames Straßensegment (z. B. Straßensegment 1200) basierend auf Navigationsinformationen erzeugen können, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Zum Beispiel kann der Prozessor 2020 beim Erzeugen des Straßennavigationsmodells für autonome Fahrzeuge Fahrzeugtrajektorien entlang dem gemeinsamen Straßensegment 1200 in verschiedene Cluster clustern. Der Prozessor 2020 kann eine Zieltrajektorie entlang dem gemeinsamen Straßensegment 1200 basierend auf den geclusterten Fahrzeugtrajektorien für jedes der verschiedenen Cluster bestimmen. Ein derartiger Vorgang kann das Finden einer mittleren oder durchschnittlichen Trajektorie der geclusterten Fahrzeugtrajektorien (z. B. durch Mitteln von Daten, die die geclusterten Fahrzeugtrajektorien darstellen) in jedem Cluster beinhalten. In einigen Ausführungsformen kann die Zieltrajektorie mit einer einzelnen Fahrspur des gemeinsamen Straßensegments 1200 assoziiert sein.
  • Das Straßenmodell und/oder die dünnbesetzte Karte können Trajektorien speichern, die mit einem Straßensegment assoziiert sind. Diese Trajektorien können als Zieltrajektorien bezeichnet werden, die an autonome Fahrzeuge für die autonome Navigation bereitgestellt werden. Die Zieltrajektorien können von mehreren Fahrzeugen empfangen werden oder können basierend auf tatsächlichen Trajektorien oder empfohlenen Trajektorien (tatsächlichen Trajektorien mit einigen Modifikationen) erzeugt werden, die von mehreren Fahrzeugen empfangen werden. Die Zieltrajektorien, die im Straßenmodell oder der dünnbesetzten Karte enthalten sind, können kontinuierlich aktualisiert (z. B. gemittelt) werden, wobei neue Trajektorien von anderen Fahrzeugen empfangen werden.
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten durch verschiedene Sensoren sammeln. Die Daten können Orientierungspunkte, Straßensignaturprofil, Fahrzeugbewegung (z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten), Fahrzeugposition (z. B. GPS-Daten) beinhalten und können entweder die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten an einen Server übertragen, der die tatsächlichen Trajektorien für die Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten in Bezug auf eine Trajektorie (z. B. eine Kurve in einem beliebigen Referenzrahmen), Orientierungspunktdaten und Fahrspurzuweisung entlang des Fahrwegs an den Server 1230 übertragen. Verschiedene Fahrzeuge, die entlang dem gleichen Straßensegment bei mehreren Fahrten fahren, können unterschiedliche Trajektorien aufweisen. Der Server 1230 kann Routen oder Trajektorien, die mit jeder Fahrspur assoziiert sind, aus den Trajektorien identifizieren, die von Fahrzeugen durch einen Clusterprozess empfangen werden.
  • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 assoziiert sind, um eine Zieltrajektorie für das gemeinsame Straßensegment (z. B. Straßensegment 1200) zu bestimmen. Die Zieltrajektorie oder eine Vielzahl von Zieltrajektorien, die aus dem Clusterprozess bestimmt werden, können im autonomen Fahrzeugstraßennavigationsmodell oder der dünnbesetzten Karte 800 beinhaltet sein. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die entlang dem Straßensegment 1200 fahren, eine Vielzahl von Trajektorien 2200 an den Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Orientierungspunkt-, Straßengeometrie- und Fahrzeugbewegungsinformationen erzeugen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen, kann der Server 1230 Fahrzeugtrajektorien 1600 in eine Vielzahl von Clustern 2205, 2210, 2215, 2220, 2225 und 2230 clustern, wie in 22 gezeigt.
  • Das Clustern kann unter Verwendung verschiedener Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf die absolute Fahrtrichtung entlang dem Straßensegment 1200 ähnlich sein. Die absolute Fahrtrichtung kann aus GPS-Signalen erhalten werden, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann die absolute Fahrtrichtung unter Verwendung von Koppelnavigation erhalten werden. Koppelnavigation, wie ein Fachmann verstehen würde, kann verwendet werden, um die aktuelle Position und somit Fahrtrichtung der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 unter Verwendung der zuvor bestimmten Position, geschätzten Geschwindigkeit usw. zu bestimmen. Trajektorien, die durch die absolute Fahrtrichtung geclustert werden, können nützlich sein, um Routen entlang den Fahrbahnen zu identifizieren.
  • In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf die Fahrspurzuweisung (z. B. in der gleichen Fahrspur vor und nach einer Kreuzung) entlang der Fahrt auf dem Straßensegment 1200 ähnlich sein. Trajektorien, die durch die Fahrspurzuweisung geclustert werden, können nützlich sein, um Fahrspuren entlang den Fahrbahnen zu identifizieren. In einigen Ausführungsformen können beide Kriterien (z. B. absolute Fahrtrichtungs- und Fahrspurzuweisung) zum Clustern verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine Zieltrajektorie zu erhalten, die mit dem spezifischen Cluster assoziiert ist. Zum Beispiel können die Trajektorien von mehreren Fahrten, die mit dem gleichen Fahrspurcluster assoziiert sind, gemittelt werden. Die gemittelte Trajektorie kann eine Zieltrajektorie sein, die mit einer spezifischen Fahrspur assoziiert ist. Um ein Cluster von Trajektorien zu mitteln, kann der Server 1230 einen Referenzrahmen einer beliebigen Trajektorie C0 auswählen. Für alle anderen Trajektorien (C1,..., Cn) kann der Server 1230 eine starre Transformation finden, die C1 bis C0 abbildet, wobei i = 1, 2,..., n, wobei n eine positive ganze Zahl ist, die der Gesamtzahl der Trajektorien entspricht, die im Cluster enthalten sind. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im C0-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Orientierungspunkte eine Bogenlängenanpassung zwischen verschiedenen Fahrten definieren, die zur Ausrichtung von Trajektorien mit Fahrspuren verwendet werden kann. In einigen Ausführungsformen können Fahrspurmarkierungen vor und nach einer Kreuzung zur Ausrichtung von Trajektorien mit Fahrspuren verwendet werden.
  • Um Fahrspuren aus den Trajektorien zusammenzusetzen, kann der Server 1230 einen Referenzrahmen einer beliebigen Fahrspur auswählen. Der Server 1230 kann teilweise überlappende Fahrspuren auf den ausgewählten Referenzrahmen abbilden. Der Server 1230 kann die Kartierung fortsetzen, bis alle Fahrspuren im gleichen Referenzrahmen liegen. Fahrspuren, die nebeneinander liegen, können so ausgerichtet werden, als wären sie die gleiche Fahrspur und später können sie seitlich verschoben werden.
  • Orientierungspunkte, die entlang dem Straßensegment erkannt werden, können auf den gemeinsamen Referenzrahmen abgebildet werden, zuerst auf der Fahrspurebene und dann auf der Kreuzungsebene. Zum Beispiel können die gleichen Orientierungspunkte mehrmals von mehreren Fahrzeugen in mehreren Fahrten erkannt werden. Die Daten in Bezug auf die gleichen Orientierungspunkte, die in unterschiedlichen Fahrten empfangen werden, können leicht 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 desselben Orientierungspunkts, die in mehreren Fahrten empfangen werden, berechnet werden.
  • In einigen Ausführungsformen kann jede Fahrspur des Straßensegments 120 mit einer Zieltrajektorie und bestimmten Orientierungspunkten assoziiert sein. Die Zieltrajektorie oder eine Vielzahl solcher Zieltrajektorien kann im Straßennavigationsmodell für autonome Fahrzeuge beinhaltet sein, das später von anderen autonomen Fahrzeugen verwendet werden kann, die entlang dem gleichen Straßensegment 1200 fahren. Orientierungspunkte, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge entlang dem Straßensegment 1200 fahren, können in Assoziation 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, Vorhersage des zukünftigen Orts vor dem aktuellen Ort des Fahrzeugs durch Integration der Eigenbewegung bestimmt werden. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtungen von Orientierungspunkten korrigiert oder angepasst werden. Wenn zum Beispiel das Fahrzeug einen Orientierungspunkt innerhalb eines Bilds detektiert, das durch die Kamera aufgenommen wurde, kann der Orientierungspunkt mit einem bekannten Orientierungspunkt verglichen werden, der innerhalb des Straßenmodells oder der dünnbesetzten Karte 800 gespeichert ist. Der bekannte Orientierungspunkt kann einen bekannten Ort (z. B. GPS-Daten) entlang einer Zieltrajektorie aufweisen, die im Straßenmodell und/oder der dünnbesetzten Karte 800 gespeichert ist. Basierend auf der aktuellen Geschwindigkeit und den Bildern des Orientierungspunkts kann die Entfernung vom Fahrzeug zum Orientierungspunkt geschätzt werden. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann basierend auf der Entfernung zum Orientierungspunkt und dem bekannten Ort des Orientierungspunkts (der im Straßenmodell oder der dünnbesetzten Karte 800 gespeichert ist) angepasst werden. Die Position/Ortsdaten des Orientierungspunkts (z. B. Mittelwerte von mehreren Fahrten), die im Straßenmodell und/oder der dünnbesetzten Karte 800 gespeichert sind, können als genau angenommen werden.
  • In einigen Ausführungsformen kann das offenbarte System ein geschlossenes Schleifensubsystem bilden, in dem die Schätzung des Orts des Fahrzeugs mit sechs Freiheitsgraden (z. B. dreidimensionale Positionsdaten plus dreidimensionale Ausrichtungsdaten) verwendet werden kann, um das autonome Fahrzeug zu navigieren (z. B. das Rad zu lenken), um einen gewünschten Punkt zu erreichen (z. B. 1,3 Sekunden voraus im gespeicherten). Im Gegenzug können Daten, die von der Lenkung und der tatsächlichen Navigation gemessen werden, verwendet werden, um den Ort mit sechs Freiheitsgraden zu schätzen.
  • In einigen Ausführungsformen können Pfosten entlang einer Straße, wie etwa Laternenpfosten und Strom- oder Kabelleitungspfosten, als Orientierungspunkte zum Lokalisieren der Fahrzeuge verwendet werden. Andere Orientierungspunkte, wie etwa Verkehrszeichen, Ampeln, Pfeile auf der Straße, Stopplinien sowie statische Merkmale oder Signaturen eines Objekts entlang dem Straßensegment können ebenfalls als Orientierungspunkte zum Lokalisieren des Fahrzeugs verwendet werden. Wenn Pfosten zur Lokalisierung verwendet werden, kann die x-Beobachtung der Pfosten (d. h. der Blickwinkel vom Fahrzeug) verwendet werden, anstatt der y-Beobachtung (d. h. der Abstand zum Pfosten), da die Böden der Pfosten verdeckt sein können und sie manchmal nicht auf der Straßenebene liegen.
  • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für autonome Navigation unter Verwendung einer crowdsourcing dünnbesetzten Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als Fahrzeug 1205 bezeichnet. Das in 23 gezeigte Fahrzeug kann ein beliebiges anderes hierin offenbartes Fahrzeug sein, einschließlich zum Beispiel der Fahrzeuge 1210, 1215, 1220 und 1225 sowie des Fahrzeugs 200, das in anderen Ausführungsformen gezeigt ist. Wie in 12 gezeigt, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bilderfassungsvorrichtung 122 (z. B. Kamera 122) beinhalten. Das Fahrzeug 1205 kann ein Navigationssystem 2300 beinhalten, das dazu konfiguriert ist, 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 beinhalten, wie etwa einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325. Der Geschwindigkeitssensor 2320 kann dazu konfiguriert sein, die Geschwindigkeit des Fahrzeugs 1205 zu detektieren. Der Beschleunigungsmesser 2325 kann dazu konfiguriert sein, eine Beschleunigung oder Verlangsamung des Fahrzeugs 1205 zu detektieren. Das in 23 gezeigte Fahrzeug 1205 kann ein autonomes Fahrzeug sein und das Navigationssystem 2300 kann verwendet werden, um Navigationsführung für autonomes Fahren bereitzustellen. Alternativ kann das Fahrzeug 1205 auch ein nicht autonomes, vom Menschen gesteuertes Fahrzeug sein und das Navigationssystem 2300 kann dennoch verwendet werden, um Navigationsführung bereitzustellen.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 beinhalten, die dazu konfiguriert ist, mit dem Server 1230 über den Kommunikationsweg 1235 zu kommunizieren. Das Navigationssystem 2300 kann zudem eine GPS-Einheit 2310 beinhalten, die dazu konfiguriert ist, GPS-Signale zu empfangen und zu verarbeiten. Das Navigationssystem 2300 kann ferner mindestens einen Prozessor 2315 beinhalten, der dazu konfiguriert ist, Daten, wie etwa GPS-Signale, Kartendaten von der dünnbesetzten Karte 800 (die auf einer Speichervorrichtung gespeichert sein können, die an Bord des Fahrzeugs 1205 bereitgestellt und/oder vom Server 1230 empfangen wird), Straßengeometrie, die durch einen Straßenprofilsensor 2330 erfasst wird, Bilder, die durch die Kamera 122 aufgenommen werden, und/oder ein Straßennavigationsmodell für autonomes Fahrzeug, das vom Server 1230 empfangen wird, zu verarbeiten. Der Straßenprofilsensor 2330 kann unterschiedliche Arten von Vorrichtungen zum Messen unterschiedlicher Arten von Straßenprofilen beinhalten, wie etwa Straßenoberflächenunebenheit, Straßenbreite, Straßenhöhe, Straßenkrümmung usw. Zum Beispiel kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die die Bewegung einer Aufhängung des Fahrzeugs 2305 misst, um das Straßenunebenheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren beinhalten, um den Abstand vom Fahrzeug 1205 zu Straßenseiten (z. B. Barriere auf den Straßenseiten) zu messen, wodurch die Breite der Straße gemessen wird. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die zum Messen der Auf- und Abwärtshöhe der Straße konfiguriert ist. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung beinhalten, die dazu konfiguriert ist, die Straßenkrümmung zu messen. Zum Beispiel kann eine Kamera (z. B. Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder der Straße aufzunehmen, die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu detektieren.
  • Der mindestens eine Prozessor 2315 kann programmiert sein, um von der Kamera 122 mindestens ein Umgebungsbild zu empfangen, das mit dem Fahrzeug 1205 assoziiert ist. Der mindestens eine Prozessor 2315 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen zu bestimmen, die sich auf das Fahrzeug 1205 beziehen. Die Navigationsinformationen können eine Trajektorie beinhalten, die sich auf die Fahrt des Fahrzeugs 1205 entlang des Straßensegments 1200 bezieht. Der mindestens eine Prozessor 2315 kann die Trajektorie basierend auf Bewegungen der Kamera 122 (und somit des Fahrzeugs) bestimmen, wie etwa dreidimensionale Translation und dreidimensionale Rotationsbewegungen. In einigen Ausführungsformen kann der mindestens eine Prozessor 2315 die Translation und Rotationsbewegungen der Kamera 122 basierend auf einer Analyse einer Vielzahl von Bildern bestimmen, die durch die Kamera 122 erlangt werden. In einigen Ausführungsformen können die Navigationsinformationen Fahrspurzuweisungsinformationen beinhalten (z. B. in welcher Fahrspur das Fahrzeug 1205 entlang des Straßensegments 1200 fährt). Die Navigationsinformationen, die vom Fahrzeug 1205 an den Server 1230 übertragen werden, können durch den Server 1230 verwendet werden, um ein Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen und/oder zu aktualisieren, das zurück vom Server 1230 an das Fahrzeug 1205 übertragen werden kann, um autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann auch programmiert sein, um die Navigationsinformationen vom Fahrzeug 1205 an den Server 1230 zu übertragen. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen an den Server 1230 übertragen werden. Die Straßenortsinformationen können mindestens eines des GPS-Signals, das durch die GPS-Einheit 2310 empfangen wird, Orientierungspunktinformationen, Straßengeometrie, Fahrspurinformationen usw. beinhalten. Der mindestens eine Prozessor 2315 kann vom Server 1230 das Straßennavigationsmodell für autonome Fahrzeuge oder einen Abschnitt des Modells empfangen. Das Straßennavigationsmodell für autonome Fahrzeuge, das vom Server 1230 empfangen wird, kann mindestens eine Aktualisierung basierend auf den Navigationsinformationen beinhalten, die vom Fahrzeug 1205 an den Server 1230 übertragen werden. Der Abschnitt des Modells, der vom Server 1230 an das Fahrzeug 1205 übertragen wird, kann einen aktualisierten Abschnitt des Modells beinhalten. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z. B. lenken, wie etwa abbiegen, bremsen, beschleunigen, ein anderes Fahrzeug überholen usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Straßennavigationsmodell für autonome Fahrzeuge oder dem aktualisierten Abschnitt des Modells veranlassen.
  • Der mindestens eine Prozessor 2315 kann dazu konfiguriert sein, mit verschiedenen Sensoren und Komponenten zu kommunizieren, die im Fahrzeug 1205 beinhaltet sind, einschließlich der Kommunikationseinheit 1705, der GPS-Einheit 2315, der Kamera 122, des Geschwindigkeitssensors 2320, des Beschleunigungsmessers 2325 und des Straßenprofilsensors 2330. Der mindestens eine Prozessor 2315 kann Informationen oder Daten von verschiedenen Sensoren und Komponenten sammeln und die Informationen oder Daten über die Kommunikationseinheit 2305 an den Server 1230 übertragen. Alternativ oder zusätzlich können verschiedene Sensoren oder Komponenten des Fahrzeugs 1205 auch mit dem Server 1230 kommunizieren und Daten oder Informationen, die durch die Sensoren oder Komponenten gesammelt werden, an den Server 1230 übertragen.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren und können Navigationsinformationen miteinander teilen, sodass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Crowdsourcing erzeugen kann, z. B. basierend auf Informationen, die durch andere Fahrzeuge geteilt werden. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen miteinander teilen und kann jedes Fahrzeug sein eigenes Straßennavigationsmodell für autonome Fahrzeuge aktualisieren, das im Fahrzeug bereitgestellt ist. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z. B. Fahrzeug 1205) als ein Knotenpunkt-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Knotenpunkt-Fahrzeugs (z. B. Fahrzeug 1205) kann einige oder alle der Funktionen ausführen, die durch den Server 1230 ausgeführt werden. Zum Beispiel kann der mindestens eine Prozessor 2315 des Knotenpunkt-Fahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Knotenpunkt-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells basierend auf den geteilten Informationen erzeugen, die von anderen Fahrzeugen empfangen werden. Der mindestens eine Prozessor 2315 des Knotenpunkt-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, um autonome Navigationsführung bereitzustellen.
  • Kartierte Fahrspur-Markierungen und Navigation basierend auf kartierten Fahrspur-Markierungen
  • Wie bereits erörtert, kann das Straßennavigationsmodell für autonome Fahrzeuge und/oder die dünnbesetzte Karte 800 eine Vielzahl von kartierten Fahrspur-Markierungen beinhalten, die mit einem Straßensegment assoziiert sind. Wie nachstehend ausführlicher erörtert, können diese kartierten Fahrspur-Markierungen verwendet werden, wenn das autonome Fahrzeug navigiert. Beispielsweise können in einigen Ausführungsformen die kartierten Fahrspur-Markierungen verwendet werden, um eine seitliche Position und/oder Ausrichtung relativ zu einer geplanten Trajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung anzupassen, um eine Richtung einer Zieltrajektorie an der bestimmten Position anzupassen.
  • Das Fahrzeug 200 kann konfiguriert sein, um Fahrspur-Markierungen in einem gegebenen Straßensegment zu detektieren. Das Straßensegment kann beliebige Markierungen auf einer Straße zum Führen des Fahrzeugverkehrs auf einer Fahrbahn beinhalten. Beispielsweise können die Fahrspur-Markierungen durchgehende oder gestrichelte Linien sein, die die Kante einer Fahrspur abgrenzen. Die Fahrspur-Markierungen können auch doppelte Linien beinhalten, wie etwa doppelte durchgehende Linien, doppelte gestrichelte Linien oder eine Kombination aus durchgehenden und gestrichelten Linien, die beispielsweise angeben, ob das Überholen in einer benachbarten Fahrspur erlaubt ist. Die Fahrspur-Markierungen können auch Autobahneinfahrt- und -ausfahrtsmarkierungen beinhalten, die beispielsweise eine Verlangsamungsspur für eine Ausfahrtsrampe oder gestrichelte Linien angeben, die angeben, dass eine Fahrspur nur abbiegt oder dass die Fahrspur endet. Die Markierungen können ferner eine Arbeitszone, eine vorübergehende Fahrspurverschiebung, einen Fahrweg durch eine Kreuzung, einen Mittelweg, eine Spezialfahrspur (z. B. eine Fahrradspur, eine HOV-Spur usw.) oder andere verschiedene Markierungen (z. B. Zebrastreifen, ein Geschwindigkeitshöcker, ein Bahnübergang, eine Stopplinie usw.) angeben.
  • Das Fahrzeug 200 kann Kameras verwenden, wie etwa Bilderfassungsvorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 beinhaltet sind, um Bilder der umgebenden Fahrspur-Markierungen aufzunehmen. Das Fahrzeug 200 kann die Bilder analysieren, um Punkt-Orte zu detektieren, die den Fahrspur-Markierungen zugeordnet sind, basierend auf Merkmalen, die innerhalb eines oder mehrerer der aufgenommenen Bilder identifiziert wurden. Diese Punkt-Orte können auf einen Server hochgeladen werden, um die Fahrspur-Markierungen in der dünnbesetzten Karte 800 darzustellen. Abhängig von der Position und dem Sichtfeld der Kamera können Fahrspur-Markierungen für beide Seiten des Fahrzeugs gleichzeitig aus einem einzelnen Bild detektiert werden. In anderen Ausführungsformen können unterschiedliche Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs aufzunehmen. Anstatt tatsächliche Bilder der Fahrspur-Markierungen hochzuladen, können die Markierungen in der dünnbesetzten Karte 800 als Spline oder eine Reihe von Punkten gespeichert werden, wodurch die Größe der dünnbesetzten Karte 800 und/oder die Daten, die durch das Fahrzeug entfernt hochgeladen werden müssen, reduziert werden.
  • 24A-24D veranschaulichen beispielhafte Punkt-Orte, die durch das Fahrzeug 200 detektiert werden können, um bestimmte Fahrspur-Markierungen darzustellen. Ähnlich den vorstehend beschriebenen Orientierungspunkten kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder -software verwenden, um Punkt-Orte innerhalb eines aufgenommenen Bilds zu identifizieren. Beispielsweise kann das Fahrzeug 200 eine Reihe von Randpunkten, Eckpunkten oder verschiedenen anderen Punkt-Orten erkennen, die einer bestimmten Fahrspur-Markierung zugeordnet sind. 24A zeigt eine durchgehende Fahrspur-Markierung 2410, die durch das Fahrzeug 200 detektiert werden kann. Die Fahrspur-Markierung 2410 kann die Außenkante einer Fahrbahn darstellen, die durch eine durchgehende weiße Linie dargestellt wird. Wie in 24A gezeigt, kann das Fahrzeug 200 konfiguriert sein, um eine Vielzahl von Rand-Ort-Punkten 2411 entlang der Fahrspur-Markierung zu detektieren. Die Ort-Punkte 2411 können gesammelt werden, um die Fahrspur-Markierung in beliebigen Intervallen darzustellen, die ausreichend sind, um eine kartierte Fahrspur-Markierung in der dünnbesetzten Karte zu erstellen. Beispielsweise kann die Fahrspur-Markierung durch einen Punkt pro Meter der detektierten Kante, einen Punkt pro fünf Meter der detektierten Kante oder in anderen geeigneten Abständen dargestellt werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren bestimmt werden, anstatt in festgelegten Intervallen, wie beispielsweise basierend auf Punkten, bei denen das Fahrzeug 200 eine höchste Konfidenzeinstufung des Orts der detektierten Punkte aufweist. Obwohl 24A Rand-Ort-Punkte auf einer Innenkante der Fahrspur-Markierung 2410 zeigt, können Punkte auf der Außenkante der Linie oder entlang beider Kanten gesammelt werden. Ferner können, während eine einzelne Linie in 24A gezeigt ist, ähnliche Rand-Punkte für eine doppelte durchgehende Linie detektiert werden. Beispielsweise können Punkte 2411 entlang einer Kante einer oder beider der durchgehenden Linien detektiert werden.
  • Das Fahrzeug 200 kann auch Fahrspur-Markierungen unterschiedlich darstellen, abhängig von der Art oder Form der Fahrspur-Markierung. 24B zeigt eine beispielhafte gestrichelte Fahrspur-Markierung 2420, die durch das Fahrzeug 200 detektiert werden kann. Anstatt Rand-Punkte zu identifizieren, wie in 24A, kann das Fahrzeug eine Reihe von Eckpunkten 2421 detektieren, die Ecken der Fahrspur-Striche repräsentieren, um die volle Begrenzung des Strichs zu definieren. Während 24B zeigt, dass sich jede Ecke einer gegebenen Strich-Markierung befindet, kann das Fahrzeug 200 eine Teilmenge der in der Figur gezeigten Punkte detektieren oder hochladen. Beispielsweise kann das Fahrzeug 200 die Vorderkante oder vordere Ecke einer gegebenen Strich-Markierung detektieren oder kann die zwei Eckpunkte detektieren, die dem Innenraum der Fahrspur am nächsten sind. Ferner kann nicht jede Strich-Markierung aufgenommen werden, beispielsweise kann das Fahrzeug 200 Punkte erfassen und/oder aufzeichnen, die eine Probe von Strich-Markierungen (z. B. jede zweite, jede dritte, jede fünfte usw.) oder Strich-Markierungen in einem vordefinierten Abstand (z. B. jeden Meter, alle fünf Meter, alle 10 Meter usw.) repräsentieren. Eckpunkte können auch für Fahrspur-Markierungen 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 Fahrspur-Markierungen zu erzeugen, andere Punkte neben den detektierten Randpunkten oder Eckpunkten repräsentieren. 24C veranschaulicht eine Reihe von Punkten, die eine Mittellinie einer gegebenen Fahrspur-Markierung repräsentieren können. Beispielsweise kann die durchgehende Fahrspur 2410 durch Mittellinie-Punkte 2441 entlang einer Mittellinie 2440 der Fahrspur-Markierung repräsentiert werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu konfiguriert sein, diese Mittelpunkt-Punkte unter Verwendung verschiedener Bilderkennungstechniken zu detektieren, wie etwa faltende neuronale Netze (convolutional neural networks - CNN), skaleninvariante Merkmalstransformation (scale-invariant feature transform - SIFT), Histogramm von Merkmalen mit orientierten Gradienten (histogram of oriented gradients - HOG) oder andere Techniken. Alternativ kann das Fahrzeug 200 andere Punkte detektieren, wie etwa die in 24A gezeigten Randpunkte 2411, und kann Mittellinie-Punkte 2441 berechnen, beispielsweise durch Detektieren von Punkten entlang jedes Rands und Bestimmen eines Mittelpunkts zwischen den Randpunkten. Gleichermaßen kann die gestrichelte Fahrspur-Markierung 2420 durch Mittellinie-Punkte 2451 entlang einer Mittellinie 2450 der Fahrspur-Markierung repräsentiert werden. Die Mittellinie-Punkte können sich am Rand eines 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 in einem vorbestimmten Intervall entlang der Mittellinie (z. B. jeden Meter, 5 Meter, 10 Meter usw.) beabstandet sein. Die Mittellinie-Punkte 2451 können direkt durch das Fahrzeug 200 detektiert werden oder können basierend auf anderen detektierten Referenzpunkten, wie etwa den Eckpunkten 2421, wie in 24B gezeigt, berechnet werden. Eine Mittellinie kann auch verwendet werden, um andere Fahrspur-Markierungs-Typen, wie etwa eine doppelte Linie, 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 eine Vertex (vertex) zwischen zwei sich schneidenden Fahrspur-Markierungen. 24D zeigt beispielhafte Punkte, die eine Kreuzung zwischen zwei Fahrspur-Markierungen 2460 und 2465 repräsentieren. Das Fahrzeug 200 kann einen Vertex-Punkt 2466 berechnen, der eine Kreuzung zwischen den zwei Fahrspur-Markierungen repräsentiert. Zum Beispiel kann eine der Fahrspur-Markierungen 2460 oder 2465 einen Zugkreuzungsbereich oder einen anderen Kreuzungsbereich im Straßensegment repräsentieren. Während die Fahrspur-Markierungen 2460 und 2465 als sich senkrecht kreuzend gezeigt sind, können verschiedene andere Konfigurationen detektiert werden. Zum Beispiel können die Fahrspur-Markierungen 2460 und 2465 sich in anderen Winkeln kreuzen, oder eine oder beide der Fahrspur-Markierungen können am Vertex-Punkt 2466 enden. Ähnliche Techniken können auch für Kreuzungen zwischen gestrichelten oder anderen Fahrspur-Markierungs-Typen angewendet werden. Zusätzlich zum Vertex-Punkt 2466 können auch verschiedene andere Punkte 2467 detektiert werden, die weitere Informationen über die Ausrichtung der Fahrspur-Markierungen 2460 und 2465 bereitstellen.
  • Das Fahrzeug 200 kann Realwelt-Koordinaten mit jedem detektierten Punkt der Fahrspur-Markierung assoziieren. Zum Beispiel können Ort-Kennungen erzeugt werden, einschließlich Koordinaten für jeden Punkt, um auf einen Server zum Kartieren der Fahrspur-Markierung hochgeladen zu werden. Die Ort-Kennungen können ferner andere identifizierende Informationen über die Punkte beinhalten, einschließlich, ob der Punkt einen Eckpunkt, einen Randpunkt, einen Mittelpunkt usw. repräsentiert. Das Fahrzeug 200 kann daher konfiguriert sein, um eine Realwelt-Position jedes Punkts basierend auf der Analyse der Bilder zu bestimmen. Zum Beispiel kann das Fahrzeug 200 andere Merkmale im Bild detektieren, wie etwa die verschiedenen vorstehend beschriebenen Orientierungspunkte, um die Realwelt-Position der Fahrspur-Markierungen zu lokalisieren. Dies kann das Bestimmen des Orts der Fahrspur-Markierungen im Bild relativ zum detektierten Orientierungspunkt oder das Bestimmen der Position des Fahrzeugs basierend auf dem detektierten Orientierungspunkt und dann das Bestimmen einer Entfernung vom Fahrzeug (oder der Zieltrajektorie des Fahrzeugs) zur Fahrspur-Markierung beinhalten. Wenn kein Orientierungspunkt verfügbar ist, kann der Ort der Fahrspur-Markierungspunkte relativ zu einer Position des Fahrzeugs bestimmt werden, die basierend auf Koppelnavigation bestimmt wird. Die Realwelt-Koordinaten, die in den Ortskennungen enthalten sind, können als absolute Koordinaten (z. B. Breiten-/Längenkoordinaten) dargestellt werden oder können relativ zu anderen Merkmalen sein, wie etwa basierend auf einer Längsposition entlang einer Zieltrajektorie und einer seitlichen Entfernung von der Zieltrajektorie. Die Ortskennungen können dann auf einen Server zum Erzeugen der kartierten Fahrspur-Markierungen im Navigationsmodell (wie etwa der dünnbesetzten Karte 800) hochgeladen werden. In einigen Ausführungsformen kann der Server einen Spline erstellen, der die Fahrspur-Markierungen eines Straßensegments darstellt. Alternativ kann das Fahrzeug 200 den Spline erzeugen und ihn auf den Server hochladen, um im Navigationsmodell aufgezeichnet zu werden.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine dünnbesetzte Karte für ein entsprechendes Straßensegment, das kartierte Fahrspur-Markierungen beinhaltet. Die dünnbesetzte Karte kann eine Zieltrajektorie 2475 beinhalten, der ein Fahrzeug entlang einem Straßensegment folgen soll. Wie oben beschrieben, kann die Zieltrajektorie 2475 einen idealen Weg darstellen, den ein Fahrzeug nehmen soll, wenn es das entsprechende Straßensegment fährt, oder kann sich an anderer Stelle auf der Straße befinden (z. B. eine Mittellinie der Straße usw.). Die Zieltrajektorie 2475 kann in den verschiedenen oben beschriebenen Verfahren berechnet werden, beispielsweise basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die das gleiche Straßensegment befahren.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Fahrzeugtypen und für alle Straßen-, Fahrzeug- und/oder Umgebung-Bedingungen gleich erzeugt werden. In anderen Ausführungsformen können jedoch auch verschiedene andere Faktoren oder Variablen beim Erzeugen der Zieltrajektorie berücksichtigt werden. Eine andere Zieltrajektorie kann für verschiedene Arten von Fahrzeugen erzeugt werden (z. B. ein privates Auto, einen leichten Lastwagen und einen vollständigen Anhänger). Beispielsweise kann eine Zieltrajektorie mit relativ engeren Kurvenradien für ein kleines privates Auto als für einen größeren Sattelschlepper erzeugt werden. In einigen Ausführungsformen können Straßen-, Fahrzeug- und Umgebungsbedingungen ebenfalls berücksichtigt werden. Beispielsweise kann eine andere Zieltrajektorie für verschiedene Straßenbedingungen (z. B. nass, schneebedeckt, vereist, trocken usw.), Fahrzeugbedingungen (z. B. Reifenzustand oder geschätzte Reifenzustand, Bremszustand oder geschätzte Bremszustand, verbleibende Kraftstoffmenge usw.) oder Umgebungsfaktoren (z. B. Tageszeit, Sicht, Wetter usw.) erzeugt werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßensegments abhängen (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Kurven, Neigung usw.). In einigen Ausführungsformen können verschiedene Benutzereinstellungen auch verwendet werden, um die Zieltrajektorie zu bestimmen, wie etwa einen eingestellten Fahrmodus (z. B. gewünschte Fahraggressivität, Sparmodus usw.).
  • Die dünnbesetzte Karte kann ebenfalls kartierte Fahrspur-Markierungen 2470 und 2480 beinhalten, die Fahrspur-Markierungen entlang dem Straßensegment darstellen. Die kartierten Fahrspur-Markierungen können durch eine Vielzahl von Ortskennungen 2471 und 2481 dargestellt werden. Wie vorstehend beschrieben, können die Ortskennungen Orte in Realwelt-Koordinaten von Punkten beinhalten, die mit einer detektierten Fahrspur-Markierung assoziiert sind. Ähnlich wie die Zieltrajektorie im Modell können die Fahrspur-Markierungen auch Höhendaten beinhalten und können als eine Kurve im dreidimensionalen Raum dargestellt werden. Beispielsweise kann die Kurve ein Spline sein, der dreidimensionale Polynome geeigneter Ordnung verbindet, wobei die Kurve basierend auf den Ortskennungen berechnet werden kann. Die kartierten Fahrspur-Markierungen können ebenfalls andere Informationen oder Metadaten über die Fahrspur-Markierung beinhalten, wie etwa eine Kennung der Art der Fahrspur-Markierung (z. B. zwischen zwei Fahrspuren mit der gleichen Fahrtrichtung, zwischen zwei Fahrspuren mit entgegengesetzter Fahrtrichtung, der Kante einer Fahrbahn usw.) und/oder andere Charakteristiken der Fahrspur-Markierung (z. B. durchgehend, gestrichelt, einzelne Linie, doppelte Linie, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Fahrspur-Markierungen innerhalb des Modells kontinuierlich aktualisiert werden, beispielsweise unter Verwendung von Crowdsourcing-Techniken. Das gleiche Fahrzeug kann Ortskennungen während mehrerer Gelegenheiten des Fahrens des gleichen Straßensegments hochladen oder Daten können aus einer Vielzahl von Fahrzeugen (wie etwa 1205, 1210, 1215, 1220 und 1225) ausgewählt werden, die das Straßensegment zu unterschiedlichen Zeiten fahren. Die dünnbesetzte Karte 800 kann dann basierend auf nachfolgenden Ortskennungen, die von den Fahrzeugen empfangen und im System gespeichert werden, aktualisiert oder verfeinert werden. Wenn die kartierten Fahrspur-Markierungen aktualisiert und verfeinert werden, können das aktualisierte Straßennavigationsmodell und/oder die dünnbesetzte Karte an eine Vielzahl von autonomen Fahrzeugen verteilt werden.
  • Das Erzeugen der kartierten Fahrspur-Markierungen in der dünnbesetzten Karte kann auch Detektieren und/oder Abschwächen von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Fahrspur-Markierungen selbst beinhalten. 24F zeigt eine beispielhafte Anomalie 2495, die mit dem Detektieren einer Fahrspur-Markierung 2490 assoziiert ist. Die Anomalie 2495 kann im Bild erscheinen, das vom Fahrzeug 200 erfasst wird, zum Beispiel von einem Objekt, das die Sicht der Kamera auf die Fahrspur-Markierung, Schutt auf der Linse usw. behindert. In einigen Fällen kann die Anomalie auf die Fahrspur-Markierung selbst zurückzuführen sein, die beschädigt oder abgenutzt sein kann, oder teilweise abgedeckt sein kann, zum Beispiel durch Schmutz, Schutt, Wasser, Schnee oder andere Materialien auf der Straße. Die Anomalie 2495 kann dazu führen, dass ein fehlerhafter Punkt 2491 durch das Fahrzeug 200 detektiert wird. Die dünnbesetzte Karte 800 kann die kartierte Fahrspur-Markierung korrekt bereitstellen und den Fehler ausschließen. In einigen Ausführungsformen kann das Fahrzeug 200 den fehlerhaften Punkt 2491 detektieren, zum Beispiel durch Detektieren der Anomalie 2495 im Bild oder durch Identifizieren des Fehlers basierend auf detektierten Fahrspur-Markierungspunkten vor und nach der Anomalie. Basierend auf dem Detektieren der Anomalie kann das Fahrzeug den Punkt 2491 auslassen oder kann ihn anpassen, um mit anderen detektierten Punkten in Linie zu sein. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, zum Beispiel durch Bestimmen, dass der Punkt außerhalb eines erwarteten Schwellenwerts liegt, basierend auf anderen Punkten, die während derselben Fahrt hochgeladen wurden, oder basierend auf einer Aggregation von Daten von vorherigen Fahrten entlang desselben Straßensegments.
  • Die kartierten Fahrspur-Markierungen im Navigationsmodell und/oder der dünnbesetzten Karte können auch zur Navigation durch ein autonomes Fahrzeug verwendet werden, das die entsprechende Fahrbahn befährt. Zum Beispiel kann ein Fahrzeug, das entlang einer Zieltrajektorie navigiert, periodisch die kartierten Fahrspur-Markierungen in der dünnbesetzten Karte verwenden, um sich selbst mit der Zieltrajektorie auszurichten. Wie vorstehend erwähnt, kann das Fahrzeug zwischen Orientierungspunkten basierend auf Koppelnavigation navigieren, bei der das Fahrzeug Sensoren verwendet, um seine Eigenbewegung zu bestimmen und seine Position relativ zur Zieltrajektorie zu schätzen. Fehler können sich im Laufe der Zeit ansammeln und die Positionsbestimmungen des Fahrzeugs relativ zur Zieltrajektorie können zunehmend weniger genau werden. Dementsprechend kann das Fahrzeug Fahrspur-Markierungen verwenden, die in der dünnbesetzten Karte 800 (und ihren bekannten Orten) auftreten, um die Koppelnavigation-induzierten Fehler bei der Positionsbestimmung zu reduzieren. Auf diese Weise können die identifizierten Fahrspur-Markierungen, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, aus denen eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 der Umgebung eines Fahrzeugs, das zur Navigation basierend auf den kartierten Fahrspur-Markierungen verwendet werden kann. Das Bild 2500 kann beispielsweise vom Fahrzeug 200 über die Bilderfassungsvorrichtungen 122 und 124 erfasst werden, die in der Bilderfassungseinheit 120 beinhaltet sind. Das Bild 2500 kann ein Bild von mindestens einer Fahrspur-Markierung 2510 beinhalten, wie in 25A gezeigt. Das Bild 2500 kann auch einen oder mehrere Orientierungspunkte 2521 beinhalten, wie beispielsweise ein Verkehrszeichen, die zur Navigation verwendet werden, wie vorstehend beschrieben. Einige Elemente, die in 25A gezeigt sind, wie beispielsweise die Elemente 2511, 2530 und 2520, die nicht im erfassten Bild 2500 erscheinen, aber vom Fahrzeug 200 detektiert und/oder bestimmt werden, sind ebenfalls als Referenz gezeigt.
  • Unter Verwendung der verschiedenen vorstehend in Bezug auf die 24A-D und 24F beschriebenen Techniken kann ein Fahrzeug das Bild 2500 analysieren, um die Fahrspur-Markierung 2510 zu identifizieren. Verschiedene Punkte 2511 können entsprechend Merkmalen der Fahrspur-Markierung im Bild detektiert werden. Die Punkte 2511 können beispielsweise einem Rand der Fahrspur-Markierung, einer Ecke der Fahrspur-Markierung, einem Mittelpunkt der Fahrspur-Markierung, einem Vertex zwischen zwei sich schneidenden Fahrspur-Markierungen oder verschiedenen anderen Merkmalen oder Orten entsprechen. Die Punkte 2511 können detektiert werden, um einem Ort von Punkten zu entsprechen, die in einem Navigationsmodell gespeichert sind, das von einem Server empfangen wird. Wenn beispielsweise eine dünnbesetzte Karte empfangen wird, die Punkte enthält, die eine Mittellinie einer kartierten Fahrspur-Markierung repräsentieren, können die Punkte 2511 auch basierend auf einer Mittellinie der Fahrspur-Markierung 2510 detektiert werden.
  • Das Fahrzeug kann auch eine Längsposition bestimmen, die durch das Element 2520 dargestellt wird und entlang einer Zieltrajektorie angeordnet ist. Die Längsposition 2520 kann aus dem Bild 2500 bestimmt werden, zum Beispiel durch Detektieren des Orientierungspunkts 2521 innerhalb des Bilds 2500 und Vergleichen eines gemessenen Orts mit einem bekannten Orientierungspunkt-Ort, der im Straßenmodell oder der dünnbesetzten Karte 800 gespeichert ist. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann dann basierend auf der Entfernung zum Orientierungspunkt und dem bekannten Ort des Orientierungspunkts bestimmt werden. Der Längsposition 2520 kann auch aus anderen Bildern als denjenigen bestimmt werden, die verwendet werden, um die Position einer Fahrspur-Markierung zu bestimmen. Zum Beispiel kann die Längsposition 2520 durch Detektieren von Orientierungspunkten in Bildern von anderen Kameras innerhalb der Bilderfassungseinheit 120 bestimmt werden, die gleichzeitig oder in der Nähe des Bilds 2500 aufgenommen werden. In einigen Fällen befindet sich das Fahrzeug möglicherweise nicht in der Nähe von Orientierungspunkten oder anderen Bezugspunkten zum Bestimmen der Längsposition 2520. In solchen Fällen kann das Fahrzeug basierend auf Koppelnavigation navigieren und somit Sensoren verwenden, um seine Eigenbewegung zu bestimmen und eine Längsposition 2520 relativ zur Zieltrajektorie zu schätzen. Das Fahrzeug kann auch eine Entfernung 2530 bestimmen, die die tatsächliche Entfernung zwischen dem Fahrzeug und der Fahrspur-Markierung 2510 darstellt, die im/in den erfassten Bild(ern) beobachtet wird. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren können beim Bestimmen der Entfernung 2530 berücksichtigt werden.
  • 25B veranschaulicht eine Korrektur der seitlichen Lokalisierung des Fahrzeugs basierend auf den kartierten Fahrspur-Markierungen in einem Straßennavigationsmodell. Wie vorstehend beschrieben, kann das Fahrzeug 200 eine Entfernung 2530 zwischen dem Fahrzeug 200 und einer Fahrspur-Markierung 2510 unter Verwendung eines oder mehrerer Bilder bestimmen, die vom Fahrzeug 200 erfasst werden. Das Fahrzeug 200 kann auch Zugriff auf ein Straßennavigationsmodell haben, wie etwa die dünnbesetzte Karte 800, die eine kartierte Fahrspur-Markierung 2550 und eine Zieltrajektorie 2555 beinhalten kann. Die kartierte Fahrspur-Markierung 2550 kann unter Verwendung der vorstehend beschriebenen Techniken modelliert werden, beispielsweise unter Verwendung von Crowdsourcing-Ortskennungen, die von einer Vielzahl von Fahrzeugen erfasst werden. Die Zieltrajektorie 2555 kann auch unter Verwendung der verschiedenen vorstehend beschriebenen Techniken erzeugt werden. Das Fahrzeug 200 kann auch eine Längsposition 2520 entlang der Zieltrajektorie 2555 bestimmen oder schätzen, wie vorstehend in Bezug auf 25A beschrieben. Das Fahrzeug 200 kann dann eine erwartete Entfernung 2540 basierend auf einem seitlichen Abstand zwischen der Zieltrajektorie 2555 und der kartierten Fahrspur-Markierung 2550 bestimmen, die der Längsposition 2520 entspricht. Die seitliche Lokalisierung des Fahrzeugs 200 kann durch Vergleichen der tatsächlichen Entfernung 2530, die unter Verwendung des/der erfassten Bild(er) gemessen wurde, mit der erwarteten Entfernung 2540 vom Modell korrigiert oder angepasst werden.
  • 26A ist ein Ablaufdiagramm, das einen beispielhaften Prozess 2600A zum Kartieren einer Fahrspur-Markierung zur Verwendung in einer autonomen Fahrzeugnavigation zeigt, übereinstimmend mit offenbarten Ausführungsformen. Bei Schritt 2610 kann der Prozess 2600A das Empfangen von zwei oder mehr Ortskennungen beinhalten, die mit einer detektierten Fahrspur-Markierung assoziiert sind. Zum Beispiel kann Schritt 2610 vom Server 1230 oder einem oder mehreren Prozessoren durchgeführt werden, die mit dem Server assoziiert sind. Die Ortskennungen können Orte in Realwelt-Koordinaten von Punkten beinhalten, die mit der detektierten Fahrspur-Markierung assoziiert sind, wie vorstehend in Bezug auf 24E beschrieben. In einigen Ausführungsformen können die Ortskennungen auch andere Daten enthalten, wie beispielsweise zusätzliche Informationen über das Straßensegment oder die Fahrspur-Markierung. Zusätzliche Daten können auch während Schritt 2610 empfangen werden, wie beispielsweise Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Orientierungspunkt-Daten, Straßengeometrie- oder -profildaten, Fahrzeugpositionsbestimmungsdaten, Eigenbewegungsdaten oder verschiedene andere Formen von Daten, die vorstehend beschrieben sind. Die Ortskennungen können von einem Fahrzeug, wie beispielsweise den Fahrzeugen 1205, 1210, 1215, 1220 und 1225, basierend auf Bildern erzeugt werden, die vom Fahrzeug erfasst werden. Beispielsweise können die Kennungen basierend auf der Erfassung von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt, von einer Kamera, die einem Host-Fahrzeug zugeordnet ist, der Analyse des mindestens einen Bilds, um die Fahrspur-Markierung in der Umgebung des Host-Fahrzeugs zu detektieren, und der Analyse des mindestens einen Bilds bestimmt werden, um eine Position der detektierten Fahrspur-Markierung relativ zu einem Ort zu bestimmen, der dem Host-Fahrzeug zugeordnet ist. Wie vorstehend beschrieben, kann die Fahrspur-Markierung eine Vielzahl von unterschiedlichen Markierungsarten beinhalten, und die Ortskennungen können einer Vielzahl von Punkten relativ zur Fahrspur-Markierung entsprechen. Wenn beispielsweise die detektierte Fahrspur-Markierung Teil einer gestrichelten Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte detektierten Ecken der Fahrspur-Markierung entsprechen. Wenn die detektierte Fahrspur-Markierung Teil einer durchgehenden Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte einer detektierten Kante der Fahrspur-Markierung mit verschiedenen Abständen entsprechen, wie vorstehend beschrieben. In einigen Ausführungsformen können die Punkte der Mittellinie der detektierten Fahrspur-Markierung entsprechen, wie in 24C gezeigt, oder können einem Vertex zwischen zwei sich schneidenden Fahrspur-Markierungen und mindestens zwei anderen Punkten entsprechen, die den sich schneidenden Fahrspur-Markierungen zugeordnet sind, wie in 24D gezeigt.
  • Bei Schritt 2612 kann der Prozess 2600A das Assoziieren der detektierten Fahrspur-Markierung mit einem entsprechenden Straßensegment beinhalten. Zum Beispiel kann der Server 1230 die Realwelt-Koordinaten oder andere Informationen analysieren, die während Schritt 2610 empfangen wurden, und die Koordinaten oder anderen Informationen mit Ortsinformationen vergleichen, die in einem Straßennavigationsmodell eines autonomen Fahrzeugs gespeichert sind. Der Server 1230 kann ein Straßensegment im Modell bestimmen, das dem Realwelt-Straßensegment entspricht, in dem die Fahrspur-Markierung detektiert wurde.
  • Bei Schritt 2614 kann der Prozess 2600A das Aktualisieren eines Straßennavigationsmodells für autonome Fahrzeuge relativ zum entsprechenden Straßensegment basierend auf den zwei oder mehr Ort-Kennungen beinhalten, die mit der detektierten Fahrspur-Markierung assoziiert sind. Zum Beispiel kann das autonome Straßennavigationsmodell die dünnbesetzte Karte 800 sein, und der Server 1230 kann die dünnbesetzte Karte aktualisieren, um eine kartierte Fahrspur-Markierung im Modell zu beinhalten oder anzupassen. Der Server 1230 kann das Modell basierend auf den verschiedenen Verfahren oder Prozessen aktualisieren, die vorstehend in Bezug auf 24E beschrieben wurden. In einigen Ausführungsformen kann das Aktualisieren des Straßennavigationsmodells für autonome Fahrzeuge das Speichern von einem oder mehreren Positionsindikator(en) in Realwelt-Koordinaten der detektierten Fahrspur-Markierung beinhalten. Das Straßennavigationsmodell für autonome Fahrzeuge kann auch eine mindestens eine Zieltrajektorie beinhalten, der ein Fahrzeug entlang dem entsprechenden Straßensegment folgen soll, wie in 24E gezeigt.
  • Bei Schritt 2616 kann der Prozess 2600A das Verteilen des aktualisierten Straßennavigationsmodells für autonome Fahrzeuge an eine Vielzahl von autonomen Fahrzeugen beinhalten. Zum Beispiel kann der Server 1230 das aktualisierte Straßennavigationsmodell für autonome Fahrzeuge an die 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 Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 verteilt werden, wie in 12 gezeigt.
  • In einigen Ausführungsformen können die Fahrspur-Markierungen unter Verwendung von Daten kartiert werden, die von einer Vielzahl von Fahrzeugen empfangen werden, wie etwa durch eine Crowdsourcing-Technik, wie vorstehend in Bezug auf 24E beschrieben. Zum Beispiel kann der Prozess 2600A das Empfangen einer ersten Kommunikation von einem ersten Host-Fahrzeug beinhalten, einschließlich Ortskennungen, die mit einer detektierten Fahrspur-Markierung assoziiert sind, und das Empfangen einer zweiten Kommunikation von einem zweiten Host-Fahrzeug, einschließlich zusätzlicher Ortskennungen, die mit der detektierten Fahrspur-Markierung assoziiert sind. Zum Beispiel kann die zweite Kommunikation von einem nachfolgenden Fahrzeug, das auf dem gleichen Straßensegment fährt, oder vom gleichen Fahrzeug auf einer nachfolgenden Fahrt entlang dem gleichen Straßensegment empfangen werden. Der Prozess 2600A kann ferner das Verfeinern einer Bestimmung von mindestens einer Position beinhalten, die mit der detektierten Fahrspur-Markierung assoziiert ist, basierend auf den Ortskennungen, die in der ersten Kommunikation empfangen werden, und basierend auf den zusätzlichen Ortskennungen, die in der zweiten Kommunikation empfangen werden. Dies kann das Verwenden eines Durchschnitts der mehreren Ortskennungen und/oder das Herausfiltern von „Phantom“-Kennungen beinhalten, die möglicherweise nicht die Realwelt-Position der Fahrspur-Markierung widerspiegeln.
  • 26B ist ein Ablaufdiagramm, das einen beispielhaften Prozess 2600B zum autonomen Navigieren eines Host-Fahrzeugs entlang einem Straßensegment unter Verwendung von kartierten Fahrspur-Markierungen zeigt. Der Prozess 2600B kann zum Beispiel von der Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. Bei Schritt 2620 kann der Prozess 2600B das Empfangen eines Straßennavigationsmodells für autonome Fahrzeuge von einem Server-basierten System beinhalten. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge eine Zieltrajektorie für das Host-Fahrzeug entlang dem Straßensegment und Ort-Kennungen beinhalten, die mit einer oder mehreren Fahrspur-Markierungen assoziiert sind, die mit dem Straßensegment assoziiert sind. Zum Beispiel kann das Fahrzeug 200 die dünnbesetzte Karte 800 oder ein anderes Straßennavigationsmodell empfangen, das unter Verwendung des Prozesses 2600A entwickelt wurde. In einigen Ausführungsformen kann die Zieltrajektorie als ein dreidimensionaler Spline dargestellt werden, wie zum Beispiel in 9B gezeigt. Wie vorstehend in Bezug auf 24A-F beschrieben, können die Ortskennungen Orte in Realwelt-Koordinaten von Punkten beinhalten, die mit der Fahrspur-Markierung assoziiert sind (z. B. Eckpunkte einer gestrichelten Fahrspur-Markierung, Randpunkte einer durchgehenden Fahrspur-Markierung, eine Vertex (vertex) zwischen zwei sich schneidenden Fahrspur-Markierungen und anderen Punkten, die mit den sich schneidenden Fahrspur-Markierungen assoziiert sind, eine Mittellinie, die mit der Fahrspur-Markierung assoziiert ist, usw.).
  • Bei Schritt 2621 kann der Prozess 2600B das Empfangen von mindestens einem Bild beinhalten, das eine Umgebung des Fahrzeugs darstellt. Das Bild kann von einer Bilderfassungsvorrichtung des Fahrzeugs empfangen werden, wie etwa über die Bilderfassungsvorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 beinhaltet sind. Das Bild kann ein Bild von einer oder mehreren Fahrspur-Markierungen beinhalten, ähnlich dem vorstehend beschriebenen Bild 2500.
  • Bei Schritt 2622 kann der Prozess 2600B das Bestimmen einer Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie beinhalten. Wie vorstehend in Bezug auf 25A beschrieben, kann dies auf anderen Informationen im erfassten Bild (z. B. Orientierungspunkten usw.) oder durch Koppelnavigation des Fahrzeugs zwischen detektierten Orientierungspunkten basieren.
  • Bei Schritt 2623 kann der Prozess 2600B das Bestimmen eines erwarteten seitlichen Abstands zur Fahrspur-Markierung basierend auf der bestimmten Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie und basierend auf den zwei oder mehr Ortskennungen beinhalten, die mit der mindestens einen Fahrspur-Markierung assoziiert sind. Zum Beispiel kann das Fahrzeug 200 die dünnbesetzte Karte 800 verwenden, um einen erwarteten seitlichen Abstand zur Fahrspur-Markierung zu bestimmen. Wie in 25B gezeigt, kann die Längsposition 2520 entlang einer Zieltrajektorie 2555 in Schritt 2622 bestimmt werden. Unter Verwendung der dünnbesetzten Karte 800 kann das Fahrzeug 200 einen erwarteten Abstand 2540 zur kartierten Fahrspur-Markierung 2550 bestimmen, die der Längsposition 2520 entspricht.
  • Bei Schritt 2624 kann der Prozess 2600B das Analysieren des mindestens einen Bilds beinhalten, um die mindestens eine Fahrspur-Markierung zu identifizieren. Das Fahrzeug 200 kann beispielsweise verschiedene Bilderkennungstechniken oder -algorithmen verwenden, um die Fahrspur-Markierung innerhalb des Bilds zu identifizieren, wie vorstehend beschrieben. Zum Beispiel kann die Fahrspur-Markierung 2510 durch Bildanalyse des Bilds 2500 detektiert werden, wie in 25A gezeigt.
  • Bei Schritt 2625 kann der Prozess 2600B das Bestimmen eines tatsächlichen seitlichen Abstands zur mindestens einen Fahrspur-Markierung basierend auf der Analyse des mindestens einen Bilds beinhalten. Zum Beispiel kann das Fahrzeug einen Abstand 2530 bestimmen, wie in 25A gezeigt, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrspur-Markierung 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 das Bestimmen einer autonomen Lenkaktion für das Host-Fahrzeug basierend auf einem Unterschied zwischen dem erwarteten seitlichen Abstand zur mindestens einen Fahrspur-Markierung und dem bestimmten tatsächlichen seitlichen Abstand zur mindestens einen Fahrspur-Markierung beinhalten. Wie vorstehend in Bezug auf 25B beschrieben, kann das Fahrzeug 200 beispielsweise den tatsächlichen Abstand 2530 mit einem erwarteten Abstand 2540 vergleichen. Der Unterschied zwischen dem tatsächlichen und dem erwarteten Abstand kann einen Fehler (und dessen Größe) zwischen der tatsächlichen Position des Fahrzeugs und der Zieltrajektorie, der das Fahrzeug folgen soll, anzeigen. Dementsprechend kann das Fahrzeug eine autonome Lenkaktion oder eine andere autonome Aktion basierend auf dem Unterschied bestimmen. Wenn beispielsweise der tatsächliche Abstand 2530 kleiner als der erwartete Abstand 2540 ist, wie in 25B gezeigt, kann das Fahrzeug eine autonome Lenkaktion bestimmen, um das Fahrzeug nach links, von der Fahrspur-Markierung 2510 weg, zu lenken. Somit 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.
  • Virtuelle Stopplinien-Kartierung und Navigation
  • Wie an anderer Stelle in dieser Offenbarung beschrieben, kann ein Fahrzeug oder ein Fahrer das Fahrzeug gemäß der Umgebung navigieren. Zum Beispiel kann ein autonomes Fahrzeug an einer Kreuzung gemäß einer Markierung einer Stopplinie auf einem Straßensegment navigieren und anhalten. Manchmal kann jedoch ein Straßensegment, auf dem ein Fahrzeug fährt, keine Markierungen (oder unzureichende Markierungen aufgrund der schlechten Wartung) beinhalten, die einen Ort zum Anhalten an einer Kreuzung anzeigen, und das Fahrzeug kann möglicherweise nicht in der Lage sein, an der Kreuzung richtig zu navigieren. Als ein anderes Beispiel kann eine Kreuzung aufgrund verschiedener Faktoren, wie etwa der Geometrie der Straße oder Kreuzung oder schlechter Sichtbedingungen (z. B. die Sicht, die durch ein anderes Fahrzeug blockiert wird, bestimmte Wetterbedingungen) usw., nicht leicht durch einen Fahrer oder ein Fahrzeug detektiert werden. Unter solchen Umständen kann es wünschenswert sein, eine virtuelle Stopplinie (z. B. einen nicht markierten Ort) zu bestimmen, an der Fahrzeuge anhalten können, um durch die Kreuzung zu navigieren (beispielsweise durch Verlangsamen oder Anhalten an der Kreuzung). Die hierin offenbarten Systeme und Verfahren können die Bestimmung einer virtuellen Stopplinie basierend auf Bildern ermöglichen, die durch eine Vielzahl von Vorrichtungen erfasst werden, die einer Vielzahl von Fahrzeugen zugeordnet sind. Die Systeme und Verfahren können auch ein Straßennavigationsmodell basierend auf einer oder mehreren virtuellen Stopplinien aktualisieren und das aktualisierte Straßennavigationsmodell an Fahrzeuge verteilen. Die Systeme und Verfahren können es Fahrzeugen ferner ermöglichen, eine oder mehrere Navigationsaktionen (z. B. Verlangsamen, Anhalten usw.) basierend auf virtuellen Stopplinien, die in einem Straßennavigationsmodell beinhaltet sind, durchzuführen.
  • 27 veranschaulicht ein beispielhaftes System 2700 zur Fahrzeugnavigation, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 27 veranschaulicht, kann System 2700 einen Server 2701, ein oder mehrere Fahrzeuge 2702 (z. B. Fahrzeuge 2702A, 2702B, 2702C,... 2702N) und eine oder mehrere Fahrzeugvorrichtungen 2703 beinhalten, die einem Fahrzeug zugeordnet sind (z. B. Fahrzeugvorrichtungen 2703A, 2703B, 2703C,... 2703N), eine Datenbank 2704, und ein Netzwerk 2705. Server 2701 kann dazu konfiguriert sein, ein Straßennavigationsmodell basierend auf Fahrtinformationen zu aktualisieren, die von einem oder mehreren Fahrzeugen (und/oder einer oder mehreren Fahrzeugvorrichtungen, die einem Fahrzeug zugeordnet sind) empfangen werden. Zum Beispiel können das Fahrzeug 2702 und/oder die Fahrzeugvorrichtung 2703 dazu konfiguriert sein, Fahrtinformationen zu sammeln und die Fahrtinformationen an den Server 2701 zum Aktualisieren eines Straßennavigationsmodells zu übertragen. Datenbank 2704 kann dazu konfiguriert sein, Informationen für die Komponenten des Systems 2700 (z. B. Server 2701, Fahrzeug 2702 und/oder Fahrzeugvorrichtung 2703) zu speichern. Netzwerk 2705 kann dazu konfiguriert sein, Kommunikationen zwischen den Komponenten des Systems 2700 zu erleichtern.
  • Der Server 2701 kann dazu konfiguriert sein, Fahrtinformationen von jedem einer Vielzahl von Fahrzeugen zu empfangen. Die Fahrtinformationen können einen Halteort beinhalten, an dem ein bestimmtes Fahrzeug aus der Vielzahl von Fahrzeugen während einer Fahrt entlang des Straßensegments relativ zu einer Kreuzung angehalten hat. Der Server 2701 kann auch dazu konfiguriert sein, die Halteorte in den von der Vielzahl von Fahrzeugen empfangenen Fahrtinformationen zu aggregieren und basierend auf den aggregierten Halteorten einen Haltelinienort relativ zu der Kreuzung zu bestimmen. Der Server 2701 kann ferner dazu konfiguriert sein, das Straßennavigationsmodell zu aktualisieren, um den Haltelinienort zu beinhalten. In einigen Ausführungsformen kann der Server 2701 auch dazu konfiguriert sein, das aktualisierte Straßennavigationsmodell an ein oder mehrere Fahrzeuge zu verteilen. Zum Beispiel kann der Server 2701 ein Cloud-Server sein, der die hierin offenbarten Funktionen ausführt. Der Begriff „Cloud-Server“ bezieht sich auf eine Computerplattform, die Dienste über ein Netzwerk, wie etwa das Internet, bereitstellt. In dieser beispielhaften Konfiguration kann der Server 2701 virtuelle Maschinen verwenden, die möglicherweise nicht der einzelnen Hardware entsprechen. Beispielsweise können Rechen- und/oder Speicherfähigkeiten durch Zuweisen geeigneter Abschnitte der gewünschten Rechen-/Speicherleistung von einem skalierbaren Speicher, wie etwa einem Rechenzentrum oder einer verteilten Rechenumgebung, implementiert werden. In einem Beispiel kann der Server 2701 die hierin beschriebenen Verfahren unter Verwendung von kundenspezifischer festverdrahteter Logik, einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) oder feldprogrammierbaren Gate-Arrays (FPGAs), Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem den Server 2701 dazu veranlassen, eine Spezialmaschine zu sein.
  • Das Fahrzeug 2702 und/oder die Fahrzeugvorrichtung 2703 können dazu konfiguriert sein, Fahrtinformationen zu sammeln und die Fahrtinformationen an den Server 2701 zum Aktualisieren eines Straßennavigationsmodells zu übertragen. Beispielsweise können das Fahrzeug 2702A und/oder die Fahrzeugvorrichtung 2703A dazu konfiguriert sein, ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Fahrzeugs 2702A aufgenommen wurden. Das Fahrzeug 2702A und/oder die Fahrzeugvorrichtung 2703A können auch dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen. Das Fahrzeug 2702A und/oder die Fahrzeugvorrichtung 2703A können ferner dazu konfiguriert sein, basierend auf Ausgabe, die von mindestens einem Sensor des Fahrzeugs 2702A empfangen wurde, einen Halteort des Fahrzeugs 2702A relativ zu der erkannten Kreuzung zu bestimmen. Das Fahrzeug 2702A und/oder die Fahrzeugvorrichtung 2703A können auch dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Fahrzeug 2702A befinden. Das Fahrzeug 2702A und/oder die Fahrzeugvorrichtung 2703A können ferner dazu konfiguriert sein, den Halteort des Fahrzeugs 2702A und den Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Fahrzeug 2702A befinden, an den Server 2701 zur Verwendung beim Aktualisieren eines Straßennavigationsmodells zu senden.
  • In einigen Ausführungsformen können das Fahrzeug 2702 und/oder die Fahrzeugvorrichtung 2703 dazu konfiguriert sein, ein aktualisiertes Straßennavigationsmodell zu empfangen und das Fahrzeug 2702 zu veranlassen, mindestens eine Navigationsaktion basierend auf dem aktualisierten Straßennavigationsmodell durchzuführen. Beispielsweise können das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B dazu konfiguriert sein, von einer Kamera des Fahrzeugs 2702B ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Fahrzeugs 2702B aufgenommen wurden. Das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B können auch dazu konfiguriert sein, einen Indikator einer Kreuzung in einer Umgebung des Fahrzeugs 2702B zu erkennen. Das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B können ferner dazu konfiguriert sein, Karteninformationen, die einen Haltelinienort relativ zu der Kreuzung beinhalten, vom Server 2701 zu empfangen. Das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B können auch dazu konfiguriert sein, einen Routenführungsweg zu planen und/oder das Fahrzeug 2702B gemäß den Karteninformationen zu navigieren. Beispielsweise können das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B dazu konfiguriert sein, den Haltelinienort zu berücksichtigen, wenn eine Route zu einem Ziel geplant wird (z. B. Hinzufügen der Stoppzeit zu der geschätzten Ankunftszeit, wenn die Kreuzung passiert wird, Auswählen einer anderen Route, um die Kreuzung nicht zu passieren, usw.). In einem anderen Beispiel können das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B dazu konfiguriert sein, den Haltelinienort als Teil der langfristigen Planung zu berücksichtigen, lange bevor es sich dem Haltelinienort nähert. Beispielsweise können das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B dazu konfiguriert sein, das Fahrzeug zu verlangsamen, wenn das Fahrzeug innerhalb eines vorbestimmten Abstands vom Haltelinienort ankommt. Alternativ oder zusätzlich können das Fahrzeug 2702B und/oder die Fahrzeugvorrichtung 2703B dazu konfiguriert sein, das Fahrzeug 2702B zu bremsen und anzuhalten, bevor es den Haltelinienort erreicht.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 eine Vorrichtung beinhalten, die eine ähnliche Konfiguration aufweist und/oder ähnliche Funktionen wie das vorstehend beschriebene System 100 ausführt. Alternativ oder zusätzlich kann die Fahrzeugvorrichtung 2703 eine ähnliche Konfiguration aufweisen und/oder ähnliche Funktionen wie das vorstehend beschriebene System 100 ausführen.
  • Die Datenbank 2704 kann eine Kartendatenbank beinhalten, die dazu konfiguriert ist, Kartendaten für die Komponenten des Systems 2700 (z. B. Server 2701, Fahrzeug 2702 und/oder Fahrzeugvorrichtung 2703) zu speichern. In einigen Ausführungsformen können der Server 2701, das Fahrzeug 2702 und/oder die Fahrzeugvorrichtung 2703 dazu konfiguriert sein, auf die Datenbank 2704 zuzugreifen und Daten, die über das Netzwerk 2705 in der Datenbank 2704 gespeichert sind, zu erhalten und/oder Daten in diese hochzuladen. Beispielsweise kann der Server 2701 Daten, die sich auf ein oder mehrere Straßennavigationsmodelle beziehen, zur Speicherung an die Datenbank 2704 übertragen. Das Fahrzeug 2702 und/oder die Fahrzeugvorrichtung 2703 können ein Straßennavigationsmodell aus der Datenbank 2704 herunterladen. In einigen Ausführungsformen kann die Datenbank 2704 Daten in Bezug auf die Position verschiedener Elemente, einschließlich Straßen, Wassermerkmale, geografische Merkmale, Geschäfte, Sehenswürdigkeiten, Restaurants, Tankstellen oder dergleichen oder eine Kombination davon, in einem Referenzkoordinatensystem beinhalten. In einigen Ausführungsformen kann die Datenbank 2704 eine Datenbank ähnlich der Kartendatenbank 160 beinhalten, die an anderer Stelle in dieser Offenbarung beschrieben ist.
  • Das Netzwerk 2705 kann eine beliebige Art von Netzwerk (einschließlich Infrastruktur) sein, das Kommunikationen bereitstellt, Informationen austauscht und/oder den Austausch von Informationen zwischen den Komponenten des Systems 2700 erleichtert. Beispielsweise kann das Netzwerk 2705 ein lokales Netzwerk, ein drahtloses Netzwerk (z. B. ein Wi-Fi/302.11-Netzwerk) oder andere geeignete Verbindungen beinhalten oder Teil davon sein. In anderen Ausführungsformen können eine oder mehrere Komponenten des Systems 2700 direkt über dedizierte Kommunikationsverbindungen kommunizieren, wie etwa beispielsweise ein Telefonnetzwerk, ein Extranet, ein Intranet, das Internet, Satellitenkommunikationen, Offline-Kommunikationen, drahtlose Kommunikationen, Transponderkommunikationen, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), ein virtuelles privates Netzwerk (VPN) und so weiter.
  • 28 ist eine schematische Veranschaulichung von beispielhaften Fahrzeugen an einer Kreuzung, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 28 veranschaulicht, kann ein Fahrzeug 2801 auf der Fahrspur 2811 fahren, ein Fahrzeug 2802 und ein Fahrzeug 2803 können auf der Fahrspur 2812 fahren. Das Fahrzeug 2801, das Fahrzeug 2802 und/oder das Fahrzeug 2803 können eine oder mehrere Kameras beinhalten, die dazu konfiguriert sind, ein oder mehrere Bilder von der Umgebung zu erfassen, und können eine oder mehrere Vorrichtungen (z. B. die Fahrzeugvorrichtung 2703) beinhalten, die dazu konfiguriert sind, einen Indikator der Kreuzung 2821 basierend auf der Analyse des einen oder der mehreren Bilder zu erkennen. Ein Indikator einer Kreuzung kann eine oder mehrere Straßenmarkierungen, eine oder mehrere Ampeln, ein oder mehrere Stoppschilder, einen oder mehrere Zebrastreifen, ein oder mehrere Fahrzeuge, die vor dem Host-Fahrzeug überqueren, ein oder mehrere Fahrzeuge, die an einem Ort nahe dem Host-Fahrzeug stoppen (z. B. innerhalb eines vorbestimmten Abstandsschwellenwerts vom Host-Fahrzeug) oder dergleichen oder eine Kombination davon beinhalten. Zum Beispiel kann das Fahrzeug 2801 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und eine Ampel in der Vorwärtsrichtung in mindestens einem des einen oder der mehreren Bilder zu detektieren. In einem anderen Beispiel kann das Fahrzeug 2802 (ähnlich dem Fahrzeug 2702) das eine oder die mehreren Bilder aus der Umgebung des Fahrzeugs 2802 analysieren und das Fahrzeug 2804, das vor dem Fahrzeug 2802 (in diesem Beispiel von rechts nach links) fährt, basierend auf der Bildanalyse detektieren. Als ein anderes Beispiel kann das Fahrzeug 2803 das eine oder die mehreren Bilder aus der Umgebung des Fahrzeugs 2803 analysieren und ein Straßenzeichen, das eine Kreuzung anzeigt, detektieren. Zum Beispiel kann das Fahrzeug 2803 das eine oder die mehreren Bilder analysieren und ein Haltezeichen detektieren und basierend auf der Richtung des Haltezeichens bestimmen, ob das Haltezeichen eine Kreuzung angibt. In einem anderen Beispiel kann das Fahrzeug 2803 das eine oder die mehreren Bilder analysieren und einen Zebrastreifen detektieren und basierend auf einer Ausrichtung des Zebrastreifens relativ zum Fahrzeug 2803 (z. B. kann ein Zebrastreifen, der eine Fahrspur vor dem Fahrzeug 2803 überspannt, angeben, dass sich eine Kreuzung in der Nähe befindet) bestimmen, ob der Zebrastreifen eine Kreuzung angibt.
  • Das Fahrzeug 2801, das Fahrzeug 2802 und/oder das Fahrzeug 2803 können auch dazu konfiguriert sein, basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, einen Halteort des Host-Fahrzeugs relativ zu der erkannten Kreuzung zu bestimmen. Zum Beispiel kann das Fahrzeug 2801 eine Signalausgabe von einem Sensor (z. B. einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor oder dergleichen oder einer Kombination davon) empfangen und bestimmen, dass das Fahrzeug 2801 an einem Ort relativ zur Kreuzung 2821 hält. Dieposition des Fahrzeugs 2801 kann basierend auf GPS-Informationen, Karteninformationen, wie etwa unter Verwendung der an anderer Stelle in dieser Offenbarung beschriebenen Kartierungstechniken oder einer Kombination davon, bestimmt werden. Das Fahrzeug 2801, das Fahrzeug 2802 und/oder das Fahrzeug 2803 können ferner dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden. Zum Beispiel können das Fahrzeug 2801 und das Fahrzeug 2802 basierend auf der Bildanalyse bestimmen, dass sich keine Fahrzeuge vor ihnen befinden. Als ein anderes Beispiel kann das Fahrzeug 2803 bestimmen, dass sich ein oder mehrere Fahrzeuge vor ihm befinden. Beispielsweise kann das Fahrzeug 2803 bestimmen, dass sich ein Fahrzeug vor ihm entlang desselben Wegs befindet, auf dem das Host-Fahrzeug fährt (z. B. das Fahrzeug 2802), und/oder dass sich ein Fahrzeug vor ihm entlang eines Wegs befindet, der parallel zu oder ein Weg ist, der dieselbe virtuelle Stopplinie auf dem Weg teilt, auf dem das Host-Fahrzeug fährt (z. B. das Fahrzeug 2801). In Fällen, in denen sich ein oder mehrere andere Fahrzeuge vor einem Host-Fahrzeug befinden, kann es angemessen sein, abzuschließen, dass sich das Host-Fahrzeug nicht an einem Ort der Stopplinie befindet. Gleichermaßen kann es in Fällen, in denen ein Host-Fahrzeug angehalten wird und sich keine anderen Fahrzeuge vor dem Host-Fahrzeug befinden (oder sich keine anderen Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands vor dem Host-Fahrzeug befinden), angemessen sein, abzuschließen, dass sich das Host-Fahrzeug an einem Ort der Stopplinie befindet. Das Fahrzeug 2801, das Fahrzeug 2802 und/oder das Fahrzeug 2803 können auch dazu konfiguriert sein, Fahrtinformationen in Bezug auf ihre Halteorte und die Kreuzung 2821 an den Server 2701 zu übertragen. Zum Beispiel kann ein Host-Fahrzeug einen Halteort des Host-Fahrzeugs und einen Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, übertragen. Der Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, kann beliebige geeignete Informationen beinhalten, wie etwa eine beliebige Kennung (z. B. eine alphanumerische Kennung). In einigen Ausführungsformen kann der Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, ein Bild und/oder einen Abschnitt eines Bilds beinhalten. Der Server 2701 kann dazu konfiguriert sein, einen Haltelinienort (z. B. dargestellt durch die gestrichelte Linie 2831) basierend auf den von den Fahrzeugen (und/oder anderen Fahrzeugen) empfangenen Fahrtinformationen zu bestimmen und ein Straßennavigationsmodell zu aktualisieren, um den Haltelinienort zu beinhalten.
  • 29A ist ein Ablaufdiagramm, das einen beispielhaften Prozess 2910 zur Fahrzeugnavigation zeigt, übereinstimmend mit den offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 2910 können durch ein Fahrzeug (z. B. Fahrzeug 2702), eine mit dem Host-Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 2703) und/oder einen Server (z. B. Server 2701) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 2910 das Fahrzeug 2702 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 2910 durch eine Fahrzeugvorrichtung (z. B. Fahrzeugvorrichtung 2703) und/oder einen Server (z. B. Server 2701) durchgeführt werden können.
  • Bei Schritt 2911 kann das Fahrzeug 2702 dazu konfiguriert sein, ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs aufgenommen wurden. Zum Beispiel kann eine mit dem Fahrzeug 2702 assoziierte Kamera (z. B. eine Kamera oder Bilderfassungsvorrichtung der Bilderfassungsvorrichtung 120) ein oder mehrere Bilder einer Umgebung des Fahrzeugs erfassen, wie an anderer Stelle in dieser Offenbarung beschrieben. Das Fahrzeug 2702 kann das eine oder die mehreren Bilder von der Bilderfassungsvorrichtung empfangen. In einigen Ausführungsformen kann die Kamera kontinuierlich ein oder mehrere Bilder erfassen und das Fahrzeug 2702 kann die Bilder kontinuierlich oder intermittierend empfangen. Zum Beispiel kann die Kamera ein oder mehrere Bilder von der Umgebung des Fahrzeugs 2702 aufnehmen, bevor das Host-Fahrzeug einen Halteort erreicht. Als ein anderes Beispiel kann die Kamera ein oder mehrere Bilder während eines vorbestimmten Zeitschwellenwerts aufnehmen, bevor das Host-Fahrzeug einen Halteort erreicht. Alternativ oder zusätzlich kann die Kamera ein oder mehrere Bilder erfassen, die in einem bestimmten Abstand vom Halteort beginnen. Alternativ oder zusätzlich kann die Kamera ein oder mehrere Bilder bei oder nach einem Auslöseereignis erfassen. Zum Beispiel kann das Fahrzeug 2702 detektieren, dass das Fahrzeug 2702 (z. B. an einem Halteort) hält, basierend auf einem Signal von einem Sensor (z. B. einer globalen Positionsbestimmungssystem(GPS)-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor oder dergleichen oder einer Kombination davon). Das Fahrzeug 2702 kann die Kamera anweisen, ein oder mehrere Bilder der Umgebung des Fahrzeugs 2702 aufzunehmen. Die Kamera kann ein oder mehrere Bilder erfassen, während das Host-Fahrzeug an einem Halteort angehalten wird. Alternativ oder zusätzlich kann die Kamera ein oder mehrere Bilder erfassen, nachdem das Host-Fahrzeug einen Halteort erreicht hat. Die Aufnahme der Bilder in Bezug auf den Halteort kann mit anderen Faktoren assoziiert sein, wie etwa der Fahrzeuggeschwindigkeit und/oder den Umgebungsbedingungen (Lichtpegel, Niederschlag usw.). Wenn somit das Fahrzeug zum Beispiel mit einer relativ hohen Geschwindigkeitsrate fährt, wenn die Aufnahme von Bildern beginnt, kann das Fahrzeug im Vergleich zu einem ähnlichen Szenario, in dem das Fahrzeug langsamer fährt, weiter vom Halteort entfernt sein.
  • Bei Schritt 2912 kann das Fahrzeug 2702 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen. Ein Indikator einer Kreuzung kann eine oder mehrere Straßenmarkierungen, eine oder mehrere Ampeln, ein oder mehrere Stoppschilder, einen oder mehrere Zebrastreifen, ein oder mehrere Fahrzeuge, die vor dem Host-Fahrzeug überqueren, ein oder mehrere Fahrzeuge, die an einem Ort nahe dem Host-Fahrzeug stoppen oder dergleichen oder eine Kombination davon beinhalten. Zum Beispiel kann das Fahrzeug 2702 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und eine Ampel in der Vorwärtsrichtung in mindestens einem des einen oder der mehreren Bilder zu detektieren. Als ein anderes Beispiel kann das Fahrzeug 2702 dazu konfiguriert sein, eine Straßenmarkierung, wie etwa eine Fahrspur-Markierung, eine Abbiegespur-Markierung usw., in mindestens einem des einen oder der mehreren Bilder zu detektieren. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2802 (ähnlich dem Fahrzeug 2702) das eine oder die mehreren Bilder aus der Umgebung des Fahrzeugs 2802 analysieren und das Fahrzeug 2804, das vor dem Fahrzeug 2802 (von rechts nach links) fährt, basierend auf der Bildanalyse detektieren. Als ein anderes Beispiel kann das Fahrzeug 2801 (ähnlich dem Fahrzeug 2702) das eine oder die mehreren Bilder aus der Umgebung des Fahrzeugs 2801 analysieren und das Fahrzeug 2802, das auf einer Fahrspur parallel zum Land stoppt, auf dem das Fahrzeug 2802 fährt, basierend auf der Bildanalyse detektieren. In einigen Ausführungsformen ist eine Oberfläche des Straßensegments, die dem Halteort entspricht, frei von Markierungen, die angeben, wo Fahrzeuge relativ zu der Kreuzung anhalten sollten. Beispielsweise kann die Fahrspur 2811 keine Markierungen aufweisen, die angeben, wo Fahrzeuge relativ zu der Kreuzung 2821 anhalten sollten. Beispielsweise kann eine Oberfläche des Straßensegments in einer Fahrspur vor dem Host-Fahrzeug keine Markierung beinhalten, die eine Stopplinie anzeigt.
  • Alternativ oder zusätzlich kann das Fahrzeug 2702 dazu konfiguriert sein, Informationen zu empfangen, die eine Kreuzung von einem anderen Fahrzeug oder einem Infrastrukturobjekt unterscheiden. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2803 ein Signal (oder eine Nachricht) empfangen, das die Kreuzung 2821 vom Fahrzeug 2801 und/oder Fahrzeug 2802 unterscheidet. Alternativ oder zusätzlich kann das Fahrzeug 2803 ein Signal (oder eine Nachricht) empfangen, das die Kreuzung 2821 von einem Signalpfosten (nicht gezeigt) unterscheidet.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 alternativ oder zusätzlich das eine oder die mehreren Bilder an den Server 2701 übertragen, der dazu konfiguriert sein kann, das eine oder die mehreren Bilder zu analysieren, um einen Indikator einer Kreuzung zu erkennen.
  • In einigen Ausführungsformen können das Fahrzeug 2702 und/oder der Server 2701 einen Maschinenlernalgorithmus verwenden, um das eine oder die mehreren Bilder zu analysieren und einen Indikator einer Kreuzung zu erkennen. Beispielsweise kann das Fahrzeug 2702 einen trainierten Maschinenlernalgorithmus zum Erkennen eines Indikators einer Kreuzung erhalten oder verwenden. In einigen Ausführungsformen kann der Maschinenlernalgorithmus basierend auf einem überwachten Trainingsprozess trainiert werden. Beispielsweise kann der Maschinenlernalgorithmus unter Verwendung einer großen Anzahl von Trainingsproben trainiert werden, in denen ein oder mehrere Halteort(e) (manuell oder automatisch durch einen Computer) in einem gepaarten Bild bezeichnet sind. Das Fahrzeug 2702 kann auch das eine oder die mehreren Bilder in den Maschinenlernalgorithmus eingeben, der basierend auf der Eingabe einen Indikator einer Kreuzung ausgeben kann.
  • Bei Schritt 2913 kann das Fahrzeug 2702 dazu konfiguriert sein, basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, einen Halteort des Host-Fahrzeugs relativ zu der erkannten Kreuzung zu bestimmen. Beispielsweise kann das Fahrzeug 2702 eine Signalausgabe von einem Sensor (z. B. einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor oder dergleichen oder einer Kombination davon) empfangen und bestimmen, dass das Fahrzeug 2702 an einem Ort relativ zu der erkannten Kreuzung hält. Das Fahrzeug 2702 kann auch dazu konfiguriert sein, den Halteort zu bestimmen, an dem das Fahrzeug 2702 hält. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2801 ein Signal von einem GPS-Sensor empfangen und bestimmen, dass das Fahrzeug an einem Ort nahe der Kreuzung 2821 hält. Das Fahrzeug 2801 kann auch dazu konfiguriert sein, den Halteort des Fahrzeugs 2801 (z. B. GPS-Koordinaten des Halteorts) zu bestimmen. Als ein weiteres Beispiel können, wie in 28 veranschaulicht, die Fahrzeuge 2802 und 2803 auf der Fahrspur 2812 halten. Das Fahrzeug 2802 kann den Halteort des Fahrzeugs 2802 relativ zu der Kreuzung 2821 basierend auf Ausgabe bestimmen, die von mindestens einem Sensor des Fahrzeugs 2802 empfangen wurde, und das Fahrzeug 2803 kann den Halteort des Fahrzeugs 2803 relativ zu der Kreuzung 2821 basierend auf Ausgabe bestimmen, die von mindestens einem Sensor des Fahrzeugs 2803 empfangen wurde.
  • Bei Schritt 2914 kann das Fahrzeug 2702 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden. Zum Beispiel kann das Fahrzeug 2702 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um einen Indikator zu bestimmen, der anzeigt, ob sich ein oder mehrere Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands vor dem Host-Fahrzeug befinden. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2801 ein oder mehrere Bilder analysieren, um einen Indikator zu bestimmen, der anzeigt, dass sich keine Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands (z. B. 2 Meter) vor dem Fahrzeug 2801 befinden. Das Fahrzeug 2802 kann ein oder mehrere Bilder analysieren, um einen Indikator zu bestimmen, der anzeigt, dass sich keine Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands (z. B. 2 Meter) vor dem Fahrzeug 2802 befinden, während das Fahrzeug 2803 ein oder mehrere Bilder analysieren kann, um einen Indikator zu bestimmen, der anzeigt, dass sich ein anderes Fahrzeug (d. h. das Fahrzeug 2802) innerhalb eines vorbestimmten Schwellenabstands (z. B. 2 Meter) vor dem Fahrzeug 2803 befindet. Der Schwellenabstand kann im Bereich von 10 Zentimetern bis 10 Metern liegen. In einigen Ausführungsformen kann der Schwellenabstand auf Teilbereiche von 10 bis 50 Zentimetern, 50 Zentimetern bis 1 Meter, 1 bis 2 Metern, 2 bis 5 Metern und 5 bis 10 Metern beschränkt sein.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 alternativ oder zusätzlich dazu konfiguriert sein, einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, basierend auf Informationen, die von einem anderen Fahrzeug, einem Infrastrukturobjekt und/oder dem Server 2701 empfangen werden. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2803 ein Signal (oder eine Nachricht) vom Fahrzeug 2801 (und/oder Fahrzeug 2802) empfangen, das anzeigt, dass sich ein anderes Fahrzeug (Fahrzeug 2801 und/oder Fahrzeug 2802) vor ihm befindet. Alternativ oder zusätzlich kann das Fahrzeug 2803 ein Signal (oder eine Nachricht) von einem Signalpfosten empfangen, das anzeigt, dass sich ein anderes Fahrzeug (Fahrzeug 2801 und/oder Fahrzeug 2802) vor ihm befindet. Alternativ oder zusätzlich kann das Fahrzeug 2803 ein Signal (oder eine Nachricht) vom Server 3301 empfangen, das anzeigt, dass sich ein anderes Fahrzeug (Fahrzeug 2801 und/oder Fahrzeug 2802) vor ihm befindet. In jedem dieser Beispiele kann das Signal (oder die Nachricht) auch eine Position eines Fahrzeugs vor dem Host-Fahrzeug beinhalten. Zum Beispiel können die Positionsinformationen Karteninformationen relativ zu einem Koordinaten-System zum Identifizieren eines Orts des vorausfahrenden Fahrzeugs relativ zum Host-Fahrzeug beinhalten.
  • In einigen Ausführungsformen können das Fahrzeug 2702 und/oder der Server 2701 einen Maschinenlernalgorithmus verwenden, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden. Zum Beispiel kann das Fahrzeug 2702 einen trainierten Maschinenlernalgorithmus erhalten oder verwenden, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge in einem vorderen Bereich des Fahrzeugs befinden und möglicherweise auch, ob sich solche Fahrzeuge vor dem Host-Fahrzeug befinden, z. B. innerhalb der gleichen Fahrspur wie das Fahrzeug. Das Fahrzeug 2702 kann auch das eine oder die mehreren Bilder in den Maschinenlernalgorithmus eingeben, der basierend auf der Eingabe einen Indikator ausgeben kann, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden.
  • Bei Schritt 2915 kann das Fahrzeug 2702 konfiguriert sein, um den Halteort des Host-Fahrzeugs an einen Server zu senden. Optional kann das Fahrzeug 3302 auch dazu konfiguriert sein, den Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, an den Server zu senden. Zum Beispiel kann das Fahrzeug 2702 den Halteort des Fahrzeugs 2702 und den Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Fahrzeug 2702 befinden, an den Server 2701 zur Verwendung beim Aktualisieren eines Straßennavigationsmodells über das Netzwerk 2705 übertragen. Beispielsweise kann, wie in 28 veranschaulicht, das Fahrzeug 2801 Daten, die den Halteort des Fahrzeugs 2801 anzeigen (z. B. GPS-Koordinaten), und einen Indikator, dass sich keine Fahrzeuge vor dem Fahrzeug 2801 befinden, über das Netzwerk 2705 an den Server 2701 übertragen. Als ein anderes Beispiel kann das Fahrzeug 2803 Daten, die den Halteort des Fahrzeugs 2803 anzeigen (z. B. GPS-Koordinaten), und einen Indikator, dass sich ein oder mehrere Fahrzeuge vor dem Fahrzeug 2803 befinden, über das Netzwerk 2705 an den Server 2701 übertragen.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 auch Ortsinformationen in Bezug auf die Kreuzung an den Server 2701 übertragen. Beispielsweise kann das Fahrzeug 2702 auch Ortsinformationen in Bezug auf die Kreuzung, wie etwa die GPS-Koordinaten der Kreuzung, die Größe der Kreuzung, die Grenzen der Kreuzung, die Form oder Struktur der Kreuzung, Fahrspurinformationen in Bezug auf die Kreuzung (z. B. Fahrtrichtung, Anzahl der Fahrspuren, die die Kreuzung überqueren), einen oder mehrere Orientierungspunkte in und/oder um die Kreuzung, ein oder mehrere Infrastrukturobjekte in und/oder um die Kreuzung oder dergleichen oder eine Kombination davon an den Server 2701 übertragen.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 den Halteort des Fahrzeugs 2702 an den Server 2701 übertragen, wenn die Anzahl der Fahrzeuge, die sich vor ihm befinden, gleich oder kleiner als eine Schwellenanzahl ist. Beispielsweise kann das Fahrzeug 2702 den Halteort des Fahrzeugs 2702 nur dann an den Server 2701 übertragen, wenn sich zwei oder weniger Fahrzeuge vor ihm befinden. Als ein anderes Beispiel kann das Fahrzeug 2702 den Halteort des Fahrzeugs 2702 nur dann an den Server 2701 übertragen, wenn sich kein Fahrzeug vor dem Fahrzeug 2702 befindet.
  • In einigen Ausführungsformen kann das Fahrzeug 2702 konfiguriert sein, um den Halteort des Fahrzeugs 2702 an den Server 2701 zu übertragen, wenn sich keine Fahrzeuge vor dem Host-Fahrzeug befinden. Beispielsweise kann das Fahrzeug 2702 basierend auf der Analyse des einen oder der mehreren Bilder bestimmen, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden (wie an anderer Stelle in dieser Offenbarung beschrieben). Das Fahrzeug 2702 kann den Halteort des Host-Fahrzeugs auch als Reaktion auf die Bestimmung, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden, an den Server übertragen. In einigen Ausführungsformen kann das Fahrzeug 2702 den Halteort des Host-Fahrzeugs nur dann an den Server übertragen, wenn sich keine Fahrzeuge vor dem Host-Fahrzeug befinden.
  • 29B ist ein Ablaufdiagramm, das einen beispielhaften Prozess 2920 zum Aktualisieren eines Straßennavigationsmodells zeigt, übereinstimmend mit den offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 2920 können durch ein Fahrzeug (z. B. Fahrzeug 2702), eine mit dem Host-Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 2703) und/oder einen Server (z. B. Server 2701) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 2910 den Server 2701 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 2920 durch ein Fahrzeug und/oder eine Fahrzeugvorrichtung durchgeführt werden können.
  • Bei Schritt 2921 kann der Server 2701 dazu konfiguriert sein, Fahrtinformationen von jedem einer Vielzahl von Fahrzeugen zu empfangen. Die Fahrtinformationen können einen Halteort beinhalten, an dem ein bestimmtes Fahrzeug aus der Vielzahl von Fahrzeugen während einer Fahrt entlang des Straßensegments relativ zu einer Kreuzung angehalten hat. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, Fahrtinformationen vom Fahrzeug 2801, Fahrzeug 2802 und Fahrzeug 2803 zu empfangen, die den Halteort jedes der Fahrzeuge relativ zur Kreuzung 2821 (wie in 28 veranschaulicht und an anderer Stelle in dieser Offenbarung beschrieben) während der Fahrt entlang des entsprechenden Straßensegments (z. B. Fahrspur 2811 für Fahrzeug 2801, Fahrspur 2812 für Fahrzeug 2802 und Fahrzeug 2803) beinhalten können. In einigen Ausführungsformen ist eine Oberfläche des Straßensegments, die dem Halteort entspricht, frei von Markierungen, die angeben, wo Fahrzeuge relativ zu der Kreuzung anhalten sollten. Beispielsweise kann die Fahrspur 2811 keine Markierungen aufweisen, die angeben, wo Fahrzeuge relativ zur Kreuzung 2821 anhalten sollten.
  • In einigen Ausführungsformen können die von einem Fahrzeug empfangenen Fahrtinformationen auch einen Indikator beinhalten, der anzeigt, ob sich mindestens ein anderes Fahrzeug zwischen der Kreuzung und dem Halteort des Fahrzeugs aufgehalten hat. Alternativ oder zusätzlich können die von einem Fahrzeug empfangenen Fahrtinformationen ein oder mehrere Bilder in Bezug auf den Halteort des Fahrzeugs und/oder die Kreuzung beinhalten. Alternativ oder zusätzlich können die Fahrtinformationen Ortsinformationen in Bezug auf die Kreuzung beinhalten. Beispielsweise können die von einem Fahrzeug empfangenen Fahrtinformationen die Ortsinformationen der Kreuzung, wie etwa die GPS-Koordinaten der Kreuzung, die Größe der Kreuzung, die Grenzen der Kreuzung, die Form der Kreuzung oder dergleichen oder eine Kombination davon beinhalten.
  • Bei Schritt 2922 kann der Server 2701 dazu konfiguriert sein, die Halteorte in den von der Vielzahl von Fahrzeugen empfangenen Fahrtinformationen zu aggregieren. In einigen Ausführungsformen kann das Aggregieren der Halteorte das Berechnen eines Durchschnitts der Halteorte beinhalten. Beispielsweise kann der Server 2701 dazu konfiguriert sein, die Halteorte des Fahrzeugs 2801, des Fahrzeugs 2802 und/oder des Fahrzeugs 2803 (und/oder die Halteorte anderer Fahrzeuge) relativ zu der Kreuzung 2821 zu aggregieren. Als ein anderes Beispiel kann der Server 2701 den Halteort eines ersten Fahrzeugs entlang einem Straßensegment an einer Kreuzung zu einer ersten Zeit und die Halteorte eines zweiten Fahrzeugs entlang dem gleichen Straßensegment an der gleichen Kreuzung zu einer zweiten Zeit (und/oder die Halteorte anderer Fahrzeuge) aggregieren.
  • In einigen Ausführungsformen kann der Server 2701 beim Aggregieren der Halteorte dazu konfiguriert sein, mindestens einen von einem der Vielzahl von Fahrzeugen empfangenen Halteort basierend auf einer Bestimmung zu eliminieren, dass der mindestens eine Halteort größer als ein vorbestimmter Schwellenabstand von mindestens einem anderen von einem anderen der Vielzahl von Fahrzeugen empfangenen Halteort entfernt ist. Zum Beispiel kann der Server 2701 bestimmen, dass der Halteort des Fahrzeugs 2803 größer als ein vorbestimmter Schwellenabstand (z. B. 2 Meter) vom Halteort des Fahrzeugs 2801 und/oder dem Halteort des Fahrzeugs 2802 entfernt ist. Der Server 2701 kann den Halteort des Fahrzeugs 2803 basierend auf der Bestimmung ebenfalls eliminieren. Der Schwellenabstand kann im Bereich von 10 Zentimetern bis 10 Metern liegen. In einigen Ausführungsformen kann der Schwellenabstand auf Teilbereiche von 10 bis 50 Zentimetern, 50 Zentimetern bis 1 Meter, 1 bis 2 Metern, 2 bis 5 Metern und 5 bis 10 Metern beschränkt sein.
  • Alternativ oder zusätzlich kann der Server 2701 beim Aggregieren der Halteorte dazu konfiguriert sein, einen bestimmten Halteort, der von einem bestimmten der Vielzahl von Fahrzeugen empfangen wurde, basierend auf einem Indikator zu eliminieren, dass sich mindestens ein anderes Fahrzeug zwischen der Kreuzung und dem bestimmten Halteort des bestimmten der Vielzahl von Fahrzeugen aufgehalten hat. Zum Beispiel kann der Server 2701 einen Indikator bestimmen, der anzeigt, dass sich das Fahrzeug 2802 zwischen der Kreuzung 2821 und dem Halteort des Fahrzeugs 2803 aufgehalten hat. Der Server 2701 kann den vom Fahrzeug 2803 empfangenen Halteort ebenfalls eliminieren, wenn die von den Fahrzeugen empfangenen Halteorte aggregiert werden. In einigen Ausführungsformen kann ein Indikator, der anzeigt, ob sich mindestens ein anderes Fahrzeug zwischen der Kreuzung und dem bestimmten Halteort des bestimmten der Vielzahl von Fahrzeugen aufgehalten hat, in den vom bestimmten Fahrzeug empfangenen Fahrtinformationen beinhaltet sein. Alternativ oder zusätzlich kann der Indikator basierend auf der Analyse mindestens eines Bilds bestimmt werden, das von einer Kamera an Bord des bestimmten der Vielzahl von Fahrzeugen aufgenommen wurde. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, ein oder mehrere Bilder zu empfangen, die von einer Kamera erfasst wurden, die dem Fahrzeug 2803 zugeordnet ist, und zu bestimmen, dass sich ein Fahrzeug (z. B. Fahrzeug 2802) zwischen der Kreuzung 2821 und dem Halteort des Fahrzeugs 2803 aufgehalten hat, wie in 28 veranschaulicht.
  • Bei Schritt 2923 kann der Server 2701 dazu konfiguriert sein, basierend auf den aggregierten Halteorten einen Haltelinienort relativ zu der Kreuzung zu bestimmen. Zum Beispiel kann, wie in 28 veranschaulicht, der Server 2701 dazu konfiguriert sein, einen Haltelinienort (z. B. dargestellt durch die gestrichelte Linie 2831 oder einen Teil davon) relativ zu der Kreuzung 2821 basierend auf den aggregierten Halteorten zu bestimmen, die mindestens einen der Halteorte des Fahrzeugs 2801 und des Fahrzeugs 2802 beinhalten. Beispielsweise kann der Server 2701 dazu konfiguriert sein, einen Haltelinienort durch Mitteln (oder durch Berechnen eines gewichteten Durchschnitts) der Entfernungen des Halteorts des Fahrzeugs 2801 relativ zu der Kreuzung 2821 und des Halteorts des Fahrzeugs 2802 relativ zu der Kreuzung 2821 zu bestimmen. In einigen Ausführungsformen kann der Server 3301 zudem dazu konfiguriert sein, andere Faktoren, wie etwa die Umgebungsbedingungen, zu berücksichtigen, wenn die Bilder aufgenommen wurden, wenn ein Haltelinienort bestimmt wird. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, einen Haltelinienort durch Berechnen eines gewichteten Durchschnitts der Entfernung eines ersten Halteorts relativ zu der Kreuzung, der basierend auf einem ersten Bild bestimmt wird, und der Entfernung eines zweiten Halteorts relativ zu der Kreuzung, der basierend auf einem zweiten Bild bestimmt wird, zu bestimmen, indem dem ersten Halteort mehr Gewicht verliehen wird, wenn die Umgebungsbedingung, bei der das erste Bild aufgenommen wurde, besser als das zweite Bild ist (z. B. das erste Bild heller als das zweite Bild ist).
  • In einigen Ausführungsformen kann der Server 2701 zudem Ortsinformationen des Haltelinienorts bestimmen (z. B. GPS-Koordinaten, die dem Haltelinienort zugeordnet sind, Position des Haltelinienorts relativ zu einer oder mehreren bekannten Referenzen, wie z. B. Fahrspur-Markierungen, Verkehrszeichen, Autobahnausfahrten, Ampeln und jedem anderen Merkmal usw.). In einigen Ausführungsformen kann der Server 2701 zudem Ortsinformationen in Bezug auf die Kreuzung, wie etwa die GPS-Koordinaten der Kreuzung, die Größe der Kreuzung, die Grenzen der Kreuzung, die Form und/oder Struktur der Kreuzung, Fahrspurinformationen in Bezug auf die Kreuzung (z. B. Fahrtrichtung, Anzahl der Fahrspuren, die die Kreuzung überqueren), einen oder mehrere Orientierungspunkte in und/oder um die Kreuzung, ein oder mehrere Infrastrukturobjekte in und/oder um die Kreuzung oder dergleichen oder eine Kombination davon bestimmen.
  • In einigen Ausführungsformen kann der Server 2701 eine Konfidenzbewertung für jeden der bestimmten Halteorte relativ zu der Kreuzung basierend auf den von den Fahrzeugen empfangenen Bildern bestimmen. Zum Beispiel kann der Server 2701 eine erste Konfidenzbewertung für einen ersten Halteort zuweisen, der basierend auf dem ersten Bild bestimmt wird, das vom ersten Fahrzeug empfangen wurde. Der Server 2701 kann ebenfalls eine zweite Konfidenzbewertung für einen zweiten Halteort zuweisen, der basierend auf dem zweiten Bild bestimmt wird, das vom zweiten Fahrzeug empfangen wurde. Um einen endgültigen Halteort relativ zu der Kreuzung zu bestimmen, kann der Server 2701 dazu konfiguriert sein, die Konfidenzbewertungen zu berücksichtigen. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, einen gewichteten Durchschnitt basierend auf dem ersten und zweiten Halteort zu berechnen, indem dem ersten Halteort mehr Gewicht verliehen wird als dem zweiten Halteort, wenn die erste Konfidenzbewertung höher als die zweite Konfidenzbewertung ist.
  • Bei Schritt 2924 kann der Server 2701 dazu konfiguriert sein, das Straßennavigationsmodell zu aktualisieren, um den Haltelinienort zu beinhalten. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, den Haltelinienort in eine Navigationskarte (d. h. ein Straßennavigationsmodell oder einen Teil davon) hinzuzufügen. In einigen Ausführungsformen kann der Server 2701 auch Informationen in Bezug auf die Kreuzung in das Straßennavigationsmodell beinhalten. In einigen Ausführungsformen kann der Server 2701 Beschreibungen des Haltelinienorts und/oder der Kreuzung in das Straßennavigationsmodell hinzufügen. Alternativ oder zusätzlich kann der Server 2701 Navigationsanweisungen gemäß dem Haltelinienort aktualisieren. Zum Beispiel kann der Server 2701 die Navigationsanweisung in Bezug auf die Kreuzung aktualisieren, um ein Fahrzeug anzuweisen, am Haltelinienort anzuhalten und/oder sich zu verlangsamen, wenn es sich der Stopplinie oder der Kreuzung nähert.
  • In einigen Ausführungsformen kann der Server 2701 dazu konfiguriert sein, das aktualisierte Straßennavigationsmodell an mindestens ein Fahrzeug zu verteilen. Zum Beispiel kann der Server 2701 dazu konfiguriert sein, das aktualisierte Straßennavigationsmodell über das Netzwerk 2705 an eine Vielzahl von Fahrzeugen zu übertragen. Alternativ oder zusätzlich kann der Server 2701 das aktualisierte Straßennavigationsmodell in der Datenbank 2704 speichern und ein oder mehrere Fahrzeuge können das aktualisierte Straßennavigationsmodell aus der Datenbank 2704 erhalten.
  • 29C ist ein Ablaufdiagramm, das einen beispielhaften Prozess zur Fahrzeugnavigation zeigt, übereinstimmend mit den offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 2930 können durch ein Fahrzeug (z. B. Fahrzeug 2702), eine mit dem Host-Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 2703) und/oder einen Server (z. B. Server 2701) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 2930 das Fahrzeug 2702 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 2930 durch eine Fahrzeugvorrichtung und/oder einen Server durchgeführt werden können.
  • Bei Schritt 2931 kann das Fahrzeug 2702 dazu konfiguriert sein, von einer Kamera des Host-Fahrzeugs ein oder mehrere Bilder zu empfangen, die von einer Umgebung des Host-Fahrzeugs aufgenommen wurden (wie an anderer Stelle in dieser Offenbarung beschrieben).
  • Bei Schritt 2932 kann die Fahrzeugvorrichtung 2703 dazu konfiguriert sein, einen Indikator einer Kreuzung in einer Umgebung des Host-Fahrzeugs zu erkennen (wie an anderer Stelle in dieser Offenbarung beschrieben). In einigen Ausführungsformen beinhaltet eine Oberfläche des Straßensegments in einer Fahrspur vor dem Host-Fahrzeug keine Markierungen, die einen Ort zum Anhalten anzeigen.
  • Bei Schritt 2933 kann die Fahrzeugvorrichtung 2703 dazu konfiguriert sein, Karteninformationen zu empfangen, die einen Haltelinienort relativ zu der Kreuzung beinhalten. Beispielsweise kann die Fahrzeugvorrichtung 2703 Karteninformationen, die einen Haltelinienort (z. B. die gestrichelte Linie 2831, veranschaulicht in 28) beinhalten, vom Server 2701 empfangen. In einigen Ausführungsformen kann das Fahrzeug 2702 die Karteninformationen empfangen, bevor es sich der Kreuzung nähert. Beispielsweise kann das Fahrzeug 2702 die Karteninformationen empfangen, nachdem der Server 2701 die Karteninformationen in Bezug auf die Kreuzung aktualisiert hat (z. B. als Teil regelmäßiger Aktualisierungen des Straßennavigationsmodells).
  • Bei Schritt 2934 kann das Fahrzeug 2702 dazu konfiguriert sein, basierend auf dem Haltelinienort relativ zu der Kreuzung zu veranlassen, dass das Host-Fahrzeug mindestens eine Navigationsaktion relativ zu der Kreuzung durchführt. Beispielsweise kann das Fahrzeug 2702 das Fahrzeug 2702 veranlassen, das Fahrzeug 2702 zu bremsen und anzuhalten, bevor es die gestrichelte Linie 2831, veranschaulicht in 28, erreicht. Alternativ oder zusätzlich kann das Fahrzeug 2702 das Fahrzeug 2702 veranlassen, sich zu verlangsamen, wenn es sich der Kreuzung nähert (z. B. innerhalb eines vorbestimmten Abstands vom Haltelinienort).
  • Infrastrukturkartierung und geschichtete Ausgabe
  • Eine genaue, umfassende, aktuelle digitale Karte kann für autonome Fahrzeuge und Fahrer, die entlang von Straßen navigieren, wesentlich sein. Die Fahrumgebung unterliegt jedoch häufig ständigen Änderungen, und eine Karte, auf die sich ein Fahrzeug oder ein Fahrer stützt, erfasst möglicherweise nicht die Informationen, die das Fahrzeug oder der Fahrer in der Umgebung navigieren muss. Beispielsweise kann eine Karte nicht rechtzeitig aktualisiert werden, um eine neue Ampel, die an einer Kreuzung installiert ist, zu reflektieren. Somit kann es wünschenswert sein, eine Karte zu erzeugen oder zu aktualisieren, um Änderungen der Umgebung zu beinhalten.
  • Zusätzlich kann eine Karte keine Informationen aufweisen, die sich auf die genauen Positionen von Infrastrukturobjekten, wie etwa Schachtabdeckungen, beziehen, da es zeitaufwändig und kostspielig sein kann, die Informationen zu erfassen. Möglicherweise kann es wünschenswert sein, die Informationen, die sich auf Infrastrukturobjekte in einer Karte beziehen, einzuschließen, um einem Fahrer oder Fahrzeug beim Navigieren zu helfen (z. B. um eine potenzielle Gefahr, die durch eine Schachtabdeckung entsteht, zu vermeiden). Das Vorhandensein solcher Informationen kann auch einer Gemeinde bei der Stadtentwicklung und - planung helfen.
  • Die hierin offenbarten Systeme und Verfahren können ein oder mehrere Objekte, die einem Straßensegment zugeordnet sind, in Bildern identifizieren, die durch eine Vielzahl von Fahrzeugen (oder eine Bilderfassungsvorrichtung, die einem Fahrzeug zugeordnet ist) erfasst werden, wenn sie das Straßensegment entlang fahren. Die Systeme und Verfahren können auch Positionsindikatoren jedes der identifizierten Objekte bestimmen. Die Systeme und Verfahren können ferner die Positionsindikatoren für jedes der identifizierten Objekte korrelieren und eine verfeinerte Position für jedes der identifizierten Objekte bestimmen. Die Systeme und Verfahren können auch eine Karte erzeugen, die eine Repräsentation der verfeinerten Position von mindestens einem der Objekte beinhaltet.
  • 30 veranschaulicht ein beispielhaftes System 3000 zum Erzeugen von Karteninformationen, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 30 veranschaulicht, kann das System 3000 einen Server 3001, ein oder mehrere Fahrzeuge 3002 (z. B. Fahrzeuge 3002A, 3002B, 3002C, ... , 3002N) und eine oder mehrere Fahrzeugvorrichtungen 3003, die einem Fahrzeug zugeordnet sind (z. B. Fahrzeugvorrichtungen 3003A, 3003B, 3003C, ... , 3003N), eine Datenbank 3004, eine externe Entität 3005 und ein Netzwerk 3006 beinhalten. Server 3001 kann dazu konfiguriert sein, Karteninformationen basierend auf Informationen zu allgemeinen, die von einem oder mehreren Fahrzeugen (oder einer Vorrichtung, die einem Fahrzeug zugeordnet ist) empfangen werden. Fahrzeug 3002 und/oder Fahrzeugvorrichtung 3003 können dazu konfiguriert sein, ein oder mehrere Bilder von der Umgebung zu erfassen und das eine oder die mehreren Bilder an den Server 3001 zu übertragen. Datenbank 3004 kann dazu konfiguriert sein, Informationen für die Komponenten des Systems 3000 (z. B. Server 3001, Fahrzeug 3002, Fahrzeugvorrichtung 3003 und/oder externe Entität 3005) zu speichern. Netzwerk 3006 kann dazu konfiguriert sein, Kommunikationen zwischen den Komponenten des Systems 3000 zu erleichtern.
  • Server 3001 kann dazu konfiguriert sein, ein oder mehrere Bilder (oder eine Vielzahl von Bildern) von jedem einer Vielzahl von Fahrzeugen 3002 (und/oder Fahrzeugen 3002) zu empfangen. Der Server 3001 kann auch dazu konfiguriert sein, die Bilder zu analysieren und Repräsentationen einer Vielzahl von Objekten zu identifizieren, die zu mindestens einer vorbestimmten Kategorie von Objekten gehören. Der Server 3001 kann ferner dazu konfiguriert sein, Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen. Der Server 3001 kann auch dazu konfiguriert sein, die Positionsindikatoren für jedes der Vielzahl von Objekten zu korrelieren. In einigen Ausführungsformen kann das Korrelieren das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhalten. Der Server 3001 kann ferner dazu konfiguriert sein, eine Karte zu erzeugen, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören. In einigen Ausführungsformen kann der Server 3001 die erzeugte Karte an ein oder mehrere Fahrzeuge 3002 und/oder eine externe Entität 3005 übertragen. In einigen Ausführungsformen kann der Server 3001 ein Cloud-Server sein, der die hierin offenbarten Funktionen ausführt. Der Begriff „Cloud-Server“ bezieht sich auf eine Computerplattform, die Dienste über ein Netzwerk, wie etwa das Internet, bereitstellt. In dieser beispielhaften Konfiguration kann der Server 3001 virtuelle Maschinen verwenden, die möglicherweise nicht der einzelnen Hardware entsprechen. Beispielsweise können Rechen- und/oder Speicherfähigkeiten durch Zuweisen geeigneter Abschnitte der gewünschten Rechen-/Speicherleistung von einem skalierbaren Speicher, wie etwa einem Rechenzentrum oder einer verteilten Rechenumgebung, implementiert werden. In einem Beispiel kann der Server 3001 die hierin beschriebenen Verfahren unter Verwendung von kundenspezifischer festverdrahteter Logik, einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) oder feldprogrammierbaren Gate-Arrays (FPGAs), Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem den Server 3001 dazu veranlassen, eine Spezialmaschine zu sein.
  • Das Fahrzeug 3002 und/oder die Fahrzeugvorrichtung 3003 können dazu konfiguriert sein, ein oder mehrere Bilder zu erfassen, wenn das Fahrzeug 3002 ein Straßensegment entlang fährt. Das Fahrzeug 3002 und/oder die Fahrzeugvorrichtung 3003 können auch dazu konfiguriert sein, das eine oder die mehreren Bilder an den Server 3001 zu übertragen, um ein oder mehrere Objekte im Bild bzw. in den Bildern zu identifizieren.
  • Die Datenbank 3004 kann eine Kartendatenbank beinhalten, die dazu konfiguriert ist, Kartendaten für die Komponenten des Systems 3000 (z. B. Server 3001, Fahrzeug 3002, Fahrzeugvorrichtung 3003 und/oder externe Entität 3005) zu speichern. In einigen Ausführungsformen können der Server 3001, das Fahrzeug 3002, die Fahrzeugvorrichtung 3003 und/oder die externe Entität 3005 dazu konfiguriert sein, auf die Datenbank 3004 zuzugreifen und Daten, die über das Netzwerk 3006 in der Datenbank 3004 gespeichert sind, zu erhalten und/oder Daten in diese hochzuladen. Beispielsweise kann der Server 3001 Daten, die sich auf eine oder mehrere Karten beziehen, zur Speicherung an die Datenbank 3004 übertragen. Das Fahrzeug 3002, die Fahrzeugvorrichtung 3003 und/oder die externe Entität 3005 können Daten, die sich auf eine oder mehrere Karten beziehen, aus der Datenbank 3004 herunterladen. In einigen Ausführungsformen kann die Datenbank 3004 Daten beinhalten, die sich auf Objekte beziehen, wie etwa Infrastrukturobjekte, die Schachtabdeckungen, Ampeln, Versorgerkästen, Bushaltestellen, Kanalisationseingänge, Gebäude oder dergleichen oder eine Kombination davon beinhalten können. In einigen Ausführungsformen kann die Datenbank 3004 eine Datenbank ähnlich der Kartendatenbank 160 beinhalten, die an anderer Stelle in dieser Anmeldung beschrieben ist.
  • Die externe Entität 3005 (oder eine Rechenvorrichtung, die mit der externen Entität 3005 assoziiert ist) kann konfiguriert sein, um Daten von Server 3001 zu empfangen. Beispielsweise kann der Server 3001 eine erzeugte Karte, wie an anderer Stelle in dieser Offenbarung beschrieben, über beispielsweise das Netzwerk 3006 an die externe Entität 3005 übertragen. Alternativ oder zusätzlich kann der Server 3001 Informationen in Bezug auf ein oder mehrere Objekte übertragen, die in einem oder mehreren Bildern identifiziert sind, wie an anderer Stelle in dieser Offenbarung beschrieben (z. B. eine verfeinerte Position einer Bushaltestelle entlang einem Straßensegment).
  • Das Netzwerk 3006 kann eine beliebige Art von Netzwerk (einschließlich Infrastruktur) sein, das Kommunikationen bereitstellt, Informationen austauscht und/oder den Austausch von Informationen zwischen den Komponenten des Systems 3000 erleichtert. Beispielsweise kann das Netzwerk 3006 ein lokales Netzwerk, ein drahtloses Netzwerk (z. B. ein Wi-Fi/302.11-Netzwerk) oder andere geeignete Verbindungen beinhalten oder Teil davon sein. In anderen Ausführungsformen können eine oder mehrere Komponenten des Systems 3000 direkt über dedizierte Kommunikationsverbindungen kommunizieren, wie etwa beispielsweise ein Telefonnetzwerk, ein Extranet, ein Intranet, das Internet, Satellitenkommunikationen, Offline-Kommunikationen, drahtlose Kommunikationen, Transponderkommunikationen, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), ein virtuelles privates Netzwerk (VPN) und so weiter.
  • 31 veranschaulicht ein beispielhaftes Bild 3100, das durch eine Bilderfassungsvorrichtung erfasst wurde. Das Bild 310 stellt die Umgebung eines Fahrzeugs dar. Beispielsweise kann das Fahrzeug 3002 eine Kamera beinhalten, die dazu konfiguriert ist, ein oder mehrere Bilder von der Umgebung zu erfassen, wenn das Fahrzeug 3002 ein Straßensegment entlang fährt. Das Fahrzeug 3002 kann das eine oder die mehreren Bilder von der Kamera empfangen. Das Fahrzeug 3002 kann das Bild ebenfalls an den Server 3001 übertragen. Der Server 3001 kann dazu konfiguriert sein, das Bild zu analysieren und die Fahrspur-Markierungen 3111 und 3112 basierend auf der Analyse des Bilds zu identifizieren. Der Server 3001 kann ebenfalls Objekte identifizieren, wie etwa Ampeln 3121 und 3122, Straßenschilder 3131 und 3132, Gebäude 3141, 3142 und 3143, Bäume 3161 und 3162, Schachtabdeckung 3171 und Straßenlampen 3181 und 3182.
  • 32 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 3200 zum Erzeugen von Karteninformationen zeigt, übereinstimmend mit offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 3200 können durch ein Fahrzeug (z. B. Fahrzeug 3002), eine mit dem Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 3003), einen Server (z. B. Server 3001) und/oder eine externe Entität (z. B. externe Entität 3005) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 3200 den Server 3001 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 3200 durch ein Fahrzeug, eine Fahrzeugvorrichtung und/oder eine externe Entität durchgeführt werden können.
  • Bei Schritt 3201 kann ein erstes Bild empfangen werden, das von einer Kamera aufgenommen wurde, die mit einem ersten Fahrzeug während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments assoziiert ist. Wenn das Fahrzeug 3002A beispielsweise ein Straßensegment entlang fährt, kann eine am Fahrzeug 3002A installierte Kamera (die der Bilderfassungseinheit 120 ähnlich sein kann, wie an anderer Stelle in dieser Offenbarung beschrieben) ein oder mehrere Bilder von der Umgebung des Fahrzeugs 3002A aufnehmen. Beispielsweise kann das in 31 veranschaulichte beispielhafte Bild 3100 ein Bild sein, das von einer Kamera des Fahrzeugs 3002A während einer Fahrt des Fahrzeugs 3002A entlang eines Straßensegments aufgenommen wurde. Das Fahrzeug 3002A kann das eine oder die mehreren Bilder an den Server 3001 übertragen. In einigen Ausführungsformen kann das Fahrzeug 3002A auch die Informationen in Bezug auf die Fahrt entlang des Straßensegments übertragen. Beispielsweise kann das Fahrzeug 3002A GPS-Koordinaten seiner Position(en) bestimmen, wenn das eine oder die mehreren Bilder aufgenommen wurden. In einigen Ausführungsformen können das Fahrzeug 3002A und/oder der Server 3001 das eine oder die mehreren Bilder mit dem Straßensegment assoziieren.
  • In einigen Ausführungsformen kann die Kamera dazu konfiguriert sein, die Bilder kontinuierlich oder intermittierend aufzunehmen. Alternativ kann die Kamera dazu konfiguriert sein, die Bilder basierend auf einem Auslöseereignis aufzunehmen. Beispielsweise kann der Server 3001 eine Anweisung an das Fahrzeug 3002A übertragen, die die Kamera anweisen kann, ein oder mehrere Bilder basierend auf der Aufnahmeanweisung aufzunehmen. Beispielsweise kann der Server 3001 eine Anweisung an das Fahrzeug 3002A übertragen, ein oder mehrere Bilder um einen bestimmten Bereich oder entlang eines bestimmten Straßensegments aufzunehmen. Die mit dem Fahrzeug 3002A assoziierte Kamera kann dazu konfiguriert sein, ein oder mehrere Bilder aufzunehmen, wenn das Fahrzeug 3002A den Bereich oder das Straßensegment entlang fährt (z. B. basierend auf GPS-Signalen, die von einem GPS-Sensor des Fahrzeugs 3002 empfangen werden).
  • In einigen Ausführungsformen kann das Fahrzeug 3002A das eine oder die mehreren Bilder kontinuierlich oder intermittierend an den Server 3001 übertragen. Alternativ kann das Fahrzeug das eine oder die mehreren Bilder übertragen, wenn es Zugriff auf ein zuverlässigeres und/oder schnelleres Netzwerk (z. B. über eine WLAN-Verbindung) hat. Alternativ oder zusätzlich kann das Fahrzeug das eine oder die mehreren Bilder bei oder nach einer vom Server 3001 empfangenen Anforderung übertragen. Beispielsweise kann der Server 3001 eine Anforderung an das Fahrzeug 3002A für ein oder mehrere Bilder in Bezug auf einen bestimmten Bereich und/oder ein bestimmtes Straßensegment senden. Das Fahrzeug 3002A kann ein oder mehrere Bilder, die während einer Fahrt im Bereich und/oder entlang des Straßensegments aufgenommen wurden, an den Server 3001 übertragen.
  • Bei Schritt 3202 kann ein zweites Bild empfangen werden, das von einer Kamera aufgenommen wurde, die mit einem zweiten Fahrzeug während einer Fahrt des zweiten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments assoziiert ist. Wenn das Fahrzeug 3002B beispielsweise das Straßensegment entlang fährt (das gleiche Straßensegment, das das Fahrzeug 3002A entlang fährt, wie vorstehend in Verbindung mit Schritt 3201 beschrieben), kann eine am Fahrzeug 3002B installierte Kamera (die der Bilderfassungseinheit 120 ähnlich sein kann, wie an anderer Stelle in dieser Offenbarung beschrieben) ein oder mehrere Bilder von der Umgebung des Fahrzeugs 3002B erfassen. Das Fahrzeug 3002B kann das eine oder die mehreren Bilder an den Server 3001 übertragen. In einigen Ausführungsformen kann das Fahrzeug 3002B auch die Informationen in Bezug auf die Fahrt entlang des Straßensegments übertragen, wie vorstehend in Verbindung mit Schritt 3201 beschrieben.
  • In einigen Ausführungsformen kann die Kamera des zweiten Fahrzeugs ein oder mehrere Bilder auf eine ähnliche Weise erfassen wie die Kamera, die mit dem vorstehend in Verbindung mit Schritt 3201 beschriebenen ersten Fahrzeug assoziiert ist. Beispielsweise kann die Kamera des Fahrzeugs 3002B ein oder mehrere Bilder auf eine vom Server 3001 empfangene Anweisung erfassen.
  • In einigen Ausführungsformen kann das zweite Fahrzeug das eine oder die mehreren Bilder auf eine ähnliche Weise an den Server 3001 übertragen wie das vorstehend in Verbindung mit Schritt 3201 beschriebene erste Fahrzeug. Beispielsweise kann das zweite Fahrzeug das eine oder die mehreren Bilder bei oder nach einer vom Server 3001 empfangenen Anforderung an den Server 3001 übertragen.
  • Bei einigen Ausführungsformen kann der Server 3001 ein oder mehrere Bilder empfangen, die von einer Kamera erfasst werden, die mit einem oder mehreren zusätzlichen Fahrzeugen assoziiert ist (z. B. Fahrzeug 3002B, 3002C,... , 3002N, veranschaulicht in 30), wenn jedes der Fahrzeuge mindestens einen Abschnitt des Straßensegments entlang fährt.
  • Bei Schritt 3203 können das erste und das zweite Bild analysiert werden, um Repräsentationen einer Vielzahl von Objekten zu identifizieren, die zu mindestens einer vorbestimmten Kategorie von Objekten gehören. Beispielsweise kann der Server 3001 dazu konfiguriert sein, das erste und das zweite Bild zu analysieren und Repräsentationen einer Vielzahl von Objekten in den Bildern basierend auf der Analyse der Bilder zu identifizieren. Beispielsweise kann das in 31 veranschaulichte Bild 3100 das erste Bild sein, das von der Kamera des Fahrzeugs 3002A aufgenommen wurde. Der Server 3001 kann dazu konfiguriert sein, das Bild zu analysieren und die Repräsentation eines oder mehrerer Objekte im Bild zu identifizieren. Beispielsweise kann der Server 3001 im Bild die Repräsentationen der Fahrspur-Markierungen 3111 und 3112 (z. B. die erste Kategorie von Objekten), Ampeln 3121 und 3122 (z. B. die zweite Kategorie von Objekten), Straßenschilder 3131 und 3132 (z. B. die dritte Kategorie von Objekten), Gebäude 3141, 3142 und 3143 (z. B. die vierte Kategorie von Objekten), Bäume 3161 und 3162 (z. B. die fünfte Kategorie von Objekten), Schachtabdeckung 3171 (z. B. die sechste Kategorie von Objekten) und Straßenlampen 3181 und 3182 (z. B. die siebte Kategorie von Objekten) basierend auf der Analyse des Bilds identifizieren. Der Server 3001 kann dazu konfiguriert sein, das zweite Bild zu analysieren, das von der Kamera des Fahrzeugs 3002B erfasst wurde, und die Repräsentationen eines oder mehrerer Objekte zu identifizieren, die im zweiten Bild enthalten sind. Beispielsweise kann der Server 3001 aus dem zweiten Bild Ampel 3121, Straßenschild 3132, Gebäude 3141, Bäume 3161 und 3162, Schachtabdeckung 3171 und Straßenlampe 3181 identifizieren, die denselben Objekten entsprechen, die im ersten Bild identifiziert wurden (z. B. Bild 3100, veranschaulicht in 31).
  • In einigen Ausführungsformen kann mindestens eine vorbestimmte Kategorie von Objekten Infrastrukturobjekte beinhalten. Beispielhafte Infrastrukturobjekte können Schachtabdeckungen, Ampeln, Versorgerkästen, Bushaltestellen, Kanalisationseingänge, Gebäude oder dergleichen oder eine Kombination davon beinhalten. In einigen Ausführungsformen kann eine Art von Objekt zu einer Objektkategorie gehören. Beispielsweise können Schachtabdeckungen zu einer ersten Objektkategorie (z. B. der Schachtkategorie) gehören, Ampeln können zu einer zweiten Objektkategorie (z. B. der Ampelkategorie) gehören und so weiter. In einigen Ausführungsformen kann eine Art von Objekt ferner in eine oder mehrere Unterkategorien unterteilt sein. Beispielsweise können Ampeln für Fahrzeuge (z. B. rot-orange-rote Ampeln) zu einer Unterkategorie von Ampeln gehören und Ampeln für Fußgänger (z. B. Fußgänger-Ampeln mit Countdown-Timern) können zu einer anderen Unterkategorie von Ampeln gehören.
  • In einigen Ausführungsformen kann der Server 3001 ein Maschinenlernmodell verwenden, um ein oder mehrere Objekte in einem Bild zu identifizieren. Beispielsweise kann der Server 3001 ein trainiertes Maschinenlernmodell zum Identifizieren von Objekten erhalten oder verwenden, die zu vorbestimmten Objektkategorien in Bildern gehören. Das trainierte Maschinenlernmodell kann unter Verwendung von Trainingsproben von bezeichneten Objekten und Bildern trainiert werden. Der Server 3001 kann die empfangenen Bilder in das trainierte Maschinenlernmodell eingeben, das ein oder mehrere identifizierte Objekte ausgeben kann, die zu einer vorbestimmten Kategorie von Objekten in den Bildern gehören. Als ein anderes Beispiel kann der Server 3001 ein künstliches neuronales Netz verwenden, das zum Identifizieren eines oder mehrerer Objekte in Bildern trainiert ist.
  • In einigen Ausführungsformen kann der Server 3001 auch dazu konfiguriert sein, Informationen in Bezug auf das identifizierte Objekt bzw. die identifizierten Objekte zu erhalten. Beispielsweise kann der Server 3001 eine Ampel identifizieren und Informationen der Ampel (z. B. die Höhe der Ampel) von der Datenbank 3004 oder einem Dritten erhalten.
  • Ein Fachmann würde verstehen, dass der Server 3001 in einigen Ausführungsformen ein Bild (oder einen Satz von Bildern) von einem oder mehreren zusätzlichen Fahrzeugen (z. B. Fahrzeug 3002C,... , Fahrzeug 3002N) erhalten kann. Der Server 3001 kann auch die Bilder analysieren und ein oder mehrere Objekte identifizieren, die zu der vorbestimmten Kategorie in den Bildern gehören.
  • Bei Schritt 3204 können das erste und das zweite Bild analysiert werden, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen. Beispielsweise kann der Server 3001 das erste und das zweite Bild analysieren und eine Höhe für jedes der identifizierten Objekte relativ zum Straßensegment (z. B. eine Höhe eines Objekts relativ zum Bodenniveau des Straßensegments oder eine Höhe eines Objekts relativ zu einer Straßenebene oder eine Höhe eines Objekts relativ zu einer Straßenoberfläche) basierend auf der Bildanalyse bestimmen. Alternativ oder zusätzlich kann der Server 3001 das erste und das zweite Bild analysieren und Positionsindikatoren für jedes der Vielzahl von Objekten relativ zu einer ebenen Oberfläche mit einer Neigung, die eine Annäherung der Straßenoberfläche vor dem Fahrzeug ist, basierend auf der Bildanalyse bestimmen. Diese Annäherung kann durch Anpassen eines ebenen Straßenmodells an die Oberfläche des Straßensegments vor dem Fahrzeug und durch Glätten der Oberfläche der Straße vor dem Fahrzeug und Berechnen der Neigung der Straßenoberfläche erreicht werden. Die Neigung kann relativ zu einer oder mehreren Referenzebenen (z. B. der Bodenebene) berechnet werden.
  • Beispielhafte Positionsindikatoren können eine Höhe von einem bekannten Referenzpunkt (z. B. der Bodenebene des Straßensegments), einen Abstand von einem bekannten Referenzpunkt (z. B. einer der Seitengrenzen des Straßensegments), eine Ausrichtung (oder einen Winkel) relativ zu einem bekannten Referenzpunkt (z. B. in eine Richtung des Straßensegments gerichtet), zweidimensionale (2D) und/oder dreidimensionale (3D) Koordinaten eines Objekts relativ zum Straßensegment oder dergleichen oder eine Kombination davon beinhalten.
  • In einigen Ausführungsformen kann der Server 3001 ein Maschinenlernmodell verwenden, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen. Beispielsweise kann der Server 3001 ein trainiertes Maschinenlernmodell erhalten oder verwenden, um Positionsindikatoren für Objekte relativ zum Straßensegment zu bestimmen. Das trainierte Maschinenlernmodell kann unter Verwendung von Trainingsproben von bezeichneten Positionsindikatoren trainiert werden, die mit Objekten, Objekten und/oder Bildern assoziiert sind. Der Server 3001 kann die empfangenen Bilder in das trainierte Maschinenlernmodell eingeben, das Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment ausgeben kann. Als ein anderes Beispiel kann der Server 3001 ein künstliches neuronales Netz verwenden, das zum Bestimmen von Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment trainiert ist.
  • Ein Fachmann würde verstehen, dass der Server 3001 in einigen Ausführungsformen Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment bestimmen kann, die in einem oder mehreren Bildern identifiziert sind, die von einem oder mehreren zusätzlichen Fahrzeugen (z. B. Fahrzeug 3002C,... , Fahrzeug 3002N) erhalten wurden.
  • Bei Schritt 3205 können die Positionsindikatoren für jedes der Vielzahl von Objekten korreliert werden. In einigen Ausführungsformen kann das Korrelieren das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhalten. Beispielsweise kann der Server 3001 einen ersten Positionsindikator für ein identifiziertes Objekt relativ zum Straßensegment, das basierend auf dem ersten Bild bestimmt wurde, mit einem zweiten Positionsindikator für dasselbe Objekt relativ zum Straßensegment, das basierend auf dem zweiten Bild bestimmt wurde, korrelieren. Der Server 3001 kann auch einen endgültigen Positionsindikator (oder eine verfeinerte Position) für dieses Objekt basierend auf dem ersten und zweiten Positionsindikator bestimmen. Beispielsweise kann das Korrelieren das Mitteln von Positionsinformationen beinhalten, die für ein bestimmtes Objekt gesammelt wurden. Beispielsweise kann der Server 3001 eine erste Höhe einer Ampel (d. h. eines identifizierten Objekts), die 5 Meter vom Boden entfernt ist, basierend auf der Analyse des ersten Bilds bestimmen und eine zweite Höhe derselben Ampel, die 4,5 Meter vom Boden entfernt ist, basierend auf der Analyse des zweiten Bilds bestimmen. Der Server 3001 kann eine endgültige Höhe der Ampel, die 4,75 Meter beträgt, durch Mitteln der ersten und zweiten Höhe bestimmen.
  • In einigen Ausführungsformen kann der Server 3001 einen Positionsindikator für jedes der Vielzahl von Objekten relativ zum Straßensegment bestimmen, das in den Bildern identifiziert ist, die von drei oder mehr Fahrzeugen empfangen werden, wie an anderer Stelle in dieser Offenbarung beschrieben. Der Server 3001 kann auch Positionsindikatoren für jedes der gleichen Objekte korrelieren, die in mindestens einigen der Bilder identifiziert sind. Beispielsweise kann der Server 3001 Positionsindikatoren für dasselbe Objekt korrelieren, das in 20 Bildern (oder Bildsätzen) identifiziert ist, die von 20 unterschiedlichen Fahrzeugen empfangen werden. Der Server 3001 kann eine verfeinerte Position des Objekts bestimmen, indem er beispielsweise einen Mittelwert oder Median von 20 Positionsindikatoren erhält. Alternativ kann der Server 3001 zuerst einen oder mehrere Ausreißer aus 20 Positionsindikatoren herausfiltern (z. B. durch Entfernen eines Positionsindikators, der 3,4 Standardabweichungen über oder unter dem Median oder Mittelwert von 20 Positionsindikatoren beträgt). Der Server 3001 kann dann einen Mittelwert oder Median der verbleibenden Positionsindikatoren als die verfeinerte Position des Objekts erhalten.
  • In einigen Ausführungsformen können die korrelierenden Positionsindikatoren das Aggregieren von Objekten beinhalten, die in den Bildern identifiziert sind. Beispielsweise kann der Server 3001 ein oder mehrere Objekte, die zu einer ersten Kategorie von Objekten gehören, die im ersten Bild identifiziert sind, und ein oder mehrere Objekte, die zu derselben Kategorie von Objekten gehören, die im zweiten Bild identifiziert sind, aggregieren. Der Server 3001 kann ebenfalls ein oder mehrere doppelte Objekte aus den aggregierten Objekten entfernen. Alternativ kann der Server 3001 ein oder mehrere identifizierte Objekte behalten, die sowohl im ersten als auch im zweiten Bild erscheinen. Der Server 3001 kann ein oder mehrere identifizierte Objekte eliminieren, die nur in einem der ersten und zweiten Bilder erscheinen. Der Server 3001 kann ebenfalls Positionsindikatoren für jedes der aggregierten Objekte korrelieren, wie an anderer Stelle in dieser Offenbarung beschrieben.
  • In einigen Ausführungsformen kann der Server 3001 die in den von drei oder mehr Fahrzeugen empfangenen Bildern identifizierten Objekte aggregieren, einschließlich des ersten und zweiten Bilds. So kann beispielsweise der Server 3001 ein oder mehrere Objekte aggregieren, die zu einer ersten Kategorie von Objekten gehören, die im ersten Bild (empfangen beispielsweise vom Fahrzeug 3002A), dem zweiten Bild (empfangen beispielsweise vom Fahrzeug 3002B) und dem dritten Bild (empfangen beispielsweise vom Fahrzeug 3002C) identifiziert sind. Der Server 3001 kann ebenfalls ein oder mehrere doppelte Objekte aus den aggregierten Objekten entfernen. Alternativ kann der Server 3001 ein oder mehrere identifizierte Objekte behalten, die in allen ersten, zweiten und dritten Bildern erscheinen. Der Server 3001 kann ein oder mehrere identifizierte Objekte eliminieren, die nur in einer Teilmenge der Bilder erscheinen (z. B. nur im ersten und dritten Bild, aber nicht im zweiten Bild identifiziert). Alternativ kann der Server 3001 eine Zählnummer des Erscheinungsbilds eines identifizierten Objekts in den Bildern bestimmen. Der Server 3001 kann das Objekt behalten, wenn die Zählnummer gleich einem Schwellenwert ist oder diesen überschreitet. Beispielsweise kann der Schwellenwert drei sein und der Server 3001 kann bestimmen, dass ein identifiziertes Objekt dreimal aus vier Bildern erscheint (z. B. vier Bilder, die von vier unterschiedlichen Fahrzeugen empfangen werden). Der Server 3001 kann dieses identifizierte Objekt behalten. Als ein anderes Beispiel kann der Server 3001 bestimmen, dass ein anderes identifiziertes Objekt nur einmal unter den vier Bildern erscheint, und kann dieses identifizierte Objekt eliminieren. Der Server 3001 kann ebenfalls Positionsindikatoren für jedes der aggregierten Objekte korrelieren, wie an anderer Stelle in dieser Offenbarung beschrieben.
  • Bei Schritt 3206 kann eine Karte, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören, basierend auf den verfeinerten Positionen von Objekten erzeugt werden, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören. Beispielsweise kann der Server 3001 eine Karte erzeugen, die Repräsentationen der verfeinerten Positionen von Bushaltestellen beinhaltet, die dem Straßensegment basierend auf den verfeinerten Positionen der Bushaltestellen zugeordnet sind. Beispielsweise kann der Server 3001 eine 2D- und/oder 3D-Karte erzeugen, indem er eine digitale Karte durch Hinzufügen oder Aktualisieren der Bushaltestellen basierend auf ihren verfeinerten Positionen modifiziert. In einigen Ausführungsformen kann der Server 3001 Informationen in Bezug auf die Objekte in der Karte hinzufügen oder modifizieren. Beispielsweise kann der Server 3001 Zeitplaninformationen in Bezug auf die Bushaltestellen (z. B. geschätzte Ankunftszeit eines Busses, der an einer Bushaltestelle ankommt) in die Karte hinzufügen.
  • In einigen Ausführungsformen kann der Server 3001 eine Karte erzeugen, die Repräsentationen der verfeinerten Positionen von einem oder mehreren einer Vielzahl von Objekten, die zu einer ersten vorbestimmten Kategorie von Objekten gehören, und Repräsentationen der verfeinerten Positionen von einem oder mehreren einer Vielzahl von Objekten beinhaltet, die zu einer zweiten vorbestimmten Kategorie von Objekten gehören. Beispielsweise kann der Server 3001 eine Karte erzeugen, die Repräsentationen der verfeinerten Positionen der Bushaltestellen und Repräsentationen der verfeinerten Positionen der Ampeln beinhaltet, die in den Bildern identifiziert sind. In einigen Ausführungsformen kann der Server 3001 eine erste Schicht in der Karte erzeugen, die Objekten des ersten Objekttyps (oder der ersten Objektkategorie) zugeordnet ist, und eine zweite Schicht in der Karte, die dem zweiten Objekttyp (oder der zweiten Objektkategorie) zugeordnet ist. Optional kann der Server 3001 eine Einstellung zum Aktivieren und Deaktivieren von einer oder mehreren Schichten in der Karte beinhalten. Beispielsweise kann die Karte die Schicht von Straßenlampen basierend auf der Einstellung zeigen, wenn die Schicht aktiviert ist. Wenn andererseits die Schicht von Straßenlampen basierend auf der Einstellung deaktiviert ist, können zumindest einige der Straßenlampen nicht in der Karte gezeigt sein.
  • In einigen Ausführungsformen kann der Server 3001 die erzeugte Karte über beispielsweise das Netzwerk 3006 an ein oder mehrere Fahrzeuge 3002 (und/oder eine Fahrzeugvorrichtung 3003, die dem Fahrzeug 3002 zugeordnet ist) übertragen. Alternativ oder zusätzlich kann der Server 3001 die erzeugte Karte in einer Datenbank (z. B. der Datenbank 3004) speichern. Das Fahrzeug 3002 (und/oder das Fahrzeug 3002) kann auf die Datenbank zugreifen und die erzeugte Karte über das Netzwerk 3006 empfangen.
  • In einigen Ausführungsformen kann der Server 3001 die erzeugte Karte über beispielsweise das Netzwerk 3006 an die externe Entität 3005 (oder eine Rechenvorrichtung, die mit der externen Entität assoziiert ist) übertragen. In einigen Ausführungsformen kann die externe Entität 3005 eine Gemeinde beinhalten. In einigen Ausführungsformen kann die externe Entität 3005 eine Entität beinhalten, die im Namen oder in der Richtung einer Gemeinde oder einer anderen Verwaltungsentität fungiert.
  • Aggregation und Berichterstattung von beobachteten dynamischen Bedingungen
  • Wie vorstehend beschrieben, kann die Fahrumgebung häufig ständigen Änderungen unterliegen, die Fahrer und autonome Fahrzeuge vor Herausforderungen stellen können. Das Identifizieren dynamischer Bedingungen und das Informieren der Fahrten und Fahrzeuge über die Bedingungen kann ihnen helfen, unerwartete Bedingungen zu vermeiden, wenn navigiert wird. Zusätzlich kann das Vorhandensein solcher Informationen auch Unternehmen, Agenturen, Regulierungsbehörden, Instituten und/oder Gemeinden bei der Stadtentwicklung und -planung helfen.
  • Die hierin offenbarten Systeme und Verfahren können eine oder mehrere Bedingungen identifizieren, die mindestens eine dynamische Charakteristik aufweisen, die einem Straßensegment in Bildern zugeordnet ist, die von einem oder mehreren Fahrzeugen empfangen werden. Die Systeme und Verfahren können auch eine Kennung bestimmen, die der/den Bedingung(en) zugeordnet ist, und einen Datenbankeintrag aktualisieren, um die Kennung zu beinhalten.
  • 33 veranschaulicht ein beispielhaftes System 3300 zum Sammeln von Bedingungsinformationen, die mit einem Straßensegment assoziiert sind, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 30 veranschaulicht, kann das System 3300 einen Server 3301, ein oder mehrere Fahrzeuge 3302 und eine oder mehrere Fahrzeugvorrichtungen 3303, die mit dem Fahrzeug 3302 assoziiert sind, eine Datenbank 3304, eine externe Entität 3305 und ein Netzwerk 3306 beinhalten. Der Server 3301 kann konfiguriert sein, um einen Datenbankeintrag zu aktualisieren, um eine Kennung zu beinhalten, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist. Die Kennung und/oder die Bedingung können basierend auf einem oder mehreren Bildern bestimmt werden, die von einer Kamera erfasst werden, die einem Fahrzeug zugeordnet ist. Das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 können dazu konfiguriert sein, ein oder mehrere Bilder von der Umgebung zu erfassen. Die Datenbank 3304 kann dazu konfiguriert sein, Informationen für die Komponenten des Systems 3300 (z. B. Server 3301, Fahrzeug 3302, Fahrzeugvorrichtung 3303 und/oder externe Entität 3305) zu speichern. Beispielsweise kann die Fahrzeugvorrichtung 3303 dazu konfiguriert sein, Datenbankeinträge zu speichern, die eine oder mehrere Kennungen beinhalten, die einer oder mehreren dynamischen Bedingungen zugeordnet sind. Das Netzwerk 3306 kann dazu konfiguriert sein, Kommunikationen zwischen den Komponenten des Systems 3300 zu erleichtern.
  • Der Server 3301 kann dazu konfiguriert sein, eine Kennung zu erhalten, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist. Der Server 3301 kann auch dazu konfiguriert sein, einen Datenbankeintrag zu aktualisieren, um die Kennung zu beinhalten und den Datenbankeintrag an mindestens eine Entität (z. B. Fahrzeug 3302, Fahrzeugvorrichtung 3303 und/oder externe Entität 3305) zu übertragen. In einigen Ausführungsformen kann der Server 3301 ein Cloud-Server sein, der die hierin offenbarten Funktionen ausführt. Der Begriff „Cloud-Server“ bezieht sich auf eine Computerplattform, die Dienste über ein Netzwerk, wie etwa das Internet, bereitstellt. In dieser beispielhaften Konfiguration kann der Server 3301 virtuelle Maschinen verwenden, die möglicherweise nicht der einzelnen Hardware entsprechen. Beispielsweise können Rechen- und/oder Speicherfähigkeiten durch Zuweisen geeigneter Abschnitte der gewünschten Rechen-/Speicherleistung von einem skalierbaren Speicher, wie etwa einem Rechenzentrum oder einer verteilten Rechenumgebung, implementiert werden. In einem Beispiel kann der Server 3301 die hierin beschriebenen Verfahren unter Verwendung von kundenspezifischer festverdrahteter Logik, einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) oder feldprogrammierbaren Gate-Arrays (FPGAs), Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem den Server 3301 dazu veranlassen, eine Spezialmaschine zu sein.
  • Das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 können dazu konfiguriert sein, ein oder mehrere Bilder zu erfassen, die die Umgebung des Fahrzeugs 3302 darstellen. In einigen Ausführungsformen können das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 dazu konfiguriert sein, das eine oder die mehreren Bilder an den Server 3301 und/oder die externe Entität 3305 zu übertragen. Alternativ oder zusätzlich können das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um eine oder mehrere Bedingungen zu identifizieren, die mindestens eine dynamische Charakteristik aufweisen. Das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 können auch dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um eine oder mehrere Kennungen zu bestimmen, die der/den Bedingung(en) zugeordnet sind. Das Fahrzeug 3302 und/oder die Fahrzeugvorrichtung 3303 können ferner dazu konfiguriert sein, die Kennung(en) und/oder Bedingung(en) über beispielsweise das Netzwerk 3306 an den Server 3301 und/oder die externe Entität 3305 zu übertragen.
  • Die Datenbank 3304 kann dazu konfiguriert sein, Informationen und Daten für die Komponenten des Systems 3300 (z. B. Server 3301, Fahrzeug 3302, Fahrzeugvorrichtung 3303 und/oder externe Entität 3305) zu speichern. Beispielsweise kann die Datenbank 3304 Bilder speichern, die vom Server 3301, Fahrzeug 3302, Fahrzeug 3302 und/oder der externen Entität 3305 empfangen werden. Als ein anderes Beispiel kann die Datenbank 3304 Datenbankeinträge speichern. In einigen Ausführungsformen können der Server 3301, das Fahrzeug 3302, die Fahrzeugvorrichtung 3303 und/oder die externe Entität 3305 dazu konfiguriert sein, auf die Datenbank 3304 zuzugreifen und Daten, die über das Netzwerk 3306 in der Datenbank 3304 gespeichert sind, zu erhalten und/oder Daten in diese hochzuladen.
  • Die externe Entität 3305 (oder eine Rechenvorrichtung, die mit der externen Entität 3305 assoziiert ist) kann dazu konfiguriert sein, Daten vom Server 3301 zu empfangen. Beispielsweise kann der Server 3301 Datenbankeinträge, wie an anderer Stelle in dieser Offenbarung beschrieben, über beispielsweise das Netzwerk 3306 an die externe Entität 3305 übertragen.
  • Das Netzwerk 3306 kann eine beliebige Art von Netzwerk (einschließlich Infrastruktur) sein, das Kommunikationen bereitstellt, Informationen austauscht und/oder den Austausch von Informationen zwischen den Komponenten des Systems 3300 erleichtert. Beispielsweise kann das Netzwerk 3306 ein lokales Netzwerk, ein drahtloses Netzwerk (z. B. ein Wi-Fi/302.11-Netzwerk) oder andere geeignete Verbindungen beinhalten oder Teil davon sein. In anderen Ausführungsformen können eine oder mehrere Komponenten des Systems 3300 direkt über dedizierte Kommunikationsverbindungen kommunizieren, wie etwa beispielsweise ein Telefonnetzwerk, ein Extranet, ein Intranet, das Internet, Satellitenkommunikationen, Offline-Kommunikationen, drahtlose Kommunikationen, Transponderkommunikationen, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), ein virtuelles privates Netzwerk (VPN) und so weiter.
  • 34A veranschaulicht eine beispielhafte Umgebung 3400 eines Fahrzeugs, übereinstimmend mit den offenbarten Ausführungsformen. Wie in 34A veranschaulicht, kann ein Fahrzeug 3401 entlang eines Straßensegments fahren. Eine Kamera des Fahrzeugs 3401 kann ein Bild erfassen, das die Umgebung des Fahrzeugs 3401 (z. B. Umgebung 3400) darstellt. Das Bild kann Repräsentationen verschiedener Objekte in der Umgebung 3400 beinhalten. Beispielsweise kann das Bild eine Repräsentation der Fußgänger 3411 -3414, das Stoppschild 3421, das Schlagloch 3431, den Zebrastreifen 3441, das Gebäude 3451 und die Baustelle 3452 beinhalten. Das Fahrzeug 3401 (und/oder der Server 3301) kann dazu konfiguriert sein, das Bild zu analysieren, um eine oder mehrere Bedingungen zu identifizieren, die mindestens eine dynamische Charakteristik aufweisen, wie an anderer Stelle in dieser Offenbarung beschrieben. Das Fahrzeug 3401 (und/oder der Server 3301) kann ferner dazu konfiguriert sein, das Bild zu analysieren, um mindestens eine Kennung zu bestimmen, die der/den identifizierten Bedingung(en) zugeordnet ist, wie an anderer Stelle in dieser Offenbarung beschrieben.
  • 35A ist ein Ablaufdiagramm, das einen beispielhaften Prozess 3510 zum Bestimmen einer Bedingung mit mindestens einer dynamischen Charakteristik zeigt, übereinstimmend mit offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 3510 können durch ein Fahrzeug (z. B. Fahrzeug 3302), eine mit dem Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 3303), einen Server (z. B. Server 3301) und/oder eine externe Entität (z. B. externe Entität 3305) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 3510 das Fahrzeug 3302 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 3510 durch einen Server, eine Fahrzeugvorrichtung und/oder eine externe Entität durchgeführt werden können.
  • Bei Schritt 3511 kann mindestens ein Bild erfasst werden, das eine Umgebung eines Fahrzeugs darstellt. Zum Beispiel kann mindestens ein Bild, das eine Umgebung eines Fahrzeugs darstellt, von einer dem Host-Fahrzeug zugeordneten Kamera erfasst werden. Beispielsweise kann, wie in 34 veranschaulicht, das Fahrzeug 3401 ein Straßensegment entlang fahren, und eine am Fahrzeug 3401 installierte Kamera (die der Bilderfassungseinheit 120 ähnlich sein kann, wie an anderer Stelle in dieser Offenbarung beschrieben) kann ein oder mehrere Bilder von der Umgebung des Fahrzeugs 3401 (z. B. Umgebung 3400) erfassen.
  • In einigen Ausführungsformen kann das Fahrzeug 3401 das eine oder die mehreren Bilder an den Server 3301 übertragen. In einigen Ausführungsformen kann das Fahrzeug 3401 auch die Informationen in Bezug auf die Fahrt entlang des Straßensegments übertragen. Beispielsweise kann das Fahrzeug 3401 GPS-Koordinaten seiner Position(en) bestimmen, wenn das eine oder die mehreren Bilder aufgenommen wurden. In einigen Ausführungsformen können das Fahrzeug 3401 und/oder der Server 3301 das eine oder die mehreren Bilder mit dem Straßensegment assoziieren.
  • In einigen Ausführungsformen kann die Kamera dazu konfiguriert sein, die Bilder kontinuierlich oder intermittierend aufzunehmen. Alternativ kann die Kamera dazu konfiguriert sein, die Bilder basierend auf einem Auslöseereignis zu erfassen. Beispielsweise kann der Server 3301 eine Anweisung an das Fahrzeug 3401 übertragen, die die Kamera anweisen kann, ein oder mehrere Bilder basierend auf der Aufnahmeanweisung zu erfassen. Beispielsweise kann der Server 3301 eine Anweisung an das Fahrzeug 3401 übertragen, ein oder mehrere Bilder um einen bestimmten Bereich oder entlang eines bestimmten Straßensegments aufzunehmen. Die mit dem Fahrzeug 3401 assoziierte Kamera kann dazu konfiguriert sein, ein oder mehrere Bilder aufzunehmen, wenn das Fahrzeug 3401 den Bereich oder das Straßensegment entlang fährt (z. B. basierend auf GPS-Signalen, die von einem GPS-Sensor des Fahrzeugs 3002 empfangen werden).
  • In einigen Ausführungsformen kann das Fahrzeug 3401 das eine oder die mehreren Bilder kontinuierlich oder intermittierend an den Server 3301 übertragen. Alternativ kann das Fahrzeug das eine oder die mehreren Bilder übertragen, wenn es Zugriff auf ein zuverlässigeres und/oder schnelleres Netzwerk (z. B. über eine WLAN-Verbindung) hat. Alternativ oder zusätzlich kann das Fahrzeug das eine oder die mehreren Bilder bei oder nach einer vom Server 3301 empfangenen Anforderung übertragen. Beispielsweise kann der Server 3301 eine Anforderung für ein oder mehrere Bilder in Bezug auf einen bestimmten Bereich und/oder ein bestimmtes Straßensegment an das Fahrzeug 3401 senden. Das Fahrzeug 3401 kann ein oder mehrere Bilder, die während einer Fahrt im Bereich und/oder entlang des Straßensegments aufgenommen wurden, an den Server 3301 übertragen.
  • In einigen Ausführungsformen kann der Server 3301 ein oder mehrere Bilder (oder einen oder mehrere Sätze von Bildern), die eine Umgebung jedes einer Vielzahl von Fahrzeugen darstellen, von den Fahrzeugen (und/oder einer Fahrzeugvorrichtung, die einem Fahrzeug zugeordnet ist) über beispielsweise das Netzwerk 3306 empfangen.
  • Bei Schritt 3512 kann das mindestens eine Bild analysiert werden, um eine Bedingung zu identifizieren, die mindestens eine dynamische Charakteristik in der Umgebung des Host-Fahrzeugs aufweist. Eine dynamische Charakteristik bezieht sich auf einen beliebigen Aspekt einer Bedingung, die sich über einen Zeitraum (z. B. eine Woche, einen Tag, eine Stunde, eine Minute oder Sekunden) und/oder als Reaktion auf ein Auslöseereignis ändert. In einigen Ausführungsformen kann die mindestens eine dynamische Charakteristik eine Positionscharakteristik, eine zeitliche Charakteristik oder dergleichen oder eine Kombination davon beinhalten. Die Bedingung kann sich auf das Vorhandensein eines oder mehrerer Objekte, einer oder mehrerer Personen und/oder eines oder mehrerer Tiere in einer Umgebung beziehen. Eine Bedingung kann sich auch auf ein Ereignis, wie etwa einen Stau, beziehen. Eine dynamische Charakteristik kann eine Charakteristik eines Objekts beinhalten, das sich über einen Zeitraum bewegen oder ändern kann, und/oder als Reaktion auf ein Auslöseereignis. Zum Beispiel kann eine Bedingung mit einer dynamischen Charakteristik ein Objekt beinhalten, das sich in Bewegung befindet und in einem oder mehreren Bildern identifiziert wird (z. B. ein Fußgänger, der einen Zebrastreifen überquert, und/oder ein Objekt, das sich nicht in Bewegung befindet (wie in einem oder mehreren Bildern angegeben), aber sich bewegen kann (z. B. ein Fußgänger, der am Rand eines Straßensegment steht). Zu beispielhaften Bedingungen, die mindestens eine dynamische Charakteristik aufweisen, können Bedingungen in Bezug auf einen Zebrastreifen, eine Baustelle, eine Überkopfabzweigung, einen Stau, eine Bushaltestelle, eine Fahrspur, eine Straßenbedingung (z. B. ein Schlagloch oder ein Riss), ein Fahrzeug, einen Bus, ein Fahrrad, einen Fußgänger oder dergleichen oder eine Kombination davon gehören. Zum Beispiel können Bedingungen eine oder mehrere Überkopfabzweigungen, einen Stau, ein Vorhandensein einer oder mehrerer Personen an einer Bushaltestelle oder ein Vorhandensein eines oder mehrerer Fahrräder in einer Fahrspur oder dergleichen oder eine Kombination davon beinhalten. Beispielsweise kann die Bedingung ein Vorhandensein eines Fußgängers (z. B. der Fußgänger 3411-3414) beinhalten, der über das Straßensegment geht. Alternativ oder zusätzlich kann die Bedingung eine Bedingung beinhalten, bei der ein Fußgänger (z. B. die Fußgänger 3412 -3414) auf einem Zebrastreifen geht und/oder ein Fußgänger (z. B. der Fußgänger 3411) nicht auf einem Zebrastreifen geht. Alternativ oder zusätzlich kann die Bedingung ein Vorhandensein eines Bushaltestelleninsassen beinhalten. Alternativ oder zusätzlich kann die Bedingung ein Vorhandensein eines Fahrzeugs beinhalten, das das Straßensegment befährt. Alternativ oder zusätzlich kann die Bedingung ein Vorhandensein eines Busses beinhalten, der das Straßensegment befährt. Alternativ oder zusätzlich kann die Bedingung ein Vorhandensein eines Fahrrads beinhalten, das das Straßensegment befährt. Alternativ oder zusätzlich kann die Bedingung ein Vorhandensein eines Schlaglochs (z. B. des Schlaglochs 3431) oder eines Risses im Straßensegment beinhalten. Als ein anderes Beispiel kann die Bedingung eine Dichte von Fußgängern auf einem Zebrastreifen und/oder einem anderen Bereich (z. B. die Anzahl von Fußgängern pro Zeiteinheit, wie etwa eine Stunde) beinhalten.
  • Beispielsweise kann, wie in 34A veranschaulicht, die Kamera des Fahrzeugs 3401 ein Bild der Umgebung des Fahrzeugs 3401 erfassen. Das Bild kann zeigen, dass die Fußgänger 3411 -3414 über die Straße gehen. Das Fahrzeug 3401 kann das Bild analysieren und den Zebrastreifen 3441 (und/oder die Fußgänger 3411 -3414) als eine Bedingung identifizieren, die mindestens eine dynamische Charakteristik aufweist, vorausgesetzt, dass sich ein oder mehrere Objekte (oder deren Abwesenheit) auf dem Zebrastreifen 3441 dynamisch ändern. Als ein anderes Beispiel kann das Bild, das durch die Kamera des Fahrzeugs 3401 erfasst wird, auch die Baustelle 3452 beinhalten, die einen Teil der linken Fahrspur blockieren kann. Die Baustelle 3452 kann sich im Laufe der Zeit ändern. Beispielsweise kann der Vorgang der Baustelle 3452 stoppen und den belegten Raum zurückgeben. Als ein anderes Beispiel kann der Vorgang der Baustelle 3452 illegal oder nicht konform werden, wenn die Erlaubnis abgelaufen ist oder der Raum, den die Baustelle 3452 belegt, den Bereich überschreitet, den sie erlaubt ist. Das Fahrzeug 3401 kann das Bild analysieren und die Baustelle 3452 als eine Bedingung identifizieren. In einigen Ausführungsformen kann das Fahrzeug 3302 ebenfalls dazu konfiguriert sein, das Bild und zusätzliche Informationen, die sich auf die Bedingung beziehen (z. B. eine Größe, einen Ort, eine Form, eine potenzielle Verdeckung oder dergleichen oder eine Kombination davon), zu analysieren.
  • In einigen Ausführungsformen kann das Fahrzeug 3302 Informationen in Bezug auf die identifizierte Bedingung empfangen. Beispielsweise kann das Fahrzeug 3302 Informationen in Bezug auf eine Baustelle, die im Bild identifiziert ist, vom Server 3301 und/oder der Datenbank 3304 anfordern und empfangen. Beispielsweise kann das Fahrzeug 3302 Informationen über die Erlaubnis der Baustelle (z. B. den erlaubten Betriebszeitraum) empfangen.
  • In einigen Ausführungsformen wird die mindestens eine dynamische Charakteristik durch Analyse des mindestens einen Bilds identifiziert, das von der dem Host-Fahrzeug zugeordneten Kamera erlangt wird. Beispielsweise kann das Fahrzeug 3401 dazu konfiguriert sein, das Bild zu analysieren und das Schlagloch 3431 zu identifizieren. Ein Schlagloch oder ein Riss kann eine Bedingung mit mindestens einer dynamischen Charakteristik sein, vorausgesetzt, dass das Erscheinungsbild (und/oder ein Fleck) eines Schlaglochs vorübergehend sein kann. Derartige Straßenbedingungen können als dynamisch betrachtet werden. Als ein Beispiel kann ein Schlagloch (oder ein Riss) nach einem Hochwasser auftreten, wenn ein LKW, der eine schwere Last trägt, vorbeifährt. Außerdem kann das Schlagloch nach einem Zeitraum aufgebrochen werden. In einem anderen Beispiel kann ein Schlagloch (und/oder verschiedene andere detektierte oder gemeldete Straßenbedingungen) als dynamisches Objekt über einen bestimmten Zeitraum oder bis zu einer bestimmten Dauer betrachtet werden, oder wenn ein bestimmter Grad auftritt, wonach bestimmt werden kann, dass ein dynamisches Objekt ein nicht dynamisches (oder nicht vorübergehendes) festes Objekt ist und entweder als solches in der Karte klassifiziert werden kann oder entfernt und als festes Objekt zurückgeführt werden kann. Das Fahrzeug 3302 kann außerdem dazu konfiguriert sein, die Größe des Schlaglochs 3431 basierend auf der Bildanalyse (die im Laufe der Zeit zunehmen kann) zu bestimmen.
  • Als zusätzliche Beispiele veranschaulichen 34B und 34C eine beispielhafte Umgebung 3410, in der sich Fahrzeuge in vier Fahrspuren befinden, d. h. Fahrspur 3460, Fahrspur 3470, Fahrspur 3480 und Fahrspur 3490. Wie in 34B veranschaulicht, befinden sich das Fahrzeug 3461, das Fahrzeug 3462, das Fahrzeug 3463, das Fahrzeug 3464 und das Fahrzeug 3465 auf der Fahrspur 3460. Das Fahrzeug 3471, das Fahrzeug 3472, das Fahrzeug 3473 und das Fahrzeug 3474 befinden sich auf der Fahrspur 3470. Das Fahrzeug 3481 und 3482 befinden sich auf der Fahrspur 3480. Das Fahrzeug 3491, 2392 und 3493 befinden sich auf der Fahrspur 3490. Eine Kamera des Fahrzeugs 3461 (in diesem Beispiel das Host-Fahrzeug) kann ein oder mehrere Bilder der Umgebung des Fahrzeugs 3461 erfassen. Das eine oder die mehreren Bilder können ein oder mehrere Fahrzeuge auf der Fahrspur 3460 und ein oder mehrere Fahrzeuge auf der Fahrspur 3470 zeigen. Das Fahrzeug 3461 kann zudem dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um die Fahrzeuge, die im einen oder den mehreren Bildern enthalten sind, als Bedingungen zu identifizieren, die mindestens eine dynamische Charakteristik aufweisen. In einigen Ausführungsformen kann das Fahrzeug 3461 ferner dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und einen Stau basierend auf der Bildanalyse zu bestimmen. Beispielsweise kann das Fahrzeug 3461 das eine oder die mehreren Bilder analysieren und bestimmen, dass die aktuelle Geschwindigkeit eines oder mehrerer Fahrzeuge, die im einen oder den mehreren Bildern identifiziert werden, unter einer Schwellengeschwindigkeit und/oder einem Prozentsatz einer legalen Geschwindigkeit im Straßensegment liegt. In einigen Ausführungsformen kann das Fahrzeug 3461 einen Stau bestimmen, wenn die Anzahl der Fahrzeuge (oder ein Prozentsatz der Anzahl der Fahrzeuge), die eine Geschwindigkeit unter der Schwellengeschwindigkeit und/oder einen Prozentsatz der legalen Geschwindigkeit im Straßensegment aufweisen, gleich einer Schwellenanzahl (oder einem Schwellenprozentsatz) oder größer als diese ist.
  • Im in 34C veranschaulichten Beispiel befinden sich das Fahrzeug 3466 und das Fahrzeug 3467 auf der Fahrspur 3460 und das Fahrzeug 3476 auf der Fahrspur 3470. Eine Kamera des Fahrzeugs 3466 (in diesem Beispiel das Host-Fahrzeug) kann ein oder mehrere Bilder der Umgebung des Fahrzeugs 3466 erfassen. Das eine oder die mehreren Bilder können das Fahrzeug 3467 auf der Fahrspur 3460 und das Fahrzeug 3476 auf der Fahrspur 3470 zeigen. Das Fahrzeug 3461 kann zudem dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren, um die Fahrzeuge, die im einen oder den mehreren Bildern enthalten sind, als Bedingungen zu identifizieren, die mindestens eine dynamische Charakteristik aufweisen. In einigen Ausführungsformen kann das Fahrzeug 3466 ferner dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und zu bestimmen, dass ein oder mehrere Fahrzeuge unerwartet angehalten haben (z. B. Anhalten an einem Ort, der nicht anhalten soll, wie etwa doppelt geparkt). Beispielsweise kann das Fahrzeug 3466 ferner dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und basierend auf der Bildanalyse zu bestimmen, dass das Fahrzeug 3467 angehalten hat. Das Fahrzeug 3466 kann zudem dazu konfiguriert sein, das eine oder die mehreren Bilder zu analysieren und zu bestimmen, dass das Fahrzeug 3476 mit einer normalen Geschwindigkeit oder mit einer Geschwindigkeit, die größer als eine Schwellengeschwindigkeit und/oder ein Prozentsatz einer legalen Geschwindigkeit im Straßensegment ist, fährt oder nicht fährt. Das Fahrzeug 3466 kann das Anhalten des Fahrzeugs 3467 als eine dynamische Bedingung bestimmen. In einigen Ausführungsformen kann das Fahrzeug 3466 auf die Detektion der dynamischen Bedingung reagieren. Beispielsweise kann das Fahrzeug 3466 das Fahrzeug navigieren, um das Fahrzeug 3467 zu umgehen.
  • In einigen Ausführungsformen kann der Server 3301 (und/oder das Fahrzeug 3302) ein Maschinenlernmodell verwenden, um eine oder mehrere Bedingungen in einem Bild zu identifizieren. Beispielsweise kann der Server 3301 (und/oder das Fahrzeug 3302) ein trainiertes Maschinenlernmodell zum Identifizieren von Bedingungen erhalten oder verwenden, die mindestens eine dynamische Eigenschaft in Bildern aufweisen. Das trainierte Maschinenlernmodell kann unter Verwendung von Trainingsproben von bezeichneten Bedingungen und Bildern trainiert werden. Der Server 3301 (und/oder das Fahrzeug 3302) kann die empfangenen Bilder in das trainierte Maschinenlernmodell eingeben, das eine oder mehrere identifizierte Bedingungen in den Bildern ausgeben kann. Als ein anderes Beispiel kann der Server 3301 (und/oder das Fahrzeug 3302) ein künstliches neuronales Netz verwenden, das zum Identifizieren einer oder mehrerer Bedingungen in Bildern trainiert ist.
  • Bei Schritt 3513 kann das mindestens eine Bild analysiert werden, um mindestens eine Kennung zu bestimmen, die der Bedingung zugeordnet ist. Beispielsweise kann das Fahrzeug 3302 das mindestens eine Bild analysieren, um eine Kennung zu bestimmen, die einem Schlagloch (d. h. einer Bedingung) zugeordnet ist, wie etwa einer Position des Schlaglochs. Beispielhafte Kennungen, die einer Bedingung zugeordnet sind, können eine Position der Bedingung, einen Abstand der Bedingung relativ zu einem Objekt, einen Abstand der Bedingung relativ zu einem Ort oder dergleichen oder eine Kombination davon beinhalten. Wie in 34 veranschaulicht, kann das Fahrzeug 3401 beispielsweise ein Bild seiner Umgebung analysieren, um die Position des Schlaglochs 3431 und/oder einen Abstand des Schlaglochs 3431 relativ zu dem Stoppschild 3421 zu bestimmen. Als ein anderes Beispiel kann das Fahrzeug 3401 ein Bild analysieren, um einen Abstand der Baustelle relativ zu dem Gebäude 3451 zu bestimmen.
  • In einigen Ausführungsformen kann das Fahrzeug 3302 auch konfiguriert sein, um Informationen in Bezug auf die identifizierte Bedingung und/oder Kennung, die der Bedingung zugeordnet ist, an den Server 3301, die Datenbank 3304 und/oder die externe Entität 3305 zu übertragen.
  • In einigen Ausführungsformen kann der Server 3301 (und/oder das Fahrzeug 3302) ein Maschinenlernmodell verwenden, um eine oder mehrere Kennungen zu bestimmen, die einer Bedingung in einem Bild zugeordnet sind. Beispielsweise kann der Server 3301 (und/oder das Fahrzeug 3302) ein trainiertes Maschinenlernmodell zum Identifizieren einer oder mehrerer Kennungen, die einer Bedingung zugeordnet sind, erhalten oder verwenden. Das trainierte Maschinenlernmodell kann unter Verwendung von Trainingsproben von bezeichneten Kennungen, Bedingungen und/oder Bildern trainiert werden. Der Server 3301 (und/oder das Fahrzeug 3302) kann die empfangenen Bilder in das trainierte Maschinenlernmodell eingeben, das eine oder mehrere bestimmte Kennungen ausgeben kann, die einer Bedingung zugeordnet sind. Als ein anderes Beispiel kann der Server 3301 (und/oder das Fahrzeug 3302) ein künstliches neuronales Netz verwenden, das zum Identifizieren einer oder mehrerer Kennungen trainiert ist, die einer Bedingung zugeordnet sind.
  • In einigen Ausführungsformen kann der Server 3301 dazu konfiguriert sein, die mindestens eine Kennung, die der Bedingung zugeordnet ist, basierend auf Informationen zu aktualisieren, die von mindestens einem anderen Fahrzeug empfangen werden.
  • Wie an anderer Stelle in dieser Offenbarung beschrieben, kann der Server 3301 ein oder mehrere Bilder (oder einen oder mehrere Sätze von Bildern) von einer Vielzahl von Fahrzeugen empfangen, die die Umgebungen der Fahrzeuge darstellen, und die Bilder analysieren, um eine oder mehrere Bedingungen zu identifizieren, die mindestens eine dynamische Charakteristik aufweisen. In einigen Ausführungsformen kann der Server 3301 auch dazu konfiguriert sein, die Bedingungen zu aggregieren und/oder zu korrelieren, die entlang einem gleichen Straßensegment (oder Abschnitt davon) in den Bildern identifiziert sind. Beispielsweise kann der Server 3301 eine oder mehrere Bedingungen, die in einem ersten Bild identifiziert sind, das von einem ersten Fahrzeug empfangen wird, und eine oder mehrere Bedingungen, die in einem zweiten Bild identifiziert sind, das von einem zweiten Fahrzeug empfangen wird, aggregieren. Alternativ oder zusätzlich kann der Server 3301 eine oder mehrere doppelte Bedingungen aus den aggregierten Bedingungen entfernen. Alternativ kann der Server 3301 eine oder mehrere identifizierte Bedingungen behalten, die sowohl im ersten als auch im zweiten Bild erscheinen. Der Server 3301 kann eine oder mehrere identifizierte Bedingungen eliminieren, die nur in einem der ersten und zweiten Bilder erscheinen. In einigen Ausführungsformen kann der Server 3301 die Bedingungen aggregieren, die in den von drei oder mehr Fahrzeugen empfangenen Bildern identifiziert sind. Alternativ oder zusätzlich kann der Server 3301 ebenfalls eine oder mehrere doppelte Bedingungen aus den aggregierten Bedingungen entfernen. Alternativ kann der Server 3301 eine oder mehrere identifizierte Bedingungen behalten, die in allen Bildern erscheinen. Alternativ kann der Server 3301 eine oder mehrere identifizierte Bedingungen eliminieren, die nur in einer Teilmenge der Bilder erscheinen (z. B. nur im ersten und dritten Bild, aber nicht im zweiten Bild identifiziert). Alternativ kann der Server 3301 eine Zählnummer des Erscheinungsbilds einer identifizierten Bedingung in den Bildern bestimmen. Der Server 3301 kann die Bedingung behalten, wenn die Zählnummer gleich einem Schwellenwert ist oder diesen überschreitet. Beispielsweise kann der Schwellenwert drei sein und der Server 3301 kann bestimmen, dass eine identifizierte Bedingung dreimal aus vier Bildern erscheint (z. B. vier Bilder, die von vier unterschiedlichen Fahrzeugen empfangen werden). Der Server 3301 kann diese identifizierte Bedingung behalten. Als ein anderes Beispiel kann der Server 3301 bestimmen, dass eine andere identifizierte Bedingung nur einmal unter den vier Bildern erscheint, und kann diese identifizierte Bedingung eliminieren.
  • Alternativ oder zusätzlich kann der Server 3301 dazu konfiguriert sein, eine oder mehrere Kennungen zu aggregieren und/oder zu korrelieren, die mit einer gleichen Bedingung assoziiert sind, die in den Bildern identifiziert ist, die von unterschiedlichen Fahrzeugen empfangen werden. In einigen Ausführungsformen kann das Korrelieren das Bestimmen verfeinerter Positionen jeder Bedingung basierend auf den bestimmten Kennungen beinhalten. Beispielsweise kann der Server 3301 eine erste bestimmte Position des Schlaglochs 3431 (wie in 34 veranschaulicht) relativ zu dem Stoppschild 3421 basierend auf einem ersten Bild, das von einem ersten Fahrzeug empfangen wird, mit einer zweiten bestimmten Position des Schlaglochs 3431 relativ zu dem Stoppschild 3421 basierend auf einem zweiten Bild, das von einem zweiten Fahrzeug empfangen wird, korrelieren. Der Server 3301 kann auch eine endgültige Position (oder eine verfeinerte Position) für das Schlagloch 3431 relativ zu dem Stoppschild 3421 basierend auf der ersten und zweiten Position bestimmen. Beispielsweise kann der Server 3301 einen ersten Abstand des Schlaglochs 3431 zu dem Stoppschild 3421, der 3,0 Meter beträgt, basierend auf der Analyse des ersten Bilds bestimmen und einen zweiten Abstand des Schlaglochs 3431 zu dem Stoppschild 3421, der 2,0 Meter beträgt, bestimmen. Der Server 3301 kann einen endgültigen Abstand des Schlaglochs 3431 zu dem Stoppschild 3421, der 2,5 Meter beträgt, durch Mitteln des ersten und zweiten Abstands bestimmen. Dementsprechend kann das Aggregieren und/oder Korrelieren das Mitteln von Positionsinformationen beinhalten.
  • In einigen Ausführungsformen kann der Server 3301 eine oder mehrere Kennungen bestimmen, die einer bestimmten Bedingung zugeordnet sind, die in den von drei oder mehr Fahrzeugen empfangenen Bildern identifiziert ist. Der Server 3301 kann auch die bestimmten Kennungen für die bestimmte Bedingung korrelieren. Beispielsweise kann der Server 3301 Kennungen für die gleiche Bedingung korrelieren, die in 20 Bildern (oder Bildsätzen) identifiziert ist, die von 20 unterschiedlichen Fahrzeugen empfangen werden. Der Server 3301 kann eine verfeinerte Position der Bedingung bestimmen, indem er beispielsweise einen Mittelwert oder Median von 20 Positionsindikatoren (d. h. einer Kennung) erhält. Alternativ kann der Server 3301 zuerst einen oder mehrere Ausreißer aus 20 Positionsindikatoren herausfiltern (z. B. durch Entfernen eines Positionsindikators, der 3,4 Standardabweichungen über oder unter dem Median oder Mittelwert von 20 Positionsindikatoren beträgt). Der Server 3301 kann dann einen Mittelwert oder Median der verbleibenden Positionsindikatoren als die verfeinerte Position der Bedingung erhalten. In einigen Ausführungsformen kann der Server 3301 eine Konfidenzbewertung für jeden der bestimmten Positionsindikatoren bestimmen, die mit einer Bedingung assoziiert sind. Zum Beispiel kann der Server 3301 eine erste Konfidenzbewertung für einen ersten Positionsindikator zuweisen, der mit einer Bedingung assoziiert ist, basierend auf dem ersten Bild, das vom ersten Fahrzeug empfangen wurde. Der Server 3301 kann ebenfalls eine zweite Konfidenzbewertung für einen zweiten Positionsindikator zuweisen, der mit der Bedingung assoziiert ist, basierend auf dem zweiten Bild, das vom zweiten Fahrzeug empfangen wurde. Um einen endgültigen Positionsindikator zu bestimmen, der mit der Bedingung assoziiert ist, kann der Server 3301 dazu konfiguriert sein, die Konfidenzbewertungen zu berücksichtigen. Zum Beispiel kann der Server 3301 dazu konfiguriert sein, einen gewichteten Durchschnitt basierend auf dem ersten und zweiten Positionsindikator zu berechnen, indem dem ersten Positionsindikator mehr Gewicht verliehen wird als dem zweiten Positionsindikator, wenn die erste Konfidenzbewertung höher als die zweite Konfidenzbewertung ist.
  • 35B ist ein Ablaufdiagramm, das einen beispielhaften Prozess 3520 zum Sammeln von Bedingungsinformationen zeigt, die mit einem Straßensegment assoziiert sind, übereinstimmend mit offenbarten Ausführungsformen. Ein oder mehrere Schritte des Prozesses 3520 können durch ein Fahrzeug (z. B. Fahrzeug 3302), eine mit dem Fahrzeug assoziierte Vorrichtung (z. B. Fahrzeugvorrichtung 3303), einen Server (z. B. Server 3301) und/oder eine externe Entität (z. B. externe Entität 3305) durchgeführt werden. Während die nachstehend bereitgestellten Beschreibungen des Prozesses 3510 den Server 3301 als ein Beispiel verwenden, würde ein Fachmann verstehen, dass ein oder mehrere Schritte des Prozesses 3520 durch ein Fahrzeug, eine Fahrzeugvorrichtung und/oder eine externe Entität durchgeführt werden können.
  • Bei Schritt 3521 kann mindestens eine Kennung empfangen werden, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist. In einigen Ausführungsformen können eine Bedingung und/oder mindestens eine Kennung, die der Bedingung zugeordnet ist, bestimmt werden, wie an anderer Stelle in dieser Offenbarung beschrieben (z. B. die Beschreibungen in Verbindung mit Prozess 3510). Beispielsweise kann der Server 3301 die Position eines Schlaglochs vom Fahrzeug 3302 über beispielsweise das Netzwerk 3306 empfangen. In einigen Ausführungsformen kann der Server 3301 auch dazu konfiguriert sein, Informationen in Bezug auf die Bedingung und/oder die Kennung zu empfangen. Beispielsweise kann der Server 3301 dazu konfiguriert sein, Ortsinformationen in Bezug auf ein Straßensegment zu empfangen, in dem das Schlagloch identifiziert ist. Als ein anderes Beispiel kann der Server 3301 dazu konfiguriert sein, Informationen über die Erlaubnis einer Baustelle (z. B. den erlaubten Betriebszeitraum) zu empfangen.
  • Bei Schritt 3522 kann ein Datenbankeintrag aktualisiert werden, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist. Beispielsweise kann der Server 3301 einen Datenbankeintrag erhalten, der dem Straßensegment (und/oder der identifizierten Bedingung) aus der Datenbank 3304 zugeordnet ist, und den Datenbankeintrag aktualisieren, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist. Beispielsweise kann der Server 3301 einen Datenbankeintrag erhalten, der dem Straßensegment (oder einem Abschnitt davon) zugeordnet ist, um die Position des Schlaglochs 3431 zu beinhalten. Als ein anderes Beispiel kann der Server 3301 einen Datenbankeintrag erhalten, der dem Zebrastreifen 3441 zugeordnet ist, und den Datenbankeintrag aktualisieren, um die Dichte von Fußgängern zu beinhalten, die basierend auf der Analyse von einem oder mehreren Bildern bestimmt wird, die vom Fahrzeug 3401 empfangen werden.
  • Bei Schritt 3523 kann der Datenbankeintrag an mindestens eine Entität übertragen werden. Beispielsweise kann der Server 3301 den aktualisierten Datenbankeintrag an ein oder mehrere Fahrzeuge 3302, die Datenbank 3304 und/oder die externe Entität 3305 (oder eine Rechenvorrichtung, die mit der externen Entität 3305 assoziiert ist) über beispielsweise das Netzwerk 3306 übertragen. In einigen Ausführungsformen kann die externe Entität 3305 eine Gemeinde (oder eine Rechenvorrichtung, die mit der Gemeinde assoziiert ist) beinhalten. In einigen Ausführungsformen kann die externe Entität 3005 eine Entität beinhalten, die im Namen oder in der Richtung einer Gemeinde oder einer anderen Verwaltungsentität fungiert.
  • Verwendung von semantischen und nicht semantischen Informationen zum Ausrichten von Fahrten und zum Erstellen von Karten
  • Wie vorstehend beschrieben, können die offenbarten Systeme und Verfahren das Sammeln von Informationen von Fahrzeugen oder anderen Quellen und das Erzeugen einer dünnbesetzten Karte für die Fahrzeugnavigation basierend auf den gesammelten Informationen beinhalten. Um Karten basierend auf mehreren Fahrten zu erzeugen, die ein Straßensegment befahren, können die während der mehreren Fahrten gesammelten Fahrinformationen ausgerichtet werden. Wie vorstehend beschrieben, kann die Ausrichtung basierend auf Objekten durchgeführt werden, die einen erkannten Typ aufweisen, der in Bildern identifiziert ist, die von Fahrzeugen erfasst werden. Solche Merkmale, die als „semantische“ Merkmale bezeichnet werden können, können Stoppschilder, Ampeln oder andere erkannte Merkmale beinhalten, wie vorstehend beschrieben. In einigen Fällen kann die Verwendung von semantischen Merkmalen allein nicht ausreichend sein, um mehrere Fahrten auszurichten. Beispielsweise kann eine bestimmte Straßenstrecke nicht genügend semantische Straßenmerkmale enthalten, um Informationen genau oder effektiv auszurichten. Dementsprechend können in einigen Ausführungsformen detektierte Merkmale eines nicht standardmäßigen Typs, wie etwa Risse auf der Straße, eindeutige Schlaglöcher oder andere Merkmale, die nicht mit einem vorbestimmten Objekttyp assoziiert sind, ebenfalls zur Ausrichtung verwendet werden. Solche Merkmale können als „nicht-semantische“ Merkmale bezeichnet werden. Die Verwendung sowohl von semantischen als auch nicht-semantischen Merkmalen kann die Genauigkeit, Effizienz und Effektivität des Erzeugens dünnbesetzter Karten basierend auf mehreren Fahrten verbessern, indem zusätzliche Datenpunkte zur Ausrichtung bereitgestellt werden.
  • 36 ist eine schematische Veranschaulichung eines Systems zum Ausrichten von Informationen von mehreren Fahrten basierend auf semantischen und nicht-semantischen Straßenmerkmalen, übereinstimmend mit den offenbarten Ausführungsformen. 36 zeigt ein beispielhaftes Straßensegment 3600, das von einem oder mehreren Fahrzeugen 3610 und 3620 befahren werden kann. Das Straßensegment 3600 ist der Einfachheit halber als eine einzelne Fahrspur aufweisend gezeigt. Das Straßensegment 3600 kann jedoch komplexere Straßensegmente beinhalten, die mehrere Fahrspuren und/oder mehrere Fahrtrichtungen aufweisen, wie in der vorliegenden Offenbarung beschrieben. In einigen Ausführungsformen können die Fahrzeuge 3610 und 3620 dem vorstehend erörterten Fahrzeug 200 (oder den Fahrzeugen 1205, 1210, 1215, 1220 oder 1225) entsprechen. Dementsprechend kann jede der hierin unter Bezugnahme auf das Fahrzeug 200 vorgenommenen Beschreibungen oder Offenbarungen auch für die Fahrzeuge 3610 und 3620 gelten. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 3610 und 3620 ein autonomes Fahrzeug sein. Die Fahrzeuge 3610 und 3620 können dazu konfiguriert sein, Bilder des Straßensegments 3600 zu erfassen. Dementsprechend kann jedes Fahrzeug mit einer Bilderfassungsvorrichtung oder Kamera (z. B. Bilderfassungsvorrichtung 122 oder Kamera 122) ausgestattet sein. Die Fahrzeuge 3610 und 3620 können Verarbeitungseinheiten 3612 bzw. 3622 zum Verarbeiten und Übertragen erfasster Bilder beinhalten. In einigen Ausführungsformen können die Fahrzeuge 3610 und 3620 mehrere Fahrten entlang des Straßensegments 3600 darstellen. Zum Beispiel können die Fahrzeuge 3610 und 3620 zur gleichen Zeit oder zu unterschiedlichen Zeiten auf dem Straßensegment 3600 fahren (obwohl in 36 zur gleichen Zeit auf dem Straßensegment 1200 erscheinend gezeigt). In einigen Ausführungsformen können das Fahrzeug 3610 und das Fahrzeug 3620 das gleiche Fahrzeug sein. Zum Beispiel kann das gleiche Fahrzeug das Straßensegment 3600 zu zwei unterschiedlichen Zeiten befahren, was mehrere Fahrten entlang des Straßensegments 3600 darstellt, die verwendet werden können, um eine dünnbesetzte Karte zu erzeugen.
  • Jedes Fahrzeug kann mit einem entfernten Server 3630 über ein oder mehrere Netzwerke (z. B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 3632 kommunizieren. Der Server 3630 kann eine beliebige Rechenvorrichtung sein, die in der Lage ist, Informationen zum Erzeugen von Navigationskarten zu empfangen und zu verarbeiten. In einigen Ausführungsformen kann der Server 3630 dem Server 1230 entsprechen, wie vorstehend beschrieben. Dementsprechend kann jede der hierin unter Bezugnahme auf den Server 1230 vorgenommenen Beschreibungen oder Offenbarungen auch für den Server 3630 gelten. Die Fahrzeuge 3610 und 3620 können Daten an den Server 3630 übertragen und Daten vom Server 3630 empfangen. Zum Beispiel kann der Server 3630 Daten von mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßensegment 3600 fahren, und kann die gesammelten Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen oder ein Modell zu aktualisieren. Der Server 3630 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an die Fahrzeuge übertragen, die Daten an den Server 3630 übertragen haben. Ferner kann der Server 3630 das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, die zu späteren Zeiten auf dem Straßensegment 3600 fahren.
  • Das Straßensegment 3600 kann sowohl das semantische Straßenmerkmal 3650 als auch das nicht-semantische Straßenmerkmal 3640 beinhalten. Die Fahrzeuge 3610 und 3620 können Bilder erfassen, die das nicht-semantische Straßenmerkmal 3640 und das semantische Straßenmerkmal 3650 darstellen, die verwendet werden können, um eine dünnbesetzte Karte zu erzeugen. Insbesondere kann der Server 3630 Informationen von mehreren Fahrten (z. B. Informationen, die vom Fahrzeug 3610 und 3620 erfasst werden) basierend auf sowohl dem nicht-semantischen Straßenmerkmal 3640 als auch dem semantischen Straßenmerkmal 3650 ausrichten, um ein Straßennavigationsmodell zu erzeugen.
  • 37A zeigt ein beispielhaftes Bild 3700, das von Fahrzeugen 3610 und/oder 3620 erfasst werden kann, übereinstimmend mit offenbarten Ausführungsformen. Wie in 37A gezeigt, kann das Bild 3700 Repräsentationen sowohl des semantischen Straßenmerkmals 3650 als auch des nicht-semantischen Straßenmerkmals 3640 beinhalten, die zur Ausrichtung verwendet werden können. Zum Zwecke der Veranschaulichung ist gezeigt, dass das Bild 3700 sowohl nicht-semantische Straßenmerkmale als auch semantische Straßenmerkmale beinhaltet. In einigen Ausführungsformen können jedoch das nicht-semantische Straßenmerkmal 3640 und das semantische Straßenmerkmal 3650 in separaten Bildern dargestellt werden, die entlang desselben Straßensegments erfasst werden.
  • Wie hierin verwendet, kann sich ein „semantisches Straßenmerkmal“ auf jedes Merkmal entlang eines Straßensegments beziehen, das mit einer erkannten Objektklassifizierung assoziiert ist. Wie in 36 gezeigt, kann das semantische Straßenmerkmal 3650 beispielsweise ein Verkehrszeichen sein, wie etwa ein Ausweichschild. Das semantische Straßenmerkmal 3650 kann ein beliebiges anderes Merkmal oder Objekt entlang einer Fahrbahn sein, das einen erkannten Objekttyp aufweist. Solche semantischen Straßenmerkmale können Fahrspur-Markierungen, Verkehrszeichen, Autobahnausfahrten, Ampeln, Lichtpfosten, Autobahn-Markierungen oder beliebige andere Merkmale beinhalten, die als einen definierten Typ oder eine andere Klassifizierung aufweisend erkannt werden können. In einigen Ausführungsformen kann das semantische Straßenmerkmal 3650 mit einem Untertyp oder einer Unterklassifizierung eines Objekts assoziiert sein. In Fällen, in denen das semantische Straßenmerkmal 3650 beispielsweise ein Verkehrszeichen ist, wie in 37A gezeigt, kann es unter einer Unterkategorie eines Ausweichschilds basierend auf der Form und dem Erscheinungsbild des Zeichens klassifiziert werden, wie vorstehend ausführlicher beschrieben. Andere ähnliche Verkehrszeichen-Untertypen können Geschwindigkeitsbegrenzungszeichen, Routennummernschilder, Ampelzeichen, Stoppschilder, Richtungszeichen, Warnschilder, Einfädelzeichen, Ausweichschilder, Bahnübergangsschilder oder einen beliebigen anderen erkennbaren Typ von Verkehrszeichen beinhalten. Als ein anderes Beispiel, in dem das semantische Straßenmerkmal 3650 eine Fahrspur-Markierung ist, kann es basierend auf einem spezifischen Typ von Fahrspur-Markierung, wie etwa einer gestrichelten Fahrspur-Markierung, einer Doppellinien-Fahrspur-Markierung, einem Zebrastreifen, einem Geschwindigkeitshöcker, einem Bahnübergang, einer Stopplinie oder einem beliebigen anderen erkennbaren Typ von Fahrbahn-Markierung, kategorisiert werden.
  • Der Server 3650 kann dazu konfiguriert sein, Daten zu verarbeiten, die mit identifizierten Straßenmerkmalen assoziiert sind, einschließlich semantischen Straßenmerkmalen, um Informationen auszurichten, die von mehreren Fahrten entlang eines Straßensegments gesammelt wurden. Um die Anzahl von Datenpunkten zu erhöhen, die zur Ausrichtung von Fahrtinformationen verwendet werden können, oder um Datenpunkte in Bereichen bereitzustellen, in denen es unzureichende semantische Datenpunkte gibt, können auch nicht-semantische Straßenmerkmale, wie etwa das nicht-semantische Straßenmerkmal 3640, zur Ausrichtung verwendet werden. Wie hierin verwendet, kann sich ein „nicht-semantisches Straßenmerkmal“ auf jedes Merkmal entlang eines Straßensegments beziehen, das nicht mit einem erkannten Objekttyp oder einer erkannten Objektklassifizierung assoziiert ist. Wie zum Beispiel in den 36 und 37A gezeigt, kann das nicht-semantische Straßenmerkmal 3640 ein Schlagloch sein. Wenn das Bild 3700 verarbeitet wird, kann der Prozessor 3612 (oder Server 3630) das nicht-semantische Straßenmerkmal 3640 innerhalb des Bilds 3700 erkennen, es jedoch nicht mit einem bekannten Objekttyp assoziieren. Beispielsweise kann „Schlagloch“ kein Objekttyp sein, der vom Prozessor 3612 oder Server 3630 erkannt wird. Der Prozessor 3610 kann jedoch dennoch einen Ort des nicht-semantischen Straßenmerkmals 3640 bestimmen, ähnlich wie Orte für semantische Straßenmerkmale bestimmt werden, und die Ortsinformationen an den Server 3630 übertragen. In einigen Ausführungsformen kann der Prozessor 3610 andere Informationen bereitstellen, die mit dem nicht-semantischen Straßenmerkmal 3640 assoziiert sind, die verwendet werden können, um Ortsinformationen für das nicht-semantische Straßenmerkmal 3640 über mehrere Fahrten zu korrelieren. Beispielsweise kann der Prozessor 3610 Form, Farbe, Größe oder andere Informationen beinhalten, die für das nicht-semantische Straßenmerkmal 3640 basierend auf dem Bild 3700 bestimmt werden können. Diese Informationen können mit Informationen über nicht-semantische Straßenmerkmale verglichen werden, die in anderen Fahrten gemeldet werden, um die Ortsinformationen zum Zwecke der Ausrichtung zu korrelieren. Wenn beispielsweise die Fahrzeuge 3610 und 3620 jeweils ein Merkmal auf der Straßenoberfläche melden, das eine ähnliche Größe und Form aufweist und ungefähr den gleichen Ort entlang des Straßensegments 3600 aufweist, kann der Server 3630 die beiden Straßenmerkmale korrelieren. Dementsprechend kann der Server 3630 dann die korrelierten nicht-semantischen Straßenmerkmale zur Ausrichtung der beiden Fahrten verwenden. In einigen Ausführungsformen kann das gemeldete nicht-semantische Straßenmerkmal zur Ausrichtung verwendet werden, wenn die identifizierenden Informationen und/oder Ortsinformationen innerhalb eines bestimmten Schwellenwerts liegen. Wenn beispielsweise bestimmt wird, dass ein nicht-semantisches Straßenmerkmal, das vom Fahrzeug 3610 gemeldet wird, einen Breitenwert aufweist, der innerhalb eines bestimmten Schwellenwerts eines nicht-semantischen Straßenmerkmals liegt, das von einem anderen Fahrzeug gemeldet wird (z. B. innerhalb von 90 %, innerhalb von 0,1 m oder einem anderen Ähnlichkeitsmaß), können die gemeldeten Orte zur Ausrichtung verwendet werden. In einigen Ausführungsformen können nicht-semantische Straßenmerkmale basierend auf dem Ort allein korreliert werden. Beispielsweise können nicht-semantische Straßenmerkmale innerhalb eines bestimmten Schwellenabstands (z. B. 0,01 m, 0,1 m, 1,0 m usw.) für Ausrichtungszwecke korreliert werden.
  • Während ein Schlagloch beispielhaft verwendet wird, kann das nicht-semantische Straßenmerkmal 3640 jedes detektierbare Merkmal innerhalb einer Umgebung eines Fahrzeugs beinhalten, das nicht mit einem vordefinierten Objekttyp oder einer vordefinierten Objektklassifizierung assoziiert ist. 37B-37D veranschaulichen beispielhafte nicht-semantische Straßenmerkmale, die für Ausrichtungszwecke verwendet werden können, übereinstimmend mit offenbarten Ausführungsformen. In einigen Ausführungsformen kann das nicht-semantische Straßenmerkmal 3640 ein Werbeschild beinhalten, wie etwa die Werbetafel 3710, wie in 37B gezeigt. Da die Werbetafel 3710 kein erkannter Typ von Verkehrszeichen ist, kann sie als ein nicht-semantisches Straßenmerkmal klassifiziert und für Ausrichtungszwecke verwendet werden. Informationen wie etwa eine Form, Breite, Höhe, Farbe oder andere Eigenschaften der Werbetafel 3710 können auch zum Zwecke der Korrelation von Ortsinformationen identifiziert werden, die für die Werbetafel 3710 über mehrere Fahrten gemeldet werden. In einigen Ausführungsformen können Bilder, Formen, Text oder andere Merkmale, die auf dem Gesicht der Werbetafel 3710 angezeigt werden, auch zum Identifizieren der Werbetafel 3710 zwischen mehreren Fahrten verwendet werden. Beispielsweise kann der Prozessor 3612 im in 37B veranschaulichten Beispiel eine Form oder ein Bild entsprechend der Kaffeetasse 3712 unter Verwendung verschiedener Bildverarbeitungsalgorithmen identifizieren, wie vorstehend beschrieben. In anderen Ausführungsformen kann der Prozessor 3612 den Text 3714 erkennen, beispielsweise unter Verwendung eines OCR-Algorithmus oder anderer Texterkennungstechniken. Solche Informationen können verwendet werden, um die Werbetafel 3710 über mehrere Sätze von Fahrinformationen zu identifizieren. Verschiedene andere Arten von Zeichen können auch als nicht-semantische Straßenmerkmale betrachtet werden, einschließlich Bauzeichen, Informationszeichen, politische Zeichen, nationale oder staatliche Parkzeichen, Geschäftszeichen im Freien, handgemachte Zeichen (z. B. Hofverkaufszeichen, lokale Werbeschilder, usw.).
  • In einigen Ausführungsformen können nicht-semantische Straßenmerkmale die Rückseite eines Verkehrszeichens 3720 beinhalten, wie in 37C gezeigt. Beispielsweise kann das Verkehrszeichen 3720 einer Fahrspur zugeordnet sein, die eine entgegengesetzte Fahrtrichtung aufweist als die vom Fahrzeug 3610 befahrene Richtung. Da nur die Rückseite des Verkehrszeichens in einem erfassten Bild dargestellt ist, kann der Prozessor 3610 dementsprechend das Verkehrszeichen 3720 nicht als ein Verkehrszeichen identifizieren und kann es somit als ein nicht-semantisches Straßenmerkmal klassifizieren. Eigenschaften der Rückseite des Verkehrszeichens 3720, wie etwa die Höhe, Form, Farbe oder andere Eigenschaften können verwendet werden, um Ortsinformationen für das Verkehrszeichen 3720 über mehrere Fahrten zu korrelieren. Als ein anderes Beispiel kann das nicht-semantische Straßenmerkmal 640 eine Laterne 3730 beinhalten, wie in 37D gezeigt. Es ist anzumerken, dass in einigen Ausführungsformen Laternen als semantische Straßenmerkmale erkannt werden können, die zur Ausrichtung verwendet werden. Dementsprechend kann es von den vom Server 3630 erkannten Typen von Objektklassifizierungen abhängen, ob ein Straßenmerkmal als semantisch oder nicht-semantisch betrachtet wird. Dementsprechend können Verkehrszeichen, Fahrspur-Markierungen, Autobahn-Markierungen, Ampeln oder beliebige andere Merkmale, die in einigen Ausführungsformen semantische Straßenmerkmale sein können, in anderen Ausführungsformen nicht-semantische Straßenmerkmale sein, abhängig von den vom Server erkannten Typen von Objekten. Ferner kann ein Straßenmerkmal, das einen vordefinierten Typ aufweist, in einigen Fällen als ein nicht-semantisches Straßenmerkmal klassifiziert werden, wenn es nicht als den vordefinierten Typ aufweisend erkannt wird. Zum Beispiel kann die Laterne 3730 ein anderes Design aufweisen als diejenigen, die typischerweise vom Server 3630 erkannt werden, kann beschädigt oder verschmutzt sein oder kann aus anderen Gründen nicht als Laterne detektiert werden und kann somit als nicht-semantisch behandelt werden, aber dennoch zu Ausrichtungszwecken verwendet werden.
  • Verschiedene andere nicht-semantische Straßenmerkmale können zur Ausrichtung zusätzlich zu denjenigen verwendet werden, die in 37A-D gezeigt sind. Bei einigen Ausführungsformen können nicht-semantische Straßenmerkmale Merkmale auf einer Oberfläche einer Straße beinhalten, wie etwa Risse, Schlaglöcher, Schachtabdeckungen, Ölflecken, Reifenmarkierungen, Farbspritzer oder Streulackmarkierungen, dunklere oder hellere Straßenpflaster, verdeckte oder nicht erkannte Fahrspur-Markierungen (z. B. Fahrrad-Fahrspur-Bezeichnungen, Ausweichspuren usw.), Schmutzpflaster, abgenutzte Straßenbelagsbereiche, teilweise abgenutzte Fahrbahn-Markierungen oder beliebige andere detektierbare Merkmale auf der Oberfläche einer Straße. In einigen Ausführungsformen können nicht-semantische Straßenmerkmale Objekte entlang einem Straßensegment beinhalten. Zum Beispiel können nicht-semantische Straßenmerkmale Pflanzen (z. B. Gräser, Blumen, Büsche, Sträucher, Bäume, Kakteen, Moos usw.), Zaunpfosten, Telefonmasten, elektrische oder Kommunikationskästen, Bänke, Gebäude, Briefkästen, Bushaltestellen, Bahnhöfe, Müll- oder Recyclebehälter, Poller, Steine oder beliebige andere Objekte beinhalten, die entlang einer Fahrbahn gefunden werden können. In einigen Ausführungsformen können die nicht-semantischen Straßenmerkmale temporär oder vergänglich sein, können jedoch lang genug an einem Ort bleiben, dass sie entlang mehrerer Fahrten detektiert werden können. Zum Beispiel kann das nicht-semantische Straßenmerkmal Verkehrskegel, Baufahrzeuge, Baumaschinen, Bauzeichen, geparkte oder behinderte Fahrzeuge, Straßenschilder, Müll oder Schutt, Pfützen, sammelbare Müllbehälter oder beliebige andere nicht-permanente oder semi-permanente Objekte oder Straßenmarkierungen beinhalten. Während hierin verschiedene Beispiele für nicht-semantische Straßenmerkmale bereitgestellt werden, ist die vorliegende Offenbarung nicht auf eine beliebige Art oder Form von nicht-semantischem Straßenmerkmal beschränkt.
  • Basierend auf den semantischen Straßenmerkmalen und nicht-semantischen Straßenmerkmalen kann der Server 3630 Informationen ausrichten, die von mehreren Fahrten gesammelt wurden. Zum Beispiel kann das Fahrzeug 3610 Bilder erfassen, wie etwa das Bild 3700, einschließlich Repräsentationen des nicht-semantischen Straßenmerkmals 3640 und des semantischen Straßenmerkmals 3650. Ein Ort der Straßenmerkmale kann basierend auf den erfassten Bildern bestimmt werden. In einigen Ausführungsformen kann der Ort durch das Fahrzeug 3610 bestimmt werden, beispielsweise unter Verwendung des Prozessors 3612. In anderen Ausführungsformen kann der Ort auf der Serverseite bestimmt werden. Zum Beispiel kann das Fahrzeug 3610 das erfasste Bild 3700 oder Informationen, die vom Bild 3700 abgeleitet wurden, an den Server 3630 übertragen, der den Ort des semantischen Straßenmerkmals 3650 und des nicht-semantischen Straßenmerkmals 3640 basierend auf den empfangenen Informationen bestimmen kann.
  • Ähnlich kann ein zweites Fahrzeug 3620 einen Ort von semantischen und nicht-semantischen Straßenmerkmalen zusammen mit anderen Fahrtinformationen an den Server 3630 melden. Solche Informationen können zur gleichen Zeit wie Informationen vom Fahrzeug 3610 oder zu einem anderen Zeitpunkt übertragen werden. Der Server 3630 kann dreidimensionale Ortsinformationen, die mit dem nicht-semantischen Straßenmerkmal 3640 und dem semantischen Straßenmerkmal 3650 assoziiert sind, die von den Fahrzeugen 3610 und 3620 gemeldet werden, vergleichen und kann die Fahrtinformationen basierend auf den gemeldeten Orten des semantischen Straßenmerkmals 3650 ausrichten. Basierend auf der Ausrichtung kann der Server 3630 eine verfeinerte Position der semantischen und nicht-semantischen Straßenmerkmale bestimmen. Zum Beispiel kann der Server 3630 einen durchschnittlichen Ort für jedes der semantischen und nicht-semantischen Straßenmerkmale bestimmen und kann den durchschnittlichen Ort in einer Karte speichern. In anderen Ausführungsformen kann der Server 3630 eine Regressionsanalyse oder einen Kurvenanpassungsalgorithmus auf die Orte der semantischen und nicht-semantischen Straßenmerkmale anwenden, um die verfeinerten Positionen zu bestimmen. Zum Beispiel können die verfeinerten Positionen auf einer linearen, polynomialen, exponentiellen, logarithmischen oder Leistungskurvenanpassung an die gemeldeten semantischen und nicht-semantischen Straßenmerkmalsorte basieren. Die verfeinerten Positionen der semantischen und nicht-semantischen Straßenmerkmale können basierend auf einem Koordinatensystem für die dünnbesetzte Karte definiert werden. Zum Beispiel können die verfeinerten Punkte in den Koordinaten (x, z) ausgedrückt werden, wie vorstehend beschrieben, oder unter Verwendung eines beliebigen anderen Koordinatensystems. In einigen Ausführungsformen kann das Koordinatensystem lokal zum gemeinsamen Straßensegment sein. Zusätzliche Details der Merkmalsausrichtung, die durchgeführt werden kann, sind vorstehend in Bezug auf 14-16 beschrieben. Der Server 3630 kann dazu konfiguriert sein, die verfeinerten Positionen in einer Karte zu speichern und kann die Karte an ein oder mehrere Fahrzeuge zur Verwendung bei der Navigation entlang eines Straßensegments verteilen, wie vorstehend beschrieben.
  • 38 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 3800 zum Korrelieren von Informationen zeigt, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, übereinstimmend mit offenbarten Ausführungsformen. Der Prozess 3800 kann von einem Server, wie etwa dem Server 3630, durchgeführt werden. In einigen Ausführungsformen kann der Prozess 3800 ganz oder teilweise von einer Verarbeitungseinheit eines Fahrzeugs, wie etwa dem Prozessor 3612 des Fahrzeugs 3610, durchgeführt werden. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die bei Ausführung durch einen Prozessor den Prozessor veranlassen, den Prozess 3800 durchzuführen.
  • Bei Schritt 3810 kann der Prozess 3800 das Empfangen eines ersten Satzes von Fahrinformationen von einem ersten Fahrzeug beinhalten. Beispielsweise kann der erste Satz von Fahrinformationen vom Server 3630 vom Fahrzeug 3610 empfangen werden. Der erste Satz von Fahrinformationen kann mindestens einen ersten Indikator einer Position, die einem erkannten semantischen Straßenmerkmal (wie etwa dem semantischen Straßenmerkmal 3650) zugeordnet ist, und einen zweiten Indikator einer Position, die einem erkannten nicht-semantischen Straßenmerkmal (wie etwa dem nicht-semantischen Straßenmerkmal 3640) zugeordnet ist, beinhalten. Die ersten und zweiten Positionsindikatoren können basierend auf der Analyse von mindestens einem Bild bestimmt werden, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des gemeinsamen Straßensegments aufgenommen wurde. Beispielsweise kann, wie vorstehend beschrieben, das Fahrzeug 3610 das Bild 3700 entlang des Straßensegments 3600 erfassen und kann eine Position des nicht-semantischen Straßenmerkmals 3640 und des semantischen Straßenmerkmals 3650 unter Verwendung einer oder mehrerer Bildanalyse-Techniken bestimmen.
  • Wie vorstehend beschrieben, kann das semantische Straßenmerkmal ein Objekt beinhalten, das einen erkannten Objekttyp aufweist. Das semantische Straßenmerkmal kann beliebige der vorstehend erörterten beispielhaften semantischen Straßenmerkmale beinhalten, einschließlich beispielsweise einer Ampel, eines Stoppschilds, eines Geschwindigkeitsbegrenzungszeichens, eines Warnschilds, eines Richtungszeichens oder einer Fahrspur-Markierung. Das nicht-semantische Straßenmerkmal kann ein Objekt beinhalten, das keinen erkannten Objekttyp aufweist. Beispielsweise kann das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss oder ein Werbeschild beinhalten. Verschiedene andere nicht-einschränkende Beispiele für nicht-semantische Straßenmerkmale sind vorstehend bereitgestellt.
  • Bei Schritt 3820 kann der Prozess 3800 das Empfangen eines zweiten Satzes von Fahrinformationen von einem zweiten Fahrzeug beinhalten. Beispielsweise kann der zweite Satz von Fahrinformationen durch den Server 3630 vom Fahrzeug 3620 empfangen werden. Der zweite Satz von Fahrinformationen kann mindestens einen dritten Indikator einer Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen vierten Indikator einer Position beinhalten, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist. Wie beim ersten Satz von Fahrinformationen können die dritten und vierten Positionsindikatoren basierend auf der Analyse von mindestens einem Bild bestimmt werden, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des zweiten Fahrzeugs entlang mindestens des Abschnitts des gemeinsamen Straßensegments aufgenommen wurde. Wie vorstehend beschrieben, kann das zweite Fahrzeug in einigen Ausführungsformen Bilder des gemeinsamen Straßensegments zur gleichen Zeit oder zu unterschiedlichen Zeiten als das erste Fahrzeug erfassen. In einigen Ausführungsformen können die ersten und zweiten Fahrzeuge das gleiche Fahrzeug sein, das das gemeinsame Straßensegment zu unterschiedlichen Zeiten befährt.
  • Bei Schritt 3830 kann der Prozess 3800 das Korrelieren der ersten und zweiten Sätze von Fahrinformationen beinhalten. Diese Korrelation kann den vorstehend ausführlicher beschriebenen Ausrichtungstechniken entsprechen. Beispielsweise kann das Korrelieren das Bestimmen einer verfeinerten Position des erkannten semantischen Straßenmerkmals basierend auf den ersten und dritten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und das Bestimmen einer verfeinerten Position des erkannten nicht-semantischen Straßenmerkmals basierend auf den zweiten und vierten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, beinhalten. Wie vorstehend beschrieben, können die verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals relativ zu einem Koordinatensystem sein, das lokal zum gemeinsamen Straßensegment ist. In einigen Ausführungsformen kann das Koordinatensystem, das lokal zum gemeinsamen Straßensegment ist, auf einer Vielzahl von Bildern basieren, die von Kameras an Bord der Vielzahl von Fahrzeugen erfasst werden. Beispielsweise kann das Koordinatensystem basierend auf der Analyse der Bilder entwickelt werden, um einen dreidimensionalen Raum zu bestimmen, der dem Straßensegment zugeordnet ist, aus dem ein dreidimensionales Koordinatensystem entwickelt werden kann. Weitere Details in Bezug auf dreidimensionale Koordinaten zum Erzeugen dünnbesetzter Karten werden vorstehend bereitgestellt. In einigen Ausführungsformen kann das Korrelieren ferner das Anwenden eines Kurvenanpassungsalgorithmus auf den ersten Satz von Fahrinformationen und den zweiten Satz von Fahrinformationen beinhalten. Mit anderen Worten kann eine Kurve bestimmt werden, die durch eine mathematische Funktion definiert ist, die eine „beste Anpassung“ mit den Positionsindikatoren der erkannten semantischen und nicht-semantischen Straßenmerkmale aufweist. Beispielsweise kann eine lineare oder nichtlineare Regressionsanalyse durchgeführt werden, um eine Kurve an die Fahrinformationen anzupassen. In einigen Ausführungsformen beinhaltet das Korrelieren der Fahrinformationen das Bestimmen einer durchschnittlichen Position für ein Straßenmerkmal basierend auf einer Vielzahl von Positionsindikatoren.
  • Bei Schritt 3840 kann der Prozess 3800 das Speichern der verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer Karte beinhalten. Beispielsweise können die verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer dünnbesetzten Karte gespeichert werden, wie vorstehend ausführlicher beschrieben. Dementsprechend können der erste und zweite Satz von Fahrinformationen „ausgerichtet“ werden, um einen einzelnen umfassenden Satz von Fahrinformationen zu bilden. In einigen Ausführungsformen kann dies mehrmals unter Verwendung zusätzlicher Sätze von Fahrinformationen wiederholt werden, um eine dünnbesetzte Karte zu bilden, wie beispielsweise die dünnbesetzte Karte 800.
  • Bei Schritt 3850 kann der Prozess 3800 das Verteilen der Karte an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang des gemeinsamen Straßensegments beinhalten. Zum Beispiel kann die dünnbesetzte Karte, die basierend auf den ausgerichteten Fahrinformationen entwickelt wurde, an die Fahrzeuge 3610 und 3620 durch den Server 3630 zur Navigation verteilt werden. In einigen Ausführungsformen endet die Kartenerzeugung möglicherweise nicht bei der anfänglichen Erzeugung und Verteilung der Karte. Zum Beispiel kann, wie vorstehend erörtert, die dünnbesetzte Karte kontinuierlich oder periodisch basierend auf Daten aktualisiert werden, die von Fahrzeugen gesammelt werden, während diese Fahrzeuge weiterhin das gemeinsame Straßensegment befahren. Dementsprechend kann Schritt 3840 das Verteilen einer Aktualisierung an eine dünnbesetzte Karte beinhalten, die Informationen zum Aktualisieren nur eines Abschnitts der dünnbesetzten Gesamtkarte enthält, die in den Fahrzeugen gespeichert werden kann.
  • Sammeln von nicht-semantischen Merkmalspunkten
  • Wie vorstehend beschrieben, können die offenbarten Systeme und Verfahren das Sammeln von Ortsinformationen, die mit nicht-semantischen Straßenmerkmalen assoziiert sind, von einer Vielzahl von Fahrzeugen zum Zwecke des Ausrichtens von Fahrtinformationen beinhalten. Dementsprechend können Fahrzeuge, wie etwa die vorstehend beschriebenen Fahrzeuge 3610 und 3620, konfiguriert sein, um nicht-semantische Straßenmerkmale aus Bildern zu detektieren, die von einer Bilderfassungsvorrichtung erfasst werden, und Koordinaten für die nicht-semantischen Straßenmerkmale zu bestimmen. Während derartige Techniken vorstehend im Allgemeinen beschrieben sind, stellt die folgende Offenbarung zusätzliche Details für derartige Prozesse bereit.
  • Ein Fahrzeug, wie etwa das vorstehend in Bezug auf 36 beschriebene Fahrzeug 3610, kann mindestens eine Bilderfassungsvorrichtung beinhalten, um Bilder aus einer Umgebung des Fahrzeugs 3610 zu erfassen. Die Bilderfassungsvorrichtung kann konfiguriert sein, um Bilder von einem oder mehreren Fahrzeugen 3610 zu empfangen. Beispielsweise können die Bilder unter Verwendung der Bilderfassungseinheit 120 (z. B. über die Bilderfassungsvorrichtung 122) des Fahrzeugs 200 erfasst werden. Die Bildsensoren können eine beliebige geeignete Art von Bilderfassungsvorrichtung beinhalten, wie etwa einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss, wie vorstehend beschrieben, oder eine beliebige andere Form von Bildsensor. Das Fahrzeug 3610 kann ferner mit einer Verarbeitungsvorrichtung 3612 ausgestattet sein, die dazu konfiguriert sein kann, Bilder zu verarbeiten, die durch die Bilderfassungsvorrichtung erfasst werden. Die Verarbeitungsvorrichtung 3612 kann dazu konfiguriert sein, nicht-sematische Straßenmerkmale zu detektieren, die in den Bildern dargestellt sind, die durch die Bilderfassungsvorrichtung erfasst werden. Beispielsweise kann das Fahrzeug 3610 ähnlich der Detektion der verschiedenen vorstehend beschriebenen Orientierungspunkte verschiedene Bilderkennungsalgorithmen oder - Software verwenden, um Punkt-Orte innerhalb eines erfassten Bilds zu identifizieren. Beispielsweise kann das Fahrzeug 3610 eine Reihe von Randpunkten, Eckpunkten oder verschiedenen anderen Punkt-Orten erkennen, die einem nicht-semantischen Straßenmerkmal zugeordnet sind.
  • 39A und 39B zeigen beispielhafte Bilder 3901 und 3902, die zum Detektieren von nicht semantischen Straßenmerkmalen verwendet werden können, übereinstimmend mit offenbarten Ausführungsformen. Wie in 39A gezeigt, kann das Bild 3901 das nicht-semantische Straßenmerkmal 3940 beinhalten, das entlang einem Straßensegment 3900 beinhaltet ist. Das Bild 3901 kann durch eine Bilderfassungsvorrichtung erfasst werden, wie etwa die Bilderfassungsvorrichtungen 122 und/oder 124, die in der Bilderfassungseinheit 120 beinhaltet sind. Das nicht-semantische Straßenmerkmal 3940 kann dem vorstehend beschriebenen nicht-semantischen Straßenmerkmal 3640 entsprechen, und somit kann jede der vorstehend in Bezug auf das nicht-semantische Straßenmerkmal 3640 bereitgestellten Ausführungsformen oder Beschreibungen auch für das nicht-semantische Straßenmerkmal 3940 gelten. Während ein Schlagloch beispielhaft verwendet wird, kann jedes der verschiedenen vorstehend bereitgestellten beispielhaften nicht-semantischen Straßenmerkmale ebenfalls detektiert werden. Beispielsweise kann das nicht-semantische Straßenmerkmal 3940 ein Werbeschild, einen Lichtmast, einen Straßenriss, ein Gebäude, eine Rückseite eines Zeichens, eine Markierung oder Verfärbung in der Fahrbahn, eine Pflanze (z. B. einen Baum, Sträucher, Gras, Kaktus usw.) oder ein beliebiges anderes Merkmal beinhalten, das nicht mit einem erkannten Objekttyp assoziiert sein kann, ist jedoch nicht darauf beschränkt.
  • Die Verarbeitungseinheit 3612 kann dazu konfiguriert sein, eine Repräsentation des nicht-semantischen Straßenmerkmals 3940 aus dem Bild 3901 zu detektieren. Wie vorstehend beschrieben, kann dies die Verwendung eines Bilderkennungsalgorithmus beinhalten, wie etwa Viola-Jones-Objektdetektion, skaleninvariante Merkmalstransformation (scale-invariant feature transform - SIFT), Histogramm von Merkmalen mit orientierten Gradienten (histogram of oriented gradients - HOG), faltende neuronale Netze (convolutional neural networks - CNN) oder beliebige andere Formen von Objektdetektionsalgorithmen. Andere beispielhafte Algorithmen können Videoverfolgungsalgorithmen, Bewegungsdetektionsalgorithmen, Merkmalsdetektionsalgorithmen, farbbasierte Detektionsalgorithmen, texturbasierte Detektionsalgorithmen, formbasierte Detektionsalgorithmen, verstärkungsbasierte Detektionsalgorithmen, Gesichtsdetektionsalgorithmen oder einen beliebigen anderen geeigneten Algorithmus zum Analysieren eines oder mehrerer Bilder beinhalten. In einigen Ausführungsformen kann das nicht-semantische Straßenmerkmal durch einen trainierten Maschinenlernalgorithmus identifiziert werden. Beispielsweise kann der Algorithmus unter Verwendung eines Trainingssatzes von Bildern trainiert werden, die nicht-semantische Straßenmerkmale enthalten, um ein Modell zu entwickeln, das verwendet werden kann, um nicht-semantische Straßenmerkmale in anderen Bildern zu detektieren. Verschiedene Maschinenlernmodelle können verwendet werden, einschließlich eines logistischen Regressionsmodells, eines linearen Regressionsmodells, eines Regressionsmodells, eines Random-Forest-Modells, eines K-Nearest-Neighbor-(KNN-)Modells, eines K-Means-Modells, eines Entscheidungsbaums, eines Cox-Proportional-Hazards-Regressionsmodells, eines Naive-Bayes-Modells, eines Support-Vector-Machines-(SVM-)Modells, eines Gradientenverstärkungsalgorithmus, künstlicher neuronaler Netze (wie etwa tiefer neuronaler Netze, faltender neuronaler Netze usw.) oder einer beliebigen anderen Form von Maschinenlernmodell oder -algorithmus.
  • Die Verarbeitungseinheit 3612 kann dazu konfiguriert sein, einen oder mehrere Punkte zu detektieren, die dem nicht-semantischen Straßenmerkmal 3940 zugeordnet sind. Beispielsweise kann die Verarbeitungseinheit 3612 den Punkt 3942 identifizieren, der einer Ecke des nicht-semantischen Straßenmerkmals 3940 entsprechen kann, wie in 39A gezeigt. Verschiedene andere Punkte, die dem nicht-semantischen Straßenmerkmal 3940 zugeordnet sind, können bestimmt werden, einschließlich Punkte, die sich an einem Rand des nicht-semantischen Straßenmerkmals 3940 befinden, Punkte, die sich auf einer Oberfläche des nicht-semantischen Straßenmerkmals 3940 befinden, oder dergleichen. Basierend auf dem Ort des Punkts 3942 können Koordinaten des nicht-semantischen Straßenmerkmals 3940 bestimmt werden. Wie vorstehend beschrieben, kann eine dünnbesetzte Karte, die basierend auf Orten erzeugt wird, die durch eine Vielzahl von Fahrzeugen detektiert werden, durch einen dreidimensionalen Spline dargestellt werden. Dementsprechend können die Koordinaten für das nicht-semantische Straßenmerkmal 3940 im dreidimensionalen Raum dargestellt werden. Die dreidimensionalen Koordinaten können in Bezug auf einen Koordinatenrahmen bestimmt werden, der relativ zur Bilderfassungsvorrichtung, Realwelt-Koordinaten (z. B. Breiten- und Längengrad usw.), einen Koordinatenrahmen lokal zum Straßensegment 3900 oder einen beliebigen anderen geeigneten Bezugsrahmen sein kann. Bei einigen Ausführungsformen können die Koordinaten des Punkts 3942 basierend auf einer geschätzten Position des Punkts 3942 relativ zum Fahrzeug 3610 bestimmt werden. Beispielsweise kann die Verarbeitungseinheit 3612 basierend auf der Position des Punkts 3942 innerhalb des Bilds 3901 einen ungefähren Ort des Punkts 3942 relativ zum Fahrzeug 3610 bestimmen. 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 der Position des Punkts 3942 berücksichtigt werden.
  • Bei einigen Ausführungsformen können die dreidimensionalen Koordinaten des Punkts 3942 auf der Detektion des Punkts 3942 in mehreren Bildern basieren. 39B zeigt ein Beispiel für ein zweites Bild 3902, das zum Bestimmen von dreidimensionalen Koordinaten des Punkts 3942 verwendet werden kann. Im in 39B gezeigten Beispiel kann das Bild 3902 zu einem gewissen Zeitpunkt nach dem Bild 3901 aufgenommen werden. Beispielsweise können die Bilder 3901 und 3902 aufeinanderfolgende Bilder sein, die von einer Bilderfassungsvorrichtung an Bord des Fahrzeugs 3610 erfasst wurden. Als ein anderes Beispiel können ein oder mehrere andere Bilder während eines Zeitraums zwischen dem Zeitpunkt der Erfassung des Bilds 3901 und dem Zeitpunkt der Erfassung des Bilds 3902 erfasst worden sein. Wie in 39B gezeigt, kann eine Repräsentation des nicht-semantischen Straßenmerkmals 3940 an einem anderen Ort innerhalb des Bilds 3902 relativ zum Bild 3901 erscheinen. Beispielsweise kann die Verarbeitungseinheit 3612 einen zweiten Bild-Ort 3944 detektieren, der demselben Eckpunkt des nicht-semantischen Straßenmerkmals 3940 zugeordnet ist. Der Punkt 3942 wird dem Bild 3902 in 39B zum Zwecke der Veranschaulichung überlagert, obwohl er keinem Merkmal innerhalb des Bilds 3902 entspricht. In den 39A und 39B kann der Unterschied zwischen den Bildern 3901 und 3902 stark übertrieben sein. Beispielsweise kann in der Praxis der Unterschied zwischen aufeinanderfolgenden Bildern, die von einer Bilderfassungsvorrichtung erfasst werden, viel subtiler sein, da viele Einzelbilder (z. B. Dutzende, Hunderte, Tausende usw.) von der Bilderfassungsvorrichtung pro Sekunde erfasst werden können. Dementsprechend ist der Unterschied zwischen den Bildern 3901 und 3902, die in den 39A und 39B gezeigt sind, zum Zwecke der Veranschaulichung übertrieben.
  • Die Verarbeitungseinheit 3612 kann einen Unterschied zwischen den Punkten 3942 und 3942 in den jeweiligen Bildern bestimmen, wie durch die gestrichelte Linie 3950 gezeigt. Bei einigen Ausführungsformen kann dieser Unterschied in Verbindung mit Bewegungsinformationen für das Fahrzeug 3610 analysiert werden, um die dreidimensionalen Koordinaten zu bestimmen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Daten verwenden, um Koordinaten für einen Punkt zu bestimmen, der mit dem nicht-semantischen Straßenmerkmal 3940 assoziiert ist. Zum Beispiel kann die Verarbeitungseinheit 3612 Koordinaten für den Punkt 3942 basierend auf einer Position des Fahrzeugs 3610 zu dem Zeitpunkt bestimmen, zu dem das Bild 3901 aufgenommen wird, und kann Koordinaten für den gleichen Punkt (repräsentiert durch den Bild-Ort 3944) basierend auf einer Position des Fahrzeugs 3610 zu einem Zeitpunkt bestimmen, zu dem das Bild 3902 aufgenommen wird. Idealerweise sind die dreidimensionalen Koordinaten für den Punkt 3940 zu jedem dieser Zeitpunkte gleich. In einigen Fällen kann es jedoch geringfügige Diskrepanzen aufgrund der Bewegung des Fahrzeugs oder anderer Fehlerquellen geben. Sensordaten, wie etwa Aufhängungssensordaten, Beschleunigungsmesserdaten oder andere Daten, können verwendet werden, um jegliche Diskrepanzen zwischen zwei oder mehr Koordinaten zu korrigieren, die basierend auf Bilddaten bestimmt werden.
  • Ferner können, während die Bilder 3901 und 3902 in den 39A und 39B als aufeinanderfolgende Bilder gezeigt sind, sie in einigen Ausführungsformen gleichzeitig erfasst werden, beispielsweise durch zwei separate Bilderfassungsvorrichtungen (z. B. die Bilderfassungsvorrichtung 122 und die Bilderfassungsvorrichtung 124). In einigen Ausführungsformen können die Bilder 3901 und 3902 ein stereoskopisches Paar bilden. Auf Grundlage einer Differenz zwischen der Repräsentation eines nicht-semantischen Straßenmerkmals innerhalb der Bilder (z. B. der Differenz 3950), sowie bekannten Positionen und Ausrichtungen der entsprechenden Bilderfassungsvorrichtungen können dreidimensionale Koordinaten in Bezug auf das Fahrzeug 3610 bestimmt werden. Dem Fachmann können verschiedene andere Techniken zum Bestimmen der dreidimensionalen Koordinaten für den Punkt 3942 basierend auf der Differenz 3950 und/oder Bewegungsinformationen für das Fahrzeug ersichtlich sein.
  • Das Fahrzeug 3610 kann konfiguriert sein, um die dreidimensionalen Koordinaten für das nicht-semantische Straßenmerkmal 3940 an einen Server zu übertragen, wie etwa den vorstehend in Bezug auf 36 beschriebenen Server 3630. Das Fahrzeug 3610 kann die dreidimensionalen Koordinaten durch drahtlose Übertragung übertragen, wie durch die Pfeile 3632 angegeben. Der Server 3630 kann dazu konfiguriert sein, ein Straßennavigationsmodell basierend auf den empfangenen Koordinaten zu erzeugen und/oder zu aktualisieren. In einigen Ausführungsformen können Koordinaten für das nicht-semantische Straßenmerkmal 3940 von anderen Fahrzeugen, wie etwa dem Fahrzeug 3620, empfangen werden. Der Server 3630 kann Fahrtinformationen, die von den Fahrzeugen 3610 und 3620 empfangen werden, basierend auf den Koordinaten für das nicht-semantische Straßenmerkmal, die in den jeweiligen Fahrtinformationen enthalten sind, ausrichten, wie vorstehend ausführlicher beschrieben. In einigen Ausführungsformen können einige oder alle der vorstehend beschriebenen Schritte durch den Server 3630 durchgeführt werden. Zum Beispiel kann die Verarbeitungseinheit 3612 ein oder mehrere Bilder, die durch eine Bilderfassungsvorrichtung (oder zugeordnete Informationen) erfasst werden, an den Server 3630 übertragen, der die dreidimensionalen Koordinaten für Punkte bestimmen kann, die dem nicht-semantischen Straßenmerkmal 3940 zugeordnet sind.
  • 40 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 4000 zum Bestimmen von nicht semantischen Straßenmerkmal-Punkten zeigt, übereinstimmend mit offenbarten Ausführungsformen. Der Prozess 4000 kann zum Beispiel von der Verarbeitungseinheit 3612 des Fahrzeugs 3610 durchgeführt werden, wie vorstehend beschrieben. In anderen Ausführungsformen kann der Prozess 4000 ganz oder teilweise von einem Server, wie etwa dem Server 3630, durchgeführt werden. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die bei Ausführung durch einen Prozessor den Prozessor veranlassen, den Prozess 4000 durchzuführen.
  • Bei Schritt 4010 kann der Prozess 4000 das Empfangen einer Vielzahl von Bildern, die von einer Umgebung des Fahrzeugs aufgenommen wurden, von einer Kamera eines Fahrzeugs beinhalten. Zum Beispiel kann das Fahrzeug 3610 eine Vielzahl von Bildern unter Verwendung einer Bilderfassungsvorrichtung, wie etwa der Bilderfassungsvorrichtung 122, erfassen. Bei Schritt 4020 kann der Prozess 4000 das Analysieren eines ersten Bilds der Vielzahl von Bildern beinhalten, um ein nicht-semantisches Straßenmerkmal zu identifizieren, das im ersten Bild dargestellt ist. Zum Beispiel kann die Verarbeitungseinheit 3612 das Bild 3901 analysieren, um das nicht-semantische Straßenmerkmal 3940 zu identifizieren, das im Bild 3901 dargestellt ist. Wie vorstehend beschrieben, kann dies verschiedene Bildverarbeitungs- oder Objekterkennungstechniken beinhalten, wie etwa faltende neuronale Netze (convolutional neural networks - CNN), skaleninvariante Merkmalstransformation (scale-invariant feature transform - SIFT), Histogramm von Merkmalen mit orientierten Gradienten (histogram of oriented gradients - HOG) oder andere Techniken. Das nicht-semantische Straßenmerkmal kann ein Objekt beinhalten, das keinen erkannten Objekttyp aufweist. Dementsprechend kann das nicht-semantische Straßenmerkmal jedes der verschiedenen hierin bereitgestellten Beispiele beinhalten. Beispielsweise kann das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss, eine Rückseite eines Zeichens, ein Gebäude, einen Lichtmast, ein Werbeschild oder ein beliebiges anderes Merkmal beinhalten, das nicht mit einem vordefinierten Objekttyp assoziiert ist. Bei Schritt 4030 kann der Prozess 4000 ferner das Identifizieren eines ersten Bild-Orts, in dem ersten Bild, von mindestens einem Punkt beinhalten, der mit dem nicht-semantischen Straßenmerkmal assoziiert ist. Beispielsweise kann die Verarbeitungseinheit 3612 den Punkt 3942 des nicht-semantischen Straßenmerkmals 3940 detektieren. Der mindestens eine Punkt kann einen Eckpunkt, einen Randpunkt, einen Punkt auf einer Oberfläche oder einen beliebigen anderen Ort beinhalten, der in Bezug auf das nicht-semantische Straßenmerkmal detektiert werden kann.
  • Bei Schritt 4040 kann der Prozess 4000 das Analysieren eines zweiten Bilds der Vielzahl von Bildern beinhalten, um eine Repräsentation des nicht-semantischen Straßenmerkmals im zweiten Bild zu identifizieren. Beispielsweise kann die Verarbeitungseinheit 3612 das Bild 3902 analysieren, um das nicht-semantische Straßenmerkmal 3940 zu identifizieren, das im Bild 3902 dargestellt ist. Wie vorstehend beschrieben, kann das zweite Bild zu einem gewissen Zeitpunkt nach dem ersten Bild erfasst werden. Beispielsweise können das erste und das zweite Bild aufeinanderfolgende Bilder sein, die von einer Bilderfassungsvorrichtung erfasst werden. In anderen Ausführungsformen können das erste und das zweite Bild zur gleichen Zeit erfasst werden, beispielsweise durch separate Bilderfassungsvorrichtungen. In einigen Ausführungsformen können die erste und die zweite Bilderfassungsvorrichtung ein stereoskopisches Paar bilden. Bei Schritt 4050 kann der Prozess 4000 das Identifizieren eines zweiten Bild-Orts, im zweiten Bild, des mindestens einen Punkts beinhalten, der mit dem nicht-semantischen Straßenmerkmal assoziiert ist. Beispielsweise kann die Verarbeitungseinheit 3612 den zweiten Bild-Ort 3944 innerhalb des Bilds 3902 identifizieren.
  • Bei Schritt 4060 kann der Prozess 4000 das Bestimmen dreidimensionaler Koordinaten für den mindestens einen Punkt beinhalten, der mit dem nicht-semantischen Straßenmerkmal assoziiert ist. In einigen Ausführungsformen können die dreidimensionalen Koordinaten auf einer Differenz zwischen dem ersten und dem zweiten Bild-Ort basieren. Beispielsweise können die dreidimensionalen Koordinaten zumindest teilweise basierend auf der Differenz 3950 zwischen den Punkten 3942 und 3944 bestimmt werden. In einigen Ausführungsformen können die dreidimensionalen Koordinaten ferner auf Bewegungsinformationen für das Fahrzeug zwischen einer Aufnahme des ersten Bilds und einer Aufnahme des zweiten Bilds basieren. Beispielsweise verwendet die Verarbeitungseinheit 3612 GPS-Daten, Sensordaten (z. B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Daten, um Koordinaten für den mindestens einen Punkt zu bestimmen, der mit dem nicht-semantischen Straßenmerkmal assoziiert ist.
  • In einigen Ausführungsformen können die dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, relativ zu einem Ursprung sein, der einem Ort der Kamera entspricht. Mit anderen Worten können die dreidimensionalen Koordinaten auf einem dreidimensionalen Koordinatenrahmen basieren, der von der Bilderfassungsvorrichtung stammt. Realwelt-Koordinaten des mindestens einen Punkts können dann basierend auf einer Realwelt-Position der Kamera bestimmt werden, die basierend auf GPS oder anderen Ortsinformationen des Fahrzeugs bestimmt werden kann. Wie vorstehend beschrieben, können die dreidimensionalen Koordinaten in verschiedenen Positionen relativ zum nicht-semantischen Straßenmerkmal lokalisiert werden. So können beispielsweise die dreidimensionalen Koordinaten an einer Ecke des nicht-semantischen Straßenmerkmals, an einer Kante des nicht-semantischen Straßenmerkmals, auf einer Oberfläche des nicht-semantischen Straßenmerkmals oder an verschiedenen anderen Orten lokalisiert werden.
  • In einigen Ausführungsformen kann der Ort der dreidimensionalen Koordinaten vom Typ des nicht-semantischen Straßenmerkmals abhängen, das identifiziert wird. So kann beispielsweise in einigen Ausführungsformen das nicht-semantische Straßenmerkmal eine Rückseite eines Zeichens sein und die dreidimensionalen Koordinaten können sich auf einer Oberfläche der Rückseite des Zeichens befinden. Die dreidimensionalen Koordinaten können sich ebenfalls auf einer Ecke des Zeichens, auf einer Kante des Zeichens, auf einer Ecke des Wegweisers, auf einer Kante des Wegweisers, in einer Mitte des Zeichens oder Wegweisers usw. befinden. Als weiteres Beispiel kann das nicht-semantische Straßenmerkmal ein Gebäude sein und die dreidimensionalen Koordinaten können sich auf einer Oberfläche des Gebäudes befinden. In diesem Beispiel können sich die dreidimensionalen Koordinaten an einer Ecke des Gebäudes, einer Kante des Gebäudes, auf einem Merkmal des Gebäudes, wie beispielsweise einer Tür, einem Fenster, einem Geschäftsschild oder dergleichen, befinden. Als noch weiteres Beispiel kann das nicht-semantische Straßenmerkmal ein Lichtmast (light post) sein und die dreidimensionalen Koordinaten können sich auf einer Oberfläche des Lichtmasts, einer Kante des Lichtmasts, einem Ende des Lichtmasts usw. befinden. Als weiteres Beispiel kann das nicht-semantische Straßenmerkmal ein Schlagloch sein und die dreidimensionalen Koordinaten können sich an einer Kante des Schlaglochs, einer Mitte des Schlaglochs, einer Ecke des Schlaglochs oder dergleichen befinden.
  • Bei Schritt 4070 kann der Prozess 4000 das Senden der dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells beinhalten. So kann beispielsweise die Verarbeitungseinheit 3612 die dreidimensionalen Koordinaten durch eine drahtlose Übertragung an den Server 3630 übertragen. In einigen Ausführungsformen kann der Server konfiguriert sein, um die dreidimensionalen Koordinaten, die vom Fahrzeug gesendet werden, mit dreidimensionalen Koordinaten für mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, das von mindestens einem anderen Fahrzeug gesendet wird, zu korrelieren. So kann beispielsweise der Server 3630 zusätzliche dreidimensionale Koordinaten für das nicht-semantische Straßenmerkmal vom Fahrzeug 3620 empfangen. Der Server 3630 kann Fahrtinformationen, die von den Fahrzeugen 3610 und 3620 empfangen werden, basierend auf den jeweiligen dreidimensionalen Koordinaten, die von jedem Fahrzeug empfangen werden, ausrichten. In einigen Ausführungsformen kann die Korrelation auf den vorstehend beschriebenen Prozessen basieren, wie beispielsweise dem Prozess 3800.
  • Die vorstehende Beschreibung wurde zur Veranschaulichung vorgelegt. Sie ist nicht erschöpfend und nicht auf die genauen Formen oder Ausführungsformen beschränkt, die offenbart werden. Modifikationen und Anpassungen werden dem Fachmann aus der Berücksichtigung der Spezifikation und der Praxis der offenbarten Ausführungsformen ersichtlich sein. Zusätzlich wird ein Fachmann, obwohl Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben werden, verstehen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien gespeichert werden können, wie etwa sekundären Speichervorrichtungen, zum Beispiel Festplatten oder CD-ROM, oder anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-ray oder anderen optischen Laufwerken.
  • Computerprogramme basierend auf der schriftlichen Beschreibung und den offenbarten Verfahren liegen im Kompetenzbereich eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung einer beliebigen der Techniken erstellt werden, die einem Fachmann bekannt sind, oder können in Verbindung mit vorhandener Software entworfen werden. Zum Beispiel können Programmabschnitte oder Programmmodule in oder mittels.Net Framework,.Net Compact Framework (und verwandten Sprachen, wie etwa Visual Basic, C usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit eingeschlossenen Java-Applets entworfen werden.
  • Darüber hinaus versteht es sich, dass, während veranschaulichende Ausführungsformen hierin beschrieben wurden, der Umfang von beliebigen und allen Ausführungsformen äquivalente Elemente, Modifikationen, Auslassungen, Kombinationen (z. B. von Aspekten über verschiedene Ausführungsformen hinweg), Anpassungen und/oder Änderungen aufweist, wie für einen Fachmann basierend auf der vorliegenden Offenbarung ersichtlich ist. Die Einschränkungen in den Ansprüchen sind breit basierend auf der in den Ansprüchen verwendeten Sprache und nicht beschränkt auf in der vorliegenden Spezifikation oder während dem Erteilungsverfahren der Anmeldung beschriebene Beispiele zu interpretieren. Die Beispiele sind als nicht ausschließlich auszulegen. Darüber hinaus können die Schritte der offenbarten Verfahren auf beliebige Weise modifiziert werden, einschließlich durch Neuordnungsschritte und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Spezifikation und die Beispiele nur als veranschaulichend betrachtet werden, wobei ein wahrer Umfang und Geist durch die folgenden Ansprüche und deren vollständigen Umfang von Äquivalenten angegeben wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/805646 [0001]
    • US 62/813403 [0001]

Claims (110)

  1. Navigationssystem für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer Kamera des Host-Fahrzeugs, eines oder mehrerer Bilder, die von einer Umgebung des Host-Fahrzeugs erfasst wurden, Analysieren des einen oder der mehreren Bilder, um einen Indikator einer Kreuzung zu erkennen; Bestimmen, basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, eines Halteorts des Host-Fahrzeugs relativ zu der erkannten Kreuzung; Analysieren des einen oder der mehreren Bilder, um einen Indikator zu bestimmen, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, und Senden des Halteorts des Host-Fahrzeugs und des Indikators, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells.
  2. System nach Anspruch 1, wobei der mindestens eine Sensor eine globale Positionsbestimmungssystem(GPS)-Vorrichtung, einen Geschwindigkeitssensor, einen Beschleunigungsmesser oder einen Aufhängungssensor beinhaltet.
  3. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, während das Host-Fahrzeug an dem Halteort angehalten wird.
  4. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, bevor das Host-Fahrzeug den Halteort erreicht.
  5. System nach Anspruch 4, wobei das eine oder die mehreren Bilder während eines vorbestimmten Zeitschwellenwerts erfasst werden, bevor das Host-Fahrzeug den Halteort erreicht.
  6. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, nachdem das Host-Fahrzeug den Halteort erreicht hat.
  7. System nach Anspruch 1, wobei der Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, anzeigt, dass sich ein anderes Fahrzeug innerhalb eines vorbestimmten Schwellenabstands vor dem Host-Fahrzeug befindet.
  8. System nach Anspruch 1, wobei der Indikator, ob sich ein oder mehrere andere Fahrzeuge vor dem Host-Fahrzeug befinden, anzeigt, dass sich keine anderen Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands vor dem Host-Fahrzeug befinden.
  9. System nach Anspruch 1, wobei der Indikator der Kreuzung mindestens eines von einer Straßenmarkierung, einer Ampel, einem Stoppschild, einem Zebrastreifen oder einem anderen Fahrzeug, das vor dem Host-Fahrzeug überquert, beinhaltet.
  10. System nach Anspruch 9, wobei der Indikator der Kreuzung eine Straßenmarkierung beinhaltet, wobei die Straßenmarkierung eine Fahrspurmarkierung oder eine Abbiegespurmarkierung beinhaltet.
  11. System nach Anspruch 1, wobei der Indikator der Kreuzung ein anderes Fahrzeug beinhaltet, das vor dem Host-Fahrzeug überquert.
  12. System zum Aktualisieren eines Straßennavigationsmodells für ein Straßensegment, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen von Fahrinformationen von jedem von einer Vielzahl von Fahrzeugen, wobei die Fahrinformationen einen Halteort beinhalten, an dem ein bestimmtes Fahrzeug aus der Vielzahl von Fahrzeugen während einer Fahrt entlang des Straßensegments relativ zu einer Kreuzung angehalten hat; Aggregieren der Halteorte in den von der Vielzahl von Fahrzeugen empfangenen Fahrinformationen; Bestimmen, basierend auf den aggregierten Halteorten, eines Haltelinienorts relativ zu der Kreuzung; und Aktualisieren des Straßennavigationsmodells, um den Haltelinienort zu beinhalten.
  13. System nach Anspruch 12, wobei eine Oberfläche des Straßensegments, die dem Haltelinienort entspricht, frei von Markierungen ist, die angeben, wo Fahrzeuge relativ zu der Kreuzung anhalten sollten.
  14. System nach Anspruch 12, wobei das Aggregieren der Halteorte das Eliminieren mindestens eines von einem der Vielzahl von Fahrzeugen empfangenen Halteorts basierend darauf beinhaltet, dass der mindestens eine Halteort größer als ein vorbestimmter Schwellenabstand von mindestens einem anderen von einem anderen der Vielzahl von Fahrzeugen empfangenen Halteort entfernt ist.
  15. System nach Anspruch 12, wobei das Aggregieren der Halteorte das Eliminieren eines bestimmten Halteorts, der von einem bestimmten der Vielzahl von Fahrzeugen empfangen wurde, basierend auf einer Anzeige beinhaltet, dass sich mindestens ein anderes Fahrzeug zwischen der Kreuzung und dem bestimmten Halteort des bestimmten der Vielzahl von Fahrzeugen aufgehalten hat.
  16. System nach Anspruch 15, wobei die von einem bestimmten der Vielzahl von Fahrzeugen empfangenen Fahrinformationen den Indikator beinhalten.
  17. System nach Anspruch 15, wobei der Indikator basierend auf der Analyse mindestens eines Bilds bestimmt wurde, das von einer Kamera an Bord des bestimmten der Vielzahl von Fahrzeugen erfasst wurde.
  18. System nach Anspruch 12, wobei der mindestens eine Prozessor ferner konfiguriert ist, um das aktualisierte Straßennavigationsmodell an mindestens ein Fahrzeug zu verteilen.
  19. Navigationssystem für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer Kamera des Host-Fahrzeugs, eines oder mehrerer Bilder, die von einer Umgebung des Host-Fahrzeugs erfasst wurden, Erkennen eines Indikators einer Kreuzung in einer Umgebung des Host-Fahrzeugs, wobei eine Oberfläche des Straßensegments in einer Fahrspur vor dem Host-Fahrzeug keine Markierungen beinhaltet, die einen Ort zum Anhalten anzeigen; Empfangen von Karteninformationen, die einen Haltelinienort relativ zu der Kreuzung beinhalten; und Veranlassen, basierend auf dem Haltelinienort relativ zu der Kreuzung, dass das Host-Fahrzeug mindestens eine Navigationsaktion relativ zu der Kreuzung durchführt.
  20. System nach Anspruch 19, wobei das Erkennen des Indikators in der Umgebung des Host-Fahrzeugs beinhaltet: Empfangen, von einer Kamera des Host-Fahrzeugs, eines oder mehrerer Bilder, die von der Umgebung des Host-Fahrzeugs erfasst wurden; und Analysieren des einen oder der mehreren Bilder, um den Indikator der Kreuzung in der Umgebung des Host-Fahrzeugs zu erkennen.
  21. System nach Anspruch 19, wobei die mindestens eine Navigationsaktion das Bremsen und Anhalten des Host-Fahrzeugs vor dem Erreichen des Haltelinienorts beinhaltet.
  22. System nach Anspruch 19, wobei der Indikator der Kreuzung mindestens eines von einer Straßenmarkierung, einer Ampel, einem Stoppschild, einem Zebrastreifen oder einem anderen Fahrzeug, das vor dem Host-Fahrzeug überquert, beinhaltet.
  23. System nach Anspruch 22, wobei der Indikator der Kreuzung eine Straßenmarkierung beinhaltet, wobei die Straßenmarkierung eine Fahrspurmarkierung oder eine Abbiegespurmarkierung beinhaltet.
  24. Navigationssystem für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen, von einer Kamera des Host-Fahrzeugs, eines oder mehrerer Bilder, die von einer Umgebung des Host-Fahrzeugs erfasst wurden; Analysieren des einen oder der mehreren Bilder, um einen Indikator einer Kreuzung zu erkennen; Bestimmen, basierend auf Ausgabe, die von mindestens einem Sensor des Host-Fahrzeugs empfangen wurde, eines Halteorts des Host-Fahrzeugs relativ zu der erkannten Kreuzung; Bestimmen, basierend auf einer Analyse des einen oder der mehreren Bilder, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden, und basierend auf der Bestimmung, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden, Senden des Halteorts des Host-Fahrzeugs an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells.
  25. System nach Anspruch 24, wobei der mindestens eine Sensor eine globale Positionsbestimmungssystem(GPS)-Vorrichtung, einen Geschwindigkeitssensor, einen Beschleunigungsmesser oder einen Aufhängungssensor beinhaltet.
  26. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, während das Host-Fahrzeug an dem Halteort angehalten wird.
  27. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, bevor das Host-Fahrzeug den Halteort erreicht.
  28. System nach Anspruch 4, wobei das eine oder die mehreren Bilder während eines vorbestimmten Zeitschwellenwerts erfasst werden, bevor das Host-Fahrzeug den Halteort erreicht.
  29. System nach Anspruch 1, wobei das eine oder die mehreren Bilder erfasst werden, nachdem das Host-Fahrzeug den Halteort erreicht hat.
  30. System nach Anspruch 1, wobei das Bestimmen, dass sich keine Fahrzeuge vor dem Host-Fahrzeug befinden, das Bestimmen umfasst, dass sich keine Fahrzeuge innerhalb eines vorbestimmten Schwellenabstands vor dem Host-Fahrzeug befinden.
  31. System zum Erzeugen von Karteninformationen, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen eines ersten Bilds von einem ersten Fahrzeug, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde; Empfangen eines zweiten Bilds von einem zweiten Fahrzeug, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments erfasst wurde; Analysieren des ersten und des zweiten Bilds, um Repräsentationen einer Vielzahl von Objekten zu identifizieren, wobei die Objekte zu mindestens einer vorbestimmten Kategorie von Objekten gehören; Analysieren des ersten und des zweiten Bilds, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen; Korrelieren der Positionsindikatoren für jedes der Vielzahl von Objekten, wobei das Korrelieren das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhaltet; und Erzeugen, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, einer Karte, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  32. System nach Anspruch 31, wobei der mindestens eine Prozessor ferner programmiert ist, um die erzeugte Karte an eine externe Entität zu übertragen.
  33. System nach Anspruch 32, wobei die externe Entität eine Gemeinde beinhaltet.
  34. System nach Anspruch 31, wobei die bestimmte vorbestimmte Kategorie von Objekten Infrastrukturobjekte beinhaltet.
  35. System nach Anspruch 34, wobei die Infrastrukturobjekte Schachtabdeckungen beinhalten.
  36. System nach Anspruch 34, wobei die Infrastrukturobjekte Ampeln beinhalten.
  37. System nach Anspruch 34, wobei die Infrastrukturobjekte Versorgerkästen beinhalten.
  38. System nach Anspruch 34, wobei die Infrastrukturobjekte Bushaltestellen beinhalten.
  39. System nach Anspruch 34, wobei die Infrastrukturobjekte Kanalisationseingänge beinhalten.
  40. System nach Anspruch 31, wobei die Karte eine erste Schicht, die Objekten eines ersten Objekttyps zugeordnet ist, und eine zweite Schicht, die einem zweiten Objekttyp zugeordnet ist, beinhaltet.
  41. Computerimplementiertes Verfahren zum Erzeugen von Karteninformationen, umfassend: Empfangen eines ersten Bilds von einem ersten Fahrzeug, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde; Empfangen eines zweiten Bilds von einem zweiten Fahrzeug, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments erfasst wurde; Analysieren des ersten und des zweiten Bilds, um Repräsentationen einer Vielzahl von Objekten zu identifizieren, wobei die Objekte zu mindestens einer vorbestimmten Kategorie von Objekten gehören; Analysieren des ersten und des zweiten Bilds, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen; Korrelieren der Positionsindikatoren für jedes der Vielzahl von Objekten, wobei das Korrelieren das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhaltet; und Erzeugen, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, einer Karte, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  42. Verfahren nach Anspruch 41, wobei der mindestens eine Prozessor ferner programmiert ist, um die erzeugte Karte an eine externe Entität zu übertragen.
  43. Verfahren nach Anspruch 42, wobei die externe Entität eine Gemeinde beinhaltet.
  44. Verfahren nach Anspruch 41, wobei die bestimmte vorbestimmte Kategorie von Objekten Infrastrukturobjekte beinhaltet.
  45. Verfahren nach Anspruch 44, wobei die Infrastrukturobjekte Schachtabdeckungen beinhalten.
  46. Verfahren nach Anspruch 44, wobei die Infrastrukturobjekte Ampeln beinhalten.
  47. Verfahren nach Anspruch 44, wobei die Infrastrukturobjekte Versorgerkästen beinhalten.
  48. Verfahren nach Anspruch 44, wobei die Infrastrukturobjekte Bushaltestellen beinhalten.
  49. Verfahren nach Anspruch 41, wobei die Karte eine erste Schicht, die Objekten eines ersten Objekttyps zugeordnet ist, und eine zweite Schicht, die einem zweiten Objekttyp zugeordnet ist, beinhaltet.
  50. Nichtflüchtiges computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch mindestens einen Prozessor dazu konfiguriert sind, mindestens einen Prozessor zu Folgendem zu veranlassen: Empfangen eines ersten Bilds von einem ersten Fahrzeug, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts eines Straßensegments erfasst wurde; Empfangen eines zweiten Bilds von einem zweiten Fahrzeug, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des Straßensegments erfasst wurde; Analysieren des ersten und des zweiten Bilds, um Repräsentationen einer Vielzahl von Objekten zu identifizieren, wobei die Objekte zu mindestens einer vorbestimmten Kategorie von Objekten gehören; Analysieren des ersten und des zweiten Bilds, um Positionsindikatoren für jedes der Vielzahl von Objekten relativ zum Straßensegment zu bestimmen; Korrelieren der Positionsindikatoren für jedes der Vielzahl von Objekten, wobei das Korrelieren das Bestimmen verfeinerter Positionen jedes Objekts basierend auf den bestimmten Positionsindikatoren beinhaltet; und Erzeugen, basierend auf den verfeinerten Positionen von Objekten, die zu einer bestimmten vorbestimmten Kategorie von Objekten gehören, einer Karte, die Repräsentationen der verfeinerten Positionen von einem oder mehreren der Vielzahl von Objekten beinhaltet, die zu der bestimmten vorbestimmten Kategorie von Objekten gehören.
  51. System zum Sammeln von Bedingungsinformationen, die mit einem Straßensegment assoziiert sind, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen mindestens einer Kennung, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist, wobei die mindestens eine Kennung basierend auf Folgendem bestimmt wird: Aufnehmen, von einer Kamera, die einem Host-Fahrzeug zugeordnet ist, von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt; Analysieren des mindestens einen Bilds, um die Bedingung in der Umgebung des Host-Fahrzeugs zu identifizieren, und Analysieren des mindestens einen Bilds, um die mindestens eine Kennung zu bestimmen, die der Bedingung zugeordnet ist; Aktualisieren eines Datenbankeintrags, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist; und Verteilen des Datenbankeintrags an mindestens eine Entität.
  52. System nach Anspruch 51, wobei die mindestens eine dynamische Charakteristik durch Analyse des mindestens einen Bilds identifiziert wird, das von der dem Host-Fahrzeug zugeordneten Kamera aufgenommen wird.
  53. System nach Anspruch 51, wobei die mindestens eine dynamische Charakteristik eine Positionscharakteristik beinhaltet.
  54. System nach Anspruch 51, wobei die mindestens eine dynamische Charakteristik eine zeitliche Charakteristik beinhaltet.
  55. System nach Anspruch 54, wobei die Bedingung eine oder mehrere Überkopfabzweigungen, einen Stau, ein Vorhandensein einer oder mehrerer Personen an einer Bushaltestelle oder ein Vorhandensein eines oder mehrerer Fahrräder in einer Fahrspur beinhaltet.
  56. System nach Anspruch 51, wobei die mindestens eine Kennung eine Position der Bedingung beinhaltet.
  57. System nach Anspruch 51, wobei die mindestens eine Kennung einen Abstand der Bedingung relativ zu einem Objekt beinhaltet.
  58. System nach Anspruch 51, wobei die mindestens eine Kennung einen Abstand der Bedingung relativ zu einem Ort beinhaltet.
  59. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Fußgängers beinhaltet, der über das Straßensegment geht.
  60. System nach Anspruch 59, wobei der Fußgänger auf einem Zebrastreifen geht.
  61. System nach Anspruch 59, wobei der Fußgänger nicht auf einem Zebrastreifen geht.
  62. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Bushaltestelleninsassen beinhaltet.
  63. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Fahrzeugs beinhaltet, das das Straßensegment befährt.
  64. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Busses beinhaltet, der das Straßensegment befährt.
  65. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Fahrrads beinhaltet, das das Straßensegment befährt.
  66. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein einer Baustelle beinhaltet.
  67. System nach Anspruch 51, wobei die Bedingung ein Vorhandensein eines Schlaglochs oder eines Risses im Straßensegment beinhaltet.
  68. System nach Anspruch 51, wobei der mindestens eine Prozessor ferner programmiert ist, um die mindestens eine Kennung, die der Bedingung zugeordnet ist, basierend auf Informationen zu aktualisieren, die von mindestens einem anderen Fahrzeug empfangen werden.
  69. System nach Anspruch 51, wobei die mindestens eine Entität eine Gemeinde beinhaltet.
  70. Computerimplementiertes Verfahren zum Sammeln von Bedingungsinformationen, die einem Straßensegment zugeordnet sind, umfassend: Empfangen mindestens einer Kennung, die einer Bedingung zugeordnet ist, die mindestens eine dynamische Eigenschaft aufweist, wobei die mindestens eine Kennung basierend auf Folgendem bestimmt wird: Aufnehmen, von einer Kamera, die einem Host-Fahrzeug zugeordnet ist, von mindestens einem Bild, das eine Umgebung des Host-Fahrzeugs darstellt; Analysieren des mindestens einen Bilds, um die Bedingung in der Umgebung des Host-Fahrzeugs zu identifizieren, und Analysieren des mindestens einen Bilds, um die mindestens eine Kennung zu bestimmen, die der Bedingung zugeordnet ist; Aktualisieren eines Datenbankeintrags, um die mindestens eine Kennung zu beinhalten, die der Bedingung zugeordnet ist; und Verteilen des Datenbankeintrags an mindestens eine Entität.
  71. System zum Korrelieren von Informationen, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen eines ersten Satzes von Fahrinformationen von einem ersten Fahrzeug, wobei der erste Satz von Fahrinformationen mindestens einen ersten Indikator einer Position, die einem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen zweiten Indikator einer Position, die einem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet, wobei die ersten und zweiten Positionsindikatoren basierend auf der Analyse von mindestens einem Bild bestimmt worden sind, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des gemeinsamen Straßensegments erfasst wurde; Empfangen eines zweiten Satzes von Fahrinformationen von einem zweiten Fahrzeug, wobei der zweite Satz von Fahrinformationen mindestens einen dritten Indikator einer Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen vierten Indikator einer Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet, wobei die dritten und vierten Positionsindikatoren basierend auf der Analyse von mindestens einem Bild bestimmt worden sind, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des zweiten Fahrzeugs entlang mindestens des Abschnitts des gemeinsamen Straßensegments erfasst wurde; Korrelieren der ersten und zweiten Sätze von Fahrinformationen, wobei das Korrelieren das Bestimmen einer verfeinerten Position des erkannten semantischen Straßenmerkmals basierend auf den ersten und dritten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und das Bestimmen einer verfeinerten Position des erkannten nicht-semantischen Straßenmerkmals basierend auf den zweiten und vierten Indikatoren der Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet; Speichern der verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer Karte; und Verteilen der Karte an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang dem gemeinsamen Straßensegment.
  72. System nach Anspruch 71, wobei die verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals relativ zu einem Koordinatensystem sind, das lokal zum gemeinsamen Straßensegment ist.
  73. System nach Anspruch 72, wobei das Koordinatensystem, das lokal zum gemeinsamen Straßensegment ist, auf einer Vielzahl von Bildern basiert, die von Kameras an Bord der Vielzahl von Fahrzeugen erfasst werden.
  74. System nach Anspruch 71, wobei das Korrelieren ferner das Anwenden eines Kurvenanpassungsalgorithmus auf den ersten Satz von Fahrinformationen und den zweiten Satz von Fahrinformationen beinhaltet.
  75. System nach Anspruch 71, wobei das semantische Straßenmerkmal ein Objekt beinhaltet, das einen erkannten Objekttyp aufweist.
  76. System nach Anspruch 71, wobei das semantische Straßenmerkmal eine Ampel, ein Stoppschild, ein Geschwindigkeitsbegrenzungszeichen, ein Warnschild, ein Richtungszeichen oder eine Fahrspur-Markierung beinhaltet.
  77. System nach Anspruch 71, wobei das nicht-semantische Straßenmerkmal ein Objekt beinhaltet, das keinen erkannten Objekttyp aufweist.
  78. System nach Anspruch 71, wobei das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss oder ein Werbeschild beinhaltet.
  79. Verfahren zum Korrelieren von Informationen, die von einer Vielzahl von Fahrzeugen relativ zu einem gemeinsamen Straßensegment gesammelt werden, wobei das Verfahren umfasst: Empfangen eines ersten Satzes von Fahrinformationen von einem ersten Fahrzeug, wobei der erste Satz von Fahrinformationen mindestens einen ersten Indikator einer Position, die einem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen zweiten Indikator einer Position, die einem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet, wobei die ersten und zweiten Positionsindikatoren basierend auf der Analyse von mindestens einem Bild bestimmt worden sind, das von einer Kamera des ersten Fahrzeugs während einer Fahrt des ersten Fahrzeugs entlang mindestens eines Abschnitts des gemeinsamen Straßensegments erfasst wurde; Empfangen eines zweiten Satzes von Fahrinformationen von einem zweiten Fahrzeug, wobei der zweite Satz von Fahrinformationen mindestens einen dritten Indikator einer Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und einen vierten Indikator einer Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet, wobei die dritten und vierten Positionsindikatoren basierend auf der Analyse von mindestens einem Bild bestimmt worden sind, das von einer Kamera des zweiten Fahrzeugs während einer Fahrt des zweiten Fahrzeugs entlang mindestens des Abschnitts des gemeinsamen Straßensegments erfasst wurde; Korrelieren der ersten und zweiten Sätze von Fahrinformationen, wobei das Korrelieren das Bestimmen einer verfeinerten Position des erkannten semantischen Straßenmerkmals basierend auf den ersten und dritten Indikatoren der Position, die dem erkannten semantischen Straßenmerkmal zugeordnet ist, und das Bestimmen einer verfeinerten Position des erkannten nicht-semantischen Straßenmerkmals basierend auf den zweiten und vierten Indikatoren der Position, die dem erkannten nicht-semantischen Straßenmerkmal zugeordnet ist, beinhaltet; Speichern der verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals in einer Karte; und Verteilen der Karte an ein oder mehrere Fahrzeuge zur Verwendung beim Navigieren des einen oder der mehreren Fahrzeuge entlang dem gemeinsamen Straßensegment.
  80. Verfahren nach Anspruch 79, wobei die verfeinerten Positionen des erkannten semantischen Straßenmerkmals und des erkannten nicht-semantischen Straßenmerkmals relativ zu einem Koordinatensystem sind, das lokal zum gemeinsamen Straßensegment ist.
  81. Verfahren nach Anspruch 80, wobei das Koordinatensystem, das lokal zum gemeinsamen Straßensegment ist, auf einer Vielzahl von Bildern basiert, die von Kameras an Bord der Vielzahl von Fahrzeugen erfasst werden.
  82. Verfahren nach Anspruch 79, wobei das Korrelieren ferner das Anwenden eines Kurvenanpassungsalgorithmus auf den ersten Satz von Fahrinformationen und den zweiten Satz von Fahrinformationen beinhaltet.
  83. Verfahren nach Anspruch 79, wobei das semantische Straßenmerkmal ein Objekt beinhaltet, das einen erkannten Objekttyp aufweist.
  84. Verfahren nach Anspruch 79, wobei das semantische Straßenmerkmal eine Ampel, ein Stoppschild, ein Geschwindigkeitsbegrenzungszeichen, ein Warnschild, ein Richtungszeichen oder eine Fahrspur-Markierung beinhaltet.
  85. Verfahren nach Anspruch 79, wobei das nicht-semantische Straßenmerkmal ein Objekt beinhaltet, das keinen erkannten Objekttyp aufweist.
  86. Verfahren nach Anspruch 79, wobei das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss oder ein Werbeschild beinhaltet.
  87. Navigationssystem für ein Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der programmiert ist zum: Empfangen einer Vielzahl von Bildern, die von einer Umgebung des Fahrzeugs erfasst wurden, von einer Kamera des Fahrzeugs; Analysieren eines ersten Bilds der Vielzahl von Bildern, um ein nicht-semantisches Straßenmerkmal zu identifizieren, das in dem ersten Bild dargestellt ist; Identifizieren eines ersten Bild-Orts in dem ersten Bild von mindestens einem Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist; Analysieren eines zweiten Bilds der Vielzahl von Bildern, um eine Repräsentation des nicht-semantischen Straßenmerkmals in dem zweiten Bild zu identifizieren, Identifizieren eines zweiten Bild-Orts in dem zweiten Bild des mindestens einen Punkts, der dem nicht-semantischen Straßenmerkmal zugeordnet ist; Bestimmen von dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, basierend auf einer Differenz zwischen dem ersten und zweiten Bild-Ort und basierend auf Bewegungsinformationen für das Fahrzeug zwischen einer Aufnahme des ersten Bilds und einer Aufnahme des zweiten Bilds; und Senden der dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells.
  88. Navigationssystem nach Anspruch 87, wobei die dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, relativ zu einem Ursprung sind, der einem Ort der Kamera entspricht.
  89. Navigationssystem nach Anspruch 87, wobei der Server konfiguriert ist, um die dreidimensionalen Koordinaten, die vom Fahrzeug gesendet werden, mit dreidimensionalen Koordinaten für mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, das von mindestens einem anderen Fahrzeug gesendet wird, zu korrelieren.
  90. Navigationssystem nach Anspruch 87, wobei die dreidimensionalen Koordinaten an einer Ecke des nicht-semantischen Straßenmerkmals lokalisiert sind.
  91. Navigationssystem nach Anspruch 87, wobei die dreidimensionalen Koordinaten an einer Kante des nicht-semantischen Straßenmerkmals lokalisiert sind.
  92. Navigationssystem nach Anspruch 87, wobei die dreidimensionalen Koordinaten auf einer Oberfläche des nicht-semantischen Straßenmerkmals lokalisiert sind.
  93. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal eine Rückseite eines Zeichens ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche der Rückseite des Zeichens befinden.
  94. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal ein Gebäude ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche des Gebäudes befinden.
  95. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal ein Lichtmast ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche des Lichtmasts befinden.
  96. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal ein Schlagloch ist und die dreidimensionalen Koordinaten sich an einer Kante des Schlaglochs befinden.
  97. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal ein Objekt beinhaltet, das keinen erkannten Objekttyp aufweist.
  98. Navigationssystem nach Anspruch 87, wobei das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss, eine Rückseite eines Zeichens, ein Gebäude, einen Lichtmast oder ein Werbeschild beinhaltet.
  99. Verfahren zum Navigieren eines Fahrzeugs, wobei das Verfahren umfasst: Empfangen einer Vielzahl von Bildern, die von einer Umgebung des Fahrzeugs erfasst wurden, von einer Kamera des Fahrzeugs; Analysieren eines ersten Bilds der Vielzahl von Bildern, um ein nicht-semantisches Straßenmerkmal zu identifizieren, das in dem ersten Bild dargestellt ist; Identifizieren eines ersten Bild-Orts in dem ersten Bild von mindestens einem Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist; Analysieren eines zweiten Bilds der Vielzahl von Bildern, um eine Repräsentation des nicht-semantischen Straßenmerkmals in dem zweiten Bild zu identifizieren; Identifizieren eines zweiten Bild-Orts in dem zweiten Bild des mindestens einen Punkts, der dem nicht-semantischen Straßenmerkmal zugeordnet ist; Bestimmen von dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, basierend auf einer Differenz zwischen dem ersten und zweiten Bild-Ort und basierend auf Bewegungsinformationen für das Fahrzeug zwischen einer Aufnahme des ersten Bilds und einer Aufnahme des zweiten Bilds; und Senden der dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, an einen Server zur Verwendung beim Aktualisieren eines Straßennavigationsmodells.
  100. Verfahren nach Anspruch 99, wobei die dreidimensionalen Koordinaten für den mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, relativ zu einem Ursprung sind, der einem Ort der Kamera entspricht.
  101. Verfahren nach Anspruch 99, wobei der Server konfiguriert ist, um die dreidimensionalen Koordinaten, die von dem Fahrzeug gesendet werden, mit dreidimensionalen Koordinaten für mindestens einen Punkt, der dem nicht-semantischen Straßenmerkmal zugeordnet ist, das von mindestens einem anderen Fahrzeug gesendet wird, zu korrelieren.
  102. Verfahren nach Anspruch 99, wobei die dreidimensionalen Koordinaten an einer Ecke des nicht-semantischen Straßenmerkmals lokalisiert sind.
  103. Verfahren nach Anspruch 99, wobei die dreidimensionalen Koordinaten an einer Kante des nicht-semantischen Straßenmerkmals lokalisiert sind.
  104. Verfahren nach Anspruch 99, wobei die dreidimensionalen Koordinaten auf einer Oberfläche des nicht-semantischen Straßenmerkmals lokalisiert sind.
  105. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal eine Rückseite eines Zeichens ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche der Rückseite des Zeichens befinden.
  106. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal ein Gebäude ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche des Gebäudes befinden.
  107. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal ein Lichtmast ist und die dreidimensionalen Koordinaten sich auf einer Oberfläche des Lichtmasts befinden.
  108. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal ein Schlagloch ist und die dreidimensionalen Koordinaten sich an einer Kante des Schlaglochs befinden.
  109. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal ein Objekt beinhaltet, das keinen erkannten Objekttyp aufweist.
  110. Verfahren nach Anspruch 99, wobei das nicht-semantische Straßenmerkmal ein Schlagloch, einen Straßenriss, eine Rückseite eines Zeichens, ein Gebäude, einen Lichtmast oder ein Werbeschild beinhaltet.
DE112020000821.5T 2019-02-14 2020-02-14 Systeme und verfahren zur fahrzeugnavigation Pending DE112020000821T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962805646P 2019-02-14 2019-02-14
US62/805,646 2019-02-14
US201962813403P 2019-03-04 2019-03-04
US62/813,403 2019-03-04
PCT/IB2020/000115 WO2020165650A2 (en) 2019-02-14 2020-02-14 Systems and methods for vehicle navigation

Publications (1)

Publication Number Publication Date
DE112020000821T5 true DE112020000821T5 (de) 2021-11-04

Family

ID=70189991

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000821.5T Pending DE112020000821T5 (de) 2019-02-14 2020-02-14 Systeme und verfahren zur fahrzeugnavigation

Country Status (5)

Country Link
US (4) US20210364319A1 (de)
CN (5) CN114207381A (de)
DE (1) DE112020000821T5 (de)
GB (7) GB2622969A (de)
WO (1) WO2020165650A2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6838522B2 (ja) * 2017-08-10 2021-03-03 トヨタ自動車株式会社 画像収集システム、画像収集方法、画像収集装置、および記録媒体
US11410557B2 (en) * 2018-03-22 2022-08-09 Hitachi Astemo, Ltd. Parking assistance device
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
US11294070B2 (en) * 2019-11-29 2022-04-05 Ai4 International Oy Method and system for correcting errors in location data
US11352023B2 (en) 2020-07-01 2022-06-07 May Mobility, Inc. Method and system for dynamically curating autonomous vehicle policies
JP7354952B2 (ja) * 2020-07-14 2023-10-03 トヨタ自動車株式会社 情報処理装置、情報処理方法、およびプログラム
US20220176943A1 (en) * 2020-12-07 2022-06-09 Ford Global Technologies, Llc Detecting vehicle presence at a site
US20220185331A1 (en) * 2020-12-11 2022-06-16 Zoox, Inc. Calibration based on semantic objects
CN113008260B (zh) * 2021-03-26 2024-03-22 上海商汤临港智能科技有限公司 一种导航信息处理方法、装置、电子设备及存储介质
US11472436B1 (en) 2021-04-02 2022-10-18 May Mobility, Inc Method and system for operating an autonomous agent with incomplete environmental information
US11565717B2 (en) * 2021-06-02 2023-01-31 May Mobility, Inc. Method and system for remote assistance of an autonomous agent
US20220397420A1 (en) * 2021-06-15 2022-12-15 Here Global B.V. Method and apparatus for providing an updated map model
JP2023013304A (ja) * 2021-07-15 2023-01-26 株式会社Subaru 車両制御システム
JP2023019930A (ja) * 2021-07-30 2023-02-09 キヤノン株式会社 情報処理装置、移動体、情報処理装置の制御方法およびプログラム
US20230092861A1 (en) * 2021-09-20 2023-03-23 GM Global Technology Operations LLC Communication-based vehicle safety message generation and processing
US11858420B2 (en) * 2021-11-29 2024-01-02 Texas Instruments Incorporated Below vehicle rendering for surround view systems
US20230166759A1 (en) * 2021-12-01 2023-06-01 Toyota Research Institute, Inc. Systems and methods for improving localization accuracy by sharing dynamic object localization information
KR102431122B1 (ko) * 2021-12-30 2022-08-10 주식회사 버넥트 맵 타겟 추적 방법 및 그 시스템
WO2023154568A1 (en) 2022-02-14 2023-08-17 May Mobility, Inc. Method and system for conditional operation of an autonomous agent
GB202207744D0 (en) * 2022-05-26 2022-07-13 Pro Sight Vision Object detection system and a method of use thereof
CN116189133B (zh) * 2023-04-26 2023-07-28 宜宾闪马智通科技有限公司 道路巡检判定方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5218458B2 (ja) * 2010-03-23 2013-06-26 株式会社デンソー 車両接近報知システム
SE538984C2 (sv) * 2013-07-18 2017-03-14 Scania Cv Ab Fastställande av körfältsposition
EP3736732A1 (de) * 2014-01-30 2020-11-11 Mobileye Vision Technologies Ltd. Systeme und verfahren zur detektion des endes einer fahrspur
US9892296B2 (en) * 2014-11-12 2018-02-13 Joseph E. Kovarik Method and system for autonomous vehicles
EP3845426A1 (de) * 2015-02-10 2021-07-07 Mobileye Vision Technologies Ltd. Spärliche karte für autonome fahrzeugnavigation
US9550495B2 (en) * 2015-03-27 2017-01-24 Intel Corporation Technologies for assisting vehicles with changing road conditions
WO2016179303A1 (en) * 2015-05-04 2016-11-10 Kamama, Inc. System and method of vehicle sensor management
US20160363647A1 (en) * 2015-06-15 2016-12-15 GM Global Technology Operations LLC Vehicle positioning in intersection using visual cues, stationary objects, and gps
US10395126B2 (en) * 2015-08-11 2019-08-27 Honda Motor Co., Ltd. Sign based localization
EP3130891B1 (de) * 2015-08-11 2018-01-03 Continental Automotive GmbH Verfahren zur aktualisierung einer präzisionsstrassendatenbank auf einem server
US9630619B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
DE102016205436A1 (de) * 2015-11-25 2017-06-01 Volkswagen Aktiengesellschaft Verfahren und System zum Erstellen einer digitalen Karte
US10325339B2 (en) * 2016-04-26 2019-06-18 Qualcomm Incorporated Method and device for capturing image of traffic sign
US11721205B2 (en) * 2016-06-13 2023-08-08 Here Global B.V. Method, apparatus, and computer program product for processing sensor data
US20190271550A1 (en) * 2016-07-21 2019-09-05 Intelligent Technologies International, Inc. System and Method for Creating, Updating, and Using Maps Generated by Probe Vehicles
US10558222B2 (en) * 2016-07-21 2020-02-11 Mobileye Vision Technologies Ltd. Navigating a vehicle using a crowdsourced sparse map
US9940729B1 (en) * 2016-11-18 2018-04-10 Here Global B.V. Detection of invariant features for localization
KR102618443B1 (ko) * 2016-12-09 2023-12-27 톰톰 글로벌 콘텐트 비.브이. 비디오 기반 위치결정 및 매핑을 위한 방법 및 시스템
US10261513B2 (en) * 2016-12-19 2019-04-16 drive.ai Inc. Methods for communicating state, intent, and context of an autonomous vehicle
CN110087939A (zh) * 2016-12-22 2019-08-02 本田技研工业株式会社 车辆控制系统、车辆控制方法及车辆控制程序
CN111542860A (zh) * 2016-12-30 2020-08-14 迪普迈普有限公司 用于自主车辆的高清地图的标志和车道创建
US11254329B2 (en) * 2017-04-24 2022-02-22 Mobileye Vision Technologies Ltd. Systems and methods for compression of lane data
JP7098883B2 (ja) * 2017-05-24 2022-07-12 日産自動車株式会社 車両の制御方法及び装置
WO2019000417A1 (en) * 2017-06-30 2019-01-03 SZ DJI Technology Co., Ltd. SYSTEMS AND METHODS OF GENERATING CARDS
US10955842B2 (en) * 2018-05-24 2021-03-23 GM Global Technology Operations LLC Control systems, control methods and controllers for an autonomous vehicle
WO2020066505A1 (ja) * 2018-09-25 2020-04-02 日立オートモティブシステムズ株式会社 認識装置

Also Published As

Publication number Publication date
CN114207381A (zh) 2022-03-18
CN115014383A (zh) 2022-09-06
US20210372808A1 (en) 2021-12-02
CN115031743A (zh) 2022-09-09
GB2620695A (en) 2024-01-17
WO2020165650A2 (en) 2020-08-20
GB2596940A (en) 2022-01-12
US20210365701A1 (en) 2021-11-25
US11940290B2 (en) 2024-03-26
WO2020165650A3 (en) 2020-09-24
US20210374435A1 (en) 2021-12-02
GB202113027D0 (en) 2021-10-27
CN115143987A (zh) 2022-10-04
US11953340B2 (en) 2024-04-09
GB2621722A (en) 2024-02-21
CN115014370A (zh) 2022-09-06
GB2621033A (en) 2024-01-31
GB2622490A (en) 2024-03-20
GB202318706D0 (en) 2024-01-24
GB2622970A (en) 2024-04-03
US20210364319A1 (en) 2021-11-25
GB2596940B (en) 2024-04-17
GB202318707D0 (en) 2024-01-24
GB2622969A (en) 2024-04-03

Similar Documents

Publication Publication Date Title
DE112020000821T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
DE112021000146T5 (de) Systeme und verfahren zur erkennung von radschlupf bei fahrzeugen
DE112021002014T5 (de) Regelkreis zum navigieren eines fahrzeugs
DE102022128968A1 (de) Systeme und verfahren zum sammeln von bildern zur fahrzeugnavigation
DE102022131626A1 (de) Bidirektionale wegoptimierung in einem gitter

Legal Events

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

Owner name: MOBILEYE VISION TECHNOLOGIES LTD., IL

Free format text: FORMER OWNERS: ABRAMSON, JONATHAN, JERUSALEM, IL; BEN SHALOM, ITAI, MAZKERET BATYA, IL; BRAUNSTEIN, DANIEL, TZUR HADASSAH, IL; COHEN MASLATON, RAZ, MEVASERET ZION, IL; ESHET, TOMER, JERUSALEM, IL; MOBILEYE VISION TECHNOLOGIES LTD., JERUSALEM, IL; SCHWARTZ, MAXIM, MEVASERET ZION, IL; TAIEB, YOAV, JERUSALEM, IL; VIENTE, KFIR, RAMAT GAN, IL