https://arxiv.org/pdf/2003.01251v1.pdf
https://github.com/WeijingShi/Point-GNN
本文提出了一种基于图神经网络的激光雷达点云目标检测方法。我们在固定半径的近邻图中对点云进行了有效的编码。我们设计了一个图神经网络(Point-GNN)来预测类别和图中顶点所属对象的形状。在Point-GNN中,我们提出一个自动配准( auto-registration)的机制来确保平移不变性 (translation variance),并且设计了一种方框合并和评分操作,将多个顶点的检测结果准确地组合在一起。我们在KITTI上的实验证明了:仅用点云就能获得领先的精度,甚至可以超过基于融合的算法。我们的结果证明了图神经网络作为一种新的三维目标检测方法的潜力。
在机器人感知中,理解3D环境至关重要。点云(空间中一组点)是三维传感器(如LiDAR)的一种广泛使用的格式。在自动驾驶等应用中,从点云中准确地检测对象是至关重要的。
卷积神经网络从图像中检测目标依赖于卷积运算,卷积运算是高效的,但是需要规则网格作为输入。点云通常是稀疏、不均匀,将点云放置在规则网格上会导致分布不均匀,在对这些放置点云的网格进行卷积操作时,可能会导致拥挤单元中信息丢失或者空单元中浪费计算资源。
神经网络最近期发展允许以无序的点云作为输入,利用此类的神经网络来提取点云特征,并需要之前的将点云放置到网格中的操作。但是他们需要对点云进行取样和分组(sample and group points iteratively),来得到点云表示。在大型点云数据上进行迭代分组和取样会导致计算成本非常昂贵,最近的一些三维检测方法采用混合方法在不同阶段使用网格和点云进行表示,,虽然取得了一定的效果,但是这种混合策略可能会受到两种方法缺陷的影响。
在本文中,我们提出了一种使用图作为点云紧凑表示的方法,设计Point-Net的图神经网络来检测目标,我们使用将点作为图顶点来对点云进行编码,图的边位于固定半径内的邻域点连接起来,这样特征信息就可以在邻域之间流动。这样的结构可以直接适应点云的特征,不需要为其创建新的规则。在每一层中,图卷积都重复的使用图的节点和边,这样避免了对点的迭代分组和采样。
研究【15】【9】【2】【17】研究了使用图神经网络对点云进行分类和语义分割。然而,很少有研究考虑使用图形神经网络来检测点云中的3D对象。我们的工作证明了在点云中使用GNN进行高精度目标检测的可行性。
我们提出的图神经网络Point-GNN以点图为输入。它输出每个顶点所属对象的类别和边界框。Point-GNN是一种在单次拍摄中检测多个对象的一阶段检测方法。为了保证图神经网络中的平移不变性,我们引入了一种自动配准机制,允许点根据其特征对齐它们的坐标。在此基础上,设计了一种方框合并和评分操作,对多个顶点的检测结果进行了准确的组合。
在KITTI基准测试方法有效性的过程中,Point-GNN仅使用点云就达到了最先进的精度,甚至超过了传感器融合方法。我们的Point-GNN展示了一种新型的基于图神经网络的三维目标检测方法的潜力,它可以作为未来研究的一个很好的基线。为了对Point-GNN中各部分得出其对结果的有效性,我们叶进行了消融实验。
本文的贡献在于:
提出了一种基于图神经网络的点云目标检测新方法。
设计了Point-GNN图神经网络,它具有自动配准机制,可在单次拍摄中检测多个对象。
在KITTI基准测试中实现了最先进的3D目标检测准确率,
并深入分析了每个组件的有效性。
之前的相关工作可以分为三类,如上图.1所示:
最近许多研究将点云转化为规则网格表示,从而可以利用CNN,【20】将点云投影到二维鸟瞰(BEV)图像,并使用二维CNN进行目标检测,【4】在使用2DCNN之前,将点云投影到BEV图像和前视图(FV)上。由于分辨率的限制,这种投影会导致量化误差。某些方法将点云保留在三维坐标中。【23】将点云表示为3D体素中的点,并应用3D卷积进行目标检测。随着体素分辨率的提高,三DCNN的计算量成倍增长,由于点的稀疏性,很多体素都是空的。诸如稀疏卷积【19】的优化降低了计算成本。将点云转换为二维/三维网格会遇到点的不规则分布与网格的规则结构之间的不匹配问题。
一些在集合上的深度学习技术,如PointNet【3】和DeepSet【22】表明,神经网络可以直接从无序的点集合中提取特征。在这种方法中,每个点被多层感知器(MLP)处理以获得点特征向量。
这些特征通过平均或最大池化(average or max pooling)函数进行聚集,以形成整个集合的全局特征向量。【14】提出了点特征的层次聚合,并通过在一些关键点周围采样来生成点的局部子集。将这些子集的特征再次分组到集合中,用于进一步的特征提取。许多3D目标检测方法利用这种神经网络来处理点云,而无需将其映射到网格。然而大规模的点云采样和分组会导致额外的计算开销。大多数目标检测研究只使用集合上的神经网络作为管道的一部分。【13】从相机图像生成目标建议,并使用[14]将属于目标的点从背景中分离出来,并预测边界框。【16】使用【14】作为主干网络(BackBone),直接从点云生成边界框方案。使用第二阶段的点网络来细化边界框。混合方法如【23】【19】【10】【21】使用【3】从局部点集提取特征,并将特征放置在规则网格上进行卷积运算。虽然在一定程度上减少了点云的局部不规则性,但仍然存在规则网格与整体点云结构之间的不匹配问题。
关于图神经网络的研究[18]试图将卷积神经网络推广到图表示。GNN通过沿边聚集特征来迭代更新其顶点特征。虽然聚集方案有时类似于集合上的深度学习,但GNN允许沿边缘确定更复杂的特征。通常不需要重复对顶点进行采样和分组。在计算机视觉领域,有几种方法将点云表示为图形。【15】使用递归GNN对RGBD数据进行语义分割。【9】将点云分割为简单的几何形状,并将它们链接到图形中以进行语义分割。【2】【17】使用GNN对点云进行分类。目前为止,很少有研究设计用于目标检测对目标形状进行明确的预测的图神经网络
在本节中,我们将描述如何从点云中检测3D对象。如图2所示,我们方法的总体架构包含三个组件:(A)图形构造,(B)T次迭代的GNN,以及©边界框合并和评分。
定义一个N个点的集合P = {P1, …, PN },每一个点Pi = (Xi, Si),前者代表其3D坐标,Si为长度为K的点特征,可以为反射的激光强度或者编码周围目标的特征。给定一个点云集合P,以P为图的顶点,将顶点与在固定半径r内的邻居点相连接,从而构建出图G=(P,E)。
这样就把图构建问题转换为了固定半径近邻搜索问题,通过使用小区域列表来寻找点对,可以有效地解决这个问题,运行时间复杂度为O(CN)为半径内最大的邻居节点数。
3D点云通常包含的点会很多,如果不加处理直接进行构建图会造成很大的计算负担。因此采用体素下采样来降低点云密度。为了保留原始点云中的信息,搜索每个顶点R0半径内的原始点,使用集合上的神经网络来提取特征。我们遵循【10】【23】,使用MLP嵌入激光雷达反射强度和相对坐标,然后用MAX函数进行聚合。将生成的特征作为顶点的初始状态值。
沿边聚合来优化顶点特征,在Eq(2)中,t表示第几次迭代,e表示边的特征,v表示顶点的特征。f(.)表示生成两个顶点之间边的关系,p(.)生成中心点与所有邻近点之间的边关系,g(.)加入第t次迭代改中心点的特征后,生成第t+1次迭代的顶点特征。
在目标检测中,设计GNN来优化顶点的状态,利用如下从Eq(3)来使用邻居状态来优化顶点的状态
在Eq(3)中使用邻居的相对坐标作为f(.)输入,提取边缘特征。相对坐标对点云的全局唯一有平移不变性,然而其对邻域内的平移还是很敏感,顶点发生平移时,虽然局部结构保持相似,但是邻居的相对坐标还是会发生改变,这会对f(.)输入造成影响。为了减小影响,我们提出根据邻居的结构特征来对齐邻居坐标,而不是中心顶点坐标。由于中心顶点已包含上一次迭代的一些结构特征,因此我们可以使用它来预测对齐偏移,并提出自动配准机制:
其中∆x为计算边状态值时得到的坐标位移差。Point-NET单次迭代公式如下:
LOSS:
对于目标类别,将每个节点计算多类概率{Pc1,…,Pcm},m为目标类的总数(包括背景类)。顶点位于目标的边界框内,则将目标类分配给该顶点。反之为背景类。分类损失采用平均交叉熵:
其中y真实值的标签,p预测的标签。
对于对象边界框,我们以7自由度格式b=(x,y,z,l,h,w,θ)进行预测,其中(x,y,z)表示边界框的中心位置,(l,h,w)分别表示框的长度、高度和宽度,θ是偏航角。我们使用顶点坐标(xv,yv,zv)对边界框进行编码,如下所示:其中,lm、hm、wm、θ0、θm是超参数。
预测每个类的编码边界框δb=(δx,δy,δz,δl,δh,δw,δθ)。如果顶点在边界框内,我们将计算地面事实和我们的预测之间的Huber损失[7]。如果顶点在任何边界框之外,或者它属于我们不需要本地化的类,则将其本地化损失设置为零。然后,我们平均所有顶点的定位损失:
为了防止过拟合,在每个MLP中添加一个L1正则化,损失为:
多个顶点位于同一目标上,因此神经网络会输出同一目标的多个边界框,我们需要将这些框合并在一起,并指定一个置信度分数。常规做法是选择分类分数最高的边界框,抑制其他的重叠框,合并边界框常用的算法是NMS,如下所示(绿色为创新部分):
1.这是第一篇记录的论文,略显繁琐,基本上都是一些翻译工作,少了很多的自己独立思考和总结归纳的步骤,后面需要逐步加入对论文的总结和提炼。
2.对3D点云进行图构建的方法,用点直接作为顶点,固定半径内的点进行连接作为边。其他方面自我感觉还不是对我很有用。
3.不能作为一个总结性的笔记,可以当做一个翻译版,供大家快速阅读了解一下大致思想吧。