APP下载

基于HALCON的双目摄像机标定

2017-10-12于春和祁乐阳

电子设计工程 2017年19期
关键词:双目畸变摄像机

于春和,祁乐阳

(沈阳航空航天大学 电子信息工程学院,辽宁 沈阳110136)

基于HALCON的双目摄像机标定

于春和,祁乐阳

(沈阳航空航天大学 电子信息工程学院,辽宁 沈阳110136)

基于对双目摄像机立体视觉系统进行标定的目的。采用HALCON标定板,通过软件丰富算子平台进行对比实验得到双目摄像机立体视觉系统的内部参数以及外部参数。算法结果准确,简单易行。其程序鲁棒性强,运算效率高,能够高效的运用到双目立体视觉系统中,为基于双目立体视觉的人脸三维重建提供了坚实的基础。

刚性转换;双目标定;机器视觉;HALCON标定板

Abstract:Based on the binocular stereo vision system for the purpose of calibration.The internal and external parameters of stereo vision system of binocular camera are obtained by using HALCON calibration board and comparative experiment by software rich operator platform.The results are accurate and simple.The program is robust and efficient,and can be applied to binocular stereoscopic vision system effectively,which provides a solid foundation for 3D reconstruction of human face based on binocular stereoscopic vision.

Key words:rigidity conversion;binocular calibration;machine vision;HALCON calibration plate

摄像机标定是机器视觉和摄像测量领域相对基础的工作,同时也是最复杂、困难的工作。 摄像机标定的意义是得到立体空间中对象的几何信息,其中所使用的图像信息由双目摄像机所得[1]。定后的双目摄像机得到的图像目标信息是准确的,为最终得到立体空间中对象的几何信息打下坚实基础。图像信息与对象几何信息的对应关系决定了待标定摄像机的内、外参数。简言之,摄像机的标定就是求解被测目标的世界坐标与所得目标图像坐标系同时获得两个待标定摄像机相互对应几何关系的过程[2]。高精度摄像机标定中被广泛应用的算法有Tasi的两步法、Weng等的改良方法、Zhang的棋盘靶标方法等[3]。这些方法都假设像点和三维空间标志点的相互对应关系是已知的,精确计算摄像机内参、外参是这些算法的研究重点。基于Halcon的标定方法降低了操作难度,提高了可行性。

1 摄像机模型

我们需要对双目摄像机进行标定以达到从目标图像中得到精确三维立体坐标的目的。所以必须了解三维立体世界坐标系中的目标物体如何投射到二维图像平面以及相对应的摄像机参数[4]。本文说明的是较为常规的面阵摄像机模型,同时论述了对面阵摄像机的标定。在日常科研中,一般情况下应用针孔摄像机模型,如图1所示。

虽然实际上成像平面在镜头光心的后端,但是在实际应用中我们可以假设成像平面在摄像机镜头光心前端焦距f处[5],如图2所示。由此可以达到简化计算步骤的目的。成像平面坐标系上的对应点P由世界坐标系上的Pw变换所得。首先,通过刚性转换完成从世界坐标系到摄像机坐标系的转换,可以使用三维位姿或相似变换矩阵表示。关系为:

图1 针孔摄像机透视投影模型

T=(tx,ty,tz)T是一个平移向量。 R=R(X,Y,Z)是一个旋转矩阵,其中X、Y、Z是对应于旋转后对应的坐标系的轴向量在原始坐标系中的值[6]。刚性转换的平移向量、旋转角度即为摄像机的外部参数。世界坐标系中双目摄像机的位姿由摄像机外参确定。摄像机坐标系中的某个三维点映射到成像平面坐标系的投射关联为:

投射到成像平面时,镜头发生畸变导致坐标(U、V)变化。 如果镜头没有发生畸变,投影点p′会在点P与光心连线的延长线上,如图2所示。坐标位置的偏移就是镜头畸变所致。

图2 镜头畸变

这种镜头畸变造成的图像转移可以不需要三维信息只在成像平面上建立数学模型。一般情况下,下属表达式可以足够准确的表示径向畸变:

参数k表示径向畸变的程度。当畸变类型为桶形畸变时K<0,当畸变类型为枕形畸变时K>0。这种表示畸变的数学模型优势在于可以使用下述表达式进行畸变校正:

