59_3DCapsule: Extending the Capsule Architecture to Classify 3D Point Clouds 论文笔记

  3DCapsule: Extending the Capsule Architecture to Classify 3D Point Clouds

三维胶囊:扩展胶囊体系结构以分类三维点云

Yongheng Zhao

CVPR 2019

代码地址:https://github.com/yongheng1991/3D-point-capsule-networks

文献地址:https://www.researchgate.net/publication/328781454_3DCapsule_Extending_the_Capsule_Architecture_to_Classify_3D_Point_Clouds

参考链接:https://blog.csdn.net/qq_26591517/article/details/80038823 

https://www.sohu.com/a/335800481_715754

首先,了解3个知识点。

(1)自自编码网络

自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值。

自动编码器(auto encoder) 是神经网络的一种,该网络可以看作由两部分组成:一个编码器函数h = f(x) 和一个生成重构的解码器r = g(h)。传统上,自动编码器被用于降维或特征学习。

(2)动态路由算法

动态路由算法大致可以分为两类:

  • 距离矢量路由算法

  • 链路状态路由算法

(3)胶囊网络

胶囊网络是由胶囊组成的,而不是神经元。胶囊是一组神经元,会学习检测给定区域图像的特定目标,输出一个向量,向量的长度代表目标存在的概率估计,而且对姿态参数定向编码。如果对象有轻微的变换,那么胶囊将输出相同长度但是方向略有不同的向量,因此,胶囊是等变化的。

使用基于约定的动态路由来代替传统CNN中的Max-Pool

胶囊的结构如下表:

右边的就是传统的卷积神经网络。

左边的Eq.2的第1个式子的W是通过训练得到的参数,和神经元类似,只不过从一维变成了二维的。

左边的Eq.2的第1个式子的C是动态路由得到的,不需要训练。(动态路由的思路就是将第I-1层变换后的输出和第I层的输出做点积,点积的结果代表两个向量的相似度。)

左边的Eq.1是一个非线性函数,左边是将长度压缩到0-1之间,长度即概率估计值,右边是将向量转换为一个近似的单位向量。

1、待解决的问题

先前胶囊网络依赖于所呈现的特征图和元素之间的空间关系,然而在三维点云分类中的置换不变性通常会丢失这种关系。

2、创新点

1)设计新的3D点云分类器网络架构 3D Capsule,它是典型使用完全连接分类器的临时替换。

2)设计了一个新层 ComposeCaps,此层代替了空间相关的映射,解决了由置换不变性导致的空间关系丢失问题,学习了一种新的有用的胶囊映射,为胶囊网络所利用。

3、优点

从点云获得的潜在胶囊 减轻了 通过单个低维向量参数化潜在空间的限制; 

点云胶囊网络在重建、局部特征提取、三维物体识别迁移较高

4、缺点

3D Capsules的体系结构增加了额外的复杂性。

5、算法原理

3D Capsule网络如下图所示:

网络首先接受N*3的点云输入,然后经过MLP提取出N*128的特征,接着将特征发送给不同权重的多个独立卷积层,每个特征都被最大池化到1024维,将这些特征合并起来作为初级点胶囊(Primary Point Capsules),其次通过动态路由(Dynamic Routing)初级点胶囊聚集到潜在胶囊(Latent Capsules)里。以上是胶囊编码器

胶囊解码器是负责重建潜在特征的点集,赋予潜在胶囊随机2D网格,并应用MLPs生成多个点补丁。---MLPs(单字长定点指令平均执行速度,衡量CPU运算速度的一个指标)。由于动态路由的作用,这些点补丁以形状的不同区域为目标。最后,将所有补丁收集到最终的点云中,并测量到输入的倒角距离,以指导网络找到最佳的重建。
 

3D Capsules架构

 

----特征提取h,(本文实验使用两种方法,PointNet和EdgeConv)

-----聚合函数g,(本文实验使用两种方法:NetVlad和Max-pooling)

       聚合函数NetVlad:有预定义的中心点,计算每个中心与其邻域内所有点的残差,呈现点集的不变表示。

3DCapsule包括3部分,ComposeCaps层将特征向量映射到 PrimaryCaps,路由协议算法将PrimaryCaps耦合到3DCaps,每个维度为z,重建块试图重建输入数据,并有相应的重建损失。

使用一个大小为4000的完全连接层作为本文的ComposeCaps层,将特征向量输出映射到初级点胶囊输入。使用了500个尺寸为8的初级胶囊。在3D Caps中,每个胶囊尺寸为4

6、实验设计

参数设计  Adam优化器,初始学习率0.001,每20epoch除以2,批量大小是16.除了3D Capsule外,还有relu和批量标准化。

分类器以完全连接分类器作为基线。

dropout为0.7

1)3D Capsule的消融实验

表1评估了3D Capsule与FC的分类器基线与各种特征提取和聚合模块组合的效果。

从上表可以看出,无论使用哪种分类提取方法和聚合方法,都是3D Capsule的效果最好。

表2 评估了3D Capsule对不同点数表示的点云网的影响

2)ComposeCaps效果

从表3可以观察出ComposeCaps确实改善了所有组合中的性能。

3) 重建损失的影响

重建损失在本文中很重要。

4)噪声鲁棒性

使用两种噪声:离群点 和 点扰动。(离群点:用不同数量的离群点代替原来的点;点扰动:对每个点添加高斯噪声)。

表5为离群点测试

可以观察出,NetVlad明显优于Maxpooling,并且与3D Capsule结合时,这种差距更大。

图6为扰动点测试。

从图中可以看出FC层并不善于利用NetVlad提供的更丰富的表示。而3D Capsule可以。

5)分类性能

下面的部分表示使用相同类型和大小的输入和本文方法比较,上面部分表示对输入数据的限制放宽时的情况。此时pc表示点云

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值