Deep Hough Voting for 3D Object Detection in Point Clouds论文笔记

本文介绍了一种名为VoteNet的三维目标检测方法,针对现有方法在处理点云数据时存在的信息丢失和点云稀疏性问题。VoteNet通过PointNet++提取特征并结合霍夫投票机制,生成接近物体中心的虚拟点,然后进行聚类和提案生成,以提高检测精度。在ScanNet和SUNRGB-D数据集上,VoteNet实现了最先进的3D检测性能,且仅依赖几何信息,不依赖彩色图像。
摘要由CSDN通过智能技术生成

一.四个问题
1.要解决什么问题?
目前的三维目标检测方法基本都是沿袭了二维目标检测的工作流程:提特征然后加RPN(region proposal network)。因此,为了利用二维探测器中的架构,它们经常将三维点云转换为常规网格(即体素网格或鸟瞰视图图像),或者依靠二维图像中的检测来提出3D框,而体素化或者网格化将导致信息细节丢失。
此外在特征提取阶段,尽管Point net++在3D分类和分割任务中取得了很大的成功,但是很少有人研究如何在3D检测中利用好它,一种Naive的思想是根据2D检测的流程,在Point net++的输出特征后面接一个RPN,得到目标框。然而点云的稀疏性导致结果不尽如人意,原因是:在图像中,目标中心都是有像素存在的,而在3D情况下目标中心附近一般没有点云,因为扫描得到的点云只存在于目标的表面。因此,基于点云的网络很难在目标中心附近学习场景的上下文。单纯地增加感受野并不能解决这个问题,因为当网络捕获更大的上下文时,它也会包含更多的附近的目标和杂物。
综上,目前的点云目标检测中存在一下问题:
(1)网格化带来的信息细节丢失
(2)由于点云稀疏性带来的,找到的物体中心点可能远离其他点云,从而无法更好地学习场景上下文。

2.用什么方法解决?

为了解决上述问题,作者提出了一个直接为点云数据构建的三维检测管道VoteNet,一种基于深度点集网络和霍夫投票的协同作用的端到端三维对象检测网络。
作者提出赋予点云深度网络一种类似于经典霍夫投票(Hough voting)的投票机制。通过投票,基本上生成了靠近对象中心的新的‘虚拟点’,可以对这些点进行分组和聚合(grouped and aggregated),以生成候选框(box proposals)。

3.效果如何?
在ScanNet和SUN RGB-D两个大型数据集上取得了最先进的 3D 检测精度。VoteNet通过使用纯几何信息而不依赖彩色图像,取得了比以前的方法更好的结果。

二.论文概述
1.霍夫投票
经典霍夫变换的思想:在参数空间内进行投票,投票得数高的就是要得到的值。
而在传统2D霍夫投票中,在已经有了一部分已经标注好的框和图片(或者feature)的前提下,2D霍夫投票将每一个框中的图片或者feature就当作直线检测中的点,框相对于物体中心点的offset就相当于要vote的参数。然后将其feature放入参数空间内,检索offset并且计算vote。
为了成功将vote机制引入到3D 点云中,作者提出了如下霍夫投票流程:
(1)Interest Points(即seed points):作者使用了一个PointNet++自适应提取seed points而不是手工提取seed points。
(2)Vote:作者先利用前一步PointNet++某一层的采样点作为seed points,然后利用逐点的MLP学习了每个点坐标以及特征的位移,并从它们的特征中生成vote。此外vote location可以通过特征向量进行扩充,从而实现更好的聚合。
(3)Vote aggregation:通过可训练的点云处理层实现,利用投票功能,网络可以筛选出低质量的vote,进行投票集成,作者使用最远点采样以及ball query的方式去聚合vote。
(4)Object proposals:boundary box的坐标、维度、朝向、语义类别都可以直接从聚合的特征中生成。

2.VoteNet结构
在这里插入图片描述

point cloud --> seed points --> votes --> vote cluster --> boundind boxes
给定一个具有XYZ坐标的N点输入点云,经过一个backbone网络(用PointNet++实现)采样并学习点的深度特征,扩展c维特征,并输出M点子集。这个M点子集被认为是seed points。然后每个seed point都通过一个vote module独立地生成一个vote。再将vote分组聚合,由proposal module处理,生成最终object proposal。输出彩色3D bounding boxes。
整个网络可以分为两大部分:第一部分处理现有点生成投票;第二部分在虚拟点上进行分组聚合,生成proposal和分类。

2.1Learning to Vote in Point Clouds
处理输入点云并生成投票,输入一个大小为N×3的具有三维坐标的点云,生成M个具有坐标和高维特征向量的votes。分为两个主要的步骤:通过主干网络学习点云特征和从seed points学习Hough votes。
2.1.1Point cloud feature learning
这一步主要是找到M个seed points并且生成它们的3+C维特征向量。每个seed point都有一票。
作者采用了 PointNet++作为主干网络。主干网络有多个SA层和跳跃连接的特征传播(上采样)层,这些层输出的是输入点的子集,包含XYZ坐标和一个C维特征向量。结果为M个种子点,维度为3+C。具体网络参数如下:
在这里插入图片描述