我们将点从成像平面坐标系转换到像素坐标系中:

式中Sx是缩放比例参数,代表摄像机电荷耦合器件图像转换器的每个单元的水平方向距离和垂直方向距离,定义了径向畸变的中心,表示成像平面上镜头光心的垂直投影[7]。摄像机进行的三维到二维的投影转换由摄像机内参及外参决定。

综上所述,得到摄像机的内参(f,k,Sx,Sy,Cx,Cy)和外参(tx,ty,tz,X,Y,Z)是摄像机标定的最终意义。

2 基于HALCON的双目摄像机标定

标定双目摄像机的过程包括在图像中识别标定板、在标定板中识别标定点精确坐标、确定所有坐标点图像坐标与世界坐标间的对应关系。HALCON标定板拥有非常高的精度,这种精度是进行高精度测量的先决条件。因此,使用HALCON标定板是最简单有效的方法之一。

2.1 标定板及其拍摄规则

标定精度受标定板类型及拍摄细节影响,所以对标定板时应注意以下事项。如果使用前向光,需要使用陶瓷材质的标定板。如果使用背光,需要使用玻璃材质的标定板。标定板的边缘长度应大约为图像边缘长度的1/3。为了在不同图像中体现出标定点透视畸变关系,我们应该在拍摄中不断改变标定板方位。拍摄时光照要均匀,标定板应比参照物亮度高,但亮度不宜过高。标定板上亮的部分灰度值必须达到100以上。为了标定立体视觉系统,需要拍摄多组包含标定板的立体图像对,在每个图像对中的每幅图像都包含一个完整的标定板。一般情况下,要确保立体图像对中两幅图像的交迭区域一定比单个摄影机的视野小,图像中标定板的位置能够尽量覆盖整个交迭区域[8]。

2.2 提取特征

摄像机按规则提取到立体像对后,首先对目标做高斯滤波。然后,进行简单的阈值分割。设定的阈值应该比标定板上白色部分的灰度值小。此外,该阈值的最佳设定应大于目标图像其他大区域稍亮部分的灰度值。经过阈值分割后获取的多个部分中,凹状孔数量与CalTab描述文件中的标定点个数相一致的部分被提取出来。对目标部分做边缘检测。边缘检测灵敏度越高得到的信息越多,但是会降低对噪声的抑制能力[9]。对所得边缘振幅进行阈值分割,所有灰度值变化幅度大的边缘都被选中。封闭轮廓的个数应该与标定板描述文件中点的个数相同,同时所有轮廓线的形状应该都是椭圆形。利用线性方法拟合标志点边缘的最优解[10]。本算法鲁棒性较强,提高了边缘检测的稳定性。通过对拟合椭圆的最小外包矩形的选取,最终世界坐标系中标定点与成像平面坐标系中坐标点的映射关系[11-12]。

2.3 双目摄像机标定

与单目摄像机标定相似,双目摄像机标定的输入参数可以分为两类,其一为对应坐标点在世界坐标系中的坐标。此外还有,坐标点在两个成像平面坐标系中的坐标;其二为双目摄像机的初始参数[13]。与单目摄像机标定不同的是在双目摄像机标定时函数find_caltab和函数find_marks_and_pose必须在立体图像对的每幅图像中分别调用。标定程序流程图如图3所示。

图3 程序流程图

函数 read_image(:Image:FileName:)读取文件名为FileName的图像Image;函数find_caltab(ImageL,CaltabL,CaltabName,SizeGauss,MarkThresh,MinDiamMarks)基于标定板在一个亮的区域中存在黑色标定板的特征在图像中寻找标定板,效果如图4(a)所示。第一步,对待标定图像执行高斯模糊,高斯核的大小由输入参数SizeGauss决定。该参数与对噪声的抑制效果成正比。高斯模糊后对图像进行灰度阈值分割。灰度阈值为MarkThresh到255。提取出凹孔个数与标定板描述文件中对应点个数相一致的凸出部分。凹孔的最小直径为MinDiamMarks,量级为像素,视图片而定。这样有利于降低错误目标的干扰,提高系统运行速度[14]。

