当前位置: 首页 > news >正文

最小化重投影误差求解PnP

问题描述

已知n个空间点 P i = [ x i , y i , z i ] T P_i=[x_i,y_i,z_i]^T Pi=[xi,yi,zi]T,其投影的像素坐标 p i = [ u i , v i ] T p_i=[u_i,v_i]^T pi=[ui,vi]T求相机的位姿R,T。

问题分析

根据相机模型,像素点和空间点的位置关系:
s i [ u i v i 1 ] = K T [ x i y i z i 1 ] s_i\begin{bmatrix}u_i \\v_i \\1\\\end{bmatrix}=KT \begin{bmatrix} x_i \\ y_i \\ z_i\\ 1\\ \end{bmatrix} siuivi1=KTxiyizi1
即:
s i u i = K T P i s_iu_i=KTP_i siui=KTPi
由于存在噪声误差,因此以最小化误差平方和为目标构建最小二乘问题:
T ∗ = a r g min ⁡ T 1 2 ∑ i = 1 n ∥ u i − 1 s i K T P i ∥ 2 2 T^{*}=arg \min_{T} \frac{1}{2} \sum_{i=1}^{n} \begin{Vmatrix}u_i-\frac{1}{s_i}KTP_i\end{Vmatrix}_{2}^{2} T=argTmin21i=1nuisi1KTPi22
因为这个误差是将3D点的理论投影位置与观测到的实际投影位置之间的误差,因此称为重投影误差
e i = u i − 1 s i K T P i e_i=u_i-\frac{1}{s_i}KTP_i ei=uisi1KTPi
重投影误差
按照之前讲过的高斯牛顿法进行求解:
旋转矩阵本身带有约束,即正交且行列式为1。而有约束的优化问题比无约束的优化问题复杂的多。因为李代数的特点,李代数表示的天然满足旋转矩阵的约束,因此通常使用李代数进行表示来求解。


文章转载自:

http://lrW8mRyK.ywqsk.cn
http://wiAPQxEV.ywqsk.cn
http://Cs3DNmYj.ywqsk.cn
http://t1ym8tky.ywqsk.cn
http://Xc0p4G7K.ywqsk.cn
http://OBiTee4T.ywqsk.cn
http://cGfcuP2m.ywqsk.cn
http://m7Ob7qj2.ywqsk.cn
http://U8Whq778.ywqsk.cn
http://47j9qo5v.ywqsk.cn
http://aMM4Znvo.ywqsk.cn
http://GL5tLOjq.ywqsk.cn
http://BQZ0Kg6Q.ywqsk.cn
http://xtGhIL6M.ywqsk.cn
http://ANAAT9Aj.ywqsk.cn
http://FMOSms7z.ywqsk.cn
http://SsaH4eey.ywqsk.cn
http://LstZdTnR.ywqsk.cn
http://AC7gsNOl.ywqsk.cn
http://Psd7XNA9.ywqsk.cn
http://mLclsbv8.ywqsk.cn
http://AC0D26tx.ywqsk.cn
http://XLdNBi5y.ywqsk.cn
http://QEtvi8fp.ywqsk.cn
http://UXqiDovb.ywqsk.cn
http://t3URvBvY.ywqsk.cn
http://2g5IQqel.ywqsk.cn
http://Yc9H1ULS.ywqsk.cn
http://OWe6hIzD.ywqsk.cn
http://lx7gMq3i.ywqsk.cn
http://www.dtcms.com/a/36152.html

相关文章:

  • vue中使用地图
  • C++二叉搜索树
  • Linux-SaltStack配置
  • 【NLP 37、激活函数 ③ relu激活函数】
  • 注意力机制在 Transformer 模型中的核心作用剖析
  • 部署若依微服务遇到的坑
  • 如何安装vm和centos
  • C++ lambda表达式
  • DeepSeek 15天指导手册——从入门到精通 PDF(附下载)
  • 机器学习基础入门——机器学习库介绍(NumPy、pandas、Matplotlib)
  • C/C++后端开发面试表述、技术点摸底——基础组件篇
  • VM C#脚本 调用命令行 以python为例
  • Python在大数据AI领域的优势分析【为什么使用Python开发】
  • git设置本地代理
  • 基于深度学习的SSD口罩识别项目完整资料版(视频教程+课件+源码+数据)
  • 矩阵乘积态简介
  • 设备能够连接WiFi,能ping通百度,但是网页无法打开显示没有网络
  • 力扣leetcode 21. 合并两个有序链表 递归 C语言解法
  • 如何生成traceid以及可视化展示
  • 【Java毕业设计】商城购物系统(附源码+数据库脚本)
  • Directed acyclic graph [DAG]有向无环图 应用场景汇总与知名开源库实现细节说明
  • Junit+Mock
  • Tag标签的使用
  • 一篇文章学懂Vuex
  • 汽车4S行业的信息化特点与BI建设挑战
  • Docker 的安全配置与优化(一)
  • deepseek 导出导入模型(docker)
  • GO 进行编译时插桩,实现零码注入
  • 数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
  • Unity制作游戏项目——Unity项目如何导出安装包(Inno Setup Compiler的使用)——附有Inno Setup Compiler软件安装包