用于自主驾驶车辆的传感器校准系统的制作方法

文档序号:22549242发布日期:2020-10-17 02:22阅读:113来源:国知局
用于自主驾驶车辆的传感器校准系统的制作方法

本公开的实施例总体上涉及操作自主车辆。更具体地,本公开的实施例涉及校准自主驾驶车辆的传感器系统。



背景技术:

以自主模式(例如,无人驾驶)操作的车辆可以减轻乘坐者,尤其是驾驶员的一些驾驶相关的责任。当以自主模式操作时,车辆可以使用车载传感器导航到各种位置,从而允许车辆以最小的人机交互或者在没有乘客的一些情况下行驶。

为了精确地自主驾驶车辆,系统严重依赖于从安装在车辆上的诸如相机、lidar和radar设备等的传感器获得的传感器数据。然而,这种传感器需要被周期性地校准以确保传感器的准确,使得自主驾驶系统的感知系统能够准确地检测和识别驾驶环境的对象和车道配置。然而,缺少有效的传感器校准系统。



技术实现要素:

在一个实施例中,本申请涉及一种用于校准自主驾驶车辆(adv)的传感器的计算机实施的方法。所述方法包括:基于捕获第一图像的相机的俯仰角,确定表示从所述adv的视角看去的消失点的水平线,所述第一图像表示从所述adv的视角看去的二维(2d)视图;基于对所述第一图像执行的感知处理,基于所述第一图像确定一个或多个车道线;响应于从输入设备接收的第一输入信号,基于所述第一输入信号更新所述水平线的位置,以及基于更新的水平线更新所述车道线中的至少一个的位置;以及根据所述车道线,基于所述水平线与所述更新的水平线之间的差异确定用于校准所述相机的所述俯仰角的第一校准因子。

在另一实施例中,本申请进一步涉及一种非暂时性机器可读介质,其中存储有指令,当由处理器执行时,所述指令使得所述处理器执行上述用于校准自主驾驶车辆(adv)的传感器的计算机实施的方法。

在另一实施例中,本申请进一步涉及一种数据处理系统。数据处理系统包括:处理器;以及存储器,耦接至所述处理器以存储指令,当由所述处理器执行时,所述指令使得所述处理器执行上述用于校准自主驾驶车辆(adv)的传感器的计算机实施的方法。

在另一实施例中,本申请进一步涉及一种用于校准自主驾驶车辆(adv)的传感器的计算机实施的装置,包括:感知模块:用于基于捕获第一图像的相机的俯仰角,确定表示从所述adv的视角看去的消失点的水平线,所述第一图像表示从所述adv的视角看去的二维(2d)视图;以及基于对所述第一图像执行的感知处理,基于所述第一图像确定一个或多个车道线;以及车道校准模块,用于响应于从输入设备接收的第一输入信号,基于所述第一输入信号更新所述水平线的位置,以及基于更新的水平线更新所述车道线中的至少一个的位置;以及根据所述车道线,基于所述水平线与所述更新的水平线之间的差异确定用于校准所述相机的所述俯仰角的第一校准因子。

附图说明

本公开的实施例通过示例的方式示出并且不限于附图中的图,在附图中,相似的附图标记表示相似的元件。

图1是示出根据一个实施例的联网系统的框图。

图2是示出根据一个实施例的自主车辆的示例的框图。

图3a-3b是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。

图4是示出根据一个实施例的传感器校准系统的框图。

图5a-5c示出车辆的俯仰角、偏转角和侧倾角。

图6a和6b是示出根据一个实施例的用于校准传感器的图形用户界面的示例的屏幕截图。

图7是示出根据一个实施例的用于校准自主驾驶车辆的传感器的过程的示例的流程图。

具体实施方式

将参考以下讨论的细节描述本公开的各个实施例和方面,并且附图将示出各个实施例。以下描述和附图是本公开的说明并且不应被解释为限制本公开。描述了许多具体细节以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为了提供对本公开的实施例的简要讨论,没有描述公知或常规的细节。

说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特别特征、结构或特性可包括在本公开的至少一个实施例中。在说明书中的各个地方出现的短语“在一个实施例中”不必须都指同一实施例。

