解读CVPR2020:Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud


1.摘要

本文提出了一种图神经网络Point-GNN来检测点云中的物体,预测每个顶点所属的对象的类别和bounding box。该网络是单阶段网络。

2.网络结构

在这里插入图片描述
该网络包含三个组成部分:(a)图形构造(b)T次迭代的GNN(c)边界框的合并和打分

2.1.Graph Construction

首先对于给定的点云集合P={p1,…,pN},其中pi=(xi,si),xi是3D点的坐标,si是代表点的特征的k-length的向量。状态值si可以是反射的激光强度或对周围物体进行编码的特征。给定点云P,通过将P作为顶点并将点连接到其固定半径r(即固定点)中的邻居来构造图G =(P,E)。

在这里插入图片描述
然而,一个点云通常包含数万个点。 以所有点为顶点构造图会带来很大的计算负担。 因此,使用体素下采样点云进行图形构建。

每个顶点的状态si通过对邻居点的特征通过一个MLP,然后通过一个Max function进行聚合。我们把结果当做是顶点的初始化特征。然后送入到GNN中。

每个顶点都会有一个k-length的特征向量,这些向量是通过对邻近的点的特征进行MLP和Max得到的,这样就完成了图的构建。G=(P,E),P={pi,si}。

2.2.Graph Neural Network with Auto-Registration

一个典型的图神经网络通过聚合边的特征来定义顶点特征。 在第(t + 1)次迭代中,它将用以下形式更新每个顶点特征:

在这里插入图片描述
其中et和vt是第t次迭代的边和顶点特征。
函数ft(.)计算两个顶点之间的边的特征。
ρ(.)是一个集合函数,用于汇总每个顶点的边的特征。
gt(.)使用聚合的边的特征来更新顶点特征。 图神经网络然后输出顶点特征或在下一次迭代中重复该过程。

该论文重新编写方程式(2),以使用其邻居的状态来定义一个顶点的状态:

在这里插入图片描述
在这里使用的邻居的相对坐标作为ft(.)的输入,相对坐标对点云的整体偏移有平移不变性,但是对邻域内的位移非常的敏感。当将较小的平移添加到顶点时,其邻居的局部结构保持相似。 但是邻居的相对坐标都发生了变化,这将输入方差增加到ft(.)。
为了解决这一问题,文中提出了一种auto-registration机制,通过使用上一次迭代时的中心顶点的状态值来计算中心顶点在这一次迭代时是否有偏移and偏移量是多少。

在这里插入图片描述
这样就可以避免因为偏移带来的相对坐标的改变。

这一步是为了想要使得在数据增强时,顶点坐标发生了偏移,想使与邻域点的相对坐标不变。但是就算加上顶点的偏移量,也不会保证所有邻域点的相对坐标都不改变,因为有的邻域点自己的坐标也改变了。这个方法是保证坐标点没变的邻域点的相对坐标不变。
公式是计算顶点的偏移量,h(.)使用上一次迭代的中心顶点的状态值来计算偏移量。可以通过设置h(.)的输出为0,GNN在必要时禁止偏移。

如下图所示,我们使用多层感知器(MLP)对ft(.),gt(.)和ht(.)进行建模,并在gt(.)中添加残差连接。 为了实现鲁棒性,选择ρ(.)为Max。 然后,在所提出的图形网络中的单个迭代如下:

在这里插入图片描述
其中[,]表示串联操作。
每个迭代t使用一组不同的MLPt,这些MLPt在迭代之间不共享。 在图神经网络的T迭代之后,使用顶点状态值来预测每个顶点所属的对象的类别和边界框。 分类分支MLPcls计算多类概率。 最后,定位分支MLPloc为每个类计算一个边界框。

在这里插入图片描述

2.3.Loss

每个顶点具有M个类别概率,M是对象类别的总数,包含背景类。如果顶点在某一个对象的边界框内,则将该对象类分配给该顶点。如果顶点在任何边界框之外,将为其分配背景类。 使用平均交叉熵损失作为分类损失。

在这里插入图片描述
其中p和y分别是第i个顶点的预测概率和onehot类标签。
对于对象边界框,我们以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,δθ)。 如果一个顶点带有边界框,我们将在ground truth预测之间计算Hube r loss。 如果顶点在任何边界框之外,或者它属于不需要的类,则将其定位损失设置为零。 然后,平均所有顶点的定位损失:

在这里插入图片描述
为了防止过拟合,在每一层添加L1正则化损失

在这里插入图片描述
where α, β and γ are constant weights to balance each loss.

2.4.Box Merging and Scoring

由于多个顶点可以位于同一对象上,因此神经网络可以输出同一对象的多个边界框。 有必要将这些边界框合并为一个,并分配一个置信度分数。 非最大抑制(NMS)已被广泛用于此目的。
通常的做法是选择具有最高分类分数的框,然后隐藏其他重叠的框。 但是,分类分数并不总是反映定位质量。 值得注意的是,部分被遮挡的物体可能具有指示物体类型的强烈的线索,但缺乏足够的形状信息。 标准的NMS可能仅基于分类分数就选择了不准确的边界框。
为了提高定位精度,本文考虑重叠边界框的中间位置和大小。 我们还计算置信度分数,为IoU因子和遮挡因子加权的分类分数之和。 遮挡因子代表物体占用的体积比。 给定一个框bi,令li,wi,hi为长度,宽度和高度,令vl,vwi,vhi为分别指示其方向的单位矢量。 xj是点pj的坐标。 则遮挡因子oi为:

在这里插入图片描述
在这里插入图片描述
具体的算法结构如图所示,改进的为绿色部分。
首先计算m为合并的框,具体怎么合并,文中好像并没有说明。意思大概就是把属于同一物体的多个框进行中心位置和大小的合并。
然后计算该合并框的遮挡因子。
计算置信度z,通过m和原来的框的iou乘以dk的和再乘以遮挡因子加一。
这样就得到了框和其对应的置信度。

3.本文创新点

  • 在Point-GNN中,提出了一种auto-registration机制,减少局部的平移方差。
  • 提出了盒融合和评分操作来精确地组合来自多个顶点的检测结果。
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值