单目视觉相机标定方法研究
Research on the Method of Monocular Camera Calibration
DOI: 10.12677/JISP.2023.121004, PDF, HTML, XML, 下载: 224  浏览: 855 
作者: 侯阳阳, 曾 裕:西南民族大学电子信息工程国家民委重点实验室,四川 成都
关键词: 相机标定图像畸变重投影误差Camera Calibration Image Distortion Reprojection Error
摘要: 由于相机透镜和装配过程中造成的误差,导致最终相机标定结果存在一定误差,为了降低误差提升标定精度,基于平面棋盘格标定法基础上最小化重投影误差对解算得到的标定参数进行非线性迭代求全局最优解。在分析相机的理论成像模型后以及对引入畸变参数后的非线性相机成像模型进行研究后求解得到相机变换矩阵和相机内参数,最后对标定结果进行优化。实验结果表明,该方法标定误差均值为0.1402,标准差为0.0207,相较于传统标定方法具有更高的精度和更好的稳定性,具有一定的工程实践意义。
Abstract: In order to reduce the error and improve the calibration accuracy, the calibration parameters obtained by the solution are nonlinear iteratively based on the plane checkerboard calibration method to minimize the reprojection error and find the global optimal solution. After analyzing the theoretical imaging model of the camera and studying the nonlinear camera imaging model after introducing distortion parameters, the camera transformation matrix and the parameters in the camera are solved, and finally the calibration results are optimized. The experimental results show that the mean calibration error of this method is 0.1402 and the standard deviation is 0.0207, which has higher accuracy and better stability than the traditional calibration method and has certain engineering practical significance.
文章引用:侯阳阳, 曾裕. 单目视觉相机标定方法研究[J]. 图像与信号处理, 2023, 12(1): 32-39. https://doi.org/10.12677/JISP.2023.121004

1. 引言

随着计算机视觉的发展,如何从相机拍摄的二维图像信息获取三维空间物体的信息是进行后续工作的前提。通维平面之间的转换关系即相机内外参数,相机标定也就是求解相机内外参数的过程,其标定结果的精度和算法的稳过相机标定构建成像几何模型可以获取三维立体空间和二定的稳定性和精度就显得尤为重要。目前针对常规的相机标定方法应用已较为广泛,但随着成像系统的应用场景逐渐复杂,常规的标定方法效果逐渐不足。Meng等 [1] 提出一种新的基于圆形点校准相机的方法,它不需要知道模型平面上图像点的对应关系由此简化了校准过程。Bu等 [2] 以同心圆网格为标定模式提出一种控制点检测方法,根据同心圆和局部亚像素边缘检测算法对亚像素坐标进行了估计。Shi等 [3] 提出一种完整的相机校准方法,从多个非共面线的单个图像中估计相机参数。林旭东 [4] 提出基于透视畸变矫正的高精度标定方法,利用椭圆阵列求取的圆心投影进行相机精标定。

本文在张氏标定法的基础上,对非线性相机成像模型进行研究后最小化相机的重投影误差,得到优化后的相机内外参数并求解径向和切向畸变对标定图像进行畸变校正。最后通过实验验证该方法求解的准确性。

2. 相机标定模型与方法

2.1. 相机模型

我们拍摄的物体都是处于三维世界坐标系中,而相机拍摄时镜头看到的是三维相机坐标系,成像时三维相机坐标系向二维图像坐标系转换。相机标定的过程要经过几个坐标系之间的转换,从世界坐标系 ( X w , Y w , Z w ) 、相机坐标系 ( X c , Y c , Z c ) 、图像坐标系 ( X , Y ) 、像素坐标系 ( U , V ) 。理想情况下相机成像就是一个针孔模型,由三维空间中一点P经过相机光心投射。图1展示的就是在空间坐标系中的一点P先转换为相机坐标系下P1点,然后转换成图像坐标下的P2 [5] [6]。

Figure 1. Camera coordinate system conversion diagram

图1. 相机坐标系转换图

在理想情况下,可以得到从3D坐标点在相机坐标系下的坐标转换成2D图像坐标之间的关系式。

X c x = Z c f = Y c y (1)

x = f X c Z c , y = f Y c Z c (2)

Z c [ x y 1 ] = [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ X c Y c Z c 1 ] (3)

根据相似三角形定理由式(1)可推导得到式(2)其中f是相机焦距,将其整理为矩阵等式得到从相机坐标系到图像坐标系之间转换关系。

理想状态下图像坐标系和相机坐标系原点重合,但实际成像过程中图像坐标系往往在图像左上角,两坐标系原点位置不一致,涉及到伸缩变换及平移变换如图2所示。

Figure 2. Pixel coordinate system conversion diagram

图2. 像素坐标系转换图

