当前位置:   article > 正文

论文阅读笔记:(2022) Delving into the Devils of Bird‘s-eye-view Perception: A Review, Evaluation and Recipe_delving into the devils of bird鈥檚-eye-view percept

delving into the devils of bird鈥檚-eye-view perception: a review, evaluation

paper:  https://arxiv.org/abs/2209.05324

code:  GitHub - OpenPerceptionX/BEVPerception-Survey-Recipe: Awesome BEV perception papers and cookbook for achieving SOTA results

一、主要贡献

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等;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/229065
推荐阅读
相关标签
  

闽ICP备14008679号