根据一些实施例,具有观测仪的校准系统被用于校准自主驾驶车辆(autonomousdrivingvehicle,adv)的传感器(例如,相机、lidar、radar)。观测仪包括用户接口,以视觉地显示由相机捕获的二维(two-dimensional,2d)图像并视觉显示三维(three-dimensional,3d)图像,以允许用户视觉地校准相机、lidar设备和/或radar设备。用户可以使用诸如键盘或操纵杆的输入设备以校准诸如俯仰角、偏转角和/或侧倾角的传感器的任一个,以提供增量校准反馈,同时在显示设备上同时显示校准结果。结果,用户可以基于用户反馈视觉地“感受”校准结果。

根据一个实施例,响应于由adv的相机捕获的第一图像,基于相机的硬件设置确定水平线。水平线表示基于相机的初始或默认俯仰角,从adv的视角看去的消失点。经由对第一图像执行的感知处理基于第一图像确定一个或多个车道线。响应于从输入设备(例如,键盘、操纵杆、语音交互命令)接收的第一输入信号(例如,上或下箭头键),基于第一输入信号更新水平线的位置,并且基于更新的水平线更新车道线中的至少一个的位置。输入信号可以表示用于调整水平线的位置的增量调整。基于初始的水平线与更新的水平线之间的差异确定用于校准相机的俯仰角的第一校准因子或第一校正值。

在一个实施例中,其上叠加有水平线的第一图像被显示在显示设备的第一显示区域内。当水平线的位置被更新时,在第一显示区域上更新第一图像以更新水平线的位置以向用户提供视觉反馈。在一个实施例中,在显示设备的第二显示区域内显示第二图像。第二图像包括从基于第一图像的2d视图的俯视图和3d视图来看的叠加在其上的车道线。当更新水平线时,还基于由更新的水平线表示的俯仰角更新第二显示区域上的第二图像上的车道线的位置。在一个实施例中,基于第一图像和第二图像生成第三图像,第三图像也被称为基于与第二图像相关的3d信息的第一图像的重投影2d视图。第三图像显示在显示设备的第三显示区域内。当基于第二图像上的输入信号调整车道线时,也调整第三图像上显示的车道线以在2d视图中反映车道线的更新。用户可以基于更新的相机的俯仰角观看车道线的结果。

根据一个实施例,响应于从输入设备(例如,左或右箭头键)接收的第二输入信号,基于第二输入信号修改车道线中的至少一个的位置。在第二显示区域上显示的第二图像上更新车道线的位置。基于车道线的位置的修改确定用于校准相机的偏转角的第二校准因子。类似地,响应于从输入设备(例如,左移或右移箭头键)收的第三信号,修改车道线并确定用于校准相机的侧倾角的第三校准因子。第一、第二和第三图像分别在第一、第二和第三显示区域内同时显示。可以实施与上述过程类似的过程以确定用于lidar和/或radar设备的校准因子。可以在车辆行驶时在线使用上述过程,并实时捕获图像以实时校准传感器。可替换地,可以基于先前捕获的图像或点云离线地执行上述过程。校准因子可以由诸如感知模块的软件应用程序用于调整诸如俯仰角、偏转角和侧倾角的图像处理参数以在图像处理期间补偿硬件。

图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括自主车辆101,其可以通过网络102通信地耦合到一个或多个服务器103-104。尽管示出一个自主车辆,但是多个自主车辆可以彼此耦合和/或通过网络102耦合到服务器103-104。网络102可以是有线的或无线的任何类型的网络,诸如局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)(诸如因特网的)、蜂窝网络、卫星网络、或其组合。服务器103-104可以是任何类型的服务器或服务器群集,诸如web或云服务器、应用服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(mapandpointofinterest,mpoi)服务器或位置服务器等。

自主车辆指的是能够被配置为处于自主模式的车辆,在该模式中,车辆在很少或没有驾驶员的输入的情况下通过环境导航。这种自主车辆可以包括具有一个或多个传感器的传感器系统,传感器被配置为检测关于其中车辆操作的环境的信息。车辆及其相关的控制器使用检测的信息来通过环境导航。自主车辆101可以以手动模式、全自主模式或部分自主模式操作。

