激光雷达的标定参数检测方法、装置、车辆及存储介质与流程

文档序号:32065746发布日期:2022-11-05 00:41阅读:66来源:国知局
激光雷达的标定参数检测方法、装置、车辆及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种激光雷达的标定参数检测方法、装置、车辆及存储介质。


背景技术:

2.雷达能够发现目标并测定其空间位置。激光雷达具有成本合理、分辨率率高、抗干扰能力强、低空探测性能好、轻便灵活等优点,广泛应用于辅助驾驶、自动驾驶等技术领域。
3.激光雷达采集到障碍物的位置信息后,可以根据激光雷达在车辆坐标系中的位置,得到障碍物和车辆之间的相对位置关系。该相对位置关系的准确性部分地依赖于激光雷达在车辆坐标系中坐标的准确性。
4.相关技术中,不便及时发现因激光雷达的固定位姿发生偏移等,导致激光雷达的外参不准确的问题,无法保证点云的准确度。


技术实现要素:

5.为解决或部分解决相关技术中存在的问题,本技术提供一种激光雷达的标定参数检测方法、装置、车辆及存储介质,能够及时发现激光雷达的外参不准确,以便及时进行标定,提升点云准确度。
6.本技术一方面提供一种激光雷达的标定参数检测方法,包括:获得第一点云和第二点云,第一点云是由第一激光雷达在第一坐标系下获取的点云,第二点云是由第二激光雷达在第二坐标系下获取的点云;基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参;如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
7.在一种实施方式中,基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参,包括:构建针对第一点云的k临近树;利用第二点云在k临近树上查找多个相邻点对,多个相邻点对中的各对的点距离小于预设距离阈值;基于多个相邻点对确定第一坐标系和第二坐标系之间的外参。
8.在一种实施方式中,获得第一点云和第二点云,包括:拼接来自第一激光雷达的点云和来自第二激光雷达的点云,得到拼接点云;对拼接点云进行运动补偿,得到经补偿的拼接点云,经补偿的拼接点云包括经补偿的第一点云和第二点云;基于点云来源从经补偿的拼接点云中获得第一点云和第二点云。
9.在一种实施方式中,在得到经补偿的拼接点云之后,上述方法还包括:对经补偿的拼接点云进行移动对象检测和移动对象去除,得到经补偿并且去除移动对象的拼接点云;基于点云来源从经补偿的拼接点云中获得第一点云和第二点云,包括:基于点云来源从经补偿并且去除移动对象的拼接点云中获得第一点云和第二点云。
10.在一种实施方式中,拼接来自第一激光雷达的点云和来自第二激光雷达的点云,得到拼接点云,包括:基于第一外参将来自第一激光雷达的点云转换至第三坐标系下,并
且,基于第二外参将来自第二激光雷达的点云转换至第三坐标系下,第一外参是第一坐标系相对于第三坐标系的外参,第二外参是第二坐标系相对于第三坐标系的外参。
11.在一种实施方式中,对拼接点云进行运动补偿,得到经补偿的拼接点云,包括:对于拼接点云中的至少部分点,基于与至少部分点各自的时间戳对应的第三坐标系的位姿信息,对至少部分点分别进行补偿,得到经补偿的拼接点云。
12.在一种实施方式中,如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定,包括:获得与当前点云帧之前的多个临近点云帧各自对应的多个临近时刻外参;获得多个临近时刻外参以及与当前点云帧对应的当前时刻外参中至少部分外参的平均值,得到平均外参;如果平均外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
13.在一种实施方式中,获得与当前点云帧之前的多个临近点云帧各自对应的多个临近时刻外参,包括:从临近时刻外参数据集中获得指定数量的临近时刻外参,临近时刻外参包括:翻滚角、俯仰角和偏航角中至少一种;获得多个临近时刻外参以及与当前点云帧对应的当前时刻外参中至少部分外参的平均值,得到平均外参,包括:基于指定数量的临近时刻外参和当前时刻外参,分别计算平均翻滚角、平均俯仰角和平均偏航角中至少一种;如果平均外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定,包括:如果平均翻滚角、平均俯仰角和平均偏航角之和超过外参阈值之和,则确定对第一激光雷达和/或第二激光雷达进行标定,或者,平均翻滚角超过翻滚角阈值、平均俯仰角超过俯仰角阈值或者平均偏航角超过偏航角阈值中至少一种,则确定对第一激光雷达和/或第二激光雷达进行标定。
14.在一种实施方式中,获得第一点云和第二点云,包括:去除来自第一激光雷达的点云中与移动对象对应的点云,得到第一点云;和/或,去除来自第二激光雷达的点云中与移动对象对应的点云,得到第二点云。
15.本技术另一方面提供一种激光雷达的标定参数检测装置,包括:点云获得模块、外参确定模块和标定模块。点云获得模块用于获得第一点云和第二点云,第一点云是由第一激光雷达在第一坐标系下获取的点云,第二点云是由第二激光雷达在第二坐标系下获取的点云;外参确定模块用于基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参;标定模块用于如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
16.本技术另一方面提供一种车辆,包括:车身主体;至少两个激光雷达,设置于车身主体的至少两个位置,分别用于采集点云;处理器,与至少两个激光雷达耦接,用于接收点云;存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述的方法。
17.本技术另一方面提供一种计算机可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上的方法。
18.本技术另一方面提供一种计算机程序产品,包括可执行代码,当可执行代码被执行时,实现如上的方法。
19.本技术提供的技术方案可以包括以下有益效果:
20.本技术实施例的技术方案,考虑到经标定的至少两个激光雷达各自之间的相对位
置关系是固定的,即各激光雷达之间的外参处于一个稳定范围内。如果某两个激光雷达中至少一个激光雷达的固定位姿发生了改变,则会导致这两个激光雷达之间的外参发生改变,如会导致这两个激光雷达之间外参超过外参阈值。因此,可以通过检测两个激光雷达之间的外参是否超过外参阈值,来确定是否需要对这两个激光雷达中的至少一个进行重新标定。通过以上方式能够及时发现激光雷达的外参不准确,以便及时进行标定,提升激光雷达采集的点云数据的准确度。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
22.通过结合附图对本技术示例性实施方式进行更详细地描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号通常代表相同部件。
23.图1是本技术一实施例示出的可以应用激光雷达的标定参数检测方法、装置、车辆及存储介质的一种示例性系统架构;
24.图2是本技术一实施例示出的车辆、激光雷达的结构示意图;
25.图3是本技术一实施例示出的激光雷达的标定参数检测方法的流程图;
26.图4是本技术一实施例示出的第一坐标系和第二坐标系之间的外参的示意图;
27.图5是本技术一实施例的激光雷达的标定参数检测过程的数据流图;
28.图6是本技术另一实施例的激光雷达的标定参数检测过程的数据流图;
29.图7是本技术一实施例的对点云进行运动补偿的示意图;
30.图8是本技术另一实施例示出的激光雷达的标定参数检测方法的流程图;
31.图9是本技术一实施例的激光雷达的标定参数检测装置的框图;以及
32.图10是本技术一实施例的电子设备的框图。
具体实施方式
33.下面将参照附图更详细地描述本技术的实施方式。虽然附图中显示了本技术的实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
34.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
35.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限
定。
36.随着高级驾驶辅助系统(advanced driving assistance system,简称adas)及无人驾驶技术的快速发展,多种传感器被加载在汽车上以感知汽车的周围环境,例如,激光雷达、毫米波雷达、单\双目摄像头以及卫星导航等。
37.激光雷达(laser detecting and ranging,简称lidar),通过发射和接收激光束,测量激光信号的时间差和相位差来确定距离,通过水平旋转扫描来测量角度,并根据这两个参数建立二维的极坐标系,再通过获取不同俯仰角度信号获取三维中的高度信息。高频激光可以在一秒内获取大量(如150万个)的位置点信息(称为点云),并根据这些信息进行三维建模。激光雷达以其分辨率高、抗有源干扰能力强、低空探测性能好、轻巧灵便等优点。激光雷达作为一种大数据量的环境感知模块现已被广泛应用于自动驾驶的地图创建、车道感知等。
38.自动驾驶车辆中的激光雷达,在车辆安装时已经固定其位于车辆坐标系中的位置,即激光雷达位于车辆坐标系中的坐标已经固定。因此,车辆上的激光雷达产生的点云,都是相对于其自身局部坐标系的位置,要获得激光雷达所在位置在全局坐标系的表达(即外参),以提升点云准确度。具体地,激光雷达获取环境的点云信息,可以得到周围物体在激光雷达坐标系中的坐标数据,车辆处理器可以基于激光雷达获取的坐标数据以及激光雷达自身位于车辆坐标系中的坐标数据,转换得到周围物体位于车辆坐标系中的坐标数据,进而基于坐标数据实现车辆的避障等功能。因此,为使车辆获取正确的周围物体的坐标数据,需要对激光雷达进行标定,使其获取的周围物体在激光雷达坐标系中的坐标数据正确。
39.相关技术中,激光雷达在出厂之前会进行外参标定,外参的准确度较高。但是,经标定的激光雷达的外参,可能会因为碰撞、松动等原因发生变化,如果不能及时地发现激光雷达的外参变化情况,会对在线障碍物检测等造成影响,影响行车安全。
40.相关技术中,激光雷达的标定检查可以是离线的,需要用标定间和/或标定板进行检测,通过对比两次标定结果,耗时费力。此外,需要基于特定场景,如车道线、墙、杆状物,当条件不满足时无法进行标定检查,即不便于进行在线标定检测和重新标定。
41.因此,激光雷达的在线检测和标定是自动驾驶中亟需解决的关键问题。在线检测方法是指在自动驾驶系统运行时自行完成检测和/或标定,不需要标定板等专业设备,也可以实现激光雷达的检测和标定。
42.本技术实施例,检测第一激光雷达和第二激光雷达所在坐标系之间的外参,并判断该外参是否发生了较大改变,来判断是否需要对激光雷达进行重新标定。通过以上方式能够及时发现激光雷达的外参不准确,以便及时进行标定,提升激光雷达采集的点云数据的准确度。例如,在装载有前左和前右两个激光雷达的量产自动驾驶车量上,能够在车辆行驶过程中在线检查两个激光雷达的标定参数是否对齐,以便一旦因为碰撞等导致激光雷达的外参发生变化时,能够及时通知用户。或者,通知系统执行激光雷达的标定参数检测校准,有效提升雷达检测结果的准确度。
43.此外,本技术的某些实施例中,外参阈值是基于当前时刻之前时间段内基于激光雷达的外参平均值来设定的,可以实现实时自动设置外参阈值,能有效检测因碰撞等原因导致的外参不准确。另外,采用外参平均值对外参进行检测,能有效降低激光雷达在某些场景下采集点云的质量不佳,导致误判激光雷达的外参不准确的发生概率。
44.以下将通过图1至图10对本技术实施例的一种存储视频的方法、装置和电子设备进行详细描述。
45.图1是本技术一实施例示出的可以应用激光雷达的标定参数检测方法、装置、车辆及存储介质的一种示例性系统架构。需要注意的是,图1所示仅为可以应用本技术实施例的系统架构的示例,以帮助本领域技术人员理解本技术的技术内容,但并不意味着本技术实施例不可以用于其他设备、系统、环境或场景。
46.参见图1,根据该实施例的系统架构100可以包括移动平台101、102、103,网络104和云端105。网络104用以在移动平台101、102、103和云端105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。移动平台101、102上可以搭载有传感器,如激光雷达、毫米波雷达、摄像头等,以实现感测移动平台101、102的周围环境信息。
47.用户可以使用移动平台101、102、103通过网络104与其他移动平台和云端105进行交互,以接收或发送信息等。如发送模型训练请求、模型参数下载请求和接收经训练的模型参数等。经训练的模型可以对图像数据或者点云数据中对象进行分类,如固定对象或者移动对象,如障碍物或者非障碍物。移动平台101、102、103可以安装有各种通讯客户端应用,例如,辅助驾驶应用、自动驾驶应用、车机应用、网页浏览器应用、数据库类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等应用等。
48.移动平台101、102、103包括但不限于汽车、机器人、飞行器、平板电脑、膝上型便携计算机等电子设备。
49.云端105可以接收模型训练请求、模型参数下载请求等,调整模型参数进行模型训练、下发模型拓扑结构、下发经训练的模型参数等,还可以发送气象信息、实时交通信息等给移动平台101、102、103。例如,云端105可以为后台管理服务器、服务器集群、车联网等。
50.需要说明的是,移动平台、网络和云端的服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的移动平台、网络和云端。
51.图2是本技术一实施例示出的车辆、激光雷达的结构示意图。
52.参见图2,车辆100可以包括一个或多个如下部件:车身主体110、激光雷达120。其中,激光雷达120设置于车身主体110中。此外,为了提升辅助驾驶或自动驾驶性能,车辆100上还可以设置有惯性测量单元(inertial measurement unit,简称imu)130,imu 130设置于车身主体110中。
53.例如,激光雷达120可以安装在前保险杠两侧的位置。此外,激光雷达120还可以安装在车顶位置或者车前窗上方位置等,在此不做限定。激光雷达120可以包括脉冲激光雷达和连续波激光雷达,可以使用紫外线、可见光或近红外光作为光源。
54.例如,按照上述前侧向双台设置的激光雷达120的探测距离,能达到如150米(如针对10%反射率目标物),横向120
°
视角(fov),视野提升到如150
°
。如果按照144线的点云密度计算,角度分辨率能够达到0.16
°
,中心区域刷新率20hz,可实现高速公路、城区道路等场景下远处障碍物的检测,提升辅助驾驶行车安全。
55.此外,车辆100上还可以设置一个或多个超声波传感器、毫米波雷达等,以提升感知的车辆环境信息的全面性和准确性。例如,超声波传感器可以设置在前后保险杠内部。例如,毫米波雷达可以设置在前后保险杠内部。
56.图3是本技术一实施例示出的激光雷达的标定参数检测方法的流程图。
57.参见图3,该激光雷达的标定参数检测方法可以包括操作s310~操作s330。
58.在操作s310,获得第一点云和第二点云,第一点云是由第一激光雷达在第一坐标系下获取的点云,第二点云是由第二激光雷达在第二坐标系下获取的点云。
59.在本实施例中,第一点云和第二点云可以经过前处理,如对激光雷达采集的点云进行了校正(如进行运动补偿)。此外,还可以对点云中噪音进行去除,如在配准过程中不会用到的点进行删除,如可以删除点云中与运动物体对应的点。
60.以具有辅助驾驶功能的车辆为例,第一激光雷达和第二激光雷达可以分别设置在移动平台的前方两侧,通过拼接第一激光雷达采集的点云和第二激光雷达采集的点云,能够增加激光雷达在一个时刻扫描的面积,减小盲区。其中,移动平台可以是汽车、机器人、飞行器或者船舶等。移动平台上还可以配置有imu、摄像头、毫米波雷达、超声波雷达等。以汽车为例,第一激光雷达和第二激光雷达分别设置在汽车的不同位置,因空间位置差异等导致第一激光雷达和第二激光雷达之的外参不为零。
61.需要说明的是,第二点云是泛指与第一激光雷达不同的激光雷达采集的点云,并不是限定只能适用于具有两个激光雷达的场景。例如,可以同时由三个、四个或者更多的激光雷达采集点云。在检测是否需要对激光雷达进行重新标定的过程中,可以对激光雷达进行两两检测。
62.在操作s320,基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参。
63.在本实施例中,外参可以包括:翻滚角(roll)、俯仰角(pitch)、偏航角(yaw)、x轴位移、y轴位移或者z轴位移中至少一个。例如,偏航角可以指第一激光器的发射平面的法线与第二激光器的发射平面的法线之间的夹角。此外,还可以先计算第一激光器和第二激光器各自在车辆坐标系下的偏航角,然后再计算第一激光器和第二激光器之间的偏航角差值。
64.例如,第一激光器在车辆坐标系下的偏航角可以定义如下:车辆在水平面中行驶方向与其激光雷达坐标系中预设方向(x轴)所在直线之间的角度,即激光雷达坐标系中x轴与车辆坐标系中xoz平面之间的夹角(z轴是竖直向上方向,o是坐标系原点)。俯仰角可以是激光雷达坐标系中x轴所在的直线与车辆坐标系中xoy平面之间的夹角(x轴、y轴和z轴正交)。翻滚角可以是激光雷达坐标系中y轴与车辆坐标系中xoy平面之间的夹角。如果激光雷达不存在角度偏差,即激光雷达坐标系ox
′y′z′
与标准坐标系oxyz重合,则激光雷达对应的偏航角、俯仰角以及翻滚角均应为零。需要说明的是,以上关于x轴、y轴、z轴、偏航角、俯仰角和翻滚角的说明,仅为示例性示出,不能理解为对本技术的限定。
65.图4是本技术一实施例示出的第一坐标系和第二坐标系之间的外参的示意图。
66.参见图4,第一激光雷达所在的坐标系表示为第一坐标系,第二激光雷达所在的坐标系表示为第二坐标系。经标定的第一坐标系和第二坐标系之间可以采用原关系(r0,t0)进行表示。第一激光雷达因为发生车辆碰撞或者自身松动等原因,导致第一激光雷达的原固定位置发生了偏移。相应地,第一坐标系也相对于第二坐标系发生了偏移。因此,第一坐标系和第二坐标系之间的关系可以变为当前关系(r1,t1)。其中,r可以表示旋转矩阵,t可以表示平移矩阵。
67.在本实施例中,可以通过如下方式确定外参。首先,进行两个点云的去中心化,如先求各自中心坐标,并且利用两个点云中的每个点减去各自的点云几何中心坐标,形成两个新的点云。然后,将该两个新的点云进行相乘(其中一个先进行转置),得到矩阵w。对矩阵w进行奇异值分解(svd分解),得到矩阵u和矩阵v。这样就可以基于矩阵u和矩阵v得到旋转矩阵r,通过计算两个点云的中心坐标得到平移矩阵t。可以采用旋转矩阵r和平移矩阵t来表示外参。
68.此外,还可以采用其它点云配准的方式确定两个坐标系之间的外参。例如,可以采用迭代最近点法(iterative closest point,简称icp)进行配准之外,还可以用广义icp(gicp)、正态分布变换算法(normal distributions transform,简称ndt)算法等方式进行点云配准。
69.在操作s330,如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
70.在本实施例中,外参阈值可以是基于经验、历史外参、同型号车辆的外参或者使用效果等来确定的。例如,同一种型号车辆上,经过标定的两个激光雷达之间的外参一般分布在某个区间范围内,则可以基于此设置外参阈值。例如,经过标定的第一激光雷达和第二激光雷达之间的外参是a(可以包括多个变量),则外参阈值可以为101%
×
a、103%
×
a、105%
×
a、108%
×
a、110%
×
a、115%
×
a、120%
×
a、130%
×
a等。此外,外参阈值也可能为99%
×
a、97%
×
a、95%
×
a、92%
×
a、90%
×
a、85%
×
a、80%
×
a、70%
×
a等。
71.需要说明的是,在确定第一激光雷达和/或第二激光雷达需要进行标定,可能需要单独对第一激光雷达进行标定,或者可能单独对第二激光雷达进行标定,或者可能需要对第一激光雷达和第二激光雷达进行标定。如果存在多个激光雷达和对应的检测结果,如第二激光器和第三激光器之间的外参没有超过外参阈值,则可以确定无需对第二激光器和第三激光器进行重新标定。此时,可以确定仅需对第一激光雷达进行重新标定即可,减少了需要重新标定的激光雷达的数量,有助于减少标定用时。
72.在本实施例中,通过检测经标定的两个激光器所在坐标系之间的外参是否超过外参阈值,能够便捷快速地确定是否需要对激光器进行重新标定,有助于提升激光器采集的点云数据的准确性和可靠性。
73.在某些实施例中,考虑到移动对象发生移动时,其点云数据会干扰标定过程。为此,可以将点云数据中的移动对象的点云剔除掉,以提升点云数的质量。
74.具体地,获得第一点云和第二点云可以包括:去除来自第一激光雷达的点云中与移动对象对应的点云,得到第一点云。和/或,去除来自第二激光雷达的点云中与移动对象对应的点云,得到第二点云。其中,激光雷达会连续采集多帧点云。例如,对于多帧点云中的一帧点云,可以通过如下操作得到不包括移动对象的点云。
75.首先,确定一帧点云中与运动物体对应的点云。
76.然后,去除一帧点云中与运动物体对应的点云。
77.本实施例中,还需要对点云进行移动对象检测,并且将点云中与移动对象对应的点云数据删除。这样能够有效较少因移动对象移动,提升点云处理速度。需要说明的是,在去除移动对象点云之前,还可以对点云进行运动补偿,提升点云的精准度。
78.在某些实施例中,去除一帧点云中与运动物体对应的点云,包括:从一帧点云中删
除第一特定物体的点云,第一特定物体包括可移动对象。其中,可移动对象包括但不限于:汽车、行人、自行车、摩托车等。本实施例中,直接删除与汽车、行人等对应的点云数据,无需判断该汽车或行人等是否为移动状态,有助于降低计算量和提升响应速度。此外,由于点云中与汽车、行人等对应的点云数据仅为一部分(甚至为一小部分),将没有移动的汽车、行人等对应的点云数据删除,也不会导致因点云数据不足导致计算的位姿不准。
79.在某些实施例中,去除一帧点云中与运动物体对应的点云,包括:从一帧点云中获得第二特定物体的点云,第二特定物体包括固定对象。其中,固定对象包括但不限于:房、电线杆、车道线、红绿灯、路灯、绿化植物等。本实施例中,仅保留房、电线杆等物体,无需判目标对象是否为移动状态,有助于降低计算量和提升响应速度。此外,由于房、电线杆等物体对应的点云数据较多,已经足以准确计算第二位姿等。
80.例如,用于确定目标对象种类的分类模型,可以是预先经过训练的模型,能够确定被输入的点云数据中的目标对象是否为第一特定物体或者第二特定物体。分类模型包括但不限于:线性回归(linear regression)、逻辑回归(logistic regression)、决策树(decision trees)、naive bayes(贝叶斯)、k临近(k-nearest neighbors)、支持向量机(support vector machines)、随机决策森林(random decision forests or bagging)、神经网络(neural networks)等。
81.在某些实施例中,分类模型可以采用深度神经网络(deep neural networks)等。例如,分类模型可以对输入的点云数据进行特征提取,得到特征图。然后,基于特征图或者特征图以及其它特征等,对点云数据进行分类。又例如,分类模型可以对输入的点云数据中各帧进行特征提取,得到特征图,然后,从特征图中确定与目标对象对应的候选框,接着,基于候选框从特征图中获取目标对象的特征数据,然后,基于目标对象的特征数据确定候选框的类别。需要说明的是,也可以用传统几何方法识别第一特定物和/或第二特定物。
82.以下对计算两个坐标系之间的外参的相关内容进行示例性说明。
83.在某实施例中,每个激光雷达都能够持续采集多帧点云。以一个激光雷达为例,在该激光雷达的坐标系下,静止状态下的激光雷达采集的多帧点云中,针对同一个对象的点云的坐标应该是相同的。当激光雷达的位姿发生改变时,不同点云帧中针对同一个对象的点云的坐标会发生变化。基于此,可以确定多个激光雷达各自相对于同一个对象的位姿,也就可以确定多个激光雷达两两之间的相对位姿关系,即外参。
84.激光雷达和某个对象之间的位姿可以通过如下方式确定:对于激光雷达采集的多帧点云中的至少部分帧,对位于起始帧和结束帧之间的相邻帧的位姿差异进行累加,得到位姿。
85.此外,可以对点云进行运动补偿以提升点云精准度。由于运动补偿的运算量不低,如果分别对各激光雷达进行运动补偿,可能导致处理速度降低。因此,可以先将多个激光雷达在同一时段采集的点云帧融合在一帧点云中,对该一帧点云进行运动补偿。需要说明的是,也可以分别对来自各激光雷达的点云帧进行运动补偿。
86.在某些实施例中,虽然剔除移动对象后的点云的点数量已变少,但是,点云中点数量仍然很多,不便于从融合后的点云中确定针对相同对象的点,并且计算量庞大。为了改善上述问题,可以通过查找的方式从融合点云帧中找到多个相邻点对,以确定两个坐标系之间的外参。
87.参见图5,基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参可以包括如下操作。
88.首先,构建针对第一点云的k临近树(k-dimensional tree,简称kd-tree或kd树)。其中,kd树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。kd树也称为二叉树,表示对k维空间的一个划分(partition)。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超矩形区域。kd树的每个结点对应于一个k维超矩形区域。需要说明的是,kd树中的k指的是k维空间。
89.然后,利用第二点云在k临近树上查找多个相邻点对,多个相邻点对中的各对的点距离小于预设距离阈值。当生成kd树以后,就可以找相邻点对了。例如,对于一个目标点,首先在kd树里面找到包含目标点的叶子节点。以目标点为圆心,以目标点到叶子节点样本实例的距离为半径,得到一个超球体,最近邻的点一定在这个超球体内部。然后返回叶子节点的父节点,检查另一个子节点包含的超矩形体是否和超球体相交,如果相交就到这个子节点寻找是否有更加近的近邻,有的话就更新最近邻。如果不相交那就简单了,直接返回父节点的父节点,在另一个子树继续搜索最近邻。当回溯到根节点时,算法结束,此时保存的最近邻节点就是最终的最近邻。
90.接着,基于多个相邻点对确定第一坐标系和第二坐标系之间的外参。具体可以参考以下相关内容。
91.参见图6,获得第一点云和第二点云可以包括如下操作。
92.首先,拼接来自第一激光雷达的点云和来自第二激光雷达的点云,得到拼接点云。
93.例如,拼接来自第一激光雷达的点云和来自第二激光雷达的点云,得到拼接点云可以包括:基于第一外参将来自第一激光雷达的点云转换至第三坐标系下,并且,基于第二外参将来自第二激光雷达的点云转换至第三坐标系下,第一外参是第一坐标系相对于第三坐标系的外参,第二外参是第二坐标系相对于第三坐标系的外参。其中,第三坐标系可以是汽车坐标系,如以imu的坐标为原点的坐标系。
94.然后,对拼接点云进行运动补偿,得到经补偿的拼接点云,经补偿的拼接点云包括经补偿的第一点云和第二点云。
95.接着,基于点云来源从经补偿的拼接点云中获得第一点云和第二点云。
96.此外,在某些实施例中,参见图6,还可以对经补偿的拼接点云进行运动补偿,提升点云的精准度。
97.具体地,在得到经补偿的拼接点云之后,上述方法还可以包括如下操作,对经补偿的拼接点云进行移动对象检测和移动对象去除,得到经补偿并且去除移动对象的拼接点云。
98.相应地,基于点云来源从经补偿的拼接点云中获得第一点云和第二点云可以包括:基于点云来源从经补偿并且去除移动对象的拼接点云中获得第一点云和第二点云。
99.例如,对拼接点云进行运动补偿,得到经补偿的拼接点云可以包括如下操作,对于拼接点云中的至少部分点,基于与至少部分点各自的时间戳对应的第三坐标系的位姿信息,对至少部分点分别进行补偿,得到经补偿的拼接点云。
100.图7是本技术一实施例的对点云进行运动补偿的示意图。
101.参见图7,图7中实线是对象的实际外轮廓,虚线是车辆在运动状态下,由激光雷达
采集的点云来确定的对象的外轮廓。可以看到,采集的点云来确定的对象的外轮廓相对于实际外轮廓发生了形变,该形变是由于车辆运动导致的,可以通过运动补偿的方式对采集的点云进行处理,使得基于点云来确定的对象的外轮廓趋近实际外轮廓。
102.例如,相邻帧的位姿差异通过如下方式确定。
103.首先,利用一帧(如融合两个激光雷达各自采集的点云帧,得到的融合点云帧)的相对位姿对一帧的点云进行运动补偿,得到消除畸变后的一帧的点云。激光雷达帧率一般为10hz,即100ms一帧,在车辆高速行驶或者转弯时,一帧点云中的点并不是同一个坐标系下获得的测量结果,对于同一个目标在三维点云中就会出现畸变,这时要想获得精确的测量,就需要对点云做运动补偿,或者说校正,将同一帧点云中所有点统一到某一个时间点下的坐标系中。
104.然后,分别提取消除畸变后的上一帧的点云和当前帧的点云的线面特征。
105.接着,通过线面特征配准得到目标激光雷达在上一帧和当前帧之间的位姿差异。
106.例如,可以基于最小二乘实现的帧间变换求解来实现相邻帧位姿变换求解。具体地,可以使用点线距离,和点到平面距离,作为非线性优化的残差。此外,可以使用特征编码,并且因为使用了特征编码,所有的近邻查找都通过二进制雷达环特性来实现。因为无需采用传统点云匹配中多维树查找方法,该匹配方法可以进一步提高匹配速度。
107.相邻两帧(如第i帧和第i+1帧)之间的位姿变换参数是一个六维向量,包括表示两帧之间的旋转参数这里为欧拉角(包括翻滚角、俯仰角、偏航角),以及两帧之间的平移向量。位姿变换求解的优化方法在位变换较小时,具有更好的稳定性。
108.在完成一一对应前经历了两个变换,其中第一变换是对特征进行了水平或垂直映射,第二变换是环状特征真值循环前移,当确定了两个激光点云线之间的对应后,本质上已经包含了上述两个映射参数。其中,第二变换表征两个相邻帧之间偏航关系。而依据第二变换的偏航及第一变换的两个特征水平或者垂直映射之间的角度差,可以判断两帧之间变换参数的变化。
109.例如,对齐第一坐标系和第二坐标系于x轴,或者对齐第一坐标系和第二坐标系于y轴,此时旋转轴相对于第二坐标系转过角度为俯仰、或者横滚。此时另一角度不变,其俯仰或者横滚加上旋转轴转过角度,即为当前的俯仰或者翻滚角。需要说明的是,一帧中,各个采样点具有相同的翻滚角、相同的俯仰角、相同的偏航角。
110.在一个具体实施例中,关于位姿计算,可以包括如下操作。
111.首先,利用上一帧的相对位姿对点云做运动补偿(motion compensation)。
112.然后,障碍物检测(obstacle detection),利用深度学习对移动对象进行检测,移动对象包括车辆、行人、三轮车等可能运动的障碍物。需要说明的是,障碍物检测既可用深度学习方法,也可用传统几何方法。
113.接着,障碍物去除(obstacle removal),把可能运动的移动对象点云去掉,这些可能运动的移动对象会影响后面配准精度。
114.然后,采用icp算法或者雷达里程计(lidar odometry)等配准方法,在剔除了移动对象的点云上,采用提取的线面特征进行配准。利用该配准方法实现帧间相对位姿的计算。
115.在某些实施例中,如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定可以包括如下操作。
116.首先,获得与当前点云帧之前的多个临近点云帧各自对应的多个临近时刻外参。其中,临近时刻外参可以至少部分相同,如第一坐标系和第二坐标系之间的相对位姿在某个时间段内没有发生改变,则第一坐标系和第二坐标系在该时间段内的外参没有发生改变。如果第一坐标系和第二坐标系之间的相对位姿发生改变,则第一坐标系和第二坐标系的外参发生改变。
117.然后,获得多个临近时刻外参以及与当前点云帧对应的当前时刻外参中至少部分外参的平均值,得到平均外参。
118.接着,如果平均外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
119.在某些实施例中,获得与当前点云帧之前的多个临近点云帧各自对应的多个临近时刻外参,包括:从临近时刻外参数据集中获得指定数量的临近时刻外参,临近时刻外参包括:翻滚角、俯仰角和偏航角中至少一种。
120.相应地,获得多个临近时刻外参以及与当前点云帧对应的当前时刻外参中至少部分外参的平均值,得到平均外参,包括:基于指定数量的临近时刻外参和当前时刻外参,分别计算平均翻滚角、平均俯仰角和平均偏航角中至少一种。
121.此外,如果平均外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定可以包括如下操作。
122.一方面。如果平均翻滚角、平均俯仰角和平均偏航角之和超过外参阈值之和,则确定对第一激光雷达和/或第二激光雷达进行标定。
123.另一方面,如果平均翻滚角超过翻滚角阈值、平均俯仰角超过俯仰角阈值或者平均偏航角超过偏航角阈值中至少一种,则确定对第一激光雷达和/或第二激光雷达进行标定。
124.在一个具体实施例中,标定方法可以包括如下所示的阶段。
125.点云拼接阶段:进行点云拼接。将左右两个lidar的一帧点云通过各自的外参转换到车体坐标系,输出为车身坐标系的点云。
126.运动补偿阶段(motion compensation):激光雷达的点云是流式输入,每个点的时间戳并不相同,将每个点通过自车的姿态(pose)信息补偿为同一时刻的点云。该pose可以是基于激光雷达采集的点云来确定的,还可以是通过imu来确定的,或者多种传感器共同确定的。
127.检测阶段(mod detection):利用深度学习对移动对象进行检测,移动对象包括车辆、行人、三轮车等可能运动的障碍物。检测出的点云分为两部分,一部分为移动对象,剩下的点云为静止点云(static point cloud)。
128.点云分组阶段(point cloud partition):将静止点云按来源(如左前和右前)分为两部分,如左激光雷达点云(left lidar points)和右激光雷达点云(right lidar points)。
129.构建kd树阶段(build kd-tree):把右激光雷达点云(也可以采用左激光雷达点云,相应地,在下方临近点对查找阶段,将左激光雷达点云替换为右激光雷达点云)在三维空间构建成kd-tree。
130.临近点对查找阶段:将左激光雷达点云(left lidar points)在kd-tree上查找最
近邻,保留相邻点距离《0.5的点对,输出为所有的这些点对。
131.点对配准阶段:将上一步计算出来的点对做icp,输出为两组点云的旋转平移矩阵。
132.检测阶段:将旋转平移矩阵转化成roll,yaw,pitch角,输入(push)历史列表(history list)中。从history list查找过去3分钟所有的roll,yaw,pitch角,分别计算中位数。例如,计算得分score=median roll+median yaw+median pitch。如果score》0.35,设置输出need_recalibration=true(表征需要进行重新标定),否则设置输出need_recalibration=false(表征无需进行重新标定)。
133.图8是本技术另一实施例示出的激光雷达的标定参数测试方法的流程图。
134.请一并参见图6和8,可以对上述多个阶段进行细化,得到如下所示的多个操作。
135.首先,获取左前lidar点云数据(lidar1),获取右前lidar点云数据(lidar2),并且,获取两个lidar的标定参数(calibration)。
136.然后,将左右lidar的点云都转换到车身坐标系。
137.接着,进行运动补偿。
138.然后,采用深度学习的方法检测道路上行驶的的车辆、行人等运动对象(mod)。抠去这些运动对象的点云,留下静态对象的点云。
139.接着,将静态目标的点云区分为左前lidar和右前lidar的点云。
140.然后,使用右前lidar点云构建kd-tree。
141.接着,将左前lidar的点云在kd-tree里查找最近邻,如果距离小于0.5米,则作为相邻点对,进入下一操作。
142.然后,将相邻的点对用icp做配准,输出左右lidar的相对位姿势。
143.接着,考察历史帧的配准情况,得到平均外参,并基于该平均外参检测激光雷达的外参是否正确,是否需要进行重新标定。
144.本技术的另一方面还提供了一种激光雷达标定装置的框图。
145.图9是本技术一实施例的激光雷达的标定参数检测装置的框图。
146.参见图9,该激光雷达的标定参数检测装置可以包括:点云获得模块910、外参确定模块920和标定模块930。
147.其中,点云获得模块910用于获得第一点云和第二点云,第一点云是由第一激光雷达在第一坐标系下获取的点云,第二点云是由第二激光雷达在第二坐标系下获取的点云。
148.外参确定模块920用于基于第一点云和第二点云确定第一坐标系和第二坐标系之间的外参。
149.标定模块930用于如果外参超过外参阈值,则确定对第一激光雷达和/或第二激光雷达进行标定。
150.本技术的另一方面还提供了一种雷达。
151.该雷达可以为激光雷达、毫米波雷达、超声波雷达等。雷达可以为扫描型雷达或者非扫描型雷达。例如,激光雷达可以设置在车辆的前端两侧的位置。
152.以下以扫描型的激光雷达进行示例性说明。
153.例如,mems型激光雷达可以动态调整自己的扫描模式,以此来聚焦特殊物体,采集更远更小物体的细节信息并对其进行识别。mems型激光雷达的惯性力矩并不大,可以快速
移动,速度快到可以在不到一秒时间里跟踪到2d扫描模式。
154.例如,flash型激光雷达能快速记录整个场景,避免了扫描过程中目标或激光雷达移动带来的各种麻烦。雷达系统会利用微型传感器阵列采集不同方向反射回来的激光束。
155.例如,相控阵激光雷达搭载的一排发射器可以通过调整信号的相对相位来改变激光束的发射方向。
156.例如,机械旋转式激光雷达是发展比较早的激光雷达,目前技术比较成熟,但机械旋转式激光雷达系统结构十分复杂,且各核心组件价格也都颇为昂贵,其中主要包括激光器、扫描器、光学组件、光电探测器、接收ic以及位置和导航器件等。
157.以mems固态激光雷达为例,由于mems固态激光雷达是通过振镜的简谐振动进行扫描的,其扫描路径从空间顺序上来说实现的例如可以是一个慢轴从上到下,快轴从左到右往复的一个扫描视场。因此,对于mems固态激光雷达的探测范围的划分通过是对慢轴对应的视场角进行划分。例如,mems固态激光雷达的慢轴对应的垂直视场角为13
°
到13
°

