DE112021003811T5 - Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation - Google Patents

Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation Download PDF

Info

Publication number
DE112021003811T5
DE112021003811T5 DE112021003811.7T DE112021003811T DE112021003811T5 DE 112021003811 T5 DE112021003811 T5 DE 112021003811T5 DE 112021003811 T DE112021003811 T DE 112021003811T DE 112021003811 T5 DE112021003811 T5 DE 112021003811T5
Authority
DE
Germany
Prior art keywords
host vehicle
road
vehicle
road segment
geometry model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021003811.7T
Other languages
English (en)
Inventor
Dmitri Caplan
Shai Hershkovich
Moshe SHENFELD
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 DE112021003811T5 publication Critical patent/DE112021003811T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/02Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments
    • B60Q1/04Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments the devices being headlights
    • B60Q1/06Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments the devices being headlights adjustable, e.g. remotely-controlled from inside vehicle
    • B60Q1/08Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to illuminate the way ahead or to illuminate other areas of way or environments the devices being headlights adjustable, e.g. remotely-controlled from inside vehicle automatically
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R11/00Arrangements for holding or mounting articles, not otherwise provided for
    • B60R11/04Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • 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/20Instruments for performing navigational calculations
    • 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/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • 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/3626Details of the output of route guidance instructions
    • G01C21/3658Lane guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • 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/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2300/00Indexing codes for automatically adjustable headlamps or automatically dimmable headlamps
    • B60Q2300/10Indexing codes relating to particular vehicle conditions
    • B60Q2300/13Attitude of the vehicle body
    • B60Q2300/132Pitch
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2300/00Indexing codes for automatically adjustable headlamps or automatically dimmable headlamps
    • B60Q2300/10Indexing codes relating to particular vehicle conditions
    • B60Q2300/13Attitude of the vehicle body
    • B60Q2300/134Yaw
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2300/00Indexing codes for automatically adjustable headlamps or automatically dimmable headlamps
    • B60Q2300/30Indexing codes relating to the vehicle environment
    • B60Q2300/32Road surface or travel path
    • B60Q2300/324Road inclination, e.g. uphill or downhill
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/10Transducer, e.g. piezoelectric elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/15Road slope, i.e. the inclination of a road segment in the longitudinal direction
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • 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
    • B60W2710/00Output or target parameters relating to a particular sub-units
    • B60W2710/10Change speed gearings
    • B60W2710/1005Transmission ratio engaged
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Computational Linguistics (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Ein System zum Navigieren eines Host-Fahrzeugs kann einen Speicher und mindestens einen Prozessor beinhalten, der dazu konfiguriert ist, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse mindestens eines von der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs zu bestimmen; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und des Straßengeometriemodells für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale zu generieren, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.

Description

  • Querverweis auf verwandte Anmeldung
  • Diese Anmeldung beansprucht den Vorteil der vorläufigen United States-Anmeldung Nr. 63/052,603 , eingereicht am 16. Juli 2020. Die zuvor genannte Anmeldung ist hier durch Bezugnahme in ihrer Gänze aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Fahrzeugnavigation.
  • Hintergrundinformationen
  • Weil sich Technologie weiterentwickelt, ist das Ziel eines vollautonomen Fahrzeugs, das zum Navigieren auf Fahrbahnen in der Lage ist, nicht mehr fern. Autonome Fahrzeuge müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen und geeignete Entscheidungen basierend auf diesen Faktoren treffen, um einen vorgesehenen Zielort sicher und genau zu erreichen. Zum Beispiel muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. aus einer Kamera aufgenommene Informationen) verarbeiten und interpretieren und kann auch Informationen verwenden, die aus anderen Quellen erhalten werden (z. B. aus einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.). Um zu einem Zielort zu navigieren, muss ein autonomes Fahrzeug möglicherweise gleichzeitig seinen Ort auf einer speziellen Fahrbahn identifizieren (z. B. eine spezifische Fahrspur innerhalb einer mehrspurigen Straße), an anderen Fahrzeugen entlang navigieren, Hindernisse und Fußgänger vermeiden, Verkehrssignale und Verkehrszeichen beobachten und an geeigneten Kreuzungen oder Auffahrten von einer Straße auf eine andere Straße fahren. Das Erschließen und Interpretieren umfangreicher Informationsmengen, die durch ein autonomes Fahrzeug erhoben werden, wenn das Fahrzeug zu seinem Zielort fährt, stellen eine Vielzahl von Designherausforderungen dar. Die schiere Datenmenge, die ein autonomes Fahrzeug möglicherweise analysieren, auf die es zugreifen und/oder die es speichern muss (z. B. aufgenommene Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), stellt Herausforderungen dar, die die Navigation des autonomen Fahrzeugs tatsächlich einschränken oder sogar negativ beeinflussen können. Falls sich ein autonomes Fahrzeug zum Navigieren auf herkömmliche Kartierungstechnologie verlässt, stellt des Weiteren der schiere Umfang von Daten, die zum Speichern und Aktualisieren der Karte benötigt werden, entmutigende Herausforderungen dar.
  • KURZDARSTELLUNG
  • Mit der vorliegenden Offenbarung konsistente Ausführungsformen stellen Systeme und Verfahren zur Fahrzeugnavigation bereit.
  • In einer Ausführungsform kann ein System zum Navigieren eines Fahrzeugs mindestens einen Prozessor beinhalten, der Schaltungsanordnungen und einen Speicher umfasst. Der Speicher kann Anweisungen beinhalten, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; basierend auf der Analyse mindestens eines von der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs bestimmt; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und des Straßengeometriemodells für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale generiert, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.
  • In einer Ausführungsform kann ein Verfahren zum Navigieren eines Host-Fahrzeugs beinhalten, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse mindestens eines von der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs zu bestimmen; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und des Straßengeometriemodells für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale zu generieren, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.
  • In einer Ausführungsform kann ein System zum Navigieren eines Fahrzeugs mindestens einen Prozessor beinhalten, der Schaltungsanordnungen und einen Speicher umfasst. Der Speicher kann Anweisungen beinhalten, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; und basierend auf dem Straßengeometriemodell und einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs eine Ausgabe generiert, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  • In einer Ausführungsform kann ein Verfahren zum Navigieren eines Host-Fahrzeugs beinhalten, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; und basierend auf dem Straßengeometriemodell und einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  • In einer Ausführungsform kann ein System zum Navigieren eines Fahrzeugs mindestens einen Prozessor beinhalten, der Schaltungsanordnungen und einen Speicher umfasst. Der Speicher kann Anweisungen beinhalten, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts detektiert, der in dem Straßengeometriemodell repräsentiert wird, wobei der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert ist; und basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, eine Ausgabe generiert, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  • In einer Ausführungsform kann ein Verfahren zum Navigieren eines Host-Fahrzeugs beinhalten, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts zu detektieren, der in dem Straßengeometriemodell repräsentiert wird, wobei der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert ist; und basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  • Konsistent mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die durch mindestens einen Prozessor ausgeführt werden, und ein beliebiges der hier beschriebenen Verfahren durchführen.
  • Die vorhergehende allgemeine Beschreibung und die folgende ausführliche Beschreibung sind lediglich beispielhaft und erklärend und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die begleitenden Zeichnungen, die in dieser Offenbarung aufgenommen sind und einen Teil von ihr bilden, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen gilt:
    • 1 ist eine schematische Repräsentation eines beispielhaften Systems, konsistent mit den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugs, das ein System, konsistent mit den offenbarten Ausführungsformen, beinhaltet.
    • 2B ist eine schematische Draufsicht des in 2A gezeigten Fahrzeugs und Systems, konsistent mit den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsicht einer anderen Ausführungsform eines Fahrzeugs, das ein System, konsistent mit den offenbarten Ausführungsformen, beinhaltet.
    • 2D ist eine schematische Draufsicht noch einer anderen Ausführungsform eines Fahrzeugs, das ein System, konsistent mit den offenbarten Ausführungsformen, beinhaltet.
    • 2E ist eine schematische Draufsicht noch einer anderen Ausführungsform eines Fahrzeugs, das ein System, konsistent mit den offenbarten Ausführungsformen, beinhaltet.
    • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, konsistent mit den offenbarten Ausführungsformen.
    • 3A ist eine schematische Repräsentation eines Innenraums eines Fahrzeugs, das einen Rückspiegel und eine Benutzerschnittstelle für ein Fahrzeugbildgebungssystem beinhaltet, konsistent mit den offenbarten Ausführungsformen.
    • 3B ist eine Veranschaulichung eines Beispiels für eine Kamerahalterung, die dazu konfiguriert ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, konsistent mit den offenbarten Ausführungsformen.
    • 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive, konsistent mit den offenbarten Ausführungsformen.
    • 3D ist eine Veranschaulichung eines Beispiels für eine Kamerahalterung, die dazu konfiguriert ist, hinter einem Rückspiegel und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, konsistent mit den offenbarten Ausführungsformen.
    • 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der dazu konfiguriert ist, Anweisungen zum Durchführen einer oder mehrerer Operationen zu speichern, konsistent mit den offenbarten Ausführungsformen.
    • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf monokularer Bildanalyse zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren von Straßenmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess zum Detektieren von Ampeln in einem Satz von Bildern zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugweg zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, konsistent mit den offenbarten Ausführungsformen.
    • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf Stereobildanalyse zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 8 zeigt eine dünnbesetzte Karte zum Bereitstellen von autonomer Fahrzeugnavigation, konsistent mit den offenbarten Ausführungsformen.
    • 9A veranschaulicht eine Polynomrepräsentation von Abschnitten eines Straßensegments, konsistent mit den offenbarten Ausführungsformen.
    • 9B veranschaulicht eine Kurve im dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs für ein spezielles Straßensegment repräsentiert, das in einer dünnbesetzten Karte beinhaltet ist, konsistent mit den offenbarten Ausführungsformen.
    • 10 veranschaulicht beispielhafte Orientierungspunkte, die in einer dünnbesetzten Karte beinhaltet sein können, konsistent mit den offenbarten Ausführungsformen.
    • 11A zeigt Polynomrepräsentationen von Trajektorien, konsistent mit den offenbarten Ausführungsformen.
    • 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße, konsistent mit den offenbarten Ausführungsformen.
    • 11D zeigt ein beispielhaftes Straßensignaturprofil, konsistent mit den offenbarten Ausführungsformen.
    • 12 ist eine schematische Veranschaulichung eines Systems, das Crowdsourcing-Daten, die aus einer Vielzahl von Fahrzeugen empfangen werden, für autonome Fahrzeugnavigation verwendet, konsistent mit den offenbarten Ausführungsformen.
    • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell für autonome Fahrzeuge, das durch eine Vielzahl von dreidimensionalen Splines repräsentiert wird, konsistent mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartenskelett, das durch Kombinieren von Ortsinformationen aus vielen Fahrten generiert wird, konsistent mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel für eine Alignierung in Längsrichtung von zwei Fahrten mit beispielhaften Zeichen als Orientierungspunkte, konsistent mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel für eine Alignierung in Längsrichtung von vielen Fahrten mit einem beispielhaften Zeichen als einem Orientierungspunkt, konsistent mit den offenbarten Ausführungsformen.
    • 17 ist eine schematische Veranschaulichung eines Systems zum Generieren von Fahrtdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers, konsistent mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Veranschaulichung eines Systems zum Crowdsourcing einer dünnbesetzten Karte, konsistent mit den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Generieren einer dünnbesetzten Karte für autonome Fahrzeugnavigation entlang eines Straßensegments zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 20 veranschaulicht ein Blockdiagramm eines Servers, konsistent mit den offenbarten Ausführungsformen.
    • 21 veranschaulicht ein Blockdiagramm eines Speichers, konsistent mit den offenbarten Ausführungsformen.
    • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die mit Fahrzeugen assoziiert sind, konsistent mit den offenbarten Ausführungsformen.
    • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das für autonome Navigation verwendet werden kann, konsistent mit den offenbarten Ausführungsformen.
    • 24A, 24B, 24C und 24D veranschaulichen beispielhafte Fahrspurmarkierungen, die detektiert werden können, konsistent mit den offenbarten Ausführungsformen.
    • 24E zeigt beispielhafte kartierte Fahrspurmarkierungen, konsistent mit den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie, die mit dem Detektieren einer Fahrspurmarkierung assoziiert ist, konsistent mit den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild der Umgebung eines Fahrzeugs zur Navigation basierend auf den kartierten Fahrspurmarkierungen, konsistent mit den offenbarten Ausführungsformen.
    • 25B veranschaulicht eine Korrektur der seitlichen Lokalisierung eines Fahrzeugs basierend auf kartierten Fahrspurmarkierungen in einem Straßennavigationsmodell, konsistent mit den offenbarten Ausführungsformen.
    • 25C und 25D stellen konzeptionelle Repräsentationen einer Lokalisierungstechnik zum Lokalisieren eines Host-Fahrzeugs entlang einer Zieltrajektorie unter Verwendung von kartierten Merkmalen bereit, die in einer dünnbesetzten Karte beinhaltet sind.
    • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Kartieren einer Fahrspurmarkierung zur Verwendung in der autonomen Fahrzeugnavigation zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung von kartierten Fahrspurmarkierungen zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 27A veranschaulicht ein beispielhaftes Straßensegment, das analysiert werden kann, um ein Straßengeometriemodell zu generieren, konsistent mit den offenbarten Ausführungsformen.
    • 27B veranschaulicht einen beispielhaftes Straßengeometriemodell, das generiert werden kann, konsistent mit den offenbarten Ausführungsformen.
    • 28 veranschaulicht eine beispielhafte Frontscheinwerferjustierung relativ zu einer interessierenden Region, konsistent mit den offenbarten Ausführungsformen.
    • 29A und 29B veranschaulichen beispielhafte Änderungen im Nickwinkel für bewegbare Frontscheinwerfer, die basierend auf Straßenoberflächengeometrien bestimmt werden können, konsistent mit den offenbarten Ausführungsformen.
    • 30 veranschaulicht ein beispielhaftes, durch ein Host-Fahrzeug aufgenommenes Bild, das eine kurvige Fahrbahn beinhaltet, konsistent mit den offenbarten Ausführungsformen.
    • 31 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 32 veranschaulicht ein beispielhaftes Bild, das für Justierungen der seitlichen Position und der Geschwindigkeit verwendet wird, konsistent mit den offenbarten Ausführungsformen.
    • 33 veranschaulicht ein anderes beispielhaftes Straßensegment mit entsprechenden Punkten, konsistent mit den offenbarten Ausführungsformen.
    • 34 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen.
    • 35 veranschaulicht ein beispielhaftes Bild, das eine Repräsentation eines Straßensegments mit einer Verdeckungszone beinhaltet, die durch eine Anhöhe in der Straße bewirkt wird, konsistent mit den offenbarten Ausführungsformen.
    • 36 veranschaulicht einen beispielhaftes Analysekartenabschnitt für einen verdeckten Abschnitt eines Straßensegments, konsistent mit den offenbarten Ausführungsformen.
    • 37 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen. Soweit möglich werden die gleichen Referenznummern in den Zeichnungen und der folgenden Beschreibung verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Obwohl hier mehrere veranschaulichende Ausführungsformen beschrieben werden, sind Modifikationen, Anpassungen und andere Implementierungen möglich. Zum Beispiel können an den in den Zeichnungen veranschaulichten Komponenten Substitutionen, Hinzufügungen oder Modifikationen vorgenommen werden, und die hier beschriebenen veranschaulichenden Verfahren können durch Substituieren, Neuordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der richtige Schutzbereich durch die beigefügten Ansprüche definiert.
  • Übersicht über autonome Fahrzeuge
  • Wie in dieser gesamten Offenbarung verwendet, bezieht sich der Begriff „autonomes Fahrzeug“ auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingabe zu implementieren. Eine „Navigationsänderung“ bezieht sich auf eine Änderung beim Lenken und/oder Bremsen und/oder bei Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (z. B. vollständiger Betrieb 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 Fahrspurmarkierungen, 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 aus der Umgebung des Fahrzeugs aufgenommen wurden. Die visuellen Informationen können zum Beispiel Komponenten der Transportinfrastruktur (z. B. Fahrspurmarkierungen, Verkehrszeichen, Ampeln usw.) beinhalten, die von Fahrern und anderen Hindernissen (z. B. anderen Fahrzeugen, Fußgängern, Ablagerungen 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. aus einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen, die sich auf seine Umgebung beziehen, 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. aus einer Kamera, einer GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug Informationen verwenden, die aus vergangenen Navigationen durch das Fahrzeug (oder durch andere Fahrzeuge) während 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 aus 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 vom 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übersicht
  • 1 ist eine Blockdiagrammdarstellung eines Systems 100, das mit den offenbarten Ausführungsformen konsistent ist. Das System 100 kann verschiedene Komponenten beinhalten, abhängig von den Anforderungen einer speziellen Implementierung. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Sendeempfänger 172 beinhalten. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungsvorrichtungen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine beliebige andere geeignete Verarbeitungsvorrichtung beinhalten. Gleichermaßen kann die Bilderfassungseinheit 120 eine beliebige Anzahl von Bilderfassungsvorrichtungen und -komponenten beinhalten, abhängig von den Anforderungen einer speziellen Anwendung. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bildaufnahmevorrichtungen (z. B. Kameras) beinhalten, wie etwa die Bildaufnahmevorrichtung 122, die Bildaufnahmevorrichtung 124 und die Bildaufnahmevorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungseinheit 110 kommunikativ mit der Bilderfassungsvorrichtung 120 verbindet. Zum Beispiel kann die Datenschnittstelle 128 einen beliebigen drahtgebundenen und/oder drahtlosen Link oder Links zum Übertragen von Bilddaten, die durch die Bilderfassungsvorrichtung 120 erfasst wurden, zur Verarbeitungseinheit 110 beinhalten.
  • 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 einen beliebigen bekannten Standard verwenden, um Daten zu übertragen und/oder zu empfangen (z. B. Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.). Solche Übertragungen können Kommunikationen vom Host-Fahrzeug zu einem oder mehreren entfernten Servern beinhalten. Solche Übertragungen können auch Kommunikationen (Einweg oder Zweiweg) zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs 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 zu nicht spezifizierten Empfängern in einer Nähe des übertragenden Fahrzeugs.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Typen von Verarbeitungsvorrichtungen beinhalten. Zum Beispiel können einer von dem Anwendungsprozessor 180 und dem Bildprozessor 190 oder beide einen Mikroprozessor, Präprozessoren (wie etwa einen Bildpräprozessor), eine Grafikverarbeitungseinheit (GPU, Graphics Processing Unit), eine zentrale Verarbeitungseinheit (CPU, Central Processing Unit), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Typen 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 einen beliebigen Typ 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 kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen aus der EyeQ-Prozessorchipserie beinhalten, die von Mobileye® verfügbar ist. Diese Prozessordesigns beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten aus mehreren Bildsensoren beinhalten und können auch 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®-Keme), fünf Vision Computing Engines (VCE), drei Vector Microcode Processors (VMP®), Denali 64-Bit Mobile DDR Controller, 128-Bit interne Sonics Interconnect, duale 16-Bit-Videoeingabe- und 18-Bit Videoausgabe-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 für Multifunktions-Bundle-Anwendungen erforderlich sind. In einem anderen Beispiel kann der EyeQ3®, der ein Prozessor der dritten Generation ist und sechsmal leistungsfähiger als der EyeQ2® ist, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Natürlich können auch neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Beliebige der hier offenbarten Verarbeitungsvorrichtungen können dazu konfiguriert sein, bestimmte Funktionen durchzuführen. Das Konfigurieren einer Verarbeitungsvorrichtung, wie etwa eines beliebigen der beschriebenen EyeQ-Prozessoren oder einer anderen Steuerung oder eines Mikroprozessors, zum Durchführen bestimmter Funktionen, kann das Programmieren von computerausführbaren Anweisungen und das Verfügbarmachen dieser Anweisungen für die Verarbeitungsvorrichtung zur Ausführung während des Betriebs der Verarbeitungsvorrichtung 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 Field Programmable Gate Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen, zum Beispiel unter Verwendung einer oder mehrerer Hardwarebeschreibungssprachen (HDLs), konfiguriert werden.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungsvorrichtung 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 repräsentiert die Verarbeitungsvorrichtung, die zum Durchführen der hier offenbarten Abtast-, Bildanalyse- und/oder Navigationsfunktionen konfiguriert ist, ein spezialisiertes hardwarebasiertes System, das mehrere hardwarebasierte Komponenten eines Host-Fahrzeugs steuert.
  • Obwohl 1 zwei separate Verarbeitungsvorrichtungen repräsentiert, 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 durch mehr als zwei Verarbeitungsvorrichtungen durchgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere der Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten, wie etwa die Bilderfassungseinheit 120, zu beinhalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Typen von Vorrichtungen umfassen. Zum Beispiel kann die Verarbeitungseinheit 110 verschiedene Vorrichtungen beinhalten, wie etwa eine Steuerung, einen Bildpräprozessor, eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Typen von Vorrichtungen zur Bildverarbeitung und -analyse. Der Bildpräprozessor kann einen Videoprozessor zum Aufnehmen, Digitalisieren und Verarbeiten der Bilder aus den Bildsensoren beinhalten. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann ebenfalls eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Bei den Unterstützungsschaltungen kann es sich um eine beliebige Anzahl von Schaltungen handeln, die im Fachgebiet allgemein 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, austauschbarem Speicher und anderen Typen 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 Netzwerk oder ein tiefes neuronales Netzwerk, beinhalten. Die Speichereinheiten können Direktzugriffsspeicher (RAM, Random Access Memory), Festwertspeicher (ROM, Read-Only Memory), Flash-Speicher, Plattenlaufwerke, optischen Speicher, Bandspeicher, austauschbaren Speicher und/oder beliebige andere Typen 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 einen beliebigen Typ von Vorrichtung beinhalten, die geeignet ist, um einen Ort zu bestimmen, der mit mindestens einer Komponente des Systems 100 assoziiert ist. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Solche Empfänger können eine Benutzerposition und -geschwindigkeit bestimmen, indem sie Signale verarbeiten, die durch Satelliten des globalen Positionsbestimmungssystems gesendet werden. Positionsinformationen aus dem 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 beinhalten, wie etwa 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.
  • 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 zum Beispiel eines Touchscreens, eines Mikrofons, einer Tastatur, Zeigervorrichtungen, Trackwheels, Kameras, Knöpfen, Tasten usw. Mit solchen Eingabevorrichtungen kann ein Benutzer in der Lage sein, dem System 100 Informationseingaben oder -befehle durch Eintippen von Anweisungen oder Informationen, Bereitstellen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm unter Verwendung von Tasten, Zeigern oder 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 dazu konfiguriert sind, Informationen an einen oder von einem Benutzer bereitzustellen und zu empfangen und diese Informationen zum Beispiel zur Verwendung durch den Anwendungsprozessor 180 zu verarbeiten. In einigen Ausführungsformen können solche Verarbeitungsvorrichtungen Anweisungen zum Erkennen und Verfolgen von Augenbewegungen, Empfangen und Interpretieren von Sprachbefehlen, Erkennen und Interpretieren von Berührungen und/oder Gesten, die auf einem Touchscreen vorgenommen werden, Reagieren auf 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 einen beliebigen Typ 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 beinhalten, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, einschließlich Straßen, Wasseranlagen, geografischen Merkmalen, Geschäften, Sehenswürdigkeiten, Restaurants, Tankstellen usw. Die Kartendatenbank 160 kann nicht nur die Orte solcher Elemente speichern, sondern auch Deskriptoren, die sich auf diese Elemente beziehen, einschließlich zum Beispiel Namen, die mit einem der gespeicherten Merkmale assoziiert sind. In einigen Ausführungsformen kann sich die Kartendatenbank 160 physisch bei 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. die Verarbeitungseinheit 110) befinden. In solchen Ausführungsformen können Informationen aus der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung zu einem Netzwerk (z. B. über ein Mobilfunknetzwerk 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. Fahrspurmarkierungen) oder Zieltrajektorien für das Host-Fahrzeug beinhaltet. Systeme und Verfahren zum Generieren einer solchen Karte werden nachstehend unter Bezugnahme auf die 8 - 19 erörtert.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können jeweils einen beliebigen Typ von Vorrichtung beinhalten, die geeignet ist, um mindestens ein Bild aus einer Umgebung aufzunehmen. Darüber hinaus kann eine beliebige Anzahl von Bildaufnahmevorrichtungen verwendet werden, um Bilder zur Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bildaufnahmevorrichtung beinhalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bildaufnahmevorrichtungen beinhalten können. Die Bildaufnahmevorrichtungen 122, 124 und 126 werden nachstehend unter Bezugnahme auf die 2B - 2E weiter beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene Plattformen einbezogen sein. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 beinhaltet sein, wie in 2A gezeigt wird. Zum Beispiel 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 wird. Obwohl das Fahrzeug 200 in einigen Ausführungsformen mit nur einer einzigen Bildaufnahmevorrichtung (z. B. Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, wie etwa den in Verbindung mit 2B - 2E erörterten, mehrere Bildaufnahmevorrichtungen verwendet werden. Zum Beispiel kann eine der Bildaufnahmevorrichtungen 122 oder 124 des Fahrzeugs 200, wie in 2A gezeigt wird, Teil eines ADAS (Advanced Driver Assistance System)-Bildgebungssatzes sein.
  • Die Bildaufnahmevorrichtungen, die im Fahrzeug 200 als Teil der Bilderfassungseinheit 120 beinhaltet sind, können an einem beliebigen geeigneten Ort positioniert sein. In einigen Ausführungsformen, wie in 2A - 2E und 3A - 3C gezeigt wird, kann sich die Bildaufnahmevorrichtung 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 was nicht. Die Bildaufnahmevorrichtung 122 kann an einem beliebigen Ort in der Nähe des Rückspiegels positioniert sein, aber das Platzieren der Bildaufnahmevorrichtung 122 auf der Fahrerseite des Spiegels kann ferner dabei helfen, Bilder zu erhalten, die repräsentativ für das Sichtfeld und/oder die Sichtlinie des Fahrers sind.
  • Andere Orte für die Bildaufnahmevorrichtungen der Bilderfassungseinheit 120 können ebenfalls verwendet werden. Zum Beispiel kann sich die Bildaufnahmevorrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Ein solcher Ort kann besonders für Bildaufnahmevorrichtungen mit einem breiten Sichtfeld geeignet sein. Die Sichtlinie der am Stoßfänger befindlichen Bildaufnahmevorrichtungen kann sich von der des Fahrers unterscheiden, und daher sehen die Stoßfänger-Bildaufnahmevorrichtung und der Fahrer möglicherweise nicht immer die gleichen Objekte. Die Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122, 124 und 126) können sich auch an anderen Orten befinden. Zum Beispiel können sich die Bildaufnahmevorrichtungen an oder in einem oder beiden der Seitenspiegel des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, 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 Leuchtziffern an der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. montiert befinden.
  • Zusätzlich zu den Bildaufnahmevorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. Zum Beispiel kann die Verarbeitungseinheit 110 im Fahrzeug 200 beinhaltet sein, entweder in eine Motorsteuereinheit (ECU, Engine Control Unit) des Fahrzeugs integriert oder davon getrennt. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, wie etwa einem GPS-Empfänger, ausgestattet sein und kann auch eine Kartendatenbank 160 und Speichereinheiten 140 und 150 beinhalten.
  • Wie bereits erörtert, kann der drahtlose Sendeempfänger 172 Daten über ein oder mehrere Netzwerke (z. B. Mobilfunknetze, das Internet usw.) und/oder empfangen. Zum Beispiel kann der drahtlose Sendeempfänger 172 Daten, die durch das System 100 erhoben wurden, auf einen oder mehrere Server hochladen und Daten aus 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. Gleichermaßen kann der drahtlose Sendeempfänger 172 beliebige Daten (z. B. Bilder, die durch die Bilderfassungseinheit 120 aufgenommen wurden, Daten, die durch den Positionssensor 130 oder andere Sensoren, Fahrzeugsteuersysteme usw. empfangen wurden) aus dem System 100 und/oder beliebige Daten, die durch die Verarbeitungseinheit 110 verarbeitet wurden, auf einen oder mehrere Server hochladen.
  • Das System 100 kann Daten basierend auf einer Einstellung des Datenschutzlevels auf einen Server (z. B. in die Cloud) hochladen. Zum Beispiel kann das System 100 Einstellungen des Datenschutzlevels implementieren, um die Typen von Daten (einschließlich Metadaten) zu regulieren oder zu beschränken, die zu dem Server gesendet werden, der ein Fahrzeug und/oder einen Fahrer/Besitzer eines Fahrzeugs eindeutig identifizieren kann. Solche Einstellungen können durch den Benutzer zum Beispiel über den drahtlosen Sendeempfänger 172 eingestellt werden, durch werksseitige Standardeinstellungen oder durch Daten, die durch den drahtlosen Sendeempfänger 172 empfangen werden, initialisiert werden.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß eines „hohen“ Datenschutzlevels hochladen, und gemäß der Einstellung einer Einstellung kann das System 100 Daten (z. B. Ortsinformationen, die sich auf eine Route beziehen, 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, Vehicle Identification Number) oder keinen Namen eines Fahrers oder Besitzers des Fahrzeugs beinhalten und kann stattdessen Daten, wie etwa aufgenommene Bilder und/oder beschränkte Ortsinformationen, die sich auf eine Route beziehen, übertragen.
  • Andere Datenschutzlevel werden in Betracht gezogen. Zum Beispiel kann das System 100 Daten gemäß eines „mittleren“ Datenschutzlevels zu einem Server übertragen und zusätzliche Informationen beinhalten, die nicht unter einem „hohen“ Datenschutzlevel beinhaltet sind, wie etwa eine Marke und/oder ein Modell eines Fahrzeugs und/oder einen Fahrzeugtyp (z. B. ein Personenkraftwagen, ein Sport Utility Vehicle, ein Lastkraftwagen usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einem „niedrigen“ Datenschutzlevel hochladen. Unter einer „niedrigen“ Datenschutzleveleinstellung 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. Solche „niedrigen“ Datenschutzleveldaten können zum Beispiel eine VIN und/oder einen Fahrer-/Besitzernamen und/oder einen Ursprungspunkt eines Fahrzeugs vor der Abfahrt und/oder einen beabsichtigten Zielort des Fahrzeugs und/oder eine Marke und/oder ein Modell des Fahrzeugs und/oder einen Typ des Fahrzeugs usw. beinhalten.
  • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugbildgebungssystems, konsistent mit den offenbarten Ausführungsformen. 2B ist eine Veranschaulichung einer schematischen Draufsicht der in 2A gezeigten Ausführungsform. Wie in 2B veranschaulicht wird, können die offenbarten Ausführungsformen ein Fahrzeug 200 beinhalten, das in seiner Karosserie ein System 100 mit einer ersten Bildaufnahmevorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, einer zweiten Bildaufnahmevorrichtung 124, die an oder in einer Stoßfängerregion (z. B. einer der Stoßfängerregionen 210) des Fahrzeugs 200 positioniert ist, und einer Verarbeitungseinheit 110 beinhaltet.
  • Wie in 2C veranschaulicht wird, können die Bildaufnahmevorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Obwohl zwei Bildaufnahmevorrichtungen 122 und 124 in 2B und 2C gezeigt werden, versteht es sich zusätzlich, dass andere Ausführungsformen mehr als zwei Bildaufnahmevorrichtungen beinhalten können. Zum Beispiel sind in den Ausführungsformen, die in 2D und 2E gezeigt werden, die erste, zweite und dritte Bildaufnahmevorrichtung 122, 124 und 126 im System 100 des Fahrzeugs 200 beinhaltet.
  • Wie in 2D veranschaulicht wird, kann die Bildaufnahmevorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein, und die Bildaufnahmevorrichtungen 124 und 126 können an oder in einer Stoßfängerregion (z. B. einer der Stoßfängerregionen 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt wird, können die Bildaufnahmevorrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine beliebige spezielle Anzahl und Konfiguration der Bildaufnahmevorrichtungen beschränkt, und die Bildaufnahmevorrichtungen können 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 auch, dass die offenbarten Ausführungsformen nicht auf einen speziellen Typ von Fahrzeug 200 beschränkt sind und auf alle Typen von Fahrzeugen, einschließlich Automobilen, Lastkraftwagen, Anhängern und anderen Typen von Fahrzeugen, anwendbar sein können.
  • Die erste Bildaufnahmevorrichtung 122 kann einen beliebigen geeigneten Typ von Bildaufnahmevorrichtung beinhalten. Die Bildaufnahmevorrichtung 122 kann eine optische Achse beinhalten. In einem Fall kann die Bildaufnahmevorrichtung 122 einen Sensor Aptina M9V024 WVGA mit einem Global Shutter beinhalten. In anderen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Auflösung von 1280 × 960 Pixeln bereitstellen und kann einen Rolling Shutter beinhalten. Die Bildaufnahmevorrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können ein oder mehrere Objektive beinhaltet sein, um zum Beispiel eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bildaufnahmevorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 mit einem 6 mm-Objektiv oder einem 12 mm-Objektiv assoziiert sein. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 dazu konfiguriert sein, Bilder mit einem gewünschten Sichtfeld (FOV, Field of View) 202 aufzunehmen, wie in 2D veranschaulicht wird. Zum Beispiel kann die Bildaufnahmevorrichtung 122 dazu konfiguriert sein, ein normales FOV aufzuweisen, wie etwa innerhalb eines Bereichs von 40 Grad bis 56 Grad, einschließlich eines FOV von 46 Grad, eines FOV von 50 Grad, eines FOV von 52 Grad oder größer. Alternativ kann die Bildaufnahmevorrichtung 122 dazu konfiguriert sein, ein enges FOV im Bereich von 23 bis 40 Grad aufzuweisen, wie etwa ein FOV von 28 Grad oder ein FOV von 36 Grad. Zusätzlich kann die Bildaufnahmevorrichtung 122 dazu konfiguriert sein, ein breites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Weitwinkel-Stoßfänger-Kamera oder eine mit einem FOV von bis zu 180 Grad beinhalten. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine 7,2M-Pixel-Bildaufnahmevorrichtung mit einem Aspektverhältnis von etwa 2:1 (z. B. H × V = 3800 × 1900 Pixel) mit etwa 100 Grad horizontalem FOV sein. Eine solche Bildaufnahmevorrichtung kann anstelle einer Konfiguration mit drei Bildaufnahmevorrichtungen verwendet werden. Aufgrund einer signifikanten Objektivverzeichnung kann das vertikale FOV einer solchen Bildaufnahmevorrichtung in Implementierungen, in denen die Bildaufnahmevorrichtung ein radialsymmetrisches Objektiv verwendet, deutlich kleiner als 50 Grad sein. Zum Beispiel ist ein solches Objektiv möglicherweise nicht radialsymmetrisch, was ein vertikales FOV größer als 50 Grad mit 100 Grad horizontalem FOV gestatten würde.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Vielzahl von ersten Bildern relativ zu einer mit dem Fahrzeug 200 assoziierten Szene erfassen. Jedes der Vielzahl von ersten Bildern kann als eine Serie von Bildscanlinien erfasst werden, die unter Verwendung eines Rolling Shutter aufgenommen werden können. Jede Scanlinie kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Scanrate aufweisen, die mit der Erfassung jeder der ersten Serie von Bildscanlinien assoziiert ist. Die Scanrate kann sich auf eine Rate beziehen, mit der ein Bildsensor mit jedem in einer speziellen Scanlinie beinhalteten Pixel assoziierte Bilddaten erfassen kann.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können einen beliebigen geeigneten Typ und eine beliebige geeignete Anzahl von Bildsensoren enthalten, einschließlich zum Beispiel CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rolling Shutter eingesetzt werden, so dass jedes Pixel in einer Zeile einzeln gelesen wird und das Scannen der Zeilen zeilenweise fortgesetzt wird, bis ein gesamter Frame aufgenommen worden ist. In einigen Ausführungsformen können die Zeilen sequenziell von oben nach unten relativ zum Frame aufgenommen werden.
  • In einigen Ausführungsformen können eine oder mehrere der hier offenbarten Bildaufnahmevorrichtungen (z. B. Bildaufnahmevorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber bilden und eine Auflösung größer als 5M Pixel, 7M Pixel, 10M Pixel oder größer aufweisen.
  • Die Verwendung eines Rolling Shutter kann dazu führen, dass Pixel in unterschiedlichen Zeilen mit unterschiedlichen Zeiten belichtet und aufgenommen werden, was Schräglauf und andere Bildartefakte im aufgenommenen Frame bewirken kann. Wenn andererseits die Bildaufnahmevorrichtung 122 dazu konfiguriert ist, mit einem Global Shutter oder synchronem Verschluss zu arbeiten, können alle Pixel für die gleiche zeitliche Dauer und während einer gemeinsamen Belichtungsperiode belichtet werden. Infolgedessen repräsentieren die Bilddaten in einem Frame, die von einem System erhoben wurden, das einen Global Shutter verwendet, eine Momentaufnahme des gesamten FOV (wie etwa des FOV 202) zu einer speziellen Zeit. Dagegen wird in einer Rolling-Shutter-Anwendung jede Zeile in einem Frame belichtet, und Daten werden zu unterschiedlichen Zeiten aufgenommen. Somit können sich bewegende Objekte bei einer Bildaufnahmevorrichtung mit einem Rolling Shutter verzerrt scheinen. Dieses Phänomen wird nachstehend ausführlicher beschrieben.
  • Die zweite Bildaufnahmevorrichtung 124 und die dritte Bildaufnahmevorrichtung 126 können ein beliebiger Typ von Bildaufnahmevorrichtung sein. Wie die erste Bildaufnahmevorrichtung 122 kann jede der Bildaufnahmevorrichtungen 124 und 126 eine optische Achse beinhalten. In einer Ausführungsform kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit Global Shutter beinhalten. Alternativ kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Rolling Shutter beinhalten. Wie die Bildaufnahmevorrichtung 122 können die Bildaufnahmevorrichtungen 124 und 126 dazu konfiguriert sein, verschiedene Objektive und optische Elemente zu beinhalten. In einigen Ausführungsformen können Objektive, die mit den Bildaufnahmevorrichtungen 124 und 126 assoziiert sind, FOVs bereitstellen (wie etwa die FOVs 204 und 206), die gleich oder enger als ein mit der Bildaufnahmevorrichtung 122 assoziiertes FOV (wie etwa das FOV 202) sind. Zum Beispiel können die Bildaufnahmevorrichtungen 124 und 126 FOVs von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bildaufnahmevorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern relativ zu einer mit dem Fahrzeug 200 assoziierten Szene erfassen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Serie von Bildscanlinien erfasst werden, die unter Verwendung eines Rolling Shutter aufgenommen werden können. Jede Scanlinie oder -zeile kann eine Vielzahl von Pixeln aufweisen. Die Bildaufnahmevorrichtungen 124 und 126 können zweite und dritte Scanraten aufweisen, die mit der Erfassung jeder der Bildscanlinien assoziiert sind, die in der zweiten und dritten Serie beinhaltet sind.
  • Jede Bildaufnahmevorrichtung 122, 124 und 126 kann an einer beliebigen geeigneten Position und in einer beliebigen geeigneten Ausrichtung relativ zum Fahrzeug 200 positioniert sein. Die relative Positionierung der Bildaufnahmevorrichtungen 122, 124 und 126 kann so ausgewählt werden, dass sie dabei hilft, die von den Bildaufnahmevorrichtungen erfassten Informationen zusammenzufassen. Zum Beispiel kann in einigen Ausführungsformen ein FOV, das mit der Bildaufnahmevorrichtung 124 assoziiert ist (wie etwa das FOV 204), sich teilweise oder vollständig mit einem FOV, das mit der Bildaufnahmevorrichtung 122 assoziiert ist (wie etwa dem FOV 202), und mit einem FOV, das mit der Bildaufnahmevorrichtung 126 assoziiert ist (wie etwa dem FOV 206), überlappen.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können sich an dem Fahrzeug 200 in beliebigen geeigneten relativen Höhen befinden. In einem Fall kann es zu einer Höhendifferenz zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 kommen, die ausreichende Parallaxeninformationen bereitstellen kann, um Stereoanalyse zu ermöglichen. Wie zum Beispiel in 2A gezeigt wird, befinden sich die beiden Bildaufnahmevorrichtungen 122 und 124 in unterschiedlichen Höhen. Es kann auch zu einer seitlichen Verschiebungsdifferenz zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 kommen, wodurch zum Beispiel zusätzliche Parallaxeninformationen für Stereoanalyse durch die Verarbeitungseinheit 110 erhalten werden. Die Differenz der seitlichen Verschiebung kann mit dx bezeichnet werden, wie in 2C und 2D gezeigt wird. In einigen Ausführungsformen kann eine Vorwärts- oder Rückwärtsverschiebung (z. B. eine Entfemungsverschiebung) zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 vorhanden sein. Zum Beispiel kann sich die Bildaufnahmevorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 befinden. Dieser Typ der Verschiebung kann es einer der Bildaufnahmevorrichtungen ermöglichen, potenzielle tote Winkel der anderen Bildaufnahmevorrichtung oder der anderen Bildaufnahmevorrichtungen abzudecken.
  • Die Bildaufnahmevorrichtungen 122 können eine beliebige geeignete Auflösungsfähigkeit aufweisen (z. B. Anzahl von Pixeln, die mit dem Bildsensor assoziiert sind), und die Auflösung des Bildsensors oder der Bildsensoren, die mit der Bildaufnahmevorrichtung 122 assoziiert sind, kann höher, niedriger oder gleich der Auflösung des Bildsensors oder der Bildsensoren sein, die mit den Bildaufnahmevorrichtungen 124 und 126 assoziiert sind. In einigen Ausführungsformen können der Bildsensor oder die Bildsensoren, die mit der Bildaufnahmevorrichtung 122 und/oder den Bildaufnahmevorrichtungen 124 und 126 assoziiert sind, eine Auflösung von 640 × 480, 1024 × 768, 1280 × 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Framerate (z. B. die Rate, mit der eine Bildaufnahmevorrichtung einen Satz von Pixeldaten eines Frames erfasst, bevor sie sich weiterbewegt, um Pixeldaten aufzunehmen, die mit dem nächsten Frame assoziiert sind) kann steuerbar sein. Die Framerate, die mit der Bildaufnahmevorrichtung 122 assoziiert ist, kann höher, niedriger oder gleich der Framerate sein, die mit den Bildaufnahmevorrichtungen 124 und 126 assoziiert ist. Die Framerate, die mit den Bildaufnahmevorrichtungen 122, 124 und 126 assoziiert ist, kann von einer Vielzahl von Faktoren abhängen, die das Timing der Framerate beeinflussen können. Zum Beispiel können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine auswählbare Pixelverzögerungsperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die mit einem oder mehreren Pixeln eines Bildsensors in der Bildaufnahmevorrichtung 122, 124 und/oder 126 assoziiert sind. Im Allgemeinen können Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktrate für die Vorrichtung erfasst werden (z. B. ein Pixel pro Taktzyklus). Zusätzlich können in Ausführungsformen, die einen Rolling Shutter beinhalten, eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine auswählbare horizontale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die mit einer Zeile von Pixeln eines Bildsensors in der Bildaufnahmevorrichtung 122, 124 und/oder 126 assoziiert sind. Ferner können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und/oder 126 eine auswählbare vertikale Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten auferlegt wird, die mit einem Bildframe der Bildaufnahmevorrichtung 122, 124 und 126 assoziiert sind.
  • Diese Timingsteuerungen können die Synchronisation von Frameraten ermöglichen, die mit den Bildaufnahmevorrichtungen 122, 124 und 126 assoziiert sind, selbst wenn die Zeilenscanraten jeweils unterschiedlich sind. Wie nachstehend ausführlicher erörtert wird, können diese auswählbaren Timingsteuerungen zusätzlich, neben anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenscanraten usw.), die Synchronisation der Bildaufnahme von einem Gebiet ermöglichen, in dem sich das FOV der Bildaufnahmevorrichtung 122 mit einem oder mehreren FOVs der Bildaufnahmevorrichtungen 124 und 126 überlappt, selbst wenn sich das Sichtfeld der Bildaufnahmevorrichtung 122 von den FOVs der Bildaufnahmevorrichtungen 124 und 126 unterscheidet.
  • Das Timing der Framerate in der Bildaufnahmevorrichtung 122, 124 und 126 kann von der Auflösung der assoziierten Bildsensoren abhängen. Unter der Annahme ähnlicher Zeilenscanraten für beide Vorrichtungen, ist zum Beispiel dann, 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, mehr Zeit erforderlich, um einen Frame mit Bilddaten aus dem Sensor mit der höheren Auflösung zu erfassen.
  • Ein anderer Faktor, der das Timing der Bilddatenerfassung in den Bildaufnahmevorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenscanrate. So erfordert zum Beispiel die Erfassung einer Zeile von Bilddaten aus einem Bildsensor, der in der Bildaufnahmevorrichtung 122, 124 und 126 beinhaltet ist, eine minimale zeitliche Dauer. Unter der Annahme, dass keine Pixelverzögerungsperioden hinzugefügt werden, wird diese minimale zeitliche Dauer für die Erfassung einer Zeile von Bilddaten mit der maximalen Zeilenscanrate für eine spezielle Vorrichtung in Beziehung gesetzt. Vorrichtungen, die höhere maximale Zeilenscanraten bieten, haben das Potenzial, höhere Frameraten als Vorrichtungen mit niedrigeren maximalen Zeilenscanraten bereitzustellen. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 eine maximale Zeilenscanrate aufweisen, die höher ist als eine maximale Zeilenscanrate, die mit der Bildaufnahmevorrichtung 122 assoziiert ist. In einigen Ausführungsformen kann die maximale Zeilenscanrate der Bildaufnahmevorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-Fache oder mehr als eine maximale Zeilenscanrate der Bildaufnahmevorrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bildaufnahmevorrichtungen 122, 124 und 126 die gleiche maximale Zeilenscanrate aufweisen, aber die Bildaufnahmevorrichtung 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 Bildaufnahmevorrichtungen 124 und 126 mit einer Zeilenscanrate arbeiten, die gleich der Zeilenscanrate der Bildaufnahmevorrichtung 122 ist. In anderen Fällen kann das System so konfiguriert sein, dass die Zeilenscanrate der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-Fache oder mehr als die Zeilenscanrate der Bildaufnahmevorrichtung 122 betragen kann.
  • In einigen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOV) und Brennweiten beinhalten. Die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 können zum Beispiel ein beliebiges gewünschtes Gebiet relativ zu einer Umgebung des Fahrzeugs 200 beinhalten. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 dazu konfiguriert sein, Bilddaten aus einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, neben dem Fahrzeug 200 oder Kombinationen davon zu erfassen.
  • Ferner kann die mit jeder Bildaufnahmevorrichtung 122, 124 und/oder 126 assoziierte Brennweite auswählbar sein (z. B. durch Einbeziehung geeigneter Objektive usw.), so dass jede Vorrichtung Bilder von Objekten in einem gewünschten Distanzbereich relativ zum Fahrzeug 200 erfasst. Zum Beispiel können in einigen Ausführungsformen die Bildaufnahmevorrichtungen 122, 124 und 126 Bilder von Nahaufnahmeobjekten innerhalb weniger Meter vom Fahrzeug erfassen. Die Bildaufnahmevorrichtungen 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 Bildaufnahmevorrichtungen 122, 124 und 126 ausgewählt werden, so dass eine Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122) Bilder von Objekten relativ nahe am Fahrzeug erfassen kann (z. B. innerhalb von 10 m oder innerhalb von 20 m), während die anderen Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 124 und 126) Bilder von weiter vom Fahrzeug 200 entfernten Objekten (z. B. mehr als 20 m, 50 m, 100 m, 150 m usw.) erfassen können.
  • Gemäß einigen Ausführungsformen kann das FOV einer oder mehrerer Bildaufnahmevorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Zum Beispiel kann es vorteilhaft sein, ein FOV von 140 Grad aufzuweisen, insbesondere für die Bildaufnahmevorrichtungen 122, 124 und 126, die verwendet werden können, um Bilder des Gebiets in der Nähe des Fahrzeugs 200 aufzunehmen. Zum Beispiel kann die Bildaufnahmevorrichtung 122 verwendet werden, um Bilder des Gebiets rechts oder links vom Fahrzeug 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bildaufnahmevorrichtung 122 ein breites FOV (z. B. mindestens 140 Grad) aufweist.
  • Das Sichtfeld, das mit jeder der Bildaufnahmevorrichtungen 122, 124 und 126 assoziiert ist, kann von den jeweiligen Brennweiten abhängen. Zum Beispiel nimmt mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können so konfiguriert sein, dass sie beliebige geeignete Sichtfelder aufweisen. In einem speziellen Beispiel kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 46 Grad aufweisen, die Bildaufnahmevorrichtung 124 kann ein horizontales FOV von 23 Grad aufweisen, und die Bildaufnahmevorrichtung 126 kann ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 52 Grad aufweisen, die Bildaufnahmevorrichtung 124 kann ein horizontales FOV von 26 Grad aufweisen, und die Bildaufnahmevorrichtung 126 kann ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann ein Verhältnis des FOV der Bildaufnahmevorrichtung 122 zu den FOVs der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 von 1,5 bis 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so konfiguriert sein, dass sich ein Sichtfeld der Bildaufnahmevorrichtung 122 zumindest teilweise oder vollständig mit einem Sichtfeld der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 überlappt. In einigen Ausführungsformen kann das System 100 so konfiguriert sein, dass die Sichtfelder der Bildaufnahmevorrichtungen 124 und 126 zum Beispiel in das Sichtfeld der Bildaufnahmevorrichtung 122 fallen (z. B. enger als dieses sind) und eine gemeinsame Mitte mit diesem haben. In anderen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen oder können teilweise Überlappungen in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgerichtet werden, dass sich eine Mitte der Bildaufnahmevorrichtungen 124 und/oder 126 mit engerem FOV in einer unteren Hälfte des Sichtfelds der Vorrichtung 122 mit breiterem FOV befinden kann.
  • 2F ist eine schematische Repräsentation beispielhafter Fahrzeugsteuersysteme, konsistent mit den offenbarten Ausführungsformen. Wie in 2F angegeben wird, kann das Fahrzeug 200 das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 beinhalten. Das System 100 kann Eingaben (z. B. Steuersignale) für das Drosselsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240 über einen oder mehrere Datenlinks (z. B. einen beliebigen drahtgebundenen und/oder drahtlosen Link oder Links zum Übertragen von Daten) bereitstellen. Zum Beispiel kann das System 100 basierend auf der Analyse von Bildern, die durch die Bildaufnahmevorrichtungen 122, 124 und/oder 126 erfasst wurden, Steuersignale für das Drosselsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240 bereitstellen, um das Fahrzeug 200 zu navigieren (indem es z. B. eine Beschleunigung, ein Abbiegen, einen Fahrspurwechsel usw. bewirkt). Ferner kann das System 100 Eingaben aus dem Drosselsystem 220 und/oder dem Bremssystem 230 und/oder dem Lenksystem 24 empfangen, die Betriebsbedingungen des Fahrzeugs 200 angeben (z. B. die 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 wird, 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 zum Beispiel Blinkergriffe), 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 Bildaufnahmevorrichtung 122 in einigen Ausführungsformen in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) beinhalten. Zum Beispiel kann das System 100 verschiedene Benachrichtigungen (z. B. Alarmmeldungen) über die Lautsprecher 360 bereitstellen.
  • 3B - 3D sind Veranschaulichungen einer beispielhaften Kamerahalterung 370, die dazu konfiguriert ist, hinter einem Rückspiegel (z. B. dem Rückspiegel 310) und gegen eine Fahrzeugwindschutzscheibe positioniert zu werden, konsistent mit offenbarten Ausführungsformen. Wie in 3B gezeigt wird, kann die Kamerahalterung 370 die Bildaufnahmevorrichtungen 122, 124 und 126 beinhalten. Die Bildaufnahmevorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der bündig an der Fahrzeugwindschutzscheibe anliegen kann und eine Zusammenstellung von Folien- und/oder Antireflexionsmaterialien beinhalten kann. Zum Beispiel kann der Blendschutz 380 so positioniert sein, dass der Schutz gegen eine Fahrzeugwindschutzscheibe mit einer passenden Neigung ausgerichtet ist. In einigen Ausführungsformen kann jede der Bildaufnahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie zum Beispiel in 3D dargestellt wird. Die offenbarten Ausführungsformen sind nicht auf eine beliebige spezielle Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126, der Kamerahalterung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Veranschaulichung der in 3B gezeigten Kamerahalterung 370 aus einer frontal 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 einer Vielzahl von Konfigurationen neu angeordnet werden, wenn sie die Funktionalität der offenbarten Ausführungsformen bereitstellen. 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 und konsistent mit verschiedenen offenbarten Ausführungsformen erörtert wird, kann das System 100 eine Vielzahl von Merkmalen bereitstellen, die zum autonomen Fahren und/oder einer Fahrerassistenztechnologie in Beziehung stehen. Zum Beispiel kann das System 100 Bilddaten, Positionsdaten (z. B. GPS-Positionsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten aus im Fahrzeug 200 beinhalteten Sensoren analysieren. Das System 100 kann die Daten zur Analyse zum Beispiel aus der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren erheben. Ferner kann das System 100 die erhobenen Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion ausführen sollte oder nicht, und dann die bestimmte Aktion ohne menschlichen Eingriff automatisch ausführen. Wenn das Fahrzeug 200 zum Beispiel ohne menschlichen Eingriff navigiert, kann das System 100 das Bremsen, die Beschleunigung und/oder das Lenken des Fahrzeugs 200 automatisch steuern (z. B. durch Senden von Steuersignalen zum Drosselsystem 220 und/oder zum Bremssystem 230 und/oder zum Lenksystem 240). Ferner kann das System 100 die erhobenen Daten analysieren und Warnungen und/oder Alarmmeldungen an Fahrzeuginsassen basierend auf der Analyse der erhobenen Daten ausgeben. Zusätzliche Details in Bezug auf die verschiedenen Ausführungsformen, die durch das System 100 bereitgestellt werden, werden nachstehend bereitgestellt.
  • Nach vom gerichtetes Multi-Bildgebungssystem
  • Wie vorstehend erörtert worden ist, kann das System 100 eine Fahrtunterstützungsfunktionalität bereitstellen, die ein Multi-Kamera-System verwendet. Das Multi-Kamera-System kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Multi-Kamera-System 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 Zwei-Kamera-Bildgebungssystem verwenden, wobei eine erste Kamera und eine zweite Kamera (z. B. die Bildaufnahmevorrichtungen 122 und 124) an der Vorderseite und/oder den Seiten eines Fahrzeugs (z. B. des Fahrzeugs 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 durch die erste Kamera bereitgestellt wurden, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse von Bildern durchzuführen, die durch die zweite Kamera bereitgestellt wurden. 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 aus der ersten Kamera als auch aus der zweiten Kamera empfangen, um Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Drei-Kamera-Bildgebungssystem verwenden, wobei jede der Kameras ein anderes Sichtfeld aufweist. Ein solches System kann daher Entscheidungen basierend auf Informationen treffen, die anhand von Objekten abgeleitet werden, die sich in variierenden Distanzen sowohl vor als auch neben dem Fahrzeug befinden. Verweise auf eine monokulare Bildanalyse können sich auf Fälle beziehen, in denen Bildanalyse basierend auf Bildern durchgeführt wird, die aus einem einzelnen Blickpunkt (z. B. aus einer einzelnen Kamera) aufgenommen wurden. Eine Stereobildanalyse kann sich auf Fälle beziehen, in denen eine Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bildaufnahmeparameters aufgenommen wurden. Zum Beispiel können aufgenommene Bilder, die zum Durchführen von Stereobildanalyse geeignet sind, Bilder beinhalten, die aufgenommen werden: aus zwei oder mehr unterschiedlichen Positionen, aus unterschiedlichen Sichtfeldern, unter Verwendung unterschiedlicher Brennweiten, zusammen mit Parallaxeninformationen usw.
  • Zum Beispiel kann das System 100 in einer Ausführungsform eine Drei-Kamera-Konfiguration unter Verwendung der Bildaufnahmevorrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bildaufnahmevorrichtung 122 ein enges Sichtfeld bereitstellen (z. B. 34 Grad oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad ausgewählt sind, usw.), die Bildaufnahmevorrichtung 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 Bildaufnahmevorrichtung 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 Bildaufnahmevorrichtung 126 als eine Haupt- oder Primärkamera fungieren. Die Bildaufnahmevorrichtungen 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 Bildaufnahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 montiert sein, der bündig an der Windschutzscheibe des Fahrzeugs 200 anliegt. Eine solche Abschirmung kann dazu fungieren, den Einfluss beliebiger Reflexionen aus dem Inneren des Fahrzeugs auf die Bildaufnahmevorrichtungen 122, 124 und 126 zu minimieren.
  • Wie vorstehend in Verbindung mit 3B und 3C erörtert worden ist, kann in einer anderen Ausführungsform die Kamera mit breitem Sichtfeld (z. B. die Bildaufnahmevorrichtung 124 im vorstehenden Beispiel) niedriger als die Kameras mit engem und Hauptsichtfeld (z. B. die Bildaufnahmevorrichtungen 122 und 126 im vorstehenden Beispiel) montiert sein. Diese Konfiguration kann eine freie Sichtlinie aus 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 Drei-Kamera-System kann bestimmte Leistungscharakteristiken bereitstellen. Zum Beispiel können einige Ausführungsformen eine Fähigkeit beinhalten, die Detektion von Objekten durch eine Kamera basierend auf Detektionsergebnissen aus einer anderen Kamera zu validieren. In der vorstehend erörterten Drei-Kamera-Konfiguration kann die Verarbeitungseinheit 110 zum Beispiel drei Verarbeitungsvorrichtungen (z. B. drei EyeQ-Serien von Prozessorchips, wie vorstehend erörtert) beinhalten, wobei jede Verarbeitungsvorrichtung für die Verarbeitung von Bildern dediziert ist, die durch eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurden.
  • Bei einem Drei-Kamera-System kann eine erste Verarbeitungsvorrichtung Bilder sowohl aus der Hauptkamera als auch aus der Kamera mit engem Sichtfeld empfangen und Bildverarbeitung der Kamera mit engem FOV durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu detektieren. Ferner kann die erste Verarbeitungsvorrichtung eine Disparität von Pixeln zwischen den Bildern aus der Hauptkamera und der engen 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 aus einer anderen Kamera berechnet wurden.
  • Die zweite Verarbeitungsvorrichtung kann Bilder aus der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu detektieren. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen und basierend auf der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene (z. B. Struktur aus Bewegung) erstellen. Die zweite Verarbeitungsvorrichtung kann die 3D-Struktur-aus-Bewegung-Rekonstruktion zur ersten Verarbeitungsvorrichtung senden, damit sie mit den 3D-Stereobildern kombiniert wird.
  • Die dritte Verarbeitungsvorrichtung kann Bilder aus der Kamera mit breitem FOV empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu detektieren. Die dritte Verarbeitungsvorrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren, um Objekte zu identifizieren, die sich im Bild bewegen, wie etwa Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen kann das Vorliegen von Strömen von bildbasierten Informationen, die unabhängig aufgenommen und verarbeitet wurden, eine Gelegenheit zum Bereitstellen von Redundanz im System bereitstellen. Eine solche Redundanz kann zum Beispiel beinhalten, eine erste Bildaufnahmevorrichtung und die Bilder, die von dieser Vorrichtung verarbeitet werden, zu verwenden, um Informationen zu validieren und/oder zu ergänzen, die durch Aufnehmen und Verarbeiten von Bildinformationen aus mindestens einer zweiten Bildaufnahmevorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122 und 124) verwenden, um Navigationsunterstützung für das Fahrzeug 200 bereitzustellen, und eine dritte Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 126) verwenden, um Redundanz bereitzustellen und die Analyse von Daten zu validieren, die aus den anderen beiden Bildaufnahmevorrichtungen empfangen werden. Zum Beispiel können in einer solchen Konfiguration die Bildaufnahmevorrichtungen 122 und 124 Bilder für Stereoanalyse durch das System 100 zum Navigieren des Fahrzeugs 200 bereitstellen, während die Bildaufnahmevorrichtung 126 Bilder für monokulare Analyse durch das System 100 bereitstellen kann, um Redundanz und Validierung von Informationen bereitzustellen, die basierend auf Bildern erhalten werden, die durch die Bildaufnahmevorrichtung 122 und/oder die Bildaufnahmevorrichtung 124 aufgenommen wurden. Das heißt, die Bildaufnahmevorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) kann so betrachtet werden, dass sie ein redundantes Subsystem zum Bereitstellen einer Überprüfung der Analyse bereitstellt, die von den Bildaufnahmevorrichtungen 122 und 124 abgeleitet wurde (um z. B. ein automatisches Notbremssystem (AEB)-System) bereitzustellen). Des Weiteren können in einigen Ausführungsformen Redundanz und Validierung von empfangenen Daten basierend auf Informationen ergänzt werden, die aus einem oder mehreren Sensoren empfangen werden (z. B. Radar, Lidar, akustische Sensoren, Informationen, die aus 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 werden, können in einer Vielzahl von unterschiedlichen Konfigurationen zusammengefügt und verwendet werden, ohne vom Schutzbereich der offenbarten Ausführungsformen abzuweichen. Weitere Details in Bezug auf die Verwendung eines Multi-Kamera-Systems, um eine Fahrerassistenzfunktionalität und/oder 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 Operationen 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 wird, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine beliebige spezielle 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 in den folgenden Erörterungen Verweise 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 durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie etwa Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 monokulare Bildanalyse eines Satzes von Bildern durchführen, der durch eine der Bildaufnahmevorrichtungen 122, 124 und 126 erfasst wurde. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen aus Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit den nachstehenden 5A - 5D beschrieben wird, kann das monokulare Bildanalysemodul 402 Anweisungen zum Detektieren eines Satzes von Merkmalen innerhalb des Satzes von Bildern beinhalten, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, gefährliche Objekte und ein beliebiges anderes Merkmal, das mit einer Umgebung eines Fahrzeugs assoziiert ist. Basierend auf der Analyse kann das System 100 (z. B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie etwa ein Abbiegen, einen Fahrspurwechsel, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert wird.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (wie etwa Computer Vision Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 Stereobildanalyse des ersten und zweiten Satzes von Bildern durchführen, die durch eine Kombination von Bildaufnahmevorrichtungen erfasst wurden, die aus einer beliebigen der Bildaufnahmevorrichtungen 122, 124 und 126 ausgewählt wurden. 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 aus Radar) kombinieren, um die Stereobildanalyse durchzuführen. Zum Beispiel kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen von Stereobildanalyse basierend auf einem ersten Satz von Bildern, der durch die Bildaufnahmevorrichtung 124 erfasst wurde, und einem zweiten Satz von Bildern, der durch die Bildaufnahmevorrichtung 126 erfasst wurde, beinhalten. Wie in Verbindung mit der nachstehenden 6 beschrieben wird, kann das Stereobildanalysemodul 404 Anweisungen zum Detektieren eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern beinhalten, wie etwa Fahrspurmarkierungen, 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 bewirken, wie etwa ein Abbiegen, einen Fahrspurwechsel, eine Änderung der Beschleunigung und dergleichen, wie nachstehend in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert wird. Des Weiteren kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System assoziiert sind, wie etwa einem System, das dazu konfiguriert sein kann, Computer Vision-Algorithmen zu verwenden, um Objekte in einer Umgebung zu detektieren und/oder zu kennzeichnen, aus der sensorische Informationen aufgenommen und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule dazu konfiguriert sein, eine Kombination eines trainierten und eines untrainierten Systems zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die dazu konfiguriert ist, Daten zu analysieren, die aus einer oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die dazu konfiguriert sind, eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu bewirken. Zum Beispiel kann die Verarbeitungseinheit 110 Anweisungen ausführen, die mit dem Geschwindigkeits- und Beschleunigungsmodul 406 assoziiert sind, um eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können zum Beispiel eine Zielposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 relativ zu einem Fahrzeug, Fußgänger oder Straßenobjekt in der Nähe, Positionsinformationen für das Fahrzeug 200 relativ zu Fahrspurmarkierungen der Straße und dergleichen beinhalten. Zusätzlich kann die Verarbeitungseinheit 110 eine Zielgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingaben (z. B. Informationen aus Radar) und Eingaben aus anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200, berechnen. Basierend auf der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale zum Drosselsystem 220, Bremssystem 230 und/oder Lenksystem 240 des Fahrzeugs 200 übertragen, um eine Änderung der Geschwindigkeit und/oder Beschleunigung auszulösen, indem sie zum Beispiel die Bremse physisch niederdrückt oder das Gaspedal des Fahrzeugs 200 freigibt.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu bestimmen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet werden. Solche Daten können Positions- und Geschwindigkeitsinformationen beinhalten, die mit Fahrzeugen, Fußgängern und Straßenobjekten in der Nähe, 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 detektiert werden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z. B. Informationen aus Radar) und Eingaben aus anderen Systemen des Fahrzeugs 200, wie etwa dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale zum Drosselsystem 220, Bremssystem 230 und Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem sie zum Beispiel das Lenkrad des Fahrzeugs 200 dreht, um eine Drehung um einen vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z. B. die gewünschte Navigationsreaktion) als Eingabe für die Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 verwenden, um eine Geschwindigkeitsänderung des Fahrzeugs 200 zu berechnen.
  • Des Weiteren können beliebige der hier offenbarten Module (z. B. die Module 402, 404 und 406) Techniken implementieren, die mit einem trainierten System (wie etwa einem neuronalen Netzwerk oder einem tiefen neuronalen Netzwerk) oder einem untrainierten System assoziiert sind.
  • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf monokularer Bildanalyse zeigt, konsistent mit den offenbarten Ausführungsformen. Im 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 beinhaltet ist (wie etwa die Bildaufnahmevorrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Gebiets vor dem Fahrzeug 200 (oder zum Beispiel neben oder hinter einem Fahrzeug) aufnehmen und sie über eine Datenverbindung (z. B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) zur Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern im Schritt 520 zu analysieren, wie in Verbindung mit den nachstehenden 5B - 5D ausführlicher beschrieben wird. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern detektieren, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um verschiedene Straßengefahren im Schritt 520 zu detektieren, wie etwa zum Beispiel Teile eines Lkw-Reifens, umgefallene Verkehrszeichen, verlorene Ladung, kleine Tiere und dergleichen. Straßengefahren können in Struktur, Form, Größe und Farbe variieren, was die Detektion solcher Gefahren schwieriger machen kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen, um eine Multi-Frame-Analyse an der Vielzahl von Bildern durchzuführen, um Straßengefahren zu detektieren. Zum Beispiel kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Bildframes schätzen und die Disparitäten in Pixeln zwischen den Frames berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren zu detektieren, die über der Straßenoberfläche vorhanden sind.
  • Im Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die im Schritt 520 durchgeführt wurde, und den Techniken, wie sie vorstehend in Verbindung mit 4 beschrieben wurden, zu bewirken. Navigationsreaktionen können zum Beispiel ein Abbiegen, einen Fahrspurwechsel, 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 bewirken. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in einer beliebigen Kombination davon stattfinden. Beispielsweise kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 eine Fahrspur wechselt und dann beschleunigt, indem sie zum Beispiel Steuersignale sequenziell zum Lenksystem 240 und Drosselsystem 220 des Fahrzeugs 200 überträgt. Alternativ kann die Verarbeitungseinheit 110 bewirken, dass das Fahrzeug 200 bremst, während es gleichzeitig die Fahrspur wechselt, indem sie zum Beispiel Steuersignale gleichzeitig zum Bremssystem 230 und Lenksystem 240 des Fahrzeugs 200 überträgt.
  • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zum Detektieren eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern zeigt, konsistent mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. Im Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger repräsentieren. Zum Beispiel 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 interessierende Objekte enthalten können (z. B. Fahrzeuge, Fußgänger oder Abschnitte davon). Die vorbestimmten Muster können so ausgestaltet sein, dass eine hohe Rate von „falschen Treffern“ („false hits“) und eine niedrige Rate von „Aussetzern“ („misses“) erreicht wird. Zum Beispiel kann die Verarbeitungseinheit 110 einen niedrigen Schwellenwert der Ähnlichkeit mit vorbestimmten Mustern verwenden, um Kandidatenobjekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Dies kann es der Verarbeitungseinheit 110 gestatten, die Wahrscheinlichkeit des Verfehlens (z. B. Nicht-Identifizierens) eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, zu reduzieren.
  • Im Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die 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 zu verwerfen.
  • Im Schritt 544 kann die Verarbeitungseinheit 110 mehrere Frames analysieren, um zu bestimmen, ob Objekte in dem Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger repräsentieren. Zum Beispiel kann die Verarbeitungseinheit 110 ein detektiertes Kandidatenobjekt über aufeinanderfolgende Frames verfolgen und Frame-für-Frame-Daten akkumulieren, die mit dem detektierten Objekt assoziiert sind (z. B. Größe, Position relativ zum Fahrzeug 200 usw.). Zusätzlich kann die Verarbeitungseinheit 110 Parameter für das detektierte Objekt schätzen und die Frame-für-Frame-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • Im Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messwerten für die detektierten Objekte erstellen. Solche Messwerte können zum Beispiel Positions-, Geschwindigkeits- und Beschleunigungswerte (relativ zum Fahrzeug 200) beinhalten, die mit den detektierten Objekten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messwerte basierend auf Schätztechniken unter Verwendung einer Serie von zeitbasierten Beobachtungen, wie etwa Kalman-Filter oder lineare quadratische Schätzung (LQE, Linear Quadratic Estimation), und/oder basierend auf verfügbaren Modellierungsdaten für unterschiedliche Objekttypen (z. B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenzeichen usw.) erstellen. Die Kalman-Filter können auf einem Messwert eines Maßstabs eines Objekts basieren, wobei der Maßstabsmesswert proportional zu einer Zeit bis zur Kollision ist (z. B. der zeitlichen Dauer, die 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 vorkommen, 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 bewirken, wie vorstehend in Verbindung mit 5A beschrieben wird.
  • Im Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse von einem oder mehreren Bildern durchführen, um die Wahrscheinlichkeiten des Detektierens eines „falschen Treffers“ („false hit“) und des Verfehlens eines Kandidatenobjekts, das ein Fahrzeug oder einen Fußgänger repräsentiert, zu reduzieren. Die optische Flussanalyse kann sich zum Beispiel auf das Analysieren von Bewegungsmustern relativ zum Fahrzeug 200 in 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 unterschiedlichen Positionen der Objekte über mehrere Bildframes beobachtet, die zu unterschiedlichen Zeiten aufgenommen wurden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zum Berechnen der Bewegung der Kandidatenobjekte verwenden. Somit kann die optische Flussanalyse ein anderes Verfahren zum Detektieren von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann optische Flussanalyse in Kombination mit den Schritten 540 - 546 durchführen, um Redundanz zum Detektieren von Fahrzeugen und Fußgängern bereitzustellen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Detektieren von Straßenmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern zeigt, konsistent mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. Im Schritt 550 kann die Verarbeitungseinheit 110 einen Satz von Objekten durch Scannen eines oder mehrerer Bilder detektieren. Um Segmente von Fahrspurmarkierungen, Fahrspurgeometrieinformationen und andere relevante Straßenmarkierungen zu detektieren, 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.). Im Schritt 552 kann die Verarbeitungseinheit 110 die im Schritt 550 detektierten Segmente gruppieren, die zu derselben Straßenmarkierung oder Fahrspurmarkierung gehören. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell zum Repräsentieren der detektierten Segmente entwickeln, wie etwa ein mathematisches Modell.
  • Im Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messwerten erstellen, die mit den detektierten Segmenten assoziiert sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der detektierten Segmente von der Bildebene auf die realweltliche Ebene erstellen. Die Projektion kann unter Verwendung eines Polynoms dritten Grades charakterisiert werden, das Koeffizienten aufweist, die physischen Eigenschaften entsprechen, wie etwa die Position, Steigung, Krümmung und Krümmungsableitung der detektierten Straße. Beim Generieren der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche sowie Nick- 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 Nick- und Rollraten schätzen, die mit dem Fahrzeug 200 assoziiert sind, indem sie einen Satz von Merkmalspunkten in dem einen oder den mehreren Bildern verfolgt.
  • Im Schritt 556 kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse durchführen, indem sie zum Beispiel die detektierten Segmente über aufeinanderfolgende Frames verfolgt und Frame-für-Frame-Daten akkumuliert, die mit detektierten Segmenten assoziiert sind. Wenn die Verarbeitungseinheit 110 Multi-Frame-Analyse durchführt, kann der Satz von Messwerten, der im Schritt 554 erstellt wurde, zuverlässiger werden und mit einem zunehmend höheren Vertrauenslevel 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 vorkommen, und Fahrspurgeometrieinformationen ableiten. Basierend auf der Identifizierung und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie vorstehend in Verbindung mit 5A beschrieben wird.
  • Im Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen berücksichtigen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seiner Umgebung weiterzuentwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 das autonome Steuern 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 Leitplanken und/oder allgemeine Straßenformbeschreibungen, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert wurden, berücksichtigen. 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 Flussdiagramm, das einen beispielhaften Prozess 500D zum Detektieren von Ampeln in einem Satz von Bildern zeigt, konsistent mit offenbarten Ausführungsformen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. Im Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern scannen und Objekte identifizieren, die an Orten in den Bildern vorkommen, die wahrscheinlich Ampeln enthalten. Zum Beispiel kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu erstellen, wobei jene Objekte ausgeschlossen werden, die wahrscheinlich nicht Ampeln entsprechen. Das Filtern kann basierend auf verschiedenen Eigenschaften erfolgen, die mit Ampeln assoziiert sind, wie etwa Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuersignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Multi-Frame-Analyse an dem Satz von Kandidatenobjekten durchführen, die mögliche Ampeln wiedergeben. Zum Beispiel kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildframes verfolgen, die realweltliche Position der Kandidatenobjekte schätzen und jene Objekte herausfiltern, die sich bewegen (die wahrscheinlich keine Ampeln sind). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse an den Kandidatenobjekten durchführen und die relative Position der detektierten Farben identifizieren, die innerhalb möglicher Ampeln vorkommen.
  • Im Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination von Folgenden basieren: (i) der Anzahl von Fahrspuren, die auf beiden Seiten des Fahrzeugs 200 detektiert werden, (ii) Markierungen (wie etwa Pfeilmarkierungen), die auf der Straße detektiert werden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (wie etwa Daten aus der Kartendatenbank 160) extrahiert werden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des monokularen Analysemoduls 402 abgeleitet werden. Zusätzlich kann die Verarbeitungseinheit 110 eine Entsprechung zwischen den Ampeln bestimmen, die im Schritt 560 detektiert werden, und den Fahrspuren, die in der Nähe des Fahrzeugs 200 vorkommen.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 im Schritt 564 das Vertrauenslevel aktualisieren, das mit der analysierten Kreuzungsgeometrie und den detektierten Ampeln assoziiert ist. Beispielsweise kann die Anzahl von Ampeln, deren Vorkommen an der Kreuzung geschätzt wird, im Vergleich zu der Anzahl, die tatsächlich an der Kreuzung vorkommt, das Vertrauenslevel beeinflussen. Somit kann die Verarbeitungseinheit 110 basierend auf dem Vertrauenslevel das Steuern 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 vorkommen, und Kreuzungsgeometrieinformationen analysieren. Basierend auf der Identifizierung und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie vorstehend in Verbindung mit 5A beschrieben wird.
  • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E zum Bewirken einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 basierend auf einem Fahrzeugweg zeigt, konsistent mit den offenbarten Ausführungsformen. Im Schritt 570 kann die Verarbeitungseinheit 110 einen Anfangsfahrzeugweg erstellen, der mit dem Fahrzeug 200 assoziiert ist. Der Fahrzeugweg kann unter Verwendung eines Satzes von Punkten repräsentiert werden, die in Koordinaten (x, z) ausgedrückt sind, und die Distanz di zwischen zwei Punkten in dem Satz von Punkten kann in den Bereich von 1 bis 5 Metern fallen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Anfangsfahrzeugweg unter Verwendung von zwei Polynomen erstellen, wie etwa linken und rechten Straßenpolynomen. 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 dem Fahren in der Mitte einer Fahrspur entsprechen). Der Versatz kann in einer Richtung senkrecht zu einem Segment zwischen zwei beliebigen Punkten im Fahrzeugweg sein. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugwegs um die Hälfte der geschätzten Fahrspurbreite plus einen vorbestimmten Versatz (z. B. einen intelligenten Fahrspurversatz) zu versetzen.
  • Im Schritt 572 kann die Verarbeitungseinheit 110 den Fahrzeugweg aktualisieren, der im Schritt 570 erstellt wurde. Die Verarbeitungseinheit 110 kann den Fahrzeugweg, der im Schritt 570 erstellt wurde, unter Verwendung einer höheren Auflösung neu erstellen, so dass die Distanz dk zwischen zwei Punkten im Satz von Punkten, die den Fahrzeugweg repräsentieren, kleiner als die vorstehend beschriebene Distanz di ist. Zum Beispiel kann die Distanz dk im Bereich von 0,1 bis 0,3 Metern liegen. Die Verarbeitungseinheit 110 kann den Fahrzeugweg unter Verwendung eines parabolischen Spline-Algorithmus neu erstellen, der einen kumulativen Distanzvektor S ergeben kann, der der Gesamtlänge des Fahrzeugwegs entspricht (d. h. basierend auf dem Satz von Punkten, die den Fahrzeugweg repräsentieren).
  • Im Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl)) basierend auf dem aktualisierten Fahrzeugweg bestimmen, der im Schritt 572 erstellt wurde. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Distanzvektor S extrahieren, und der Vorausschaupunkt kann mit einer Vorausschaudistanz und einer Vorausschauzeit assoziiert sein. Die Vorausschaudistanz, die 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 zum Beispiel die Geschwindigkeit des Fahrzeugs 200 abnimmt, kann die Vorausschaudistanz ebenfalls abnehmen (z. B., bis sie die untere Grenze erreicht). Die Vorausschauzeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung eines oder mehrerer Regelkreise sein, die mit dem Bewirken einer Navigationsreaktion im Fahrzeug 200 assoziiert sind, wie etwa der Kursfehlerverfolgungs-Regelkreis. So kann zum Beispiel die Verstärkung des Kursfehlerverfolgungs-Regelkreises von der Bandbreite eines Gierratenregelkreises, eines Lenkaktuatorregelkreises, einer Fahrzeugseitendynamik und dergleichen abhängen. Je größer also die Verstärkung des Kursfehlerverfolgungs-Regelkreises ist, desto geringer ist die Vorausschauzeit.
  • Im Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler und einen Gierratenbefehl basierend auf dem im 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 Regelungsverstärkung bestimmen. Die übergeordnete Regelungsverstärkung kann gleich sein: (2 / Vorausschauzeit), wenn die Vorausschaudistanz nicht an der unteren Grenze liegt. Andernfalls kann die übergeordnete Regelungsverstärkung gleich sein: (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschaudistanz).
  • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen zeigt, ob ein vorausfahrendes Fahrzeug die Fahrspur wechselt, konsistent mit den offenbarten Ausführungsformen. Im Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die mit einem vorausfahrenden Fahrzeug (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt) assoziiert sind. Zum Beispiel kann die Verarbeitungseinheit 110 die Position, Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder die Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der vorstehend in Verbindung mit 5A und 5B beschriebenen Techniken bestimmen. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (mit dem Fahrzeug 200 assoziiert) 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.
  • Im Schritt 582 kann die Verarbeitungseinheit 110 die Navigationsinformationen analysieren, die im Schritt 580 bestimmt wurden. In einer Ausführungsform kann die Verarbeitungseinheit 110 die Distanz zwischen einer Schneckenspur und einem Straßenpolynom (z. B. entlang der Spur) berechnen. Wenn die Varianz dieser Distanz entlang der Spur einen vorbestimmten Schwellenwert überschreitet (zum Beispiel 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 detektiert werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die Schneckenspuren vergleichen, die mit jedem Fahrzeug assoziiert 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 mit dem vorausfahrenden Fahrzeug assoziiert ist) mit der erwarteten Krümmung des Straßensegments vergleichen, auf 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 die Differenz zwischen der Krümmung der Schneckenspur und der erwarteten Krümmung des Straßensegments einen vorbestimmten Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem Vorausschaupunkt (der mit dem Fahrzeug 200 assoziiert ist) über einen spezifischen Zeitraum (z. B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn die Distanz zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Vorausschaupunkt während des spezifischen Zeitraums variiert und die kumulative Summe der Variation einen vorbestimmten Schwellenwert überschreitet (zum Beispiel 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 analysieren, indem sie die seitliche Distanz, die entlang der Spur gefahren wurde, mit der erwarteten Krümmung der Schneckenspur vergleicht. Der erwartete Krümmungsradius kann gemäß der Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx die gefahrene seitliche Distanz repräsentiert und δz die zurückgelegte Längsdistanz repräsentiert. Wenn die Differenz zwischen der zurückgelegten seitlichen Distanz 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. Falls die Position des vorausfahrenden Fahrzeugs eine solche 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.
  • Im Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der im 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 Mittel der einzelnen Analysen, die im Schritt 582 durchgeführt werden, vornehmen. Unter solch einem Schema kann zum Beispiel einer Entscheidung durch die Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt, basierend auf einem speziellen Typ von Analyse ein Wert von „1“ (und „0“, um eine Bestimmung zu repräsentieren, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur nicht wechselt) zugewiesen werden. Unterschiedlichen Analysen, die im Schritt 582 durchgeführt werden, können unterschiedliche Gewichtungen zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf eine beliebige spezielle Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf Stereobildanalyse zeigt, konsistent mit offenbarten Ausführungsformen. Im Schritt 610 kann die Verarbeitungseinheit 110 eine erste und eine zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Zum Beispiel können Kameras, die in der Bilderfassungseinheit 120 beinhaltet sind (wie etwa die Bildaufnahmevorrichtungen 122 und 124 mit den Sichtfeldern 202 und 204), eine erste und eine zweite Vielzahl von Bildern eines Gebiets vor dem Fahrzeug 200 aufnehmen und sie über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) zur 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 beliebige spezielle Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Im Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Stereobildanalyse 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 etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Stereobildanalyse kann auf eine Weise durchgeführt werden, die den Schritten ähnlich ist, die vorstehend in Verbindung mit 5A - 5D beschrieben wird. Zum Beispiel kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Straßenmarkierungen, Ampeln, Straßengefahren usw.) innerhalb der ersten und zweiten Vielzahl von Bildern zu detektieren, eine Teilmenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und eine Multi-Frame-Analyse durchzuführen, Messwerte zu erstellen und ein Vertrauenslevel für die übrigen 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 allein. Zum Beispiel kann die Verarbeitungseinheit 110 die Differenzen in den Daten auf Pixellevel (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 vorkommt. Als ein anderes 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 einer der Vielzahl von Bildern vorkommt, aber nicht in der anderen, oder relativ zu anderen Differenzen, die relativ zu Objekten vorhanden sein können, die in beiden Bildströmen vorkommen. Zum Beispiel 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 vorkommt.
  • Im Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der Analyse, die im Schritt 620 durchgeführt wurde, und den Techniken, wie sie vorstehend in Verbindung mit 4 beschrieben wurden, zu bewirken. Navigationsreaktionen können zum Beispiel ein Abbiegen, einen Fahrspurwechsel, 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 bewirken. Zusätzlich können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in einer beliebigen Kombination davon stattfinden.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern zeigt, konsistent mit offenbarten Ausführungsformen. Im Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras, die in der Bilderfassungseinheit 120 beinhaltet sind (wie etwa die Bildaufnahmevorrichtungen 122, 124 und 126 mit den Sichtfeldern 202, 204 und 206), eine erste, zweite und dritte Vielzahl von Bildern eines Gebiets vor und/oder neben dem Fahrzeug 200 aufnehmen und sie über eine digitale Verbindung (z. B. USB, drahtlos, Bluetooth usw.) zur 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. Zum Beispiel kann jede der Bildaufnahmevorrichtungen 122, 124, 126 eine assoziierte Datenschnittstelle zum Kommunizieren von Daten zur Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf beliebige spezielle Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • Im Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale innerhalb der Bilder zu erfassen, wie etwa Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Verkehrszeichen, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Analyse kann auf eine Weise durchgeführt werden, die den Schritten ähnlich ist, die vorstehend in Verbindung mit 5A - 5D und 6 beschrieben wird. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den in Verbindung mit 5A - 5D vorstehend beschriebenen Schritten) an jeder der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404 und basierend auf den in Verbindung mit 6 vorstehend beschriebenen Schritten) an der ersten und zweiten Vielzahl von Bildern, der zweiten und dritten Vielzahl von Bildern und/oder der ersten und dritten Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination von monokularen und Stereobildanalysen durchführen. Zum Beispiel kann die Verarbeitungseinheit 110 monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402) an der ersten Vielzahl von Bildern und Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404) an der zweiten und dritten Vielzahl von Bildern durchführen. Die Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Orte und Sichtfelder 202, 204 und 206 - kann die Typen von Analysen beeinflussen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine spezielle Konfiguration der Bildaufnahmevorrichtungen 122, 124 und 126 oder die Typen 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 in den Schritten 710 und 720 erfasst und analysiert wurden. Ein solches Testen kann einen Indikator der Gesamtleistung des Systems 100 für bestimmte Konfigurationen der Bildaufnahmevorrichtungen 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“ bestimmen.
  • Im Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf Informationen bewirken, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet wurden. Die Auswahl von zwei der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie etwa der Anzahl, den Typen und den Größen von Objekten, die in jeder 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 wiedergegeben wird, der Anzahl aufgenommener Frames, dem Ausmaß, in dem ein oder mehrere interessierende Objekte tatsächlich in den Frames vorkommen (z. B. der Prozentsatz von Frames, in denen ein Objekt vorkommt, der Anteil des Objekts, das in jedem solchen Frame vorkommt, usw.) und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, indem sie bestimmt, inwieweit Informationen, die aus einer Bildquelle abgeleitet werden, mit Informationen konsistent sind, die aus anderen Bildquellen abgeleitet werden. Zum Beispiel kann die Verarbeitungseinheit 110 die verarbeiteten Informationen, die aus jeder der Bildaufnahmevorrichtungen 122, 124 und 126 abgeleitet werden (ob durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination der beiden), kombinieren und visuelle Indikatoren (z. B. Fahrspurmarkierungen, ein detektiertes Fahrzeug und seinen Ort und/oder Weg, eine detektierte Ampel usw.) bestimmen, die über die Bilder konsistent sind, die aus jeder der Bildaufnahmevorrichtungen 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 angibt, das sich zu nahe am Fahrzeug 200 befindet, usw.). Somit kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet werden, basierend auf den Bestimmungen konsistenter und inkonsistenter Informationen.
  • Navigationsreaktionen können zum Beispiel ein Abbiegen, einen Fahrspurwechsel, eine Änderung der Beschleunigung und dergleichen beinhalten. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der Analyse, die im Schritt 720 durchgeführt wurde, und den Techniken, wie vorstehend in Verbindung mit 4 beschrieben, bewirken. 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 bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen basierend auf einer relativen Position, einer relativen Geschwindigkeit und/oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das innerhalb einer beliebigen der ersten, zweiten und dritten Vielzahl von Bildern detektiert wurde, bewirken. Mehrere Navigationsreaktionen können gleichzeitig, nacheinander oder in einer beliebigen Kombination davon vorkommen.
  • 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 eines Straßensegments dienen. Zum Beispiel kann die dünnbesetzte Karte ausreichend Informationen zum Navigieren eines autonomen Fahrzeugs bereitstellen, ohne dass eine große Datenmenge gespeichert und/oder aktualisiert wird. Wie nachstehend ausführlicher erörtert wird, kann ein autonomes Fahrzeug die dünnbesetzte Karte verwenden, um auf einer oder mehreren 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 generieren. Zum Beispiel kann die dünnbesetzte Karte ausreichend Informationen für die Navigation bereitstellen, ohne dass übermäßige Datenspeicherung oder Datenübertragungsraten erforderlich sind. Wie nachstehend ausführlicher erörtert wird, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die dünnbesetzte Karte verwenden, um auf einer oder mehreren Straßen zu navigieren. Zum Beispiel kann die dünnbesetzte Karte in einigen Ausführungsformen Daten beinhalten, die in Bezug zu einer Straße und potenziell zu Orientierungspunkten entlang der Straße stehen, die für die Fahrzeugnavigation ausreichend sein können, aber auch kleine Daten-Footprints aufweisen. Zum Beispiel können die dünnbesetzten Datenkarten, die nachstehend ausführlich beschrieben werden, im Vergleich zu digitalen Karten, die detaillierte Karteninformationen beinhalten, wie etwa entlang einer Straße erhobene Bilddaten, erheblich weniger Speicherplatz und eine erheblich geringere Datenübertragungsbandbreite erfordern.
  • Statt zum Beispiel detaillierte Repräsentationen eines Straßensegments zu speichern, kann die dünnbesetzte Datenkarte dreidimensionale Polynomrepräsentationen von bevorzugten Fahrzeugwegen entlang einer Straße speichern. Diese Wege erfordern möglicherweise sehr wenig Datenspeicherplatz. Ferner können in den beschriebenen dünnbesetzten Datenkarten Orientierungspunkte identifiziert und in das Straßenmodell der dünnbesetzten Karte einbezogen werden, um bei der Navigation zu helfen. Diese Orientierungspunkte können sich in einem beliebigen Abstand befinden, der geeignet ist, die Fahrzeugnavigation zu ermöglichen, 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 beabstandet sind. Wie in anderen Abschnitten ausführlicher erörtert wird, kann die dünnbesetzte Karte basierend auf Daten generiert werden, die durch Fahrzeuge erhoben oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie etwa Bildaufnahmevorrichtungen, Sensoren eines globalen Positionsbestimmungssystems, Bewegungssensoren usw., während die Fahrzeuge Fahrbahnen entlangfahren. In einigen Fällen kann die dünnbesetzte Karte basierend auf Daten generiert werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge entlang einer speziellen Fahrbahn erhoben wurden. Das Generieren einer dünnbesetzten Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer dünnbesetzten Karte bezeichnet werden.
  • Konsistent mit 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 Generieren eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und können ein autonomes Fahrzeug entlang eines Straßensegments unter Verwendung einer dünnbesetzten Karte und/oder eines generierten Straßennavigationsmodells navigieren. Dünnbesetzte Karten, die konsistent mit der vorliegenden Offenbarung sind, können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien repräsentieren können, die autonome Fahrzeuge befahren können, wenn sie sich assoziierte Straßensegmente entlangbewegen.
  • Dünnbesetzte Karten, die konsistent mit der vorliegenden Offenbarung sind, können auch Daten beinhalten, die ein oder mehrere Straßenmerkmale repräsentieren. Solche 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 konsistent mit der vorliegenden Offenbarung sind, können die autonome Navigation eines Fahrzeugs basierend auf relativ kleinen Datenmengen ermöglichen, die in der dünnbesetzten Karte beinhaltet sind. Statt dass sie detaillierte Repräsentationen einer Straße, wie etwa Straßenränder, Straßenkrümmung, mit Straßensegmenten assoziierte Bilder oder Daten, die andere physische Merkmale, die mit einem Straßensegment assoziiert sind, beinhalten, können die offenbarten Ausführungsformen der dünnbesetzten Karte zum Beispiel relativ wenig Speicherplatz (und eine relativ geringe Bandbreite, wenn Abschnitte der dünnbesetzten Karte zu einem Fahrzeug übertragen werden) erfordern, aber dennoch eine autonome Fahrzeugnavigation angemessen bereitstellen. Der kleine Daten-Footprint der offenbarten dünnbesetzten Karten, der nachstehend ausführlicher erörtert wird, kann in einigen Ausführungsformen durch Speichern von Repräsentationen straßenbezogener Elemente erreicht werden, die kleine Datenmengen erfordern, aber dennoch autonome Navigation ermöglichen.
  • Statt detaillierte Repräsentationen von verschiedenen Aspekten einer Straße zu speichern, können die offenbarten dünnbesetzten Karten zum Beispiel Polynomrepräsentationen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug entlang der Straße folgen kann. Statt 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, kann somit ein Fahrzeug unter Verwendung der offenbarten dünnbesetzten Karten entlang eines speziellen Straßensegments navigiert werden, ohne in einigen Fällen physische Aspekte der Straße interpretieren zu müssen, sondern vielmehr durch Alignieren seines Fahrwegs mit einer Trajektorie (z. B. einem Polynom-Spline) entlang des speziellen Straßensegments. Auf diese Weise kann das Fahrzeug hauptsächlich basierend auf der gespeicherten Trajektorie (z. B. einem Polynom-Spline) navigiert werden, die möglicherweise viel weniger Speicherplatz erfordert als ein Ansatz, der die Speicherung von Fahrbahnbildern, Straßenparametern, Straßenlayout usw. beinhaltet.
  • Zusätzlich zu den gespeicherten Polynomrepräsentationen von Trajektorien entlang eines Straßensegments können die offenbarten dünnbesetzten Karten auch kleine Datenobjekte beinhalten, die ein Straßenmerkmal repräsentieren können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen beinhalten, die aus einem digitalen Bild (oder einem digitalen Signal) abgeleitet werden, das durch einen Sensor (z. B. eine Kamera oder einen anderen Sensor, wie etwa einen Aufhängungssensor) an Bord eines Fahrzeugs, das das Straßensegment entlangfährt, erhalten wurde. Die digitale Signatur kann eine reduzierte Größe relativ zu dem Signal aufweisen, das durch den Sensor erfasst wurde. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifiziererfunktion kompatibel ist, die dazu konfiguriert ist, das Straßenmerkmal anhand des Signals zu detektieren und zu identifizieren, das durch den Sensor erfasst wird, zum Beispiel während einer nachfolgenden Fahrt. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen Footprint aufweist, der so klein wie möglich ist, während die Fähigkeit beibehalten wird, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem digitalen Signal, das durch einen Sensor generiert wurde, falls 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 einer nachfolgenden Zeit dasselbe Straßensegment entlangfährt, aufgenommen wird, zu korrelieren oder mit diesem abzugleichen.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte ferner mit einer Eindeutigkeit des Straßenmerkmals assoziiert sein. 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 assoziiert mit einem speziellen Typ von Straßenmerkmal, zum Beispiel einem Straßenzeichen, zu unterscheiden, und wenn ein solches Straßenzeichen in diesem Gebiet lokal eindeutig ist (z. B. gibt es kein identisches Straßenzeichen oder Straßenzeichen des gleichen Typs in der Nähe), kann es zum Beispiel ausreichend sein, Daten zu speichern, die den Typ des Straßenmerkmals und seinen Ort angeben.
  • Wie nachstehend ausführlicher erörtert wird, 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 solchen 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 Straßenzeichens kann in der dünnbesetzte Karte gespeichert werden, um z. B. einige Bytes Daten, die einen Typ des Orientierungspunkts (z. B. ein Stoppzeichen) angeben, und einige Bytes Daten, die einen Ort des Orientierungspunkts (z. B. Koordinaten) angeben, zu beinhalten. Das Navigieren basierend auf solchen Leicht-Daten-Repräsentationen der Orientierungspunkte (z. B. unter Verwendung von Repräsentationen, die zum Lokalisieren, Erkennen und Navigieren basierend auf den Orientierungspunkten ausreichen) kann ein gewünschtes Level an Navigationsfunktionalität bereitstellen, die mit dünnbesetzten Karten assoziiert ist, ohne den Datenoverhead, der mit den dünnbesetzten Karten assoziiert ist, wesentlich zu erhöhen. Diese schlanke Repräsentation von Orientierungspunkten (und anderen Straßenmerkmalen) kann die Sensoren und Prozessoren nutzen, die an Bord solcher Fahrzeuge beinhaltet sind, die dazu konfiguriert sind, bestimmte Straßenmerkmale zu detektieren, zu identifizieren und/oder zu klassifizieren.
  • Wenn zum Beispiel ein Zeichen oder sogar ein spezieller Typ eines Zeichens in einem gegebenen Gebiet lokal eindeutig ist (wenn es z. B. kein anderes Zeichen oder kein anderes Zeichen des gleichen Typs gibt), kann die dünnbesetzte Karte Daten verwenden, die einen Typ eines Orientierungspunkts (ein Zeichen oder einen spezifischen Typ von Zeichen) angeben, und während der Navigation (z. B. der autonomen Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Gebiets aufnimmt, der ein Zeichen (oder einen spezifischen Typ 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 einen spezifischen Typ von Zeichen) klassifizieren und den Ort des Bilds mit dem Ort des Zeichens korrelieren, wie er in der dünnbesetzten Karte gespeichert ist.
  • Die dünnbesetzte Karte kann eine beliebige geeignete Repräsentation von Objekten beinhalten, die entlang eines Straßensegments identifiziert wurden. In einigen Fällen können die Objekte als semantische Objekte oder nicht-semantische Objekte bezeichnet werden. Semantische Objekte können zum Beispiel Objekte beinhalten, die mit einer vorbestimmten Typklassifizierung assoziiert sind. Diese Typklassifizierung kann nützlich sein, um die Datenmenge zu verringern, die erforderlich ist, um das in einer Umgebung erkannte semantische Objekt zu beschreiben, was sowohl in der Sammelphase von Vorteil sein kann (z. B., um Kosten zu reduzieren, die mit einer Bandbreitennutzung zum Übertragen von Fahrtinformationen aus einer Vielzahl von Sammelfahrzeugen zu einem Server assoziiert sind) als auch während der Navigationsphase (z. B. kann die Reduzierung von Kartendaten die Übertragung von Kartenkacheln von einem Server zu einem navigierenden Fahrzeug beschleunigen und kann auch die Kosten, die mit einer Bandbreitennutzung für solche Übertragungen assoziiert sind, reduzieren). Semantische Objektklassifizierungstypen können einem beliebigen Typ von Objekten oder Merkmalen zugewiesen werden, von denen erwartet wird, dass sie entlang einer Fahrbahn angetroffen werden.
  • Semantische Objekte können ferner in zwei oder mehr logische Gruppen unterteilt werden. In einigen Fällen kann zum Beispiel eine Gruppe von semantischen Objekttypen mit vorbestimmten Abmessungen assoziiert werden. Solche semantischen Objekte können bestimmte Geschwindigkeitsbegrenzungszeichen, Vorfahrtzeichen, Einmündungszeichen, Stoppzeichen, Ampeln, Richtungspfeile auf einer Fahrbahn, Kanaldeckel oder einen beliebigen anderen Objekttyp beinhalten, der mit einer standardisierten Größe assoziiert sein kann. Ein Vorteil, den solche semantischen Objekte bieten, besteht darin, dass möglicherweise sehr wenig Daten benötigt werden, um die Objekte zu repräsentieren/vollständig zu definieren. Falls zum Beispiel eine standardisierte Größe eines Geschwindigkeitsbegrenzungszeichens bekannt ist, dann muss ein Sammelfahrzeug möglicherweise nur (durch Analyse eines aufgenommenen Bildes) das Vorhandensein eines Geschwindigkeitsbegrenzungszeichens (ein erkannter Typ) zusammen mit einer Positionsangabe des detektierten Geschwindigkeitsbegrenzungszeichens (z. B. eine 2D-Position im aufgenommenen Bild (oder alternativ eine 3D-Position in realweltlichen Koordinaten) einer Mitte des Zeichens oder einer bestimmten Ecke des Zeichens) identifizieren, um ausreichende Informationen für die Kartengenerierung auf der Serverseite bereitzustellen. Wenn 2D-Bildpositionen zu dem Server übertragen werden, kann auch eine mit dem erfassten Bild assoziierte Position, an der das Zeichen detektiert wurde, übertragen werden, damit der Server eine realweltliche Position des Zeichens bestimmen kann (z. B. durch Structure-in-Motion-Techniken, die mehrere von einem oder mehreren Sammelfahrzeugen aufgenommene Bilder verwenden). Selbst mit diesen beschränkten Informationen (die nur wenige Bytes erfordern, um jedes detektierte Objekt zu definieren) kann der Server die Karte erstellen, die ein vollständig repräsentiertes Geschwindigkeitsbegrenzungszeichen beinhaltet, das auf der Typklassifizierung (repräsentativ für ein Geschwindigkeitsbegrenzungszeichen), die aus einem oder mehreren Sammelfahrzeugen empfangen wurde, zusammen mit den Positionsinformationen für das detektierte Zeichen basiert.
  • Semantische Objekte können auch andere erkannte Objekt- oder Merkmalstypen beinhalten, die nicht mit bestimmten standardisierten Charakteristiken assoziiert sind. Solche Objekte oder Merkmale können Schlaglöcher, Teerfugen, Lichtmasten, nicht standardisierte Zeichen, Bordsteine, Bäume, Äste oder einen beliebigen anderen Typ von erkanntem Objekttyp mit einer oder mehreren variablen Charakteristiken (z. B. variablen Abmessungen) beinhalten. In solchen Fällen kann ein Sammelfahrzeug auch eine Angabe einer Größe des Objekts oder Merkmals übertragen, zusätzlich zum Übertragen einer Angabe des detektierten Objekt- oder Merkmalstyps (z. B. Schlagloch, Pfahl usw.) und Positionsinformationen für das detektierte Objekt oder Merkmal zum Server. Die Größe kann in 2D-Bildabmessungen (z. B. mit einem Begrenzungsrahmen oder einem oder mehreren Abmessungswerten) oder in realweltlichen Abmessungen ausgedrückt werden (bestimmt durch Structure-in-Motion-Berechnungen basierend auf LIDAR- oder RADAR-Systemausgaben, basierend auf Ausgaben trainierter neuronaler Netzwerke usw.).
  • Nicht-semantische Objekte oder Merkmale können beliebige detektierbare Objekte oder Merkmale beinhalten, die außerhalb einer erkannten Kategorie oder eines erkannten Typs liegen, aber dennoch wertvolle Informationen bei der Kartengenerierung bereitstellen können. In einigen Fällen können solche nicht-semantischen Merkmale eine detektierte Ecke eines Gebäudes oder eine Ecke eines detektierten Fensters eines Gebäudes, einen eindeutigen Stein oder ein Objekt in der Nähe einer Fahrbahn, einen Betonspritzer an einem Fahrbahnrand oder ein beliebiges anderes detektierbares Objekt oder Merkmal beinhalten. Beim Detektieren eines solchen Objekts oder Merkmals können ein oder mehrere Sammelfahrzeuge einen Ort eines oder mehrerer Punkte (2D-Bildpunkte oder realweltliche 3D-Punkte), die mit dem detektierten Objekt/Merkmal assoziiert sind, zu einem Kartengenerierungsserver übertragen. Zusätzlich kann ein komprimiertes oder vereinfachtes Bildsegment (z. B. ein Bild-Hash) für eine Region des aufgenommenen Bildes, die das detektierte Objekts oder Merkmal beinhaltet, generiert werden. Dieser Bild-Hash kann basierend auf einem vorbestimmten Bildverarbeitungsalgorithmus berechnet werden und kann eine effektive Signatur für das detektierte nicht-semantische Objekt oder Merkmal bilden. Eine solche Signatur kann für die Navigation relativ zu einer dünnbesetzten Karte, die das nicht-semantische Merkmal oder Objekt beinhaltet, nützlich sein, weil ein Fahrzeug, das die Fahrbahn befährt, einen Algorithmus ähnlich dem Algorithmus anwenden kann, der zum Generieren des Bild-Hash verwendet wird, um das Vorhandensein des kartierten nicht-semantischen Merkmals oder Objekts in einem aufgenommenen Bild zu bestätigen/verifizieren. Unter Verwendung dieser Technik können nicht-semantische Merkmale zur Reichhaltigkeit der dünnbesetzten Karten beitragen (z. B., um ihre Nützlichkeit bei der Navigation zu verbessern), ohne einen signifikanten Datenoverhead hinzuzufügen.
  • Wie bereits erwähnt, können Zieltrajektorien in der dünnbesetzten Karte gespeichert werden. Diese Zieltrajektorien (z. B. 3D-Splines) können die bevorzugten oder empfohlenen Wege für jede verfügbare Fahrspur einer Fahrbahn, jede gültige Wegstrecke über eine Kreuzung, für Einmündungen und Ausfahrten usw. repräsentieren. Zusätzlich zu Zieltrajektorien können auch andere Straßenmerkmale detektiert, gesammelt und in Form von repräsentativen Splines in die dünnbesetzten Karten einbezogen werden. Solche Merkmale können zum Beispiel Straßenränder, Fahrspurmarkierungen, Bordsteine, Leitplanken oder beliebige andere Objekte oder Merkmale beinhalten, die entlang einer Fahrbahn oder eines Straßensegments verlaufen.
  • Generieren 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“ generiert werden, zum Beispiel durch Bildanalyse einer Vielzahl von Bildern, die erfasst wurden, als eines oder mehrere Fahrzeuge das Straßensegment befahren haben.
  • 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. Solche Speichervorrichtungen können beliebige Typen 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, optisch basierte Speichervorrichtungen usw. beinhalten. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Datenbank (z. B. der Kartendatenbank 160) gespeichert sein, die im Speicher 140 oder 150 oder anderen Typen von Speichervorrichtungen gespeichert sein kann.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Speichervorrichtung oder einem nichtflüchtigen computerlesbaren Medium gespeichert sein, das an Bord des Fahrzeugs 200 bereitgestellt wird (z. B. einer Speichervorrichtung, die in einem Navigationssystem an Bord des Fahrzeugs 200 beinhaltet ist). Ein Prozessor (z. B. die Verarbeitungseinheit 110), der im 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 autonomen Fahrzeugs 200 zu generieren, wenn das Fahrzeug ein Straßensegment befährt.
  • Die dünnbesetzte Karte 800 muss jedoch nicht lokal in Bezug auf ein Fahrzeug gespeichert werden. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in 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 mit dem Fahrzeug 200 assoziiert ist. Ein Prozessor (z. B. die Verarbeitungseinheit 110), der im Fahrzeug 200 bereitgestellt ist, kann Daten, die in der dünnbesetzten Karte 800 beinhaltet sind, aus dem entfernten Server empfangen und kann die Daten zum Führen der autonomen Fahrt des Fahrzeugs 200 ausführen. In solchen 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 übrigen Abschnitt oder die übrigen Abschnitte der dünnbesetzten Karte 800 speichern.
  • Des Weiteren kann in solchen 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.) befahren. Es sei auch angemerkt, 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 (z. B. Kartenkacheln) beinhalten, die beim Navigieren eines Fahrzeugs verwendet werden können. Solche Unterkarten können als lokale Karten oder Kartenkacheln bezeichnet werden, und ein Fahrzeug, das eine Fahrbahn entlangfä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, Global Navigation Satellite System) als Index in der Datenbank der dünnbesetzten Karte 800 gespeichert werden. Obwohl die Berechnung von Lenkwinkeln zum Navigieren eines Host-Fahrzeugs im vorliegenden System ohne Abhängigkeit von einer GNSS-Position des Host-Fahrzeugs, von Straßenmerkmalen oder Orientierungspunkten durchgeführt werden kann, können somit solche GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Im Allgemeinen kann die dünnbesetzte Karte 800 basierend auf Daten (z. B. Fahrtinformationen) generiert werden, die von einem oder mehreren Fahrzeugen erhoben werden, wenn sie Fahrbahnen entlangfahren. 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 eine Fahrbahn entlangfahren, aufgezeichnet werden, und die Polynomrepräsentationen einer bevorzugten Trajektorie für Fahrzeuge, die nachfolgende Fahrten entlang der Fahrbahn machen, können basierend auf den erhobenen Trajektorien bestimmt werden, die von dem einen oder den mehreren Fahrzeugen gefahren wurden. Gleichermaßen können Daten, die durch das eine oder die mehreren Fahrzeuge erhoben wurden, dabei helfen, potenzielle Orientierungspunkte entlang einer speziellen Fahrbahn zu identifizieren. Daten, die von durchfahrenden Fahrzeugen erhoben werden, können auch verwendet werden, um Straßenprofilinformationen zu identifizieren, wie etwa Straßenbreitenprofile, Straßenunebenheitsprofile, Verkehrslinienabstandsprofile, Straßenbedingungen usw. Unter Verwendung der erhobenen Informationen kann die dünnbesetzte Karte 800 zur Verwendung beim Navigieren eines oder mehrerer autonomer Fahrzeuge generiert und verteilt werden (z. B. zur lokalen Speicherung oder über eine Datenübertragung im laufenden Betrieb). In einigen Ausführungsformen endet die Kartengenerierung jedoch möglicherweise nicht bei der anfänglichen Generierung 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 erhoben werden, während diese Fahrzeuge weiter Fahrbahnen befahren, die in der dünnbesetzten Karte 800 beinhaltet sind.
  • Daten, die in der dünnbesetzten Karte 800 aufgezeichnet werden, können Positionsinformationen basierend auf Daten eines globalen Positionsbestimmungssystems (GPS, Global Positioning System) beinhalten. Zum Beispiel können Ortsinformationen in der dünnbesetzten Karte 800 für verschiedene Kartenelemente beinhaltet sein, einschließlich zum Beispiel Orte von Orientierungspunkten, Orte von Straßenprofilen usw. Orte für Kartenelemente, die in der dünnbesetzten Karte 800 beinhaltet sind, können unter Verwendung von GPS-Daten erhalten werden, die von Fahrzeugen erhoben 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, die mit dem Fahrzeug assoziiert sind, und eine Bestimmung eines Orts des identifizierten Orientierungspunkts relativ zum Fahrzeug bestimmen (z. B. basierend auf einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs erhoben werden). Solche Ortsbestimmungen eines identifizierten Orientierungspunkts (oder eines beliebigen anderen Merkmals, das in der dünnbesetzten Karte 800 beinhaltet 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 Positionsmesswerte relativ zu einem speziellen Merkmal, das in der dünnbesetzten Karte 800 gespeichert ist, zusammen gemittelt werden. Beliebige andere mathematische Operationen können jedoch auch verwendet werden, um einen gespeicherten Ort eines Kartenelements basierend auf einer Vielzahl von bestimmten Orten für das Kartenelement zu verfeinern.
  • In einem speziellen Beispiel können Sammelfahrzeuge ein spezielles Straßensegment befahren. Jedes Sammelfahrzeug nimmt Bilder seiner jeweiligen Umgebungen auf. Die Bilder können mit einer beliebigen geeigneten Einzelbild-Aufnahmerate (z. B. 9 Hz usw.) erhoben werden. Ein oder mehrere Bildanalyseprozessoren an Bord jedes Sammelfahrzeugs analysieren die aufgenommenen Bilder, um das Vorhandensein semantischer und/oder nicht-semantischer Merkmale/Objekte zu detektieren. Auf einer hohen Ebene übertragen die Sammelfahrzeuge Angaben von Detektionen der semantischen und/oder nicht-semantischen Objekte/Merkmale zusammen mit Positionen, die mit diesen Objekten/Merkmalen assoziiert sind, zu einem Kartierungsserver. Genauer gesagt, können Typindikatoren, Abmessungsindikatoren usw. zusammen mit den Positionsinformationen übertragen werden. Die Positionsinformationen können beliebige geeignete Informationen beinhalten, um dem Kartierungsserver zu ermöglichen, die detektierten Objekte/Merkmale zu einer dünnbesetzten Karte, die für die Navigation nützlich ist, zu aggregieren. In einigen Fällen können die Positionsinformationen eine oder mehrere 2D-Bildpositionen (z. B. X-Y-Pixelorte) in einem aufgenommenen Bild beinhalten, in dem die semantischen oder nicht-semantischen Merkmale/Objekte detektiert wurden. Solche Bildpositionen können einer Mitte des Merkmals/Objekts, einer Ecke usw. entsprechen. In diesem Szenario kann jedes Sammelfahrzeug dem Server auch einen Ort (z. B. einen GPS-Ort), an dem jedes Bild aufgenommen wurde, bereitstellen, um dem Kartierungsserver bei der Rekonstruktion der Fahrtinformationen und dem Alignieren der Fahrtinformationen aus mehreren Sammelfahrzeugen zu helfen.
  • In anderen Fällen kann das Sammelfahrzeug dem Server einen oder mehrere realweltliche 3D-Punkte bereitstellen, die mit den detektierten Objekten/Merkmalen assoziiert sind. Solche 3D-Punkte können relativ zu einem vorbestimmten Ursprung (wie etwa einem Ursprung eines Fahrtsegments) sein und können durch eine beliebige geeignete Technik bestimmt werden. In einigen Fällen kann eine Structure-in-Motion-Technik verwendet werden, um die realweltliche 3D-Position eines detektierten Objekts/Merkmals zu bestimmen. Zum Beispiel kann ein bestimmtes Objekt, wie etwa ein spezielles Geschwindigkeitsbegrenzungszeichen, in zwei oder mehr aufgenommenen Bildern detektiert werden. Unter Verwendung von Informationen, wie etwa der bekannten Eigenbewegung (Geschwindigkeit, Trajektorie, GPS-Position usw.) des Sammelfahrzeugs zwischen den aufgenommenen Bildern, zusammen mit beobachteten Änderungen des Geschwindigkeitsbegrenzungszeichens in den aufgenommenen Bildern (Änderung der X-Y-Pixelposition, Änderung der Größe usw.), kann die realweltliche Position eines oder mehrerer Punkte, die mit dem Geschwindigkeitsbegrenzungszeichen assoziiert sind, bestimmt werden und an den Kartierungsserver weitergegeben werden. Ein solcher Ansatz ist optional, weil er mehr Berechnung seitens der Sammelfahrzeugsysteme erfordert. Die dünnbesetzte Karte der offenbarten Ausführungsformen kann autonome Navigation eines Fahrzeugs unter Verwendung relativ kleiner Mengen gespeicherter 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 repräsentieren) von weniger als 2 MB pro Straßenkilometer, weniger als 1 MB pro Straßenkilometer, weniger als 500 kB pro Straßenkilometer oder weniger als 100 kB pro Straßenkilometer aufweisen. In einigen Ausführungsformen kann die Datendichte der dünnbesetzten Karte 800 weniger als 10 kB pro Straßenkilometer oder sogar weniger als 2 kB pro Straßenkilometer (z. B. 1,6 kB pro Kilometer) oder nicht mehr als 10 kB pro Straßenkilometer oder nicht mehr als 20 kB pro Straßenkilometer betragen. In einigen Ausführungsformen können die meisten, wenn nicht alle, der Fahrbahnen der Vereinigten Staaten autonom unter Verwendung einer dünnbesetzten Karte navigiert werden, die insgesamt 4 GB oder weniger Daten aufweist. Diese Datendichtewerte können einen Mittelwert über eine gesamte dünnbesetzte Karte 800, über eine lokale Karte innerhalb der dünnbesetzten Karte 800 und/oder über ein spezielles Straßensegment innerhalb der dünnbesetzten Karte 800 repräsentieren.
  • Wie angemerkt, kann die dünnbesetzte Karte 800 Repräsentationen einer Vielzahl von Zieltrajektorien 810 zum Führen von autonomem Fahren oder Navigation entlang eines Straßensegments beinhalten. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert werden. Die in der dünnbesetzten Karte 800 gespeicherten Zieltrajektorien können zum Beispiel basierend auf zwei oder mehr rekonstruierten Trajektorien von vorherigen Fahrten von Fahrzeugen entlang eines speziellen Straßensegments bestimmt werden. Ein Straßensegment kann mit einer einzelnen Zieltrajektorie oder mehreren Zieltrajektorien assoziiert werden. Zum Beispiel kann auf einer zweispurigen Straße eine erste Zieltrajektorie gespeichert werden, um einen beabsichtigten Fahrweg entlang der Straße in einer ersten Richtung zu repräsentieren, 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) zu repräsentieren. Zusätzliche Zieltrajektorien können in Bezug auf ein spezielles Straßensegment gespeichert werden. Zum Beispiel können auf einer mehrspurigen Straße eine oder mehrere Zieltrajektorien gespeichert werden, die beabsichtigte Fahrwege für Fahrzeuge auf einer oder mehreren Fahrspuren repräsentieren, 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 sein, als Fahrspuren 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 Größe des Fahrspurversatzes gegenüber einer Fahrspur, für die eine Zieltrajektorie gespeichert ist, zu führen (falls z. B. 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 Größe des Fahrspurversatzes zwischen der mittleren Fahrspur und der am weitesten links gelegenen Fahrspur berücksichtigt, wenn es Navigationsanweisungen generiert).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Weg repräsentieren, den ein Fahrzeug nehmen sollte, wenn das Fahrzeug fährt. Die Zieltrajektorie kann sich zum Beispiel in einer ungefähren Mitte einer Fahrspur befinden. In anderen Fällen kann sich die Zieltrajektorie an anderer Stelle relativ zu einem Straßensegment befinden. Zum Beispiel kann eine Zieltrajektorie ungefähr mit einer Mitte einer Straße, einem Rand einer Straße oder einem Rand einer Fahrspur usw. übereinstimmen. In solchen Fällen kann die Navigation basierend auf der Zieltrajektorie eine bestimmte Versatzgröße 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 Zieltrajektorie aufrechtzuerhalten ist, basierend auf einem Fahrzeugtyp unterscheiden (z. B. kann ein Personenkraftwagen, der zwei Achsen beinhaltet, einen anderen Versatz als ein Lastwagen aufweisen, der mehr als zwei Achsen entlang mindestens eines Abschnitts der Zieltrajektorie beinhaltet).
  • Die dünnbesetzte Karte 800 kann auch Daten beinhalten, die sich auf eine Vielzahl von vorbestimmten Orientierungspunkten 820 beziehen, die mit speziellen Straßensegmenten, lokalen Karten usw. assoziiert sind. Wie nachstehend ausführlicher erörtert wird, können diese Orientierungspunkte bei der Navigation des autonomen Fahrzeugs verwendet werden. Zum Beispiel 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 zu justieren, so dass sie mit einer Richtung der Zieltrajektorie an dem bestimmten Ort übereinstimmt.
  • 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. Zum Beispiel 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 zueinander beabstandet sein. In einigen Fällen können sich die identifizierten Orientierungspunkte sogar in Distanzen von mehr als 2 Kilometern auseinander befinden.
  • 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 akkumulieren 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) vorkommen, um die durch Koppelnavigation induzierten Fehler bei der Positionsbestimmung zu beseitigen. Auf diese Weise können die identifizierten Orientierungspunkte, die in der dünnbesetzten Karte 800 beinhaltet sind, als Navigationsanker dienen, anhand derer eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann. Weil eine bestimmte Fehlergröße bei der Positionierung des Ortes akzeptabel sein kann, muss für ein autonomes Fahrzeug nicht immer ein identifizierter Orientierungspunkt 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 identifizierten 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 eines Straßensegments vorkommt, in der dünnbesetzten Karte 800 gespeichert werden.
  • Darüber hinaus können in einigen Ausführungsformen Fahrspurmarkierungen zur Lokalisierung des Fahrzeugs während Orientierungspunktabständen verwendet werden. Durch Verwenden von Fahrspurmarkierungen während Orientierungspunktabständen kann die Akkumulation von Fehlern 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 eines speziellen Straßensegments, 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, werden 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 Fahrspurmarkierungen, 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 laufen, usw.) können ebenfalls unter Verwendung von Polynomen repräsentiert werden, wie etwa den in 9A gezeigten.
  • Wie in 9A gezeigt wird, 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 wird die Fahrspur 900 als eine zweidimensionale Fahrspur gezeigt, und die Polynome werden als zweidimensionale Polynome gezeigt. Wie in 9A dargestellt wird, 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 der Fahrspurbegrenzung zu repräsentieren. Zum Beispiel kann sowohl die linke Seite 910 als auch die rechte 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 beim Navigieren basierend auf nachfolgend angetroffenen Polynomen nahtlose Übergänge zu erleichtern, wenn ein Host-Fahrzeug eine Fahrbahn entlangfährt. Zum Beispiel kann sowohl die linke Seite 910 als auch die rechte Seite 920 durch eine Vielzahl von Polynomen dritter Ordnung repräsentiert werden, die in Segmente von etwa 100 Meter Länge (ein Beispiel für den ersten vorbestimmten Bereich) unterteilt sind und sich miteinander 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. Zum Beispiel können in einigen Ausführungsformen einige Polynome Polynome zweiter Ordnung sein, einige können Polynome dritter Ordnung sein, und einige können Polynome vierter Ordnung sein.
  • In dem in 9A gezeigten Beispiel wird die linke Seite 910 der Fahrspur 900 durch zwei Gruppen von Polynomen dritter Ordnung repräsentiert. Die erste Gruppe beinhaltet die Polynomsegmente 911, 912 und 913. Die zweite Gruppe beinhaltet die 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 Serie um etwa 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome unterschiedlicher Längen und unterschiedlicher Überlappungsgrößen verwendet werden. Zum Beispiel können die Polynome Längen von 500 m, 1 km oder mehr aufweisen, und die Überlappungsgröße kann von 0 bis 50 m, 50 m bis 100 m oder mehr als 100 m variieren. Obwohl 9A als Polynome repräsentierend gezeigt wird, die sich im 2D-Raum erstrecken (z. B. auf der Oberfläche des Papiers), versteht es sich außerdem, dass diese Polynome Kurven repräsentieren können, die sich in drei Dimensionen erstrecken (z. B. eine Höhenkomponente beinhalten), um Höhenänderungen in einem Straßensegment zusätzlich zur X-Y-Krümmung zu repräsentieren. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 der Fahrspur 900 ferner durch eine erste Gruppe mit den Polynomsegmenten 921, 922 und 923 und eine zweite Gruppe mit den Polynomsegmenten 924, 925 und 926 repräsentiert.
  • Unter erneuter Bezugnahme auf die Zieltrajektorien der dünnbesetzten Karte 800 zeigt 9B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug repräsentiert, das auf ein spezielles Straßensegment entlangfährt. Die Zieltrajektorie repräsentiert nicht nur den X-Y-Weg, den ein Host-Fahrzeug auf einem speziellen Straßensegments entlangfahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug erfahren wird, wenn es das Straßensegment entlangfährt. Somit kann jede Zieltrajektorie in der dünnbesetzten Karte 800 durch ein oder mehrere dreidimensionale Polynome repräsentiert 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 zu repräsentieren). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale Polynomsegmente verbindet.
  • In Bezug auf den Daten-Footprint von Polynomkurven, die in der dünnbesetzten Karte 800 gespeichert sind, kann in einigen Ausführungsformen jedes Polynom dritten Grads durch vier Parameter repräsentiert werden, die jeweils vier Bytes Daten erfordern. Geeignete Repräsentationen können mit Polynomen dritten Grads erhalten werden, die etwa 192 Bytes Daten für alle 100 m erfordern. Dies kann in ungefähr 200 kB je Stunde in Datennutzungs-/-übertragungsanforderungen für ein Host-Fahrzeug, das ungefähr 100 km/h fährt, ü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 beschrieben werden, wie vorstehend beschrieben wird. Die Metadaten können die Anzahl von Fahrspuren, spezielle Charakteristiken (wie etwa eine Fahrspur des Fahrzeugpools) und möglicherweise andere dünnbesetzte Kennzeichen beschreiben. Der Gesamt-Footprint 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 repräsentiert, 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. Des Weiteren kann in einigen Ausführungsformen das Straßenoberflächenmerkmal mindestens einen Straßenrand und/oder eine Fahrspurmarkierung 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 erfasst wurden, als ein oder mehrere Fahrzeuge das Straßensegment befahren haben.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 eine Vielzahl von vorbestimmten Orientierungspunkten beinhalten, die mit einem Straßensegment assoziiert sind. Statt tatsächliche Bilder der Orientierungspunkte zu speichern und zum Beispiel auf Bilderkennungsanalyse basierend auf aufgenommenen Bildern und gespeicherten Bildern zurückzugreifen, kann jeder Orientierungspunkt in der dünnbesetzten Karte 800 unter Verwendung von weniger Daten repräsentiert und erkannt werden, als ein gespeichertes, tatsächliches Bild erfordern würde. Daten, die 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, statt der tatsächlichen Bilder von Orientierungspunkten, kann die Größe der dünnbesetzten Karte 800 reduzieren.
  • 10 veranschaulicht Beispiele von Typen von Orientierungspunkten, die in der dünnbesetzten Karte 800 repräsentiert sein können. Die Orientierungspunkte können beliebige sichtbare und identifizierbare Objekte entlang eines Straßensegments beinhalten. Die Orientierungspunkte können so ausgewählt werden, dass sie festgelegt 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 beinhaltet sind, können beim Bestimmen eines Orts des Fahrzeugs 200 in Bezug auf eine Zieltrajektorie nützlich sein, wenn das Fahrzeug ein spezielles Straßensegment befährt. Beispiele für 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 beinhaltet sein.
  • Beispiele für Orientierungspunkte, die in 10 gezeigt werden, beinhalten Verkehrszeichen, Richtungszeichen, Straßenrandbefestigungselemente und allgemeine Zeichen. Verkehrszeichen können zum Beispiel Geschwindigkeitsbegrenzungszeichen (z. B. das Geschwindigkeitsbegrenzungszeichen 1000), Vorfahrtzeichen (z. B. das Vorfahrtzeichen 1005), Routennummernzeichen (z. B. das Routennummernzeichen 1010), Ampelzeichen (z. B. das Ampelzeichen 1015), Stoppzeichen (z. B. das Stoppzeichen 1020) beinhalten. Richtungszeichen können ein Zeichen beinhalten, das einen oder mehrere Pfeile beinhaltet, die eine oder mehrere Richtungen zu unterschiedlichen Stellen angeben. Zum Beispiel können Richtungszeichen ein Autobahnzeichen 1025 mit Pfeilen zum Leiten von Fahrzeugen zu unterschiedlichen Straßen oder Stellen, ein Ausfahrtzeichen 1030 mit einem Pfeil, der Fahrzeuge von einer Straße herunterleitet, usw. beinhalten. Dementsprechend kann mindestens einer aus der Vielzahl von Orientierungspunkten ein Straßenzeichen beinhalten.
  • Allgemeine Zeichen stehen möglicherweise nicht in Beziehung zum Verkehr. Zum Beispiel 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 Ortschaften. 10 zeigt ein allgemeines Zeichen 1040 („Joes Restaurant“). Obwohl das allgemeine Zeichen 1040 eine rechteckige Form aufweisen kann, wie in 10 gezeigt wird, kann das allgemeine Zeichen 1040 andere Formen aufweisen, wie etwa Quadrat, Kreis, Dreieck usw.
  • Orientierungspunkte können auch Straßenrandbefestigungselemente beinhalten. Straßenrandbefestigungselemente können Objekte sein, die keine Zeichen sind, und stehen möglicherweise nicht mit Verkehr oder Richtungen in Beziehung. Zum Beispiel können Straßenrandbefestigungselemente Laternenpfosten (z. B. den Laternenpfosten 1035), Stromleitungspfosten, Ampelpfosten usw. beinhalten.
  • Orientierungspunkte können auch Beacons beinhalten, die spezifisch für die Verwendung in einem autonomen Fahrzeugnavigationssystem ausgestaltet sein können. Zum Beispiel können solche Beacons eigenständige Strukturen beinhalten, die in vorbestimmten Intervallen platziert sind, um beim Navigieren eines Host-Fahrzeugs zu helfen. Solche Beacons können auch visuelle/grafische Informationen beinhalten, die zu vorhandenen Verkehrszeichen (z. B. Symbolen, Emblemen, Strichcodes usw.) hinzugefügt werden, die durch ein Fahrzeug, das ein Straßensegment entlangfährt, identifiziert oder erkannt werden können. Solche Beacons können auch elektronische Komponenten beinhalten. In solchen Ausführungsformen können elektronische Beacons (z. B. RFID-Tags usw.) verwendet werden, um nicht visuelle Informationen zu einem Host-Fahrzeug zu übertragen. Solche Informationen können zum Beispiel 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 beinhaltet sind, durch ein Datenobjekt einer vorbestimmten Größe repräsentiert werden. Die Daten, die einen Orientierungspunkt repräsentieren, können beliebige geeignete Parameter zum Identifizieren eines speziellen Orientierungspunkts beinhalten. Zum Beispiel 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 (um z. B. die Schätzung der Distanz zum Orientierungspunkt basierend auf einer bekannten Größe/Maßstab zu unterstützen), eine Distanz 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 (um z. B. die globale Lokalisierung zu unterstützen), und beliebige andere geeignete Parameter beinhalten. Jeder Parameter kann mit einer Datengröße assoziiert sein. Zum Beispiel kann eine Orientierungspunktgröße unter Verwendung von 8 Bytes Daten gespeichert werden. Eine Distanz zu einem vorherigen Orientierungspunkt, ein seitlicher Versatz und eine Höhe können unter Verwendung von 12 Bytes Daten spezifiziert werden. Ein Typcode, der mit einem Orientierungspunkt, wie etwa einem Richtungszeichen oder einem Verkehrszeichen assoziiert ist, kann etwa 2 Bytes Daten erfordern. Für allgemeine Zeichen kann eine Bildsignatur, die die Identifizierung des allgemeinen Zeichens ermöglicht, unter Verwendung von 50 Bytes Datenspeicher gespeichert werden. Die GPS-Position des Orientierungspunkts kann mit 16 Bytes Datenspeicher assoziiert sein. Diese Datengrößen für jeden Parameter sind nur Beispiele, und andere Datengrößen können ebenfalls verwendet werden. Das Repräsentieren von Orientierungspunkten in der dünnbesetzten Karte 800 auf diese Weise kann eine schlanke Lösung zum effizienten Repräsentieren von Orientierungspunkten in der Datenbank bieten. In einigen Ausführungsformen können die Objekte als standardmäßige semantische Objekte oder als nicht-standardmäßige semantische Objekte bezeichnet werden. Ein standardmäßiges semantisches Objekt kann eine beliebige Klasse von Objekten beinhalten, für die es einen standardisierten Satz von Charakteristiken gibt (z. B. Geschwindigkeitsbegrenzungszeichen, Warnzeichen, Richtungszeichen, Ampeln usw. mit bekannten Abmessungen oder anderen Charakteristiken). Ein nicht-standardmäßiges semantisches Objekt kann ein beliebiges Objekt beinhalten, das nicht mit einem standardisierten Satz von Charakteristiken assoziiert ist (z. B. allgemeine Werbezeichen, Zeichen, die Unternehmen identifizieren, Schlaglöcher, Bäume usw., die variable Abmessungen aufweisen können). Jedes nicht-standardmäßige semantische Objekt kann mit 38 Bytes Daten repräsentiert werden (z. B. 8 Bytes für die Größe; 12 Bytes für die Distanz zu einem vorherigen Orientierungspunkt, seitlichen Versatz und Höhe; 2 Bytes für einen Typcode; und 16 Bytes für Positionskoordinaten). Standardmäßige semantische Objekte können unter Verwendung von noch weniger Daten repräsentiert werden, weil Größeninformationen von dem Kartierungsserver möglicherweise nicht benötigt werden, um das Objekt in der dünnbesetzten Karte vollständig zu repräsentieren.
  • Die dünnbesetzte Karte 800 kann ein Tag-System verwenden, um Orientierungspunkttypen zu repräsentieren. In einigen Fällen kann jedes Verkehrszeichen oder Richtungszeichen mit seinem eigenen Tag assoziiert werden, das als Teil der Orientierungspunktidentifikation in der Datenbank gespeichert werden kann. Zum Beispiel kann die Datenbank eine Größenordnung von 1000 unterschiedlichen Tags aufweisen, um verschiedene Verkehrszeichen zu repräsentieren, und die Größenordnung von etwa 10000 unterschiedlichen Tags, um Richtungszeichen darzustellen. Natürlich kann eine beliebige geeignete Anzahl von Tags verwendet werden, und zusätzliche Tags können nach Bedarf erstellt werden. Allzweckzeichen können in einigen Ausführungsformen unter Verwendung von weniger als etwa 100 Bytes repräsentiert werden (z. B. etwa 86 Bytes, einschließlich 8 Bytes für die Größe; 12 Bytes für die Distanz zum vorherigen Orientierungspunkt, seitlichen Versatz und Höhe; 50 Bytes für eine Bildsignatur; und 16 Bytes für GPS-Koordinaten).
  • Somit kann für semantische Verkehrszeichen, die keine Bildsignatur erfordern, die Auswirkung der Datendichte auf die dünnbesetzte Karte 800 selbst bei relativ hohen Orientierungspunktedichten von etwa 1 pro 50 m in der Größenordnung von etwa 760 Bytes pro Kilometer liegen (z. B. 20 Orientierungspunkte pro km x 38 Bytes pro Orientierungspunkte = 760 Bytes). Selbst für Allzweckzeichen, die eine Bildsignaturkomponente beinhalten, beträgt die Auswirkung der Datendichte etwa 1,72 kB pro km (z. B. 20 Orientierungspunkte pro km x 86 Bytes pro Orientierungspunkt = 1.720 Bytes). Bei semantischen Verkehrszeichen entspricht dies etwa 76 kB pro Stunde Datennutzung für ein Fahrzeug, das mit 100 km/h fährt. Für Allzweckzeichen entspricht dies etwa 170 kB pro Stunde für ein Fahrzeug, das mit 100 km/h fährt. Es sei angemerkt, dass in einigen Umgebungen (z. B. städtischen Umgebungen) eine viel höhere Dichte von detektierten Objekten vorliegen kann, die zur Aufnahme in die dünnbesetzte Karte vorhanden sind (vielleicht mehr als eines pro Meter). In einigen Ausführungsformen kann ein im Allgemeinen rechteckiges Objekt, wie etwa ein rechteckiges Zeichen, in der dünnbesetzten Karte 800 durch nicht mehr als 100 Bytes Daten repräsentiert werden. Die Repräsentation des im Allgemeinen rechteckigen Objekts (z. B. das allgemeine Zeichen 1040) in der dünnbesetzten Karte 800 kann eine komprimierte Bildsignatur oder Bild-Hash (z. B. die komprimierte Bildsignatur 1045) beinhalten, die mit dem im Allgemeinen rechteckigen Objekt assoziiert ist. Diese komprimierte Bildsignatur/der Bild-Hash kann unter Verwendung eines beliebigen geeigneten Bild-Hash-Algorithmus bestimmt werden und kann zum Beispiel verwendet werden, bei der Identifizierung eines Allzweckzeichens, zum Beispiel eines erkannten Orientierungspunkts, zu helfen. Eine solche komprimierte Bildsignatur (z. B. Bildinformationen, die aus tatsächlichen Bilddaten abgeleitet werden, die ein Objekt repräsentieren) kann die Notwendigkeit der Speicherung eines tatsächlichen Bildes eines Objekts oder die Notwendigkeit einer vergleichenden Bildanalyse, die an tatsächlichen Bildern durchgeführt wird, unnötig machen, um Orientierungspunkte zu erkennen.
  • Bezugnehmend auf 10 kann die dünnbesetzte Karte 800 eine komprimierte Bildsignatur 1045, die mit einem allgemeinen Zeichen 1040 assoziiert ist, anstelle eines tatsächlichen Bildes des allgemeinen Zeichens 1040 beinhalten oder speichern. Zum Beispiel kann, nachdem eine Bildaufnahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122, 124 oder 126) ein Bild des allgemeinen Zeichens 1040 aufgenommen hat, ein Prozessor (z. B. der Bildprozessor 190 oder ein beliebiger anderer Prozessor, der Bilder entweder an Bord oder an einem relativ zu einem Host-Fahrzeug entfernten Ort verarbeiten kann) eine Bildanalyse durchführen, um die komprimierte Bildsignatur 1045 zu extrahieren/erstellen, die eine eindeutige Signatur oder ein eindeutiges Muster beinhaltet, die mit dem allgemeinen Zeichen 1040 assoziiert sind. In einer Ausführungsform kann die komprimierte Bildsignatur 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 Zeichens 1040 zu beschreiben.
  • Zum Beispiel können in 10 die Kreise, Dreiecke und Sterne, die in der komprimierten Bildsignatur 1045 gezeigt werden, Gebiete unterschiedlicher Farben repräsentieren. Das durch die Kreise, Dreiecke und Sterne repräsentierte Muster kann in der dünnbesetzten Karte 800 gespeichert werden, z. B. innerhalb der 50 Bytes, die dazu vorgesehen sind, eine Bildsignatur zu beinhalten. Insbesondere sollen die Kreise, Dreiecke und Sterne nicht unbedingt angeben, dass solche Formen als Teil der Bildsignatur gespeichert werden. Vielmehr sollen diese Formen konzeptionell erkennbare Gebiete mit erkennbaren Farbdifferenzen, Texturgebieten, grafischen Formen oder anderen Variationen in Charakteristiken repräsentieren, die mit einem Allzweckzeichen assoziiert sein können. Solche komprimierten Bildsignaturen können verwendet werden, um einen Orientierungspunkt in der Form eines allgemeinen Zeichens zu identifizieren. Zum Beispiel kann die komprimierte Bildsignatur dazu verwendet werden, eine Gleich-Nicht-Gleich-Analyse basierend auf einem Vergleich einer gespeicherten komprimierten Bildsignatur mit Bilddaten durchzuführen, die 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 erfasst wurden, als ein oder mehrere Fahrzeuge das Straßensegment befahren haben. Wie nachstehend mit Bezug auf „Crowdsourcing“ erklärt wird, kann die Bildanalyse zum Identifizieren der Vielzahl von Orientierungspunkten in einigen Ausführungsformen das Annehmen potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt vorkommt, zu Bildern, in denen der Orientierungspunkt nicht vorkommt, einen Schwellenwert überschreitet. Des Weiteren kann in einigen Ausführungsformen die Bildanalyse zum Identifizieren der Vielzahl von Orientierungspunkten beinhalten, potenzielle Orientierungspunkte zu verwerfen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht vorkommt, zu Bildern, in denen der Orientierungspunkt vorkommt, einen Schwellenwert überschreitet.
  • Um auf die Zieltrajektorien zurückzukommen, die ein Host-Fahrzeug verwenden kann, um ein spezielles Straßensegment zu navigieren, zeigt 11A Polynomrepräsentationen von Trajektorien, die während eines Prozesses des Aufbaus oder Aufrechterhaltens einer dünnbesetzten Karte 800 aufgenommen werden. Eine Polynomrepräsentation einer Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, kann basierend auf zwei oder mehr rekonstruierten Trajektorien früherer Fahrten von Fahrzeugen entlang desselben Straßensegments bestimmt werden. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien früherer Fahrten von Fahrzeugen entlang desselben Straßensegments sein. In einigen Ausführungsformen kann die Polynomrepräsentation der Zieltrajektorie, die in der dünnbesetzten Karte 800 beinhaltet ist, ein Mittelwert der zwei oder mehr rekonstruierten Trajektorien früherer Fahrten von Fahrzeugen entlang desselben Straßensegments sein. Andere mathematische Operationen können ebenfalls verwendet werden, um eine Zieltrajektorie entlang eines Straßenwegs basierend auf rekonstruierten Trajektorien zu erstellen, die von Fahrzeugen erhoben wurden, die ein Straßensegment entlanggefahren sind.
  • Wie in 11A gezeigt wird, kann ein Straßensegment 1100 von einer Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten erheben, die sich auf einen Weg beziehen, den das Fahrzeug entlang des Straßensegments genommen hat. Der von einem speziellen Fahrzeug gefahrene Weg kann basierend auf Kameradaten, Beschleunigungsmesserinformationen, Geschwindigkeitssensorinformationen und/oder GPS-Informationen, neben anderen potenziellen Quellen, bestimmt werden. Solche Daten können verwendet werden, um Trajektorien von Fahrzeugen zu rekonstruieren, die das Straßensegment entlangfahren, und basierend auf diesen rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für das spezielle Straßensegment bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Weg eines Host-Fahrzeugs (das z. B. durch ein autonomes Navigationssystem geführt wird), wenn das Fahrzeug das Straßensegment entlangfährt, repräsentieren.
  • In dem in 11A gezeigten Beispiel kann eine erste rekonstruierte Trajektorie 1101 basierend auf Daten bestimmt werden, die aus einem ersten Fahrzeug, das das Straßensegment 1100 in einem ersten Zeitraum (z. B. Tag 1) befährt, empfangen werden, eine zweite rekonstruierte Trajektorie 1102 kann aus einem zweiten Fahrzeug, das das Straßensegment 1100 in einem zweiten Zeitraum (z. B. Tag 2) befährt, erhalten werden, und eine dritte rekonstruierte Trajektorie 1103 kann aus einem dritten Fahrzeug, das das Straßensegment 1100 in einem dritten Zeitraum (z. B. Tag 3) befährt, erhalten werden. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom, wie etwa ein dreidimensionales Polynom, repräsentiert werden. Es sei angemerkt, dass in einigen Ausführungsformen eine beliebige der rekonstruierten Trajektorien an Bord der Fahrzeuge, die das Straßensegment 1100 befahren, zusammengefügt werden kann.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien auf Seite eines Servers basierend auf Informationen rekonstruiert werden, die aus Fahrzeugen empfangen werden, die das Straßensegment 1100 befahren. Zum Beispiel können die Fahrzeuge 200 in einigen Ausführungsformen Daten zu einem oder mehreren Servern senden, die sich auf ihre Bewegung entlang des Straßensegments 1100 beziehen (z. B. unter anderem Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, abgetastete Straßengeometrie und/oder abgetastete Orientierungspunkte). Der Server kann Trajektorien für Fahrzeuge 200 basierend auf den empfangenen Daten rekonstruieren. Der Server kann auch eine Zieltrajektorie zum Führen der Navigation des autonomen Fahrzeugs, das zu einer späteren Zeit dasselbe Straßensegments 1100 entlangfahren wird, basierend auf der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 generieren. Obwohl eine Zieltrajektorie mit einem einzelnen vorherigen Befahren 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, die dasselbe Straßensegment befahren, bestimmt werden. In 11A wird die Zieltrajektorie durch 1110 repräsentiert. In einigen Ausführungsformen kann die Zieltrajektorie 1110 basierend auf einem Mittelwert der ersten, zweiten und dritten Trajektorie 1101, 1102 und 1103 generiert 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.
  • Am Kartierungsserver kann der Server tatsächliche Trajektorien für ein spezielles Straßensegment aus mehreren Sammelfahrzeugen empfangen, die das Straßensegment befahren. Um eine Zieltrajektorie für jeden gültigen Weg entlang des Straßensegments (z. B. jeder Fahrspur, jeder Fahrrichtung, jedem Weg über eine Kreuzung usw.) zu generieren, können die empfangenen tatsächlichen Trajektorien aligniert werden. Der Alignierungsprozess kann beinhalten, Objekte/Merkmale, die entlang des Straßensegments identifiziert wurden, zusammen mit den gesammelten Positionen dieser detektierten Objekte/Merkmale zu verwenden, um die tatsächlichen gesammelten Trajektorien miteinander zu korrelieren. Sobald sie aligniert sind, kann ein Mittelwert oder eine „am besten passende“ Trajektorie für jede verfügbare Fahrspur usw. basierend auf den aggregierten, korrelierten/alignierten tatsächlichen Trajektorien bestimmt werden.
  • Die 11B und 11C veranschaulichen ferner das Konzept von Zieltrajektorien, die mit Straßensegmenten assoziiert sind, die innerhalb einer geografischen Region 1111 vorhanden sind. Wie in 11B gezeigt wird, kann ein erstes Straßensegment 1120 innerhalb der geografischen Region 1111 eine mehrspurige Straße beinhalten, die zwei Fahrspuren 1122, die für die Fahrzeugfahrt in einer ersten Richtung vorgesehen sind, und zwei zusätzliche Fahrspuren 1124, die für die Fahrzeugfahrt in einer zweiten Richtung, entgegengesetzt zur ersten Richtung, vorgesehen sind, beinhaltet. Die Fahrspuren 1122 und die Fahrspuren 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Die geografische Region 1111 kann auch ein abzweigendes Straßensegment 1130 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 andere Fahrtrichtung vorgesehen ist. Die geografische Region 1111 kann auch andere Straßenmerkmale beinhalten, wie etwa eine Stopplinie 1132, ein Stoppzeichen 1134, ein Geschwindigkeitsbegrenzungszeichen 1136 und ein Gefahrenzeichen 1138.
  • Wie in 11C gezeigt wird, kann die dünnbesetzte Karte 800 eine lokale Karte 1140 beinhalten, die ein Straßenmodell zum Unterstützen der autonomen Navigation von Fahrzeugen innerhalb der geografischen Region 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 der geografischen Region 1111 assoziiert sind. Zum Beispiel kann die lokale Karte 1140 die 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 befährt. Gleichermaßen kann die lokale Karte 1140 die 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 befährt. Ferner kann die lokale Karte 1140 die 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 befährt. Die Zieltrajektorie 1147 repräsentiert einen bevorzugten Weg, 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 repräsentiert die Zieltrajektorie 1148 einen bevorzugten Weg, 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 der geografischen Region 1111 assoziiert sind. Zum Beispiel kann die dünnbesetzte Karte 800 auch Repräsentationen eines oder mehrerer Orientierungspunkte beinhalten, die in der geografischen Region 1111 identifiziert wurden. Solche Orientierungspunkte können einen ersten Orientierungspunkt 1150, der mit der Stopplinie 1132 assoziiert ist, einen zweiten Orientierungspunkt 1152, der mit dem Stoppzeichen 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 zum Beispiel verwendet werden, um ein autonomes Fahrzeug beim Bestimmen seines aktuellen Orts relativ zu einer beliebigen der gezeigten Zieltrajektorien zu unterstützen, so dass das Fahrzeug seinen Kurs justieren kann, damit er mit einer Richtung der Zieltrajektorie am bestimmten Ort übereinstimmt.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auch Straßensignaturprofile beinhalten. Solche Straßensignaturprofile können mit einer beliebigen erkennbaren/messbaren Variation in mindestens einem Parameter, der mit einer Straße assoziiert ist, assoziiert sein. Zum Beispiel können in einigen Fällen solche Profile mit Variationen der Straßenoberflächeninformationen assoziiert sein, wie etwa Variationen der Oberflächenunebenheit eines speziellen Straßensegments, Variationen der Straßenbreite über ein spezielles Straßensegment, Variationen der Distanzen zwischen gestrichelten Linien, die entlang eines speziellen Straßensegments aufgebracht sind, Variationen der Straßenkrümmung entlang eines speziellen Straßensegments usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Obwohl das Profil 1160 einen beliebigen der vorstehend erwähnten Parameter oder andere repräsentieren kann, kann das Profil 1160 in einem Beispiel ein Maß der Straßenoberflächenunebenheit repräsentieren, 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 spezielles Straßensegment befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite repräsentieren, wie sie basierend auf Bilddaten bestimmt wird, die über eine Kamera an Bord eines Fahrzeugs, das ein spezielles Straßensegment befährt, erhalten wurden. Solche Profile können zum Beispiel beim Bestimmen eines speziellen Orts eines autonomen Fahrzeugs relativ zu einer speziellen 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, die sich auf das Fahren beziehen, assoziiert sind. Zum Beispiel können in einigen Ausführungsformen unterschiedliche Trajektorien basierend auf unterschiedlichen Benutzerpräferenzen und/oder -profilen generiert werden. Die dünnbesetzte Karte 800, die solche unterschiedlichen Trajektorien beinhaltet, kann an unterschiedliche autonome Fahrzeuge unterschiedlicher Benutzer bereitgestellt werden. Zum Beispiel 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 generieren. Als ein weiteres Beispiel können einige Benutzer es bevorzugen, auf einer Überholspur zu fahren, während andere es bevorzugen können, immer eine Position auf der zentralen Fahrspur aufrechtzuerhalten.
  • Unterschiedliche Trajektorien können basierend auf unterschiedlichen Umgebungsbedingungen, wie etwa Tag und Nacht, Schnee, Regen, Nebel usw., generiert werden und in der dünnbesetzten Karte 800 beinhaltet sein. Autonomen Fahrzeugen, die unter unterschiedlichen Umgebungsbedingungen fahren, kann die dünnbesetzte Karte 800 bereitgestellt werden, die basierend auf solchen unterschiedlichen Umgebungsbedingungen generiert wurde. In einigen Ausführungsformen können Kameras, die in autonomen Fahrzeugen bereitgestellt werden, die Umgebungsbedingungen detektieren und solche Informationen zurück an einen Server bereitstellen, der dünnbesetzte Karten generiert und bereitstellt. Zum Beispiel kann der Server eine bereits generierte dünnbesetzte Karte 800 generieren oder aktualisieren, damit sie Trajektorien beinhaltet, die für autonomes Fahren unter den detektierten Umgebungsbedingungen möglicherweise besser geeigneter oder sicherer sind. Das Aktualisieren der dünnbesetzten Karte 800 basierend auf Umgebungsbedingungen kann dynamisch durchgeführt werden, während die autonomen Fahrzeuge Straßen entlangfahren.
  • Andere unterschiedliche Parameter, die sich auf das Fahren beziehen, können ebenfalls als eine Basis für das Generieren und Bereitstellen unterschiedlicher dünnbesetzter Karten für unterschiedliche autonome Fahrzeuge verwendet werden. Wenn zum Beispiel ein autonomes Fahrzeug mit einer hohen Geschwindigkeit fährt, können Drehungen enger sein. Trajektorien, die mit spezifischen Fahrspuren assoziiert sind, können, statt Straßen, in der dünnbesetzten Karte 800 beinhaltet sein, so dass das autonome Fahrzeug innerhalb einer spezifischen Fahrspur bleiben kann, während das Fahrzeug einer spezifischen Trajektorie folgt. Wenn ein Bild, das durch eine Kamera an Bord des autonomen Fahrzeugs aufgenommen wurde, angibt, dass das Fahrzeug aus der Fahrspur herausgedriftet 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 vorgesehene Fahrspur zu bringen.
  • Crowdsourcing einer dünnbesetzten Karte
  • Die offenbarten dünnbesetzten Karten können durch Crowdsourcing effizient (und passiv) generiert werden. Zum Beispiel kann ein beliebiges Privat- oder Nutzfahrzeug, das mit einer Kamera (z. B. einer einfachen Kamera mit niedriger Auflösung, die normalerweise bei heutigen Fahrzeugen als OEM-Ausstattung beinhaltet ist) und einem geeigneten Bildanalyseprozessor ausgestattet ist, als ein Sammelfahrzeug dienen. Es ist keine Spezialausrüstung (z. B. hochauflösende Bildgebungs- und/oder Positionierungssysteme) erforderlich. Infolge der offenbarten Crowdsourcing-Technik können die generierten dünnbesetzten Karten äußerst genau sein und können extrem verfeinerte Positionsinformationen beinhalten (was Navigationsfehlergrenzen von 10 cm oder weniger ermöglicht), ohne dass eine spezialisierte Bildgebungs- oder Abtastausrüstung als Eingabe für den Kartengenerierungsprozess erforderlich ist. Crowdsourcing ermöglicht auch sehr viel schnellere (und kostengünstigere) Aktualisierungen der generierten Karten, weil dem Kartierungsserversystem kontinuierlich neue Fahrtinformationen von allen Straßen zur Verfügung stehen, die von Privat- oder Nutzfahrzeugen befahren werden, die minimal ausgerüstet sind, um auch als Sammelfahrzeuge zu dienen. Es sind keine festgelegten Fahrzeuge erforderlich, die mit hochauflösenden Bildgebungs- und Kartierungssensoren ausgestattet sind. Daher können die mit dem Bau solcher Spezialfahrzeuge verbundenen Ausgaben vermieden werden. Ferner können Aktualisierungen der vorliegend offenbarten dünnbesetzten Karten sehr viel schneller durchgeführt werden als bei Systemen, die auf dedizierte, spezialisierte Kartierungsfahrzeuge zurückgreifen (die aufgrund ihrer Kosten und Spezialausrüstung typischerweise auf eine Flotte von spezialisierten Fahrzeugen mit einer weit geringeren Anzahl beschränkt sind, als auf die Anzahl von Privat- oder Nutzfahrzeugen, die bereits zum Durchführen der offenbarten Sammeltechniken verfügbar sind).
  • Die durch Crowdsourcing generierten offenbarten dünnbesetzten Karten können äußerst genau sein, weil sie basierend auf vielen Eingaben aus mehreren (mehrere Dutzende, Hunderte, Millionen usw.) von Sammelfahrzeugen generiert werden können, die Fahrtinformationen entlang eines speziellen Straßensegments erhoben haben. Zum Beispiel kann jedes Sammelfahrzeug, das ein spezielles Straßensegment entlangfährt, seine tatsächliche Trajektorie aufzeichnen und kann Positionsinformationen relativ zu detektierten Objekten/Merkmalen entlang des Straßensegments bestimmen. Diese Informationen werden aus mehreren Sammelfahrzeugen an einen Server weitergegeben. Die tatsächlichen Trajektorien werden aggregiert, um eine verfeinerte Zieltrajektorie für jeden gültigen Fahrweg entlang des Straßensegments zu generieren. Zusätzlich können die Positionsinformationen aggregiert werden, die von den mehreren Sammelfahrzeugen für jedes der detektierten Objekte/Merkmale entlang des Straßensegments (semantisch oder nicht semantisch) erhoben wurden. Infolgedessen kann die kartierte Position jedes detektierten Objekts/Merkmals einen Mittelwert von Hunderten, Tausenden oder Millionen von einzeln bestimmten Positionen für jedes detektierte Objekt/Merkmal bilden. Eine solche Technik kann extrem genau kartierte Positionen für die detektierten Objekte/Merkmale ergeben.
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für eine autonome Fahrzeugnavigation generieren. Zum Beispiel können offenbarte Systeme und Verfahren Crowdsourcing-Daten zur Generierung einer dünnbesetzten Karte verwenden, die ein oder mehrere autonome Fahrzeuge verwenden können, um entlang eines Systems von Straßen zu navigieren. Im hier verwendeten Sinne bedeutet „Crowdsourcing“, dass Daten aus verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen) empfangen werden, die zu unterschiedlichen Zeiten auf einem Straßensegment fahren, und dass solche Daten verwendet werden, um das Straßenmodell, einschließlich dünnbesetzter Kartenkacheln, zu generieren und/oder zu aktualisieren. Das Modell oder eine beliebige seiner dünnbesetzten Kartenkacheln kann wiederum zu den Fahrzeugen oder zu anderen Fahrzeugen, die später das Straßensegment entlangfahren, übertragen werden, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Zieltrajektorien beinhalten, die bevorzugte Trajektorien repräsentieren, 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 erhoben wird, das ein Straßensegment befährt, die aus dem Fahrzeug zu einem Server übertragen werden kann. In einigen Ausführungsformen können sich die Zieltrajektorien von tatsächlichen Trajektorien unterscheiden, die ein oder mehrere Fahrzeuge zuvor genommen haben, wenn sie ein Straßensegment befahren. Die Zieltrajektorien können basierend auf tatsächlichen Trajektorien generiert werden (z. B. durch Mitteln oder eine beliebige andere geeignete Operation).
  • Die Fahrzeugtrajektoriendaten, die ein Fahrzeug zu einem Server hochladen kann, können der tatsächlichen rekonstruierten Trajektorie für das Fahrzeug entsprechen oder können einer empfohlenen Trajektorie entsprechen, die auf der tatsächlichen rekonstruierten Trajektorie des Fahrzeugs basieren oder zu dieser in Bezug stehen 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 Kandidaten-Orientierungspunkte beziehen. Zum Beispiel können die offenbarten Systeme und Verfahren durch Crowdsourcing von Informationen potenzielle Orientierungspunkte in einer Umgebung identifizieren und Orientierungspunktpositionen verfeinern. Die Orientierungspunkte können von einem Navigationssystem autonomer Fahrzeuge verwendet werden, um die Position des Fahrzeugs entlang der Zieltrajektorien zu bestimmen und/oder zu justieren.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug generieren kann, wenn das Fahrzeug eine Straße entlangfährt, können durch ein beliebiges geeignetes Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien durch Zusammenfügen von Bewegungssegmenten für das Fahrzeug unter Verwendung 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, die durch eine oder mehrere Bildaufnahmevorrichtungen aufgenommen wurden, zusammen mit Informationen aus anderen Sensoren oder Vorrichtungen, wie etwa Trägheitssensoren und Geschwindigkeitssensoren, bestimmt 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 über 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 durch mehrere Fahrzeuge in mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten erhoben wurden, 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 durch mehrere Fahrzeuge in mehreren Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten erhoben wurden, 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 aus mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten über das gemeinsame Straßensegment fahren. Solche Daten, die aus unterschiedlichen Fahrzeugen empfangen wurden, können kombiniert werden, um das Straßenmodell zu generieren und/oder das Straßenmodell zu aktualisieren.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Zieltrajektorie) entlang eines Straßensegments kann durch eine Kurve im dreidimensionalen Raum repräsentiert werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektorienkurve kann anhand der Analyse eines Videostroms oder einer Vielzahl von Bildern bestimmt werden, die durch eine am Fahrzeug installierte Kamera aufgenommen wurden. In einigen Ausführungsformen wird ein Ort in jedem Frame oder Bild identifiziert, der 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. Diese Operation kann Frame für Frame wiederholt werden, und gleichzeitig kann das Fahrzeug die Eigenbewegung (Rotation und Translation) der Kamera berechnen. Bei jedem Frame oder Bild wird ein Nahbereichsmodell für den gewünschten Weg durch das Fahrzeug in einem Referenzrahmen generiert, der mit der Kamera verbunden ist. Die Nahbereichsmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem beliebigen Koordinatenrahmen zu erhalten, der ein beliebiger oder ein 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 bei jedem Frame auf das Nahbereichsstraßenmodell zu schließen, können ein oder mehrere Detektionsmodule verwendet werden. Zum Beispiel kann ein Bottom-up-Fahrspurdetektionsmodul verwendet werden. Das Bottom-up-Fahrspurdetektionsmodul kann nützlich sein, wenn Fahrspurmarkierungen auf der Straße gezogen sind. Dieses Modul kann nach Rändern im Bild suchen und fügt sie zusammen, um die Fahrspurmarkierungen zu bilden. Ein zweites Modul kann zusammen mit dem Bottom-up-Fahrspurdetektionsmodul verwendet werden. Das zweite Modul ist ein tiefes neuronales End-to-End-Netzwerk, das trainiert werden kann, um den korrekten Nahbereichsweg aus einem eingegebenen Bild vorherzusagen. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen detektiert und in einen dreidimensionalen Raum transformiert werden, der virtuell mit der Kamera verbunden sein kann.
  • Obwohl das Modellierungsverfahren für rekonstruierte Trajektorien eine Akkumulation von Fehlern aufgrund der Integration von Eigenbewegung über einen langen Zeitraum einbringen kann, was eine Rauschkomponente beinhalten kann, können solche Fehler unbedeutend sein, da das generierte Modell ausreichende Genauigkeit für die Navigation im lokalen Maßstab bereitstellen kann. Zusätzlich ist es möglich, den integrierten Fehler durch Verwenden externer Informationsquellen aufzuheben, wie etwa Satellitenbilder oder geodätische Messungen. Zum Beispiel können die offenbarten Systeme und Verfahren einen GNSS-Empfänger verwenden, um akkumulierte Fehler aufzuheben. Die GNSS-Positionierungssignale sind jedoch möglicherweise nicht immer verfügbar und genau. Die offenbarten Systeme und Verfahren können eine Lenkanwendung ermöglichen, die schwach von der Verfügbarkeit und Genauigkeit der GNSS-Positionierung abhängt. In solchen Systemen kann die Verwendung der GNSS-Signale beschränkt sein. Zum Beispiel verwenden die offenbarten Systeme in einigen Ausführungsformen die GNSS-Signale möglicherweise nur zu Datenbankindexierungszwecken.
  • In einigen Ausführungsformen kann der Bereichsmaßstab (z. B. der lokale Maßstab), der für eine autonome Fahrzeugnavigationslenkanwendung relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Distanzen können verwendet werden, weil das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: Planen der vorausliegenden Trajektorie und Lokalisieren des Fahrzeugs im Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell über einen typischen Bereich von 40 Metern voraus (oder eine beliebige andere geeignete Distanz 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 einen typischen Bereich von 60 Metern hinter dem Auto (oder beliebige andere geeignete Distanzen, wie etwa 50 Meter, 100 Meter, 150 Meter usw.) gemäß einem „Heckalignierung“ genannten Verfahren, das in einem anderen Abschnitt ausführlicher beschrieben wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell generieren, das eine ausreichende Genauigkeit über einen speziellen Bereich, wie etwa 100 Meter, aufweist, so dass eine geplante Trajektorie nicht um mehr als zum Beispiel 30 cm von der Fahrspurmitte abweicht.
  • Wie vorstehend erörtert, kann ein dreidimensionales Straßenmodell aus dem Detektieren von Nahbereichsabschnitten und Zusammenfügen derselben erstellt werden. Das Zusammenfügen kann durch Berechnen eines Sechs-Grad-Eigenbewegungsmodells unter Verwendung der Videos und/oder Bilder, die durch die Kamera aufgenommen wurden, Daten aus den Trägheitssensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Host-Fahrzeuggeschwindigkeitssignals ermöglicht werden. Der akkumulierte Fehler kann über einen gewissen lokalen Bereichsmaßstab klein genug sein, wie etwa in der Größenordnung von 100 Metern. All dies kann auf einer einzigen Fahrt über ein spezielles 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 erhobenen Modelldaten zu einem zentralen Server senden. In jedem Fall kann eine Abgleichprozedur durchgeführt werden, um überlappende Modelle zu identifizieren und eine Mittelwertbildung zum Generieren von Zieltrajektorien zu ermöglichen. 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 gemeinsame Nutzen der Fahrerfahrung (wie etwa abgetastete Daten) zwischen mehreren Autos wird realisierbar, wenn sie mit einem zentralen Server verbunden sind. Jeder Fahrzeug-Client kann eine teilweise Kopie eines universellen Straßenmodells speichern, das 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 kleinem Footprint 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 zu einem 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 Distanz von einem Fahrzeug zu einem Orientierungspunkt, eine Distanz zwischen dem Orientierungspunkt und 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 Identifizierung von Text auf dem Orientierungspunkt usw. beinhalten. Zum Beispiel kann ein Fahrzeug ein oder mehrere Bilder analysieren, die durch eine Kamera aufgenommen wurden, um einen potenziellen Orientierungspunkt zu detektieren, wie etwa ein Geschwindigkeitsbegrenzungszeichen.
  • Das Fahrzeug kann eine Distanz vom Fahrzeug zum Orientierungspunkt oder einer mit dem Orientierungspunkt assoziierten Position (z. B. ein beliebiges semantisches oder nicht-semantisches Objekt oder Merkmal entlang eines Straßensegments) basierend auf der Analyse des einen oder der mehreren Bilder bestimmen. In einigen Ausführungsformen kann die Distanz basierend auf der Analyse von Bildern des Orientierungspunkts unter Verwendung eines geeigneten Bildanalyseverfahrens, wie etwa eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens, bestimmt werden. Wie vorstehend angemerkt wird, kann eine Position des Objekts/Merkmals eine 2D-Bildposition (z. B. eine X-Y-Pixelposition in einem oder mehreren aufgenommenen Bildern) eines oder mehrerer Punkte, die mit dem Objekt/Merkmal assoziiert sind, beinhalten oder kann eine realweltliche 3D-Position eines oder mehrerer Punkte (die z. B. durch Structure-in-Motion-Techniken/optische Flusstechniken, LIDAR- oder RADAR-Informationen usw. bestimmt wurden) beinhalten. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren dazu konfiguriert sein, einen Typ oder eine Klassifizierung eines potenziellen Orientierungspunkts zu bestimmen. Falls das Fahrzeug bestimmt, dass ein bestimmter potenzieller Orientierungspunkt einem vorbestimmten Typ oder einer vorbestimmten Klassifizierung entspricht, die in einer dünnbesetzten Karte gespeichert ist, kann es ausreichend sein, dass das Fahrzeug dem Server eine Angabe des Typs oder der Klassifizierung des Orientierungspunkts zusammen mit seinem Ort kommuniziert. Der Server kann solche Angaben speichern. Zu einem späteren Zeitpunkt, während der Navigation, kann ein navigierendes Fahrzeug ein Bild aufnehmen, das eine Repräsentation des Orientierungspunkts beinhaltet, das Bild verarbeiten (z. B. unter Verwendung eines Klassifizierers) und den Ergebnisorientierungspunkt vergleichen, um die Detektion des kartierten Orientierungspunkts zu bestätigen und den kartierten Orientierungspunkt beim Lokalisieren des navigierenden Fahrzeugs relativ zur dünnbesetzten Karte zu verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßensegment fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Clients) können eine Kurve generieren, die ihre Fahrt (z. B. durch Eigenbewegungsintegration) in einem beliebigen Koordinatenrahmen beschreibt. Die Fahrzeuge können Orientierungspunkte detektieren und sie in demselben Frame lokalisieren. Die Fahrzeuge können die Kurve und die Orientierungspunkte zum Server hochladen. Der Server kann Daten aus Fahrzeugen über mehrere Fahrten erheben und ein einheitliches Straßenmodell generieren. Zum Beispiel kann, wie nachstehend in Bezug auf 19 erörtert wird, der Server eine dünnbesetzte Karte mit dem einheitlichen Straßenmodell unter Verwendung der hochgeladenen Kurven und Orientierungspunkte generieren.
  • Der Server kann das Modell auch an Clients (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 aus den Fahrzeugen empfängt. Zum Beispiel kann der Server die neuen Daten verarbeiten, um zu evaluieren, ob die Daten Informationen beinhalten, die eine Aktualisierung oder die Erstellung 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 aus den Fahrzeugen empfangen wurden, eine Aktualisierung des Modells oder die Erstellung neuer Daten auslösen sollten. Wenn zum Beispiel die neuen Daten angeben, dass ein zuvor erkannter Orientierungspunkt an einem bestimmten Ort nicht mehr vorhanden ist oder durch einen anderen Orientierungspunkt ersetzt wurde, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten. Als ein anderes Beispiel kann der Server, wenn die neuen Daten angeben, dass ein Straßensegment geschlossen worden ist, und wenn dies durch Daten bestätigt worden ist, die aus anderen Fahrzeugen empfangen wurden, bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten.
  • 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 an Fahrzeuge, deren geplante Fahrt das Straßensegment beinhaltet, mit dem die Aktualisierungen des Modells assoziiert sind. Während zum Beispiel ein autonomes Fahrzeug ein anderes Straßensegment entlangfä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 Clients (z. B. Fahrzeugen, die ein gemeinsames Straßensegment entlangfahren) erheben. Der Server kann Kurven unter Verwendung von Orientierungspunkten abgleichen und ein gemitteltes Straßenmodell basierend auf den Trajektorien erstellen, die von den mehreren Fahrzeugen erhoben wurden. 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 alignieren, um eine durch Crowdsourcing ermittelte dünnbesetzte Karte aus den erhobenen Trajektorien zu generieren.
  • Der Server kann Orientierungspunkteigenschaften, die aus mehreren Fahrzeugen empfangen wurden, die das gemeinsame Straßensegment entlanggefahren sind, wie etwa die Distanzen zwischen einem Orientierungspunkt und einem anderen (z. B. einem vorherigen entlang des Straßensegments), wie sie durch mehrere Fahrzeuge gemessen wurden, mitteln, um einen Bogenlängenparameter zu bestimmen und die Lokalisierung entlang des Wegs und die Geschwindigkeitskalibrierung für jedes Client-Fahrzeug zu unterstützen. Der Server kann die physischen Abmessungen eines Orientierungspunkts, die durch mehrere Fahrzeuge gemessen wurden, die das gemeinsame Straßensegment entlanggefahren sind und denselben Orientierungspunkt erkannt haben, mitteln. Die gemittelten physischen Abmessungen können verwendet werden, um die Distanzschätzung zu unterstützen, wie etwa die Distanz vom Fahrzeug zum Orientierungspunkt. Der Server kann seitliche Positionen eines Orientierungspunkts mitteln (z. B. die Position von der Fahrspur, auf der Fahrzeuge zum Orientierungspunkt fahren), die durch mehrere Fahrzeuge gemessen wurden, die das gemeinsame Straßensegment entlanggefahren sind und denselben Orientierungspunkt erkannt haben. Die gemittelte seitliche Position kann verwendet werden, um die Fahrspurzuweisung zu unterstützen. Der Server kann die GPS-Koordinaten des Orientierungspunkts mitteln, die durch mehrere Fahrzeuge gemessen wurden, die das gleiche Straßensegment entlanggefahren sind und denselben Orientierungspunkt erkannt haben. 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 Änderungen am Modell, wie etwa Baustellen, Umleitungen, neue Zeichen, Entfernung von Zeichen usw., basierend auf Daten identifizieren, die aus den Fahrzeugen empfangen wurden. Der Server kann das Modell kontinuierlich oder periodisch oder sofort beim Empfang neuer Daten aus den Fahrzeugen aktualisieren. Der Server kann Aktualisierungen des Modells oder das aktualisierte Modell an Fahrzeuge verteilen, um autonome Navigation bereitzustellen. Zum Beispiel kann, wie nachstehend ausführlicher erörtert wird, der Server durch Crowdsourcing ermittelte Daten verwenden, um durch Fahrzeuge detektierte „Phantom“-Orientierungspunkte herauszufiltern.
  • In einigen Ausführungsformen kann der Server Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann Daten analysieren, die aus dem Fahrzeug zu der Zeit und an dem Ort empfangen werden, an dem ein Eingriff erfolgt, und/oder Daten, die vor der Zeit empfangen wurden, an dem der Eingriff erfolgt ist. Der Server kann bestimmte Abschnitte der Daten identifizieren, die den Eingriff bewirkt haben oder in engem Zusammenhang damit stehen, zum Beispiel Daten, die eine vorübergehende Fahrspursperrung angeben, oder Daten, die einen Fußgänger auf der Straße angeben. Der Server kann das Modell basierend auf den identifizierten Daten aktualisieren. Zum Beispiel kann der Server eine oder mehrere im Modell gespeicherte Trajektorien modifizieren.
  • 12 ist eine schematische Veranschaulichung eines Systems, das Crowdsourcing verwendet, um eine dünnbesetzte Karte zu generieren (sowie unter Verwendung einer durch Crowdsourcing ermittelten 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 sie in 12 so gezeigt werden, dass sie zur gleichen Zeit auf dem Straßensegment 1200 vorkommen). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Der Einfachheit des vorliegenden Beispiels halber werden alle Fahrzeuge 1205, 1210, 1215, 1220 und 1225 als autonome Fahrzeuge angenommen.
  • Jedes Fahrzeug kann Fahrzeugen ähnlich sein, die in anderen Ausführungsformen offenbart wurden (z. B. Fahrzeug 200), und kann Komponenten oder Vorrichtungen beinhalten, die in Fahrzeugen beinhaltet sind oder mit diesen assoziiert sind, die in anderen Ausführungsformen offenbart wurden. Jedes Fahrzeug kann mit einer Bildaufnahmevorrichtung oder Kamera (z. B. der Bildaufnahmevorrichtung 122 oder der 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 wird. Jedes Fahrzeug kann Daten zum Server 1230 übertragen und Daten aus dem Server 1230 empfangen. Zum Beispiel kann der Server 1230 Daten aus mehreren Fahrzeugen erheben, die zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren, und kann die erhobenen Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells zu generieren. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells zu den Fahrzeugen übertragen, die Daten zum Server 1230 übertragen haben. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells zu anderen Fahrzeugen ü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 erhoben wurden (z. B. detektiert, abgetastet oder gemessen), zum Server 1230 übertragen werden. In einigen Ausführungsformen können die Navigationsinformationen mit dem gemeinsamen Straßensegment 1200 assoziiert werden. Die Navigationsinformationen können eine Trajektorie beinhalten, die mit jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 assoziiert wird, 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 abgetastet werden, die am Fahrzeug 1205 bereitgestellt sind. Zum Beispiel kann die Trajektorie basierend auf mindestens den Beschleunigungsmesserdaten und/oder Geschwindigkeitsdaten und/oder Orientierungspunktdaten und/oder Straßengeometrie- oder -profildaten und/oder Fahrzeugpositionsbestimmungsdaten und/oder Eigenbewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie basierend auf Daten aus Trägheitssensoren, wie etwa Beschleunigungsmesser, und der Geschwindigkeit des Fahrzeugs 1205, die durch einen Geschwindigkeitssensor abgetastet wurde, rekonstruiert werden. Zusätzlich kann die Trajektorie in einigen Ausführungsformen basierend auf einer abgetasteten 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 anhand der Analyse eines oder mehrerer Bilder bestimmt werden, die durch die Kamera aufgenommen wurden.
  • In einigen Ausführungsformen kann die Trajektorie des Fahrzeugs 1205 durch einen Prozessor bestimmt werden, der an Bord des Fahrzeugs 1205 bereitgestellt ist, und zum Server 1230 übertragen werden. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die durch die verschiedenen Sensoren und Vorrichtungen abgetastet wurden, die im Fahrzeug 1205 bereitgestellt sind, und die Trajektorie basierend auf den Daten bestimmen, die aus dem Fahrzeug 1205 empfangen wurden.
  • In einigen Ausführungsformen können die Navigationsinformationen, die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zum 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 die Fahrspurstruktur und/oder Orientierungspunkte beinhalten. Die Fahrspurstruktur kann die Gesamtanzahl der Fahrspuren des Straßensegments 1200, den Typ der Fahrspuren (z. B. einspurige Fahrspur, zweispurige Fahrspur, 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. Zum Beispiel kann die Fahrspurzuweisung mit einem numerischen Wert „3“ assoziiert werden, 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 werden, 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 beinhalteten Prozessor) mindestens einen Abschnitt eines Straßennavigationsmodells für autonome Fahrzeuge für das gemeinsame Straßensegment 1200 basierend auf den aus der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen generieren und das Modell als einen Abschnitt einer dünnbesetzten Karte speichern. Der Server 1230 kann eine mit jeder Fahrspur assoziierte Trajektorie basierend auf durch Crowdsourcing ermittelten Daten bestimmen (z. B. Navigationsinformationen), die aus 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 generieren, die basierend auf den durch Crowdsourcing ermittelten Navigationsdaten bestimmt wurden. Der Server 1230 kann das Modell oder den aktualisierten Abschnitt des Modells zu einem oder mehreren autonomen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 übertragen, die auf dem Straßensegment 1200 fahren, oder zu beliebigen anderen autonomen Fahrzeuge, die zu einer späteren Zeit auf dem Straßensegment fahren, um ein vorhandenes Straßennavigationsmodell für autonome Fahrzeuge zu aktualisieren, das in einem Navigationssystem der Fahrzeuge bereitgestellt wird. Das Straßennavigationsmodell für autonome Fahrzeuge kann von den autonomen Fahrzeugen beim autonomen Navigieren entlang des gemeinsamen Straßensegments 1200 verwendet werden.
  • Wie vorstehend erörtert wird, 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 in Bezug zur Straßengeometrie und/oder Orientierungspunkten entlang einer Straße stehen, 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 aus 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 des Straßensegments 1200 zu bestimmen, um die autonome Navigation der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder anderer Fahrzeuge, die später das Straßensegment 1200 entlangfahren, zu führen. Wenn zum Beispiel 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 bewirken, dass der Prozessor die Trajektorien, die basierend auf den durch das Fahrzeug 1205 empfangenen Navigationsinformationen bestimmt wurden, mit vorbestimmten Trajektorien vergleicht, die in der dünnbesetzten Karte 800 beinhaltet sind, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu validieren und/oder zu korrigieren.
  • Im Straßennavigationsmodell für autonome Fahrzeuge kann die Geometrie eines Straßenmerkmals oder einer Zieltrajektorie durch eine Kurve in einem dreidimensionalen Raum codiert werden. In einer Ausführungsform kann die Kurve ein dreidimensionaler Spline sein, der ein oder mehrere verbindende dreidimensionale Polynome beinhaltet. Wie ein Fachmann verstehen würde, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Serie 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 wird, 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 des Straßensegments 1200. Der Orientierungspunkt kann innerhalb eines Sichtfelds einer Kamera (z. B. der 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. der Prozessor 180, 190 oder die 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 anstelle eines tatsächlichen Bilds des Orientierungspunkts in der dünnbesetzten Karte 800 gespeichert werden. Die Orientierungspunkt-Identifizierungsinformationen erfordern möglicherweise sehr viel weniger Speicherplatz als ein tatsächliches Bild. Andere Sensoren oder Systeme (z. B. ein GPS-System) können ebenfalls bestimmte Identifizierungsinformationen des Orientierungspunkts bereitstellen (z. B. Position des Orientierungspunkts). Der Orientierungspunkt kann mindestens ein Verkehrszeichen und/oder eine Pfeilmarkierung und/oder eine Fahrspurmarkierung und/oder eine gestrichelte Fahrspurmarkierung und/oder eine Ampel und/oder eine Stopplinie und/oder ein Richtungszeichen (z. B. ein Autobahnausfahrtzeichen mit einem Pfeil, der eine Richtung angibt, ein Autobahnzeichen mit Pfeilen, die in unterschiedliche Richtungen oder auf unterschiedliche Stellen zeigen) und/oder einen Orientierungspunkt-Beacon und/oder einen Laternenpfosten beinhalten. Ein Orientierungspunkt-Beacon bezieht sich auf eine entlang eines Straßensegments installierte Vorrichtung (z. B. eine RFID-Vorrichtung), die ein Signal zu einem an einem Fahrzeug installierten Empfänger überträgt oder reflektiert, so dass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, der durch das Fahrzeug empfangene Beacon und der Ort der Vorrichtung (z. B. bestimmt anhand des GPS-Orts der Vorrichtung) als ein Orientierungspunkt verwendet werden können, der in das Straßennavigationsmodell für autonome Fahrzeuge 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-Beacon 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 Positionsmesswerte bestimmt werden, die durch Sensorsysteme in unterschiedlichen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 über mehrere Fahrten detektiert, erhoben oder empfangen wurden. Zum Beispiel können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessdaten zum Server 1230 übertragen, der die Positionsmesswerte mitteln, und die gemittelten Positionsmesswerte als die Position des Orientierungspunkts verwenden kann. Die Position des Orientierungspunkts kann durch Messwerte, die durch Fahrzeuge in nachfolgenden Fahrten empfangen werden, kontinuierlich verfeinert werden.
  • Die Identifizierung des Orientierungspunkts kann eine Größe des Orientierungspunkts beinhalten. Der Prozessor, der in 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ätzwerte der physischen Größe desselben Orientierungspunkts aus unterschiedlichen Fahrzeugen über unterschiedliche Fahrten empfangen. Der Server 1230 kann die unterschiedlichen Schätzwerte mitteln, um zu einer physischen Größe für den Orientierungspunkt zu gelangen, und diese Orientierungspunktgröße im Straßenmodell speichern. Der Schätzwert der physischen Größe kann verwendet werden, um ferner eine Distanz vom Fahrzeug zum Orientierungspunkt zu bestimmen oder zu schätzen. Die Distanz zum Orientierungspunkt kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und einem Maßstab der Ausdehnung, der auf der Position des Orientierungspunkts, der in den Bildern vorkommt, relativ zum Ausdehnungsfokus der Kamera basiert, geschätzt werden. Zum Beispiel kann die Distanz zum Orientierungspunkt durch Z = V * dt * R / D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Distanz im Bild vom Orientierungspunkt zur Zeit t1 zum Ausdehnungsfokus ist und D die Änderung der Distanz für den Orientierungspunkt im Bild von t 1 zu t2 ist. dt repräsentiert (t2 - t1). Zum Beispiel kann die Distanz zum Orientierungspunkt durch Z = V * dt * R / D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs ist, R die Distanz 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 äquivalent sind, wie etwa Z = V * ω / Δω, können zum Schätzen der Distanz 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 Distanz zum Orientierungspunkt auch basierend auf der folgenden Gleichung bestimmt werden: Z = f * W/ω wobei f die Brennweite ist, W die Größe des Orientierungspunkts ist (z. B. Höhe oder Breite), ω die Anzahl der Pixel ist, wenn der Orientierungspunkt das Bild verlässt. Anhand der obigen Gleichung kann eine Änderung der Distanz Z unter Verwendung von ΔZ = f * W * Δω / ω2 + f * ΔW/ω berechnet werden, wobei ΔW durch Mittelwertbildung auf null fällt und wobei Δω die Anzahl der Pixel ist, die die Genauigkeit eines Begrenzungskastens im Bild repräsentieren. 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 Distanzschä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 Distanzfehler ist durch ΔZ = f * W * Δω / ω2 + f * ΔW/ω gegeben. ΔW fällt jedoch durch Mittelwertbildung auf null; somit wird ΔZ durch Δω bestimmt (z. B. die Ungenauigkeit des Begrenzungskastens im Bild).
  • Für Orientierungspunkte mit unbekannten Abmessungen kann die Distanz zum Orientierungspunkt geschätzt werden, indem Merkmalspunkte auf dem Orientierungspunkt zwischen aufeinanderfolgenden Frames verfolgt werden. Zum Beispiel können bestimmte Merkmale, die auf einem Geschwindigkeitsbegrenzungszeichen vorkommen, zwischen zwei oder mehr Bildframes verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Distanzverteilung pro Merkmalspunkt generiert werden. Der Distanzschätzwert kann aus der Distanzverteilung extrahiert werden. Zum Beispiel kann die häufigste Distanz, die in der Distanzverteilung vorkommt, als der Distanzschätzwert verwendet werden. Als ein anderes Beispiel kann der Mittelwert der Distanzverteilung als der Distanzschätzwert verwendet werden.
  • 13 veranschaulicht ein beispielhaftes Straßennavigationsmodell für autonome Fahrzeuge, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 repräsentiert 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 mit den aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen assoziiert sein. In einigen Ausführungsformen kann jeder Datenpunkt 1310 mit Daten assoziiert sein, die in Beziehung zu Orientierungspunkten (z. B. Größe, Ort und Identifizierungsinformationen von Orientierungspunkten) und/oder Straßensignaturprofilen (z. B. Straßengeometrie, Straßenunebenheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) stehen. In einigen Ausführungsformen können einige Datenpunkte 1310 mit Daten assoziiert werden, die zu Orientierungspunkten in Beziehung stehen, und andere können mit Daten assoziiert werden, die zu Straßensignaturprofilen in Beziehung stehen.
  • 14 veranschaulicht rohe Ortsdaten 1410 (z. B. GPS-Daten), die aus fünf separaten Fahrten empfangen wurden. Eine Fahrt kann von einer anderen Fahrt getrennt sein, wenn sie gleichzeitig von separaten Fahrzeugen, zu separaten Zeiten von demselben 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 generieren, 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 zu den Rohdaten 1410, die den Weg gebildet haben, zurückverbunden werden. Zum Beispiel ist der Weg zwischen A und B innerhalb des Skeletts 1420 mit den Rohdaten 1410 aus den Fahrten 2, 3, 4 und 5, aber nicht aus der Fahrt 1 verbunden. Das Skelett 1420 ist möglicherweise nicht detailliert genug, um verwendet zu werden, um ein Fahrzeug zu navigieren (weil es z. B. Fahrten von mehreren Fahrspuren auf der gleichen Straße kombiniert, anders als die vorstehend beschriebenen Splines), 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 generiert werden können (z. B. Segment A bis B innerhalb des Skeletts 1420). Wie in 15 dargestellt wird, können die Daten entlang der Fahrt (z. B. Eigenbewegungsdaten, Straßenmarkierungsdaten und dergleichen) als eine Funktion der Position S (oder S1 oder S2) gezeigt werden. Der Server 1230 kann Orientierungspunkte für die dünnbesetzte Karte identifizieren, indem er eindeutige Übereinstimmungen zwischen den Orientierungspunkten 1501, 1503 und 1505 der Fahrt 1510 und den Orientierungspunkten 1507 und 1509 der Fahrt 1520 identifiziert. Ein solcher 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. Zum Beispiel kann Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit eindeutigem Abgleich verwendet werden. Der Server 1230 kann die Fahrten in Längsrichtung alignieren, um die abgeglichenen Orientierungspunkte zu alignieren. Zum Beispiel kann der Server 1230 eine Fahrt (z. B. die Fahrt 1520) als Referenzfahrt auswählen und dann die eine oder die mehreren anderen Fahrten (z. B. die Fahrt 1510) zur Alignierung verschieben und/oder elastisch strecken.
  • 16 zeigt ein Beispiel für alignierte 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 aus 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, weil 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 annehmen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt vorkommt, zu Bildern, in denen der Orientierungspunkt nicht vorkommt, einen Schwellenwert überschreitet, und/oder kann potenzielle Orientierungspunkte verwerfen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht vorkommt, zu Bildern, in denen der Orientierungspunkt vorkommt, einen Schwellenwert überschreitet.
  • 17 stellt ein System 1700 zum Generieren von Fahrtdaten dar, das verwendet werden kann, um Crowdsourcing auf eine dünnbesetzte Karte anzuwenden. Wie in 17 dargestellt wird, 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 mehrerer Typen erzeugen, z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen. Die Kameradaten und die Ortsdaten können in Fahrtsegmente 1705 segmentiert werden. 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 aus der Kamera 1701 vorkommt, kann das System 1700 die redundanten Daten so ausdünnen, dass die Fahrtsegmente 1705 nur eine Kopie des Orts und beliebige Metadaten, die sich auf den Orientierungspunkt beziehen, enthalten. Als weiteres Beispiel kann das System 1700, falls eine Fahrspurmarkierung in mehreren Bildern aus der Kamera 1701 vorkommt, die redundanten Daten so ausdünnen, dass die Fahrtsegmente 1705 nur eine Kopie des Orts und beliebiger Metadaten, die sich auf die Fahrspurmarkierung beziehen, enthalten.
  • Das System 1700 beinhaltet auch einen Server (z. B. den Server 1230). Der Server 1230 kann Fahrtsegmente 1705 aus dem Fahrzeug empfangen und die Fahrtsegmente 1705 zu einer einzigen Fahrt 1707 rekombinieren. Eine solche Anordnung kann es ermöglichen, Bandbreitenanforderungen beim Übertragen von Daten zwischen dem Fahrzeug und dem Server zu reduzieren, während es dem Server auch gestattet wird, Daten zu speichern, die sich auf eine gesamte Fahrt beziehen.
  • 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 zum Beispiel unter Verwendung einer Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einem GPS-Positionsgeber) aufnimmt. Wie in 17 segmentiert das Fahrzeug 1810 die erhobenen 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) anhand der empfangenen Segmente.
  • Wie ferner in 18 dargestellt wird, empfängt das System 1700 auch Daten aus zusätzlichen Fahrzeugen. Zum Beispiel nimmt das Fahrzeug 1820 auch Fahrtdaten zum Beispiel unter Verwendung einer Kamera (die z. B. Eigenbewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einem GPS-Positionsgeber) auf. Ähnlich wie das Fahrzeug 1810 segmentiert das Fahrzeug 1820 die erhobenen 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) anhand der empfangenen Segmente. Es kann eine beliebige Anzahl von zusätzlichen Fahrzeugen verwendet werden. Zum Beispiel beinhaltet 18 auch das „AUTO N“, das Fahrtdaten aufnimmt, sie in Fahrtsegmente segmentiert (dargestellt als „DS1 N“, „DS2 N“, „DSN N“ in 18) und sie zum Server 1230 zur Rekonstruktion zu einer Fahrt (dargestellt als „Fahrt N“ in 18) sendet.
  • Wie in 18 dargestellt wird, 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“) erstellen, die aus einer Vielzahl von Fahrzeugen (z. B. „AUTO 1“ (auch als Fahrzeug 1810 gekennzeichnet), „AUTO 2“ (auch als Fahrzeug 1820 gekennzeichnet) und „AUTO N“) erhoben wurden.
  • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess 1900 zum Generieren einer dünnbesetzten Karte für autonome Fahrzeugnavigation entlang eines Straßensegments zeigt. Der Prozess 1900 kann durch einen oder mehrere im Server 1230 beinhaltete Verarbeitungsvorrichtungen durchgeführt werden.
  • Der Prozess 1900 kann das Empfangen einer Vielzahl von Bildern beinhalten, die erlangt werden, wenn ein oder mehrere Fahrzeuge das Straßensegment befahren (Schritt 1905). Der Server 1230 kann Bilder aus Kameras empfangen, die in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 beinhaltet sind. Zum Beispiel kann die Kamera 122 ein oder mehrere Bilder der Umgebung aufnehmen, die das Fahrzeug 1205 umgibt, wenn das Fahrzeug 1205 das Straßensegment 1200 entlangfährt. In einigen Ausführungsformen kann der Server 1230 auch ausgedünnte Bilddaten empfangen, die Redundanzen aufgewiesen hatten, die durch einen Prozessor im Fahrzeug 1205 entfernt wurden, wie vorstehend in Bezug auf 17 erörtert wird.
  • 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 repräsentieren, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. Zum Beispiel kann der Server 1230 die Umgebungsbilder analysieren, die aus der Kamera 122 empfangen werden, um einen Straßenrand oder eine Fahrspurmarkierung zu identifizieren und eine Fahrttrajektorie entlang des Straßensegments 1200 zu bestimmen, die mit dem Straßenrand oder der Fahrspurmarkierung assoziiert wird. In einigen Ausführungsformen kann die Trajektorie (oder Linienrepräsentation) einen Spline, eine Polynomrepräsentation oder eine Kurve beinhalten. Der Server 1230 kann die Fahrttrajektorie des Fahrzeugs 1205 basierend auf Kameraeigenbewegungen (z. B. dreidimensionale Translation und/oder dreidimensionale Rotationsbewegungen) bestimmen, die im Schritt 1905 empfangen wurden.
  • Der Prozess 1900 kann beinhalten, basierend auf der Vielzahl von Bildern eine Vielzahl von Orientierungspunkten zu identifizieren, die mit dem Straßensegment assoziiert sind (Schritt 1910). Zum Beispiel kann der Server 1230 die Umgebungsbilder analysieren, die aus 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 erfasst wurden, als ein oder mehrere Fahrzeuge das Straßensegment befahren haben. Um Crowdsourcing zu ermöglichen, kann die Analyse Regeln in Bezug auf das Annehmen und Verwerfen möglicher Orientierungspunkte beinhalten, die mit dem Straßensegment assoziiert sind. Zum Beispiel kann die Analyse beinhalten, potenzielle Orientierungspunkte anzunehmen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt vorkommt, zu Bildern, in denen der Orientierungspunkt nicht vorkommt, einen Schwellenwert überschreitet, und/oder potenzielle Orientierungspunkte zu verwerfen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht vorkommt, zu Bildern, in denen der Orientierungspunkt vorkommt, einen Schwellenwert überschreitet.
  • Der Prozess 1900 kann andere Operationen oder Schritte beinhalten, die durch den Server 1230 durchgeführt werden. Zum Beispiel können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge beinhalten, die ein Straßensegment entlangfahren, und der Prozess 1900 kann das Clustern von Fahrzeugtrajektorien durch den Server 1230 beinhalten, die zu mehreren Fahrzeugen in Beziehung stehen, die auf dem Straßensegment fahren, und das Bestimmen der Zieltrajektorie basierend auf den geclusterten Fahrzeugtrajektorien, wie nachstehend ausführlicher erörtert wird. Das Clustern von Fahrzeugtrajektorien kann das Clustern der mehreren Trajektorien, die zu den Fahrzeugen in Beziehung stehen, die auf dem Straßensegment fahren, durch den Server 1230 in eine Vielzahl von Clustern basierend auf mindestens dem absoluten Kurs der Fahrzeuge und/oder der Fahrspurzuweisung der Fahrzeuge beinhalten. Das Generieren der Zieltrajektorie kann das Mitteln der geclusterten Trajektorien durch den Server 1230 beinhalten. Als weiteres Beispiel kann der Prozess 1900 das Alignieren von Daten beinhalten, die im Schritt 1905 empfangen wurden. Andere Prozesse oder Schritte, die durch den 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. Zum Beispiel können die offenbarten Systeme lokale Koordinaten anstelle von globalen Koordinaten verwenden. Für autonomes Fahren können einige Systeme Daten in Weltkoordinaten darstellen. Zum Beispiel 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 Karosseriereferenzrahmen und dem Weltreferenzrahmen (z. B. Nord, Ost und Abwärts) zu finden. Sobald der Karosseriereferenzrahmen mit dem Kartenreferenzrahmen aligniert ist, kann die gewünschte Route im Karosseriereferenzrahmen ausgedrückt werden, und die Lenkbefehle können berechnet oder generiert werden.
  • Die offenbarten Systeme und Verfahren können eine autonome Fahrzeugnavigation (z. B. Lenksteuerung) mit Modellen mit kleinem Footprint ermöglichen, die durch die autonomen Fahrzeuge selbst ohne die Hilfe teurer Vermessungsausrüstung erhoben werden können. Um die autonome Navigation (z. B. Lenkanwendungen) zu unterstützen, kann das Straßenmodell eine dünnbesetzte Karte beinhalten, die die Geometrie der Straße, ihre Fahrspurstruktur und Orientierungspunkte aufweist, 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 wird, kann die Generierung der dünnbesetzten Karte durch einen entfernten Server durchgeführt werden, der mit Fahrzeugen kommuniziert, die auf der Straße fahren, und der Daten aus den Fahrzeugen empfängt. Die Daten können abgetastete Daten, Trajektorien, die basierend auf den abgetasteten Daten rekonstruiert werden, und/oder empfohlene Trajektorien, die modifizierte rekonstruierte Trajektorien repräsentieren können, beinhalten. Wie nachstehend erörtert wird, kann der Server das Modell zurück zu den Fahrzeugen oder zu anderen Fahrzeugen ü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 aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 übertragen wurden. 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 aus 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 generiert. 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 2015 kann dem Speicher 140 oder 150 ähnlich oder davon verschieden sein. Der Speicher 2015 kann ein nichtflüchtiger Speicher sein, wie etwa ein Flash-Speicher, ein Direktzugriffsspeicher usw. Der Speicher 2015 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 aus 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 2015 gespeichert sind, um verschiedene Funktionen durchzuführen. Zum Beispiel kann die Verarbeitungsvorrichtung 2020 die Navigationsinformationen analysieren, die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden, und das Straßennavigationsmodell für autonome Fahrzeuge basierend auf der Analyse generieren. 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 einer späteren Zeit 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 Durchführen einer oder mehrerer Operationen zum Generieren eines Straßennavigationsmodells zur Verwendung bei der autonomen Fahrzeugnavigation speichern kann. Wie in 21 gezeigt wird, kann der Speicher 2015 ein oder mehrere Module zum Durchführen der Operationen zum Verarbeiten von Fahrzeugnavigationsinformationen speichern. Zum Beispiel kann der Speicher 2015 ein Modellgenerierungsmodul 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 Modellgenerierungsmodul 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. das Straßensegment 1200) basierend auf Navigationsinformationen generieren können, die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Zum Beispiel kann der Prozessor 2020 beim Generieren des Straßennavigationsmodells für autonome Fahrzeuge Fahrzeugtrajektorien entlang des gemeinsamen Straßensegments 1200 in unterschiedliche Cluster clustern. Der Prozessor 2020 kann eine Zieltrajektorie entlang des gemeinsamen Straßensegments 1200 basierend auf den geclusterten Fahrzeugtrajektorien für jedes der unterschiedlichen Cluster bestimmen. Solch eine Operation kann das Finden einer durchschnittlichen oder gemittelten Trajektorie der geclusterten Fahrzeugtrajektorien in jedem Cluster beinhalten (z. B. durch Mitteln von Daten, die die geclusterten Fahrzeugtrajektorien repräsentieren). 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 autonomen Fahrzeugen für die autonome Navigation bereitgestellt werden. Die Zieltrajektorien können aus mehreren Fahrzeugen empfangen werden oder können basierend auf tatsächlichen Trajektorien oder empfohlenen Trajektorien (tatsächlichen Trajektorien mit einigen Modifikationen) generiert werden, die aus mehreren Fahrzeugen empfangen werden. Die Zieltrajektorien, die im Straßenmodell oder der dünnbesetzten Karte beinhaltet sind, können kontinuierlich aktualisiert (z. B. gemittelt) werden, wobei neue Trajektorien aus anderen Fahrzeugen empfangen werden.
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten durch verschiedene Sensoren erheben. Die Daten können Orientierungspunkte, das Straßensignaturprofil, die Fahrzeugbewegung (z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten), die Fahrzeugposition (z. B. GPS-Daten) beinhalten und können entweder die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten zu einem Server übertragen, der die tatsächlichen Trajektorien für die Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten, die sich auf eine Trajektorie beziehen (z. B. eine Kurve in einem beliebigen Referenzrahmen), Orientierungspunktdaten und Fahrspurzuweisung entlang des Fahrwegs zum Server 1230 übertragen. Verschiedene Fahrzeuge, die das gleiche Straßensegment bei mehreren Fahrten entlangfahren, können unterschiedliche Trajektorien aufweisen. Der Server 1230 kann Routen oder Trajektorien, die mit jeder Fahrspur assoziiert sind, anhand der Trajektorien identifizieren, die aus Fahrzeugen durch einen Clusterprozess empfangen wurden.
  • 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. das Straßensegment 1200) zu bestimmen. Die Zieltrajektorie oder eine Vielzahl von Zieltrajektorien, die anhand des Clusterprozesses bestimmt werden, können im Straßennavigationsmodell für autonome Fahrzeuge oder der dünnbesetzten Karte 800 beinhaltet sein. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die das Straßensegment 1200 entlangfahren, eine Vielzahl von Trajektorien 2200 zum Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Trajektorien basierend auf Orientierungspunkt-, Straßengeometrie- und Fahrzeugbewegungsinformationen generieren, die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen wurden. Um das Straßennavigationsmodell für autonome Fahrzeuge zu generieren, kann der Server 1230 Fahrzeugtrajektorien 1600 in eine Vielzahl von Clustern 2205, 2210, 2215, 2220, 2225 und 2230 clustern, wie in 22 gezeigt wird.
  • Das Clustern kann unter Verwendung verschiedener Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf den absoluten Kurs entlang des Straßensegments 1200 ähnlich sein. Der absolute Kurs kann anhand von GPS-Signalen erhalten werden, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 empfangen wurden. In einigen Ausführungsformen kann der absolute Kurs unter Verwendung von Koppelnavigation erhalten werden. Koppelnavigation, wie ein Fachmann verstehen würde, kann verwendet werden, um die aktuelle Position und somit den Kurs der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 unter Verwendung der zuvor bestimmten Position, geschätzten Geschwindigkeit usw. zu bestimmen. Trajektorien, die durch den absoluten Kurs geclustert werden, können nützlich sein, um Routen entlang der 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 der Fahrbahnen zu identifizieren. In einigen Ausführungsformen können beide Kriterien (z. B. absoluter Kurs und Fahrspurzuweisung) zum Clustern verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine Zieltrajektorie zu erhalten, die mit dem spezifischen Cluster assoziiert ist. Zum Beispiel können die Trajektorien aus 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 beinhaltet sind. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im CO-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Orientierungspunkte eine zwischen verschiedenen Fahrten übereinstimmende Bogenlänge definieren, die zur Alignierung von Trajektorien mit Fahrspuren verwendet werden kann. In einigen Ausführungsformen können Fahrspurmarkierungen vor und nach einer Kreuzung zur Alignierung von Trajektorien mit Fahrspuren verwendet werden.
  • Um Fahrspuren aus den Trajektorien zusammenzufügen, kann der Server 1230 einen Referenzrahmen einer beliebigen Fahrspur auswählen. Der Server 1230 kann teilweise überlappende Fahrspuren auf den ausgewählten Referenzrahmen kartieren. Der Server 1230 kann die Kartierung fortsetzen, bis alle Fahrspuren im gleichen Referenzrahmen liegen. Fahrspuren, die nebeneinander liegen, können so aligniert werden, als ob sie die gleiche Fahrspur wären, und später können sie seitlich verschoben werden.
  • Orientierungspunkte, die entlang des Straßensegments erkannt wurden, können auf den gemeinsamen Referenzrahmen abgebildet werden, zuerst auf dem Fahrspurlevel und dann auf dem Kreuzungslevel. Zum Beispiel können dieselben Orientierungspunkte mehrmals durch mehrere Fahrzeuge auf mehreren Fahrten erkannt werden. Die Daten in Bezug auf die gleichen Orientierungspunkte, die in unterschiedlichen Fahrten empfangen werden, können etwas unterschiedlich sein. Solche Daten können gemittelt und auf den gleichen Referenzrahmen abgebildet werden, wie etwa den CO-Referenzrahmen. Zusätzlich oder alternativ kann die Varianz der Daten desselben Orientierungspunkts, die in mehreren Fahrten empfangen wurden, berechnet werden.
  • In einigen Ausführungsformen kann jede Fahrspur des Straßensegments 120 mit einer Zieltrajektorie und bestimmten Orientierungspunkten assoziiert werden. 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 das gleiche Straßensegment 1200 entlangfahren. Orientierungspunkte, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge das Straßensegment 1200 entlangfahren, 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 aus anderen Fahrzeugen in nachfolgenden Fahrten empfangen werden.
  • Zur Lokalisierung eines autonomen Fahrzeugs können die offenbarten Systeme und Verfahren ein erweitertes 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 justiert 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 Distanz vom Fahrzeug zum Orientierungspunkt geschätzt werden. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann basierend auf der Distanz zum Orientierungspunkt und dem bekannten Ort des Orientierungspunkts (der im Straßenmodell oder der dünnbesetzten Karte 800 gespeichert ist) justiert werden. Die Positions-/Ortsdaten des Orientierungspunkts (z. B. Mittelwerte aus 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 Regelungssubsystem bilden, in dem der Schätzwert 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. sein 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 des Straßensegments 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) statt der y-Beobachtung (d. h. der Distanz zum Pfosten) verwendet werden, weil die Unterseiten der Pfosten verdeckt sein können und sich manchmal nicht auf der Straßenebene befinden.
  • 23 veranschaulicht ein Navigationssystem für ein Fahrzeug, das zur autonomen Navigation unter Verwendung einer durch Crowdsourcing ermittelten dünnbesetzten Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als Fahrzeug 1205 referenziert. Das in 23 gezeigte Fahrzeug kann ein beliebiges anderes hier offenbartes Fahrzeug sein, einschließlich zum Beispiel der Fahrzeuge 1210, 1215, 1220 und 1225 sowie des Fahrzeugs 200, das in anderen Ausführungsformen gezeigt wird. Wie in 12 gezeigt wird, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bildaufnahmevorrichtung 122 (z. B. die Kamera 122) beinhalten. Das Fahrzeug 1205 kann ein Navigationssystem 2300 beinhalten, das dazu konfiguriert ist, Navigationsführung für das Fahrzeug 1205 zum Fahren auf einer Straße (z. B. dem Straßensegment 1200) bereitzustellen. 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 auch 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 aus der dünnbesetzten Karte 800 (die auf einer Speichervorrichtung gespeichert sein kann, die an Bord des Fahrzeugs 1205 bereitgestellt ist, und/oder die aus dem Server 1230 empfangen wird), Straßengeometrie, die durch einen Straßenprofilsensor 2330 abgetastet wurde, Bilder, die durch die Kamera 122 aufgenommen wurden, und/oder ein Straßennavigationsmodell für autonome Fahrzeuge, das aus dem Server 1230 empfangen wurde, zu verarbeiten. Der Straßenprofilsensor 2330 kann unterschiedliche Typen von Vorrichtungen zum Messen unterschiedlicher Typen 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 zum Messen der Distanz vom Fahrzeug 1205 zu Straßenseiten (z. B. Barrieren an den Straßenseiten) beinhalten, 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. die Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder der Straße aufzunehmen, die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu detektieren.
  • Der mindestens eine Prozessor 2315 kann dazu programmiert sein, aus 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 in Beziehung zur Fahrt des Fahrzeugs 1205 entlang des Straßensegments 1200 steht. 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 Translations- und Rotationsbewegungen der Kamera 122 basierend auf der Analyse einer Vielzahl von Bildern bestimmen, die durch die Kamera 122 erfasst wurden. In einigen Ausführungsformen können die Navigationsinformationen Fahrspurzuweisungsinformationen beinhalten (z. B., auf welcher Fahrspur das Fahrzeug 1205 das Straßensegment 1200 entlangfährt). Die Navigationsinformationen, die aus dem Fahrzeug 1205 zum Server 1230 übertragen werden, können durch den Server 1230 verwendet werden, um ein Straßennavigationsmodell für autonome Fahrzeuge zu generieren und/oder zu aktualisieren, das aus dem Server 1230 zurück zum Fahrzeug 1205 übertragen werden kann, um autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann auch dazu programmiert sein, die Navigationsinformationen aus dem Fahrzeug 1205 zum Server 1230 zu übertragen. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen zum Server 1230 übertragen werden. Die Straßenortsinformationen können mindestens ein GPS-Signal, das durch die GPS-Einheit 2310 empfangen wurde, und/oder Orientierungspunktinformationen und/oder Straßengeometrie und/oder Fahrspurinformationen usw. beinhalten. Der mindestens eine Prozessor 2315 kann aus dem Server 1230 das Straßennavigationsmodell für autonome Fahrzeuge oder einen Abschnitt des Modells empfangen. Das Straßennavigationsmodell für autonome Fahrzeuge, das aus dem Server 1230 empfangen wird, kann mindestens eine Aktualisierung basierend auf den Navigationsinformationen beinhalten, die aus dem Fahrzeug 1205 zum Server 1230 übertragen wurden. Der Abschnitt des Modells, der aus dem Server 1230 zum 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, Überholen eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Straßennavigationsmodell für autonome Fahrzeuge oder dem aktualisierten Abschnitt des Modells bewirken.
  • 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 aus verschiedenen Sensoren und Komponenten erheben und die Informationen oder Daten über die Kommunikationseinheit 2305 zum Server 1230 übertragen. Alternativ oder zusätzlich können verschiedene Sensoren oder Komponenten des Fahrzeugs 1205 auch mit dem Server 1230 kommunizieren und Daten oder Informationen, die durch die Sensoren oder Komponenten erhoben wurden, zum Server 1230 übertragen.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren und können Navigationsinformationen gemeinsam nutzen, so dass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Crowdsourcing generieren kann, z. B. basierend auf Informationen, die von anderen Fahrzeugen gemeinsam genutzt werden. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen gemeinsam nutzen, und jedes Fahrzeug kann 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. das Fahrzeug 1205) als ein Hub-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs (z. B. des Fahrzeugs 1205) kann einige oder alle der Funktionen durchführen, die durch den Server 1230 durchgeführt werden. Zum Beispiel kann der mindestens eine Prozessor 2315 des Hub-Fahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen aus anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells basierend auf den gemeinsam genutzten Informationen generieren, die aus anderen Fahrzeugen empfangen wurden. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells zu anderen Fahrzeugen übertragen, um autonome Navigationsführung bereitzustellen.
  • Navigation basierend auf dünnbesetzten Karten
  • Wie bereits erörtert, kann das Straßennavigationsmodell für autonome Fahrzeuge einschließlich der dünnbesetzten Karte 800 eine Vielzahl von kartierten Fahrspurmarkierungen und eine Vielzahl von kartierten Objekten/Merkmalen beinhalten, die mit einem Straßensegment assoziiert sind. Wie nachstehend ausführlicher erörtert wird, können diese kartierten Fahrspurmarkierungen, Objekte und Merkmale verwendet werden, wenn das autonome Fahrzeug navigiert. Zum Beispiel können in einigen Ausführungsformen die kartierten Objekte und Merkmale verwendet werden, um ein Host-Fahrzeug relativ zur Karte (z. B. relativ zu einer kartierten Zieltrajektorie) zu lokalisieren. Die kartierten Fahrspurmarkierungen können verwendet werden (z. B. als eine Prüfung), um eine seitliche Position und/oder Ausrichtung relativ zu einer geplanten oder Zieltrajektorie zu bestimmen. Mit diesen Positionsinformationen kann das autonome Fahrzeug in der Lage sein, eine Kursrichtung so zu justieren, dass sie mit einer Richtung einer Zieltrajektorie an der bestimmten Position übereinstimmt.
  • Das Fahrzeug 200 kann dazu konfiguriert sein, Fahrspurmarkierungen 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. Zum Beispiel können die Fahrspurmarkierungen durchgehende oder gestrichelte Linien sein, die den Rand einer Fahrspur abgrenzen. Die Fahrspurmarkierungen können auch doppelte Linien beinhalten, wie etwa doppelte durchgehende Linien, doppelte gestrichelte Linien oder eine Kombination aus durchgehenden und gestrichelten Linien, die zum Beispiel angeben, ob das Überholen in einer benachbarten Fahrspur erlaubt ist. Die Fahrspurmarkierungen können auch Autobahnauffahrt- und -ausfahrtsmarkierungen beinhalten, die zum Beispiel eine Verlangsamungsspur für eine Ausfahrt oder gestrichelte Linien angeben, die angeben, dass eine Fahrspur nur zum Abbiegen dient oder dass die Fahrspur endet. Die Markierungen können ferner eine Baustellenzone, eine vorübergehende Fahrspurverschiebung, einen Fahrweg über eine Kreuzung, einen Mittelstreifen, eine Spezialfahrspur (z. B. eine Fahrradspur, eine HOV-Fahrspur usw.) oder andere sonstige Markierungen (z. B. einen Zebrastreifen, eine Bodenschwelle, einen Bahnübergang, eine Stopplinie usw.) angeben.
  • Das Fahrzeug 200 kann Kameras verwenden, wie etwa die Bildaufnahmevorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 beinhaltet sind, um Bilder der umgebenden Fahrspurmarkierungen aufzunehmen. Das Fahrzeug 200 kann die Bilder analysieren, um Orte von Punkten, die mit den Fahrspurmarkierungen assoziiert sind, basierend auf Merkmalen zu detektieren, die innerhalb eines oder mehrerer der aufgenommenen Bilder identifiziert wurden. Diese Punktorte können auf einen Server hochgeladen werden, um die Fahrspurmarkierungen in der dünnbesetzten Karte 800 zu repräsentieren. Abhängig von der Position und dem Sichtfeld der Kamera können Fahrspurmarkierungen für beide Seiten des Fahrzeugs gleichzeitig aus einem einzigen Bild detektiert werden. In anderen Ausführungsformen können unterschiedliche Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs aufzunehmen. Statt tatsächliche Bilder der Fahrspurmarkierungen hochzuladen, können die Markierungen in der dünnbesetzten Karte 800 als ein Spline oder eine Serie 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 Punktorte, die durch das Fahrzeug 200 detektiert werden können, um spezielle Fahrspurmarkierungen zu repräsentieren. Ähnlich den vorstehend beschriebenen Orientierungspunkten kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder -software verwenden, um Punktorte innerhalb eines aufgenommenen Bilds zu identifizieren. Zum Beispiel kann das Fahrzeug 200 eine Serie von Randpunkten, Eckpunkten oder verschiedenen anderen Punktorten erkennen, die mit einer speziellen Fahrspurmarkierung assoziiert sind. 24A zeigt eine durchgehende Fahrspurmarkierung 2410, die durch das Fahrzeug 200 detektiert werden kann. Die Fahrspurmarkierung 2410 kann den Außenrand einer Fahrbahn repräsentieren, der durch eine durchgehende weiße Linie repräsentiert wird. Wie in 24A gezeigt wird, kann das Fahrzeug 200 dazu konfiguriert sein, eine Vielzahl von Rand-Ortspunkten 2411 entlang der Fahrspurmarkierung zu detektieren. Die Ortspunkte 2411 können erhoben werden, um die Fahrspurmarkierung in beliebigen Intervallen zu repräsentieren, die ausreichend sind, um eine kartierte Fahrspurmarkierung in der dünnbesetzten Karte zu erstellen. Zum Beispiel kann die Fahrspurmarkierung durch einen Punkt pro Meter des detektierten Rands, einen Punkt pro fünf Meter des detektierten Rands oder in anderen geeigneten Abständen repräsentiert werden. In einigen Ausführungsformen kann der Abstand statt in eingestellten Intervallen durch andere Faktoren bestimmt werden, wie etwa zum Beispiel basierend auf Punkten, an denen das Fahrzeug 200 eine höchste Vertrauenseinstufung des Orts der detektierten Punkte aufweist. Obwohl 24A Rand-Ortspunkte an einem Innenrand der Fahrspurmarkierung 2410 zeigt, können Punkte am Außenrand der Linie oder entlang beider Ränder erhoben werden. Obwohl in 24A eine einzige Linie gezeigt wird, können ferner ähnliche Randpunkte für eine doppelte durchgehende Linie detektiert werden. Zum Beispiel können die Punkte 2411 entlang eines Rands einer oder beider durchgehender Linien detektiert werden.
  • Das Fahrzeug 200 kann auch Fahrspurmarkierungen unterschiedlich repräsentieren, je nach Typ oder Form der Fahrspurmarkierung. 24B zeigt eine beispielhafte gestrichelte Fahrspurmarkierung 2420, die durch das Fahrzeug 200 detektiert werden kann. Statt Randpunkte zu identifizieren, wie in 24A, kann das Fahrzeug eine Serie von Eckpunkten 2421 detektieren, die Ecken der Fahrspurstriche repräsentieren, um die volle Begrenzung des Strichs zu definieren. Obwohl 24B zeigt, dass jede Ecke einer gegebenen Strichmarkierung lokalisiert wird, kann das Fahrzeug 200 eine Teilmenge der in der Figur gezeigten Punkte detektieren oder hochladen. Zum Beispiel kann das Fahrzeug 200 den vorderen Rand oder die vordere Ecke einer gegebenen Strichmarkierung detektieren oder kann die zwei Eckpunkte detektieren, die der Innenseite der Fahrspur am nächsten sind. Ferner wird möglicherweise nicht jede Strichmarkierung aufgenommen, zum Beispiel kann das Fahrzeug 200 Punkte aufnehmen und/oder aufzeichnen, die eine Auswahl der Strichmarkierungen (z. B. jede zweite, jede dritte, jede fünfte usw.) oder Strichmarkierungen in einem vordefinierten Abstand (z. B. jeden Meter, alle fünf Meter, alle 10 Meter usw.) repräsentieren. Eckpunkte können auch für ähnliche Fahrspurmarkierungen detektiert werden, wie etwa Markierungen, die zeigen, dass eine Fahrspur für eine Ausfahrt dient, dass eine spezielle Fahrspur endet, oder andere verschiedene Fahrspurmarkierungen, die detektierbare Eckpunkte aufweisen können. Eckpunkte können auch für Fahrspurmarkierungen detektiert werden, die aus doppelten gestrichelten Linien oder aus einer Kombination von durchgehenden und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die Punkte, die zum Server hochgeladen werden, um die kartierten Fahrspurmarkierungen zu generieren, andere Punkte außer den detektierten Randpunkten oder Eckpunkten repräsentieren. 24C veranschaulicht eine Serie von Punkten, die eine Mittellinie einer gegebenen Fahrspurmarkierung repräsentieren können. Zum Beispiel kann die durchgehende Fahrspur 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Fahrspurmarkierung repräsentiert werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu konfiguriert sein, diese Mittelpunkte unter Verwendung verschiedener Bilderkennungstechniken zu detektieren, wie etwa Merkmalen von Convolutional Neural Networks (CNN), Scale-Invariant Feature Transform (SIFT), Histogram of Oriented Gradients (HOG) oder anderen Techniken. Alternativ kann das Fahrzeug 200 andere Punkte detektieren, wie etwa die in 24A gezeigten Randpunkte 2411, und kann Mittellinienpunkte 2441 berechnen, zum Beispiel durch Detektieren von Punkten entlang jedes Rands und Bestimmen eines Mittelpunkts zwischen den Randpunkten. Gleichermaßen kann die gestrichelte Fahrspurmarkierung 2420 durch die Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Fahrspurmarkierung repräsentiert werden. Die Mittellinienpunkte können sich am Rand eines Strichs, wie in 24C gezeigt wird, oder an verschiedenen anderen Orten entlang der Mittellinie befinden. Zum Beispiel 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, alle 5 Meter, alle 10 Meter usw.) beabstandet sein. Die Mittellinienpunkte 2451 können direkt durch das Fahrzeug 200 detektiert werden oder können basierend auf anderen detektierten Referenzpunkten, wie etwa den Eckpunkten 2421, wie in 24B gezeigt wird, berechnet werden. Eine Mittellinie kann ebenfalls verwendet werden, um andere Fahrspurmarkierungstypen, wie etwa eine doppelte Linie, unter Verwendung ähnlicher Techniken wie vorstehend zu repräsentieren.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale repräsentieren, wie etwa ein Vertex zwischen zwei sich schneidenden Fahrspurmarkierungen. 24D zeigt beispielhafte Punkte, die eine Kreuzung zwischen zwei Fahrspurmarkierungen 2460 und 2465 repräsentieren. Das Fahrzeug 200 kann einen Vertex-Punkt 2466 berechnen, der eine Kreuzung zwischen den zwei Fahrspurmarkierungen repräsentiert. Zum Beispiel kann eine der Fahrspurmarkierungen 2460 oder 2465 einen Bahnkreuzungsbereich oder einen anderen Kreuzungsbereich im Straßensegment repräsentieren. Obwohl die Fahrspurmarkierungen 2460 und 2465 als sich senkrecht kreuzend gezeigt werden, können verschiedene andere Konfigurationen detektiert werden. Zum Beispiel können die Fahrspurmarkierungen 2460 und 2465 sich in anderen Winkeln kreuzen, oder eine oder beide der Fahrspurmarkierungen können am Vertexpunkt 2466 enden. Ähnliche Techniken können auch für Kreuzungen zwischen gestrichelten oder anderen Fahrspurmarkierungstypen angewendet werden. Zusätzlich zum Vertexpunkt 2466 können auch verschiedene andere Punkte 2467 detektiert werden, die weitere Informationen über die Ausrichtung der Fahrspurmarkierungen 2460 und 2465 bereitstellen.
  • Das Fahrzeug 200 kann realweltliche Koordinaten mit jedem detektierten Punkt der Fahrspurmarkierung assoziieren. Zum Beispiel können Ortskennungen, die Koordinaten für jeden Punkt beinhalten, zum Hochladen auf einen Server zum Kartieren der Fahrspurmarkierung generiert werden. Die Ortskennungen 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 dazu konfiguriert sein, eine realweltliche 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 realweltliche Position der Fahrspurmarkierungen zu lokalisieren. Dies kann das Bestimmen des Orts der Fahrspurmarkierungen im Bild relativ zum detektierten Orientierungspunkt oder das Bestimmen der Position des Fahrzeugs basierend auf dem detektierten Orientierungspunkt und dann das Bestimmen einer Distanz vom Fahrzeug (oder der Zieltrajektorie des Fahrzeugs) zur Fahrspurmarkierung beinhalten. Wenn kein Orientierungspunkt verfügbar ist, kann der Ort der Fahrspurmarkierungspunkte relativ zu einer Position des Fahrzeugs bestimmt werden, die basierend auf Koppelnavigation bestimmt wird. Die realweltlichen Koordinaten, die in den Ortskennungen beinhaltet sind, können als absolute Koordinaten (z. B. Breiten-/Längenkoordinaten) repräsentiert werden oder können relativ zu anderen Merkmalen sein, wie etwa basierend auf einer Längsposition entlang einer Zieltrajektorie und einer seitlichen Distanz von der Zieltrajektorie. Die Ortskennungen können dann auf einen Server zum Generieren der kartierten Fahrspurmarkierungen im Navigationsmodell (wie etwa der dünnbesetzten Karte 800) hochgeladen werden. In einigen Ausführungsformen kann der Server einen Spline erstellen, der die Fahrspurmarkierungen eines Straßensegments repräsentiert. Alternativ kann das Fahrzeug 200 den Spline generieren und ihn auf den Server hochladen, damit er im Navigationsmodell aufgezeichnet wird.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine dünnbesetzte Karte für ein entsprechendes Straßensegment, das kartierte Fahrspurmarkierungen beinhaltet. Die dünnbesetzte Karte kann eine Zieltrajektorie 2475 beinhalten, der ein Fahrzeug entlang eines Straßensegments folgen soll. Wie vorstehend beschrieben wird, kann die Zieltrajektorie 2475 einen idealen Weg repräsentieren, den ein Fahrzeug nehmen soll, wenn es das entsprechende Straßensegment befährt, oder kann sich an anderer Stelle auf der Straße befinden (z. B. eine Mittellinie der Straße usw.). Die Zieltrajektorie 2475 kann in den verschiedenen vorstehend beschriebenen Verfahren berechnet werden, zum Beispiel basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die dasselbe Straßensegment befahren.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Fahrzeugtypen und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleich generiert werden. In anderen Ausführungsformen können jedoch auch verschiedene andere Faktoren oder Variablen beim Generieren der Zieltrajektorie berücksichtigt werden. Eine andere Zieltrajektorie kann für unterschiedliche Typen von Fahrzeugen generiert werden (z. B. ein Privatauto, einen Kleinlaster und einen Anhänger). Zum Beispiel kann eine Zieltrajektorie für ein kleines Privatauto mit relativ engeren Wenderadien als für einen größeren Sattelschlepper generiert werden. In einigen Ausführungsformen können Straßen-, Fahrzeug- und Umgebungsbedingungen ebenfalls berücksichtigt werden. Zum Beispiel kann eine andere Zieltrajektorie für verschiedene Straßenbedingungen (z. B. nass, schneebedeckt, vereist, trocken usw.), Fahrzeugbedingungen (z. B. Reifenzustand oder geschätzter Reifenzustand, Bremsenzustand oder geschätzter Bremsenzustand, verbleibende Kraftstoffmenge usw.) oder Umgebungsfaktoren (z. B. Tageszeit, Sicht, Wetter usw.) generiert werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines speziellen Straßensegments abhängen (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Kehren, Gefälle 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 auch kartierte Fahrspurmarkierungen 2470 und 2480 beinhalten, die Fahrspurmarkierungen entlang des Straßensegments repräsentieren. Die kartierten Fahrspurmarkierungen können durch eine Vielzahl von Ortskennungen 2471 und 2481 repräsentiert werden. Wie vorstehend beschrieben, können die Ortskennungen Orte in realweltlichen Koordinaten von Punkten beinhalten, die mit einer detektierten Fahrspurmarkierung assoziiert sind. Ähnlich wie die Zieltrajektorie im Modell können die Fahrspurmarkierungen auch Höhendaten beinhalten und können als eine Kurve im dreidimensionalen Raum repräsentiert werden. Zum Beispiel kann die Kurve ein Spline sein, der dreidimensionale Polynome geeigneter Ordnung verbindet, wobei die Kurve basierend auf den Ortskennungen berechnet werden kann. Die kartierten Fahrspurmarkierungen können auch andere Informationen oder Metadaten über die Fahrspurmarkierung beinhalten, wie etwa eine Kennung des Typs der Fahrspurmarkierung (z. B. zwischen zwei Fahrspuren mit der gleichen Fahrtrichtung, zwischen zwei Fahrspuren mit entgegengesetzter Fahrtrichtung, der Rand einer Fahrbahn usw.) und/oder andere Charakteristiken der Fahrspurmarkierung (z. B. durchgehend, gestrichelt, einzelne Linie, doppelte Linie, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Fahrspurmarkierungen innerhalb des Modells kontinuierlich aktualisiert werden, zum Beispiel unter Verwendung von Crowdsourcing-Techniken. Dasselbe Fahrzeug kann Ortskennungen während mehrerer Gelegenheiten des Befahrens 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 befahren. Die dünnbesetzte Karte 800 kann dann basierend auf nachfolgenden Ortskennungen, die aus den Fahrzeugen empfangen und im System gespeichert werden, aktualisiert oder verfeinert werden. Wenn die kartierten Fahrspurmarkierungen aktualisiert und verfeinert sind, können das aktualisierte Straßennavigationsmodell und/oder die dünnbesetzte Karte an eine Vielzahl von autonomen Fahrzeugen verteilt werden.
  • Das Generieren der kartierten Fahrspurmarkierungen in der dünnbesetzten Karte kann auch das Detektieren und/oder Abschwächen von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Fahrspurmarkierungen selbst beinhalten. 24F zeigt eine beispielhafte Anomalie 2495, die mit dem Detektieren einer Fahrspurmarkierung 2490 assoziiert ist. Die Anomalie 2495 kann in dem durch das Fahrzeug 200 aufgenommenen Bild vorkommen, zum Beispiel von einem Objekt, das die Sicht der Kamera auf die Fahrspurmarkierung behindert, Ablagerungen auf dem Objektiv usw. In einigen Fällen kann die Anomalie auf die Fahrspurmarkierung selbst zurückzuführen sein, die beschädigt oder abgenutzt oder teilweise verdeckt sein kann, zum Beispiel durch Schmutz, Ablagerungen, 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 Fahrspurmarkierung 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 Fahrspurmarkierungspunkten vor und nach der Anomalie. Basierend auf dem Detektieren der Anomalie kann das Fahrzeug den Punkt 2491 auslassen oder kann ihn so justieren, dass er mit anderen detektierten Punkten in Übereinstimmung ist. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, zum Beispiel durch Bestimmen, dass sich der Punkt außerhalb eines erwarteten Schwellenwerts befindet, basierend auf anderen Punkten, die während derselben Fahrt hochgeladen wurden, oder basierend auf einer Aggregation von Daten aus vorherigen Fahrten entlang desselben Straßensegments.
  • Die kartierten Fahrspurmarkierungen 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 Fahrspurmarkierungen in der dünnbesetzten Karte verwenden, um sich selbst mit der Zieltrajektorie zu alignieren. 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 akkumulieren, und die Positionsbestimmungen des Fahrzeugs relativ zur Zieltrajektorie können zunehmend weniger genau werden. Dementsprechend kann das Fahrzeug Fahrspurmarkierungen verwenden, die in der dünnbesetzten Karte 800 (und ihren bekannten Orten) auftreten, um die durch Koppelnavigation induzierten Fehler bei der Positionsbestimmung zu reduzieren. Auf diese Weise können die identifizierten Fahrspurmarkierungen, die in der dünnbesetzten Karte 800 beinhaltet 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 Fahrspurmarkierungen verwendet werden kann. Das Bild 2500 kann zum Beispiel durch das Fahrzeug 200 über die Bildaufnahmevorrichtungen 122 und 124 aufgenommen werden, die in der Bilderfassungseinheit 120 beinhaltet sind. Das Bild 2500 kann ein Bild von mindestens einer Fahrspurmarkierung 2510 beinhalten, wie in 25A gezeigt wird. Das Bild 2500 kann auch einen oder mehrere Orientierungspunkte 2521 beinhalten, wie etwa ein Verkehrszeichen, die zur Navigation verwendet werden, wie vorstehend beschrieben wird. Einige Elemente, die in 25A gezeigt werden, wie etwa die Elemente 2511, 2530 und 2520, die nicht im aufgenommenen Bild 2500 vorkommen, aber durch das Fahrzeug 200 detektiert und/oder bestimmt werden, werden ebenfalls als Referenz gezeigt.
  • Unter Verwendung der verschiedenen, vorstehend in Bezug auf die 24A - 24D und 24F beschriebenen Techniken kann ein Fahrzeug das Bild 2500 analysieren, um die Fahrspurmarkierung 2510 zu identifizieren. Verschiedene Punkte 2511 können entsprechend Merkmalen der Fahrspurmarkierung im Bild detektiert werden. Die Punkte 2511 können zum Beispiel einem Rand der Fahrspurmarkierung, einer Ecke der Fahrspurmarkierung, einem Mittelpunkt der Fahrspurmarkierung, einem Vertex zwischen zwei sich schneidenden Fahrspurmarkierungen oder verschiedenen anderen Merkmalen oder Orten entsprechen. Die Punkte 2511 können detektiert werden, so dass sie einem Ort von Punkten entsprechen, die in einem Navigationsmodell gespeichert werden, das aus einem Server empfangen wird. Wenn zum Beispiel eine dünnbesetzte Karte empfangen wird, die Punkte enthält, die eine Mittellinie einer kartierten Fahrspurmarkierung repräsentieren, können die Punkte 2511 auch basierend auf einer Mittellinie der Fahrspurmarkierung 2510 detektiert werden.
  • Das Fahrzeug kann auch eine Längsposition bestimmen, die durch das Element 2520 repräsentiert wird und sich entlang einer Zieltrajektorie befindet. Die Längsposition 2520 kann anhand des Bilds 2500 bestimmt werden, zum Beispiel durch Detektieren des Orientierungspunkts 2521 innerhalb des Bilds 2500 und Vergleichen eines gemessenen Orts mit einem bekannten Orientierungspunktort, der im Straßenmodell oder der dünnbesetzten Karte 800 gespeichert ist. Der Ort des Fahrzeugs entlang einer Zieltrajektorie kann dann basierend auf der Distanz zum Orientierungspunkt und dem bekannten Ort des Orientierungspunkts bestimmt werden. Die Längsposition 2520 kann auch anhand anderer Bilder als denen bestimmt werden, die verwendet werden, um die Position einer Fahrspurmarkierung zu bestimmen. Zum Beispiel kann die Längsposition 2520 in der Bilderfassungseinheit 120 durch Detektieren von Orientierungspunkten in Bildern aus anderen Kameras bestimmt werden, die gleichzeitig oder fast gleichzeitig mit dem Bild 2500 aufgenommen werden. In einigen Fällen befindet sich das Fahrzeug möglicherweise nicht in der Nähe von Orientierungspunkten oder anderen Referenzpunkten 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 Distanz 2530 bestimmen, die die tatsächliche Distanz zwischen dem Fahrzeug und der Fahrspurmarkierung 2510 repräsentiert, die in dem bzw. den aufgenommenen Bildern beobachtet wird. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren können beim Bestimmen der Distanz 2530 berücksichtigt werden.
  • 25B veranschaulicht eine Korrektur der seitlichen Lokalisierung des Fahrzeugs basierend auf den kartierten Fahrspurmarkierungen in einem Straßennavigationsmodell. Wie vorstehend beschrieben, kann das Fahrzeug 200 eine Distanz 2530 zwischen dem Fahrzeug 200 und einer Fahrspurmarkierung 2510 unter Verwendung eines oder mehrerer Bilder bestimmen, die durch das Fahrzeug 200 aufgenommen wurden. Das Fahrzeug 200 kann auch Zugriff auf ein Straßennavigationsmodell haben, wie etwa die dünnbesetzte Karte 800, die eine kartierte Fahrspurmarkierung 2550 und eine Zieltrajektorie 2555 beinhalten kann. Die kartierte Fahrspurmarkierung 2550 kann unter Verwendung der vorstehend beschriebenen Techniken modelliert werden, zum Beispiel unter Verwendung von durch Crowdsourcing ermittelten Ortskennungen, die durch eine Vielzahl von Fahrzeugen aufgenommen wurden. Die Zieltrajektorie 2555 kann auch unter Verwendung der verschiedenen vorstehend beschriebenen Techniken generiert 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 wird. Das Fahrzeug 200 kann dann eine erwartete Distanz 2540 basierend auf einer seitlichen Distanz zwischen der Zieltrajektorie 2555 und der kartierten Fahrspurmarkierung 2550 bestimmen, die der Längsposition 2520 entspricht. Die seitliche Lokalisierung des Fahrzeugs 200 kann durch Vergleichen der tatsächlichen Distanz 2530, die unter Verwendung des aufgenommenen Bilds oder der aufgenommenen Bilder gemessen wurde, mit der erwarteten Distanz 2540 aus dem Modell korrigiert oder justiert werden.
  • 25C und 25D stellen Veranschaulichungen bereit, die mit einem anderen Beispiel zum Lokalisieren eines Host-Fahrzeugs während der Navigation basierend auf kartierten Orientierungspunkten/Objekten/Merkmalen in einer dünnbesetzten Karte assoziiert sind. 25C repräsentiert konzeptionell eine Serie von Bildern, die von einem Fahrzeug aufgenommen wurden, das entlang eines Straßensegments 2560 navigiert. In diesem Beispiel weist das Straßensegment 2560 einen geraden Abschnitt einer zweispurigen geteilten Autobahn auf, die durch die Straßenränder 2561 und 2562 und die mittlere Fahrspurmarkierung 2563 abgegrenzt wird. Wie gezeigt wird, navigiert das Host-Fahrzeug entlang einer Fahrspur 2564, die mit einer kartierten Zieltrajektorie 2565 assoziiert ist. Somit sollte das Host-Fahrzeug in einer idealen Situation (und ohne Einflussfaktoren, wie etwa dem Vorhandensein von Zielfahrzeugen oder Objekten auf der Fahrbahn usw.) die kartierte Zieltrajektorie 2565 genau verfolgen, während es entlang der Fahrspur 2564 des Straßensegments 2560 navigiert. In der Realität kann das Host-Fahrzeug eine Drift erfahren, wenn es entlang der kartierten Zieltrajektorie 2565 navigiert. Für eine effektive und sichere Navigation sollte diese Drift innerhalb akzeptabler Grenzen gehalten werden (z. B. +/- 10 cm seitliche Verschiebung von der Zieltrajektorie 2565 oder ein beliebiger anderer geeigneter Schwellenwert). Um eine Drift periodisch zu berücksichtigen und alle erforderlichen Kurskorrekturen vorzunehmen, um sicherzustellen, dass das Host-Fahrzeug der Zieltrajektorie 2565 folgt, können die offenbarten Navigationssysteme in der Lage sein, das Host-Fahrzeug entlang der Zieltrajektorie 2565 unter Verwendung eines oder mehrerer kartierter Merkmale/Objekte, die in der dünnbesetzten Karte beinhaltet sind, zu lokalisieren (z. B. eine seitliche und Längsposition des Host-Fahrzeugs relativ zur Zieltrajektorie 2565 zu bestimmen).
  • Als ein einfaches Beispiel zeigt 25C ein Geschwindigkeitsbegrenzungszeichen 2566, wie es in fünf unterschiedlichen, nacheinander aufgenommenen Bildern vorkommen kann, wenn das Host-Fahrzeug entlang des Straßensegments 2560 navigiert. Zum Beispiel kann das Zeichen 2566 zu einem ersten Zeitpunkt t0 in einem aufgenommenen Bild in der Nähe des Horizonts vorkommen. Wenn sich das Host-Fahrzeug dem Zeichen 2566 nähert, wird das Zeichen 2566 in nachfolgend aufgenommenen Bildern zu den Zeitpunkten t1, t2, t3 und t4 an unterschiedlichen 2D-X-Y-Pixelpositionen der aufgenommenen Bilder vorkommen. Zum Beispiel wird sich das Zeichen 2566 in dem aufgenommenen Bildraum entlang der Kurve 2567 (z. B. einer Kurve, die durch die Mitte des Zeichens in jedem der fünf aufgenommenen Einzelbilder verläuft) nach unten und nach rechts bewegen. Das Zeichen 2566 wird auch an Größe zuzunehmen scheinen, wenn sich das Host-Fahrzeug ihm nähert (d. h. es wird in nachfolgend aufgenommenen Bildern eine große Anzahl von Pixeln belegen).
  • Diese Änderungen der Bildraumrepräsentationen eines Objekts, wie etwa des Zeichens 2566, können ausgenutzt werden, um eine lokalisierte Position des Host-Fahrzeugs entlang einer Zieltrajektorie zu bestimmen. Zum Beispiel kann, wie in der vorliegenden Offenbarung beschrieben wird, ein beliebiges detektierbares Objekt oder Merkmal, wie etwa ein semantisches Merkmal, wie das Zeichen 2566, oder ein detektierbares nicht-semantisches Merkmal, durch ein oder mehrere Sammelfahrzeuge identifiziert werden, die ein Straßensegment (z. B. das Straßensegment 2560) zuvor befahren haben. Ein Kartierungsserver kann die gesammelten Fahrtinformationen aus einer Vielzahl von Fahrzeugen erheben, diese Informationen aggregieren und korrelieren und eine dünnbesetzte Karte generieren, die zum Beispiel eine Zieltrajektorie 2565 für die Fahrspur 2564 des Straßensegments 2560 beinhaltet. Die dünnbesetzte Karte kann auch einen Ort des Zeichens 2566 (zusammen mit Typinformationen usw.) speichern. Während der Navigation (z. B. vor dem Einfahren in das Straßensegment 2560) kann ein Host-Fahrzeug mit einer Kartenkachel versorgt werden, die eine dünnbesetzte Karte für das Straßensegment 2560 beinhaltet. Um auf der Fahrspur 2564 des Straßensegments 2560 zu navigieren, kann das Host-Fahrzeug der kartierten Zieltrajektorie 2565 folgen.
  • Die kartierte Repräsentation des Zeichens 2566 kann von dem Host-Fahrzeug verwendet werden, um sich selbst relativ zur Zieltrajektorie zu lokalisieren. Zum Beispiel wird eine Kamera des Host-Fahrzeugs ein Bild 2570 der Umgebung des Host-Fahrzeugs aufnehmen, und dieses aufgenommene Bild 2570 kann eine Bildrepräsentation des Zeichens 2566 mit einer bestimmten Größe und einem bestimmten X-Y-Bildort beinhalten, wie in 25D gezeigt wird. Diese Größe und der X-Y-Bildort können verwendet werden, um die Position des Host-Fahrzeugs relativ zur Zieltrajektorie 2565 zu bestimmen. Zum Beispiel kann ein Navigationsprozessor des Host-Fahrzeugs basierend auf der dünnbesetzten Karte, die eine Repräsentation des Zeichens 2566 beinhaltet, bestimmen, dass als Reaktion darauf, dass das Host-Fahrzeug die Zieltrajektorie 2565 entlangfährt, eine Repräsentation des Zeichens 2566 so in aufgenommenen Bildern vorkommen sollte, dass eine Mitte des Zeichens 2566 sich (im Bildraum) entlang der Linie 2567 bewegen wird. Falls ein aufgenommenes Bild, wie etwa das Bild 2570, die Mitte (oder einen anderen Referenzpunkt) zur Linie 2567 (z. B. der erwarteten Bildraumtrajektorie) verschoben zeigt, dann kann das Navigationssystem des Host-Fahrzeugs bestimmen, dass es sich zum Zeitpunkt des aufgenommenen Bilds nicht auf der Zieltrajektorie 2565 befunden hat. Anhand des Bilds kann der Navigationsprozessor jedoch eine geeignete Navigationskorrektur bestimmen, um das Host-Fahrzeug auf die Zieltrajektorie 2565 zurückzuführen. Falls die Analyse zum Beispiel einen Bildort des Zeichens 2566 zeigt, der im Bild von dem erwarteten Bildraumort auf der Linie 2567 um eine Distanz 2572 nach links verschoben ist, dann kann der Navigationsprozessor eine Kursänderung durch das Host-Fahrzeug bewirken (z. B. den Lenkwinkel der Räder ändern), um das Host-Fahrzeug um eine Distanz 2573 nach links zu bewegen. Auf diese Weise kann jedes aufgenommene Bild als Teil eines Feedback-Schleifenprozesses verwendet werden, so dass eine Differenz zwischen einer beobachteten Bildposition des Zeichens 2566 und der erwarteten Bildtrajektorie 2567 minimiert werden kann, um sicherzustellen, dass das Host-Fahrzeug mit wenig oder keiner Abweichung weiter die Trajektorie 2565 entlangfährt. Je mehr kartierte Objekte verfügbar sind, desto häufiger kann natürlich die beschriebene Lokalisierungstechnik eingesetzt werden, was driftinduzierte Abweichungen von der Zieltrajektorie 2565 reduzieren oder beseitigen kann.
  • Der vorstehend beschriebene Prozess kann nützlich sein, um eine seitliche Ausrichtung oder Verschiebung des Host-Fahrzeugs relativ zu einer Zieltrajektorie zu detektieren. Die Lokalisierung des Host-Fahrzeugs relativ zur Zieltrajektorie 2565 kann auch eine Bestimmung eines Orts in Längsrichtung des Zielfahrzeugs entlang der Zieltrajektorie beinhalten. Zum Beispiel beinhaltet das aufgenommene Bild 2570 eine Repräsentation des Zeichens 2566 mit einer bestimmten Bildgröße (z. B. ein 2D-X-Y-Pixelgebiet). Diese Größe kann mit einer erwarteten Bildgröße des kartierten Zeichens 2566 verglichen werden, wenn es durch den Bildraum die Linie 2567 entlangfährt (wenn z. B. die Größe des Zeichens fortschreitend zunimmt, wie in 25C gezeigt wird). Basierend auf der Bildgröße des Zeichens 2566 im Bild 2570 und basierend auf der erwarteten Größenzunahme im Bildraum relativ zur kartierten Zieltrajektorie 2565 kann das Host-Fahrzeug seine Längsposition (zu dem Zeitpunkt, zu dem Bild 2570 aufgenommen wurde) relativ zur Zieltrajektorie 2565 bestimmen. Diese Längsposition, gekoppelt mit einer beliebigen seitlichen Verschiebung relativ zur Zieltrajektorie 2565, wie vorstehend beschrieben wird, ermöglicht eine vollständige Lokalisierung des Host-Fahrzeugs relativ zur Zieltrajektorie 2565, wenn das Host-Fahrzeug entlang der Straße 2560 navigiert.
  • 25C und 25D stellen nur ein Beispiel für die offenbarte Lokalisierungstechnik bereit, die ein einziges kartiertes Objekt und eine einzige Zieltrajektorie verwendet. In anderen Beispielen kann es viel mehr Zieltrajektorien geben (z. B. eine Zieltrajektorie für jede umsetzbare Fahrspur einer mehrspurigen Autobahn, Stadtstraße, komplexen Kreuzung usw.), und es können viel mehr für die Lokalisierung verfügbare Karten vorhanden sein. Zum Beispiel kann eine dünnbesetzte Karte, die eine städtische Umgebung repräsentiert, viele Objekte pro Meter aufweisen, die für die Lokalisierung verfügbar sind.
  • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess 2600A zum Kartieren einer Fahrspurmarkierung zur Verwendung in der autonomen Fahrzeugnavigation zeigt, konsistent mit offenbarten Ausführungsformen. Im Schritt 2610 kann der Prozess 2600A beinhalten, zwei oder mehr Ortskennungen zu empfangen, die mit einer detektierten Fahrspurmarkierung assoziiert sind. Zum Beispiel kann der Schritt 2610 durch den Server 1230 oder einen oder mehrere Prozessoren durchgeführt werden, die mit dem Server assoziiert sind. Die Ortskennungen können Orte in realweltlichen Koordinaten von Punkten beinhalten, die mit der detektierten Fahrspurmarkierung assoziiert sind, wie vorstehend in Bezug auf 24E beschrieben wird. In einigen Ausführungsformen können die Ortskennungen auch andere Daten enthalten, wie etwa zusätzliche Informationen über das Straßensegment oder die Fahrspurmarkierung. Zusätzliche Daten können auch während des Schritts 2610 empfangen werden, wie etwa Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Orientierungspunktdaten, Straßengeometrie- oder -profildaten, Fahrzeugpositionsbestimmungsdaten, Eigenbewegungsdaten oder verschiedene andere Formen von Daten, die vorstehend beschrieben werden. Die Ortskennungen können durch ein Fahrzeug, wie etwa den Fahrzeugen 1205, 1210, 1215, 1220 und 1225, basierend auf Bildern generiert werden, die durch das Fahrzeug aufgenommen wurden. Zum Beispiel können die Kennungen basierend auf der Erfassung mindestens eines Bilds, das eine Umgebung des Host-Fahrzeugs repräsentiert, aus einer Kamera, die mit einem Host-Fahrzeug assoziiert ist, der Analyse des mindestens einen Bilds, um die Fahrspurmarkierung in der Umgebung des Host-Fahrzeugs zu detektieren, und der Analyse des mindestens einen Bilds bestimmt werden, um eine Position der detektierten Fahrspurmarkierung relativ zu einem Ort zu bestimmen, der mit dem Host-Fahrzeug assoziiert ist. Wie vorstehend beschrieben, kann die Fahrspurmarkierung eine Vielzahl von unterschiedlichen Markierungstypen beinhalten, und die Ortskennungen können einer Vielzahl von Punkten relativ zur Fahrspurmarkierung entsprechen. Wenn zum Beispiel die detektierte Fahrspurmarkierung Teil einer gestrichelten Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte detektierten Ecken der Fahrspurmarkierung entsprechen. Wenn die detektierte Fahrspurmarkierung Teil einer durchgehenden Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte einem detektierten Rand der Fahrspurmarkierung mit verschiedenen Abständen entsprechen, wie vorstehend beschrieben wird. In einigen Ausführungsformen können die Punkte der Mittellinie der detektierten Fahrspurmarkierung entsprechen, wie in 24C gezeigt wird, oder können einem Vertex zwischen zwei sich schneidenden Fahrspurmarkierungen und mindestens zwei anderen Punkten entsprechen, die mit den sich schneidenden Fahrspurmarkierungen assoziiert sind, wie in 24D gezeigt wird.
  • Im Schritt 2612 kann der Prozess 2600A das Assoziieren der detektierten Fahrspurmarkierung mit einem entsprechenden Straßensegment beinhalten. Zum Beispiel kann der Server 1230 die realweltlichen Koordinaten oder andere Informationen analysieren, die während des Schritts 2610 empfangen wurden, und die Koordinaten oder die anderen Informationen mit Ortsinformationen vergleichen, die in einem Straßennavigationsmodell für autonome Fahrzeuge gespeichert sind. Der Server 1230 kann ein Straßensegment in dem Modell bestimmen, das dem realweltlichen Straßensegment entspricht, in dem die Fahrspurmarkierung detektiert wurde.
  • Im Schritt 2614 kann der Prozess 2600A beinhalten, ein Straßennavigationsmodells für autonome Fahrzeuge relativ zum entsprechenden Straßensegment basierend auf den zwei oder mehr Ortskennungen zu aktualisieren, die mit der detektierten Fahrspurmarkierung 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, so dass sie eine kartierte Fahrspurmarkierung im Modell beinhaltet oder justiert. Der Server 1230 kann das Modell basierend auf den verschiedenen Verfahren oder Prozessen aktualisieren, die vorstehend in Bezug auf 24E beschrieben werden. In einigen Ausführungsformen kann das Aktualisieren des Straßennavigationsmodells für autonome Fahrzeuge das Speichern eines oder mehrerer Positionsindikatoren der detektierten Fahrspurmarkierung in realweltlichen Koordinaten beinhalten. Das Straßennavigationsmodell für autonome Fahrzeuge kann auch eine mindestens eine Zieltrajektorie beinhalten, der ein Fahrzeug entlang des entsprechenden Straßensegments folgen soll, wie in 24E gezeigt wird.
  • Im Schritt 2616 kann der Prozess 2600A beinhalten, das aktualisierte Straßennavigationsmodell für autonome Fahrzeuge an eine Vielzahl von autonomen Fahrzeugen zu verteilen. 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 wird.
  • In einigen Ausführungsformen können die Fahrspurmarkierungen unter Verwendung von Daten kartiert werden, die aus einer Vielzahl von Fahrzeugen empfangen werden, wie etwa durch eine Crowdsourcing-Technik, wie vorstehend in Bezug auf 24E beschrieben wird. Zum Beispiel kann der Prozess 2600A beinhalten, eine erste Kommunikation aus einem ersten Host-Fahrzeug zu empfangen, die Ortskennungen beinhaltet, die mit einer detektierten Fahrspurmarkierung assoziiert sind, und eine zweite Kommunikation aus einem zweiten Host-Fahrzeug zu empfangen, die zusätzliche Ortskennungen beinhaltet, die mit der detektierten Fahrspurmarkierung assoziiert sind. Zum Beispiel kann die zweite Kommunikation aus einem nachfolgenden Fahrzeug, das auf demselben Straßensegment fährt, oder aus dem gleichen Fahrzeug auf einer nachfolgenden Fahrt entlang desselben Straßensegments empfangen werden. Der Prozess 2600A kann ferner beinhalten, eine Bestimmung von mindestens einer Position, die mit der detektierten Fahrspurmarkierung assoziiert ist, basierend auf den Ortskennungen, die in der ersten Kommunikation empfangen wurden, und basierend auf den zusätzlichen Ortskennungen, die in der zweiten Kommunikation empfangen wurden, zu verfeinern. Dies kann beinhalten, einen Mittelwert der mehreren Ortskennungen zu verwenden und/oder „Phantom“-Kennungen herauszufiltern, die möglicherweise nicht die realweltliche Position der Fahrspurmarkierung widerspiegeln.
  • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess 2600B zum autonomen Navigieren eines Host-Fahrzeugs entlang eines Straßensegments unter Verwendung von kartierten Fahrspurmarkierungen zeigt. Der Prozess 2600B kann zum Beispiel durch die Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. Im Schritt 2620 kann der Prozess 2600B beinhalten, ein Straßennavigationsmodell für autonome Fahrzeuge aus einem serverbasierten System zu empfangen. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge eine Zieltrajektorie für das Host-Fahrzeug entlang des Straßensegments und Ortskennungen beinhalten, die mit einer oder mehreren Fahrspurmarkierungen 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 repräsentiert werden, wie zum Beispiel in 9B gezeigt wird. Wie vorstehend in Bezug auf 24A - 24F beschrieben wird, können die Ortskennungen Orte in realweltlichen Koordinaten von Punkten beinhalten, die mit der Fahrspurmarkierung assoziiert sind (z. B. Eckpunkte einer gestrichelten Fahrspurmarkierung, Randpunkte einer durchgehenden Fahrspurmarkierung, ein Vertex zwischen zwei sich schneidenden Fahrspurmarkierungen und andere Punkte, die mit den sich schneidenden Fahrspurmarkierungen assoziiert sind, eine Mittellinie, die mit der Fahrspurmarkierung assoziiert ist, usw.).
  • Im Schritt 2621 kann der Prozess 2600B beinhalten, mindestens ein Bild zu empfangen, das eine Umgebung des Fahrzeugs repräsentiert. Das Bild kann aus einer Bildaufnahmevorrichtung des Fahrzeugs empfangen werden, wie etwa über die Bildaufnahmevorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 beinhaltet sind. Das Bild kann ein Bild einer oder mehrerer Fahrspurmarkierungen beinhalten, ähnlich dem vorstehend beschriebenen Bild 2500.
  • Im Schritt 2622 kann der Prozess 2600B beinhalten, eine Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie zu bestimmen. Wie vorstehend in Bezug auf 25A beschrieben wird, kann dies auf anderen Informationen im aufgenommenen Bild (z. B. Orientierungspunkte usw.) oder durch Koppelnavigation des Fahrzeugs zwischen detektierten Orientierungspunkten basieren.
  • Im Schritt 2623 kann der Prozess 2600B beinhalten, eine erwartete seitliche Distanz zur Fahrspurmarkierung basierend auf der bestimmten Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie und basierend auf den zwei oder mehr Ortskennungen, die mit der mindestens einen Fahrspurmarkierung assoziiert sind, zu bestimmen. Zum Beispiel kann das Fahrzeug 200 die dünnbesetzte Karte 800 verwenden, um eine erwartete seitliche Distanz zur Fahrspurmarkierung zu bestimmen. Wie in 25B gezeigt wird, kann die Längsposition 2520 entlang einer Zieltrajektorie 2555 im Schritt 2622 bestimmt werden. Unter Verwendung der dünnbesetzten Karte 800 kann das Fahrzeug 200 eine erwartete Distanz 2540 zur kartierten Fahrspurmarkierung 2550 bestimmen, die der Längsposition 2520 entspricht.
  • Im Schritt 2624 kann der Prozess 2600B beinhalten, das mindestens eine Bild zu analysieren, um die mindestens eine Fahrspurmarkierung zu identifizieren. Das Fahrzeug 200 kann zum Beispiel verschiedene Bilderkennungstechniken oder -algorithmen verwenden, um die Fahrspurmarkierung innerhalb des Bilds zu identifizieren, wie vorstehend beschrieben wird. Zum Beispiel kann die Fahrspurmarkierung 2510 durch Bildanalyse des Bilds 2500 detektiert werden, wie in 25A gezeigt wird.
  • Im Schritt 2625 kann der Prozess 2600B beinhalten, eine tatsächliche seitliche Distanz zu der mindestens einen Fahrspurmarkierung basierend auf der Analyse des mindestens einen Bilds zu bestimmen. Zum Beispiel kann das Fahrzeug eine Distanz 2530 bestimmen, wie in 25A gezeigt wird, die die tatsächliche Distanz zwischen dem Fahrzeug und der Fahrspurmarkierung 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 der Distanz 2530 berücksichtigt werden.
  • Im Schritt 2626 kann der Prozess 2600B beinhalten, eine autonome Lenkaktion für das Host-Fahrzeug basierend auf einer Differenz zwischen der erwarteten seitlichen Distanz zu der mindestens einen Fahrspurmarkierung und der bestimmten tatsächlichen seitlichen Distanz zu der mindestens einen Fahrspurmarkierung zu bestimmen. Wie vorstehend in Bezug auf 25B beschrieben wird, kann das Fahrzeug 200 zum Beispiel die tatsächliche Distanz 2530 mit einer erwarteten Distanz 2540 vergleichen. Die Differenz zwischen der tatsächlichen und der erwarteten Distanz kann einen Fehler (und dessen Größe) zwischen der tatsächlichen Position des Fahrzeugs und der Zieltrajektorie, der das Fahrzeug folgen soll, angeben. Dementsprechend kann das Fahrzeug eine autonome Lenkaktion oder eine andere autonome Aktion basierend auf der Differenz bestimmen. Wenn zum Beispiel die tatsächliche Distanz 2530 kleiner als die erwartete Distanz 2540 ist, wie in 25B gezeigt wird, kann das Fahrzeug eine autonome Lenkaktion bestimmen, um das Fahrzeug nach links, von der Fahrspurmarkierung 2510 weg, zu lenken. Somit kann die Position des Fahrzeugs relativ zur Zieltrajektorie korrigiert werden. Der Prozess 2600B kann zum Beispiel verwendet werden, um die Navigation des Fahrzeugs zwischen Orientierungspunkten zu verbessern.
  • Die Prozesse 2600A und 2600B stellen Beispiele nur für Techniken bereit, die zum Navigieren eines Host-Fahrzeugs unter Verwendung der offenbarten dünnbesetzten Karte verwendet werden können. In anderen Beispielen können auch Prozesse eingesetzt werden, die mit den in Bezug auf die 25C und 25D beschriebenen konsistent sind.
  • Dynamische Frontscheinwerferlevelverstellung
  • Navigationssysteme, einschließlich derjenigen für autonome oder halbautonome Fahrzeuge, müssen möglicherweise eine Vielzahl von Faktoren berücksichtigen und geeignete Entscheidungen basierend auf diesen Faktoren treffen, um einen vorgesehenen Zielort sicher und genau zu erreichen. Zum Beispiel können Navigationssysteme mechanische Sensoren beinhalten, wie etwa Sensoren zum Detektieren des Fahrzeugnickens und -rollens (z. B. IMU, induktive Höhenlevelsensoren usw.). Obwohl Ausgaben dieser Sensoren verwendet werden können, um eine aktuelle Fahrzeugausrichtung zu bestimmen (z. B. in einer momentanen Position auf einer Straße), sind sie möglicherweise nicht zum Bestimmen einer Stellung des Fahrzeugs relativ zu Straßenmerkmalen vor dem Fahrzeug nützlich. Dementsprechend können mechanische Sensoren zur Verwendung in vorhersagenden Navigationsanwendungen ungeeignet sein (z. B. geplanten Fahraktionen basierend auf der Straßengeometrie vor einem Host-Fahrzeug). Daher besteht ein Bedarf, eine Stellung eines Fahrzeugs relativ zu einer Straßenoberfläche zu bestimmen.
  • Um diese und andere Probleme mit konventionellen Fahrzeugnavigationssystemen zu behandeln, beinhalten die offenbarten Ausführungsformen eine oder mehrere Kameras zum Aufnehmen von Bildern, die für eine Umgebung des Host-Fahrzeugs repräsentativ sind. Basierend auf der Analyse dieser aufgenommenen Bilder kann die Geometrie der Straße vor dem Fahrzeug bestimmt werden, und die Stellung des Fahrzeugs, einschließlich der Höhe und Zeigerichtung der Kamera, und Nicken, Gieren und Rollen relativ zur Straße können abgeleitet werden. Insbesondere können Punkte entlang einer Oberfläche der Straße, die über mehrere Bildframes verfolgt werden, verwendet werden, um eine Oberfläche der Straße im 3D-Raum zu modellieren. Maschinenlernalgorithmen können ebenfalls verwendet werden, um die 3D-Struktur der Straßenoberfläche (und anderer Objekte in der Szene) basierend auf den durch die Kameras an Bord des Fahrzeugs aufgenommenen Bildern zu erlangen. Die Höhe und Richtung der Kamera relativ zur Straßenoberfläche (d. h. an verschiedenen Orten entlang der modellierten Straßenoberfläche) können unter Verwendung der aufgenommenen Bildframes und des Straßengeometriemodells bestimmt werden.
  • Die 3D-Informationen (z. B. eine 3D-Karte) der Straße, die basierend auf der Analyse der aufgenommenen Bilder bestimmt werden, können verwendet werden, um verschiedene Navigationsaktionen zu bewerkstelligen. In einem Beispiel können Frontscheinwerfer basierend auf der Straßengeometrie vor dem Fahrzeug dynamisch justiert werden. Zum Beispiel können die Beschleunigung, Verlangsamung, Laständerungen und Straßengeometrie einzeln und in Kombination das Nicken eines Fahrzeugs dynamisch ändern. Solche Änderungen des Nickens eines Fahrzeugs bewirken, dass sich die Ausrichtung der Frontscheinwerfer des Fahrzeugs relativ zu der davorliegenden Straße ändert. Gelegentlich können diese Änderungen der Ausrichtung der Frontscheinwerfer des Fahrzeugs negative Folgen bewirken. Zum Beispiel kann ein positives Nicken bewirken, dass die Frontscheinwerfer in die Augen von Fahrern entgegenkommender Fahrzeuge strahlen. Infolgedessen können die Frontscheinwerfer des Fahrzeugs bewirken, dass diese Fahrer nicht in der Lage sind, zu sehen und ihre Fahrzeuge sicher zu lenken. Als ein anderes Beispiel kann ein negatives Nicken die Beleuchtungsregion einer Fahrbahn vor dem Fahrzeug reduzieren, wodurch die Fahrbahn teilweise dunkel bleibt und der Fahrer nicht in der Lage ist, Hindernisse oder Änderungen der Straße früh genug zu sehen. Diese beiden Situationen sind Beispiele für die Weise, durch welche die Änderungen der Ausrichtung der Frontscheinwerfer die Straßensicherheit negativ beeinflussen können. Die offenbarten Systeme und Verfahren können Informationen verwenden, die aus dem Verarbeiten oder Analysieren von Bildern erhalten werden, um den Nickwinkel der Frontscheinwerfer eines Fahrzeugs dynamisch zu justieren, um die beleuchtete Region vor einem Fahrzeug zu steuern und um die negative Wirkung dieser Situationen auf Sicherheit, Komfort oder beides zu reduzieren. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine interessierende Region vor dem Fahrzeug, die die Frontscheinwerfer beleuchten sollten, identifizieren. Unter Verwendung des oben beschriebenen Straßengeometriemodells kann das System Signale ausgeben, um die Frontscheinwerfer dazu zu justieren, die interessierende Region basierend auf einer bestimmten Fahrzeugausrichtung relativ zur Straßenoberfläche innerhalb der interessierenden Region zu beleuchten, selbst wenn die interessierende Region eine Kuppe einer Anhöhe, ein Tal, eine Kurve usw. beinhaltet. Die offenbarten Ausführungsformen stellen daher, neben anderen Vorteilen, verbesserte Sicherheit, Genauigkeit und Funktionalität gegenüber früheren Fahrzeugnavigationssystemen bereit.
  • 27A veranschaulicht ein beispielhaftes Straßensegment 2700, das analysiert werden kann, um ein Straßengeometriemodell zu generieren, konsistent mit den offenbarten Ausführungsformen. Wie in 27A gezeigt wird, kann ein Host-Fahrzeug 2710 eine Oberfläche eines Straßensegments 2700 entlangfahren. Das Host-Fahrzeug 2710 kann dazu konfiguriert sein, Bilder aus der Umgebung des Fahrzeugs 2710 unter Verwendung einer Kamera 2712 aufzunehmen. In einigen Ausführungsformen kann das Host-Fahrzeug 2710 dem oben erörterten Fahrzeug 200 entsprechen. Dementsprechend können beliebige der hier unter Bezugnahme auf das Fahrzeug 200 beschriebenen Merkmale oder Ausführungsformen auch für das Host-Fahrzeug 2710 gelten. Zum Beispiel kann die Kamera 2712 einer oder mehreren der Bildaufnahmevorrichtungen 122, 124 und 126 entsprechen. Ferner kann das Host-Fahrzeug 2710 mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, wie etwa der oben beschriebenen Verarbeitungsvorrichtung 110.
  • Das Host-Fahrzeug 2710 kann (z. B. über die Verarbeitungsvorrichtung 110) durch die Kamera 2712 aufgenommene Bilder verarbeiten, um ein Straßengeometriemodell entlang des Straßensegments 2700 zu bestimmen. Das Straßengeometriemodell kann gemäß verschiedenen Bildanalyse- oder -verarbeitungstechniken bestimmt werden. In einigen Ausführungsformen kann das System ein oder mehrere Merkmale in den Bildern detektieren, die über mehrere Bildframes detektiert werden können, wie in der gesamten vorliegenden Offenbarung beschrieben wird. Zum Beispiel können die Merkmale den Fahrspurmarkierungen 2704 und 2706 entsprechen, wie in 27A veranschaulicht wird. Die Merkmale können anderen Oberflächenmerkmalen entlang des Straßensegments 2700 entsprechen, wie durch die Punkte 2720 und 2722 angegeben wird. Die Bewegung dieser Punkte zwischen Bildframes kann eine Höhe und Richtung der Kamera 2712 relativ zur Oberfläche des Straßensegments 2700 angeben. Änderungen der Ausrichtung des Host-Fahrzeugs 2710 können sehr genau durch die Analyse der Bilder gemessen werden, um zum Beispiel Änderungen von weniger als einem Grad im Nicken, Rollen oder Gieren zu detektieren. In einem anderen Beispiel kann ein neuronales Netzwerk eine Vielzahl von Bildern der Straße um das Fahrzeug (z. B. vor dem Fahrzeug, seitlich vom Fahrzeug usw.) verarbeiten und als Ausgabe eine Struktur der Straße bereitstellen (z. B. eine Höhe und eine Distanz vom Fahrzeug für einen gegebenen Punkt auf der Straßenoberfläche). Eine beispielhafte Offenbarung der Modellierung einer Fahrzeugumgebung wird im US-Patent 10,872,433 an Stein et al. beschrieben, die hier durch Bezugnahme in ihrer Gänze aufgenommen ist.
  • Als ein anderes Beispiel kann basierend auf verfolgten Änderungen der Position der Punkte 2720 und 2722 zwischen aufgenommenen Bildframes eine Trajektorie jedes Bildpixels abgeleitet werden. Wie zum Beispiel in 27A gezeigt wird, kann das System Bewegungsvektoren für jeden der Punkte 2720 und 2722 bestimmen. Falls die Bewegungsvektoren von Pixeln, die mit einer speziellen Oberfläche oder Region entlang des Straßensegments 2700 assoziiert sind, alle in eine Geradeausrichtung zeigen, kann das System ableiten, dass kein Nicken des Fahrzeugs/der Kamera relativ zur Oberfläche oder Region vorliegt. Falls das Fahrzeug andererseits zu einem Abschnitt einer Straßenoberfläche nicht parallel ist (was eine Steigung der Straßenoberfläche usw. angeben kann), kann ein bestimmter Bias in der Pixelbewegung von Frame zu Frame vorliegen. Zum Beispiel kann der Punkt 2720 einen Bewegungsvektor gerade in Richtung Host-Fahrzeug 2710 aufweisen, was angeben kann, dass das Host-Fahrzeug 2710 (oder mindestens die Kamera 2712) am Punkt 2720 parallel zu einer Oberfläche des Straßensegments 2700 fährt. Allerdings kann der Punkt 2722 einen Bewegungsvektor aufweisen, der nicht zu einer Fahrtrichtung der Kamera 2712 aligniert ist, wie in 27A gezeigt wird. Dies kann eine Steigung des Straßensegments 2700 in der Nähe des Punkts 2722 angeben.
  • Obwohl zur Veranschaulichung die zwei Punkte 2720 und 2722 gezeigt werden, versteht es sich, dass dieselbe oder eine ähnliche Analyse für viele andere Punkte entlang des Straßensegments 2700 durchgeführt werden kann. Die Anzahl von Punkten auf der Straße, die durch das System analysiert werden, kann variieren. Zum Beispiel kann das System in einigen Ausführungsformen 100 - 200 Punkte pro Bildframe modellieren. Die Analyse an verschiedenen Punkten kann aggregiert werden, um ein 3D-Modell der Oberfläche des Straßensegments 2700 zu generieren. Das System kann die Eigenbewegung des Host-Fahrzeugs 2710 kompensieren, die ebenfalls basierend auf der Analyse der Bilder bestimmt werden kann. 27B veranschaulicht ein beispielhaftes Straßengeometriemodell 2730, das unter Verwendung der hier beschriebenen Structure-in-Motion-Techniken generiert werden kann. Wie in 27B gezeigt wird, kann das Straßengeometriemodell 2730 ein dreidimensionales Straßengeometriemodell sein, das eine dreidimensionale Repräsentation einer mit dem Straßensegment 2700 assoziierten Straßenoberfläche 2732 beinhalten kann. Das Straßengeometriemodell 2730 kann dreidimensionale Repräsentationen anderer Objekte oder Merkmale des Straßensegments 2700 beinhalten, wie etwa Fahrspurmarkierungen (z. B. die Fahrspurmarkierungen 2704 und 2706), Straßenränder, Verkehrszeichen, Lichtmasten, Schlaglöcher, Bäume, Straßenablagerungen oder dergleichen. In einigen Ausführungsformen können verschiedene andere Informationen, wie etwa LIDAR- und/oder RADAR-Informationen, zusätzlich oder als eine Alternative zum Bestimmen des Straßengeometriemodells 2730 verwendet werden.
  • Im Anschluss an die Analyse der Bilder kann das System Gier- und Nickwinkel ausgeben, die durch ein Frontscheinwerfersystem verwendet werden können, um die Frontscheinwerfer (z. B. Abblendlicht) des Fahrzeugs so zu justieren, dass die Frontscheinwerfer auf die Straße voraus oder in einer beliebigen anderen gewünschten Richtung fokussiert werden. In einigen Ausführungsformen können die Frontscheinwerfer auf eine interessierende Region vor dem Host-Fahrzeug fokussiert werden. Die interessierende Region kann sich auf eine Region der Straßenoberfläche vor dem Host-Fahrzeug beziehen, die durch die Frontscheinwerfer beleuchtet werden sollte. Diese interessierende Region kann basierend auf der oben beschriebenen Straßengeometrie bestimmt werden. 28 veranschaulicht eine beispielhafte Frontscheinwerferjustierung relativ zu einer interessierenden Region 2810, konsistent mit den offenbarten Ausführungsformen. Das Host-Fahrzeug 2710 kann mit den Frontscheinwerfern 2812 und 2814 ausgestattet sein, die dazu konfiguriert sind, ein Gebiet 2810 vor dem Host-Fahrzeug 2710 zu beleuchten, wie in 28 gezeigt wird. Konsistent mit der vorliegenden Offenbarung können die Frontscheinwerfer 2812 und 2814 justierbar sein, um verschiedene Charakteristiken der beleuchteten Region 2810 zu ändern. Zum Beispiel können die Frontscheinwerfer 2812 und 2814 dynamisch die Frontscheinwerfer entweder aufwärts oder abwärts, nach links und rechts oder beides richten, um eine Position des beleuchteten Gebiets 2810 relativ zum Host-Fahrzeug 2710 und zum Straßensegment 2700 zu ändern. Dementsprechend können die Frontscheinwerfer 2812 und 2814 einen oder mehrere Motoren, Spiegel oder andere Aktuatoren zum Ändern der Ausrichtung des durch den Frontscheinwerfer erzeugten Lichtstrahls beinhalten. In anderen Beispielen können die Frontscheinwerfer mehrere Beleuchtungselemente beinhalten (z. B. eine LED-Matrix, eine Lasermatrix usw.), und die einzelnen Elemente können gesteuert werden, um ein gewünschtes Beleuchtungsmuster, ein gewünschtes Beleuchtungsgebiet oder dergleichen bereitzustellen. Verschiedene andere Charakteristiken der Frontscheinwerfer 2812 und 2814 können ebenfalls justierbar sein. Dies kann zum Beispiel beinhalten, eine Objektivbrennweite oder eine andere Eigenschaft des Frontscheinwerfers zu ändern, was eine Größe des beleuchteten Gebiets 2810 ändern kann. Andere justierbare Eigenschaften können ein Helligkeitsniveau, eine Anzahl oder einen Typ von Glühlampen oder LEDs, die verwendet werden (die z. B. von Abblendlicht auf Fernlicht umschalten), einen Farbton oder eine Tönung des emittierten Lichts oder verschiedene andere Eigenschaften beinhalten. In einigen Ausführungsformen können die Frontscheinwerfer 2812 und 2814 dazu konfiguriert sein, zusammen justiert zu werden. Zum Beispiel kann das System ein einziges Signal ausgeben, das verwendet wird, um beide Frontscheinwerfer 2812 und 2814 gleichzeitig zu justieren. Alternativ oder zusätzlich können die Frontscheinwerfer 2812 und 2814 unabhängig justiert werden, abhängig von der Geometrie des Straßensegments 2700.
  • Wie in 28 gezeigt wird, können die offenbarten Systeme und Verfahren eine interessierende Region 2820 definieren, die eine von den Frontscheinwerfern 2812 und 2814 zu beleuchtende Zielregion vor dem Host-Fahrzeug 2710 repräsentieren kann. In einigen Ausführungsformen kann die interessierende Region 2820 eine vorbestimmte interessierende Region sein. Zum Beispiel kann die interessierende Region durch einen oder mehrere Hersteller des Host-Fahrzeugs 2710 (z. B. einen Hersteller autonomer Fahrzeuge, einen Frontscheinwerferhersteller usw.) definiert werden. In einigen Ausführungsformen kann die interessierende Region 2820 teilweise basierend auf einem oder mehreren Sicherheitsaspekten bestimmt werden. Zum Beispiel kann die interessierende Region 2820 basierend auf lokalen, nationalen oder anderen Zulassungsbehörden definiert werden. In einigen Ausführungsformen kann die Definition der interessierenden Region 2820 von anderen Faktoren abhängen. Basierend auf einem aktuellen Ort des Host-Fahrzeugs 2710 (z. B. basierend auf einer Position in einer Navigationskarte, einer GPS-Position usw.) kann die interessierende Region 2820 zum Beispiel aus einer Vielzahl von vorbestimmten interessierenden Regionen ausgewählt werden, die basierend auf einem speziellen Verkehrsrechtskreis variieren können. In einigen Ausführungsformen kann die interessierende Region 2820 dynamisch basierend auf anderen Bedingungen berechnet werden. Zum Beispiel kann die interessierende Region 2820 abhängig von einer aktuellen Geschwindigkeit des Host-Fahrzeugs 2710, den für das Straßensegment 2700 detektierten Straßenbedingungen, Sichtverhältnissen, einer Tageszeit, einem Umgebungshelligkeitslevel der Umgebung des Host-Fahrzeugs 2710 oder verschiedenen anderen Bedingungen variieren.
  • Die interessierende Region 2820 kann gemäß verschiedenen Parametertypen definiert werden. In einigen Ausführungsformen kann die interessierende Region 2820 basierend auf einer oder mehreren Distanzen vor dem Host-Fahrzeug 2710 definiert werden. Wie zum Beispiel in 28 gezeigt wird, kann die interessierende Region 2820 so definiert werden, dass sie von einer Distanz d1 vor dem Host-Fahrzeug 2710 bis zu einer Distanz d2 vor dem Host-Fahrzeug 2710 reicht. Die Distanzen d1 und d2 können beliebige geeignete Distanzen sein, um sichere Navigation des Host-Fahrzeugs 2710 zu gestatten. Zum Beispiel können die Distanzen d1 und d2 so definiert werden, dass sie eine Region von 5 bis 150 Metern vor dem Host-Fahrzeug 2710, von 20 bis 130 Metern vor dem Host-Fahrzeug 2710, von 30 bis 100 Metern vor dem Host-Fahrzeug 2710 oder beliebige andere geeignete Bereiche beinhalten. Alternativ oder zusätzlich kann der Bereich vor dem Host-Fahrzeug 2710 für die interessierende Region 2820 basierend auf den Nickwinkeln relativ zur Zeigerichtung des Host-Fahrzeugs 2710 definiert werden. Statt zum Beispiel die Längsdistanzen d1 und d2 zu verwenden, können Nickwinkel relativ zur Zeigerichtung des Host-Fahrzeugs die vorderen und hinteren Begrenzungen der interessierenden Region 2820 definieren. Gleichermaßen kann in einigen Ausführungsformen die interessierende Region 2820 durch linke und rechte Gierwinkel relativ zu einer Zeigerichtung des Host-Fahrzeugs bezeichnet werden. Wie zum Beispiel in 28 gezeigt wird, kann eine rechte Begrenzung der interessierenden Region 2820 basierend auf einem Winkel θ1 oder einem Satz von Winkeln relativ zu einer Zeigerichtung 2822 des Host-Fahrzeugs 2710 (oder der Kamera 2712) definiert werden.
  • Basierend auf einer Ausrichtung des Host-Fahrzeugs 2710 und dem Straßengeometriemodell 2730 kann das System eine oder mehrere Anweisungen an die Frontscheinwerfer des Fahrzeugs ausgeben, um zu bewirken, dass die Frontscheinwerfer des Fahrzeugs ihre Position justieren. Zum Beispiel kann das System Gier- und Nickwinkel ausgeben, die durch ein Frontscheinwerfersystem verwendet werden können, um die Frontscheinwerfer des Fahrzeugs so zu justieren, dass die Frontscheinwerfer auf die Straße voraus fokussiert werden. In einigen Ausführungsformen kann die Ausgabe auf der oben beschriebenen, interessierenden Region 2820 basieren. Zum Beispiel kann die Ausgabe so generiert werden, dass eine Justierung der Frontscheinwerfer 2812 und 2813 das beleuchtete Gebiet 2810 so bewegt, dass es zumindest teilweise die interessierende Region 2820 überlappt. In einigen Ausführungsformen können die Ausgabesignale eine Zeigerichtung für die Frontscheinwerfer 2812 und 2814 angeben. Zum Beispiel kann das Ausgabesignal eine Ziel-Zeigerichtung für die Frontscheinwerfer 2812 und 2814 relativ zu einer Ausrichtungsrichtung des Host-Fahrzeugs 2710 (oder der Kamera 2712) definieren. Dies kann beinhalten, einen minimalen Gierwert, einen maximalen Gierwert, einen minimalen Nickwert und/oder einen maximalen Nickwert zu bezeichnen, die relativ zu einer Ausrichtungsrichtung des Host-Fahrzeugs 2710 oder zu einer Zeigerichtung der Kamera 2712 referenziert werden können. Diese minimalen und maximalen Nick- und Gierwerte können eine Region definieren, die benötigt wird, um die interessierende Region 2820 durch das beleuchtete Gebiet 2810 abzudecken. Falls zum Beispiel eine aktuelle Zeigerichtung der Kamera Gieren von 0 Grad und Nicken von 0 Grad ist, dann kann ein minimaler Gierwinkel als -10 Grad definiert werden, und ein maximaler Gierwinkel kann als + 10 Grad definiert werden (mit ähnlichen Einstufungen für Nickwinkel). In einigen Ausführungsformen können der minimale und der maximale Gier- oder Nickwinkel beide positiv oder negativ sein. Zum Beispiel kann ein minimaler Gierwinkel als +2 Grad definiert werden, und ein maximaler Gierwinkel kann als +22 Grad definiert werden. Ähnlich kann ein minimaler Gierwinkel als -25 Grad definiert werden, und ein maximaler Gierwinkel kann als -5 Grad definiert werden. Mit diesen Informationen kann das Navigationssystem für das Host-Fahrzeug 2710 die Frontscheinwerfer 2812 und 2814 so bewegen, dass das Beleuchtungsgebiet 2810 aus diesen Scheinwerfern die Region 2820 abdeckt, wie durch die Ausgabe spezifiziert wird.
  • In einigen Ausführungsformen kann das Ausgabesignal die Ziel-Beleuchtungsregion auf andere Weisen identifizieren. Zum Beispiel können die Ausgabesignale eine oder mehrere Begrenzungen einer Beleuchtungsregion bezeichnen, die relativ zu einer Ausrichtungsrichtung des Host-Fahrzeugs referenziert werden. Dementsprechend kann das Navigationssystem für das Host-Fahrzeug 2710 den Frontscheinwerfer 2812 und 2814 so justieren, dass das beleuchtete Gebiet 2810 den ausgegebenen Begrenzungen der Beleuchtung entspricht. In einigen Ausführungsformen kann das Ausgabesignal so konfiguriert sein, dass ein Gebiet beleuchtet wird, das kleiner als die interessierende Region 2820 ist. Zum Beispiel kann das Ausgabesignal so definiert werden, dass das beleuchtete Gebiet 2810 auf eine mittlere linksseitige Begrenzung (z. B. basierend auf den Fahrspurmarkierungen 2704) und eine mittlere linksseitige Begrenzung (z. B. basierend auf der Fahrspurmarkierung 2706) einer Host-Fahrbahn, auf der das Host-Fahrzeug 2710 fährt, beschränkt ist. Die mittleren linksseitigen und rechtsseitigen Begrenzungen können basierend auf der Analyse von Bildframes bestimmt werden, wenn das Host-Fahrzeug 2710 das Straßensegment 2700 befährt. Dementsprechend kann das beleuchtete Gebiet definiert werden, um das Beleuchten von Abschnitten des Straßensegments 2700 außerhalb der aktuellen Fahrspur zu verhindern.
  • 29A und 29B veranschaulichen beispielhafte Änderungen im Nickwinkel für bewegbare Frontscheinwerfer, die basierend auf Straßenoberflächengeometrien bestimmt werden können, konsistent mit den offenbarten Ausführungsformen. In 29A wird das Host-Fahrzeug 2710 so gezeigt, dass es entlang einer Straßenoberfläche 2900 aufwärts fährt und sich möglicherweise einer Kuppe der Anhöhe nähert. In diesem Szenario kann ein Frontscheinwerferstrahl 2910, der durch die aktuelle Frontscheinwerferausrichtung erzeugt wird, in die Augen entgegenkommender Fahrer strahlen und die Straße vor dem Host-Fahrzeug 2710 nicht richtig beleuchten. Dementsprechend können es die offenbarten Ausführungsformen gestatten, dass das Host-Fahrzeug 2710 die Ausrichtung der Frontscheinwerfer dynamisch justiert, was zu dem Frontscheinwerferstrahl 2912 führt. Zum Beispiel kann dies beinhalten, ein Ausgabesignal zu generieren, um eine negative Änderung des Nickwinkels der Frontscheinwerfer 2812 und 2814 zu bewirken, wenn sich das Host-Fahrzeug 2710 einer Kuppe der Anhöhe nähert. Wie in 29A gezeigt wird, kann der Strahl 2912 einen Abschnitt des Straßensegments vor dem Host-Fahrzeug 2710 effektiver beleuchten und den Lichteinfall auf entgegenkommende Fahrer reduzieren oder eliminieren. In einigen Ausführungsformen kann eine interessierende Region 2902 definiert werden, und der Strahl 2912 kann dazu spezifiziert werden (z. B. über ein oder mehrere Ausgabesignale), zumindest teilweise zur interessierenden Region 2902 ausgerichtet zu sein.
  • 29B zeigt eine andere beispielhafte Justierung für den Nickwinkel für bewegbare Frontscheinwerfer. In diesem Szenario kann sich das Host-Fahrzeug 2710 einem Anstiegsabschnitt entlang einer Straßenoberfläche 2920 nähern. Ein Frontscheinwerferstrahl 2930, der durch die aktuelle Frontscheinwerferausrichtung erzeugt wird, beleuchtet infolge der Änderung der Geometrie der Fahrbahn (z. B. aufgrund der sich nähernden Anhöhe) möglicherweise die Fahrbahn vor dem Host-Fahrzeug 2710 nicht vollständig. Dementsprechend können es die offenbarten Ausführungsformen gestatten, dass das Host-Fahrzeug 2710 die Ausrichtung der Frontscheinwerfer dynamisch justiert, was zu dem Frontscheinwerferstrahl 2932 führt. Zum Beispiel kann dies beinhalten, ein Ausgabesignal zu generieren, um eine positive Änderung des Nickwinkels der Frontscheinwerfer 2812 und 2814 zu bewirken, wenn sich das Host-Fahrzeug 2710 dem Anstieg nähert. Wie in 29B gezeigt wird, kann der Strahl 2932 einen Abschnitt des Straßensegments vor dem Host-Fahrzeug 2710 effektiver beleuchten. In einigen Ausführungsformen kann eine interessierende Region 2922 definiert werden, und der Strahl 2932 kann dazu spezifiziert werden (z. B. über ein oder mehrere Ausgabesignale), zumindest teilweise zur interessierenden Region 2922 ausgerichtet zu sein.
  • In einigen Ausführungsformen können verschiedene Faktoren bewirken, dass das System ein Ausgabesignal generiert, um eine Änderung des Nickwinkels der Frontscheinwerfer 2812 und 2814 zu bewirken. In einigen Ausführungsformen kann dies aufgrund von Änderungen des Host-Fahrzeugs 2710 erfolgen, wie etwa einer Änderung der Nutzlast oder der Gewichtsverteilung. Zum Beispiel kann das Hinzufügen einer relativ schweren Nutzlast zum Fond des Host-Fahrzeugs 2710 eine positive Änderung des Nickens des Host-Fahrzeugs 2710 bewirken. Um die Änderung zu kompensieren, kann ein Ausgabesignal generiert werden, um eine Ausrichtung der Frontscheinwerfer 2812 und 2814 dynamisch zu justieren, um eine negative Änderung des Nickwinkels der Frontscheinwerfer zu bewirken. Falls dagegen eine Nutzlast entfernt wird, so dass eine negative Änderung des Nickwinkels für das Host-Fahrzeug 2710 bewirkt wird, können die Frontscheinwerfer 2812 und 2814 justiert werden, um eine positive Änderung des Nickwinkels zu bewirken. Verschiedene andere Faktoren können eine Justierung des Nickwinkels der Frontscheinwerfer bewirken, wie etwa eine Änderung des Reifendrucks, eine Änderung der Steifigkeit der Aufhängung oder dergleichen.
  • Zusätzlich oder alternativ kann das System einen Gierwinkel der Frontscheinwerfer 2812 und 2814 basierend auf einer Krümmung des Straßensegments ändern. 30 veranschaulicht ein beispielhaftes, durch ein Host-Fahrzeug aufgenommenes Bild, das eine kurvige Fahrbahn beinhaltet, konsistent mit den offenbarten Ausführungsformen. Das Bild 3000 kann durch die Kamera 2712 aufgenommen werden, wenn das Host-Fahrzeug 2700 ein Straßensegment 3010 befährt. In diesem Szenario kann sich das Host-Fahrzeug 2710 einer Rechtskurve im Straßensegment 3010 nähern. Zum Beispiel kann das Host-Fahrzeug 2710 eine aktuelle Kursrichtung 3022 aufweisen, und das Straßensegment 3010 kann von der Kursrichtung 3022 eine Kurve nach rechts machen. Dementsprechend kann das System einen Gierwinkel der Frontscheinwerfer 2812 und 2814 justieren, damit eine Region vor dem Host-Fahrzeug 2710 entlang des Straßensegments 3010 beleuchtet wird. In einigen Ausführungsformen kann dies beinhalten, eine interessierende Region 3020 zu bestimmen, wie in 30 gezeigt wird. Die interessierende Region 3020 kann basierend auf einem minimalen Gierwinkel θ2 und einem maximalen Gierwinkel θ3 definiert werden, die ausgegeben werden können, um eine Änderung des Gierwinkels der Frontscheinwerfer zu bewirken. In einigen Ausführungsformen kann die interessierende Region 3020 basierend auf verschiedenen anderen Parametern definiert werden, wie etwa einer Längsdistanz, einer mittleren Fahrbahnrandposition oder anderen, oben beschriebenen Faktoren. Das Justieren des Gierwinkels der Frontscheinwerfer 2812 und 2814 kann die Frontscheinwerfer auf die Fahrbahn vor dem Host-Fahrzeug 2710 fokussiert halten, anstatt auf eine benachbarte Fahrspur für entgegenkommende Fahrzeuge. Obwohl in 30 beispielhaft eine Rechtskurve gezeigt wird, können ähnliche Techniken für eine Linkskurve angewendet werden, konsistent mit der vorliegenden Offenbarung.
  • 31 ist ein Flussdiagramm, das einen beispielhaften Prozess 3100 zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen. Der Prozess 3100 kann durch mindestens eine Verarbeitungsvorrichtung eines Host-Fahrzeugs durchgeführt werden, wie etwa der Verarbeitungseinheit 110, wie oben beschrieben wird. Es versteht sich, dass in der gesamten vorliegenden Offenbarung der Begriff „Prozessor“ durchweg als eine Kurzform für „mindestens ein Prozessor“ verwendet wird. Mit anderen Worten: Ein Prozessor kann eine oder mehrere Strukturen beinhalten, die Logikoperationen durchführen, gleichviel, ob solche Strukturen zusammenliegend, verbunden oder bezahlt sind. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor den Prozess 3100 durchführt. Ferner ist der Prozess 3100 nicht notwendigerweise auf die in 31 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben werden, können ebenfalls im Prozess 3100 beinhaltet sein, einschließlich derjenigen, die oben in Bezug auf die 27A, 27B, 28, 29A, 29B und 30 beschrieben werden.
  • Im Schritt 3110 beinhaltet der Prozess 3100, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden. Zum Beispiel kann der Prozess 3100 beinhalten, eine Vielzahl von Bildern zu empfangen, die durch die Kamera 2712 des Host-Fahrzeugs 2710 aufgenommen wurden. Dementsprechend kann die Vielzahl von Bildern Repräsentationen eines Straßensegments vor dem Host-Fahrzeug beinhalten.
  • Im Schritt 3120 beinhaltet der Prozess 3100, basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren. Zum Beispiel kann dies beinhalten, das Straßengeometriemodell 2730 zu generieren, das ein dreidimensionales Straßengeometriemodell sein kann, wie oben beschrieben wird. In einigen Ausführungsformen kann die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion (bezeichnet auch als Structure-from-Motion)-Analyse beinhalten. Zum Beispiel kann der Schritt 3120 beinhalten, einen oder mehrere Punkte in der Vielzahl von Bildern über mehrere Bildframes, die zu unterschiedlichen Zeiten aufgenommen wurden, zu detektieren und zu verfolgen. Wenn sich das Host-Fahrzeug bewegt, können sich verschiedene Punkte entlang einer Oberfläche des Straßensegments um unterschiedliche Beträge innerhalb des Bildes bewegen, abhängig von ihrer Distanz von der Kamera. Basierend auf diesen Bewegungsparallaxeinformationen kann ein genaues dreidimensionales Modell einer Geometrie des Straßensegments bestimmt werden. In einigen Ausführungsformen kann dies beinhalten, Scale-Invariant Feature Transform (SIFT) oder andere Merkmalsdetektionsalgorithmen zu verwenden, wie in der gesamten vorliegenden Offenbarung beschrieben wird. In einigen Ausführungsformen kann das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhalten. Zusätzlich oder alternativ kann das Straßengeometriemodell dreidimensionale Repräsentationen anderer Merkmale entlang des Straßensegments beinhalten, wie etwa einer oder mehrerer Fahrspurmarkierungen, die mit dem Straßensegment assoziiert sind, eines oder mehrerer Straßenränder, die mit dem Straßensegment assoziiert sind, oder verschiedener anderer Merkmale. Wie oben erwähnt wird, können andere Verfahren verwendet werden, um 3D-Informationen der Umgebung des Fahrzeugs zu extrahieren, einschließlich Verfahren, die auf Maschinenlerntechniken basieren.
  • Im Schritt 3130 beinhaltet der Prozess 3100, basierend auf der Analyse mindestens eines der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs zu bestimmen. Die Indikatoren einer Ausrichtung des Host-Fahrzeugs können beliebige Informationen beinhalten, die angeben, wie das Host-Fahrzeug relativ zum Straßensegment ausgerichtet ist. Verschiedene Techniken zum Bestimmen einer Ausrichtung eines Host-Fahrzeugs basierend auf Bildanalyse werden in der gesamten vorliegenden Offenbarung beschrieben. In einigen Ausführungsformen beinhalten der eine oder die mehreren Indikatoren einer Ausrichtung des Host-Fahrzeugs eine Zeigerichtung der Kamera, die basierend auf der Analyse mindestens eines der Vielzahl von Bildern bestimmt wurde. Dies kann auch eine Höhe der Kamera über einer Straßenoberfläche, auf der das Host-Fahrzeug fährt, beinhalten. Konsistent mit der vorliegenden Offenbarung können der eine oder die mehreren Indikatoren einer Ausrichtung des Host-Fahrzeugs eine Ausrichtung des Host-Fahrzeugs an seinem aktuellen Ort angeben.
  • Im Schritt 3140 beinhaltet der Prozess 3100, ein oder mehrere Ausgabesignale zu generieren, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken. Das eine oder die mehreren Ausgabesignale können basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und auf dem Straßengeometriemodell für das Straßensegment vor dem Host-Fahrzeug generiert werden. In einigen Ausführungsformen können das eine oder die mehreren Ausgabesignale eine negative Änderung des Nickwinkels des bewegbaren Frontscheinwerfers bewirken, wenn sich das Host-Fahrzeug einer Kuppe einer Anhöhe nähert. Wie zum Beispiel oben in Bezug auf 29A beschrieben wird, kann ein Ausgabesignal eine Änderung vom Frontscheinwerferstrahl 2910 zum Frontscheinwerferstrahl 2912 bewirken. Als ein anderes Beispiel können das eine oder die mehreren Ausgabesignale eine positive Änderung des Nickwinkels des bewegbaren Frontscheinwerfers bewirken, wenn sich das Host-Fahrzeug einem Anstieg im Straßensegment nähert. Wie zum Beispiel oben in Bezug auf 29B beschrieben wird, kann ein Ausgabesignal eine Änderung vom Frontscheinwerferstrahl 2930 zum Frontscheinwerferstrahl 2932 bewirken. In einigen Ausführungsformen können, konsistent mit der vorliegenden Offenbarung, das eine oder die mehreren Ausgabesignale eine Änderung des Gierwinkels des bewegbaren Frontscheinwerfers nach rechts bewirken, wenn sich das Host-Fahrzeug einer sich nach rechts wendenden Kurve im Straßensegment nähert. Dies kann zum Beispiel beinhalten, ein Ausgabesignal basierend auf den Winkeln θ2 und θ3 zu generieren, wie oben in Bezug auf 31 beschrieben wird. Gleichermaßen können das eine oder die mehreren Ausgabesignale eine Änderung des Gierwinkels des bewegbaren Frontscheinwerfers nach links bewirken, wenn sich das Host-Fahrzeug einer sich nach links wendenden Kurve im Straßensegment nähert.
  • In einigen Ausführungsformen bewirken das eine oder die mehreren Ausgabesignale die Änderung der Zeigerichtung des bewegbaren Frontscheinwerfers als Reaktion auf eine detektierte Änderung der Ausrichtung des Host-Fahrzeugs. Zum Beispiel können das eine oder die mehreren Ausgabesignale eine Änderung des Nickwinkels des bewegbaren Frontscheinwerfers als Reaktion auf eine Ausrichtungsänderung des Host-Fahrzeugs bewirken, die dadurch bewirkt wird, dass eine Nutzlast in das Host-Fahrzeug eingebracht wird, wie oben beschrieben wird. Verschiedene andere Gründe für eine Änderung der Ausrichtung des Host-Fahrzeugs können ebenfalls behandelt und/oder darum korrigiert werden. Verschiedene Empfindlichkeitsgrade oder Schwellenwerte können verwendet werden, um Änderungen der Ausrichtung des Host-Fahrzeugs zu detektieren. In einigen Ausführungsformen bewirken das eine oder die mehreren Ausgabesignale die Änderung der Zeigerichtung des bewegbaren Frontscheinwerfers als Reaktion auf eine detektierte Änderung von 1 Grad oder mehr der Ausrichtung des Host-Fahrzeugs. In einigen Ausführungsformen kann die detektierte Änderung der Ausrichtung des Host-Fahrzeugs 0,5 Grad oder mehr, 0,1 Grad oder mehr oder einen anderen beliebigen geeigneten Schwellenwert betragen.
  • In einigen Ausführungsformen können das eine oder die mehreren Ausgabesignale basierend auf einer vorbestimmten interessierenden Region vor dem Host-Fahrzeug generiert werden, wie oben beschrieben wird. Dies kann zum Beispiel die interessierende Region 2820 beinhalten, wie oben beschrieben wird. Die vorbestimmte interessierende Region kann eine Zielregion des Straßensegments beinhalten, die durch einen oder mehrere bewegbare Frontscheinwerfer an Bord des Host-Fahrzeugs beleuchtet werden soll. Die vorbestimmte interessierende Region kann auf verschiedene Weisen definiert werden. In einigen Ausführungsformen wird die vorbestimmte interessierende Region durch mindestens eine minimale und eine maximale Längsdistanz bezeichnet. Zum Beispiel beinhaltet die vorbestimmte interessierende Region eine Region von 5 bis 150 Metern vor dem Host-Fahrzeug, von 20 Metern bis 130 Metern vor dem Host-Fahrzeug, von 30 Metern bis 100 Metern vor dem Host-Fahrzeug oder einen beliebigen anderen geeigneten Bereich. In einigen Ausführungsformen wird die vorbestimmte interessierende Region durch mindestens linke und rechte Gierwinkel bezeichnet. Zum Beispiel kann dies die Winkel θ1, θ2 und/oder θ3 beinhalten, wie oben beschrieben wird. Die vorbestimmte interessierende Region kann auch durch minimale und maximale Längsdistanzen bezeichnet werden.
  • Das eine oder die mehreren Ausgabesignale können generiert werden, um Beleuchtung für mindestens einen Teil der vorbestimmten interessierenden Region bereitzustellen, wie oben beschrieben wird. Zum Beispiel geben das eine oder die mehreren Ausgabesignale eine Zeigerichtung des bewegbaren Frontscheinwerfers an. Die Zeigerichtung kann relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs oder zu einer Zeigerichtung der Kamera referenziert werden. In einigen Ausführungsformen bezeichnen das eine oder die mehreren Ausgabesignale eine oder mehrere Begrenzungen einer Beleuchtungsregion, die relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs referenziert werden, um Beleuchtung für die vorbestimmte interessierende Region (oder zumindest einen Abschnitt der vorbestimmten interessierenden Region) bereitzustellen. Wie oben beschrieben wird, können das eine oder die mehreren Ausgabesignale einen minimalen Gierwert, einen maximalen Gierwert, einen minimalen Nickwert und einen maximalen Nickwert bezeichnen, die relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs oder zu einer Zeigerichtung der Kamera referenziert werden, um eine Region zu beleuchten, die zumindest teilweise mit der vorbestimmten interessierenden Region überlappt. In einigen Ausführungsformen können das eine oder die mehreren Ausgabesignale linke Gierwinkel und rechte Gierwinkel relativ zu einer Längsachse des Host-Fahrzeugs zu einer mittleren linksseitigen Host-Fahrspurbegrenzung innerhalb der vorbestimmten interessierenden Region und zu einer mittleren rechtsseitigen Host-Fahrspurbegrenzung innerhalb der vorbestimmten interessierenden Region bezeichnen.
  • Fahrzeuggeschwindigkeit und Seitensteuerung
  • Wie oben beschrieben wird, kann ein autonomes oder halbautonomes Fahrzeug Bilder analysieren, um ein dreidimensionales Straßengeometriemodell eines Straßensegments vor dem Fahrzeug zu bestimmen. In einigen Ausführungsformen kann das Straßengeometriemodell verwendet werden, um die Fahrzeuggeschwindigkeit und/oder die seitliche Positionierung des Host-Fahrzeugs innerhalb einer Fahrspur oder relativ zu einer Zieltrajektorie für das Host-Fahrzeug zu justieren. Zum Beispiel können fortschrittliche Funktionen, wie etwa Spurhalteassistenz (LKA), Tempomat (CC), adaptive Geschwindigkeitsregelung (ACC), oder ein autonomes Fahrzeug (AV) das Justieren der seitlichen Position und/oder der Geschwindigkeit des Fahrzeugs beinhalten. Insbesondere können die offenbarten Systeme und Verfahren die Straßenroll- und -neigungswinkel an vordefinierten Punkten entlang einer definierten Trajektorie eines Fahrzeugs schätzen. Das Verständnis der bevorstehenden Straßenroll- und -neigungswinkel kann gestatten, dass ein Fahrzeugsystem die seitliche Position des Fahrzeugs justiert, um zu vermeiden, dass das Fahrzeug aus seiner Fahrspur herausdriftet. Zusätzlich oder alternativ kann das Verständnis der bevorstehenden Straßenroll- und -neigungswinkel gestatten, dass das System die Geschwindigkeit des Fahrzeugs justiert. Zum Beispiel kann das Fahrzeug mit einer geringeren Geschwindigkeit fahren, wenn es sich einer Kuppe einer Straße nähert, oder es kann seine Geschwindigkeit erhöhen, wenn es sich einer Senke in der Straße nähert. Dies kann adaptive Geschwindigkeitsregelungssysteme unterstützen, zum Beispiel beim Aufrechterhalten von gleichmäßigen Geschwindigkeiten oder dem sanften Ändern von Geschwindigkeiten. Dementsprechend können solche Justierungen der Position und/oder der Geschwindigkeit des Fahrzeugs nicht nur zu verbesserter Fahrzeugsicherheit beitragen, sondern auch den Komfort der Insassen des Fahrzeugs erhöhen, indem sie eine gleichmäßige und stabile Fahrt bereitstellen.
  • 32 veranschaulicht ein beispielhaftes Bild 3200, das für Justierungen der seitlichen Position und der Geschwindigkeit verwendet wird, konsistent mit den offenbarten Ausführungsformen. Das Bild 3200 kann durch eine Bildaufnahmevorrichtung des Host-Fahrzeugs 2710 aufgenommen werden, wie etwa der Kamera 2712. Das Bild 3200 kann eine Repräsentation eines Straßensegments 3210 vor dem Host-Fahrzeug 2710 beinhalten. Wie oben beschrieben wird, kann das Host-Fahrzeug 2710 eine Vielzahl von Bildframes analysieren, um ein mit dem Straßensegment 3210 assoziiertes Straßengeometriemodell zu generieren. Dies kann eine beliebige der verschiedenen Techniken beinhalten, die oben in Bezug auf das Straßengeometriemodell 2730 beschrieben werden. Zum Beispiel kann das Host-Fahrzeug 2710 verschiedene Punkte entlang des Straßensegments 3210 detektieren und kann die Punkte über mehrere Bildframes unter Verwendung einer Structure-in-Motion-Analyse verfolgen, um ein dreidimensionales Straßengeometriemodell zu generieren.
  • Wie in 32 gezeigt wird, kann das Straßensegment 3210 eine Kurve beinhalten. Das Host-Fahrzeug 2710 kann die Kurve und andere Merkmale der Straßengeometrie identifizieren, wie etwa Änderungen von Neigungs- oder Gierwinkeln der Oberfläche der Straße entlang des Straßensegments 3210, und eine oder mehrere Navigationsaktionen implementieren. In einigen Ausführungsformen kann das System basierend auf einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs 2710 Navigationsaktionen bestimmen. Wie hier verwendet bezieht, sich eine Betriebscharakteristik auf beliebige Parameter, Werte oder Eigenschaften, die mit dem Betrieb des Fahrzeugs assoziiert sind. In einigen Ausführungsformen können die Betriebscharakteristiken Informationen über eine Position des Host-Fahrzeugs 2710 innerhalb einer Umgebung beinhalten. Zum Beispiel können die Betriebscharakteristiken eine Position des Host-Fahrzeugs 2710 entlang des Straßensegments 3210 beinhalten. In einigen Ausführungsformen können die Betriebscharakteristiken eine seitliche Position des Host-Fahrzeugs innerhalb einer Fahrspur 3212 des Straßensegments 3210 beinhalten. In einigen Ausführungsformen kann die seitliche Position relativ zu einer kartierten Zieltrajektorie, die mit einer Fahrspur assoziiert ist, sein. Zum Beispiel kann das Host-Fahrzeug auf eine kartierte Zieltrajektorie 3230, die mit einer Fahrspur 3212 assoziiert ist, zugreifen. Die kartierte Zieltrajektorie 3230 kann einen idealen Weg repräsentieren, den das Fahrzeug nehmen sollte, wenn das Fahrzeug das Straßensegment 3210 entlangfährt, und kann unter Verwendung von durch Crowdsourcing ermittelten Fahrzeugnavigationsinformationen oder verschiedenen anderen Verfahren generiert werden, wie oben beschrieben wird. Die Betriebscharakteristik kann einen Versatz der aktuellen Position des Host-Fahrzeugs 2710 innerhalb der Fahrbahn 3212 gegenüber der kartierten Zieltrajektorie 3230 beinhalten. In einigen Ausführungsformen kann die Betriebscharakteristik Informationen beinhalten, die in Beziehung zu einer Bewegung des Host-Fahrzeugs 2710 stehen. Zum Beispiel kann die Betriebscharakteristik eine aktuelle Geschwindigkeit des Host-Fahrzeugs 2710, eine aktuelle Kursrichtung, eine aktuelle Beschleunigung oder Verlangsamung, einen aktuellen Wenderadius oder beliebige andere Werte beinhalten, die mit einer Bewegung des Host-Fahrzeugs 2710 assoziiert sind. In einigen Ausführungsformen kann die Betriebscharakteristik Eigenschaften oder Attribute des Host-Fahrzeugs 2710 beinhalten, wie etwa eine maximale Beschleunigungsfähigkeit oder eine maximale Bremsrate, einen maximalen oder minimalen Wenderadius, eine Sicherheitsbeschränkung, einen Reibungskoeffizienten oder andere Variablen, die mit dem Betrieb des Fahrzeugs assoziiert sind, wie hier beschrieben wird.
  • Basierend auf der Betriebscharakteristik und der Straßengeometrie kann das System eine Ausgabe generieren, um eine oder mehrere Navigationsaktionen zu bewirken, die vom Host-Fahrzeug 2710 ausgeführt werden sollen. In einigen Ausführungsformen können die offenbarten Systeme und verwandte Verfahren eine Fahrspurzentrierungsanwendung bereitstellen. Die Fahrspurzentrierungsanwendung kann die Straßengeometrie vor dem Fahrzeug analysieren und eine Alarmmeldung für ein Fahrzeugsystem (oder den Fahrer) bereitstellen, wenn eine Änderung der Straßengeometrie auftritt und/oder wenn ein Fahrzeug aus seiner Fahrspur herausdriften könnte. Alternativ oder zusätzlich kann die Fahrspurzentrierungsanwendung eine Ausgabe bereitstellen, die einen Grad der Änderung der Straßengeometrie angibt (z. B. eine Änderung der Neigung der Straße). Wie zum Beispiel in 32 gezeigt wird, kann die Straßengeometrie eine oder mehrere Kurven im Straßensegment 3210 vor dem Host-Fahrzeug 2710 angeben. Das System kann Informationen bereitstellen, die den Ort und den Grad der Kurven angeben, so dass das Host-Fahrzeug 2710 seine Geschwindigkeit und/oder seitliche Fahrspurposition justieren kann, um besser mit den Kurven zurechtzukommen. Dies kann zum Beispiel die Neupositionierung des Host-Fahrzeugs 2710 innerhalb der Fahrspur beinhalten, um eine Kurve in einem größeren Winkel zu nehmen oder zu verlangsamen, um sich auf den Umgang mit der Kurve vorzubereiten. In einigen Ausführungsformen kann das System ferner detektierte Änderungen im Gieren und/oder in der Neigung entlang der Oberfläche der Straße berücksichtigen, die zum Bestimmen einer Navigationsaktion verwendet werden können. Gleichermaßen kann das System einen Anstieg der Oberfläche des Straßensegments 3210 detektieren, was angeben kann, dass das Host-Fahrzeug beschleunigen, den Gang wechseln oder dergleichen sollte.
  • In einigen Ausführungsformen kann das System eine Vielzahl von Punkten ausgeben, die mit dem Straßengeometriemodell assoziiert sind, die verwendet werden können, um eine oder mehrere Navigationsaktionen zu bewirken, die durch das Host-Fahrzeug 2710 ausgeführt werden sollen. Wie zum Beispiel in 32 gezeigt wird, kann das System eine Vielzahl von Punkten 3232 und 3234 entlang des Straßensegments 3210 identifizieren, die dreidimensionale Punktorte sein können, die mit dem Straßengeometriemodell assoziiert sind. In einigen Ausführungsformen können die Punkte 3232 und 3234, wie gezeigt, Punkte entlang der kartierten Zieltrajektorie 3230 sein. In einigen Ausführungsformen können die Punkte über eine Oberfläche eines Straßengeometriemodells verteilt sein. Zum Beispiel mit Bezug auf 27B: Die Punkte können mit jedem Quadrat eines Gitters assoziiert oder auf verschiedene andere Weisen über das Straßengeometriemodell 2730 verteilt sein. In einigen Ausführungsformen können die Punkte in realweltlichen Koordinaten repräsentiert werden (z. B. Breiten-/Längenkoordinaten usw.).
  • Gemäß einigen Ausführungsformen kann jeder der Vielzahl von Punkten mit einem oder mehreren Straßenausrichtungsparameterwerten assoziiert sein. Zum Beispiel kann jeder der Vielzahl von Punkten mit einem mittleren Neigungs- oder Rollwinkel des Straßensegments an einem mit dem Punkt assoziierten speziellen Ort assoziiert sein. Wie in 32 gezeigt wird, kann der Punkt 3232 einen leichten Rollwinkel nach rechts aufweisen, wohingegen der Punkt 3234 einen stärkeren Rollwinkel nach links aufweisen kann. Das Host-Fahrzeug 2710 kann die Neigungs- und Rollwinkel verwenden, um eine geeignete Geschwindigkeit oder seitliche Fahrspurposition zu bestimmen, und kann dementsprechend justieren.
  • 33 veranschaulicht ein anderes beispielhaftes Straßensegment 3300 mit entsprechenden Punkten. Wie oben beschrieben wird, kann das Host-Fahrzeug 2710 ein Straßengeometriemodell für das Straßensegment 3300 generieren. Das Host-Fahrzeug kann Straßenausrichtungsparameterwerte für jeden einer Vielzahl von Punkten entlang des Straßensegments 3300 bestimmen. Zum Beispiel kann der Punkt 3310 (zusammen mit anderen Punkten entlang des Straßensegments 3300) eine Änderung der Neigung der Straßenoberfläche angeben, was angeben kann, dass sich das Host-Fahrzeug 2710 einer Anhöhe nähert. Dementsprechend kann eine Ausgabe des Systems bewirken, dass das Host-Fahrzeug 2710 in einen niedrigeren Gang schaltet, die Motorleistung erhöht, eine Drossel justiert, die Geschwindigkeit erhöht oder andere Navigationsaktionen ausführt, um den Anstieg zu kompensieren. Ähnliche Navigationsaktionen können für Gefälle in der Straßengeometrie durchgeführt werden.
  • 34 ist ein Flussdiagramm, das einen beispielhaften Prozess 3400 zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen. Der Prozess 3400 kann durch mindestens eine Verarbeitungsvorrichtung eines Host-Fahrzeugs durchgeführt werden, wie etwa der Verarbeitungseinheit 110, wie oben beschrieben wird. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor den Prozess 3400 durchführt. Ferner ist der Prozess 3400 nicht notwendigerweise auf die in 34 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben werden, können ebenfalls im Prozess 3400 beinhaltet sein, einschließlich derjenigen, die oben in Bezug auf 32 und 33 beschrieben werden.
  • Im Schritt 3410 beinhaltet der Prozess 3400, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden. Zum Beispiel kann der Prozess 3400 beinhalten, eine Vielzahl von Bildern zu empfangen, die durch die Kamera 2712 des Host-Fahrzeugs 2710 aufgenommen wurden. Dementsprechend kann die Vielzahl von Bildern Repräsentationen eines Straßensegments vor dem Host-Fahrzeug beinhalten.
  • Im Schritt 3420 beinhaltet der Prozess 3400, basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren. Zum Beispiel kann dies beinhalten, das Straßengeometriemodell 2730 zu generieren, das ein dreidimensionales Straßengeometriemodell sein kann, wie oben beschrieben wird. Wie oben beschrieben wird, kann die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion-Analyse beinhalten. Zum Beispiel kann der Schritt 3420 beinhalten, einen oder mehrere Punkte in der Vielzahl von Bildern über mehrere Bildframes, die zu unterschiedlichen Zeiten aufgenommen wurden, zu detektieren und zu verfolgen und ein dreidimensionales Modell einer Geometrie des Straßensegments basierend auf Bewegungsparallaxeinformationen zu generieren. Wie oben erwähnt wird, können andere Verfahren verwendet werden, um die Straßengeometrieinformationen zu generieren, einschließlich Verfahren, die auf Maschinenlemtechniken basieren. Dementsprechend kann das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhalten. Zusätzlich oder alternativ kann das Straßengeometriemodell dreidimensionale Repräsentationen anderer Merkmale entlang des Straßensegments beinhalten, wie etwa einer oder mehrerer Fahrspurmarkierungen, die mit dem Straßensegment assoziiert sind, eines oder mehrerer Straßenränder, die mit dem Straßensegment assoziiert sind, oder verschiedener anderer Merkmale.
  • Im Schritt 3430 beinhaltet der Prozess 3400, eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt sollen, zu bewirken. Die Ausgabe kann basierend auf dem Straßengeometriemodell und einer oder mehrerer Betriebscharakteristiken des Host-Fahrzeugs generiert werden. Wie oben beschrieben wird, können die Betriebscharakteristiken beliebige Informationen sein, die mit dem Betrieb des Host-Fahrzeugs assoziiert sind, einschließlich Positionsinformationen, Bewegungsinformationen, Fahrzeugeigenschaften oder dergleichen. In einigen Ausführungsformen können die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine seitliche Position des Host-Fahrzeugs innerhalb einer Fahrspur beinhalten. Die seitliche Position des Host-Fahrzeugs kann relativ zu einer mit einer Fahrspur assoziierten, kartierten Zieltrajektorie sein, wie etwa der kartierten Zieltrajektorie 3230, die als ein dreidimensionaler Spline repräsentiert werden kann. In einigen Ausführungsformen können die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine aktuelle Geschwindigkeit des Host-Fahrzeugs oder eine aktuelle Kursrichtung des Host-Fahrzeugs beinhalten.
  • In einigen Ausführungsformen kann die Ausgabe eine Vielzahl von Punkten beinhalten, die mit dem Straßengeometriemodell assoziiert sind, was einen mit dem Straßengeometriemodell assoziierten dreidimensionalen Punktort beinhalten kann. Wie zum Beispiel oben in Bezug auf 32 beschrieben wird, kann jeder der Vielzahl von Punkten mit einem oder mehreren Straßenausrichtungsparameterwerten assoziiert sein. In einigen Ausführungsformen können der eine oder die mehreren Straßenausrichtungsparameterwerte einen mittleren Neigungswinkel oder einen mittleren Rollwinkel des Straßensegments an einem speziellen Ort, der mit einem der Vielzahl von Punkten assoziiert ist, beinhalten. Als ein anderes Beispiel können der eine oder die mehreren Straßenausrichtungsparameterwerte einen mittleren Krümmungsradius des Straßensegments an einem speziellen Ort, der mit einem der Vielzahl von Punkten assoziiert ist, beinhalten.
  • Das Host-Fahrzeug kann abhängig von der Ausgabe verschiedene Navigationsaktionen ausführen. In einigen Ausführungsformen beinhalten die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der seitlichen Position des Host-Fahrzeugs innerhalb einer Fahrspur. Zum Beispiel wird die Änderung der seitlichen Position des Host-Fahrzeugs als Reaktion auf eine Repräsentation im Straßengeometriemodell einer Kurve entlang des Straßensegments vorgenommen. In einigen Ausführungsformen kann diese Änderung der seitlichen Position relativ zu einer kartierten Zieltrajektorie erfolgen, wie etwa der kartierten Zieltrajektorie 3230. Als ein anderes Beispiel beinhalten die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der Geschwindigkeit oder einen Gangwechsel des Host-Fahrzeugs. Zum Beispiel kann die Änderung der Geschwindigkeit oder der Gangwechsel als Reaktion auf eine Repräsentation eines Anstiegs oder eines Gefälles entlang des Straßensegments im Straßengeometriemodell vorgenommen werden. Verschiedene andere Navigationsaktionen können durchgeführt werden, einschließlich einer Änderung des mit dem Host-Fahrzeug assoziierten Drossellevels, einer Änderung des mit dem Host-Fahrzeug assoziierten Bremslevels, einer Änderung der mit dem Host-Fahrzeug assoziierten Kursrichtung oder verschiedener anderer Navigationsaktionen, die vom Host-Fahrzeug ausgeführt werden können, wie hier beschrieben wird.
  • Detektion des lokalen Horizonts und verdeckter Straßensegmente
  • In einigen Situationen kann die Geografie einer Straße Anhöhen beinhalten, die einen Abschnitt einer Fahrbahn vor dem Fahrzeug verdecken. Diese Verdeckungszonen können spezielle Erwägungen darstellen, wenn so navigiert wird, dass ein Fahrzeug sicher fahren kann. In einigen Ausführungsformen kann das oben ausführlich beschriebene Straßengeometriemodell verwendet werden, um diese lokalen Horizonte entlang einer Fahrbahn sowie verdeckte Straßenregionen jenseits des detektierten lokalen Horizonts automatisch zu identifizieren. Das Host-Fahrzeug kann eine oder mehrere Navigationsänderungen als Reaktion auf die detektierten lokalen Horizonte implementieren. Zum Beispiel kann das Fahrzeug verlangsamt werden, wenn es sich dem lokalen Horizont nähert, insbesondere wenn bestimmt wird, dass ein verdecktes Straßensegment jenseits des lokalen Horizonts vorhanden ist. In einigen Ausführungsformen kann das System ferner auf Navigationsstraßenkartendaten, die zusätzliche Informationen über den verdeckten Abschnitt des Straßensegments bereitstellen können, zugreifen, um Navigationsänderungen zu bestimmen.
  • 35 veranschaulicht ein beispielhaftes Bild 3500, das eine Repräsentation eines Straßensegments mit einer Verdeckungszone beinhaltet, die durch eine Anhöhe in der Straße bewirkt wird, konsistent mit den offenbarten Ausführungsformen. Das Bild 3500 kann durch eine Bildaufnahmevorrichtung des Host-Fahrzeugs 2710 aufgenommen werden, wie etwa der Kamera 2712. Das Bild 3500 kann eine Repräsentation eines Straßensegments 3510 vor dem Host-Fahrzeug 2710 beinhalten. Wie oben beschrieben wird, kann das Host-Fahrzeug 2710 eine Vielzahl von Bildframes analysieren, um ein mit dem Straßensegment 3510 assoziiertes Straßengeometriemodell zu generieren. Dies kann eine beliebige der verschiedenen Techniken beinhalten, die oben in Bezug auf das Straßengeometriemodell 2730 beschrieben werden. Zum Beispiel kann das Host-Fahrzeug 2710 verschiedene Punkte entlang des Straßensegments 3510 detektieren und kann die Punkte über mehrere Bildframes unter Verwendung einer Structure-in-Motion-Analyse verfolgen, um ein dreidimensionales Straßengeometriemodell zu generieren.
  • Das Straßensegment 3510 kann einen oder mehrere lokale Horizonte entlang des Straßensegments 3510 beinhalten. Wie hier verwendet, bezieht sich ein lokaler Horizont zum Beispiel auf lokale Maxima oder Minima der Straßenhöhe entlang einer Fahrbahn. Zum Beispiel kann der lokale Horizont eine Kuppe einer Anhöhe sein, und ein Abschnitt der Straße, der auf die Kuppe der Anhöhe folgt, kann für die Sicht des Host-Fahrzeugs 2710 verdeckt sein. Wie zum Beispiel in 35 gezeigt wird, kann das Straßensegment 3510 die lokalen Horizonte 3520, 3522 und 3524 beinhalten. Insbesondere können sich die lokalen Horizonte 3520, 3522 und 3524 von einem Gesamthorizont 3530 der Umgebung des Host-Fahrzeugs 2710 unterscheiden. Insbesondere kann jeder der lokalen Horizonte 3520, 3522 und 3524 bewirken, dass ein Abschnitt des Straßensegments 3510 für die Sicht verdeckt ist, jedoch kann ein Abschnitt des Straßensegments 3510 jenseits des verdeckten Abschnitts sichtbar sein.
  • Basierend auf dem Straßengeometriemodell für das Straßensegment 3510 kann das Vorhandensein der lokalen Horizonte 3520, 3522 und 3524 detektiert werden. Zum Beispiel können Änderungen der Neigung, die im Straßengeometriemodell entlang des Straßensegments 3510, das zum lokalen Horizont 3520 führt, angegeben sind, das Vorhandensein des lokalen Horizonts 3520 angeben. Als ein anderes Beispiel können lokale Unterschiede in der Tiefe oder der Straßenoberflächenhöhe zwischen einem oder mehreren Pixeln im Bild 3500 das Vorhandensein des lokalen Horizonts 3520 angeben. Basierend auf einer Structure-in-Motion-Analyse kann zum Beispiel das Pixel 3502 mit einer anderen Tiefe innerhalb des Bildes 3500 assoziiert sein als das Pixel 3504 (z. B. aufgrund eines Bewegungsparallaxeeffekts), was das Vorhandensein des lokalen Horizonts 3520 zwischen den Pixeln 3502 und 3504 angeben kann. Verschiedene andere Verfahren zum Detektieren des lokalen Horizonts 3520 können verwendet werden, wie etwa das Detektieren einer Kante innerhalb des Bildes 3500 entlang des lokalen Horizonts oder verschiedene andere Bildanalysetechniken. In einigen Ausführungsformen kann das System Bildanalyse mit zusätzlichen Informationen ergänzen, wie etwa einer Tiefe und Länge einer verdeckten Zone, die aus einer Karte erhalten werden können (z. B. einer REM-Karte), wie nachstehend ausführlicher beschrieben wird.
  • Alternativ oder zusätzlich können die offenbarten Ausführungsformen ein trainiertes System (z. B. ein neuronales Netzwerk) verwenden, um die Bilder zu analysieren und Verdeckungszonen, wie etwa lokale Horizonte, zu identifizieren. Zum Beispiel kann ein Trainingsalgorithmus, wie etwa ein künstliches neuronales Netzwerk, Trainingsdaten in der Form von Bilddaten mit Repräsentationen lokaler Horizonte (und/oder Verdeckungszonen) empfangen. Die Trainingsdaten können gekennzeichnet sein, so dass diese lokalen Horizonte in den Bilddaten identifiziert werden. Infolgedessen kann ein Modell trainiert werden, um lokale Horizonte innerhalb aufgenommener Bilder zu identifizieren. Konsistent mit der vorliegenden Offenbarung können verschiedene andere Maschinenlemalgorithmen verwendet werden, einschließlich einer logistischen Regression, einer linearen Regression, einer Regression, eines Random Forest, eines K-Nearest-Neighbor (KNN)-Modells (wie zum Beispiel oben beschrieben), eines K-Means-Modells, eines Entscheidungsbaums, eines Cox-Proportional-Hazards-Regressionsmodells, eines Naive-Bayes-Modells, eines Support Vector Machine (SVM)-Modells, eines Gradientenverstärkungsalgorithmus oder einer beliebigen anderen Form von Maschinenlernmodell oder -algorithmus.
  • Basierend auf den detektierten lokalen Horizonten kann das Host-Fahrzeug 2710 eine geeignete Aktion ausführen, wenn es sich den lokalen Horizonten, auf die eine Verdeckungszone folgt, nähert. Zum Beispiel können die offenbarten Systeme und Verfahren eine Distanz zu einem ersten sichtbaren lokalen Horizont durch Bestimmen einer Geometrie der Straße berechnen. Wie in 35 gezeigt wird, kann dies beinhalten, die Distanz d3 zum lokalen Horizont 3520 zu berechnen. Das System kann dann die Distanz zum ersten sichtbaren lokalen Horizont ausgeben, was durch das Host-Fahrzeug 2710 verwendet werden kann, um eine geeignete Aktion auszuführen. Das Fahrzeug kann dann eine geeignete Aktion ausführen, bevor es den ersten sichtbaren lokalen Horizont erreicht. In einigen Ausführungsformen kann dies beinhalten, das Host-Fahrzeug 2710 zu verlangsamen, wenn es sich dem lokalen Horizont 3520 nähert, um eine längere Reaktionszeit zum Erkennen von Objekten oder Straßenbedingungen, die durch den lokalen Horizont 3520 verdeckt sein können, bereitzustellen. Gleichermaßen kann das Host-Fahrzeug Aktionen ausführen, wie etwa Gangwechsel, Ändern eines Drossel- oder Bremslevels des Host-Fahrzeugs. In einigen Ausführungsformen kann die Navigationsaktion beinhalten, das Steuern zurück an einen Fahrer zu geben (in dem Fall eines teilweise autonomen Fahrzeugs), eine Sicherheitseinschränkung oder einen anderen Betriebsparameter zu ändern, eine seitliche Position innerhalb einer Fahrspur zu ändern (z. B. sich weiter vom entgegenkommenden Verkehr weg zu bewegen usw.), eine Bewegung des Host-Fahrzeugs zu beschränken (z. B. eine Fahrspuränderung zu verhindern, die Bewegung in eine Fahrspur für den entgegenkommenden Verkehr erfordert usw.) oder verschiedene andere Aktionen.
  • Verschiedene andere Ausgaben können generiert werden, um Navigationsaktionen zu bewirken, die durch das Host-Fahrzeug 2710 ausgeführt werden sollen. Zum Beispiel kann die Ausgabe eine Anzahl von lokalen Horizonten beinhalten, die vor dem Host-Fahrzeug 2710 detektiert werden. Wie in 35 gezeigt wird, kann das Straßensegment 3510 drei detektierte lokale Horizonte 3520, 3522 und 3524 beinhalten. Die Anzahl von detektierten Horizonten kann eine Navigationsreaktion für das Host-Fahrzeug 2710 angeben. Wenn zum Beispiel eine größere Anzahl lokaler Horizonte detektiert wird, kann dies angeben, dass das Host-Fahrzeug 2710 seine Geschwindigkeit weiter reduzieren sollte, als wenn ein einziger lokaler Horizont detektiert wird. Die Ausgabe kann andere Informationen beinhalten, wie etwa eine Distanz zu einem oder mehreren darauffolgenden lokalen Horizonten (z. B. dem lokalen Horizont 3522 und/oder 3524), einer Anzahl von lokalen Horizonten innerhalb einer vorbestimmten Distanz (z. B. je Kilometer) oder dergleichen. In einigen Ausführungsformen kann die Ausgabe eine Geometrie oder eine andere Charakteristik des Straßensegments, das zum lokalen Horizont 3520 führt, beinhalten. Zum Beispiel kann dies eine mittlere Anstiegssteigung zumindest eines Abschnitts des Straßensegments, das zum detektierten lokalen Horizont 3520 führt, beinhalten, was eine geeignete Aktion für das Host-Fahrzeug 2710 angeben kann. Falls der lokale Horizont 3520 zum Beispiel in einem Abwärtsabschnitt des Straßensegments 3510 beinhaltet ist, kann dies eine größere Notwendigkeit angeben, die Geschwindigkeit zu reduzieren, als wenn der lokale Horizont 3520 in einem Aufwärtsabschnitt des Straßensegments 3510 beinhaltet ist.
  • In einigen Ausführungsformen kann die basierend auf einem lokalen Horizont generierte Ausgabe ferner auf einer Karte basieren, die für einen verdeckten Abschnitt des Straßensegments jenseits des lokalen Horizonts repräsentativ ist. 36 veranschaulicht einen beispielhaftes Analysekartenabschnitt für einen verdeckten Abschnitt eines Straßensegments, konsistent mit den offenbarten Ausführungsformen. Zum Beispiel kann das Host-Fahrzeug 2710 ein Straßensegment 3600 entlangfahren. Wie in 36 veranschaulicht wird, kann das Straßensegment einen lokalen Horizont 3602 beinhalten, der unter Verwendung eines Straßengeometriemodells detektiert werden kann, wie oben beschrieben wird. Der lokale Horizont 3602 kann mit einem verdeckten Abschnitt 3604 des Straßensegments 3600 assoziiert sein, das möglicherweise für das Host-Fahrzeug 2710 (oder zumindest die Kamera 2712) nicht sichtbar ist. Das Host-Fahrzeug 2710 kann dazu konfiguriert sein, eine Karte, die eine Trajektorie 3620 beinhaltet, zu empfangen, die den verdeckten Abschnitt 3604 des Straßensegments 3600 repräsentiert. Zum Beispiel kann die Karte eine Zieltrajektorie für das Straßensegment 3600 sein, wie in der gesamten vorliegenden Offenbarung beschrieben wird. In einigen Ausführungsformen kann das Host-Fahrzeug 2710 eine Karte aus einem Server 3610 empfangen (z. B. einem Server, der sich entfernt vom Host-Fahrzeug 2710 befindet und der in der Lage ist, mit dem Host-Fahrzeug 2710 über eines oder mehrere Netzwerke zu kommunizieren). In einigen Ausführungsformen kann der Server 3610 dem oben beschriebenen Server 1230 entsprechen. Dementsprechend können beliebige der hier unter Bezugnahme auf den Server 1230 gemachten Beschreibungen oder Offenbarungen auch für den Server 3610 gelten und umgekehrt. Der Server 3610 kann dazu konfiguriert sein, Fahrtinformationen aus mehreren Fahrzeugen, wenn sie das Straßensegment 3600 befahren, zu empfangen, und kann eine Karte generieren, die mit dem Straßensegment 3600 assoziiert ist, das die Trajektorie 3620 beinhalten kann. Die Karte kann dann dem Host-Fahrzeug 2710 zum Befahren des Straßensegments 3600 bereitgestellt werden. In einigen Ausführungsformen kann die Karte eine Zieltrajektorie für das Host-Fahrzeug beinhalten, die in der Karte als ein dreidimensionaler Spline repräsentiert sein kann. In einigen Ausführungsformen kann die Karte lokal in einem Speicher des Host-Fahrzeugs 2710 gespeichert werden.
  • Das Host-Fahrzeug 2710 kann die Trajektorie 3620 der empfangenen Karte analysieren, um Navigationsaktionen als Reaktion auf den lokalen Horizont 3602 zu bestimmen. In einigen Ausführungsformen kann eine Ausgabe zum Bewirken einer oder mehrerer Navigationsaktionen, die durch das Host-Fahrzeug 2710 ausgeführt werden sollen, auf einer bestimmten Länge des verdeckten Straßensegments basieren, das durch die Trajektorie 3620 angegeben werden kann. Zum Beispiel kann eine längere bestimmte Länge mit einer größeren Wahrscheinlichkeit assoziiert werden, dass ein Objekt in dem verdeckten Abschnitt 3604 beinhaltet ist, als bei einem kürzeren verdeckten Straßensegment. Dementsprechend kann es wahrscheinlicher sein, dass das Host-Fahrzeug 2710 eine Navigationsaktion implementiert, eine Navigationsaktion möglicherweise früher implementiert, möglicherweise den Grad variiert, mit dem die Navigationsaktion durchgeführt wird (z. B. größere Reduzierung der Geschwindigkeit usw.), oder dergleichen. Als ein anderes Beispiel kann die Ausgabe von einer bestimmten Höhencharakteristik, die mit dem verdeckten Abschnitt 3604 assoziiert ist, abhängen. Die Höhencharakteristik kann eine beliebige Eigenschaft des Straßensegments sein, die zu Änderungen der Höhe gehört. Zum Beispiel kann die Höhencharakteristik die größte vertikale Distanz entlang des verdeckten Abschnitts 3604 zwischen der Zieltrajektorie 3620 und einer imaginären Linie sein, die für das Host-Fahrzeug 2710 sichtbar wäre. Andere Beispiele können eine maximale Änderung der Höhenlage entlang der Trajektorie 3620, eine mittlere Höhe der Trajektorie 3620, eine Distanz entlang einer Trajektorie, an der eine minimale Höhendifferenz vorliegt, oder dergleichen beinhalten. Die Navigationsaktion kann mindestens zum Teil von dieser bestimmten Höhencharakteristik abhängen. Zum Beispiel kann die Höhencharakteristik angeben, wie wahrscheinlich es ist, dass ein Objekt oder eine andere Gefahr in dem verdeckten Abschnitt 3604 vorhanden ist. Bei einem verdeckten Abschnitt, der relativ flach ist (z. B. nicht tief genug für das Vorhandensein eines Fahrzeugs ist), kann es weniger wahrscheinlich sein, dass das Host-Fahrzeug verlangsamt (oder eine geringere Geschwindigkeitsreduzierung implementieren kann), als bei verdeckten Abschnitten, die relativ tief sind und daher wahrscheinlicher ein Objekt, wie etwa ein Fahrzeug, beinhalten.
  • 37 ist ein Flussdiagramm, das einen beispielhaften Prozess 3700 zum Navigieren eines Host-Fahrzeugs zeigt, konsistent mit den offenbarten Ausführungsformen. Der Prozess 3700 kann durch mindestens eine Verarbeitungsvorrichtung eines Host-Fahrzeugs durchgeführt werden, wie etwa der Verarbeitungseinheit 110, wie oben beschrieben wird. In einigen Ausführungsformen kann ein nichtflüchtiges computerlesbares Medium Anweisungen enthalten, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor den Prozess 3700 durchführt. Ferner ist der Prozess 3700 nicht notwendigerweise auf die in 37 gezeigten Schritte beschränkt, und beliebige Schritte oder Prozesse der verschiedenen Ausführungsformen, die in der gesamten vorliegenden Offenbarung beschrieben werden, können ebenfalls im Prozess 3700 beinhaltet sein, einschließlich derjenigen, die oben in Bezug auf 35 und 36 beschrieben werden.
  • Im Schritt 3710 beinhaltet der Prozess 3700, eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden. Zum Beispiel kann der Prozess 3700 beinhalten, eine Vielzahl von Bildern zu empfangen, die durch die Kamera 2712 des Host-Fahrzeugs 2710 aufgenommen wurden. Dementsprechend kann die Vielzahl von Bildern Repräsentationen eines Straßensegments vor dem Host-Fahrzeug beinhalten.
  • Im Schritt 3720 beinhaltet der Prozess 3700, basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren. Zum Beispiel kann dies beinhalten, das Straßengeometriemodell 2730 zu generieren, das ein dreidimensionales Straßengeometriemodell sein kann, wie oben beschrieben wird. Wie oben beschrieben wird, kann die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion-Analyse beinhalten. Zum Beispiel kann der Schritt 3720 beinhalten, einen oder mehrere Punkte in der Vielzahl von Bildern über mehrere Bildframes, die zu unterschiedlichen Zeiten aufgenommen wurden, zu detektieren und zu verfolgen und ein dreidimensionales Modell einer Geometrie des Straßensegments basierend auf Bewegungsparallaxeinformationen zu generieren. Dementsprechend kann das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhalten. Zusätzlich oder alternativ kann das Straßengeometriemodell dreidimensionale Repräsentationen anderer Merkmale entlang des Straßensegments beinhalten, wie etwa einer oder mehrerer Fahrspurmarkierungen, die mit dem Straßensegment assoziiert sind, eines oder mehrerer Straßenränder, die mit dem Straßensegment assoziiert sind, oder verschiedener anderer Merkmale.
  • Im Schritt 3730 beinhaltet der Prozess 3700, basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts zu detektieren, der in dem Straßengeometriemodell repräsentiert wird. Dies kann zum Beispiel beinhalten, den lokalen Horizont 3520 entlang des Straßensegments 3520 zu detektieren, wie oben beschrieben wird. Der lokale Horizont kann einem lokalen Maximum oder Minimum der Höhe des Straßensegments entsprechen, wie in 35 veranschaulicht wird. Ferner kann der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert sein. Dies kann zum Beispiel den verdeckten Abschnitt 3604 jenseits des lokalen Horizonts 3602 beinhalten, wie oben beschrieben wird.
  • Im Schritt 3740 beinhaltet der Prozess 3700, eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt sollen, zu bewirken. In einigen Ausführungsformen kann die Ausgabe basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, generiert werden, wie oben beschrieben wird. Die Ausgabe kann verschiedene Typen von Informationen beinhalten, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt sollen, zu bewirken. In einigen Ausführungsformen kann die Ausgabe einen Indikator der Distanz von einem aktuellen Ort des Host-Fahrzeugs zu einem mit dem detektierten lokalen Horizont assoziierten Ort beinhalten. Dies kann zum Beispiel die Distanz d 3 beinhalten, wie oben beschrieben wird. In einigen Ausführungsformen kann die Ausgabe einen Indikator mindestens einer Charakteristik des Straßensegments, das zu dem detektierten lokalen Horizont führt, beinhalten. Zum Beispiel kann der Indikator mindestens einer Charakteristik des Straßensegments eine mittlere Anstiegssteigung mindestens eines Abschnitts des Straßensegments, das zu dem detektierten lokalen Horizont führt, beinhalten.
  • Die eine oder die mehreren Navigationsaktionen können beliebige Aktionen beinhalten, die durch das Host-Fahrzeug als Reaktion auf den lokalen Horizont durchgeführt werden können, einschließlich Änderungen der Betriebsmodi oder -parameter, Änderungen, die mit einer Position oder Bewegung des Host-Fahrzeugs assoziiert sind, oder beliebige andere Änderungen, die ausgeführt werden können, um Kollisionen in dem verdeckten Abschnitt zu vermeiden. Zum Beispiel können die Navigationsaktionen eine Änderung der Geschwindigkeit, eine Änderung des Drossellevels, eine Änderung des Bremslevels, einen Gangwechsel oder andere Änderungen beinhalten, die mit dem Host-Fahrzeug assoziiert sind.
  • In einigen Ausführungsformen kann der Prozess 3700 ferner beinhalten, eine Karte zu empfangen, die mindestens für das verdeckte Straßensegment jenseits des lokalen Horizonts repräsentativ ist. Dies kann zum Beispiel beinhalten, eine Karte aus dem Server 3610 zu empfangen, wie oben beschrieben wird. In einigen Ausführungsformen kann die Karte eine Zieltrajektorie für das Host-Fahrzeug speichern, die in der Karte als ein dreidimensionaler Spline repräsentiert sein kann. Die Karte kann auch dreidimensionale Spline-Repräsentationen eines oder mehrerer anderer Merkmale, wie etwa Fahrspurmarkierungen, einer Fahrspurbegrenzung oder eines Straßenrands, speichern, die mit dem verdeckten Straßensegment assoziiert sind. Der Schritt 3740 kann beinhalten, die Ausgabe ferner basierend auf der Karte zu generieren, die mindestens für das verdeckte Straßensegment repräsentativ ist. Zum Beispiel kann die Ausgabe von einer bestimmten Länge des verdeckten Straßensegments oder einer bestimmten Höhencharakteristik, die mit dem verdeckten Straßensegment assoziiert ist, abhängen, wie oben beschrieben wird.
  • Die vorstehende Beschreibung ist zur Veranschaulichung vorgelegt worden. Sie ist nicht erschöpfend und nicht auf die genauen Formen oder Ausführungsformen beschränkt, die offenbart werden. Modifikationen und Anpassungen werden für Fachleute aus der Betrachtungen der Spezifikation und dem Umsetzen der offenbarten Ausführungsformen ersichtlich werden. Obwohl Aspekte der offenbarten Ausführungsformen so beschrieben werden, dass sie im Speicher gespeichert werden, wird ein Fachmann zusätzlich verstehen, dass diese Aspekte auch auf anderen Typen 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 Laufwerksmedien.
  • Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Verfahren basieren, liegen innerhalb des Kompetenzbereichs eines erfahrenen Entwicklers. Die verschiedenen Programme oder Programmmodule können unter Verwendung einer beliebigen der einem Fachmann bekannten Techniken erstellt oder 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.
  • Obwohl hier veranschaulichende Ausführungsformen beschrieben wurden, versteht es sich darüber hinaus, dass der Schutzbereich 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 Beschränkungen in den Ansprüchen sind basierend auf der in den Ansprüchen verwendeten Sprache und nicht beschränkt auf in der vorliegenden Spezifikation oder während des Erteilungsverfahrens der Anmeldung beschriebene Beispiele umfassend zu interpretieren. Die Beispiele sind als nicht ausschließlich auszulegen. Des Weiteren können die Schritte der offenbarten Verfahren auf beliebige Weise modifiziert werden, einschließlich durch Neuordnen von Schritten und/oder Einfügen oder Löschen von Schritten. Es ist daher beabsichtigt, dass die Spezifikation und die Beispiele nur als veranschaulichend betrachtet werden, wobei ein wahrer Schutzbereich und Geist durch die folgenden Ansprüche und deren vollständigen Schutzbereich 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 63052603 B [0001]
    • US 10872433 [0303]

Claims (84)

  1. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen Prozessor, der Schaltungsanordnungen und einen Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor: eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; basierend auf der Analyse mindestens eines der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs bestimmt; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und auf dem Straßengeometriemodell für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale generiert, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.
  2. System nach Anspruch 1, wobei die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion-Analyse beinhaltet.
  3. System nach Anspruch 1, wobei das Straßengeometriemodell ein dreidimensionales Straßengeometriemodell ist.
  4. System nach Anspruch 1, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhaltet.
  5. System nach Anspruch 1, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer oder mehrerer mit dem Straßensegment assoziierten Fahrspurmarkierungen beinhaltet.
  6. System nach Anspruch 1, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation eines oder mehrerer mit dem Straßensegment assoziierten Straßenränder beinhaltet.
  7. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale auch basierend auf einer vorbestimmten interessierenden Region vor dem Host-Fahrzeug generiert werden.
  8. System nach Anspruch 7, wobei die vorbestimmte interessierende Region eine Zielregion des Straßensegments beinhaltet, die durch den einen oder die mehreren bewegbaren Frontscheinwerfer an Bord des Host-Fahrzeugs beleuchtet werden sollen.
  9. System nach Anspruch 7, wobei die vorbestimmte interessierende Region durch mindestens eine minimale und eine maximale Längsdistanz bezeichnet wird.
  10. System nach Anspruch 7, wobei die vorbestimmte interessierende Region eine Region von 5 Meter bis 150 Meter vor dem Host-Fahrzeug beinhaltet.
  11. System nach Anspruch 10, wobei die vorbestimmte interessierende Region eine Region von 20 Meter bis 130 Meter vor dem Host-Fahrzeug beinhaltet.
  12. System nach Anspruch 10, wobei die vorbestimmte interessierende Region eine Region von 30 Meter bis 100 Meter vor dem Host-Fahrzeug beinhaltet.
  13. System nach Anspruch 7, wobei die vorbestimmte interessierende Region durch mindestens linke und rechte Gierwinkel bezeichnet wird.
  14. System nach Anspruch 13, wobei die vorbestimmte interessierende Region auch durch minimale und maximale Längsdistanzen bezeichnet wird.
  15. System nach Anspruch 7, wobei das eine oder die mehreren Ausgabesignale eine Zeigerichtung des bewegbaren Frontscheinwerfers angeben.
  16. System nach Anspruch 15, wobei die Zeigerichtung relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs oder zu einer Zeigerichtung der Kamera referenziert wird.
  17. System nach Anspruch 7, wobei das eine oder die mehreren Ausgabesignale eine oder mehrere Begrenzungen einer Beleuchtungsregion bezeichnen, die relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs referenziert werden, um Beleuchtung für den mindestens einen Abschnitt der vorbestimmten interessierenden Region bereitzustellen.
  18. System nach Anspruch 7, wobei das eine oder die mehreren Ausgabesignale eine oder mehrere Begrenzungen einer Beleuchtungsregion bezeichnen, die relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs referenziert werden, um Beleuchtung für die vorbestimmte interessierende Region bereitzustellen.
  19. System nach Anspruch 7, wobei das eine oder die mehreren Ausgabesignale einen minimalen Gierwert, einen maximalen Gierwert, einen minimalen Nickwert und einen maximalen Nickwert bezeichnen, die relativ zu dem einen oder den mehreren Indikatoren einer Ausrichtungsrichtung des Host-Fahrzeugs oder einer Zeigerichtung der Kamera referenziert werden, um eine Region zu beleuchten, die zumindest teilweise mit der vorbestimmten interessierenden Region überlappt.
  20. System nach Anspruch 7, wobei das eine oder die mehreren Ausgabesignale linke Gierwinkel und rechte Gierwinkel relativ zu einer Längsachse des Host-Fahrzeugs zu einer mittleren linksseitigen Host-Fahrspurbegrenzung innerhalb der vorbestimmten interessierenden Region und zu einer mittleren rechtsseitigen Host-Fahrspurbegrenzung innerhalb der vorbestimmten interessierenden Region bezeichnen.
  21. System nach Anspruch 1, wobei der eine oder die mehreren Indikatoren einer Ausrichtung des Host-Fahrzeugs eine Zeigerichtung der Kamera beinhalten, die basierend auf der Analyse mindestens eines der Vielzahl von Bildern bestimmt wurde.
  22. System nach Anspruch 21, wobei der eine oder die mehreren Indikatoren einer Ausrichtung des Host-Fahrzeugs auch eine Höhe der Kamera über einer Straßenoberfläche, auf der das Host-Fahrzeug fährt, beinhalten.
  23. System nach Anspruch 1, wobei der eine oder die mehreren Indikatoren einer Ausrichtung des Host-Fahrzeugs eine Ausrichtung des Host-Fahrzeugs an seinem aktuellen Ort angeben.
  24. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale eine negative Änderung des Nickwinkels des bewegbaren Frontscheinwerfers bewirken, wenn sich das Host-Fahrzeug einer Kuppe einer Anhöhe nähert.
  25. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale eine positive Änderung des Nickwinkels des bewegbaren Frontscheinwerfers bewirken, wenn sich das Host-Fahrzeug einem Anstieg im Straßensegment nähert.
  26. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale eine Änderung des Gierwinkels des bewegbaren Frontscheinwerfers nach links bewirken, wenn sich das Host-Fahrzeug einer sich nach links wendenden Kurve im Straßensegment nähert.
  27. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale eine Änderung des Gierwinkels des bewegbaren Frontscheinwerfers nach rechts bewirken, wenn sich das Host-Fahrzeug einer sich nach rechts wendenden Kurve im Straßensegment nähert.
  28. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale eine Änderung des Nickwinkels des bewegbaren Frontscheinwerfers als Reaktion auf eine Ausrichtungsänderung des Host-Fahrzeugs bewirken, die dadurch bewirkt wird, dass eine Nutzlast in das Host-Fahrzeug eingebracht wird.
  29. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale die Änderung der Zeigerichtung des bewegbaren Frontscheinwerfers als Reaktion auf eine detektierte Änderung von 1 Grad oder mehr der Ausrichtung des Host-Fahrzeugs bewirken.
  30. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale die Änderung der Zeigerichtung des bewegbaren Frontscheinwerfers als Reaktion auf eine detektierte Änderung von 0,5 Grad oder mehr in der Ausrichtung des Host-Fahrzeugs bewirken.
  31. System nach Anspruch 1, wobei das eine oder die mehreren Ausgabesignale die Änderung der Zeigerichtung des bewegbaren Frontscheinwerfers als Reaktion auf eine detektierte Änderung von 0,1 Grad oder mehr der Ausrichtung des Host-Fahrzeugs bewirken.
  32. Verfahren zum Navigieren eines Host-Fahrzeugs, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse mindestens eines der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs zu bestimmen; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und auf dem Straßengeometriemodell für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale zu generieren, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.
  33. Nichtflüchtiges computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor ein Verfahren zum Navigieren eines Host-Fahrzeugs durchführt, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse mindestens eines der Vielzahl von Bildern einen oder mehrere Indikatoren einer Ausrichtung des Host-Fahrzeugs zu bestimmen; und basierend auf dem einen oder den mehreren Indikatoren der Ausrichtung des Host-Fahrzeugs und auf dem Straßengeometriemodell für das Straßensegment vor dem Host-Fahrzeug ein oder mehrere Ausgabesignale zu generieren, die dazu konfiguriert sind, eine Änderung einer Zeigerichtung eines bewegbaren Frontscheinwerfers an Bord des Host-Fahrzeugs zu bewirken.
  34. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen Prozessor, der Schaltungsanordnungen und einen Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor: eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; und basierend auf dem Straßengeometriemodell und auf einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs eine Ausgabe generiert, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  35. System nach Anspruch 34, wobei das Straßengeometriemodell ein dreidimensionales Straßengeometriemodell ist.
  36. System nach Anspruch 34, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhaltet.
  37. System nach Anspruch 34, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer oder mehrerer mit dem Straßensegment assoziierten Fahrspurmarkierungen beinhaltet.
  38. System nach Anspruch 34, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation eines oder mehrerer mit dem Straßensegment assoziierten Straßenränder beinhaltet.
  39. System nach Anspruch 34, wobei die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion-Analyse beinhaltet.
  40. System nach Anspruch 34, wobei die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine seitliche Position des Host-Fahrzeugs innerhalb einer Fahrspur beinhalten.
  41. System nach Anspruch 34, wobei die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine seitliche Position des Host-Fahrzeugs relativ zu einer kartierten Zieltrajektorie, die mit einer Fahrspur assoziiert ist, beinhalten.
  42. System nach Anspruch 41, wobei die kartierte Zieltrajektorie als ein dreidimensionaler Spline repräsentiert wird.
  43. System nach Anspruch 34, wobei die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine aktuelle Geschwindigkeit des Host-Fahrzeugs beinhalten.
  44. System nach Anspruch 34, wobei die eine oder die mehreren Betriebscharakteristiken des Host-Fahrzeugs eine aktuelle Kursrichtung des Host-Fahrzeugs beinhalten.
  45. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der seitlichen Position des Host-Fahrzeugs innerhalb einer Fahrspur beinhalten.
  46. System nach Anspruch 45, wobei die Änderung der seitlichen Position des Host-Fahrzeugs als Reaktion auf eine Repräsentation im Straßengeometriemodell einer Kurve entlang des Straßensegments vorgenommen wird.
  47. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der seitlichen Position des Host-Fahrzeugs relativ zu einer kartierten Zieltrajektorie beinhalten.
  48. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der Geschwindigkeit des Host-Fahrzeugs beinhalten.
  49. System nach Anspruch 48, wobei die Änderung der Geschwindigkeit des Host-Fahrzeugs als Reaktion auf eine Repräsentation eines Anstiegs oder eines Gefälles entlang des Straßensegments im Straßengeometriemodell vorgenommen wird.
  50. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung des mit dem Host-Fahrzeug assoziierten Drossellevels beinhalten.
  51. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung des mit dem Host-Fahrzeug assoziierten Bremslevels beinhalten.
  52. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der mit dem Host-Fahrzeug assoziierten Kursrichtung beinhalten.
  53. System nach Anspruch 34, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, einen Gangwechsel beinhalten.
  54. System nach Anspruch 53, wobei der Gangwechsel als Reaktion auf eine Repräsentation eines Anstiegs oder eines Gefälles entlang des Straßensegments im Straßengeometriemodell vorgenommen wird.
  55. System nach Anspruch 34, wobei die Ausgabe eine Vielzahl von Punkten beinhaltet, die mit dem Straßengeometriemodell assoziiert sind.
  56. System nach Anspruch 55, wobei jeder der Vielzahl von Punkten einen dreidimensionalen Punktort beinhaltet, der mit dem Straßengeometriemodell assoziiert ist.
  57. System nach Anspruch 55, wobei jeder der Vielzahl von Punkten mit einem oder mehreren Straßenausrichtungsparameterwerten assoziiert ist.
  58. System nach Anspruch 57, wobei der eine oder die mehreren Straßenausrichtungsparameterwerte einen mittleren Neigungswinkel des Straßensegments an einem speziellen Ort, der mit einem der Vielzahl von Punkten assoziiert ist, beinhalten.
  59. System nach Anspruch 57, wobei der eine oder die mehreren Straßenausrichtungsparameterwerte einen mittleren Rollwinkel des Straßensegments an einem speziellen Ort, der mit einem der Vielzahl von Punkten assoziiert ist, beinhalten.
  60. System nach Anspruch 57, wobei der eine oder die mehreren Straßenausrichtungsparameterwerte einen mittleren Krümmungsradius des Straßensegments an einem speziellen Ort, der mit einem der Vielzahl von Punkten assoziiert ist, beinhalten.
  61. System nach Anspruch 57, wobei jeder der Vielzahl von Punkten durch realweltliche Koordinaten repräsentiert wird.
  62. Verfahren zum Navigieren eines Host-Fahrzeugs, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; und basierend auf dem Straßengeometriemodell und auf einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  63. Nichtflüchtiges computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor ein Verfahren zum Navigieren eines Host-Fahrzeugs durchführt, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; und basierend auf dem Straßengeometriemodell und auf einer oder mehreren Betriebscharakteristiken des Host-Fahrzeugs eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  64. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen Prozessor, der Schaltungsanordnungen und einen Speicher umfasst, wobei der Speicher Anweisungen beinhaltet, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor: eine Vielzahl von Bildern empfängt, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug generiert; basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts detektiert, der in dem Straßengeometriemodell repräsentiert wird, wobei der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert ist; und basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, eine Ausgabe generiert, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  65. System nach Anspruch 64, wobei der lokale Horizont einem lokalen Maximum der Höhe des Straßensegments entspricht.
  66. System nach Anspruch 64, wobei die Ausgabe einen Indikator der Distanz von einem aktuellen Ort des Host-Fahrzeugs zu einem mit dem detektierten lokalen Horizont assoziierten Ort beinhaltet.
  67. System nach Anspruch 64, wobei die Ausgabe einen Indikator mindestens einer Charakteristik des Straßensegments, das zu dem detektierten lokalen Horizont führt, beinhaltet.
  68. System nach Anspruch 67, wobei der Indikator mindestens einer Charakteristik des Straßensegments eine mittlere Anstiegssteigung mindestens eines Abschnitts des Straßensegments, das zu dem detektierten lokalen Horizont führt, beinhaltet.
  69. System nach Anspruch 64, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung der Geschwindigkeit des Host-Fahrzeugs beinhalten.
  70. System nach Anspruch 64, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung des mit dem Host-Fahrzeug assoziierten Drossellevels beinhalten.
  71. System nach Anspruch 64, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, eine Änderung des mit dem Host-Fahrzeug assoziierten Bremslevels beinhalten.
  72. System nach Anspruch 64, wobei die eine oder die mehreren Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, einen Gangwechsel beinhalten.
  73. System nach Anspruch 64, wobei der Speicher Anweisungen beinhaltet, die bei Ausführung durch die Schaltungsanordnungen bewirken, dass der mindestens eine Prozessor: eine Karte empfängt, die repräsentativ mindestens für das verdeckte Straßensegment jenseits des lokalen Horizonts ist, und die Ausgabe ferner basierend auf der Karte generiert, die repräsentativ für das mindestens eine verdeckte Straßensegment ist.
  74. System nach Anspruch 73, wobei die Karte eine Zieltrajektorie für das Host-Fahrzeug speichert und wobei die Zieltrajektorie in der Karte als ein dreidimensionaler Spline repräsentiert wird.
  75. System nach Anspruch 73, wobei die Karte dreidimensionale Spline-Repräsentationen einer oder mehrerer Fahrspurmarkierungen, einer Fahrspurbegrenzung oder eines Straßenrands, die mit dem verdeckten Straßensegment assoziiert sind, speichert.
  76. System nach Anspruch 73, wobei die Ausgabe von einer bestimmten Länge des verdeckten Straßensegments abhängt.
  77. System nach Anspruch 73, wobei die Ausgabe von einer bestimmten Höhencharakteristik, die mit dem verdeckten Straßensegment assoziiert ist, abhängt.
  78. System nach Anspruch 64, wobei das Straßengeometriemodell ein dreidimensionales Straßengeometriemodell ist.
  79. System nach Anspruch 64, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer mit dem Straßensegment assoziierten Straßenoberfläche beinhaltet.
  80. System nach Anspruch 64, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation einer oder mehrerer mit dem Straßensegment assoziierten Fahrspurmarkierungen beinhaltet.
  81. System nach Anspruch 64, wobei das Straßengeometriemodell eine dreidimensionale Repräsentation eines oder mehrerer mit dem Straßensegment assoziierten Straßenränder beinhaltet.
  82. System nach Anspruch 64, wobei die Analyse der Vielzahl von Bildern, die zum Generieren des Straßengeometriemodells verwendet wird, eine Structure-in-Motion-Analyse beinhaltet.
  83. Verfahren zum Navigieren eines Host-Fahrzeugs, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts zu detektieren, der in dem Straßengeometriemodell repräsentiert wird, wobei der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert ist; und basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
  84. Nichtflüchtiges computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor ein Verfahren zum Navigieren eines Host-Fahrzeugs durchführt, wobei das Verfahren Folgendes umfasst: eine Vielzahl von Bildern zu empfangen, die durch eine Kamera an Bord des Host-Fahrzeugs erfasst wurden; basierend auf der Analyse der Vielzahl von Bildern ein Straßengeometriemodell für ein Straßensegment vor dem Host-Fahrzeug zu generieren; basierend auf der Analyse des Straßengeometriemodells ein Vorhandensein eines lokalen Horizonts zu detektieren, der in dem Straßengeometriemodell repräsentiert wird, wobei der lokale Horizont mit einem verdeckten Straßensegment jenseits des lokalen Horizonts assoziiert ist; und basierend auf dem Straßengeometriemodell und als Reaktion auf den detektierten lokalen Horizont, der durch das Straßengeometriemodell repräsentiert wird, eine Ausgabe zu generieren, um eine oder mehrere Navigationsaktionen, die durch das Host-Fahrzeug ausgeführt werden sollen, zu bewirken.
DE112021003811.7T 2020-07-16 2021-07-16 Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation Pending DE112021003811T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063052603P 2020-07-16 2020-07-16
US63/052,603 2020-07-16
PCT/US2021/041947 WO2022016044A1 (en) 2020-07-16 2021-07-16 Systems and methods for dynamic road geometry modeling and navigation

Publications (1)

Publication Number Publication Date
DE112021003811T5 true DE112021003811T5 (de) 2023-04-27

Family

ID=77338800

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021003811.7T Pending DE112021003811T5 (de) 2020-07-16 2021-07-16 Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation

Country Status (5)

Country Link
US (3) US20230159053A1 (de)
EP (3) EP4220583A1 (de)
CN (3) CN116368540A (de)
DE (1) DE112021003811T5 (de)
WO (1) WO2022016044A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023002909A1 (de) 2023-07-17 2024-05-16 Mercedes-Benz Group AG Verfahren zum Betrieb einer Beleuchtungsvorrichtung eines Fahrzeugs und Fahrzeug

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7351805B2 (ja) * 2020-07-01 2023-09-27 トヨタ自動車株式会社 情報処理方法、プログラム、車載装置及び車両
US20230127465A1 (en) * 2021-10-26 2023-04-27 Ford Global Technologies, Llc System and method for approaching vehicle detection
CN114572102B (zh) * 2022-01-28 2023-07-14 上海康耐司信号设备有限公司 一种适用于车灯的智能调节系统及方法
CN114872708A (zh) * 2022-05-19 2022-08-09 一汽奔腾轿车有限公司 基于模糊推理和有限状态机的换道决策方法及系统
CN115438430B (zh) * 2022-11-08 2023-01-24 上海伯镭智能科技有限公司 一种矿区车辆行驶稳定性预测方法和装置
CN117274939B (zh) * 2023-10-08 2024-05-28 北京路凯智行科技有限公司 安全区域检测方法和安全区域检测装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872433B2 (en) 2018-04-18 2020-12-22 Mobileye Vision Technologies Ltd. Vehicle environment modeling with a camera

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3647733A1 (de) * 2018-10-29 2020-05-06 Aptiv Technologies Limited Automatische annotation von umweltmerkmalen auf einer karte während der navigation eines fahrzeugs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872433B2 (en) 2018-04-18 2020-12-22 Mobileye Vision Technologies Ltd. Vehicle environment modeling with a camera

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023002909A1 (de) 2023-07-17 2024-05-16 Mercedes-Benz Group AG Verfahren zum Betrieb einer Beleuchtungsvorrichtung eines Fahrzeugs und Fahrzeug

Also Published As

Publication number Publication date
CN117387614A (zh) 2024-01-12
EP4182838A1 (de) 2023-05-24
US20230182637A1 (en) 2023-06-15
CN116368540A (zh) 2023-06-30
EP4220584A1 (de) 2023-08-02
EP4220583A1 (de) 2023-08-02
US20230159050A1 (en) 2023-05-25
WO2022016044A1 (en) 2022-01-20
CN117168452A (zh) 2023-12-05
US20230159053A1 (en) 2023-05-25

Similar Documents

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

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R130 Divisional application to

Ref document number: 112021007393

Country of ref document: DE

Ref document number: 112021007369

Country of ref document: DE