在一个实施例中,自主车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113、信息娱乐系统114和传感器系统115。自主车辆101可以进一步包括在普通车辆中包括的某些公共组件,诸如引擎、车轮、转向盘、变速器等,其可以由车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令(例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)控制。

组件110-115可以经由互连、总线、网络或其组合彼此通信地耦接。例如,组件110-115可以经由控制器局域网(controllerareanetwork,can)总线彼此通信地接。can总线是车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是基于消息的协议,最初被设计用于汽车内的多路电线,但也用于许多其它环境中。

现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(globalpositioningsystem,gps)单元212、惯性测量单元(inertialmeasurementunit,imu)213、雷达单元214和光检测和范围(lightdetectionandrange,lidar)单元215。gps系统212可以包括可操作以提供关于自主车辆的位置的信息的收发器。imu单元213可以基于惯性加速度感知自主车辆的位置和方向变化。雷达单元214可以表示利用无线电信号来感测自主车辆的局部环境内的对象的系统。在一些实施例中,除了感测对象之外,雷达单元214可以额外地感测对象的速度和/或航向。lidar单元215可以使用激光感知自主车辆所处的环境中的对象。lidar单元215可以包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机211可包括捕获自主车辆周围的环境的图像的一个或多个设备。相机211可以是静态相机和/或摄像机。相机可以是机械可移动的,例如通过将相机安装在旋转和/或倾斜的平台上。

传感器系统115可以进一步包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可以被配置为捕获来自自主车辆周围的环境的声音。转向传感器可以被配置为感测转向盘的转向角、车辆的车轮或其组合。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可以集成为集成的油门/制动传感器。

在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调节车辆的方向或航向。油门单元202用于控制电动机或引擎的速度,电动机或引擎的速度又控制车辆的速度和加速度。制动单元203用于通过提供摩擦力以放慢车辆的车轮或轮胎来使车辆减速。注意,图2中示出的组件可以以硬件、软件或其组合实施。

返回参考图1,无线通信系统112用于允许在自主车辆101和外部系统(诸如设备、传感器、其他车辆等)之间的通信。例如,无线通信系统112可以直接或经由通信网络与一个或多个设备无线通信,诸如通过网络102与服务器103-104无线通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(wirelesslocalareanetwork,wlan),例如使用wifi,以与另一组件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户接口系统113可以是车辆101内实现的外围设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。

自主车辆101的一些或所有功能可以由感知和规划系统110控制或管理,尤其是当在自主驾驶模式下操作时。感知和规划系统110包括必要的硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路由程序),以从传感器系统115、控制系统111、无线通信系统112和/或用户接口系统113接收信息,处理接收的信息,规划从起点到目的地点的路线或路径,然后基于规划和控制信息驾驶车辆101。可替换地,感知和规划系统110可以与车辆控制系统111集成。

例如,作为乘客的用户可以例如经由用户接口指定行程的起始位置和目的地。感知和规划系统110获得行程有关的数据。例如,感知和规划系统110可以从mpoi服务器获得位置和路线信息,mpoi服务器可以是服务器103-104的部分。位置服务器提供位置服务,且mpoi服务器提供地图服务和某些位置的poi。可替换地,这种位置和mpoi信息可以被本地缓存在感知和规划系统110的永久存储设备中。

当自主车辆101沿着路线移动时,感知和规划系统110还可以从交通信息系统或服务器(trafficinformationsystemorservice,tis)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与感知和规划系统110集成。基于实时交通信息、mpoi信息和位置信息,以及由传感器系统115检测或感测的实时局部环境数据(例如,障碍物、对象、附近车辆),感知和规划系统110可以规划最佳路线,并例如经由控制系统111根据规划的路线驾驶车辆101,以安全且高效地到达指定目的地。

服务器103可以是数据分析系统,以执行用于各种客户端的数据分析服务。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自主车辆或者是由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发出的驾驶命令(例如,油门、制动、转向命令)和由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123可以进一步包括描述不同时间点的驾驶环境的信息,诸如路线(包括起始位置和目的地位置)、mpois、道路条件、天气条件等。

