赞
踩
paper: https://arxiv.org/abs/2209.05324
一、主要贡献
1. 对于近年来BEV感知进行全面回顾,包含一些高层级的逻辑和一些深入的细节;
2. 对于BEV的关键问题进行了分析, 包含深度估计,视角转换,传感器融合,域迁移等;也讨论了一些工程化过程中的系统层级设计;
3. 介绍了很多提高BEV感知性能的实践技巧;
二、3D感知的背景知识
2.1 主要的任务:
1)基于单目的3D目标检测;2)基于激光雷达的3D目标检测和分割;3)多传感器融合方案;总的来说,肯定是融合的方案精度高;
2.2 数据集:
waymo的比较全面, OpenLane的有车道线
2.3 评价标准
最常用还是mAP;NDS(nuScene Detection Score)是多个指标的加权平均;LET-3D-LPL主要用在纯视觉的方案(参考https://arxiv.org/pdf/2206.07705.pdf)
三、不同的BEV感知方案比较
3.1 BEV Camera
BEV Camera的研究重点一般实在view transformation, 一般有两种思路:
2D-3D:通过估计每个像素的视差/深度(或者他们沿着视线的分布)等, 把feature“提升”到3D空间,在3D空间做后续任务, 有点bottom up的感觉;由于图片像素数量很大,这个方法如果不做优化,会存在计算量上的瓶颈;
3D-2D: 3D空间采样点/voxel, 或者anchor(bbox或者车道线等任务)采样相机平面的feature. 其中又分为两种方法: 1. 利用相机内外参投影到相机平面采样feature; 2. 不依赖相机内外参, 用transformer attention 相机平面不同的feature;总之有点top down的感觉;
view transform 之后,一般再拍扁到bev,拍扁的方式一般可以是z方向的pooling或者x*y*z*c->x*y*(zc)
3.2 BEV LiDAR
Pre-Bev: 换到体素视图,用3D卷积或者spconv提取视图,再拍扁到bev, 代表的方法是voxelnet以及second
Post-Bev: 直接拍扁到bev,然后提取特征, 代表的方法是pointpillars
lidar到bev几何上算是降维,可能难点是保证空间信息的同时提高语义信息。
3.3 BEV Fusion
3.3.1 空间融合(lidar-camera fusion)
图片和激光雷达都在voxel或者俯视图,融合起来就比较方便了, 比如concat, channel上用MLP搅一搅等;
在voxel上做融合计算量肯定会比拍扁了在bev上做融合计算量大,但是能够保持z方向的信息不被牺牲掉
bev上做融合的代表:(2022.05) BEVFusion: Multi-task multi-sensor fusion with Unified Bird’s-Eye View Representation
voxel上做融合的代表:(2022.06) Unifying voxel-based representation with transformer for 3d object detection
3.3.2 时间融合(temporal fusion)
首先做feature alignment: 预测或者从定位拿到rotation和translation, 计算相对运动, 把前面一帧的feature 对齐到当前时刻;
然后,简单的做法就是直接concatenate当前feature和align过的feature,但是这时动态物体依然是mis-align的;因此,可以设计temporal self attention, 更加“柔性”地融合:
3.4 Industrial Design of BEV Perception
Tesla和毫末的结构和目前主流paper里面的方法比较接近
四、一些经验总结
这一节主要以基于BEVformer++的3D目标检测和基于Voxel-SPVCNN的点云分割为例,介绍一些使用的trick
4.1 训练时的数据增强
BEVformer++: 色彩相关的增强可以直接搞;几何相关的增强要同时变化相机的参数, gt的大小以及图片的顺序,保证在空间上的一致性
4.2 测试时增强
一般是scaling, flip等
4.3 损失函数
BEVformer++: 可以采用一些auxiliary loss, 比如2D检测或者单目深度估计等
Voxel-SPVCNN:
a. Geo Loss: 体现体素的位置重要性,更加关注体素的点,线和面等特征,参考: https://arxiv.org/abs/2001.10709
b. Lovász-loss:相当于直接优化IoU, 比优化cross-entropy效果更加好, 参考原文:https://openaccess.thecvf.com/content_cvpr_2018/papers/Berman_The_LovaSz-Softmax_Loss_CVPR_2018_paper.pdf
4.4 模型集成
BEVformer++: 可以考虑用WBF对多尺度的模型进行融合,参考: https://arxiv.org/abs/1910.13302
Voxel-SPVCNN: 可以考虑把多个模型输出概率做平均;
4.5 后处理
BEVformer++: 用2D框过滤3D框, NMS等
Voxel-SPVCNN:按照欧式距离进行聚类, 并在单个cluster里面进行majority voting等;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。