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

推荐订阅源

Recorded Future
Recorded Future
Stack Overflow Blog
Stack Overflow Blog
Cisco Talos Blog
Cisco Talos Blog
Jina AI
Jina AI
S
Schneier on Security
Engineering at Meta
Engineering at Meta
M
MIT News - Artificial intelligence
腾讯CDC
NISL@THU
NISL@THU
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
Recent Announcements
Recent Announcements
博客园_首页
GbyAI
GbyAI
IT之家
IT之家
Security Archives - TechRepublic
Security Archives - TechRepublic
V2EX - 技术
V2EX - 技术
美团技术团队
PCI Perspectives
PCI Perspectives
Blog — PlanetScale
Blog — PlanetScale
W
WeLiveSecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Privacy International News Feed
Know Your Adversary
Know Your Adversary
人人都是产品经理
人人都是产品经理
C
Cisco Blogs
V
Visual Studio Blog
Martin Fowler
Martin Fowler
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Help Net Security
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
T
Troy Hunt's Blog
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
宝玉的分享
宝玉的分享
N
News | PayPal Newsroom
云风的 BLOG
云风的 BLOG
Security Latest
Security Latest
Project Zero
Project Zero
I
InfoQ
G
GRAHAM CLULEY
博客园 - 司徒正美
C
Check Point Blog
O
OpenAI News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

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 🔨工具:解决Github挂图及龟速访问 | RealCat 📝笔记:图解卡尔曼滤波 | RealCat 🔨工具:国内加速访问arxiv | RealCat 📝笔记:CVPR2020图像匹配挑战赛,新数据集+新评测方法,SOTA正瑟瑟发抖! | RealCat 📝笔记:SuperGlue:Learning Feature Matching with Graph Neural Networks论文阅读 | RealCat 📝笔记:SLAM常见问题(四):求解ICP,利用SVD分解得到旋转矩阵 | RealCat 📝笔记:SLAM常见问题(五):Singular Value Decomposition(SVD)分解 | RealCat 📝笔记:SLAM常见问题(二):重定位Relocalisation | RealCat 📝笔记:SLAM常见问题(一):SearchByBoW | RealCat 📝笔记:2019年浙大CADCG暑假SLAM培训部分课件 | RealCat 🔨工具:Filebrowser:一款轻量级个人网盘 | RealCat 📝笔记:SuperPoint: Self-Supervised Interest Point Detection and Description 自监督深度学习特征点 | RealCat Black Hole | RealCat 🔥Awesome CV Works | RealCat 🔨工具:开启SSR模式 | RealCat 虚实:「未麻的部屋」 | RealCat 笔记:李群与李代数求导 | RealCat 资料:ORB SLAM2 阅读报告 | RealCat 资料:SLAM草稿 | RealCat 资料:Line Segments Detection | RealCat 资料:Eigen与Matlab语句之对应关系 | RealCat 笔记:清华-谷歌人工智能研讨会(Tsinghua-Google AI Symposium) | RealCat Think Different | RealCat Light Field Depth Estimation | RealCat CV Related References | RealCat 立体视觉综述:Stereo Vision Overview | RealCat Lytro的光场AR之路:从巅峰到死亡 | RealCat Stephen Hawking | RealCat 常用的生产力工具 | RealCat 深度学习在深度(视差)估计中的应用(2) | RealCat 深度学习在深度(视差)估计中的应用(1) | RealCat Matlab Deep Learning学习笔记 | RealCat CNN框架(CNN Architectures) | RealCat 理解LSTM网络【译】 | RealCat 降维之PCA主成分分析原理 | RealCat 📝笔记:SIFT和SURF特性提取总结 | RealCat 统计学习方法总结 | RealCat Ubuntu上使用Git以及GitHub | RealCat 机器学习修炼手册 | RealCat 初试HCI光场数据集 | RealCat 实习季到了,大家又浮躁了起来 | RealCat 日本与美国之行 | RealCat Light Field 光场以及MATLAB光场工具包(LightField ToolBox)的使用说明 | RealCat MATLAB:多个不同维度的箱线图画在一起 | RealCat AR形势与应用 | RealCat Hexo+Github+jsDelivr+Vercel建站备忘录 | RealCat Markdown 学习 | RealCat 复试那些事儿 | 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维向量:

维度,如下形式:

参考