APP下载

利用多个小棋盘的大视场相机标定方法

2016-08-10蒯杨柳文贡坚回丙伟邱少华

测绘通报 2016年7期
关键词:角点棋盘标定

蒯杨柳,文贡坚,回丙伟,邱少华

(国防科学技术大学ATR重点实验室,湖南长沙410073)

利用多个小棋盘的大视场相机标定方法

蒯杨柳,文贡坚,回丙伟,邱少华

(国防科学技术大学ATR重点实验室,湖南长沙410073)

为了实现高精度的相机标定,一般要求标定物的尺寸能够布满整个相机视场,而大的标定物不但制作、移动过程复杂,而且灵活性差的同时还会遮挡场景中的有用信息。本文提出了一种基于多个小棋盘的大视场相机标定方法,能兼顾相机标定的精度和灵活性。首先在场景靠近边缘的4个角处各放一个小棋盘(摆放姿态不限),采用待标定的相机从不同角度多次拍摄场景(不少于3次);然后将4个棋盘经过旋转和平移变换移到以左上角棋盘为基准的平面上构成一个大棋盘;最后建立大棋盘上所有角点的重投影误差函数,以左上角小棋盘的多幅图像的标定结果作为初值,迭代优化误差函数得到标定结果的最终解。模拟和真实数据试验结果表明该方法是可行的,且有较高的精度和灵活性。

大场景;相机标定;小棋盘;优化

相机标定是从二维图像获取三维信息的过程中最关键的步骤,在计算机视觉导航、虚拟现实、三维重建等领域有着十分广泛的应用[1-2]。现有的相机标定方法中,基于标定物的相机标定法使用结构已知的标定物,通过建立标定物上坐标已知的点与其图像点之间的对应关系来求解相机的内外参数[3-4];相机自标定法是利用多幅图像上特征点之间的对应关系进行标定,标定过程只利用了相机内参数间的约束,与场景和摄像机的运动方式无关[5]。第一种方法标定精度高但是标定过程始终需要标定物,灵活性差,第二种方法操作方便简单但是精度不高[6]。

在基于标定物的标定方法中,张正友的棋盘标定法[4]以其操作简单方便、标定精度高的特点得到了广泛的应用。但是针对大视场相机的标定,若要得到较高的相机标定精度,需要在场景中放置较大的棋盘,棋盘越大,越能真实反映场景与成像面间的投影关系,但是棋盘过大不仅制作、移动过程比较复杂,同时会遮挡场景中的有用信息。为了解决大棋盘标定存在的问题,本文提出了一种在场景中放置多个小棋盘并将其转换为一个整体的大棋盘,再利用构建的大棋盘对相机进行标定的方法,同时兼顾了相机标定的精度和灵活性。

一、基本原理

1.相机的成像模型

理想的成像模型是小孔模型,描述了三维空间中的一点M=[X Y Z]T与其投影点m=[x y]T之间的关系。设M和m的齐次坐标分别为= [X Y Z 1]T和=[x y 1]T。在齐次坐标下,三维点M和投影点m之间的关系可以表示为

在真实情况下,相机拍摄得到的图像总会存在一定程度的失真,因此引入了非线性模型[9]。真实像点坐标与理想像点坐标的关系满足

式中,(xd,yd)为理想情况下的图像点坐标;(xu,yu)为考虑畸变情况下的图像点坐标;k1、k2为径向畸变系数。因此相机标定算法的主要目的是求解出k1、k2、fu、fv、u0、v06个相机参数。

2.由多个小棋盘构建整体大棋盘的原理

设在相机大视场中摆放有n个小棋盘,将小棋盘从左到右、从上到下依次编号为1,2,…,n,如图1所示。对每一个小棋盘,以棋盘的左上角为坐标原点,以棋盘所在的平面为xoy平面建立右手坐标系,分别记为O-XiYiZi(i=1,2,…,n)。

图1

根据每个棋盘上角点的空间点坐标和对应的像素点坐标(不少于4对)可以求得每个小棋盘平面和相机成像平面的单应性矩阵,进而得到每个小棋盘平面相对于成像平面的旋转和平移向量,记为Ri、Ti(i=1,2,…,n)。以棋盘1所在的平面为基准平面,则棋盘i相对于基准平面的旋转和平移向量Ri1、Ti1(i=2,…,n)可以表示为假设棋盘i(i=2,…,n)上的特征点在O-XiYiZi坐标系的坐标为Mi,则其在O-X1Y1Z1坐标下的坐标Mi1可以表示为

采用上述步骤可以将其他小棋盘上的所有特征点都转换到基准平面上,从而将多个小棋盘构成一个整体的大棋盘。

二、算法步骤

标定时在大场景中摆放n个小棋盘,使用待标定的相机从不同角度拍摄场景得到C幅图像。本文提出的标定算法主要包括两个步骤:首先利用张正友的方法[4]标定基准棋盘得到相机内参数的初值;然后使用n个小棋盘构建的大棋盘标定相机得到最终解。

