[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

总结:利用图卷积网络(GCN)进行三维物体检测的开创性工作。引入了两个模块来使用图卷积来细化物体提议框。第一个模块R-GCN利用提议框中包含的所有点来实现每个提议框的特征聚合。 第二个模块C-GCN融合来自所有提议框的每帧信息,通过利用上下文回归精确的对象框

Abstract

提出了PointRGCN:基于图表示的图卷积网络的3D目标检测方法,直接在3D雷达数据上进行操作。为了执行更加准确的3D目标检测,我们利用执行proposal feature和上下文聚合的图表示方法。R-GCN:进行分类和回归的残差GCN;C-GCN:通过让多个proposals之间共享上下文信息从而完善proposals的上下文GCN。

Introduction

Related Work

3D 点云表示

三种方法:投影、体素化和per-point features(PointNet系列)。

图像投影为进一步的深度卷积网络提供了粗糙但结构化的输入。

体素化将3D空间离散为结构化网格。允许进行3D CNN处理,但是因为点云很稀疏,所以存储效率不高。

PointNet、PointNet++通过学习每个点的深层特征表示来解决稀疏性问题,所有点有助于形成更完整的表示。但是,点之间共享的上下文仅限于3D空间中的点关系,形状仍然缺乏结构。

为了解决这些问题,我们使用两个GCN网络。

图卷积网络

wang等人提出点云的图表示方法,并且在分类和分割任务中展示出改进功能。Li等人表明通过引入残差的skip连接,GCN可以达到112层,类似于ResNet。由于为每个中间层动态分配了边缘连接,相对于PointNet++,GCN的接收域增加了。并且具有这些功能的GCN在分割、点云变形、对抗产生和点云registration等任务中显示了成功。我们首次使用图表示在点云输入上引入了3D 车辆检测模块。

single-Stage 3D object Detection

我们首选two-stage检测器,因为one-stage方法往往会获得较低的性能,并且GCN在完整点云上的计算量很大。

Two-Stage 3D Object Detection

two-stage方法将检测任务分为了两个子模块。一个模块负责训练产生大量的高召回率的proposals,另一个模块对这些proposals进行微调。

使用PointRCNN的proposals方案为基础,但是会利用GCN来完善proposals。由于GCN的计算和内存复杂性,将其使用限制在refine(细化)阶段。我们将每个proposal的点特征与R-GCN相结合,并利用C-GCN 聚合上下文信息。

Methodology

分为两步:生成高召回率的proposals,对proposals进行细化得到高精准率的检测。主要集中于第二步:微调proposals。使用的是PointRCNN的RPN。在第二阶段,通过利用图表示proposals中的点来利用点云中的几何信息。

3.1. Graph Embedding and GCNs.
3.2. PointRGCN Vehicle Detection Pipeline

三个部分:RPN,基于图表示的proposal 特征提取网络**(R-GCN)和基于图表示的proposal上下文聚合网络(C-GCN)**。输入为场景点云,输出为微调过后的boxes集合。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyafCV86-1605772259324)(https://i.loli.net/2020/11/13/AjHf7wQIlzMOeWc.png)]

RPN: Proposal Generation. 输入点云,产生proposals bounding boxes R R R 。proposals boxes b i b^i bi由七维向量(包含中心点$(x,y,z) , 大 小 ,大小 (h, w, l) 和 旋 转 角 和旋转角 \theta ) ) (x, y, z, h, w, l, \theta)$表示。这个模块的主要要求是产生回召率高的proposals。这个方法首先通过学习来分割前景和背景点,并且将每个前景点(非背景点)归属于一个proposal bounding box b i b^i biproposalssegmentation features 都用于后面的微调阶段。当前基于GCN的特征提取方法需要占用大量内存,因此依靠 PointNet++ 提取特征(这一点与 PointRCNN 类似)。

