萌芽期
Det相关的算法最早都起步于CV领域,CV领域经典算法层出不穷,出现了R-CNN,Faster R-CNN,YOLO,以及衍生出许多当前SOTA的CenterNet
VeloFCN[1]
将3D点云转换到正视图(Front View)再套用图像det,不过因为造成了信息缺失,丢失了深度信息,效果很差
MV3D[2]
17年的MV3D增加了一个新的视角:鸟瞰图 BEV(Bird's Eye View),加上VeloFCN的正视图,与2D数据进行融合,一同进行检测(R-CNN)
起步期 2017年
VoxelNet[3]
CVPR 2018的一篇文章,作者是苹果公司的两位研究员。
步骤:
- Grouping: 将点云量化到一个均匀的3D网格中
- Random Sampling: 每个网格中随机采样固定数量的点(不足就重复),输入点坐标为 \((x,y,z,R,\Delta X,\Delta Y,\Delta Z)\)
- Stacked Voxel Feature Encoding:
全连接层被用来提取点的特征,然后每个点的特征再与网格内所有点的特征均值进行拼接,得到新的点特征。这种特征的优点在于同时保留了单个点的特性和该点周围一个局部小区域(网格)的特性。这个点特征提取的过程可以重复多次,以增强特征的描述能力 - 最终网格内的所有点进行最大池化操作(Max Pooling),以得到一个固定长度的特征向量
- 输出为4D Tensor,\((x,y,z,f)\),f为feature map。为了套用3D的检测算法,本文使用多次3D卷积压缩z维度的大小至2: \((H\times W \times 2 \times C')\),然后将最后连个维度合并\((H\times W \times 2C')\)。然后使用RPN(Region Proposal Network)进行 3D BBox 生成。
从上面的介绍可以看出,VoxelNet的框架非常简洁,也是第一个可以真正进行端对端的学习的点云物体检测网络。实验结果表明,这种端对端的方式可以自动地从点云中学习到可用的信息,比手工设计特征的方式更为高效
PointNet++[4]
-
Qian et al., 3D Object Detection for Autonomous Driving: A Survey, 2021 ↩︎
-
Chen, et al., Multi-view 3d object detection network for autonomous driving, CVPR, 2017 ↩︎
-
Zhou and Tuzel, Voxelnet: End-to-end learning for point cloud based 3d object detection, CVPR, 2018. ↩︎
-
Qi et al., Pointnet++: Deep hierarchical feature learning on point sets in a metric space, NeurIPS, 2017. ↩︎