1.相机内参数初值的获取

设基准棋盘上任一点M经矩阵P投影得到图像点m,已知棋盘上的所有点满足Z=0,令M= [x y 0 1]T,m=[u v 1]T,则有

式中,ri(i=1,2,3)为旋转矩阵R的第i列;H为单应性矩阵。假设H=[h1h2h3],其中hi(i=1,2,3)表示单应性矩阵H的第i列,则R、T可以表示为

当拍摄图片数不少于3时,可以线性求解出向量w,将W进行Cholesky分解得到相机内参数为

2.误差函数的构造与优化求解

假设第m幅图像上第n个小棋盘上第p个角点的空间点坐标为Xmnp,将其转换到大棋盘平面后投影产生的图像点坐标xmnp可以表示为

式中,Rm1、Tm1表示第m幅图像上基准棋盘平面相对于成像平面的旋转矩阵和平移向量;Rnm、Tnm表示第m幅图像上第n个小棋盘相对于基准棋盘的旋转矩阵和平移向量。假设为经过角点检测算法得到的第m幅图像上第n个小棋盘上第p个角点的像素点坐标,建立拍摄得到的多幅图像上所有角点的重投影误差函数为式中,C为拍摄的图片数;N为每幅图片上的小棋盘数目;M为每个小棋盘上的角点个数。优化函数中包含的变量有k1、k2、fu、fv、u0、v06个相机内参数(不变)、拍每张照片时基准棋盘相对于成像平面的旋转平移向量、多个小棋盘相对于基准棋盘的旋转和平移向量(不变),共计6+6×C+6×(N-1)=6C+ 6N个待优化参数。而由式(3)和式(6)可知,当相机内参数向真值方向优化时,所有的旋转和平移向量也越接近真值,因此优化时选择k1、k2、fu、fv、u0、v0作为优化参数,优化方法采用模式搜索法(Hook)[10]。

三、仿真数据试验结果与分析

在仿真试验中主要测试了高斯噪声大小、场景中摆放的棋盘个数、棋盘之间的距离、每个棋盘的大小和每个棋盘上的角点数等5个因素对相机标定结果的影响。试验时相机内参数的设置见表1,相机外参数的设置见表2,其中,[∂β γ]T表示旋转向量;[t1t2t3]T表示平移向量。

表1 仿真试验设定的相机内参数值

表2 3次拍摄设定的相机外参数值

1.高斯噪声大小对标定结果的影响

在场景中放置4个相同的小棋盘,棋盘大小为200 mm×200 mm,角点数为3×3,棋盘间的距离保持在200 mm不变。在生成的图像点坐标中加入均值为0、方差为σ的高斯白噪声,将σ从0.1逐渐增加到1.0像素,每次增加0.1像素,在每一种噪声水平下进行10次试验,将结果的均值作为最终解。fu、fv、u0、v0的相对误差和k1、k2的绝对误差随噪声σ的变化趋势如图2所示。从图中的变化趋势可以看出相机标定结果的误差会随着噪声方差的增加而增加,其中fu、fv、u0、v0在噪声水平达到1.0时标定相对误差在10%以内,而k1、k2对噪声相对较敏感。

图2

2.棋盘个数对标定结果的影响

设置每个棋盘大小为100 mm×100 mm,角点数为3×3,将棋盘的个数从1依次增加到5,每次增加1。在生成的图像点坐标中加入均值为0、方差为0.5的高斯白噪声来模拟真实试验场景。在每种棋盘个数参数下进行10次试验,将结果的平均值作为最终解。计算fu、fv、u0、v0的相对误差和k1、k2的绝对误差随棋盘个数的变化趋势如图3所示。从中可以看出随着棋盘个数的增加,相机参数的标定精度会提高,当棋盘数增加到4以后标定精度基本保持不变。

3.棋盘间的距离对标定结果的影响

在场景中放置4个相同的小棋盘,棋盘大小为100 mm×100 mm,角点数为3×3,将棋盘间的距离d 从100 mm依次增加到600 mm,每次增加100 mm。采用上述中加噪声和多次试验的方法标定得到相机的参数。计算fu、fv、u0、v0的相对误差和k1、k2的绝对误差随棋盘间距离d的变化趋势如图4所示。从中可以看出,随着棋盘间距离d的增加,相机参数的标定精度都会提高,但当棋盘距离增加到500 mm之后,相机参数的标定精度基本保持不变。

图3

图4

4.每个棋盘的大小对标定结果的影响

在场景中放置4个相同的小棋盘,保持4个棋盘转换生成的大棋盘覆盖场景的面积不变,棋盘上的角点数为3×3,将每个棋盘的边长L从100 mm依次增加到700 mm,每次增加100 mm,同样采用上述中加噪声和多次试验的方法标定得到相机的参数。计算fu、fv、u0、v0的相对误差和k1、k2的绝对误差L的变化趋势如图5所示。从中可以看出随着L的增加,相机参数的标定精度会提高,这是因为棋盘越大,标定得到的相机内参数初值越好,优化后的标定结果也越好。

