Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记

Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记

  • 摘要
  • 一、针对了什么问题
  • 二、本文使用的是什么方法/思想?
  • 三、与以前的工作与什么不同?
  • 四、模型的过程
    • (1)Frustum Proposal
    • (2)3D Instance Segmentation
    • (3)Amodal 3D Box Estimation
  • 五、结论
    • 特点:
    • 缺点和不足:

论文原文来自 Frustum PointNets for 3D Object Detection from RGB-D Data
官方源码 charlesq34/frustum-pointnets
GitHub代码源 simon3dv/frustum_pointnets_pytorch

摘要

从室内和室外场景中的RGBD数据中研究3D对象检测。
以前的方法集中在图像或3D体素上,通常会掩盖3D数据的天然3D模式和不向导,但我们通过弹出RGB-D扫描直接在原始点云上运行。但是,这种方法的关键挑战是如何在大规模场景的点云中有效地定位对象(区域建议)。本文的方法不是单独地依靠3D proposal,而是利用成熟的2D目标检测器和先进的3D深度学习来实现对象定位,达到高效率以及对小物体的高召回效率。得益于直接在原点云中学习,该方法也能够精确估计3D边界框,即使在强烈的遮挡或稀疏点下也是如此。然后在Kitti和Sun RGB-D 3D检测基准上进行了评估,在具备实时能力的同时也实现了SOTA。

一、针对了什么问题

深度网络如何处理3D点云数据一直是一个开放的问题,以前的工作使用projection(投影)把点云转化成图像,或者通过量化(quantization)转化成体素网格,再使用卷积网络。但是!!这种数据表示的转变,会模糊掉3D的模式和数据的不变性。所以,现在的方法就是提出新的网络,能够直接使用3D数据。
尽管PointNets能够分类一整个点云,并且为每个点预测一个语义的类别,但是这种结构如何应用到3D实例目标检测上是不明确的。为了使PointNet的结构应用到3D目标检测上,我们会直接的想到使用滑动窗口或者3D RPN网络计数候选的3D框。但是这种的3D的方法计算复杂度很高,而且对于大型场景比如自动驾驶的成本很高。

二、本文使用的是什么方法/思想?

采用了降维(利用成熟的2D目标检测器)的方式,减小了搜索空间。
从图像检测器中挤出2D边界框来提取物体的3D边界frustums。然后,在由3D Frustums修剪的3D空间内,我们连续执行3D实例分割和Amodal 3D边界框回归,使用的是Point Nets的两个变体。

三、与以前的工作与什么不同?

以前的工作是把RGBD数据当成CNN网络的2D地图,本文的方法以3D为中心设计的网络结构
首先,设计了一些变换,让点云坐标与更受限和规范框架的顺序对齐
然后,在3D空间学习能够更好地利用3D空间的几何和拓扑结构。

在KITTI 3D目标检测上和bird’s eye view detection数据集上都达到了第一。
在3D car AP上,比其他方法高了8.04%
在室内RGB数据集上,即SUN-RGBD上,比2d-driven 3d object detection in rgb-d images.高了8.9% ,比 Three-dimensional object detection and layout prediction using clouds of oriented gradients.高了6.4%

四、模型的过程

输入:给定的RGBD数据
深度数据是从雷达或者室内的深度传感器得到的,在RGB摄像头坐标系中表示为点云
投影矩阵也是已知的,因此可以从2D图像区域获得3D的frustum
每一个对象(object)都有一个类别(class)和一个amodal 3D bounding box
Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记_第1张图片

(1)Frustum Proposal

现在的深度传感器得到的深度图像一般比RGB的分辨率要低,使用已知的相机投影矩阵,2D的bounding box就能被转换成一个平截头锥体(最远和最近的那个平面是由深度传感器的工作距离范围决定的)。然后就可以收集这个锥体空间里面的点云了,但是这些锥体的朝向是各个方向的,就会导致点云收集的大变化。因此我们要旋转这个锥体使得中心轴与图像平面正交。

(2)3D Instance Segmentation

3D实例分割比2D上的图像分割要容易,因为在空间上点与点是分开的。
Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记_第2张图片
每一个平头锥体都只包含一个目标对象,其他点可能是背景或者其他无关的对象遮挡。因此,PointNet学习了遮挡和混乱的模式,同时也预测了目标对象的具体类别。

(3)Amodal 3D Box Estimation

使用T-Net进行对齐,使用Amodal Box Estimation Point net进行box的评估。
Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记_第3张图片

五、结论

特点:

1、直接处理3D数据
2、对于没有遮挡的目标对象,处理的准确度非常高
3、对于一些点比较少的,只包含部分数据的物体,也能够识别出来,人眼甚至都不能从点云数据里识别出来
4、对于在2D box上有很多交叉的部分,转换到3D空间上,定位就变得简单了
Frustum PointNets for 3D Object Detection from RGB-D Data阅读笔记_第4张图片

缺点和不足:

(1)第一个常见的错误是由于稀疏点云中的不准确姿势和尺寸估计(有时小于5点)。
(2)第二个挑战就是本文的方法假设一个平截锥体的空间里只包含一个目标对象,所以同一个类别有多个目标对象在一个锥体内的时候,本方法就是get confused。比如说两个人站在一起的时候。这个问题能够被解决——如果这个方法能够在一个平截锥体内预测多个bounding box的话。
(3)如果存在黑暗环境或者很严重的遮挡的时候,2D的目标检测器就会检测不到物体,那也就不存在3D上的物体检测

你可能感兴趣的:(目标检测,3D点云,3d,目标检测,计算机视觉)