基于驾驶统计123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施例中,算法124可以包括用于自主驾驶车辆的算法,如下面进一步描述的。算法124可以进一步包括传感器校准算法,这将在下面进一步描述。然后,算法124可以被上传到adv上,以在自主驾驶期间实时使用。

在一个实施例中,传感器校准系统125可以由服务器103主管,以基于传感器捕获的图像和/或点云离线地校准传感器,诸如相机、lidar和/或radar设备。可基于由adv的目标传感器捕获的先前捕获的传感器数据离线地执行传感器校准过程。然后,校准参数可以被上传到对应的车辆,并且由自主驾驶软件用于校准和补偿对应的传感器。下面将进一步详细描述校准过程。

图3a和3b是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。系统300可以被实施为图1的自主车辆101的部分,包括但不限于感知和规划系统110、控制系统111和传感器系统115。参考图3a-3b,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线模块307和传感器校准模块或系统308。

模块301-308中的一些或全部可以以软件、硬件或其组合实施。例如,这些模块可以安装在永久存储设备352中,加载到存储器351中,并由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦合到图2的车辆控制系统111的一些或全部模块或与之集成。模块301-308中的一些可以被集成在一起作为集成模块。

定位模块301确定自主车辆300的当前位置(例如,利用gps单元212)并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户接口登录并指定行程的起始位置和目的地。定位模块301与自主车辆300的其他组件,诸如地图和路线信息311通信,以获得行程相关的数据。例如,定位模块301可以从位置服务器和地图与poi(mpoi)服务器获得位置和路线信息。位置服务器提供位置服务,且mpoi服务器提供地图服务和某些位置的poi,它们可作为地图和路线信息311的部分被高速缓存。当自主车辆300沿着路线移动时,定位模块301还可以从交通信息系统或服务器获得实时交通信息。

基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员能够对驾驶员正在驾驶的车辆周围所感知的是什么。感知可以包括车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道、或者例如以对象形式的其它交通相关的标志(例如,停止标志、让步标志)等。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,直的或弯曲的)、车道的宽度、道路中的车道数量、单向或双向车道、合并或分离车道、驶出车道等。

感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以便识别自主车辆的环境中的对象和/或特征。对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施例中,计算机视觉系统可以绘制环境、跟踪对象、以及估计对象的速度等。感知模块302还可以基于由诸如雷达和/或lidar的其他传感器提供的其他传感器数据检测对象。

对于每个对象,预测模块303预测对象将在该环境下的表现是什么。基于感知在考虑到一组地图/路线信息311和交通规则312的时间点的驾驶环境的感知数据执行预测。例如,如果对象是在相反方向上的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆将可能直线向前移动还是转弯。如果感知数据指示交叉路口没有交通灯,预测模块303可以预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转弯车道或仅右转弯车道,预测模块303可以预测车辆将更可能分别进行左转弯或右转弯。

对于每个对象,决策模块304作出关于如何处理对象的决策。例如,对于特定对象(例如,在交叉路线中的另一车辆)以及描述该对象的元数据(例如,速度、方向、转弯角),决策模块304决定如何遇到该对象(例如,超车、让行、停止、通过)。决策模块304可以根据一组规则,诸如交通规则或驾驶规则312作出这些决策,这组规则可以存储于永久存储设备352中。

路线模块307被配置为提供从起点到目的地点的一条或多条路线或路径。对于例如从用户接收的从起始位置到目的地位置的给定行程,路线模块307获得路线和地图信息311并确定从起始位置到达目的地位置的所有可能的路线或路径。路线模块307可以为确定从起始位置到达目的地位置的每条路线生成地形图形式的参考线。参考线是指在没有来自诸如其它车辆、障碍物或交通状况的其它的任何干扰的情况下的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,adv应该精确地或紧密地跟随参考线。然后,地形图被提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305检查所有可能的路线,以考虑由其它模块提供的其它数据(诸如来自定位模块301的交通状况、由感知模块302感知的驾驶环境和由预测模块303预测的交通状况)来选择和修改最佳路线中的一个。取决于时间点处的特定驾驶环境,用于控制adv的实际路径或路线可以接近或不同于由路线模块307提供的参考线。