5.每个棋盘上的角点数对标定结果的影响

在场景中放置4个相同的小棋盘,每个棋盘的大小为200 mm×200 mm,棋盘之间的距离保持在200 mm不变,将每个棋盘的角点数从2×2依次增加到7×7,每次在棋盘的每条边上增加1个角点。同样采用上述中加噪声和多次试验的方法标定得到相机的参数。计算fu、fv、u0、v0的相对误差和k1、k2的绝对误差随每条边角点数N的变化趋势如图6所示。从中可以看出,每条边的角点数N由2增加到3时,标定的精度显著提高,而增加到3以后N的变化对棋盘标定结果没有明显的影响。

根据仿真试验结果可知:①大视场中摆放的棋盘个数的理想值是4;②相机标定精度会随着棋盘和棋盘之间距离的增大而增大;③每个棋盘上角点个数(3以上)的增加不会明显影响标定结果的精度。

四、真实数据试验结果与分析

真实试验时设计了3种不同类型的棋盘:一个1 m×1 m的大棋盘、4个50 cm×50 cm的小棋盘和4个30 cm×30 cm的小棋盘,棋盘上的角点数都是8×8。以大棋盘标定的结果作为参考值,通过对比两种类型的小棋盘在优化前后的试验结果和对比优化后的结果与参考值的差别来验证算法的性能。试验采用Canon EOS 650D相机,分辨率为5184×3456像素,依次在场景中摆放3种类型的棋盘,如图7所示。分别使用相机从不同角度拍摄5张图片,拍摄的过程中保持相机的焦距不变。

图6

图7

采用大棋盘和两种小棋盘分别标定相机,得到的标定结果见表3,分析可知:①优化后的标定结果普遍比优化前好,这是由于提出的方法增大了标定物覆盖场景的面积;②50 cm×50 cm小棋盘的标定结果比30 cm×30 cm的小棋盘好,能达到参考值的标定精度,这是由于50 cm能够提供较高精度的初值;③两种不同类型的小棋盘fu、fv、u0、v0的标定精度都很高,而k1、k2的标定精度30 cm×30 cm的小棋盘较差,这说明了k1、k2的标定精度对初值要求高。

表3 不同类型的棋盘标定结果

五、结束语

本文提出了一种基于多个小棋盘的大视场相机标定方法,通过多个小棋盘构建一个整体的大棋盘标定相机,兼顾了相机标定的精度和灵活性。试验结果表明了算法的有效性,不足之处是本文提出的算法中畸变系数的标定对初值的要求高,提高畸变系数的标定精度将是下一步研究的重点。

[1] BROWN D C.Close-range Camera Calibration Photogrammetric Engineering[J].Engineering and Remote Sensing,1971,37(8):855-866.

[2] FAIG W.Calibration of Close Range Photogrammetry System:MathematicalFormulationPhotogrammetric [J].Engineering and Remote Sensing,1975,41(12): 1479-1485.

[3] TSAI R Y.An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.San Francisco:IEEE,1986.

[4] ZHANG Z Y.A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Automation,2000,3(4):323-344.

[5] STURM P.A Case against Kruppa’s Equations for Camera Self Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(10): 1199-1204.

[6] SONG L M,WU W F,GUO J R.Survey on Camera Calibration Technique[C]∥Fifth International Conference on Intelligent Human Machine Systems and Cybernetics.Hangzhou:IEEE,2013.

[7] LIU B X,LI S Z.A New Easy Fast Camera Self-calibration Technique[J].Computer Engineering&Science,2011,33(1):88-93.

[8] LIU P,JIA Y D.Vanishing Points Based Camera Calibration[J].Journal of Image and Graphics,2003,8 (A):134-138.

[9] GARY B,ADRIAN K.学习OpenCV中文版[M].北京:清华大学出版社,2009.

[10] 谢政,李建平,陈挚.非线性最优化理论与方法[M].北京:高等教育出版社,2009.

Large-scale Scene Calibration Method Utilizing Multiple Chessboards

KUAI Yangliu,WEN Gongjian,HUI Bingwei,QIU Shaohua

10.13474/j.cnki.11-2246. 2016.0220.

P23

B

0494-0911(2016)07-0039-05

2015-06-18

蒯杨柳(1990—),女,研究方向为摄影测量。E-mail:kuaiyangliu@126.com

引文格式:蒯杨柳,文贡坚,回丙伟,等.利用多个小棋盘的大视场相机标定方法[J].测绘通报,2016(7):39-43.

猜你喜欢

角点棋盘标定
多支撑区域模式化融合角点检测算法仿真
使用朗仁H6 Pro标定北汽绅宝转向角传感器
角点检测技术综述①
CT系统参数标定及成像—2
CT系统参数标定及成像—2
基于FAST角点检测算法上对Y型与X型角点的检测
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于MATLAB 的CT 系统参数标定及成像研究
棋盘人生
棋盘里的天文数字