R-GCN: Proposal Feature Extraction。 采用一组召回率较高的proposals框R ,并提取出一组特征,这些特征将用于回归更好的边界框。具体实现方法:proposal 框首先被扩展到包含对象周围的额外上下文信息。相关的LIDAR点被裁剪,一共保留 P P P个点,proposal i对应的点集为* P i P^i Pi*。相应的proposal 点云被转换成规范参考系,proposal的中心点位于原点, proposal坐标轴和规范坐标轴对齐。之后,将每个点的标准坐标投影到更大的空间中,来匹配该点的RPN特征的维数。然后,将投影的规范坐标与相应的RPN特征连接起来,并减少连接向量的维数,以获得每个点的特征向量。这里用的是MRGCN的 N r N_ r Nr 层处理每个点的特征向量。每个层都有固定数量的滤波器 F τ F_\tau Fτ , 并在连续的层之间使用residual skip 连接。之后我们通过串联每个图卷积层的输出特征为每个点创建局部的多层特征向量。对每个proposal,,我们都通过将局部多层特征投影到 C r C_r Cr维空间中并在所有点上执行最大池化来学习全局点特征。然后将全局点特征连接到每个proposal的每个点。最后,对这每个点执行最大池化。生成一个 ( N τ × F τ + C τ ) (N_\tau\times F_\tau+C_\tau) (Nτ×Fτ+Cτ)维输出特征向量,该特征向量可捕获proposal的全局和局部信息。

C-GCN: Context Aggregation. 大多数proposals 都通过物理方式关联地面和道路约束。因此,我们利用封装在每个proposal特征中的信息优化所有的proposals。从R-GCN模块出来的proposal feature输入到当前的GCN。每个节点表示一个proposal,表现形式和R-GCN一样。然后我们使用EdgeConv的 N c N_c Nc层来处理proposal 图,每个层都有 F c F_c Fc过滤器,连续层之间还有residual skip连接。我们像R-GCN一样计算一个全局特征并将其连接到每个proposal的局部特征向量,生成的是 ( N c × F c + C c ) (N_c\times F_c+C_c) (Nc×Fc+Cc)维度的聚合了proposal 信息的输出。

3.3. Detection Prediction

最后一个模块中,为每个proposal生成的特征向量将用于分类回归等。具体地,使用了两组完全连接层:一个用于分类,一个用于回归。分类的目的是预测给定的proposal是否足够好,回归以两种方式进行:Binned 回归和残差回归。Binned 回归: f ∈ { x , z , θ } f\in{\{x,z,\theta\}} f{x,z,θ}.残差回归: f ∈ { y , h , w , l } f\in\{y,h,w,l\} f{y,h,w,l}

注:这里的binned regression和residual regression思想来自与PointRCNN论文。

参考:小白科研笔记:简析PointRCNN的基于Bin的误差机制

分类。 通过预测一个置信分数(置信度)来决定这个proposal是否足以预测一个精确框。如果proposal和真实框的IoU大于阈值,则proposal被认为是肯定的,反之低于另一个阈值时,被认为是否定的,在训练区间,不会使用介于正阈值和负阈值之间的proposals。这个得分用于确定在inference期间应该保留的检测。

Binned Regression(区间回归??)。 通过区间回归 对每个box Feature在不同的区间的 V f V_f Vf进行分类。除了这个bin分类,bin内回归以进行更精确的框预测。给定特征 f ∈ { x , z , θ } f\in\{x,z,\theta\} f{x,z,θ}对于区间 i ∈ [ 0 , ∣ V f ∣ ] i\in[0,|V_f|] i[0,Vf],区间中心 v f i v^i_f vfi计算方法如(4)。

S f S_f Sf:离散化为bins的搜索空间, δ f \delta_f δf:区间分类分辨率, v f v_f vf:proposal box特征。区间中心 v ^ f \hat{v}_f v^f有最高的分类得分,用来生成修正box。

修正的box feature r ^ f \hat{r}_f r^f, b r e g ^ f \widehat{breg}_f breg f是对应于最高得分的bin的网络回归输出。 δ f \delta_f δf用于归一化回归输出,以便获得更稳定的训练。
v f i = b f + ( i + 0.5 ) δ f − S f v^i_f=b_f+(i+0.5)\delta_f-S_f vfi=bf+(i+0.5)δfSf

