Frustum PointNets算法总结
最近一直在看Frustum PointNet源代码,然后结合论文和作者公开课等资料总结了下主要的思路。
-
数据输入
RGB-D数据 (D可以来自雷达采集的点云或者 深度相机采集的深度图,作者训练使用的是kitti数据集) -
网络输出
Amodel 3D bounding box和场景中目标物体的标签(如car 等)
其中 Amodel代表的是 即使物体被遮挡或者截断,依然可以预测完整的3D bounding box
3D bouding box的表示: box的中心坐标+box的尺寸+box的角度: -
网络总体步骤:
作者提出的Frustum Pointnets主要分为三部分:
step1: 使用一个2d detector检测出目标物体的region proposal,并通过相机参数,获取2d region proposal对应的frustum。
step2: 对检测获取的frustum,进行目标分割。
step3: 基于分割结果预测 3D bounding box。
作者之所以考虑加入 分割网络,是因为通过2D检测的region proposal映射的视锥体点云,由于存在遮挡和干扰点(如前景和背景),并不能直接进行预测,需要加入一个分割网络,进一步提取属于目标的点。
- rgb-d数据输入
- 适用一个2D检测器在 RGB图像上提取目标区域
- 通过相机的参数,就可以得到2d 目标区域对应的视锥体
然后提取视锥体区域的视锥体点云(这部分点云 包含了 汽车的前景和背景等干扰点)