惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

RealCat

📝笔记:图像匹配挑战赛回顾(CVPR 2023) | RealCat 📝笔记:Stable Diffusion QR-Code | RealCat 📝笔记:Python zip() | RealCat 📝笔记:图像匹配挑战赛回顾(CVPR 2022) | RealCat 📝笔记:5秒钟训练NeRF,NVIDIA Instant NeRF 测试 | RealCat 📝笔记:Visualization Localization Revisited(under construction...) | RealCat 📝笔记:使用vlfeat的Matlab接口简单实现BOW以及VLAD | RealCat 📝笔记:一些关于KD-Tree的知识点 | RealCat 📝笔记:简明矩阵求导术之分子布局与分母布局 | RealCat 📝笔记:使用Clockwise/Spiral Rule技巧轻松读懂变量/函数声明 | RealCat 🔨工具:优雅地下载Youtube视频 | RealCat 🔨工具:每日自动获取arXiv论文摘要 | RealCat 🎃资料: 从Eigen向量化谈内存对齐 | RealCat 📝笔记:图像匹配挑战赛总结 (SuperPoint + SuperGlue 缝缝补补还能再战一年) | RealCat 📝笔记:ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM | RealCat 📝笔记:CVPR 2021 | PixLoc: 端到端场景无关视觉定位算法(SuperGlue一作出品) | RealCat 📝笔记:港大MARS实验室 R3LIVE (R2LIVE升级) 鲁棒实时RGB雷达视觉惯导紧耦合状态估计 | RealCat 🔨工具:bash常用命令 | RealCat 📝笔记:VSLAM基础知识导图 | RealCat 📝笔记:Patch-NetVLAD论文阅读 | RealCat 📝笔记:光场相机能否用于SLAM? | RealCat 📝笔记:读写文本常用操作 | RealCat 📝笔记:CVPR 2020 视觉定位挑战赛冠军方案 | RealCat 📝笔记:三维重建系列 COLMAP: Structure-from-Motion Revisited | RealCat 🐈芒果驾到 | RealCat 📝笔记:GMS一种基于运动统计的快速鲁棒特征匹配过滤算法 | RealCat 🌡️秋天到了,还是很热 | RealCat 📝笔记:AdaLAM: Revisiting Handcrafted Outlier Detection 超强外点滤除算法 | RealCat 🔨工具:使用vercel加速Hexo静态博客访问 | RealCat 📝笔记:ORB-SLAM3论文阅读 | RealCat
📝笔记:SLAM常见问题(三):PNP | RealCat
2019-08-11 · via RealCat

PNP即”Perspective-N-Points”,是求解 3D 到 2D 点对运动的方法。它描述了当我们知道n个3D空间点以及它们在图像上的位置时,如何估计相机所在的位姿。PnP 问题有很多种求解方法,例如用三对点估计位姿的 P3P(通常需要额外一个点进行验证结果),直接线性变换(DLT),EPnP(Efficient PnP,已知内参时用),UPnP(内参未知时用) 等等)。此外,还能用非线性优化的方式,构建最小二乘问题并迭代求解,也就是万金油式的 Bundle Adjustment

P3P

已知:匹配点,点的世界坐标记为,图像上的2D点记为

未知:相机系下3D点的坐标是未知的,即,一旦点在相机坐标系下的坐标能够算出,我们就得到了的对应点,把PnP问题转换为了ICP问题。

我们的目标就是通过纯几何的方法求出上述未知量,过程如下。

由于余弦定理可知:

对上面三式全体除以,记,得:

,得:

将第一个式子中带入后面两个式子中,得:

上式中几个余弦角度:

是已知的,也是已知的,所以未知量仅有,解析地求解该方程组是一个复杂的过程,需要用**吴消元法**。这样就可以求得,然后带入求解,即可得到,进而得到。该方程最多可能得到四个解,但我们可以用第4个验证点来计算最可能的解,得到在相机坐标系下的坐标。然后,根据的点对,计算相机的运动,此处可参考文献Least-Squares Rigid Motion Using SVD

EPnP

问题描述

EPnP即Efficient PnP,参考文献 EPnP: An Accurate O(n) Solution to the PnP Problem

问题描述如PnP,更加具体的,我们已知一组特征点,对于每个特征点,我们有如下信息:

  • 特征点在世界坐标系的坐标:
  • 特征点在成像平面上的坐标:
  • 已知相机内参

求:世界坐标系到相机系的变换矩阵

算法假设

EPnP的思想是无论世界系还是相机系下的点都可以由4个控制点线性组合,记:

  • 世界系下4个控制点表示为:
  • 相机系下4个控制点表示为:

EPnP算法将参考点的坐标表示为控制点坐标的加权和:

其中是加权系数,一旦虚拟控制点确定后,且满足4个控制点不共面的前提,是唯一的。

控制点的存在性

现在讨论控制点的存在性,上式可以写成:

可见只要非奇异,就一定可以找到满足条件的,即:

接下来,我们讨论相机坐标系下,控制点和参考点之间的关系:

如何选择控制点

由于,因此,带入上式,得:

可见系数具有不变性,如果我们能够求出控制点在相机坐标系中的坐标,那么对于任意一个3D点k,我们可以求得其在相机系下的坐标:

这就变成了如P3P同样的问题了,即求解3D-3D位姿估计问题。

记世界系下所有3D点集为:

第一个控制点是所有3D点的重心:

对所有3D点去中心化,这些点罗列成矩阵形式:

进行特征值分解(注意此时并非对A进行SVD分解,是为了减低时间复杂度,SVD分解的复杂度为),其特征值为,对应的特征向量为:

则剩余的3个控制点表示为如下公式:

求解控制点在相机系下的坐标

为参考3D点的图像坐标,则:

其中是尺度因子,将控制点带入上式,得:

上式可以得到两个线性方程:

把这N个点的约束罗列在一起,我们就可以得到如下矩阵:

其中12维向量:

维度,如下形式:

参考