一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自主车辆的远程对象检测、定位、跟踪和分类的制作方法

2022-11-16 09:17:42 来源:中国专利 TAG:

自主车辆的远程对象检测、定位、跟踪和分类


背景技术:

1.自主车辆,例如不需要人类驾驶员的车辆,可以被用于帮助将乘客或物品从一个位置运输到另一位置。这样的车辆可以在完全自主模式下进行操作,在完全自主模式中,乘客可以提供诸如接取或目的地位置的一些初始输入,并且车辆将自身操纵到该位置。自主车辆配备了各种类型的传感器,以便检测周围的对象并对其进行响应。例如,自主车辆可以包括声纳、雷达、相机、lidar和扫描并记录来自车辆周围的数据的其他设备。
2.通常,使用lidar的对象检测在100米或更短的距离内可能是可靠的,存在超出该范围的对象的检测是关键的许多情况。例如,当自主车辆以每小时65英里在高速公路上驾驶时,在100米处检测到的对象将在4秒内经过。这给予自主车辆非常少的时间来改变车道,这在要求车辆改变车道以远离停在路肩区域的车辆等的某些司法管辖区中可能是必要的动作。此外,自主车辆上前向lidar的范围可能远小于高分辨率相机的范围。此外,对于某些类型的车辆,诸如类8卡车(例如拖拉机挂车),前向lidar可能更可能会被其他较大的对象(例如其他拖拉机挂车)遮挡。


技术实现要素:

