CN114514411A - 用于交通工具导航的系统和方法 - Google Patents

用于交通工具导航的系统和方法 Download PDF

Info

Publication number
CN114514411A
CN114514411A CN202080070956.2A CN202080070956A CN114514411A CN 114514411 A CN114514411 A CN 114514411A CN 202080070956 A CN202080070956 A CN 202080070956A CN 114514411 A CN114514411 A CN 114514411A
Authority
CN
China
Prior art keywords
vehicle
image
road
navigation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080070956.2A
Other languages
English (en)
Inventor
A·哈亚特
M·阿加曼
N·大卫
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 CN114514411A publication Critical patent/CN114514411A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • 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
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • 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
    • B60W30/18163Lane change; Overtaking manoeuvres
    • 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
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types or segments such as motorways, toll roads or ferries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • 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/3691Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3859Differential updating map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/20Static objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/20Ambient conditions, e.g. wind or rain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Environmental Sciences (AREA)
  • Ecology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Atmospheric Sciences (AREA)
  • Geometry (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

提供了用于交通工具导航的系统和方法。在一个实现中,用于标识主控交通工具的环境中的对象的系统可包括至少一个处理器。处理器可以被编程为从图像捕获设备接收表示主控交通工具的环境的图像,并且分析图像以检测图像中表示的对象。处理器可以将对象的位置信息与表示导航地图段的绘制对象的定位信息进行比较,以确定主控交通工具的第一估计位置。处理器还可以向经训练的系统提供与地图段相关联的图像和标识符,并接收主控交通工具的第二估计位置。处理器可基于第一估计位置和第二估计位置的组合来确定导航动作,并引起主控交通工具实现所确定的导航动作。

Description

用于交通工具导航的系统和方法
相关申请的交叉引用
本申请要求于2019年10月8日提交的美国临时申请第62/912,328 号的优先权。上述申请通过引用整体并入本文。
技术领域
本公开总体上涉及自主交通工具导航。
背景技术
随着技术继续进步,能够在道路上导航的完全自主交通工具的目标即将实现。自主交通工具可能需要考虑各种因素,并且基于那些因素做出适当的决定,以安全地并且准确地到达预期目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如,从相机捕获的信息),并且还可能使用从其他源(例如,从GPS设备、速率传感器、加速度计、悬架传感器等)获得的信息。同时,为了导航到目的地,自主交通工具可能还需要标识其在特定道路内的位置(例如,多车道道路内的特定车道),在其他交通工具旁边导航,避开障碍物和行人,观察交通信号和标志,以及在适当的交叉口或立体交叉道路处从一条道路行驶到另一条道路。对在自主交通工具向其目的地行驶时由该交通工具收集的大量信息进行利用和解释提出了许多设计挑战。自主交通工具可能需要分析、访问和/或存储的绝对数量数据(例如,捕获的图像数据、地图数据、 GPS数据、传感器数据等)提出了事实上可能限制甚至不利地影响自主导航的挑战。此外,如果自主交通工具依赖于传统的地图技术进行导航,则存储和更新地图所需要的绝对数据量提出了令人生畏的挑战。
发明内容
与本公开一致的实施例提供了用于自主交通工具导航的系统和方法。所公开的实施例可以使用相机来提供自主交通工具导航特征。例如,与所公开的实施例一致的,所公开的系统可以包括监视交通工具环境的一个、两个或更多个相机。所公开的系统可以基于例如对由这些相机中的一个或多个相机捕获的图像的分析来提供导航响应。
在实施例中,用于主交通工具的导航系统可以包括至少一个处理器。该处理器可以被编程为从图像捕获设备接收表示该主控交通工具的环境的至少一个图像;分析该至少一个图像以检测该至少一个图像中表示的一个或多个对象的存在;基于对该至少一个图像的分析,确定与该一个或多个检测到的对象相关的位置信息;将与一个或多个检测到的对象相关的位置信息与至少一个导航地图段中表示的一个或多个绘制对象的定位信息进行比较;以及,基于该比较,确定该主控交通工具相对于该至少一个导航地图段的第一估计位置。该处理器可以进一步被编程为向经训练的系统提供该至少一个图像的至少一部分和与该至少一个导航地图段相关联的至少一标识符;以及从该经训练的系统接收该主控交通工具相对于该至少一个导航地图段的第二估计位置。然后,该处理器可以基于主控交通工具的第一估计位置和第二估计位置的组合来确定主控交通工具的导航动作;并且引起主控交通工具实现所确定的导航动作。
在实施例中,用于交通工具导航的方法可以包括从图像捕获设备接收表示主控交通工具的环境的至少一个图像;分析该至少一个图像以检测在该至少一个图像中表示的一个或多个对象的存在;基于对该至少一个图像的分析,确定与该一个或多个检测到的对象相关的位置信息;将与一个或多个检测到的对象相关的位置信息与至少一个导航地图段中表示的一个或多个绘制对象的定位信息进行比较;以及,基于该比较,确定该主控交通工具相对于该至少一个导航地图段的第一估计位置;向经训练的系统提供该至少一个图像的至少一部分和与该至少一个导航地图段相关联的至少一标识符;从该经训练的系统接收该主控交通工具相对于该至少一个导航地图段的第二估计位置;基于该主控交通工具的第一估计位置和该主控交通工具的第二估计位置的组合来确定该主控交通工具的导航动作;以及引起主控交通工具实现所确定的导航动作。
与其他公开的实施例相一致的,非瞬态计算机可读存储介质可以存储程序指令,该程序指令由至少一个处理设备执行,并执行本文描述的方法中的任何方法。
上述总体描述和以下详细描述仅为示例性和解释性的,并且不是权利要求的限制。
附图说明
并入本公开并构成本公开一部分的所附附图示出了各个公开的实施例。在附图中:
图1是符合所公开的实施例的示例性系统的图解表示。
图2A是包括符合所公开的实施例的系统的示例性交通工具的图解侧视图表示;
图2B是符合所公开的实施例的图2A中所示的交通工具和系统的图解俯视图表示;
图2C是包括符合所公开的实施例的系统的交通工具的另一实施例的图解俯视图表示;
图2D是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示;
图2E是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示;
图2F是符合所公开的实施例的示例性交通工具控制系统的图解表示。
图3A是符合所公开的实施例的包括后视镜和用于交通工具成像系统的用户接口的交通工具的内部的图解表示;
图3B是符合所公开的实施例的被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架示例的图示。
图3C是符合所公开的实施例的图3B中所示的相机支架从不同视角的图示。
图3D是符合所公开的实施例的被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架示例的图示。
图4是符合所公开的实施例的被配置为存储用于执行一个或多个操作的指令的存储器的示例性框图。
图5A是示出了符合所公开的实施例的用于基于单目图像引起一个或多个导航响应的过程的流程图。
图5B是示出了符合所公开的实施例的用于在图像的集合中检测一个或多个交通工具和/或行人的示例性过程的流程图。
图5C是示出了符合所公开的实施例的用于检测图像的集合中的道路标记和/或车道几何形状信息的示例性过程的流程图。
图5D是示出了符合所公开的实施例的用于在图像的集合中检测交通信号灯的示例性过程的流程图。
图5E是示出了符合所公开的实施例的用于基于交通工具路径引起一个或多个导航响应的示例性过程的流程图。
图5F是示出了符合所公开的实施例的用于确定在前的交通工具是否正在改变车道的示例性过程的流程图。
图6是示出了符合所公开的实施例的用于基于立体图像分析引起一个或多个导航响应的示例性过程的流程图。
图7是示出了符合所公开的实施例的用于基于三个集合的图像的分析来引起一个或多个导航响应的示例性过程的流程图。
图8示出了符合所公开的实施例的用于提供自主交通工具导航的稀疏地图。
图9A示出了符合所公开的实施例的道路段的部分的多项式表示。
图9B示出了符合所公开的实施例的表示稀疏地图中所包括的针对特定道路段的交通工具的目标轨迹的三维空间中的曲线。
图10示出了符合所公开的实施例的可能被包括在稀疏地图中的示例地标。
图11A示出了符合所公开的实施例的轨迹的多项式表示。
图11B和图11C示出了符合所公开的实施例的沿多车道道路的目标轨迹。
图11D示出了符合所公开的实施例的示例的道路特色(signature) 概况。
图12是符合所公开的实施例的使用从多个交通工具接收的众包数据进行自主交通工具导航的系统的示意图。
图13示出了符合所公开的实施例的由多个三维样条表示的示例自主交通工具道路导航模型。
图14示出了符合所公开的实施例的通过结合来自许多次驾驶的位置信息而生成的地图骨架。
图15示出了符合所公开的实施例的具有作为地标的示例标志的两次驾驶的纵向对齐的示例。
图16示出了符合所公开的实施例的具有作为地标的示例标志的许多次驾驶的纵向对齐的示例。
图17是符合所公开的实施例的用于使用相机、交通工具和服务器生成驾驶的数据的系统的示意图。
图18是符合所公开的实施例的用于众包稀疏地图的系统的示意图。
图19是示出了符合所公开的实施例的用于生成用于沿道路段的自主交通工具导航的稀疏地图的示例性过程的流程图。
图20示出了符合所公开的实施例的服务器的框图。
图21示出了符合所公开的实施例的存储器的框图。
图22示出了符合所公开的实施例的对与交通工具相关联的交通工具轨迹进行聚类的过程。
图23示出了符合所公开的实施例的可以用于自主导航的交通工具的导航系统。
图24A、24B、24C和24D示出了符合所公开的实施例的可以被检测的示例性车道标记。
图24E示出了符合所公开的实施例的示例性绘制的车道标记。
图24F示出了符合所公开的实施例的与检测车道标记相关联的示例性异常。
图25A示出了符合所公开的实施例的用于基于绘制的车道标记进行导航的交通工具的周围环境的示例性图像。
图25B示出了符合所公开的实施例的基于道路导航模型中的绘制的车道标记对交通工具的横向定位校正。
图26A是示出了符合所公开的实施例的用于绘制的车道标记以用于自主交通工具导航的示例性过程的流程图。
图26B是示出了符合所公开的实施例的用于使用绘制的车道标记沿道路段自主导航主交通工具的示例性过程的流程图。
图27是符合所公开的实施例的用于确定交通工具的位置的示例过程的框图。
图28是由可以用于主控交通工具的定位的主控交通工具捕获的示例图像的图示。
图29是符合所公开的实施例的可以针对交通工具相对于导航地图段确定的示例位置的图示。
图30是符合所公开的实施例的例示用于训练用来定位冗余的模型的示例训练过程的框图。
图31是符合所公开的实施例的可以应用于估计位置的示例基于上下文的加权的图示。
图32是示出符合所公开的实施例的用于标识主控交通工具的环境中的对象的示例过程3200。
具体实施方式
以下具体实施方式参考了所附附图。只要有可能,在附图和以下描述中使用相同的附图标记指代相同或相似的部分。虽然本文描述了若干说明性的实施例,但修改、改编和其他实现方式也是可能的。例如,可以对附图中图示出的组件进行替换、添加、或修改,并且可以通过对所公开的方法进行替换、重新排序、移除或添加步骤来修改本文所描述的说明性方法。因此,以下具体实施方式并不限于所公开的实施例和示例。相反,适当的范围由所附权利要求来限定。
自主交通工具概览
如贯穿本公开所使用,术语“自主交通工具”指代能够在不具有驾驶员输入的情况下实现至少一个导航改变的交通工具。“导航改变”指代交通工具的转向、制动、或加速中的一种或多种改变。要成为自主的,交通工具不需要是完全自动的(例如,在没有驾驶员或没有驾驶员输入的情况下完全地操作)。相反,自主交通工具包括可以在某些时间段期间在驾驶员控制下操作且在其他时间段期间在没有驾驶员控制的情况下操作的那些交通工具。自主交通工具也可以包括仅控制交通工具导航的一些方面(诸如,转向(例如,用于在交通工具车道约束之间维持交通工具路线))、但可将其他方面留给驾驶员 (例如,制动)的交通工具。在一些情况下,自主交通工具可处置交通工具的制动、速率控制和/或转向中的一些方面或所有方面。
由于人类驾驶员通常依赖于视觉提示和观察来控制交通工具,因此交通基础设施被相应地建立,其中车道标记、交通标志和交通信号灯全部都被设计成向驾驶员提供视觉信息。鉴于交通基础设施的这些设计特性,自主交通工具可以包括相机和处理单元,该处理单元分析从交通工具的环境捕获的视觉信息。视觉信息可以包括例如交通基础设施的可被驾驶员观察到的组成部分 (例如,车道标记、交通标志、交通灯等)和其他障碍物(例如,其他交通工具、行人、碎片等)。附加地,自主交通工具还可以使用存储的信息,诸如在导航时提供交通工具的环境的模型的信息。例如,交通工具可以使用GPS数据、传感器数据(例如,来自加速度计、速率传感器、悬挂传感器等)和/或其他地图数据以在该交通工具在行驶时提供与该交通工具的环境相关的信息,并且该交通工具(以及其他交通工具)可以使用该信息以在模型上定位自身。
在本公开的一些实施例中,自主交通工具可以使用在导航的同时 (例如,从相机、GPS设备、加速度计、速率传感器、悬架传感器等)获得的信息。在其他实施例中,自主交通工具可以在导航时使用从由交通工具(或其他交通工具)进行的过去导航中获得的信息。在另外的其他实施例中,自主交通工具可以使用在导航时获得的信息和从过去导航中获得的信息的组合。以下章节提供符合所公开的实施例的系统的概述,随后是符合该系统的前向成像系统和方法的概览。随后的章节公开了用于构造、使用和更新用于自主交通工具导航的稀疏地图的系统和方法。
系统概览
图1是符合所公开的示例性实施例的系统100的框图表示。取决于特定实现方式的要求,系统100可以包括各种组件。在一些实施例中,系统 100可以包括处理单元110、图像采集单元120、位置传感器130、一个或多个存储器单元140、150、地图数据库160、用户接口170、和无线收发器172。处理单元110可以包括一个或多个处理设备。在一些实施例中,处理单元110 可以包括应用处理器180、图像处理器190或任何其他合适的处理设备。类似地,取决于特定应用的要求,图像采集单元120可以包括任何数量的图像采集设备和组件。在一些实施例中,图像采集单元120可以包括一个或多个图像捕获设备(例如,相机),诸如图像捕获设备122、图像捕获设备124、和图像捕获设备126。系统100还可以包括将处理设备110通信地连接到图像采集设备120 的数据接口128。例如,数据接口128可以包括用于将由图像检举设备120获取的图像数据传送到处理单元110的任何一条或多条有线和/或无线链路。
无线收发器172可以包括一个或多个设备,该一个或多个设备被配置成通过使用射频、红外频率、磁场或电场通过空中接口向一个或多个网络 (例如,蜂窝、互联网等)交换传输。无线收发器172可以使用任何已知的标准来传送和/或接收数据(例如,Wi-Fi、
Figure DEST_PATH_IMAGE001
蓝牙智能、802.15.4、ZigBee 等)。此类传输可以包括从主交通工具到一个或多个远程定位的服务器的通信。此类传输也可以包括主交通工具与该主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如,用于鉴于主交通工具的环境中的目标交通工具或与目标交通工具一起促进主交通工具的导航的协调),或者甚至包括向进行传送的交通工具附近的未指定接收方进行的广播传输。
应用处理器180和图像处理器190两者都可以包括各种类型的处理设备。例如,应用处理器180和图像处理器190中的任一个或这两者可以包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器,或适用于运行应用以及用于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等。各种处理设备可以被使用,包括例如可以从诸如
Figure DEST_PATH_IMAGE002
等制造商处获得的处理器,或可以从诸如
Figure DEST_PATH_IMAGE003
等制造商处获得的GPU,并且各种处理设备可以包括各种架构(例如,x86处理器、
Figure DEST_PATH_IMAGE004
等)。
在一些实施例中,应用处理器180和/或图像处理器190可以包括可从
Figure DEST_PATH_IMAGE005
获得的EyeQ系列处理器芯片中的任何处理器芯片。这些处理器设计各自包括具有本地存储器和指令集的多个处理单元。此类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,
Figure DEST_PATH_IMAGE006
使用在332Mhz下操作的90nm微米技术。
Figure DEST_PATH_IMAGE007
架构由两个浮点超线程32位RISC CPU(
Figure DEST_PATH_IMAGE008
核)、五个视觉计算引擎(VCE)、三个向量微码处理器
Figure DEST_PATH_IMAGE009
Denali64位移动 DDR控制器、128位内部声学互连、双16位视频输入和18位视频输出控制器、 16通道DMA、以及若干外围设备组成。MIPS34K CPU管理五个VCE、三个 VMPTM和DMA、第二MIPS34KCPU和多通道DMA以及其他外围设备。五个VCE、三个
Figure DEST_PATH_IMAGE010
和MIPS34K CPU可以执行多功能捆绑应用所需的密集的视觉计算。在另一个示例中,作为第三代处理器并且比
Figure DEST_PATH_IMAGE011
强大六倍的
Figure DEST_PATH_IMAGE012
可在所公开的实施例中使用。在其他示例中,
Figure DEST_PATH_IMAGE013
和/或
Figure DEST_PATH_IMAGE014
可以在所公开的实施例中使用。当然,任何更新的或未来的EyeQ处理设备也可以与所公开的实施例一起使用。
本文所公开的处理设备中的任何处理设备都可以被配置成执行某些功能。配置处理设备(诸如,所描述的EyeQ处理器或其他控制器或微处理器中的任一者)以执行某些功能可以包括对计算机可执行指令进行编程,并使这些指令可供处理设备用来在处理设备的操作期间执行。在一些实施例中,配置处理设备可以包括直接利用架构指令对处理设备进行编程。例如,诸如现场可编程门阵列(FPGA),专用集成电路(ASIC),以及类似的处理设备可以使用例如一种或多种硬件描述语言(HDL)来配置。
在其他实施例中,配置处理设备可以包括将可执行指令存储在处理设备在操作期间可访问的存储器上。例如,处理设备可以在操作期间访问存储器,以获得并且执行所存储的指令。在任一情况下,配置为执行本文公开的感测、图像分析和/或导航功能的处理设备表示控制主交通工具的多个基于硬件的组件的专用基于硬件的系统。
虽然图1描绘了处理单元110中包括的两个分开的处理设备,但可以使用更多或更少的处理设备。例如,在一些实施例中,可以使用单个处理设备来实现应用处理器180和图像处理器190的任务。在其他实施例中,这些任务可以由多于两个的处理设备执行。此外,在一些实施例中,系统100可以包括一个或多个处理单元110,而不包括其他组件,诸如图像采集单元120。
处理单元110可以包括各种类型的设备。例如,处理单元110可以包括各种设备,诸如控制器、图像预处理器、中央处理单元(CPU)、图形处理单元(GPU)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任何其他类型的设备。图像预处理器可以包括用于捕获、数字化和处理来自图像传感器的成像的视频处理器。CPU可以包括任何数量的微控制器或微处理器。GPU也可以包括任何数量的微控制器或微处理器。支持电路可以是本技术领域中一般公知的任何数量的电路,包括高速缓存、电源、时钟和输入-输出电路。存储器可以存储软件,该软件当由处理器执行时控制系统的操作。存储器可以包括数据库和图像处理软件。存储器可以包括任何数量的随机存取存储器、只读存储器、闪存、磁盘驱动器、光存储、磁带存储、可移除存储和其他类型的存储。在一个实例中,存储器可以与处理单元110分开。在另一实例中,存储器可以被集成到处理单元110中。
每个存储器140、150可以包括软件指令,该软件指令当由处理器 (例如,应用处理器180和/或图像处理器190)执行时可以控制系统100的各个方面的操作。这些存储器单元可以包括各种数据库和图像处理软件,以及例如诸如神经网络或深度神经网络之类的经训练的系统。存储器单元可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁盘驱动器、光存储、磁带存储、可移除存储和/或任何其他类型的存储。在一些实施例中,存储器单元140、150可以与应用处理器180和/或图像处理器190分开。在其他实施例中,这些存储器单元可以被集成到应用处理器180和/或图像处理器190中。
位置传感器130可以包括适于确定与系统100的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,位置传感器130可以包括GPS接收器。此类接收器可以通过处理由全球定位系统卫星广播的信号来确定用户的位置和速度。可使来自位置传感器130的位置信息可用于应用处理器 180和/或图像处理器190。
在一些实施例中,系统100可以包括诸如用于测量交通工具200 的速率的速率传感器(例如,转速计、速率计)和/或用于测量交通工具200 的加速度的加速度计(单轴或多轴)的组件。
用户接口170可包括适于将信息提供给系统100的一个或多个用户或从系统100的一个或多个用户接收输入的任何设备。在一些实施例中,用户接口170可以包括用户输入设备,包括例如触摸屏、麦克风、键盘、指点设备、轨迹轮、相机、旋钮、按钮等。利用此类输入设备,用户可能能够通过键入指令或信息、提供语音命令、使用按钮、指点器、或眼球跟踪能力在屏幕上选择菜单选项、或通过用于将信息传输至系统100的任何其他合适的技术来将信息输入或命令提供给系统100。
用户接口170可以配备有一个或多个处理设备,该一个或多个处理设备被配置成将信息提供给用户或从用户接收信息,并处理该信息以供由例如应用处理器180使用。在一些实施例中,此类处理设备可执行用于识别和跟踪眼球移动、接收和解释语音命令、识别和解释在触摸屏上做出的触摸和/或手势、对键盘输入或菜单选择进行响应等的指令。在一些实施例中,用户接口170 可以包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。
地图数据库160可以包括用于存储对系统100有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库160可以包括与各种项目(包括道路、水景、地理特征、商业、感兴趣的地点、餐馆、加油站等)在参考坐标系中的位置相关的数据。地图数据库160可以不仅存储此类项目的位置,也存储与那些项目相关的描述符,包括例如与所存储的特征中的任何特征相关联的名称。在一些实施例中,地图数据库160在物理上可以与系统100的其他组件一起被定位。替代地或附加地,地图数据库160或其部分可以相对于系统100 的其他组件(例如,处理单元110)远程地定位。在此类实施例中,来自地图数据库160的信息可以通过至网络的有线或无线数据连接(例如,通过蜂窝网络和/或互联网等)来下载。在一些情况下,地图数据库160可以存储稀疏数据模型,该稀疏数据模型包括针对主交通工具的某些道路特征(例如,车道标记) 或目标轨迹的多项式表示。下文参考图8-图19讨论生成此类地图的系统和方法。
图像捕获设备122、124和126可以各自包括适于从环境捕获至少一个图像的任何类型的设备。此外,可以使用任何数量的图像捕获设备来采集用于输入到图像处理器的图像。一些实施例可以仅包括单个图像捕获设备,而其他实施例可包括两个、三个、甚至四个或更多的图像捕获设备。下面将参考图2B-图2E进一步描述图像捕获设备122、124和126。
系统100或其各种组件可以并入各种不同平台。在一些实施例中,系统100可以被包括在交通工具200上,如图2A所示。例如,如上文相对于图1所述,交通工具200可以配备有处理单元110和系统100的其他组件中的任一者。虽然在一些实施例中,交通工具200可以仅配备有单个图像捕获设备 (例如,相机),但在其他实施例中(诸如,结合图2B-图2E所讨论的那些实施例中)可以使用多个图像捕获设备。例如,如图2A所示,交通工具200的图像捕获设备122和124中的任一者可以是ADAS(高级驾驶员辅助系统)成像集合的一部分。
交通工具200上所包括的、作为图像采集单元120的一部分的图像捕获设备可以被定位在任何合适的位置。在一些实施例中,如图2A-图2E和图3A-图3C所示,图像捕获设备122可以位于后视镜附近。该位置可以提供与交通工具200的驾驶员的视线类似的视线,这可以辅助确定对驾驶员可见和不可见的事物。图像捕获设备122可以被定位在后视镜附近的任何位置,但是将图像捕获设备122放置在后视镜的驾驶员侧可以进一步辅助获得表示驾驶员的视场和/或视线的图像。
也可以使用针对图像采集单元120的图像捕获设备的其他位置。例如,图像捕获设备124可以位于交通工具200的保险杠上或保险杠中。此类位置可能特别适于具有宽视场的图像捕获设备。位于保险杠的图像捕获设备的视线可能与驾驶员的视线不同,并且因此,保险杠图像捕获设备和驾驶员可能并不总是看到相同的对象。图像捕获设备(例如,图像捕获设备122、124和126)也可以位于其他位置。例如,图像捕获设备可以位于交通工具200的侧视镜(side mirror)中的一个或两个侧视镜之上或之中、交通工具200的车顶上、交通工具200的引擎盖上、交通工具200的后备箱上、交通工具200的侧部上,被安装在交通工具200的窗户中的任何窗户上,被定位在交通工具200 的窗户中的任何窗户的后面或前面,以及被安装在交通工具200的前部和/或后部上的光像中或附近,等等。
除图像捕获设备外,交通工具200还可以包括系统100的各种其他组件。例如,处理单元110可以被包括在交通工具200上,与交通工具的引擎控制单元(ECU)集成或分开。交通工具200还可以配备有位置传感器130 (诸如,GPS接收器),并且还可以包括地图数据库160以及存储器单元140 和150。
如之前所讨论,无线收发器172可以和/或通过一个或多个网络(例如,蜂窝网络、互联网等)接收数据。例如,无线收发器172可以将由系统100 收集的数据上传到一个或多个服务器,并从一个或多个服务器下载数据。经由无线收发器172,系统100可以接收例如对存储在地图数据库160、存储器140 和/或存储器150中的数据的周期性或按需更新。类似地,无线收发器172可以从系统100将任何数据(例如,由图像采集单元120捕获的图像、由位置传感器130或其他传感器、交通工具控制系统等接收的数据)上传到一个或多个服务器和/或将由处理单元110处理的任何数据上传到一个或多个服务器。
系统100可以基于隐私级别设置将数据上传到服务器(例如,上传到云)。例如,系统100可以实现隐私级别设置,以调节或限制发送到服务器的数据(包括元数据)的类型,这些数据的类型可以唯一地标识交通工具和 /或交通工具的驾驶员/所有者。此类设置可以由用户经由例如无线收发器172 来设置,通过工厂默认设置或通过由无线收发器172接收的数据来初始化。
在一些实施例中,系统100可以根据“高”隐私级别来上传数据,并且在对设置进行设置之下,系统100可以传送数据(例如,与路线相关的位置信息、捕获的图像等),而没有关于特定交通工具和/或驾驶员/所有者的任何细节。例如,当根据“高”隐私设置上传数据时,系统100可以不包括交通工具标识号(VIN)或交通工具驾驶员或所有者的姓名,并且可以替代地传送诸如捕获的图像和/或与路线相关的有限的位置信息之类的数据。
构想了其他隐私级别。例如,系统100可以根据“中间”隐私级别向服务器传送数据,并包括在“高”隐私级别下未被包括的附加信息,诸如交通工具的品牌和/或型号和/或交通工具类型(例如,乘用车、运动型多用途车、卡车等)。在一些实施例中,系统100可以根据“低”隐私级别来上传数据。在“低”隐私级别设置下,系统100可以上传数据,并包括足以唯一地标识特定交通工具、所有者/驾驶员和/或由交通工具行驶的路线的一部分或全部的信息。此类“低”隐私级别数据可以包括例如以下各项中的一项或多项:VIN、驾驶员/ 所有者姓名、交通工具出发前的起点、交通工具的预期目的地、交通工具的品牌和/或型号、交通工具的类型等。
图2A是符合所公开的实施例的示例性交通工具成像系统的图解侧视图表示。图2B是图2A中所示的实施例的图解俯视图图示。如图2B所图示,所公开的实施例可以包括交通工具200,该交通工具200在其主体中包括系统100,该系统100具有被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员的第一图像捕获设备122、被定位在交通工具200的保险杠区域(例如,诸保险杠区域210中的一个)上或在保险杠区域中的第二图像捕获设备124、以及处理单元110。
如图2C所图示,图像捕获设备122和124两者均可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员。另外,虽然在图 2B和图2C中示出了两个图像捕获设备122和124,但应当理解,其他实施例可以包括多于两个的图像捕获设备。例如,在图2D和图2E所示的实施例中,第一图像捕获设备122、第二图像捕获设备124、和第三图像捕获设备126被包括在交通工具200的系统100中。
如图2D所示,图像捕获设备122可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员,而图像捕获设备124和126可以被定位在交通工具200的保险杠区域(例如,保险杠区域210中的一个区域)上或在保险杠区域中。并且如图2E所示,图像捕获设备122、124和126可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员座椅。所公开的实施例不限于图像捕获设备的任何特定数量和配置,并且图像捕获设备可以被定位在交通工具200内和/或交通工具200上的任何适当位置。
应当理解,所公开的实施例不限于交通工具,并且可以应用于其他情境。还应理解,所公开的实施例不限于特定类型的交通工具200,并且可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其他类型的交通工具。
第一图像捕获设备122可以包括任何合适类型的图像捕获设备。图像捕获设备122可以包括光轴。在一个实例中,图像捕获设备122可以包括具有全局快门的Aptina M9V024WVGA传感器。在其他实施例中,图像捕获设备122可以提供1280x960像素的分辨率,并且可以包括滚动快门。图像捕获设备122可以包括各种光学元件。在一些实施例中,可以包括一个或多个透镜,例如,从而为图像捕获设备提供期望的焦距和视场。在一些实施例中,图像捕获设备122可以与6mm透镜或12mm透镜相关联。在一些实施例中,图像捕获设备122可以被配置为捕获具有期望的视场(FOV)202的图像,如图 2D所示。例如,图像捕获设备122可以被配置为具有常规FOV,诸如在40 度到56度的范围内,包括46度FOV、50度FOV、52度FOV或更大的FOV。或者,图像捕获设备122可以被配置为具有23到40度范围内的窄FOV,诸如 28度FOV或36度FOV。此外,图像捕获设备122可以被配置为具有100到 180度范围内的宽FOV。在一些实施例中,图像捕获设备122可以包括广角保险杠相机或具有高达180度FOV的相机。在一些实施例中,图像捕获设备122 可以是具有约为2:1的纵横比(例如,HxV=3800x1900像素)且具有约100 度水平FOV的7.2M像素图像捕获设备。可以使用此类图像捕获设备来代替三图像捕获设备配置。由于显著的透镜畸变,此类图像捕获设备的竖直FOV在其中图像捕获设备使用径向对称透镜的实现方式中可以显著小于50度。例如,此类透镜可能不是径向对称的,这将在100度水平FOV的情况下允许大于50 度的竖直FOV。
第一图像捕获设备122可以采集相对于与交通工具200相关联的场景的多个第一图像。多个第一图像中的每一个可以作为一系列图像扫描线被采集,这些图像扫描线可以使用滚动快门来捕获。每条扫描线可以包括多个像素。
第一图像捕获设备122可以具有与第一系列的图像扫描线中的每条图像扫描线的采集相关联的扫描速率。扫描速率可以指图像传感器能够以其来采集与被包括在特定扫描线中的每个像素相关联的图像数据的速率。
图像捕获设备122、124和126可以包含任何合适类型和数量的图像传感器,例如,包括CCD传感器或CMOS传感器。在一个实施例中,CMOS 图像传感器可以与滚动快门一起被采用,使得行中的每个像素被一次读取一个,并且对行的扫描在逐行的基础上进行,直到整个图像帧已被捕获。在一些实施例中,行可以相对于帧从上到下顺序地被捕获。
在一些实施例中,本文公开的图像捕获设备(例如,图像捕获设备122、124和126)中的一个或多个可以构成高分辨率成像器,并且可以具有大于5M像素、7M像素、10M像素或更大的分辨率。
滚动快门的使用可能导致不同行中的像素在不同时间被曝光和捕获,这可能在被捕获的图像帧中导致歪斜和其他图像伪像。另一方面,当图像捕获设备122被配置为利用全局或同步快门操作时,所有像素都可以被曝光达相同的时间量并且在共同的曝光时段内被曝光。结果,从采用全局快门的系统收集的帧中的图像数据表示整个FOV(诸如,FOV 202)在特定时间的快照。相比之下,在滚动快门应用中,帧中的每一行在不同的时间被曝光,并且数据在不同的时间被捕获。因此,在具有滚动快门的图像捕获设备中,移动的对象可能显得失真。下文将更详细地描述这种现象。
第二图像捕获设备124和第三图像捕获设备126可以是任何类型的图像捕获设备。类似于第一图像捕获设备122,图像捕获设备124和126中的每一个可以包括光轴。在一个实施例中,图像捕获设备124和126中的每一个可以包括具有全局快门的Aptina M9V024 WVGA传感器。替代地,图像捕获设备124和126中的每一个可以包括滚动快门。类似于图像捕获设备122,图像捕获设备124和126可以被配置为包括各种透镜和光学元件。在一些实施例中,与图像捕获设备124和126相关联的透镜可以提供与同图像捕获设备122 相关联的FOV(诸如,FOV 202)相同或比其更窄的FOV(诸如,FOV 204 和206)。例如,图像捕获设备124和126可以具有40度、30度、26度、23 度、20度或更小的FOV。
图像捕获设备124和126可以获取与交通工具200相关联的场景的多个第二和第三图像。多个第二和第三图像中的每一个可以作为第二系列的图像扫描线和第三系列的图像扫描线而被采集,这些图像扫描线可以使用滚动快门捕获。每条扫描线或扫描行可以具有多个像素。图像捕获设备124和126 可以具有与采集被包括在第二和第三系列中的图像扫描线中的每一条图像扫描线相关联的第二和第三扫描速率。
每个图像捕获设备122、124和126可以定位在相对于交通工具200 的任何合适的位置和取向处。图像捕获设备122、124和126的相对定位可以被选择以辅助将从图像捕获设备采集的信息融合在一起。例如,在一些实施例中,同图像捕获设备124相关联的FOV(诸如,FOV 204)可以部分地或完全地与同图像捕获设备122相关联的FOV(诸如,FOV 202)以及同图像捕获设备126相关联的FOV(诸如,FOV 206)重叠。
图像捕获设备122、124和126可以位于交通工具200上的任何合适的相对高度处。在一个实例中,在图像捕获设备122、124和126之间可以存在高度差,这可以提供足够的视差信息以实现立体分析。例如,如图2A所示,两个图像捕获设备122和124处于不同的高度。在图像捕获设备122、124 和126之间也可以存在横向位移差,从而例如为由处理单元110进行的立体分析给出附加的视差信息。横向位移的差可以用dx表示,如图2C-图2D所示。在一些实施例中,在图像捕获设备122、124和126之间可以存在前后位移(例如,范围位移)。例如,图像捕获设备122可以位于图像捕获设备124和/或图像捕获设备126后面0.5米至2米或更远。这种类型的位移可以使图像捕获设备中的一个能够覆盖其他(多个)图像捕获设备的潜在盲点。
图像捕获设备122可以具有任何合适的分辨率能力(例如,与图像传感器相关联的像素数量),并且同图像捕获设备122相关联的(多个)图像传感器的分辨率可以高于、低于同图像捕获设备124和126相关联的(多个) 图像传感器的分辨率,或者与同图像捕获设备124和126相关联的(多个)图像传感器的分辨率相同。在一些实施例中,与图像捕获设备122和/或图像捕获设备124和126相关联的(多个)图像传感器可以具有640x 480、1024x 768、1280x 960的分辨率或任何其他合适的分辨率。
帧速率(例如,图像捕获设备在继续捕获与下一图像帧相关联的像素数据之前采集一个图像帧的像素数据的集合所按照的速率)可以是可控的。同图像捕获设备122相关联的帧速率可以高于、低于同图像捕获设备124 和126相关联的帧速率,或者与同图像捕获设备124和126相关联的帧速率相同。与图像捕获设备122、124和126相关联的帧速率可以取决于可以影响帧速率的时序的各种因素。例如,图像捕获设备122、124和126中的一个或多个可以包括可选像素延迟时段,该可选像素延迟时段在对与图像捕获设备122、 124和/或126中的图像传感器的一个或多个像素相关联的图像数据的采集之前或之后被施加。一般地,可以根据设备的时钟速率(例如,每个时钟周期一个像素)来采集对应于每个像素的图像数据。附加地,在包括滚动快门的实施例中,图像捕获设备122、124和126中的一个或多个可以包括可选水平消隐时段,该可选水平消隐时段在对与图像捕获设备122、124和/或126中的图像传感器的像素的行相关联的图像数据的采集之前或之后被施加。此外,图像捕获设备122、124和/或126中的一个或多个可以包括可选竖直消隐时段,该可选竖直消隐时段在对与图像捕获设备122、124和126的图像帧相关联的图像数据的采集之前或之后被施加。
这些时序控制可以实现与图像捕获设备122、124和126相关联的帧速率的同步,即使在每个设备的线扫描速率不同的情形中。附加地,如下文将更详细地所讨论,除其他因素(例如,图像传感器分辨率、最大线扫描速率等)外,这些可选的时序控制可以实现从其中图像捕获设备122的FOV与图像捕获设备124和126的一个或多个FOV重叠的区域进行的图像捕获的同步,即使在图像捕获设备122的视场不同于图像捕获设备124和126的FOV的情形中。
图像捕获设备122、124和126中的帧速率时序可以取决于相关联的图像传感器的分辨率。例如,假设针对两个设备的类似的线扫描速率,如果一个设备包括具有640x 480的分辨率的图像传感器,并且另一个设备包括具有1280x 960的分辨率的图像传感器,则将需要更多时间来从具有更高分辨率的传感器采集图像数据的帧。
可能影响图像捕获设备122、124和126中的图像数据采集的时序的另一因素是最大线扫描速率。例如,从被包括在图像捕获设备122、124和 126中的图像传感器采集图像数据的行将需要某一最小的时间量。假设没有添加像素延迟时段,则用于采集图像数据的行的该最小时间量将与特定设备的最大线扫描速率相关。与具有较低的最大线扫描速率的设备相比,提供较高的最大线扫描速率的设备具有提供较高帧速率的潜力。在一些实施例中,图像捕获设备124和126中的一个或多个可以具有高于与图像捕获设备122相关联的最大线扫描速率的最大线扫描速率。在一些实施例中,图像捕获设备124和/或 126的最大线扫描速率可以是图像捕获设备122的最大线扫描速率的1.25倍、 1.5倍、1.75倍或2倍或更大。
在另一个实施例中,图像捕获设备122、124和126可以具有相同的最大线扫描速率,但是图像捕获设备122可以在小于或等于其最大扫描速率的扫描速率下操作。系统可以被配置为使得图像捕获设备124和126中的一个或多个以等于图像捕获设备122的线扫描速率的线扫描速率操作。在其他实例中,系统可以被配置为使得图像捕获设备124和/或图像捕获设备126的线扫描速率可以是图像捕获设备122的线扫描速率的1.25倍、1.5倍、1.75倍或2倍或更大。
在一些实施例中,图像捕获设备122、124和126可以是不对称的。也就是说,它们可以包括具有不同视场(FOV)和焦距的相机。例如,图像捕获设备122、124和126的视场可以包括相对于交通工具200的环境的任何期望区域。在一些实施例中,图像捕获设备122、124和126中的一个或多个可以被配置为从交通工具200前方、交通工具200后方、交通工具200侧面或其组合的环境采集图像数据。
进一步地,与每个图像捕获设备122、124和/或126相关联的焦距可以是可选的(例如,通过包括适当的透镜等),使得每个设备采集在相对于交通工具200的期望距离范围内的对象的图像。例如,在一些实施例中,图像捕获设备122、124和126可以采集距离交通工具几米以内的特写对象的图像。图像捕获设备122、124和126还可以被配置为采集距交通工具更远的范围(例如,25m、50m、100m、150m或更长)内的对象的图像。进一步地,图像捕获设备122、124和126的焦距可以被选择成使得一个图像捕获设备(例如,图像捕获设备122)可以采集相对靠近交通工具(例如,在10m内或20m 内)的对象的图像,而其他图像捕获设备(例如,图像捕获设备124和126) 可以可以采集距交通工具200更远的(例如,距交通工具大于20m、50m、100m、 150m等的)对象的图像。
根据一些实施例,一个或多个图像捕获设备122、124和126的 FOV可以具有广角。例如,具有140度的FOV可能是有利的,对于可以用于捕获交通工具200邻近区域的图像的图像捕获设备122、124和126尤其如此。例如,图像捕获设备122可以用于捕获交通工具200右侧或左侧区域的图像,并且在此类实施例中,图像捕获设备122具有宽FOV(例如,至少140度)可能是符合期望的。
与图像捕获设备122、124和126中的每一个相关联的视场可以取决于各自的焦距。例如,随着焦距增加,相应的视场减小。
图像捕获设备122、124和126可以被配置为具有任何合适的视场。在一个特定示例中,图像捕获设备122可以具有46度的水平FOV,图像捕获设备124可以具有23度的水平FOV,并且图像捕获设备126可以具有23度与 46度之间的水平FOV。在另一实例中,图像捕获设备122可以具有52度的水平FOV,图像捕获设备124可以具有26度的水平FOV,并且图像捕获设备126 可以具有26度与52度之间的水平FOV。在一些实施例中,图像捕获设备122 的FOV与图像捕获设备124和/或图像捕获设备126的FOV的比率可以从1.5 变化到2.0。在其他实施例中,该比率可以在1.25与2.25之间变化。
系统100可以被配置为使得图像捕获设备122的视场至少部分地或完全与图像捕获设备124和/或图像捕获设备126的视场重叠。在一些实施例中,系统100可以被配置为使得图像捕获设备124和126的视场例如落在图像捕获设备122的视场内(例如,窄于图像捕获设备122的视场),并且与图像捕获设备122的视场共享共同的中心。在其他实施例中,图像捕获设备122、 124和126可以捕获相邻的FOV,或者可以在它们的FOV中具有部分的重叠。在一些实施例中,图像捕获设备122、124和126的视场可以对齐,使得FOV 较窄的图像捕获设备124和/或126的中心可以位于FOV较宽的设备122的视场的下半部分中。
图2F是符合所公开的实施例的示例性交通工具控制系统的图解表示。如图2F所指示,交通工具200可以包括节流系统220、制动系统230 和转向系统240。系统100可以通过一个或多个数据链路(例如,用于传送数据的任何一个或多个有线和/或无线链路)向节流系统220、制动系统230、和转向系统240中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕获设备122、124和/或126采集到的图像的分析,系统100可以向节流系统220、制动系统230、和转向系统240中的一个或多个提供控制信号以(例如,通过引起加速、转弯、车道偏移等)对交通工具200进行导航。进一步地,系统100可以从节流系统220、制动系统230和转向系统24中的一个或多个接收指示交通工具200的操作状况(例如,速率、交通工具200是否正在制动或转弯等)的输入。以下结合图4-图7提供进一步的细节。
如图3A所示,交通工具200还可以包括用于与交通工具200的驾驶员或乘客交互的用户接口170。例如,交通工具应用中的用户接口170可以包括触摸屏320、旋钮330、按钮340、以及麦克风350。交通工具200的驾驶员或乘客也可以使用手柄(例如,位于交通工具200的转向柱上或转向柱附近的手柄,包括例如转向信号灯手柄)、按钮(例如,位于交通工具200的方向盘上的按钮)等来与系统100交互。在一些实施例中,麦克风350可以被定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获设备122可以位于后视镜310附近。在一些实施例中,用户接口170还可以包括一个或多个扬声器360(例如,交通工具音频系统的扬声器)。例如,系统100可以经由扬声器360提供各种通知(例如,警报)。
图3B-图3D是符合所公开的实施例的示例性相机支架370的图示,该示例性相机支架370被配置为位于后视镜(例如,后视镜310)后面并抵靠交通工具挡风玻璃。如图3B所示,相机支架370可以包括图像捕获设备 122、124和126。图像捕获设备124和126可以位于眩光屏蔽件380的后面,该眩光屏蔽件380可以齐平地抵靠交通工具挡风玻璃,并包括膜和/或抗反射材料的组合物。例如,眩光屏蔽件380可以被定位使得该屏蔽件抵靠具有匹配的坡度的交通工具挡风玻璃而对齐。在一些实施例中,图像捕获设备122、124 和126中的每一个都可以被定位在眩光屏蔽件380后面,例如,如图3D中所描绘。所公开的实施例不限于图像捕获设备122、124和126、相机支架370 和眩光屏蔽件380的任何特定配置。图3C是图3B中所示的相机支架370从前视视角的视图。
如受益于本公开的本领域技术人员将领会的,可以对前述公开的实施例做出很多的变型和/或修改。例如,并非所有组件对于系统100的操作都是必要的。进一步地,任何组件都可以位于系统100的任何适当部分中,并且组件可以被重新布置成各种配置,同时提供所公开的实施例的功能。因此,前面的配置是示例,并且不管上面讨论的配置如何,系统100都可以提供范围广泛的功能来分析交通工具200的周边并响应于该分析来对交通工具200进行导航。
如下文进一步详细地所讨论并且符合各个所公开实施例,系统100 可以提供与自主驾驶和/或驾驶员辅助技术相关的各种特征。例如,系统100 可以分析图像数据、位置数据(例如,GPS位置信息)、地图数据、速率数据和/或来自被包括在交通工具200中的传感器的数据。系统100可以从例如图像采集单元120、位置传感器130、和其他传感器收集数据以用于分析。进一步地,系统100可以分析所收集的数据,以确定交通工具200是否应当采取某个动作,并且随后在没有人类干预的情况下自动地采取所确定的动作。例如,当交通工具200在没有人类干预的情况下导航时,系统100可以(例如,通过将控制信号发送到节流系统220、制动系统230、和转向系统240中的一者或多者)自动地控制交通工具200的制动、加速、和/或转向。进一步地,系统100 可以分析所收集的数据,并基于对所收集的数据的分析向交通工具乘员发出警告和/或警报。下文提供关于由系统100提供的各实施例的附加细节。
前向多成像系统
如上文所讨论,系统100可以提供使用多相机系统的驾驶辅助功能。多相机系统可以使用面向交通工具前进方向的一个或多个相机。在其他实施例中,多相机系统可以包括面向交通工具侧面或交通工具后部的一个或多个相机。在一个实施例中,例如,系统100可以使用双相机成像系统,其中第一相机和第二相机(例如,图像捕获设备122和124)可以被定位在交通工具(例如,交通工具200)的前部和/或侧面。第一相机的视场可以大于、小于第二相机的视场,或部分地与第二相机的视场重叠。此外,第一相机可以被连接到第一图像处理器,该第一图像处理器用于对由第一相机提供的图像执行单目图像分析,并且第二相机可以被连接到第二图像处理器,该第二图像处理器用于对由第二相机提供的图像执行单目图像分析。可以组合第一和第二图像处理器的输出(例如,经处理的信息)。在一些实施例中,第二图像处理器可以从第一相机和第二相机两者接收图像以执行立体分析。在另一实施例中,系统100可以使用三相机成像系统,其中这些相机中的每个相机具有不同的视场。因此,此类系统可以基于从位于交通工具前方和侧面的不同距离处的对象导出的信息做出决策。对单目图像分析的引用可以指基于从单个视点(例如,从单个相机)捕获的图像执行图像分析的实例。立体图像分析可以指基于利用图像捕获参数的一个或多个变体而捕获的两个或更多个图像执行图像分析的实例。例如,适于执行立体图像分析的被捕获的图像可以包括:从两个或更多个不同位置被捕获的图像、从不同视场被捕获的图像、使用不同焦距被捕获的图像、随着视差信息被捕获的图像等。
例如,在一个实施例中,系统100可以使用图像捕获设备122、124 和126实现三相机配置。在此类配置中,图像捕获设备122可以提供窄视场(例如,34度或从大约20到45度范围中选择的其他值,等等),图像捕获设备 124可以提供宽视场(例如,150度或从大约100到大约180度的范围中选择的其他值),并且图像捕获设备126可以提供中间视场(例如,46度或从大约 35度到大约60度的范围中选择的其他值)。在一些实施例中,图像捕获设备 126可以充当主相机或主要相机。图像捕获设备122、124和126可以被定位在后视镜310的后面,并且基本上并排地定位(例如,相隔6cm)。进一步地,在一些实施例中,如上文所讨论,图像捕获设备122、124和126中的一个或多个可以安装在与交通工具200的挡风玻璃齐平的眩光屏蔽件380后面。此类屏蔽可以用于最小化来自车内部的任何反射对图像捕获设备122、124和126 的影响。
在另一个实施例中,如上文结合图3B和图3C所讨论,宽视场相机(例如,上述示例中的图像捕获设备124)可以安装成低于窄视场和主视场相机(例如,上述示例中的图像设备122和126)。此配置可以提供来自宽视场相机的自由视线。为了减少反射,相机可以安装在靠近交通工具200的挡风玻璃的位置,并可以在相机上包括偏振器,以抑制反射光。
三相机系统可以提供某些性能特性。例如,一些实施例可以包括基于来自另一个相机的检测结果来验证由一个相机对对象的检测的能力。在上文所讨论的三相机配置中,处理单元110可以包括例如三个处理设备(例如,如上文所讨论的三个EyeQ系列处理器芯片),其中每个处理设备专用于处理由图像捕获设备122、124和126中的一个或多个捕获的图像。
在三相机系统中,第一处理设备可以从主相机和窄视场相机两者接收图像,并对窄FOV相机执行视觉处理,以例如检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。进一步地,第一处理设备可以计算来自主相机的图像与来自窄相机的图像之间的像素的视差,并创建交通工具200的环境的3D重构。然后,第一处理设备可以将3D重构与3D地图数据或与基于来自另一相机的信息计算的3D信息相组合。
第二处理设备可以从主相机接收图像,并执行视觉处理以检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。附加地,第二处理设备可以计算相机位移,并且基于该位移计算连续图像之间的像素的视差,并创建场景的3D重构(例如,运动恢复结构(structure from motion))。第二处理设备可以将基于运动恢复结构的3D重构发送到第一处理设备来与立体3D图像组合。
第三处理设备可以接收从宽FOV相机接收图像,并对这些图像进行处理,以检测交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。第三处理设备可以进一步执行附加的处理指令以分析图像来标识图像中移动的对象,诸如正改变车道的交通工具、行人等。
在一些实施例中,使基于图像流的信息被独立地捕获和处理可以提供在系统中提供冗余的机会。此类冗余可以包括例如,使用第一图像捕获设备和来自该设备的经处理的图像来验证和/或补充通过捕获和处理来自至少第二图像捕获设备的图像信息而获得的信息。
在一些实施例中,系统100可以使用两个图像捕获设备(例如,图像捕获设备122和124)以为交通工具200提供导航辅助,并使用第三图像捕获设备(例如,图像捕获设备126)提供冗余并且验证对从其他两个图像捕获设备接收的数据的分析。例如,在此类配置中,图像捕获设备122和124可以提供用于由系统100进行立体分析来对交通工具200进行导航的图像,而图像捕获设备126可以提供用于由系统100进行单目分析的图像,以提供对基于从图像捕获设备122和/或图像捕获设备124捕获的图像获得的信息的冗余和验证。即,图像捕获设备126(和相应的处理设备)可以被认为提供冗余子系统,用于对从图像捕获设备122和124导出的分析提供检查(例如,以提供自动紧急制动(AEB)系统)。此外,在一些实施例中,可以基于从一个或多个传感器接收的信息(例如,雷达、激光雷达、声学传感器、从交通工具外部的一个或多个收发器接收的信息等)来补充接收的信息的冗余和验证。
本领域技术人员将认识到,上述相机配置、相机放置、相机数量、相机位置等仅为示例。这些组件和相对于整个系统描述的其他组件可以在各种不同的配置中组装和使用,而不背离所公开的实施例的范围。关于使用多相机系统来提供驾驶员辅助和/或自主交通工具功能的进一步细节如下文。
图4是可以存储/编程有用于执行符合所公开的实施例的一个或多个操作的指令的存储器140和/或150的示例性功能框图。尽管下文引用存储器 140,但本领域技术人员将认识到,指令可以存储在存储器140和/或150中。
如图4所示,存储器140可以存储单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例不限于存储器140的任何特定配置。进一步地,应用处理器180和/或图像处理器190可以执行存储在被包括在存储器140中的模块402、404、406和408 中的任何一个中的指令。本领域技术人员将理解,在以下讨论中对处理单元110 的引用可以单独或共同地指应用处理器180和图像处理器190。相应地,可以由一个或多个处理设备执行以下过程中的任何过程的步骤。
在一个实施例中,单目图像分析模块402可以存储在由处理单元 110执行时对由图像捕获设备122、124和126中的一者采集的图像的集合执行单目图像分析的指令(诸如,计算机视觉软件)。在一些实施例中,处理单元 110可以将来自图像的集合的信息与附加的传感信息(例如,来自雷达、激光雷达等的信息)组合以执行单目图像分析。如下文结合图5A-图5D所描述,单目图像分析模块402可以包括用于检测该图像的集合中的特征的集合的指令,该特征的集合诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象以及与交通工具的环境相关联的任何其他特征。基于该分析,系统100(例如,经由处理单元110)可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度的变化等,如下文结合导航响应模块 408所讨论。
在一个实施例中,立体图像分析模块404可以存储在由处理单元 110执行时对从图像捕获设备122、124和126中选择的图像捕获设备的组合所采集的第一组和第二组图像执行立体图像分析的指令(诸如,计算机视觉软件)。在一些实施例中,处理单元110可以将来自第一组和第二组图像的信息与附加的传感信息(例如,来自雷达的信息)组合以执行立体图像分析。例如,立体图像分析模块404可以包括用于基于由图像捕获设备124采集的图像的第一集合和由图像捕获设备126采集的图像的第二集合来执行立体图像分析的指令。如下文结合图6所描述,立体图像分析模块404可以包括用于检测图像的第一集合和第二集合内的特征的集合的指令,该组特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象等。基于分析,处理单元110可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度的变化等,如下文结合导航响应模块408所讨论。此外,在一些实施例中,立体图像分析模块404可以实现与经训练的系统(诸如,神经网络或深度神经网络)或未经训练的系统相关联的技术,这些系统诸如,可以配置为使用计算机视觉算法以在捕获和处理来自其的传感信息的环境中检测和/或标示对象的系统。在一个实施例中,立体图像分析模块404和/或其他图像处理模块可以被配置为使用经训练的和未经训练的系统的组合。
在一个实施例中,速度和加速度模块406可以存储被配置为用于分析从交通工具200中的一个或多个计算和机电设备接收的数据的软件,这些计算和机电设备被配置为用于引起交通工具200的速度和/或加速度的变化。例如,处理单元110可以执行与速度和加速度模块406相关联的指令,以基于从单目图像分析模块402和/或立体图像分析模块404的执行中导出的数据来计算交通工具200的目标速率。此类数据可以包括例如目标位置、速度和/或加速度、交通工具200相对于附近交通工具、行人或道路对象的位置和/或速率、交通工具200相对于道路的车道标记的位置信息等。此外,处理单元110可以基于传感输入(例如,来自雷达的信息)和来自交通工具200的其他系统(诸如,交通工具200的节流系统220、制动系统230和/或转向系统240)的输入来计算交通工具200的目标速率。基于计算出的目标速率,处理单元110可以向交通工具200的节流系统220、制动系统230和/或转向系统240传送电子信号,以通过例如物理地压下交通工具200的制动器或松开交通工具200的加速器来触发速度和/或加速度的变化。
在一个实施例中,导航响应模块408可以存储处理单元110可执行以基于从单目图像分析模块402和/或立体图像分析模块404的执行中导出的数据来确定期望的导航响应的软件。此类数据可以包括与附近交通工具、行人和道路对象相关联的位置和速率信息、交通工具200的目标位置信息等。附加地,在一些实施例中,导航响应可以(部分地或完全)基于地图数据、交通工具200的预定位置、和/或交通工具200与从单目图像分析模块402和/或立体图像分析模块404的执行中检测到的一个或多个对象之间的相对速度或相对加速度。导航响应模块408还可以基于传感输入(例如,来自雷达的信息)和来自交通工具200的其他系统(诸如,交通工具200的节流系统220、制动系统 230和转向系统240)的输入来确定期望的导航响应。基于期望的导航响应,处理单元110可以向交通工具200的节流系统220、制动系统230和转向系统 240传送电子信号,以通过例如转动交通工具200的方向盘实现预定角度的旋转来触发期望的导航响应。在一些实施例中,处理单元110可以使用导航响应模块408的输出(例如,期望的导航响应)作为执行速度和加速度模块406的输入,以用于计算交通工具200的速率的变化。
此外,本文公开的模块(例如,模块402、404和406)中的任何模块可以实现与经训练的系统(诸如,神经网络或深度神经网络)或未经训练的系统相关联的技术。
图5A是示出了符合所公开的实施例的用于基于单目图像引起一个或多个导航响应的示例性过程500A的流程图。在步骤510,处理单元110 可以经由处理单元110与图像采集单元120之间的数据接口128接收多个图像。例如,被包括在图像采集单元120中的相机(诸如,具有视场202的图像捕获设备122)可以捕获交通工具200前方(或例如交通工具侧面或后部)区域的多个图像,并且通过数据连接(例如,数字、有线、USB、无线、蓝牙等)将这些图像传送到处理单元110。在步骤520,处理单元110可以执行单目图像分析模块402以分析多个图像,如下文结合图5B-5D进一步详细地所描述。通过执行分析,处理单元110可以检测该图像的集合内的特征的集合,该特征的集合诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯等等。
在步骤520,处理单元110也可以执行单目图像分析模块402以检测各种道路危险,诸如例如卡车轮胎的零件、坠落的道路标志、松散货物、小动物等等。道路危险可能在结构、形状、大小和颜色上有所不同,这可能使检测此类危险更具挑战性。在一些实施例中,处理单元110可以执行单目图像分析模块402以对多个图像执行多帧分析来检测道路危险。例如,处理单元110 可以估计连续图像帧之间的相机运动,并计算帧之间的像素的视差,以构造道路的3D地图。然后,处理单元110可以使用3D地图来检测道路表面以及存在于道路表面上的危险。
在步骤530,处理单元110可以执行导航响应模块408,以基于在步骤520执行的分析和如上文结合图4所描述的技术在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度的变化等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时发生、按顺序发生或以这些方式的任何组合来发生。例如,处理单元110可以通过例如顺序地向交通工具200的转向系统240和节流系统220传送控制信号来使交通工具200偏移通过一个车道并且然后加速。替代地,处理单元110可以通过例如同时向交通工具200的制动系统230和转向系统240传送控制信号来使交通工具200在偏移车道的同时制动。
图5B是示出符合所公开的实施例的用于检测图像的集合中的一个或多个交通工具和/或行人的示例性过程500B的流程图。处理单元110可以执行单目图像分析模块402以实现过程500B。在步骤540,处理单元110可以确定表示可能的交通工具和/或行人的候选对象的集合。例如,处理单元110 可以扫描一个或多个图像,将图像与一个或多个预定模式进行比较,并在每个图像内标识可能包含感兴趣对象(例如,交通工具、行人或其部分)的可能位置。预定模式可以以实现高“误命中率”和低“未命中率”的方式来设计。例如,处理单元110可以将低相似度阈值用于预定模式,以将候选对象标识为可能的交通工具或行人。这样做可以允许处理单元110降低未命中(例如,未标识) 表示交通工具或行人的候选对象的概率。
在步骤542,处理单元110可以基于分类准则来过滤候选对象的集合以排除某些候选(例如,无关或不太相关的对象)。此类准则可以从与存储在数据库(例如,存储在存储器140中的数据库)中的对象类型相关联的各种属性中导出。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于交通工具200的位置)等等。因此,处理单元110可以使用一个或多个集合的准则来拒绝来自候选对象的集合的假候选。
在步骤544,处理单元110可以分析图像的多个帧以确定候选对象的集合中的对象是否表示交通工具和/或行人。例如,处理单元110可以跨连续帧跟踪所检测的候选对象,并累积与所检测的对象相关联的逐帧数据(例如,大小、相对于交通工具200的位置等)。附加地,处理单元110可以估计所检测的对象的参数,并将对象的逐帧位置数据与所预测的位置进行比较。
在步骤546,处理单元110可以为所检测的对象构造测量的集合。此类测量可以包括例如与所检测的对象相关联的(相对于交通工具200的)位置、速度和加速度值。在一些实施例中,处理单元110可以基于使用一系列基于时间的观察的估计技术(诸如,卡尔曼滤波器或线性二次估计(LQE))和 /或基于针对不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等) 的可用建模数据来构造测量。卡尔曼滤波器可以基于对象尺度的测量,其中尺度测量与碰撞时间(例如,交通工具200到达对象的时间量)成比例。因此,通过执行步骤540-546,处理单元110可以标识出现在所捕获的图像的集合中的交通工具和行人,并导出与交通工具和行人相关联的信息(例如,位置、速率、大小)。基于标识和导出的信息,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5A所描述。
在步骤548,处理单元110可以执行对一个或多个图像的光流分析,以降低检测到“误命中率”和未命中表示交通工具或行人的候选对象的概率。光流分析可以指例如在与其他交通工具和行人相关联的一个或多个图像中分析相对于交通工具200的、不同于道路表面运动的运动模式。处理单元110 可以通过观察跨在不同时间捕获的多个图像帧的对象的不同位置来计算候选对象的运动。处理单元110可以使用位置和时间值作为数学模型的输入来计算候选对象的运动。因此,光流分析可以提供检测交通工具200附近的交通工具和行人的另一方法。处理单元110可以结合步骤540-546执行光流分析,从而为检测交通工具和行人提供冗余,并增加系统100的可靠性。
图5C是示出符合所公开的实施例的用于检测图像的集合中的道路标记和/或车道几何信息的示例性过程500C的流程图。处理单元110可以执行单目图像分析模块402以实现过程500C。在步骤550,处理单元110可以通过扫描一个或多个图像来检测对象的集合。为了检测具有车道标记、车道几何信息和其他有关道路标记的段,处理单元110可以对该对象的集合进行过滤以排除那些被确定为无关的对象(例如,小坑洞、小岩石等)。在步骤552,处理单元110可以将在步骤550中检测到的属于相同道路标记或车道标记的段编组在一起。基于编组,处理单元110可以形成用于表示检测到的段的模型,诸如数学模型。
在步骤554,处理单元110可以构造与所检测的段相关联的测量的集合。在一些实施例中,处理单元110可以创建所检测的段从图像平面到真实世界平面的投影。可以使用具有与物理属性(诸如,所检测的道路的位置、坡度、曲率和曲率导数)相对应的系数的三次多项式来表征投影。在生成投影时,处理单元110可以考虑道路表面的变化以及与交通工具200相关联的俯仰和滚转速率。此外,处理单元110可以通过分析存在于道路表面上的位置和运动线索来对道路标高建模。进一步地,处理单元110可以通过跟踪一个或多个图像中的特征点的集合来估计与交通工具200相关联的俯仰和滚转速率。
在步骤556,处理单元110可以通过例如跨连续图像帧跟踪所检测的段并且累积与所检测的段相关联的逐帧数据来执行多帧分析。随着处理单元 110执行多帧分析,在步骤554处构造的该测量的集合可以变得更可靠并且与越来越高的置信度水平相关联。因此,通过执行步骤550、552、554和556,处理单元110可以标识出现在被捕获的图像的集合内的道路标记,并导出车道几何信息。基于标识和导出的信息,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5A所描述。
在步骤558,处理单元110可以考虑附加信息源,以在交通工具 200的周边的情境中进一步形成用于交通工具200的安全模型。处理单元110 可以使用安全模型来定义其中系统100可以以安全方式执行交通工具200的自主控制的情境。为了形成安全模型,在一些实施例中,处理单元110可以考虑其他交通工具的位置和运动、检测到的道路边缘和障碍物,和/或从地图数据(诸如,来自地图数据库160的数据)中提取的一般道路形状描述。通过考虑附加的信息源,处理单元110可以提供用于检测道路标记和车道几何形状的冗余,并提高系统100的可靠性。
图5D是示出符合所公开的实施例的用于检测图像的集合中的交通灯的示例性过程500D的流程图。处理单元110可以执行单目图像分析模块 402以实现过程500D。在步骤560,处理单元110可以扫描该图像的集合,并标识出现在图像中的可能包含交通灯的位置处的对象。例如,处理单元110可以过滤所标识的对象以构造候选对象的集合,从而排除那些不太可能对应于交通灯的对象。过滤可以基于与交通灯相关联的各种属性来完成,这些属性诸如形状、尺寸、纹理、位置(例如,相对于交通工具200),等等。此类属性可以基于交通灯和交通控制信号的多个示例,并存储在数据库中。在一些实施例中,处理单元110可以对反映可能的交通灯的候选对象的集合执行多帧分析。例如,处理单元110可以跨连续图像帧跟踪候选对象,估计候选对象的真实世界位置,并过滤掉正在移动的那些对象(它们不太可能是交通灯)。在一些实施例中,处理单元110可以对候选对象执行颜色分析,并标识检测到的颜色出现在可能的交通灯内部的相对位置。
在步骤562,处理单元110可以分析交叉路口的几何形状。分析可以基于以下各项的任何组合:(i)在交通工具200任一侧检测到的车道的数量, (ii)在道路上检测到的标记(诸如,箭头标记),以及(iii)从地图数据(诸如,地图数据库160中的数据)中提取的交叉路口的描述。处理单元110可以使用从单目分析模块402的执行中导出的信息来进行分析。此外,处理单元110 可以确定在步骤560处检测到的交通灯和出现在交通工具200附近的车道之间的对应关系。
当交通工具200逐渐接近交叉路口时,在步骤564,处理单元110 可以更新与所分析的交叉路口几何形状和检测到的交通灯相关联的置信水平。例如,估计出现在交叉路口的交通灯的数量与实际出现在交叉路口的交通灯的数量进行比较可能会影响置信水平。因此,基于置信水平,处理单元110可以将控制委托给交通工具200的驾驶员,以改善安全状况。通过执行步骤560、 562和564,处理单元110可以标识出现在被捕获的图像的集合内的交通灯,并分析交叉路口几何信息。基于标识和分析,处理单元110可以在交通工具200 中引起一个或多个导航响应,如上文结合图5A所描述。
图5E是示出符合所公开的实施例的用于基于交通工具路径在交通工具200中引起一个或多个导航响应的示例性过程500E的流程图。在步骤 570,处理单元110可以构造与交通工具200相关联的初始交通工具路径。可以使用以坐标(x,z)表达的点的集合来表示交通工具路径,并且该点的集合中的两个点之间的距离di可能落在1米到5米的范围内。在一个实施例中,处理单元110可以使用两个多项式(例如,左道路多项式和右道路多项式)来构造初始交通工具路径。处理单元110可以计算两个多项式之间的几何中点,并将所得到的交通工具路径中包括的每个点以预定的偏移(例如,智能车道偏移) 进行偏移――如果有预定的偏移的话(零偏移可以对应于在车道中间的行驶)。偏移可以在垂直于交通工具路径中任何两点之间的段的方向上。在另一实施例中,处理单元110可以使用一个多项式和估计的车道宽度来将交通工具路径的每个点偏移所估计的车道宽度的一半加上预定的偏移(例如,智能车道偏移)。
在步骤572,处理单元110可以更新在步骤570处构造的交通工具路径。处理单元110可以使用更高的分辨率重构在步骤570处构造的交通工具路径,使得在表示交通工具路径的该点的集合中的两个点之间的距离dk小于上文描述的距离di。例如,距离dk可能落在0.1米到0.3米的范围内。处理单元 110可以使用抛物线样条算法重构交通工具路径,抛物线样条算法可以产生与交通工具路径的总长度相对应的累计距离向量S(即,基于表示交通工具路径的该点的集合)。
在步骤574,处理单元110可以基于在步骤572处构造的经更新的交通工具路径来确定前瞻点(以坐标表达为(xl,zl))。处理单元110可以从累计距离向量S中提取前瞻点,并且前瞻点可以与前瞻距离和前瞻时间相关联。可以具有范围从10米到20米的下限的前瞻距离可以被计算为交通工具200的速率与前瞻时间的乘积。例如,随着交通工具200的速率减小,前瞻距离也可能减小(例如,直到前瞻距离到达下限)。范围可以从0.5秒至1.5秒的前瞻时间可以与同在交通工具200中引起导航响应相关联的一个或多个控制回路 (诸如,航向误差跟踪控制回路)的增益成反比。例如,航向误差跟踪控制回路的增益可取决于偏航率回路的带宽、转向致动器回路、车辆横向动力学等。因此,航向误差跟踪控制回路的增益越高,前瞻时间就越短。
在步骤576,处理单元110可以基于在步骤574处确定的前瞻点来确定航向误差和偏航率命令。处理单元110可以通过计算前瞻点的反正切(例如,arctan(xl/zl))来确定航向误差。处理单元110可以将偏航率命令确定为航向误差和高水平控制增益的乘积。如果前瞻距离不处于下限,则高水平控制增益可以等于:(2/前瞻时间)。否则,高水平控制增益可以等于:(2*交通工具200的速率/前瞻距离)。
图5F是示出了符合所公开的实施例的用于确定在前的交通工具是否正在改变车道的示例性过程500F的流程图。在步骤580,处理单元110 可以确定与在前的交通工具(例如,在交通工具200前面行驶的交通工具)相关联的导航信息。例如,处理单元110可以使用上文结合图5A和图5B所描述的技术来确定在前的交通工具的位置、速度(例如,方向和速率)和/或加速度。处理单元110也可以使用上文结合图5E描述的技术来确定一个或多个道路多项式、(与交通工具200相关联的)前瞻点和/或蜗牛踪迹(snail trail)(例如,描述由在前的交通工具采取的路径的点的集合)。
在步骤582,处理单元110可以分析在步骤580处确定的导航信息。在一个实施例中,处理单元110可以计算蜗牛踪迹和道路多项式(例如,沿着踪迹)之间的距离。如果该距离沿着踪迹的变化超过预定阈值(例如,在笔直道路上为0.1米到0.2米,在中等弯曲的道路上为0.3米到0.4米,并且在具有急弯的道路上为0.5米到0.6米),则处理单元110可以确定在前的交通工具可能正在改变车道。在其中多个交通工具被检测到在交通工具200前面行驶的情况下,处理单元110可以比较与每个交通工具相关联的蜗牛踪迹。基于该比较,处理单元110可以确定蜗牛踪迹与其他交通工具的蜗牛踪迹不匹配的交通工具可能正在改变车道。处理单元110可以附加地将(与在前的交通工具相关联的)蜗牛踪迹的曲率与该在前的交通工具正在其中行驶的道路段的预期曲率进行比较。预期曲率可以从地图数据(例如,来自地图数据库160的数据)、从道路多项式、从其他交通工具的蜗牛踪迹、从关于道路的先前知识等等中提取。如果蜗牛踪迹的曲率与道路段的预期曲率的差超过预定阈值,则处理单元 110可以确定在前的交通工具可能正在改变车道。
在另一实施例中,处理单元110可以在特时序间段(例如,0.5秒到1.5秒)内将在前的交通工具的瞬时位置与(与交通工具200相关联的)前瞻点进行比较。如果在前的交通工具的瞬时位置和前瞻点之间的距离在特时序间时段期间变化,且累计变化总和超过预定阈值(例如,在笔直道路上为0.3 米至0.4米,在中等弯曲的道路上为0.7米至0.8米,在具有急弯的道路上为 1.3米至1.7米),则处理单元110可以确定在前的交通工具可能正在改变车道。在另一个实施例中,处理单元110可以通过将沿着蜗牛踪迹行驶的横向距离与蜗牛踪迹的预期曲率进行比较来分析该踪迹的几何形状。预期曲率半径可以根据计算:(δz 2x 2)/2/(δx)来确定,其中δx表示行驶的横向距离,并且δz表示行驶的纵向距离。如果行驶的横向距离与预期曲率之间的差超过预定阈值 (例如,500米到700米),则处理单元110可以确定在前的交通工具可能在改变车道。在另一实施例中,处理单元110可以分析在前的交通工具的位置。如果在前的交通工具的位置遮挡了道路多项式(例如,在前的交通工具覆盖在道路多项式之上),则处理单元110可以确定在前的交通工具可能正在改车道。在其中在前的交通工具的位置使得在该在前的交通工具前面检测到另一交通工具并且这两个交通工具的蜗牛踪迹不平行的情况下,处理单元110可以确定 (更近的)在前的交通工具可能正在改变车道。
在步骤584,处理单元110可以基于在步骤582处执行的分析来确定在前的交通工具200是否正在改变车道。例如,处理单元110可以基于在步骤582处执行的各个分析的加权平均值来作出确定。在此类方案下,例如,由处理单元110基于特定类型的分析而作出的在前的交通工具可能正在改变车道的决策可以被分配值“1”(并且“0”用于表示在前的交通工具不太可能正在改变车道的确定)。在步骤582处执行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析和权重的任何特定组合。
图6是示出了符合所公开的实施例的用于基于立体图像分析引起一个或多个导航响应的示例性过程600的流程图。在步骤610,处理单元110 可以经由数据接口128接收第一和第二多个图像。例如,被包括在图像采集单元120中的相机(诸如,具有视场202的图像捕获设备122和具有视场204的图像捕获设备124)可以捕获交通工具200前方的区域的第一和第二多个图像,并通过数字连接(例如,USB、无线、蓝牙等)将它们传送到处理单元100。在一些实施例中,处理单元110可以经由两个或更多个数据接口接收第一和第二多个图像。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤620,处理单元110可以执行立体图像分析模块404,以对第一和第二多个图像执行立体图像分析,以创建交通工具前方道路的3D地图,并检测图像内的特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、道路危险等等。立体图像分析可以以与上文结合图5A-图5D所描述的步骤相类似的方式来执行。例如,处理单元110可以执行立体图像分析模块404以检测第一和第二多个图像内的候选对象(例如,交通工具、行人、道路标记、交通灯、道路危险等),基于各种准则过滤掉候选对象的子集,并且执行多帧分析,构造测量,并确定剩余候选对象的置信水平。在执行以上步骤时,处理单元110可以考虑来自第一和第二多个图像两者的信息,而不是仅仅考虑来自图像的一个集合的信息。例如,处理单元110可以分析针对出现在第一和第二多个图像两者中的候选对象的像素级数据(或来自两个被捕获的图像流之中的其他数据子集)的差异。作为另一示例,处理单元110可以通过观察物体出现在多个图像中的一个图像而不是另一个图像中,或者相对于在两个图像流的情况下可能相对于出现的对象而存在的其他差异(来估计候选物体的位置和/或速度(例如,相对于交通工具200)。例如,可以基于与出现在这些图像流中的一者或这两者中的对象相关联的特征的轨迹、位置、移动特性等来确定相对于交通工具200的位置、速度和/或加速度。
在步骤630,处理单元110可以执行导航响应模块408,以基于在步骤620处执行的分析和如上文结合图4所描述的技术在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度的变化、速度的变化、制动等等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时发生、按顺序发生或以这些方式的任何组合来发生。
图7是示出符合所公开的实施例的用于基于对三个集合的图像的分析引起一个或多个导航响应的示例性过程700的流程图。在步骤710,处理单元110可以经由数据接口128接收第一、第二和第三多个图像。例如,被包括在图像采集单元120中的相机(诸如,具有视场202的图像捕获设备122、具有视场204的图像捕获设备124和具有视场206的图像捕获设备126)可以捕获交通工具200前方和/或侧面的区域的第一、第二和第三多个图像,并通过数字连接(例如,USB、无线、蓝牙等)将它们传送到处理单元110。在一些实施例中,处理单元110可以经由三个或更多个数据接口接收第一、第二和第三多个图像。例如,图像捕获设备122、124、126中的每一个可以具有用于向处理单元110传输数据的相关联的数据接口。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤720,处理单元110可以分析第一、第二和第三多个图像,以检测图像内的特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、道路危险等等。分析可以以类似于上文结合图5A-图5D和图6描述的步骤的方式执行。例如,处理单元110可以对第一、第二和第三多个图像中的每一者执行单目图像分析(例如,经由执行单目图像分析模块402,并且基于上文结合图5A-图5D描述的步骤)。替代地,处理单元110可以对第一和第二多个图像、第二和第三多个图像、和/或第一和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404并基于上文结合图6描述的步骤)。可以组合与第一、第二和/或第三多个图像的分析相对应的经处理的信息。在一些实施例中,处理单元110可以执行单目图像分析和立体图像分析的组合。例如,处理单元110可以对第一多个图像执行单目图像分析(例如,经由执行单目图像分析模块402)并对第二和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404)。包括它们各自的位置和视场202、204 和206的图像捕获设备122、124和126的配置可以影响对第一、第二和第三多个图像进行的分析的类型。所公开的实施例不限于图像捕获设备122、124 和126的特定配置,或对第一、第二和第三多个图像进行的分析的类型。
在一些实施例中,处理单元110可以基于在步骤710和720处采集和分析的图像对系统100执行测试。此类测试可以提供针对图像捕获设备 122、124和126的某些配置的系统100的总体性能的指标。例如,处理单元 110可以确定“误命中率”(例如,在其中系统100错误地确定交通工具或行人的存在的情况)与“未命中率”的比例。
在步骤730,处理单元110可以基于从第一、第二和第三多个图像中的两者导出的信息在交通工具200中引起一个或多个导航响应。对第一、第二和第三多个图像中的两者的选择可以取决于各种因素,诸如例如在多个图像中的每一者中检测到的对象的数量、类型和大小。处理单元110还可以基于图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如,对象在其中出现的帧的百分比、出现在每个此类帧中的对象的比例等)等等来进行选择。
在一些实施例中,处理单元110可以通过确定从一个图像源导出的信息与从其他图像源导出的信息的一致的程度来选择从第一、第二和第三多个图像中的两者导出的信息。例如,处理单元110可以组合从图像捕获设备 122、124和126中的每一个导出(无论是通过单目分析、立体分析还是这两者的任何组合)的经处理的信息,并确定跨从图像捕获设备122、124和126中的每一个图像捕获设备捕获的图像相一致的视觉指示符(例如,车道标记、检测到的交通工具及其位置和/或路径、检测到的交通灯等)。处理单元110还可以排除跨所捕获的图像不一致的信息(例如,正在改变车道的交通工具、指示过于靠近交通工具200的交通工具的车道模型等)。因此,处理单元110可以基于一致和不一致信息的确定来选择从第一、第二和第三多个图像中的两者导出的信息。
导航响应可以包括例如转弯、车道偏移、加速度的变化等。处理单元110可以基于在步骤720处执行的分析和如上文结合图4所描述的技术来引起一个或多个导航响应。处理单元110也可以使用从速度和加速度模块406 的执行中导出的数据来引起一个或多个导航响应。在一些实施例中,处理单元 110可以基于交通工具200与在第一、第二和第三多个图像中的任一者内检测到的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可以同时发生、按顺序发生或以以上方式的任何组合来发生。
用于自主交通工具导航的稀疏道路模型
在一些实施例中,所公开的系统和方法可以使用稀疏地图进行自主交通工具导航。具体地,稀疏地图可以用于沿道路段的自主交通工具导航。例如,稀疏地图可以提供用于导航自主交通工具的足够信息,而无需存储和/ 或更新大量数据。如下文进一步详细地所讨论,自主交通工具可以使用稀疏地图以基于一条或多条存储的轨迹来导航一条或多条道路。
用于自主交通工具导航的稀疏地图
在一些实施例中,所公开的系统和方法可以生成用于自主交通工具导航的稀疏地图。例如,稀疏地图可以为导航提供足够的信息,而不需要过多的数据存储或数据传输速率。如下文进一步详细地所讨论,交通工具(其可以是自主交通工具)可以使用稀疏地图来导航一条或多条道路。例如,在一些实施例中,稀疏地图可以包括与道路以及沿着道路的潜在地标相关的数据,该数据可能足以用于交通工具导航,但其也呈现出小的数据占用。例如,与包括详细地图信息(诸如,沿道路收集的图像数据)的数字地图相比,下文详细描述的稀疏数据地图可以需要显著更少的存储空间和数据传输带宽。
例如,稀疏数据地图可以存储沿道路的优选交通工具路径的三维多项式表示,而不是存储道路段的详细表示。这些路径可能需要很少的数据存储空间。进一步地,在所描述的稀疏数据地图中,地标可以被标识并被包括在稀疏地图道路模型中以辅助导航。这些地标能以适于交通工具导航的任何间距来定位,但在一些情况下,此类地标不需要以高密度和短间距被标识并被包括在模型中。相反,在一些情况下,基于间隔开至少50米、至少100米、至少 500米、至少1公里或至少2公里的地标的导航会是可能的。如将在其他部分中更详细地所讨论,当交通工具沿道路行驶时,可以基于配备各种传感器和设备(诸如,图像捕获设备、全球定位系统传感器、运动传感器等)的交通工具收集或测量的数据来生成稀疏地图。在一些情况下,稀疏地图可以基于一个或多个交通工具沿特定道路多次驾驶期间收集的数据而被生成。使用一个或多个交通工具的多次驾驶生成稀疏地图可以称为对稀疏地图进行“众包”。
与所公开的实施例一致,自主交通工具系统可以使用稀疏地图进行导航。例如,所公开的系统和方法可以分发用于生成自主交通工具的道路导航模型的稀疏地图,并且可以使用稀疏地图和/或生成的道路导航模型沿道路段导航自主交通工具。符合本公开的稀疏地图可以包括一个或多个三维轮廓,这一个或多个三维轮廓可以表示自主交通工具在它们沿着相关联的道路段移动时可以穿过的预定轨迹。
符合本公开的稀疏地图还可以包括表示一个或多个道路特征的数据。此类道路特征可以包括识别的地标、道路特色概况以及在导航交通工具时有用的任何其他道路相关特征。符合本公开的稀疏地图可以基于稀疏地图中包括的相对少量的数据实现交通工具的自主导航。例如,与包括道路的详细表示 (诸如,道路边缘、道路曲率、与道路段相关联的图像或详细说明与道路段相关联的其他物理特征的数据)相反,稀疏地图的所公开的实施例可以需要相对较少的存储空间(并且当稀疏地图的部分被传输到交通工具时,需要相对较小的带宽)但是仍然可以充分地提供自主交通工具导航。下面进一步详细讨论的所公开的稀疏地图的小的数据占用在一些实施例中可以通过存储需要少量的数据但仍然能够实现自主导航的道路相关的元素的表示来实现。
例如,与存储道路的各个方面的详细表示不同,所公开的稀疏地图可以存储交通工具可以沿着道路遵循的一条或多条轨迹的多项式表示。因此,与存储(或必须传输)关于道路的物理性质的细节不同,使用所公开的稀疏地图,可以沿着特定道路段导航交通工具,在一些情况下,通过将其行驶路径与沿特定道路段的轨迹(例如,多项式样条)对齐,不必解释道路的物理方面。以此方式,可以主要基于存储的轨迹(例如,多项式样条)来导航交通工具,与涉及道路图像、道路参数、道路布局等的存储的方法相比,这可以需要少得多的存储空间。
除了所存储的沿道路段的轨迹的多项式表示外,所公开的稀疏地图还可以包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可以包括数字签名,该数字签名是从由沿道路段行驶的交通工具上机载的传感器 (例如,相机或其他传感器,例如悬架传感器)获得的数字图像(或数字信号) 导出的。数字签名可以相对于由传感器采集的信号具有减小的大小。在一些实施例中,可以创建数字签名以与分类器功能兼容,分类器功能被配置为从由传感器例如在后续的驾驶期间采集的信号中检测和标识道路特征。在一些实施例中,可以创建数字签名,使得数字签名具有尽可能小的占用,同时保持基于由在后续时间沿相同道路段行驶的交通工具上机载的相机捕获的道路特征的图像(或由传感器生成的数字信号,如果存储的签名不基于图像和/或包括其他数据)使道路特征与存储的签名相关或匹配的能力。
在一些实施例中,数据对象的大小可以进一步与道路特征的唯一性相关联。例如,对于可以由交通工具上机载的相机检测的道路特征,并且在交通工具上机载的相机系统耦合到能够将对应于该道路特征的图像数据区分为与特定类型的道路特征(例如,道路标志)相关联的分类器的情况下,并且在此类道路标志在该区域在局部是唯一(例如,附近没有相同的道路标志或相同类型的道路标志)的情况下,存储指示道路特征的类型及其位置的数据可能是足够的。
如下文将进一步详细地所讨论,道路特征(例如,沿道路段的地标)可以存储为小数据对象,该小数据对象能以相对较少的字节表示道路特征,同时提供足够的信息用于识别并使用此类特征进行导航。在一个示例中,道路标志可被标识为交通工具的导航可以基于的经识别的地标。道路标志的表示可以存储在稀疏地图中,以包括例如指示地标的类型(例如,停车标志)的一些字节的数据以及指示地标的位置(例如,坐标)的一些字节的数据。基于地标的此类数据光表示的导航(例如,使用足以基于地标定位、识别和导航的表示) 可以提供与稀疏地图相关联的期望水平的导航功能,而不显著增加与稀疏地图相关联的数据开销。这种地标(和其他道路特征)的精益表示可以利用此类交通工具上机载的所包括的传感器和处理器,这些传感器和处理器配置为检测、标识和/或分类某些道路特征。
例如,当标志或特定类型的标志在给定区域内在局部是唯一的(例如,当没有其他标志或没有相同类型的其他标志时)时,稀疏地图可以使用指示地标的类型(标志或特定类型的标志)的数据,以及在导航(例如,自主导航)期间,当自主交通工具上机载的相机捕获到包括标志(或特定类型标志) 的区域的图像时,处理器可以处理图像,检测标志(如果确实存在于图像中),将图像分类为标志(或特定类型的标志),并使图像的位置与存储在稀疏地图中的标志的位置相关。
生成稀疏地图
在一些实施例中,稀疏地图可以包括沿道路段延伸的道路表面特征的至少一条线表示以及与该道路段相关联的多个地标。在某些方面中,稀疏地图可以经由“众包”生成,例如,通过对在一个或多个交通工具穿过道路段时采集的多个图像的图像分析。
图8示出了一个或多个交通工具(例如,交通工具200(其可以是自主交通工具))可访问以提供自主交通工具导航的稀疏地图800。稀疏地图 800可以被存储在存储器中,该存储器诸如存储器140或150。此类存储器设备可以包括任何类型的非瞬态存储设备或计算机可读介质。例如,在一些实施例中,存储器140或150可以包括硬盘驱动器、紧凑盘、闪存、基于磁性的存储器设备、基于光学的存储器设备等在一些实施例中,稀疏地图800可以存储在数据库(例如,地图数据库160)中,该数据库可以存储在存储器140或150 或其他类型的存储设备中。
在一些实施例中,稀疏地图800可以存储在交通工具200上机载提供的存储设备或非瞬态计算机可读介质(例如,交通工具200上机载的导航系统中包括的存储设备)上。交通工具200上提供的处理器(例如,处理单元 110)可以访问存储在交通工具200上机载提供的存储设备或计算机可以读介质中的稀疏地图800,以便在交通工具穿过道路段时生成用于引导自主交通工具200的导航指令。
但是,稀疏地图800不需要相对于交通工具在本地存储。在一些实施例中,稀疏地图800可以被存储在远程服务器上提供的存储设备或计算机可读介质上,该远程服务器与交通工具200或与交通工具200相关联的设备通信。交通工具200上提供的处理器(例如,处理单元110)可以从远程服务器接收稀疏地图800中包括的数据,并可以执行用于引导交通工具200的自主驾驶的数据。在此类实施例中,远程服务器可以存储稀疏地图800的全部或仅其一部分。相应地,交通工具200和/或一个或多个附加交通工具上机载的存储设备或计算机可读介质可以存储稀疏地图800的(多个)剩余部分。
此外,在此类实施例中,可以使得稀疏地图800可供穿过各种道路段的多个交通工具(例如,数十个、数百个、数千个或数百万个交通工具等) 访问。还应当注意,稀疏地图800可以包括多个子地图。例如,在一些实施例中,稀疏地图800可包括可在导航交通工具时使用的数百个、数千个、数百万个或更多的子地图。此类子地图可以称为局部地图,并且沿道路行驶的交通工具可以访问与交通工具正在其中行驶的位置相关的任何数量的局部地图。稀疏地图800的局部地图部分可以与作为对稀疏地图800的数据库的索引的全球导航卫星系统(GNSS)密钥一起存储。因此,虽然可以在不依赖于主交通工具的GNSS位置、道路特征或地标的情况下执行用于在本系统中导航主交通工具的转向角的计算,但是此类GNSS信息可以用于检取相关的局部地图。
一般地,稀疏地图800可以基于在一个或多个交通工具沿道路行驶时从它们收集的数据而生成。例如,使用一个或多个交通工具上机载的传感器(例如,相机、速率表、GPS、加速度计等),可以记录一个或多个交通工具沿道路行驶的轨迹,并且可以由基于一个或多个交通工具行驶的所收集轨迹来确定用于沿道路进行后续行驶的交通工具的优选轨迹的多项式表示。类似地,由一个或多个交通工具收集的数据可以辅助标识沿特定道路的潜在地标。从通过的交通工具收集的数据也可以用于标识道路概况信息,诸如,道路宽度概况、道路粗糙度概况、交通线间距概况、道路状况等。使用收集的信息,稀疏地图800可以被生成和被分发(例如,用于本地存储或经由运行中(on-the-fly) 数据传输)用于在导航一个或多个自主交通工具时使用。然而,在一些实施例中,地图生成可以不在地图的初始生成时结束。如下文将更详细地所讨论,随着那些交通工具继续穿过稀疏地图800中包括的道路,稀疏地图800可以基于从交通工具收集的数据连续地或周期性地被更新。
稀疏地图800中记录的数据可以包括基于全球定位系统(GPS) 数据的位置信息。例如,位置信息可以被包括在稀疏地图800中,用于各种地图元素,包括例如地标位置、道路概况位置等。稀疏地图800中包括的地图元素的位置可以使用从穿过道路的交通工具收集的GPS数据来获得。例如,通过被标识的地标的交通工具可以使用与交通工具相关联的GPS位置信息、以及被标识的地标相对于交通工具的位置的确定(例如,基于从交通工具上机载的一个或多个相机收集的数据的图像分析)来确定被标识的地标的位置。随着附加的交通工具通过被标识的地标的位置时,可以重复被标识的地标(或稀疏地图800中包括的任何其他特征)的此类位置确定。附加位置确定中的与写或全部可以用于细化存储在稀疏地图800中的、相对于被标识的地标的位置信息。例如,在一些实施例中,相对于存储在稀疏地图800中的特定特征的多个位置测量可以一起求平均。然而,任何其他数学运算也可以用于基于地图元素的多个所确定的位置来细化地图元素的所存储的位置。
所公开的实施例的稀疏地图可以使用相对少量的所存储的数据实现交通工具的自主导航。在一些实施例中,稀疏地图800可以具有小于每公里道路2MB、小于每公里道路1MB、小于每公里道路500kB或小于每公里道路100kB的数据密度(例如,包括表示目标轨迹、地标和任何其他存储的道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可以小于每公里道路10kB,或者甚至小于每公里道路2kB(例如,每公里1.6kB),或者不大于每公里道路10kB,或者不大于每公里道路20kB。在一些实施例中,美国的大多数(如果不是全部的话)道路可以使用具有总共4GB或更少的数据的稀疏地图来自主导航。这些数据密度值可以表示整个稀疏地图800上、稀疏地图800内的局部地图上和/或稀疏地图800内的特定道路段上的平均值。
如所提到,稀疏地图800可以包括多条目标轨迹810的表示,用于沿道路段引导自主驾驶或导航。此类目标轨迹可以存储为三维样条。例如,存储在稀疏地图800中的目标轨迹可以基于沿交通工具特定道路段的先前穿过的两个或更多个重构的轨迹来确定。道路段可以与单条目标轨迹或多条目标轨迹相关联。例如,在双车道道路上,可以存储第一目标轨迹以表示沿道路在第一方向上的预期行驶路径,并且可以存储第二目标轨迹以表示沿道路在另一方向(例如,与第一方向相反)上的预期行驶路径。可以存储关于特定道路段的附加目标轨迹。例如,在多车道道路上,可以存储一条或多条目标轨迹,这一条或多条目标轨迹表示与多车道道路相关联的一个或多个车道中的交通工具的预期行驶路径。在一些实施例中,多车道道路的每个车道可以与其自身的目标轨迹相关联。在其他实施例中,可能有比存在于多车道道路上的车道更少的所存储的目标轨迹。在此类情况下,对多车道道路导航的交通工具可以通过考虑从目标轨迹针对其被存储的车道的车道偏移的量来使用被存储的目标轨迹中的任何一个以引导其导航(例如,如果交通工具正在三车道公路的最左侧车道上行驶,并且仅针对公路的中间车道存储目标轨迹,则交通工具可以通过在生成导航指令时考虑中间车道与最左侧车道之间的车道偏移的量来使用中间车道的目标轨迹进行导航)。
在一些实施例中,目标轨迹可以表示在交通工具行驶时该交通工具应当采用的理想路径。例如,目标轨迹可以位于行驶车道的近似中心处。在其他情况下,目标轨迹可位于相对于道路段的其他位置。例如,目标轨迹可以近似地与道路的中心、道路的边缘或车道的边缘等重合。在此类情况下,基于目标轨迹的导航可以包括相对于目标轨迹的位置要保持的所确定的偏移量。此外,在一些实施例中,相对于目标轨迹的位置要保持的所确定的偏移量可以基于交通工具的类型而不同(例如,包括两个车轴的乘用交通工具沿目标轨迹的至少一部分可具有与包括多于两个的车轴的卡车不同的偏移量)。
稀疏地图800还可以包括与特定道路段、局部地图等相关联的多个预定地标820相关的数据。如下文更详细地所讨论,这些地标可以在自主交通工具的导航中被使用。例如,在一些实施例中,地标可以用于确定交通工具相对于被存储的目标轨迹的当前位置。利用该位置信息,自主交通工具可能能够调整航向以匹配被确定的位置处的目标轨迹的方向。
多个地标820能以任何合适的间隔被标识和存储在稀疏地图800中。在一些实施例中,地标能以相对高的密度(例如,每隔几米或更多)被存储。然而,在一些实施例中,可以采用显著更大的地标间距值。例如,在稀疏地图800中,所标识(或所识别)的地标可以间隔开10米、20米、50米、100 米、1公里或2公里。在一些情况下,被标识的地标可位于间隔开甚至大于2 公里的距离处。
在地标之间,以及因此在交通工具位置相对于目标轨迹的多次确定之间,交通工具可以基于航位推算进行导航,在该航位推算中,交通工具使用传感器确定其自我运动并估计其相对于目标轨迹的位置。由于误差在通过航位推算进行的导航期间会累积,因此随着时间的推移,相对于目标轨迹的位置确定可能会变得越来越不准确。交通工具可以使用稀疏地图800中出现的地标 (及其已知位置)来消除位置确定中由航位推算引起的误差。以这种方式,被包括在稀疏地图800中的所标识的地标可以用作导航锚,可通过该导航锚确定交通工具相对于目标轨迹的准确位置。由于一定量的误差在位置定位中是可以接受的,因此被识别的地标不必总是可用于自主交通工具。相反,如上文所提到,甚至基于10米、20米、50米、100米、500米、1公里、2公里或更大的地标间距,合适的导航也是可能的。在一些实施例中,每1km道路1个被标识的地标的密度可能足以将纵向位置确定准确度维持在1m以内。因此,并非沿道路段出现的每个潜在地标都需要存储在稀疏地图800中。
此外,在一些实施例中,车道标记可以用于在地标间隔期间对交通工具进行定位。通过在地标间距期间使用车道标记,可以使在通过航位推算进行的导航期间的累积最小化。
除了目标轨迹和所标识的地标,稀疏地图800还可以包括与各种其他道路特征相关的信息。例如,图9A示出了可以存储在稀疏地图800中的沿着特定道路段的曲线的表示。在一些实施例中,道路的单个车道可以通过道路左侧和右侧的三维多项式描述来建模。图9A中示出了表示单个车道的左侧和右侧的此类多项式。不管道路可能具有多少个车道,该道路都可以按照类似于图9A所示的方式的方式、使用多项式来表示。例如,多车道道路的左侧和右侧可以由类似于图9A中所示的多项式的多项式来表示,并且被包括在多车道道路上的中间车道标记(例如,表示车道边界的虚线标记、表示在不同方向上行驶的车道之间边界的黄色实线等)也可以使用诸如图9A中所示的多项式的多项式来表示。
如图9A所示,车道900可以使用多项式(例如,一阶、二阶、三阶或任何合适阶的多项式)表示。为了说明,车道900被示为二维车道,多项式被示为二维多项式。如图9A所描绘,车道900包括左侧910和右侧920。在一些实施例中,可以使用多余一个的多项式来表示道路或车道边界的每一侧的位置。例如,左侧910和右侧920中的每一侧可以由任何合适长度的多个多项式表示。在一些情况下,多项式可具有约100m的长度,但也可以使用大于或小于100m的其他长度。附加地,多项式可以彼此重叠,以促进在主交通工具沿道路行驶时基于后续遇到的多项式进行导航时的无缝过渡。例如,左侧910 和右侧920中的每一侧都可以由多个三阶多项式表示,这些三阶多项式被分成长度大约100(第一预定范围的示例)、并且彼此重叠大约50米的段。表示左侧910和右侧920的多项式可以具有相同的阶数,或可以不具有相同的阶数。例如,在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,而一些可以是四阶多项式。
在图9A所示的示例中,车道900的左侧910由两组三阶多项式表示。第一组包括多项式段911、912和913。第二组包括多项式段914、915和 916。这两个组虽然基本上彼此平行,但遵循它们在道路的相应侧的位置。多项式段911、912、913、914、915和916具有大约100米的长度,并且与系列中的相邻段重叠大约50米。然而,如之前所提到,也可以使用不同长度和不同重叠量的多项式。例如,多项式可以具有500米、1公里或更长的长度,并且重叠量可以从0变化到50米、从50米变化到100米或变化到大于100米。附加地,虽然图9A被示出为表示在2D空间(例如,在纸面上)中延伸的多项式,但是应当理解,这些多项式可以表示在三维(例如,包括高度分量)中延伸的曲线,以表示除了X-Y曲率之外的道路段中的标高变化。在图9A所示的示例中,车道900的右侧920进一步由具有多项式段921、922和923的第一组和具有多项式段924、925和926的第二组表示。
回到稀疏地图800的目标轨迹,图9B示出了表示交通工具沿特定道路段行驶的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定道路段行驶的X-Y路径,还表示当沿该道路段行驶时该主交通工具将经历的标高变化。因此,稀疏地图800中的每个条目标轨迹可以由一个或多个三维多项式表示,如图9B中所示的三维多项式950。稀疏地图800可以包括多条轨迹(例如,数百万或数十亿或更多,以表示交通工具沿世界各地道路的各种道路段的轨迹)。在一些实施例中,每条目标轨迹可以对应于连接三维多项式段的样条。
关于存储在稀疏地图800中的多项式曲线的数据占用,在一些实施例中,每个三次多项式可以由四个参数表示,每个参数需要四个字节的数据。使用对于每100m需要大约192字节的数据的三次多项式可以获得合适的表示。对于大约100km/hr行驶的主交通工具,这可转化为数据使用/传输要求方面的大致200kB/小时。
稀疏地图800可以使用几何描述符和元数据的组合来描述车道网络。几何体可以通过如上文所描述的多项式或样条来描述。元数据可以描述车道数、特殊特性(诸如,车共用车道)以及可能的其他稀疏标签。此类指示符的总占用可以忽略不计。
相应地,根据本发明的实施例的稀疏地图可以包括沿道路段延伸的道路表面特征的至少一个线表示,每个线表示代表沿道路段的、基本上与道路表面特征对应的路径。在一些实施例中,如上文所讨论,道路表面特征的至少一个线表示可以包括样条、多项式表示或曲线。此外,在一些实施例中,道路表面特征可以包括道路边缘或车道标记中的至少一个。此外,如下文关于“众包”所讨论,可以通过对在一个或多个交通工具穿过道路段时采集的多个图像的图像分析来标识道路表面特征。
如之前所提到,稀疏地图800可以包括与道路段相关联的多个预定地标。与存储地标的实际图像和依赖例如基于捕获的图像和存储的图像的图像识别分析不同,稀疏地图800中的每个地标可以使用比存储的实际图像将需求的更少的数据来表示和识别。表示地标的数据仍然可以包括用于描述或标识沿道路的地标的足够信息。存储描述地标特性的数据而不是地标的实际图像可以减小稀疏地图800的大小。
图10示出了可以在稀疏地图800中表示的地标类型的示例。地标可以包括沿道路段的任何可见和可标识对象。地标可以被选择成使得它们是固定的,并且关于它们的位置和/或内容不经常改变。稀疏地图800中包括的地标在确定交通工具200在穿过特定道路段时该交通工具相对于目标轨迹的位置时可以是有用的。地标的示例可包括交通标志、方向标志、一般标志(例如,矩形标志)、路边固定装置(例如,灯杆、反光镜等)和任何其他合适的类别。在一些实施例中,道路上的车道标记也可以作为地标被包括在稀疏地图800中。
图10所示的地标的示例包括交通标志、方向标志、路边固定装置和一般标志。交通标志可以包括例如限速标志(例如,限速标志1000)、让行标志(例如,让行标志1005)、路线号标志(例如,路线号标志1010)、交通灯标志(例如,交通灯标志1015)、停车标志(例如,停车标志1020)。方向标志可以包括包含指示到不同地方的一个或多个方向的一个或多个箭头的标志。例如,方向标志可以包括:公路标志1025,该公路标志1025具有用于将交通工具引导至不同道路或地点的箭头;出口标志1030,该出口标志1030 具有引导交通工具离开道路的箭头,等等。相应地,多个地标中的至少一个可以包括道路标志。
一般标志可以与交通无关。例如,一般标志可以包括用于广告的广告牌,或与两个国家、州、县、市或城镇之间的边界相邻的欢迎牌。图10示出了一般标志1040(乔氏餐厅(Joe’s Restaurant)”)。尽管一般标志1040 可以具有矩形形状,如图10所示,但一般标志1040可以具有其他形状,诸如正方形、圆形、三角形等。
地标还可包括路边固定装置。路边固定装置可以是不是标志的对象,并且也可以与交通或方向无关。例如,路边固定装置可以包括灯杆(例如,灯杆1035)、电线杆、交通灯杆等。
地标也可以包括可以被专门设计成用于在自主交通工具导航系统中使用的信标。例如,此类信标可以包括以预定间隔放置的独立式结构,以辅助导航主交通工具。此类信标也可以包括添加到现有道路标志(例如,图标、徽章、条形码等)上的视觉/图形信息,这些信息可以由沿道路段行驶的交通工具标识或识别。此类信标还可以包括电子组件。在此类实施例中,电子信标(例如,RFID标签等)可以用于将非视觉信息传送到主交通工具。此类信息可以包括例如主交通工具在确定其沿目标轨迹的位置时可以使用的地标标识和/或地标位置信息。
在一些实施例中,稀疏地图800中包括的地标可以由预定大小的数据对象表示。表示地标的数据可以包括用于标识特定地标的任何合适的参数。例如,在一些实施例中,存储在稀疏地图800中的地标可以包括诸如以下参数:地标的物理大小(例如,用于支持基于已知大小/尺度估计到地标的距离)、到先前地标的距离、横向偏移、高度、类型代码(例如,地标类型——什么类型的方向标志、交通标志等)、GPS坐标(例如,用于支持全球定位),以及任何其他合适的参数。每个参数都可以与数据大小相关联。例如,可以使用8 字节的数据存储地标大小。可以使用12字节的数据指定到先前地标的距离、横向偏移和高度。与地标相关联的类型代码(诸如,方向标志或交通标志)可能需要大约2字节的数据。对于一般标志,可以使用50字节的数据存储来存储实现对一般标志的标识的图像签名。地标GPS位置可以与16字节的数据存储相关联。每个参数的这些数据大小仅为示例,并且其他数据大小也可以被使用。
以这种方式在稀疏地图800中表示地标可以提供用于在数据库中高效地表示地标的精益解决方案。在一些实施例中,标志可被称为语义标志和非语义标志。语义标志可以包括针对其具有标准化含义的任何类别的标志(例如,限速标志、警告标志、方向标志等)。非语义标志可以包括与标准化含义不相关联的任何标志(例如,一般广告标志、标识商业机构的标志等)。例如,每个非标准语义标志可以用38字节的数据表示(例如,8字节用于大小;12字节用于到上一个地标的距离、横向偏移和高度;2字节用于类型代码;并且 16字节用于GPS坐标)。稀疏地图800可以使用标签系统来表示地标类型。在一些情况下,每个交通标志或方向标志可以与其自身的标签相关联,该标签可以作为地标标识的一部分被存储在数据库中。例如,数据库可以包括量级为 1000个的不同标签来表示各种交通标志,以及量级为大约10000个的不同标签来表示方向标志。当然,可以使用任何合适数量的标签,并且可以根据需要创建附加的标签。在一些实施例中,通用标志可以使用小于大约100字节(例如,大约86字节,包括用于大小的8字节;用于到先前地标的距离距离、横向偏移和高度的12字节;用于图像签名的50字节;以及用于GPS坐标的16字节) 来表示。
因此,对于不需要图像签名的语义标志,数据密度对稀疏地图800的影响,即使在大约每50米1个地标的相对较高的地标密度的情况下,也可以处于大约每公里760字节的量级(例如,每公里20个地标x每地标38字节=760字节)。甚至对于包括图像签名分量的通用标志,数据密度影响大约为每公里1.72kB(例如,每公里20个地标x每个地标86字节=1720字节)。对于语义道路标志,这相当于针对100km/hr行驶的交通工具的大约每小时76kB 的数据使用。对于通用标志,这相当于针对100km/hr行驶的交通工具的大约每小时170kB。
在一些实施例中,总体上矩形的对象(诸如,矩形标志)可以在稀疏地图800中由不超过100字节的数据表示。稀疏地图800中的总体上矩形对象(例如,一般标志1040)的表示可以包括与总体上矩形的对象相关联的浓缩的图像签名(例如,浓缩的图像签名1045)。这种浓缩的图像签名可以例如用于辅助将通用标志标识为例如所识别的地标。此类浓缩的图像签名(例如,从表示对象的实际图像数据导出的图像信息)可以避免需要存储对象的实际图像或者需要对实际图像执行的比较性图像分析以识别地标。
参考图10,稀疏地图800可以包括或存储与一般标志1040相关联的浓缩的图像签名1045,而不是一般标志1040的实际图像。例如,在图像捕获设备(例如,图像捕获设备122、124或126)捕获一般标志1040的图像后,处理器(例如,图像处理器190或可以处理在主交通工具上的图像或相对于主交通工具远程定位的图像的任何其他处理器)可以执行图像分析以提取/创建浓缩的图像签名1045,该浓缩的图像签名1045包括与一般标志1040相关联的唯一签名或图案。在一个实施例中,浓缩的图像签名1045可以包括形状、颜色图案、亮度图案或可以从一般标志1040的图像中提取以用于描述一般标志 1040的任何其他特征。
例如,在图10中,浓缩的图像签名1045中显示的圆、三角形和星形可以表示不同颜色的区域。由圆、三角形和星形表示的图案可以存储在稀疏地图800中,例如,存储在被指定为包括图像签名的50字节内。值得注意的是,圆、三角形和星形不一定旨在指示此类形状作为图像签名的一部分被存储。相反,这些形状旨在在概念上表示具有可辨别颜色差异的可识别区域、纹理区域、图形形状或可与通用标志相关联的特性的其他变化。此类浓缩的图像签名可以用于以一般标志的形式标识地标。例如,浓缩的图像签名可以用于基于所存储的浓缩的图像签名与例如使用自主交通工具上机载的相机捕获的图像数据的比较来执行相同-不相同(same-not-same)分析。
相应地,多个地标可以通过对当一个或多个交通工具穿过道路段时采集的多个图像进行的图像分析来标识。如下文关于“众包”所解释,在一些实施例中,用于标识多个地标的图像分析可以包括:当在其中地标确实出现的图像相比在其中地标不出现的图像的比率超过阈值时,接受潜在地标。此外,在一些实施例中,用于标识多个地标的图像分析可以包括:当在其中地标不出现的图像相比在其中地标确实出现的图像的比率超过阈值时,拒绝潜在地标。
返回主交通工具可用于导航特定道路段的目标轨迹,图11A示出了在构建或维护稀疏地图800的过程期间捕获的多项式表示轨迹。被包括在稀疏地图800中的目标轨迹的多项式表示可以基于交通工具沿相同道路段的先前穿过的两个或更多个重建的轨迹来确定。在一些实施例中,稀疏地图800中包括的目标轨迹的多项式表示可以是交通工具沿相同道路段的先前穿过的两个或更多个重构的轨迹的聚合。在一些实施例中,稀疏地图800中包括的目标轨迹的多项式表示可以是交通工具沿相同道路段的先前穿过的两个或更多个重构的轨迹的平均。其他数学运算也可以用于基于从沿道路段穿过的交通工具收集的重构的轨迹来沿道路路径构造目标轨迹。
如图11A所示,道路段1100可以在不同时间由数个交通工具200 行驶。每辆交通工具200可以收集与交通工具沿道路段所采用的路径有关的数据。由特定交通工具行驶的路径可以基于相机数据、加速度计信息、速率传感器信息和/或GPS信息以及其他潜在源来确定。此类数据可以用于重构交通工具沿道路段行驶的轨迹,并且基于这些重构的轨迹,可以确定针对特定道路段的目标轨迹(或多个目标轨迹)。随着交通工具沿道路段行驶,此类目标轨迹可以表示主交通工具的优选路径(例如,由自主导航系统引导)。
在图11A所示的示例中,可以基于在第一时间段(例如,第1天) 从穿过道路段1100的第一交通工具接收的数据确定第一重构的轨迹1101,可以在第二时间段(例如,第2天)从穿过道路段1100的第二交通工具获得第二重构的轨迹1102,并且可以从在第三时间段(例如,第3天)穿过道路段 1100的第三交通工具获得第三重构的轨迹1103。每条轨迹1101、1102和1103 可以由诸如三维多项式之类的多项式表示。应当注意,在一些实施例中,重构的轨迹中的任一个可以被机载地装配在穿过道路段1100的交通工具上。
附加地或替代地,此类重构的轨迹可以在服务器侧基于从穿过道路段1100的交通工具接收到的信息来确定。例如,在一些实施例中,交通工具200可以向一个或多个服务器传送与其沿道路段1100的运动相关的数据(例如,转向角、航向、时间、位置、速率,感测到的道路几何形状和/或感测到的地标,等等)。服务器可以基于接收到的数据重构用于交通工具200的轨迹。服务器也可以生成用于引导自主交通工具导航的目标轨迹,该自主交通工具将在稍后基于第一轨迹1101、第二轨迹1102和第三轨迹1103沿相同道路段1100 行驶。虽然目标轨迹可以与道路段的单个先前穿过相关联,但是在一些实施例中,稀疏地图800中包括的每个目标轨迹可以基于穿过相同道路段的交通工具的两个或更多个重构的轨迹来确定。在图11A中,目标轨迹由1110表示。在一些实施例中,可以基于第一轨迹1101、第二轨迹1102和第三轨迹1103的平均值来生成目标轨迹1110。在一些实施例中,稀疏地图800中包括的目标轨迹 1110可以是两个或更多个重构的轨迹的聚合(例如,加权组合)。
图11B和图11C进一步示出与存在于地理区域1111内的道路段相关联的目标轨迹的概念。如图11B所示,地理区域1111内的第一道路段1120 可以包括多车道道路,其包括指定用于交通工具在第一方向上行驶的两个车道 1122和指定用于交通工具在与第一方向相反的第二方向上行驶的两个附加车道1124。车道1122和车道1124可以由双黄线1123分隔。地理区域1111也可以包括与道路段1120相交的分支道路段1130。道路段1130可以包括双车道道路,每个车道被指定用于不同的行驶方向。地理区域1111也可以包括其他道路特征,诸如,停车线1132、停车标志1134、限速标志1136和危险标志1138。
如图11C所示,稀疏地图800可以包括局部地图1140,该局部地图1140包括用于辅助地理区域1111内的交通工具的自主导航的道路模型。例如,局部地图1140可以包括用于与地理区域1111内的道路段1120和/或1130 相关联的一个或个个车道的目标轨迹。例如,局部地图1140可以包括自主交通工具在穿越车道1122时可以访问或依赖的目标轨迹1141和/或1142。类似地,局部地图1140可以包括自主交通工具在穿越车道1124时可以访问或依赖的目标轨迹1143和/或1144。进一步地,局部地图1140可以包括自主交通工具在穿越道路段1130时可以访问或依赖的目标轨迹1145和/或1146。目标轨迹1147表示自主交通工具在从车道1120(具体地,相对于与车道1120中的最右侧车道相关联的目标轨迹1141)过渡到道路段1130(具体地,相对于与道路段1130第一侧相关联的目标轨迹1145)时应当遵循的优选路径。类似地,目标轨迹1148表示自主交通工具在从道路段1130(具体地,相对于目标轨迹1146)过渡到道路段1124的部分(具体地,如图所示,相对于与车道1124中的左车道相关联的目标轨迹1143)时应当遵循的优选路径。
稀疏地图800也可以包括与地理区域1111相关联的其他道路相关特征的表示。例如,稀疏地图800也可以包括在地理区域1111中标识的一个或多个地标的表示。此类地标可以包括与停车线1132相关联的第一地标1150、与停车标志1134相关联的第二地标1152、与限速标志1154相关联的第三个地标、以及与危险标志1138相关联的第四个地标1156。例如,此类地标可以用于辅助自主交通工具确定其相对于所示目标轨迹中的任一目标轨迹的当前位置,使得交通工具可以调整其航向以匹配所确定的位置处的目标轨迹的方向。
在一些实施例中,稀疏地图800还可以包括道路特色概况。此类道路特色概况可以与同道路相关联的至少一个参数中的任何可辨别/可测量变化相关联。例如,在一些情况下,此类概况可与道路表面信息的变化相关联,道路表面信息的变化诸如,特定道路段的表面粗糙度的变化、特定道路段上的道路宽度的变化、沿特定道路段绘制的虚线之间的距离的变化、沿特定道路段的道路曲率的变化,等等。图11D示出了道路特色概况1160的示例。虽然概况1160可以表示上文提及的参数中的任何参数或其他参数,但在一个示例中,概况1160可以表示如例如通过监测一个或多个传感器获得的道路表面粗糙度的测量,该一个或多个传感器提供指示当交通工具行驶特定道路段时悬架位移量的输出。
替代地或同时地,概况1160可以表示如基于经由在特定道路段行驶的交通工具上机载的相机获得的图像数据而确定的道路宽度的变化。例如,在确定自主交通工具相对于特定目标轨迹的特定位置时,此类概况可能是有用的。也就是说,当自主交通工具穿过道路段时,它可以测量与关联于该道路段的一个或多个参数相关联的概况。如果测量的概况可以与绘制关于沿道路段的位置的参数变化的预定概况相关/匹配,则可以使用测量的概况和预定概况(例如,通过叠加测量的概况和预定概况的相应部分)以确定沿道路段的当前位置,并由此确定相对于用于道路段的目标轨迹的当前位置。
在一些实施例中,稀疏地图800可以包括基于与自主交通工具的用户、环境状况和/或与驾驶相关的其他参数相关联的不同特性的不同轨迹。例如,在一些实施例中,可以基于不同的用户偏好和/或概况生成不同的轨迹。包括此类不同轨迹的稀疏地图800可以被提供给不同用户的不同自主交通工具。例如,一些用户可能偏好避开收费公路,而其他用户可能偏好选择最短或最快的路线,而无论该路线上是否有收费公路。所公开的系统可以基于此类不同的用户偏好或概况生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能偏好在快速移动车道上行驶,而其他用户可能偏好始终在中心车道中维持位置。
基于不同的环境状况,诸如白天和黑夜、雪、雨、雾等,不同的轨迹可以被生成并且被包括在稀疏地图800中。可以向在不同的环境状况下驾驶的自主交通工具提供基于此类不同的环境状况而生成的稀疏地图800。在一些实施例中,在自主交通工具上提供的相机可以检测环境状况,并且可以将此类信息往回提供给生成和提供稀疏地图的服务器。例如,服务器可以生成或更新已经生成的稀疏地图800,以包括对于在检测到的环境状况下的自主驾驶可能更适合或更安全的轨迹。基于环境状况的稀疏地图800的更新可以在自主交通工具正沿道路行驶时被动态地执行。
与驾驶相关的其他不同参数也可以被用作用来生成不同的稀疏地图并将其提供给不同的自主交通工具的基础。例如,当自主交通工具正以高速率行驶时,转弯可能会更困难。与特定车道而非道路相关联的轨迹可以被包括在稀疏地图800中,使得当交通工具遵循特定轨迹时,该自主交通工具可以维持在特定车道内。当自主交通工具上机载的相机捕获的图像指示交通工具已漂移到车道外(例如,跨越车道标记)时,可以在交通工具内触发动作,以根据特定轨迹将交通工具带回所指定的车道。
众包稀疏地图
在一些实施例中,所公开的系统和方法可以生成用于自主交通工具导航的稀疏地图。例如,所公开的系统和方法可以使用众包数据来生成稀疏,一个或多个自主交通工具可以使用该稀疏来沿道路系统导航。如本文中所使用,“众包”意指从在不同时间在道路段上行驶的各种交通工具(例如,自主交通工具)接收数据,并且此类数据用于生成和/或更新道路模型。该模型可以进而传送至交通工具或随后沿道路段行驶的其他交通工具,以辅助自主交通工具导航。道路模型可以包括多个目标轨迹,该多个目标轨迹表示自主交通工具在它们穿过道路段时应当遵循的优选轨迹。目标轨迹可以与从穿过道路段的交通工具收集的重构的实际轨迹相同,该重构的实际轨迹可以从交通工具传送到服务器。在一些实施例中,目标轨迹可与一个或多个交通工具先前在穿过道路段时采用的实际轨迹不同。可以基于实际轨迹(例如,通过求平均或任何其他适合的运算)生成目标轨迹。
交通工具可以上传到服务器的交通工具轨迹数据可以与交通工具的实际重构的轨迹相对应,或者可以与推荐轨迹相对应,该推荐轨迹可以基于交通工具的实际重构的轨迹或与交通工具的实际重构的轨迹相关,但可以与实际重构的轨迹不同。例如,交通工具可以修改其实际重构的轨迹,并向服务器提交(例如,推荐)经修改的实际轨迹。道路模型可以使用推荐的、经修改的轨迹作为用于其他交通工具的自主导航的目标轨迹。
除轨迹信息外,在构建稀疏数据地图800中潜在使用的其他信息可以包括与潜在地标候选相关的信息。例如,通过信息的众包,所公开的系统和方法可以标识环境中的潜在地标并细化地标位置。地标可以被自主交通工具的导航系统使用以确定和/或调整交通工具沿目标轨迹的位置。
交通工具在该交通工具沿道路行驶时可生成的重构的轨迹可以通过任何合适的方法获得。在一些实施例中,可以通过使用例如自我运动估计(例如,相机以及因此交通工具的主体的三维平移和三维旋转)将交通工具的运动段缝合在一起来形成重构的轨迹。旋转和平移估计可以基于对由一个或多个图像捕获设备捕获的图像连同来自其他传感器或设备(诸如,惯性传感器和速率传感器)的信息的分析来确定。例如,惯性传感器可以包括加速度计或配置用于测量交通工具主体的平移和/或旋转的变化的其他合适的传感器。交通工具可包括测量交通工具的速率的速率传感器。
在一些实施例中,可以基于被捕获的图像的光流分析来估计相机 (以及因此交通工具主体)的自我运动。图像序列的光流分析标识来自图像序列的像素的运动,并基于所标识的运动来确定交通工具的运动。自我运动可以随时间推移并沿道路段被整合,以重构与交通工具已遵循的道路段相关联的轨迹。
由不同交通工具在不同时间在沿道路段的多次驾驶中收集的数据 (例如,重构的轨迹)可以用于构造稀疏数据地图800中包括的道路模型(例如,包括目标轨迹等)。还可以对由不同交通工具在不同时间沿道路段的多次驾驶中收集的数据进行平均,以提高模型的准确性。在一些实施例中,关于道路几何形状和/或地标的数据可以从在不同时间行驶通过共同的道路段的多个交通工具接收。从不同交通工具接收的此类数据可以被组合以生成道路模型和 /或更新道路模型。
沿道路段的重构的轨迹(以及目标轨迹)的几何形状可以由三维空间中的曲线表示,该曲线可以是连接三维多项式的样条。重构的轨迹曲线可以根据对由安装在交通工具上的相机捕获的视频流或多个图像的分析来确定。在一些实施例中,在每个帧或图像中标识在交通工具的当前位置前方几米处的位置。该位置是期望交通工具在预定时间段内行驶到的位置。该操作可以逐帧地重复,并且同时,交通工具可以计算相机的自我运动(旋转和平移)。在每个帧或图像处,由交通工具在附接到相机的参考系中生成针对所需路径的短程模型。短程模型可以被缝合在一起,以获得某个坐标系中的道路的三维模型,该坐标系可以是任意或预定的坐标系。然后,可以通过样条拟合道路的三维模型,该样条可以包括或连接一个或多个合适阶的多项式。
为了在每一帧处总结出短程道路模型,可以使用一个或多个检测模块。例如,可以使用自底向上的车道检测模块。当在道路上绘制的车道标记时,自底向上的车道检测模块可以是有用的。该模块可以在图像中寻找边缘,并将它们组装在一起以形成车道标记。第二模块可以与自底向上的车道检测模块一起使用。第二模块是端到端的深度神经网络,可以对其进行训练以从输入图像预测正确的短程路径。在这两个模块中,可以在图像坐标系中检测道路模型,并将其变换到可以虚拟地附接到相机的三维空间。
尽管重构的轨迹建模方法可能会由于长时间段的自我运动的综合而引入误差的积累(该误差可包括噪声分量),但此类误差可能无关紧要,因为生成的模型可以为在局部尺度上的导航提供足够的准确度。此外,通过使用诸如卫星图像或大地测量的外部信息源来消除综合误差是可能的。例如,所公开的系统和方法可以使用GNSS接收器来消除累积误差。然而,GNSS定位信号可能并不总是可用的和准确的。所公开的系统和方法可以实现弱依赖于GNSS定位的可用性和准确度的操纵应用。在此类系统中,GNSS信号的使用可能被限制。例如,在一些实施例中,所公开的系统可以将GNSS信号仅使用于数据库索引目的。
在一些实施例中,针对自主交通工具导航操纵应用可能相关的范围尺度(例如,局部尺度)可以是50米、100米、200米、300米等的量级。此类距离可以被使用,因为几何道路模型主要被用于两个目的:规划前方轨迹、以及在道路模型上定位交通工具。在一些实施例中,当控制算法根据位于前方 1.3秒(或任何其他时间,诸如1.5秒、1.7秒、2秒等)的目标点操纵交通工具时,规划任务可以对前方40米(或前方任何其他合适的距离,诸如20米、 30米、50米)的典型范围使用模型。根据另一节中更详细地描述的称为“尾部对齐”的方法,定位任务对车辆后方60米(或任何其他合适的距离,诸如 50米、100米、150米等)的典型范围使用道路模型。所公开的系统和方法可以生成对特定范围(诸如,100米)具有足够的准确度的几何模型,以使得规划的轨迹将不从车道中心偏离超过例如30cm。
如上文所解释,可以通过检测短程区段并将其缝合在一起来构造三维道路模型。可以通过使用由相机捕获的视频和/或图像、来自惯性传感器的、反映交通工具运动的数据以及主交通工具速度信号计算六度自我运动模型来实现缝合。累积误差对某个局部范围尺度(诸如,100米的量级)可以足够小。所有这些都可以在对特定道路段的单次驾驶中完成。
在一些实施例中,可以使用多次驾驶来对所得的模型求平均,并进一步提高其准确度。相同的汽车可多次行驶同一路线,或者多辆汽车可将其收集的模型数据发送到中央服务器。在任何情况下,可以执行匹配过程以标识重叠的模型并实现平均以生成目标轨迹。一旦满足收敛准则,构造的模型(例如,包括目标轨迹)就可以被使用于操纵。后续驾驶可以被用于进一步的模型改进,以适应基础设施变化。
如果多辆汽车被连接到中央服务器,则在多辆汽车之间共享驾驶体验(诸如,感测的数据)变得可行。每个交通工具客户可以存储环球道路模型的部分副本,该副本针对其当前位置可以是相关的。交通工具与服务器之间的双向更新过程可以由交通工具和服务器执行。上文所讨论的小占用概念使所公开的系统和方法能够使用非常小的带宽来执行双向更新。
还可以确定与潜在地标相关的信息,并将其转发给中央服务器。例如,所公开的系统和方法可以基于包括该地标的一个或多个图像来确定潜在地标的一个或多个物理属性。物理属性可以包括地标的物理大小(例如,高度、宽度)、从交通工具到地标的距离、地标到先前地标的距离、地标的横向位置 (例如,地标相对于行驶车道的位置)、地标的GPS坐标、地标的类型,地标上的文本的标识等。例如,交通工具可分析由相机捕获的一个或多个图像,以检测潜在地标,诸如,限速标志。
交通工具可以基于对一个或多个图像的分析来确定从交通工具到地标的距离。在一些实施例中,可以基于使用合适的图像分析方法(诸如缩放方法和/或光流方法)对地标的图像的分析来确定距离。在一些实施例中,所公开的系统和方法可以被配置为确定潜在地标的类型或分类。在交通工具确定某个潜在地标对应于存储在稀疏地图中的预定的类型或分类的情况下,交通工具向服务器传达地标的类型或分类的指示以及其位置可以是足够的。服务器可以存储此类指示。稍后,其他交通工具可捕获该地标的图像,处理该图像(例如,使用分类器),并将来自处理该图像的结果与存储在服务器中的关于地标的类型的指示进行比较。可以存在各种类型的地标,并且不同类型的地标可与要上传到服务器并存储在服务器中的不同类型的数据相关联,交通工具上机载的不同处理可检测地标,并将关于地标的信息传达给服务器,并且交通工具上机载的系统可以从服务器接收地标数据,并使用地标数据以在自主导航中标识地标。
在一些实施例中,在道路段上行驶的多个自主交通工具可以与服务器通信。交通工具(或客户端)可以在任意坐标系中生成描述其驾驶的曲线 (例如,通过自我运动整合)交通工具可以检测地标,并在同一帧中定位这些地标。交通工具可以将曲线和地标上传至服务器。服务器可以从交通工具收集针对多次驾驶的数据,并生成统一的道路模型。例如,如下文关于图19所讨论,服务器可以使用上传的曲线和地标来生成具有统一道路模型的稀疏地图。
服务器还可以将模型分发给客户端(例如,交通工具)。例如,服务器可将稀疏地图分发给一个或多个交通工具。当从交通工具接收新数据时,服务器可连续地或周期性地更新模型。例如,服务器可处理新数据,以评估数据是否包括应当触发经更新的模型或服务器上新数据的创建的信息。服务器可以将经更新的模型或更新分发给交通工具,以提供自主交通工具导航。
服务器可以使用一个或多个准则来确定从交通工具接收的新数据是否应当触发对模型的更新或触发新数据的创建。例如,当新数据指示特定位置处的先前识别的地标不再存在或被另一地标替换时,服务器可以确定新数据应当触发对模型的更新。作为另一个示例,当新数据指示道路段已被关闭,并且当这一点已通过从其他交通工具接收到的数据证实时,服务器可以确定新数据应当触发对模型的更新。
服务器可以将经更新的模型(或模型的经更新的部分)分发给正在道路段上行驶的、对模型的更新与之相关联的一个或多个交通工具。服务器还可以将经更新的模型分发给即将在道路段上行驶的交通工具、或其规划的行程包括对模型的更新与之相关联的道路段的交通工具。例如,当自主交通工具在到达更新与之相关联的道路段之前正沿着另一道路段行驶时,服务器可以在交通工具到达该道路段之前将更新或经更新的模型分发给自主交通工具。
在一些实施例中,远程服务器可以从多个客户端(例如,沿共同的道路段行驶的交通工具)收集轨迹和地标。服务器可以使用地标匹配曲线,并基于从多个交通工具收集的轨迹创建平均道路模型。服务器还可以计算道路图以及道路段的每个节点或连接处的最可能路径。例如,远程服务器可以对齐轨迹,以从收集的轨迹生成众包的稀疏地图。
服务器可以对从沿共同的道路段行驶的多个交通工具接收到的地标属性(诸如,由多个交通工具测量的一个地标到另一个地标(例如,沿道路段的先前地标)之间的距离)求平均,以确定弧长参数,并支持针对每个客户交通工具的沿路径的定位和速度校准。服务器可以对沿共同的道路段行驶并识别相同地标的多个交通工具测量的地标的物理尺寸求平均。平均物理尺寸可以被用于支持距离估计,诸如,从交通工具到地标的距离。服务器可以对由沿共同的道路段行驶并识别相同地标的多个交通工具测量的地标的横向位置(例如,从交通工具正要驶入的车道到地标的位置)求平均。平均横向位置可以用于支持车道分配。服务器可以对沿同一道路段行驶并识别相同路标的多个交通工具测量的地标的GPS坐标求平均。地标的平均GPS坐标可以被用于支持道路模型中地标的全球定位或就位。
在一些实施例中,服务器可以基于从交通工具接收的数据标识模型变化,诸如,施工、绕道、新标志、标志移除等。在从交通工具接收到新数据后,服务器可以连续地或周期性地或即时地更新模型。服务器可以将对模型的更新或经更新的模型分发给交通工具,以提供自主导航。例如,如下文进一步所讨论,服务器可以使用众包数据以过滤掉由交通工具检测到的“幽灵”地标。
在一些实施例中,服务器可以在自主驾驶期间分析驾驶员干预。服务器可以分析在干预发生的时间和地点从交通工具接收的数据,和/或在干预发生的时间之前接收的数据。服务器可以标识导致干预或与干预密切相关的数据的某些部分,例如,指示临时车道封闭设置的数据、指示道路中的行人的数据。服务器可以基于所标识的数据来更新模型。例如,服务器可以修改模型中存储的一条或多条轨迹。
图12是使用众包生成稀疏地图(以及使用众包稀疏地图分发和导航)的系统的示意图。图12示出了包括一个或多个车道的道路段1200。多个交通工具1205、1210、1215、1220和1225可以在相同时间或在不同时间在道路段1200上行驶(尽管在图12中示出为在相同时间出现在道路段1200上)。交通工具1205、1210、1215、1220和1225中的至少一个可以是自主交通工具。为了本示例的简单性,假设所有交通工具1205、1210、1215、1220和1225都是自主交通工具。
每个交通工具可以类似于其他实施例中公开的交通工具(例如,交通工具200),并可以包括在其他实施例中公开的交通工具中包括或与之相关联的组件或设备。每个交通工具可以配备有图像捕获设备或相机(例如,图像捕获设备122或相机122)。如虚线所指示,每个交通工具可以通过无线通信路径1235、经由一个或多个网络(例如,通过蜂窝网络和/或互联网等)与远程服务器1230通信。每个交通工具可以向服务器1230传送数据并从服务器1230接收数据。例如,服务器1230可以在不同的时间从在道路段1200上行驶的多个交通工具收集数据,并且可以处理收集的数据以生成自主交通工具道路导航模型、或者对模型的更新。服务器1230可以将自主交通工具道路导航模型或对模型的更新传送到向服务器1230传送数据的交通工具。服务器1230可以在稍后将自主交通工具道路导航模型或对模型的更新传送到在道路段1200 上行驶的其他交通工具。
当交通工具1205、1210、1215、1220和1225在道路段1200上行驶时,可以将由交通工具1205、1210、1215、1220和1225收集的(例如,检测的、感测的或测量的)导航信息传送至服务器1230。在一些实施例中,导航信息可以与公共道路段1200相关联。导航信息可以包括当交通工具1205、 1210、1215、1220和1225中的每个交通工具在道路段1200上行驶时与每个交通工具相关联的轨迹。在一些实施例中,可以基于由交通工具1205上提供的各种传感器和设备感测的数据来重构轨迹。例如,可以基于加速度计数据、速率数据、地标数据、道路几何形状或概况数据、交通工具定位数据和自我运动数据中的至少一个来重构轨迹。在一些实施例中,可以基于来自惯性传感器(诸如,加速度计)的数据和由速率传感器感测的交通工具1205的速度来重构轨迹。此外,在一些实施例中,可以基于所感测的相机的自我运动(例如,由交通工具1205、1210、1215、1220和1225中的每一个上机载的的处理器)确定轨迹,该所感测的相机的自我运动可以指示三维平移和/或三维旋转(或旋转运动)。可以通过分析由相机捕获的一个或多个图像来确定相机(以及因此交通工具主体)的自我运动。
在一些实施例中,交通工具1205的轨迹可以由交通工具1205上提供的处理器确定,并被传送至服务器1230。在其他实施例中,服务器1230 可以接收由交通工具1205中提供的各种传感器和设备感测的数据,并基于从交通工具1205接收的数据确定轨迹。
在一些实施例中,从交通工具1205、1210、1215、1220和1225 传送到服务器1230的导航信息可以包括关于道路表面、道路几何形状或道路概况的数据。道路段1200的几何形状可以包括车道结构和/或地标。车道结构可以包括道路段1200的车道的总数量、车道的类型(例如,单向车道、双向车道、驾驶车道、超车车道等)、车道上的标记、车道的宽度等。在一些实施例中,导航信息可以包括车道分配,例如,交通工具正在驶入多个车道中的哪一个车道。例如,车道分配可以与数值“3”相关联,该数值“3”指示交通工具在从左侧或右侧起的第三个车道上行驶。”作为另一示例,车道分配可以与指示交通工具正在中心车道上行驶的文本值“中心车道”相关联。
服务器1230可以将导航信息存储在非瞬态计算机可读介质上,诸如硬盘驱动器、紧凑盘、磁带、存储器等。服务器1230可以(例如,通过服务器1230中包括的处理器)基于从多个交通工具1205、1210、1215、1220和 1225接收的导航信息生成用于共同的道路段1200的自主交通工具道路导航模型的至少一部分,并且可以将该模型存储为稀疏地图的一部分。服务器1230 可以基于从在不同时间在道路段的车道上行驶的多个交通工具(例如1205、 1210、1215、1220和1225)接收的众包数据(例如,导航信息)来确定与每个车道相关联的轨迹。服务器1230可以基于多条轨迹生成自主交通工具道路导航模型或模型的一部分(例如,经更新的部分),该多条轨迹基于众包导航数据而确定。服务器1230可以将模型或模型的经更新的部分传送到在道路段 1200上行驶的自主交通工具1205、1210、1215、1220和1225中的一个或多个,或传送到稍后在道路段上行驶的任何其他自主交通工具,用于更新在交通工具的导航系统中提供的现有自主交通工具道路导航模型。自主交通工具道路导航模型可以由自主交通工具在沿共同的道路段1200自主导航时使用。
如上文所解释,自主交通工具道路导航模型可以被包括在稀疏地图(例如,图8中描绘的稀疏地图800)中。稀疏地图800可以包括与道路几何形状和/或沿道路线的地标相关的数据的稀疏记录,其可以提供用于引导自主交通工具的自主导航的足够信息,但不需要过多的数据存储。在一些实施例中,自主交通工具道路导航模型可以与稀疏地图800分开存储,并且可以在为导航执行模型时使用来自稀疏地图800的地图数据。在一些实施例中,自主交通工具道路导航模型可以使用稀疏地图800中包括的地图数据来确定沿道路段 1200的目标轨迹,以引导自主交通工具1205、1210、1215、1220和1225或之后沿道路段1200行驶的其他交通工具的自主导航。例如,当自主交通工具道路导航模型由被包括在交通工具1205的导航系统中的处理器执行时,该模型可以使处理器基于从交通工具1205接收的导航信息而确定的轨迹与稀疏地图 800中包括的预定轨迹进行比较,以验证和/或校正交通工具1205的当前行驶路线。
在自主交通工具道路导航模型中,道路特征或目标轨迹的几何形状可以通过三维空间中的曲线进行编码。在一个实施例中,曲线可以是包括一个或多个连接的三维多项式的三维样条。如本领域技术人员所理解,样条可以是由用于拟合数据的一系列多项式分段定义的数值函数。用于拟合道路的三维几何形状数据的样条可以包括线性样条(一阶)、二次样条(二阶)、三次样条(三阶)或任何其他样条(其他阶)、或其组合。样条可以包括连接(例如,拟合)道路的三维几何形状数据的数据点的一个或多个不同阶数的三维多项式。在一些实施例中,自主交通工具道路导航模型可以包括与沿共同的道路段 (例如,道路段1200)或道路段1200的车道的目标轨迹相对应的三维样条。
如上文所解释,稀疏地图中包括的自主交通工具道路导航模型可以包括其他信息,诸如对沿道路段1200至少一个地标的标识。该地标在安装在交通工具1205、1210、1215、1220和1225中的每个交通工具上的相机(例如,相机122)的视场内可以是可见的。在一些实施例中,相机122可以捕获地标的图像。交通工具1205上提供的处理器(例如,处理器180、190或处理单元110)可以处理地标的图像以提取地标的标识信息。地标标识信息而不是地标的实际图像可以存储在稀疏地图800中。地标标识信息可能需要比实际图像少得多的存储空间。其他传感器或系统(例如,GPS系统)也可以提供地标的某些标识信息(例如,地标的位置)。地标可以包括以下至少一个:交通标志、箭头标记、车道标记、虚线车道标记、交通灯、停车线、方向标志(例如,带有指示方向的箭头的公路出口标志、带有指向不同方向或位置的箭头的公路标志)、地标信标或灯杆。地标信标是指沿道路段安装的设备(例如,RFID设备),该设备向安装在交通工具上的接收器发送或反射信号,使得当交通工具经过该设备时,由交通工具接收的信标和该设备的位置(例如,从该设备的 GPS位置确定)可以被用作要被包括在自主交通工具道路导航模型和/或稀疏地图800中的地标。
至少一个地标的标识可以包括至少一个地标的位置。可以基于使用与多个交通工具1205、1210、1215、1220和1225相关联的传感器系统(例如,全球定位系统、基于惯性的定位系统、地标信标等)执行的位置测量来确定地标的位置。在一些实施例中,地标的位置可以通过对由通过多次驾驶的不同交通工具1205、1210、1215、1220和1225上的传感器系统检测、收集或接收的位置测量求平均来确定。例如,交通工具1205、1210、1215、1220和1225 可以向服务器1230传送位置测量数据,服务器1230可以对位置测量求平均,并使用经平均的位置测量作为地标的位置。地标的位置可以通过从后续驾驶中的交通工具接收到的测量值来不断细化。
地标的标识可以包括地标的大小。交通工具(例如,1205)上提供的处理器可以基于对图像的分析来估计地标的物理大小。服务器1230可以从通过不同驾驶上的不同的交通工具接收相同地标的物理大小的多个估计。服务器1230可以对不同的估计求平均,以得出地标的物理大小,并将该地标大小存储在道路模型中。物理大小估计可以被使用于进一步确定或估计从交通工具到地标的距离。可以基于交通工具的当前速率和扩展尺度来估计到地标的距离,该扩展尺度基于图像中出现的地标相对于相机的扩展焦点的位置。例如,到地标的距离可以通过Z=V*dt*R/D来估计,其中V是交通工具的速率,R是图像中从时间t1的地标到扩展焦点的距离,而D是图像中从t1到t2针对地标的距离的变化。dt表示(t2-t1)。例如,到地标的距离可以通过Z=V*dt*R/D 来估计,其中V是交通工具的速率,R是图像中地标与扩展焦点之间的距离, dt是时间间隔,而D是地标沿极线的图像位移。与上述等式等效的其他等式,诸如Z=V*ω/Δω,可以被用于估计到地标的距离。在此,V是交通工具速率,ω是图像长度(与对象宽度类似),并且Δω是该图像长度在单位时间内的变化。
当已知地标的物理大小时,到地标的距离也可以基于以下等式确定:Z=f*W/ω,其中f是焦距,W是地标的大小(例如,高度或宽度),ω是当地标离开图像时的像素的数量。通过以上等式,距离Z的变化可以使用Δ Z=f*W*Δω/ω2+f*ΔW/ω来计算,其中ΔW通过求平均衰减为零,并且其中Δω是表示图像中的边界框准确度的像素数。可以通过对服务器侧的多个观察值求平均来计算估计地标物理大小的值。距离估计的结果误差可以非常小。当使用上文的公式时,存在可能会出现的两个误差源,即ΔW和Δω。它们对距离误差的贡献由ΔZ=f*W*Δω/ω2+f*ΔW/ω给出。然而,ΔW通过求平均衰减到零,因此ΔZ由Δω(例如,图像中边界框的不准确度)确定。
对于未知尺寸的地标,可以通过在连续帧之间跟踪地标上的特征点来估计到地标的距离。例如,可以在两个或更多个图像帧之间跟踪出现在限速标志上的某些特征。基于这些被跟踪的特征,可以生成逐特征点的距离分布。可以从距离分布中提取距离估计。例如,距离分布中出现得最频繁的距离可以被用作为距离估计。作为另一示例,可以使用距离分布的平均作为距离估计。
图13示出了由多个三维样条1301、1302和1303表示的示例自主交通工具道路导航模型。图13中所示的曲线1301、1302和1303仅用于说明目的。每个样条可以包括连接多个数据点1310的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或具有不同阶数的任何合适的多项式的组合。每个数据点1310可以与从交通工具1205、1210、1215、1220和1225接收的导航信息相关联。在一些实施例中,每个数据点1310可以与同地标(例如,地标的大小、位置和标识信息)和/或道路特色概况(例如,道路几何形状、道路粗糙度概况、道路曲率概况、道路宽度概况)相关的数据相关联。在一些实施例中,一些数据点1310可以与同地标相关的数据相关联,而其他数据点可以与同道路特色概况相关的数据相关联。
图14示出了从五次分开的驾驶接收的原始位置数据1410(例如, GPS数据)。如果一次驾驶由单独的交通工具在相同的时间经历、由相同的交通工具在分开的时间经历、或者由单独的交通工具在分开的时间经历,则这次驾驶可以与另一次驾驶分开。为了考虑位置数据1410中的误差以及交通工具在相同车道内的不同位置(例如,一个交通工具可能驾驶得比另一个交通工具更靠近车道的左侧),服务器1230可以使用一个或多个统计技术来生成地图骨架1420,以确定原始位置数据1410中的变化是否实际分散还是统计误差。骨架1420内的每个路径可以往回链接到形成该路径的原始数据1410。例如,骨架1420内A与B之间的路径被链接到来自驾驶2、3、4和5、而不是来自驾驶1的原始数据1410。估计1420可能不够详细至足以用于导航交通工具(例如,因为与上文描述的样条不同,框架1420结合了来自相同道路上的多个车道的驾驶),但可以提供有用的拓扑信息,并可以用于定义交叉口。
图15示出了通过其可以为地图骨架的段(例如,骨架1420内的段A到B)内的稀疏地图生成附加细节的示例。如图15所描绘,数据(例如,自我运动数据、道路标记数据等)可以被示出为沿驾驶的位置S(或S1或S2) 的函数。服务器1230可以通过标识驾驶1510的地标1501、1503和1505与驾驶1520的地标1507和1509之间的唯一匹配来标识稀疏地图的地标。此类匹配算法可以导致对地标1511、1513和1515的标识。然而,本领域技术人员将认识到,可以使用其他匹配算法。例如,概率优化可以代替唯一匹配或与唯一匹配结合使用。服务器1230可以纵向地对齐驾驶以对齐匹配的地标。例如,服务器1230可以选择一次驾驶(例如,驾驶1520)作为参考驾驶,然后偏移和/或弹性拉伸另外一次(多次)驾驶(例如,驾驶1510)以进行对齐。
图16示出了用于在稀疏地图中使用的对齐的地标数据的示例。在图16的示例中,地标1610包括道路标志。图16的示例进一步描绘了来自多次驾驶1601、1603、1605、1607、1609、1611和1613的数据。在图16的示例中,来自驾驶1613的数据由“幽灵”地标组成,并且服务器1230可以按此来标识它,因为驾驶1601、1603、1605、1607、1609和1611中没有一个包括在驾驶1613中的所标识的地标附近的地标的标识。相应地,服务器1230可以在其中地标确实出现的图像相比在其中地标不出现的图像的比率超过阈值时接受潜在地标,和/或可以在其中地标不出现的图像相比在其中地标确实出现的图像的比率超过阈值时拒绝潜在地标。
图17描绘了用于生成驾驶数据的系统1700,该驾驶数据可以用于众包稀疏地图。如图17所描绘,系统1700可以包括相机1701和定位设备1703 (例如,GPS定位器)。相机1701和定位设备1703可以安装在交通工具(例如,交通工具1205、1210、1215、1220和1225中的一个)上。相机1701可以产生多个类型的多个数据,例如,自我运动数据、交通标志数据、道路数据,等等。相机数据和位置数据可以分割成驾驶段1705。例如,驾驶段1705可以各自具有来自少于1km的驾驶的相机数据和位置数据。
在一些实施例中,系统1700可以移除驾驶段1705中的冗余。例如,如果地标出现在来自相机1701的多个图像中,则系统1700可以去除冗余的数据,使得驾驶段1705仅包含地标的位置以及与地标相关的任何元数据的一个副本。作为进一步的示例,如果车道标记出现在来自相机1701的多个图像中,则系统1700可以去除冗余的数据,使得驾驶段1705仅包含车道标记的位置以及与车道标记相关的任何元数据的一个副本。
1700还包括服务器(例如,服务器1230)。服务器1230可以从交通工具接收驾驶段1705,并将驾驶段1705重新组合到单个驾驶1707中。此类布置可以允许当在交通工具与服务器之间传输数据时降低带宽要求,同时还允许服务器存储与整个驾驶相关的数据。
图18描绘了进一步被配置用于众包稀疏地图的图17的系统。如图17中所示,系统1700包括交通工具1810,该交通工具1810使用例如相机 (其产生例如自我运动数据、交通标志数据、道路数据等)和定位设备(例如, GPS定位器)捕获驾驶数据。如在图17中那样,交通工具1810将收集的数据分段为驾驶段(在图18中被描绘为“DS1 1”、“DS2 1”、“DSN 1”)。然后,服务器1230接收驾驶段,并从接收到的段重构驾驶(在图18中被描绘为“驾驶1”)。
如图18进一步所描绘,系统1700还从附加交通工具接收数据。例如,交通工具1820还使用例如相机(其产生例如,自我运动数据、交通标志数据、道路数据等等)和定位设备(例如,GPS定位器)捕获驾驶数据。与交通工具1810类似,交通工具1820将收集的数据分为驾驶段(在图18中描绘为“DS1 2”、“DS2 2”、“DSN 2”)。”然后,服务器1230接收路段并从接收到的段重构驾驶(在图18中被描绘为“驾驶2”)。任何数量的附加交通工具可以被使用。例如,图18还包括“车辆N”,其捕获驾驶数据、将其分段为驾驶段(在图18中被描绘为“DS1 N”、“DS2 N”、“DSN N”),并将其发送到服务器1230以重构为驾驶(在图18中被描绘为“驾驶N”)。”
如图18所描绘的,服务器1230可以使用从多个交通工具(例如,“汽车1”(也被标记为交通工具1810)、“汽车2”(也标记为交通工具1820) 和“汽车N”)收集的重构的驾驶(例如,“驾驶1”、“驾驶2”和“驾驶 N”)来构造稀疏地图(被描绘为“地图”)。”
图19是示出用于生成用于沿道路段的自主交通工具导航的稀疏地图的示例过程1900的流程图。过程1900可以由服务器1230中包括的一个或多个处理设备执行。
过程1900可以包括:接收当一个或多个交通工具穿过道路段时采集的多个图像(步骤1905)。服务器1230可以从被包括在交通工具1205、 1210、1215、1220和1225中的一个或多个内的相机接收图像。例如,当交通工具1205沿道路段1200行驶时,相机122可以捕获交通工具1205周围的环境的一个或多个图像。在一些实施例中,服务器1230还可以接收已由交通工具1205上的处理器移除冗余的精简的图像数据,如上文关于图17所讨论。
过程1900可以进一步包括:基于多个图像标识沿道路段延伸的道路表面特征的至少一个线表示(步骤1910)。每个线表示可以表示沿与道路表面特征基本对应的道路段的路径。例如,服务器1230可以分析从相机122接收的环境图像以标识道路边缘或车道标记,并确定沿与该道路边缘或车道标记相关联的道路段1200的行驶的轨迹。在一些实施例中,轨迹(或线表示)可以包括样条、多项式表示或曲线。服务器1230可以基于在步骤1905处接收到的相机自我运动(例如,三维平移和/或三维旋转运动)来确定交通工具1205 的行驶的轨迹。
过程1900也可以包括:基于多个图像标识与道路段相关联的多个地标(步骤1910)。例如,服务器1230可以分析从相机122接收的环境图像以标识一个或多个地标,诸如,沿道路段1200的道路标志。服务器1230可以使用对在一个或多个交通工具穿过道路段时采集的多个图像的分析来标识地标。为了实现众包,分析可能包括关于接受和拒绝与道路段相关联的可能地标的规则。例如该分析可以包括:当在其中地标确实出现的图像相比在其中地标不出现的图像的比率超过阈值时,接受潜在地标;和/或当在其中地标不出现的图像相比在其中地标确实出现的图像的比率超过阈值时,拒绝潜在地标。
过程1900可以包括:由服务器1230执行的其他操作或步骤。例如,导航信息可以包括用于交通工具沿道路段行驶的目标轨迹,并且过程1900 可以包括:由服务器1230对与在道路段上行驶的多个交通工具相关的交通工具轨迹进行聚类;以及基于聚类的交通工具轨迹确定目标轨迹,如下文进一步详细地所讨论。对交通工具轨迹聚类可以包括:由服务器1230基于交通工具的绝对航向或交通工具的车道分配中的至少一个对与在道路段上行驶的交通工具相关的多条轨迹聚类为多个集群。生成目标轨迹可以包括:由服务器1230 对聚类的轨迹求平均。作为进一步的示例,过程1900可以包括:对齐在步骤 1905中接收的数据。如上文所描述的由服务器1230执行的其他过程或步骤也可以被包括在过程1900中。
所公开的系统和方法可以包括其他特征。例如,所公开的系统可以使用局部坐标,而不是全球坐标。对于自主驾驶,一些系统可能以世界坐标呈现数据。例如,可以使用地球表面上的经纬度坐标。为了使用地图进行操纵,主交通工具可以确定其相对于地图的位置和取向。为了在地图上定位交通工具并且为了找到主体参考系和世界参考系(例如,北、东和下)之间的旋转变换,使用机载GPS设备似乎是自然的。一旦主体参考系与地图参考系对齐,就可以在主体参考系中表达所需路线,并可以计算或生成操纵命令。
所公开的系统和方法可以实现具有低占用模型的自主交通工具导航(例如,操纵控制),该模型可以由自主交通工具自身收集而无需昂贵的调查装备的辅助。为了支持自主导航(例如,操纵应用),道路模型可以包括具有道路的几何形状、其车道结构和地标的稀疏地图,该稀地标可以用于确定交通工具沿模型中包括的轨迹的位置或者定位。如上文所讨论,稀疏地图的生成可以由远程服务器执行,该远程服务器与在道路上行驶的交通工具通信,并从交通工具接收数据。该数据可以包括感测的数据、基于感测的数据重构的轨迹和/或可以表示经修改的重构的轨迹的推荐轨迹。如下文所讨论,服务器可以将模型往回传送到交通工具或者之后在道路上行驶的其他交通工具,以辅助自主导航。
图20示出了服务器1230的框图。服务器1230可以包括通信单元 2005,其可以包括硬件组件(例如,通信控制电路、开关和天线)和软件组件 (例如,通信协议、计算机代码)。例如,通信单元2005可以包括至少一个网络接口。服务器1230可以通过通信单元2005与交通工具1205、1210、1215、 1220和1225通信。例如,服务器1230可以通过通信单元2005接收从交通工具1205、1210、1215、1220和1225传送的导航信息。服务器1230可以通过通信单元2005将自主交通工具道路导航模型分发给一个或多个自主交通工具。
服务器1230可以包括至少一个非瞬态存储介质2010,诸如,硬盘驱动器、紧凑盘、磁带等。存储设备1410可以被配置为存储数据,该数据诸如从交通工具1205、1210、1215、1220和1225接收的导航信息和/或服务器 1230基于导航信息生成的自主交通工具道路导航模型。存储设备2010可以被配置为存储任何其他信息,诸如稀疏地图(例如,上文关于图8讨论的稀疏地图800)。
作为存储设备2010的附加或替代,服务器1230可以包括存储器 2015。存储器2015可以与存储器140或150类似或不同。存储器2015可以是非瞬态存储器,诸如,闪存、随机存取存储器等。存储器2015可以配置为存储数据,诸如,可以由处理器(例如,处理器2020)执行的计算机代码或指令、地图数据(例如,稀疏地图800的数据)、自主交通工具道路导航模型,和/ 或从交通工具1205、1210、1215、1220和1225接收的导航信息。
服务器1230可以包括至少一个处理设备2020,其被配置为执行存储在存储器2015中的计算机代码或指令以执行各种功能。例如,处理设备2020 可以分析从交通工具1205、1210、1215、1220和1225接收的导航信息,并基于该分析生成自主交通工具道路导航模型。处理设备2020可以控制通信单元 1405将自主交通工具道路导航模型分发给一个或多个自主交通工具(例如,交通工具1205、1210、1215、1220和1225中的一个或多个或稍后在道路段1200 上行驶的任何交通工具)。处理设备2020可以与处理器180、190或处理单元 110类似或不同。
图21示出了存储器2015的框图,存储器2015可以存储用于执行一个或多个操作以生成用于自主交通工具导航中使用的道路导航模型的计算机代码或指令。如图21所示,存储器2015可以存储用于执行用于处理交通工具导航信息的操作的一个或多个模块。例如,存储器2015可以包括模型生成模块2105和模型分发模块2110。处理器2020可以执行存储在存储器2015中包括的模块2105和2110中的任何一个中的指令。
模型生成模块2105可以存储指令,这些指令当处理器2020执行该指令时可以基于从交通工具1205、1210、1215、1220和1225接收到的导航信息来为共同的道路段(例如,道路段1200)生成自主交通工具道路导航模型的至少一部分。例如,在生成自主交通工具道路导航模型时,处理器2020可以将沿共同的道路段1200的交通工具轨迹聚类成不同的集群。处理器2020可以基于针对不同集群中的每一个集群的聚类的交通工具轨迹来确定沿共同的道路段1200的目标轨迹。此类操作可以包括:在每个集群中找到聚类的交通工具轨迹的均值或平均轨迹(例如,通过对表示聚类交通工具轨迹的数据求平均)。在一些实施例中,目标轨迹可以与共同的道路段1200的单个车道相关联。
道路模型和/或稀疏地图可以存储与道路段相关联的轨迹。这些轨迹可以被称为目标轨迹,这些目标轨被提供给自主交通工具用于自主导航。目标轨迹可以从多个交通工具接收,或者可以基于从多个交通工具接收的实际轨迹或推荐轨迹(具有一些修改的实际轨迹)来生成。道路模型或稀疏地图中包括的目标轨迹可以利用从其他交通工具接收的新轨迹持续地被更新(例如,求平均)。
在道路段上行驶的交通工具可以通过各种传感器收集数据。数据可以包括地标、道路特色概况、交通工具运动(例如,加速度计数据、速率数据)、交通工具位置(例如,GPS数据),并且可以重构实际轨迹本身,或者将数据传送到服务器,该服务器将重构交通工具的实际轨迹。在一些实施例中,交通工具可以将与轨迹(例如,任意参考系中的曲线)相关的数据、地标数据和沿行驶路径的车道分配传送到服务器1230。在多次驾驶时沿同一道路段行驶的各种交通工具可具有不同的轨迹。服务器1230可以通过聚类过程、从接收自交通工具的轨迹中标识与每个车道相关联的路线或轨迹。
图22示出了对与交通工具1205、1210、1215、1220和1225相关联的交通工具轨迹进行聚类,以确定用于共同的道路段(例如,道路段1200) 的目标轨迹的过程。根据集群过程确定的目标轨迹或多条目标轨迹可以被包括在自主交通工具道路导航模型或稀疏地图800中。在一些实施例中,沿道路段 1200行驶的交通工具1205、1210、1215、1220和1225可以向服务器1230传送多条轨迹2200。在一些实施例中,服务器1230可以基于从交通工具1205、1210、1215、1220和1225接收的地标、道路几何形状和交通工具运动信息来生成轨迹。为了生成自主交通工具道路导航模型,服务器1230可以将交通工具轨迹1600聚类成多个集群2205、2210、2215、2220、2225和2230,如图 22所示。
可以使用各种准则执行聚类。在一些实施例中,集群中的所有驾驶在沿道路段1200的绝对航向方面可以是类似的。绝对航向可以从由交通工具1205、1210、1215、1220和1225接收的GPS信号中获得。在一些实施例中,可以使用航位推算获得绝对航向。如本领域技术人员将理解,航位推算可以被用于通过使用先前确定的位置、估计的速率等来确定交通工具1205、 1210、1215、1220和1225的当前位置以及由此的航向。通过绝对航向聚类的轨迹可以用于标识沿道路的路线。
在一些实施例中,集群中的所有驾驶在沿道路段1200上的驾驶的车道分配方面可以是类似的(例如,在交叉路口之前和之后的同一车道中)。通过车道分配聚类的轨迹对于标识沿道路的车道可以是有用的。在一些实施例中,这两个准则(例如,绝对航向和车道分配)可以被用于聚类。
在每个集群2205、2210、2215、2220、2225和2230中,可以对轨迹求平均,以获得与特定集群相关联的目标轨迹。例如,可对来自与相同的车道集群相关联的多个驾驶的轨迹求平均。平均轨迹可以是与特定车道相关联的目标轨迹。为了对轨迹的集群求平均,服务器1230可以选择任意轨迹C0的参考系。对于所有其他轨迹(C1,,Cn),服务器1230可以找到将Ci映射到C0的刚性变换,其中i=1,2,…,n,其中n是正整数,对应于集群中包括的轨迹的总数量。服务器1230可以计算C0参考系中的均值曲线或轨迹。
在一些实施例中,地标可以定义不同驾驶之间的弧长匹配,其可以用于轨迹与车道的对齐。在一些实施例中,交叉路口之前和之后的车道标记可以被用于轨迹与车道的对齐。
为了从轨迹组装车道,服务器1230可以选择任意车道的参考系。服务器1230可以将部分重叠的车道绘制到所选参考系。服务器1230可以继续进行绘制,直到所有车道都在同一参考系中。彼此相邻的车道可以对齐,就像它们是相同车道一样,然后可以横向偏移这些车道。
沿道路段识别的地标可以绘制到共同的参考系,首先在车道水平,然后在交叉路口水平。例如,相同的地标可以由多个交通工具在多次驾驶中识别多次。在不同驾驶中接收到的关于相同地标的数据可能略有不同。此类数据可以被平均并被绘制到相同的参考系,例如C0参考系。另外地或者替代地,可以计算在多次驾驶中接收的相同地标的数据的方差。
在一些实施例中,道路段120的每个车道可以与目标轨迹和某些地标相关联。目标轨迹或多个此类目标轨迹可以被包括在自主交通工具道路导航模型中,该自主交通工具道路导航模型稍后可以由沿相同道路段1200行驶的其他自主交通工具使用。当交通工具1205、1210、1215、1220和1225沿道路段1200行驶时由交通工具标识的地标可以与目标轨迹相关联地记录。目标轨迹和地标的数据可以利用在后续驾驶中从其他交通工具接收的新数据来持续地或周期性地更新。
对于自主交通工具的定位,所公开的系统和方法可以使用扩展卡尔曼滤波器。交通工具的位置可以基于三维位置数据和/或三维取向数据、通过整合自我运动对在交通工具的当前位置前方的未来位置的预测来确定。交通工具的定位可以通过对地标的图像观察进行校正或调整。例如,当交通工具检测到由相机捕获的图像内的地标时,该地标可以与存储在道路模型或稀疏地图 800内的已知地标进行比较。已知地标可以具有沿存储在道路模型和/或稀疏地图800中的目标轨迹的已知位置(例如,GPS数据)。根据当前速率和地标的图像,可以估计从交通工具到地标的距离。可以基于到地标的距离和地标的已知位置(存储在道路模型或稀疏地图800中)来调整交通工具沿目标轨迹的位置。存储在道路模型和/或稀疏地图800中的地标的位置/定位数据(例如,来自多次驾驶的平均值)可以被假定为准确的。
在一些实施例中,所公开的系统可以形成闭环子系统,其中交通工具六自由度位置(例如,三维位置数据加三维取向数据)的估计可以用于导航自主交通工具(例如,操纵自主交通工具的车轮)以达到所需点(例如,比所存储的提前1.3秒)。反过来,从操纵和实际导航测量的数据可以用于估计六自由度位置。
在一些实施例中,沿着道路的标杆(诸如,灯杆和电线杆或电缆杆)可以被用作定位交通工具的地标。其他地标(诸如,交通标志、交通灯、道路上的箭头、停车线、以及沿着道路段的对象的静态特征或特色)也可以被用作定位交通工具的地标。当使用标杆进行定位时,可以使用标杆的x观察(即,从交通工具的视角),而不是y观察(即,到标杆的距离),因为标杆底部可能被遮挡,并且有时它们不在道路平面上。
图23示出了用于交通工具的导航系统,该导航系统可以用于使用众包稀疏地图进行自主导航。为了说明,该交通工具被引用为交通工具1205。图23中示出的交通工具可以是本文公开的任何其他交通工具,包括例如交通工具1210、1215、1220和1225以及在其他实施例中示出的交通工具200。如图12所示,交通工具1205可以与服务器1230通信。交通工具1205可以包括图像捕获设备122(例如,相机122)。交通工具1205可以包括导航系统2300,其被配置用于为交通工具1205在道路(例如,道路段1200)上行驶提供导航引导。交通工具1205还可以包括其他传感器,诸如,速率传感器2320和加速度计2325。速率传感器2320可以被配置为检测交通工具1205的速率。加速度计2325可以被配置为检测交通工具1205的加速或减速。图23中所示的交通工具1205可以是自主交通工具,并且导航系统2300可以用于为自主驾驶提供导航引导。替代地,交通工具1205也可以是非自主、人为控制的交通工具,并且导航系统2300仍可以用于提供导航引导。
导航系统2300可以包括配置成通过通信路径1235与服务器1230 通信的通信单元2305。导航系统2300还可以包括配置成接收和处理GPS信号的GPS单元2310。导航系统2300可以进一步包括配置成处理数据的至少一个处理器2315,该数据诸如,GPS信号、来自稀疏地图800(其可以存储在交通工具1205上提供的存储设备上和/或从服务器1230接收)的地图数据、由道路概况传感器2330感测的道路几何形状、由相机122捕获的图像和/或从服务器 1230接收的自主交通工具道路导航模型。道路概况传感器2330可以包括用于测量不同类型的道路概况的不同类型的设备,不同类型的道路概况诸如,道路表面粗糙度、道路宽度、道路标高、道路曲率等。例如,道路概况传感器2330 可包括测量交通工具2305的悬挂的运动以导出道路粗糙度概况的设备。在一些实施例中,道路概况传感器2330可以包括雷达传感器,用于测量从交通工具1205到道路侧(例如,道路侧的障碍物)的距离,从而测量道路的宽度。在一些实施例中,道路概况传感器2330可以包括配置用于测量道路的上下标高的设备。在一些实施例中,道路概况传感器2330可以包括被配置为测量道路曲率的设备。例如,相机(例如,相机122或另一相机)可以用于捕获示出道路曲率的道路的图像。交通工具1205可以使用此类图像检测道路曲率。
至少一个处理器2315可以编程为从相机122接收与交通工具1205 相关联的至少一个环境图像。至少一个处理器2315可以分析至少一个环境图像以确定与交通工具1205相关的导航信息。导航信息可以包括与交通工具 1205沿道路段1200的行驶相关的轨迹。至少一个处理器2315可以基于相机 122(以及因此交通工具)的运动(诸如,三维平移和三维旋转运动)来确定轨迹。在一些实施例中,至少一个处理器2315可以基于对由相机122采集的多个图像的分析来确定相机122的平移和旋转运动。在一些实施例中,导航信息可以包括车道分配信息(例如,其中车道交通工具1205正沿道路段1200行驶)。可由服务器1230使用从交通工具1205传送到服务器1230的导航信息来生成和/或更新自主交通工具道路导航模型,该自主交通工具道路导航模型可以从服务器1230往回传送到交通工具1205,以便为交通工具1205提供自主导航引导。
至少一个处理器2315也可以编程为将导航信息从交通工具1205 传送至服务器1230。在一些实施例中,导航信息可以连同道路信息一起传送到服务器1230。道路位置信息可以包括以下至少一个:由GPS单元2310接收的 GPS信号;地标信息;道路几何形状;车道信息等。至少一个处理器2315可以从服务器1230接收自主交通工具道路导航模型或模型的部分。从服务器 1230接收的自主交通工具道路导航模型可以包括基于从交通工具1205传送到服务器1230的导航信息的至少一个更新。从服务器1230传送到交通工具1205 的模型的部分可以包括模型的经更新部分。至少一个处理器2315可以基于接收到的自主交通工具道路导航模型或模型的经更新的部分来引起由交通工具 1205进行的至少一个导航操控(例如,操纵,诸如转弯、制动、加速、超过另一交通工具等)。
至少一个处理器2315可以配置为与交通工具1205中包括的各种传感器和组件进行通信,这些传感器和组件包括通信单元1705、GPS单元2315、相机122、速率传感器2320、加速度计2325和道路概况传感器2330。至少一个处理器2315可以从各种传感器和组件收集信息或数据,并通过通信单元 2305将信息或数据传送到服务器1230。替代地或者附加地,交通工具1205的各种传感器或组件还可以与服务器1230通信,并将由传感器或组件收集的数据或信息传送到服务器1230。
在一些实施例中,交通工具1205、1210、1215、1220和1225可以彼此通信,并且可以彼此共享导航信息,使得交通工具1205、1210、1215、 1220和1225中的至少一个可以使用众包(例如,基于由其他交通工具共享的信息)生成自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、 1215、1220和1225可以彼此共享导航信息,并且每个交通工具可以更新其自身的交通工具中提供的自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、1215、1220和1225中的至少一个(例如,交通工具1205)可以起到中枢交通工具的功能。中枢交通工具(例如,交通工具1205)的至少一个处理器2315可以执行由服务器1230执行的功能中的一些或全部。例如,中枢交通工具的至少一个处理器2315可以与其他交通工具通信,并从其他交通工具接收导航信息。中枢交通工具的至少一个处理器2315可以基于从其他交通工具接收的共享信息生成自主交通工具道路导航模型或对模型的更新。中枢交通工具的至少一个处理器2315可以将自主交通工具道路导航模型或对模型的更新传送给其他交通工具以提供自主导航引导。
绘制车道标记以及基于绘制的车道标记的导航
如先前所讨论,自主交通工具道路导航模型和/或稀疏地图800可以包括与道路段相关联的多个绘制的车道标记。如下文更详细地所讨论,这些绘制的车道标记可在自主交通工具导航时被使用。例如,在一些实施例中,绘制的车道标记可以用于确定相对于规划的轨迹的横向位置和/或取向。利用该位置信息,自主交通工具可以能够调整航向以匹配所确定的位置处的目标轨迹的方向。
交通工具200可以配置为检测给定道路段中的车道标记。道路段可以包括道路上的、用于引导道路上的交通工具交通的任何标记。例如,车道标记可以是区分行驶车道的边缘的连续线或虚线。车道标记还可以包括双线,诸如,双连续线、双虚线、或连续线和虚线的组合,其例如指示相邻车道中是否准许超车。车道标记还可以包括高速公路入口和出口标记,其例如指示用于出口匝道的减速车道或点状线,该点状线指示车道是转弯专用的或车道结束。标记可以进一步指示工作区、临时车道偏移、通过交叉口的行驶路径、中央分隔带、专用车道(例如,自行车道、HOV车道等)或其他杂项标记(例如,人行横道、减速带、铁路道口、停车线等)。
交通工具200可以使用相机来捕获周围车道标记的图像,该县级诸如被包括在图像采集单元120中的图像捕获设备122和124。交通工具200 可以基于在被捕获的图像中的一个或多个被捕获的图像内标识的特征来分析图像以检测与车道标记相关联的点位置。这些点位置可以上传到服务器以表示稀疏地图800中的车道标记。取决于相机的位置和视场,可以从单个图像同时针对交通工具的两侧检测车道标记。在其他实施例中,可以使用不同的相机在交通工具的多个侧捕获图像。与上传车道标记的实际图像不同,标记可以作为样条或一系列点存储在稀疏地图800中,从而减小稀疏地图800和/或必须由交通工具远程上传的数据的大小。
图24A-图24D示出了可以由交通工具200检测以表示特定车道标记的示例性点位置。与上文所描述的地标类似,交通工具200可以使用各种图像识别算法或软件来标识被捕获的图像内的点位置。例如,交通工具200可以识别与特定车道标记相关联的一系列边缘点、角点或各种其他点位置。图24A示出了可以由交通工具200检测的连续车道标记2410。车道标记2410可以表示道路的外边缘,由连续的白线表示。如图24A所示,交通工具200可以被配置为检测沿车道标记的多个边缘位置点2411。可以收集位置点2411以便以在足以在稀疏地图中创建绘制的车道标记的任何间隔来表示车道标记。例如,车道标记可以通过检测到的边缘的每米一个点、检测到的边缘的每五米一个点、或其他合适的间距来表示。在一些实施例中,间隔可以由其他因素而不是以设定的间隔确定,诸如例如,基于其中交通工具200具有检测到的点的位置的最高置信度等级的点。尽管图24A示出了车道标记2410的内边缘上的边缘位置点,但可以在线的外边缘或沿这两个边缘收集点。进一步地,虽然在图24A中示出单条线,但是可以针对双连续线检测类似的边缘点。例如,可以沿连续线中的一条或两条的边缘检测点2411。
取决于车道标志的类型或形状,交通工具200也可以不同方式表示车道标志。图24B示出了可以由交通工具200检测的示例性虚线车道标记 2420。与如在图24A中那样标识边缘点不同,交通工具可以检测表示车道虚线的角的一系列角点2421,以定义虚线的完整边界。虽然图24B示出了给定虚线标记的每个角都被定位,但交通工具200可以检测或上传图中所示点的子集。例如,交通工具200可以检测给定虚线标记的前边缘或前缘角,或可以检测最接近车道内部的两个角点。进一步地,并非每个虚线标记都可以被捕获,例如,交通工具200可以捕获和/或记录表示虚线标记的样本的点(例如,每隔一个、每三个、每五个等)或以预定义间距(例如,每米、每五米、每十米等) 捕获和/或记录虚线标记。对于类似的车道标记,还可以检测角点,诸如,示出车道用于出口匝道、特定车道正在结束的标记,或可能具有可检测角点的其他各种车道标记。对于由双虚线或连续线和虚线的组合组成的车道标记,也可以检测角点。
在一些实施例中,上传到服务器以生成绘制的车道标记的点可以表示除检测到的边缘点或角点之外的其他点。图24C示出了可以表示给定车道标记的中心线的一系列点。例如,连续车道2410可以由沿车道标记的中心线 2440的中心线点2441表示。在一些实施例中,交通工具200可以被配置为使用各种图像识别技术(诸如,卷积神经网络(CNN)、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)特征或其他技术)来检测这些中心点。或者,交通工具200可以检测其他点(诸如,图24A中所示的边缘点2411),并且可以例如通过沿每个边缘检测点并确定边缘点之间的中点来计算中心线点2411。类似地,虚线车道标记2420可以由沿车道标记的中心线2450的中心线点2451表示。中心线点可以位于短划线的边缘,如图24C所示,或位于沿中心线的各种其他位置。例如,每个短划线可以由短划线的几何形状中心的单个点表示。这些点也可以沿中心线以预定间隔隔开(例如,每米、每5米、每10米等)。中心线点2451可以直接由交通工具200检测,或可以基于其他检测到的参考点(诸如,角点2421,如图24B所示)来计算。中心线也可以被用于使用与上文类似的技术来表示其他车道标记类型,诸如,双线。
在一些实施例中,交通工具200可以标识表示其他特征的点,诸如,两个相交的车道标记之间的顶点。图24D示出了表示两个车道标记2460与 2465之间的交叉的示例性点。交通工具200可以计算表示两个车道标记之间的交叉的顶点2466。例如,车道标志2460或2465中的一个可以表示道路段中的列车穿越区域或其他穿越区域。虽然车道标记2460和2465示出为彼此垂直地相交,但可以检测各种其他配置。例如,车道标记2460和2465可以以其他角度相交,或者车道标记中的一者或两者可以在顶点2466处终止。类似技术也可以应用于虚线或其他车道标记类型之间的交叉。除了顶点2466之外,还可以检测各种其他点2467,从而提供关于车道标记2460和2465的取向的进一步信息。
交通工具200可以将真实世界坐标与车道标记的每个检测到的点相关联。例如,可以生成位置标识符,以上传到服务器来绘制的车道标记,该位置标识符包括每个点的坐标。位置标识符还可以进一步包括关于这些点的其他标识信息,包括该点是否表示角点、边缘点、中心点等。因此,交通工具200 可以被配置为基于对图像的分析来确定每个点的真实世界位置。例如,交通工具200可以检测图像中的其他特征,诸如上文所描述的各种地标,以定位车道标记的真实世界位置。这可涉及:确定图像中车道标记相对于检测到的地标的位置;或基于检测到的地标确定交通工具的位置,然后确定从交通工具(或交通工具的目标轨迹)到车道标记的距离。当地标不可用时,车道标记点的位置可以相对于基于航位推算确定的交通工具的位置来确定。被包括在位置标识符中的真实世界坐标可以被表示为绝对坐标(例如,纬度/经度坐标),或者可以相对于其他特征,诸如,基于沿目标轨迹的纵向位置和距目标轨迹的横向距离。然后,可以将位置标识符上传到服务器,以便在导航模型(诸如,稀疏地图800)中生成绘制的车道标记。在一些实施例中,服务器可以构造表示道路段的车道标记的样条。替代地,交通工具200可以生成样条,并将其上传到服务器以便被记录在导航模型中。
图24E示出了用于相应道路段的示例性导航模型或稀疏地图,该相应道路段包括绘制的车道标记。稀疏地图可以包括用于供交通工具沿道路段遵循的目标轨迹2475。如上文所描述,目标轨迹2475可以表示当交通工具在相应道路段行驶时该交通工具采取的用于该交通工具的理想路径,或者可位于道路上的别处(例如,道路的中心线等)。目标轨迹2475能以上文描述的各种方法来计算,这些方法例如,基于穿过相同道路段的交通工具的两个或更多个重构的轨迹的聚合(例如,加权组合)。
在一些实施例中,对于所有交通工具类型并且对于所有道路、交通工具和/或环境状况,可以平等地生成目标轨迹。然而,在其他实施例中,在生成目标轨迹时也可以考虑各种其他因素或变量。可以为不同类型的交通工具 (例如,私家车、轻型卡车和全挂车)生成不同的目标轨迹。例如,与较大的半挂车卡车相比,可针对小型私家车生成具有相对较窄的转弯半径的目标轨迹。在一些实施例中,还可以考虑道路、交通工具和环境状况。例如,可以针对不同的道路状况(例如,潮湿、下雪、结冰、干燥等)、交通工具状况(例如,轮胎状况或估计的轮胎状况、制动状况或估计的制动状况、剩余燃油量等) 或环境因素(例如,一天中的时间、能见度、天气等)生成不同的目标轨迹。目标轨迹也可取决于特定道路段的一个或多个方面或特征(例如,速度限制、转弯的频率和大小、坡度等)。在一些实施例中,各种用户设置也可以被使用于确定目标轨迹,这些用户设置诸如,设定的驾驶模式(例如,期望的驾驶积极性、经济模式等)。
稀疏地图也可以包括表示沿道路段的车道标记的绘制的车道标记 2470和2480。绘制的车道标记可以由多个位置标识符2471和2481表示。如上文所描述,位置标识符可以包括与检测到的车道标记相关联的点的真实世界坐标中的位置。与模型中的目标轨迹类似,车道标记也可包括标高数据,并且可被表示为三维空间中的曲线。例如,曲线可以是连接合适阶数的三维多项式的样条,可以基于位置标识符计算曲线。绘制的车道标记还可以包括关于车道标记的其他信息或元数据,诸如,车道标记的类型的标识符(例如,在具有相同行驶方向的两个车道之间、在具有相反行驶方向的两个车道之间、道路的边缘等)和/或车道标记的其他特性(例如,连续线、虚线、单线、双线、黄色、白色等)。在一些实施例中,可例如使用众包技术在模型内持续更新绘制的车道标记。相同的交通工具可以在相同道路段多次行驶场合期间上传位置标识符,或数据可以从在不同的时间在道路段上行驶的多个交通工具(诸如,1205、 1210、1215、1220和1225)中选择。然后,可以基于从交通工具接收并存储在系统中的后续位置标识符更新或细化稀疏地图800。当更新和细化绘制的车道标记时,可以将经更新的道路导航模型和/或稀疏地图分发给多个自主交通工具。
在稀疏地图中生成绘制的车道标记还可以包括:基于图像或实际车道标记自身中的异常来检测和/或减轻错误。图24F示出了与检测车道标记 2490相关联的示例性异常2495。异常2495可能出现在由交通工具200捕获的图像中,例如,来自妨碍相机查看车道标志的对象、镜头上的碎片等。在一些实例中,异常可能是由于车道标志本身造成的,车道标志本身可能受损或磨损,或者例如被灰尘、碎片、水、雪或道路上的其他材料等部分地覆盖。异常2495 可能导致由交通工具200检测到错误点2491。稀疏地图800可以提供对绘制的车道标记的校正并排除错误。在一些实施例中,交通工具200可以例如通过检测图像中的异常2495或通过基于异常之前和之后的检测到的车道标记点标识错误来检测错误点2491。基于检测到异常,交通工具可忽略点2491,或将其调整为与其他检测到的点一致。在其他实施例中,可以在已上传该点之后校正该错误,例如,通过基于在相同行程期间上传的其他点或基于来自沿相同道路段的先前行程的数据的聚合来确定该点在预期阈值之外。
导航模型和/或稀疏地图中的绘制的车道标记也可以用于供穿过相应道路的自主交通工具进行导航。例如,沿目标轨迹导航的交通工具可以周期性地使用稀疏地图中的绘制的车道标记以将自身与目标轨迹对齐。如上文所提到,在地标之间,交通工具可以基于航位推算进行导航,根据航位推算交通工具使用传感器来确定其自我运动并估计其相对于目标轨迹的位置。随着时间的推移,误差可能会累积,并且交通工具相对于目标轨迹的位置确定可能会变得越来越不准确。相应地,交通工具可以使用在稀疏地图800中出现的车道标记(以及它们的已知位置)以减少位置确定中由航位推算引起的误差。以这种方式,被包括在稀疏地图800中的所标识的车道标记可以用作导航锚,通过该导航锚可以确定交通工具相对于目标轨迹的准确位置。
图25A示出了交通的工具周围环境的示例性图像2500,该图像 2500可以被用于基于绘制的车道标记的导航。例如,图像2500可以由交通工具200通过被包括在图像采集单元120中的图像捕获设备122和124来捕获。图像2500可以包括至少一个车道标记2510的图像,如图25A所示。图像2500 也可以包括一个或多个地标2521,诸如,道路标志,用于如上文所描述的导航。图25A中所示的一些元素也被示出以供参考,这些元素诸如元件2511、2530 和2520,它们不出现在被捕获的图像2500中,但是被交通工具200检测到和/ 或确定。
使用上文所描述的关于图24A-图24D和图24F的各种技术,交通工具可以分析图像2500以标识车道标记2510。可以检测与图像中的车道标记的特征相对应的各个点2511。例如,点2511可以对应于车道标记的边缘、车道标记的角、车道标记的中点、两个相交车道标记之间的顶点或各种其他特征或位置。点2511可以被检测为对应于从服务器接收的导航模型中存储的点的位置。例如,如果接收到包含表示绘制的车道标记的中心线的点的稀疏地图,则点2511还可以基于车道标记2510的中心线来检测。
交通工具还可以确定由元素2520表示、并沿目标轨迹定位的纵向位置。可以从图像2500确定纵向位置2520,例如,通过检测图像2500内的地标2521并将测量的位置与存储在道路模型或稀疏地图800中的已知地标位置进行比较。然后,可以基于到地标的距离和地标的已知位置来确定交通工具沿目标轨迹的位置。纵向位置2520也可以通过除用于确定车道标记的位置的那些图像之外的图像来确定。例如,纵向位置2520可以通过检测来自图像采集单元120内的其他相机的、与图像2500同时或接近同时被拍摄的图像中的地标来确定。在一些实例中,交通工具可能不在任何地标或用于确定纵向位置 2520的其他参考点附近。在此类实例中,交通工具可以基于航位推算进行导航,并且因此可以使用传感器确定其自我运动并估计相对于目标轨迹的纵向位置 2520。交通工具还可以确定距离2530,该距离2530表示交通工具与在被捕获的(多个)图像中观察到的车道标记2510之间的实际距离。在确定距离2530 时,可以考虑相机角度、交通工具的速率、交通工具的宽度或各种其他因素。
图25B示出了基于道路导航模型中绘制的车道标记的交通工具的横向定位校正。如上文所描绘,交通工具200可以使用由交通工具200捕获的一个或多个图像确定交通工具200与车道标记2510之间的距离2530。交通工具200也可以具有对道路导航模型的访问权,该到了模型诸如稀疏地图800,其可以包括绘制的车道标记2550和目标轨迹2555。绘制的车道标记2550可以使用上文所描述的技术建模,例如使用由多个交通工具捕获的众包的位置标识符。还可以使用之前描述的各种技术生成目标轨迹2555。如上文关于图25A所描述,交通工具200也可以沿目标轨迹2555确定或估计纵向位置2520。然后,交通工具200可以基于目标轨迹2555与对应于纵向位置2520的绘制的车道标记2550之间的横向距离来确定预期距离2540。交通工具200的横向定位可以通过将使用被捕获的(多个)图像测量的实际距离2530与来自模型的预期距离2540进行比较来校正或调整。
图26A是示出了符合所公开的实施例的用于绘制车道标记以用于自主交通工具导航中使用的示例性过程2600A。在步骤2610,过程2600A可以包括:接收与检测到的车道标记相关联的两个或更多个位置标识符。例如,步骤2610可以由服务器1230或与服务器相关联的一个或多个处理器执行。如上文关于图24E所描述,位置标识符可以包括与检测到的车道标记相关联的点的真实世界坐标中的位置。在一些实施例中,位置标识符还可以包含其他数据,诸如,关于道路段或车道标记的附加信息。在步骤2610期间还可以接收附加数据,诸如,加速度计数据、速率数据、地标数据、道路几何形状或概况数据、交通工具定位数据、自我运动数据或上文所描述的各种其他形式的数据。位置标识符可以由交通工具(诸如,交通工具1205、1210、1215、1220和1225) 基于由交通工具捕获的图像生成。例如,可以基于以下各项来确定标识符:从与主交通工具相关联的相机采集表示主交通工具环境的至少一个图像;分析至少一个图像以检测主交通工具的环境中的车道标记;以及分析对该至少一个图像以确定检测到的车道标记相对于与该主交通工具相关联的位置的位置。如上文所描述,车道标记可以包括各种不同的标记类型,并且位置标识符可以对应于相对于车道标记的各种点。例如,在检测到的车道标记是标记车道边界的虚线的一部分的情况下,这些点可对应于车道标记的检测到的角。在检测到的车道标记是标记车道边界的连续线的一部分的情况下,这些点可以对应于车道标记的检测到的边缘,具有如上文所描述的各种间距。在一些实施例中,如图24C所示,这些点可以对应于检测到的车道标记的中心线,或者如图24D所示,这些点可以对应于两个相交车道标记之间的顶点以及与相交车道标记相关联的至少一个两个其他点。
在步骤2612,过程2600A可以包括:将检测到的车道标记与相应的道路段相关联。例如,服务器1230可以分析在步骤2610期间接收的真实世界坐标或其他信息,并将坐标或其他信息与存储在自主交通工具道路导航模型中的位置信息进行比较。服务器1230可以确定模型中与检测到车道标记之处的真实世界道路段相对应的道路段。
在步骤2614,过程2600A可以包括:基于与检测到的车道标记相关联的两个或更多个位置标识符,更新相对于相应道路段的自主交通工具道路导航模型。例如,自主道路导航模型可以是稀疏地图800,并且服务器1230 可以更新稀疏地图以包括或调整模型中的绘制的车道标记。服务器1230可以基于上文关于图24E描述的各种方法或过程来更新模型。在一些实施例中,更新自主交通工具道路导航模型可以包括:在检测到的车道标记的真实世界坐标中存储一个或多个位置的指示符。如图24E所示,自主交通工具道路导航模型还可以包括至少一个目标轨迹以供交通工具沿相应道路段来遵循。
在步骤2616,过程2600A可以包括:将经更新的自主交通工具道路导航模型分发给多个自主交通工具。例如,服务器1230可以将经更新的自主交通工具道路导航模型分发给交通工具1205、1210、1215、1220和1225,这些交通工具可以使用该模型进行导航。自主交通工具道路导航模型可以经由一个或多个网络(例如,通过蜂窝网络和/或互联网等)、通过无线通信路径 1235来分发,如图12所示。
在一些实施例中,车道标记可以使用从多个交通工具接收的数据 (诸如,通过众包技术,如上文关于图24E所描述)来绘制。例如,过程2600A 可以包括:从第一主交通工具接收第一通信,该第一通信包括与检测到的车道标记相关联的位置标识符;以及从第二主交通工具接收第二通信,该第二通信包括与检测到的车道标记相关联的附加的位置标识符。例如,第二通信可以从在相同道路段上行驶的后续交通工具接收,或从沿相同道路段的后续行程的相同的交通工具接收。过程2600A可以进一步包括:基于在第一通信中接收到的位置标识符并基于在第二通信中接收到的附加的位置标识符来细化对与检测到的车道标记相关联的至少一个位置的确定。这可以包括:使用多个位置标识符的平均值,和/或过滤掉可能不反映车道标记的真实世界位置的“幽灵”标识符。
图26B是示出了用于使用绘制的车道标记来沿道路段自主地导航主交通工具的示例性过程2600B的流程图。过程2600B可以例如由自主交通工具200的处理单元110执行。在步骤2620,过程2600B可以包括:从基于服务器的系统接收自主交通工具道路导航模型。在一些实施例中,自主交通工具道路导航模型可以包括用于主交通工具沿道路段的目标轨迹和与关联于道路段的一个或多个车道标记相关联的位置标识符。例如,交通工具200可以接收稀疏地图800或使用过程2600A形成的另一道路导航模型。在一些实施例中,目标轨迹可以表示为三维样条,例如,如图9B所示。如上文关于图24A-图24F所描述,位置标识符可以包括与车道标记相关联的点(例如,虚线车道标记的角点、连续车道标记的边缘点、两个相交车道标记之间的顶点和与相交车道标记关联的其他点、与车道标记关联的中心线等)的真实世界坐标中的位置。
在步骤2621,过程2600B可以包括:接收表示交通工具的环境的至少一个图像。该图像可以从交通工具的图像捕获设备接收,诸如,通过被包括在图像采集单元120中的图像捕获设备122和124。该图像可以包括一个或多个车道标记的图像,类似于上文所描述的图像2500。
在步骤2622,过程2600B可以包括:确定主交通工具沿目标轨迹的纵向位置。如上文关于图25A所描述,这可以基于被捕获的图像中的其他信息(例如,地标等),或者通过对检测到的地标之间的交通工具进行航位推算。
在步骤2623,过程2600B可以包括:基于主交通工具沿目标轨迹的所确定的纵向位置并且基于与至少一个车道标记相关联的两个或更多个位置标识符,确定到车道标记的预期横向距离。例如,交通工具200可以使用稀疏地图800来确定到车道标记的预期横向距离。如图25B所示,可以在步骤 2622中确定沿目标轨迹2555的纵向位置2520。使用稀疏地图800,交通工具 200可以确定到与纵向位置2520相对应的绘制的车道标记2550的预期距离2540。
在步骤2624,过程2600B可以包括:分析至少一个图像以标识至少一个车道标记。例如,如上文所描述,交通工具200可以使用各种图像识别技术或算法来标识图像内的车道标记。例如,如图25A所示,车道标记2510 可以通过对图像2500的图像分析来检测。
在步骤2625,过程2600B可以包括:基于对至少一个图像的分析确定到至少一个车道标记的实际横向距离。例如,交通工具可以确定表示交通工具与车道标记2510之间的实际距离的距离2530,如图25A所示。在确定距离2530时,可以考虑相机角度、交通工具的速率、交通工具的宽度、相机相对于交通工具的位置或各种其他因素。
在步骤2626,过程2600B可以包括:基于到至少一个车道标记的预期横向距离和到至少一个车道标记的所确定的实际横向距离之间的差异来确定主交通工具的自主操纵动作。例如,如上文关于图25B所描述,交通工具 200可以将实际距离2530与预期距离2540进行比较。实际距离和预期距离之间的差异可指示交通工具的实际位置与要由交通工具遵循的目标轨迹之间的误差(及其幅值)。相应地,交通工具可以基于差异确定自主操纵动作或其他自主动作。例如,如果实际距离2530小于预期距离2540,如图25B所示,则交通工具可以确定自主操纵动作,以引导交通工具离开车道标记2510。因此,交通工具相对于目标轨迹的位置可以被校正。例如,过程2600B可以用于改善交通工具在地标之间的导航。
交通工具定位
如贯穿本公开所描述的,交通工具可以基于传感器数据确定其位置(包括,例如,旋转和/或位置信息)。例如,交通工具可以从交通工具的环境中捕获图像,并为了定位的目的检测环境中的特征。可以将这些特征相对于交通工具的位置与所存储的交通工具导航地图(诸如稀疏地图800)中特征的位置进行比较,以确定交通工具的位置,如上文所所描述的。在一些情境中,仅基于特征检测的交通工具定位可能带来挑战。例如,雨、雾或其他天气状况可能降低交通工具的环境中的能见度,这可能影响导航系统检测和标识图像中的特征的能力。在其他实例中,交通工具的环境中的对象(例如大型卡车等) 可能从相机的视线遮挡特征。如另一示例,在一些区域,诸如农村环境,沿道路的特征可能稀疏,并且基于特征的定位可能仅限于可检测特征的数量。因为确定的交通工具位置用于在瞬间做出导航决策,因此甚至是交通工具定位中的小错误也可能具有严重的后果。
相应地,在一些实施例中,可以使用并行的方法来确定交通工具的位置,该位置可与基于交通工具传感器数据确定的位置进行比较和/或组合。如本文所使用的,并行的方法可以描述由系统执行的两个或更多个方法。在一些实施例中,可以同时执行这些方法,然而,不一定是这样。例如,这些方法可以连续地执行,或者可以至少部分地重叠。一种并行方法可以包括对经训练的模型的使用,该经训练的模型被配置为基于输入图像和交通工具相对于导航地图的位置的近似值来确定交通工具的位置(包括旋转和平移)。该经训练的模型可以输出校正,该校正被应用于近似位置,以提供交通工具的冗余位置,同时需要最小的显式特征检测。这在基于图像内的感测的特征的定位较不可靠的情况下尤其有用,诸如在不利天气状况下或在农村环境中。基于交通工具传感器数据确定的位置可以与交通工具的冗余的基于模型的位置相结合,从而提高交通工具的定位准确度。
图27是符合所公开的实施例的例示用于确定车辆位置的示例过程 2700的框图。过程2700可由沿道路段行驶的主控交通工具(诸如上文所描述的交通工具200)实现。相应地,过程2700可以由自主或半自主交通工具实施,并可以被使用于交通工具的导航。主控交通工具可以被配置为例如使用图像获取单元120从交通工具的环境中捕获图像。主控交通工具可以捕获图像2710,如图27中所示。图像2710可以被输入到基于传感器的定位系统2720中,以确定交通工具的位置2722。基于传感器的定位系统2720可被配置为基于检测图像2710内的特征来确定位置2722。如本文所用,特征可以是交通工具捕获的图像中表示的交通工具的环境中的任何对象。在一些实施例中,特征可以来自预定义对象类的集合。在一些实施例中,预定义对象类是在交通工具导航系统中定义并由交通工具导航系统使用的对象类。例如,这可能包括检测图像 2710中的道路标志、车道标记、道路边缘、方向箭头、导轨、树木或其他特征。在一些实施例中,系统还可以检测未分类的特征,诸如随风飘动的购物袋、放在路上的箱子或其他静止或动态对象。可使用计算机视觉算法和/或机器学习算法来检测此类特征,如上文进一步详细所描述的。可以将这些检测到的特征中的至少一些相对于主控交通工具的位置与沿目标轨迹的道路导航地图中特征的存储位置进行比较。如上文所描述的,所存储的位置可以例如基于交通工具沿道路的先前行驶来确定。在一些实施例中,可以向基于传感器的定位系统 2720提供附加的输入数据2712。输入数据2712可包括除图像2710之外的可用于确定交通工具位置的任何数据。例如,这可能包括附加传感器数据,例如 LIDA(激光雷达)数据、GPS数据、接近度传感器数据、存储或计算的位置数据等等。结果,基于传感器的定位系统2720可以基于图像2710确定主控交通工具的估计位置2722。上文更详细地描述了该过程的附加的方面。
在用于确定主控交通工具位置的并行过程中,可以将图像2710输入到经训练的模型2730中。如上文所描述的,基于经训练的模型2730的主控交通工具的位置可以在与基于传感器的定位系统2720的基础上确定的位置同时确定。在其他实施例中,这些过程可以连续执行。例如,位置2722可以在与经训练的模型2730相关联的过程开始之前确定,反之亦然。在一些实施例中,这些过程可以重叠,或者可以在预定义的时间段内执行。除了图像2710 之外,输入还可以包括输入数据2712,如上文所描述的。在这种情况下,输入数据可以包括与主控交通工具正在行驶所沿的道路导航地图段相关联的标识符。该标识符可包括指示主控交通工具行驶所沿的当前导航地图段的任何信息。例如,标识符可以是段号、段名称或指示该段的其他标识符。在一些实施例中,标识符(或输入数据2712中包括的其他数据)可以包括对交通工具相对于道路导航地图的位置的当前猜测。例如,标识符可以表示为道路导航地图中的特征相对于交通工具的预期位置。特征的示例预期位置在图28中示出,并在下文进一步详细描述。在一些实施例中,该特征信息可以包括在输入数据 2712中,但是可以与标识符分离。经训练的模型2730可以被配置为输出主控交通工具相对于初始猜测的经校正旋转和平移,其可用于确定位置2732。下文描述了关于用于基于经训练的模型2730确定位置2732的过程的附加细节。
然后,可以组合得到的估计位置2722和估计位置2732,以确定主控交通工具的位置2740。位置2722和位置2732可以以各种方式组合。例如,位置2740可能反映位置2722和位置2732的平均值。在一些实施例中,可以加权平均值,使得位置2722或位置2732中的一个对位置2740的确定具有更大的影响。该权重可以基于系统的预设值(例如,针对特定交通工具、环境状况等进行调整),或者可以是可变的。在一些实施例中,可基于上下文因素来确定应用于位置2722和位置2732的权重。例如,在特征的能见度可能受损或较少特征可用的情况下,过程2700可能更严重地依赖位置2732来确定位置 2740。相反,在特征检测可能具有更高程度的准确度的情况下,过程2700可能更严重地依赖位置2722。下文将参照图31更详细地描述可应用于位置2722 和位置2732的加权平均数。
图28是可以用于主控交通工具的定位的、由主控交通工具所捕获的示例图像2800的图示。图像2800可以由主控交通工具的相机捕获,诸如图像捕获设备122、图像捕获设备124和/或图像捕获设备126。在图28所示的示例中,当交通工具沿道路段行驶时,图像可以从主控交通工具的前向相机被捕获。在此示例中,道路段可能包括主控交通工具的当前行驶车道、当前行驶车道左侧的转弯车道和当前车道右侧的附加直行车道。虽然图像2800表示从主控交通工具前部捕获的图像,但相同或类似的过程也可以应用于从其他相机位置捕获的图像,诸如从主控交通工具的侧面或后部捕获的图像。在一些实施例中,如下文进一步讨论的,可以使用多个图像2800。
图像2800可用于根据上述关于过程2700的方法确定主控交通工具的估计位置。相应地,图像2800可对应于图像2710。如图28所示,图像 2800可包括各种特征,该各种特征可被基于传感器的定位系统2720用于确定主控交通工具的位置2722。例如,图像2800可包括道路标志2810、方向箭头 2820和车道标记2830,其可由交通工具导航系统标识并用于确定主控交通工具相对于道路导航地图的位置。还可以使用各种其他特征,诸如坑洞、标杆、道路边缘、中间带、护栏、植被(例如树木等),如贯穿本公开中所描述的。在一些实施例中,可以使用多个图像2800来确定交通工具的位置。例如,这可能包括来自多个相机的图像,或由同一相机捕获的单独图像帧。
图像2800也可以输入到经训练的模型2730中,以确定主控交通工具的位置,而不依赖于检测到的特征2810、特征2820或特征2830的位置。如上文所提到的,主控交通工具的导航系统可以建立相对于道路导航地图的近似位置。例如,近似位置可基于GPS信号、基于航位推算(例如,使用主控交通工具自先前建立的位置起的自我运动)或用于近似交通工具位置的任何其他合适方式来确定。在一些实施例中,这可以包括对多个图像(两个、三个、…、 n个图像)的分析。例如,如果交通工具的位置是相对于前一图像帧建立的,则可以估计交通工具自先前图像帧起的移动,以确定近似位置。此外,还可以使用光流计算来检测主控交通的环境中的道路表面,以及可能的其他结构特征 (三维对象),该光流计算可应用于分析中的多个图像。例如,道路表面(以及可能的其他结构)特征也可用于定位。道路表面信息以及关于环境中的对象的3D信息也可以包含在所有区域或至少一些区域的地图数据中。例如,对于其中就基于对象检测/识别进行准确的和平滑的定位而言环境中的对象的密度过于稀疏的区域,可以包括道路表面信息。
在一些实施例中,经训练的模型2730可以使用多个图像来使用和 /或使用多个图像来训练。例如,从多个图像导出的交通工具的移动、道路表面和3D信息都可以全部由经训练的系统隐式地使用。换句话说,经训练的系统可能不一定使用此类线索作为定位中的显式输入,或者提供它们作为输出。相反,此类特征和可能的其他特征可以在模型的训练期间作为输入被接收,并且可以在使用多个图像时通过推断隐式地在定位期间使用,但可能不被显式地作为经训练的系统的输入或输出提供。
在一些实施例中,导航系统可以将道路导航地图的“二进制掩码”投影到图像2800上。这可能包括将来自道路导航地图的道路边缘、车道标记、道路标志、方向箭头、标杆和/或其他特征覆盖到图像2800上。例如,导航系统可以将道路边缘2830和道路边缘2842、车道标记2844和车道标记2846以及交通标志2848覆盖到图像2800上。在一些实施例中,二进制图像(包括投影特征位置)可以具有与图像2800相同的尺寸。在其他实施例中,二进制图像可以是图像2800的子采样维度。可以基于用于捕获图像2800的相机的已知光学和物理特性,将二进制图像投影到图像2800上。例如,这可能包括镜头焦距、分辨率、颜色模型、压缩、数字变焦、取向、亮度、对比度、饱和度、相机样式或型号,或可能指示投影特征位置应如何覆盖在图像上的任何其他信息。
由于主控交通工具近的似位置的固有误差,二进制掩码中的投影特征可能与图像中的相应特征不完全对准,如图28所示。经训练的模型2730 可经训练,以输出将应用于近似位置的校正。例如,经训练的模型2730可以输出平移和旋转信息,该平移和旋转信息当应用于近似位置时得到估计位置 2732。平移可以包括要应用于近似位置的距离和方向信息。下文提供了有关平移和旋转信息的其他附加细节。
图29示出了符合所公开的实施例的可相对于导航地图段2900为交通工具确定的示例位置。导航地图段2900可以是道路导航模型(诸如,稀疏地图800或各种其他形式的导航模型)的部分。导航地图段2900可以包括沿道路段的对象或特征的各种表示。例如,导航地图段2900可以对应于图像 2800中所表示的道路的部分。相应地,导航地图段2900可以包括道路标志2810 和方向箭头2820的表示,如图所示。导航地图段2900可以包括其他特征的表示,例如道路边缘2840和道路边缘2842,以及车道标记2844和车道标记2846 (和/或2830),然而,为了清晰的目的,这些在图29中被省略。导航地图段 2900可包括一个或多个目标轨迹2910、目标轨迹2912和目标轨迹2914,其可对应于道路段中的行驶的车道。与图28所示的示例图像2800相符合的,主控交通工具可能近似地沿着目标轨迹2912行驶(尽管主控交通工具的精确位置可能不一定与目标轨迹2912一致)。
主控交通工具的导航系统可使用基于传感器的定位系统2720确定定位2722。例如,这可以包括基于图像2800来标识道路标志2810和方向箭头 2820相对于主控交通工具的定位。然后,可以将这些基于传感器的特征定位与导航地图段2900中的特征的定位进行比较,以确定交通工具的估计位置。例如,检测到的道路标志2810和方向箭头2820的位置可以与存储在导航地图段 2900中的道路标志2810和方向箭头2820的位置对准,以确定位置2722。
导航系统还可以基于经训练的模型2730,来将定位2732确定为主控交通工具的冗余位置。作为初始步骤,导航系统可确定对于主控交通工具的近似定位2930。如上文所提到的,这可能基于来自先前建立的位置的航位推算过程。例如,导航系统可以使用传感器数据,诸如GPS信号、加速计数据、接近度传感器等来估计主控交通工具自先前确定的定位起的移动。在一些实施例中,可以假设近似定位2930来与目标轨迹2912对准,尽管这不一定如此。图像2800以及主控交通工具的近似位置2930的指示可以输入到经训练的模型 2730中。在一些实施例中,近似位置2930可以被表示为与图像2800重叠或以其他方式相关联的二进制掩码。例如,二进制掩码可以包括道路边缘2840和道路边缘2842、车道标记2844和车道标记2846和/或交通标志2848。
经训练的模型2730可输出旋转和平移信息,该旋转和平移信息可用于基于近似位置2930确定位置2732。平移信息可以表示为近似位置2930 的定位和位置2732的定位之间的任何关系。在一些实施例中,旋转可以在三维空间中表示。尽管导航地图段2900在图29中通常是显示为二维的,但是元素中的每一个可以用三维表示(例如,表示为3D点、3D样条等)。在一些实施例中,平移信息可以表示为三维向量(例如,基于导航地图段2900的坐标系、真实世界坐标或任何其他合适的坐标系)。本公开不限于任何特定形式的平移信息,并且应理解可以使用各种其他形式。旋转信息可以包括表示近似位置2930与位置2732之间的旋转关系的任何信息。与平移信息类似,旋转信息可以用三维表示。相应地,旋转信息可以相对于主控交通工具的三个自由度(例如俯仰、偏航和滚动)表示。旋转信息可以用度或任何其他合适的格式表示。在一些实施例中,旋转信息可以表示为输入图像和二进制掩码地图投影之间的相对旋转的归一化四元数(quarternion)的对数(例如,表示为Log(Q))。也可以使用纯四分之一或其他标准3D向量。与平移信息一样,旋转信息不限于任何特定格式。
基于位置2722和位置2732,导航系统可确定主控交通工具的细化位置2740。如上文所描述的,可通过考虑位置2722和位置2732来估计细化位置2740。例如,在一些实施例中,细化位置2740可以表示位置2722和位置 2732的平均值(就旋转、平移或两者而言)。在一些实施例中,细化位置2740 可以表示位置2722和位置2732的加权平均值,如上文所提到的,并且如关于图31所进一步详细描述的。出于导航和任何其他相关过程的目的,细化位置2740可用作主控交通工具的位置。例如,导航系统可被配置为基于位置2740 确定主控交通工具的导航动作。导航动作可以包括与主控交通工具沿道路段的移动相关的任何动作。例如,导航动作可以包括制动操纵、加速操纵、换道操纵、转弯操纵、保持当前速度或航向方向或者这些操纵中的一个或多个的组合。
图30是符合所公开的实施例的示出用于训练用于定位冗余的模型的示例训练过程3000的框图。如图30所示出的,训练数据3020可输入到训练算法3030以生成经训练的模型2730。在一些实施例中,训练算法3030可以是人工神经网络。可以使用各种其他机器学习算法,包括逻辑回归、线性回归、回归、随机森林、K-最近邻(KNN)模型(例如上文所描述的)、K-均值模型、决策树、cox比例风险回归模型、朴素贝叶斯模型、支持向量机(SVM)模型,梯度提升算法,或任何其他形式的机器学习模型或算法。训练数据3020可以包括由主控交通工具3010捕获的多个图像、多个相关联的二进制掩码图像和已知误差数据。例如,误差数据可以表示主控交通工具3010的近似位置3014 (以二进制掩码图像表示)与主控交通工具3010的真实位置3012(由捕获的图像表示)之间的已知差异。作为过程3000的结果,经训练的模型2730可以被训练以确定二进制掩码图像与捕获的图像之间的差异,并输出平移和旋转信息以校正误差。
训练数据3020可以以各种方式获取。例如,训练数据可由穿过其中主控交通工具的位置已知的道路段的主控交通工具获取。相应地,可以确定位置3014(以二进制掩码图像表示)和主控交通工具3010的真实位置(由捕获的图像表示)之间的误差。在一些实施例中,可以使用定位正确的图像生成训练数据。例如,可将随机噪声添加到交通工具的旋转和平移定位中,并且可创建具有已知误差的二进制图像。捕获的图像和具有引入误差的二进制图像可以输入到训练算法3030。损失函数可以基于对旋转和平移的预测校正与引入的已知噪声之间的差。可以使用用于生成训练数据的各种其他手段,并且本公开不限于任何形式的训练数据或训练算法。
如上文所讨论的,权重值可应用于基于传感器数据确定的估计位置和基于经训练的模型的估计位置。相应地,或者位置2722,或者位置2732 可能对组合位置2740具有更大的影响。分配给位置2722和位置2732的权重可以以各种方式确定。在一些实施例中,权重可以是预定义的或固定的值。例如,可以调整权重,使得在大多数或所有情境下,得到的位置2740与主控交通工具的真实位置对准。重量可作为导航系统的初始设置阶段的部分、作为维护操作的部分或在各种其他情境下确定。这些权重可以随时间调整或修改。调整可能是一个手动过程,其中用户(例如驾驶员、管理员或其他个人)手动调整权重值。替代地或者附加地,权重可以由导航系统自动调整。例如,作为调整操作的部分,可以输入交通工具的真实位置,并且可以调整权重以使预测位置2740与交通工具的真实位置对准。
如上文所描述的,权重也可能是上下文依赖的。图31是符合所公开的实施例的可以应用于所估计的位置的示例基于上下文的加权的图示。作为说明性示例,权重可以基于图像中特征的能见度而变化。能见度可基于天气状况(例如,雨、雪、雾等),基于相机镜头上的灰尘、水、污垢或其他物质,基于遮挡对于一个或多个特征的视线的对象(例如,挡住道路标志的卡车或火车、覆盖着污垢、雪或碎片的车道标记等)或可能影响图像中特征的能见度的任何其他状况而变化。在正常状况下,如图像3110所示,可以如滑块3122的位置所指示的对位置进行加权。在图31所示的示例中,基于传感器的位置可以被给予比基于经训练的模型确定的位置更大的权重。这可能是由于图像3110 中特征的相对能见度和普遍性。在降低的能见度状况下,如图像3120所表示的,特征中的部分或全部可能更难以检测。例如,雨、雾或雪可能会影响能见度,这可能使检测道路标志2810和其他功能更加困难。因此,基于传感器的定位的准确度可能降低,因为特征的位置可能不太精确,或者可能更少的特征可用于定位过程。这样的实施例中,可以使用改变的加权方案,如滑块3122 的位置所表示的。在本例中,经训练模型可能被给予比基于传感器的定位更多的权重。
滑块3120和滑块3122所表示的权重可以以各种方式确定。在一些实施例中,两种不同的加权方案可用于正常状况和降低的能见度状况。例如,一旦能见度(例如,在能见度距离中测量,可检测的特征的数量等)降到阈值以下,就可以使用由滑块3122表示的加权。在一些实施例中,加权可以基于能见度影响的程度而变化。例如,随着能见度降低,加权可能线性地变化(或指数地变化,在分级尺度上,或根据各种其他函数)。还可以至少部分地基于其他数据来确定权重,诸如天气数据、光传感器数据、挡风玻璃传感器数据或各种其他数据源。在一些实施例中,可以基于交通工具的导航系统外部的数据来确定权重。例如,在一些实施例中,可以从导航信标接收数据,导航信标可以被包括在智能基础设施设备或系统中。该设备可以使用包括激光器(例如,一个、两个或更多个Lidar(激光雷达)单元)的各种传感器相对于已知位置定位交通工具,并将该位置信息传达给主控交通工具。该系统可以各种方式标识交通工具。例如,交通工具可与标识符(例如,全球唯一标识符(“GUID”) 等)相关联。标识符可由交通工具传达至智能基础设施系统,或以其他方式获得(例如,通过OCR或类似手段检测主控交通工具的车牌号)。当交通工具在智能基础设施设备的附近内时,该信息可用于估计基于传感器的定位的准确度,该准确度可确定加权值。来自智能基础设施设备的信息也可用于将误差表征为特定类型的或由特定状况引起的。与上文所描述的固定权重类似,由滑块 3112和滑块3122表示的权重可以由用户手动或由导航系统自动调整。
尽管图像3120显示由于归因于下雨的降低的能见度,但各种其他情境可能影响应用于位置2722和位置2732的权重。例如,权重可以基于图像中检测到的特征的数量而变化。相应地,在呈现较少特征的农村地区,权重可能会转向有利于经训练的模型。在一些实施例中,权重可以基于主控交通工具行驶的地区或区域而变化。例如,地图上的农村地区可能与预定义的加权方案相关联,该方案可能基于交通工具的定位来应用。相应地,权重可以与道路导航模型中的不同段相关联。例如,导航地图段2900可以与预定义的加权方案相关联。作为另一示例,加权方案可能取决于与道路导航地图中的特征的定位相关联的置信水平而变化。例如,与其他地区相比,在特征的定位基于相对较少的先前横穿的道路段的区域,加权值可能改变。一些实施例中,可以从中央服务器(诸如服务器1230)接收权重。可以使用基于上下文调整权重的各种其他因素。
图32是示出符合所公开的实施例的用于标识主控交通工具的环境中的对象的示例过程3200。如上文所描述的,过程3200可以由主控交通工具的至少一个处理设备(诸如处理单元110)执行。应当理解,贯穿本公开,术语“处理器”被用作“至少一个处理器”的简写。换句话说,处理器可以包括执行逻辑操作的一个或多个结构,无论此类结构是并置的、连接的还是已分配的(disbursed)。在一些实施例中,非瞬态计算机可读介质可以包含当由处理器执行时使该处理器执行过程3200的指令。进一步地,过程3200不一定限于图32中所示的步骤,并且在贯穿本公开中描述的各种实施例的任何步骤或过程也可以包括在过程3200中,包括上文关于图27-图31所描述的那些步骤或过程。.
在步骤3210处,过程3200可包括从图像捕获设备接收表示主控交通工具的环境的至少一个图像。例如,如上文所描述的,主控交通工具200 可以接收由图像捕获设备122、图像捕获设备124和图像捕获设备126捕获的图像2800。
在步骤3220处,过程3200可以包括分析至少一个图像,以检测至少一个图像中表示的一个或多个对象的存在。这些对象可包括主控交通工具的环境中的任何对象,可包括交通灯、标志、方向箭头、车道标记、坑洞、标杆、道路边缘、中间带、护栏、植被(例如树木等)或可从图像中检测到的任何其他对象。例如,参考图28,步骤3220可以包括检测道路标志2810、方向箭头2820和车道标记2830。这可包括各种图像处理和/或特征检测算法,如上文所描述的。例如,分析至少一个图像以检测至少一个图像中表示的一个或多个对象的存在,包括基于边缘标识或形状来标识的至少一个对象。这可包括被训练来标识图像中的对象或特征的计算机视觉算法或机器学习模型的使用。在一些实施例中,可以使用多个图像来检测对象。例如,分析至少一个图像以检测至少一个图像中表示的一个或多个对象的存在可以包括从图像捕获设备接收表示主控交通工具的环境的第二图像。然后,步骤3220可以包括基于由至少一个图像与第二图像之间的一个或多个对象的至少一个图像定位变化所表示的一个或多个对象的检测到的运动来检测一个或多个对象。例如,与背景中的对象相比,更靠近交通工具的对象可能在图像帧之间移动得更远,这可能有助于检测该对象。
在步骤3230处,过程3200可以包括基于对至少一个图像的分析来确定与一个或多个被检测的对象相关的位置信息。位置信息可包括可用于相对于道路导航模型定位对象的任何信息。例如,位置信息可以包括检测到的一个或多个对象在下文步骤3240中描述的至少一个导航地图段的坐标中的位置。在一些实施例中,可以相对于主控交通工具确定位置信息。例如,如上文所描述的,位置信息可以基于从主控交通工具到对象的估计距离。
在步骤3240处,过程3200可以包括将与一个或多个检测到的对象相关的位置信息与至少一个导航地图段中表示的一个或多个绘制对象的定位信息进行比较。例如,可以将道路标志2810、方向箭头2820和车道标记2830 的位置信息与导航地图段2900中的所存储的定位信息或这些对象进行比较,如图29中所示出的。至少一个导航地图段可以包括与沿着由至少一个导航地图段表示的道路的行驶的车道相关联的多个目标轨迹。例如,至少一个导航地图段可以包括目标轨迹2910、目标轨迹2912和目标轨迹2914,如图29所示。多个目标轨迹可以在至少一个导航地图段中表示为三维样条,如上文关于图13所描述的。在一些实施例中,多个目标轨迹可以基于在多个交通工具先前穿过道路期间从多个交通工具获取的驾驶信息来确定
在步骤3250处,过程3200可以包括基于比较确定主控交通工具相对于至少一个导航地图段的第一估计位置。例如,如图29所示,步骤3250 可以包括确定位置2722。在一些实施例中,可以通过将为一个或多个检测到的对象确定的位置信息与包括在至少一个导航地图段中的一个或多个绘制对象的位置信息对准来确定第一估计位置。
在步骤3260处,过程3200可以包括向经训练的系统提供至少一个图像的至少部分以及与至少一个导航地图段相关联的至少一标识符。例如,可以将图像2800的至少部分和标识符提供给经训练的模型2730。例如,经训练的系统可能包括学习系统。经训练的系统可以包括神经网络或其他机器学习算法。在一些实施例中,可以至少基于训练数据集合来配置经训练的系统,该训练数据集包括表示相对于训练导航地图段的不同失准程度的多个训练图像。例如,如图30所示,可以基于训练数据3020来训练经训练的系统。在一些实施例中,经训练的系统可以至少基于奖励函数来配置。例如,奖励函数可以奖励经训练的系统以便减少训练图像与训练导航地图段之间的失准。
标识符可以是标识至少一个导航地图段的任何信息。在一些实施例中,标识符可以包括用于导航地图段2900的基于数字或文本的标识符。在一些实施例中,步骤3260可以包括生成表示在至少一个导航地图段中表示的特征的二进制掩码。二进制掩码可以与图像2800一起输入到经训练的系统中。在一些实施例中,如图28所示,二进制掩码可以覆盖在图像2800上。
在步骤3270处,过程3200可包括从经训练的系统接收主控交通工具相对于至少一个导航地图段的第二估计位置。例如,步骤3270可以包括接收估计位置2732,如图29所示。在一些实施例中,可以基于要应用于主控交通工具的近似定位的误差校正来确定估计位置2732。例如,步骤3260可包括输入表示近似位置2930的二进制掩码图像,且经训练的模型2730可输出要应用于近似位置2930的误差校正。基于误差校正,可以确定第二估计位置2732。
在步骤3280处,过程3200可包括基于主控交通工具的第一估计位置和主控交通工具的第二估计位置的组合来确定对于主控交通工具的导航动作。导航动作可能包括主控交通工具进行的与主控交通工具的移动相关的任何动作。例如,导航动作可包括加速主控交通工具、减速主控交通工具或转动主控交通工具中的至少一个。在一些实施例中,确定主控交通工具的导航动作可包括将第一权重值应用于第一估计位置,并将第二权重值应用于第二估计位置。在一些实施例中,第一权重值和第二权重值相等。在其他实施例中,第一权重值和第二权重值中的一个可以大于另一个。例如,第一权重值可能小于第二权重值,反之亦然。
在一些实施例中,第一权重值和第二权重值可以基于上下文,如上文关于图31所描述的。例如,第一权重值和第二权重值可以基于主控交通工具所定位的环境来确定。当主控交通工具被定位在农村环境中时,第一估计位置可能比第二估计位置被更重地加权。相反地,当主控交通工具被定位在城市环境中时,第二估计位置的权重可能比第一估计位置被更重地加权。
作为另一个示例,第一权重值和第二权重值可以基于在至少一个图像中表示的对象的密度。例如,当在至少一个图像中表示的对象的密度低于预定的密度阈值时,第一估计位置可能比第二估计位置被更重地加权。相反地,当在至少一个图像中表示的对象的密度等于或超过预定密度阈值时,第二估计位置的权重可能比第一估计位置被更重地加权。
在一些实施例中,第一权重值和第二权重值可以基于在至少一个图像中表示的不利天气状况(例如,如图31的图像3120所示)。例如,不利天气状况可能包括雨、雪、雾或任何其他可能影响能见度的状况。相应地,第二估计位置的权重可能比第一估计位置被更重地加权。在一些实施例中,第一权重值和第二权重值可以基于在至少一幅图像中表示的主控交通工具环境中的光的水平。当光的水平高于预定阈值时,第一估计位置可能第一估计位置被更重地加权。相反,当光的水平低于预定阈值时,第二估计位置的权重可能比第一估计位置被更重地加权。作为另一个示例,可以基于对象是否在图像中被遮挡来确定权重。例如,至少一个图像可以包括至少部分遮挡的对象的表示,并且第二估计位置可能比第一估计位置被更重地加权。
在一些实施例中,步骤3280还可以包括组合第一估计位置和第二估计位置,以确定主控交通工具相对于至少一个导航地图段的细化估计位置。例如,步骤3280可包括组合位置2722和位置2732以确定细化位置2740。可以基于第一位置和第二位置的平均定位和旋转来确定细化位置。在一些实施例中,如上文所讨论的,通过将第一权重值应用于第一估计位置并将第二权重值应用于第二估计位置来确定细化估计位置。在一些实施例中,主控交通工具的细化估计位置可包括主控交通工具沿包括在至少一个导航地图段中的目标轨迹的位置。例如,细化位置2740可以是主控交通工具沿目标轨迹2912的位置,如图29中所示。如上文所描述的,目标轨迹可能与可用的行驶车道相关联。在一些实施例中,目标轨迹可以表示为至少一个导航地图段中的三维样条。
在步骤3290处,过程3200可包括使主控交通工具实现确定的导航动作。这可能包括发送信号以激活主控交通工具的转向机构、制动机构、加速器或其他机构。在一些实施例中,导航动作可以是用于保持交通工具的当前航向和/或速度。相应地,实现所确定的导航动作可以包括不激活转向或制动机构。
前述描述已经出于说明的目的被呈现。其并非是穷尽性的,并且不限于所公开的精确形式或实施例。通过考虑说明书和所公开的实施例的实施,修改和改编对于本领域技术人员来说将是显而易见的。另外,尽管所公开的实施例的方面被描述为存储在存储器中,但本领域技术人员将会领会,这些方面也可以存储在其他类型的计算机可读介质上,诸如,辅助存储设备,例如,硬盘或CD ROM,或其他形式的RAM或ROM、USB介质、DVD、蓝光、4K 超高清蓝光或其他光驱介质。
基于书面描述和所公开的方法的计算机程序在经验丰富的开发人员的技能范围内。各种程序或程序模块可以使用本领域技术人员已知的任何技术来创建,或者可以结合现有软件来设计。例如,程序段或程序模块可以通过或借助.NET框架和.NET紧凑框架(以及相关语言,诸如Visual Basic、C等)、 java、C++、面向对象的C、HTML、HTML/AJAX组合、XML或包括Java小程序的HTML来设计。
此外,尽管本文已经描述了说明性实施例,但是本领域技术人员基于本公开将会领会具有的等效的要素、修改、省略、组合(例如,跨各个实施例的方面的组合)、改编和/或变更的任何和所有实施例的范围。权利要求中的限制将基于权利要求中使用的语言进行广义解释,而不限于在本说明书中或在本申请的审查期间描述的示例。这些示例将被解释为非排他性的。此外,可以以任何方式修改所公开方法的步骤,包括通过对步骤重新排序、插入步骤和/ 或删除步骤。因此,本说明书和示例旨在仅被视为说明性的,其中真正的范围和精神由所附权利要求及其等效方案的全部范围来指示。

