本文使用PointNet对点云提取全局特征,不需要计算点云之间的一一对应关系,因此能够实现快速的点云配准。

PCRNet根本没有用到局部特征,因此在速度上有优势,精度上会有所妥协。加入了局部特征信息的模型应该会有更高的精度。

PCRNet 的另一特点是其迭代版本鲁棒性很强,可以对类内不同实例进行鲁棒的配准,其他配准方法不行,还是只使用了全局特征的原因。

模型整体结构简单,可以快速上手。

PCRNet

  1. 输入为template点云和source点云,首先使用一个5层的MLP对输入的点云进行处理,然后经过最大池化层。最大池化层的降采样操作可以使得网络对输入点的顺序保持不变性。
  2. 然后使用PointNet提取点云信息的全局特征,即图中的函数\Phi()Φ()。
  3. 将两个全局特征进行连接,然后使用5层的全连接网路对相对位姿进行预测。
    这里输出的格式是将平移量和旋转量合并在一起同时输出的,即7个数据,前三个是平移量,后面4个经过归一化得到单位四元数。

可以看出,PCRNet相比于其他点云配准方法结构更加简单,由于是非迭代的single-pass结构,其速度也非常快。

如果将模型里面的FC网络换成是传统的LK算法,模型就与PointNetLK非常相似了(都是使用MLP和池化层对点云进行处理,然后进行相对位姿预测)

Iterative PCRNet

由于PCRNet的简单高效,将其反复进行配准就可以得到迭代式的配准模型。
得益于迭代方式更加精确,为了提高迭代的效率,作者将PCRNet中的5层FC改成了3层

计算最终的相对位姿变换就是将迭代过程中的变换矩阵累乘:
\mathbf{T}=\mathbf{T}(n) \times \mathbf{T}(n-1) \times \cdots \times \mathbf{T}(1)T=T(n)×T(n−1)×⋯×T(1)

##损失函数:
两个网络的损失函数是一样的,使用了Earth Mover’s Distance(搬土距离)。
通过实验发现其效果优于pose loss,以及Frobenius norm。
\operatorname{EMD}\left(\mathbf{P}_{S}^{\mathrm{est}}, \mathbf{P}_{T}\right)=\min _{\psi: \mathbf{P}_{S}^{\mathrm{est}} \rightarrow \mathbf{P}_{T}} \frac{1}{\left|\mathbf{P}_{S}^{\mathrm{est}}\right|} \sum_{x \in \mathbf{P}_{S}^{\mathrm{est}}}\|x-\psi(x)\|_{2}EMD(PSest​,PT​)=ψ:PSest​→PT​min​∣PSest​∣1​x∈PSest​∑​∥x−ψ(x)∥2​
其中P_{S}^{est}PSest​是将source点云根据预测的转移矩阵变换后的点云,理想情况下应当与Template点云P_TPT​重合。

实验评估:ModelNet40

  • 迭代版本的PCRNet利用对象的特殊性能够产生精确的结果。
  • PCRNet计算速度很快,但在精确度上有点妥协。
  • PointNetLK表现出良好的泛化性,但对于噪音鲁棒性不够.
  • ICP对于大型点云来说对象形状不可知且速度较慢
  • Go-ICP的计算成本很高速度慢。

使用AUC作为评估指标:AUC是对配准成功的一种度量,因此AUC的值越高,网络的性能越好。

实验一 泛化性/特异性

在未见类别上进行测试(泛化性测试):

  • ICP :0.802,
  • iterative PCRNet:0.682
  • PointNetLK :0.998.

在训练数据集上进行测试(特异性测试):

  • ICP :0.862
  • iterative PCRNet:0.972
  • PointNetLK :0.998
  • PCRNet:0.998
    结果说明当与对象的特定信息一起训练时,PCRNet 和迭代PCRNet的精度提升更大(相比ICP)
    PointnetLK相比PCRNet有更好的泛化性,且与ICP相比精度更高。作者认为这是因为PointNetLK只需要学习点云特征表示,而PCRNet需要学习整个配准任务,网络的学习容量限制了性能。

噪声鲁棒性

PCRNet的鲁棒性很好

速度

模型替换实验

作者使用pointNet中的语义分割网络对真实点云数据进行分割,然后拿出其中属于的椅子的点云,使用迭代PCRNet将模型库中的椅子点云与其进行配准,然后把原来的点云替换为模型点云:

Go-ICP 和ICP的结果差不多所以加入了新的对比方法MIP。
中间两个方法都失败了,只有迭代PCRNet配准成功了
这是因为ICP,Go-ICP和MIP要求模板和源必须是同一对象,并且同一类别的对象之间的任何变化都可能导致配准失败;
而迭代PCRNet对于相同类别模型中的形状变化具有鲁棒性,因此可以产生更好的结果

