了解solvePnP算法

问题描述 投票:1回答:1

我无法理解Perspective-n-Point问题。几个问题:

  1. 什么是s?为什么我们需要图像点的比例因子?
  2. K[R|T]是“坐标矩阵的变化”,它将p_w(同质世界点)移动到2D图像平面的坐标空间中吗?
  3. 据我所知,[R|T]代表相机相对于相应的世界点p_w的“旋转和平移”,这就是我们想要解决的问题。这有什么特别困难的?我们不能只说[R|T] =inv(K)s(p_c)inv(p_w)?我只是用一些基本的矩阵代数做了这个。
  4. 我不明白为什么PnP有多种解决方案......这些多种解决方案究竟是什么?

谢谢你的帮助!

opencv graphics computer-vision linear-algebra opencv-solvepnp
1个回答
2
投票
  1. 需要比例因子来确定从较远距离观察的小距离或大物体是否有很少的物体

在典型的相机针孔方程中

enter image description here

s表示摄像机坐标系中点的Z坐标

  1. 右边,K[R|t]是投影矩阵,它将某些物体/世界/全球坐标系中的3d坐标映射到图像2d坐标,如上面的等式所示。
  2. 这并不容易,因为你经常不知道相机坐标系中的点坐标,但是知道图像坐标系中的2d坐标。相机坐标系和图像坐标系之间的转换失去了一个维度,并且还存在比例因子,这使得我们的方程不完全是线性的。这就是计算起来不那么容易的原因。
  3. 不同的算法使用不同的方法来添加解决方案所需的其他信息例如,DLT(直接线性变换)方法使用投影矩阵的特征。除了分析解决方案之外,还有许多使用非线性优化的方法 - 例如在openCV中使用的Levenberg-Marquardt。
© www.soinside.com 2019 - 2024. All rights reserved.