find_marks_and_pose算子对选中的标定板上的圆进行分割,提取的坐标点个数、周长、坐标位置都应该与标定板描述文件相符合。否则会自动调整StartThresh,使StartThresh按照DeltaThresh步长减小到MinThresh,直到找到精确的标定点圆心。RCoordL、CCoordL、StartPoseL 为 3个返回值,分别为测得的行、列及对应估计的摄像机外部参数。binocular_calibration算子的输入参数为标定点在成像平面坐标系中的坐标以及两个摄像机内参初始值,而且该函数返回双目摄像机之间的相对位姿。标定效果如图4所示。

图4 标定效果

标定完成后务必不要对双目立体视觉系统进行改变,比如焦距、相对位姿等[15]。然而,无论双目摄像机的内部参数还是外部参数发生变化,只需要单独对发生变化部分进行重新标定即可。

2.4 标定结果

在实验中,我们在正常光照下拍摄了2组分别为15副、25副HALCON 100 mm标定板图像。两组对比结果如表1所示。

3 结束语

由实验结果可以得出结论:基于HALCON的双目摄像机标定算法结果准确,简单易行。其程序鲁棒性强,运算效率高,能够高效的运用到双目立体视觉系统中,为基于双目立体视觉的人脸三维重建提供了坚实的基础。

[1]张广军.机器视觉[M].北京:科学出版社,2005.

[2]马颂德,张正友.计算机视觉:计算理论与算法基础[M].北京:科学出版社,1998.

[3]Tsai R Y.An efficient and accurate camera calibration technique for 3D machine vision[J].Proc.ieeeConf.on ComputerVision & Pattern Recognition,1986:364-374.

[4]贾云得.机器视觉[M].北京:科学出版社,2005.

[5]李良福,陈卫东,冯祖仁,等.目标跟踪与定位中的视觉标定算法研究 [J].应用光学,2008,29(4):481-486.

[6]Fitzgibbon A,Pilu M,Fisher R B.Direct least square fitting of ellipses [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1999,21(5):475-480.

[7]罗珍茜,薛雷,孙峰杰,等.基于HALCON摄像机标定[J].电视技术,2010,34(4):100-102.

[8]贾丹,摄像机现场标定算法研究[D].哈尔滨:哈尔滨工程大学,2007.

[9]Steger C,Ulrich M, Wiedemann C.Machine vision algorithms and applications[C]//Machine vision algorithms and applications.Wiley-VCH,2007.

[10]谭晓波.摄像机标定及相关技术研究[D].长沙:国防科学技术大学,2003.

[11]ZHANG Zheng-you.A flexible new technique for camera calibration[J].IEEE Transaction on Pattern Analysis and machine Intelligence,2000,22(11):1330-1334.

[12]刘源洞,孔建益,王兴东,等.双目立体视觉系统的非线性摄像机标定技术 [J].计算机应用研究,2011,28(9):3398-3400.

[13]张滋黎.基于视觉引导的大尺度空间坐标测量方法研究[D].天津:天津大学,2009.

[14]唐志豪,许帧英,李伯全,等.三维视觉测量系统平台的软件设计及实现 [J].计算机测量与控制,2006(11):1566-1568.

[15]Lenz R K,Tsai R Y.Techniques for calibration of the scale factor and image center for high accuracy 3D machine vision metro logy[C]//Proceedings of IEEE International Conference on Robotics and Automation.Washington DC:IEEE,1987:68-75.

Binocular camera based on HALCON

YU Chun-he,QI Le-yang
(School of Electronic and Information Engineering, Shenyang Aerospace University,Shenyang110136,China)

表1 标定结果比较

TN391

A

1674-6236(2017)19-0190-04

2016-09-01稿件编号201609004

于春和(1976—),男,辽宁沈阳人,博士,副教授。研究方向:信息获取与处理。

猜你喜欢

双目畸变摄像机
基于双目测距的卡尔曼滤波船舶轨迹跟踪
双目视觉运动目标跟踪定位系统的设计
在Lightroom中校正镜头与透视畸变
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
基于双目视觉图像的长度测量方法
如何消除和缓解“摄像机恐惧症”
辐射诱导染色体畸变的快速FISH方法的建立
《癌变·畸变·突变》2014年第26卷索引
《癌变·畸变·突变》第六届编委会第2次会议纪要