驭势科技自动驾驶算法再进化,全新论文入选两大人工智能顶级会议
近日,驭势科技团队论文《ViewFormer: Exploring Spatiotemporal Modeling for Multi-View 3D Occupancy Perception via View-Guided Transformers》(点击阅读https://arxiv.org/abs/2405.04299)近期入选了欧洲计算机视觉国际会议ECCV(European Conference on Computer Vision),同时还在国际机器人与自动化会议ICRA(IEEE International Conference on Robotics and Automation)举办的首届关注感知鲁棒性的自动驾驶挑战赛中获得RoboDrive Challenge Occupancy赛道冠军。
先了解一下这两个顶级会议的含金量
ECCV被誉为计算机视觉领域的“三大顶会”之一,每两年举办一次。致力于展示计算机视觉研究的最新进展,ECCV以其高标准的论文选取和广泛的研究主题而闻名。为全球的研究人员、学者和行业专家提供了一个交流最新科研成果的平台,也是建立合作、探索新技术应用和讨论计算机视觉未来发展趋势的重要场合。
ICRA是机器人学和自动化技术领域的顶级国际会议,专注于机器人学和自动化领域的最新研究和技术进展,每年举办一次。来自全球领域内的研究人员、工程师、学者和行业从业者,通过论文发表、工作坊、教育会议、技术展示和竞赛等多种形式,分享展示机器人技术的前沿动态和发展趋势。
视觉感知技术一直是自动驾驶领域研究的重点,本次论文主要讨论多视角相机时空感知问题,虽然围绕占据网格任务展开,但实施方法聚焦在时空特征建模方面,同样适用于其他主流智驾感知任务。
全新多视图特征交互方案,突破传感器布局限制
基于Transformer的稀疏多视图特征交互方案中,主流方法主要沿用类BEVFormer的方法,先将3D参考点投影到图像上,再利用2D的deformable attn.收集特征,文中我们将该方案称为projection-first方法。受限于传感器布局,不同相机之间的共视区域通常较少,多数3D参考点本身仅能投影到单张图像内,导致该方法仅能为query收集到单图像的特征,有违多视图感知的初衷。
针对该问题我们提出了learning-first方案,先学习3D局部点集,再利用局部3D点集去收集多视图特征,我们将各query的局部点集定义在各query视角坐标系下,使得点集offset量不随query坐标变化,通过引入车身四周旋转不变性来加速收敛。总的来说,在我们learning-first方案中,query能否收集到多视图的特征的过程变成了一种数据驱动的方式,不再像projection-first方法受限于传感器布局。
引入occupancy flow,充分发挥temporal优势
在temporal modeling方面,考虑到工程实用性和通用性,在特征图层面实现了online video多帧交互的建模方案。为了充分发挥temporal优势,还引入occupancy flow的任务,在flow任务上,本文关注真正occupancy level的flow,而非object level的flow,两者的区别主要是object flow为object框内的occ.赋值了相同的flow vector,真的occupancy flow会有更加细粒度的表示。
View Attention
Projection-first method vs. learning-first view attn.
如图所示,左边图(a)是上文提到的类BEVFormer的projection-first方法,可能出现的问题是3D参考点如果不能投影到某个图像上,就不会为该query收集该图像特征。与之相对,右边图(b)是我们的learning-first view attn.,通过先学习定义在view坐标系的3D点集,再用点集收集多视图特征,使得能否收集多视图特征这件事变成了一种数据驱动的方式。
Overview
ViewFormer
整个ViewFormer框架流程图如上图,我们直接用voxel级别的query来收集细粒度特征,在View Attn.模块中收集当前帧多视图的特征。在时序交互模块Streaming Temporal Attn.模块中,为了降低算力和存储开销,voxel query会被压缩为BEV query,当前帧的BEV query会同时和存储在Streaming Memory Queue中的历史多帧BEV特征做交互,时序这部分算子直接用的deformable attn.,时序交互完,更新后的BEV query会被升维到voxel query,最终voxel query在head部分会负责预测occ.状态和occ. flow。当前帧的BEV特征会被压入Streaming Memory Queue中成为后续帧的历史特征。训练和推理都遵循一致的online video形式。
Occupancy Flow
Object flow vs. occ. flow
已有方法中,利用数据集目标框的标注来生成occ.的flow,但一目标框内的所有occ.都被赋了相同的值,如图中(a)和(c),这显然有违细粒度occ.感知任务的初衷。我们通过跟踪目标框内每个occ.点,制作了occ.级别的flow GT,如图(b)和(d)。通过可视化可以看到,对于旋转的车辆,细粒度的occ. flow能表示出车头和车尾不同的速度方向,这种细粒度的4D场景表示在场景感知中具备更大的潜力。
实验部分
相同基准下我们超过了Occ3D数据集第一届竞赛的冠军方案FB-OCC 2.74个百分点。其他更多基准以及数据集的比较可以从文中查看。
消融实验
在对learning-first的view attn.消融实验中,与projection-first方法相同复杂度下,view attn. 模块能直接提升1.2个百分点。将可学习的点集定义在query相关的view坐标系下(VC),确实提升精度,补充材料里也详细讨论了收敛速度问题。
我们也将view attn.移植到了非常受欢迎的地图构建算法MapTR和3D目标检测算法DETR3D中,去分别替换掉他们方法中多视图特征交互模块(其均是类似projection-first方案),显著提升的性能表示projection-first方案确实对多种任务的性能形成阻碍,在上述两个需求大感受野的目标级别任务上该问题会更凸显一些。
时序部分的实验,temporal modeling相较单帧感知提升了3.26 mIoU,可以看到同时与多帧交互能带来稳定提升,我们实验中历史帧大于4帧之后这部分带来的增益就不再增加了。由于历史帧特征都是在online video数据流中暂存在memory queue中的,与多帧交互几乎不增加训练和推理耗时。
可视化
上图(a)和(b)分别是以objection flow为GT和occ. flow为GT训练的网络预测的flow结果,可以看到对于旋转的车辆,occ. flow可以更有意义的表示出车辆旋转的动态。
驭势科技始终致力于自动驾驶技术的探索和突破,研究成果多次获得CVPR、ECCV、ICRA、IROS等行业权威会议认可。我们坚信,每一次的技术进步,都将让我们离自动驾驶的终极目标更近一步。