当前位置:网站首页>【点云系列】SO-Net:Self-Organizing Network for Point Cloud Analysis
【点云系列】SO-Net:Self-Organizing Network for Point Cloud Analysis
2022-04-23 06:11:00 【^_^ 晅菲】
清理一下草稿箱,好早之前写的进入忘了发布;)
1. 概要
1.1 原文
题目:SO-Net:Self-Organizing Network for Point Cloud Analysis, CVPR2018
论文:https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1803.04249
代码:https://github.com/lijx10/SO-Net
简介:主要采用了自组织神经网络(SOM)来获取具有代表性的点
1.2背景知识
自组织神经网络(SOM)
Kohonen提出的一种神经网络模型,可以对数据进行无监督学习聚类。
只包含:输入层+输出层(映射层),由于没有中间隐藏层,因而输出保持了原有拓扑结构。
SOM是一种无监督的聚类方法,模拟人脑中处于不同区域的神经细胞分工不同的特点,即不同区域具有不同的相应特征,且自动完成。对于未知聚类中心的判别问题可以用自组织映射来实现。
训练采用“竞争学习“的方式,每个输入样例在隐藏层中找到一个和它最匹配的节点,称为”winning neuron“。紧接着用随机梯度下降法更新激活节点参数。同时,和激活节点临近的点也根据它们距离激活节点的远近而适当地更新参数。
SOM主要分两步:
- 选择激活节点;
- 更新激活几点及临近节点权值;
–>脑科学研究表明:相邻较近神经元之间可以互相激励,因而SOM操作也类似;
–>确定邻域:设定一个半径,半径内点均为临近点,随着学习进行,使半径越来越小直到学习结束。
SOM作用:聚类 & 降维
2. 动机
与PointNet++及PointCNN整体思路类似,低层还是PointNet,即:先选择一些代表性的点,将点云分区,然后使用PointNet,通过Max-pooling每个区域得到一个特质向量作为节点特征,然后拼接所有的节点特征,接到FC层中分类。
不同之处:选择中心点是通过自组织结构映射SOM来进行的,且仅进行一次下采样操作。
3. 思想
- 构建自组织结构映射(SOM)来选择代表性的点,来建立点云的空间分布。
- 网络具有多层次结构
- 感受野可通过KNN来调整
4. 算法
自组织网络:一个点云中的N个点用M个SOM节点来表示。
4.1 SOM的置换不变性
该文章中SOM大小设置为 m × m m\times m m×m大小,其中 m ∈ [ 5 , 11 ] m\in[5,11] m∈[5,11]。与深度网络中的回馈机制相比,SOM是非监督对比学习的。
但是SOM不是置换不变的,因为:
(1)训练结果高度依赖初始化节点;
–>固定初始化的节点数,可均匀化分散在一个单位球里获得初始化点,如图2(a)所示
(2)逐样本更新取决于输入点的排序;
–>不适用逐点更新,使用 块更新,即累加所有点的增益在更新,避免了由于顺序引入的置换变化;
4.2 编码框架
SOM是指引层次特征提取,且系统调节感受野重叠的工具。
给定SOM输出,我们为每个节点 s i s_i si寻找其K最近邻:
然后将每个 p i p_i pi与相关节点相减,归一化为 k k k个点:
如此KN个归一化的点被前向传递给下一层:
最后节点的特征提取使用最大池化将 K N KN KN个点特征变成 M M M个节点特征。
由于每个点归一化到 k k k个坐标,也保证了 M M M的感受野在最大池化后是相互覆盖的,也即$M
个 点 囊 括 了 个点囊括了 个点囊括了kN 个 归 一 化 点 , 这 里 的 个归一化点,这里的 个归一化点,这里的k$是控制覆盖率的参数。
而SOM类似特征聚合。由于第一层的输入点由 M M M个SOM节点表示,因此实际是分成了 M M M个迷你点云,如图3所示。每个mini点云包括了很小数量点,他们的原始点是相互关联的。对于2048个点的点云来说,M=64,k=3,mini点云大概包括90个点。
与SOM节点的连接起到了将这些mini点云组装回原始点云的作用。由于SOM明确地揭示了输入点云的空间分布,我们的分离和组装过程比分组策略PointNet++更有效。
整体框架图如图所示:
4.3 自编码器
两路并行分支:
5. 实验结果
数据增强:
输入点云在一个单位立方体内归一化为零均值。在训练阶段采用以下数据增强:
(a)高斯噪声 N ( 0 , 0 : 01 ) \mathcal{N}(0,0:01) N(0,0:01)添加到点坐标和面法向量中(如果适用);
(b)高斯噪声 N ( 0 , 0 : 04 ) \mathcal{N}( 0,0:04) N(0,0:04)添加到SOM节点。
点云、表面法向量(如果适用)和SOM节点按从均匀分布采样的一个因子进行缩放。其他额外的增强,如随机移位或旋转,不会改善结果。
看的出来当时的效果还是很不错的
鲁棒性实验:
6. 结论及思考
主要是使用了SOM[19]来解决了选点问题,模拟点云空间分布;
可探索点:节点特征提取产生了一个类似图像的特征矩阵,它不随输入点的顺序变化。随着感受野的增加,可以应用标准的ConvNets进一步融合节点特征。但是,在我们的实验中,我们用2D卷积和pooling替换了第二批全连接层,分类精度略有下降。研究这一现象的原因和解决方法是一个很有前途的方向。
参考:
版权声明
本文为[^_^ 晅菲]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43882112/article/details/108520308
边栏推荐
- 利用官方torch版GCN训练并测试cora数据集
- 扫雷小游戏
- torch_ Geometric learning 1, messagepassing
- 5种方法获取Torch网络模型参数量计算量等信息
- 机器学习笔记 一:学习思路
- Data class of kotlin journey
- 【2021年新书推荐】Enterprise Application Development with C# 9 and .NET 5
- PyTorch中的一些常见数据类型转换方法,与list和np.ndarray的转换方法
- How to standardize multidimensional matrix (based on numpy)
- ./gradlew: Permission denied
猜你喜欢
随机推荐
[recommendation of new books in 2021] practical IOT hacking
MySQL notes 1_ database
给女朋友写个微信双开小工具
Binder mechanism principle
机器学习 三: 基于逻辑回归的分类预测
Five methods are used to obtain the parameters and calculation of torch network model
图像分类白盒对抗攻击技术总结
[2021 book recommendation] kubernetes in production best practices
【动态规划】最长递增子序列
MySQL notes 2_ data sheet
PyTorch训练一个网络的基本流程5步法
Personal blog website construction
Computer shutdown program
【2021年新书推荐】Effortless App Development with Oracle Visual Builder
adb shell 常用命令
Bottom navigation bar based on bottomnavigationview
[2021 book recommendation] red hat rhcsa 8 cert Guide: ex200
ProcessBuilder工具类
[2021 book recommendation] practical node red programming
PyTorch最佳实践和代码编写风格指南