"); //-->
一、单目3D目标检测
1. 3D目标检测领域有哪些任务和方法?
为了更直观,我画了一个思维导图,点击链接后,注意需要切换一下思维导图状态。
在3D目标检测领域,根据输入信息的不同,大致可分为三类方法。
Point Cloud-based Methods (基于点云来做)
Multimodal Fusion-based Methods(点云和图像的融合)
Monocular/Stereo Image-based Methods(单目/立体图像的方法)
首先,基于点云的经典方法,比如VoxelNet(2018年)、PointPillars(2019年)、PointRCNN(2019年)等。
这类方法都是直接在点云数据上进行特征的提取和RPN操作,将2D目标检测中的网络结构和思想迁移到3D点云中。
点云和图像的融合方法是当前3D目标检测的主流。比较经典的算法有,2018年的MV3D、Frustum PointNets、2019年的Pseudo-LiDAR、2020年的PointPainting等算法。
这里的Pseudo-LiDAR(也叫为激光雷达)这篇文章对后来的单目3D目标检测领域的发展起到了促进的作用。
这里使用了双目图像来生成深度图,根据深度图得到点云数据,再进行目标检测任务。
Stereo Image-based方法中,主要是基于双目图像的3D目标检测,这一领域我不太了解,以后再做补充。
单目3D目标检测我是2021年刚接触的,比较出色的单目3D检测方法主要有:Mono3D PLiDAR、AutoShape、MonoRCNN、CaDDN等。
而在单目3D目标检测领域,又可细分为三类方法。关于单目3D目标检测的分类翻译自CaDNN这篇文章
直接法(Direct Methods)
所谓直接法就是直接从图像中估计出3D检测框,也无需预测中间的3D场景表示[9,52,4,32]。
更进一步的说就是,直接法可以结合2D图像平面和3D空间的几何关系来辅助检测[53,12,40,3]。
例如,可以在图像平面上估计出某对象的关键点,以帮助使用已知几何结构构建3D box[33,29]。[M3D-RPN][M3D-RPN: monocular 3D region proposal network for object detection. ICCV, 2019.][3]
引入深度感知卷积,它按行划分输入并学习每个区域的no-shared kernels,以学习3D空间中位于相关区域的特定特征。
可以对场景中的物体进行形状估计,从而理解三维物体的几何形状。
形状估计可以从3D CAD模型的标记顶点中被监督[5,24],或从LiDAR扫描[22],或直接从输入数据以自我监督的方式[2]。
直接法的缺点是检测框直接从2D图像中生成,没有产生明确的深度信息,相对于其它方法,定位性能较差。
基于深度的方法(Depth-Based Methods)
该方法先利用深度估计网络结构来估计出图像的像素级深度图,再将该深度图作为输入用于3D目标检测任务,[论文][Deep ordinal regression network for monocular depth estimation. CVPR, 2018.]。
将估计的深度图与原图像结合,再执行3D检测任务的论文有许多[38,64,36,13]。
深度图可以转换成3D点云,这种方法被称为伪激光雷达(Pseudo-LiDAR)[59],或者直接使用[61,65],或者结合图像信息[62,37]来生成3D目标检测结果。
基于深度的方法在训练阶段将深度估计从三维目标检测任务中分离,导致还需要学习用于三维检测任务的次佳的深度地图。
如何理解上边这句话呢?**对于属于感兴趣的目标的像素,应该优先考虑获取精确的深度信息,而对于背景像素则不那么重要,如果深度估计和目标检测是独立训练的,则无法捕捉到这一属性。
**所以将深度估计和目标检测任务融合成一个网络,效果会不会更好呢?
基于网格的方法(Grid-Based Methods)
基于网格的方法通过预测BEV网格表示(BEV grid representation)[48,55],来避免估计用做3D 检测框架输入的原始深度值。
具体来说,OFT[48]通过将体素投射到图像平面和采样图像特征来填充体素网格,并将其转换为BEV表示。
多个体素可以投影到同一图像特征上,导致特征沿着投影射线重复出现,降低了检测精度。
2. 什么是单目3D目标检测?
推荐参考博客:
单目3D目标检测论文笔记 3D Bounding Box Estimation - 知乎
ICCV 2021 | 悉尼大学&商汤提出GUPNet:单目3D目标检测新网络
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。