点云配准网络 PCRNet: Point Cloud Registration Network using PointNet Encoding 2019相关推荐

  1. 点云深度学习系列博客(二): 点云配准网络PCRNet

    目录 一. 简介 二. 基础结构 三. 项目代码 四. 实验结果 总结 Reference 今天的点云深度学习系列博客为大家介绍一个用于点云配准的深度网络:PCRNet [1].凡是对点云相关应用有些 ...

  2. CVPR 2022 | GeoTransformer:基于Transformer的点云配准网络

    ©作者 | 秦政 单位 | 国防科技大学 研究方向 | 三维视觉 本文提出了一种基于 Transformer 的点云配准网络.通过引入点云中的全局结构信息,GeoTransformer 能够显著提高 ...

  3. (11)点云数据处理学习——Colored point cloud registration(彩色点注册)

    1.主要参考 (1)官网介绍 Colored point cloud registration - Open3D 0.16.0 documentation 2.原理和实现 2.1原理 本教程演示了使用 ...

  4. CorrNet3D:基于无监督的非刚性点云配准网络 (CVPR2021)

    论文.代码地址:在公众号「3D视觉工坊」,后台回复「CorrNet3D」,即可直接下载. 一.引言 点云因其能够精准地反映物体的真实尺寸和形状结构而备受人们青睐,被广泛应用于自动驾驶.VR/AR等领域 ...

  5. 基于深度学习的点云配准Benchmark

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨千百度@知乎 来源丨https://zhuanlan.zhihu.com/p/289620126 ...

  6. 点云配准 PointNet + Concat + FC

    原文: https://yongqi.blog.csdn.net/article/details/109759708 这个推荐有几个: https://zhuanlan.zhihu.com/p/107 ...

  7. 点云配准论文复现:Robust generalized point cloud registration with orientational data based on expectation ma

    参考论文 Min Z, Wang J, Meng M Q H. Robust generalized point cloud registration with orientational data ...

  8. 【配准论文解读】Color Point Cloud Registration with 4D ICP Algorithm

    本文是对于IEEE ICRA2011的论文<Color Point Cloud Registration with 4D ICP Algorithm>做一解读,这篇文章主要介绍了一种通过H ...

  9. python 点云配准_点云配准(Registration)算法——以PCL为例

    本文为PCL官方教程的Registration模块的中文简介版. An Overview of Pairwise Registration 点云配准包括以下步骤: from a set of poin ...

最新文章

  1. Iterator、Iterable接口的使用及详解
  2. 网络编程中的大端和小端
  3. 能源结构进入变革时代 光伏业趋于壮大转型
  4. Linux ping命令、Linux kill命令、Linux logname命令、 Linux logout命令
  5. 解决“添加删除程序”里面隐藏问题
  6. Java中ArrayList、Integer[]和int[]的相互转换
  7. linux系统硬盘数据恢复软件下载,R-Linux|R-Linux(linux数据恢复软件)下载 v5.1中文免费版 - 121下载站...
  8. 硕博经验——科研论文阅读与写作实战技巧
  9. Clojure 学习入门(17)- 异常处理
  10. SQLite.dll混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
  11. 浏览器是否支持Html5
  12. 使用CefSharp在.NET中嵌入Google kernel
  13. 奇迹1.03H服务端开服架设文件Data文件详解
  14. layui图片放大功能
  15. 页面404圈小猫游戏代码
  16. 【程序员如何买基金 四】个人投资诊断和基金诊断
  17. java猴子搬香蕉,趣味算法:猴子搬香蕉问题
  18. 数学家们是怎么玩趣味拼图游戏的?
  19. YOLOv5实现目标坐标打印并输出CSV文件
  20. flappy bird游戏源代码揭秘和下载后续---移植到html5网页浏览器

热门文章

  1. VC删除IE缓存、COOKIE及记录
  2. MBR区、DBR区、FAT区、DIR区和DATA区的区别
  3. 表单源码php,PHP微信表单源码解密开源版 微擎原版功能模块 多功能表单 微信万能表单2.8WEUI高级版...
  4. 计算机系统覆盖,计算机系统软件顶会OSDI 2021最佳论文出炉,邢波团队研究入选...
  5. java 泛型例子_java中的泛型的一些常见例子
  6. golang runtime.systemstack 泄漏排查
  7. icmp 报文中的进程号
  8. 分数序数之和c语言,用c语言求解:有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求这个数列的前20项之和....
  9. object getkey java_Java S3Object.getKey方法代码示例
  10. 钱包一般链接那个节点_Zcash屏蔽地址漏洞或揭示全节点IP地址(附解决方案)...