用于选择性地使交通工具减速的系统和方法与流程

文档序号:31723644发布日期:2022-10-04 23:58阅读:39来源:国知局
用于选择性地使交通工具减速的系统和方法与流程
用于选择性地使交通工具减速的系统和方法
相关申请的交叉引用
1.本技术要求于2019年12月9日提交的美国临时申请第62/945,503号的优先权的权益。上述申请通过引用以其整体并入本文。背景
技术领域
2.本公开总体上涉及自主交通工具导航。


背景技术:

3.随着技术继续进步,能够在道路上导航的完全自主交通工具的目标即将实现。自主交通工具可能需要考虑各种因素,并且基于那些因素做出适当的决定,以安全地并且准确地到达预期目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如,从相机捕获的信息),并且还可能使用从其他源(例如,从gps设备、速度传感器、加速度计、悬架传感器等)获得的信息。同时,为了导航到目的地,自主交通工具可能还需要标识其在特定道路内的位置(例如,多车道道路内的特定车道),在其他交通工具旁边导航,避开障碍物和行人,观察交通信号和标志,以及在适当的交叉路口或立体交叉道路处从一条道路行驶到另一条道路。对在自主交通工具向其目的地行驶时由该交通工具收集的大量信息进行利用和解释提出了许多设计挑战。自主交通工具可能需要分析、访问和/或存储的大量数据(例如,捕获的图像数据、地图数据、gps数据、传感器数据等)提出了事实上可能限制甚至不利地影响自主导航的挑战。此外,如果自主交通工具依赖于传统的地图绘制技术进行导航,则存储和更新地图所需要的大量数据提出了令人生畏的挑战。


技术实现要素:

