【点云】PointCNN: Convolution On X-Transformed Points

目录

 

测试

1 摘要

2 介绍

3 PointCNN

3.1 分层卷积

3.2 X-Conv操作

3.3 PointCNN结构

4 参考

4.1 ELU激活函数

4.2  BatchNorm


测试

在Semantic3D上跑了PointCNN,完整训练大概需要10天,但在第4天左右,Acc和mAcc折线就在某个水平位置开始震荡,个人觉得之后的训练处于一种过拟合的状态。选取mAcc最好的一组模型在reduce上做了测试,结果综合排名18,不是很理想,(1)PointCNN在Semantic3D上本身表现不佳;(2)师兄提示可能和验证集有关,导致筛选出来的模型并不是最优的(因为Semantic3D官方并没有提供验证集)。

 

 

1 摘要

我们提出一种从点云中学习特征的通用框架。CNN网络成功的关键是卷积操作,它可以利用网格中密集数据在局部空间上的相关性(比如:图片)。然而,点云是不规律且无序的,因此,直接对点的特征进行卷积,会导致形状信息和点排列多样性的损失。我们提出通过在输入点云中学习X-转换,以此改善两个问题:(1)输入点特征的权重(2)将点排列为潜在、规范的顺序。我们将典型卷积操作符的乘与和运算,应用在X-转换后的特征上。

 

2 介绍

局部空间相关性是在多种数据普遍存在的性质,独立于数据的表现形式。对于表现常规的数据,比如图片,卷积操作是CNN在众多任务中表现出色的关键。然而,对于点云格式的数据,不规律且无序,想用卷积操作来获得数据之间的局部空间相关性是不合适的。

点是从局部邻近中降采样获得的,每个点关联于一个特征、索引和坐标。四个特征 F = {fa, fb, fc, fd},一个核 K ={kα, kβ, kγ, kδ}T,Conv(., .)代表元素分别相乘后累加。

从(1a)中可以看到f2恒等于f3,f3恒不等于f4,这揭示了两个问题,即:f2的结果应该不等于f3,虽然他们对应索引的特征相同,但本质不是同一个点云;f3应该等于f4,虽然他们顺序不同,但本质是同一个点云。

我们提出针对K个输入点,学习一个K *K的X-转换:,同时改变输入特征的顺序和权重,随后,应用一个典型的卷积在转换后的特征上。我们把这个过程称作X-Conv。

 

3 PointCNN

卷积的分层应用对通过CNN学习分层表达很重要。PointCNN使用了其相同的设计,并推广到点云中。首先类比于图片中的CNN,介绍了PointCNN的分层卷积;然后,我们解释了核心X-Conv操作的细节;最后,展示了PointCNN面向多种任务中的结构。

3.1 分层卷积

这是一个迭代过程,每次迭代,相比于输入,输出有更少的点,但每个点有更深的特征。从p1到p2,分类任务中是随机降采样;分割任务是最远点采样,因为分割任务更需要统一的点分布。

 

3.2 X-Conv操作

Dim是F1中点的维度,C1是F1中每个点的特征维度。我们假设F2中的一个点p,它的特征是f,它在F1中的K近邻是N。因此,对于点p,他的X-Conv输入是,S是无序集合。为了不丢失普遍性,S可以被映射为,和,K是可训练的卷积核。计算特征Fp,它是点p输入特征的“投影”或“聚合”

(1)建立局部坐标,保留相对位置信息,将P转换为P’

(2)用MLP将P’升维,得到Fδ

(3)将Fδ和F连接得到F*

(4)用MLP学习P‘得到K x K的X-转换矩阵

(5)Fx = F* x X

(6)在Fx上做卷积得到Fp

这些操作都是可微的,因此X-Conv也是可微的,同时可以接入到神经网络中用反向传播训练。

X-Conv被设计工作在局部点区域,输出不应该由p和它的邻近点的绝对坐标决定,而是由相对坐标决定。然而,和相关特征相比,局部坐标有着不同维度和表示。为了解决这个问题,我们将坐标提升到一个更高维、更绝对的表达。升维操作来源于PointNet,不同的是之后没有被对称函数处理。

 

3.3 PointCNN结构

CNN中的Conv和PointCNN中的X-Conv仅有两方面不同:(1)局部区域的提取方式(K*K方法;K邻近点)。(2)从局部区域学习信息的方式(Conv; X-Conv)

图a展示了一个有着两层X-Conv的简单PointCNN,在两层X-Conv之后,只剩下一个代表点,它聚合了所有点的信息。在PointCNN中,我们粗略地定义每个代表点的接受域是K/N,K是邻近点数目,N是前一层点的数量。因为接受域是1.0,最终点可以从前一层看到所有的点,对完整形状有一个全局视野,它的特征对形状的语义理解很有帮助。对顶层X-Conv的输出,我们可以增加一个全连接层,接着计算损失,用于训练网络。

图b是分类任务。顶层训练样本的迅速减少,导致彻底训练低效率。为解决这个问题,我们提出有着更密集连接的PointCNN,更多的代表点被保留。然而,我们希望在保留网络深度的同时,保留接受域的增长,这样更深的代表点可以看到整个形状的更大部分。我们采用了基于网格的CNN的扩展卷积思想(dilated convolution idea)。我们不总是取K个相邻点作为输入,而是均匀地从K×D个相邻点采样K个输入点,其中D为扩张率。这个结构主要用于分类任务中。

图c是分割任务,要求高分辨率的点输出,用Conv-DeConv结构实现。Conv和DeConv层的唯一不同在于,后者的输出相比于输入,点更多,但特征通道更少,设计参考了U-Net。使用了Dropout和subvolume superbision思想来解决过拟合问题。在最后一个X-Conv层,接受域被设置小于1,在训练中,网络可以从部分信息中获得更多信息,并在测试时表现得更好。这种情况下,代表点的全局坐标很重要,因此,他们升维到

 

4 参考

4.1 ELU激活函数

4.2  BatchNorm

(1)BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。

(2)IID独立同分布假设,假设训练数据和测试数据是满足 相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障

(3)强制拉回到均值为0方差为1的正态分布,避免梯度消失,提高收敛速度

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值