什么是摄影变换矩阵与单应矩阵的区别是什么

什么是摄影变换矩阵?

摄影变换矩阵(Projection Matrix)是一个 3×43\times43×4 的矩阵,记作 PPP,它完成这个过程:

3D世界坐标(X,Y,Z,1)T⟶2D图像坐标(x,y) \text{3D世界坐标} \quad (X, Y, Z, 1)^T \quad \longrightarrow \quad \text{2D图像坐标} \quad (x, y) 3D世界坐标(X,Y,Z,1)T2D图像坐标(x,y)

数学公式是:

[xy1]∼P×[XYZ1] \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \sim P \times \begin{bmatrix} X \\ Y \\ Z \\ 1 \end{bmatrix} xy1P×XYZ1

这里的 ∼\sim 表示“成比例”(因为计算机视觉常用的是齐次坐标,后面有解释)。


分开来看,PPP 是什么构成的?

其实摄影变换矩阵 PPP = 内参矩阵 KKK × 外参矩阵 [R  ∣  t][R\;|\;t][Rt]

简单记:

P=K[R  ∣  t] P = K [R \;|\; t] P=K[Rt]

🔵 KKK:相机内参矩阵(Intrinsic Matrix)

  • 描述相机内部成像特性,比如焦距、主点(光心),单位换算(像素/毫米)。
  • 形状是 3×33\times33×3

常见形式是:

K=[fx0cx0fycy001] K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} K=fx000fy0cxcy1

  • fx,fyf_x, f_yfx,fy:x、y方向上的焦距(通常乘上像素大小)。
  • (cx,cy)(c_x, c_y)(cx,cy):图像主点位置(通常是图像中心附近)。

🔵 [R∣t][R|t][Rt]:相机外参矩阵(Extrinsic Matrix)

  • 描述相机在世界中的姿态(朝向、位置)
  • RRR3×33\times33×3旋转矩阵,描述相机朝哪个方向看。
  • ttt3×13\times13×1平移向量,描述相机相对于世界坐标的平移。

所以,

[R∣t]=[R3×3t3×1] [R|t] = \begin{bmatrix} R_{3\times3} & t_{3\times1} \end{bmatrix} [Rt]=[R3×3t3×1]

最后乘起来就得到 3×43\times43×4 的摄影变换矩阵 PPP


为什么要用齐次坐标?

因为普通坐标没办法表示“无穷远”的点,比如视线延长出去交于远方,我们需要齐次坐标

  • (x,y)(x, y)(x,y) 写成 (x,y,1)(x, y, 1)(x,y,1)
  • (X,Y,Z)(X, Y, Z)(X,Y,Z) 写成 (X,Y,Z,1)(X, Y, Z, 1)(X,Y,Z,1)

齐次坐标下,可以用一个简单的线性变换(矩阵乘法)来统一处理旋转、缩放、平移、投影这些操作。


小结一句话

摄影变换矩阵,就是内参+外参合体成的大矩阵,专门用来把三维世界的点变换到二维图像上,中间用到了齐次坐标系统。


举个超级具体的例子

比如一个世界坐标点 (2,3,10)(2, 3, 10)(2,3,10),在相机中成像。

假设:

  • 焦距 fx=1000f_x = 1000fx=1000fy=1000f_y = 1000fy=1000
  • 主点 (cx,cy)=(500,400)(c_x, c_y) = (500, 400)(cx,cy)=(500,400)
  • 相机刚好正对着场地(没有旋转平移),即 RRR 是单位矩阵,ttt 是零向量。

那么 KKK 是:

K=[1000050001000400001] K = \begin{bmatrix} 1000 & 0 & 500 \\ 0 & 1000 & 400 \\ 0 & 0 & 1 \end{bmatrix} K=1000000100005004001

外参是:

[R∣t]=[100001000010] [R|t] = \begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0 \end{bmatrix} [Rt]=100010001000

所以 P=K[R∣t]P = K[R|t]P=K[Rt],乘出来是:

P=[1000050000100040000010] P = \begin{bmatrix} 1000 & 0 & 500 & 0\\ 0 & 1000 & 400 & 0\\ 0 & 0 & 1 & 0 \end{bmatrix} P=1000000100005004001000

