【CV】相机矩阵(Camera Matrix)详解

0. 相机矩阵 Camera Matrix

1. 相机矩阵的分解

齐次坐标下,物体的物理坐标是 [ x , y , z , 1 ] 的形式,图像上对应点的坐标是 [ u , v , 1 ] 的形式,所以 相机矩阵 P 作为把物体映射成像的矩阵,应该是一个 3 × 4 的矩阵。

因此,摄像机矩阵可以表示为如下形式:

P = [ M | M C ]

其中,

  • | 代表的是增广矩阵
  • M 代表的是可逆的 3 × 3 的矩阵
  • C 是列向量,代表世界坐标系相机的位置
    • 要想求得 C , 只需要 P 的前三列组成的 M , 求出来 M 1 再乘以最后一列,就得到了 C

矩阵的确可以把 3D的点投影到 2D 空间,但是,这种形式下表达的信息是很粗糙的,比如

  • 没有提供相机的摆放姿态
  • 没有相机内部的几何特征

为了挖掘这些信息,对矩阵进一步分解为一个内参矩阵和外参矩阵的乘积:

P = K [ R | R C ] = K [ R | T ]

其中

  • 矩阵R是rotation矩阵,因此是正交的;K是上三角矩阵. 对P的前三列进行RQ分解就可得到KR
  • T = R C , 是摄像机坐标系世界坐标系原点的位置, t x , t y , t z 分别代表世界坐标原点在相机的 左右,上下,前后 位置关系。在三维重建中,一组标定好了的图片序列,它们各自的相机矩阵中的 T 应该是相同的。
  • 其中 K 就是内参, R , T 为外参

2. 相机外参

相机的外参矩阵描述的是世界坐标中相机的位置,及其指向方向。有两个成分:旋转矩阵R和平移向量t。但是它们并非恰好对应相机的旋转和平移矩阵。

[ R | t ] = [ r 1 , 1 r 1 , 2 r 1 , 3 t 1 r 2 , 1 r 2 , 2 r 2 , 3 t 2 r 3 , 1 r 3 , 2 r 3 , 3 t 3 ]

常见的做法是在底部增加一行 ( 0 , 0 , 0 , 1 ) ,这使得矩阵为方形的,允许我们进一步将矩阵分解为真正的旋转和平移矩阵

(35) [ R t 0 1 ] = [ I t 0 1 ] × [ R 0 0 1 ] (36) = [ 1 0 0 t 1 0 1 0 t 2 0 0 1 t 3 0 0 0 1 ] × [ r 1 , 1 r 1 , 2 r 1 , 3 0 r 2 , 1 r 2 , 2 r 2 , 3 0 r 3 , 1 r 3 , 2 r 3 , 3 0 0 0 0 1 ]

这个矩阵描述的就是如何将世界坐标系中的点变换都相机坐标系中,向量t描述的是世界坐标系原点在相机坐标系中的位置,R的列代表的是相机坐标系中世界坐标系轴的方向。
从上可以发现,外参主要作用就是描述世界坐标系到相机坐标系的转换。与我们经常想的相机坐标系到世界坐标系的转换刚好相反。

Ref

猜你喜欢

转载自blog.csdn.net/baishuo8/article/details/81005993
今日推荐