通讯作者:Gim Hee Lee

第一作者:Zi Jian Yew

研究机构:新加坡国立大学

代码链接:https://github.com/yewzijian/RPMNet

论文解决的问题

解决了点云刚性配准任务中,对初始刚性变换和噪声/离群点敏感的问题。

现有方法的不足 & 本文贡献

迭代最近点法(ICP)分两步迭代求解刚性点云配准问题:

  1. 对空间上最近点对应关系进行硬赋值,
  2. 求出最小二乘刚性变换

然而,基于空间距离的最近点对应的硬赋值对初始刚性变换和离群点敏感,往往导致ICP收敛到错误的局部极小值。

Robust Point Matching (RPM)算法:

  • RPM比ICP更为健壮,但它仍然对初始化和局部极小值敏感,因为仍然仅根据空间距离获得点对应关系。

本文提出的RPM网络,一种对初始化不敏感的基于深度学习的刚性点云配准方法则解决了ICP的问题。

与某些现有方法不同,RPM网络可以处理缺少的对应关系和部分可见性的点云。实验结果表明,与现有的非深度学习和最新的深度学习方法相比,本文的RPM网络达到了SOTA。

论文方法介绍

首先介绍RPM算法:

RPM算法是一种使用退火和软对应方式的配准算法。ICP算法在迭代计算时利用距离最近原则来产生待配准点对,而RPM算法利用软对应方式为任意点对赋予0到1之间的值,并最终收敛到0或1,如果是1则代表这两个点是配准点对。RPM算法最终计算得到的配准点对是一一映射的,而ICP算法通常不是。
a r g m i n M , R , t ∑ j = 1 J ∑ k = 1 K m j k ( ‖ R x j + t − y k ‖ 2 2 − α ) arg min_{M,R,t}\sum^J_{j=1}\sum^K_{k=1}m_{jk}(‖Rx_j+t−y_k‖_2^2−α) argminM,R,t​j=1∑J​k=1∑K​mjk​(‖Rxj​+t−yk​‖22​−α)
RPM算法想要找到一个刚性变换{R,t}以及配准矩阵M,使得X能够与Y匹配。

配准矩阵的元素初始化: m j k ← e − β ( ‖ R x j + t − y k ‖ 2 2 − α ) m_{jk}←e^{−β(‖Rx_j+t−y_k‖^2_2−α)} mjk​←e−β(‖Rxj​+t−yk​‖22​−α)

其中$\alpha \ \beta $分别为判定异常值的阈值和每次迭代后需要增加的退火参数

RPM-Net:

模型对RPM做了两个修改:

  1. 将基于空间的距离量度换成了基于混合特征距离
  2. 在每次迭代中都要重新计算参数$\alpha \ \beta $

模型概述:

在第i次迭代i时:

  1. 特征提取器从输入点云X、Y中提取混合特征
  2. 参数估计网络预测最佳退火参数$\alpha \ \beta $
  3. 混合特征和α,β参数用于计算初始匹配矩阵,然后进行Sinkhorn归一化以强制执行双重随机约束以获得最终匹配矩阵 M i M^i Mi
  4. 计算出更新的变换{R_i,t_i},并在下一次迭代中使用
特征提取器:

对于任意点云x_c,其混合特征:
F x c = f θ ( x c , { ∆ x c , i } , { P P F ( x c , x i ) } ) F_{x_c}=f_θ(x_c,\{∆x_{c,i}\},\{PPF(x_c,x_i)\}) \\ Fxc​​=fθ​(xc​,{∆xc,i​},{PPF(xc​,xi​)})

  • 其中:
    f θ 为 特 征 提 取 网 络 P o i n t N e t , 网 络 参 数 θ x i ∈ N ( x c ) , N ( x c ) 为 x c 领 域 内 的 点 云 ∆ x c , i = x i − x c f_θ为特征提取网络PointNet,网络参数\theta \\ x_i\in N(x_c), N(x_c)为x_c领域内的点云\\ ∆x_{c,i}=x_i−x_c\\ fθ​为特征提取网络PointNet,网络参数θxi​∈N(xc​),N(xc​)为xc​领域内的点云∆xc,i​=xi​−xc​

  • 4D点对特征:(以旋转不变的方式描述质心点x_c与相邻的点x_i之间的曲面)

