在计算机视觉、相机标定和三维重建等领域,内参矩阵和外参矩阵是描述相机如何将三维世界映射到二维图像的重要工具。它们分别描述了相机的 内部特性 和 外部位置,是相机标定的核心组成部分。
内参矩阵描述了相机内部的几何特性,主要涉及焦距、光心和像素的比例等参数。它通常是一个 3x3 的矩阵,用来将相机的 归一化坐标系 转换为 像素坐标系。
内参矩阵 ( K ) 通常表示为:
K = [ f x 0 c x 0 f y c y 0 0 1 ] K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} K= fx000fy0cxcy1
其中:
内参矩阵用于描述相机如何将三维世界的点投影到图像平面上。在计算机视觉应用中,通常使用内参矩阵将 相机坐标系 下的三维点(3D)转换为 图像坐标系 下的二维点(2D)。通过内参矩阵,三维点 ((X, Y, Z)) 可以通过以下投影方程转换为二维图像坐标 ((x, y)):
[ x y 1 ] = K ⋅ [ X Y Z ] \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = K \cdot \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} xy1 =K⋅ XYZ
外参矩阵描述了相机的 位置 和 朝向,即相机坐标系与世界坐标系之间的转换关系。外参矩阵通常由两个部分组成:
外参矩阵通常表示为一个 3x4 的矩阵 ( [R | T] ),其中:
外参矩阵 ( [R | T] ) 可以表示为:
[ R ∣ T ] \begin{bmatrix} R | T \end{bmatrix} [R∣T]
其中:
外参矩阵将世界坐标系中的三维点映射到相机坐标系中。给定世界坐标系中的点 ( (X_w, Y_w, Z_w) ),它可以通过外参矩阵变换到相机坐标系中的点 ( (X_c, Y_c, Z_c) ):
[ X c Y c Z c ] = R ⋅ [ X w Y w Z w ] + T \begin{bmatrix} X_c \\ Y_c \\ Z_c \end{bmatrix} = R \cdot \begin{bmatrix} X_w \\ Y_w \\ Z_w \end{bmatrix} + T XcYcZc =R⋅ XwYwZw +T
在这个过程中,旋转矩阵 ( R ) 负责点的旋转变换,平移向量 ( T ) 负责点的平移变换。
在实际应用中,通常需要将内参矩阵和外参矩阵结合起来,形成一个完整的 相机投影模型。这个投影模型将三维世界坐标系的点映射到图像坐标系。综合了内外参后,点的转换公式如下:
[ x y 1 ] = K ⋅ [ R ∣ T ] ⋅ [ X w Y w Z w 1 ] \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = K \cdot [R | T] \cdot \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix} xy1 =K⋅[R∣T]⋅ XwYwZw1
这里:
相机标定的过程中,通过已知的物理模型和图像中的特征点,可以估计相机的内外参数。常用的标定方法包括 张正友标定法(Zhang’s Calibration Method),它使用棋盘格图像来估计相机的内外参。
在标定过程中,我们通过一组已知的世界坐标和图像坐标对来估计内参矩阵(如焦距、光心位置)和外参矩阵(如旋转和平移)。这些参数对于进行图像畸变校正、三维重建、增强现实等任务至关重要。
这两个矩阵共同构成了相机的投影模型,允许我们将三维世界中的点映射到二维图像中。理解和计算这两个矩阵对于各种计算机视觉任务(如图像拼接、三维重建和目标定位)是非常重要的。