• 正文
  • 相关推荐
申请入驻 产业图谱

自动驾驶模型是如何“看”懂点云信息的?

12/02 09:10
110
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

自动驾驶中,点云是一个非常重要的感知信号,如激光雷达(LiDAR)生成的点云,其实就是三维空间里一堆带坐标、强度和时间戳的点。单帧点云看起来像“星星撒一地”,不像图像那样有整齐的像素网格,也没有颜色(除非和相机融合),更没有直接的语义标记。

机器要“学会”点云里的东西,不仅要解决输入怎么表示成模型能接受的数值结构,还要学习如何把人类的语义(比如“这是行人”“这是车道”)映射到这些数值上。

想将点云变成模型能理解的内容,就是把无结构的几何信息,经过清洗、编码、标签化等一系列流程后,变成有结构的张量和监督信号,然后用合适的网络或算法去学习这些映射关系。

如何将点云变成符合模型学习的信息?

自动驾驶汽车上采集的原始点云并不能直接使用,其会有孤立噪声点、有地面反射、有雨雪雾,还有车辆运动导致的扫描畸变等问题。为了使点云能够符合模型使用要求,首先要做的就是预处理,这一步的目标是把原始点云规范化,减少干扰,同时保留判别性信息。预处理包括时间同步和畸变补偿(把点按时间补偿到统一坐标系)、去地面和降噪(去掉地面和平面噪声以便更好分割物体)、下采样(用体素化或随机采样减少点数,让后续计算更可控)等操作。这些操作对模型训练和推理的稳定性至关重要。

神经网络其实更喜欢规则的张量,而点云却是无序的集合,因此要解决点云的“表示”问题。对此有直接以点集合为输入,设计点级网络;把点云离散到体素格子上,用稀疏卷积;把点云投影成二维图像(例如鸟瞰图BEV或视角的range image),用2D卷积;以及使用混合手段,把不同表示结合起来等主流做法。不同的方法,会影响模型的计算复杂度、内存占用和对细节的保留,如点级方法保留细节好但计算贵,BEV快且对规划友好但高度信息丢失。

除了空间表示外,还会从点中提取一些工程特征,每个点的回波强度、局部密度、法向量估计、点到最近地面的高度等信息,都可以和坐标一起作为网络输入,帮助模型学到更丰富的几何线索。

模型如何学会点云里面的内容?

模型要学会“这是什么”和“在哪里”,就得有人先教它。教的方式就是给点云打标签,比如把每个点标上类别(路、车、人),或者用一个三维的长方体把车或行人圈起来,甚至标出它们的速度和行走轨迹等。标注质量将直接决定模型上限,因此半自动标注工具、投影到图像做辅标、以及合成数据等常被用来进行辅助。

在训练模型的时候,不仅要教会模型认东西,告诉它“这是车/这是人/这是路”;还要教会它把物体用三维框圈起来,告诉它框应该放在哪儿、多大;更要教会它判断框的朝向和框跟真实物体重合得有多好。

此外,为了让模型鲁棒性更高,还要学习一些边缘场景,可调整不同类别场景出现的频率,让模型不仅看得懂常见的东西,也看得懂更加复杂的场景。在训练模型时,可以让模型对自己判断有多少有把握给出一个定义,这样系统在用它的结果时就知道该信多少。

在训练模型时,数据增强也很重要,所谓数据增强,就是把已有数据稍微改一改来增加多样性。可通过随机旋转、放缩、平移点云,故意删掉部分点、加点噪声,或者把一个场景里的真实物体复制到另一个场景里等做法来进行数据增强。这样可以让模型在应对遮挡、点稀疏或远处目标的情况时表现得更加出色。

最近流行的还有自监督或对比学习,即先让模型在大量没标签的点云上学会“看懂形状和结构”的能力,然后只用很少的人工标签微调,就能达到不错的效果,这样做能大幅减少人工标注的工作量。

模型训练后如何部署?

训练出模型只是第一步,但想把模型安全地用在车上还有很多工作要做。首先要有严格的评估指标,用来衡量模型在检测、分割和跟踪上的表现。检测任务常用平均精度(mAP)和3D框的重合度来评价,分割任务常用mIoU。这些指标可以帮助我们比较不同模型和不同训练配置的优劣,但仅有离线指标还不够,还要在更接近真实的场景里做场景覆盖测试和压力测试,保证模型在稀有或极端情形下的表现可接受。

部署阶段需要把训练好的模型做压缩和优化,以满足车端的算力和延迟约束,可通过模型剪枝、权重量化、使用稀疏运算库等方式来达到这一要求。当然,一定要保证在压缩和优化的同时保证推理时的精度降损可控。部署之后还要做A/B测试和在线回归监测,持续观察模型在真实道路上的表现,如果出现退化或异常,需要能快速回滚到上一个稳定版本。

练时的数据环境(传感器类型、安装高度、城市布局)和模型实际运行的环境可能有差别。为了减少这种差别带来的性能下降,要做域自适应、数据扩充或周期性的在线微调。对于长期运行的车队,还要建立数据闭环,把线上采集到的异常场景回传、做标注并周期性重训练,从而持续提升模型对现实世界的适应能力。

最后的话

想把点云变成模型能学的东西,应先把点云清洗和规整成模型可以处理的形式,再把人类的语义用标签和训练目标教给模型,通过合理的表示、增强和训练策略让模型学会识别类别、定位物体并估计不确定性。把这些能力工程化后,配合持续的数据闭环和安全机制,自动驾驶车辆才能使用点云数据在复杂的真实世界里安全、可靠地运行。

相关推荐