小白科研笔记:点云目标检测相关文献速读-Part D

1. 前言

快把最近库存的点云类论文读完了。每一年都有大批大批的SOTA论文诞生,有的是新鲜的思想,有的是从近两年框架上汲取灵感的结构,有点也会相互撞车。不管什么样的文章,作为泛读,我关注对我有帮助的闪光点。

2. RandLA-Net

这是一篇CVPR2020的文章“RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds”,主要做雷达点云的语义分割工作。

2.1 处理大规模点云面临的困难

这篇论文的引言讲的不错。首先PointNet系列工作是深度学习处理3D点云的经典。PointNet系列工作建立点与点间的联系是根据近邻图得到的(或者说最远点采样)。这种方式很高效,可以得到采样点的特征,但是会丢失那些没有采样到的点的特征。为了解决这个问题,近年有一些解决方案(用一句话概括就是,想尽一切办法,从近邻点中学习到目标点的特征):

  • 方法A:neighboring feature pooling
  • 方法B:graph message passing
  • 方法C:kernel-based convolution
  • 方法D:attention-based aggregation

这些论文(不少论文我之前在博客中讨论过)的实验对象基本上是ScanNet之类的小数据集,点云数目少。然而对于大场景下的数据集,上述的这些方法可能会面临困境:

  • 对于方法A来说,需要对点云进行均匀采样,然后对目标点周围的近邻点特征做池化操作;对于大规模,均匀采样的计算效率不高;
  • 对于方法B和方法C来说,需要建立KNN图,对于大规模点云,同样是建图效率问题;
  • 这些提取点云特征方法的感受野很小,换句话说,就是它只能提取一个物体上的一个部位的特征;对于大规模的点云,又有大量的物体;前述方法难以准确到关于物体的特征;

为了解决这个问题,SPG网络是方法B的延伸,在于它首先构建了一个Super Graph,但是构图过程是耗时的,如图1所示。FCPN网络和PCT方法是方法A的延伸,在于它提取点云和体素的特征。但是作者认为体素化点云的过程有些耗时。

在这里插入图片描述
在这里插入图片描述
图1:各个方法的耗时和效果比较(作者的RandLA-Net的效果很优)

除此之外,作者在综述部分讲了处理点云的框架,分别是:(i)Projection and Voxel Based Networks;(ii)Point Based Networks;(iii)Learning for Large-scale Point Clouds。主要是说它们计算效率不高,跟前面引言讲的比较重合。这里就不细说了。

2.2 文章创新点

文章有两个创新点:

  • 发现对点云做随机采样(Random sampling)有助于解决减轻计算负担
  • 提出一个新的局部特征聚合模块(Local feature aggregation module

2.3 采样

这一节写的挺好的,干货满满。采样分为两部分:(i)启发式采样(Heuristic Sampling);(ii)基于学习的采样(Learning-based Sampling)。

启发式采样的方法如下所示:

  • Farthest Point Sampling(FPS,最远点采样),复杂度是 O ( N 2 ) O(N^2) O(N2),处理 1 0 6 10^6 106规模的点云,如果只使用一个GPU的话,大概需要200秒;
  • Inverse Density Importance Sampling(IDIS,反密度采样),在聚集的地方少采样,在空荡的地方多采样,复杂度是 O ( N ) O(N) O(N),处理 1 0 6 10^6 106规模的点云,如果只使用一个GPU的话,大概需要10秒;
  • Random Sampling(RS,随机采样),简而言之是随便采集,从点云中随机采样一定数目的点,复杂度是 O ( 1 ) O(1) O(1),处理 1 0 6 10^6 106规模的点云,如果只使用一个GPU的话,大概需要0.004秒;

基于学习的采样方法如下所示:

  • Generator-based Sampling (GS),通过学习的方式,去生成采样点,需要大概1200秒才能采样出 1 0 6 10^6 106规模的点云的 10 % 10\% 10%
  • Continuous Relaxation based Sampling (CRS),学习一个点与点之间的关联矩阵,但是需要300GB以上的存储空间存放该关联矩阵。
  • Policy Gradient based Sampling (PGS),使用Markov决策过程,计算复杂度极其大,也不一定能够收敛。

从上面的讨论可以看出,随机采样有很大的计算优势,如下图所示。但是随机采样得到的点是随机分布的,可能会丢失一些比较关键的点云,为此作者设计了后面的局部特征聚合模块。

在这里插入图片描述
图2:不同采样方法比较

2.4 局部特征聚合

作者提出的局部特征聚合模块由三部分组成,分别是由Local Spatial EncodingAttentive Pooling,和Dilated Residual Block组成,如下图所示。

在这里插入图片描述
图3:局部特征聚合模块的示意图

这些模块比较好理解,其中Attentive Pooling中带有一个Attention权值矩阵。局部特征聚合操作保证了局部采样点信息不会被遗失。

2.5 整体网络结构

通过持续随机采样和局部聚合模块,获得最终剩余采样点的特征,如下图所示。从理论上讲,根据局部特征聚合的特点,这些剩余点的特征将会代表全体点云的特征。
在这里插入图片描述
图4:通过持续随机采样和局部聚合模块,获得最终剩余采样点的特征的示意图

怎样根据最终剩余采样点的特征推断出全体点云的类别呢?这个我还不太清楚。如果以后做这一块工作的话,再去做讨论。

3. PF-Net

这是一篇CVPR2020的文章“PF-Net: Point Fractal Network for 3D Point Cloud Completion”,主要做点云补全的,我们来了解看看。目前这貌似是一个比较冷门的工作。这项工作目前的实际意义并不大。但万一以后非常有用呢?哈哈,暂且做个了解。PF-Net的网络示意图如下所示:

在这里插入图片描述
图5:PF-Net的网络示意图

从这个示意图可见,点云补全大概是分层次进行的,分为primarysecondarydetail三类。primary点云输出尺寸为 ( M 1 , 3 ) (M_1,3) (M1,3)secondary点云输出尺寸为 ( M 1 , M 2 / M 1 , 3 ) (M_1, M_2/M_1,3) (M1,M2/M1,3)。可见它是对初级补全点云的扩展,在每一个初级点上扩展 M 2 / M 1 M_2/M_1 M2/M1倍个点。同理,detail点云是对secondary点云的扩展,它的输出尺寸为 ( M 2 , M / M 2 , 3 ) (M_2, M/M_2,3) (M2,M/M2,3)。网络训练的误差函数也分为这三类产生的:

在这里插入图片描述
误差函数 d C D d_{CD} dCD的定义如下所示(CalibNet也有类似的误差定义方式,当然这是需要用GPU实现的):
在这里插入图片描述
这项工作挺新颖的,暂且了解到这吧。

4. Soft Proposal Networks

这是篇ICCV2017的文章“Soft Proposal Networks for Weakly Supervised Object Localization”。这篇文章最为重要的部分是它的Soft Proposal Networks,或者说是软注意力机制,如下图所示:

在这里插入图片描述
图6:Soft Proposal的网络示意图和结果

这篇文章虽然不是搞点云目标识别的,但是它的模块很有启发。

5. Residual Attention Network

这是篇CVPR 2017的文章,比较经典但是可扩展性强。这篇知乎分析的很棒,再加上网络本身不复杂,我就不去自己分析啦,它的网络图如下所示:

在这里插入图片描述
图7:Residual Attention Network示意图

Residual Attention Network其实就是把Res Block和Attention Block合并在一起拉,可以解决嵌套Attention Block过多导致梯度消失的问题。这篇文章也不是搞点云目标识别的,但是它同样很有启发。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值