阮国熙
摘要:本文首先介绍了摄像头标记的坐标系,包括图像法像素直角坐标系、图像物理坐标系、物理坐标系与像素坐标系转换、摄像机坐标系与世界坐标系等。然后介绍了几种摄像机标定技术,例如摄像头畸变、传统摄像机标定技术等。文章的最后着重讨论了如何具体实现摄像头简易标定设计的方法。本文的算法是在研究Tsai的算法基础上改进过来的在Tsai的方法,具体做法是:通过变换矩阵将投射的像素点非线性化,然后再通过数学模型计算出具体的解。具体来说主要包括以下方面的改进:成像模型的改进、获取点坐标方法的改进和计算点初始值方法的改进。
关键词:摄像头 标记 设计
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2016)09-0094-01
1 引言
摄像机标定的主要目的,也是计算机视觉的最主要的研究方向.(Marr 1982),所谓三维重建就是指从图像出发恢复出空间点三维坐标的过程。
摄像头标定就是通过小孔成像与坐标系把现实图像之间的距离反应到摄像头里面。比如一个物体距离摄像头30厘米,那么通过方法来把这个距离真实地反映到摄像头里面,就是小孔成像。常见是坐标系是X、Y、Z坐标系,因为这个坐标系我们接触的比较多,理解起来也比较方便。本文的算法是在研究Tsai的算法基础上改进过来的在Tsai的方法,实际上进行计算机帧存象素坐标和图像实际坐标转换使用的是dx和dy,问题就出在dx=dx*Ncx/Nfx;dy=dy(dx,dy分别为X,Y方向上的象素间距)。这里的Ncx为摄像机每行捕捉到的象素(由CCD摄像机参数决定),Nfx为计算机每行采集到的象素数。Tsai算法的最大特点就是比较准确,相对来说产生畸变的概率会比较小。
本文改进的做法是:通过变换矩阵将投射的像素点非线性化,然后再通过数学模型计算出具体的解。具体来说主要包括以下方面的改进:成像模型的改进、获取点坐标方法的改进和计算点初始值方法的改进。
2 摄像头标定的原理
2.1 基本呈像原理
摄像机标定是通过建立摄像机成像的几何模型,确定空间物体表面的三维几何位置与其对应的图像中的点之间的关系,最终得到相机参数。 摄像机标定方法分为传统摄像机标定、主动视觉摄像机标定和摄像机自标定三种方法。结合实际应用精度要求及操作复杂度等,目前最常用的畸变校正算法为模板法,其原理是:利用一个事先做好的模板(通常为黑白棋盘格),然后对模板进行拍摄,通过对拍摄前后提取的对应的特征点,根据事先建立的成像模型,通过数学方法对参数进行求解,再将求得的参数恢复没有畸变的源图像。没有误差的状态下,现实中的图像会通过一个小孔来投射到摄像头中,所有投射过来的点围绕中心点O均匀分布开来。这个和小孔成像的原理是一样的。那么通过什么方法来描述世界坐标系与现实坐标系的关系?本文所采取的方法是针孔模型。具体来说就是把现实中的图像通过该模型投影到摄像头内。假设该点为X点,投影到摄像头内的是Y点,X与Y的关系可以通过一个三阶矩阵来实现。对应于坐标系有四个参数,分别是x1,x2,x3,x4,在确认现实中与摄像头的参数后利用这个三阶矩阵既投影矩阵把参数反应到摄像头内,这时摄像头就可以计算出相应的图像坐标,然后把坐标标记出来。 简单来讲摄像头标定就是通过小孔成像与坐标系把现实图像之间的距离反应到摄像头里面。比如一个物体距离摄像头30厘米,那么通过方法来把这个距离真实地反映到摄像头里面,就是小孔成像。常见是坐标系是X、Y、Z坐标系,因为这个坐标系我们接触的比较多,理解起来也比较方便。
2.2 OPENCV图像处理技术
Opencv技术是在世界范围内流行的免费图像处理技术,这种技术是由C语言开发完成。它的原理是这样的:先把把现实中的图像采集到计算机中,然后通过具体的数学模型来对这些图像进行处理。包括现实坐标系与计算机坐标系的转化以及距离的呈现等。
2.3 摄像机成像设定
首先,摄像机获取到的现实中的图像是固定不变的,但是如何把这个距离如实地在摄像头中表现出来,这个是需要标记的。对应的算法就是成像算法,虽然有的算法用到的数学模型不一样,但是其原理都是一样的,都是实现对像素点的标定。
3 本文所采用的简易的标定方法
3.1 摄像机线性模型
在理想状态下,既光线充足,没有误差的状态下,现实中的图像会通过一个小孔来投射到摄像头中,所有投射过来的点围绕中心点O均匀分布开来。这个和小孔成像的原理是一样的。那么通过什么方法来描述世界坐标系与现实坐标系的关系?本文所采取的方法是针孔模型。具体来说就是把现实中的图像通过该模型投影到摄像头内。假设该点为X点,投影到摄像头内的是Y点,X与Y的关系可以通过一个三阶矩阵来实现。对应于坐标系有四个参数,分别是x1,x2,x3,x4,在确认现实中与摄像头的参数后利用这个三阶矩阵既投影矩阵把参数反应到摄像头内,这时摄像头就可以计算出相应的图像坐标,然后把坐标标记出来。
但是在现实状态下,不可能满足所有的条件,不可避免的会产生误差。误差的具体表现就是会使得图像产生畸变,具体有以下几种情况:径向畸变,偏心畸变等。这其中畸变最严重的是偏心畸变。镜头畸变的产生是由于透镜特性(凸透镜汇聚光线、凹透镜发散光线)在成像过程中对真实镜像的一种透视失真,在镜头的制造过程中,如果想要消除镜头畸变,需要从镜头的光学设计入手,选取高质量的光学玻璃来制造镜片,然而,这些手段并不能完全消除畸变,摄像机标定技术应运而生。因此,要把偏心畸变的情况考虑进去。
3.2 改进的Tsai算法
本文的算法是在研究Tsai的算法基础上改进过来的在Tsai的方法,实际上进行计算机帧存象素坐标和图像实际坐标转换使用的是dx和dy,问题就出在dx=dx*Ncx/Nfx;dy=dy(dx,dy分别为X,Y方向上的象素间距)。这里的Ncx为摄像机每行捕捉到的象素(由CCD摄像机参数决定),Nfx为计算机每行采集到的象素数。Tsai算法的最大特点就是比较准确,相对来说产生畸变的概率会比较小。
本文改进的做法是:通过变换矩阵将投射的像素点非线性化,然后再通过数学模型计算出具体的解。具体来说主要包括以下方面的改进:成像模型的改进、获取点坐标方法的改进和计算点初始值方法的改进。
3.3 投影矩阵的恢复与分解
利用现实坐标系与摄像头坐标系及其对应的点的坐标,计算x1,x2,x2,x4,可以可以算出摄像头内对应的点y1,y2,y3,y4。在以上步骤中,计算出摄像头对应的参数之后要考虑矩阵的分解。把矩阵分解成摄像头能够识别的状态。
3.4 实验
本篇文章所采用的摄像头是常用的DY-133摄像头,具体参数为500万像素,感光面积是4.86*3.42平方毫米。经实验发现,该摄像头可以正确地标记投影过来的图像,其50个点的误差只有0.334个像素。
参考文献
[1]王亮,吴福朝.基于一维标定物的多摄像机标定[J].自动化学报,2007,33(3):225-231.
[2]熊平,图像传感器特点比较.半导体光电,2004.
[3]邱茂林,马项德.计算机视觉中摄像机定标综述[J].自动化学报,2000.
[4]马项德,张正友.计算机视觉计算理论与算法基础[M].北京:科学出版社,1998.
[5]邱茂林,马颂德,李毅.计算机视觉中摄像机定标综述.自动化学报,2008.
[6]马颂德,张正友.计算机视觉—计算理论与算法基础.北京:科学出版社,1998.
[7]刘传才.图像理解与计算机视觉.厦门:厦门大学出版社,2002.
[8]洪治平.“车道保持”原理揭秘[J].antoknow,2011.
[9]刘瑞祯于仕琪Open Cv教程基础篇[M]北京:北京航空航天大学出版社,2009.
[10]曾祥章,卢道华.一种基于OpenCV和Tsai的摄像机两标定新方法[J]机电.