158.以扫描型传感器中的机械式激光雷达为例,由于机械式激光雷达是通过机械驱动装置带动光学系统进行360度旋转实现扫描的,以激光雷达为圆心的一个圆柱形探测区域。因此,机械式激光雷达旋转360
°
对应的探测范围为探测一帧数据对应的探测范围,所以对机械式激光雷达一个周期探测范围的划分一般以旋转度数的划分。
159.对于非扫描型激光雷达,是通过内部的感光组件电路及控制组件对图像进行处理并转换成电脑所能识别的数字信号,然后借由并行端口或usb连接输入到电脑后由软件再进行图像还原。
160.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
161.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
162.本技术的另一方面还提供了一种车辆。
163.图10示意性示出了根据本技术实施例的一种车辆的方框图。
164.参见图10,车辆1000包括车身主体、存储器1010、处理器1020和至少两个激光雷达1030。
165.其中,至少两个激光雷达1030分别设置于车身主体的至少两个位置,分别用于采集点云。例如,一个激光雷达1030设置在车身主体的前端的左侧,一个激光雷达1030设置在车身主体的前端的右侧。例如,一个激光雷达1030设置在车身主体的前端的左侧,一个激光雷达1030设置在车身主体的前端的右侧,一个激光雷达1030设置在车身主体的前挡风玻璃的上方,或者设置在车顶的上方。
166.存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(rom)和永久存储装置。其中,rom可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器
在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(例如dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等)、磁性软盘等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
167.处理器1020可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器与至少两个激光雷达耦接,至少用于接收来自激光雷达的点云。
168.存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
169.可以理解的,如果无特别说明,在本技术各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
170.集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。如果无特别说明,人工智能处理器可以是任何适当的硬件处理器,比如cpu、gpu、fpga、dsp和asic等等。如果无特别说明,存储模块可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器(resistive random access memory,简称rram)、动态随机存取存储器(dynamic random access memory,简称dram)、静态随机存取存储器(static random-access memory,简称sram)、增强动态随机存取存储器(enhanced dynamic random access memory,简称edram)、高带宽内存(high-bandwidth memory,简称hbm)、或者混合存储立方(hybrid memory cube,简称hmc)等等。
171.集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括如果干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例的方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
172.在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述处理器;其中,处理器与存储器件、控制器件以及接口装置分别连接;存储器件用于存储数据;接口装置用于实现处理器与外部设备之间的数据传输;控制器件用于对处理器的状态进行监控。
173.此外,根据本技术的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本技术的上述方法中部分或全部步骤的计算机程序代码指令。
174.或者,本技术还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本技术的上述方法的各个步骤的部分或全部。
175.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1