基于对于感知的对象中的每个的决策,规划模块305使用由路线模块307提供的参考线作为基础规划用于自主车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转弯角)。也就是说,对于给定对象,决策模块304决策对该对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决定穿过该对象,而规划模块305可以确定从对象的左侧还是右侧穿过。规划和控制数据由规划模块305生成,包括描述车辆300在下一移动周期(例如,下一个路线/路径段)中将如何移动的信息。例如,规划和控制数据可以指示车辆300以30英里每小时(mph)的速度移动10米,然后以25mph的速度改变到右车道。

基于规划和控制数据,控制模块306通过向车辆控制系统111发送适当的命令或信号,根据由规划和控制数据定义的路线或路径控制和驾驶自主车辆。规划和控制数据包括沿着路径或路线在不同时间点使用合适的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点的足够信息。

在一个实施例中,在多个规划周期(也称为驾驶周期)内执行规划阶段,诸如以100毫秒(ms)的每个时间间隔。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305规划下一个路线段或路径段,例如包括目标位置和adv到达目标位置所需的时间。可替换地,规划模块305可以进一步指定特定速度、方向和/或转向角等。在一个实施例中,规划模块305为下一预定的时间段,诸如5秒规划路线段或路径段。对于每个规划周期,规划模块305基于在先前周期内规划的目标位置规划用于当前周期(例如,下一个5秒)的目标位置。然后控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。

注意,决策模块304和规划模块305可以集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以确定用于自主车辆的驾驶路径。例如,导航系统可以确定一系列速度和方向航向,以影响自主车辆沿着基本上避免感知的障碍物的路径的移动,同时通常使自主车辆沿着通向最终目的地的基于道路的路径前进。目的地可以根据用户输入经由用户接口系统113设置。当自主车辆在操作时,导航系统可以动态地更新驾驶路径。导航系统可以合并来自gps系统的数据和一个或多个地图,以便确定用于自主车辆的驾驶路径。

根据一个实施例,传感器校准模块或系统308被配置为使用传感器校准算法313,基于由传感器捕获的图像或点云校准传感器以确定一组校准参数。软件可以利用校准参数补偿感知过程期间的传感器的硬件设置。传感器校准模块308可以被实施为感知模块302的部分或者通信地耦接至感知模块302。传感器校准模块308的功能可以被维持在诸如服务器103的数据分析系统中,以基于由对应的传感器捕获的图像离线地执行传感器的传感器校准。然后,校准结果可以被上传到车辆上,以在图像处理期间作为感知过程的部分被在线地使用。

图4是示出根据一个实施例的传感器校准系统的框图。参考图4,如上所述,感知模块302从诸如相机211、lidar215和radar214的各种传感器接收传感器数据。对于相机211,传感器数据可以包括图像,并且对于lidar215,对应的传感器数据可包括点云图像。然后,由感知模块302处理传感器数据,诸如图像处理,包括检测图像内的对象以及确定表示道路的消失点的水平线。感知处理的结果可以被其他模块利用,诸如被预测模块303和规划模块305用于自主驾驶。

另外,由感知模块302处理的图像可以由传感器校准模块308用于传感器校准。根据一个实施例,传感器校准模块308包括2d渲染模块401、3d渲染模块402和2d再投影模块403。响应于由相机211捕捉并由感知模块302处理的图像,2d渲染模块401被配置为渲染2d视图,包括根据相机设置(例如,硬件预设的俯仰角)将水平线叠加到图像上。然后,2d视图图像作为2d视图411的部分显示在显示设备405上。基于2d视图图像,3d渲染模块412被配置为使用诸如从lidar215和radar214获得的传感器数据的其它3d信息渲3d视图,诸如自顶向下视图。然后,3d视图图像作为3d视图412的部分显示在显示设备405上。2d再投影模块403被配置为从3d视图图像渲染或重构2d视图。注意,2d再投影模块403可以与2d渲染模块401集成。

然后,在显示设备405上显示再投影的2d视图,作为2d再投影视图413的部分。用户然后可以使用诸如键盘或操纵杆的输入设备404输入反馈或调整。响应于用户提供的输入,模块411-413调整某些参数,再次呈现图像,并在显示设备405上显示更新的图像。结果,用户可以校准传感器,直到满足显示设备405上所示的校准结果。一旦满足校准结果,校准因子计算器406确定校准因子410并反馈到感知模块302或其它软件模块,以便软件模块可以以软件级别执行适当的调整以补偿传感器的硬件设置。