4.与本公开一致的实施例提供了用于自主交通工具导航的系统和方法。所公开的实施例可以使用相机来提供自主交通工具导航特征。例如,与所公开的实施例一致的,所公开的系统可以包括监视交通工具环境的一个、两个或更多个相机。所公开的系统可以基于例如对由这些相机中的一个或多个相机捕获的图像的分析来提供导航响应。
5.本公开的一个实施例涉及一种用于主交通工具的系统。该系统可包括至少一个处理器,该至少一个处理器被编程成用于:基于主交通工具的至少一个传感器的输出来确定主交通工具的环境中的目标交通工具的一个或多个目标动力学;基于主交通工具的一个或多个主动力学、以及一个或多个目标动力学来确定主交通工具和目标交通工具的碰撞时间;基于碰撞时间和一个或多个主动力学来确定用于主交通工具避免碰撞的主减速;基于碰撞时间和一个或多个目标动力学来确定用于目标交通工具避免碰撞的目标减速;基于主减速和目标减速来确定主减速阈值;以及基于主交通工具的速度和主减速阈值来对制动主交通工具进行确定。
6.本公开的另一个实施例涉及一种计算机实现的方法。该方法可包括:基于主交通
工具的至少一个传感器的输出来确定主交通工具的环境中的目标交通工具的一个或多个目标动力学;基于主交通工具的一个或多个主动力学、以及一个或多个目标动力学来确定主交通工具和目标交通工具的碰撞时间;基于碰撞时间和一个或多个主动力学来确定用于主交通工具避免碰撞的主减速;基于碰撞时间和一个或多个目标动力学来确定用于目标交通工具避免碰撞的目标减速;基于主减速和目标减速来确定主减速阈值;以及基于主交通工具的速度和主减速阈值来对制动主交通工具进行确定。
7.与其他公开的实施例相一致的,非瞬态计算机可读存储介质可以存储程序指令,该程序指令由至少一个处理设备执行,并执行本文描述的方法中的任何方法。
8.上述总体描述和以下详细描述仅为示例性和解释性的,并且不是权利要求的限制。
附图说明
9.并入本公开并构成本公开一部分的所附附图示出了各个公开的实施例。在附图中:
10.图1是符合所公开的实施例的示例性系统的图解表示。
11.图2a是包括符合所公开的实施例的系统的示例性交通工具的图解侧视图表示。
12.图2b是符合所公开的实施例的、图2a中所示的交通工具和系统的图解俯视图表示。
13.图2c是包括符合所公开的实施例的系统的交通工具的另一实施例的图解俯视图表示。
14.图2d是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示。
15.图2e是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示。
16.图2f是符合所公开的实施例的示例性交通工具控制系统的图解表示。
17.图3a是符合所公开的实施例的、包括后视镜和用于交通工具成像系统的用户接口的交通工具的内部的图解表示。
18.图3b是符合所公开的实施例的、被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架示例的图示。
19.图3c是符合所公开的实施例的、图3b中所示的相机支架从不同视角的图示。
20.图3d是符合所公开的实施例的、被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架示例的图示。
21.图4是被配置为存储用于执行符合所公开的实施例的一个或多个操作的指令的存储器的示例性框图。
22.图5a是示出了符合所公开的实施例的、用于基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。
23.图5b是示出了符合所公开的实施例的、用于在图像的集合中检测一个或多个交通工具和/或行人的示例性过程的流程图。
24.图5c是示出了符合所公开的实施例的、用于在图像的集合中检测道路标记和/或
车道几何形状信息的示例性过程的流程图。
25.图5d是示出了符合所公开的实施例的、用于在图像的集合中检测交通灯的示例性过程的流程图。
26.图5e是示出了符合所公开的实施例的、用于基于交通工具路径来引起一个或多个导航响应的示例性过程的流程图。
27.图5f是示出了符合所公开的实施例的、用于确定在前的交通工具是否正在改变车道的示例性过程的流程图。
28.图6是示出了符合所公开的实施例的、用于基于立体图像分析来引起一个或多个导航响应的示例性过程的流程图。
29.图7是示出了符合所公开的实施例的、用于基于对三个图像集合的分析来引起一个或多个导航响应的示例性过程的流程图。
30.图8示出了符合所公开的实施例的用于提供自主交通工具导航的稀疏地图。
31.图9a图示出符合所公开的实施例的道路段的部分的多项式表示。
32.图9b图示出符合所公开的实施例的、表示稀疏地图中所包括的针对特定道路段的交通工具的目标轨迹的三维空间中的曲线。
33.图10图示出符合所公开的实施例的可能被包括在稀疏地图中的示例地标。
34.图11a示出了符合所公开的实施例的轨迹的多项式表示。
35.图11b和图11c示出了符合所公开的实施例的沿多车道道路的目标轨迹。
36.图11d示出了符合所公开的实施例的示例道路特色(signature)概况。
37.图12是符合所公开的实施例的、使用从多个交通工具接收的众包数据进行自主交通工具导航的系统的示意图。
38.图13图示出符合所公开的实施例的、由多个三维样条表示的示例的自主交通工具道路导航模型。
39.图14示出了符合所公开的实施例的通过将来自许多次驾驶的位置信息进行组合而生成的地图骨架。
40.图15示出了符合所公开的实施例的具有作为地标的示例标志的两个驾驶的纵向对齐的示例。
41.图16示出了符合所公开的实施例的具有作为地标的示例标志的多个驾驶的纵向对齐的示例。
42.图17是符合所公开的实施例的用于使用相机、交通工具和服务器生成驾驶的数据的系统的示意图。
43.图18是符合所公开的实施例的用于众包稀疏地图的系统的示意图。
44.图19是示出了符合所公开的实施例的、用于生成用于沿道路段的自主交通工具导航的稀疏地图的示例性过程的流程图。
45.图20图示出符合所公开的实施例的服务器的框图。
46.图21图示出符合所公开的实施例的存储器的框图。
47.图22图示出符合所公开的实施例的对与交通工具相关联的交通工具轨迹进行聚类的过程。
48.图23图示出符合所公开的实施例的可以用于自主导航的交通工具的导航系统。
49.图24a、24b、24c和24d图示出符合所公开的实施例的可以被检测到的示例性车道标记。
50.图24e示出符合所公开的实施例的示例性绘制的车道标记。
51.图24f示出符合所公开的实施例的、与检测车道标记相关联的示例性异常。
52.图25a示出了符合所公开的实施例的、用于基于绘制的车道标记进行导航的、交通工具的周围环境的示例性图像。
53.图25b图示出符合所公开的实施例的、在道路导航模型中基于绘制的车道标记对交通工具的横向定位校正。
54.图26a是示出了符合所公开的实施例的、用于绘制车道标记以供在自主交通工具导航中使用的示例性过程的流程图。
55.图26b是示出了符合所公开的实施例的、用于使用绘制的车道标记沿道路段自主地导航主交通工具的示例性过程的流程图。
56.图27是符合所公开的实施例的、交叉口交通工具轨迹和碰撞估计的俯视图的示意图。
57.图28图示出符合所公开的实施例的、用于确定交叉口交通工具的减速的示例性拐点函数。
58.图29是示出符合所公开的实施例的、用于对主交通工具的选择性减速的示例性过程的流程图。
具体实施方式
59.以下具体实施方式参考了所附附图。只要有可能,在附图和以下描述中使用相同的附图标记指代相同或相似的部分。虽然本文描述了若干说明性的实施例,但修改、改编和其他实现方式也是可能的。例如,可以对附图中图示出的组件进行替换、添加或修改,并且可以通过对所公开的方法进行替换、重新排序、移除或添加步骤来修改本文所描述的说明性方法。因此,以下具体实施方式并不限于所公开的实施例和示例。相反,适当的范围由所附权利要求来限定。
60.自主交通工具概览
61.如贯穿本公开所使用,术语“自主交通工具”指代能够在不具有驾驶员输入的情况下实现至少一个导航改变的交通工具。“导航改变”指代交通工具的转向、制动、或加速中的一者或多者的改变。为了成为自主的,交通工具不需要是完全自动的(例如,在没有驾驶员或没有驾驶员输入的情况下完全地操作)。相反,自主交通工具包括可以在某些时间段期间在驾驶员控制下操作且在其他时间段期间在没有驾驶员控制的情况下操作的那些交通工具。自主交通工具也可以包括仅控制交通工具导航的一些方面(诸如转向(例如,用于在交通工具车道约束之间维持交通工具路线))、但可将其他方面留给驾驶员(例如,制动)的交通工具。在一些情况下,自主交通工具可处置交通工具的制动、速度控制和/或转向中的一些方面或所有方面。
62.由于人类驾驶员通常依赖于视觉提示和观察来控制交通工具,因此交通基础设施被相应地建立,其中车道标记、交通标志和交通灯全部都被设计成用于向驾驶员提供视觉信息。鉴于交通基础设施的这些设计特性,自主交通工具可包括相机和处理单元,该处理单
元分析从交通工具的环境捕获的视觉信息。视觉信息可包括例如,交通基础设施的可被驾驶员观察的组成部分(例如,车道标记、交通标志、交通灯等)和其他障碍物(例如,其他交通工具、行人、碎片等)。附加地,自主交通工具还可以使用存储的信息,诸如在导航时提供交通工具的环境的模型的信息。例如,交通工具可以使用gps数据、传感器数据(例如,来自加速度计、速度传感器、悬架传感器等)和/或其他地图数据以在该交通工具在行驶时提供与该交通工具的环境相关的信息,并且该交通工具(以及其他交通工具)可以使用该信息以在模型上定位自身。
63.在本公开中的一些实施例中,自主交通工具可以使用在导航的同时(例如,从相机、gps设备、加速度计、速度传感器、悬架传感器等)获得的信息。在其他实施例中,自主交通工具可以在导航时使用由交通工具(或其他交通工具)从过去导航中获得的信息。在另外的其他实施例中,自主交通工具可以使用在导航时获得的信息和从过去导航中获得的信息的组合。以下章节提供符合所公开的实施例的系统的概述,随后是符合该系统的前向成像系统和方法的概览。随后的章节公开了用于构造、使用和更新用于自主交通工具导航的稀疏地图的系统和方法。
64.系统概览
65.图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的任何一条或多条有线和/或无线链路。
66.无线收发器172可以包括这样的一个或多个设备:该一个或多个设备被配置成通过使用射频、红外频率、磁场或电场通过空中接口向一个或多个网络(例如,蜂窝、因特网等)交换传输。无线收发器172可以使用任何已知的标准来传送和/或接收数据(例如,wifi、蓝牙智能、802.15.4、zigbee等)。此类传输可以包括从主交通工具到一个或多个远程定位的服务器的通信。此类传输也可以包括主交通工具与该主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如,用于鉴于主交通工具的环境中的目标交通工具或与目标交通工具一起促进主交通工具的导航的协调),或者甚至包括向进行传送的交通工具附近的非指定接收方进行的广播传输。
67.应用处理器180和图像处理器190两者都可以包括各种类型的处理设备。例如,应用处理器180和图像处理器190中的任一者或这两者可以包括微处理器、预处理器(诸如图像预处理器)、图形处理单元(gpu)、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器、或适用于运行应用以及适用于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等。各种处理设备可以被使用,包括例如可以从诸如
等制造商处获得的处理器,或可以从诸如等制造商处获得的gpu,并且各种处理设备可以包括各种架构(例如,x86处理器、等)。
68.在一些实施例中,应用处理器180和/或图像处理器190可以包括可从获得的eyeq系列处理器芯片中的任何处理器芯片。这些处理器设计各自包括具有本地存储器和指令集的多个处理单元。此类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,使用在332mhz下操作的90nm微米技术。架构由两个浮点超线程32位risc cpu(核)、五个视觉计算引擎(vce)、三个向量微码处理器denali 64位移动ddr控制器、128位内部声学互连、双16位视频输入和18位视频输出控制器、16通道dma、以及若干外围设备组成。mips34k cpu管理五个vce、三个vmp
tm
和dma、第二mips34k cpu和多通道dma以及其他外围设备。五个vce、三个和mips34k cpu可以执行多功能捆绑应用所需的密集的视觉计算。在另一个示例中,可在所公开的实施例中使用作为第三代处理器并且比强大六倍的在其他示例中,可以在所公开的实施例中使用和/或当然,任何更新的或未来的eyeq处理设备也可以与所公开的实施例一起使用。
69.本文所公开的处理设备中的任何处理设备都可以被配置成用于执行某些功能。将处理设备(诸如所描述的eyeq处理器或其他控制器或微处理器中的任一者)配置成用于执行某些功能可以包括对计算机可执行指令进行编程,并使这些指令可供处理设备用来在处理设备的操作期间执行。在一些实施例中,配置处理设备可以包括直接利用架构指令对处理设备进行编程。例如,诸如现场可编程门阵列(fpga)、专用集成电路(asic)等之类的处理设备可以使用例如一种或多种硬件描述语言(hdl)来配置。
70.在其他实施例中,配置处理设备可以包括将可执行指令存储在处理设备在操作期间可访问的存储器上。例如,处理设备可以在操作期间访问存储器,以获得并且执行所存储的指令。在任一情况下,被配置成用于执行本文公开的感测、图像分析和/或导航功能的处理设备表示控制主交通工具的多个基于硬件的组件的专用基于硬件的系统。
71.虽然图1描绘了处理单元110中包括的两个分开的处理设备,但可以使用更多或更少的处理设备。例如,在一些实施例中,可以使用单个处理设备来实现应用处理器180和图像处理器190的任务。在其他实施例中,这些任务可以由多于两个的处理设备执行。此外,在一些实施例中,系统100可以包括一个或多个处理单元110,而不包括诸如图像采集单元120之类的其他组件。
72.处理单元110可包括各种类型的设备。例如,处理单元110可包括各种设备,诸如控制器、图像预处理器、中央处理单元(cpu)、图形处理单元(gpu)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任何其他类型的设备。图像预处理器可包括用于捕获、数字化和处理来自图像传感器的成像的视频处理器。cpu可包括任何数量的微控制器或微处理器。gpu也可包括任何数量的微控制器或微处理器。支持电路可以是本技术领域中一般公知的任何数量的电路,包括高速缓存、电源、时钟和输入-输出电路。存储器可以存储软件,该软件当由处理器执行时控制系统的操作。存储器可包括数据库和图像处理软
件。存储器可包括任何数量的随机存取存储器、只读存储器、闪存、盘驱动器、光存储、磁带存储、可移动存储和其他类型的存储。在一个实例中,存储器可以与处理单元110分开。在另一个实例中,存储器可以被集成到处理单元110中。
73.每个存储器140、150可包括软件指令,该软件指令当由处理器(例如,应用处理器180和/或图像处理器190)执行时可以控制系统100的各个方面的操作。这些存储器单元可以包括各种数据库和图像处理软件、以及例如诸如神经网络或深度神经网络之类的经训练的系统。存储器单元可以包括随机存取存储器(ram)、只读存储器(rom)、闪存、盘驱动器、光存储、磁带存储、可移动存储和/或任何其他类型的存储。在一些实施例中,存储器单元140、150可以与应用处理器180和/或图像处理器190分开。在其他实施例中,这些存储器单元可以被集成到应用处理器180和/或图像处理器190中。
74.位置传感器130可以包括适于确定与系统100的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,位置传感器130可以包括gps接收器。此类接收器可以通过处理由全球定位系统卫星广播的信号来确定用户的位置和速度。可以使来自位置传感器130的位置信息可用于应用处理器180和/或图像处理器190。
75.在一些实施例中,系统100可以包括诸如用于测量交通工具200的速度的速度传感器(例如,转速计、速度计)和/或用于测量交通工具200的加速度的加速度计(单轴或多轴加速度计)的组件。
76.用户接口170可包括适用于将信息提供给系统100的一个或多个用户或适用于从系统100的一个或多个用户接收输入的任何设备。在一些实施例中,用户接口170可以包括用户输入设备,包括例如触摸屏、麦克风、键盘、指点设备、轨迹轮、相机、旋钮、按钮等。利用此类输入设备,用户可以能够通过键入指令或信息、提供语音命令、使用按钮、指点器、或眼球跟踪能力在屏幕上选择菜单选项、或者通过用于将信息传输至系统100的任何其他合适的技术来向系统100提供信息输入或命令。
77.用户接口170可以配备有一个或多个处理设备,该一个或多个处理设备被配置成用于将信息提供给用户或从用户接收信息,并处理该信息以供例如应用处理器180使用。在一些实施例中,此类处理设备可执行用于识别和跟踪眼球移动、接收和解释语音命令、识别和解释在触摸屏上做出的触摸和/或手势、对键盘输入或菜单选择进行响应等的指令。在一些实施例中,用户接口170可以包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。
78.地图数据库160可以包括用于存储对系统100有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库160可以包括与各种项目(包括道路、水景、地理特征、商业、感兴趣的地点、餐馆、加油站等)在参考坐标系中的位置相关的数据。地图数据库160可以不仅存储此类项目的位置,也存储与那些项目相关的描述符,包括例如与所存储的特征中的任何特征相关联的名称。在一些实施例中,地图数据库160在物理上可以与系统100的其他组件一起被定位。替代地或附加地,地图数据库160或其部分可以相对于系统100的其他组件(例如,处理单元110)远程地定位。在此类实施例中,来自地图数据库160的信息可以通过至网络的有线或无线数据连接(例如,通过蜂窝网络和/或因特网等)来下载。在一些情况下,地图数据库160可以存储稀疏数据模型,该稀疏数据模型包括针对主交通工具的某些道路特征(例如,车道标记)或目标轨迹的多项式表示。下文参考图8-图19讨论生成此类地
图的系统和方法。
79.图像捕获设备122、124和126可以各自包括适用于从环境捕获至少一个图像的任何类型的设备。此外,可以使用任何数量的图像捕获设备来采集用于输入到图像处理器的图像。一些实施例可以仅包括单个图像捕获设备,而其他实施例可包括两个、三个、甚至四个或更多的图像捕获设备。下文将参考图2b-图2e进一步描述图像捕获设备122、124和126。
80.系统100或其各种组件可以并入各种不同平台。在一些实施例中,系统100可以被包括在交通工具200上,如图2a所示。例如,如上文相对于图1所述,交通工具200可以配备有处理单元110和系统100的其他组件中的任何组件。虽然在一些实施例中,交通工具200可以仅配备有单个图像捕获设备(例如,相机),但在其他实施例中(诸如结合图2b-图2e所讨论的那些实施例中)可以使用多个图像捕获设备。例如,如图2a所示,交通工具200的图像捕获设备122和124中的任一者可以是adas(高级驾驶员辅助系统)成像集合的一部分。
81.交通工具200上所包括的、作为图像采集单元120的一部分的图像捕获设备可以被定位在任何合适的位置。在一些实施例中,如图2a-图2e和图3a-图3c所示,图像捕获设备122可以位于后视镜附近。该位置可以提供与交通工具200的驾驶员的视线类似的视线,这可以辅助确定对驾驶员可见和不可见的事物。图像捕获设备122可以被定位在后视镜附近的任何位置,但是将图像捕获设备122放置在后视镜的驾驶员侧可以进一步辅助获得表示驾驶员的视场和/或视线的图像。
82.也可以将其他位置用于图像采集单元120的图像捕获设备。例如,图像捕获设备124可以位于交通工具200的保险杠上或保险杠中。此类位置可能特别适于具有宽视场的图像捕获设备。位于保险杠的图像捕获设备的视线可能与驾驶员的视线不同,并且因此,保险杠图像捕获设备和驾驶员可能并不总是看到相同的对象。图像捕获设备(例如,图像捕获设备122、124和126)也可以位于其他位置。例如,图像捕获设备可以位于交通工具200的侧镜(side mirror)中的一个或两个侧镜之上或之中、交通工具200的车顶上、交通工具200的引擎盖上、交通工具200的后备箱上、交通工具200的侧部上,被安装在交通工具200的窗户中的任何窗户上,被定位在交通工具200的窗户中的任何窗户的后面或前面,以及被安装在交通工具200的前部和/或后部上的光像中或附近,等等。
83.除图像捕获设备外,交通工具200还可以包括系统100的各种其他组件。例如,处理单元110可以被包括在交通工具200上,与交通工具的引擎控制单元(ecu)集成或分开。交通工具200还可以配备有位置传感器130(诸如gps接收器),并且还可以包括地图数据库160以及存储器单元140和150。
84.如之前所讨论,无线收发器172可以和/或通过一个或多个网络(例如,蜂窝网络、因特网等)接收数据。例如,无线收发器172可以将由系统100收集的数据上传到一个或多个服务器,并从一个或多个服务器下载数据。经由无线收发器172,系统100可以接收例如对存储在地图数据库160、存储器140和/或存储器150中的数据的周期性或按需更新。类似地,无线收发器172可以将来自系统100的任何数据(例如,由图像采集单元120捕获的图像、由位置传感器130或其他传感器、交通工具控制系统等接收的数据)和/或由处理单元110处理的任何数据上传到一个或多个服务器。
85.系统100可以基于隐私级别设置将数据上传到服务器(例如,上传到云)。例如,系统100可以实现隐私级别设置,以调节或限制发送到服务器的数据(包括元数据)的类型,这
些数据的类型可以唯一地标识交通工具和/或交通工具的驾驶员/所有者。此类设置可以由用户经由例如无线收发器172来设置,通过工厂默认设置或通过由无线收发器172接收的数据来初始化。
86.在一些实施例中,系统100可以根据“高”隐私级别来上传数据,并且在对设置进行设置之下,系统100可以传送数据(例如,与路线相关的位置信息、捕获的图像等),而不传送关于特定交通工具和/或驾驶员/所有者的任何细节。例如,当根据“高”隐私设置上传数据时,系统100可以不包括交通工具标识号(vin)或交通工具驾驶员或所有者的姓名,并且可以替代地传送诸如捕获的图像和/或与路线相关的有限的位置信息之类的数据。
87.构想了其他隐私级别。例如,系统100可以根据“中间”隐私级别向服务器传送数据,并包括在“高”隐私级别下未被包括的附加信息,诸如交通工具的品牌和/或型号和/或交通工具类型(例如,乘用车、运动型多用途车、卡车等)。在一些实施例中,系统100可以根据“低”隐私级别来上传数据。在“低”隐私级别设置下,系统100可以上传数据,并包括足以唯一地标识特定交通工具、所有者/驾驶员和/或由交通工具行驶的路线的一部分或全部的信息。此类“低”隐私级别数据可以包括例如以下各项中的一项或多项:vin、驾驶员/所有者姓名、交通工具出发前的起点、交通工具的预期目的地、交通工具的品牌和/或型号、交通工具的类型等。
88.图2a是符合所公开的实施例的示例性交通工具成像系统的图解侧视图表示。图2b是图2a中所示的实施例的图解俯视图图示。如图2b所图示,所公开的实施例可以包括交通工具200,该交通工具200在其主体中包括系统100,该系统100具有被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员的第一图像捕获设备122、被定位在交通工具200的保险杠区域(例如,保险杠区域210中的一个)上或在保险杠区域中的第二图像捕获设备124、以及处理单元110。
89.如图2c所图示,图像捕获设备122和124两者均可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员。另外,虽然在图2b和图2c中示出了两个图像捕获设备122和124,但应当理解,其他实施例可以包括多于两个的图像捕获设备。例如,在图2d和图2e所示的实施例中,交通工具200的系统100中包括第一图像捕获设备122、第二图像捕获设备124、和第三图像捕获设备126。
90.如图2d所示,图像捕获设备122可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员,而图像捕获设备124和126可以被定位在交通工具200的保险杠区域(例如,保险杠区域210中的一个)上或在保险杠区域中。并且如图2e所示,图像捕获设备122、124和126可以被定位在交通工具200的后视镜附近和/或靠近交通工具200的驾驶员座椅。所公开的实施例不限于图像捕获设备的任何特定数量和配置,并且图像捕获设备可以被定位在交通工具200内和/或交通工具200上的任何适当位置。
91.应当理解,所公开的实施例不限于交通工具,并且可以应用于其他情境。还应理解,所公开的实施例不限于特定类型的交通工具200,并且可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其他类型的交通工具。
92.第一图像捕获设备122可以包括任何合适类型的图像捕获设备。图像捕获设备122可以包括光轴。在一个实例中,图像捕获设备122可以包括具有全局快门的aptina m9v024 wvga传感器。在其他实施例中,图像捕获设备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。
93.第一图像捕获设备122可以采集相对于与交通工具200相关联的场景的多个第一图像。多个第一图像中的每一个可以作为一系列图像扫描线被采集,这些图像扫描线可以使用滚动快门来捕获。每条扫描线可以包括多个像素。
94.第一图像捕获设备122可以具有与第一图像扫描线系列中的每条图像扫描线的采集相关联的扫描速率。扫描速率可以指图像传感器能够以其来采集与被包括在特定扫描线中的每个像素相关联的图像数据的速率。
95.图像捕获设备122、124和126可以包含任何合适类型和数量的图像传感器,例如包括ccd传感器或cmos传感器。在一个实施例中,cmos图像传感器可以与滚动快门一起被采用,使得行中的每个像素被一次读取一个,并且对行的扫描在逐行的基础上进行,直到整个图像帧已被捕获。在一些实施例中,行可以相对于帧从上到下顺序地被捕获。
96.在一些实施例中,本文公开的图像捕获设备(例如,图像捕获设备122、124和126)中的一个或多个可以构成高分辨率成像器,并且可以具有大于5m像素、7m像素、10m像素或更大像素的分辨率。
97.滚动快门的使用可能引起不同行中的像素在不同时间被曝光和捕获,这可能在捕获的图像帧中导致歪斜和其他图像伪像。另一方面,当图像捕获设备122被配置为利用全局或同步快门操作时,所有像素都可以被曝光达相同的时间量并且在共同的曝光时段期间被曝光。结果是,从采用全局快门的系统收集的帧中的图像数据表示整个fov(诸如fov 202)在特定时间的快照。相比之下,在滚动快门应用中,帧中的每一行在不同的时间被曝光,并且数据在不同的时间被捕获。因此,在具有滚动快门的图像捕获设备中,移动的对象可能显得失真。下文将更详细地描述这种现象。
98.第二图像捕获设备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。
99.图像捕获设备124和126可以获取相对于与交通工具200相关联的场景的多个第二和第三图像。多个第二和第三图像中的每一个可以作为第二图像扫描线系列和第三图像扫描线系列而被采集,这些图像扫描线可以使用滚动快门来捕获。每条扫描线或每个扫描行可以具有多个像素。图像捕获设备124和126可以具有与采集被包括在第二和第三系列中的图像扫描线中的每一条图像扫描线相关联的第二和第三扫描速率。
100.每个图像捕获设备122、124和126可以定位在相对于交通工具200的任何合适的位置处并被定位成任何合适的取向。图像捕获设备122、124和126的相对定位可以被选择以辅助将从图像捕获设备采集的信息融合在一起。例如,在一些实施例中,同图像捕获设备124相关联的fov(诸如fov 204)可以部分地或完全地与同图像捕获设备122相关联的fov(诸如fov 202)以及同图像捕获设备126相关联的fov(诸如fov 206)重叠。
101.图像捕获设备122、124和126可以位于交通工具200上的任何合适的相对高度处。在一个实例中,在图像捕获设备122、124和126之间可以存在高度差,这可以提供足够的视差信息以实现立体分析。例如,如图2a所示,两个图像捕获设备122和124处于不同的高度。图像捕获设备122、124和126之间也可以存在横向位移差,从而例如为由处理单元110进行的立体分析给出附加的视差信息。横向位移的差可以用d
x
表示,如图2c和图2d所示。在一些实施例中,在图像捕获设备122、124和126之间可以存在前后位移(例如,范围位移)。例如,图像捕获设备122可以位于图像捕获设备124和/或图像捕获设备126后面0.5米至2米或更远。这种类型的位移可以使图像捕获设备中的一个图像捕获设备能够覆盖其他(多个)图像捕获设备的潜在盲点。
102.图像捕获设备122可以具有任何合适的分辨率能力(例如,与图像传感器相关联的像素数量),并且同图像捕获设备122相关联的(多个)图像传感器的分辨率可以高于、低于同图像捕获设备124和126相关联的(多个)图像传感器的分辨率,或者与同图像捕获设备124和126相关联的(多个)图像传感器的分辨率相同。在一些实施例中,与图像捕获设备122和/或图像捕获设备124和126相关联的(多个)图像传感器可以具有640x480、1024x768、1280x960的分辨率或任何其他合适的分辨率。
103.帧速率(例如,图像捕获设备在继续捕获与下一图像帧相关联的像素数据之前采集一个图像帧的像素数据的集合所按照的速率)可以是可控的。同图像捕获设备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的图像帧相关联的图像数据的采集之前或之后被施加。
104.这些时序控制可以实现与图像捕获设备122、124和126相关联的帧速率的同步化,即使在每个设备的线扫描速率不同的情况下也是如此。附加地,如下文将更详细地所讨论,除其他因素(例如,图像传感器分辨率、最大线扫描速率等)外,这些可选的时序控制可以实现从其中图像捕获设备122的fov与图像捕获设备124和126的一个或多个fov重叠的区域进行的图像捕获的同步,即使在图像捕获设备122的视场不同于图像捕获设备124和126的fov的情况下也是如此。
105.图像捕获设备122、124和126中的帧速率时序可以取决于相关联的图像传感器的分辨率。例如,假设针对两个设备的类似的线扫描速率,如果一个设备包括具有640x480的分辨率的图像传感器,并且另一个设备包括具有1280x960的分辨率的图像传感器,则从具有更高分辨率的传感器采集图像数据的帧将需要更多时间。
106.可能影响图像捕获设备122、124和126中的图像数据采集的时序的另一因素是最大线扫描速率。例如,从图像捕获设备122、124和126中所包括的图像传感器采集图像数据行将需要某个最小时间量。假设没有添加像素延迟时段,则用于采集图像数据行的该最小时间量将与特定设备的最大线扫描速率相关。与具有较低的最大线扫描速率的设备相比,提供较高的最大线扫描速率的设备具有提供较高帧速率的潜力。在一些实施例中,图像捕获设备124和126中的一个或多个可以具有高于与图像捕获设备122相关联的最大线扫描速率的最大线扫描速率。在一些实施例中,图像捕获设备124和/或126的最大线扫描速率可以是图像捕获设备122的最大线扫描速率的1.25倍、1.5倍、1.75倍或2倍或更大。
107.在另一个实施例中,图像捕获设备122、124和126可以具有相同的最大线扫描速率,但是图像捕获设备122可以在小于或等于其最大扫描速率的扫描速率下操作。系统可以被配置为使得图像捕获设备124和126中的一个或多个以等于图像捕获设备122的线扫描速率的线扫描速率操作。在其他实例中,系统可以被配置为使得图像捕获设备124和/或图像捕获设备126的线扫描速率可以是图像捕获设备122的线扫描速率的1.25倍、1.5倍、1.75倍或2倍或更大。
108.在一些实施例中,图像捕获设备122、124和126可以是不对称的。也就是说,它们可以包括具有不同视场(fov)和焦距的相机。例如,图像捕获设备122、124和126的视场可以包括相对于交通工具200的环境的任何期望区域。在一些实施例中,图像捕获设备122、124和126中的一个或多个可以被配置为用于从交通工具200前面、交通工具200后面、交通工具200侧面或其组合的环境采集图像数据。
109.进一步地,与每个图像捕获设备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等的)对象的图像。
110.根据一些实施例,一个或多个图像捕获设备122、124和126的fov可以具有广角。例如,具有140度的fov可能是有利的,对于可以用于捕获交通工具200附近的区域的图像的图像捕获设备122、124和126尤其如此。例如,图像捕获设备122可以用于捕获交通工具200右侧或左侧区域的图像,并且在此类实施例中,图像捕获设备122具有宽fov(例如,至少140度)可能是符合期望的。
111.与图像捕获设备122、124和126中的每一个相关联的视场可以取决于各自的焦距。例如,随着焦距增加,相对应的视场减小。
112.图像捕获设备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之间变化。
113.系统100可以被配置为使得图像捕获设备122的视场至少部分地或完全地与图像捕获设备124和/或图像捕获设备126的视场重叠。在一些实施例中,系统100可以被配置为使得图像捕获设备124和126的视场例如落在图像捕获设备122的视场内(例如,图像捕获设备124和126的视场窄于图像捕获设备122的视场),并且与图像捕获设备122的视场共享共同的中心。在其他实施例中,图像捕获设备122、124和126可以捕获相邻的fov,或者可以在它们的fov中具有部分的重叠。在一些实施例中,图像捕获设备122、124和126的视场可以对齐,使得fov较窄的图像捕获设备124和/或126的中心可以位于fov较宽的设备122的视场的下半部分中。
114.图2f是符合所公开的实施例的示例性交通工具控制系统的图解表示。如图2f所指示,交通工具200可以包括节流系统220、制动系统230和转向系统240。系统100可以通过一个或多个数据链路(例如,用于传送数据的任何一个或多个有线和/或无线链路)向节流系统220、制动系统230、和转向系统240中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕获设备122、124和/或126采集到的图像的分析,系统100可以向节流系统220、制动系统230、和转向系统240中的一个或多个提供控制信号以(例如,通过引起加速、转弯、车道偏移等)对交通工具200进行导航。进一步地,系统100可以从节流系统220、制动系统230和转向系统240中的一个或多个接收指示交通工具200的操作状况(例如,速度、交通工具200是否正在制动或转弯等)的输入。下文结合图4-图7提供进一步的细节。
115.如图3a所示,交通工具200还可以包括用于与交通工具200的驾驶员或乘客交互的用户接口170。例如,交通工具应用中的用户接口170可以包括触摸屏320、旋钮330、按钮340、以及麦克风350。交通工具200的驾驶员或乘客也可以使用手柄(例如,位于交通工具200的转向柱上或转向柱附近,包括例如转向信号手柄)、按钮(例如,位于交通工具200的方向盘上)等来与系统100交互。在一些实施例中,麦克风350可以被定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获设备122可以位于后视镜310附近。在一些实施例中,用户接口170还可以包括一个或多个扬声器360(例如,交通工具音频系统的扬声器)。例如,系统100可以经由扬声器360提供各种通知(例如,警报)。
116.图3b-图3d是符合所公开的实施例的示例性相机支架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从前视视角的视图。
117.如受益于本公开的本领域技术人员将领会的,可以对前述公开的实施例做出很多的变型和/或修改。例如,并非所有组件都是对于系统100的操作必要的。进一步地,任何组件可以位于系统100的任何适当部分中,并且组件可以被重新布置成各种配置,同时提供所公开的实施例的功能。因此,前面的配置是示例,并且不管上面讨论的配置如何,系统100都可以提供范围广泛的功能来分析交通工具200的周边并响应于该分析而对交通工具200进行导航。
118.如下文进一步详细地所讨论并且符合各个所公开实施例,系统100可以提供与自主驾驶和/或驾驶员辅助技术相关的各种特征。例如,系统100可以分析图像数据、位置数据(例如,gps位置信息)、地图数据、速度数据和/或来自交通工具200中所包括的传感器的数据。系统100可以从例如图像采集单元120、位置传感器130、和其他传感器收集数据以用于分析。进一步地,系统100可以分析所收集的数据,以确定交通工具200是否应当采取某个动作,并且随后在没有人类干预的情况下自动地采取所确定的动作。例如,当交通工具200在没有人类干预的情况下导航时,系统100可以(例如,通过将向节流系统220、制动系统230、和转向系统240中的一者或多者发送控制信号)自动地控制交通工具200的制动、加速、和/或转向。进一步地,系统100可以分析所收集的数据,并基于对所收集的数据的分析向交通工具乘员发出警告和/或警报。下文提供关于由系统100提供的各实施例的附加细节。
119.前向多成像系统
120.如上文所讨论,系统100可以提供使用多相机系统的驾驶辅助功能。多相机系统可以使用面向交通工具前进方向的一个或多个相机。在其他实施例中,多相机系统可以包括面向交通工具侧面或交通工具后部的一个或多个相机。在一个实施例中,例如,系统100可以使用双相机成像系统,其中第一相机和第二相机(例如,图像捕获设备122和124)可以被定位在交通工具(例如,交通工具200)的前部和/或侧面。第一相机的视场可以大于、小于第二相机的视场,或部分地与第二相机的视场重叠。此外,第一相机可以被连接到第一图像处理器,该第一图像处理器用于对由第一相机提供的图像执行单目图像分析,并且第二相机可以被连接到第二图像处理器,该第二图像处理器用于对由第二相机提供的图像执行单目图像分析。可以组合第一和第二图像处理器的输出(例如,经处理的信息)。在一些实施例中,第二图像处理器可以从第一相机和第二相机两者接收图像以执行立体分析。在另一实施例中,系统100可以使用三相机成像系统,其中这些相机中的每个相机具有不同的视场。因此,此类系统可以基于从位于交通工具前方和侧面的不同距离处的对象导出的信息做出决策。对单目图像分析的引用可以指其中基于从单个视点(例如,从单个相机)捕获的图像
执行图像分析的实例。立体图像分析可以指其中基于利用图像捕获参数的一个或多个变体而捕获的两个或更多个图像执行图像分析的实例。例如,适合于执行立体图像分析的捕获的图像可以包括:从两个或更多个不同位置捕获的图像、从不同视场捕获的图像、使用不同焦距捕获的图像、连同视差信息一起被捕获的图像等。
121.例如,在一个实施例中,系统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的影响。
122.在另一个实施例中,如上文结合图3b和图3c所讨论的,宽视场相机(例如,上述示例中的图像捕获设备124)可以安装成低于窄视场和主视场相机(例如,上述示例中的图像设备122和126)。此配置可以提供来自宽视场相机的自由视线。为了减少反射,相机可以安装成靠近交通工具200的挡风玻璃,并可以在相机上包括偏振器来抑制反射光。
123.三相机系统可以提供某些性能特性。例如,一些实施例可以包括基于来自另一个相机的检测结果来验证由一个相机对对象的检测的能力。在上文所讨论的三相机配置中,处理单元110可以包括例如三个处理设备(例如,如上文所讨论的三个eyeq系列处理器芯片),其中每个处理设备专用于处理由图像捕获设备122、124和126中的一个或多个捕获的图像。
124.在三相机系统中,第一处理设备可以从主相机和窄视场相机两者接收图像,并对窄fov相机执行视觉处理,以例如检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。进一步地,第一处理设备可以计算来自主相机的图像与来自窄相机的图像之间的像素的视差,并创建交通工具200的环境的3d重构。然后,第一处理设备可以将3d重构与3d地图数据或与基于来自另一相机的信息计算的3d信息相组合。
125.第二处理设备可以从主相机接收图像并执行视觉处理,以检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。附加地,第二处理设备可以计算相机位移,并且基于该位移计算连续图像之间的像素的视差,并创建场景的3d重构(例如,运动恢复结构(structure from motion))。第二处理设备可以将基于运动恢复结构的3d重构发送到第一处理设备来与立体3d图像组合。
126.第三处理设备可以从宽fov相机接收图像并对这些图像进行处理,以检测交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。第三处理设备可以进一步执行附加的处理指令以分析图像,从而标识图像中移动的对象,诸如正改变车道的交通工具、行人等。
127.在一些实施例中,使基于图像流的信息被独立地捕获和处理可以提供在系统中提供冗余的机会。此类冗余可以包括例如,使用第一图像捕获设备和来自该设备的经处理的
图像来验证和/或补充通过捕获和处理来自至少第二图像捕获设备的图像信息而获得的信息。
128.在一些实施例中,系统100可以使用两个图像捕获设备(例如,图像捕获设备122和124)来为交通工具200提供导航辅助,并使用第三图像捕获设备(例如,图像捕获设备126)来提供冗余并且验证对从其他两个图像捕获设备接收的数据的分析。例如,在此类配置中,图像捕获设备122和124可以提供用于由系统100进行立体分析以对交通工具200进行导航的图像,而图像捕获设备126可以提供用于由系统100进行单目分析以提供对基于从图像捕获设备122和/或图像捕获设备124捕获的图像获得的信息的冗余和验证的图像。即,图像捕获设备126(和相对应的处理设备)可以被认为提供用于对从图像捕获设备122和124导出的分析提供检查(例如,以提供自动紧急制动(aeb)系统)的冗余子系统。此外,在一些实施例中,可以基于从一个或多个传感器(例如,雷达(radar)、激光雷达(lidar)、声学传感器、从交通工具外部的一个或多个收发器接收的信息等)接收的信息来补充对所接收的数据的冗余和验证。
129.本领域技术人员将认识到,上述相机配置、相机放置、相机数量、相机位置等仅为示例。这些组件和相对于整个系统描述的其他组件可以在各种不同的配置中组装和使用,而不背离所公开的实施例的范围。关于使用多相机系统来提供驾驶员辅助和/或自主交通工具功能的进一步细节如下文。
130.图4是可以存储/编程有用于执行符合所公开的实施例的一个或多个操作的指令的存储器140和/或150的示例性功能框图。尽管下文引用存储器140,但本领域技术人员将认识到,指令可以存储在存储器140和/或150中。
131.如图4所示,存储器140可以存储单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例不限于存储器140的任何特定配置。进一步地,应用处理器180和/或图像处理器190可以执行被包括在存储器140中的模块402、404、406和408中的任何一个中所存储的指令。本领域技术人员将理解,在以下讨论中对处理单元110的引用可以单独或共同地指应用处理器180和图像处理器190。相应地,可以由一个或多个处理设备执行以下过程中的任何过程的步骤。
132.在一个实施例中,单目图像分析模块402可以存储这样的指令(诸如计算机视觉软件):该指令在由处理单元110执行时对由图像捕获设备122、124和126中的一者采集的图像的集合执行单目图像分析。在一些实施例中,处理单元110可以将来自图像的集合的信息与附加的传感信息(例如,来自雷达、激光雷达等的信息)组合以执行单目图像分析。如下文结合图5a-图5d所描述的,单目图像分析模块402可以包括用于检测图像的集合中的一组特征的指令,这些特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象以及与交通工具的环境相关联的任何其他特征。基于该分析,系统100(例如,经由处理单元110)可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度的变化等,如下文结合导航响应模块408所讨论。
133.在一个实施例中,立体图像分析模块404可以存储这样的指令(诸如计算机视觉软件):该指令在由处理单元110执行时对从图像捕获设备122、124和126中的任何图像捕获设备选择的图像捕获设备组合所采集的第一组图像集合和第二图像集合执行立体图像分析。在一些实施例中,处理单元110可以将来自第一图像集合和第二图像集合的信息与附加的
传感信息(例如,来自雷达的信息)组合以执行立体图像分析。例如,立体图像分析模块404可以包括用于基于由图像捕获设备124采集的第一图像集合和由图像捕获设备126采集的第二图像集合来执行立体图像分析的指令。如下文结合图6所描述,立体图像分析模块404可以包括用于检测第一图像集合和第二图像集合内的一组特征的指令,这些特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象等。基于分析,处理单元110可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度的变化等,如下文结合导航响应模块408所讨论。此外,在一些实施例中,立体图像分析模块404可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统(诸如,可以被配置为用于使用计算机视觉算法来在捕获和处理来自其的传感信息的环境中检测和/或标示对象的系统)相关联的技术。在一个实施例中,立体图像分析模块404和/或其他图像处理模块可以被配置为使用经训练的系统和未经训练的系统的组合。
134.在一个实施例中,速度和加速度模块406可以存储被配置为用于分析从交通工具200中的一个或多个计算和机电设备接收的数据的软件,这些计算和机电设备被配置为用于引起交通工具200的速度和/或加速度的变化。例如,处理单元110可以执行与速度和加速度模块406相关联的指令,以基于从单目图像分析模块402和/或立体图像分析模块404的执行中导出的数据来计算交通工具200的目标速度。此类数据可以包括例如目标位置、速度和/或加速度,交通工具200相对于附近交通工具、行人或道路对象的位置和/或速度,交通工具200相对于道路的车道标记的位置信息等。此外,处理单元110可以基于传感输入(例如,来自雷达的信息)和来自交通工具200的其他系统(诸如交通工具200的节流系统220、制动系统230和/或转向系统240)的输入来计算交通工具200的目标速度。基于计算出的目标速度,处理单元110可以向交通工具200的节流系统220、制动系统230和/或转向系统240传送电子信号,以通过例如物理地压下交通工具200的制动装置或松开交通工具200的加速器来触发速度和/或加速度的变化。
135.在一个实施例中,导航响应模块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的速度的变化。
136.此外,本文公开的模块(例如,模块402、404和406)中的任何模块可以实现与经训练的系统(诸如,神经网络或深度神经网络)或未经训练的系统相关联的技术。
137.图5a是示出符合所公开的实施例的、用于基于单目图像引起一个或多个导航响应
的示例性过程500a的流程图。在步骤510处,处理单元110可以经由处理单元110与图像采集单元120之间的数据接口128接收多个图像。例如,图像采集单元120中所包括的相机(诸如具有视场202的图像捕获设备122)可以捕获交通工具200前方(或例如交通工具侧面或后部)的区域的多个图像,并且通过数据连接(例如,数字、有线、usb、无线、蓝牙等)将这些图像传送到处理单元110。在步骤520处,处理单元110可以执行单目图像分析模块402以分析多个图像,如下文结合图5b-5d进一步详细描述的。通过执行分析,处理单元110可以检测该图像的集合内的一组特征,这些特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯等等。
138.在步骤520处,处理单元110也可以执行单目图像分析模块402以检测各种道路危险,诸如例如卡车轮胎的零件、坠落的道路标志、松散货物、小动物等等。道路危险可能在结构、形状、大小和颜色上有所不同,这可能使检测此类危险更具挑战性。在一些实施例中,处理单元110可以执行单目图像分析模块402以对多个图像执行多帧分析来检测道路危险。例如,处理单元110可以估计连续图像帧之间的相机运动,并计算帧之间的像素的视差,以构造道路的3d地图。然后,处理单元110可以使用3d地图来检测道路表面以及存在于道路表面上的危险。
139.在步骤530处,处理单元110可以执行导航响应模块408,以基于在步骤520处执行的分析和如上文结合图4所描述的技术在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度的变化等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时发生、按顺序发生或以这些方式的任何组合来发生。例如,处理单元110可以通过例如顺序地向交通工具200的转向系统240和节流系统220传送控制信号来使交通工具200偏移通过一个车道并且然后加速。替代地,处理单元110可以通过例如同时向交通工具200的制动系统230和转向系统240传送控制信号来使交通工具200在偏移车道的同时制动。
140.图5b是示出符合所公开的实施例的、用于检测图像的集合中的一个或多个交通工具和/或行人的示例性过程500b的流程图。处理单元110可以执行单目图像分析模块402以实现过程500b。在步骤540处,处理单元110可以确定表示可能的交通工具和/或行人的候选对象的集合。例如,处理单元110可以扫描一个或多个图像,将图像与一个或多个预定模式进行比较,并在每个图像内标识可能包含感兴趣对象(例如,交通工具、行人或其部分)的可能位置。预定模式可以以实现高“误命中”率和低“未命中”率的方式来设计。例如,处理单元110可以将低相似度阈值用于预定模式,以将候选对象标识为可能的交通工具或行人。这样做可以允许处理单元110降低未命中(例如,未标识)表示交通工具或行人的候选对象的概率。
141.在步骤542处,处理单元110可以基于分类准则来过滤候选对象的集合以排除某些候选(例如,无关或不太相关的对象)。此类准则可以从与存储在数据库(例如,存储在存储器140中的数据库)中的对象类型相关联的各种属性中导出。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于交通工具200的位置)等等。因此,处理单元110可以使用一个或多个准则集合来拒绝来自候选对象的集合的假候选。
142.在步骤544处,处理单元110可以分析图像的多个帧以确定候选对象的集合中的对象是否表示交通工具和/或行人。例如,处理单元110可以跨连续帧跟踪所检测的候选对象,
并累积与所检测的对象相关联的逐帧数据(例如,大小、相对于交通工具200的位置等)。附加地,处理单元110可以估计所检测的对象的参数,并将对象的逐帧位置数据与所预测的位置进行比较。
143.在步骤546处,处理单元110可以为所检测的对象构造测量的集合。此类测量可以包括例如与所检测的对象相关联的(相对于交通工具200的)位置、速度和加速度值。在一些实施例中,处理单元110可以基于使用一系列基于时间的观察的估计技术(诸如卡尔曼滤波器或线性二次估计(lqe))和/或基于针对不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)的可用建模数据来构造测量。卡尔曼滤波器可以基于对象尺度的测量,其中尺度测量与碰撞时间(例如,交通工具200到达对象的时间量)成比例。因此,通过执行步骤540-546,处理单元110可以标识出现在所捕获的图像的集合内的交通工具和行人,并导出与交通工具和行人相关联的信息(例如,位置、速度、大小)。基于标识和导出的信息,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5a所描述。
144.在步骤548处,处理单元110可以执行对一个或多个图像的光流分析,以降低检测到“误命中”和未命中表示交通工具或行人的候选对象的概率。光流分析可以指例如在与其他交通工具和行人相关联的一个或多个图像中分析相对于交通工具200的、不同于道路表面运动的运动模式。处理单元110可以通过观察跨在不同时间捕获的多个图像帧的对象的不同位置来计算候选对象的运动。处理单元110可以使用位置和时间值作为数学模型的输入来计算候选对象的运动。因此,光流分析可以提供检测交通工具200附近的交通工具和行人的另一方法。处理单元110可以结合步骤540-546执行光流分析,从而为检测交通工具和行人提供冗余,并增加系统100的可靠性。
145.图5c是示出符合所公开的实施例的、用于检测图像的集合中的道路标记和/或车道几何信息的示例性过程500c的流程图。处理单元110可以执行单目图像分析模块402以实现过程500c。在步骤550处,处理单元110可以通过扫描一个或多个图像来检测对象的集合。为了检测具有车道标记、车道几何信息和其他有关道路标记的段,处理单元110可以对该对象的集合进行过滤以排除那些被确定为无关的对象(例如,小坑洞、小岩石等)。在步骤552处,处理单元110可以将在步骤550中检测到的属于相同道路标记或车道标记的段编组在一起。基于编组,处理单元110可以形成用于表示检测到的段的模型,诸如数学模型。
146.在步骤554处,处理单元110可以构造与所检测的段相关联的测量的集合。在一些实施例中,处理单元110可以创建所检测的段从图像平面到真实世界平面的投影。可以使用具有与物理属性(诸如所检测的道路的位置、坡度、曲率和曲率导数)相对应的系数的三次多项式来表征投影。在生成投影时,处理单元110可以考虑道路表面的变化以及与交通工具200相关联的俯仰率和滚转率。此外,处理单元110可以通过分析存在于道路表面上的位置和运动线索来对道路标高建模。进一步地,处理单元110可以通过跟踪一个或多个图像中的特征点的集合来估计与交通工具200相关联的俯仰率和滚转率。
147.在步骤556处,处理单元110可以通过例如跨连续图像帧跟踪所检测的段并且累积与所检测的段相关联的逐帧数据来执行多帧分析。随着处理单元110执行多帧分析,在步骤554处构造的该测量的集合可以变得更可靠并且与越来越高的置信度水平相关联。因此,通过执行步骤550、552、554和556,处理单元110可以标识出现在捕获的图像的集合内的道路标记,并导出车道几何信息。基于标识和导出的信息,处理单元110可以在交通工具200中引
起一个或多个导航响应,如上文结合图5a所描述。
148.在步骤558处,处理单元110可以考虑附加信息源,以在交通工具200的周边的情境中进一步形成用于交通工具200的安全模型。处理单元110可以使用安全模型来定义其中系统100可以以安全方式执行交通工具200的自主控制的情境。为了形成安全模型,在一些实施例中,处理单元110可以考虑其他交通工具的位置和运动、检测到的道路边缘和障碍物、和/或从地图数据(诸如来自地图数据库160的数据)中提取的一般道路形状描述。通过考虑附加的信息源,处理单元110可以为检测道路标记和车道几何形状提供冗余,并提高系统100的可靠性。
149.图5d是示出符合所公开的实施例的、用于检测图像的集合中的交通灯的示例性过程500d的流程图。处理单元110可以执行单目图像分析模块402以实现过程500d。在步骤560处,处理单元110可以扫描图像的集合,并标识出现在图像中的可能包含交通灯的位置处的对象。例如,处理单元110可以过滤所标识的对象以构造候选对象的集合,从而排除那些不太可能对应于交通灯的对象。过滤可以基于与交通灯相关联的各种属性来完成,这些属性诸如形状、尺寸、纹理、位置(例如,相对于交通工具200的位置),等等。此类属性可以基于交通灯和交通控制信号的多个示例,并被存储在数据库中。在一些实施例中,处理单元110可以对反映可能的交通灯的候选对象的集合执行多帧分析。例如,处理单元110可以跨连续图像帧跟踪候选对象,估计候选对象的真实世界位置,并过滤掉正在移动的那些对象(它们不太可能是交通灯)。在一些实施例中,处理单元110可以对候选对象执行颜色分析,并标识检测到的颜色出现在可能的交通灯内部的相对位置。
150.在步骤562处,处理单元110可以分析交叉路口的几何形状。分析可以基于以下各项的任意组合:(i)交通工具200任一侧检测到的车道的数量,(ii)道路上检测到的标记(诸如箭头标记),以及(iii)从地图数据(诸如来自地图数据库160的数据)中提取的交叉路口的描述。处理单元110可以使用从单目分析模块402的执行中导出的信息来进行分析。此外,处理单元110可以确定在步骤560处检测到的交通灯与出现在交通工具200附近的车道之间的相对应关系。
151.当交通工具200逐渐接近交叉路口时,在步骤564处,处理单元110可以更新与所分析的交叉路口几何形状和检测到的交通灯相关联的置信度水平。例如,估计出现在交叉路口的交通灯的数量与实际出现在交叉路口的交通灯的数量进行比较可能会影响置信度水平。因此,基于置信度水平,处理单元110可以将控制委托给交通工具200的驾驶员,以便改善安全状况。通过执行步骤560、562和564,处理单元110可以标识出现在捕获的图像的集合内的交通灯,并分析交叉路口几何信息。基于标识和分析,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5a所描述。
152.图5e是示出符合所公开的实施例的、用于基于交通工具路径在交通工具200中引起一个或多个导航响应的示例性过程500e的流程图。在步骤570处,处理单元110可以构造与交通工具200相关联的初始交通工具路径。可以使用以坐标(x,z)表达的点的集合来表示交通工具路径,并且该点的集合中的两个点之间的距离di可能落在1米到5米的范围内。在一个实施例中,处理单元110可以使用两个多项式(例如,左道路多项式和右道路多项式)来构造初始交通工具路径。处理单元110可以计算两个多项式之间的几何中点,并将所得到的交通工具路径中包括的每个点偏移预定的偏移(例如,智能车道偏移)――如果有预定的偏
移的话(零偏移可以对应于在车道中间的行驶)。偏移可以在垂直于交通工具路径中任何两点之间的段的方向上。在另一实施例中,处理单元110可以使用一个多项式和估计的车道宽度来将交通工具路径的每个点偏移所估计的车道宽度的一半加上预定的偏移(例如,智能车道偏移)。
153.在步骤572处,处理单元110可以更新在步骤570处构造的交通工具路径。处理单元110可以使用更高的分辨率来重构在步骤570处构造的交通工具路径,使得表示交通工具路径的点的集合中的两个点之间的距离dk小于上文描述的距离di。例如,距离dk可能落在0.1米到0.3米的范围内。处理单元110可以使用抛物线样条算法重构交通工具路径,抛物线样条算法可以产生与交通工具路径的总长度相对应的累计距离向量s(即,基于表示交通工具路径的该点的集合)。
154.在步骤574处,处理单元110可以基于在步骤572处构造的经更新的交通工具路径来确定前瞻点(以坐标表达为(x
l
,z
l
))。处理单元110可以从累计距离向量s中提取前瞻点,并且前瞻点可以与前瞻距离和前瞻时间相关联。可以具有范围从10米到20米的下限的前瞻距离可以被计算为交通工具200的速度与前瞻时间的乘积。例如,随着交通工具200的速度减小,前瞻距离也可能减小(例如,直到前瞻距离达到下限)。范围可以从0.5秒至1.5秒的前瞻时间可以与同在交通工具200中引起导航响应相关联的一个或多个控制回路(诸如航向误差跟踪控制回路)的增益成反比。例如,航向误差跟踪控制回路的增益可取决于偏航率回路的带宽、转向致动器回路、汽车横向动力学等。因此,航向误差跟踪控制回路的增益越高,前瞻时间就越短。
155.在步骤576处,处理单元110可以基于在步骤574处确定的前瞻点来确定航向误差和偏航率命令。处理单元110可以通过计算前瞻点的反正切(例如,arctan(x
l
/z
l
))来确定航向误差。处理单元110可以将偏航率命令确定为航向误差和高水平控制增益的乘积。如果前瞻距离并非处于下限,则高水平控制增益可以等于:(2/前瞻时间)。否则,高水平控制增益可能等于:(2*交通工具200的速度/前瞻距离)。
156.图5f是示出符合所公开的实施例的、用于确定在前的交通工具是否正在改变车道的示例性过程500f的流程图。在步骤580处,处理单元110可以确定与在前的交通工具(例如,在交通工具200前面行驶的交通工具)相关联的导航信息。例如,处理单元110可以使用上文结合图5a和图5b所描述的技术来确定在前的交通工具的位置、速度(例如,方向和速率)和/或加速度。处理单元110也可以使用上文结合图5e描述的技术来确定一个或多个道路多项式、(与交通工具200相关联的)前瞻点和/或蜗牛踪迹(snail trail)(例如,描述由在前的交通工具采取的路径的点的集合)。
157.在步骤582处,处理单元110可以分析在步骤580处确定的导航信息。在一个实施例中,处理单元110可以计算蜗牛踪迹与道路多项式(例如,沿着踪迹)之间的距离。如果该距离沿着踪迹的变化超过预定阈值(例如,在笔直道路上为0.1米到0.2米,在中等弯曲的道路上为0.3米到0.4米,并且在具有急弯的道路上为0.5米到0.6米),则处理单元110可以确定在前的交通工具可能正在改变车道。在其中多个交通工具被检测到在交通工具200前面行驶的情况下,处理单元110可以比较与每个交通工具相关联的蜗牛踪迹。基于该比较,处理单元110可以确定蜗牛踪迹与其他交通工具的蜗牛踪迹不匹配的交通工具可能正在改变车道。处理单元110可以附加地将(与在前的交通工具相关联的)蜗牛踪迹的曲率与该在前的
交通工具正在其中行驶的道路段的预期曲率进行比较。预期曲率可以从地图数据(例如,来自地图数据库160的数据)、从道路多项式、从其他交通工具的蜗牛踪迹、从关于道路的先前知识等等中提取。如果蜗牛踪迹的曲率与道路段的预期曲率的差超过预定阈值,则处理单元110可以确定在前的交通工具可能正在改变车道。
158.在另一实施例中,处理单元110可以在特时序间段(例如,0.5秒到1.5秒)内将在前的交通工具的瞬时位置与(与交通工具200相关联的)前瞻点进行比较。如果在前的交通工具的瞬时位置与前瞻点之间的距离在特定的时段期间变化且累计变化总和超过预定阈值(例如,在笔直道路上为0.3米至0.4米,在中等弯曲的道路上为0.7米至0.8米,在具有急弯的道路上为1.3米至1.7米),则处理单元110可以确定在前的交通工具可能正在改变车道。在另一个实施例中,处理单元110可以通过将沿着蜗牛踪迹行驶的横向距离与蜗牛踪迹的预期曲率进行比较来分析该踪迹的几何形状。预期曲率半径可以根据如下计算来确定:(δ
z2

x2
)/2/(δ
x
),其中δ
x
表示行驶的横向距离,并且δz表示行驶的纵向距离。如果行驶的横向距离与预期曲率之间的差超过预定阈值(例如,500米到700米),则处理单元110可以确定在前的交通工具可能在改变车道。在另一实施例中,处理单元110可以分析在前的交通工具的位置。如果在前的交通工具的位置遮挡了道路多项式(例如,在前的交通工具覆盖在道路多项式之上),则处理单元110可以确定在前的交通工具可能正在改车道。在其中在前的交通工具的位置使得在该在前的交通工具前面检测到另一交通工具并且这两个交通工具的蜗牛踪迹不平行的情况下,处理单元110可以确定(更近的)在前的交通工具可能正在改变车道。
159.在步骤584处,处理单元110可以基于在步骤582处执行的分析来确定在前的交通工具200是否正在改变车道。例如,处理单元110可以基于在步骤582处执行的各个分析的加权平均值来作出确定。在此类方案下,例如,由处理单元110基于特定类型的分析而作出的在前的交通工具可能正在改变车道的决策可以被分配值“1”(并且“0”用于表示在前的交通工具不太可能正在改变车道的确定)。在步骤582处执行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析和权重的任何特定组合。
160.图6是示出了符合所公开的实施例的、用于基于立体图像分析引起一个或多个导航响应的示例性过程600的流程图。在步骤610处,处理单元110可以经由数据接口128接收第一和第二多个图像。例如,图像采集单元120中所包括的相机(诸如具有视场202的图像捕获设备122和具有视场204的图像捕获设备124)可以捕获交通工具200前方的区域的第一和第二多个图像,并通过数字连接(例如,usb、无线、蓝牙等)将它们传送到处理单元100。在一些实施例中,处理单元110可以经由两个或更多个数据接口接收第一和第二多个图像。所公开的实施例不限于任何特定的数据接口配置或协议。
161.在步骤620处,处理单元110可以执行立体图像分析模块404,以对第一和第二多个图像执行立体图像分析,从而创建交通工具前方道路的3d地图,并检测图像内的特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、道路危险等等。立体图像分析可以以与上文结合图5a-图5d所描述的步骤相类似的方式来执行。例如,处理单元110可以执行立体图像分析模块404以检测第一和第二多个图像内的候选对象(例如,交通工具、行人、道路标记、交通灯、道路危险等),基于各种准则过滤掉候选对象的子集,并且执行多帧分析,构造测量,并确定剩余候选对象的置信水平。在执行以上步骤时,处理单元110可以考虑来自第一和第二多个图像两者的信息,而不是仅仅考虑来自一个图像集合的信息。例如,
处理单元110可以分析针对出现在第一和第二多个图像两者中的候选对象的像素级数据(或来自两个捕获的图像流之中的其他数据子集)的差异。作为另一示例,处理单元110可以通过观察对象出现在多个图像中的一者中而并未出现在另一者中或者相对于在两个图像流的情况下可能相对于出现的对象而存在的其他差异来估计候选对象的位置和/或速度(例如,相对于交通工具200)。例如,可以基于与出现在这些图像流中的一者中或这两个图像流中均出现的对象相关联的特征的轨迹、位置、移动特性等来确定相对于交通工具200的位置、速度和/或加速度。
162.在步骤630处,处理单元110可以执行导航响应模块408,以基于在步骤620处执行的分析和如上文结合图4所描述的技术在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度的变化、速度的变化、制动等等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时发生、按顺序发生或以这些方式的任何组合来发生。
163.图7是示出符合所公开的实施例的、用于基于对三个图像集合的分析来引起一个或多个导航响应的示例性过程700的流程图。在步骤710处,处理单元110可以经由数据接口128接收第一、第二和第三多个图像。例如,图像采集单元120中所包括的相机(诸如具有视场202的图像捕获设备122、具有视场204的图像捕获设备124和具有视场206的图像捕获设备126)可以捕获交通工具200前方和/或侧面的区域的第一、第二和第三多个图像,并通过数字连接(例如,usb、无线、蓝牙等)将它们传送到处理单元110。在一些实施例中,处理单元110可以经由三个或更多个数据接口接收第一、第二和第三多个图像。例如,图像捕获设备122、124、126中的每一个可以具有用于向处理单元110传输数据的相关联的数据接口。所公开的实施例不限于任何特定的数据接口配置或协议。
164.在步骤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的特定配置,或对第一、第二和第三多个图像进行的分析的类型。
165.在一些实施例中,处理单元110可以基于在步骤710和720处采集和分析的图像对系统100执行测试。此类测试可以提供针对图像捕获设备122、124和126的某些配置的系统100的总体性能的指标。例如,处理单元110可以确定“误命中”(例如,其中系统100错误地确定交通工具或行人的存在的情况)与“未命中”的比例。
166.在步骤730处,处理单元110可以基于从第一、第二和第三多个图像中的两者导出的信息在交通工具200中引起一个或多个导航响应。对第一、第二和第三多个图像中的两者的选择可以取决于各种因素,诸如例如在多个图像中的每一者中检测到的对象的数量、类型和大小。处理单元110还可以基于以下各项来进行选择:图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如,对象在其中出现的帧的百分比、出现在每个此类帧中的对象的比例等)等等。
167.在一些实施例中,处理单元110可以通过确定从一个图像源导出的信息与从其他图像源导出的信息的一致的程度来选择从第一、第二和第三多个图像中的两者导出的信息。例如,处理单元110可以组合从图像捕获设备122、124和126中的每一个导出(无论是通过单目分析、立体分析还是这两者的任何组合)的经处理的信息,并确定跨从图像捕获设备122、124和126中的每一个图像捕获设备捕获的图像相一致的视觉指示符(例如,车道标记、检测到的交通工具及其位置和/或路径、检测到的交通灯等)。处理单元110还可以排除跨捕获的图像不一致的信息(例如,正在改变车道的交通工具、指示过于靠近交通工具200的交通工具的车道模型等)。因此,处理单元110可以基于一致和不一致信息的确定来选择从第一、第二和第三多个图像中的两者导出的信息。
168.导航响应可以包括例如转弯、车道偏移、加速度的变化等。处理单元110可以基于在步骤720处执行的分析和如上文结合图4所描述的技术来引起一个或多个导航响应。处理单元110也可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。在一些实施例中,处理单元110可以基于交通工具200与在第一、第二和第三多个图像中的任一者内检测到的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可以同时发生、按顺序发生或以以上方式的任何组合来发生。
169.用于自主交通工具导航的稀疏道路模型
170.在一些实施例中,所公开的系统和方法可以使用稀疏地图进行自主交通工具导航。具体地,稀疏地图可以用于沿道路段的自主交通工具导航。例如,稀疏地图可以为导航自主交通工具提供足够的信息,而无需存储和/或更新大量数据。如下文进一步详细地所讨论,自主交通工具可以使用稀疏地图以基于一条或多条存储的轨迹来导航一条或多条道路。
171.用于自主交通工具导航的稀疏地图
172.在一些实施例中,所公开的系统和方法可以生成用于自主交通工具导航的稀疏地图。例如,稀疏地图可以为导航提供足够的信息,而不需要过多的数据存储或数据传输速率。如下文进一步详细地所讨论,交通工具(其可以是自主交通工具)可以使用稀疏地图来导航一条或多条道路。例如,在一些实施例中,稀疏地图可以包括与道路相关的数据并且潜在地包括与沿着道路的地标相关的数据,该数据可能足以用于交通工具导航,但其也呈现出小的数据占用空间。例如,与包括详细地图信息(诸如沿道路收集的图像数据)的数字地图相比,下文详细描述的稀疏数据地图可以需要显著更少的存储空间和数据传输带宽。
173.例如,稀疏数据地图可以存储沿道路的优选交通工具路径的三维多项式表示,而不是存储道路段的详细表示。这些路径可能需要很少的数据存储空间。进一步地,在所描述的稀疏数据地图中,地标可以被标识并被包括在稀疏地图道路模型中以辅助导航。这些地标可以以适用于实现交通工具导航的任何间距来定位,但在一些情况下,此类地标不需要
以高密度和短间距被标识并被包括在模型中。相反,在一些情况下,基于间隔开至少50米、至少100米、至少500米、至少1公里或至少2公里的地标的导航可以是可能的。如将在其他部分中更详细地所讨论,当交通工具沿道路行驶时,可以基于由配备有各种传感器和设备(诸如图像捕获设备、全球定位系统传感器、运动传感器等)的交通工具收集或测量的数据来生成稀疏地图。在一些情况下,稀疏地图可以基于一个或多个交通工具沿特定道路的多次驾驶期间收集的数据而被生成。使用一个或多个交通工具的多次驾驶生成稀疏地图可以被称为“众包”稀疏地图。
174.与所公开的实施例一致,自主交通工具系统可以使用稀疏地图进行导航。例如,所公开的系统和方法可以分发用于生成自主交通工具的道路导航模型的稀疏地图,并且可以使用稀疏地图和/或生成的道路导航模型沿道路段导航自主交通工具。符合本公开的稀疏地图可以包括一个或多个三维轮廓,这一个或多个三维轮廓可以表示自主交通工具在它们沿着相关联的道路段移动时可以穿过的预定轨迹。
175.符合本公开的稀疏地图还可以包括表示一个或多个道路特征的数据。此类道路特征可以包括识别的地标、道路特色概况以及在导航交通工具时有用的任何其他道路相关特征。符合本公开的稀疏地图可以基于稀疏地图中包括的相对少量的数据实现交通工具的自主导航。例如,与包括道路的详细表示(诸如道路边缘、道路曲率、与道路段相关联的图像、或详细说明与道路段相关联的其他物理特征的数据)不同,稀疏地图的所公开的实施例可以需要相对较少的存储空间(并且当稀疏地图的部分被传输到交通工具时,需要相对较小的带宽)但是仍然可以充分地提供自主交通工具导航。下面进一步详细讨论的所公开的稀疏地图的小的数据占用空间在一些实施例中可以通过存储需要少量的数据但仍然能够实现自主导航的道路相关的元素的表示来实现。
176.例如,与存储道路的各个方面的详细表示不同,所公开的稀疏地图可以存储交通工具可以沿着道路遵循的一条或多条轨迹的多项式表示。因此,与存储(或必须传输)关于道路的物理性质的细节来实现沿道路的导航不同,通过使用所公开的稀疏地图,在一些情况下,交通工具可以不必解释道路的物理方面而是通过将其行驶路径与沿特定道路段的轨迹(例如,多项式样条)对齐来沿着特定道路段导航交通工具。以此方式,可以主要基于存储的轨迹(例如,多项式样条)来导航交通工具,与涉及道路图像、道路参数、道路布局等的存储的方法相比,这可以需要少得多的存储空间。
177.除了所存储的沿道路段的轨迹的多项式表示外,所公开的稀疏地图还可以包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可以包括数字签名,该数字签名是从由沿道路段行驶的交通工具机载的传感器(例如,相机或其他传感器,诸如悬架传感器)获得的数字图像(或数字信号)导出的。数字签名可以具有相对于由传感器采集的信号减小的大小。在一些实施例中,可以创建与分类器功能兼容的数字签名,分类器功能被配置为用于从由传感器例如在后续的驾驶期间采集的信号中检测和标识道路特征。在一些实施例中,可以创建数字签名,使得数字签名具有尽可能小的占用空间,同时保持基于由在后续时间沿同一道路段行驶的交通工具机载的相机捕获的道路特征的图像(或者如果存储的签名不基于图像和/或包括其他数据,则由传感器生成的数字信号)使道路特征与存储的签名相关或匹配的能力。
178.在一些实施例中,数据对象的大小可以进一步与道路特征的唯一性相关联。例如,
对于可以由交通工具机载的相机检测的道路特征,并且在交通工具机载的相机系统被耦合到能够将对应于该道路特征的图像数据区分为与特定类型的道路特征(例如,道路标志)相关联的分类器的情况下,并且在此类道路标志在该区域是局部地唯一(例如,附近没有相同的道路标志或相同类型的道路标志)的情况下,存储指示道路特征的类型及其位置的数据可能是足够的。
179.如下文将进一步详细地所讨论,道路特征(例如,沿道路段的地标)可以存储为小数据对象,该小数据对象可以以相对较少的字节表示道路特征,同时为识别并使用此类特征进行导航提供足够的信息。在一个示例中,道路标志可被标识为交通工具的导航可以基于的所识别的地标。道路标志的表示可以存储在稀疏地图中,该稀疏地图包括例如指示地标的类型(例如,停车标志)的一些数据字节以及指示地标的位置(例如,坐标)的一些数据字节。基于地标的此类数据-光表示(例如,使用足以基于地标来进行定位、识别和导航的表示)的导航可以提供与稀疏地图相关联的期望水平的导航功能,而不显著增加与稀疏地图相关联的数据开销。这种地标(和其他道路特征)的精益表示可以利用此类交通工具机载的所包括的传感器和处理器,这些传感器和处理器被配置为用于检测、标识和/或分类某些道路特征。
180.例如,当标志或甚至特定的标志类型在给定区域内是局部地唯一的(例如,当没有其他标志或没有相同类型的其他标志时)时,稀疏地图可以使用指示地标的类型(标志或特定的标志类型)的数据,以及在导航(例如,自主导航)期间,当自主交通工具机载的相机捕获到包括标志(或特定类型标志)的区域的图像时,处理器可以处理图像,检测标志(如果确实存在于图像中),将图像分类为标志(或特定的标志类型),并使图像的位置与存储在稀疏地图中的标志的位置相关。
181.生成稀疏地图
182.在一些实施例中,稀疏地图可以包括沿道路段延伸的道路表面特征的至少一个线表示以及与该道路段相关联的多个地标。在某些方面中,稀疏地图可以经由“众包”生成,例如,通过对在一个或多个交通工具穿过道路段时采集的多个图像的图像分析。
183.图8示出了一个或多个交通工具(例如,交通工具200(其可以是自主交通工具))可访问以提供自主交通工具导航的稀疏地图800。稀疏地图800可以被存储在存储器中,该存储器诸如存储器140或150。此类存储器设备可以包括任何类型的非瞬态存储设备或计算机可读介质。例如,在一些实施例中,存储器140或150可以包括硬盘驱动器、紧凑盘、闪存、基于磁性的存储器设备、基于光学的存储器设备等。在一些实施例中,稀疏地图800可以被存储在数据库(例如,地图数据库160)中,该数据库可以被存储在存储器140或150或其他类型的存储设备中。
184.在一些实施例中,稀疏地图800可以被存储在交通工具200上提供的存储设备或非瞬态计算机可读介质(例如,交通工具200机载的导航系统中包括的存储设备)上。交通工具200上提供的处理器(例如,处理单元110)可以访问被存储在交通工具200上提供的存储设备或计算机可以读介质中的稀疏地图800,以便生成用于在交通工具穿过道路段时引导自主交通工具200的导航指令。
185.但是,稀疏地图800不需要相对于交通工具在本地存储。在一些实施例中,稀疏地图800可以被存储在远程服务器上提供的存储设备或计算机可读介质上,该远程服务器与
交通工具200或同交通工具200相关联的设备通信。交通工具200上提供的处理器(例如,处理单元110)可以从远程服务器接收稀疏地图800中包括的数据,并可以执行该数据以用于引导交通工具200的自主驾驶。在此类实施例中,远程服务器可以存储稀疏地图800的全部或仅其一部分。相应地,交通工具200机载的和/或一个或多个附加交通工具机载的存储设备或计算机可读介质可以存储稀疏地图800的(多个)剩余部分。
186.此外,在此类实施例中,可以使得稀疏地图800可供穿过各种道路段的多个交通工具(例如,数十个、数百个、数千个或数百万个交通工具等)访问。还应当注意,稀疏地图800可以包括多个子地图。例如,在一些实施例中,稀疏地图800可包括可在导航交通工具时使用的数百个、数千个、数百万个或更多的子地图。此类子地图可以称为局部地图,并且沿道路行驶的交通工具可以访问与交通工具正在其中行驶的位置相关的任何数量的局部地图。稀疏地图800的局部地图部分可以与作为对稀疏地图800的数据库的索引的全球导航卫星系统(gnss)关键字一起存储。因此,虽然可以在不依赖于主交通工具的gnss位置、道路特征或地标的情况下执行用于在本系统中导航主交通工具的转向角的计算,但是此类gnss信息可以用于检取相关的局部地图。
187.一般地,稀疏地图800可以基于在一个或多个交通工具沿道路行驶时从它们收集的数据而生成。例如,通过使用一个或多个交通工具机载的传感器(例如,相机、速度表、gps、加速度计等),可以记录一个或多个交通工具沿道路行驶的轨迹,并且可以由基于一个或多个交通工具行驶的所收集的轨迹来确定用于沿道路进行后续行驶的交通工具的优选轨迹的多项式表示。类似地,由一个或多个交通工具收集的数据可以辅助标识沿特定道路的潜在地标。从穿过的交通工具收集的数据也可以用于标识道路概况信息,诸如道路宽度概况、道路粗糙度概况、交通线间距概况、道路状况等。通过使用收集的信息,稀疏地图800可以被生成和被分发(例如,用于本地存储或经由运行中(on-the-fly)数据传输)以用于在导航一个或多个自主交通工具时使用。然而,在一些实施例中,地图生成可以不在地图的初始生成时结束。如下文将更详细地所讨论,随着那些交通工具继续穿过稀疏地图800中包括的道路,稀疏地图800可以基于从交通工具收集的数据连续地或周期性地被更新。
188.稀疏地图800中记录的数据可以包括基于全球定位系统(gps)数据的位置信息。例如,位置信息可以被包括在稀疏地图800中用于各种地图元素,包括例如地标位置、道路概况位置等。稀疏地图800中包括的地图元素的位置可以使用从穿过道路的交通工具收集的gps数据来获得。例如,经过被标识的地标的交通工具可以使用与交通工具相关联的gps位置信息、以及被标识的地标相对于交通工具的位置的确定(例如,基于从交通工具机载的一个或多个相机收集的数据的图像分析)来确定被标识的地标的位置。当附加的交通工具经过被标识的地标的位置时,可以重复被标识的地标(或稀疏地图800中包括的任何其他特征)的此类位置确定。附加位置确定中的一些或全部可以用于细化存储在稀疏地图800中的、相对于被标识的地标的位置信息。例如,在一些实施例中,相对于存储在稀疏地图800中的特定特征的多个位置测量可以一起求平均。然而,也可以使用任何其他数学运算基于地图元素的多个所确定的位置来细化地图元素的所存储的位置。
189.所公开的实施例的稀疏地图可以使用相对少量的所存储的数据实现交通工具的自主导航。在一些实施例中,稀疏地图800可以具有小于每公里道路2mb、小于每公里道路1mb、小于每公里道路500kb或小于每公里道路100kb的数据密度(例如,包括表示目标轨迹、
地标和任何其他存储的道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可以小于每公里道路10kb,或者甚至小于每公里道路2kb(例如,每公里1.6kb),或者不大于每公里道路10kb,或者不大于每公里道路20kb。在一些实施例中,美国的大多数(如果不是全部的话)道路可以使用具有总共4gb或更少的数据的稀疏地图来自主地导航。这些数据密度值可以表示整个稀疏地图800上、稀疏地图800内的局部地图上和/或稀疏地图800内的特定道路段上的平均值。
190.如所提到,稀疏地图800可以包括用于沿道路段引导自主驾驶或导航的多条目标轨迹810的表示。此类目标轨迹可以存储为三维样条。例如,存储在稀疏地图800中的目标轨迹可以基于交通工具沿特定道路段的先前穿过的两条或更多条重构的轨迹来确定。道路段可以与单条目标轨迹或多条目标轨迹相关联。例如,在双车道道路上,可以存储第一目标轨迹以表示沿道路在第一方向上的预期行驶路径,并且可以存储第二目标轨迹以表示沿道路在另一方向(例如,与第一方向相反)上的预期行驶路径。可以存储关于特定道路段的附加目标轨迹。例如,在多车道道路上,可以存储一条或多条目标轨迹,这一条或多条目标轨迹表示与多车道道路相关联的一个或多个车道中的交通工具的预期行驶路径。在一些实施例中,多车道道路的每个车道可以与其自身的目标轨迹相关联。在其他实施例中,可能有比存在于多车道道路上的车道更少的所存储的目标轨迹。在此类情况下,导航多车道道路的交通工具可以通过考虑从目标轨迹针对其被存储的车道的车道偏移的量来使用被存储的目标轨迹中的任何一个来引导其导航(例如,如果交通工具正在三车道公路的最左侧车道上行驶,并且仅针对公路的中间车道存储目标轨迹,则交通工具可以通过在生成导航指令时考虑中间车道与最左侧车道之间的车道偏移的量来使用中间车道的目标轨迹进行导航)。
191.在一些实施例中,目标轨迹可以表示在交通工具行驶时该交通工具应当采用的理想路径。例如,目标轨迹可以位于行驶车道的近似中心处。在其他情况下,目标轨迹可位于相对于道路段的其他位置。例如,目标轨迹可以近似地与道路的中心、道路的边缘或车道的边缘等重合。在此类情况下,基于目标轨迹的导航可以包括相对于目标轨迹的位置要保持的所确定的偏移量。此外,在一些实施例中,相对于目标轨迹的位置要保持的所确定的偏移量可以基于交通工具的类型而不同(例如,包括两个车轴的乘用交通工具沿目标轨迹的至少一部分可具有与包括多于两个的车轴的卡车不同的偏移量)。
192.稀疏地图800还可以包括与特定道路段、局部地图等相关联的多个预定地标820相关的数据。如下文更详细地所讨论,这些地标可以在自主交通工具的导航中被使用。例如,在一些实施例中,地标可以用于确定交通工具相对于所存储的目标轨迹的当前位置。利用该位置信息,自主交通工具可以能够调整航向以匹配所确定的位置处的目标轨迹的方向。
193.多个地标820可以以任何合适的间隔被标识和存储在稀疏地图800中。在一些实施例中,地标可以以相对高的密度(例如,每隔几米或更高的密度)被存储。然而,在一些实施例中,可以采用显著更大的地标间距值。例如,在稀疏地图800中,所标识(或所识别)的地标可以间隔开10米、20米、50米、100米、1公里或2公里。在一些情况下,所标识的地标可位于间隔开甚至大于2公里的距离处。
194.在地标之间,以及因此在相对于目标轨迹对交通工具位置的多次确定之间,交通工具可以基于航位推算进行导航,在该航位推算中,交通工具使用传感器确定其自我运动并估计其相对于目标轨迹的位置。由于误差在通过航位推算进行的导航期间会累积,因此
随着时间的推移,相对于目标轨迹的位置确定可能会变得越来越不准确。交通工具可以使用稀疏地图800中出现的地标(及其已知位置)来消除位置确定中由航位推算引起的误差。以这种方式,被包括在稀疏地图800中的所标识的地标可以用作导航锚,可通过该导航锚确定交通工具相对于目标轨迹的准确位置。由于一定量的误差在位置定位中是可以接受的,因此所标识的地标不必总是可用于自主交通工具。相反,如上文所提到,甚至基于10米、20米、50米、100米、500米、1公里、2公里或更大的地标间距,合适的导航也是可能的。在一些实施例中,每1km道路1个所标识的地标的密度可以足以将纵向位置确定准确度维持在1m以内。因此,并非沿道路段出现的每个潜在地标都需要被存储在稀疏地图800中。
195.此外,在一些实施例中,车道标记可以用于在地标间隔期间对交通工具进行定位。通过在地标间距期间使用车道标记,可以使在通过航位推算进行的导航期间的累积最小化。
196.除了目标轨迹和所标识的地标,稀疏地图800还可以包括与各种其他道路特征相关的信息。例如,图9a图示出可以存储在稀疏地图800中的沿着特定道路段的曲线的表示。在一些实施例中,道路的单个车道可以通过道路左侧和右侧的三维多项式描述来建模。图9a中示出了表示单个车道的左侧和右侧的此类多项式。不管道路可能具有多少个车道,该道路都可以按照类似于图9a所示的方式的方式、使用多项式来表示。例如,多车道道路的左侧和右侧可以由类似于图9a中所示的多项式的多项式来表示,并且在多车道道路上所包括的中间车道标记(例如,表示车道边界的虚线标记、表示在不同方向上行驶的车道之间边界的黄色实线等)也可以使用诸如图9a中所示的多项式的多项式来表示。
197.如图9a所示,车道900可以使用多项式(例如,一阶、二阶、三阶或任何合适阶的多项式)表示。为了说明,车道900被示为二维车道,并且多项式被示为二维多项式。如图9a所描绘,车道900包括左侧910和右侧920。在一些实施例中,可以使用多于一个的多项式来表示道路或车道边界的每一侧的位置。例如,左侧910和右侧920中的每一者可以由具有任何合适长度的多个多项式表示。在一些情况下,多项式可具有约100m的长度,但也可以使用大于或小于100m的其他长度。附加地,多项式可以彼此重叠,以促进在主交通工具沿道路行驶时基于后续遇到的多项式进行导航时的无缝过渡。例如,左侧910和右侧920中的每一者都可以由多个三阶多项式表示,这些三阶多项式被分成长度大约100米(第一预定范围的示例)、并且彼此重叠大约50米的段。表示左侧910和右侧920的多项式可以具有相同的阶数,或可以不具有相同的阶数。例如,在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,而一些可以是四阶多项式。
198.在图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的第二组表示。
199.回到稀疏地图800的目标轨迹,图9b示出了表示交通工具沿特定道路段行驶的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定道路段行驶的x-y路径,还表示当沿该道路段行驶时该主交通工具将经历的标高变化。因此,稀疏地图800中的每条目标轨迹可以由一个或多个三维多项式(如图9b中所示的三维多项式950)表示。稀疏地图800可以包括多条轨迹(例如,数百万或数十亿或更多,以表示交通工具沿世界各地道路的各种道路段的轨迹)。在一些实施例中,每条目标轨迹可以对应于连接三维多项式段的样条。
200.关于存储在稀疏地图800中的多项式曲线的数据占用空间,在一些实施例中,每个三次多项式可以由四个参数表示,每个参数需要四个字节的数据。使用对于每100m需要大约192字节的数据的三次多项式可以获得合适的表示。对于大约100km/小时行驶的主交通工具,这可转化为数据使用/传输要求方面的大致200kb/小时。
201.稀疏地图800可以使用几何描述符和元数据的组合来描述车道网络。几何形状可以通过如上文所描述的多项式或样条来描述。元数据可以描述车道数量、特殊特性(诸如汽车共用车道)以及可能的其他稀疏标签。此类指示符的总占用空间可以忽略不计。
202.相应地,根据本发明的实施例的稀疏地图可以包括沿道路段延伸的道路表面特征的至少一个线表示,每个线表示代表沿道路段的、基本上与道路表面特征相对应的路径。在一些实施例中,如上文所讨论,道路表面特征的至少一个线表示可以包括样条、多项式表示或曲线。此外,在一些实施例中,道路表面特征可以包括道路边缘或车道标记中的至少一个。此外,如下文关于“众包”所讨论,可以通过对在一个或多个交通工具穿过道路段时采集的多个图像的图像分析来标识道路表面特征。
203.如之前所提到,稀疏地图800可以包括与道路段相关联的多个预定地标。与存储地标的实际图像和依赖例如基于捕获的图像和存储的图像的图像识别分析不同,稀疏地图800中的每个地标可以使用比存储的实际图像将需求的更少的数据来表示和识别。表示地标的数据仍然可以包括用于描述或标识沿道路的地标的足够信息。存储描述地标特性的数据而不是地标的实际图像可以减小稀疏地图800的大小。
204.图10图示出可以在稀疏地图800中表示的地标的类型的示例。地标可以包括沿道路段的任何可见和可标识对象。地标可以被选择成使得它们是固定的,并且在它们的位置和/或内容方面不经常改变。稀疏地图800中包括的地标在确定交通工具200在穿过特定道路段时该交通工具相对于目标轨迹的位置时可以是有用的。地标的示例可包括交通标志、方向标志、一般标志(例如,矩形标志)、路边固定装置(例如,灯杆、反光镜等)和任何其他合适的类别。在一些实施例中,道路上的车道标记也可以作为地标被包括在稀疏地图800中。
205.图10所示的地标的示例包括交通标志、方向标志、路边固定装置和一般标志。交通标志可包括例如,限速标志(例如,限速标志1000)、避让标志(例如,避让标志1005)、路线编号标志(例如,路线编号标志1010)、交通灯标志(例如,交通灯标志1015)、停车标志(例如,停车标志1020)。方向标志可以包括包含指示去往不同地方的一个或多个方向的一个或多个箭头的标志。例如,方向标志可以包括:公路标志1025,该公路标志1025具有用于将交通工具引导至不同道路或地点的箭头;出口标志1030,该出口标志1030具有引导交通工具离开道路的箭头,等等。相应地,多个地标中的至少一个可以包括道路标志。
206.一般标志可以与交通无关。例如,一般标志可以包括用于广告的广告牌,或邻近两
个国家、州、县、市或城镇之间的边界的欢迎牌。图10示出了一般标志1040(“乔氏餐厅(joe’s restaurant)”)。尽管一般标志1040可以具有矩形形状,如图10所示,但一般标志1040可以具有其他形状,诸如正方形、圆形、三角形等。
207.地标还可包括路边固定装置。路边固定装置可以是并非标志的对象,并且也可以与交通或方向无关。例如,路边固定装置可以包括灯杆(例如,灯杆1035)、电线杆、交通灯杆等。
208.地标也可以包括可以被专门设计成用于在自主交通工具导航系统中使用的信标。例如,此类信标可以包括以预定间隔放置的独立式结构,以辅助导航主交通工具。此类信标也可以包括添加到现有道路标志上的视觉/图形信息(例如,图标、徽章、条形码等),这些信息可以由沿道路段行驶的交通工具标识或识别。此类信标还可以包括电子组件。在此类实施例中,电子信标(例如,rfid标签等)可以用于将非视觉信息传送到主交通工具。此类信息可以包括例如主交通工具在确定其沿目标轨迹的位置时可以使用的地标标识和/或地标位置信息。
209.在一些实施例中,稀疏地图800中包括的地标可以由预定大小的数据对象表示。表示地标的数据可以包括用于标识特定地标的任何合适的参数。例如,在一些实施例中,存储在稀疏地图800中的地标可以包括诸如以下各项的参数:地标的物理大小(例如,用于支持基于已知大小/尺度估计到地标的距离)、到先前地标的距离、横向偏移、高度、类型代码(例如,地标类型——什么类型的方向标志、交通标志等)、gps坐标(例如,用于支持全球定位)、以及任何其他合适的参数。每个参数都可以与数据大小相关联。例如,可以使用8字节的数据存储地标大小。可以使用12字节的数据指定到先前地标的距离、横向偏移和高度。与地标(诸如方向标志或交通标志)相关联的类型代码可能需要大约2字节的数据。对于一般标志,可以使用50字节的数据存储来存储实现对一般标志的标识的图像签名。地标gps位置可以与16字节的数据存储相关联。每个参数的这些数据大小仅为示例,并且也可以使用其他数据大小。
210.以这种方式在稀疏地图800中表示地标可以提供用于在数据库中高效地表示地标的精益解决方案。在一些实施例中,标志可被称为语义标志和非语义标志。语义标志可以包括针对其具有标准化含义的任何类别的标志(例如,限速标志、警告标志、方向标志等)。非语义标志可以包括与标准化含义不相关联的任何标志(例如,一般广告标志、标识商业机构的标志等)。例如,每个非标准语义标志可以用38字节的数据表示(例如,8字节用于大小;12字节用于到上一个地标的距离、横向偏移和高度;2字节用于类型代码;并且16字节用于gps坐标)。稀疏地图800可以使用标签系统来表示地标类型。在一些情况下,每个交通标志或方向标志可以与其自身的标签相关联,该标签可以作为地标标识的一部分被存储在数据库中。例如,数据库可以包括量级为1000个的不同标签来表示各种交通标志、以及量级为大约10000个的不同标签来表示方向标志。当然,可以使用任何合适数量的标签,并且可以根据需要创建附加的标签。在一些实施例中,通用标志可以使用小于大约100字节(例如,大约86字节,包括用于大小的8字节;用于到先前地标的距离距离、横向偏移和高度的12字节;用于图像签名的50字节;以及用于gps坐标的16字节)来表示。
211.因此,对于不需要图像签名的语义标志,即使在大约每50米1个地标的相对较高的地标密度的情况下,数据密度对稀疏地图800的影响也可以处于大约每公里760字节的量级
(例如,每公里20个地标x每地标38字节=760字节)。甚至对于包括图像签名分量的通用标志,数据密度影响大约为每公里1.72kb(例如,每公里20个地标x每个地标86字节=1720字节)。对于语义道路标志,这相当于针对100km/小时行驶的交通工具的大约每小时76kb的数据使用。对于通用标志,这相当于针对100km/小时行驶的交通工具的大约每小时170kb。
212.在一些实施例中,总体上矩形的对象(诸如矩形标志)可以在稀疏地图800中由不超过100字节的数据表示。稀疏地图800中的总体上矩形对象(例如,一般标志1040)的表示可以包括与总体上矩形的对象相关联的浓缩的图像签名(例如,浓缩的图像签名1045)。这种浓缩的图像签名可以例如用于辅助将通用标志标识为例如所识别的地标。此类浓缩的图像签名(例如,从表示对象的实际图像数据导出的图像信息)可以避免需要存储对象的实际图像或者避免需要对实际图像执行比较性图像分析来识别地标。
213.参考图10,稀疏地图800可以包括或存储与一般标志1040相关联的浓缩的图像签名1045,而不是一般标志1040的实际图像。例如,在图像捕获设备(例如,图像捕获设备122、124或126)捕获一般标志1040的图像后,处理器(例如,图像处理器190或在主交通工具上或相对于主交通工具远程定位的、可以处理图像的任何其他处理器)可以执行图像分析以提取/创建浓缩的图像签名1045,该浓缩的图像签名1045包括与一般标志1040相关联的唯一签名或图案。在一个实施例中,浓缩的图像签名1045可以包括形状、彩色图案、亮度图案或可以从一般标志1040的图像中提取以用于描述一般标志1040的任何其他特征。
214.例如,在图10中,浓缩的图像签名1045中示出的圆、三角形和星形可以表示不同颜色的区域。由圆、三角形和星形表示的图案可以被存储在稀疏地图800中,例如,被存储在被指定为包括图像签名的50字节内。值得注意的是,圆、三角形和星形不一定意味着指示此类形状作为图像签名的一部分被存储。相反,这些形状意味着在概念上表示具有可辨别颜色差异的可识别区域、纹理区域、图形形状或可能与一般目的标志相关联的其他特征变化。此类浓缩的图像签名可以用于以一般标志的形式标识地标。例如,浓缩的图像签名可以用于基于所存储的浓缩的图像签名与例如使用自主交通工具机载的相机捕获的图像数据的比较来执行相同-不相同(same-not-same)分析。
215.相应地,多个地标可以通过对当一个或多个交通工具穿过道路段时采集的多个图像进行的图像分析来标识。如下文关于“众包”所解释,在一些实施例中,用于标识多个地标的图像分析可以包括:当在其中地标确实出现的图像相比在其中地标不出现的图像的比率超过阈值时,接受潜在地标。此外,在一些实施例中,用于标识多个地标的图像分析可以包括:当在其中地标不出现的图像相比在其中地标确实出现的图像的比率超过阈值时,拒绝潜在地标。
216.返回主交通工具可用于导航特定道路段的目标轨迹,图11a示出了在构建或维护稀疏地图800的过程期间捕获的多项式表示轨迹。稀疏地图800中所包括的目标轨迹的多项式表示可以基于交通工具沿相同道路段的先前穿过的两个或更多个重建的轨迹来确定。在一些实施例中,稀疏地图800中包括的目标轨迹的多项式表示可以是交通工具沿相同道路段的先前穿过的两个或更多个重构的轨迹的聚合。在一些实施例中,稀疏地图800中包括的目标轨迹的多项式表示可以是交通工具沿相同道路段的先前穿过的两个或更多个重构的轨迹的平均。也可以使用其他数学运算基于从沿道路段穿过的交通工具收集的重构的轨迹来沿道路路径构造目标轨迹。
217.如图11a所示,道路段1100可以在不同时间由数个交通工具200行驶。每个交通工具200可以收集与交通工具沿道路段所采用的路径有关的数据。特定交通工具行驶的路径可以基于相机数据、加速度计信息、速度传感器信息和/或gps信息以及其他潜在源来确定。此类数据可以用于重构交通工具沿道路段行驶的轨迹,并且基于这些重构的轨迹,可以确定针对特定道路段的目标轨迹(或多条目标轨迹)。随着交通工具沿道路段行驶,此类目标轨迹可以表示主交通工具的优选路径(例如,由自主导航系统引导)。
218.在图11a所示的示例中,可以基于从在第一时间段(例如,第1天)穿过道路段1100的第一交通工具接收的数据确定第一重构的轨迹1101,可以从在第二时间段(例如,第2天)穿过道路段1100的第二交通工具获得第二重构的轨迹1102,并且可以从在第三时间段(例如,第3天)穿过道路段1100的第三交通工具获得第三重构的轨迹1103。每条轨迹1101、1102和1103可以由诸如三维多项式之类的多项式表示。应当注意,在一些实施例中,这些重构的轨迹中的任一者可以被机载地装配在穿过道路段1100的交通工具上。
219.附加地或替代地,此类重构的轨迹可以在服务器侧基于从穿过道路段1100的交通工具接收到的信息来确定。例如,在一些实施例中,交通工具200可以向一个或多个服务器传送与其沿道路段1100的运动相关的数据(例如,转向角、航向、时间、位置、速度,感测到的道路几何形状和/或感测到的地标,等等)。服务器可以基于接收到的数据重构用于交通工具200的轨迹。服务器也可以生成用于引导自主交通工具导航的目标轨迹,该自主交通工具将在稍后基于第一轨迹1101、第二轨迹1102和第三轨迹1103沿同一道路段1100行驶。虽然目标轨迹可以与道路段的单个先前穿过相关联,但是在一些实施例中,稀疏地图800中包括的每条目标轨迹可以基于穿过同一道路段的交通工具的两个或更多个重构的轨迹来确定。在图11a中,目标轨迹由1110表示。在一些实施例中,可以基于第一轨迹1101、第二轨迹1102和第三轨迹1103的平均来生成目标轨迹1110。在一些实施例中,稀疏地图800中包括的目标轨迹1110可以是两条或更多条重构的轨迹的聚合(例如,加权组合)。
220.图11b和图11c进一步说明了与地理区域1111内存在的道路段相关联的目标轨迹的概念。如图11b所示,地理区域1111内的第一道路段1120可以包括多车道道路,其包括指定用于交通工具在第一方向上行驶的两个车道1122和指定用于交通工具在与第一方向相反的第二方向上行驶的两个附加车道1124。车道1122和车道1124可以由双黄线1123分隔。地理区域1111也可以包括与道路段1120相交的分支道路段1130。道路段1130可以包括双车道道路,每个车道被指定用于不同的行驶方向。地理区域1111也可以包括其他道路特征,诸如停车线1132、停车标志1134、限速标志1136和危险标志1138。
221.如图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)时应当遵循的优选路径。
222.稀疏地图800也可以包括与地理区域1111相关联的其他道路相关特征的表示。例如,稀疏地图800也可以包括在地理区域1111中标识的一个或多个地标的表示。此类地标可以包括与停车线1132相关联的第一地标1150、与停车标志1134相关联的第二地标1152、与限速标志1154相关联的第三地标、以及与危险标志1138相关联的第四地标1156。例如,此类地标可以用于辅助自主交通工具确定其相对于所示目标轨迹中的任一目标轨迹的当前位置,使得交通工具可以调整其航向以匹配所确定的位置处的目标轨迹的方向。
223.在一些实施例中,稀疏地图800还可以包括道路特色概况。此类道路特色概况可以与同道路相关联的至少一个参数的任何可辨别/可测量变化相关联。例如,在一些情况下,此类概况可与道路表面信息的变化相关联,道路表面信息的变化诸如,特定道路段的表面粗糙度的变化、特定道路段上的道路宽度的变化、沿特定道路段绘制的虚线之间的距离的变化、沿特定道路段的道路曲率的变化,等等。图11d示出了道路特色概况1160的示例。虽然概况1160可以表示上文提及的参数中的任何参数或其他参数,但在一个示例中,概况1160可以表示如例如通过监视一个或多个传感器获得的道路表面粗糙度的测量,该一个或多个传感器提供指示当交通工具行驶特定道路段时悬架位移量的输出。
224.替代地或同时地,概况1160可以表示如基于经由在特定道路段行驶的交通工具机载的相机获得的图像数据而确定的道路宽度的变化。例如,在确定自主交通工具相对于特定目标轨迹的特定位置时,此类概况可能是有用的。也就是说,当自主交通工具穿过道路段时,自主交通工具可以测量与关联于与该道路段相关联的一个或多个参数的概况。如果测量的概况可以与标画关于沿道路段的位置的参数变化的预定概况相关/匹配,则可以使用测量的概况和预定概况(例如,通过叠加测量的概况和预定概况的相对应部分)来确定沿道路段的当前位置,并由此确定相对于针对该道路段的目标轨迹的当前位置。
225.在一些实施例中,稀疏地图800可以包括基于与自主交通工具的用户、环境状况和/或与驾驶相关的其他参数相关联的不同特性的不同轨迹。例如,在一些实施例中,可以基于不同的用户偏好和/或概况生成不同的轨迹。包括此类不同轨迹的稀疏地图800可以被提供给不同用户的不同自主交通工具。例如,一些用户可能偏好避开收费公路,而其他用户可能偏好选择最短或最快的路线,而无论该路线上是否有收费公路。所公开的系统可以基于此类不同的用户偏好或概况生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能偏好在快速移动车道上行驶,而其他用户可能偏好始终在中心车道中维持位置。
226.基于不同的环境状况(诸如白天和黑夜、雪、雨、雾等),不同的轨迹可以被生成并且被包括在稀疏地图800中。可以向在不同的环境状况下驾驶的自主交通工具提供基于此类不同的环境状况而生成的稀疏地图800。在一些实施例中,在自主交通工具上提供的相机可以检测环境状况,并且可以将此类信息提供回到生成和提供稀疏地图的服务器。例如,服务器可以生成或更新已经生成的稀疏地图800,以包括对于在检测到的环境状况下的自主驾驶可能更适合或更安全的轨迹。基于环境状况的稀疏地图800的更新可以在自主交通工具正沿道路行驶时被动态地执行。
227.与驾驶相关的其他不同参数也可以被用作用来生成不同的稀疏地图并将其提供
给不同的自主交通工具的基础。例如,当自主交通工具正以高速度行驶时,转弯可能会更困难。与特定车道而非道路相关联的轨迹可以被包括在稀疏地图800中,使得当交通工具遵循特定轨迹时,该自主交通工具可以维持在特定车道内。当自主交通工具机载的相机捕获的图像指示交通工具已漂移到车道外(例如,跨越车道标记)时,可以在交通工具内触发动作,以根据特定轨迹将交通工具带回所指定的车道。
228.众包稀疏地图
229.在一些实施例中,所公开的系统和方法可以生成用于自主交通工具导航的稀疏地图。例如,所公开的系统和方法可以使用众包数据来生成稀疏,一个或多个自主交通工具可以使用该稀疏来沿道路系统导航。如本文中所使用,“众包”意指从在不同时间在道路段上行驶的各种交通工具(例如,自主交通工具)接收数据,并且此类数据用于生成和/或更新道路模型。该模型可以进而传送至交通工具或随后沿道路段行驶的其他交通工具,以辅助自主交通工具导航。道路模型可以包括多个目标轨迹,该多个目标轨迹表示自主交通工具在它们穿过道路段时应当遵循的优选轨迹。目标轨迹可以与从穿过道路段的交通工具收集的重构的实际轨迹相同,该重构的实际轨迹可以从交通工具传送到服务器。在一些实施例中,目标轨迹可与一个或多个交通工具先前在穿过道路段时采用的实际轨迹不同。可以基于实际轨迹(例如,通过求平均或任何其他适合的运算)生成目标轨迹。
230.交通工具可以上传到服务器的交通工具轨迹数据可以与交通工具的实际重构轨迹相对应,或者可以与推荐轨迹相对应,该推荐轨迹可以基于交通工具的实际重构轨迹或与交通工具的实际重构轨迹相关,但可以与实际重构轨迹不同。例如,交通工具可以修改其实际重构轨迹,并向服务器提交(例如,推荐)经修改的实际轨迹。道路模型可以使用推荐的、经修改的轨迹作为用于其他交通工具的自主导航的目标轨迹。
231.除轨迹信息外,在构建稀疏数据地图800时潜在使用的其他信息可以包括与潜在地标候选相关的信息。例如,通过信息的众包,所公开的系统和方法可以标识环境中的潜在地标并细化地标位置。地标可以被自主交通工具的导航系统用来确定和/或调整交通工具沿目标轨迹的位置。
232.交通工具在该交通工具沿道路行驶时可生成的重构的轨迹可以通过任何合适的方法获得。在一些实施例中,可以通过使用例如自我运动估计(例如,相机以及由此的交通工具的主体的三维平移和三维旋转)将交通工具的运动段缝合在一起来形成重构的轨迹。旋转和平移估计可以基于对由一个或多个图像捕获设备捕获的图像连同来自其他传感器或设备(诸如惯性传感器和速度传感器)的信息的分析来确定。例如,惯性传感器可以包括加速度计或被配置成用于测量交通工具主体的平移和/或旋转的变化的其他合适的传感器。交通工具可包括测量交通工具的速度的速度传感器。
233.在一些实施例中,可以基于捕获的图像的光流分析来估计相机(以及由此交通工具主体)的自我运动。图像序列的光流分析标识来自图像序列的像素的运动,并基于所标识的运动来确定交通工具的运动。自我运动可以随时间推移并沿道路段被整合,以重构与交通工具已遵循的道路段相关联的轨迹。
234.由不同交通工具在不同时间在沿道路段的多次驾驶中收集的数据(例如,重构的轨迹)可以用于构造稀疏数据地图800中包括的道路模型(例如,包括目标轨迹等)。还可以对由不同交通工具在不同时间沿道路段的多次驾驶中收集的数据求平均,以提高模型的准
确性。在一些实施例中,关于道路几何形状和/或地标的数据可以从在不同时间行驶通过共同的道路段的多个交通工具接收。从不同交通工具接收的此类数据可以被组合以生成道路模型和/或更新道路模型。
235.沿道路段的重构的轨迹(以及目标轨迹)的几何形状可以由三维空间中的曲线表示,该曲线可以是连接三维多项式的样条。重构的轨迹曲线可以根据对由安装在交通工具上的相机捕获的视频流或多个图像的分析来确定。在一些实施例中,在每个帧或图像中标识处于交通工具的当前位置前方几米处的位置。该位置是期望交通工具在预定时间段内行驶到的位置。该操作可以逐帧地重复,并且同时,交通工具可以计算相机的自我运动(旋转和平移)。在每个帧或图像处,由交通工具在附接到相机的参考系中生成针对期望路径的短程模型。短程模型可以被缝合在一起,以获得某个坐标系中的道路的三维模型,该坐标系可以是任意或预定的坐标系。然后,可以通过样条拟合道路的三维模型,该样条可以包括或连接一个或多个合适阶的多项式。
236.为了在每一帧处总结出短程道路模型,可以使用一个或多个检测模块。例如,可以使用自底向上的车道检测模块。当在道路上绘制车道标记时,自底向上的车道检测模块可以是有用的。该模块可以在图像中寻找边缘,并将它们组装在一起以形成车道标记。第二模块可以与自底向上的车道检测模块一起使用。第二模块是端到端深度神经网络,其可以被训练以从输入图像预测正确的短程路径。在这两个模块中,可以在图像坐标系中检测道路模型,并将其变换到可以虚拟地附接到相机的三维空间。
237.尽管重构轨迹建模方法可能会由于长时间段的自我运动的整合而引入误差的积累(该误差可包括噪声分量),但此类误差可能无关紧要,因为生成的模型可以为在局部尺度上的导航提供足够的准确度。此外,通过使用诸如卫星图像或大地测量的外部信息源来消除综合误差是可能的。例如,所公开的系统和方法可以使用gnss接收器来消除累积误差。然而,gnss定位信号可能并不总是可用的和准确的。所公开的系统和方法可以实现弱依赖于gnss定位的可用性和准确度的操纵应用。在此类系统中,gnss信号的使用可能被限制。例如,在一些实施例中,所公开的系统可以仅将gnss信号用于数据库索引目的。
238.在一些实施例中,针对自主交通工具导航操纵应用可能相关的范围尺度(例如,局部尺度)可以是50米、100米、200米、300米等的量级。此类距离可以被使用,因为几何形状的道路模型主要被用于两个目的:规划前方轨迹和在道路模型上定位交通工具。在一些实施例中,当控制算法根据位于前方1.3秒(或任何其他时间,诸如1.5秒、1.7秒、2秒等)的目标点操纵交通工具时,规划任务可以对前方40米(或前方任何其他合适的距离,诸如20米、30米、50米)的典型范围使用模型。根据另一节中更详细地描述的称为“尾部对齐”的方法,定位任务对车辆后方60米(或任何其他合适的距离,诸如50米、100米、150米等)的典型范围使用道路模型。所公开的系统和方法可以生成对特定范围(诸如100米)具有足够的准确度的几何模型,以使得规划的轨迹将不会从车道中心偏离超过例如30cm。
239.如上文所解释,可以通过检测短程区段并将其缝合在一起来构造三维道路模型。可以通过使用由相机捕获的视频和/或图像、来自惯性传感器的、反映交通工具运动的数据以及主交通工具速度信号计算六度自我运动模型来实现缝合。累积误差对某个局部范围尺度(诸如100米的量级)可以足够小。所有这些都可以在对特定道路段的单次驾驶中完成。
240.在一些实施例中,可以使用多次驾驶来对所得的模型求平均,并进一步提高其准
确度。同一汽车可多次行驶同一路线,或者多辆汽车可将其收集的模型数据发送到中央服务器。在任何情况下,可以执行匹配过程以标识重叠的模型并实现平均以生成目标轨迹。一旦满足收敛准则,构造的模型(例如,包括目标轨迹)就可以被使用于操纵。后续驾驶可以被用于进一步的模型改进,以适应基础设施变化。
241.如果多辆汽车被连接到中央服务器,则在多辆汽车之间共享驾驶体验(诸如感测的数据)变得可行。每个交通工具客户可以存储环球道路模型的部分副本,该副本针对其当前位置可以是相关的。交通工具与服务器之间的双向更新过程可以由交通工具和服务器执行。上文所讨论的小占用空间概念使所公开的系统和方法能够使用非常小的带宽来执行双向更新。
242.还可以确定与潜在地标相关的信息,并将其转发给中央服务器。例如,所公开的系统和方法可以基于包括该地标的一个或多个图像来确定潜在地标的一个或多个物理属性。物理属性可以包括地标的物理大小(例如,高度、宽度)、从交通工具到地标的距离、地标到先前地标的距离、地标的横向位置(例如,地标相对于行驶车道的位置)、地标的gps坐标、地标的类型,地标上的文本的标识等。例如,交通工具可分析由相机捕获的一个或多个图像,以检测潜在地标(诸如限速标志)。
243.交通工具可以基于对一个或多个图像的分析来确定从交通工具到地标的距离。在一些实施例中,可以基于使用合适的图像分析方法(诸如缩放方法和/或光流方法)对地标的图像的分析来确定距离。在一些实施例中,所公开的系统和方法可以被配置为用于确定潜在地标的类型或分类。在交通工具确定某个潜在地标对应于存储在稀疏地图中的预定的类型或分类的情况下,交通工具向服务器传输地标的类型或分类的指示以及其位置可以是足够的。服务器可以存储此类指示。稍后,其他交通工具可捕获该地标的图像,处理该图像(例如,使用分类器),并将来自处理该图像的结果与存储在服务器中的关于地标的类型的指示进行比较。可以存在各种类型的地标,并且不同类型的地标可与要上传到服务器并存储在服务器中的不同类型的数据相关联,交通工具机载的不同处理可检测地标,并将关于地标的信息传输至服务器,并且交通工具机载的系统可以从服务器接收地标数据,并使用地标数据在自主导航中标识地标。
244.在一些实施例中,在道路段上行驶的多个自主交通工具可以与服务器通信。交通工具(或客户端)可以在任意坐标系中生成描述其驾驶的曲线(例如,通过自我运动整合)交通工具可以检测地标,并在同一帧中定位这些地标。交通工具可以将曲线和地标上传至服务器。服务器可以从交通工具收集针对多次驾驶的数据,并生成统一的道路模型。例如,如下文关于图19所讨论,服务器可以使用上传的曲线和地标来生成具有统一道路模型的稀疏地图。
245.服务器还可以将模型分发给客户端(例如,交通工具)。例如,服务器可将稀疏地图分发给一个或多个交通工具。当从交通工具接收新数据时,服务器可连续地或周期性地更新模型。例如,服务器可处理新数据,以评估数据是否包括应当触发更新或服务器上新数据的创建的信息。服务器可以将经更新的模型或更新分发给交通工具,以提供自主交通工具导航。
246.服务器可以使用一个或多个准则来确定从交通工具接收的新数据是否应当触发对模型的更新或触发新数据的创建。例如,当新数据指示特定位置处的先前识别的地标不
再存在或被另一地标替换时,服务器可以确定新数据应当触发对模型的更新。作为另一个示例,当新数据指示道路段已被关闭,并且当这一点已通过从其他交通工具接收到的数据证实时,服务器可以确定新数据应当触发对模型的更新。
247.服务器可以将经更新的模型(或模型的经更新的部分)分发给正在道路段上行驶的、对模型的更新与之相关联的一个或多个交通工具。服务器还可以将经更新的模型分发给即将在道路段上行驶的交通工具、或其规划的行程包括对模型的更新与之相关联的道路段的交通工具。例如,当自主交通工具在到达更新与之相关联的道路段之前正沿着另一道路段行驶时,服务器可以在交通工具到达该道路段之前将更新或经更新的模型分发给自主交通工具。
248.在一些实施例中,远程服务器可以从多个客户端(例如,沿共同的道路段行驶的交通工具)收集轨迹和地标。服务器可以使用地标来匹配曲线,并基于从多个交通工具收集的轨迹创建平均道路模型。服务器还可以计算道路图以及道路段的每个节点或连接处的最可能路径。例如,远程服务器可以对齐轨迹,以从收集的轨迹生成众包的稀疏地图。
249.服务器可以对从沿共同的道路段行驶的多个交通工具接收到的地标属性(诸如由多个交通工具测量的一个地标到另一个地标(例如,沿道路段的先前地标)之间的距离)求平均,以确定弧长参数,并支持针对每个客户交通工具的沿路径的定位和速度校准。服务器可以对由沿共同的道路段行驶并识别同一地标的多个交通工具测量的地标的物理大小求平均。平均物理大小可以被用于支持距离估计,诸如从交通工具到地标的距离。服务器可以对由沿共同的道路段行驶并识别同一地标的多个交通工具测量的地标的横向位置(例如,从交通工具正要驶入的车道到地标的位置)求平均。平均横向位置可以用于支持车道分配。服务器可以对由沿同一道路段行驶并识别同一路标的多个交通工具测量的地标的gps坐标求平均。地标的平均gps坐标可以被用于支持道路模型中地标的全球位置确定或定位。
250.在一些实施例中,服务器可以基于从交通工具接收的数据来标识模型变化,这些变换诸如施工、绕道、新标志、标志移除等。在从交通工具接收到新数据后,服务器可以连续地或周期性地或即时地更新模型。服务器可以将对模型的更新或经更新的模型分发给交通工具,以提供自主导航。例如,如下文进一步所讨论,服务器可以使用众包数据以过滤掉由交通工具检测到的“幽灵”地标。
251.在一些实施例中,服务器可以在自主驾驶期间分析驾驶员干预。服务器可以分析在干预发生的时间和地点从交通工具接收的数据、和/或在干预发生的时间之前接收的数据。服务器可以标识导致干预或与干预密切相关的数据的某些部分,例如,指示临时车道封闭设置的数据、指示道路中的行人的数据。服务器可以基于所标识的数据来更新模型。例如,服务器可以修改模型中存储的一条或多条轨迹。
252.图12是使用众包生成稀疏地图(以及使用众包的稀疏地图进行分发和导航)的系统的示意图。图12示出了包括一个或多个车道的道路段1200。多个交通工具1205、1210、1215、1220和1225可以在相同时间或在不同时间在道路段1200上行驶(尽管在图12中示出为在相同时间出现在道路段1200上)。交通工具1205、1210、1215、1220和1225中的至少一个可以是自主交通工具。为了本示例的简单性,假设所有交通工具1205、1210、1215、1220和1225都是自主交通工具。
253.每个交通工具可以类似于其他实施例中公开的交通工具(例如,交通工具200),并
可以包括在其他实施例中公开的交通工具中包括或与之相关联的组件或设备。每个交通工具可以配备有图像捕获设备或相机(例如,图像捕获设备122或相机122)。如虚线所指示,每个交通工具可以通过无线通信路径1235、经由一个或多个网络(例如,通过蜂窝网络和/或因特网等)与远程服务器1230通信。每个交通工具可以向服务器1230传送数据并从服务器1230接收数据。例如,服务器1230可以在不同的时间从在道路段1200上行驶的多个交通工具收集数据,并且可以处理收集的数据以生成自主交通工具道路导航模型、或者对模型的更新。服务器1230可以将自主交通工具道路导航模型或对模型的更新传送到向服务器1230传送数据的交通工具。服务器1230可以在稍后将自主交通工具道路导航模型或对模型的更新传送到在道路段1200上行驶的其他交通工具。
254.当交通工具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中的每一个机载的处理器)来确定轨迹,该所感测的相机的自我运动可以指示三维平移和/或三维旋转(或旋转运动)。可以通过分析由相机捕获的一个或多个图像来确定相机(以及由此,交通工具主体)的自我运动。
255.在一些实施例中,交通工具1205的轨迹可以由交通工具1205上提供的处理器确定,并被传送至服务器1230。在其他实施例中,服务器1230可以接收由交通工具1205中提供的各种传感器和设备感测的数据,并基于从交通工具1205接收的数据确定轨迹。
256.在一些实施例中,从交通工具1205、1210、1215、1220和1225传送到服务器1230的导航信息可以包括关于道路表面、道路几何形状或道路概况的数据。道路段1200的几何形状可以包括车道结构和/或地标。车道结构可以包括道路段1200的车道的总数量、车道的类型(例如,单向车道、双向车道、驾驶车道、超车车道等)、车道上的标记、车道的宽度等。在一些实施例中,导航信息可以包括车道分配,例如,交通工具正在驶入多个车道中的哪个车道。例如,车道分配可以与数值“3”相关联,该数值“3”指示交通工具在从左侧或右侧起的第三个车道上行驶。作为另一示例,车道分配可以与指示交通工具正在中心车道上行驶的文本值“中心车道”相关联。
257.服务器1230可以将导航信息存储在诸如硬盘驱动器、紧凑盘、磁带、存储器等之类的非瞬态计算机可读介质上。服务器1230可以(例如,通过服务器1230中包括的处理器)基于从多个交通工具1205、1210、1215、1220和1225接收的导航信息来生成针对共同的道路段1200的自主交通工具道路导航模型的至少一部分,并且可以将该模型存储为稀疏地图的一部分。服务器1230可以基于从在不同时间在道路段的车道上行驶的多个交通工具(例如,1205、1210、1215、1220和1225)接收的众包数据(例如,导航信息)来确定与每个车道相关联的轨迹。服务器1230可以基于多条轨迹生成自主交通工具道路导航模型或模型的一部分
(例如,经更新的部分),该多条轨迹基于众包导航数据而被确定。服务器1230可以将模型或模型的经更新的部分传送到在道路段1200上行驶的自主交通工具1205、1210、1215、1220和1225中的一个或多个,或传送到稍后在道路段上行驶的任何其他自主交通工具,以用于更新在交通工具的导航系统中提供的现有自主交通工具道路导航模型。自主交通工具道路导航模型可以由自主交通工具在沿共同的道路段1200自主导航时使用。
258.如上文所解释,自主交通工具道路导航模型可以被包括在稀疏地图(例如,图8中描绘的稀疏地图800)中。稀疏地图800可以包括与道路几何形状和/或沿道路线的地标相关的数据的稀疏记录,其可以提供用于引导自主交通工具的自主导航的足够信息,但不需要过多的数据存储。在一些实施例中,自主交通工具道路导航模型可以与稀疏地图800分开存储,并且可以在为导航执行模型时使用来自稀疏地图800的地图数据。在一些实施例中,自主交通工具道路导航模型可以使用稀疏地图800中包括的地图数据来确定沿道路段1200的目标轨迹,以引导自主交通工具1205、1210、1215、1220和1225或之后沿道路段1200行驶的其他交通工具的自主导航。例如,当自主交通工具道路导航模型由被包括在交通工具1205的导航系统中的处理器执行时,该模型可以使处理器将基于从交通工具1205接收的导航信息而确定的轨迹与稀疏地图800中包括的预定轨迹进行比较,以验证和/或校正交通工具1205的当前行驶路线。
259.在自主交通工具道路导航模型中,道路特征或目标轨迹的几何形状可以通过三维空间中的曲线进行编码。在一个实施例中,曲线可以是包括一个或多个连接的三维多项式的三维样条。如本领域技术人员所理解,样条可以是由用于拟合数据的一系列多项式分段定义的数值函数。用于拟合道路的三维几何形状数据的样条可以包括线性样条(一阶)、二次样条(二阶)、三次样条(三阶)或任何其他样条(其他阶)、或其组合。样条可以包括连接(例如,拟合)道路的三维几何形状数据的数据点的一个或多个不同阶数的三维多项式。在一些实施例中,自主交通工具道路导航模型可以包括与沿共同的道路段(例如,道路段1200)或道路段1200的车道的目标轨迹相对应的三维样条。
260.如上文所解释,稀疏地图中包括的自主交通工具道路导航模型可以包括其他信息,诸如对沿道路段1200至少一个地标的标识。地标在安装在交通工具1205、1210、1215、1220和1225中的每个交通工具上的相机(例如,相机122)的视场内可以是可见的。在一些实施例中,相机122可以捕获地标的图像。交通工具1205上提供的处理器(例如,处理器180、190或处理单元110)可以处理地标的图像以提取地标的标识信息。地标标识信息而不是地标的实际图像可以被存储在稀疏地图800中。地标标识信息可能需要比实际图像少得多的存储空间。其他传感器或系统(例如,gps系统)也可以提供地标的某些标识信息(例如,地标的位置)。地标可以包括以下至少一个:交通标志、箭头标记、车道标记、虚线车道标记、交通灯、停车线、方向标志(例如,带有指示方向的箭头的公路出口标志、带有指向不同方向或位置的箭头的公路标志)、地标信标或灯杆。地标信标是指沿道路段安装的设备(例如,rfid设备),该设备向安装在交通工具上的接收器发送或反射信号,使得当交通工具经过该设备时,由交通工具接收的信标和该设备的位置(例如,从该设备的gps位置确定)可以被用作要被包括在自主交通工具道路导航模型和/或稀疏地图800中的地标。
261.至少一个地标的标识可以包括至少一个地标的位置。可以基于使用与多个交通工具1205、1210、1215、1220和1225相关联的传感器系统(例如,全球定位系统、基于惯性的定
位系统、地标信标等)执行的位置测量来确定地标的位置。在一些实施例中,地标的位置可以通过对由通过多次驾驶的不同交通工具1205、1210、1215、1220和1225上的传感器系统检测、收集或接收的位置测量求平均来确定。例如,交通工具1205、1210、1215、1220和1225可以向服务器1230传送位置测量数据,服务器1230可以对位置测量求平均,并使用经平均的位置测量作为地标的位置。地标的位置可以通过从后续驾驶中的交通工具接收到的测量值来不断细化。
262.地标的标识可以包括地标的大小。交通工具(例如,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是交通工具速度,ω是图像长度(与对象宽度类似),并且δω是该图像长度在单位时间内的改变。
263.当已知地标的物理大小时,到地标的距离也可以基于以下等式确定:z=f*w/ω,其中f是焦距,w是地标的大小(例如,高度或宽度),ω是当地标离开图像时的像素的数量。从以上等式,距离z的变化可以使用δz=f*w*δω/ω2+f*δw/ω来计算,其中δw通过求平均而衰减至零,并且其中δω是表示图像中的边界框精度的像素数。可以通过对服务器侧的多个观察值求平均来计算估计地标物理大小的值。距离估计的结果误差可以非常小。使用上文公式时,可能会出现两个误差源,即δw和δω。它们对距离误差的贡献由δz=f*w*δω/ω2+f*δw/ω给出。然而,δw通过求平均而衰减到零,因此δz由δω确定(例如,图像中边界框的不精确性)。
264.对于未知尺寸的地标,可以通过在连续帧之间跟踪地标上的特征点来估计到地标的距离。例如,可以在两个或更多个图像帧之间跟踪出现在限速标志上的某些特征。基于这些被跟踪的特征,可以生成逐特征点的距离分布。可以从距离分布中提取距离估计。例如,距离分布中出现得最频繁的距离可以被用作为距离估计。作为另一示例,可以使用距离分布的平均作为距离估计。
265.图13示出了由多个三维样条1301、1302和1303表示的示例自主交通工具道路导航模型。图13中所示的曲线1301、1302和1303仅用于说明目的。每个样条可以包括连接多个数据点1310的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或具有不同阶数的任何合适的多项式的组合。每个数据点1310可以与从交通工具1205、1210、1215、1220和1225接收的导航信息相关联。在一些实施例中,每个数据点1310可以与同地标(例如,地标的大小、位置和标识信息)和/或道路特色概况(例如,道路几何形状、道路粗糙度概况、道路曲率概况、道路宽度概况)相关的数据相关联。在一些实施例中,一些数据点1310可以与同地标相关的数据相关联,而其他数据点可以与同道路特色概况相关的数
据相关联。
266.图14图示出从五次分开的驾驶接收的原始位置数据1410(例如,gps数据)。如果一次驾驶由分开的交通工具在同一的时间经历、由同一的交通工具在分开的时间经历、或者由分开的交通工具在分开的时间经历,则这次驾驶可以与另一次驾驶分开。为了计及位置数据1410中的误差以及交通工具在同一车道内的不同位置(例如,一个交通工具可能驾驶得比另一个交通工具更靠近车道的左侧),服务器1230可以使用一个或多个统计技术来生成地图骨架1420,以确定原始位置数据1410中的变化是实际分散还是统计误差。骨架1420内的每个路径可以往回链接到形成该路径的原始数据1410。例如,骨架1420内a与b之间的路径被链接到来自驾驶2、3、4和5而不是来自驾驶1的原始数据1410。骨架1420可能并未详细至足以用于导航交通工具(例如,因为与上文描述的样条不同,骨架1420结合了来自同一道路上的多个车道的驾驶),但可以提供有用的拓扑信息,并可以用于定义交叉口。
267.图15图示出通过其可以为地图骨架的段(例如,骨架1420内的段a到b)内的稀疏地图生成附加细节的示例。如图15所描绘,数据(例如,自我运动数据、道路标记数据等)可以被示出为沿驾驶的位置s(或s1或s2)的函数。服务器1230可以通过标识驾驶1510的地标1501、1503和1505与驾驶1520的地标1507和1509之间的唯一匹配来标识稀疏地图的地标。此类匹配算法可以导致对地标1511、1513和1515的标识。然而,本领域技术人员将认识到,可以使用其他匹配算法。例如,概率优化可以代替唯一匹配或与唯一匹配结合使用。服务器1230可以纵向地对齐驾驶以对齐匹配的地标。例如,服务器1230可以选择一次驾驶(例如,驾驶1520)作为参考驾驶,然后偏移和/或弹性拉伸另外(一次或多次)驾驶(例如,驾驶1510)以进行对齐。
268.图16示出了用于在稀疏地图中使用的对齐的地标数据的示例。在图16的示例中,地标1610包括道路标志。图16的示例进一步描绘了来自多次驾驶1601、1603、1605、1607、1609、1611和1613的数据。在图16的示例中,来自驾驶1613的数据由“幽灵”地标组成,并且服务器1230可以按此来标识它,因为驾驶1601、1603、1605、1607、1609和1611中没有一个包括在驾驶1613中的所标识的地标附近的地标的标识。相对应地,服务器1230可以在地标确实在其中出现的图像相比地标不在其中出现的图像的比率超过阈值时接受潜在地标,和/或可以在地标不在其中出现的图像相比地标确实在其中出现的图像的比率超过阈值时拒绝潜在地标。
269.图17描绘了用于生成驾驶数据的系统1700,该驾驶数据可以用于众包稀疏地图。如图17所描绘,系统1700可以包括相机1701和定位设备1703(例如,gps定位器)。相机1701和定位设备1703可以安装在交通工具(例如,交通工具1205、1210、1215、1220和1225中的一个)上。相机1701可以产生多种类型的多个数据,例如,自我运动数据、交通标志数据、道路数据,等等。相机数据和位置数据可以被分段成驾驶段1705。例如,驾驶段1705可以各自具有来自少于1km的驾驶的相机数据和位置数据。
270.在一些实施例中,系统1700可以移除驾驶段1705中的冗余。例如,如果地标出现在来自相机1701的多个图像中,则系统1700可以去除冗余的数据,使得驾驶段1705仅包含地标的位置以及与地标相关的任何元数据的一个副本。作为进一步的示例,如果车道标记出现在来自相机1701的多个图像中,则系统1700可以去除冗余的数据,使得驾驶段1705仅包含车道标记的位置以及与车道标记相关的任何元数据的一个副本。
271.系统1700还包括服务器(例如,服务器1230)。服务器1230可以从交通工具接收驾驶段1705,并将驾驶段1705重新组合到单次驾驶1707中。此类布置可以允许降低当在交通工具与服务器之间传输数据时的带宽要求,同时还允许服务器存储与整个驾驶相关的数据。
272.图18描绘进一步被配置成用于众包稀疏地图的图17的系统1700。如图17中所示,系统1700包括交通工具1810,该交通工具1810使用例如相机(其产生例如,自我运动数据、交通标志数据、道路数据等)和定位设备(例如,gps定位器)来捕获驾驶数据。如在图17中那样,交通工具1810将收集的数据分段为驾驶段(在图18中被描绘为“ds1 1”、“ds2 1”、“dsn 1”)。然后,服务器1230接收驾驶段并从接收到的段重构驾驶(在图18中被描绘为“驾驶1”)。
273.如图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”)。
274.如图18所描绘的,服务器1230可以使用从多个交通工具(例如,“汽车1”(也被标记为交通工具1810)、“汽车2”(也标记为交通工具1820)和“汽车n”)收集的重构的驾驶(例如,“驾驶1”、“驾驶2”和“驾驶n”)来构造稀疏地图(被描绘为“地图”)。
275.图19是示出用于生成用于沿道路段的自主交通工具导航的稀疏地图的示例过程1900的流程图。过程1900可以由服务器1230中包括的一个或多个处理设备执行。
276.过程1900可以包括:接收当一个或多个交通工具穿过道路段时采集的多个图像(步骤1905)。服务器1230可以从交通工具1205、1210、1215、1220和1225中的一个或多个交通工具内所包括的相机接收图像。例如,当交通工具1205沿道路段1200行驶时,相机122可以捕获交通工具1205周围的环境的一个或多个图像。在一些实施例中,服务器1230还可以接收已由交通工具1205上的处理器移除冗余的精简的图像数据,如上文关于图17所讨论。
277.过程1900可以进一步包括:基于多个图像标识沿道路段延伸的道路表面特征的至少一个线表示(步骤1910)。每个线表示可以表示沿与道路表面特征基本相对应的道路段的路径。例如,服务器1230可以分析从相机122接收的环境图像以标识道路边缘或车道标记,并确定沿与该道路边缘或车道标记相关联的道路段1200的行驶的轨迹。在一些实施例中,轨迹(或线表示)可以包括样条、多项式表示或曲线。服务器1230可以基于在步骤1905处接收到的相机自我运动(例如,三维平移和/或三维旋转运动)来确定交通工具1205的行驶的轨迹。
278.过程1900也可以包括:基于多个图像标识与道路段相关联的多个地标(步骤1910)。例如,服务器1230可以分析从相机122接收的环境图像以标识一个或多个地标,诸如沿道路段1200的道路标志。服务器1230可以使用对在一个或多个交通工具穿过道路段时采集的多个图像的分析来标识地标。为了实现众包,分析可能包括关于接受和拒绝与道路段相关联的可能地标的规则。例如,分析可以包括:当地标确实在其中出现的图像相比地标不
在其中出现的图像的比率超过阈值时,接受潜在地标;和/或当地标不在其中出现的图像相比地标确实在其中出现的图像的比率超过阈值时,拒绝潜在地标。
279.过程1900可以包括由服务器1230执行的其他操作或步骤。例如,导航信息可以包括用于交通工具沿道路段行驶的目标轨迹,并且过程1900可以包括:由服务器1230对与在道路段上行驶的多个交通工具相关的交通工具轨迹进行聚类;以及基于经聚类的交通工具轨迹确定目标轨迹,如下文进一步详细地所讨论。对交通工具轨迹聚类可以包括:由服务器1230基于交通工具的绝对航向或交通工具的车道分配中的至少一者将与在道路段上行驶的交通工具相关的多条轨迹聚类为多个集群。生成目标轨迹可以包括:由服务器1230对经聚类的轨迹求平均。作为进一步的示例,过程1900可以包括:使在步骤1905中接收的数据对齐。服务器1230执行的其他过程或步骤也可以被包括在过程1900中。
280.所公开的系统和方法可以包括其他特征。例如,所公开的系统可以使用局部坐标,而不是全球坐标。对于自主驾驶,一些系统可以以世界坐标呈现数据。例如,可以使用地球表面上的经纬度坐标。为了使用地图进行操纵,主交通工具可以确定其相对于地图的位置和取向。为了在地图上定位交通工具并且为了找到主体参考系和世界参考系(例如,北、东和下)之间的旋转变换,使用机载gps设备似乎是自然的。一旦主体参考系与地图参考系对齐,就可以在主体参考系中表达所需路线,并可以计算或生成操纵命令。
281.所公开的系统和方法可以实现具有占用空间很低的模型的自主交通工具导航(例如,操纵控制),该模型可以由自主交通工具自身收集而无需昂贵的调查装备的辅助。为了支持自主导航(例如,操纵应用),道路模型可以包括具有道路的几何形状、其车道结构和地标的稀疏地图,该稀疏地图可以用于确定交通工具沿模型中包括的轨迹的位置或者定位。如上文所讨论,稀疏地图的生成可以由远程服务器执行,该远程服务器与在道路上行驶的交通工具通信,并从交通工具接收数据。该数据可以包括感测的数据、基于感测的数据重构的轨迹和/或可以表示经修改的重构的轨迹的推荐轨迹。如下文所讨论,服务器可以将模型往回传送到交通工具或者之后在道路上行驶的其他交通工具,以辅助自主导航。
282.图20图示出服务器1230的框图。服务器1230可以包括通信单元2005,其可以包括硬件组件(例如,通信控制电路、开关和天线)和软件组件(例如,通信协议、计算机代码)两者。例如,通信单元2005可以包括至少一个网络接口。服务器1230可以通过通信单元2005与交通工具1205、1210、1215、1220和1225通信。例如,服务器1230可以通过通信单元2005接收从交通工具1205、1210、1215、1220和1225传送的导航信息。服务器1230可以通过通信单元2005将自主交通工具道路导航模型分发给一个或多个自主交通工具。
283.服务器1230可以包括至少一个非瞬态存储介质2010,诸如硬盘驱动器、紧凑盘、磁带等。存储设备1410可以被配置成用于存储数据,该数据诸如从交通工具1205、1210、1215、1220和1225接收的导航信息、和/或服务器1230基于导航信息生成的自主交通工具道路导航模型。存储设备2010可以被配置为用于存储任何其他信息,诸如稀疏地图(例如,上文关于图8讨论的稀疏地图800)。
284.作为存储设备2010的附加或替代,服务器1230可以包括存储器2015。存储器2015可以与存储器140或150类似或不同。存储器2015可以是非瞬态存储器,诸如闪存存储器、随机存取存储器等。存储器2015可以被配置成用于存储数据,该数据诸如可以由处理器(例如,处理器2020)执行的计算机代码或指令、地图数据(例如,稀疏地图800的数据)、自主交
通工具道路导航模型,和/或从交通工具1205、1210、1215、1220和1225接收的导航信息。
285.服务器1230可以包括至少一个处理设备2020,其被配置成用于执行存储在存储器2015中的计算机代码或指令以执行各种功能。例如,处理设备2020可以分析从交通工具1205、1210、1215、1220和1225接收的导航信息,并基于该分析生成自主交通工具道路导航模型。处理设备2020可以控制通信单元1405将自主交通工具道路导航模型分发给一个或多个自主交通工具(例如,交通工具1205、1210、1215、1220和1225中的一个或多个或稍后在道路段1200上行驶的任何交通工具)。处理设备2020可以与处理器180、190或处理单元110类似或不同。
286.图21图示出存储器2015的框图,存储器2015可以存储用于执行一个或多个操作以生成用于在自主交通工具导航中使用的道路导航模型的计算机代码或指令。如图21所示,存储器2015可以存储用于执行用于处理交通工具导航信息的操作的一个或多个模块。例如,存储器2015可以包括模型生成模块2105和模型分发模块2110。处理器2020可以执行存储在存储器2015中包括的模块2105和2110中的任何模块中的指令。
287.模型生成模块2105可以存储这样的指令:这些指令当处理器2020执行时可以基于从交通工具1205、1210、1215、1220和1225接收到的导航信息来生成针对共同的道路段(例如,道路段1200)的自主交通工具道路导航模型的至少一部分。例如,在生成自主交通工具道路导航模型时,处理器2020可以将沿共同的道路段1200的交通工具轨迹聚类成不同的集群。处理器2020可以基于针对不同集群中的每一个集群的聚类的交通工具轨迹来确定沿共同的道路段1200的目标轨迹。此类操作可以包括:在每个集群中找到聚类的交通工具轨迹的均值或平均轨迹(例如,通过对表示聚类交通工具轨迹的数据求平均)。在一些实施例中,目标轨迹可以与共同的道路段1200的单个车道相关联。
288.道路模型和/或稀疏地图可以存储与道路段相关联的轨迹。这些轨迹可以被称为目标轨迹,这些目标轨迹被提供给自主交通工具以用于自主导航。目标轨迹可以从多个交通工具接收,或者可以基于从多个交通工具接收的实际轨迹或推荐轨迹(具有一些修改的实际轨迹)来生成。道路模型或稀疏地图中包括的目标轨迹可以利用从其他交通工具接收的新轨迹持续地被更新(例如,求平均)。
289.在道路段上行驶的交通工具可以通过各种传感器收集数据。数据可以包括地标、道路特色概况、交通工具运动(例如,加速度计数据、速度数据)、交通工具位置(例如,gps数据),并且可以自己重构实际轨迹,或者将数据传送到服务器,该服务器将重构交通工具的实际轨迹。在一些实施例中,交通工具可以将与轨迹(例如,任意参考系中的曲线)相关的数据、地标数据和沿行驶路径的车道分配传送到服务器1230。以多次驾驶沿同一道路段行驶的各种交通工具可具有不同的轨迹。服务器1230可以通过聚类过程从接收自交通工具的轨迹中标识与每个车道相关联的路线或轨迹。
290.图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所示。
291.可以使用各种准则执行聚类。在一些实施例中,集群中的所有驾驶在沿道路段1200的绝对航向方面可以是类似的。绝对航向可以从由交通工具1205、1210、1215、1220和1225接收的gps信号中获得。在一些实施例中,可以使用航位推算获得绝对航向。本领域技术人员将理解,航位推算可以被用于通过使用先前确定的位置、估计的速度等来确定交通工具1205、1210、1215、1220和1225的当前位置并由此确定这些交通工具的航向。通过绝对航向聚类的轨迹可以用于标识沿道路的路线。
292.在一些实施例中,集群中的所有驾驶在沿道路段1200上的驾驶的车道分配方面可以是类似的(例如,在交叉路路口之前和之后的同一车道中)。通过车道分配聚类的轨迹对于标识沿道路的车道可以是有用的。在一些实施例中,这两个准则(例如,绝对航向和车道分配)可以被用于聚类。
293.在每个集群2205、2210、2215、2220、2225和2230中,可以对轨迹求平均,以获得与特定集群相关联的目标轨迹。例如,可对来自与同一车道集群相关联的多个驾驶的轨迹求平均。平均轨迹可以是与特定车道相关联的目标轨迹。为了对轨迹的集群求平均,服务器1230可以选择任意轨迹c0的参考系。对于所有其他轨迹(c1、
……
、cn),服务器1230可以找到将ci映射到c0的刚性变换,其中i=1、2、
……
、n,其中n是正整数、对应于集群中包括的轨迹的总数量。服务器1230可以计算c0参考系中的均值曲线或轨迹。
294.在一些实施例中,地标可以定义不同驾驶之间的弧长匹配,其可以用于轨迹与车道的对齐。在一些实施例中,交叉路口之前和之后的车道标记可以被用于轨迹与车道的对齐。
295.为了从轨迹组装车道,服务器1230可以选择任意车道的参考系。服务器1230可以将部分地重叠的车道绘制到所选的参考系。服务器1230可以继续进行绘制,直到所有车道都在同一参考系中。彼此相邻的车道可以对齐,就像它们是同一车道一样,然后可以横向偏移这些车道。
296.沿道路段识别的地标可以首先在车道级、随后在交叉路口级被绘制到共同的参考系。例如,相同的地标可以由多个交通工具在多次驾驶中识别多次。在不同驾驶中接收到的关于相同地标的数据可能略有不同。此类数据可以被平均并被绘制到相同的参考系,诸如c0参考系。附加地或者替代地,可以计算在多次驾驶中接收的相同地标的数据的变化。
297.在一些实施例中,道路段120的每个车道可以与目标轨迹和某些地标相关联。目标轨迹或多个此类目标轨迹可以被包括在自主交通工具道路导航模型中,该自主交通工具道路导航模型稍后可以由沿相同道路段1200行驶的其他自主交通工具使用。当交通工具1205、1210、1215、1220和1225沿道路段1200行驶时由这些交通工具标识的地标可以与目标轨迹相关联地记录。目标轨迹和地标的数据可以利用在后续驾驶中从其他交通工具接收的新数据来持续地或周期性地更新。
298.对于自主交通工具的定位,所公开的系统和方法可以使用扩展卡尔曼滤波器。交通工具的位置可以基于三维位置数据和/或三维取向数据、通过整合自我运动对在交通工具的当前位置前方的未来位置的预测来确定。交通工具的定位可以通过地标的图像观察来校正或调整。例如,当交通工具检测到由相机捕获的图像内的地标时,该地标可以与存储在
道路模型或稀疏地图800内的已知地标进行比较。已知地标可以具有沿存储在道路模型和/或稀疏地图800中的目标轨迹的已知位置(例如,gps数据)。基于当前速度和地标的图像,可以估计从交通工具到地标的距离。可以基于到地标的距离和地标的已知位置(存储在道路模型或稀疏地图800中)来调整交通工具沿目标轨迹的位置。存储在道路模型和/或稀疏地图800中的地标的位置/定位数据(例如,来自多个驾驶的均值)可以被假定为准确的。
299.在一些实施例中,所公开的系统可以形成闭环子系统,其中交通工具六自由度位置(例如,三维位置数据加三维取向数据)的估计可以用于导航自主交通工具(例如,操纵自主交通工具的车轮)以到达所需点(例如,比所存储的提前1.3秒)。进而,从操纵和实际导航测得的数据可以用于估计六自由度位置。
300.在一些实施例中,沿着道路的标杆(诸如灯杆和电线杆或电缆杆)可以被用作定位交通工具的地标。其他地标(诸如交通标志、交通灯、道路上的箭头、停车线、以及沿着道路段的对象的静态特征或特色)也可以被用作定位交通工具的地标。当使用标杆进行定位时,可以使用标杆的x观察(即,从交通工具的视角),而不是y观察(即,到标杆的距离),因为标杆底部可能被遮挡,并且有时它们不在道路平面上。
301.图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仍可以用于提供导航引导。
302.导航系统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可以使用此类图像检测道路曲率。
303.至少一个处理器2315可以被编程为用于从相机122接收与交通工具1205相关联的至少一个环境图像。至少一个处理器2315可以分析至少一个环境图像以确定与交通工具1205相关的导航信息。导航信息可以包括与交通工具1205沿道路段1200的行驶相关的轨迹。至少一个处理器2315可以基于相机122(以及因此交通工具)的运动(诸如,三维平移和三维旋转运动)来确定轨迹。在一些实施例中,至少一个处理器2315可以基于对由相机122采集的多个图像的分析来确定相机122的平移和旋转运动。在一些实施例中,导航信息可以包括车道分配信息(例如,车道交通工具1205正在哪个车道中沿道路段1200行驶)。服务器1230使用从交通工具1205传送到服务器1230的导航信息来生成和/或更新自主交通工具道路导航模型,该自主交通工具道路导航模型可以从服务器1230传送回到交通工具1205,以便为交通工具1205提供自主导航引导。
304.至少一个处理器2315也可以被编程为用于将导航信息从交通工具1205传送至服务器1230。在一些实施例中,导航信息可以连同道路信息一起被传送到服务器1230。道路位置信息可以包括以下各项中的至少一项:由gps单元2310接收的gps信号;地标信息;道路几何形状;车道信息等。至少一个处理器2315可以从服务器1230接收自主交通工具道路导航模型或该模型的部分。从服务器1230接收的自主交通工具道路导航模型可以包括基于从交通工具1205传送到服务器1230的导航信息的至少一个更新。从服务器1230传送到交通工具1205的模型的部分可以包括模型的经更新部分。至少一个处理器2315可以基于接收到的自主交通工具道路导航模型或模型的经更新的部分来引起由交通工具1205进行的至少一个导航操控(例如,诸如转弯之类的转向、制动、加速、超过另一交通工具等)。
305.至少一个处理器2315可以被配置为用于与交通工具1205中包括的各种传感器和组件进行通信,这些传感器和组件包括通信单元1705、gps单元2315、相机122、速度传感器2320、加速度计2325和道路概况传感器2330。至少一个处理器2315可以从各种传感器和组件收集信息或数据,并通过通信单元2305将信息或数据传送到服务器1230。替代地或者附加地,交通工具1205的各种传感器或组件还可以与服务器1230通信,并将由传感器或组件收集的数据或信息传送到服务器1230。
306.在一些实施例中,交通工具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可以将自主交通工具道路导航模型或对模型的更新传送给其他交通工具以用于提供自主导航引导。
307.绘制车道标记以及基于绘制的车道标记的导航
308.如先前所讨论,自主交通工具道路导航模型和/或稀疏地图800可以包括与道路段
相关联的多个绘制的车道标记。如下文更详细地所讨论,这些绘制的车道标记可在自主交通工具导航时被使用。例如,在一些实施例中,绘制的车道标记可以用于确定相对于规划的轨迹的横向位置和/或取向。利用该位置信息,自主交通工具可以能够调整航向以匹配所确定的位置处的目标轨迹的方向。
309.交通工具200可以被配置成用于检测给定道路段中的车道标记。道路段可以包括道路上的、用于引导道路上的交通工具交通的任何标记。例如,车道标记可以是区分行驶车道的边缘的连续线或虚线。车道标记还可以包括双线,诸如双连续线、双虚线、或连续线和虚线的组合,其例如指示相邻车道中是否准许超车。车道标记还可以包括高速公路入口和出口标记,其例如指示用于出口匝道的减速车道,或者包括点状线,该点状线指示车道是转弯专用的或车道结束。标记可以进一步指示工作区、临时车道偏移、通过交叉路口的行驶路径、中央分隔带、专用车道(例如,自行车道、hov车道等)或其他杂项标记(例如,人行横道、减速带、铁路道口、停车线等)。
310.交通工具200可以使用相机来捕获周围车道标记的图像,该相机诸如被包括在图像采集单元120中的图像捕获设备122和124。交通工具200可以基于在捕获的图像中的一个或多个捕获的图像内标识的特征来分析图像以检测与车道标记相关联的点位置。这些点位置可以被上传到服务器以在稀疏地图800中表示车道标记。取决于相机的位置和视场,可以从单个图像同时针对交通工具的两侧检测车道标记。在其他实施例中,可以使用不同的相机在交通工具的多侧捕获图像。与上传车道标记的实际图像不同,标记可以作为样条或一系列点存储在稀疏地图800中,从而减小稀疏地图800和/或必须由交通工具远程上传的数据的大小。
311.图24a-图24d图示出可以由交通工具200检测以表示特定车道标记的示例性点位置。与上文所描述的地标类似,交通工具200可以使用各种图像识别算法或软件来标识捕获的图像内的点位置。例如,交通工具200可以识别与特定车道标记相关联的一系列边缘点、角点或各种其他点位置。图24a示出了可以由交通工具200检测的连续车道标记2410。车道标记2410可以表示道路的外边缘,由连续的白线表示。如图24a所示,交通工具200可以被配置成用于检测沿车道标记的多个边缘位置点2411。位置点2411可被收集以便以足以在稀疏地图中创建绘制的车道标记的任何间隔来表示车道标记。例如,车道标记可以通过检测到的边缘的每米一个点、检测到的边缘的每五米一个点、或以其他合适的间距来表示。在一些实施例中,间距可以由其他因素而不是以设定的间隔确定,诸如例如,基于其中交通工具200具有检测到的点的位置的最高置信度等级所在的点。尽管图24a示出了车道标记2410的内边缘上的边缘位置点,但可以在线的外边缘或沿这两个边缘收集点。进一步地,虽然在图24a中示出单条线,但是可以针对双连续线检测类似的边缘点。例如,可以沿连续线中的一条或两条的边缘检测点2411。
312.取决于车道标记的类型或形状,交通工具200也可以以不同方式表示车道标记。图24b示出了可以由交通工具200检测的示例性虚线车道标记2420。与如在图24a中那样标识边缘点不同,交通工具可以检测表示车道虚线的角的一系列角点2421,以定义虚线的完整边界。虽然图24b示出了给定虚线标记的每个角都被定位,但交通工具200可以检测或上传图中所示点的子集。例如,交通工具200可以检测给定虚线标记的前边缘或前缘角,或可以检测最接近车道内部的两个角点。进一步地,并非每个虚线标记都可以被捕获,例如,交通
工具200可以捕获和/或记录表示虚线标记的样本的点(例如,每隔一个、每三个、每五个等),或者以预定义间距(例如,每米、每五米、每十米等)捕获和/或记录虚线标记。还可以针对类似的车道标记检测角点,诸如示出车道用于出口匝道、特定车道正在结束的标记、或可能具有可检测角点的其他各种车道标记。也可以针对由双虚线或连续线和虚线的组合组成的车道标记来检测角点。
313.在一些实施例中,除检测到的边缘点或角点之外,上传到服务器以生成绘制的车道标记的点还可以表示其他点。图24c图示出可以表示给定车道标记的中心线的一系列点。例如,连续车道2410可以由沿车道标记的中心线2440的中心线点2441表示。在一些实施例中,交通工具200可以被配置成用于使用各种图像识别技术(诸如卷积神经网络(cnn)、尺度不变特征变换(sift)、定向梯度直方图(hog)特征或其他技术)来检测这些中心点。或者,交通工具200可以检测其他点(诸如图24a中所示的边缘点2411),并且可以例如通过沿每个边缘检测点并确定边缘点之间的中点来计算中心线点2411。类似地,虚线车道标记2420可以由沿车道标记的中心线2450的中心线点2451表示。中心线点可以位于虚线的边缘(如图24c所示),或位于沿中心线的各种其他位置。例如,每个虚线可以由虚线的几何形状中心的单个点表示。这些点也可以沿中心线以预定间隔隔开(例如,每米、每5米、每10米等)。中心线点2451可以直接由交通工具200检测,或可以基于其他检测到的参考点(诸如角点2421,如图24b所示)来计算。中心线也可以被用于使用与上文类似的技术来表示其他车道标记类型(诸如双线)。
314.在一些实施例中,交通工具200可以标识表示其他特征的点,诸如两个相交的车道标记之间的顶点。图24d示出表示两个车道标记2460与2465之间的交叉的示例性点。交通工具200可以计算表示两个车道标记之间的交叉的顶点2466。例如,车道标志2460或2465中的一个可以表示道路段中的列车穿越区域或其他穿越区域。虽然车道标记2460和2465被示出为彼此垂直地相交,但可以检测各种其他配置。例如,车道标记2460和2465可以以其他角度相交,或者车道标记中的一者或两者可以在顶点2466处终止。类似技术也可以应用于虚线或其他车道标记类型之间的交叉。除了顶点2466之外,还可以检测各种其他点2467,从而提供关于车道标记2460和2465的取向的进一步信息。
315.交通工具200可以将真实世界坐标与车道标记的每个检测到的点相关联。例如,可以生成位置标识符,以上传到服务器来绘制车道标记,该位置标识符包括每个点的坐标。位置标识符还可以进一步包括关于这些点的其他标识信息,包括该点是否表示角点、边缘点、中心点等。因此,交通工具200可以被配置成用于基于对图像的分析来确定每个点的真实世界位置。例如,交通工具200可以检测图像中的其他特征(诸如上文所描述的各种地标),以定位车道标记的真实世界位置。这可涉及:确定图像中车道标记相对于检测到的地标的位置;或基于检测到的地标确定交通工具的位置,并且随后确定从交通工具(或交通工具的目标轨迹)到车道标记的距离。当地标不可用时,车道标记点的位置可以相对于基于航位推算确定的交通工具的位置来确定。包括在位置标识符中的真实世界坐标可以被表示为绝对坐标(例如,纬度/经度坐标),或者可以是相对于其他特征的,诸如基于沿目标轨迹的纵向位置和距目标轨迹的横向距离。然后,可以将位置标识符上传到服务器,以便在导航模型(诸如稀疏地图800)中生成绘制的车道标记。在一些实施例中,服务器可以构造表示道路段的车道标记的样条。替代地,交通工具200可以生成样条,并将其上传到服务器以便被记录在
导航模型中。
316.图24e示出了针对包括绘制的车道标记的对应道路段的示例性导航模型或稀疏地图。稀疏地图可以包括用于供交通工具沿道路段遵循的目标轨迹2475。如上文所描述,目标轨迹2475可以表示当交通工具在相应道路段行驶时该交通工具采取的理想路径,或者可位于道路上的别处(例如,道路的中心线等)。目标轨迹2475可以以上文描述的各种方法来计算,这些方法例如,基于穿过相同道路段的交通工具的两个或更多个重构的轨迹的聚合(例如,加权组合)。
317.在一些实施例中,对于所有交通工具类型并且对于所有道路、交通工具和/或环境状况,可以平等地生成目标轨迹。然而,在其他实施例中,在生成目标轨迹时也可以考虑各种其他因素或变量。可以为不同类型的交通工具(例如,私家车、轻型卡车和全挂车)生成不同的目标轨迹。例如,与较大的半挂车卡车相比,可针对小型私家车生成具有相对较窄的转弯半径的目标轨迹。在一些实施例中,还可以考虑道路、交通工具和环境状况。例如,可以针对不同的道路状况(例如,潮湿、下雪、结冰、干燥等)、交通工具状况(例如,轮胎状况或估计的轮胎状况、制动状况或估计的制动状况、剩余燃料量等)或环境因素(例如,一天中的时间、能见度、天气等)生成不同的目标轨迹。目标轨迹也可取决于特定道路段的一个或多个方面或特征(例如,速度限制、转弯的频率和大小、坡度等)。在一些实施例中,各种用户设置也可以被用于确定目标轨迹,这些用户设置诸如,设定的驾驶模式(例如,期望的驾驶积极性、经济模式等)。
318.稀疏地图也可以包括表示沿道路段的车道标记的绘制的车道标记2470和2480。绘制的车道标记可以由多个位置标识符2471和2481表示。如上文所描述,位置标识符可以包括与检测到的车道标记相关联的点的、按真实世界坐标的位置。与模型中的目标轨迹类似,车道标记也可包括标高数据,并且可被表示为三维空间中的曲线。例如,曲线可以是连接合适阶数的三维多项式的样条,曲线可以基于位置标识符来计算。绘制的车道标记还可以包括关于车道标记的其他信息或元数据,诸如车道标记的类型(例如,在具有相同行驶方向的两个车道之间、在具有相反行驶方向的两个车道之间、道路的边缘等)的标识符和/或车道标记的其他特性(例如,连续线、虚线、单线、双线、黄色、白色等)。在一些实施例中,可例如使用众包技术在模型内持续地更新绘制的车道标记。同一交通工具可以在同一道路段的多次行驶场合期间上传位置标识符,或数据可以从在不同的时间在道路段上行驶的多个交通工具(诸如1205、1210、1215、1220和1225)中选择。然后,可以基于从交通工具接收并存储在系统中的后续位置标识符更新或细化稀疏地图800。当更新和细化绘制的车道标记时,可以将经更新的道路导航模型和/或稀疏地图分发给多个自主交通工具。
319.在稀疏地图中生成绘制的车道标记还可以包括:基于图像中或实际车道标记自身中的异常来检测和/或缓解误差。图24f示出了与检测车道标记2490相关联的示例性异常2495。异常2495可能出现在由交通工具200捕获的图像中,例如,来自妨碍相机查看车道标志的对象、镜头上的碎片等。在一些实例中,异常可能是由于车道标记本身造成的,车道标记本身可能受损或磨损,或者例如被灰尘、碎片、水、雪或道路上的其他材料等部分地覆盖。异常2495可能导致由交通工具200检测到错误点2491。稀疏地图800可以提供对绘制的车道标记的校正并排除误差。在一些实施例中,交通工具200可以例如通过检测图像中的异常2495或通过基于异常之前和之后的检测到的车道标记点标识错误来检测错误点2491。基于
检测到异常,交通工具可忽略点2491,或将其调整为与其他检测到的点一致。在其他实施例中,例如,通过基于在同一行程期间上传的其他点或基于来自沿同一道路段的先前行程的数据的聚合确定该点在预期阈值之外,可以在已上传该点之后校正该误差。
320.导航模型和/或稀疏地图中的绘制的车道标记也可以用于供穿过相对应道路的自主交通工具进行导航。例如,沿目标轨迹导航的交通工具可以周期性地使用稀疏地图中的绘制的车道标记以将自身与目标轨迹对齐。如上文所提到,在地标之间,交通工具可以基于航位推算进行导航,其中,交通工具使用传感器来确定其自我运动并估计其相对于目标轨迹的位置。随着时间的推移,误差可能会累积,并且交通工具相对于目标轨迹的位置确定可能会变得越来越不准确。相应地,交通工具可以使用在稀疏地图800中出现的车道标记(以及它们的已知位置)以减少位置确定中由航位推算引起的误差。以这种方式,稀疏地图800中包括的所标识的车道标记可以用作导航锚,通过该导航锚可以确定交通工具相对于目标轨迹的准确位置。
321.图25a示出了交通的工具周围环境的示例性图像2500,该图像2500可以被用于基于绘制的车道标记的导航。例如,图像2500可以由交通工具200通过图像采集单元120中包括的图像捕获设备122和124来捕获。图像2500可以包括至少一个车道标记2510的图像,如图25a所示。图像2500也可以包括一个或多个地标2521(诸如道路标志),用于如上文所描述的导航。图25a中所示的一些元素也被示出以供参考,这些元素诸如元素2511、2530和2520,它们并未出现在被捕获的图像2500中,但是被交通工具200检测和/或确定。
322.使用上文参照图24a-图24d和图24f所描述的各种技术,交通工具可以分析图像2500以标识车道标记2510。可以检测与图像中的车道标记的特征相对应的各个点2511。例如,点2511可以对应于车道标记的边缘、车道标记的角、车道标记的中点、两个相交车道标记之间的顶点或各种其他特征或位置。点2511可以被检测为对应于从服务器接收的导航模型中存储的点的位置。例如,如果接收到包含表示绘制的车道标记的中心线的点的稀疏地图,则还可以基于车道标记2510的中心线来检测点2511。
323.交通工具还可以确定由元素2520表示、并沿目标轨迹定位的纵向位置。可以从图像2500确定纵向位置2520,例如,通过检测图像2500内的地标2521并将测量的位置与道路模型或稀疏地图800中所存储的已知地标位置进行比较。然后,可以基于到地标的距离和地标的已知位置来确定交通工具沿目标轨迹的位置。纵向位置2520也可以通过除用于确定车道标记的位置的那些图像之外的图像来确定。例如,纵向位置2520可以通过检测来自图像采集单元120内的其他相机的、与图像2500同时或接近同时地被拍摄的图像中的地标来确定。在一些实例中,交通工具可能不在任何地标或用于确定纵向位置2520的其他参考点附近。在此类实例中,交通工具可以基于航位推算进行导航,并且因此可以使用传感器确定其自我运动并估计相对于目标轨迹的纵向位置2520。交通工具还可以确定距离2530,该距离2530表示交通工具与在捕获的(多个)图像中观察到的车道标记2510之间的实际距离。在确定距离2530时,可以计及相机角度、交通工具的速度、交通工具的宽度或各种其他因素。
324.图25b图示出基于道路导航模型中绘制的车道标记的交通工具的横向定位校正。如上文所描绘,交通工具200可以使用由交通工具200捕获的一个或多个图像确定交通工具200与车道标记2510之间的距离2530。交通工具200也可以具有对道路导航模型的访问权,该道路导航模型诸如稀疏地图800,其可以包括绘制的车道标记2550和目标轨迹2555。绘制
的车道标记2550可以使用上文所描述的技术建模,例如使用由多个交通工具捕获的众包位置标识符。还可以使用先前描述的各种技术生成目标轨迹2555。如上文关于图25a所描述,交通工具200也可以确定或估计沿目标轨迹2555的纵向位置2520。然后,交通工具200可以基于目标轨迹2555与对应于纵向位置2520的绘制的车道标记2550之间的横向距离来确定预期距离2540。交通工具200的横向定位可以通过将使用捕获的(多个)图像测量的实际距离2530与来自模型的预期距离2540进行比较来校正或调整。
325.图26a是示出符合所公开的实施例的用于绘制车道标记以用于自主交通工具导航中使用的示例性过程2600a。在步骤2610处,过程2600a可以包括:接收与检测到的车道标记相关联的两个或更多个位置标识符。例如,步骤2610可以由服务器1230或与服务器相关联的一个或多个处理器执行。如上文关于图24e所描述,位置标识符可以包括与检测到的车道标记相关联的点的、按真实世界坐标的位置。在一些实施例中,位置标识符还可以包含其他数据,诸如关于道路段或车道标记的附加信息。在步骤2610期间还可以接收附加数据,诸如加速度计数据、速度数据、地标数据、道路几何形状或概况数据、交通工具定位数据、自我运动数据或上文所描述的各种其他形式的数据。位置标识符可以由交通工具(诸如交通工具1205、1210、1215、1220和1225)基于由交通工具捕获的图像生成。例如,可以基于以下各项来确定标识符:来自与主交通工具相关联的相机的、对表示主交通工具环境的至少一个图像的采集;用于检测主交通工具的环境中的车道标记的、对至少一个图像的分析;以及用于确定检测到的车道标记相对于与主交通工具相关联的位置的位置的、对至少一个图像的分析。如上文所描述,车道标记可以包括各种不同的标记类型,并且位置标识符可以对应于相对于车道标记的各种点。例如,在检测到的车道标记是标记车道边界的虚线的一部分的情况下,这些点可对应于车道标记的检测到的角。在检测到的车道标记是标记车道边界的连续线的一部分的情况下,这些点可以对应于车道标记的检测到的边缘,具有如上文所描述的各种间距。在一些实施例中,如图24c所示,这些点可以对应于检测到的车道标记的中心线,或者如图24d所示,这些点可以对应于两个相交车道标记之间的顶点以及与相交车道标记相关联的至少一个两个其他点。
326.在步骤2612处,过程2600a可以包括:将检测到的车道标记与相对应的道路段相关联。例如,服务器1230可以分析在步骤2610期间接收的真实世界坐标或其他信息,并将坐标或其他信息与存储在自主交通工具道路导航模型中的位置信息进行比较。服务器1230可以确定模型中与检测到车道标记所在的真实世界道路段相对应的道路段。
327.在步骤2614处,过程2600a可以包括:基于与检测到的车道标记相关联的两个或更多个位置标识符,更新相对于相对应道路段的自主交通工具道路导航模型。例如,自主道路导航模型可以是稀疏地图800,并且服务器1230可以更新稀疏地图以将绘制的车道标记包括在模型中或调整模型中的绘制的车道标记。服务器1230可以基于上文关于图24e描述的各种方法或过程来更新模型。在一些实施例中,更新自主交通工具道路导航模型可以包括:在检测到的车道标记的真实世界坐标中存储一个或多个位置指示符。如图24e所示,自主交通工具道路导航模型还可以包括用于交通工具沿相应道路段来遵循的至少一个目标轨迹。
328.在步骤2616,过程2600a可以包括:将经更新的自主交通工具道路导航模型分发给多个自主交通工具。例如,服务器1230可以将经更新的自主交通工具道路导航模型分发给交通工具1205、1210、1215、1220和1225,这些交通工具可以使用该模型进行导航。自主交通
工具道路导航模型可以经由一个或多个网络(例如,通过蜂窝网络和/或因特网等)、通过无线通信路径1235(如图12所示)来分发。
329.在一些实施例中,如上文关于图24e所描述,车道标记可以使用从多个交通工具接收的数据诸如通过众包技术来绘制。例如,过程2600a可以包括:从第一主交通工具接收第一通信,该第一通信包括与检测到的车道标记相关联的位置标识符;以及从第二主交通工具接收第二通信,该第二通信包括与检测到的车道标记相关联的附加的位置标识符。例如,第二通信可以从在同一道路段上行驶的后续交通工具接收,或从沿同一道路段的后续行程的同一交通工具接收。过程2600a可以进一步包括:基于在第一通信中接收到的位置标识符并基于在第二通信中接收到的附加的位置标识符来细化对与检测到的车道标记相关联的至少一个位置的确定。这可以包括:使用多个位置标识符的平均值,和/或过滤掉可能不反映车道标记的真实世界位置的“幽灵”标识符。
330.图26b是示出用于使用绘制的车道标记来沿道路段自主地导航主交通工具的示例性过程2600b的流程图。过程2600b可以例如由自主交通工具200的处理单元110执行。在步骤2620处,过程2600b可以包括:从基于服务器的系统接收自主交通工具道路导航模型。在一些实施例中,自主交通工具道路导航模型可以包括用于主交通工具沿道路段的目标轨迹、以及与关联于道路段的一个或多个车道标记相关联的位置标识符。例如,交通工具200可以接收稀疏地图800或使用过程2600a形成的另一道路导航模型。在一些实施例中,目标轨迹可以表示为三维样条,例如,如图9b所示。如上文关于图24a-图24f所描述的,位置标识符可以包括与车道标记相关联的点的、按真实世界坐标的位置(例如,虚线车道标记的角点、连续车道标记的边缘点、两个相交车道标记之间的顶点以及与相交车道标记相关联的其他点、与车道标记相关联的中心线等)。
331.在步骤2621处,过程2600b可以包括:接收表示交通工具的环境的至少一个图像。该图像可以从交通工具的图像捕获设备接收,诸如通过图像采集单元120中所包括的图像捕获设备122和124接收。该图像可以包括一个或多个车道标记的图像,类似于上文所描述的图像2500。
332.在步骤2622处,过程2600b可以包括:确定主交通工具沿目标轨迹的纵向位置。如上文关于图25a所描述,这可以基于捕获的图像中的其他信息(例如,地标等),或者通过对检测到的地标之间的交通工具进行航位推算。
333.在步骤2623处,过程2600b可以包括:基于主交通工具沿目标轨迹的所确定的纵向位置并且基于与至少一个车道标记相关联的两个或更多个位置标识符,确定到车道标记的预期横向距离。例如,交通工具200可以使用稀疏地图800来确定到车道标记的预期横向距离。如图25b所示,可以在步骤2622中确定沿目标轨迹2555的纵向位置2520。使用稀疏地图800,交通工具200可以确定到与纵向位置2520相对应的绘制的车道标记2550的预期距离2540。
334.在步骤2624处,过程2600b可以包括:分析至少一个图像以标识至少一个车道标记。例如,如上文所描述,交通工具200可以使用各种图像识别技术或算法来标识图像内的车道标记。例如,如图25a所示,车道标记2510可以通过对图像2500的图像分析来检测。
335.在步骤2625处,过程2600b可以包括:基于对至少一个图像的分析来确定到至少一个车道标记的实际横向距离。例如,如图25a所示,交通工具可以确定表示交通工具与车道
标记2510之间的实际距离的距离2530。在确定距离2530时,可以计及相机角度、交通工具的速度、交通工具的宽度、相机相对于交通工具的位置或各种其他因素。
336.在步骤2626处,过程2600b可以包括:基于到至少一个车道标记的预期横向距离与到至少一个车道标记的所确定的实际横向距离之间的差来确定主交通工具的自主操纵动作。例如,如上文关于图25b所描述,交通工具200可以将实际距离2530与预期距离2540进行比较。实际距离与预期距离之间的差可指示交通工具的实际位置与要由交通工具遵循的目标轨迹之间的误差(及其幅值)。相应地,交通工具可以基于该差来确定自主操纵动作或其他自主动作。例如,如果实际距离2530小于预期距离2540,如图25b所示,则交通工具可以确定用于向左引导交通工具离开车道标记2510的自主操纵动作。因此,交通工具相对于目标轨迹的位置可以被校正。例如,过程2600b可以用于改善交通工具在地标之间的导航。
337.用于交通工具交叉口处的选择性减速的系统
338.所公开的实施例可包括用于避免交通工具交叉口中碰撞的系统和方法。例如,系统可以从主交通工具的图像采集单元120和/或位置传感器130(图1)中捕获信息,以确定主交通工具和至少一个周围交通工具的轨迹。在此类实施例中,处理单元110可以处理捕获的信息,以计算主交通工具与交叉口交通工具碰撞的时间,计算(主交通工具和交叉口交通工具两者的)目标减速,以及触发选择性减速警告和/或自动制动信号以避免碰撞。在一些实施例中,系统可能是自主的。在其他实施例中,系统可能是半自主的。在另外的其他实施例中,系统可包括高级驾驶员辅助(adas)系统。
339.避免在交通工具交叉口(诸如四向交叉口或交叉街道交叉路口)碰撞呈现出挑战,因为该过程可能涉及估计两个独立交通工具的轨迹和未来移动。进一步地,在交通工具交叉口处,在与另一个交通工具的碰撞过程中简单地制动主交通工具可能是不合期望的。例如,在交叉路口,制动主交通工具可能效率低下,因为制动可能造成拥堵,导致不同的事故(例如,与迎面而来的交通的事故),或伤害乘客或降低乘客舒适度(例如,如果所需的减速太高)。相反,对于交通工具交叉口,在评估另一个交通工具是否制动或以其他方式导航远离预期碰撞后对主交通工具进行制动或减速可能是符合期望的。基于对另一个交通工具的可能轨迹的评估使主交通工具减速(即,选择性地减速)可以最大限度地降低替代事故的风险,并保护这两个交通工具的乘员。此外,选择性减速主交通工具可得到更安全的防撞机制,其对乘客的干扰也较小,并改善自主交通工具导航。
340.所公开的系统和方法通过评估接近交叉路口的交通工具的动力学以确定是否以及何时制动主交通工具,解决了避免交通工具交叉口处碰撞的挑战。例如,所公开的系统和方法可以使用基于主交通工具和接近交叉路口或交叉口的目标交通工具两者的动力学来确定减速阈值的功能,促进主交通工具在交通工具交叉口的选择性减速。此外,所公开的系统可以使用传感器捕获即将到来的交通动力学,并基于主动力学和目标动力学提供适应性功能,以便快速且高效地确定何时减速以及如何在交通工具交叉口减速主交通工具。此外,所公开的系统和方法可以通过不断更新对主交通工具何时应在交通工具交叉口制动以避免与另一个交通工具发生碰撞的评估,从而解决了解决交通工具交叉口冲突的挑战。
341.图27是符合所公开的实施例的交叉交通工具轨迹和碰撞估计的俯视图的示意图。图27示出了交叉轨迹中的主交通工具2702和目标交通工具2708。在一些实施例中,系统100(图1)可以被包括在主交通工具2702和/或目标交通工具2708中的一者或多者中。例如,主
交通工具270可包括用于执行自动导航操作(例如,自主、半自主或防撞操作)的系统100。
342.如图27中所示,主交通工具2702和目标交通工具2708即将进入到交通工具交叉口(例如,四向交叉路口),并且具有可能导致碰撞的轨迹。具体而言,主轨迹2706和目标轨迹2716在交通工具交叉口相交,因此,系统100可以估计主交通工具2702与目标交通工具2708之间的碰撞。虽然在一些实施例中,碰撞确定可基于主交通工具2702和目标交通工具2708的物理边界或径向近似物,但在其他实施例中(如图27所示),碰撞确定可基于主交通工具2702和目标交通工具2708的缓冲区域。缓冲区域可包括交通工具周围用于为碰撞估计或轨迹计算提供更大公差的区域。在一些实施例中,在交通工具中的一者或多者周围分配缓冲区域可能是有用的。缓冲区域可能增加用于碰撞计算的交通工具的区域。虽然实际交通工具占用或涵盖基于其物理边界的占用空间,但缓冲区域可能提供更大的安全区域,并且可能具有不同的形状(例如,前部细长)。在计算碰撞时间或碰撞轨迹期间,系统100可以使用缓冲区域。例如,系统100可使用缓冲区域来实现更安全的碰撞确定,而不是通过确定交通工具区域何时重叠来确定预测的碰撞。在一些实施例中,系统100可确定两个交通工具在其缓冲区域重叠时处于碰撞路径中。由于缓冲区域通常可能大于实际的交通工具占用空间,因此采用缓冲区域产生保守的碰撞估计,从而提高安全性和/或乘客舒适度。
343.在一些实施例中,系统100可以确定主缓冲区2704和目标缓冲区2710。如图27所示,主缓冲区2704可以是主交通工具2702的缓冲区域,而目标缓冲区2710可以是分配给目标交通工具2708的缓冲区域。在此类实施例中,系统100不仅可以确定主交通工具2702和目标交通工具2708是否碰撞,还可以创建用于提供提高的安全性或舒适度的缓冲空间。通过确定主缓冲区2704与目标缓冲区2710之间是否可能发生碰撞,系统100可以将碰撞的概率最小化。在此类实施例中,系统100可以基于交通工具动力学、交通工具大小和/或制动能力(例如,根据交通工具制造商)来动态地分配主缓冲区2704和目标缓冲区2710。在此类实施例中,系统100可以向可能更难停止的较大的交通工具分配较大的缓冲区域,而向可能更容易停止的较小的交通工具分配较小的缓冲区域。附加地或替代地,系统100可能向移动较快的交通工具分配较大的缓冲区域(以计及潜在的公差或误差幅度),但可随着交通工具减速而减小缓冲区域的大小。此外,系统100可以基于道路或环境状况来分配或调整缓冲区域。例如,当存在结冰状况时或者当道路铺有砾石时,系统100可能向主交通工具2702和目标交通工具2708两者分配较大的缓冲区域。主缓冲区2704和目标缓冲区2710的确定结合图29进一步描述。
344.系统100可以可被配置成用于捕获主交通工具2702和目标交通工具2708的动力学。例如,当系统100确定(例如,使用图像采集单元120)主交通工具2702正在接近交叉路口并且目标交通工具2708处于碰撞路径中时,系统100可以确定主交通工具2702和目标交通工具2708两者的交通工具动力学。在一些实施例中,交通工具动力学可包括交通工具加速度、速度和轨迹中的一项或多项。附加地或替代地,交通工具动力学可包括以下各项中的一项或多项:交通工具动量、制动能力、转向范围、质量分布、和/或空气动力学。此外,在一些实施例中,主交通工具2702和目标交通工具2708的交通工具动力学可以基于环境和/或道路状况进行调整。例如,系统100可以基于以下各项中的一项或多项来调整估计的交通工具动力学:湿度、能见度、温度、道路表面概况(例如,垂直轮廓)和/或道路牵引系数。在此类实施例中,系统100可以基于主交通工具2702和目标交通工具2708的交通工具动力学进行碰
撞确定。
345.在一些实施例中,系统100还可以被配置成用于基于道路和/或导航分析来预测主交通工具2702和目标交通工具2708的轨迹。例如,系统100可以基于道路曲率、形状和/或总体道路或天气状况的一者或多者来确定主轨迹2706和目标轨迹2716。进一步地,系统100可以使用导航指令和/或地图来确定轨迹。
346.系统100还可以计算交叉路口或交叉口后的预测轨迹。例如,主交通工具2702中的系统100可以确定交叉口后主轨迹2712和交叉口后目标轨迹2714。虽然系统100计算交通工具的选择性减速(如结合图29进一步所述),但系统100还可以估计这些交通工具中的每一者的交叉口后路径,以评估是否采取替代行动、减速或转向以避免其他碰撞。
347.图28图示出符合所公开的实施例的用于确定交叉口交通工具的减速的示例性拐点函数2800。系统100可以使用函数2800来动态地确定交通工具的阈值减速,和/或触发警报和/或制动信号。
348.为了解决避免具有两个独立系统的交通工具交叉口中的碰撞的挑战,系统100可以基于函数2800进行制动或减速确定。在一些实施例中,如图28所示,函数2800可能是拐点函数。然而,在其他实施例中,函数2800可能是一种不同类型的函数,诸如多项式和/或指数函数。在其中函数2800是拐点函数的实施例中,函数2800可以指使用线性插值方法表示(例如,曲线拟合)的曲线函数。例如,函数2800可以是使用“拐点”或“关键点”在不同段定义该函数的区间上定义的多部分线性函数。拐点函数可以通过一系列区间来定义,这些区间的每个区间均包含线性函数。因此,在一些实施例中,函数2800可能是这样的拐点函数:该拐点函数包括其中斜率变化为断点、变化点、阈值、拐点或结的线段和射线。如图28所示,拐点函数可能是连续的。然而,在其他实施例中,拐点函数可能是不连续的。
349.函数2800可以考虑主交通工具2702和目标交通工具2708两者的减速来估计减速阈值(例如,这些交通工具中的一个交通工具应该在何时制动)。函数2800示出了目标减速与主减速之间反相关性的示例,以确定哪个交通工具应该先减速。在一些实施例中,该反相关可允许系统100通过选择更简单的防撞的交通工具的减速来确定两个交通工具中的哪一个交通工具应该先减速。例如,如果主交通工具2702进入交叉路口的速度比目标交通工具2708更快,并且可能需要更高的减速来避免碰撞,则系统100可决定目标交通工具2708应该先减速,并设置更高的主减速阈值。但是,如果目标交通工具2708的移动速度比主交通工具2702更快(并且需要高减速来避免碰撞),则系统100可为主交通工具2702设置较低的主减速阈值,因为主交通工具2702更有可能进行减速来避免碰撞。
350.除了拐点函数之外或作为拐点函数的替代,其他实施例还可以使用一个或多个其他函数。例如,一些实施例可以使用替代的函数类型,诸如指数函数或多项式函数。在此类实施例中,该函数还可以在主交通工具2702和目标交通工具2708的减速之间建立关系,但在不利用拐点插值的情况下对关系进行建模。例如,减速之间的关系可以用不同的指数函数段(例如,而不是使用拐点函数的线性插值方法)进行建模。在此类实施例中,系统100可以使用一般地定义为例如(x+e-at
)的指数函数段来确定减速之间的关系,其中x可与主交通工具减速相关联,并且at建立交通工具的减速之间的下降率。在此类实施例中,系统100可以使用交通工具的减速来生成定制的指数函数,以对减速关系进行插值。替代地或附加地,系统100可以使用多项式函数来对减速之间的关联进行建模。例如,系统100可以使用一般
地定义为例如a
xt
+b
yt
的多项式函数段来确定减速之间的关系,其中a和b是函数系数,并且xt和yt对减速之间的关系进行建模。在此类实施例中,主交通工具2702减速与目标交通工具2708减速之间的关系可以用使交通工具减速相关联的分段多项式函数建模。相对应地,系统100还可以使用多项式函数来关联交通工具之间的减速,以确定减速阈值。
351.通过被实现为任何拐点、指数和/或多项式函数(等)的函数2800,系统100可以基于主交通工具2702所需的减速和目标交通工具2708的减速来确定何时减速主交通工具。如结合图29进一步所述,系统100可以地独立确定主交通工具2702和目标交通工具2708所需的最低减速,以避免碰撞。这种用于防撞的独立的最小减速可以与函数2800一起使用来确定针对主交通工具2702何时制动和/或所需的减速幅度的阈值减速。例如,主交通工具的阈值减速可以基于避免碰撞的主交通工具2702与目标交通工具2708的最小减速之间的函数2800。
352.如图28所示,可以基于函数2800提取不同的阈值减速。例如,第一阈值2810可与主交通工具2702的高所需减速相关联。因此,在主交通工具以高速接近交叉路口或交叉口的情况下,系统100可以(基于函数2800)设置较高的减速阈值(诸如第一阈值2810)。相比之下,在目标交通工具2708所需的减速与主交通工具2702相比非常高的情况下(例如,目标交通工具2708正在以高速接近交叉路口),系统100可为主交通工具2702确定低的第三阈值2814,从而使得主交通工具2702更有可能在目标交通工具2708之前减速,以避免碰撞。例如,如果目标交通工具2708以比主交通工具2702更高的速度接近交叉口,系统100可确定偏好于产生通行权并设置低减速阈值。通过在第三阈值2814设置低减速阈值,系统100使主交通工具2702更早地减速。进一步地,也如图28所示,如果主交通工具2702所需的减速低于第一阈值2810但高于第三阈值2814,则第二阈值2812可以被获得。对于第二阈值2812,系统100可以基于主交通工具2702和目标交通工具2708的相对速度来确定不同的减速。
353.图28中所示的阈值确定可能是动态的,并随着交通工具接近交叉路口或交叉口而循环地被计算。例如,系统100可以在连续迭代中重新计算主交通工具的减速阈值,并使用函数2800修改估计的减速阈值。在此类实施例中,如果系统100最初设置高减速阈值(诸如第一阈值2810,预计目标交通工具2708进行减速)但目标交通工具2708没有减速,则系统100可能随着碰撞时间的缩短而降低减速阈值。
354.图29是示出符合所公开的实施例的用于对交叉口交通工具的选择性减速的示例性过程2900的流程图。如下文所公开,在一些实施例中,系统100(图1)可以执行过程2900的步骤或操作。例如,处理单元110、图像采集单元120和位置传感器130可以执行过程2900的一个或多个步骤。替代地,在一些实施例中,处理单元110可以执行过程2900的每个步骤。此外,在某些实施例中,系统100以外的其他组件可以执行过程2900的一个或多个操作。例如,如结合图12所公开,远程服务器1230可与道路上的交通工具进行通信。在此类实施例中,主交通工具2702(图27)可以将采集的图像传输到远程服务器1230(图12)以供远程处理信息。在此类实施例中,过程2900的某些操作可以由服务器在系统100之外远程地执行。然而,对以下步骤的描述提供了其中系统100执行过程2900的步骤的示例。
355.在步骤2902中,系统100可以基于主交通工具2702至少一个传感器的输出来确定主交通工具2702的环境中的目标交通工具2708的一个或多个目标动力学。如结合图27所讨论,交通工具的动力学可包括交通工具加速度、速度和轨迹中的一者或多者。附加地或替代
地,目标交通工具2708的交通工具动力学可包括交通工具动量、制动能力、转向范围、质量分布、和/或空气动力学中的一者或多者。此外,在一些实施例中,目标交通工具2708(或主交通工具2702)的交通工具动力学可以基于环境和/或道路状况进行调整。例如,在步骤2902中,系统100可以使用图像捕获单元102捕获周围环境的图像。基于这些信息,系统100可以确定正在接近交叉口或交叉路口的目标交通工具2708的一个或多个动力学。例如,如结合图27进一步描述,在步骤2902中,系统100可以确定目标交通工具2708的加速度、速度和/或方向。在一些实施例中,系统100可以通过计算图像捕获单元102(图1)捕获的图像差异来确定一个或多个目标动力学。基于捕获图像之间的差异,系统100可以确定目标交通工具2708动力学。然而,在其他实施例中,系统100可以使用不同的传感器来捕获目标交通工具2708的移动。例如,系统100可包括相机、lidar或雷达中的一者或多者,并可使用从传感器中的一个或多个传感器收集的数据来确定一个或多个动力学。例如,系统100可以将从这些多个传感器中的两个或更多个传感器收集的数据进行组合来确定一个或多个动力学。
356.在步骤2904中,系统100可以基于主交通工具2702的一个或多个主动力学、以及(在步骤2902中确定的)一个或多个目标动力学来确定碰撞时间。一个或多个主动力学可以从主交通工具2702中的计算机收集,或者直接从主交通工具2702中的传感器收集。例如,在步骤2904中,处理单元110(图1)可以与速度和加速度模块406(图4)通信,以确定主交通工具2702的速度和/或加速度。替代地或附加地,处理单元110可以与导航响应模块408(图4)通信,以确定主交通工具2702的加速度、速度和/或方向。此外,在一些实施例中,系统100可以基于立体图像分析模块404(图4)的分析来确定主交通工具2702的动力学。作为替代示例,在步骤2904中,系统100可以与主交通工具2702中包含的各种传感器和组件通信以确定主动力学,这些传感器和组件包括通信单元1705、gps单元2315、相机122、速度传感器2320、加速度计2325和道路概况传感器2330(图23)。此外,系统100可以使用gps数据、传感器数据(例如,来自加速度计、速度传感器、悬架传感器等)和/或其他地图数据来确定主交通工具2702的动力学以在该交通工具在行驶时提供与该交通工具的环境相关的信息,并且该交通工具(以及其他交通工具)可以使用该信息在模型上定位自身。此外,在一些实施例中,系统100可从系统外设备(诸如服务器1230(图12))请求主动力学。
357.基于主动力学和目标动力学,系统100可以确定碰撞时间(ttc)(即,如果交通工具以其当前速度并在同一路径上继续则将碰撞的时间)。在此类实施例中,系统100可以推断轨迹,并基于速度和加速度确定碰撞时间和碰撞点。附加地或替代地,系统100可以基于对交通工具占用空间或具有几何形状(诸如圆圈、矩形和/或复合图形(如椭圆矩形))的区域进行建模的算法来确定碰撞时间。例如,系统100可以使用圆算法来基于圆心之间的距离何时低于选择的半径确定ttc。
358.正如结合图27中进一步讨论的,在一些实施例中,系统100可基于缓冲区域确定碰撞时间。例如,系统100可以通过确定主缓冲空间(例如,主缓冲区2704)和目标缓冲空间(例如,目标缓冲区2710)来调整碰撞时间,其中主缓冲空间基于主交通工具2702的大小,并且目标缓冲空间基于目标交通工具2708的大小。例如,系统100可以分配主缓冲区2704和目标缓冲区2710(图27),并通过预测缓冲区域之间何时发生冲突来确定碰撞时间。在此类实施例中,系统100可以使用椭圆矩形算法,该算法使用椭圆表示主交通工具2702,同时用矩形表示目标交通工具2708。通过这种方式,系统100可以进行ttc确定,这些ttc确定考虑方向
以便创建不对称缓冲区域。
359.在步骤2906中,系统100可以基于(来自步骤2904的)碰撞时间、以及一个或多个主动力学来确定用于主交通工具2702避免碰撞的主减速。在一些实施例中,主减速可能是用于主交通工具2702避免碰撞的最小减速。例如,基于ttc、轨迹和主动力学,系统100可以计算会避免碰撞的独立的减速。在步骤2906中,可以确定考虑到目标交通工具2708不会改变其任何动力学而会避免碰撞的主交通工具的减速。因此,在步骤2906中,可以确定无论目标交通工具2708如何都会避免碰撞的主交通工具2702的独立减速。例如,步骤2906中计算的主减速可基于制动主交通工具2702使得它不会到达交叉口(即,将主交通工具2702完全停止)。或者,步骤2906中计算的减速可能是用于在目标交通工具继续使用当前的目标动力学的情况下为该目标交通工具2708产生通行权的减速。
360.在步骤2908中,系统100可以基于(步骤2904的)碰撞时间和(步骤2902的)一个或多个主动力学来确定用于目标交通工具避免碰撞的目标减速。在一些实施例中,目标减速可能是用于目标交通工具2708避免碰撞的最小减速。例如,基于ttc和目标动力学,系统100可以计算会避免碰撞的、由目标交通工具2708进行的独立的减速。在步骤2906中,系统100可以确定无论主交通工具2702的行动如何和/或如果主交通工具2702保持当前动力学均会避免碰撞的目标交通工具2708的减速。例如,步骤2908中计算的目标减速可以基于制动目标交通工具2708使得它不会到达交叉路口,和/或基于制动目标交通工具2708以在主交通工具2702继续使用当前的动力学去情况下为主交通工具2702产生通行权。
361.在一些实施例中,减速计算可以被配置成用于最小化计算资源的支出,并用于在短时间段内提供估计,即使公差很高。例如,在此类实施例中,减速计算可以以高达0.25m/s2的粒度执行。进一步地,最低减速计算可以使用“启动时间”作为计算的一部分。启动时间可以是在交通工具上启动减速所需的时间,并且它们可以被定义为[系统静默时间]+[制动构建时间补偿]。启动时间可以通过提供交通工具启动减速所需的时间来帮助确定目标减速。在“启动时间”期间,系统100可以测量相关对象上使用的动力学。在此类实施例中,主交通工具2702可与启动时间相关联,该启动时间可以是可根据当前和所需的减速进行配置的。相比之下,为了最小化计算时间,系统100可以将启动时间期间目标交通工具2708的变量设置为0。在此类实施例中,系统100可以确定集成到“启动时间”的制动概况。[启动时间]=[系统静默时间]+[制动构建时间补偿]
[0362]
然后,步骤2906和步骤2908中确定的目标最低独立减速的信息可在步骤2910中用于确定主减速阈值。在步骤2910中,系统可以基于主减速和目标减速确定主减速阈值。例如,系统100可以将(步骤2906的)主独立减速和(步骤2908的)目标独立减速输入拐点函数,以确定阈值主减速。正如结合图28中进一步讨论的,拐点函数可将主减速和目标减速相关联。例如,拐点函数可包括至少四个拐点。基于函数中的主减速和目标减速关系,系统100可以确定主减速阈值。在此类实施例中,主减速阈值可以确定主交通工具2702何时需要制动以避免碰撞。
[0363]
如结合图28所述,主减速阈值可能是动力学的,并基于主交通工具2702与目标交通工具2708之间的速度关系。根据交通工具之间的速度差和/或减速差,系统100可以确定用于主交通工具2702避免碰撞的不同阈值减速。此外,主减速阈值也可以被配置成可基于道路和交通工具状况调整的。例如,在一些实施例中,系统100可以根据主交通工具的最大
减速能力(例如,根据与主交通工具制造商相关联的一个或多个规格)来调整或设置主减速阈值。
[0364]
步骤2910可有助于系统100标识哪个交叉口交通工具应该先制动以最小化突然变化,同时防止对距碰撞太远和/或路径仍不清楚的情况发出警报。例如,如果目标交通工具2708非常快地接近交叉路口,需要(在步骤2908估计的)高最低独立减速,系统100可确定低的主减速阈值,以由主交通工具2702触发更快的制动。在解决交叉路口冲突时,此类基于主交通工具2702和目标交通工具2708的动力学的选择性减速可以最小化突然变化,避免替代事故,并提高安全性。此外,步骤2910中对主减速阈值的确定可防止提早警报(例如,在交通工具在很远处时将主减速设置为高),或者可以避免交通工具的轨迹仍然不清楚的情况下减速。
[0365]
在一些实施例中,主减速阈值的选择可使用基于交通工具的动力学和/或道路状况的条件函数。例如,为了确定主减速,系统100可以从多个预定的减速函数中选择减速函数。减速函数的选择可以基于碰撞时间、目标交通工具2708的速度和主交通工具2702的速度。进一步地,减速函数的选择可以基于环境状况,诸如温度或湿度。在此类实施例中,系统100可以存储多个拐点函数,并基于交通工具动力学在步骤2910中从这些函数中进行选择。例如,当交通工具移动超过每小时50英里时,可使用一个函数来确定主阈值减速,而当交通工具移动低于每小时10英里时,可以使用不同的函数来确定主阈值减速。在此类实施例中,多个预定的减速函数可包括与第一减速率相关联的第一函数以及与第二减速率相关联的第二函数,其中第一减速率小于第二减速率。第一减速函数可用于慢速情况(例如,交通工具移动速度低于每小时20英里),而第二减速函数可用于更快(例如,交通工具移动超过每小时60英里)、更危险的情况,其涉及更激进的减速阈值。
[0366]
作为步骤2910的一部分,系统100可以配置被用于确定主减速阈值的减速函数。例如,在步骤2910中,系统100可以基于特定的交叉口交通工具场景配置函数2800(图28),以定制由此产生的主减速阈值。减速函数的配置可包括一般配置和级别配置。例如,一般配置可包括利用函数中的至少4个拐点确定最小距离阈值与主速度之间的关系。一般配置还可包括针对减速、作为4x4个拐点的函数的启动时间。例如,级别配置可包括基于主交通工具2702速度的4个拐点的ttc阈值。级别配置还可以包括具有针对制动级别的4个拐点的减速阈值(即,目标减速的函数),以及针对非制动级别的最小距离函数。进一步地,级别选项还可包括函数包络配置和/或目标包络配置。
[0367]
在步骤2912中,系统100可以基于速度和阈值确定是否制动主交通工具。例如,在步骤2912中,系统100可以基于(来自步骤2910的)主减速阈值和(在步骤2906中确定的)主交通工具2702的速度来确定主交通工具2702是否应制动。在一些实施例中,系统100可以将主减速阈值与由拐点函数(诸如函数2800(图28))确定的防撞所需的外推主减速进行比较。如果估计的减速级别低于主减速阈值,则系统100可确定主交通工具2702不需要在特定时间或时间间隔制动。如果估计的减速级别高于主减速阈值,则系统100可确定主交通工具2702应在特定时间或时间间隔制动(例如,目标交通工具2708移动太快,并且主交通工具2702应制动)。因此,通过比较速度、所需的减速、以及主减速阈值,系统100可以确定选择性减速并提供选择性减速信号。
[0368]
如果系统100决定不制动主交通工具2702(步骤2912:否),则系统100可返回至步
骤2902,并通过重新确定主动力学和目标动力学来重新启动过程2900以更新ttc和轨迹。例如,如果系统100确定主交通工具2702不应制动,则系统100可捕获目标交通工具2708的额外图像,并更新主阈值减速的确定。相应地,系统100可以配置成用于随着碰撞时间的减少而周期性地重新计算主减速阈值。在未示出的其他实施例中,系统100可以通过简单地减少ttc(无需新的动力学确定)来节省计算机资源,在步骤2904(而不是2902)重新启动过程2900以及基于ttc的倒计时重新计算主减速阈值。当系统100确定ttc很短并且不允许重新计算主动力学和目标动力学时,系统100可以简单地减少ttc,并在不重新计算主动力学的情况下直接确定减速。
[0369]
如果系统100确定制动主交通工具2702(步骤2912:是),系统100可继续步骤2914和/或步骤2916。在步骤2914中,系统100可以基于制动主交通工具2702的确定,输出被配置成用于引起主交通工具2702制动的信号。例如,在步骤2914中,系统100可触发制动信号并且将其传送到制动系统230(图2f),以引起主交通工具2702减速或制动。附加地或替代地,系统100可以将减速信号传送到节流系统220和转向系统240(图2f)以控制方向和/或避免意外加速。在一些实施例中,引起主交通工具2702制动的输出信号可指定减速力或幅度。例如,作为制动主交通工具的确定(步骤2912)的一部分,系统100可以确定制动幅度。在此类实施例中,输出信号可包括制动主交通工具2702的时间或施加于主交通工具2702的制动装置的压力量中的至少一者。例如,基于主阈值减速与主交通工具2702的估计减速之间的差,系统100可以确定减速幅度。在此类实施例中,在步骤2914中,发送到制动系统230的输出信号可以指定对制动装置施加的力或制动系统需要完成的目标制动力。
[0370]
替代地或附加地,在确定制动主交通工具2702后,系统100可以继续到步骤2916,在步骤2916中系统100可以基于制动主交通工具的确定而输出警报。警报可针对主交通工具2702的驾驶员。例如,系统100可在驾驶员的仪表板中生成用于制动交通工具的信号。在一些实施例中,警报可包括听觉警报、视觉警报或触觉警报中的至少一者。例如,除了仪表板警报外,系统100还可以通过激活交通工具的喇叭来生成声音警报和/或通过振动驾驶员座椅和/或驾驶方向盘来生成触觉警报。
[0371]
步骤2914和2916不是排他性的,并且系统100可决定同时执行这两个步骤。因此,在某些实施例中,系统100可以(1)生成用于制动主交通工具2702的输出信号,以及(2)生成用于进行制动的警报。在其他实施例中,用户偏好可确定系统100是执行步骤2914还是2916。例如,用户可以禁用自动减速,并且只接收步骤2916的警报。替代地,用户可以禁用警报,并且仅具有步骤2914的用于进行制动的输出信号。
[0372]
过程2900允许系统100在交叉口交通工具场景中选择性地减速主交通工具,同时最小化替代事故的风险,避免轨迹的突然变化(这可能不可预测并对乘客造成伤害),并避免拥堵或不必要的警报。通过用循环过程来确定哪个交通工具应该减速、何时应该减速、以及应该减速多少,过程2900附加地解决了拥有含多个独立元件的系统的问题。
[0373]
前述描述已经出于说明的目的被呈现。其并非是穷尽性的,并且不限于所公开的精确形式或实施例。通过考虑说明书和所公开的实施例的实施,修改和改编对于本领域技术人员来说将是显而易见的。另外,尽管所公开的实施例的方面被描述为被存储在存储器中,但本领域技术人员将会领会,这些方面也可以存储在其他类型的计算机可读介质上,诸如,辅助存储设备,例如,硬盘或cd rom,或其他形式的ram或rom、usb介质、dvd、蓝光、4k超
高清蓝光或其他光驱介质。
[0374]
基于书面描述和所公开的方法的计算机程序在经验丰富的开发人员的技能范围内。各种程序或程序模块可以使用本领域技术人员已知的任何技术来创建,或者可以结合现有软件来设计。例如,程序段或程序模块可以通过或借助.net框架和.net紧凑框架(以及相关语言,诸如visual basic、c等)、java、c++、面向对象的c、html、html/ajax组合、xml或包括java小程序的html来设计。
[0375]
此外,尽管本文已经描述了说明性实施例,但是本领域技术人员基于本公开将会领会具有的等效的要素、修改、省略、组合(例如,跨各个实施例的方面的组合)、改编和/或变更的任何和所有实施例的范围。权利要求中的限制将基于权利要求中使用的语言进行广义解释,而不限于在本说明书中或在本技术的审查期间描述的示例。这些示例将被解释为非排他性的。此外,可以以任何方式修改所公开方法的步骤,这些方式包括通过对步骤重新排序和/或插入或删除步骤。因此,本说明书和示例旨在仅被视为说明性的,其中真正的范围和精神由所附权利要求及其等效方案的全部范围来指示。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1