然后,
[xyw]=P×[23101]=[1000⋅2+0⋅3+500⋅10+00⋅2+1000⋅3+400⋅10+00⋅2+0⋅3+1⋅10+0]=[7000700010] \begin{aligned} \begin{bmatrix} x \\ y \\ w \end{bmatrix} &= P \times \begin{bmatrix} 2 \\ 3 \\ 10 \\ 1 \end{bmatrix} \\ &= \begin{bmatrix} 1000\cdot2 + 0\cdot3 + 500\cdot10 + 0\\ 0\cdot2 + 1000\cdot3 + 400\cdot10 + 0\\ 0\cdot2 + 0\cdot3 + 1\cdot10 + 0 \end{bmatrix} \\ &= \begin{bmatrix} 7000\\ 7000\\ 10 \end{bmatrix} \end{aligned} xyw=P×23101=10002+03+50010+002+10003+40010+002+03+110+0=7000700010

再齐次归一化一下(除以最后一个坐标 w=10w=10w=10):

(x,y)=(700010,700010)=(700,700) (x,y) = \left( \frac{7000}{10}, \frac{7000}{10} \right) = (700, 700) (x,y)=(107000,107000)=(700,700)

所以这个三维点,成像在图像的 (700,700) 位置。


摄影变换矩阵常用在哪?

  • 单目相机定位(PnP):已知三维点,求相机位姿。
  • 三维重建:多张图片之间通过 PPP 矩阵恢复三维结构。
  • 增强现实(AR):把虚拟物体准确地叠加到摄像头画面上。
  • 场地检测:比如检测网球场地四个角点后,估计场地的单应性和摄影矩阵。

大致的流程是神马样子捏?

在这里插入图片描述

单应矩阵(Homography) 和 摄影矩阵(Projection Matrix)的区别


单应矩阵(Homography)

  • 符号:通常记为 HHH

  • 形状3×33 \times 33×3 矩阵。

  • 作用:在同一个平面上,把一个图像中的点,映射到另一个图像中的点。

  • 公式

λ[x′y′1]=H[xy1] \lambda \left[ \begin{array}{c} x' \\ y' \\ 1 \end{array} \right] = H \left[ \begin{array}{c} x \\ y \\ 1 \end{array} \right] λxy1=Hxy1

其中 (x,y)(x, y)(x,y) 是原图像上的点,(x′,y′)(x', y')(x,y) 是变换后的图像点,λ\lambdaλ 是齐次坐标缩放因子。

  • 本质

    • 纯二维到二维的映射。
    • 要求所有点在同一个平面上(如网球场、广告牌、地面等)。
  • 常见应用

    • 图像配准(比如拼接全景图)
    • AR平面叠加
    • 视角变换

摄影矩阵(Projection Matrix)

  • 符号:通常记为 PPP

  • 形状3×43 \times 43×4 矩阵。

  • 作用:将三维世界中的点投影到二维图像平面上。

  • 公式

λ[xy1]=P[XYZ1] \lambda \left[ \begin{array}{c} x \\ y \\ 1 \end{array} \right] = P \left[ \begin{array}{c} X \\ Y \\ Z \\ 1 \end{array} \right] λxy1=PXYZ1

其中 (X,Y,Z)(X, Y, Z)(X,Y,Z) 是三维世界坐标,(x,y)(x, y)(x,y) 是成像平面上的二维点。

  • 本质

    • 三维到二维的透视投影。
    • 无需假设点在同一个平面上。
  • 常见应用

    • 三维重建
    • 相机标定
    • 位姿估计
    • 物体识别与定位

直观差别总结

单应矩阵 HHH摄影矩阵 PPP
形状3×33 \times 33×33×43 \times 43×4
输入2D 点(同一平面)3D 点
输出2D 点2D 点
要求点必须共面无需共面
应用场景平面变换、图像配准、AR平面叠加三维定位、重建、AR三维叠加
是否包含相机内参可选,通常需要必须包含($P = K[R

超形象比喻🎯

  • 单应矩阵 HHH:就像投影仪打在一张纸上,纸换个角度,影像随之变化。
  • 摄影矩阵 PPP:就像用相机拍摄三维物体,把真实世界中的三维点投影成二维图片。

一句话总结

  • 单应矩阵 HHH:二维平面到二维平面的变换。
  • 摄影矩阵 PPP:三维世界到二维图像的投影。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值