根据一个实施例,响应于由adv的相机捕获的第一图像,感知模块302基于相机的硬件设置确定水平线。水平线表示基于相机的初始或默认俯仰角,从adv的视角看去的消失点。感知模块302可以包括检测图像内的对象的对象检测器和检测一个或多个车道的车道检测器。感知模块302基于第一图像确定一个或多个车道线。将具有检测的对象、车道线和水平线的处理的第一图像提供给传感器校准模块308。

响应于从输入设备(例如,键盘、操纵杆、麦克风以接收语音交互命令)接收的第一输入信号(例如,上或下箭头按键),基于第一输入信号更新水平线的位置,并基于更新的水平线更新车道线中的至少一个的位置。输入信号可以表示用于调整水平线的位置的增量值。基于初始的水平线与更新的水平线之间的差异确定用于校准相机的俯仰角的第一校准因子或第一校正值。如图5a和5b所示,俯仰角可以由俯仰倾斜角或俯仰程度/倾斜百分比表示。正俯仰角表示上坡道路,负俯仰角表示下坡道路,或者反之亦然。

在一个实施例中,其上叠加有水平线的第一图像由2d模块401渲染,并作为2d视图411的部分显示在显示设备405的第一显示区域内。当水平线的位置被更新时,在考虑到输入信号的情况下再次渲染第一图像,并作为2d视图411的部分被显示再第一显示区域中,以更新水平线的位置,来向用户提供视觉反馈。在一个实施例中,第二图像由3d渲染模块402渲染,并作为3d视图412的部分显示在显示设备405的第二显示区域内。第二图像包括从与第一图像的2d视图对应的3d视图或顶视图来看的叠加在其上的车道线。当更新水平线时,还基于由更新的水平线表示的俯仰角,在第二显示区域上的第二图像(例如,3d视图412)上更新车道线的位置。

在一个实施例中,2d再投影模块403基于第一图像411和第二图像412生成可选的第三图像,也称为基于与第二图像相关的3d信息的第一图像的再投影2d视图。第三图像作为2d再投影视图413的部分显示在显示设备405的第三显示区域内。当基于输入信号调整第二图像上的车道线时,也调整第三图像上显示的车道线以在2d视图中反映车道线的更新。用户可以基于更新的相机的俯仰角观看车道线的结果。

根据一个实施例,响应于从输入设备404(例如左或右箭头键)接收的第二输入信号,基于第二输入信号修改车道线中的至少一个的位置。在显示在第二显示区域上的第二图像412上更新车道线的位置。基于车道线的位置的修改确定用于校准相机的偏转角的第二校准因子。偏转角表示对象的水平左转和右转。

类似地,响应于从输入设备(例如,左移或右移箭头键)接收的第三信号,修改车道线且确定用于校准相机的侧倾角的第三校准因子。侧倾角是指对象向左或向右倾斜或侧倾。如图5a和5c所示,侧倾角可以由侧倾倾斜角或侧倾程度/倾斜百分比表示。正侧倾角表示向左侧倾的道路,而负滚转角表示向右侧倾的道路,或者反之亦然。

第一、第二和第三图像分别同时在第一、第二和第三显示区域内显示。可以实施与上述过程类似的过程以确定lidar和/或radar设备的校准因子。可以在车辆行驶时在线地使用上述过程,并捕获实时图像以实时校准传感器。可替换地,可以基于先前捕获的图像或点云离线地执行上述过程。可以由软件应用程序,诸如感知模块使用校准因子以调整图像处理参数,诸如俯仰角、偏转角和侧倾角以在图像处理期间补偿硬件。

图6a-6b是示出根据一个实施例的传感器校准系统的图形用户界面的屏幕截图。参照图6a,在此示例中,系统正在校准相机的俯仰角。由相机捕获图像601以校准并由感知模块302处理,包括检测在此示例中由边界框指示的图像上示出的对象。另外,基于目标相机的硬件设置确定水平线610并将水平线610放置在图像601内的位置上。图像601可以由2d渲染模块401渲染,并作为2d视图显示在显示设备的第一显示区域内。