P P F ( x c , x i ) = ( ∠ ( n c , ∆ x c , i ) , ∠ ( n i , ∆ x c , i ) , ∠ ( n c , n i ) , ‖ ∆ x c , i ‖ 2 ) 其 中 n c n i 为 点 云 x c x i 的 法 向 量 PPF(x_c,x_i) = (∠(n_c,∆x_{c,i}),∠(n_i,∆x_{c,i}),∠(n_c,n_i),‖∆x_{c,i}‖_2)\\其中n_c \ n_i 为点云x_c \ x_i 的法向量 \\ PPF(xc​,xi​)=(∠(nc​,∆xc,i​),∠(ni​,∆xc,i​),∠(nc​,ni​),‖∆xc,i​‖2​)其中nc​ ni​为点云xc​ xi​的法向量

参数估计网络:(Parameter Prediction Network)

在RPM算法中,退火参数$\alpha \ \beta $是需要手动设置的。RPM网络中,由于这些参数取决于学习的特征,因此很难手动设置。

将X、Y两个点云连接起来形成一个(J+K,3)的矩阵,用包含0或1的第四列对其进行扩充(X为0,Y为1),并将其输入PointNet,输出得到参数$\alpha \ \beta $

为了确保预测的α和β为正,在最后一层使用softplus激活函数

预测刚性变换(Estimating the Rigid Transformation):

配准矩阵预测值得到后,最后一步就是预测刚性变换,即根据X计算对应的坐标 Y ^ \hat Y Y^
y j ^ = 1 ∑ k K m j k ∑ k K m j k ⋅ y k \hat{y_j}=\frac{1}{\sum^K_km_{jk}}\sum^K_km_{jk}·y_k yj​^​=∑kK​mjk​1​k∑K​mjk​⋅yk​
然后使用SVD分解计算刚性变换。

由于不是每个X都有对应的Y,所以在计算刚性变换时,所以用 w j = ∑ k K m j k w_j=\sum^K_km_{jk} wj​=∑kK​mjk​来衡量每个对应关系(xj,ˆyj)

损失函数(Loss Functions)

L r e g = 1 J ∑ j J ∣ ( R g t x j + t g t ) − ( R p r e d x j + t p r e d ) ∣ L i n l i e r = − 1 J ∑ j J ∑ k K m j k − 1 K ∑ k K ∑ j J m j k L t o t a l = L r e g + λ L i n l i e r , L_{reg}=\frac{1}{J}\sum^J_j|(R_{gt}x_j+t_{gt})−(R_{pred}x_j+t_{pred})|\\L_{inlier}=−\frac{1}{J}\sum^J_j\sum^K_km_{jk}−\frac{1}{K}\sum^K_k\sum^J_jm_{jk}\\L_{total}=L_{reg}+λL_{inlier}, Lreg​=J1​j∑J​∣(Rgt​xj​+tgt​)−(Rpred​xj​+tpred​)∣Linlier​=−J1​j∑J​k∑K​mjk​−K1​k∑K​j∑J​mjk​Ltotal​=Lreg​+λLinlier​,

每次 迭代都计算一次Loss,但是需要加权,前面的loss权值小,后面的大

实现:

使用带有内环的递归神经网络实现。尽管梯度可以从一个迭代流到另一个迭代,但在实践中,这并不能提高性能并导致训练不稳定,因此采用了一种简单的方法,在每个迭代开始时停止{R,t}梯度。具体结构如下图:

RPM-Net: Robust Point Matching using Learned Features 2020 论文笔记相关推荐

  1. [CVPR 2020] RPM-Net: Robust Point Matching using Learned Features

    零.概要 论文: RPM-Net: Robust Point Matching using Learned Features tag: CVPR 2020; registration 代码: http ...

  2. 论文精读:RPM-Net: Robust Point Matching using Learned Features

    论文地址:https://arxiv.org/pdf/2003.13479.pdf 源码详解:RPM-Net源码详解_樱花的浪漫的博客-CSDN博客 数据及代码见文末  点云配准任务 点云配准可以当做 ...

  3. CVPR 2020 《Context-Aware Group Captioning via Self-Attention and Contrastive Features》论文笔记(数据集)

    目录 简介 动机 贡献 方法 实验 简介 本文提出了一个新任务--Group Captioning,就是在一堆图片中,对特定的几个图片生成caption,生成的caption要具备选定的图片的特性,且 ...

  4. 《LaneAF:Robust Multi-Lane Detection with Affinity Fields》论文笔记

    参考代码:LaneAF 1. 概述 导读:这篇文章提出了通过语义分割(2分类)检测车道线的算法,不过在其中添加了affinity fields用于区分不同的车道线(从语义分割演变实现"实例分 ...

  5. 《RefineMask:Towards High-Quality Instance Segmentation with Fine-Grained Features》论文笔记

    参考代码:RefineMask 1. 概述 导读:在这篇文章中针对以Mask-RCNN为代表的实例分割模型存在实例分割mask掩膜边界补贴合的问题进行探究,文章指出由于网络存在下采样操作以及RoI P ...

  6. Robust Simulation of Small-Scale Thin Features in SPH-based Free Surface Flows

    Robust Simulation of Small-Scale Thin Features in SPH-based Free Surface Flows--TOG 2015 Xiaowei He1 ...

  7. Robust Multi-Modality Multi-Object Tracking 论文笔记

    Robust Multi-Modality Multi-Object Tracking 论文笔记 为什么要做多模态融合的 MOT? Motivation Method 问题构造: 下面是详细介绍: 单 ...

  8. 论文笔记:Decoding Brain Representations by Multimodal Learning of Neural Activity and Visual Features

    论文笔记:Decoding Brain Representations by Multimodal Learning of Neural Activity and Visual Features(通过 ...

  9. [论文笔记] [2008] [ICML] Extracting and Composing Robust Features with Denoising Autoencoders

    在06年以前,想要去训练一个多层的神经网络是比较困难的,主要的问题是超过两层的模型,当时没有好的策略或方法使模型优化的很好,得不到预期的效果.在06年,Hinton提出的stacked autoenc ...

  10. Extracting and Composing Robust Features with Denoising Autoencoders论文笔记

    Extracting and Composing Robust Features with DenoisingAutoencoders 论文链接 零碎知识 网络 原理 结构 训练 论文链接 零碎知识 ...

最新文章

  1. python中eval()函数的使用
  2. 轻松易懂的缓存雪崩、穿透、击穿以及解决方案
  3. Xamarin XAML语言教程基本视图ContentView
  4. WebQQ群发限制的突破
  5. 关于apache kylin 安装32位linux办法
  6. GraphPad Prism 9.2 Mac 2021最新安装使用教程
  7. 新浪微博第三方登陆重定向错误23123
  8. mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
  9. pytroch中的Variable()介绍
  10. mysql postgresql nav_Mysql/postgreSQL
  11. cad快速看图能合并图纸吗_【CAD快速看图电脑版】合并图纸、2张图之间复制
  12. 【ACL2020】结果已出,录用论文抢先看!
  13. c226打印机驱动安装_打印机驱动安装失败怎么办 打印机驱动安装方法【步骤详解】...
  14. Java基础之序列化
  15. Android中MVP框架理解
  16. mysql autoenlist默认_Dapper MySql DateTime 异常
  17. Google GMS认证测试几个名词
  18. 从零开始操作系统-07:APIC
  19. ipad计算机功能,ipad功能有哪些 ipad功能介绍
  20. 读书笔记-从你的全世界路过

热门文章

  1. Miracast技术详解(四):Sink源码解析
  2. statusbar_SIM卡信号强度
  3. 去除element-UI表格鼠标悬停背景颜色
  4. 输入ipconfig后,出现“Windows IP Configuration”,但并没有任何IP地址信息,也无法连接至主机
  5. matlab提取温度,科学网—站点气温数据的积温计算(含Matlab程序实现) - 朱永超的博文...
  6. java编写日历表_java建立日历表
  7. 真实,世界上最健康的程序员作息表!
  8. LAMP的实战应用之部署wordpress论坛,并实现正常访问登录论坛
  9. js实现双日历插件代码
  10. ExcelVBA Application对象介绍