Q-REG论文阅读
Q-REG
Jin, S., Barath, D., Pollefeys, M., & Armeni, I. (2023). Q-REG: End-to-End Trainable Point Cloud Registration with Surface Curvature.
- paper: 2309.16023v1] Q-REG: End-to-End Trainable Point Cloud Registration with Surface Curvature (arxiv.org)
- code: waiting

Questions Raised
- RANSAC-like estimation methods cope with the combinatorics of the problem via selecting random subsets of m correspondences( e.g., m=3 for rigid pose estimation). this allows to progressively explore the \((\frac{n}{m})\) possible combinations, where n is the total number of matches.
简单来说就是RANSAC style不可微,不能end-to-end;而其他learning-based方法为了实现端到端就将hard correspondence换成了基于socre的soft correspondence(hard就是True or False,soft就是有权重,或者说点对匹配程度),又会使得计算开销太大,并且引入大量噪声。
作者就想实现hard correspondence的端到端,怎么办,采用single correspondence来预测变换就可以了,这样就没有random subsets,而是迭代遍历correspondence set,取最好预测结果。
Contribution
- 设计了Q-REG,一种结合single correspondence的local surface patches(fitting quadrics),来估计位姿的点云配准方法,意图替代RANSAC。从介绍上,Q-REG与correspondence matching method 无关(it is agnostic to the correspondence matching method),并且能够快速做outlier rejection by filtering degenerate solutions and assumption inconsistent motions (rigid poses inconsistent with motion priors (e.g., to avoid unrealistically large scaling).)
- 将Q-REG设计成可微(differentiable)方案,用于无论是在correspondence matching method 还是 pose estimation method的端到端训练
- 刷SOTA哩
Description
employing higher-order geometric information , Q-REG achieving exhaustive search to replace RANSAC and improve the performance and run-time

First Step: Correspondence Matching
使用任意Correspondence Matcher(e.g patch-based: PPFNet, PPF-FoldNet; full-conv: FCGF)得到feature-matching based putative correspondences \(\{P, Q\}\in C\) , 用于之后的Q-REG方法预估变换矩阵。
Q-REG是single-correspondence方法,因此区别于RANSAC每次随机挑选三对corresponding point \(\{p, q\}\) 预测变换矩阵,Q-REG每次只取单对corresponding point,用于estimate transform between \(P\) and \(Q\) 。
Second Step: Q-REG
Q-REG直接当作工具用的步骤为:
- 从correspondence set \(C\) 中迭代取出single correspondence \(\{p,\ q \}\) ;
- 对以每个single corrspondence为输入预测变换矩阵
- 选择best transformation model 作为初步结果, the pose quality metric is calculated as the cardinality of its support i.e., the number of inliers.
- 之后根据论文[^ 1] 的方法进行local optimization.( a local re-sampling and re-fitting of inlier correspondences based on their normals (coming from the fitted quadrics) and positions. )
如果嵌入端到端训练则只进行到第二步时根据预测结果构建Loss: \(L_{pose}\) 。
后文对single correspondence为输入预测变换矩阵的过程进行详述,以及介绍 \(L_{pose}\) 的构成
1. Quadric Fitting based local patch
对于single correspondence \(\{p, q\}\in C\) ,可以为点划分local patch(Q-REG通过K=50的KNN来划分),预测一对local patch,并计算两个loca patch彼此的LRF(local reference frame) \(R_p, R_q \in SO(3)\) (即作为将点从世界坐标系转换到局部参考系的旋转矩阵)。假如预测正确,我们就可以做两片点云的对齐( \(R=R_qR_p^T\) )。因此Q-REG应用二次曲面拟合来预估 \(R_p,\ R_q\) 。
至于translation vector \(t\) ,论文直接以 q, p作为两片点云重叠区域的质心, \(t=q-p\) 。
论文中应用如下约束拟合3D quadric surface:
\]
- \(\hat{p}\) :3D homogeneous point(3D齐次点) lying on the surface
- Q is the quadirc parameters in matrix as:
\]
理论上最佳的是local patch的所有点都能落在曲面上,但是当然不可能,所以需要拟合。
之后,作者重写了上述公式便于应用:

- \(|\mathcal{N}|\) is the number of neighbors to which the quadric is fitted(paper sets to 50). 换句话说,二次曲面拟合不用single corrspondence 中的p,q点,也就是keypoints,而是使用local patch中的其他点,也就是neighbor points.
- \(d_i\) 是第i个neighbor point离原点(the origin)的平方距离(squared dist)。(所以这里实现时是不是需要先对local patch以keypoint求相对距离进行标准化)。
使用上述linear equation获得 \(Q\) 中的系数。
然后对求得二次曲面系数矩阵 \(Q\) 应用平移,使得keypoint能落在曲面上,也就是调整系数 \(J\) 使得对于keypoint,公式 \(p^TQp =0\) 成立。
最终取二次曲面系数矩阵 \(Q\) 的部分,得到如下矩阵 \(P\) ,并使用对矩阵 \(P\) 使用 Eigen-decomposition ,得到特征向量矩阵 \(V\) 作为求得LRF \(R_p或R_q\) 。
注意:为了保留尺度(scaling) 信息,这里不对特征向量进行单位化。

2. Estimate rigid Transformation
the rotation \(R=R_pPR_q^T \in SO(3)\) ,其中 \(P\) 表示一个unknown permutation matrix,用于控制p的LRF与q的LRF之间的各轴对应关系,这种对应关系分三种情况考虑:
- 当LRF三轴的模(长度)各不相同时,也就是x-y-z三方向尺度信息都不一致。只需要按照三轴的长度从大到小排列对应即可 。这种方式基于这样的假设:该过程建立在点云中没有或有但是可忽略的各向异性缩放的假设之上,因此相对应轴长度保持不变。这种方式可以实现scale-invariant,并且通过不可实现的缩放过滤不可靠匹配。因此,rigid transformation可以通过single correspondence解决。
- 当LRF三轴的模(长度)其中两个相同,与另一个不相同时,也就是x-y-z三方向有两个方向尺度信息一致,那么直观上就可以理解:两个方向尺度信息一致,使得一对一匹配LRF三轴时,有两对轴无法明确匹配。因此,需要最起码two correspondences来互相印证,保证 \(P\) 矩阵预测正确。
- 当LRF三轴的模(长度)都相同,也就是x-y-z三方向尺度都一致,此时local patch以keypoint为原点接近一个sphere surface。同理,需要最起码three correspondences。
所以为了实现estimate rigid transformation from a single correspondence,只保留 \(C\) LRF三轴的模(长度)各不相同的corrspondences,各轴长度差都大于 \(10^{-3}\) 。之后就可以用 \(R=R_pPR_q^T\) 公式计算刚性旋转矩阵。
3. End-to-End Training Loss
\]
\]
- \(\gamma\) is a threshold and \(s\) is the score of the point correspondence predicted by the matching network
上述所提到的 \(L_{pose}\) 可以与其他广泛使用的registration loss functions 相结合实现从特征匹配到配准的端到端训练。
Experiments
- dataset:3DMatch、3DLoMatch;KITTI;ModelNet、ModelLoNet
- corresponding matcher:Predator、RegTR、GeoTr
- metrics:RR(registration recall)、RRE(registration rotation Error)、RTE(Registration Translation Error)、
没说的,在matcher一致的情况下全SOTA,并且还比其他estimator(ICP、PointDesc……)好.消融实验也证明了Q-REG所有component都有效提升了一定的指标额度:quadric-fitting single-corresponding solver、local optimation、used in end-to-end training。




Run-time

[^ 1]:Karel Lebeda, Jirı Matas, and Ondrej Chum. Fixing the locally optimized ransac-full experimental evaluation. In British machine vision conference. Citeseer, 2012. 5
Q-REG论文阅读的更多相关文章
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- 论文阅读笔记:《Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling》
论文阅读:<Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling& ...
- [论文阅读笔记] node2vec Scalable Feature Learning for Networks
[论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...
- [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion
[论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...
- 【论文阅读】Motion Planning through policy search
想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...
- Learning under Concept Drift: A Review 概念漂移综述论文阅读
首先这是2018年一篇关于概念漂移综述的论文[1]. 最新的研究内容包括 (1)在非结构化和噪声数据集中怎么准确的检测概念漂移.how to accurately detect concept dri ...
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
白翔的CRNN论文阅读 1. 论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...
- BITED数学建模七日谈之三:怎样进行论文阅读
前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
随机推荐
- JavaScript学习笔记 - 语法篇 - 一句废话没有版
写在前面: 绝不废话!放心食用 JavaScript语法很简单,可以直接在控制台调试理解 目录 1.变量和常量 2.数据类型 3.字符串 3.1 模板字符串 3.2 字符串的部分常用函数 4.数组 5 ...
- 用声明式宏解析 Rust 语法
在上一篇 Rust 声明式宏中的 Metavariables 有哪些 的基础上, 今天尝试解析一下 Rust 中的几种 item.我们知道一个 crate 是由 item 组成的,每一个 fn str ...
- 前端检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接)
快速实现前端检测手机系统是iOS还是android(可实现根据手机系统跳转App下载链接); 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plug ...
- 基于Sa-Token实现微服务之前的单点登录
修改配置文件,准备好四个域名 127.0.0.1 auth.server.com 127.0.0.1 user.server.com 127.0.0.1 third.server.com 127.0. ...
- 如何使用libswscale库将YUV420P格式的图像序列转换为RGB24格式输出?
一.视频格式转换初始化 将视频中的图像帧按照一定比例缩放或指定宽高进行放大和缩小是视频编辑中最为常见的操作之一,这里我们将1920x1080的yuv图像序列转换成640x480的rgb图像序列,并输出 ...
- Pychrm自定义代码块
Pycharm -> Perferences (command + ,)
- 简单了解下最近正火的SwissTable
去年看到字节跳动给golang提了issue建议把map的底层实现改成SwissTable的时候,我就有想写这篇博客了,不过因为种种原因一直拖着. 直到最近遇golang官方开始讨论为了是否要接受Sw ...
- 利用Python爬取免费代理IP
# 2019/9/8 # 思路: 1.找到一个免费的ip代理网站(如:西刺代理) # # 2.爬取ip(常规爬取requests+BeautifulSoup) # # 3.验证ip有效性(携带爬取到的 ...
- flex布局入门
一.简介 Flexible 单词意思是灵活的意思,flex布局又称为弹性布局或弹性盒子布局 Flex布局(Flexible Box Layout)是CSS3引入的一种布局模型,它旨在提供一种灵活且高效 ...
- redis 中的 set
set是String中的无序集合 底层是 是 value为null 的hash表 时间复杂化是o(1): sadd k1 v1 v2 v3 set中添加数据 smembers k1 取出set ...