1、1一种高精度特征点检测和相机标定方法摘要:针对特征点检测和相机标定精度问题,提出了一种亚像素级的角点检测和相机标定方法。该方法对角点的提取首先运用传统的方法得到初始值,并以此为初始值从棋盘格图像中搜索边缘,然后拟合边缘数据,并将拟合得到的曲线的交点作为角点的最终值,最后以这些角点作为标定相机的特征点对相机进行标定。实验结果表明,该方法提高了特征点提取的准确度和精度,以此提高了相机标定的精度。 关键词:相机标定 亚像素 Tsai 拟合 0 引言 目前,CCD 阵列作为一种普遍的成像器件,被应用于交通、军事、医疗、工业等领域。相机在成像过程中,成像的质量受到相机的分辨率、光学畸变的影响而下降,相机
2、高精度的标定是测量系统完成任务必不可少的环节1,相机标定结果的精度制约着系统测量的精度。 不同的邻域由于受到不同因素的影响而采用的标定方法存在着较大的差异。机器视觉领域由于采用一般的 CCD 作为成像器件,不能准确地知晓其内部参数,而且具有随时间的推移而发生较大变化的特性,一次机器视觉领域相机地标定面临较多的困难。机器视觉领域的相机标定具有以下的特点:相机的空间分辨率一般比较低;使用的相机一般具有较大的畸变;相机部件存在较大的安装误差;标定受到光学系统色差、景深等因素的影响而使得标定模式的边缘产生一定的模糊。上述机器视觉2领域中所面临的问题使得标定模式特征点的提取和定位精度较差,同时图像噪声的
3、影响使得模式特征点的提取精度误差进一步加大。 标定模式特征点的定位精度很大程度上决定了相机标定的精度。即使是像素级的误差也会使得标定结果产生重大偏差,所以如何利用亚像元技术获得标定模式特征点的精确定位是实现相机高精度标定的关键2。本文提出了一种基于全局曲线拟合和局部曲线拟合现结合的角点检测方法3。传统的焦点检测方法主要有双曲抛物面拟合和局部相交直线法,双曲抛物面拟合法假设所求角点附近图像灰度呈双曲抛物面分布,这样拟合曲面的鞍点4即为所求角点。局部相交直线法确定所求角点的方法是求棋盘格黑白交界处的交点5,由于受到镜头畸变的影响,交界处的直线在成像平面上不是一条直线,因此该方法所得角点的定位精度受
4、到较大的影响6,7。上述两种方法在求角点时忽略了模式点之间的几何约束和相机标定参数的全局性特征。本文提出的方法通过对特征点进行几何约束来提高角点的定位精度。同时噪声对特征点提取的影响,曲线的拟合范围采用全局和局部相结合的方法来拟合曲线。 1 原理 1.1 相机模型 目前,存在的几种代表性的相机标定方法8,如 Tsai9,Heikkil3和 Zhang4等的方法,多数采用的是小孔成像模型。区分这些方法在于其所选用的内部参数的形式和表达方式。设 OXYZ 为世界坐标系,oxyz 为相机坐标系,点 P 为三维空间中的一个点,坐标3(xw,yw,zw)和(x,y,z)分别表示点 P 在世界坐标系和相机
5、坐标系下的坐标。在理想的情况下,P 点的图像坐标为 Pu(Xu,Yu) ,但由于存在畸变的因素,其实际成像的位置为 Pd(Xd,Yd) ,在计算机表示中用坐标(Xf,Yf)表示在图像中的像素坐标。 世界坐标系(xw,yw,zw)到相机坐标系(x,y,z)的变换如下 xyz=Rxwywzw+T (1) 其中,R 和 T 分别为旋转矩阵和平移向量。相机坐标系到非畸变图像成像平面的投影变换为 其中 f 为焦距,畸变模型有下式给出 Xd+Dx=XuYd+Dy=Yu (3) xm=ARtM,A= 00 00 0 1 (4) 其中 m=u,v,1T 是一个二维点的坐标矢量表示,M=X,Y,Z,1T 是一个
6、三维点坐标的矢量表示,s 是图像的尺度模糊因子, (R,T)为世界坐标系到相机坐标系的旋转和平移的外参矩阵,A 是相机的内参矩阵,(u0,v0)为主点坐标, 和 分别为图像坐标系 u 轴和 v 轴上的缩放因子, 描述的是两个图像坐标轴之间的倾斜关系。 1.2 标定算法 1.2.1 特征点提取 相机标定的过程如图 1 所示,如前所述,进行相机标定需要提取出图像平面的特征点的位置,其提取的精度很大程度上决定了相机标定的精度。采用棋盘格模式对相机进行标定时,采用通常的方法提取出的角点与被检测的特征点邻域区域的图像信息有关,因此获取的特征点的定4位精度受到了较大的影响,为了得到高精度的特征点定位估计,
7、本文提出了相应的改进措施。 算法的主要步骤如下: 在本文的标定算法中,使用如图所示的棋盘格模式,为降低图像中噪声对角点检测结果的影响,需要对图像进行平滑处理,在采用Harris 角点检测算子得到图像中角点的初始值。 检测标定板图像中的边缘信息,对步骤()中得到的角点进行分组,确定后续曲线拟合所需的边缘点集合。 对选取的边缘点进行曲线拟合,曲线拟合分为两部分,即为全局曲线拟合和局部直线拟合。有相机的畸变模型可知,采集的图像中心的畸变较小,局部的畸变与全局的相比较,可以采用不同次级的多项式进行拟合,考虑到一阶径向畸变的影响,全局拟合部分可以采用一个三次多项式进行曲线拟合。局部拟合由于畸变差异的因素
8、,可以进行局部直线拟合,这样同时考虑到了算法的复杂度和精度。 确定角点,通过拟合曲线步骤可以获得全局和局部的曲线集合,求其两曲线集合之间全局曲线和局部曲线的交点即可得到所求的角点。求交点的方法有很多种,本文采用迭代的方法,以步骤得到的角点的初始值作为交点的初始值,通过迭代即可得到两曲线的交点。 1.2.2 标定参数的优化 本文采用文献提出的方法对相机的参数进行估计,该方法先用线性的方法求解部分参数,在通过基于最大似然准则的分线性优化来获得其余的参数,这种方法能有效的减少迭代次数,同时提升运算速度,更重5要的是该方法对对标定板的制作精度要求在大多数实际运用中都能得到满足。 2 实验结果与讨论 实
9、验采用的相机为 Canon PowerShot SX10 IS,图像的分辨率为640480,如图 2 所示为标定时所采集的一组图像数据。 图 2 标定图像集 标定结果如表 1 所示,由标定结果分析,对特征点进行亚像素级的定位后,相机的焦距估计、相机的姿态估计更加精确,标定的结果优于未进行亚像素定位的情形。这说明采用亚像素角点提取的方法可以减少在特征点提取过程中个别噪声对标定结果的影响。这样相机标定得到的参数对后续三维点的坐标重建步骤中的准确度是很有利的。同时从标定结果中可以看出,相机焦距的标定结果与标称值存在差异,造成这样结果的原因主要有两个方面: 一是相机焦距的标称值与本身实际焦距由于相机生
10、产过程中产生的误差; 二是相机标定采用的相机模型仅考虑了低阶的畸变因素,而忽略了高阶的畸变因素。 从实际的应用方面来看,采用本文的相机标定结果能够进一步提高三维测量的精度。 3 结论 本文通过研究特征点之间的关系,使得特征点的提取和定位精度达到亚像素的级别,从而提高相机标定的结果的精度。 参考文献: 61LIANG Dong,WU Fu-chao,RUAN Zong-cai,et a1.Det- ermining camera intrinsic parameters and pose from 5 control points J.Journal of University of Scien
11、ce and Technology of China,2002,32(2):194-201. 2高俊钗,雷志勇,王泽民.高精度测量相机标定J.光电与控制,2011,18(2):93-96. 3Heikkila J.Geometric camera calibration using circular control pointsJ.IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(10):1066-l 077. 4Zhang Z Y.A Flexible New Technique for Camera
12、 Calibration J IEEE Transactions on Pattern Analysis and Ma- chine Intelligence,2000,22(11):1330-1334. 5Lucchese L,Mitra S K .Using saddle points for subpixel feature detection in camera calibration targetsC /Proceedings of the APCCAS02.Bali,Indonesia:IEEE Press,2002,2:191- 195. 6志敏,高洪明,王志江,等.摄像机标定中
13、亚像素级角点检测算法J.焊接学报,2006,27(2):102104. 7王立忠,薛河儒,王靖韬.一种改进的相机标定方法J.内蒙古大学学报(自然科学版) ,2010,41(2):223-228. 8Sun W,Cooperstock J R An empirical evaluation of 7factors influencing camera calibration accuracy using three publicly available techniquesJ.Machine Vision and Applicat- ions,2006,17(1):5167. 9Tsai R Y.A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the- shelf TV cameras and lensesJ.IEEE journal of Robotics and Automation,1987,RA.3(4):323-344.