Claims (34)

1.一种用于主控交通工具的导航系统,所述系统包括:
至少一个处理器,所述至少一个处理器被编程为:
从图像捕获设备接收表示所述主控交通工具的环境的至少一个图像;
分析所述至少一个图像以检测所述至少一个图像中表示的一个或多个对象的存在;
基于对所述至少一个图像的分析,确定与所述一个或多个检测到的对象相关的位置信息;
将与所述一个或多个检测到的对象相关的所述位置信息与至少一个导航地图段中表示的一个或多个绘制对象的定位信息进行比较;
基于所述比较,确定所述主控交通工具相对于所述至少一个导航地图段的第一估计位置;
向经训练的系统提供所述至少一个图像的至少部分以及至少与所述至少一个导航地图段相关联的至少一标识符;
从所述经训练的系统接收所述主控交通工具相对于所述至少一个导航地图段的第二估计位置。
基于所述主控交通工具的所述第一估计位置和所述主控交通工具的所述第二估计位置的组合来确定所述主控交通工具的导航动作;以及
引起所述主控交通工具实现所确定的导航动作。
2.如权利要求1所述的系统,其中,所述位置信息包括所述检测到的一个或多个对象在所述至少一个导航地图段的坐标中的定位。
3.如权利要求1所述的系统,其中,所述至少一个导航地图段包括多个目标轨迹,所述目标轨迹与沿由所述至少一个导航地图段表示的道路的行驶车道相关联。
4.如权利要求3所述的系统,其中,所述多个目标轨迹中的每一个在所述至少一个导航地图段中被表示为三维样条。
5.如权利要求3所述的系统,其中,所述多个目标轨迹是基于在多个交通工具先前穿过道路期间从所述多个交通工具获取的驾驶信息来确定的。
6.如权利要求1所述的系统,其中,确定所述主控交通工具的所述导航动作包括将第一权重值应用于所述第一估计位置,以及将第二权重值应用于所述第二估计位置。
7.如权利要求6所述的系统,其中,所述第一权重值和所述第二权重值相等。
8.如权利要求6所述的系统,其中,所述第一权重值小于所述第二权重值。
9.如权利要求6所述的系统,其中,所述第一权重值和所述第二权重值是基于所述主控交通工具所定位的环境来确定的。
10.如权利要求9所述的系统,其中,所述主控交通工具被定位在农村环境中,并且所述第一估计位置比所述第二估计位置被更重地加权。
11.如权利要求9所述的系统,其中,所述主控交通工具被定位在农村环境中,并且所述第二估计位置比所述第一估计位置被更重地加权。
12.如权利要求6所述的系统,其中,所述第一权重值和所述第二权重值基于所述至少一个图像中表示的对象的密度。
13.如权利要求12所述的系统,其中,所述至少一幅图像中表示的所述对象的密度低于预定的密度阈值,并且所述第一估计位置比所述第二估计位置被更重地加权。
14.如权利要求12所述的系统,其中,所述至少一个图像中表示的所述对象的密度等于或超过预定的密度阈值,并且所述第二估计位置比所述第一估计位置被更重地加权。
15.如权利要求6所述的系统,其中,所述第一权重值和所述第二权重值基于所述至少一个图像中表示的不利天气状况,并且所述第二估计位置比所述第一估计位置被更重地加权。
16.如权利要求15所述的系统,其中,所述不利天气状况包括雨、雪或雾。
17.如权利要求6所述的系统,其中,所述第一权重值和所述第二权重值基于所述至少一个图像中表示的主控交通工具的所述环境中的光的水平。
18.如权利要求17所述的系统,其中,光的所述水平高于预定阈值,并且所述第一估计位置的权重大于所述第一估计位置。
19.如权利要求17所述的系统,其中,所述光的水平低于预定阈值,并且所述第二估计位置比所述第一估计位置被更重地加权。
20.如权利要求6所述的系统,其中,所述至少一幅图像包括至少部分遮挡的对象的表示,并且所述第二估计位置比所述第一估计位置被更重地加权。
21.如权利要求1所述的系统,其中,所述至少一个处理器被进一步编程以组合所述第一估计位置和所述第二估计位置,以确定所述主控交通工具相对于所述至少一个导航地图段的细化估计位置。
22.如权利要求21所述的系统,其中,所述细化估计位置是通过将第一权重值应用于所述第一估计位置,以及将第二权重值应用于所述第二估计位置来确定的。
23.如权利要求21所述的系统,其中,所述主控交通工具的所述细化估计位置包括所述主控交通工具沿所述至少一个导航地图段中包含的目标轨迹的位置。
24.如权利要求23所述的系统,其中,所述目标轨迹与可用的行驶车道相关联。
25.如权利要求23所述的系统,其中,所述目标轨迹在所述至少一个导航地图段中被表示为三维样条。
26.如权利要求1所述的系统,其中,分析所述至少一幅图像以检测所述至少一幅图像中表示的所述一个或多个对象的存在,包括基于边缘标识或形状来标识至少一个对象。
27.如权利要求1所述的系统,其中,分析所述至少一个图像以检测所述至少一个图像中表示的一个或多个对象的所述存在,包括从所述图像捕获设备接收表示所述主控交通工具的所述环境的第二图像;以及基于由所述至少一个图像与所述第二图像之间的所述一个或多个对象的至少一个图像定位变化表示的所述一个或多个对象的检测到的运动来检测所述一个或多个对象。
28.如权利要求1所述的系统,其中,所述至少一个处理器被进一步编程以通过将为所述一个或多个检测到的对象确定的所述位置信息与所述至少一个导航地图段中包括的所述一个或多个绘制对象的所述位置信息进行对准来确定所述第一估计位置。
29.如权利要求1所述的系统,其中,所述经训练的系统是至少基于训练数据集合进行配置的,所述训练数据集合包括表示相对于训练导航地图段的不同失准程度的多个训练图像。
30.如权利要求1所述的系统,其中,所述经训练的系统至少基于奖励函数进行配置。
31.如权利要求1所述的系统,其中,所述检测到的一个或多个对象包括交通灯、标志、道路边缘、车道标志或标杆中的一者或多者。
32.如权利要求1所述的系统,其中,所述经训练的系统包括神经网络。
33.如权利要求1所述的系统,其中,所述导航动作包括以下各项中的至少一项:加速所述主控交通工具、减速所述主控交通工具或转向所述主控交通工具。
34.一种用于交通工具导航的方法,所述方法包括:
从图像捕获设备接收表示主控交通工具的环境的至少一个图像;
分析所述至少一个图像以检测在所述至少一个图像中表示的一个或多个对象的存在;
基于对所述至少一个图像的分析,确定与所述一个或多个检测到的对象相关的位置信息;
将与所述一个或多个检测到的对象相关的所述位置信息与至少一个导航地图段中表示的一个或多个绘制对象的位置信息进行比较;
基于所述比较,确定所述主控交通工具相对于所述至少一个导航地图段的第一估计位置。
向经训练的系统提供所述至少一个图像的至少部分和与所述至少一个导航地图段相关联的至少一标识符;
从所述经训练的系统接收所述主控交通工具相对于所述至少一个导航地图段的第二估计位置;
基于所述主控交通工具的所述第一估计位置和所述主控交通工具的所述第二估计位置的组合来确定所述主控交通工具的导航动作;以及
引起所述主控交通工具实现所述确定的导航动作。
CN202080070956.2A 2019-10-08 2020-10-08 用于交通工具导航的系统和方法 Pending CN114514411A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962912328P 2019-10-08 2019-10-08
US62/912,328 2019-10-08
PCT/IB2020/000833 WO2021069967A1 (en) 2019-10-08 2020-10-08 Systems and methods for vehicle navigation

