点击下方
卡片
,关注
「3DCV」
公众号
选择
星标
,干货第一时间送达
来源:自动驾驶Daily
添加小助理:cv3d008,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「
3D视觉从入门到精通
」知识星球
,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:
近20门独家秘制视频课程
、
最新顶会论文
、计算机视觉书籍
、
优质3D视觉算法源码
等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
我们组最近的工作
ViewFormer: Exploring Spatiotemporal Modeling for Multi-View 3D Occupancy Perception via View-Guided Transformers
主要讨论多视角相机时空感知问题,虽然围绕占据网格任务展开,但实施方法聚焦在时空特征建模方面,同样适用于其他主流智驾感知任务。该方法近期还获得了
RoboDrive Challenge Occupancy
赛道冠军。观点如下:
-
基于Transformer的稀疏多视图特征交互方案中,主流方法主要沿用类BEVFormer的方法,先将3D参考点投影到图像上,再利用2D的deformable attn.收集特征,文中我们将该方案称为projection-first方法。受限于传感器布局,不同相机之间的共视区域通常较少,多数3D参考点本身仅能投影到单张图像内,导致该方法仅能为query收集到单图像的特征,有违多视图感知的初衷。针对该问题我们提出了learning-first方案,先学习3D局部点集,再利用局部3D点集去收集多视图特征,我们将各query的局部点集定义在各query视角坐标系下,使得点集offset量不随query坐标变化,通过引入车身四周旋转不变性来加速收敛。
总的来说,在我们learning-first方案中,query能否收集到多视图的特征的过程变成了一种数据驱动的方式,不再像projection-first方法受限于传感器布局。
-
在temporal modeling方面,我们主要考虑工程实用性和通用性,在特征图层面实现了online video多帧交互的建模方案。为了充分发挥temporal优势,我们还引入occupancy flow的任务,在flow任务上,本文关注真正occupancy level的flow,而非object level的flow,两者的区别主要是object flow为object框内的occ.赋值了相同的flow vector,真的occupancy flow会有更加细粒度的表示。题外话,occ. flow与目标的整体性是对立的,让
PnC
同学看到会比较头疼...本文旨在探讨细粒度4D场景的潜力,或许可以为未来
e2e
框架提供更好的感知表示。
下面会就几个核心部分展开讨论。
-
projection-first方案 vs. learning-first view attn.
如图所示,左边图(a)是上文提到的类BEVFormer的projection-first方法,可能出现的问题是3D参考点如果不能投影到某个图像上,就不会为该query收集该图像特征。与之相对,右边图(b)是我们的learning-first view attn.,通过先学习定义在view坐标系的3D点集,再用点集收集多视图特征,使得能否收集多视图特征这件事变成了一种数据驱动的方式。
-
ViewFormer overview
整个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形式。
-
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个百分点。是否将可学习的点集定义在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可以更有意义的表示出车辆旋转的动态。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
最前沿
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
工业3D视觉
:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建
:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机
:四旋翼建模、无人机飞控等
2D计算机视觉
:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿
:具身智能、大模型、Mamba、扩散模型等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地、产品、行业新闻
等交流群
添加小助理: dddvision,备注:
研究方向+学校/公司+昵称
(如
3D点云+清华+小草莓
), 拉你入群。
▲长按扫码添加助理:cv3d008
「
3D视觉从入门到精通
」
知识星球
「3D视觉从入门到精通」知识星球
,已沉淀6年,星球内资料包括:
秘制视频课程近20门
(包括
结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云
等)、
项目对接
、
3D视觉学习路线总结
、
最新顶会论文&代码
、