63_RS-CNN: Relation-Shape Convolutional Neural Network for Point Cloud Analysis 2019 论文笔记

RS-CNN: Relation-Shape Convolutional Neural Network for Point Cloud Analysis

基于邻域集合关系推断的点云卷积神经网络

论文地址

https://sci-hub.se/10.1109/cvpr.2019.00910

讲解视频:

https://www.bilibili.com/video/av61824733

代码地址:

https://github.com/Yochengliu/Relation-Shape-CNN

参考:https://blog.csdn.net/weixin_39373480/article/details/90487007

关键词:

新的卷积算子:关系形状卷积RS-Conv;共享MLP

 

问题:

通常讲,有对于学习点云P ⊂ R 3 来讲,有三个挑战和一个局限:

1)P是无序的,因此要求学习的表达是置换不变的。        —— 被“对称函数”很好的解决了

2)P分布在三维几何空间,因此对刚性变换(旋转、平移)是鲁棒地

3)P 形成一个隐含的形状,因此卷积得到的表征应当具备有区分力的“形状意识”

4)经典CNN存在的局限:特征变换函数T(fxj) =wj·(f)xj

  (1)由于 wj 不共享参数,因此该卷积对输入点集不具备置换排列不变性。

  (2)在反向传播中 wj 的梯度仅与孤立点 xj 相关,是一种隐式学习,因此该卷积难以捕捉到点间关系。

 

原理:

以上的(2)(3)问题,提出RS-CNN来缓解。

对于局部点云,提出可以构建以下卷积操作:

其中T为转换函数,使得每个点上的特征都进行了改变;A 为聚集函数,使得所有的特征聚集成一个点的特征;而σ 为激活函数;N ( x i ) 为点xi​ 的邻域的点的集合。

假设卷积核是3 × 3×3的。转换函数T 相当于将卷积核对应位置的值乘在了图像的对应位置,比如说卷积核左上角乘以图像对应的左上角,然后聚集函数A相当于相加求和的操作。因此在点云上也是一样,只不过乘上去的这个值(卷积核的值)不是随机初始化的,而是通过这个位置的点与中心点(即i和j)之间的一些关系算出来的:

其中wij:学习的是xi和xj之间的关系;

hij​:就是点云中xi​与xj​的关系,这个关系可以人为地先验给出,可以是XYZ的距离(欧氏距离),也可以是特征维度上的距离;M是一个共享的多层感知机(MLP),将hij映射到高维的关系表达。

最后,模型的表达式就写成以下的样子

那么如何学习三维中的几何关系呢?

首先了解几何拓扑信息:

对于一个中心点xi ,以r为半径的球体范围内的点,看作xi的邻居点。对于任意邻居点xj。如何描述其到中心点xi的拓扑关系信息hij?     论文给出以下几种方式,可以看出第三种最好。

3D-Ed:xi到xj的距离,1维

xi-xj:两点坐标之差,3维

xi:单点坐标,3维;xj:单点坐标,3维

将以上信息拼接到一起,组成一个channel是10的feature,作为几何拓扑关系信息hij

卷积模型(RS-Conv)

1) 以r为半径找邻居点,随机采样,对于每一个采样点建立一个邻域,并在里面挑选足够的邻居点,即上图的最左边的球就是由采样点得到的邻域集合。具体的采样细节同pointnet++,使用了最远点采样(FPS)加球星区域随机采样(ball query );

2) 计算每个邻域中邻居点与中心点之间的关系,即上图左侧那条紫色的线。 这个关系首先是低维的先验关系,即两个点之间的欧式距离、特征维度的距离;再通过这样的先验关系代入神经网络中算出高维的关系,即模型的这一部分,它的输出维度是和点云第j个点一样的维度,因此可以直接乘在第j个点上作为转换函数T

对于每个邻居点执行(以xj为例):

  (1) 用一个共享的MLP(M)学习出邻居点对应的卷积参数wij,wij与邻居点的feature fxj的channel数相同;映射的作用是抽取两个点之间的高阶关系,能编码空间布局;

  (2) 参数和feature按位乘:wij·fxj,得出新的feature;

3) 计算出所有邻居点的feature后,用一个聚合函数( A),max或者avg,来处理所有邻居点的feature;

4) 用一个非线性的激活函数 φ 来处理A的结果;

最后用一个共享的MLP进行channel变换,得出点xi的feature。

 

通过有关系的两个结点的一些特征去计算点与点之间的关系权重,再利用这样的关系权重去更新中心点的特征。

 

卷积网络(RS-CNN)

N:点数;C:通道数;

图(a):点云分类,配置最终的全局表示形式,后跟三个完全连接的(FC)层,用于分类;

图(a):点云分割,通过特征传播对学习的多级表示进行连续上采样以生成每点预测。

 

优点:

(1)置换不变性:低阶关系 h 和共享的 MLP  M 对点的输入顺序都是不变的,再加上聚集函数 A 是对称的,满足置换不变的条件。

(2)刚性变换鲁棒性:在合适的 h(如3D欧式距离)的定义下, 在高阶关系编码 M ( h ) 的刚性变换鲁棒性仍然成立。

(3)点相互作用:关系学习编译了点之间的几何关系,即捕捉到点之间的交互。

(4)权重共享:可以更鲁棒,降低复杂度

 

缺点:

对于一些难以处理的形状,如螺旋楼梯和复杂的植物,也可能不太有效。

 

创新点:

本文主要是设计了一种在点云上面可以运用的卷积方式,并且刷新了点云分类、部件分割和法向量估计等很多任务的成绩。

1)提出了一种新型的从关系中学习的卷积算子:关系-形状卷积。它可以显式地对点的几何关系进行编码,从而在很大程度上提高了对形状的感知能力和鲁棒性。即RS-Conv。

2)提出一个具有关系形状卷积的深层层次结构,即RS-CNN。将规则网格CNN扩展到不规则配置,实现点云的上下文形状感知学习。即基于RS-Conv设计的RS-CNN。

3)在三个任务中对具有挑战性的基准进行广泛的实验,以及深入的经验和理论分析,证明RS-CNN达到了SOTA的水平。

 

实验结果:

框架:Pytorch

训练采用Adam优化算法,最小批量为32。

BN的动量从0.9开始,以每20个周期0.5的速率衰减。

学习率从0.001开始,以每20个时代0.7的速度衰减。

 

在分类和分割上基本上碾压了所有的现有算法。

点与点关系的参数设置。发现同时使用欧氏距离、特征距离与点本身的特征效果最好。

聚集函数的选择上max pooling效果最好

在这里插入图片描述

邻域内点的选择上随机筛选会优于KNN筛选

在这里插入图片描述

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值