You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于两个相机位姿计算单应性及相机矩阵参数求解问询

从相机位姿计算单应性:你的三个疑问解答

我来一步步帮你拆解这几个问题,结合Hartley & Zisserman(HZ)第13.2节的内容来解释:


1. 关于nᵀ/d的含义:它不是平面到相机中心的归一化向量

首先回顾HZ里的单应推导:单应H是将平面上的点从相机1投影到相机2的变换,公式基于平面的齐次表示π = [nᵀ, d]ᵀ——其中n是平面在世界坐标系下的单位法向量,d是平面到世界坐标系原点的距离。

公式里的nᵀ/d是平面齐次表示的一部分,它和相机中心的关系是:平面到相机中心C₁(世界坐标系下)的距离是nᵀC₁ + d,但nᵀ/d本身并不是直接指向相机中心的归一化向量。它的作用是在单应公式里引入平面的姿态信息,和相机的位姿结合完成投影变换。


2. 如何从投影矩阵P₁/P₂获取相机中心

相机中心C是世界坐标系下满足PC = 0的点(因为相机中心在自身投影下是无穷远点,投影结果为0向量)。

已知投影矩阵P = K[R | t](3×4矩阵,K是内参,R是旋转矩阵,t是平移向量),推导相机中心的步骤:

  • 相机中心的齐次坐标为[C; 1],代入P[C;1] = 0,得到K(RC + t) = 0
  • 因为内参矩阵K可逆,所以RC + t = 0
  • 旋转矩阵R是正交矩阵,R⁻¹ = Rᵀ,因此解得:
    C = -Rᵀt
    
    这就是相机中心在世界坐标系下的非齐次坐标。

如果直接从P提取(不需要先拆分R和t),可以用以下方法:

  • P的右零空间就是相机中心的齐次坐标,即求解Px=0的非零解,归一化后得到[C;1]。

3. 从投影矩阵P₁/P₂中提取R和t

已知P = K[R | t],其中K是已知的内参矩阵(你的问题中明确给出P₁=K₁[R₁|t₁]、P₂=K₂[R₂|t₂],所以K₁、K₂应该是预先标定好的),提取步骤如下:

  1. 计算内参矩阵的逆:K⁻¹
  2. 左乘P得到K⁻¹P = [R | t](3×4矩阵)
  3. 从K⁻¹P中提取前3列,这就是旋转矩阵R(注意R是正交矩阵,满足RᵀR=I,可以验证这一点来确保正确性)
  4. 第4列就是平移向量t

需要注意:如果K未知,无法直接从P中唯一确定R和t(存在尺度和旋转的歧义),但你的问题中已经给出P的结构包含K,所以只要K已知,就能准确提取。


内容的提问来源于stack exchange,提问作者nickponline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:22:42