3D Proposal Based Sequential Model
这类方法是直接从输入数据中生成3D检测框。
该类方法的近几年最经典的工作便是MV3D。MV3D先是在鸟瞰图生成一系列的proposal,然后再将生成的proposals投影到点云的前视图和RGB图像中,在RoI层面进行了不同视角的特征融合。
该方法有以下几个缺点和不足:
- 无法推广到室内数据集,因为室内物体在空间上可能是上下排布的关系
- 小物体的信息在降采样的过程中被丢失了
- RoI级别的信息融合容易丢失点云细粒度的几何特征
- 大量的RoI会给后续阶段检测框的回归造成计算上的负担
AVOD[]则在一定程度上弥补了MV3D的不足。 这篇文章主要的贡献有以下几点:
- 通过预定义的anchor在feature map上的投影来得到每个proposal的特征 (中间采用了crop and resize 操作从feature map抠出相关区域的特征送入到全卷机网络中进行预测)
- 采用了新的bbox的编码方式:编码了bbox的四个角以及两个高度信息,bbox的角度采用
( cos θ , sin θ ) (\cos \theta , \sin \theta) (cosθ,sinθ)
相比MV3D的bbox编码方式(采用8个corner来编码bbox)而言,这种编码方式减少了编码的维度(从24个维度减少成10个维度),同时也避免了角度预测的模糊性
- 在特征提取阶段引入FPN网络环节了小尺度物体检测不准的问题
基于RoI的特征融合方法有一个比较明显的缺点——丢失了3D空间细粒度的几何信息。
为了解决这一大不足,ContFuse提出了通过连续卷积的方式来融合BEV以及RGB图像的特征。具体来讲,对于BEV上的每个像素点,我们找到其在3D空间中的k个临近点,并投影到RGB image space中,获取其在image sapce上的特征。接下来,我们便可以通过连续域卷积的方式将这k个临近点的特征融合到当前BEV的像素点当中。
更进一步,MMF提出了一种多任务学习的机制来提升3D检测器的性能。该模型包含有两个分支,一个是image分支,一个是BEV分支。在BEV分支中,我们先是基于一个U-Net的网络来估计每个像素对应的地面高度,并计算出每个点地相对高度。然后再将groud修正过后的高度作为BEV分支的输入,并通过ResNet-18进行特征提取。在image分支中,我们先是基于image和sparse depth信息来估计点云的深度信息,然后再通过深度补全的方式得到相应的伪点云。考虑到真实点云往往是稀疏的,我们可以将真实点云和伪点云整合到一起,来辅助BEV分支进行连续卷积。接下来的操作便是一系列常规的操作了,此处不再赘述。MMF的Pipeline如图所示:
问题:
如何构建稀疏深度图?如何预测Depth image?如何得到伪点云?
MVXNet采用的早期融合的方式来融合点云特征与图片特征。其在文章中提到了两种不同的融合方式。一种融合方式是将点云投影到像素空间中,然后对应的pixel特征添加到点云特征当中,另一种融合方式是voxel level的特征融合,此时对应到image分支中,即为RoI-wise feature.
ClOCs采用的是后期融合的方式来融合点云和图片的特征。作者认为采用早期融合方式的一个缺陷就是两种模态之间的信息并没有对齐,此时若直接融合两种模态的信息,势必会影响检测器的性能。但是如果在后期基于RoI进行融合的话,其对于原始信息之间的交互却又是最少的。因此问题的关键就在于,如何实现两种模态信息的充分交互。这里作者提出了一种基于概率来引导融合的方式。作者在文章中提出了这样的两个假设:
一个是几何一致性,一个是语义一致性。几何一致性主要通过IoU来刻画,语义一致性则反映为只针对同类别的proposal进行相似度度量。
其pipeline如图所示: