数码相机定位方案.doc_第1页
数码相机定位方案.doc_第2页
数码相机定位方案.doc_第3页
数码相机定位方案.doc_第4页
数码相机定位方案.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数码相机定位方案摘 要本论文讨论的是数码相机的定位问题。对于问题一,首先根据照相机成像原理和相似三角形边与边之间的关系,确定了物平面上的任一点在像平面上的像坐标,在此基础上利用坐标变换,建立了一个从世界坐标系到像平面坐标系的定像坐标方法,定向坐标方程为=利用此方程可以求出空间任一点的像坐标。对于问题二,将图像分为5个部分,即相片上的5个图形,对每个部分逐一进行了图像分割处理,用图形所在像素点在像素坐标v,u方向上各自的坐标总和除以图形所占的像素点的总个数,就得到图形的几何中心的像素坐标。求得像平面中椭圆的几何中心的像素坐标为A(189,323)B(196,422)C(213,639)D(502,582)E(501,284)将该数据代入问题一中的改进模型,可以求得相应的线性变换方程为X=0.7971x+0.0339y-0.1074Y=0.8013y+1.3535;(x,y,X,Y单位为mm)对于问题三,讨论模型的精度与稳定度,方法是利用第一问中坐标之间的线性关系求出一张新像,再把这张像和题目中给的像进行比较,若重合程度越高,则对应的精度越高,利用此检验模型求得图像的精度为96.2%。由于可用物体不同的几何形状和物理位置的变化来判断图像稳定性,于是我们分别对靶标中的圆的半径和正方形的边长尺寸进行了改变,再用同样的检验模型得出了精确度为96.06%和95.58%,由此可见我们的检验模型具有较高的稳定性。对于问题四,我们利用双目成像和视差的原理,来求解两个相机的相对位置。根据式,获得物体在世界坐标系中的深度信息,再按公式求出,由与即可确定两台相机的相对位置。关键词:坐标变换定位方程 图像分割与处理 重合程度 双目成像一.问题提出1.背景情况在现代社会,随着科学技术的日异发展,数码相机定位在各行各业发挥了越来越重要的作用。例如应用在“电子警察”、地质勘探、考古发掘、深度提取等方面。2.问题的重述所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。标定的一种做法是:在一块平板上画若干个点, 同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。问题一 建立数学模型和算法以确定靶标上圆的圆心在该相机 像平面的像坐标, 这里坐标系原点取在该相机的焦点,x-y平面平行于像平面;问题二 对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即焦点到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024786;问题三 设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;问题四 建立用此靶标给出两部固定相机相对位置的数学模型和方法。二.模型假设1.模型的假设(1)假设靶标平面和像平面是相互平行的平面;(2)假设相机镜头的各部分接受到的光强是一致的,清晰度是一致的;(3)假设双目成像中系统的基线为定值。三.问题的分析1.问题1的分析1.1照相机成像原理(见图1)ABCDEFHhS图1 照相机的成像原理(1)式子中,表示物距,表示像距, 表示靶标的物高,表示靶标的像高,表示照相机的焦距。根据上述成像原理,可以根据靶标的具体坐标值求出相应的像平面上的坐标值,并建立靶标与靶标的像之间的模型关系。1.2线性变换定位方程为了使模型更接近题目中的实际情况,依据坐标的空间变换(诸如平移,旋转)对原有的模型进行修正。2.问题2的分析2.1像平面读图利用Matlab中相应的读图程序,读出相应的像平面的图像信息。2.2像平面的图像分析将图像分为5个部分,即相片上的5个图形,对每个部分逐一进行了图像分割处理,用图形所在像素点在像素坐标v,u方向上各自的坐标总和除以图形所占的像素点的总个数,就得到图形的几何中心的像素坐标。3.问题3的分析3.1关于相机定位精度和稳定性的要求由于相机在制造过程中,工艺制造系统的误差会造成相机在照相的过程当中出现找出的相片边缘变形及模糊,另外认为操作不当,也会造成相机定位的差别(即精确性)。而当相机使用的条件不同和使用时间变化时,相机成像会显现波动变化(即稳定性)。因此,我们必须找出一种方法,确定模型的精确性和稳定性。3.2模型精度的分析由于题目给出了靶标示意图,我们根据靶标示意图和相应的成像规律,再生成一张靶标的像图。利用生成像图和题目中给出的像图,找出二者的差异,用非重合的像素点的个数除以整个图象的总的像素点,得出误差,进而确定出精度。3.3模型稳定性的分析根据图形的精度算法,我们再取一个与题目中所给的图像相似的图像,如果新图像得到的精度与原来的精度相差不大,则说明稳定性好,反之,则稳定性不好。4.问题4的分析问题4要求我们确定两个相机的相对固定位置。实际上是一个双目定位的问题。我们用两个相机照的图像进行分析与对比,从而找出两者之间的相对位置关系。双目定位过程中,先考虑光轴互相平行的情况,再考虑光轴相交的情况。四模型的建立与求解1.问题一的模型在以上成像图中,我们依据相似三角形原理,对原题目进行最简单的建模。可以依据物体与成像的大小,可以建立相应的最简单的比例关系。如图1所示,由式子可知,问题一中的模型为三维模型,因此,我们对x、y轴分别进行计算出=k的值,(2)该式子中,分别表示靶标中心在像平面上成的点的像的坐标, 分别表示靶标的坐标。另外,为了与题目中的照片成像与原图形的形状大致一致,我们把靶标成像平面在做一次相对于光点中心的坐标变换。如图2所示,我们把长方形2进行变换,成为长方形2,图象中我们以光轴与图象的中心的交点为原点,x,y轴的建立如图所示。得式3 (3)写成矩阵形式为 (4)长方形2xy长方形1长方形2z图2图形变换后的成像原理利用Matlab编程即可求得的值,由于5个点,10个方程求得的值有一定的差异,最后利用平均值近似找出值,即他们的相似比。具体的值见下K1K2K3K4K5K6K7K8K9K101.03171.00000.99471.19050.90480.67200.61901.20640.62430.3740K的平均值为0.8614。问题一模型的改进数码相机照的照片是以二维数组的形式存在的,设为M行,N列。在图像上定义直角坐标系,每一像素的坐标分别是该像素在数组中的行数和列数,所以()是像素为单位的图像坐标系的坐标,他并没有用物理单位表示出该像素在图像中的位置,因此,需要再建立以物理单位(如mm)表示的图像坐标系,该坐标系以图形中的某一点为原点,x轴和y轴分别与v、u平行,如图3所示图3 图像坐标系在坐标系中,原点定义为照相机光轴与图像平面的交点,该交点一般位于图像的中央,但由于照相的原因会出现一些偏离,但数值很小,可忽略。照相机坐标系由轴组成,坐标原点为照相机的光心,和与图像坐标中的轴和轴平行,为照相机的光轴,它与图像平面垂直。光轴与平面的交点,即为图像坐标的原点。为照相机的焦距。照相机可以安放在任何位置,我们需要一个基准坐标系来描述照相机的位置,并用它描述环境中的各种物体的位置,该坐标系就是世界坐标系,由轴来组成。照相机坐标系与世界坐标系的关系可由下图表示,长方形2长方形1图4 世界坐标系与照相机坐标系照相机坐标系与世界坐标系的关系可有旋转矩阵R与平移矩阵T来描述。因此靶标在世界坐标系与照相机坐标系的齐次坐标若分别为与,则存在如下关系, (5)其中为的矩阵,为三维平移向量, 。利用式2即上述的世界坐标、照相机坐标来进行坐标系的变换,并最终把靶标的世界坐标与靶标在照片上的像素点的坐标之间的对应关系找出。 (6)其中为靶标上的圆心的图像坐标,为靶标上的圆心在投影坐标系下的坐标,用齐次坐标和矩阵可以表示上述关系为: (7)而像素坐标与像平面坐标关系为 (8)为使用方便,我们可以用齐次方程的坐标形式将上式表示成为 (9)其中,分别表示每一像素在轴和轴的物理尺寸、,为坐标原点在像素坐标系中的坐标。(10)其中,M为的矩阵,完全由,决定,而,只与数码相机内部结构的参数有关,我们称这些参数为机内参数,只与数码相机相对于世界坐标的方位决定,我们称这些参数为机外参数。摄像的定位实际上是确定机内与机外参数的过程。2.问题二的模型2.1图像的预处理Matlab软件只能直接读入有限的几种图像格式,因此,我们把原有的题目中的图像进行几何校正、像素变换等预处理,并最终生成被Matlab直接读入的TIFF或BMP等无压缩图像格式。2.2图像的分割对于图像的分割,常采用的是阈值分割算法。在此类算法中,确定阈值无疑是最关键的一步。这种算法对一些具有复杂背景图像的分割也可以获得良好的效果,但是运算量大。而本问题给出的靶标的像平面是一个背景很简单的图像,我们利用Matlab进行手工分形,取得的结果也比较好。最后我们可以得到5块像平面的分割图。具体的程序见附录2。2.3靶标圆心投影到像平面的坐标在这个问题中,我们遍历图形中的灰度,把相差不是很大的灰度的点作为一类。首先利用Matlab将图形的像素矩阵进行分类,灰度大致可以分为两类0和1。分析灰度为1的点(即图形中的黑点),这样图形的中心坐标可由以下公式计算,具体的推导过程见下:其中,:二值化后,属于椭圆集合的像素点的坐标;:像坐标为的像素的灰度值;:图象的阶矩;则有因此(11)由此可见,要求得到的靶标的中心像坐标,只需要知道灰度为1的像素总个数,横坐标累加值,纵坐标累加值,利用上述公式求解即可,Matlab编程见附录3。最后我们解得的点的像素坐标值为A(189,323)B(196,422)C(213,639)D(502,582)E(501,284)根据问题一的模型相应的物理坐标值X=0.7971x+0.0339y-0.1074;Y=0.8013y+1.3535;其中,方程中系数见附录4,方程中求得了物坐标和像坐标之间的转换关系,其中x,y,X,Y都是以mm为单位,为了计算方便,坐标应和像素联系起来,则方程变换成如下形式:X=0.7971x+0.0339y-0.1074*3.78;Y=0.8013y+1.3535*3.78;其中1mm为3.78个像素点。2.4证明求解的可行性而根据问题一中的靶标的圆心在像平面上成像的关系,我们把题目中图2的某个圆在像平面上找到它的像图,有分析可知,像图近似为椭圆,将椭圆的几何方程求出,找出其中心,与按模型计算出来的值进行比较,即可证明得到我们的求解靶标圆心在像平面上的像坐标的算法是正确的。3.问题三的模型3.1模型的建立问题三中,我们利用图像的重合度来计算模型的精度,若图像的重合度高则模型的精度高,所以本题的关键在于如何利用第一、二问中所建的模型,通过其中的坐标转换的关系,把实物图生成一个像图,并将其与已有的像图进行比较,最终来检验第一、二问中所建模型的精确率。为此,我们利用Matlab模拟新生成的图像,最后计算精度。具体步骤如下,第一步,根据问题一中的模型,利用线性变换,在Matlab中生成一个与原物体像素相等的像,并将其转换成01矩阵。第二步,通过第一步中的矩阵及第一、二问求出的像素坐标关系可求出一个新像(也是01矩阵),还有一个重要的步骤就是,为了使我们得到的新像与题目中给的像图能够比较,则必须保证该新像的像素与原像一样大,并且相应的点要基本对应。处理方法如下,通过对旧像和新像中A点的几何中心进行对正(先求出A点在各自坐标系下的几何中心,再求两坐标的相对值,最后将较小的图形进行扩充),其它的点也近似对应。第三步,把题目中给的旧像全部变为01矩阵。第四步,遍历新像与旧像的各个01像素点,找出二者的不同像素点,并进行计数,求得总和。第五步,根据上述求得的总和与总像素点的比值判断二者的重合度,根据计算,我们求得精度为96.2%,可见问题一中的改进模型是比较符合题目所给的条件的。同样的,我们用此方法解得的问题一中的相似三角形模型精确度很小,可见,相似三角形模型还是有很多不足。另外,关于稳定性的算法,采用的方法是改变物体的位置或形状,在利用精确度进行计算,看精确度的大小变化趋势。我们分别将靶标的圆的半径缩小为11mm,把正方形的边长缩小为96mm,计算了两次,所得的精确度分别是96.06%,95.58%。与原来的96.2%进行比较,可见模型的稳定性是比较好的。3.2模型的求解模型的求解运用Matlab编程,相应的程序见附录5。4.问题四的模型双目成像可获得同一场景的两幅不同的图像。图5给出了双目成像的一个示意图,Wyyxx镜头中心B图5 双目成像示意图图中两个像平面的中心的连线为系统的基线B。利用双目系统可以确定具有像平面坐标点和的世界坐标系中的坐标。当照相机坐标系统和世界坐标系统重合后,像平面与世界坐标系的XY平面也是平行的。在以上条件下,W点的Z坐标对两个照相机坐标系统都是一样的。如果照相机坐标系和世界坐标系不重合,可借助旋转矩阵和平移矩阵使其重合再投影。先考虑两个照相机相同且它们坐标系的各对应轴精确地平行(主要是光轴平行),只是它们原点位置不同。在这种情况下双目成像可借助图6来分析,那里给出两镜头连线所在平面(XZ平面)的示意图。将第一个照相机叠加到现实世界坐标系上(两系统原点重合),根据式(2),W点的X坐标可表示为:(12)XW(X,Y,Z)BZ图6 平面双目成像中的视差上式中和表示第一个照相机移到了世界坐标系的原点,而第二个照相机和点在保持图5所示相对几何关系的条件下也会跟着移动。如果将第二个照相机移到世界坐标系的原点,则点的坐标可表示为:(13)因为基线长度是且的坐标对两个照相机坐标系统是一样的,所以有:(14)将式(14)代入到式(12)和式(13)中得到 (15)用式(15)的第二式减去第一式,可借出Z,既有: (16)上式把物体与像平面的距离Z(即3-D信息中的深度)与视差D(象坐标和的差)直接联系了起来,视差的大小与深度有关,所以视差包含了3-D物体的空间信息。如果视差D可以确定并且基线和焦距已知,计算W点的Z坐标是很简单的。另外Z坐标确定后W点的世界坐标X和Y可用或借助式(12)式(13)算得。接下来考虑两个照相机光轴会聚时的情况。我们仅考虑如图7所示情况,它是将图6中的两个单目系统绕各自中心相向旋转得到的。图7给出两镜头连线所在平面(XZ平面)。两镜头中心间的距离(即基线)是B。两光轴在XZ平面相交于点,交角为(未知)。我们来看如果已知象平面坐标点和,如何求取世界点的坐标。W(X,Y,Z)B Z图7 会聚双目成像中的视差首先由世界坐标轴和照相机坐标轴围成的三角形可知:(17)从P点分别向两照相机坐标轴做垂线,因为这两垂线与轴的夹角都是,所以根据相似三角形的关系可得:(18)其中为镜头中心到两系统会聚点的距离(未知),且有:(19)求解式(17),联立消去和,再代入式(17)可得:(20)上式与式(16)一样也把物体和像平面的距离Z与视差D直接联系了起来,但是式(16)的求解只需要知道D(和的差),求解式(20)则还须知道和本身。一旦确定了Z,由式(17)可确定,这样由式(18)可将X表示为:(21)根据式(20),求解物体在世界坐标系中的深度信息Z,再根据式(17)求出,即可把物体在空间中的世界坐标求出,用与就可以把两个相机之间的相对位置确定出来。五.模型的评价与改进1.相似三角形模型对于问题一,我们利用光学中相机成像原理,进行简单的几何分析即可求出图像的成像比例,但是很显然该模型是最简单的成像模型,与题目中给出的实际情况还有很大差别。因此必须在该模型的基础上进行改进。2.照相机变换矩阵模型在相似三角形原有的模型基础上,暂不考虑相机的非线性畸变,利用线性变换的方法来求解变换矩阵中的各个未知数,从而将相机的参数求解出来,利用线性变换的方法,可以找出靶标上的点对应的世界坐标在像平面上的像素坐标。该方法缺点是定位精度不高。3.图像处理技术我们采用的是图像中心快速求取算法,即利用不规则图形的中心计算公式,可以把该图形的中心的坐标求出。为了验证该方法的可行性,我们又利用问题一中的模型和问题二中的数据,求解像平面上的值是否满足该中心算法所得到的解。4.重合精确度法对于精度的计算,我们采用的是重新生成图像与原图像重合,并得到相应的重合度,该算法形象,准确性较高,但是忽略了图像中的一些误当做有用点的散点。该算法在本题中运用恰当,但是推广性不是很强,特别对于那些形状和背景很不规则的图像才比较难以处理。参考文献12巫林 图像分割与三维几何信息提取的研究 01:8088/ 2008年9月20日3李振国 基于区域生长的林区遥感图像分割方法 广西林业科学 Vol.37 No.2 2008年4左爱秋 基于几何特性的椭圆中心像坐标的快速求取 信号处理 Vol16.No.2 2006年5章毓晋 图像工程 北京:清华大学出版社 2000年8月 附录附录1:相似三角形模型的程序pictures=-51.5873,-50;-49.7354,-23.8095;-45.2381,33.5979;30.9524,-60.3175;31.2169,18.5185objects=-50,-50;-50,-20;-50,50;50,-50;50,50delta=0;k=0;for i=1:5 for j=1:2 k=k+1; delta(k)=pictures(i,j)/objects(i,j); endenddeltameans=mean(delta)附录2:图形预处理和分割的程序matrix=imread(page1,bmp);dot1=imcrop(matrix);figure,imshow(dot1)size(dot1)附录3:靶标投影到像平面的中心的求法dot1;k=0;p=0;q=0;m,n,qq=size(dot1)for i=1:m for j=1:n if dot1(i,j)221 k=k+1; p=p+1; q=q+1; row(p)=i; colum(q)=j; end endendsrow=0;for i=1:p srow=srow+row(i);endscolum=0;for i=1:q scolum=scolum+colum(i);endmmm=srow/k;nnn=scolum/k;mm=floor(mmm)nn=floor(nnn)附录4:靶标到象平面的的线性变换(1)function C= Transoframtion(u,v,X,Y)%centerx = (u(1,1) + u(3,1) + u(4,1) + u(5,1)/4;centery = (v(1,1) + v(3,1) + v(4,1) + v(5,1)/4;u = (u-centerx)/3.78;v = (v-centery)/3.78;m,n = size(X);A = X,zeros(m,1),Y,ones(m,1),zeros(m,1);zeros(m,1),Y,zeros(m,1),zeros(m,1),ones(m,1);B=u;v; C = inv(A*A)*A*B;ttt = A*C B(2)%main%u=266,267,555,579,572;%v=442,740,385,701,602;u=189196213501502;v=323422639284582;centerx = (u(1,1) + u(3,1) + u(4,1) + u(5,1)/4;centery = (v(1,1) + v(3,1) + v(4,1) + v(5,1)/4;X=-50,-50,-50,50,50;Y=-50,-20,50,-50,50;C= Transoframtion(u,v,X,Y);Z = (1/0.8)-(3.78/1577);Z= 1/ Z;x0= C(4,1)/Z;y0= C(5,1)/Z;K = C(1,1),C(3,1),x0;0,C(2,1),y0;0,0,1;u = (u-centerx)/3.78;v = (v-centery)/3.78;m,n = size(X);db = atan(C(3,1);ZZ = Z * ones(m,1);A = C(1,1)* X,C(3,1)* X, X*x0,C(1,1)*Y, C(3,1)* Y, x0 * Y, C(1,1)* ZZ, C(3,1)* ZZ, ZZ * x0 zeros(m,1), C(2,1)* X,y0* X, zeros(m,1), C(2,1)* Y,y0* Y, zeros(m,1), C(2,1)* ZZ,y0* ZZ;B= u;v;R = inv(A*A)*A*B;ttt = A*R-B 附录5:程序(1)为读入像图page2;然后构造0-1矩阵c_oleole=imread(page2,bmp);c_ole=0;m,n,sss=size(ole)for i=1:m for j=1:n if ole(i,j)221 c_ole(i,j)=1; else c_ole(i,j)=0; end endendc_ole程序(2)为读入原图ka,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论