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算法总结

  • 网络总体步骤:

    作者提出的Frustum Pointnets主要分为三部分:
    step1: 使用一个2d detector检测出目标物体的region proposal,并通过相机参数,获取2d region proposal对应的frustum。
    Frustum PointNets算法总结
    step2: 对检测获取的frustum,进行目标分割。
    Frustum PointNets算法总结
    step3: 基于分割结果预测 3D bounding box。
    作者之所以考虑加入 分割网络,是因为通过2D检测的region proposal映射的视锥体点云,由于存在遮挡和干扰点(如前景和背景),并不能直接进行预测,需要加入一个分割网络,进一步提取属于目标的点。

Frustum PointNets算法总结 具体步骤:
  • rgb-d数据输入
    Frustum PointNets算法总结
  • 适用一个2D检测器在 RGB图像上提取目标区域
    Frustum PointNets算法总结
  • 通过相机的参数,就可以得到2d 目标区域对应的视锥体
    然后提取视锥体区域的视锥体点云(这部分点云 包含了 汽车的前景和背景等干扰点)
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结
    Frustum PointNets算法总结