1. 背景引入
自组织映射
蓝色斑点是训练数据的分布,而小白色斑点是从该分布中抽取得到的当前训练数据。首先(左图)SOM节点被任意地定位在数据空间中。我们选择最接近训练数据的节点作为获胜节点(用黄色突出显示)。它被移向训练数据,包括(在较小的范围内)其网格上的相邻节点。经过多次迭代后,网格趋于接近数据分布(右图)。
如下图所示,图a为初始的SOM节点,图b是SOM训练后的结果。为了保持排列的不变性,文中对SOM训练做了如下规定:
(1) SOM的初始节点固定不变。
(2) SOM的训练更新规则由“一点”更新一次改为“所有点”更新一次。
2.整体框架
分类任务:提取SOM结点,对于每个SOM点查找k近邻(KNN),以SOM点为中心进行归一化,进入一系列全连接层中以提取单个点特征,将KN点(个人感觉是KM个点)特征最大池化为M个节点特征 ,增强的节点特征通过一系列共享层中,然后聚合成一个表示输入点云的特征向量。
分割任务:要实现每个点的标注,需要整合局部和全局特征。将归一化后的点、池后的节点和全局特征通过一系列的共享的全连接层,采用平均池化后,再通过一系列全连接层。
(因为感受野存在重叠,KN特征实际上是冗余的,平均或最大池化是用于融合冗余信息的方法。作者通过一系列实验,发现与其他融合方法相比,平均池化与中期融合结合最有效的)
点云重建任务: 通过一个并行分支的网络,一个全连接分支和一个卷积分支,而不是通过全连接层生成点云。卷积分支负责恢复输入的主题,全连接分支负责局部。
全连接分支具有高度的灵活性,每个坐标都是独立预测的。
卷积分支由于卷积层的空间连续性,预测点可能表现出更多的几何一致性。卷积分支的另一个优点是与全连接分支相比,它需要的参数要少得多。卷积分支被设计为金字塔式的上卷积链。每个upconv模块不是由反卷积层(deconvolution)组成,而是由最近邻上采样层(nearest neighbor upsampling layer )和3×3卷积层组成。根据作者的实验,在点云自动编码器中这种设计比反卷积层更有效。另外,中间upconv的结果被转换为粗糙的重建点云,并与输入进行比较。从upconv产物到点云的转换是一个2层1×1的卷积栈,以为每个恢复的点提供更多的灵活性。从粗糙到精细的策略提升了重建的表现。
3.总结
由于SOM保留了输入空间的拓扑性质,并且SO-Net将点云转换为特征矩阵,所以一个有前景的未来方向是应用传统的ConvNets或基于图形的ConvNets来实现更深层次的特征聚合。
参考链接:
https://blog.csdn.net/elliottzheng/article/details/81111915#commentBox
https://blog.csdn.net/qq_15602569/article/details/80062832
https://blog.csdn.net/warmpu/article/details/81838875
后记:最近项目上的事情太多,后面的文章看的有点不太认真,理论部分先更新这几篇。明天换换状态,开始看代码。希望没有那么多杂事,让我可以沉迷此坑,不需自拔。