当前位置:网站首页>【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis
【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis
2022-04-23 06:11:00 【^_^ 晅菲】
文章目录
1. 概要
TVCG 2021期刊
代码:https://github.com/nini-lxz/Rotation-Invariant-Point-Cloud-Analysis
2. 动机
现阶段方法的共同问题就是:旋转不变性没有被保证
所以所提出的方法就是保证了这一点。
使用一个低层语义的 旋转不变性的表达 来替代 3D笛卡尔坐标输入,有点类似使用手工设计的具有旋转不变性的特征拿给网络学最优的过程。
3. 方法
3.1 常用方法特征提取 A A A
基于全局特征 G i G_i Gi+局部特征 L i j L_{ij} Lij + 非线性函数 h θ h_{\theta} hθ
其中 A A A是对称函数。
3.2 旋转不变性
一个框架具有旋转不变性 = 网络输入具有旋转不变性(其实是对输入点云提取了具有旋转不变性的表达来代替原始点云作为输入) + 操作子具有旋转不变性
网络输入设计
考虑一下4点:
- 亦即无论输入点云 S S S如何变换,提取到的具有旋转不变性的表达是保持不变的。设提取旋转不变性的函数为 Φ \Phi Φ,那么需要满足:
这里的R指的是在3D坐标当中进行任意旋转。 - 满足公式(2)中简单使用L2距离或相对角度作为输入太过于粗糙,且信息有所丢失;
- 不会产生歧义性,也即不同局部区域都有各自的旋转不变性表达;
- 需要抗噪;
网络架构设计
考虑一下两点:
- 网络框架不能包含任何的旋转变性的操作,例如不可以指定顺序
- 网络框架不包括点云坐标,而只是相关几何信息,例如距离角度等作为输入;
3.3 卷转不变性表达
-
预处理:
首先对输入点云 S S S进行归一化,在单元球体。
然后使用PointNet++li d query ball 来定义临近点 { p i j } j = 1 K \{ p_{ij}\}^K_{j=1} { pij}j=1K,如下图2(a)与(b)。 -
计算:
提取特征 G i G_i Gi与 p i p_i pi的局部特征 { L i j } j = 1 K \{L_{ij}\}^K_{j=1} { Lij}j=1K。整体特征如图3所示:
全局特征 G i G_i Gi: 包含5个部分,如图2 (a)&(b)所示
1). d p i = ∣ ∣ p i ∣ ∣ 2 d_{pi}=||p_i||^2 dpi=∣∣pi∣∣2: p i p_i pi简单的全局且具有旋转不变性的特征
2). d p m i d_{pm_i} dpmi : p i p_i pi与 p i ′ p_i' pi′的局部距离为 m i m_i mi,选用几何中值。
3)–5): d s m i d_{sm_i} dsmi作为最后三个部分。其中,定位 s i s_i si +临近点与原点 p i p_i pi延伸线的交集 + 三角形 p i − m i − s i p_i-m_i-s_i pi−mi−si。在本文的设置中,半径大小随着网络层级而增加。局部特征:7个部分,如图2中所示
3.4 整体网络框架
总共3层,
黄色框:提取的旋转不变性特征
绿色框:点云坐标
紫色框:最远距离采样
蓝色框:嵌入到网络里的特征
第一层:
- 使用PointNET++的方式,采样并分组。使用最远点采样,每个子集 N 1 个 点 N_1个点 N1个点
- 使用query ball找 K 1 K_1 K1个近邻,构建大小为 N 1 × K 1 × 3 N_1 \times K_1\times 3 N1×K1×3的体素,作为 S 1 G S^G_1 S1G
- 同步做两件事情:
(1)提取旋转不变性特征 I 1 I_1 I1(黄色框),
(2)计算其全局关联矩阵 R 1 R_1 R1(黄色方框)。 - 同时将3中的 I 1 I_1 I1和 R 1 R_1 R1都输入给区域关系卷积(橘色框)来获取特征 F 1 F_1 F1(蓝色框)
第二层:
5. 继续采样分析到更小的区域 S 2 G S_2^G S2G
6. 将第一层的特征与采样后的点进行拼接,形成第特征 F 2 G F^G_2 F2G;这里 N 2 < N 1 N_2<N_1 N2<N1, K 2 > K 1 K_2>K_1 K2>K1可以允许渐进扩大感受野。
7. 然后拼接 F 2 G F_2^G F2G 与 F 2 I F_2^I F2I,是为了消除信息损失, I 2 I_2 I2是多层感知器获得的高层语义特征;
8. 最后生成拼接的特征 F 2 C F^C_2 F2C。,最终联合关联性矩阵 R 2 R_2 R2得到第二层特征 F 2 F_2 F2。
第三层:
9. 继续采样分组,得到 S 3 G S^G_3 S3G
10.类似第二层的操作得到特征 F 3 C F^C_3 F3C
11. 使用多层感知器,然后maxpooling到最终的特征 F 3 F_3 F3
其中, Region Relation Convolution计算如图5:本质上也就类似一个attention操作吧。
4. 实验
分类准确率:看上去还是不错的
表2:
z/SO3: 训练集有z轴旋转增强,测试集是任意旋转;
z/z: 训练与测试都有关于z轴的旋转增强
SO3/SO3: 训练与测试都是任意旋转;
说明了提出方法的稳定性?
表3:
NR/NR:训练测试都是旋转
NR/AR:训练:无旋转;测试:任意旋转
两者效果无差,为什么呢?其实是因为提出方法本来就是针对旋转不变性的,所以提取的特征具有这个性能,即使训练集没有针对不同旋转的,理应也有旋转不变性。也说明了该方法具有这个性能。
可视化的效果:
分割效果图:
消融实验:
5. 局限性
方法简单,效果欠佳;
其实针对噪声的处理有限;
还是依赖于手工设计的这个具有旋转不变性的特征,是否针对所有物体都有效,存疑。
版权声明
本文为[^_^ 晅菲]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43882112/article/details/121828719
边栏推荐
- winform滚动条美化
- 一款png生成webp,gif, apng,同时支持webp,gif, apng转化的工具iSparta
- [2021 book recommendation] kubernetes in production best practices
- Some common data type conversion methods in pytorch are similar to list and NP Conversion method of ndarray
- MySQL notes 5_ Operation data
- 杂七杂八的学习
- [2021 book recommendation] learn winui 3.0
- .net加载字体时遇到 Failed to decode downloaded font:
- GEE配置本地开发环境
- Handler进阶之sendMessage原理探索
猜你喜欢
[recommendation of new books in 2021] practical IOT hacking
第3章 Pytorch神经网络工具箱
【2021年新书推荐】Effortless App Development with Oracle Visual Builder
【2021年新书推荐】Kubernetes in Production Best Practices
第5 章 机器学习基础
face_recognition人脸检测
this. getOptions is not a function
Gephi教程【1】安装
Record WebView shows another empty pit
WebView displays a blank due to a certificate problem
随机推荐
[2021 book recommendation] kubernetes in production best practices
BottomSheetDialogFragment + ViewPager+Fragment+RecyclerView 滑动问题
[dynamic programming] different paths 2
BottomSheetDialogFragment 与 ListView RecyclerView ScrollView 滑动冲突问题
第1章 NumPy基础
C connection of new world Internet of things cloud platform (simple understanding version)
[2021 book recommendation] red hat rhcsa 8 cert Guide: ex200
ProcessBuilder工具类
MySQL notes 5_ Operation data
[2021 book recommendation] Red Hat Certified Engineer (RHCE) Study Guide
torch.mm() torch.sparse.mm() torch.bmm() torch.mul() torch.matmul()的区别
Record WebView shows another empty pit
cmder中文乱码问题
【2021年新书推荐】Practical Node-RED Programming
Bottomsheetdialogfragment conflicts with listview recyclerview Scrollview sliding
adb shell top 命令详解
torch_ Geometric learning 1, messagepassing
【2021年新书推荐】Red Hat RHCSA 8 Cert Guide: EX200
【动态规划】杨辉三角
[2021 book recommendation] artistic intelligence for IOT Cookbook