{ u = x d x + u 0 v = y d y + v 0 (4)

[ u v 1 ] = [ 1 d y 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] (5)

式(4)为在考虑原点偏移后图像坐标和像素坐标的关系,dx和dy为x,y方向上的一个像素的物理尺寸,u和v (像素为单位)是图像原点相对于光心成像点的纵横偏移量。将其整理为矩阵方程形式如式(5)所示。

从世界坐标系到相机坐标系属于刚体变换,丛数学角度来说刚体运动的坐标变换可以分解为旋转和平移连个运动,他与相机内部参数没有关系,只与相机在世界坐标系下的位置与角度有关故又称为相机外参。

[ X c Y c Z c ] = R [ X w Y w Z w ] + T (6)

[ X c Y c Z c 1 ] = [ R T 0 1 ] [ X w Y w Z w 1 ] (7)

式(6)描述的就是刚体运动,其中,R为旋转矩阵,是一个3 × 3的正交矩阵,T是一个3 × 1的平移向量,整理得到式(7)。

综上所述,我们可以看出四个坐标系之间存在下述关系:

Z c [ u v 1 ] = [ f x 0 u 0 0 0 f y v 0 0 0 0 1 0 ] [ R 3 × 3 T 3 × 1 0 1 ] [ X w Y w Z w 1 ] (8)

2.2. 畸变模型

由于不同镜头成像时的转换矩阵不同,同时可能引入失真,张氏标定法 [7] 指出理论情况下的相机标定模型是线性的,实际情况下由于透镜,像平面和主光轴在空间位置上存在着偏差,像主点、透镜中心点和物体并不在一条直线上,因此现实中相机成像过程中一般会产生畸变 [6]。畸变一般可分为径向畸变和切向畸变,径向畸变与透镜形状有关,一般可分为枕型畸变和桶形畸变,常见于鱼眼相机。切向畸变与整个摄像机的组装过程有关,主要是由透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的,一般可分为薄透镜畸变和离心畸变。畸变会导致拍摄出的照片和真实的状态之间存在定误差。因为相机拍摄的图片存在一定的畸变,畸变会导致拍摄出的照片和真实的状态之间存在定误差,所以首先要对相机拍摄的照片进行相机标定矫正这种畸变 [8] [9]。

( u , v ) 为理想无畸变的像素坐标, ( u , v ) 式实际观测到的像素坐标。 ( x , y ) ( x , y ) 为实时有畸变和理想无畸变的图像坐标,将式(9)代入可构建畸变模型式(10)。

{ u = u 0 + α x + γ y v = v 0 + β y (9)

{ u = u + ( u u 0 ) [ k 1 ( x 2 + y 2 ) + k 2 ( x 2 + y 2 ) 2 ] + p 1 ( 3 x 2 + y 2 ) + 2 p 2 x y v = v + ( v v 0 ) [ k 1 ( x 2 + y 2 ) + k 2 ( x 2 + y 2 ) 2 ] + p 2 ( x 2 + 3 y 2 ) + 2 p 1 x y (10)

其中包括相机的径向畸变系数k1,k2,和相机的切向畸变系数p1,p2

2.3. 非线性优化

获取近似估算得到的相机内外参系数以及畸变系数,通过最小化重投影误差,对参数进行非线性优化。重投影误差是计算的像素坐标理论值与实际坐标之间的差值,构建极大似然估计方程如式(11)所示。

min i = 1 n j = 1 m m i j m ˜ ( R i , t i , k , p , M i j ) 2 (11)

其中n为采集图片数,m为棋盘格角点数;mij是实际坐标值,Mij表示三维坐标,Ri是旋转向量,ti是平移向量。代入初值不断迭代求解,当此式取到最小值时得到相机外参的全局最优解 [9] [10] [11]。

e r r = 1 m n min i = 1 n j = 1 m m i j m ˜ ( R i , t i , k , p , M j ) 2 1 / 2 (12)

式(11)为重投影误差的最小值,将其和整个像素平面比较,计算得到单位像素下的重投影误差式(12)并以此式作为标定参数最终结果。

3. 实验结果与分析

为了验证本文方法的准确性进行了相机标定实验,实验使用了13 cm × 14 cm的黑白棋盘格以及大华工业相机A3B系列600 w像素加25 mm变焦镜头如图3所示。

(a) 标定板 (b) 工业相机

Figure 3. Calibration plate and camera

图3. 标定板与相机

实验过程中将棋盘格固定在一个平面上,移动相机获取不同角度下标定板的图片,为了尽可能避免因操作过程引入的误差对最终结果的影响,从20张照片中随机抽取10组数据进行了相机标定。标定过程中对棋盘格的角点进行提取如图4所示。

Figure 4. Calibration plate corner plot

图4. 标定板角点图

由于相机内参数通常是与相机自身特性相关的参数,比如相机的焦距、像素大小等决定一般是一个定值。最终解算得到的相机内参数和畸变系数如表1所示。

Table 1. Camera internal references and distortion coefficients

表1. 相机内参和畸变系数

由于在相机不同姿态角下的标定板外参各不相同,本次从14组数据中取得四组外参数据

T 1 = [ 0.9921 0.5231 0.1136 147.5905 0.0548 0.6351 0.7705 71.3822 0.1125 0.7707 0.6272 710.6725 0 0 0 1 ]

T 2 = [ 0.9927 0.0566 0.1068 128.7775 0.0054 0.8621 0.5066 134.2187 0.1208 0.5035 0.8555 630.8953 0 0 0 1 ]

T 3 = [ 0.9857 0.1661 0.0301 103.9663 0.1585 0.8497 0.5029 146.9009 0.0580 0.5005 0.8638 645.7499 0 0 0 1 ]

T 4 = [ 0.9015 0.0030 0.4328 53.3639 0.2251 0.5874 0.7774 130.5077 0.3497 0.5443 0.5853 648.7138 0 0 0 1 ]

将拍摄到的14张不同角度的标定板图像分别使用本文方法和传统标定方法进行相机标定,得到的单幅图像的像素误差对比如图5所示,同时将得的实验数据具体数值如表2所示。

Figure 5. Calibration error comparison chart

图5. 标定误差对比图

Table 2. Coordinate error result analysis

表2. 坐标误差结果

图5可以看出使用本文方法得到的标定结果的像素误差值远小于使用传统方法标定的像素误差。且从表2中可以看出本文方法最终标定得到像素误差平均值为0.1402,误差范围在0.11927~0.17934之间,标准误差为0.0207,传统方法标定得到的均值为0.5738,误差范围为0.42875~0.69197,标准差为0.08。本文方法较传统方法在平均精度提升了43%,稳定性提升了66%。故而通过本方法对相机进行标定后得到的标定结果具有较高的精度与稳定性。

Figure 6. Reprojection error map

图6. 重投影误差图

图6为根据公式(12)计算得到的最终标定的重投影误差。通过解算得到的相机内外参数和畸变系数计算得到的像素点坐标的理论值和像素点实际坐标点之间差值就是重投影差值,重投影误差值越小说明计算得到的理论值越接近实际观测值,计算值越准确。从图中我们可以看出大部分像素点集中分布在在坐标原点处,仅有少部分点偏移量较大。所以本次标定数据大部分的值都十分接近真实坐标值。标定的结果具有较高的精度与稳定性。由于标定过程中的操作不当导致的一些误差,通过实验过程中发现在标定过程中时标定板与成像平面之间的夹角不能太小,如果夹角较小时,会导致较大误差。并且标定图片中尽量包括各种相机姿态下拍摄的标定板图片,一般来说十几张图像的标定效果最优。

4. 结论

本文根据相机针孔成像模型,构建坐标转换关系式,进而解算得到相机标定参数再通过LM对参数进行优化。通过最终的实验结果也表明在存在一定的操作误差的情况下,有效的避免了因相机畸变造成实际值与理论值出入过大,相比于传统标定方法,本方法在精度和稳定性上都有较好的提升。但是单相机视野范围有限,三维坐标信息残缺对最终标定精度存在一定影响,后续针对这个问题还会进行相关工作研究。

参考文献

[1] Meng, X. and Hu, Z. (2003) A New Easy Camera Calibration Technique Based on Circular Points. Pattern Recognition, 36, 1155-1164.
https://doi.org/10.1016/S0031-3203(02)00225-X
[2] Bu, L., Huo, H., Liu, X., et al. (2021) Concentric Circle Grids for Camera Calibration with Considering Lens Distortion. Optics and Lasers in Engineering, 140, 106527.
https://doi.org/10.1016/j.optlaseng.2020.106527
[3] Shi, Z.C., Shang, Y., Zhang, X.F., et al. (2021) DLT-Lines Based Camera Calibration with Lens Radial and Tangential Distortion. Experimental Mechanics, 61, 1237-1247.
https://doi.org/10.1007/s11340-021-00726-5
[4] 林旭东, 张旭. 基于透视畸变矫正的高精度相机标定方法[J]. 激光与光电子学进展, 2022: 1-15.
[5] 孙聪, 杨正磊, 贾萌娜, 于起峰. 基于圆锥曲线和直线融合特征的长焦相机标定方法[J]. 光学学报, 2022, 42(12): 185-197.
[6] 刘艳, 李腾飞. 对张正友相机标定法的改进研究[J]. 光学技术, 2014, 40(6): 565-570.
[7] Zhang, Z. (2000) A Flexible New Technique for Camera Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22, 1330-1334.
https://doi.org/10.1109/34.888718
[8] 赵敏, 李晓港, 苏泽鹏, 朱凌建. 基于定向分层靶标的相机参数标定[J]. 光学学报, 2022, 42(16): 144-152.
[9] 吴军, 张美妙, 刘少禹, 祝玉恒, 袁少博. 基于旋转标定板的多相机系统标定方法[J]. 激光与光电子学进展, 2022, 59(17): 180-189.
[10] 翟溢章, 宿洁华, 张士恒, 吴恩启. 相机标定的精度影响实验分析[J]. 电子设计工程, 2022, 30(7): 82-86.
[11] 施佳豪, 王庆, 冯悠扬. 基于三维标定板的相机标定方法[J]. 传感器与微系统, 2021, 40(6): 48-51.