分享一篇今天新出的论文Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud,来自卡内基梅隆大学(CMU)的研究人员提出使用图神经网络(GNN)进行点云数据的3D目标检测,取得了最先进的效果,甚至超越了一些基于点云和RGB数据融合的检测方法,为这一领域开辟了新的技术方向。
该文作者信息:
作者均来自卡内基梅大学,作者称代码将开源。
基于点云的3D目标检测具有非常重要的应用价值,尤其是在自动驾驶领域,使用LiDAR传感器获得的3D点云数据刻画了周围环境,3D目标检测能够比单纯使用RBG摄像头提供更多的目标信息(不仅有位置,而且有距离)。
该文作者指出,以往一些使用CNN的方法处理点云数据时往往需要在空间划分Grids,会出现大量的空白矩阵元素,并不适合非密集数据的点云。而近来出现的类似PointNet的方法对点云数据进行分组和采样,取得了不错的结果,但计算代价太大。如下图:
作者提出使用图神经网络进行点云数据表示,提出的Point-GNN 3D目标检测方法取得了目前state-of-the-art的效果。
算法架构
Point-GNN方法主要分三个阶段:
如下图:
图构建阶段,根据点云中某一点和以其为中心固定半径距离的近邻构建图,图中每个顶点特征不仅包括其3D位置信息也包括一个固定长度状态值向量(反应其近邻关系)。因为点云中含有大量的点,作者并不是对每一个点都构建进图,而是事先进行了体素下采样,降低了数据处理的规模。
GNN目标检测阶段,对构建的图,使用多层感知机(MLP)进行特征提取和聚合,这个过程重复T次,最后对每个顶点使用MLP进行目标类别的分类和位置的回归。
包围框合并与打分,对上一步得到的众多的目标包围框进行合并(同一个目标可能在多个顶点被检测出来),因为上一步的分类分数不能代表包围框定位精度,使用重叠包围框的聚类来改进。
算法如下:
#目标检测# #点云技术#
****
Point-GNN:用于点云中3D目标检测的图神经网络
卡内基·梅隆大学
在本文中,我们提出了一种图神经网络来检测LiDAR点云中的物体。为此,我们在固定半径的近邻图中有效地编码了点云。我们设计了一个名为Point-GNN的图神经网络,以预测图中每个顶点所属的对象的类别和形状。在Point-GNN中,我们提出了一种自动注册机制来减少平移差异,并且还设计了一种合并和计分操作,以准确地组合来自多个顶点的检测。我们在KITTI基准上的实验表明,所提出的方法仅使用点云即可达到领先的准确性,甚至可以超越基于融合的算法。我们的结果证明了使用图神经网络作为3D对象检测的新方法的潜力。
实验结果
该文在KITTI数据集上进行了实验,下表为在测试集上3D目标检测与其他算法的平均精度(AP)的分类别比较:
Bird‘s Eye 视角下目标检测精度的比较:
可见在Car、Cyclist类别上Point-GNN取得了最高精度,在行人类别也达到了主流水平,但并没有达到最好(作者分析称可能是行人上的点云密集度不够导致的,这也是需要后来者改进的地方)。
检测结果示例:
总之,该文提出的Point-GNN 3D目标检测方法为点云数据的检测任务开辟了新思路,取得了非常吸引人的效果,值得大家参考改进。
论文地址:
https://arxiv.org/pdf/2003.01251.pdf
代码地址:
https://github.com/WeijingShi/Point-GNN