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

最小化重投影误差求解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://www.kler.cn/a/560578.html

相关文章:

  • 【ICE】飞冰项目中根据不同域名设置不同的网站logo
  • Python Django系列—入门实例(二)
  • 全面解析 Node-RED:功能、Docker 部署与实战示例
  • 伪404兼容huawei生效显示404
  • windows server 2016 安装 sqlserver2016数据库
  • GCC编译器(含预处理/编译/汇编/链接四阶段详解)
  • Visual Studio 安装全攻略
  • flutter Column嵌套ListView高度自适应问题
  • MySQL的InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
  • 如何用HBase轻松管理海量数据?
  • 蓝桥杯备赛-迷宫-BFS
  • leetcode_二叉树 543.二叉树的直径
  • GreatSQL修改配置文件参数无法生效
  • jvm调试和查看工具
  • 与go比肩的FastAPI,如何快速入门
  • Java 大视界 -- 深入剖析 Java 大数据实时 ETL 中的数据质量保障策略(97)
  • go实现敏感词过滤
  • 我与Linux的爱恋:了解信号量+共享内存+消息队列的应用
  • 【quicker】调节PPT指定字号字体大小/快速调节WPS的PPT字体大小
  • 专用奶泡棒芯片SOC,WD8001