相机参数矫正理解

参考文档

pinhole camera
根据三角相似原理,可以将image plane替换成virtual image plane,然后就得到下图:
三维转换模型

将3D点 P = ( X , Y , Z ) T 投影到2D点 p = ( x , y ) T , f 为焦距

  • 如果是最简单的正交投影:
    X Z = x f , Y Z = y f x = f X Z , y = f Y Z
  • 但是摄像头感知的像素点可能不是正方形的,所以,在 x , y 方向可能有不同的尺度缩放因子: k , l
    x = k f X Z , y = l f Y Z 可重写为: x = f x X Z , y = f y Y Z
  • 相机中心(上图中的点c)可能不在坐标系原点,所以可以定义相机中心的坐标为 ( c x , c y )

    x = f x X Z + c x , y = f y Y Z + c y 那么,内参矩阵 : K = [ f x 0 c x 0 f y c y 0 0 1 ]


  • 上面推理成立的条件是相机帧(Camera frame)和世界帧(World frame)是对齐的,也就是相机帧和世界帧是平行的,而且相机帧所在的位置为联合坐标系中 z = 0 .可以利用旋转矩阵 W C R 和偏移矩阵 W C T 进行转化,C表示camera frame, W 表示 world frame:

    C X = W C R W X + W C T

    C X : Coordinates of 3D scene point in camera frame.
    W X : Coordinates of 3D scene point in world frame.
    W C R : Rotation matrix of world frame in camera frame
    W C T : Position of world frame’s origin in camera frame
    偏移矩阵: T = [ T X T Y T Z ] ,旋转矩阵: R = [ r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 ]
    旋转矩阵是正交的:
    R T R = I

    因此, R 1 = R T .假如: R = [ R 1 T R 2 T R 3 T ] , 那么:
    R i T R j = { 1 if  i == j 0 otherwise

联合内参和外参

x = K C X = K ( W C R W X + W C T )