基于图像601,基于图像601和例如由lidar设备和/或radar设备提供的其它3d信息生成表示3d视图(在此示例中,自顶向下视图)的图像602。图像602可以由3d渲染模块402渲染并显示在显示设备的第二显示区域内。图像402包括基于水平线610的位置定位的一个或多个车道线621-623。另外,基于2d视图图像601和3d视图图像602生成可选的图像603,在此称为2d再投影视图,包括将车道线621-623投影到2d视图上。

从自顶向下视图来看,当相机的俯仰角已经被校准时,车道线621-623应当相对地或基本上平行。在该示例中,假设水平线610太低,这导致车道线发散。类似地,如果水平线610太高,如图6b所示,3d视图602中所示的车道线621-623将会聚。通过基于水平线610的位置显示自顶向下视图,用户可以通过调整水平线610的位置校准俯仰角,例如,使用作为输入设备的键盘的向上箭头键或向下箭头键,直到车道线621-623在3d视图602上相对地平行。输入设备也可以是操纵杆或者能够接收来自用户的语音交互命令的麦克风。类似地,也可以使用如上描述的技术校准相机的偏转角和侧倾角。

lidar设备和radar设备也可以以如上描述的类似的方式校准。在一个实施例中,为了校准lidar设备或radar设备,首先需要精确地校准相机。基于由相机提供的图像,可以校准lidar设备或radar设备。

图7是示出根据一个实施例的用于校准传感器的过程的示例的流程图。过程700可以由处理逻辑执行,处理逻辑可以包括软件、硬件或其组合。例如,过程700可以由传感器校准模块308或传感器校准系统125执行。参照图7,在框701处,处理逻辑基于捕获第一图像的相机的俯仰角确定表示从adv的视角看去的消失点的水平线。第一图像表示从adv的视角看去的2d视图。在框702处,处理逻辑基于对第一图像的感知过程,基于第一图像确定一个或多个车道线。响应于从输入设备接收的第一输入信号,在框703处,基于第一输入信号更新水平线的位置。在框704处,基于更新的水平线更新车道线中的至少一个的位置。在框705处,处理逻辑基于初始的水平线与更新的水平线之间的差异确定用于校准相机的俯仰角的校准因子或参数。

注意,如上所示和所述的一些或所有组件可以以软件、硬件或其组合实施。例如,这些组件可以被实施为安装并存储在永久存储设备中的软件,其可以由处理器(未示出)加载并执行在存储器中以执行贯穿本申请所述的过程或操作。可替换地,这些组件可被实施为编程或嵌入到专用硬件中的可执行代码,专用硬件诸如集成电路(例如,专用ic或asic)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga),其可经由来自应用的相应驱动和/或操作系统访问。此外,这些组件可以被实施为处理器或处理器内核中的特定硬件逻辑,作为由软件组件经由一个或多个特定指令可访问的指令集的部分。

已经从对计算机存储器内的数据位的操作的算法和符号表示方面呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来将其工作的实质最有效地传递给本领域的其他技术人员的方式。算法在这里并且通常被认为是导致期望结果的自相容操作序列。这些操作是需要对物理量进行物理操作的那些操作。

然而,应当记住的是,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非另有特别声明,如从以上讨论中显而易见的,应当理解的是,在整个说明书中,使用诸如以下权利要求书中所阐述的术语的讨论指的是计算机系统或类似电子计算设备的动作和处理,计算机系统或类似电子计算设备将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内类似地表示为物理量的其它数据。

本公开的实施例还涉及用于执行本文的操作的装置。这种计算机程序存储在非瞬态计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(readonlymemory,“rom”)、随机存取存储器(randomaccessmemory,“ram”)、磁盘存储介质、光存储介质、闪存设备)。

在前述附图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,包括在非暂时性计算机可读介质上)或两者的组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,应当理解的是,可以以不同的顺序执行所述的一些操作。此外,一些操作可以并行地而不是顺序地执行。

本公开的实施例不是参考任何特别编程语言描述的。将了解,可使用各种编程语言实施如本文所述的本发明的实施例的教示。

在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1