相机标定基本原理及双目相机内参解析
相机标定是计算机视觉中的一个重要步骤,旨在确定相机的内部和外部参数,以便在图像处理中进行准确的三维重建、物体识别等任务。本文将重点讲解双目相机的内参和外参原理,并结合实际参数进行分析。
一、相机标定的基本原理
相机标定主要通过捕捉已知尺寸的标定物体(如棋盘格)进行。通过比较图像中标定物体的特征点与实际坐标之间的关系,可以计算出相机的内参和外参。相机的内参描述相机成像特性,包括焦距、主点位置和畸变系数,而外参描述相机在世界坐标系中的位置和姿态。
1. 内部参数
相机内部参数通常表示为一个 3 × 3
的内参矩阵 K
,其形式如下:
K = ( f x 0 c x 0 f y c y 0 0 1 ) K = \begin{pmatrix} fx & 0 & cx \\ 0 & fy & cy \\ 0 & 0 & 1 \end{pmatrix} K= fx000fy0cxcy1
-
焦距 (
fx
和fy
):相机的焦距是影响成像缩放的关键参数。fx
和fy
分别代表在水平方向和垂直方向的焦距,通常情况下二者相近,但在某些情况下(如相机具有不同的光学特性)可能会有所不同。 -
主点 (
cx
和cy
):主点是图像的几何中心,通常位于传感器的中心位置,表示了图像坐标系的原点。在许多相机中,由于制造误差或安装不当,主点可能并不完全位于图像的几何中心。
2. 外部参数
外部参数描述相机在三维世界坐标系中的位置和方向,通常通过一个 4 × 4
的变换矩阵表示,包含旋转矩阵和平移向量:
T = ( R t 0 1 ) T = \begin{pmatrix} R & t \\ 0 & 1 \end{pmatrix} T=(R0t1)
- 旋转矩阵
R
:描述相机的旋转状态,可以表示为一个3 × 3
的矩阵。 - 平移向量
t
:描述相机在世界坐标系中的位置,通常表示为一个3 × 1
的向量。
通过这些外部参数,我们可以将三维世界坐标点转换为相机坐标系,从而实现三维重建。
3. 畸变参数
相机镜头的畸变会影响图像的真实度,通常分为径向畸变和切向畸变。畸变参数通常表示为一个向量 D
:
D = ( K 1 K 2 K 3 P 1 P 2 ) D = \begin{pmatrix} K1 \\ K2 \\ K3 \\ P1 \\ P2 \end{pmatrix} D= K1K2K3P1P2
-
径向畸变:由镜头的形状引起,通常用
K1
、K2
和K3
表示。这种畸变会导致图像中心附近的点更为准确,而离中心越远的点畸变程度越大。K1
、K2
通常用于描述轻微的桶形畸变(K1
和K2
的符号)或枕形畸变(K1
为正,K2
为负)。
-
切向畸变:由相机安装不正引起,通常用
P1
和P2
表示。这种畸变会导致图像中的点偏离其应有的位置,尤其在图像边缘更加明显。
二、双目相机的内参
双目相机系统由两台相机组成,通过获取两幅图像来实现三维信息的获取。在标定双目相机时,我们需要分别获取左右相机的内参。下面我们将通过实例分析相机内参和畸变参数。
1. 左右相机内部参数
对于一组双目相机的内部参数,左相机和右相机的内参矩阵 K_L
和 K_R
分别为:
左相机内参矩阵 K_L
:
K L = ( 1319.17 0 661.12 0 1318.48 527.71 0 0 1 ) K_L = \begin{pmatrix} 1319.17 & 0 & 661.12 \\ 0 & 1318.48 & 527.71 \\ 0 & 0 & 1 \end{pmatrix} KL= 1319.170001318.480661.12527.711
右相机内参矩阵 K_R
:
K R = ( 1323.32 0 667.98 0 1322.63 460.53 0 0 1 ) K_R = \begin{pmatrix} 1323.32 & 0 & 667.98 \\ 0 & 1322.63 & 460.53 \\ 0 & 0 & 1 \end{pmatrix} KR= 1323.320001322.630667.98460.531
2. 畸变系数分析
左相机的畸变系数和右相机的畸变系数分别为:
左相机畸变系数 D_L
:
D L = ( − 0.069003 0.111153 − 0.052112 0.000348 − 0.000480 ) D_L = \begin{pmatrix} -0.069003 \\ 0.111153 \\ -0.052112 \\ 0.000348 \\ -0.000480 \end{pmatrix} DL= −0.0690030.111153−0.0521120.000348−0.000480
右相机畸变系数 D_R
:
D R = ( − 0.068844 0.091295 0.013761 0.000065 − 0.000798 ) D_R = \begin{pmatrix} -0.068844 \\ 0.091295 \\ 0.013761 \\ 0.000065 \\ -0.000798 \end{pmatrix} DR= −0.0688440.0912950.0137610.000065−0.000798
从畸变系数可以看出,左相机和右相机都表现出轻微的桶形畸变(K1
和K2
为负值),这在实际应用中需要进行畸变校正,以提高图像的准确性。
三、标定过程及应用
1. 标定过程
在进行相机标定时,一般会执行以下步骤:
- 准备标定板:准备一个已知尺寸的标定板(如棋盘格)。
- 采集图像:将标定板放置在多个不同位置和角度,使用相机采集多幅图像。
- 特征提取:从每幅图像中提取出标定点的位置。
- 参数计算:使用提取到的特征点与已知的真实位置计算相机的内参和外参。
2. 应用实例
通过准确的相机标定,双目相机可以实现更高精度的深度图像生成。典型应用包括:
- 3D重建:将双目相机捕获的图像结合,生成高质量的三维模型。
- 物体识别:在三维空间中更准确地定位和识别物体。
- 机器人视觉:为机器人提供环境的深度信息,从而帮助其进行导航和路径规划。
四、总结
相机标定是获取准确三维信息的基础,尤其在双目相机系统中,精确的内参和畸变参数对于立体视觉应用至关重要。通过对相机内参和畸变参数的分析,我们可以更好地理解相机成像的特性,并为后续的图像处理和三维重建提供准确的基础。
希望这篇博客能够帮助你深入理解相机标定的基本原理及双目相机的内部参数。欢迎提出问题或分享你的看法!