我是靠谱客的博主 贤惠秀发,最近开发中收集的这篇文章主要介绍【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis1. 概要2. 动机3. 方法4. 实验5. 局限性,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 1. 概要
  • 2. 动机
  • 3. 方法
    • 3.1 常用方法特征提取 A A A
    • 3.2 旋转不变性
      • 网络输入设计
      • 网络架构设计
    • 3.3 卷转不变性表达
    • 3.4 整体网络框架
  • 4. 实验
  • 5. 局限性

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点:

  1. 亦即无论输入点云 S S S如何变换,提取到的具有旋转不变性的表达是保持不变的。设提取旋转不变性的函数为 Φ Phi Φ,那么需要满足:
    在这里插入图片描述
    这里的R指的是在3D坐标当中进行任意旋转。
  2. 满足公式(2)中简单使用L2距离或相对角度作为输入太过于粗糙,且信息有所丢失;
  3. 不会产生歧义性,也即不同局部区域都有各自的旋转不变性表达;
  4. 需要抗噪;

网络架构设计

考虑一下两点:

  1. 网络框架不能包含任何的旋转变性的操作,例如不可以指定顺序
  2. 网络框架不包括点云坐标,而只是相关几何信息,例如距离角度等作为输入;

3.3 卷转不变性表达

  1. 预处理:
    首先对输入点云 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)。

  2. 计算:
    提取特征 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=pi2: 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 pimisi。在本文的设置中,半径大小随着网络层级而增加。

    局部特征:7个部分,如图2中©所示
    在这里插入图片描述
    在这里插入图片描述

3.4 整体网络框架

总共3层,
黄色框:提取的旋转不变性特征
绿色框:点云坐标
紫色框:最远距离采样
蓝色框:嵌入到网络里的特征

第一层

  1. 使用PointNET++的方式,采样并分组。使用最远点采样,每个子集 N 1 个 点 N_1个点 N1
  2. 使用query ball找 K 1 K_1 K1个近邻,构建大小为 N 1 × K 1 × 3 N_1 times K_1times 3 N1×K1×3的体素,作为 S 1 G S^G_1 S1G
  3. 同步做两件事情:
    (1)提取旋转不变性特征 I 1 I_1 I1(黄色框),
    (2)计算其全局关联矩阵 R 1 R_1 R1(黄色方框)。
  4. 同时将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. 局限性

方法简单,效果欠佳;
其实针对噪声的处理有限;
还是依赖于手工设计的这个具有旋转不变性的特征,是否针对所有物体都有效,存疑。

最后

以上就是贤惠秀发为你收集整理的【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis1. 概要2. 动机3. 方法4. 实验5. 局限性的全部内容,希望文章能够帮你解决【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis1. 概要2. 动机3. 方法4. 实验5. 局限性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部