基于MATLAB工具箱目标定位稳定性分析
作者:张海宁 刘超
来源:《数字技术与应用》2013年第10期
摘要:简单阐述了基于MATLAB工具箱的方法,利用对二维的棋盘拍摄的一组图像,提取角点进行标定,通过多次的实验对比,证明了MATLAB工具箱对摄影机标定的可靠性,为利用棋盘标定提供了一定的参考。
关键词:摄像机标定 计算机视觉 MATLAB工具箱
中图分类号:P284 文献标识码:A 文章编号:1007-9416(2013)10-0086-02
计算机视觉也称为机器视觉,在摄影测量领域,为了获取目标物体的三维空间几何信息,需要借助于摄影机获取的图像信息,通过信息的分析与处理,并由此识别和重建三维环境中的物体。
数字图像的最小单元是像元,图像上像元的亮度差异由地物自身的反射特性决定,图像上任意一点的位置由摄影机所构成的几何模型即摄影机参数决定。该参数通常由实验计算机摄影机标定获得,标定的结果直接影响计算机视觉的精度[1,2]。
根据不同的场景需求,摄影机标定常用的方法有传统标定方法、自标定方法和基于主动视觉的标定方法。自标定方法标定时,不需要标定物,像对比较灵活,不需要特定的参照物来实现定标,是一种对环境具有很强适应性的标定技术。基于主动视觉的标定方法需要预知摄像机的详细运动信息和昂贵的设备,实验成本较高。目前使用较多的是传统的摄影机标定方法,即在摄影机前方安置特定的标定物,一般是二维标定靶或三维标定靶[3,4]。同时,为了提高目标定位的精度,在选点方面也极为重要,使用JAVA编写的二维的棋盘图像提取角点,通过多次实验和实验参数数据的对比分析,证明了传统相机标定方法的可靠性及其稳定性。 1摄像机坐标系
摄影机标定过程中,涉及三个坐标系,即世界坐标系、摄像机坐标系和图像坐标系(图像物理坐标系和图像像素坐标系)[5]。
数字图像可以在计算机上显示为M*N的数组,图像中每一个数值即是像点的亮度。 如图1是摄影机主光轴与图像平面的交点,u、v是以像素为单位的图像坐标系,XY表示以毫米为单位的图像坐标系,X、Y轴分别与u、v轴平行,为原点,假如在图像坐标系中坐标为(,v0),每一个像素在X轴和Y轴方向上的物理尺寸为dX、dY,则图像中任意一个像素在两个坐标系下用齐次坐标与矩阵形式表示如下:
龙源期刊网 http://www.qikan.com.cn
①
对于摄影机成像位置的描述,设定一基准坐标系XW、YW、ZW,则摄影机坐标系与世界坐标系之间的关系可用旋转矩阵R与平移向量t来描述。则空间中某一点P在世界坐标系与摄像机坐标系下的齐次坐标系如果分别是XW=(XW,YW,ZW,1)T与x=(x,y,z,1)T,于是 ②
如上式,R为3*3正交单位阵;t为三维平移向量,光轴与图像平面的交点O,即为图像坐标系的原点称为摄像机光心,x、y轴与图像的X、Y轴平行,Z轴为摄像机光轴,它与图像平面垂直。由点O与x、y、z轴组成的直角坐标系称为摄像机坐标系,OO1为摄像机焦距。 空间任意一点的位置可以通过中心投影成像在像平面上,在实际操作过程中,由于镜头的畸变包括径向畸变和切向畸变,后者像对前者畸变比较小,所以,对于非线性模型,摄影机的内部参数不仅包括5个内部参数,还包括径向畸变和切向畸变参数。 2 基于MATLABTOOLBOX相机参数标定过程分析
MATLAB工具箱对于初学者来说,灵活简单,使用较为方便,且采用棋盘进行目标角点定位,方法简单,通过多次实验,证明了基于MATLAB工具箱的可靠性,实验过程如下[6]。 MATLABTOOLBOX可在Windows,Linux和Unix系统下的5.x,6.x,7.x版本下使用,文章使用的是WindowsXP系统,下载最新的MATLAB工具箱,储存为toolbox-calib文件夹,运行MATLAB,在路径中添加toolbox-calib文件夹,选择calib-gui标定函数。选择标准模式,则标定所需要的图像一次性装入内存,不再进行磁盘的读取,减少了磁盘访问的时间,便于图像读取和显示。但是如果图像过大,或者图像过多,将会出现OUTOFMEMORY错误,此时可以选择内节省模式,两种模式可以兼容;另外一种新的内节省模式,每次只读取一副图像,并且不在内存中存储。
拍摄靶标后由图像就可以进行标定,但需要进行格式转换,即将拍摄的JPG图像转化为TIF格式,论文采用遥感图像处理软件envi实现格式转换,便于新手快速了解。 3 实验
实验采用Canon数码摄像机,分辨率为2496×1664,靶标单位棋盘格边长为40mm,共含有11×11个棋盘角点。 棋盘图像如下:
通过两次对靶标不同方位拍摄10张图像。每一次的图像标定后,各选取一张结果如下:
龙源期刊网 http://www.qikan.com.cn
在标定过程中,需要输入格网大小,这个依据靶标的大小输入,一般情况下不能够默认;每次结果投影误差结果如下: 通过计算得出内部参数结果如下:
从表中可以看出,从任意角度拍摄靶标,经过多次试验后,摄影机内部参数基本没有变化,在允许误差范围内,只有外部参数发生了变化,验证了基于MATLAB工具箱相机标定结果的稳定性。 4 结语
目前,摄影机标定的方法很多,但是达不到传统摄影机标定的精度。通过实例验证,基于MATLABTOOLBOX进行2D靶标进行摄影机标定,精度可靠,操作简单,设备容易达到,操作通俗易懂,无论靶标和摄影机均可自由移动,无须知道运动参数,但需要一定的MATLAB基础知识和靶标设定技术,相对于其他标定方法,避免了设备的昂贵性和操作的复杂性,便于执行应用,为初学者学习计算机视觉提供了一些参考。 参考文献
[1]高利涛,涂亚庆,齐永生.计算机视觉测量中摄像机快速标定方法实现[J].后勤工程学院学报,2009,(3):62-65.
[2]吴海华,王从军,朱大林.一种逐步求解的新的摄影机线性标定方法[J].中国图像图形学报,2004,26(1):38-40.
[3]黄艳,赵越.3D靶标的摄影机三步标定算法与实现[J].计算机技术与发展,2010,20(1):139-142.
[4]王军,许建龙.基于平面模板的摄影机标定方法[J].计算机工程与设计,2009,30(1):259-263.
[5]张广军.机器视觉[M].北京:科学出版社,2005.
[6]孙玉青,冀小平.Matlab标定工具箱在摄影机定标中的应用[J].太原科技,2010,(3):99-100.
因篇幅问题不能全部显示,请点此查看更多更全内容