RS-CNN: Relation-Shape Convolutional Neural Network for Point Cloud Analysis 论文笔记 2020-9-26
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
关键词:
新的卷积算子:关系形状卷积RS-Conv;共享MLP
问题:
通常讲,有对于学习点云P ⊂ R 3 来讲,有三个挑战:
1)P是无序的,因此要求学习的表达是置换不变的。—— 被对称函数很好的解决了
2)P分布在三维几何空间,因此对刚性变换(旋转、平移)是鲁棒地
3)P 形成一个隐含的形状,因此卷积得到的表征应当具备有区分力的“形状意识”
4)经典CNN存在的局限:特征变换函数T(fxj) =wj·(f)xj
(1)由于 wj 不共享参数,因此该卷积对输入点集不具备置换排列不变性。
(2)在反向传播中 wj 的梯度仅与孤立点 xj 相关,因此该卷积难以捕捉到点间关系。
原理:
提出RS-CNN来缓解。
几何拓扑信息:
对于一个中心点xi ,以r为半径的球体范围内的点,看作xi的邻居点。对于任意邻居点xj。如何描述其到中心点xi的拓扑关系信息hij? 论文给出以下几种方式,第三种最好。
3D-Ed:xi到xj的距离,1维
xi-xj:两点坐标之差,3维
xi:单点坐标,3维;xj:单点坐标,3维
将以上信息拼接到一起,组成一个channel是10的feature,作为几何拓扑关系信息 。
卷积模型(RS-Conv):
1) 以r为半径找邻居点;
2) 对于每个邻居点执行(以xj为例):
(1) 用一个共享的MLP(M)学习出邻居点对应的卷积参数wij,wij与邻居点的feature fxj的channel数相同;映射的作用是抽取两个点之间的高阶关系,能编码空间布局;
(2) 参数和feature按位乘:wij·fxj,得出新的feature;
3) 计算出所有邻居点的feature后,用一个Aggregation函数( 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的速度衰减。