Publications (1)

Publication Number Publication Date
CN114514411A true CN114514411A (zh) 2022-05-17

Family

ID=73040151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080070956.2A Pending CN114514411A (zh) 2019-10-08 2020-10-08 用于交通工具导航的系统和方法

Country Status (5)

Country Link
US (1) US20210101616A1 (zh)
EP (1) EP4042109A1 (zh)
JP (1) JP7582736B2 (zh)
CN (1) CN114514411A (zh)
WO (1) WO2021069967A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115392111A (zh) * 2022-07-27 2022-11-25 交控科技股份有限公司 一种列车追踪控制方法、设备、存储介质
CN115574843A (zh) * 2022-10-28 2023-01-06 中煤科工集团上海有限公司 采煤机惯性导航精度测评系统及测评方法、移动载体

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201410612D0 (en) * 2014-06-13 2014-07-30 Tomtom Int Bv Methods and systems for generating route data
DE102017205647A1 (de) * 2017-03-14 2018-09-20 Bitmanagement Software GmbH Verfahren zum bestimmen eines pfades entlang eines objekts, system und verfahren zum automatischen inspizieren eines objekts
CN109923488A (zh) * 2017-04-27 2019-06-21 深圳市大疆创新科技有限公司 使用可移动物体生成实时地图的系统和方法
US11403816B2 (en) * 2017-11-30 2022-08-02 Mitsubishi Electric Corporation Three-dimensional map generation system, three-dimensional map generation method, and computer readable medium
FR3084631B1 (fr) * 2018-07-31 2021-01-08 Valeo Schalter & Sensoren Gmbh Assistance a la conduite pour le controle longitudinal et/ou lateral d'un vehicule automobile
US11577757B2 (en) * 2019-11-01 2023-02-14 Honda Motor Co., Ltd. System and method for future forecasting using action priors
CN117053814A (zh) * 2020-03-30 2023-11-14 御眼视觉技术有限公司 使用电子地平线导航交通工具
CN111780981B (zh) * 2020-05-21 2022-02-18 东南大学 一种智能车辆编队变道性能测评方法
CN115769050A (zh) * 2020-07-07 2023-03-07 株式会社电装 本车位置估计装置、行驶控制装置
US20220185315A1 (en) * 2020-12-15 2022-06-16 Uber Technologies, Inc. Authentication of Autonomous Vehicle Travel Networks
JP7164639B2 (ja) * 2021-01-12 2022-11-01 本田技研工業株式会社 車両システム
JP7164640B2 (ja) * 2021-01-12 2022-11-01 本田技研工業株式会社 車両システム
EP4075338B1 (de) * 2021-04-13 2025-06-11 Robert Bosch GmbH Schneller und energiesparender iterativer betrieb künstlicher neuronaler netzwerke
JP7505443B2 (ja) * 2021-05-07 2024-06-25 トヨタ自動車株式会社 遠隔監視装置、遠隔監視システム、遠隔監視方法、及び遠隔監視プログラム
JP6968475B1 (ja) * 2021-06-03 2021-11-17 望 窪田 情報処理方法、プログラム及び情報処理装置
US20240210204A1 (en) * 2021-06-30 2024-06-27 Grabtaxi Holdings Pte. Ltd. Server and method for generating road map data
JP2023019930A (ja) * 2021-07-30 2023-02-09 キヤノン株式会社 情報処理装置、移動体、情報処理装置の制御方法およびプログラム
US11845443B2 (en) * 2021-09-01 2023-12-19 GM Global Technology Operations LLC Geometry-based model for road edge detection at intersections
WO2023073428A1 (en) * 2021-10-28 2023-05-04 Mobileye Vision Technologies Ltd. Stereo-assist network for determining an object's location
CN114169463B (zh) * 2021-12-17 2025-06-13 云控智行(上海)汽车科技有限公司 一种自主预测车道信息模型训练方法及装置
DE102022102567B4 (de) 2022-02-03 2024-08-14 Cariad Se Verfahren und Prozessorschaltung zum Lokalisieren eines Kraftfahrzeugs in einer Umgebung während einer Fahrt sowie entsprechend ausgestattetes Kraftfahrzeug
CN114529662B (zh) * 2022-02-18 2025-05-06 腾讯科技(深圳)有限公司 底图渲染效果的检测方法、装置、设备及存储介质
WO2023168262A2 (en) * 2022-03-01 2023-09-07 Mobileye Vision Technologies Ltd. Machine learning-based traffic light relevancy mapping
CN114739419B (zh) * 2022-03-22 2025-06-17 北京百度网讯科技有限公司 引导点的处理方法和装置
CN114821531B (zh) * 2022-04-25 2023-03-28 广州优创电子有限公司 基于电子外后视镜adas的车道线识别图像显示系统
CN116758106B (zh) * 2023-07-13 2024-02-27 江苏中天吉奥信息技术股份有限公司 基于无人机的水流登记单元界线核实方法
US20250074430A1 (en) * 2023-08-30 2025-03-06 Mercedes-Benz Group AG Private Model Syncing Between Vehicles Based on Isometric Context Transformations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8630795B2 (en) * 1999-03-11 2014-01-14 American Vehicular Sciences Llc Vehicle speed control method and arrangement
US8675995B2 (en) * 2004-07-09 2014-03-18 Terrago Technologies, Inc. Precisely locating features on geospatial imagery
KR102263185B1 (ko) * 2013-11-05 2021-06-10 현대모비스 주식회사 차량의 위치 결정 방법
CN118816852A (zh) * 2015-02-10 2024-10-22 御眼视觉技术有限公司 用于自主车辆导航的稀疏地图
CN108431549B (zh) * 2016-01-05 2020-09-04 御眼视觉技术有限公司 具有施加的约束的经训练的系统
US9796390B2 (en) * 2016-02-29 2017-10-24 Faraday&Future Inc. Vehicle sensing grid having dynamic sensing cell size
US10474162B2 (en) * 2016-07-01 2019-11-12 Uatc, Llc Autonomous vehicle localization using passive image data
CN116892952A (zh) * 2016-07-21 2023-10-17 御眼视觉技术有限公司 一种生成道路导航模型的方法、系统和计算机可读介质
WO2018090308A1 (en) * 2016-11-18 2018-05-24 Intel Corporation Enhanced localization method and apparatus
KR102745668B1 (ko) * 2016-12-09 2024-12-23 톰톰 글로벌 콘텐트 비.브이. 비디오 기반 위치결정 및 매핑을 위한 방법 및 시스템
WO2018175441A1 (en) * 2017-03-20 2018-09-27 Mobileye Vision Technologies Ltd. Navigation by augmented path prediction
US10209089B2 (en) * 2017-04-03 2019-02-19 Robert Bosch Gmbh Automated image labeling for vehicles based on maps
GB2568286B (en) * 2017-11-10 2020-06-10 Horiba Mira Ltd Method of computer vision based localisation and navigation and system for performing the same
DE102019207087A1 (de) * 2019-05-15 2020-11-19 HELLA GmbH & Co. KGaA Lokalisierung einer mobilen Einheit
JP7358108B2 (ja) * 2019-07-31 2023-10-10 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115392111A (zh) * 2022-07-27 2022-11-25 交控科技股份有限公司 一种列车追踪控制方法、设备、存储介质
CN115392111B (zh) * 2022-07-27 2023-07-14 交控科技股份有限公司 一种列车追踪控制方法、设备、存储介质
CN115574843A (zh) * 2022-10-28 2023-01-06 中煤科工集团上海有限公司 采煤机惯性导航精度测评系统及测评方法、移动载体