r ^ f = v ^ f + δ f b r e g ^ f \hat{r}_f=\hat{v}_f+\delta_f\widehat{breg}_f r^f=v^f+δfbreg f

残差回归。

可以看做是Binned Regression的一种特殊情况。

3.4. Losses

最终的损失由两部分组成,分别是对proposal进行分类的损失* L c l s L_{cls} Lcls和proposal regression的损失 L r e g L_{reg} Lreg*。而regression的损失则可以进一步细分为binned classification 损失和 binned regression损失。

二元交叉熵损失* F c l s F_{cls} Fcls用于proposal 分类和bin分类,smooth L1 损失 F r e g F_{reg} Freg则用于回归任务。 β r e g {\beta}_{reg} βreg表示的是proposals中IoU足够大的能用于回归的的子集。
[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

regression targets

regression targets的计算方式如下。对于给定的一个proposal b和box feature f,可以这样计算,式子中的 b ˉ f \bar{b}_f bˉf表示的是ground truth bounding box,和proposal b和之间有最高的IoU。
b i n ˉ f b = ⌊ b ˉ f − b f + S f δ f ⌋ \bar{bin}^b_f = \lfloor\frac{\bar{b}_f-b_f+S_f}{\delta_f}\rfloor binˉfb=δfbˉfbf+Sf
Binned regression分类的targets是one-hot编码的真实区间 b i n ˉ f b \bar{bin}^b_f binˉfb ,向量大小为 ∣ ∣ v { ∣ ∣ ||v_\{|| v{,也就是所有可能的区间数。一旦给出一个特征f,计算出真实值bin,它的regression target可以这样计算。
b r e g ˉ f b = b ˉ f − v ˉ f δ f \bar{breg}^b_f=\frac{\bar{b}_f-\bar{v}_f}{\delta_f} bregˉfb=δfbˉfvˉf
v ˉ f \bar{v}_f vˉf表示真实区间的中心。在只有单个区间的情况下,真实区间的中心等于单个区间的中心,即 v ˉ f = v ^ f \bar{v}_f=\hat{v}_f vˉf=v^f.

Experiment

4.1 Experiment setup

Dataset。KITTI 3D数据集中的汽车类。

R-GCN

4.2 Main Result

[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

表1展示了3D和BEV对象检测的IoU为0.7时的平均精度。在最近的方法STD提出之后,PointRGCN平均排名第二。我们对准的baseline为PointRCNN,并在easy 难度的BEV对象检测方面实现了2.13%的突破。通过图表示方法获得的细粒度信息有助于在BEV空间中对车辆进行定位,但 r y , r h r_y,r_h ry,rh等高度信息还是难以定位。

4.3 Ablation Study

[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

对标PointRCNN,并且对R-GCN和C-GCN分别做了对比。

4.4 Further Ablation on R-GCN

通过改变模型的层数、层的类型、是否采用residual skip connection、扩张和输入特征等进行对R-GCN的消融实验。
[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

深度。3-5层最佳。

网络设计。结果表明,扩张(dilation)和 residual connection至关重要。【14】表明residual connection可以让梯度在各层之间更好地流动,从而改善GCN收敛的平滑度。而dilation能够提供必要的接收区域,从而得到足够的特征信息。

输入的数据。如果仅仅只用点的坐标作为图节点的特征,在中等难度等子集上出现4.16%的下降。RPN特征在处理proposal 点时是予以信息的重要来源,因为他们已经经过了语义分割训练。

4.5 Further Ablation on C-GCN

与4.4类似。

[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

4.6. Qualitative Results

定性结果。

[论文阅读] PointRGCN:Graph Convolution Networks for 3D Vehicles Detection Refinement

top:分别是 真实物体,PointRCNN和PointRGCN的BEV结果。

bottom:

a)检测到汽车的情况

b)与PointRCNN相比错检率低

c)失败案例

Conclusion

略。