2.1.2Hough voting with deep networks
这一步是对于上一层初始化的M×(3+C)seed points,对每个seed point学习一个3D空间的偏置Δx以及特征空间上的偏置Δy,element-wise的加到主干网络的输出,也就是seed points的(3+C)上,更新seed points的位置和feature。
给定一组种子点{si},si=[xi;fi];xi表示三维坐标,fi表示C维特征矢量,一个共享的vote模块从每个种子中独立地生成投票。具体来说,投票模块是通过多层感知器(MLP)网络实现的。MLP 输入seed point的空间坐标xi和特征fi,输出欧几里得空间偏移量Δxi和特征偏移量Δfi,那么从种子生成的投票vi=[yi;gi],其中yi=xi+Δxi,gi=fi+Δfi。
可以看出,得到的这个vote其实可以看作是一个具有偏移量的新特征。预测的三维偏移∆xi由回归损失来监督:
在这里插入图片描述

其中,1[si on object]表示种子点si是否位于物体表面上,而Mpos是物体表面上的种子总数。∆x∗i是从seed point位置xi到它所属的物体的边界框中心的真实偏移量。

2.2Object Proposal and Classifification from Votes
在上一部分中,经过vote之后(加上偏移)的点使得位于同一物体内的特征更加靠近,更易于聚类和学习上下文特征。在这一部分中,输入votes,得到proposal和分类。分为两个主要的步骤:通过抽样和分组对votes聚类;在每一个聚类中利用其聚合的特征回归proposal并进行分类
2.2.1Vote clustering through sampling and grouping
这一步中,作者参考pointnet++的方法,选择了一种简单的策略对votes聚类,即根据空间邻近度进行统一采样和分组。使用一个pointnet++的SA层进行特征的聚合。首先对于位移过后的seed,使用最远点采样随机采样K个点,再使用ball query去找寻neighbor并分组。通过这一步以后,就得到了K个cluster。
具体来看:从一组投票{vi=[yi;gi]}中,基于{yi}进行最远点采样,得到包含K个votes的子集{vik}。然后对每个vik进行ball query找到它的neighbor votes,就形成K个聚类。

2.2.2Proposal and classifification from vote clusters
对于每个vote cluster,把它看作一个小的点云,用一个pointnet网络来处理,最后得出每个vote cluster的feature。把这个feature里面的数据,分别看作:是否为物体的得分、bounding box参数、分类得分等信息,为5+2NH+4NS+NC个通道。
具体来看:作者采用共享的pointnet。给定一个votes聚类C={wi},其中wi=[zi;hi],zi为vote位置,hi为vote特征,聚类中心为wj。为了利用局部votes几何,需要先将votes位置转换成局部标准化坐标系。聚类中的所有votes坐标点经过归一化后被输入到一个类pointnet的网络MLP1进行独立处理。然后按通道最大池化为单特征向量,并传递到 MLP2融合各个votes的信息。
在这里插入图片描述

在输出的5+2NH+3NS+NC个通道中,前5个通道分别输出2个是否为物体的positive和negative的值,3个局部区域中心位置相对于ground-truth的offset;2NH个通道分别输出的是该物体的朝向是预置2NH个朝向的概率值(即预置了NH条直线,每条直线又有2个朝向,该物体的朝向为这2NH个朝向中每一个的概率值);同2NH一样,4NS个通道分别输出的是该物体的尺度是预置4NS个尺度的概率值,其中乘以4是因为NS个尺度中的每一个尺度都预置了3种长宽高缩放比率+原尺度;NC个通道输出的是该局部区域是NC个类别的概率。

2.2.3Loss function
在这里插入图片描述

其中包含了L1距离的vote回归的loss(前面所述的对seed points偏移量的监督损失),分类negtive or positive的loss,回归bounding box的loss和分类语义的loss。其中回归bounding box的loss又由以下几部分组成:
在这里插入图片描述

分别为回归bounding box的中心,角度以及尺度的分类和回归。其中回归中心的Loss用的是chamfer distance loss。
在计算loss时,作者对所有投票与真实目标中心近于0.3米以内或远离任何中心(0.6米以上)的 proposal分别视为positive proposal和negative proposal。对于其他 proposal 的对象性预测不进行惩罚。对于positive proposal才计算以上的所有loss,negtive proposal只计算obj-cls loss。

3.Experiment
作者首先在两个大型 3D 室内目标检测基准上,将基于霍夫投票的检测器与之前最先进的方法进行比较。然后,作者提供了分析实验来了解投票的重要性,并展示了该方法在紧凑性和效率方面的优势。最后,作者展示了检测器的定性结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值