3.本公开的各方面提供了一种控制车辆的方法。该方法包括通过一个或多个处理器使用相机捕获包括第一对象的第一相机图像;通过一个或多个处理器使用相机捕获包括第二对象的第二相机图像;通过一个或多个处理器识别第一对象的第一边界框和到第一对象的距离;通过一个或多个处理器识别第二相机图像的第二边界框和到第二对象的距离;通过一个或多个处理器,使用第一模型计算第一边界框和第二边界框的视觉相似性,使用第二模型比较基于到第一对象的距离的三维位置和基于到第二对象的距离的三维位置,以及使用第三模型比较来自第一模型和第二模型的结果,确定第一对象是否是第二对象;以及通过一个或多个处理器基于第三模型的结果,在自主驾驶模式下控制车辆。
4.在一个示例中,识别第一边界框和到第一对象的距离包括使用机器学习模型。在另一示例中,识别到第一对象的距离仅基于第一图像。在另一示例中,在第一图像之后立即捕获第二相机图像。在另一示例中,当第一对象超出车辆的lidar传感器的范围定位时,捕获第一图像。在另一示例中,当第一对象超出车辆的雷达传感器的范围定位时,捕获第一图像。在另一示例中,控制车辆还包括响应于第三模型的结果改变车道。在另一示例中,第三模型的结果是指示第一对象和第二对象的相似性的值,并且该方法还包括将该值与阈值进行比较,并且其中进一步基于该值与阈值的比较控制车辆。在该示例中,该方法还包括基于该值与阈值的比较,将第一对象和第二对象识别为同一对象并随时间跟踪该同一对象。可替代地,基于该值与阈值的比较,将第一对象和第二对象识别为不同对象并随时间独立地跟踪第一对象和第二对象。在另一示例中,第一模型是卷积神经网络,第二模型是多层感知器模型,并且第三模型是多层感知器模型。在另一示例中,该方法还包括基于第三模式的结果,使用第一图像和第二相机图像生成对象的轨道,该轨道标识对象的位置随时间的改变,以及使用分类器和轨道确定对象是否是在路肩区域上的停止车辆。在该示例中,在自主驾
驶模式下控制车辆进一步基于确定对象是否是路肩区域上的停止车辆。此外,控制车辆包括使车辆改变车道以远离停止车辆。另外或可替代地,该方法还包括识别使用lidar传感器生成的对象的附加轨道并将该轨道和附加轨道转换为嵌入,并且其中确定对象是否是路肩区域上的停止车辆进一步包括将嵌入输入到分类器中。另外或可替代地,该方法还包括将轨道转换为嵌入,并且其中确定对象是否是路肩区域上的停止车辆还包括将嵌入输入到分类器中。在此示例中,当使用lidar传感器生成的对象的附加轨道不可用时,嵌入包括使用lidar传感器生成的轨道的零值。另外或可替代地,轨道还包括对象在不同时间点的速率。另外或可替代地,分类器生成输出值,并且该方法还包括将输出值与阈值进行比较,并且其中控制车辆进一步基于输出值与阈值的比较。另外或可替代地,分类器是决策树。在此示例中,分类器是随机森林机器学习算法。
附图说明
5.图1是根据示例性实施例的示例车辆的功能图。
6.图2是根据本公开的方面的地图信息的示例。
7.图3a-图3c是根据本公开的方面的车辆的示例外部视图。
8.图4是根据本公开的方面的在一段道路上驾驶的车辆的示例鸟瞰图和数据。
9.图5a和图5b是根据本公开的方面的示例相机图像。
10.图6a和图6b是根据本公开的方面的示例相机图像和数据。
11.图7是根据本公开的方面使用模型来处理数据的示例抽象表示。
12.图8是根据本公开的方面的在一段道路上驾驶的车辆的示例鸟瞰图和数据。
13.图9是根据本公开的方面的示例流程图。
具体实施方式
14.概述
15.该技术涉及利用用于自主车辆的高分辨率相机对对象的远程检测。如上所述,虽然使用lidar的对象检测通常在100米或更短的距离内可能是可靠的,但可能存在检测超出此范围的对象是至关重要的许多情况。例如,当自主车辆以每小时65英里在高速公路上驾驶时,在100米处检测到的对象将在4秒内经过。这给予自主车辆非常少的时间来改变车道,这在要求车辆改变车道以远离停在路肩区域的车辆等的某些司法管辖区中可能是必要的动作。此外,自主车辆上前向lidar的范围可能远小于高分辨率相机的范围。此外,对于某些类型的车辆,诸如类8卡车(例如拖拉机挂车),前向lidar可能更可能会被其他较大的对象(例如其他拖拉机挂车)遮挡。在这方面,使用相机图像检测和跟踪更远范围处的对象,然后在车辆更靠近这些对象时最终利用来自其他传感器(诸如lidar和雷达)的数据进行相同操作的方法可能特别有用。
16.为了让自主车辆对非常大距离处的对象做出反应,或者更确切地说,对超出前向lidar的范围的那些对象做出反应,车辆的感知系统可以利用高分辨率相机来捕获图像。使用上面的示例,为了能够有效地检测对象并允许自主车辆对它们做出响应,例如通过为停在路肩区域的车辆改变车道等,可以选择相机,使得相机的分辨率允许自主车辆的感知系统可靠地检测距离自主车辆300米远距离处的此类对象。
17.这些图像可以输入到对象识别模型中,该模型输出对象的二维(2d)边界框以及图像中对象的预测深度。对象的这个预测深度可以在相机空间中,即相机的局部坐标系中。然后可以使用相机的内在值和外在值将此深度转换为对象的三维(3d)位置。
18.一旦检测到这样的对象,就可以在相机图像之间随时间跟踪它们。为了识别哪些对象应该作为同一对象被跟踪,来自第一相机图像的对象的边界框,即该边界框内的第一相机图像的部分,可以与来自第二相机图像的对象的边界框进行比较。如果来自两个不同图像的两个对象足够相似,则可以将这些对象作为同一对象或单个跟踪对象一起跟踪。这可以涉及捕获和存储对象的“轨迹”,包括由各种模型生成的特性,诸如对象的位置、速率、加速度等随时间的改变。
19.比较可以涉及利用多个模型。第一模型可用于比较两个边界框的视觉相似性,以便生成视觉相似性的嵌入表示。第二相似性模型可用于比较边界框的对象的其他特征,诸如它们的3d位置,以便生成其他特征的嵌入表示。然后可以将嵌入输入到第三相似性模型中,以便生成指示来自不同图像的边界框的对象的相似性的值。然后可以将该值与阈值进行比较,以确定边界框是否“足够相似”以作为单个对象(例如,被跟踪对象)而被跟踪。一旦发生这种情况,然后可以使用第二相机图像来确定附加特征,诸如速率和加速度,这些特征可以合并到来自第二模型的嵌入中,从而也用作到第三相似性模型中的输入。
20.一旦识别出被跟踪对象,感知系统就可以跟踪该对象。这可以涉及捕获和存储该对象的“轨迹”,包括由各种模型生成的特性,诸如对象的位置、速率、加速度等随时间的改变。此外,感知系统可以将对象的标识符及其特性(从相机和/或其他传感器生成)发布到自主车辆的其他系统。
21.为了检测和识别如以上面示例中的可能需要车辆改变车道的较大距离处的对象,分类器可用于确定被跟踪对象是否是停在路肩区域的车辆。分类器不仅可以利用来自相机图像的轨迹,还可以一旦来自其他传感器(诸如lidar或雷达)的轨迹变得可用(或者更确切地说,使用上面讨论的滤波器被识别)就利用它们。分类器可以输出指示对象是路肩区域上的静止车辆的可能性有多大的值。该值可以与阈值进行比较,并且比较的结果可以用于控制车辆。再一次,这些信息可以由车辆的感知系统发布到自主车辆的其他系统。
22.如上所述,可以将感知系统发布的信息输入到行为建模系统中,以便生成对象的行为预测。此外,自主车辆的规划者系统可以使用感知系统发布的信息以及行为预测来对对象进行响应,例如通过改变车道以便遵守要求车辆改变车道以远离停在路肩区域的车辆等的某些司法管辖区的规则。
23.本文描述的特征可以允许利用用于自主车辆的高分辨率相机对对象的远程检测。这可以通过使用“相机优先”检测进行对象的初始定位和跟踪来实现,这些对象的初始定位和跟踪随后可以与其他类型的传感器生成的信息融合。如上所述,这对于检测诸如停在高速公路路肩区域的车辆的对象并增加自主车辆可以改变车道的时间量可能特别有用。这些特征在前方存在缓慢交通(例如由于施工、停止车辆、道路中的碎片或事故),在那里自主车辆将需要改变车道等的情形下也可能有用。
24.示例系统
25.如图1所示,根据本公开的一个方面的车辆100包括各种组件。虽然本公开的某些方面关于特定类型的车辆特别有用,但是车辆可以是任何类型的车辆,包括但不限于汽车、
卡车、摩托车、公共汽车、休闲车辆等。车辆可以具有一个或多个计算设备,诸如包含一个或多个处理器120、存储器130和通常存在于通用计算设备中的其他组件的计算设备110。
26.存储器130存储由一个或多个处理器120可访问的信息,包括可以由处理器120执行或以其他方式使用的指令134和数据132。存储器130可以具有能够存储由处理器可访问的信息的任何类型,包括计算设备可读介质,或存储可以借助电子设备读取的数据的其他介质,诸如硬盘驱动器、存储卡、rom、ram、dvd或其他光盘,以及其他可写和只读存储器。系统和方法可以包括前述的不同组合,由此指令和数据的不同部分被存储在不同类型的介质上。
27.指令134可以是由处理器直接地执行(诸如机器代码)或间接地执行(诸如脚本)的任何指令集。例如,指令可以作为计算设备代码被存储在计算设备可读介质上。在这方面,术语“指令”和“程序”在本文中可以可互换地使用。指令可以以目标代码格式存储以用于由处理器进行直接处理,或以任何其他计算设备语言存储,包括按需解释或预先编译的独立源代码模块的脚本或集合。下面更详细地解释指令的功能、方法和例程。
28.处理器120可以根据指令134检索、存储或修改数据132。例如,虽然要求保护的主题不受任何特定数据结构的限制,但是数据可以存储在计算设备寄存器中、作为具有多个不同字段和记录的表存储在关系数据库中、存储在xml文档或平面文件中。数据还可以以任何计算设备可读格式被格式化。
29.一个或多个处理器120可以是任何常规处理器,诸如市场上可获得的cpu或gpu。可替代地,一个或多个处理器可以是专用设备,诸如asic或其他基于硬件的处理器。尽管图1在功能上将计算设备110的处理器、存储器和其他元件示出为在同一块内,但是本领域普通技术人员将理解,处理器、计算设备或存储器实际上可以包括多个处理器、计算设备或存储器,其可以或可以不存储在同一物理外壳内。例如,存储器可以是位于与计算设备110的外壳不同的外壳中的硬盘驱动器或其他存储介质。因此,对处理器或计算设备的引用将被理解为包括对可以或可以不并行地进行操作的处理器或计算设备或存储器的集合的引用。
30.计算设备110可以包括通常与计算设备结合使用的所有组件,诸如上述处理器和存储器以及用户输入150(例如,一个或多个按钮、鼠标、键盘、触摸屏和/或麦克风)、各种电子显示器(例如,具有屏幕的监视器或可操作以显示信息的任何其他电气设备)和根据需要向车辆100的乘客提供信息的扬声器154。例如,电子显示器152可以位于车辆100的客舱内并且可以由计算设备110使用以向车辆100内的乘客提供信息。
31.计算设备110还可以包括一个或多个无线网络连接156以促进与其他计算设备的通信,诸如下面详细描述的客户端计算设备和服务器计算设备。无线网络连接可以包括短程通信协议,诸如蓝牙、蓝牙低功耗(le)、蜂窝连接,以及各种配置和协议,包括互联网、万维网、内联网、虚拟专用网、广域网、局域网、使用一个或多个公司专有的通信协议的专用网络、以太网、wifi和http以及上述的各种组合。
32.计算设备110可以是用于车辆100的自主控制系统的一部分并且可以能够与车辆的各种组件通信以便在自主驾驶模式下控制车辆。例如,返回图1,计算设备110可以与车辆100的各种系统通信,各种系统诸如为减速系统160、加速系统162、转向系统164、信令系统166、规划系统168、路线选择系统170、定位系统172、感知系统174、行为建模系统176和动力系统178,以便在自主驾驶模式下根据存储器130的指令134控制车辆100的运动、速率等。
33.作为示例,计算设备110可以与减速系统160和加速系统162交互以便控制车辆的速率。类似地,转向系统164可以被计算设备110使用以便控制车辆100的方向。例如,如果车辆100被配置为在道路上使用,诸如汽车或卡车,则转向系统可以包括用于控制车轮的角度来使车辆转弯的组件。计算设备110还可以使用信令系统166以便例如通过在需要时点亮转向信号灯或刹车灯来向其他驾驶员或车辆发信号通知车辆的意图。
34.计算设备110可以使用路线选择系统170以便使用地图信息生成到目的地的路线。计算设备110可以使用规划系统168以便生成允许车辆遵循由路线选择系统生成的路线的短期轨迹。在这方面,规划系统168和/或路线选择系统166可以存储详细的地图信息,例如识别道路网络的高度详细的地图,包括道路的形状和高度、车道线、交叉路口、人行横道、速度限制、交通信号、建筑物(包括类型或类别、占地面积、楼数、层数、层高等)、标志、实时交通信息(从远程计算设备接收到的更新)、靠边停车点、植被或其他此类对象和信息。
35.图2是一段道路的地图信息200的示例。图2描绘了地图信息的一部分,其包括识别车道标记或车道线210、211、212、213、214、215的形状、位置和其他特性的信息,车道线210、211、212、213、214、215定义车道220、222、224、226的形状和位置。此外,地图信息包括道路边缘230、232,其可以对应于路面边缘、路缘石、墙壁、栏杆等。在道路边缘230和车道线210(例如雾线)之间是路肩区域236。类似地,在道路边缘232和车道线215(例如雾线)之间是路肩区域238。将车道220、222与车道224、226分开是中间带240。在这方面,地图信息200中表示的该段道路可以对应于分开的高速公路。除了这些特征之外,地图信息还可以包括识别交通方向和每个车道的速度限制的信息,以及允许计算设备110确定车辆是否具有完成特定操纵的通行权(即完成转弯或穿过交通车道或交叉路口)的信息,以及诸如路缘石、建筑物、水路、植被、标志等的其他特征。
36.尽管地图信息在本文中被描绘为基于图像的地图,但是地图信息不需要完全地基于图像(例如,光栅)。例如,地图信息可以包括信息的一个或多个道路图、图网络或道路网络,该信息诸如为道路、车道、交叉路口以及这些特征之间的连接,其可以由道路段表示。地图中的每个特征也可以存储为图数据,并且可以与下述信息相关联:诸如,地理位置,以及其是否链接到其他相关特征,例如,停止标志可以链接到道路和交叉路口等。在一些示例中,相关联的数据可以包括道路网络的基于网格的索引以允许某些道路网络特征的有效查找。
37.在这方面,除了上述物理特征信息之外,地图信息还可以包括多个图节点和表示道路或车道段的边,它们一起构成地图信息的道路网络。每个边由具有特定地理位置(例如纬度、经度、海拔等)的起始图节点、具有特定地理位置(例如纬度、经度、海拔等)的结束图节点和方向定义。该方向可指车辆100必须按其移动以便遵循边的方向(即,交通流的方向)。图节点可以位于固定或可变距离处。例如,图节点的间距可以从几厘米到几米不等,并且可以对应于图节点所在道路的速度限制。在这方面,更大的速率可以对应于图节点之间的更大的距离。
38.路线选择系统166可以使用道路图来确定从当前位置(例如当前节点的位置)到目的地的路线。可以使用基于成本的分析来生成路线,该基于成本的分析试图选择以最低成本到达目的地的路线。成本可以以任何数量的方式来评估,诸如到目的地的时间、行驶的距离(每个边可以与走过该边的成本相关联)、所需要操纵的类型、对乘客或车辆的便利性等。
每个路线可以包括车辆可以使用来到达目的地的多个节点和边的列表。随着车辆向目的地行驶,可以周期性地重新计算路线。
39.路线选择系统166可以使用前述地图信息来确定从当前位置(例如当前节点的位置)到目的地的路线。可以使用基于成本的分析来生成路线,该基于成本的分析试图选择以最低成本到达目的地的路线。成本可以以任何数量的方式来评估,诸如到目的地的时间、行驶的距离(每个边可以与走过该边的成本相关联)、所需要操纵的类型、对乘客或车辆的便利性等。每个路线可以包括车辆可以使用来到达目的地的多个节点和边的列表。随着车辆向目的地行驶,可以周期性地重新计算路线。
40.用于路线选择的地图信息可以与用于规划轨迹的地图信息是相同或不同的地图。例如,用于规划路线的地图信息不仅需要关于单独车道的信息,并且还需要车道边界的性质(例如,白色实线、白色虚线、黄色实线等)以确定允许改变车道的位置。然而,与用于规划轨迹的地图不同,用于路线选择的地图信息不需要包括其他细节,诸如人行横道、交通灯、停止标志等的位置,尽管该信息中的一些对于路线选择的目的可能是有用的。例如,在具有大量带有交通控制(诸如停止标志或交通信号灯)的交叉路口的路线与具有不带有或带有很少交通控制的路线之间,后一路线可能具有更低的成本(例如,因为其更快),并且因此是更优选的。
41.定位系统170可以由计算设备110使用以便确定车辆在地图上或地球上的相对的或绝对的定位。例如,定位系统170可以包括gps接收器以确定设备的纬度、经度和/或海拔定位。其他定位系统,诸如基于激光的定位系统、惯性辅助gps或基于相机的定位也可以用于识别车辆的位置。车辆的位置可以包括:绝对地理位置,诸如纬度、经度和海拔,道路图的节点或边的位置;以及相对位置信息,诸如相对于紧邻其周围的其他汽车的位置,其经常可以以比绝对地理位置更小的噪声来确定。
42.定位系统172还可以包括与计算设备计算设备110通信的其他设备,诸如加速度计、陀螺仪或另一方向/速率检测设备,以确定车辆的方向和速率或对其的改变。仅以示例的方式,加速设备可以确定其相对于重力方向或与其垂直的平面的俯仰、偏航或翻滚(或对其的改变)。该设备还可以跟踪速率的增加或减少以及这种改变的方向。可以自动地向计算设备110、其他计算设备和上述的组合提供如在本文中所陈述的设备对位置和定向数据的提供。
43.感知系统174还包括用于检测车辆外部的对象的一个或多个组件,该对象诸如为其他车辆、道路中的障碍物、交通信号、标志、树木等。例如,感知系统174可以包括记录和生成传感器数据的激光(例如,lidar传感器)、声纳、雷达、相机和/或任何其他检测设备,该传感器数据可以由车辆的计算设备(诸如计算设备110)处理。在车辆是诸如厢式旅行车的乘用车辆的情况下,厢式旅行车可以包括安装在车顶或其他方便位置上的激光或其他传感器。
44.例如,图3a是车辆300(诸如乘用车辆(例如厢式旅行车),其可以对应于车辆100)的示例外部视图。在该示例中,车顶传感器外壳310和圆顶传感器外壳312可以包括lidar传感器以及各种相机和雷达单元。另外,位于车辆100前端的传感器外壳320以及车辆驾驶员侧和乘客侧的传感器外壳330、332可以各自存放lidar传感器。例如,传感器外壳330位于驾驶员车门334的前方。车辆100还包括也位于车辆100的车顶上的用于雷达单元和/或相机的
传感器外壳340、342。附加的雷达单元和相机(未示出)可以位于车辆100的前端和后端处和/或在沿车顶或车顶传感器外壳310的其他定位上。
45.图3b和图3c是可以对应于车辆100的车辆350(诸如拖拉机挂车卡车)的示例外部视图。卡车可以包括例如单挂车、双挂车或三挂车,或者可以是另一中型或重型卡车,诸如商业重量等级4到8。如所示,卡车包括拖拉机单元360和单个货物单元或挂车362。挂车362可以是完全封闭的、敞开的(诸如平板车)、或部分敞开,取决于要运输的货物的类型。拖拉机单元360包括发动机和转向系统(未示出)以及用于驾驶员和任何乘客的驾驶室364。在完全自主布置中,驾驶室可能不配备座椅或手动驾驶组件,因为可能不需要任何人。
46.如所示,拖拉机单元360可具有沿其设置的一个或多个传感器外壳370、372。例如,圆顶传感器外壳370可以设置在驾驶室364的车顶或顶部,并且一个或多个侧面传感器外壳372可以设置在驾驶室的左侧和/或右侧。传感器外壳也可以沿着驾驶室364的其他区域定位,诸如沿着前保险杠或发动机罩区域、在驾驶室的后部中、与第五轮相邻、在底盘下方等。挂车362也可以具有沿例如挂车362的侧板、前部、后部、车顶和/或底盘设置在那里的一个或多个传感器外壳374。与车辆300一样,传感器外壳370、372、374可以包括记录和生成传感器数据的lidar传感器、声纳、雷达、相机和/或任何其他检测设备。
47.为了让自主车辆对非常远距离处的对象做出反应,或者更确切地说,对超出前向和/或360度lidar的范围的对象做出反应,车辆的感知系统可以利用一个或多个高分辨率相机来捕获图像。在这方面,这种相机可以位于车顶传感器外壳310、圆顶传感器外壳312、370或任何其他将适合相机的外壳内。使用上面的高速公路驾驶的示例,以便能够有效地检测对象并允许自主车辆对其做出响应,例如通过为停在路肩区域的车辆改变车道等,可以选择相机,使得相机的分辨率允许自主车辆的感知系统可靠地检测距离自主车辆300米远甚至比300米更远距离处的此类对象。
48.计算设备110可以能够与车辆的各种组件通信,以便根据计算设备110的存储器的主要车辆控制代码来控制车辆100的运动。例如,返回图1,计算设备110可以包括与车辆100的各种系统通信的各种计算设备,诸如减速系统160、加速系统162、转向系统164、信令系统166、规划系统168、路线选择系统170、定位系统172、感知系统174、行为建模系统176和动力系统178(即车辆的发动机或马达),以便根据存储器130的指令134控制车辆100的运动、速率等。
49.车辆的各种系统可以使用自主车辆控制软件来运作,以便确定如何控制车辆并控制车辆。作为示例,感知系统174的感知系统软件模块可以使用由自主车辆的一个或多个传感器(诸如相机、lidar传感器、雷达单元、声纳单元等)生成的传感器数据来检测和识别对象及其特性。这些特性可以包括位置、类型、航向、定向、速率、加速度、加速度的改变、大小、形状等。在一些情况下,可以将特性输入到行为建模系统176的行为预测系统软件模块中,该软件模块使用基于对象类型的各种行为模型,以输出针对被检测对象的预测未来行为。在其他情况下,特性可以被输入到一个或多个检测系统软件模块中,诸如被配置为检测已知交通信号的状态的交通灯检测系统软件模块、被配置为从由车辆的一个或多个传感器生成的传感器数据来检测施工区的施工区检测系统软件模块、以及被配置为从由车辆的传感器生成的传感器数据检测紧急车辆的紧急车辆检测系统。这些检测系统软件模块中的每一个可以使用各种模型来输出施工区或对象是紧急车辆的可能性。来自检测系统软件模块的
被检测对象、预测未来行为、各种可能性、识别车辆的环境的地图信息、来自定位系统170的识别车辆的位置和定向的定位信息、车辆的目的地位置或节点以及来自车辆的各种其他系统的反馈可以输入到规划系统168的规划系统软件模块中。
50.规划系统168可以使用该输入来基于由路线选择系统170的路线选择模块生成的路线来生成用于车辆在未来一短时间段内遵循的轨迹。在这方面,轨迹可以定义加速、减速、速率等的具体特性,以允许车辆遵循朝向到达目的地的路线。轨迹可以包括几何分量和速率分量。几何分量可以基于包括来自路线选择系统的路线的各种因素来确定。可以使用使用多个约束的迭代过程来确定速率分量。约束可以基于在车辆的环境中检测到的其他对象的预测轨迹(例如,车辆不能太靠近这些其他对象)以及车辆的特性和其他限制,诸如最大可允许减速限制。规划系统可以试图通过以最快的可允许速率开始,然后可以降低该速率以便满足该组约束中的所有约束,来确定速率曲线。如果规划器系统无法找到解决方案,则可以调整最大可允许减速限制(和/或其他约束),直到找到解决方案。
51.然后可以使用所得轨迹来控制车辆。例如,计算设备110的控制系统软件模块可以被配置为,例如通过控制车辆的制动、加速和转向,控制车辆的运动,以便遵循轨迹。
52.计算设备110可以通过控制各种组件来在自主驾驶模式下控制车辆。例如,通过示例的方式,计算设备110可以使用来自详细的地图信息和规划系统168的数据完全自主地将车辆导航到目的地位置。计算设备110可以使用定位系统170来确定车辆的位置,并且使用感知系统174来检测对象并且在需要时对对象进行响应,以安全地到达位置。再次地,为了这样做,计算设备110和/或规划系统168可以生成轨迹并且使车辆遵循这些轨迹,例如,通过使车辆加速(例如,通过由加速系统162向发动机或动力系统178供给燃料或其他能量)、减速(例如,通过减少供给到发动机或动力系统178的燃料、换档和/或通过由减速系统160施加制动)、改变方向(例如,通过由转向系统164转动车辆100的前轮或后轮)并且使用信令系统166发信号通知这种改变(例如,通过点亮转向信号)。因此,加速系统162和减速系统160可以是包括车辆的发动机和车辆的车轮之间的各种组件的传动系的一部分。再次地,通过控制这些系统,计算设备110还可以控制车辆的传动系以便自主地操纵车辆。
53.示例方法
54.除了以上描述的和图中图示的操作之外,现在还将描述各种操作。应当理解,以下操作不必按照以下描述的精确顺序执行。相反,可以以不同的顺序或同时地处理各种步骤,并且还可以添加或省略步骤。
55.图9是用于进行自主车辆的靠边停车操纵的示例流程图900,其可以由一个或多个计算设备的一个或多个处理器执行,诸如车辆100的处理器120。在框910处,使用相机捕获包括第一对象的第一相机图像,并且在框920处,使用相机捕获包括第二对象的第二相机图像。
56.随着车辆100移动其环境,感知系统的传感器可以捕获车辆周围或环境的图像。例如,第一相机图像和第二相机图像可以由同一相机在不同时间点捕获。例如,可以在第一图像之后捕获第二相机图像。同一相机,诸如上面讨论的高分辨率相机,可以用于捕获第一相机图像和第二相机图像两者。
57.图4是在对应于地图信息200的一段道路400上驾驶的车辆300(其可替代地可以是车辆350)的示例鸟瞰图。在该示例中,车道线210、211、212、213、214、215的形状、位置和其
他特性对应于车道线410、411、412、413、414、415的形状、位置和其他特性,车道220、222、224、226的形状、位置和其他特性对应于车道420、422、424、426的形状、位置和其他特性,道路边缘230、232的形状、位置和其他特性对应于道路边缘430、432的形状、位置和其他特性,路肩区域236、238的形状、位置和其他特性对应于路肩区域436、438的形状、位置和其他特性,并且中间带240的形状、位置和其他特性对应于中间带440。
58.在该示例中,车辆300正在车道420(对应于车道220)中向西驾驶并遵循轨迹460。轨迹460使车辆300经过车辆450(例如皮卡车)。为了便于理解,此示例中表示的距离不是按比例的。在此示例中,前向lidar传感器的范围可以为约200米(同样未按比例),而前向高分辨率相机的范围可以为约300米(同样未按比例)。在该示例中,车辆450停在距传感器外壳312略低于300米的距离处的路肩区域436上,如上所述,传感器外壳312可以存储能够可靠地检测和识别约300米处的对象的高分辨率相机。
59.图5a和图5b是第一相机图像500a和第二相机图像500b的示例,它们各自包括该段道路400以及车辆450的特征。第一相机图像500a可能已由车辆300的高分辨率相机在图4中描绘的车辆300和车辆450的相对距离时捕获。第二相机图像500b可能已由车辆300的高分辨率相机,在车辆300更接近车辆450时,在图4中描绘的车辆300和车辆450的相对距离的时间之后的某个点捕获。
60.在框930处,识别第一对象的第一边界框和到第一对象的距离,并且在框940处,识别第二相机图像的第二边界框和到第二对象的距离。这些第一相机图像和第二相机图像可以输入到对象识别模型中,该对象识别模型输出对象的2d边界框以及图像中对象的预测深度。对象的这个预测深度可以在相机空间中,即相机的局部坐标系中。然后可以使用相机的内在值和外在值,诸如焦距、光圈大小、相机相对于车辆的定位和旋转等以及捕获图像时车辆的位置,将此深度转换为对象的3d位置。对象识别模型可以是深度学习模型,该模型在图像(训练输入)中对象的标记边界框(训练输出)和这些对象的已知距离(训练输出)的示例上进行训练。在这方面,对象的检测是在每个图像的基础上执行的。此外,在某些情况下,对象识别模型可以仅被训练以识别特定类型的对象,诸如车辆和/或碎片。
61.例如,图6a是具有围绕车辆450的第一边界框600a的第一相机图像500a的示例。如上所述,计算设备还可以识别在捕获第一相机图像500a时高分辨率相机和车辆450之间的距离,并且将该距离与第一相机图像相关联。类似地,图6b是具有围绕车辆450的第二边界框600b的第二相机图像500b的示例。同样,计算设备也可以识别在第二相机图像500b被捕获时高分辨率相机和车辆450之间的距离,并且将该距离与第二相机图像相关联。
62.考虑到检测更长范围的对象以便给予车辆足够的时间来响应(例如通过改变车道)的重要性,可以连续使用对象识别模型。也就是说,检测过程不需要由特定事件触发。可替代地,对象识别模型可以仅在某些情形下使用,诸如当自主车辆在某种类型的道路(例如高速公路)上和/或以某些速率(例如大于每小时45英里)运行时。
63.返回图9,在框950处,使用第一模型来计算两个边界框的视觉相似性,使用第二模型来比较基于到第一对象的距离的三维位置和基于到第二对象的距离的三维位置,以及使用第三模型以比较来自第一模型和第二模型的结果,来确定第一对象是否是第二对象。一旦识别出对象,就可以在相机图像之间随时间对其进行跟踪。为了识别哪些对象应该作为同一对象被跟踪,来自第一图像的对象的边界框,即在边界框内的第一图像的部分,可以与
来自第二相机图像的对象的边界框进行比较。在这方面,可以将第一边界框600a内的第一相机图像500a的部分与第二边界框600b内的第二相机图像500b的部分进行比较。
64.如果来自两个不同图像的两个对象足够相似,则可以将这些对象作为同一对象或单个跟踪对象一起跟踪。在这方面,如果在第一边界框600a内的第一相机图像500a的部分可以与在第二边界框600b内的第二相机图像500b的部分进行比较的比较结果指示边界框对应于同一对象,这里是车辆450,则这些对象可以作为同一对象或单个跟踪对象一起跟踪。
65.跟踪对象可以涉及捕获和存储对象的“轨迹”,包括由各种模型生成的特性,诸如对象的位置、速率、加速度等随时间的改变。在这方面,跟踪对象可以包括数据关联以及状态估计。数据关联可以包括将同一对象的新传入检测分配给对象的现有轨迹,或确定对象的这些新传入检测属于先前未检测的对象并且应作为新对象进行跟踪。状态估计可以包括根据给定跟踪对象的传感器数据的序列估计该对象的特性,诸如位置、速度和加速度。尽管最初这可能包括由同一相机捕获的两个相机图像之间的数据关联和/或状态估计,如下所指示的,但过滤技术可用于包括来自使用其他相机以及其他类型传感器(例如lidar、声纳、雷达等)检测的同一对象的检测的信息。
66.可以在第一相机图像和/或第二相机图像与后来从同一相机捕获的图像之间进行上述比较,以便添加或更新对象的轨道的特性。比较可以涉及利用多个模型。第一相似性模型可用于计算两个边界框内的图像的部分或图块(图像图块)的视觉相似性嵌入。例如,一对各自表示图像图块之一的输入嵌入可以输入到第一相似性模型中,该第一相似性模型然后处理输入嵌入并输出视觉相似性嵌入。不同的嵌入可以配置为具有表示不同信息的值(诸如离散值、浮点值或其他值)的向量。在某些情况下,可以使用余弦相似性或点积来比较这些嵌入,以计算两个嵌入之间的相似性。这可以提供两个嵌入之间的相似性值或距离值,并且可以用作代理来估计嵌入表示的与边界框相对应的对象之间的相似性。类似的方法可用于计算两组嵌入之间的相似性。此外,使用余弦相似性可以提供一种使用这些嵌入计算相似性的有效且快速的方式,尽管也可以使用更复杂的方法,诸如神经网络和其他机器学习方法。
67.第一相似性模型可以是卷积神经网络(cnn)或一些其他机器学习模型。可以在包括图像图块对的数据集上训练第一相似性模型。这些图像图块来自在来自同一相机(或可能不同的相机)的连续相机帧中识别的对象的边界框。具体地,所述对可以包括正对和负对。在这方面,正对可以包括对应于在连续帧中观察到的同一对象的两个图像图块。负对可以包括对应于连续帧中的不同对象的两个图像图块。然后可以使用这些对以及对比损失来训练第一相似性模型,该对比损失鼓励模型为对应于同一物理对象的图像图块预测相似的视觉相似性嵌入,并为对应于不同物理对象的图像图块预测不相似的嵌入(小余弦相似性值)。例如,使用余弦相似性作为相似性度量,对应于同一对象的图像图块的嵌入将具有较大的余弦相似性值(例如更接近1),而不同对象的嵌入将具有较小的余弦相似性值(例如更接近0)。
68.第二相似性模型可以用于计算边界框的对象的特征(诸如它们的3d位置)(如上所述确定)的地理运动嵌入。作为示例,可以将一对各自表示边界框之一的对象的特征的输入嵌入输入到第二相似性模型中,该第二相似性模型然后处理输入嵌入并输出从2d/3d地理
运动角度对相似性度量进行编码的地理运动嵌入。换句话说,这种地理运动嵌入可以表示非视觉特征的相似性(例如非视觉相似性)。同样,嵌入可以配置为具有表示不同信息的值(诸如离散值、浮点值或其他值)的向量。可以合并到输入嵌入中并使用第二相似性模型进行比较的对象的其他特征可能包括从相机到对象的2d距离、两个边界框的2d交并比(iou)(例如,如果两个框完全重叠,值更接近1,如果两个框不重叠,则值更接近0)、2d边界框的特性(尺寸、形状、姿势等),边界框中心之间的距离等。
69.从第一相似性模型和第二相似性模型生成的嵌入然后可以被输入到第三相似性模型中,以便生成指示来自不同图像的边界框的对象的相似性的值。例如,第一相似性模型生成的视觉相似性嵌入可以与第二相似性模型生成的地理运动嵌入融合。这可以通过例如拼接嵌入或可替代地将它们发送到另一个机器学习模型来学习将它们融合成单个嵌入来执行。融合嵌入可以被输入到第三相似性模型中。
70.第三相似性模型可以是机器学习距离网络,其可以输出表示融合嵌入所表示的两个识别对象的相似性的值。第三相似性模型输出的值可以是例如0到1范围内的值,其中0为不相似,而1为相同。在这种情况下,可以将该值与阈值进行比较,以确定对象是否“足够相似”以作为单个对象进行跟踪。阈值可以取决于精度和比较的召回目标手动调整。可替代地,第三相似性模型输出的值可以是二进制值(例如0或1,其中0为不相似,而1为相同)。如果边界框和对象的特征足够相似,则可以使用第二相机图像来确定附加特征,诸如速率、速度、航向和加速度,这些特征可以合并到来自第二模型的地理运动嵌入中,并且从而也用作到第三相似性模型中的输入(例如,当将新图像与轨道进行比较时,如下面进一步讨论的)。如果两个对象不够相似,则这些对象可能被认为是不同的对象,但仍可能是被跟踪对象。
71.第二相似性模型和第三相似性模型可以是多层感知器模型(mlp),其可以比较视觉相似性以及几何或运动相似性两者,或一些其他机器学习模型。这些模型可以一起或单独训练,或者可以使用交叉熵损失或对比损失方法进行优化。
72.尽管本文中的示例涉及比较两个图像,但是类似的方法可以用于将新图像与对象的轨道进行比较。在这方面,该过程可以涉及确定在新图像中识别的对象是否是已经在轨道中被跟踪的对象。在这些情况下,第二相似性模型的输入嵌入的其他特征可以包括运动值,诸如速率、速度、航向、加速度等,给定与轨道进行比较的图像的时间戳。当这些值不可用时,诸如在如上述示例比较两个图像(而不是新图像和轨道)时,这些值可以设置为零。
73.图7是第一相似性模型710、第二相似性模型720和第三相似性模型730的输入和输出的抽象表示。在该示例中,对应于第一边界框600a的第一相机图像500a的部分和对应于第二边界框600b的第二相机图像500b的部分被输入到第一相似性模型710中。第一相似性模型710输出表示边界框的视觉相似性的视觉相似性嵌入740。同时或大约同时,对应于第一边界框600a的第一相机图像500a的部分的特征和对应于第二边界框600b的第二相机图像500b的部分的特征被输入到第二相似性模型720中。第二相似性模型720输出表示边界框的非视觉相似性(例如它们3d位置的相似性)的地理运动嵌入750。然后可以将视觉相似性嵌入和非视觉相似性嵌入融合并输入到第三相似性模型730中,该第三相似性模型730输出相似性值760。
74.返回图9,在框960处,基于第三模型的结果在自主驾驶模式下控制车辆。感知系统可以将轨道发布到自主车辆的其他系统。例如,感知系统可以将对象的标识符及其特性(从
相机和/或其他传感器生成)发布到自主车辆的其他系统。例如,可以将感知系统发布的信息输入到行为建模系统中,以便生成对象的行为预测。此外,自主车辆的规划器系统可以使用感知系统发布的信息以及行为预测来对对象做出响应。这样,车辆实际上可以在对象被车辆的其他传感器(诸如lidar或雷达传感器)检测到之前就开始对使用远程相机检测到的对象做出响应。
75.在一些情况下,还可以采用基于滤波器的算法来识别使用不同类型的传感器(诸如相机、lidar传感器和雷达)检测到的常见对象。当然,如上所述,在某些距离处,lidar和雷达数据实际上可能不可用。然而,一旦可用,滤波器就可用于识别来自相机图像的跟踪对象(如上所述)及其特性(位置、航向、速率、随时间的改变等)实际上是否与来自lidar、雷达或其他传感器的另一个跟踪对象相同。作为示例,滤波器可以包括与交互多模型(imm)算法或其他对象跟踪算法相结合的无迹卡尔曼滤波器。在这方面,由不同传感器生成的同一对象的不同“轨道”(例如相机轨道、lidar轨道、雷达轨道等)可以提供通用标识符或一些其他信息,以便识别它们的关系(例如,它们是同一对象)。
76.同样,该信息也可以由感知系统发布到自主车辆的其他系统。如上所述,可以将感知系统发布的信息输入到行为建模系统中,以便生成对象的行为预测。此外,自主车辆的规划器系统可以使用感知系统发布的信息以及行为预测来对对象进行响应。
77.为了检测和识别如以上面示例中的可能需要车辆改变车道的较大距离处的对象,分类器可用于确定被跟踪对象是否是停在路肩区域的车辆。分类器不仅可以利用来自相机图像的轨道,还可以一旦来自其他传感器(诸如lidar或雷达)的轨道变得可用(或者更确切地说,使用上面讨论的滤波器被识别)就利用它们。例如,可以将对象的轨道存储为可以输入分类器的嵌入。在分类器中,没有特定类型传感器的数据(例如,没有lidar轨道或雷达轨道),嵌入中这些字段的值可以为零。作为示例,分类器可以试图识别(1)位于与预存储的地图信息中的路肩区域相对应的区域上并且(2)没有移动(例如看起来是静止的)的对象。在这方面,分类器也可以使用本地地图信息(例如地图信息200)作为输入。分类器可以输出指示对象是路肩区域上的静止车辆的可能性有多大的值。该值可以与阈值进行比较,并且比较的结果可以用于控制车辆。
78.分类器可以被配置为决策树、深度神经网络或其他机器学习方法。在决策树的示例中,分类器可以是随机森林机器学习算法。在这方面,可以将表示对象的轨道的嵌入输入到分类器中。在某些情况下,仅嵌入表示特定类型对象的轨道,诸如特定大小的车辆(例如小型乘用车或更大)。分类器可以包括节点和分支,其可用于评估嵌入是否存在来自除相机之外的传感器的轨道。换言之,分类器可以使自主车辆的感知系统既在识别出对象(例如,超出感知系统的其他传感器的范围)时考虑相机轨道,又在其他传感器变得可用时考虑它们生成的轨道。
79.同样,该信息可以由车辆的感知系统发布到自主车辆的其他系统。如上所述,可以将感知系统发布的信息输入到行为建模系统中,以便生成对象的行为预测。此外,自主车辆的规划器系统可以使用感知系统发布的信息以及行为预测来对对象进行响应,例如通过改变车道以便遵守要求车辆改变车道以远离停在路肩区域的车辆等的某些司法管辖区的规则。为了改变车道,车辆可能还需要减速或可替代地加速。在某些情况下,如果车辆无法进行车道改变,车辆可以减速、停止和/或请求来自远程操作员的协助和/或如果有驾驶员可
以控制车辆,则可以切换到手动驾驶模式。通过生成将使车辆改变车道的轨迹,车辆实际上可以开始对诸如道路路肩区域上的停止车辆的对象实施这种响应。
80.图8是新轨迹860的示例,一旦车辆450被检测为停在道路的路肩区域的车辆,车辆300的规划系统168就可以生成该新轨迹860,以便将车道从车道420改变到车道422,并且离开车辆450。在一些情况下,可以使用远程相机检测停止的车辆,并且在对象甚至已经被其他传感器(诸如lidar或雷达传感器)检测到之前生成此类轨迹并用于控制车辆。
81.本文描述的特征可以允许利用用于自主车辆的高分辨率相机对对象的远程检测。这可以通过使用“相机优先”检测进行对象的初始定位和跟踪来实现,这些对象的初始定位和跟踪随后可以与其他类型的传感器生成的信息融合。如上所述,这对于检测诸如停在诸如高速公路的道路的路肩区域的车辆的对象并增加自主车辆可以改变车道的时间量可能特别有用。此外,对停在道路的路肩区域的车辆的检测也可以用作建议附近可能存在一个或多个行人的信号,并且因此,自主车辆在靠近时应该谨慎前进。此外,上面讨论的检测、定位、跟踪和分类特征在前方存在缓慢交通(例如由于施工、停止车辆、道路中的碎片或事故),在那里自主车辆将需要改变车道等的情形下也可能有用。
82.除非另有说明,前述替代示例不是相互排斥的,而是可以以各种组合实施以实现独特的优势。由于可以在不背离权利要求限定的主题的情况下利用上述特征的这些和其他变化和组合,因此实施例的前述描述应当通过说明的方式而不是通过对由权利要求限定的主题的限制的方式来理解。此外,本文描述的示例的提供以及措辞为“诸如”、“包括”等的条款不应被解释为将权利要求的主题限制为特定示例;相反,这些示例旨在仅说明许多可能的实施例中的一个。此外,不同附图中相同的附图标记可以标识相同或相似的元件。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献