Also Published As

Publication number Publication date
JP7582736B2 (ja) 2024-11-13
EP4042109A1 (en) 2022-08-17
US20210101616A1 (en) 2021-04-08
JP2022553491A (ja) 2022-12-23
WO2021069967A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
US12125231B2 (en) Using mapped lane width to determine navigational parameters
JP7582736B2 (ja) 車両ナビゲーション用のシステム、方法およびプログラム
CN112204349B (zh) 用于车辆导航的系统和方法
EP4078088B1 (en) Vehicle navigation with view of partially occluded pedestrians
CN113874683A (zh) 用于车辆导航的系统和方法
CN113924462A (zh) 用于确定物体尺寸的导航系统和方法
CN116802461A (zh) 用于基于地图的真实世界建模的系统和方法
CN115151454A (zh) 用于选择性地使交通工具减速的系统和方法
CN117651668A (zh) 用于监测车道标记质量的系统和方法
CN118829954A (zh) 众包的转弯指示器
CN119445877A (zh) 交通灯取向的网络
CN118435250A (zh) 用于确定对象的位置的立体辅助网络
US20240029446A1 (en) Signature network for traffic sign classification
CN120274773A (zh) 用于对主车辆进行导航的系统和方法
CN120065248A (zh) 用于车辆导航的伪激光雷达数据生成

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination