CN114729806A - 用于检测交通工具车轮滑移的***和方法 - Google Patents

用于检测交通工具车轮滑移的***和方法 Download PDF

Info

Publication number
CN114729806A
CN114729806A CN202180006406.9A CN202180006406A CN114729806A CN 114729806 A CN114729806 A CN 114729806A CN 202180006406 A CN202180006406 A CN 202180006406A CN 114729806 A CN114729806 A CN 114729806A
Authority
CN
China
Prior art keywords
vehicle
wheel
images
road
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180006406.9A
Other languages
English (en)
Inventor
M·沈夫莱德
G·奥斯卡
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 CN114729806A publication Critical patent/CN114729806A/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/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/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, segments such as motorways, toll roads, ferries
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/22Conjoint control of vehicle sub-units of different type or different function including control of suspension systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/02Control of vehicle driving stability
    • 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/18172Preventing, or responsive to skidding of wheels
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future conditions
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • 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/0015Planning or execution of driving tasks specially adapted for safety
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1656Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/26Wheel slip
    • 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
    • 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
    • B60W2756/00Output or target parameters relating to data
    • B60W2756/10Involving external transmission of data to or from the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

本公开涉及用于标识车轮滑移状况的***(100)和方法。在一个实现中,处理器(110)可接收由交通工具(200)的图像捕获装置所获取的多个图像帧。处理器(110)还可基于对图像的分析来确定交通工具(200)的运动的一个或多个指示符;并且确定对应于交通工具(200)的运动的预测车轮旋转。处理器(110)可进一步:接收传感器输出,所述传感器输出指示与车轮关联的测量车轮旋转;以及针对车轮将预测车轮旋转与测量车轮旋转进行比较。处理器(110)另外可基于预测车轮旋转与测量车轮旋转之间的差异来检测车轮滑移状况车轮;并且响应于与车轮关联的所检测车轮滑移状况而发起至少一个导航动作。

Description

用于检测交通工具车轮滑移的***和方法
相关申请的交叉引用
本申请要求美国临时专利申请No. 63/042,155(于2020年6月22日提交)以及美国临时专利申请No. 63/052,542(于2020年7月16日提交)的优先权的权益。前述申请通过引用以其整体而被结合在本文中。
技术领域
本公开一般涉及用于交通工具导航的图像分析***和方法。
背景技术
随着技术不断进步,能够在道路上导航的全自主交通工具的目标即将实现。自主交通工具可能需要考虑多种因素,并且基于那些因素做出适当判定,以安全且准确地到达预计目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如从摄像机所捕获的信息),并且还可能使用从其它来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所获得的信息。同时,为了导航到目的地,自主交通工具还可能需要标识它在特定道路内的位置(例如多车道道路内的特定车道),与其它交通工具并排导航,避开障碍物和行人,观察交通信号和标志,并且在适当十字路口或立交桥从一个道路行驶到另一个道路。利用和解释由自主交通工具在交通工具行驶到其目的地时所收集的大量信息造成许多设计挑战。自主交通工具可能需要分析、访问和/或存储的大量数据(例如所捕获的图像数据、地图数据、GPS数据、传感器数据等)造成实际上可能限制或者甚至不利地影响自主导航的挑战。此外,如果自主交通工具依靠传统绘图技术进行导航,则存储和更新地图所需的大量数据造成巨大挑战。
发明内容
根据本公开的实施例提供了用于自主交通工具导航的***和方法。所公开的实施例可以使用摄像机来提供自主交通工具导航特征。例如,根据所公开的实施例,所公开的***可以包括监测交通工具的环境的一个、两个或更多个摄像机。所公开的***可以基于例如对由摄像机中的一个或多个摄像机所捕获的图像的分析来提供导航响应。
在实施例中,提供了一种用于导航交通工具的***可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收由与所述交通工具关联的图像捕获装置所获取的多个图像帧,其中所述多个图像帧表示所述交通工具的环境;基于对所述多个图像中的两个或更多个图像的分析来确定所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的捕获时间的运动的一个或多个指示符;对于所述交通工具的至少一个车轮来确定对应于所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的所述捕获时间的所述运动的预测车轮旋转;接收一个或多个传感器输出,所述一个或多个传感器输出指示与所述交通工具的所述至少一个车轮关联的测量车轮旋转;针对所述交通工具的所述至少一个车轮将所述预测车轮旋转与所述测量车轮旋转进行比较;基于所述预测车轮旋转与所述测量车轮旋转之间的差异来检测与所述交通工具的所述至少一个车轮关联的车轮滑移状况;以及响应于与所述交通工具的所述至少一个车轮关联的所检测车轮滑移状况而发起至少一个导航动作。
在实施例中,提供了一种用于导航交通工具的方法。所述方法包括:接收由与所述交通工具关联的图像捕获装置所获取的多个图像帧,其中所述多个图像帧表示所述交通工具的环境;基于对所述多个图像中的两个或更多个图像的分析来确定所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的捕获时间的运动的一个或多个指示符;对于所述交通工具的至少一个车轮来确定对应于所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的所述捕获时间的所述运动的预测车轮旋转;接收一个或多个传感器输出,所述一个或多个传感器输出指示与所述交通工具的所述至少一个车轮关联的测量车轮旋转;针对所述交通工具的所述至少一个车轮将所述预测车轮旋转与所述测量车轮旋转进行比较;基于所述预测车轮旋转与所述测量车轮旋转之间的差异来检测与所述交通工具的所述至少一个车轮关联的车轮滑移状况;以及响应于与所述交通工具的所述至少一个车轮关联的所检测车轮滑移状况而发起至少一个导航动作。
在实施例中,一种基于服务器的导航***可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:从多个采集交通工具接收与至少一个车轮关联的所检测车轮滑移状况的指示符;使所检测车轮滑移状况的所述指示符关于一个或多个地理位置相互关连;以及基于所检测车轮滑移状况关于一个或多个地理位置的经相互关连指示符来生成导航信息并向至少一个实体传送所述导航信息。
在实施例中,一种方法可包括:从多个采集交通工具接收与至少一个车轮关联的所检测车轮滑移状况的指示符;使所检测车轮滑移状况的所述指示符关于一个或多个地理位置相互关连;以及基于所检测车轮滑移状况关于一个或多个地理位置的经相互关连指示符来生成导航信息并向至少一个实体传送所述导航信息。
根据其它所公开的实施例,非暂时性计算机可读存储介质可以存储程序指令,所述程序指令由至少一个处理器执行并且执行本文描述的方法中的任一项。
前面的一般描述和下面的详细描述仅是示例性和解释性的,并不是限制权利要求。
附图说明
结合在本公开中并且构成本公开的一部分的附图示出各个所公开实施例。在附图中:
图1是按照所公开实施例的示例性***的图解表示。
图2A是包括按照所公开实施例的***的示例***通工具的图解侧视图表示。
图2B是按照所公开实施例、图2所示的交通工具和***的图解顶视图表示。
图2C是包括按照所公开实施例的***的交通工具的另一个实施例的图解顶视图表示。
图2D是包括按照所公开实施例的***的交通工具的又一个实施例的图解顶视图表示。
图2E是包括按照所公开实施例的***的交通工具的又一个实施例的图解顶视图表示。
图2F是按照所公开实施例的示例***通工具控制***的图解表示。
图3A是按照所公开实施例、包括后视镜以及用于交通工具成像***的用户接口的交通工具内部的图解表示。
图3B是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图3C是按照所公开实施例、从不同角度的图3B所示摄像机支架的图示。
图3D是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图4是按照所公开实施例、配置成存储用于执行一个或多个操作的指令的存储器的示例性框图。
图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。
图5B是示出按照所公开实施例、检测图像集合中的一个或多个交通工具和/或行人的示例性过程的流程图。
图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示例性过程的流程图。
图5D是示出按照所公开实施例、检测图像集合中的交通灯的示例性过程的流程图。
图5E是示出按照所公开实施例、基于交通工具路径来引起一个或多个导航响应的示例性过程的流程图。
图5F是示出按照所公开实施例、确定前行交通工具(leading vehicle)是否正变更车道的示例性过程的流程图。
图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示例性过程的流程图。
图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示例性过程的流程图。
图8A示出按照所公开实施例的路段的一部分的多项式表示。
图8B示出按照所公开实施例的三维空间中的曲线,该曲线表示稀疏地图中包含的交通工具对特定路段的目标轨迹。
图9A示出按照所公开实施例的轨迹的多项式表示。
图9B和图9C示出按照所公开实施例、沿多车道道路的目标轨迹。
图9D示出按照所公开实施例的示例道路签名简档。
图10示出按照所公开实施例、通过多个三维样条所表示的示例自主交通工具道路导航模型。
图11示出按照所公开实施例、从组合来自多次驾驶的位置信息所生成的地图概略图(map skeleton)。
图12是按照所公开实施例的示例性***的图解表示。
图13是按照所公开实施例、包括在两个不同时间点的交通工具的表示的道路的示意图。
图14示出按照本公开、包含软件模块的存储器的示例性实施例。
图15是示出按照所公开实施例、用于基于所检测滑移状况来导航交通工具的示例过程的流程图。
图16是按照所公开实施例、包括先前驾驶的表示的道路的示意图。
图17是示出按照所公开实施例、用于使用众包来生成与所检测滑移状况关联的导航信息的示例过程的流程图。
具体实施方式
以下详细描述参照附图。在可能的情况下,相同参考标号在附图和以下描述中用来表示相同或相似部件。虽然本文描述若干说明性实施例,但是修改、自适应和其它实现是可能的。例如,可对附图所示的组件进行置换、添加或修改,并且可通过对所公开方法置换、重排序、去除或添加步骤来修改本文所述的说明性方法。相应地,以下详细描述并不局限于所公开的实施例和示例。适当范围而是通过所附权利要求书来限定。
自主交通工具概述
如本公开通篇所使用的术语“自主交通工具”表示能够在无需驾驶员输入的情况下实现至少一个导航变更的交通工具。“导航变更”表示交通工具的转向、制动或者加速度的一个或多个的变化。要成为自主的,交通工具无需是全自动的(例如没有驾驶员或者没有驾驶员输入的全面操作)。自主交通工具而是包括能够在某些时间段期间在驾驶员控制下以及在其它时间段期间在没有驾驶员控制的情况下进行操作的那些交通工具。自主交通工具还可包括一些交通工具,所述交通工具仅控制交通工具导航的一些方面,例如转向(例如以将交通工具路线保持在交通工具车道约束之间),而可将其它方面留给驾驶员(例如制动)。在一些情况下,自主交通工具可操控交通工具的制动、速度控制和/或转向的部分或全部方面。
由于人类驾驶员通常依靠视觉线索和观察顺序来控制交通工具,因此相应地构建运输基础设施,其中车道标记、交通标志和交通灯全部设计成向驾驶员提供视觉信息。鉴于运输基础设施的这些设计特性,自主交通工具可包括摄像机和处理单元,该处理单元分析从交通工具的环境所捕获的视觉信息。视觉信息可包括例如驾驶员可观察的运输基础设施的组件(例如车道标记、交通标志、交通灯等)以及其它障碍物(例如其它交通工具、行人、碎片等)。另外,自主交通工具还可使用所存储信息,例如在导航时提供交通工具环境的模型的信息。例如,交通工具可在正行驶的同时使用GPS数据、传感器数据(例如来自加速计、速度传感器、悬架传感器等)和/或其它地图数据来提供与其环境相关的信息,并且交通工具(以及其它交通工具)可使用该信息在模型上定位自身。
在本公开的一些实施例中,自主交通工具可使用进行导航的同时所获得(例如来自摄像机、GPS装置、加速计、速度传感器、悬架传感器等)的信息。在其它实施例中,自主交通工具可在进行导航的同时使用交通工具(或其它交通工具)从以往导航所获得的信息。在又一些实施例中,自主交通工具可使用进行导航的同时所获得的信息以及从以往导航所获得的信息的组合。以下部分提供按照所公开实施例的概述,之后接着按照该***的前向成像***和方法的概述。以下部分公开用于构建、使用和更新自主交通工具导航的稀疏地图的***和方法。
***概述
图1是按照所公开示例性实施例的***100的框图表示。***100根据特定实现的要求可包括各种组件。在一些实施例中,***100可包括处理单元110、图像获取单元120、位置传感器130、一个或多个存储器单元140和150、地图数据库160、用户接口170和无线收发器172。处理单元110可包括一个或多个处理装置。在一些实施例中,处理单元110可包括应用处理器180、图像处理器190或者任何其它适当处理装置。类似地,图像获取单元120根据特定应用的要求可包括任何数量的图像获取装置和组件。在一些实施例中,图像获取单元120可包括一个或多个图像捕获装置(例如摄像机),例如图像捕获装置122、图像捕获装置124和图像捕获装置126。***100还可包括数据接口128,该数据接口128在通信上将处理单元110连接到图像获取装置120。例如,数据接口128可包括一个或多个任何有线和/或无线链路,以用于将图像获取装置120所获取的图像数据传送给处理单元110。
无线收发器172可包括一个或多个装置,所述装置配置成通过使用射频、红外频率、磁场或电场经由空中接***换对一个或多个网络(例如蜂窝、因特网等)的传输。无线收发器172可使用任何已知标准来传送和/或接收数据(例如Wi-Fi、Bluetooth®、BluetoothSmart、802.15.4、ZigBee等)。这类传输能够包括从主交通工具到一个或多个远程定位服务器的通信。这类传输还可包括主交通工具与主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如以促进考虑到或者连同主交通工具的环境中的目标交通工具一起的主交通工具的导航的协调)或者甚至对发射交通工具附近的未指定接收方的广播传输。
应用处理器180和图像处理器190均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190的任一个或两者均可包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理器(CPU)、支持电路、数字信号处理器、集成电路、存储器或者适合于运行应用并且适合于图像处理和分析的任何其它类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理器等。可使用各种处理装置,包括例如从诸如Intel®、AMD®等的制造商可获得的处理器或者从诸如NVIDIA®、ATI®等的制造商可获得的GPU,并且可包括各种架构(例如x86处理器、ARM®等)。
在一些实施例中,应用处理器180和/或图像处理器190可包括从Mobileye®可获得的EyeQ系列的处理器芯片的任一个。这些处理器设计各自包括多个处理单元,其中具有本地存储器和指令集。这类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,EyeQ2®使用工作在332 Mhz的90 nm-微技术。EyeQ2®架构包括两个浮点超线程32位RISC CPU(MIPS32® 34K®核心)、五个视觉计算引擎(VCE)、三个向量微码处理器(VMP®)、Denali 64位移动DDR控制器、128位内部Sonics互连、双16位视频输入和18位视频输出控制器、 16通道DMA和若干外设。MIPS34K CPU管理五个VCE、三个VMP™和DMA、第二MIPS34K CPU和多通道DMA以及其它外设。五个VCE、三个VMP®和MIPS34K CPU能够执行多功能捆绑应用所要求的密集视觉计算。在另一个示例中,EyeQ3®是第三代处理器并且比EyeQ2®要强六倍,它可用于所公开实施例中。在其它示例中,EyeQ4®和/或EyeQ5®可用于所公开实施例中。当然,任何较新或将来EyeQ处理装置也可连同所公开实施例一起使用。
本文所公开的处理装置的任一个可配置成执行某些功能。将处理装置(例如所述EyeQ处理器或者另一控制器或微处理器的任一个)配置成执行某些功能可包括对计算机可执行指令的编程,并且使这些指令是处理装置在操作期间可用于执行的。在一些实施例中,配置处理装置可包括采用架构指令直接对处理装置进行编程。例如,可使用例如一个或多个硬件描述语言(HDL)来配置处理装置(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。
在其它实施例中,配置处理装置可包括在存储器上存储可执行指令,该存储器是处理装置在操作期间可访问的。例如,处理装置可在操作期间访问存储器,以获得和执行所存储指令。在任一种情况下,配置成执行本文所公开的感测、图像分析和/或导航功能的处理装置表示控制主交通工具的多个基于硬件的组件的专用基于硬件的***。
虽然图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所示。例如,交通工具200可配备有处理单元110以及***100的其它组件的任一个,如以上相对于图1所述。虽然在一些实施例中,交通工具200可以仅配备有单图像捕获装置(例如摄像机),但是在诸如结合图2B-2E所述实施例等的其它实施例中,可使用多个图像捕获装置。例如,如图2A所示,交通工具200的图像捕获装置122和124的任一个可以是ADAS(高级驾驶员辅助***)成像集合的组成部分。
作为图像获取单元120的组成部分被包含在交通工具200上的图像捕获装置可定位在任何适当位置。在一些实施例中,如图2A-2E和图3A-3C所示,图像捕获装置122可位于后视镜附近。这个位置可提供与交通工具200的驾驶员相似的视线,这可帮助确定驾驶员可见和不可见的内容。图像捕获装置122可被定位在后视镜附近的任何位置,但是将图像捕获装置122放置在后视镜的驾驶员侧可进一步帮助获得代表驾驶员的视场和/或视线的图像。
也可使用图像捕获单元120的图像捕获装置的其它位置。例如,图像捕获装置124可位于交通工具200的保险杠之上或之中。这种位置可特别适合于具有宽视场的图像捕获装置。保险杠定位的图像捕获装置的视线能够与驾驶员的视线不同,并且因此保险杠图像捕获装置和驾驶员可能不一定看到相同对象。图像捕获装置(例如图像捕获装置122、124和126)还可位于其它位置。例如,图像捕获装置可位于交通工具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,其中具有定位在后视镜附近和/或交通工具200的驾驶员附近的第一图像捕获装置122、定位在交通工具200的保险杠区域(例如保险杠区域210之一)之上或之中的第二图像捕获装置124以及处理单元110。
如图2C所示,图像捕获装置122和124均可定位在后视镜附近和/或交通工具200的驾驶员附近。另外,虽然在图2B和图2C中示出两个图像捕获装置122和124,但是应当理解,其它实施例可包括多于两个图像捕获装置。例如,在图2D和图2E所示的实施例中,第一、第二和第三图像捕获装置122、124和126被包含在交通工具200的***100中。
如图2D所示,图像捕获装置122可定位在后视镜附近和/或交通工具200的驾驶员附近,以及图像捕获装置124和126可定位在交通工具200的保险杠区域(例如保险杠区域210之一)之上或之中。以及如图2E所示,图像捕获装置122、124和126可定位在后视镜附近和/或交通工具200的驾驶员座椅附近。所公开实施例并不局限于图像捕获装置的任何特定数量和配置,并且图像捕获装置可定位在交通工具200之内和/或之上的任何适当位置。
要理解,所公开实施例并不局限于交通工具,而是可能应用于其它上下文。还要理解,所公开实施例并不局限于特定类型的交通工具200,而是可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其它类型的交通工具。
第一图像捕获装置122可包括任何适当类型的图像捕获装置。图像捕获装置122可包括光轴。在一个实例中,图像捕获装置122可包括具有全局快门的Aptina M9V024 WVGA传感器。在其它实施例中,图像捕获装置122可提供1280×960像素的分辨率,并且可包括卷帘快门。图像捕获装置122可包括各种光学元件。在一些实施例中,可包括一个或多个透镜,例如以便为图像捕获装置提供期望焦距和视场。在一些实施例中,图像捕获装置122可与6mm透镜或12mm透镜关联。在一些实施例中,图像捕获装置122可配置成捕获具有预期视场(FOV)202的图像,如图2D所示。例如,图像捕获装置122可配置成具有例如在40度至56度的范围之内的常规FOV,包括46度FOV、50度FOV、52度FOV或以上。备选地,图像捕获装置122可配置成具有23至40度的范围中的窄FOV,例如28度FOV或36度FOV。另外,图像捕获装置122可配置成具有100至180度的范围中的宽FOV。在一些实施例中,图像捕获装置122可包括广角保险杠摄像机或者高达180度FOV的摄像机。在一些实施例中,图像捕获装置122可以是宽高比为大约2:1(例如H×V=3800×1900像素)的7.2M像素图像捕获装置,其中具有大约100度水平FOV。这种图像捕获装置可用来代替三图像捕获装置配置。由于显著透镜失真,在图像捕获装置使用径向对称透镜的实现中,这种图像捕获装置的垂直FOV可明显小于50度。例如,这种透镜可能不是径向对称的,这允许大于50度的垂直FOV,其中具有100度水平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可配置成包括各种透镜和光学元件。在一些实施例中,与关联图像捕获装置122的FOV(例如FOV 202)相比,关联图像捕获装置124和126的透镜可提供相同或更窄的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可具有任何适当分辨率能力(例如与图像传感器关联的像素的数量),以及与关联图像捕获装置124和126的(一个或多个)图像传感器的分辨率相比,关联图像捕获装置122的(一个或多个)图像传感器的分辨率可以更高、更低或相同。在一些实施例中,与图像捕获装置122和/或图像捕获装置124和126关联的(一个或多个)图像传感器可具有640×480、1024×768、1280×960的分辨率或者任何其它适当分辨率。
帧率(例如图像捕获装置在继续捕获与下一个图像帧关联的像素数据之前获取一个图像帧的像素数据集合的速率)可以是可控的。与关联图像捕获装置124和126的帧率相比,关联图像捕获装置122的帧率可以更高、更低或相同。与图像捕获装置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中的帧率定时可取决于关联图像传感器的分辨率。例如,假定两种装置的相似线扫描速率,如果一个装置包括分辨率为640×480的图像传感器而另一个装置包括分辨率为1280×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还可配置成获取离交通工具更远距离的范围(例如25 m、50 m、100 m、150 m或以上)处的对象的图像。此外,图像捕获装置122、124和126的焦距可被选择成使得一个图像捕获装置(例如图像捕获装置122)能够获取相对靠近交通工具(例如10 m之内或20 m之内)的对象的图像,而其它图像捕获装置(例如图像捕获装置124和126)能够获取离交通工具200更远对象(例如大于20 m、50 m、100 m、150 m等)的图像。
按照一些实施例,一个或多个图像捕获装置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、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还可包括用户接口170,以用于与交通工具200的驾驶员或乘客进行交互。例如,交通工具应用中的用户接口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可被定位在遮光罩(glare shield)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可自动控制交通工具200的制动、加速度和/或转向(例如通过向节流***220、制动***230和转向***240的一个或多个发送控制信号)。此外,***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后面,并且基本上并排定位(例如分开6 cm)。此外,在一些实施例中,如上所述,图像捕获装置122、124和126的一个或多个可被安装在遮光罩380后面,所述遮光罩380与交通工具200的挡风玻璃齐平。这种屏蔽可起作用以最小化来自汽车内部的任何反射对图像捕获装置122、124和126的影响。
在另一个实施例中,如以上结合图3B和图3C所述,宽视场摄像机(例如上述示例中的图像捕获装置124)可被安装成低于窄和主视场摄像机(例如上述示例中的图像装置122和126)。这个配置可提供来自宽视场摄像机的自由视线。为了减少反射,摄像机可被安装成靠近交通工具200的挡风玻璃,并且可包括摄像机上的偏振片,以阻尼反射光。
三摄像机***可提供某些性能特性。例如,一些实施例可包括基于来自另一个摄像机的检测结果来验证一个摄像机对于对象的检测的能力。在上述三摄像机配置中,处理单元110可包括例如三个处理装置(例如,如上所述的三个EyeQ系列的处理器芯片),其中每个处理装置专用于处理图像捕获装置122、124和126的一个或多个所捕获的图像。
在三摄像机***中,第一处理装置可从主摄像机和窄视场摄像机接收图像,并且执行窄FOV摄像机的视觉处理,例如以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。此外,第一处理装置可计算来自主摄像机和窄摄像机的图像之间的像素的差异,并且创建交通工具200的环境的3D重构。第一处理装置然后可将3D重构与3D地图数据或者与基于来自另一个摄像机的信息所计算的3D信息相组合。
第二处理装置可从主摄像机接收图像,并且执行视觉处理,以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。另外,第二处理装置可计算摄像机位移,以及基于该位移来计算连续图像之间的像素的差异,并且创建场景的3D重构(例如来自运动的结构)。第二处理装置可向第一处理装置发送来自基于运动的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的加速器来触发速度和/或加速度的变化。
在一个实施例中,导航响应模块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、无线、Bluetooth等)将它们传送给处理单元110。处理单元110可在步骤520执行单目图像分析模块402,以分析多个图像,如以下结合图5B-5D更详细描述。通过执行分析,处理单元110可检测图像集合内的特征集合,例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯等。
处理单元110还可在步骤520执行单目图像分析模块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可基于使用一系列基于时间的观察的估计技术(例如卡尔曼(Kalman)滤波器或线性二次估计(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的安全模型。处理单元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和204的图像捕获装置122和124)可捕获交通工具200前方的区域的第一和第二多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元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、204和206的图像捕获装置122、124和126)可捕获交通工具200前方和/或侧面的区域的第一、第二和第三多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元110可经由三个或更多个数据接口接收第一、第二和第三多个图像。例如,图像捕获装置122、124、126的每个可具有关联数据接口,以用于向处理单元110传递数据。所公开的实施例并不局限于任何特定数据接口配置或协议。
在步骤720,处理单元110可分析第一、第二和第三多个图像,以检测图像内的特征,例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯、道路危险等。分析可按照与以上结合图5A-5D和图6所述步骤相似的方式执行。例如,处理单元110可对第一、第二和第三多个图像的每个执行单目图像分析(例如经由单目图像分析模块402的执行并且基于以上结合图5A-5D所述的步骤)。备选地,处理单元110可对第一和第二多个图像、第二和第三多个图像和/或第一和第三多个图像执行立体图像分析(例如经由立体图像分析模块404的执行并且基于以上结合图6所述的步骤)。可组合与第一、第二和/或第三多个图像的分析对应的所处理信息。在一些实施例中,处理单元110可执行单目和立体图像分析的组合。例如,处理单元110可对第一多个图像执行单目图像分析(例如经由单目图像分析模块402的执行),并且对第二和第三多个图像执行立体图像分析(例如经由立体图像分析模块404的执行)。图像捕获装置122、124和126的配置—包括其相应位置和视场202、204和206—可影响对第一、第二和第三多个图像进行的分析的类型。所公开实施例并不局限于图像捕获装置122、124和126的特定配置或者对第一、第二和第三多个图像进行的分析的类型。
在一些实施例中,处理单元110可基于在步骤710和720所获取和分析的图像对***100执行测试。这种测试可提供***100对图像捕获装置122、124和126的某些配置的总体性能的指示符。例如,处理单元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公里的路标可以是可能的。如在其它部分将更详细论述,稀疏地图可基于由配备有各种传感器和装置(例如图像捕获装置、全球定位***传感器、运动传感器等)的交通工具在沿道路行驶时所收集或测量的数据来生成。在一些情况下,稀疏地图可基于一个或多个交通工具沿特定道路的多次行驶期间所收集的数据来生成。使用一个或多个交通工具的多次行驶来生成稀疏地图可称作“众包”稀疏地图。
按照所公开实施例,自主交通工具***可将稀疏地图用于导航。例如,所公开的***和方法可分发稀疏地图以用于生成自主交通工具的道路导航模型,并且可使用稀疏地图和/或所生成道路导航模型沿路段导航自主交通工具。按照本公开的稀疏地图可包括一个或多个三维轮廓,所述三维轮廓可表示自主交通工具在沿关联路段移动时可穿过的预定轨迹。
按照本公开的稀疏地图还可包括表示一个或多个道路特征的数据。这类道路特征可包括所识别的路标、道路签名简档以及导航交通工具中有用的任何其它道路相关特征。按照本公开的稀疏地图可基于稀疏地图中包含的较小数据量来实现交通工具的自主导航。例如,不是包含道路的详细表示(例如道路边缘、道路曲率、与路段关联的图像或者详述与路段关联的其它物理特征的数据),稀疏地图的所公开实施例可要求相对极少存储空间(以及当稀疏地图的部分被传输给交通工具时的相对极小带宽),但是仍然可充分提供自主交通工具导航。下面更详细论述的所公开稀疏地图的小数据占用面积在一些实施例中可通过存储要求小数据量但是仍然实现自主导航的道路相关元素的表示来实现。
例如,不是存储道路的各个方面的详细表示,所公开的稀疏地图而是可存储交通工具可沿道路前进的一个或多个轨迹的多项式表示。因此,不是存储(或者必须传输)与道路的物理性质有关的细节以实现沿道路的导航,使用所公开的稀疏地图,交通工具而是可沿特定路段被导航,而无需在一些情况下解释道路的物理方面,而是通过将其行驶路径与沿特定路段的轨迹(例如多项式样条)对齐。这样,交通工具可主要基于所存储轨迹(例如多项式样条)来导航,所存储轨迹可要求比涉及道路图像、道路参数、道路布局等的存储的方式要少许多的存储空间。
除了沿路段的轨迹的所存储多项式表示之外,所公开的稀疏地图还可包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可包括数字签名,所述数字签名从沿路段行驶的交通工具上的传感器(例如摄像机或另一传感器,例如悬架传感器)所获得的数字图像(或数字信号)来得出。数字签名相对于传感器所获取的信号可具有减小的大小。在一些实施例中,数字签名可被创建为与分类器功能兼容,该分类器功能配置成例如从传感器在后续驾驶期间所获取的信号来检测和标识道路特征。在一些实施例中,数字签名可被创建成使得数字签名具有尽可能小的占用面积,同时保持基于由沿同一路段行驶的交通工具上的摄像机在后续时间所捕获的道路特征的图像(或者传感器所生成的数字信号,如果所存储签名不是基于图像和/或包括其它数据)将道路特征与所存储签名相互关连或匹配的能力。
在一些实施例中,数据对象的大小可进一步与道路特征的唯一性关联。例如,对于由交通工具上的摄像机可检测的道路特征,以及在交通工具上的摄像机***被耦合到能够将与那个道路特征对应的图像数据区分为与特定类型的道路特征(例如道路标志)关联的分类器的情况下,并且在这种道路标志在那个区域中是本地唯一的(例如附近不存在相同的道路标志或者相同类型的道路标志),存储指示道路特征的类型及其位置的数据可以是充分的。
如下面将更详细论述,道路特征(例如沿路段的路标)可被存储为小数据对象,所述小数据对象可通过较少字节来表示道路特征,同时提供识别和使用这种特征进行导航的充分信息。在一个示例中,道路标志可被识别为作为交通工具的导航的基础的所标识路标。道路标志的表示可被存储在稀疏地图中,以包括例如指示路标的类型(例如停止标志)的几个字节的数据以及指示路标的位置(例如坐标)的几个字节的数据。基于路标的这类数据-灯(data-light)表示(例如使用足以基于路标进行定位、识别和导航的表示)的导航可提供与稀疏地图关联的预期水平的导航功能性,而无需显著增加与稀疏地图关联的数据开销。路标(和其它道路特征)的这个精益表示(lean representation)可利用这类交通工具上包含的传感器和处理器所述传感器和处理器配置成检测、标识和/或分类某些道路特征。
当例如标志或者甚至特定类型的标志在给定区域中为本地唯一时(例如当不存在另一标志或者不存在相同类型的另一标志时),稀疏地图可使用指示路标的类型(标志或者特定类型的标志)的数据,以及在自主交通工具上的摄像机捕获包括标志(或者特定类型的标志)的区域的图像时的导航(例如自主导航)期间,处理器可处理该图像,检测标志(若实际存在于图像中),将图像分类为标志(或者分类为特定类型的标志),并且将图像的位置与如稀疏地图中存储的标志的位置相互关连。
道路特征表示
在一些实施例中,稀疏地图可包括沿路段延伸的路面特征的至少一个线表示以及与该路段关联的多个路标。在某些方面,稀疏地图可例如通过当一个或多个交通工具穿过路段时所获取的多个图像的图像分析经由“众包”来生成。
除了目标轨迹和所标识路标之外,稀疏还可包括与各种其它道路特征相关的信息。例如,图9A示出可被存储在稀疏地图中的沿特定路段的曲线的表示。在一些实施例中,道路的单车道可通过道路的左侧和右侧的三维多项式描述来建模。表示单个车道的左侧和右侧的这类多项式在图8A中示出。不管道路具有多少车道,都可按照与图8A所示相似的方式使用多项式来表示该道路。例如,多车道道路的左侧和右侧可通过与图8A所示相似的多项式来表示,以及多车道道路上包含的中间车道标记(例如表示车道边界的虚线标记、表示沿不同方向行驶的车道之间的边界的黄实线等)也可使用例如图8A所示的多项式来表示。
如图8A所示,可使用多项式(例如一阶、二阶、三阶或者任何适当阶数的多项式)来表示车道800。为了便于说明,车道800示为二维车道,以及多项式示为二维多项式。如图8A所示,车道800包括左侧810和右侧820。在一些实施例中,多于一个多项式可用来表示道路或车道边界的每侧的位置。例如,左侧810和右侧820的每个可通过任何适当长度的多个多项式来表示。在一些情况下,多项式可具有大约100 m的长度,但是也可使用大于或小于100m的其它长度。另外,多项式能够相互重叠,以便促进基于主交通工具沿道路行驶时随后遇到的多项式的导航中的无缝过渡。例如,左侧810和右侧820的每个可通过多个三阶多项式来表示,所述多项式被分为大约100米长的段(第一预定范围的示例),并且相互重叠大约50米。表示左侧810和右侧820的多项式可以或者可以不具有相同阶数。例如在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,以及一些可以是四阶多项式。
在图8A所示的示例中,车道800的左侧810通过两组三阶多项式来表示。第一组包括多项式段811、812和813。第二组包括多项式段814、815和816。两个编组虽然基本上相互平行,但是跟随道路的相应侧的位置。多项式段811、812、813、814、815和816具有大约100米的长度,并且重叠系列中的相邻段大约50米。但是,如先前所述,也可使用不同长度和不同重叠量的多项式。例如,多项式可具有500 m、1 km或以上的长度,以及重叠量可从0至50 m、50 m至100 m或者大于100 m改变。另外,虽然图8A示为表示在2D空间(例如在纸张表面)延伸的多项式,但是要理解,这些多项式可表示在三维(例如包括高度分量)延伸的曲线,以除了X-Y曲率之外还表示路段的高程变化。在图8A所示的示例中,车道800的右侧820进一步通过具有多项式段821、822和823的第一组以及具有多项式段824、825和826的第二组来表示。
回到稀疏地图的目标轨迹,图8B示出表示沿特定路段行驶的交通工具的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定路段行驶的X-Y路径,而且还表示主交通工具在沿该路段行驶时将遇到的高程变化。因此,稀疏地图中的每个目标轨迹可通过一个或多个三维多项式(例如图8B所示的三维多项式850)来表示。稀疏地图可包括多个轨迹(例如数百万或数十亿或以上,以表示交通工具沿全世界的道路的各种路段的轨迹)。在一些实施例中,每个目标轨迹可对应于连接三维多项式段的样条。
关于稀疏地图中存储的多项式的数据占用面积,在一些实施例中,每个三次多项式可通过各自要求四字节数据的四个参数来表示。可采用对每100 m要求大约182字节的数据的三次多项式来获得适当表示。这可转化成对于大约以100 km/hr行驶的主交通工具的数据使用/传输要求中的大致每小时200 kB。
稀疏地图可使用几何描述符和元数据的组合来描述车道网络。几何形状可通过如上所述的多项式或样条来描述。元数据可描述车道的数量、特殊特性(例如汽车共用车道)和可能的其它稀疏标签。这类指示符的总占用面积可以是可忽略的。
相应地,按照本公开的实施例的稀疏地图可包括沿路段延伸的路面特征的至少一个线表示,每个线表示将表示沿路段与路面特征基本上对应的路径。在一些实施例中,如上所述,路面特征的至少一个线表示可包括样条、多项式表示或曲线。此外,在一些实施例中,路面特征可包括道路边缘或车道标记的至少一个。此外,如下面针对“众包”所述,路面特征可通过在一个或多个交通工具穿过路段时所获取的多个图像的图像分析来标识。
图9A示出构建或保持稀疏地图的过程期间捕获的轨迹的多项式表示。稀疏地图中包含的目标轨迹的多项式表示可基于交通工具沿同一路段的先前穿过的两个或更多个重构轨迹来确定。在一些实施例中,稀疏地图中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多个重构轨迹的聚合。在一些实施例中,稀疏地图中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多个重构轨迹的平均。其它数学运算也可用来基于从沿路段行驶的交通工具所收集的重构轨迹来构建沿道路路径的目标轨迹。
如图9A所示,路段900可在不同时间由多个交通工具200行驶。每个交通工具200可收集与该交通工具沿路段所采取的路径相关的数据。由特定交通工具所行驶的路径可基于摄像机数据、加速计信息、速度传感器信息和/或GPS信息以及其它潜在来源来确定。这种数据可用来重构沿路段行驶的交通工具的轨迹,以及基于这些重构轨迹,可对特定路段确定目标轨迹(或者多个目标轨迹)。这类目标轨迹可表示主交通工具(例如由自主导航***所引导)在沿路段行驶时的优选路径。
在图9A所示的示例中,第一重构轨迹901可基于从第一时间段(例如第1天)穿过路段900的第一交通工具所接收的数据来确定,第二重构轨迹902可从第二时间段(例如第2天)穿过路段900的第二交通工具来获得,以及第三重构轨迹903可从第三时间段(例如第3天)穿过路段900的第三交通工具来获得。每个轨迹901、902和903可通过多项式(例如三维多项式)来表示。应当注意,在一些实施例中,重构轨迹的任一个可在穿过路段900的交通工具上装配。
作为补充或替代,这类重构轨迹可在服务器侧基于从穿过路段900的交通工具所接收的信息来确定。例如,在一些实施例中,交通工具200可向一个或多个服务器传送与它们沿路段900的运动相关的数据(例如转向角、航向、时间、位置、速度、所感测道路几何形状和/或所感测路标等等)。服务器可基于所接收数据来重构交通工具200的轨迹。服务器还可基于第一、第二和第三轨迹901、902和903来生成目标轨迹,以用于引导以后将沿同一路段900行驶的自主交通工具的导航。虽然目标轨迹可与路段的单个先前穿过关联,但是在一些实施例中,稀疏地图中包含的每个目标轨迹可基于穿过同一路段的交通工具的两个或更多个重构轨迹来确定。在图9A中,目标轨迹通过910来表示。在一些实施例中,目标轨迹910可基于第一、第二和第三轨迹901、902和903的平均数来生成。在一些实施例中,稀疏地图中包含的目标轨迹910可以是两个或更多个重构轨迹的聚合(例如加权组合)。在下面关于图29进一步讨论了对齐行驶数据以构建轨迹。
图9B和图9C进一步示出与地理区域911内存在的路段关联的目标轨迹的概念。如图9B所示,地理区域911内的第一路段920可包括多车道道路,该多车道道路包括被指定用于沿第一方向的交通工具行驶的两个车道922以及被指定用于沿与第一方向相反的第二方向的交通工具行驶的两个附加车道924。车道922和车道924可通过双黄线923分隔。地理区域911还可包括与路段920相交的分支路段930。路段930可包括二车道道路,每个车道被指定用于不同行驶方向。地理区域911还可包括其它道路特征,例如停止线932、停止标志934、限速标志936和危险标志938。
如图9C所示,稀疏地图可包括本地地图940,该本地地图940包括用于辅助地理区域911内的交通工具的自主导航的道路模型。例如,本地地图940可包括与地理区域911内的路段920和/或930关联的一个或多个车道的目标轨迹。例如,本地地图940可包括自主交通工具在穿过车道922时可访问或依靠的目标轨迹941和/或942。类似地,本地地图940可包括自主交通工具在穿过车道924时可访问或依靠的目标轨迹943和/或944。此外,本地地图940可包括自主交通工具在穿过路段930时可访问或依靠的目标轨迹945和/或946。目标轨迹947表示自主交通工具在从车道920(以及具体来说相对于与车道920的最右侧车道关联的目标轨迹941)过渡到路段930(以及具体来说相对于与路段930的第一侧关联的目标轨迹945)时应当跟随的优选路径。类似地,目标轨迹948表示自主交通工具在从路段930(以及具体来说相对于目标轨迹946)过渡到路段924的一部分(以及具体来说如所示相对于与车道924的左侧车道关联的目标轨迹943)时应当跟随的优选路径。
稀疏地图还可包括与地理区域911关联的其它道路相关特征的表示。例如,稀疏地图还可包括地理区域911中标识的一个或多个路标的表示。这类路标可包括与停止线932关联的第一路标950、与停止标志934关联的第二路标952、与限速标志954关联的第三路标以及与危险标志938关联的第四路标956。这类路标可例如用来帮助自主交通工具确定它相对于所示目标轨迹的任一个的当前位置,使得交通工具可调整其航向以匹配所确定位置处的目标轨迹的方向。
在一些实施例中,稀疏地图还可包括道路签名简档。这类道路签名简档可与关联道路的至少一个参数的任何可辨别/可测量变化关联。例如,在一些情况下,这类简档可与路面信息的变化(例如特定路段的表面粗糙度的变化、对特定路段的道路宽度的变化、沿特定路段所绘制的虚线之间的距离的变化、沿特定路段的道路曲率的变化等)关联。图9D示出道路签名简档960的示例。虽然简档960可表示上述参数等的任一个,但是在一个示例中,简档960可表示如通过监测一个或多个传感器所获得的路面粗糙度的量度,所述传感器提供指示交通工具行驶特定路段时的悬架位移量的输出。
备选或并发地,简档960可表示如基于经由行驶特定路段的交通工具上的摄像机所获得的图像数据所确定的道路宽度的变化。这类简档例如在确定自主交通工具相对于特定目标轨迹的特定位置中可以是有用的。也就是说,当自主交通工具穿过路段时,它可测量与关联该路段的一个或多个参数关联的简档。如果所测量简档能够与绘制相对沿路段的位置的参数变化的预定简档相互关连/匹配,则可使用所测量和预定的简档(例如通过重叠所测量和预定的简档的对应部分),以便确定沿路段的当前位置并且确定相对于路段的目标轨迹的当前位置。
在一些实施例中,稀疏地图可包括基于与自主交通工具的用户关联的不同特性、环境条件和/或与驾驶相关的其它参数的不同轨迹。例如,在一些实施例中,可基于不同用户偏好和/或简档来生成不同轨迹。包括这类不同轨迹的稀疏地图可被提供给不同用户的不同自主交通工具。例如,一些用户可能更喜欢避开收费道路,而其它用户可能更喜欢采取最短或最快路线,而不管路线上是否存在收费道路。所公开***可基于这类不同用户偏好或简档来生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能更喜欢在快速移动车道上行驶,而其它用户可能更喜欢始终保持中心车道中的位置。
不同轨迹可基于不同环境条件(例如白天和夜晚、雪、雨、雾等)来生成并且包含在稀疏地图中。在不同环境条件下驾驶的自主交通工具可被提供有基于这类不同环境条件所生成的稀疏地图。在一些实施例中,自主交通工具上提供的摄像机可检测环境条件,并且又可向生成和提供稀疏地图的服务器提供这种信息。例如,服务器可生成或更新已经生成的稀疏地图,以包括对于在所检测环境条件下的自主驾驶可以是更适合或安全的轨迹。基于环境条件对稀疏地图的更新可在自主交通工具沿道路行驶时动态执行。
与驾驶相关的其它不同参数也可用作用于生成不同稀疏地图并且提供给不同自主交通工具的基础。例如,当自主交通工具正高速行驶时,转向可能会更紧。与特定车道而不是道路关联的轨迹可被包含在稀疏地图中,使得自主交通工具可在跟随特定轨迹时可保持在特定车道之内。当自主交通工具上的摄像机所捕获的图像指示交通工具已经漂移到车道之外(例如穿过车道标记)时,可在交通工具内触发动作,以按照特定轨迹将交通工具带回所指定车道。
图10示出通过多个三维样条1001、1002和1003所表示的示例自主交通工具道路导航模型。图10所示的曲线1001、1002和1003仅为了便于说明。每个样条可包括连接多个数据点1010的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或者具有不同阶数的任何适当多项式的组合。每个数据点1010可与从多个交通工具所接收的导航信息关联。在一些实施例中,每个数据点1010可关联于与路标(例如路标的大小、位置和标识信息)和/或道路签名简档(例如道路几何形状、道路粗糙度简档、道路曲率简档、道路宽度简档)相关的数据。在一些实施例中,一些数据点1010可关联与路标相关的数据,而其它数据点可关联与道路签名简档相关的数据。
图11示出从五次单独驾驶所接收的原始位置数据1110(例如GPS数据)。一次驾驶在相同时间由单独交通工具、在单独时间由同一交通工具或者在单独时间由单独交通工具所穿过时可与另一次驾驶分开。为了考虑位置数据1110的误差以及同一车道内的交通工具的不同位置(例如,一个交通工具可能比另一个交通工具更靠近车道左侧驾驶),远程服务器可使用一个或多个统计技术来生成地图概略图1120,以确定原始位置数据1110的变化是否表示实际差异或者统计误差。概略图1120内的每个路径又可被链接到形成该路径的原始数据1110。例如,概略图1120内的A与B之间的路径被链接到来自驾驶2、3、4和5但不是来自驾驶1的原始数据1110。概略图1120可能不够详细而无法用来导航交通工具(例如因为与上述样条不同,它组合来自同一道路上的多个车道的驾驶),但是可提供有用拓扑信息,并且可用来定义十字路口。
标识交通工具车轮滑移
本公开描述了一种用于主交通工具的导航***,其被配置成使用对车轮旋转的图像分析和测量来检测车轮状况。此后,导航***可发起与所检测车轮状况关联的至少一个导航动作。在一些实施例中,所检测车轮状况可指示交通工具的车轮中的一个或多个已相对于交通工具的底盘滑移或锁定。例如,检测结果可指示至少一个车轮具有横向滑移或纵向滑移。在一些实施例中,所检测车轮状况可指示主交通工具的至少一个机械组件的异常行为或故障。例如,检测结果可指示轮胎已经开始漏气或已经跑气。在一些实施例中,该***可采集与已从多个主交通工具收集的车轮滑移状况有关的众包信息,以采用潜在危险的位置来更新地图信息。例如,所公开的***和方法可使用众包信息以采用具有因例如湿滑或结冰道路引起的光滑状况的一个或多个区域的位置来更新地图。
在常规***中,车轮旋转通常基于来自车轮速度传感器(所述传感器是转速表的一种类型)的输入来确定或者基于车轮的每分钟转数(RPM)传感器来估计。但是,当单独确定每个车轮的当前牵引力状况时,使用由车轮速度传感器所提供的信息(诸如车轮节拍(wheel tick))受到限制。此外,使用RPM(所述RPM基于车轮周长)来确定牵引力状况易于出错,因为RPM在轮胎气压因温度变化而改变时可能改变。用于确定车轮旋转的其它选项也易于出现缺点。例如,一种备选解决方案是在交通工具中包含惯性传感器,但是这类传感器是成本极高的。另一种备选解决方案是使用MEMS(微机电***)传感器,但是MEMS传感器难以校准。使用全球定位***(GPS)也不是用于确定精确车轮旋转测量的适合备选方案,因为GPS提供数米精度内的交通工具的位置。因此,需要比这些常规技术更加精确且节省成本的解决方案来确定车轮旋转。
按照本公开的一些实施例,所公开的***和方法可使用基于高保真视觉的移动模型而使用交通工具的自我运动来预测车轮旋转。这些预测可与测量车轮旋转信号进行比较,因此能够由交通工具的控制***来检测、报告和使用任何异常。先前***不能够确认车轮旋转的物理测量的有效性。相比之下,所公开的***和方法可确定车轮旋转的物理测量的置信水平。例如,所公开的***和方法可通过使用视觉***(例如图像分析)来单独确定预测车轮旋转,从而单独检验车轮旋转的物理测量和/或进行补充确定。因此,所公开的***和方法可对各种交通工具控制***提供显著性能改进。例如,自动制动***、牵引力控制***和电子稳定性控制***可提供对交通工具的某些***的某种级别的自主控制,以增强车轮滑移状况期间的交通工具的性能。目前,这些***主要依靠提供车轮速度信号的传感器输出,但是无权访问其输出表示实际交通工具自我运动的任何传感器***。所公开的***和方法可弥补这个差距,并且显著增强交通工具性能。
所公开的***和方法可单独检测交通工具的车轮中的每个车轮的任何滑移或锁定。这类检测结果可改进安全***的低级控制逻辑。例如,单独地快速标识每个车轮中的制动功率的损失可改进防抱死制动***(ABS)性能;检测横向滑移和纵向滑移两者连同车轮的实际相对运动可改进电动助力转向(EPS)性能;以及能够确定每个车轮的实际相对运动并且解决交替表面光滑性质(例如水坑\雪区上的移动)可提供牵引力控制***(TCS)性能。所公开的***和方法的附加应用可包括改进的高级运动支持、改进的恶劣道路状况支持和/或改进的乘客舒适支持。例如,配备有所公开***的交通工具可在若干输出循环内对所有车轮检测轻微滑移状况。如果不同检测结果还暗示交通工具仍然在道路上,则能够推断交通工具遭遇光滑路区而不是偏离道路或动态操控。交通工具则可应用谨慎驾驶策略。此外,当使用运动模式时,驾驶员可能以舒适驾驶为代价进行急转向。在这类状况中,维持转向和安全性质仍然是重要的。通过使用所公开***,可在快速加速期间以及甚至在故意打滑转向时优化交通工具牵引力。所公开***和方法的附加应用可包括检测交通工具的机械结构(诸如车轮的差速器或沿传动系的其它组件)的异常行为和未对齐,并且检测错误轮胎压力水平。例如,如果交通工具的差速器正确工作,则当驾驶员进行受控转向时,在车轮的旋转速率差(内和外半径转向)与转向的半径和速率的比率之间应当存在一致性。所公开***和方法可检测这种关系中的异常,以确定差速器未正确工作。在另一个示例中,如果轮胎具有低压力水平,则旋转速率与交通工具的移动之间的关系将发生变化。所公开的***和方法可检测这种差异,并且提供对跑气或低轮胎压力的指示。备选地,所公开的***和方法可向交通工具的计算机报告这些及其它异常以用于驾驶管理,和/或使这类分析结果是服务和维护提供商可用的。
图12是按照所公开实施例的示例性导航***1200的图解表示。导航***1200可包括服务器1202、具有处理单元1206和一个或多个摄像机1208(例如第一摄像机1208A、第二摄像机1208B和第三摄像机1208C)的至少一个主交通工具1204、数据库1210以及网络1212。服务器1202可配置成向主交通工具1204提供信息。例如,服务器1202可配置成向处理单元1206传送地图数据(所述地图数据包括与主交通工具1204的区域中的道路相关的信息),并且可从处理单元1206接收主交通工具1204的所检测车轮滑移状况的指示符。处理单元1206可配置成处理一个或多个摄像机1208所捕获的图像,以便确定主交通工具1204的运动、检测车轮滑移状况、并操作主交通工具1204的一个或多个组件(诸如转向机构、制动机构或者各种其它组件)。数据库1210可配置成存储***1200的组件(例如服务器1202、主交通工具1204和/或摄像机1208)的信息。网络1212可配置成促进***1200的组件之间的通信。
在一些实施例中,服务器1201可以是执行本文公开的功能的云服务器。术语“云服务器”是指经由诸如因特网的网络提供服务的计算机平台。在该示例配置中,服务器1201可以使用可不对应于单个硬件的虚拟机。例如,计算和/或存储能力可通过从诸如数据中心或分布式计算环境之类的可缩放存储库分配期望的计算/存储能力的适当部分来实现。在一个示例中,服务器1201可以使用定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑来实现本文描述的方法,所述定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑连同计算机***使服务器1201成为专用机器。
主交通工具1204可包括一个或多个组件,诸如转向机构、制动机构或者用于实现各种导航动作的各种其它组件。主交通工具1204可与上述交通工具(例如交通工具200)相似,并且可包括上述交通工具中所包含或者与其关联的组件或装置。主交通工具1204可经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与服务器1202进行通信。在一个实施例中,主交通工具1204可向服务器1202传送数据,并且从服务器1202接收数据。例如,主交通工具1204可向服务器1202传送图像数据。图像数据可包括像素数据流、数字图像、数字视频流、从所捕获图像得出的数据、以及可用来构建3D图像的数据。作为补充或替代,主交通工具1204可从服务器1202接收地图数据(例如来自地图数据库160的数据),其中标识相对于特定路段所检测到的光滑、结冰或其它不利状况的存在。
处理单元1206可包括至少一个处理器,所述至少一个处理器包括电路和存储器,其中存储器包括指令,所述指令在由电路执行时使所述至少一个处理器执行本文所述的方法。例如,至少一个处理器可执行指令,以分析主交通工具1204跨由摄像机1208所捕获的至少两个图像的运动,以确定主交通工具1204从一个图像帧到后续图像帧已经移动的距离(并且因此确定主交通工具1204的车轮已经移动的距离)。在一些实施例中,处理单元1206可使用与主交通工具1204的环境中的被成像对象的大小有关的信息来确定主交通工具1204的运动并且预测车轮旋转。此后,处理单元1206可接收一个或多个传感器输出,所述一个或多个传感器输出指示测量车轮旋转,并且将预测车轮旋转与测量车轮旋转进行比较。换言之,处理单元1206可将基于图像的分析的输出或结果与估计车轮移动的另一交通工具***(例如RPM计算器、惯性传感器、MEMS装置等)的输出相组合(或融合),以检测与主交通工具1204的车轮关联的车轮滑移状况或故障状况。处理单元1206可与本公开中公开的其它处理单元(例如处理单元110)相似。
一个或多个摄像机1208中的每个可包括与主交通工具1204关联的至少一个图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126),并且配置成捕获表示主交通工具1204的环境的一个或多个图像。一个或多个摄像机1208可配置成将所获取图像传递给导航***1200的一个或多个组件(例如处理单元1206、服务器1202和/或数据库1210)。在一些实施例中,多个摄像机1208可包括两个或更多个摄像机,所述两个或更多个摄像机配置成捕获表示主交通工具1204的环境的图像。在一些实施例中,多个摄像机1208可以是相同类型的摄像机,但是其具有不同视场。备选地,多个摄像机1208中的至少两个可以是不同的(例如具有不同焦距、具有不同操作参数等、或者它们的组合)。例如,多个摄像机1208可包括五个摄像机。在一个示例布置中,第一摄像机可以是具有鱼眼镜头的摄像机,第二摄像机可以是具有长焦镜头的摄像机,以及第三摄像机可以是具有普通镜头(例如具有等于50 mm的焦距)的中间(或主)摄像机。第一、第二和第三摄像机中的每个可具有面向交通工具中间前方的视场。第四摄像机可以是左摄像机,其具有普通镜头并且具有聚焦在面向交通工具左前方的环境上的视场,以及第五摄像机可以是右摄像机,其具有普通镜头并且具有聚焦在面向主交通工具右前方的环境上的视场。各种其它备选摄像机布置符合所公开实施例,并且上述内容只是一种示例布置。
数据库1210可包括地图数据库,该地图数据库配置成存储***1200的组件(例如服务器1202和/或主交通工具1204)的地图数据。在一些实施例中,服务器1202和/或处理单元1206可配置成访问数据库1210,并且经由网络1212从数据库1210获得所存储数据和/或向数据库1210上载数据。例如,服务器1202可向数据库1210传送与地图信息相关的数据以用于存储。处理单元1206可从数据库1210下载地图信息和/或数据。在一些实施例中,数据库1210可包括关于一个或多个地理位置的所检测车轮滑移状况的指示符。数据库1210还可包括与各种项目(包括道路、所标识车轮滑移状况的位置、水特征、地理特征、商业、兴趣点、餐馆、加油站等、或者它们的组合)有关的信息。在一些实施例中,数据库1210可包括与地图数据库160以及本公开中其它地方所述的任何其它地图数据库和***相似的数据库。
按照本公开的实施例,导航***1200可基于预测车轮旋转与测量车轮旋转的比较来确定车轮相对于交通工具的底盘是否已经滑移或锁定以及滑移或锁定的程度。例如,当行驶于结冰道路时,交通工具的制动器的应用可使交通工具打滑。在这种状况中,交通工具中的典型车轮速度传感器可能因打滑而不报告车轮的移动。但是,处理单元1206可基于交通工具的所确定运动和测量车轮旋转来单独检测交通工具的车轮中的每个的车轮滑移状况。此后,处理单元1206可预测由车轮滑移状况所引起的交通工具的即将发生运动,并且响应于交通工具的所预测即将发生运动而确定至少一个导航动作。另外,虽然一些车轮速度传感器可能检测车轮滑移状况,但是这些传感器的输出也许不能够标识车轮中的哪个已经滑移。相比之下,导航***1200可不仅检测车轮滑移状况的发生,而且还可基于图像分析进一步将该车轮滑移状况与交通工具的特定车轮关联。
按照本公开的另一个实施例,导航***1200可基于针对交通工具的至少一个车轮的预测车轮旋转(使用图像分析所确定)与测量车轮旋转之间的比较来检测伴随主交通工具1204的一个或多个机械组件的潜在问题。例如,导航***1200可确定何时轮胎已经开始漏气或已经跑气。为了这样做,处理单元1206可通过基于转向速率来估计车轮旋转并且预测左和/或右车轮的移动,来检测何时轮胎已经开始漏气。如果车轮旋转处于预计范围之内,则轮胎压力可处于预计工作范围之内。如果车轮旋转不在预计工作范围之内,则轮胎可能泄漏空气或者可能跑气。
按照又一个实施例,导航***1200的计算装置(例如服务器1202)可与道路体验管理(REM)映射***结合操作,以检测潜在危险的位置。可通过检测经历共同或相似车轮滑移状况的多个主交通工具1204来确定潜在危险的位置。例如,服务器1202可从沿路段的多次单独驾驶来收集数据,以确定一个或多个主交通工具1204的车轮滑移状况不是驾驶员动作的结果,而是路段的一个或多个状况的结果。此后,服务器1202可将地图信息分发给行驶于该路段的其它交通工具,所述地图信息包括详细说明潜在危险的位置的信息。
图13是按照所公开实施例、包括在两个不同时间点的主交通工具1204的道路的示意图。如图中所描绘的,在T1,主交通工具1204沿驾驶方向1302正驾驶于道路1300,并且前车轮1304A和1304B将由人类驾驶员或者由转向***240向右转向。另外,在T1,摄像机1208获取交通标志1306的图像帧。处理单元1206可基于对在T1所捕获的图像以及在T1之前所捕获的至少一个图像的分析来确定主交通工具1204相对于与所获取图像关联的捕获时间的运动的一个或多个指示符。例如,处理单元1206可使用速度和加速度模块406来确定主交通工具1204在T1的实际运动。此后,处理单元1206可针对交通工具的至少一个车轮来确定对应于主交通工具1204相对于与所获取图像关联的捕获时间的运动的预测车轮旋转。按照一些实施例,处理单元1206可接收一个或多个传感器输出,所述一个或多个传感器输出指示与主交通工具1204的至少一个车轮关联的测量车轮旋转。如上所论述,使用车轮速度传感器来确定车轮旋转在没有滑移存在的状况下可能是精确的,但是当车轮滑移状况发生时可能变得不精确,因为测量车轮旋转可能不匹配或者可能不符合滑移期期间的交通工具的实际运动。例如,在结冰道路上,主交通工具1204可能在传统车轮旋转感测方法指示车轮极少或者根本没有旋转时沿道路滑动。
按照本公开,所公开的***可配置成检测与交通工具的至少一个车轮关联的车轮滑移状况。在第一实施例中,所检测车轮滑移状况可包括横向滑移。这个实施例在T2中示出。如图所示,主交通工具1204位于道路1300的更前方,但是因车轮滑移状况而无法进行右转向。具体来说,虽然主交通工具1204的前车轮1304A和1304B正指向期望方向1308,但是主交通工具1204已改为沿驾驶方向1302移动。主交通工具1204的横向滑移角采取角度形式来描述前向和横向速度的比率。横向滑移角是滚动车轮的实际行驶方向与它正指向的方向之间的角度。换言之,横向滑移角表示交通工具正指向(航向)的位置与交通工具实际将行驶的位置之间的差。按照本公开,处理单元1206可使用图像分析来确定指示主交通工具1204的实际运动的信息,并且基于该信息来检测与交通工具的至少一个车轮关联的横向滑移在T2发生。处理单元1206可量化与横向滑移关联的量。例如,对于大于1毫弧度、大于5毫弧度、小于10毫弧度或者小于5毫弧度的滑移角,横向滑移的量可以是可检测的。在所检测车轮滑移状况包括横向滑移的情况下,可关于至少五个自由度来确定主交通工具1204的运动。例如,在一些实施例中,可关于三个旋转自由度和两个平移自由度来确定主交通工具1204的运动。
在一些实施例中,所检测车轮滑移状况可包括纵向滑移。例如,当在结冰道路上驾驶时,主交通工具1204可能在车轮旋转感测方法指示车轮极少或者根本没有旋转时沿主交通工具1204的驾驶方向滑动。在这种情况下,横向滑移角将为零,因为车轮的行驶方向和它们正指向的方向的角度是相同的。如本文所使用,术语“纵向滑移角”可以指预测车轮旋转(例如基于图像分析)与观测车轮旋转(例如基于传感器输出)之间的旋转角差。为了检测纵向滑移,处理单元1206可使用至少三个图像,以及交通工具的运动可关于至少六个自由度来确定。例如,在一些实施例中,可关于三个旋转自由度和三个平移自由度来确定交通工具的运动。使用至少三个图像可允许所公开***确定标度和标度的比率(例如通过将a)第一图像和第二图像之间的变化与b)第二图像和第三图像之间的变化进行比较)。按照本公开,当所检测车轮滑移状况包括纵向滑移时,处理单元1206可量化与纵向滑移关联的量。对于大于1毫弧度、大于3毫弧度、小于10毫弧度或者小于5毫弧度的纵向滑移角,纵向滑移的量可以是可检测的。
如上所述,处理单元1206可使用图像分析来实现交通工具的运动的一个或多个指示符的高度精确确定,这能够用来单独确定每个车轮的预测车轮旋转,并且与所确定交通工具运动相互关连。例如,处理单元1206可使用来自至少一个摄像机1208(以及有时来自多个摄像机)的输入来获取关于主交通工具1204的环境的多个图像的流。可关于与多个图像中的两个或更多个图像关联的捕获时间来确定交通工具的运动。例如,来自在T1所捕获的图像以及在T2所捕获的图像的对象的图像表示中的所检测变化可提供用于确定交通工具关于主交通工具1204的环境中的对象沿多个自由度的运动的一个或多个指示符的基础。例如,帧之间的标志1306的图像表示的大小增加的速率可指示主交通工具1204与标志1306之间的相对速度。作为另一个示例,对象表示跨所捕获图像帧的观测轨迹可指示主交通工具1204的横摆(yaw)速率。使用这些及其它类型的图像分析技术,可以以任何期望周期速率(例如18 Hz或者任何其它适合速率)来获得交通工具的自我运动的表示。此后,交通工具的自我运动可用来确定主交通工具1204上的每个单独车轮的预计旋转。预测车轮旋转可由处理单元1206以与交通工具的所确定自我运动相同或不同的速率来确定。
图14示出示例,其中所公开***检测车轮状况,所述车轮状况可能是至少一个车轮的滑移或者交通工具的机械组件的故障。图14是存储器1400的示例性功能框图,所述存储器1400可被存储有/编程有指令,所述指令用于执行按照所公开实施例的一个或多个操作,诸如基于所检测车轮状况来发起导航动作。存储器1400包括车轮旋转估计模块1402、交通工具运动确定模块1404、车轮旋转预测模块1406、滑移状况检测模块1408、故障检测模块1410和***响应模块1412。模块1402、1404、1406、1408、1410和1412可包含软件指令,所述软件指令是由随处理单元1206或服务器1202所包含的至少一个处理装置可执行的。所公开的实施例不限于存储器1400的任何特定配置。在一些实施例中,存储器1400可以是***1200的一部分,并且可对应于例如数据库1210。备选地,存储器1400可被存储在与服务器1202或处理单元1206关联的内部数据结构或外部存储装置中。
车轮旋转估计模块1402可配置成从至少一个车轮速度传感器(诸如例如车轮RPM传感器、惯性传感器、MEMS装置等)接收一个或多个传感器输出1414。一个或多个传感器输出可指示与主交通工具的车轮关联的测量车轮旋转。例如,一个或多个传感器输出可包括以下项中的至少一些:速度幅值、纵向角、横向角、和向前/向后移动方向。此外,车轮旋转估计模块1402可配置成确定与交通工具的每个车轮关联的旋转方向。如上所述,传感器输出1414可取决于主交通工具的车轮当前性质(例如车轮的空气压力),并且因此在许多情况下可能不足以提供对交通工具的车轮中的每个车轮的精确单独测量。
交通工具运动确定模块1404可配置成从摄像机1208接收多个图像1416,并且确定交通工具的运动的一个或多个指示符。多个图像帧1416可表示交通工具的环境,并且可包括主交通工具的环境内的一个或多个对象的表示。在一些实施例中,可基于对所捕获图像的光流分析来估计交通工具的运动的一个或多个指示符。对图像序列的光流分析可从图像序列中标识像素的移动。所标识移动可用来确定交通工具的运动(例如自我运动)(例如交通工具的三维平移和三维旋转)。按照本公开,交通工具的自我运动可随时间并且沿路段来整合,以重构与交通工具已经行驶的路段关联的轨迹。在一个实施例中,交通工具运动确定模块1404可分析交通工具关于与多个图像中的两个或更多个图像关联的捕获时间的自我运动,以确定交通工具的每个车轮从一个图像帧到后续图像帧已经移动的距离。本领域技术人员将认识到确定每个车轮的单独运动中的值,因为交通工具的车轮的移动在某些状况中(诸如例如当交通工具转向时)不一定相同。在一些实施例中,交通工具运动确定模块1404可使用来自多于一个摄像机(例如两个摄像机、三个摄像机、四个摄像机、五个摄像机等)的图像数据。使用多个摄像机可改进交通工具的运动确定的精度,因为每个摄像机可提供交通工具的独立自我运动结果,所述结果可被平均以取得具有增加精度的结果。
车轮旋转预测模块1406可配置成对于交通工具的至少一个车轮来确定对应于交通工具关于与多个图像中的两个或更多个图像关联的捕获时间的运动的预测车轮旋转。按照本公开,车轮旋转预测模块1406可使用交通工具的自我运动以及附加信息(诸如车轮的周长和车轮的空气压力)来确定预测车轮旋转。在一些实施例中,可通过特定数学模型来确定预测车轮旋转,所述数学模型被应用于包括运动的指示符的所收集数据。例如,可使用训练数据(例如训练示例)来训练机器学习模型,以确定预测车轮旋转。这种训练数据可包括图像集合和运动的指示符集合连同所测量数据(其指示交通工具的车轮中的每个车轮的实际车轮旋转)和/或与训练机器以预测车轮旋转的任何其它数据(例如车轮的周长)。在一些示例中,人工神经网络(诸如深度神经网络、卷积神经网络等)可(例如手动、使用机器学习方法、通过组合其它人工神经网络等)配置成预测车轮旋转。
滑移状况检测模块1408可使用来自车轮旋转估计模块1402、交通工具运动确定模块1404和车轮旋转预测模块1406的数据来检测与交通工具的至少一个车轮关联的车轮滑移状况。在一个实施例中,滑移状况检测模块1408可基于交通工具的运动的一个或多个指示符来检测车轮滑移状况。例如,可使用交通工具的运动的指示符来检测一些横向滑移。在另一个实施例中,滑移状况检测模块1408可基于预测车轮旋转与测量车轮旋转之间的差异来检测车轮滑移状况。例如,可通过比较预测车轮旋转和测量车轮旋转来检测纵向滑移。预测车轮旋转与测量车轮旋转之间的差异可指示交通工具的车轮中的一个或多个因湿滑或结冰道路、因交通工具的横向打滑、或者因功率不足的一个或多个车轮的牵引力的损失以及其它状况而正在滑移。在现实生活中,车轮滑移状况通常包括横向滑移和纵向滑移两者。滑移状况检测模块1408可量化车轮滑移状况与横向滑移关联的部分的量,并且量化车轮滑移状况与纵向滑移关联的部分的量。例如,所检测车轮滑移状况可由30%横向滑移和70%纵向滑移组成。
故障检测模块1410可使用来自车轮旋转估计模块1402、交通工具运动确定模块1404和车轮旋转预测模块1406的数据来检测与交通工具的车轮关联的故障状况。如上所论述,车轮运动可基于两个独立路径来确定:第一路径可使用来自车轮旋转估计模块1402的数据,以及第二路径可使用来自交通工具运动确定模块1404的数据。使用平行独立路径有利地提供确定车轮旋转信号是否符合按照交通工具的运动的预计旋转水平的能力。在预测车轮旋转不符合观测车轮旋转的情况下,故障检测模块1410可确定可能存在引起非预计旋转状况的问题。在一些情况下,预测车轮旋转与测量车轮旋转之间的差异可指示跑气轮胎(或者空气压力的损失)的存在。例如,由于车轮的周长可因变化空气压力而改变,因此测量车轮旋转可能不匹配与充气轮胎关联的预测车轮旋转。
***响应模块1412可配置成从滑移状况检测模块1408和/或故障检测模块1410接收数据以确定***响应。第一类型的***响应可包括发起至少一个导航动作,如以上参照导航响应模块408详细描述。其它类型的导航动作可涉及控制节流***220、制动***230和/或转向***240。具体来说,可使用来自滑移状况检测模块1408的数据和/或来自故障检测模块1410的数据以逐个车轮为基础来确定导航动作。导航动作的示例可包括:通过与交通工具的至少一个车轮关联的选择性制动来对ABS致动、通过对交通工具的至少一个车轮的选择性转向控制来对转向***致动、通过对交通工具的至少一个车轮选择性施加功率来对牵引力控制***致动、以及通过对与交通工具的至少一个车轮关联的一个或多个活动悬架组件的选择性控制来对悬架***致动。第二类型的***响应可包括向交通工具的驾驶员提供告警。这类告警的示例可包括:已关于交通工具的至少一个车轮检测到滑移状况的告警;已检测到滑移状况的告警以及对已检测到滑移状况的交通工具的每个车轮的标识;交通工具的至少一个轮胎未被正确充气的告警;交通工具的至少一个车轮未被正确对齐的告警;以及交通工具的至少一个差速器未正确操作的告警。第三类型的***响应可包括向相对于交通工具远程定位的基于服务器的***或者向位于交通工具附近的其它交通工具传送与所检测滑移状况关联的一个或多个指示符。可被传送的这类指示符的示例包括与所检测滑移状况关联的图像数据、与所检测滑移状况关联的区域的位置信息、所检测滑移状况的特性、与交通工具有关的细节、与驾驶员有关的细节、时刻等。向其它交通工具或者向基于服务器的***传送与所检测滑移状况关联的指示符可用来例如对其它交通工具进行重新选路或警告。下面参照图16和图17来描述关于该实施例的附加细节。
图15是示出按照所公开实施例、用于导航交通工具的示例过程1500的流程图。可由与主交通工具关联的至少一个处理装置(诸如,如上所述的处理单元110或处理单元1206)来执行过程1500。因此,过程1500可由自主或半自主交通工具来实现,并且可用于对主交通工具进行导航。要理解,贯穿本公开,术语“处理器”和“处理单元”分别用作“至少一个处理器”和“至少一个处理单元”的简写。换言之,处理器或处理单元可包括执行逻辑操作的一个或多个结构(例如电路),而无论这类结构是并存、连接还是分配的。在一些实施例中,一种非暂时性计算机可读介质可包含指令,所述指令在由处理器执行时使所述处理器执行过程1500。此外,过程1500不一定限于图15中所示的步骤,并且贯穿本公开描述的各个实施例的任何步骤或过程也可被包含在过程1500中,包括以上关于例如图12-图14所述的那些步骤或过程。
在步骤1502中,过程1500包括接收由与交通工具关联的图像捕获装置所获取的多个图像。多个图像帧可表示交通工具的环境。按照所公开实施例,可以以预定速率(例如以15 Hz、以18 Hz、以20 Hz或者以更高速率)来接收多个图像。在一些实施例中,可由与交通工具关联的多个图像捕获装置(例如三个图像捕获装置、五个图像捕获装置或更多个)来获取多个图像。
在步骤1504中,过程1500包括基于对多个图像中的两个或更多个图像的分析来确定交通工具相对于与多个图像中的两个或更多个图像关联的捕获时间的运动的一个或多个指示符。在本公开的上下文中,术语“运动的指示符”可包括指示相对于至少三个、四个、五个或六个自由度的交通工具的速度的任何信息以及与相对于至少三个、四个、五个或六个自由度的交通工具的加速度有关的任何信息。在一些情况下,运动的指示符可以特定于交通工具的不同部分。例如,在横向滑移的情况下,交通工具的前部的加速度可与交通工具的尾部的加速度不同。此外,在一些实施例中,术语“相对于捕获时间”可以指捕获时间之间,并且可包括例如从第一捕获时间到第二捕获时间。例如,参照图13,交通工具的运动的指示符可相对于T1和T2。按照所公开实施例,处理器可配置成确定与交通工具的每个车轮关联的旋转方向。与交通工具的每个车轮关联的旋转方向的确定可基于图像分析或者基于指示测量车轮旋转的一个或多个传感器输出。
在步骤1506中,过程1500包括对于交通工具的至少一个车轮来确定对应于交通工具相对于与多个图像中的两个或更多个图像关联的捕获时间的运动的预测车轮旋转。按照所公开实施例,可对于交通工具的每个车轮或者对于交通工具的车轮中的一些来单独确定对应于交通工具的运动的预测车轮旋转。例如,在交通工具是具有十八个车轮的半挂车的情况下,处理器可以仅对于十八个车轮的子集或者对于所有十八个车轮来确定预测车轮旋转。在一些实施例中,用来确定预测车轮旋转的预测方法可包括来自统计、机器学习、和人工智能领域的方法的组合。在一个实施例中,处理器可基于交通工具的运动的一个或多个指示符来确定预测车轮旋转,并且可基于附加数据,诸如车轮的周长。
在步骤1508中,过程1500包括接收一个或多个传感器输出,所述一个或多个传感器输出指示与交通工具的至少一个车轮关联的测量车轮旋转。在一些实施例中,一个或多个传感器输出包括来自一个或多个车轮RPM传感器的传感器输出,所述一个或多个车轮RPM传感器配置成测量车轮的旋转速度。另外,交通工具还可包括GPS接收器和/或惯性传感器中的至少一个,它们可用来确定自我运动和/或估计或预测实际车轮旋转。
在步骤1510中,过程1500包括针对交通工具的至少一个车轮将预测车轮旋转与测量车轮旋转进行比较。如本文所使用,术语“比较”是指评估从图像分析所确定的预测车轮旋转如何与测量车轮旋转相关或相异。在一些情况下,比较可通过应用人工智能算法来执行,所述人工智能算法配置成标识预测车轮旋转与测量车轮旋转之间的差异。
在步骤1512中,过程1500包括基于预测车轮旋转与测量车轮旋转之间的差异来检测与交通工具的至少一个车轮关联的车轮滑移状况。在一些实施例中,当所检测车轮滑移状况包括横向滑移时,处理器可量化与横向滑移关联的量。对于大于1毫弧度、大于3毫弧度、大于5毫弧度的横向滑移角,横向滑移的量可以是可检测的。备选地,对于小于10毫弧度、小于5毫弧度、小于3毫弧度的横向滑移角,横向滑移的量可以是可检测的。在所检测车轮滑移状况包括横向滑移的情况下,可关于至少五个自由度来确定交通工具的运动。例如,可关于三个旋转自由度和两个平移自由度来确定交通工具的运动。在其它实施例中,当所检测车轮滑移状况包括纵向滑移时,处理器可量化与纵向滑移关联的量。对于大于1毫弧度、大于3毫弧度、大于5毫弧度的纵向滑移角,纵向滑移的量可以是可检测的。备选地,对于小于10毫弧度、小于5毫弧度、小于3毫弧度的纵向滑移角,纵向滑移的量可以是可检测的。在所检测车轮滑移状况包括纵向滑移的情况下,至少三个图像可用于图像分析,以及可关于至少六个自由度来确定交通工具的运动。例如,可关于三个旋转自由度和三个平移自由度来确定交通工具的运动。在其它实施例中,当所检测车轮滑移状况包括横向滑移和纵向滑移时,处理器可量化与横向滑移和纵向滑移中的每个关联的量。
在步骤1514中,过程1500包括响应于与交通工具的至少一个车轮关联的所检测车轮滑移状况而发起至少一个导航动作。在一些实施例中,至少一个导航动作包括自动修改与交通工具的导航***关联的自主驾驶策略的至少一个方面。例如,修改自主驾驶策略的至少一个方面可包括改变跟车距离、改变速度控制等。在其它实施例中,至少一个导航动作包括对交通工具进行自动重新选路。例如,处理器可使交通工具重新选路到不太弯曲的路线、较慢的路线等。在附加实施例中,至少一个导航动作可包括向相对于交通工具远程定位的基于服务器的***传送与所检测滑移状况关联的一个或多个指示符。例如,处理器可与REM映射***结合操作以检测潜在危险的位置。潜在危险的位置的确定可基于与多个所检测滑移状况(所检测滑移状况与多次驾驶关联)关联的指示符集合。
按照过程1500的第一实现,至少一个导航动作可包括向交通工具的操作员提供告警。在第一示例中,告警可包括已关于交通工具的至少一个车轮检测到滑移状况的指示。在第二示例中,告警可包括已检测到滑移状况的指示以及已检测到滑移状况的交通工具的每个车轮的标识。在第三示例中,告警可包括交通工具的至少一个轮胎未被正确充气的指示。在第四示例中,告警可包括交通工具的至少一个车轮未被正确对齐的指示。在第五示例中,告警可包括交通工具的至少一个差速器未正确操作的指示。具体来说,当转向运动期间的预测车轮旋转(基于图像分析)与观测车轮旋转(基于传感器输出)之间的差异匹配预定义模式时,处理器可确定交通工具的至少一个差速器未正确操作。
按照过程1500的第二实现,至少一个导航动作可包括与交通工具关联的至少一个***的致动。例如,处理器可以以逐个车轮为基础来控制交通工具的车轮的操作,以抵消所检测滑移状况或者提供预期滑移水平。在第一示例中,该***可包括防抱死制动***(ABS),以及ABS的致动包括与交通工具的至少一个车轮关联的选择性制动。在第二示例中,该***可包括转向***,以及转向***的致动包括对交通工具的至少一个车轮的选择性转向控制。在第三示例中,该***可包括牵引力控制***,以及牵引力控制***的致动包括对交通工具的至少一个车轮选择性施加功率。在第四示例中,该***可包括悬架***,以及悬架***的致动包括对与交通工具的至少一个车轮关联的一个或多个活动悬架组件的选择性控制。
图16示出示例,其中所公开***采集与从多个主交通工具收集的车轮滑移状况有关的众包信息,以用潜在危险的位置来更新地图信息。如图16中所描绘,道路1600包括多次先前驾驶的表示1602。多次先前驾驶中的每个可与采集交通工具之一关联。在一些实施例中,多个采集交通工具中的特定采集交通工具可与先前驾驶中的两次或更多次驾驶关联(例如采集交通工具可能在多个时机已经行驶于道路1600)。按照所公开实施例,***1200可从多个采集交通工具接收与每个采集交通工具的至少一个车轮关联的所检测车轮滑移状况的指示符。所检测滑移状况的指示符可包括与所检测滑移状况关联的图像数据、与所检测滑移状况关联的区域的位置、所检测滑移状况的特性、交通工具的细节、关于交通工具的驾驶员的细节、时刻、交通工具外的温度等。***1200可使所检测车轮滑移状况的指示符关于一个或多个地理位置相互关连。在一个实施例中,***1200可将与至少一个车轮关联的所检测车轮滑移状况的指示符随时间相对于一个或多个地理位置进行整合,以确定路面状况随时间的变化。参照所示示例,***1200可将特定路段1604标识为具有光滑状况的路段。此后,***1200可基于关于一个或多个地理位置的所检测车轮滑移状况的经相互关连指示符来生成信息并向至少一个实体传送所述信息。所传送信息可包括以下项中的至少一项:被分发给多个导航交通工具的告警;限制进入区的指示;变更计划导航路线的指令;以及路面状况已与所检测车轮滑移状况相联系的至少一个路段的标识。参照所示示例,***1200可将导航信息传送给可能受特定路段1604所影响的道路用户实体(例如可能跨道路1600或者在道路1600附近行驶的交通工具1606或行人1608)。在其它示例中,***1200可将信息传送给非道路用户实体,诸如市政交通控制***、负责基础设施维修和维护的承包商等。
按照本公开,***1200可与REM映射***结合使用与所检测车轮滑移状况有关的所收集数据。REM映射***可利用从多次驾驶收集的众包信息来生成和/或细化与路段关联的地图。在一些实施例中,REM地图可包括在与REM地图关联的道路上行驶的交通工具(例如主或目标/所检测交通工具)可用的轨迹(例如三维样条)。REM地图还可包括所检测对象(例如与所检测滑移状况关联的特定路段、道路标志、道路边缘、车道标记、公共汽车站、或与道路关联的任何其它可识别特征等),并且可将地图中的所检测对象与细化位置(所述细化位置与所检测对象中的一个或多个关联)关联。细化位置可基于众包位置信息来确定,所述众包位置信息在采集交通工具中的至少一个采集交通工具沿路段的多次单独驾驶的每个期间被确定。来自地图的所检测对象及其位置可用在导航自主或部分自主交通工具中(例如通过帮助确定交通工具相对于来自REM地图的目标轨迹所在的位置)。
为了生成众包REM地图,可从采集交通工具中的至少一个采集交通工具沿路段的多次驾驶收集驾驶信息。这可包括例如从在不同时间在某个区域中行驶的一个采集交通工具和/或从在该区域中行驶的多个不同采集交通工具收集驾驶信息。映射***然后可通过以下方式来对齐所收集信息以提升精确度:通过细化对象位置并且通过细化交通工具轨迹来填充驾驶数据集中的缺口。映射***还可请求关于与所检测车轮滑移状况关联的位置的附加数据,以便增加因道路的状况而不是因驾驶员的表现而引起车轮滑移状况的置信水平。因此,还例如按需收集交通工具在特定路段未经历车轮滑移状况的实例。
按照本公开,所公开的***和方法可被结合在REM***中,以将经历车轮滑移状况的交通工具的行驶路径和与该路段关联的参考行驶路径进行比较,以确定交通工具偏离参考行驶路径的程度。在一些实施例中,***1200可使用视差分析来检测道路上的水或冰。例如,该***可分析一个或多个图像,以基于图像中的眩光来标识诸如湿滑或结冰道路之类的光滑状况。在其它实施例中,***1200可使用众包技术来检测交通工具的车轮在道路上滑移的区域。该***然后可向映射服务器上载将区域指定为危险的区域的信息。服务器然后可向在该区域附近行驶的交通工具分发指示该区域包括潜在危险的地图信息。在其它实施例中,***1200可确定交通工具的车轮滑移状况不是驾驶员动作的结果,而是交通工具的环境中的状况的结果。在其它实施例中,***1200可确定车轮滑移状况在特定路段发生的时刻。例如,***1200可确定特定道路上的小块冰在清晨时分是普遍的。***1200可配置成避免向在其它时间接近该特定路段的交通工具传送与某些状况(例如冰)有关的信息。在其它实施例中,***1200可确定在车轮滑移状况在特定路段发生前和发生时的天气状况集合。例如,当湿度大于某个值并且温度低于零时,***1200可标识道路上的小块冰。***1200可配置成避免向在没有不利地影响路面的不同天气状况下接近该特定路段的交通工具传送信息。
图17是示出按照所公开实施例的示例过程1700的流程图。过程1700可由与服务器1202关联的至少一个处理装置来执行。在一些实施例中,一种非暂时性计算机可读介质可包括指令,所述指令在由处理器执行时使所述处理器执行过程1700。此外,过程1700不一定限于图17中所示的步骤,以及贯穿本公开所描述的各个实施例的任何步骤或过程也可被包含在过程1700中,包括以上关于例如图12-图16所述的那些步骤或过程。
在步骤1702中,过程1700包括从多个采集交通工具接收与至少一个车轮关联的所检测车轮滑移状况的指示符。所检测车轮滑移状况的指示符可至少包括与所检测横向滑移状况关联的位置的第一指示符以及与所检测纵向滑移状况关联的位置的第二指示符。可基于对由至少一个交通工具的摄像机在沿路段的驾驶期间所捕获的至少两个图像的分析来确定车轮滑移检测的第一指示符和第二指示符。例如,多个采集交通工具中的每个采集交通工具可沿路段捕获图像,并且可使用例如过程1500来确定车轮滑移状况。在一些实施例中,可将与至少一个车轮关联的所检测车轮滑移状况的指示符随时间相对于一个或多个地理位置进行整合,以确定路面状况随时间的变化。过程1700还可包括从附加采集交通工具接收与所检测滑移状况关联的一个或多个地理位置处的非滑移状况的指示符。在一些实施例中,可将所检测车轮滑移状况的指示符以及非滑移状况的指示符随时间进行整合,以更新与所检测滑移状况关联的置信水平。例如,将在某个地理位置经历滑移状况的交通工具的数量与在所述某个地理位置未经历滑移状况的交通工具的数量进行比较。
在步骤1704,过程1700包括使所检测车轮滑移状况的指示符关于一个或多个地理位置相互关连。在一些实施例中,相互关连可包括基于所检测滑移状况的指示符来确定所检测滑移状况的细化位置。所检测滑移状况的细化位置可相对于公共路段本地的坐标系。在一些实施例中,公共路段本地的坐标系可基于由多个采集交通工具搭载的摄像机所捕获的多个图像。例如,坐标系可基于对图像的分析来开发,以确定与路段关联的三维空间,从所述三维空间中可开发三维坐标系。以上提供了与用于生成稀疏地图的三维坐标有关的进一步细节。在一些实施例中,相互关连可进一步包括将曲线拟合算法应用于与经历车轮滑移状况的采集交通工具关联的驾驶信息集合。换言之,可确定通过具有与所检测车轮滑移状况的指示符的“最佳拟合”的数学函数所定义的曲线。例如,可执行线性或非线性回归分析,以将曲线与驾驶信息拟合。在一些实施例中,使驾驶信息相互关连可包括基于来自多个采集交通工具的多个指示符来确定车轮滑移状况的平均位置。
在步骤1706,过程1700包括基于关于一个或多个地理位置的所检测车轮滑移状况的经相互关连指示符来生成导航信息并向至少一个实体传送所述导航信息。按照本公开,导航信息可包括路面状况已与所检测车轮滑移状况相联系的至少一个路段的标识。该标识可包括所述至少一个路段变得更光滑的可能原因。在一些实施例中,导航信息包括告警,该告警被分发给与基于服务器的导航***关联的至少一个交通工具。例如,该告警包括可包括相对于特定路段所检测的光滑状况的存在的标识。在其它实施例中,导航信息可包括限制进入区的指示。例如,与基于服务器的导航***关联的管理***可限制交通工具队伍在检测到危险状况的区域中进行导航。在其它实施例中,导航信息可包括针对正接近所述至少一个路段(其中路面状况已与所检测车轮滑移状况相联系)的交通工具或行人的推荐。该推荐可包括变更一个或多个交通工具的计划导航路线(即,对交通工具进行自动重新选路以避开该路段),或者限制正在该路段中驾驶的交通工具的最大速度。
为了便于说明而提供以上描述。它不是详尽的,并且不是局限于所公开的精确形式或实施例。修改和适配将是本领域的技术人员通过思考本说明书以及实施所公开实施例清楚知道的。另外,虽然所公开实施例的方面被描述为被存储在存储器中,但是本领域的技术人员将会理解,这些方面也能够被存储在其它类型的计算机可读介质上,例如,辅助存储装置,例如硬盘或CD ROM或者其它形式的RAM或ROM、USB介质、DVD、Blu-ray、4K Ultra HDBlu-ray或其它光学驱动器介质。
基于本书面描述和所公开方法的计算机程序属于有经验开发人员的技能。各种程序或程序模块能够使用本领域的技术人员已知的技术的任一种来创建,或者能够结合现有软件来设计。例如,程序段或程序模块能够通过或者借助于.Net Framework、.Net CompactFramework(以及相关语言,例如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或者具有所包含Java小应用程序的HTML来设计。
此外,虽然本文已经描述说明性实施例,但是任何一个和全部实施例的范围具有等效元件、修改、省略、(例如跨各个实施例的方面的)组合、适配和/或变更,如本领域的技术人员基于本公开会理解。权利要求中的限制将基于权利要求中采用的语言来广义地解释,而并不局限于本说明书中或者本申请进行期间所述的示例。示例将被理解为非排它的。此外,所公开方法的步骤可按照任何方式来修改,包括通过对步骤重排序和/或***或删除步骤。因此,预计本说明书和示例被理解为只是说明性的,其中真实范围和精神通过以下权利要求及其等效体的全范围所指示。

Claims (36)

1.一种用于导航交通工具的***,所述***包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收由与所述交通工具关联的图像捕获装置所获取的多个图像帧,其中所述多个图像帧表示所述交通工具的环境;
基于对所述多个图像中的两个或更多个图像的分析来确定所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的捕获时间的运动的一个或多个指示符;
对于所述交通工具的至少一个车轮来确定对应于所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的所述捕获时间的所述运动的预测车轮旋转;
接收一个或多个传感器输出,所述一个或多个传感器输出指示与所述交通工具的所述至少一个车轮关联的测量车轮旋转;
针对所述交通工具的所述至少一个车轮将所述预测车轮旋转与所述测量车轮旋转进行比较;
基于所述预测车轮旋转与所述测量车轮旋转之间的差异来检测与所述交通工具的所述至少一个车轮关联的车轮滑移状况;以及
响应于与所述交通工具的所述至少一个车轮关联的所检测车轮滑移状况而发起至少一个导航动作。
2.如权利要求1所述的***,其中,针对所述交通工具的每个车轮单独确定对应于所述交通工具的所述运动的所述预测旋转。
3.如权利要求1所述的***,其中,所检测车轮滑移状况包括横向滑移,并且所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器量化与所述横向滑移关联的量。
4.如权利要求3所述的***,其中,所述横向滑移的所述量对于大于1毫弧度的滑移角是可检测的。
5.如权利要求3所述的***,其中,关于至少五个自由度来确定所述交通工具的所述运动。
6.如权利要求1所述的***,其中,所检测车轮滑移状况包括纵向滑移,并且所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器量化与所述纵向滑移关联的量。
7.如权利要求6所述的***,其中,所述纵向滑移的所述量对于大于1毫弧度的滑移角是可检测的。
8.如权利要求6所述的***,其中,所述多个图像中的所述两个或更多个图像包括至少三个图像。
9.如权利要求6所述的***,其中,关于至少六个自由度来确定所述交通工具的所述运动。
10.如权利要求1所述的***,其中,所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器确定与所述交通工具的每个车轮关联的旋转方向。
11.如权利要求1所述的***,其中,所述一个或多个传感器输出包括来自一个或多个车轮每分钟转数(RPM)传感器的传感器输出。
12.如权利要求1所述的***,其中,所述交通工具还包括全球定位***(GPS)接收器或惯性传感器中的至少一个。
13.如权利要求1所述的***,其中,所述至少一个导航动作包括向所述交通工具的操作员提供告警。
14.如权利要求13所述的***,其中,所述告警包括已关于所述交通工具的至少一个车轮检测到滑移状况的指示。
15.如权利要求13所述的***,其中,所述告警包括已检测到滑移状况的指示以及所述交通工具的每个车轮的标识,已针对所述交通工具检测到滑移状况。
16.如权利要求13所述的***,其中,所述告警包括所述交通工具的至少一个轮胎未被正确充气的指示。
17.如权利要求13所述的***,其中,所述告警包括所述交通工具的至少一个车轮未被正确对齐的指示。
18.如权利要求13所述的***,其中,所述告警包括所述交通工具的至少一个差速器未正确操作的指示。
19.如权利要求1所述的***,其中,所述至少一个导航动作包括与所述交通工具关联的至少一个***的致动。
20.如权利要求19所述的***,其中,所述至少一个***包括防抱死制动***(ABS),并且所述ABS的致动包括与所述交通工具的至少一个车轮关联的选择性制动。
21.如权利要求19所述的***,其中,所述至少一个***包括转向***,并且所述转向***的致动包括对所述交通工具的至少一个车轮的选择性转向控制。
22.如权利要求19所述的***,其中,所述至少一个***包括牵引力控制***,并且所述牵引力控制***的致动包括对所述交通工具的至少一个车轮选择性施加功率。
23.如权利要求19所述的***,其中,所述至少一个***包括悬架***,并且所述悬架***的致动包括对与所述交通工具的至少一个车轮关联的一个或多个活动悬架组件的选择性控制。
24.如权利要求1所述的***,其中,所述至少一个导航动作包括自动修改与所述导航***关联的自主驾驶策略的至少一个方面。
25.如权利要求1所述的***,其中,所述至少一个导航动作包括对所述交通工具进行自动重新选路。
26.如权利要求1所述的***,其中,所述至少一个导航动作包括向相对于所述交通工具远程定位的基于服务器的***传送与所检测滑移状况关联的一个或多个指示符。
27.如权利要求1所述的***,其中,以预定速率来接收所述多个图像。
28.一种包含指令的非暂时性计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行用于导航交通工具的方法,所述方法包括:
接收由与所述交通工具关联的图像捕获装置所获取的多个图像帧,其中所述多个图像帧表示所述交通工具的环境;
基于对所述多个图像中的两个或更多个图像的分析来确定所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的捕获时间的运动的一个或多个指示符;
对于所述交通工具的至少一个车轮来确定对应于所述交通工具相对于与所述多个图像中的所述两个或更多个图像关联的所述捕获时间的所述运动的预测车轮旋转;
接收一个或多个传感器输出,所述一个或多个传感器输出指示与所述交通工具的所述至少一个车轮关联的测量车轮旋转;
针对所述交通工具的所述至少一个车轮将所述预测车轮旋转与所述测量车轮旋转进行比较;
基于所述预测车轮旋转与所述测量车轮旋转之间的差异来检测与所述交通工具的所述至少一个车轮关联的车轮滑移状况;以及
响应于与所述交通工具的所述至少一个车轮关联的所检测车轮滑移状况而发起至少一个导航动作。
29.一种基于服务器的导航***,所述***包括:
与存储器关联的至少一个处理器,其中所述存储器包括指令,所述指令在由所述处理器执行时使所述至少一个处理器:
从多个采集交通工具接收与至少一个车轮关联的所检测车轮滑移状况的指示符;
使所检测车轮滑移状况的所述指示符关于一个或多个地理位置相互关连;以及
基于所检测车轮滑移状况关于一个或多个地理位置的经相互关连指示符来生成导航信息并向至少一个实体传送所述导航信息。
30.如权利要求29所述的***,其中,所述导航信息包括告警,所述告警被分发给多个导航交通工具。
31.如权利要求30所述的***,其中,所述告警包括相对于特定路段所检测的光滑状况的所述存在的标识。
32.如权利要求29所述的***,其中,所述导航信息包括对限制进入区的指示。
33.如权利要求29所述的***,其中,所述导航信息包括对一个或多个交通工具的计划导航路线的变更。
34.如权利要求29所述的***,其中,所述导航信息包括路面状况已与所检测车轮滑移状况相联系的至少一个路段的标识。
35.如权利要求29所述的***,其中,将与至少一个车轮关联的所检测车轮滑移状况的所述指示符随时间相对于所述一个或多个地理位置进行整合,以确定路面状况随时间的变化。
36.一种包含指令的非暂时性计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行方法,所述方法包括:
从多个采集交通工具接收与至少一个车轮关联的所检测车轮滑移状况的指示符;
使所检测车轮滑移状况的所述指示符关于一个或多个地理位置相互关连;以及
基于所检测车轮滑移状况关于一个或多个地理位置的经相互关连指示符来生成导航信息并向至少一个实体传送所述导航信息。
CN202180006406.9A 2020-06-22 2021-06-22 用于检测交通工具车轮滑移的***和方法 Pending CN114729806A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063042155P 2020-06-22 2020-06-22
US63/042155 2020-06-22
US202063052542P 2020-07-16 2020-07-16
US63/052542 2020-07-16
PCT/US2021/038444 WO2021262694A1 (en) 2020-06-22 2021-06-22 Systems and methods for detecting vehicle wheel slips

Publications (1)

Publication Number Publication Date
CN114729806A true CN114729806A (zh) 2022-07-08

Family

ID=77499895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180006406.9A Pending CN114729806A (zh) 2020-06-22 2021-06-22 用于检测交通工具车轮滑移的***和方法

Country Status (4)

Country Link
US (1) US20230106644A1 (zh)
CN (1) CN114729806A (zh)
DE (1) DE112021000146T5 (zh)
WO (1) WO2021262694A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7116432B2 (ja) * 2019-01-29 2022-08-10 ヤンマーパワーテクノロジー株式会社 自律走行システム
US20230084708A1 (en) * 2021-09-10 2023-03-16 Transportation Ip Holdings, Llc Vehicle Control System
DE102022123561A1 (de) 2022-09-15 2024-03-21 Valeo Schalter Und Sensoren Gmbh Frontkamerasystem für ein Fahrzeug

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2494413A (en) * 2011-09-06 2013-03-13 Land Rover Uk Ltd Vehicle speed determination
GB2568881A (en) * 2017-11-28 2019-06-05 Jaguar Land Rover Ltd Vehicle control apparatus and method
US11475763B2 (en) * 2019-02-15 2022-10-18 Autonomous Solutions, Inc. Semantic information sharing in autonomous vehicles
WO2022208765A1 (ja) * 2021-03-31 2022-10-06 株式会社Subaru ナビゲーションシステム、サーバ装置、ナビゲーション装置および車両

Also Published As

Publication number Publication date
US20230106644A1 (en) 2023-04-06
DE112021000146T5 (de) 2022-07-21
WO2021262694A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US11669102B2 (en) Navigating a vehicle based on a detected barrier
EP3854646B1 (en) Systems and methods for navigating with safe distances
US11960293B2 (en) Systems and methods for navigating lane merges and lane splits
US10696227B2 (en) Determining a road surface characteristic
US11200433B2 (en) Detection and classification systems and methods for autonomous vehicle navigation
US20220397402A1 (en) Systems and methods for determining road safety
US20230005364A1 (en) Systems and methods for monitoring traffic lane congestion
US20210341303A1 (en) Clustering event information for vehicle navigation
US20230106644A1 (en) Systems and methods for detecting vehicle wheel slips
US20240199006A1 (en) Systems and Methods for Selectively Decelerating a Vehicle
US20230236037A1 (en) Systems and methods for common speed mapping and navigation
US20230117253A1 (en) Ego motion-based online calibration between coordinate systems
US20230202473A1 (en) Calculating vehicle speed for a road curve
US20230211726A1 (en) Crowdsourced turn indicators
CN114930123A (zh) 用于检测交通灯的***和方法
WO2023067385A2 (en) Radar-camera fusion for vehicle navigation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: M. Shen Feide

Inventor after: G. Oscar

Inventor before: M. Shenfreid

Inventor before: G. Oscar

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination