论文:Exhaustive Linearization for Robust Camera Pose and Focal Length Estimation

整体来看,UPnP跟EPnP差不多,只是同时估计了焦距,因此,适合未标定场合,Uncalibrated PnP.

问题定义:

p世界坐标系点参考点,C控制点,R,t姿态矩阵,u是p对应的2D投射点。建模为最小化P点的投影误差。

其中u表示为:

k是尺度因子。

跟EPnP类似,增加控制点约束:

注意,这里如上图所示,c是在世界坐标系下。同样,相机坐标系下,c的上标变为c。

3式带入2式,展开得:

到这里,跟EPnP的差别在于焦距, 本质 是一样的,也得到线性方程组:

M也是2n*12的矩阵,得到x:

上面的方程中,四个控制点总共12个未知变量,M为2n×12的矩阵。因此,x属于M的右零空间,vi为矩阵M的右奇异向量,可以通过求解MTM 的零空间特征值得到。

[说明]使用MTM比使用M计算量更少,因为MTM是求解是常数复杂度,而M是O(n3)的复杂度,但是计算MTM的复杂度是O(n)的。

上面求解的x中,需要确定βk,也就是确定合适的线性组合。根据参考点的位置不同,矩阵MTM的零空间维数可能为N=1→4维。求解β的策略是控制点在坐标系Fw和Fc中,两两之间的距离是相同,而x的3k+1−3k分量表示分别表示不同的控制点在相机坐标系中的坐标,总共有C24=6个约束。

同样,也是分类讨论。

N=1,线性化,此时只要求解β1和f,假定β11=β1^2,βff11=f^2β^2,根据控制点距离约束:

可以得到6个如下形式的方程:

其中b=[β11,βff11]T .

计算得到:

当N=2时,穷举线性化,我们需要求β1,β2,f. 则类似N=1的情况,此时b变为:

与N=1类似,只是在相同的相机内外参数约束下,不断穷举,例如:

当N=3时:穷举再线性化。

再线性化技术如下:

以定义线性系统开始:

其中,

具体算法伪代码如下:

后面,为了提高精度,增加迭代优化:

完整的对比结果:

不共面:

上图可以看出,在点数超过20时,其实UPnP与EPnP没有太大差距,但是,UPnP更适合大焦距图像的姿态估计。当f>4000时,差距就出现了,但一般常见的f在500~2000之间,也就是近似估计为480i~1080p范围。在这种情况下,EPnP与UPnP性能差不多。

共面:

共面情况下,结论也类似,2者差距不大。

顺便提一下时间:

作者在实测一个任务时,得到的结果如下:

另外:

其中颜色标注对应上面不共面情况下的算法类别。

可以看到,UPnP在时间上跟EPnP比,是没有优势的。

相机姿态估计(七)--UPnP相关推荐

  1. 基于单目视觉的平面目标定位和坐标测量 (下) - 相机姿态估计和目标测量

    上回说到,我们回顾了机器视觉的基础知识,然后一顿操作之后得到了相机内参A和畸变系数dist. 现在我们开始定位目标的坐标. 这个过程包括几个子部分: 1.    标记检测 2.    指定世界坐标系, ...

  2. P3P相机姿态估计数学推导,求解及自定义实现

    P3P相机姿态估计数学推导,求解及自定义实现 微信公众号:幼儿园的学霸 目录 文章目录 P3P相机姿态估计数学推导,求解及自定义实现 目录 前言 相机到空间点距离求解 角度θ的计算 相机坐标系下的坐标 ...

  3. 人体姿态估计 | 七篇你必须仔细阅读的论文

    本文列举了如下七篇在人体姿态估计领域很有代表性的文章. 典型的single-stage网络: 2017 coco关键点冠军[CPN,1711.07319.pdf]. 2018CVPR alphapos ...

  4. 基于直线的最小非线性SLAM相机姿态估计方法

    Minimal Non-linear Camera Pose Estimation Method Using Lines for SLAM Applications 1. 介绍 2. 非线性优化方法 ...

  5. 相机姿态估计(五)--DLS

    论文:A Direct Least-Squares (DLS) Method for PnP 求解过程看着挺吃力的,看懂的还请多多指正. 本文针对PnP问题,采用非线性最小二乘直接计算,主要贡献如下: ...

  6. 相机姿态估计(四)--AP3P

    AP3P 论文:An Efficient Algebraic Solution to the Perspective-Three-Point Problem 从数学的角度,提出了经典P3P算法的更快, ...

  7. 相机姿态估计(六)--EPnP

    EnP算法,论文:EPnP: Efficient Perspective-n-Point Camera Pose Estimation 直接给过程: 相机坐标系用Fc,世界坐标系用Fw表示,任何一点可 ...

  8. 相机姿态估计(三)--P3P

    P3P 论文:Complete Solution Classification for the Perspective-Three-Point Problem 我们首先需要知道的是P3P并不是直接根据 ...

  9. 点线联合优化估计相机姿态(IROS 2022)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨一杯红茶 编辑丨计算机视觉工坊 点击进入->3D视觉工坊学习交流群 标题:Pose Ref ...

最新文章

  1. 修改值类型的实例方法 mutating
  2. 设计模式复习-状态模式
  3. 使用 IIS Manager 对 Windows Azure 网站进行远程管理
  4. 数智化转型人才“大考”,综合人才成为企业“基础设施”
  5. WebRTC手记之初探
  6. SQL Server--用户自定义函数
  7. python获取软件窗口句柄_Python获取浏览器窗口句柄过程解析
  8. 「理解HTTP」之常见的状态码
  9. 非官方构建的 Windows 下的 Atom 编辑器
  10. Python Imaging Library: ImageGrab Module(图像采集模块)
  11. centos rpm安装mysql5.6_CentOS 7下使用RPM安装MySQL 5.6
  12. Qt拖拽实现绘制流程图
  13. stm32上云实战篇
  14. Android 9 (P)在user模式下无法使用fastboot烧录怎么破
  15. win10任务栏假死状态 无法操作
  16. Nexys2七段LED显示操作
  17. 华为交换机如何清除console口密码
  18. 01.04_计算机基础知识(键盘功能键和快捷键)
  19. HTTP/HTTPS与流量劫持/DNS劫持
  20. 关于 VScode 中使用 python 相对路径找不到的问题(解决)

热门文章

  1. Android.mk的一些FAQ
  2. Clojure 学习入门(1) - 学习资料
  3. RabbitMq之简单队列
  4. SpringBoot之项目实践一
  5. Gb28181-2016 相关标准文档参考
  6. springmvc05 传值
  7. mysql中的substring()截取字符函数
  8. 上岸后如何选择一个好的导师
  9. c语言中用递归求平方根,下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下: 例如 - 赏学吧...
  10. opencv双线程图片处理_打开正经图片,你可能会看到一张黄图,这种造假方法能同时骗过 AI 和人眼...