本公开涉及自动驾驶领域,尤其涉及一种点云标注方法及装置、电子设备和存储介质。
背景技术:
1、自动驾驶感知的重点是环境感知,其任务内容包括对场景中车辆行人和障碍物的感知、对车道牌与警示牌的识别以及对行驶车道上车道线的识别与理解等,其中很重要且关键的一个任务是感知行驶场景中会对车辆决策规划造成影响的物体,这个任务通常采用3d目标检测算法来完成,3d目标检测算法目前最常用的技术方案是深度学习方法,需要大量的已标注的自动驾驶场景数据来监督深度学习算法的训练,以保证3d目标检测算法的准确率和鲁棒性,进而为后续的安全稳定的汽车制动提供可靠数据。大量的自动驾驶数据由车载传感器采集,包括激光雷达采集的点云数据以及相机采集的图像数据。
2、这些数据的标注依赖于标注工具,标注工具提供点云数据的可视化以及对数据进行标注的工具和方法。在图像数据的帮助下,标注人员在车附近一定距离范围内标注出会影响当前车辆路径规划的障碍物的3d包围盒,并为该包围盒所表示的物体标注出类别及编号。标注工作完成后,为了保证标注结果的质量,需要对标注结果的质量进行审查,退回不合格的标注结果给标注员重新标注。
3、现有的3d点云标注方法能够完成标注的整体流程,但是这些方法只输出包围盒的一个旋转角度——偏航角,即绕z轴的旋转角,使得这些标注方法仍无法有效应对某些自动驾驶的特殊行驶场景:目标障碍物与当前车辆不在同一个平面内,如目标障碍物处于前方的坡上,或是当前车的激光雷达安装不平,导致采集到的点云整体倾斜。在这两种情况下,仅仅用一个偏航角描述目标障碍物是非常不合适的,将引入巨大的标注误差,进而导致自动驾驶车辆错误的感知结果,将影响后续的汽车路径决策。因此,在地面倾斜以及激光雷达安装不平等情况下如何提高标注的准确性成为当前亟待解决的问题。
技术实现思路
1、有鉴于此,本公开提出了一种点云标注方法及装置、电子设备和存储介质,可以通过点云数据拟合出障碍物底面的虚拟平面,在地面倾斜以及激光雷达安装不平等情况下可以准确对目标物体的角度完整表示与标注。
2、根据本公开的一方面,提供了一种点云标注方法,所述方法包括:获取传感器采集的第一帧点云数据和与所述第一帧点云数据对应的第一帧图像数据;根据所述第一帧点云数据拟合出与第一障碍物所在平面贴合的第一虚拟平面;响应于针对所述第一帧点云数据的框选操作得到第一位置点集合,所述第一位置点集合表示所述第一帧点云数据中与所述第一障碍物对应的三维坐标点的集合;基于所述第一位置点集合和所述第一虚拟平面形成第一包围盒,所述第一包围盒用于指示所述第一帧点云中的所述第一障碍物。
3、在一种可能的实现方式中,所述根据所述第一帧点云数据拟合出与第一障碍物所在平面贴合的第一虚拟平面包括:在所述第一帧点云数据中获取第二位置点集合,所述第二位置点集合表示所述第一帧点云数据中位于所述第一障碍物所处平面上且不在一条直线上的至少三个三维坐标点;基于所述第二位置点集合进行拟合得到所述第一虚拟平面。
4、在一种可能的实现方式中,所述基于所述第一位置点集合和所述第一虚拟平面形成所述第一包围盒包括:根据所述第一虚拟平面确定第一包围盒的第一角度和第二角度,所述第一角度表示所述第一包围盒绕车辆坐标系的x轴的旋转角,所述第二角度表示所述第一包围盒绕车辆坐标系的y轴的旋转角;基于所述第一角度和所述第二角度确定所述第一包围盒的底面,以使所述第一包围盒的底面与所述第一虚拟平面贴合;基于所述第一包围盒的底面和所述第一位置点集合形成所述第一包围盒。
5、在一种可能的实现方式中,所述基于所述第一包围盒的底面和所述第一位置点集合形成所述第一包围盒包括:将所述第一位置点集合绕z轴旋转第三角度得到第三位置点集合,所述第三角度表示所述第一包围盒在水平面的朝向角度;在所述第三位置点集合中筛选第四位置点集合,所述第四位置点集合表示所述第三位置点集合中在车辆坐标系的x轴、y轴和z轴上的最大位置点和最小位置点的集合;根据所述第四位置点集合确定所述第一包围盒的尺寸;基于所述第一包围盒的尺寸和所述第一包围盒的底面形成所述第一包围盒。
6、在一种可能的实现方式中,所述方法还包括:将所述第一包围盒的边框映射到所述第一帧图像数据中得到更新后的第一帧图像数据;响应于标注指令,在所述更新后的第一帧图像数据中标注所述第一障碍物的类型,所述标注指令中包括所述第一障碍物的类型。
7、在一种可能的实现方式中,所述方法还包括:响应于修改指令,对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒,所述第一包围盒的参数包括中心点坐标、顶点坐标、长度、宽度、高度、第一角度、第二角度、第三角度和编号中的一者或多者。
8、在一种可能的实现方式中,所述修改指令包括拖拽指令、参数替换指令和视图变换指令中的一者或多者;所述响应于修改指令,对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒包括:根据控件接收到的所述拖拽指令对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒;和/或,根据接收到的所述参数替换指令对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒;和/或,根据接收到的所述视图变换指令对所述第一包围盒的参数进行修改得到所述第一帧点云第二包围盒。
9、在一种可能的实现方式中,所述方法还包括:获取所述传感器在所述第一帧点云数据之后采集的第二帧点云数据;采用所述第一帧点云对应的第二包围盒作为所述第二帧点云数据对应的初始包围盒,所述初始包围盒用于指示所述第二帧点云中的所述第一障碍物;对所述初始包围盒的参数进行调整或者修改得到所述第二帧点云数据对应的第二包围盒。
10、在一种可能的实现方式中,所述方法还包括:上传第一序列的标注结果,所述第一序列至少包括所述第一帧点云数据、所述第二帧点云数据、所述第一帧图像数据和与所述第二帧点云数据对应的第二帧图像数据,所述标注结果包括所述第一序列中每个点云帧的包围盒;获取所述第一序列的评判结果,所述评判结果是基于所述标注结果确定的;在所述标注结果的及格率大于或等于预设概率的情况下,所述评判结果为合格;在所述标注结果的及格率小于所述预设概率的情况下,所述评判结果为不合格,所述标注结果的及格率通过审核模块得到。
11、根据本公开的一方面,提供了一种点云标注装置,所述装置包括:第一获取模块,用于获取传感器采集的第一帧点云数据和与所述第一帧点云数据对应的第一帧图像数据;拟合模块,用于根据所述第一帧点云数据拟合出与第一障碍物所在平面贴合的第一虚拟平面;框选模块,用于响应于针对所述第一帧点云数据的框选操作得到第一位置点集合,所述第一位置点集合表示所述第一帧点云数据中与第一障碍物对应的三维坐标点的集合;包围盒形成模块,用于基于所述第一位置点集合和所述第一虚拟平面形成第一包围盒,所述第一包围盒用于指示所述第一帧点云中的所述第一障碍物。
12、在一种可能的实现方式中,所述拟合模块还用于:在所述第一帧点云数据中获取第二位置点集合,所述第二位置点集合表示所述第一帧点云数据中位于所述第一障碍物所处平面上且不在一条直线上的至少三个三维坐标点;基于所述第二位置点集合进行拟合得到所述第一虚拟平面。
13、在一种可能的实现方式中,所述包围盒形成模块还用于:根据所述第一虚拟平面确定第一包围盒的第一角度和第二角度,所述第一角度表示所述第一包围盒绕车辆坐标系的x轴的旋转角,所述第二角度表示所述第一包围盒绕车辆坐标系的y轴的旋转角基于所述第一角度和所述第二角度确定所述第一包围盒的底面,以使所述第一包围盒的底面与所述第一虚拟平面贴合;基于所述第一包围盒的底面和所述第一位置点集合形成所述第一包围盒。
14、在一种可能的实现方式中,所述基于所述第一包围盒的底面和所述第一位置点集合形成所述第一包围盒包括:将所述第一位置点集合绕z轴旋转第三角度得到第三位置点集合,所述第三角度表示所述第一包围盒在水平面的朝向角度;在所述第三位置点集合中筛选第四位置点集合,所述第四位置点集合表示所述第三位置点集合中在车辆坐标系的x轴、y轴和z轴上的最大位置点和最小位置点的集合;根据所述第四位置点集合确定所述第一包围盒的尺寸;基于所述第一包围盒的尺寸和所述第一包围盒的底面形成所述第一包围盒。
15、在一种可能的实现方式中,所述装置还包括:映射模块,用于将所述第一包围盒的边框映射到所述第一帧图像数据中得到更新后的第一帧图像数据;类型标注模块,用于响应于标注指令,在所述更新后的第一帧图像数据中标注所述第一障碍物的类型,所述标注指令中包括所述第一障碍物的类型。
16、在一种可能的实现方式中,所述装置还包括:修改模块,用于响应于修改指令,对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒,所述第一包围盒的参数包括中心点坐标、顶点坐标、长度、宽度、高度、第一角度、第二角度、第三角度和编号中的一者或多者。
17、在一种可能的实现方式中,所述修改指令包括拖拽指令、参数替换指令和视图变换指令中的一者或多者;所述响应于修改指令,对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒包括:根据控件接收到的所述拖拽指令对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒;和/或,根据接收到的所述参数替换指令对所述第一包围盒的参数进行修改得到所述第一帧点云对应的第二包围盒;和/或,根据接收到的所述视图变换指令对所述第一包围盒的参数进行修改得到所述第一帧点云第二包围盒。
18、在一种可能的实现方式中,所述装置还包括:第二获取模块,用于获取所述传感器在所述第一帧点云数据之后采集的第二帧点云数据;包围盒更新模块,用于采用所述第一帧点云对应的第二包围盒作为所述第二帧点云数据对应的初始包围盒,所述初始包围盒用于指示所述第二帧点云中的所述第一障碍物;包围盒确定模块,用于对所述初始包围盒的参数进行调整或者修改得到所述第二帧点云数据对应的第二包围盒。
19、在一种可能的实现方式中,所述装置还包括:上传模块,用于上传第一序列的标注结果,所述第一序列至少包括所述第一帧点云数据、所述第二帧点云数据、所述第一帧图像数据和与所述第二帧点云数据对应的第二帧图像数据,所述标注结果包括所述第一序列中每个点云帧的包围盒;第三获取模块,用于获取所述第一序列的评判结果,所述评判结果是基于所述标注结果确定的;第一评判模块,用于在所述标注结果的及格率大于或等于预设概率的情况下,所述评判结果为合格;第二评判模块,用于在所述标注结果的及格率小于所述预设概率的情况下,所述评判结果为不合格,所述标注结果的及格率通过审核模块得到。
20、根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
21、根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
22、在本公开实施例中,通过点云数据拟合出障碍物底面的虚拟平面,进而确定出障碍物的包围盒,通过对包围盒的准确调整使其满足要求,并对多帧数据进行分析,在地面倾斜以及激光雷达安装不平等情况下可以准确对目标物体的角度完整表示与标注,且可以对多帧数据进行准确快速的标注。
23、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。