点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【全栈算法】技术交流群
作者|杜霖@Xtreme1、纪大胜@Xtreme1
编辑|自动驾驶之心
正文:
在自动驾驶领域中,摄像头和激光雷达(LiDAR)都是广泛采用的传感器。激光雷达输出的是3D点云数据,现有技术通常使用机器学习算法对点云数据进行处理,识别3D点云数据中的各种对象,如车辆、人、车道线等。

在上图显而易见地,3D点云中带有周边物体精确的坐标和长宽高等三维信息,因此这部分数据的获取与处理对自动驾驶显得尤为重要。
但在机器能自动处理数据之前,又需要准备大量的训练数据。也就是说,需要有大量标注好的点云数据,告诉机器每个点云空间里面哪部分是车,哪部分是人、车道线等。GPT3的训练集有数千亿tokens才能达到比较好的聊天体验。自动驾驶如果想达到应用程度,很有可能也需要千万级甚至亿级的点云数据。
那么如何高效地产生训练数据呢?
一、面临难题
采集3D点云数据并不困难,重要的是在采集之后,需要人工标注出里面的物体,以供模型训练。也就是说,需要标注人员“画”一个3D框,将物体框选出来。

目前的标注方式如上图所示,后续用“老方法”代称。
在老方法中,2个向量(3个点)确定1个3D框。第一个向量确定车的方向和框的长,第二个向量确定框的宽,两个向量共同确定框的中心。也就是说这3个点都有讲究,随便画会导致生成的3D框不准。(注:三维框的高另有其他方式自动生成,不在本文介绍范围内。)
看起来很简单,但怎么保证框和物体贴合得精准?怎么保证框的方向和物体方向保持一致?
结果就是可能需要反复调整框的角度和大小,以达到验收标准。
想想标注员每天需要标注数千个框,即使他们已经技艺精湛,反复的精细操作也无疑是一种折磨。
此时自然而然地就会产生疑问:既然一个物体的点云数据已经较明显地具有轮廓,可不可以使标注人员只需在最开始框选出一个大致的范围,框就自行进行贴合、校正呢?
二、优化方案
基于此疑问,Xtreme1团队推出了点云标注的优化方案,整个标注过程大体有3步,后续用“新方法”代称:
标注员通过对角2点确定一个二维基础框
自动生成最贴合的三维包围框
自动确定物体方向。
2.1 生成贴合框
接下来介绍如何自动生成三维包围框。(注:实际步骤更加复杂,下作简化处理。)
首先,我们不妨从一个问题出发:怎么去定义有多“贴合”呢?
很明显,一个“贴合”的框,它的边一定不能离目标物体点云太远,也就是说得考虑距离因素,生成一个外接框。
但外接框根据角度的不同,也可以有很多个,我们并不希望这个框离某些点很近,却离另外的点很远。

最后,我们并不会要求一个右侧的点去贴合矩形的左边框,通常来说,1个点应该只贴合1条边。
搞清楚这些前提之后,这个问题就变得有点像一个“聚类”问题,相当于给目标物体的点云找到4个“聚类边”。具体过程如下:
由于已经有了二维基础框确定范围,所以外面的点云先剔除掉,只保留基础框内部点云。
生成一个外接框,计算贴合度(贴合度由自定义函数计算)。
改变角度再生成外接框,得到多个框和多个贴合度,从中筛选出最优框。

2.2 确定物体方向
接下来以汽车为例,介绍如何确定物体方向。
已知条件是:
标注员手动绘制二维基础框时产生的对角线向量。
1个构建好的包围框
首先,汽车的方向向量一定是在包围框的4条垂直平分线向量中产生,进而也容易想到,是在2条短边的垂直平分线向量中产生。
最后,将二维基础框的对角线向量纳入考虑,垂直平分线向量中与对角线向量成锐角的向量,即代表了汽车的方向。

上图中灰色框为最佳包围框,2个灰色向量为短边的垂直平分向量,其中与对角线向量成锐角的代表了汽车方向
三、总结
完整的新方法标注示意图如下:

老方法中,标注员打的3个点直接关系到3D框的构建,他们要么花时间仔细确定点的位置,要么打点后花时间调整角度和框大小。而新方法中,标注员只需要较“随意”地打2个点即可。两者所花费的时间成本是截然不同的。如果用老方法画1个框花了6秒,而新方法只要3秒,这就省下了50%的时间。
Xtreme1研发团队推出的新标注方法能更有效地节省标注时间,提高工作效率,提供更精准更高质量的数据。这一技术更新用Peter F. Drucker的一句话:“The greatest danger in times of turbulence is not the turbulence; it is to act with yesterday’s logic.”(在动荡时期,最大的危险不是动荡本身,而是继续使用昨天的思维方式。)在现在日新月异的人工智能行业,我们应该为任何可能的进步付诸努力,也应该为任何取得的进步喝彩。
视频课程来了!
自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)
(扫码学习最新视频)
国内首个自动驾驶学习社区
近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称