《数码相机定位问题研究大学生数学建模论文(20页).doc》由会员分享,可在线阅读,更多相关《数码相机定位问题研究大学生数学建模论文(20页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数码相机定位问题研究大学生数学建模论文-第 19 页高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B/C/D中选择一项
2、填写): 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): 日期: 年 月 日赛区评阅编号(由赛区组委会评阅前进行编号):高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):数码相机定位问题研究摘要基于双目CCD立体测量系统标定技术被广泛用于交通监管中,该技术的核心是摄影测量。本文利用MATLAB对
3、圆的边界提取,再用最小二乘法拟合椭圆曲线,并借助摄影测量基本公式建立二维模型求得靶标圆心像坐标。并对该模型作检验,再利用针孔模型分别求得两部相机像平面对应于物平面的旋转向量和平移向量,进而确定两相机的相对位置。首先,我们假设:已知四点的物平面坐标和像平面坐标,借助摄影测量基本公式建立二维模型求得物平面与像平面的对应关系,但有.八个未知数待定(将在第二问中给予求解)。其次,我们根据A、B、C、D、E五个圆形靶标的成像情况利用MATLAB软件提取其边缘阈值。在此基础上利用最小二乘法拟合椭圆求得其中心坐标。在不考虑畸变影响的前提下,该中心坐标即为圆心的像坐标。任取A、B、C、D、E中四点代入模型一中
4、,即可求得物平面和像平面的对应关系。再次,我们在第三问中分别以A、B、C为研究对象求出其在模型一的条件下的圆心像坐标。利用检验,比较拟合椭圆中心坐标与模型一求得结果的差异,在置信度情况下,这三组结果无显著差异,从而检验了模型的精度及稳定性。最后利用线性相机模型(针孔模型)确定世界坐标系和计算机数字图像坐标的对应关系,从而分别求得两部摄像机的旋转矩阵和平移向量,从而我们可以求得两相机相机坐标系间的关系:问题二的求解结果如下表:A、B、C、D、E五点在像平面上的像坐标坐标点像坐标(mm)像坐标(像素)A(-49.83,51.37)(-188,194)B(-23.51,49.43)(-89,187)
5、C(34.16,45.13)(129,171)D(18.89,-31.47)(71,-119)E(-60.09,-31.21)(-227,-118)注:该坐标系原点为像平面的中点,向右为x轴正方向,向上为y轴正方向。1. 问题重述(1)问题的背景摄影技术自 20 世纪 40 年代开始应用于交通事故分析,已经得到广泛的应用,但仅用做简单定性分析,随着计算机视觉和图像处理技术的发展,摄影测量技术在交通事故现场测量中的应用研究已经成为热点,国内外许多学者已经做了大量研究,使定量分析成为可能。如在 80 年代,Kerkoff 对透视投影发展的历史、透视绘图原理和透视成像原理进行了详细阐述,根据透视原理
6、研究了利用摄影图像确定拖痕长度等的方法,逐步形成了二维摄影测量方法,开发出 Pc-rect 等现场测量软件。在 1994 年,Nicholas 等提出了交通事故现场的反投影照片三维重建法 。近年来,随着计算机视觉原理的突破和飞速发展,国内学者李江教授、许洪国教授等相继提出了利用立体视觉原理的多照片重建交通事故现场的方法,并初步开发了软件。为改变标定参考物的限制,进行照相机自标定研究,鲁光泉等提出了基于基础矩阵的交通事故现场三维重建方法。当前主要的交通事故现场重建方法,有二维方法、三维方法等。(2)问题的提出用数码相机摄制物体的相片确定物体表面某些特征点的位置,目前最常用的定位方法是双目定位,即
7、用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置是关键,这一过程称为系统标定。本问题的第四小问就是解决该问题。系统标定最常用的一种做法是:在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。所以我们实际的做法是在物平面上
8、画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,系统标定就可实现。题目中第一问和第二问就是解决该问题。该题目不但要求我们建立模型和算法,而且要求我们对所见的模型进行精度和稳定性分析。在前三个问题的基础上,第四问要求我们通过物平面与像平面的对应关系找到像平面相对物平面的旋转矩阵和平移矩阵,从而建立两部相机像平面的夹角和距离关系,以便确定两部相机的相对位置。2. 条件假设(1)不考虑相机自身因素导致的误差(2)对第二问中抽样选取部分边界点拟合的椭圆误差不予考虑(3)两相机透镜光心处于同一水平高度(4)两部相机的内部参数是相
9、同(5)本题中所给图像信息和数据真实准确(6)不考虑人为因素造成的误差3. 符号说明:物点在二维图像平面坐标系上的坐标:物点在二维物平面坐标系上的坐标:表示图像的灰度值:处理前图像的信息矩阵:处理后图像的信息矩阵:相机的像距(这里假定两部相机的焦距一样):像平面上x轴方向每一像素的物理尺寸:像平面上y轴方向每一像素的物理尺寸:若图像中心在u、v坐标系中的坐标为()(以像素为单位):被摄像点在世界坐标系中坐标:被摄像点在摄像机1中的u、v坐标系中的坐标:被摄像点在摄像机1中的u、v坐标系中的坐标:被摄像点在摄像机1的相机坐标系中的坐标:被摄像点在摄像机2的相机坐标系中的坐标:系统内部参数矩阵:系
10、统外部参数矩阵:投影矩阵:旋转矩阵:平移向量4. 模型的建立及分析问题一的模型:对于给定的像平面上的靶标圆的图像,我们可以先提取其边界坐标,再根据最小二乘法进行椭圆拟合(在问题二中将进行详细讨论),用拟合椭圆的中心近似地代替靶标上圆心像的坐标。但是,当我们只有靶标上的圆而没有它的图像时,是否也可以通过某种替代关系,找出它在相机平面上的坐标呢?本文对其展开如下讨论:图 1如上图所示:在靶标上建立实际坐标系,在相机平面内建立平面坐标系,透视中心表示相机光心。若在实际坐标系中各待求像坐标点在同一平面上,则可以根据直接线性变换,推出从实际坐标平面到图像平面的对应关系,若已知实际坐标系中4个或4个以上共
11、面点的空间坐标和像坐标,这种对应关系就可以求得。根据对应关系,可以求平面上任一靶标圆心的像坐标了。其原理如下:设空间坐标系中任意点和它在二维图像平面坐标系上的坐标为,根据摄影测量基本公式空间点和图像点满足假设四个已知点的空间坐标和图像坐标分别是 和 可得如下方程组:通过对上述方程组的求解,我们可以得到到,这样就建立起空间坐标系中的点和二维图像平面对应点之间的关系,也就是说如果知道空间坐标系中一点,通过以下公式就能得到其对应点在二维图像平面的坐标。问题二的求解:在问题一中,我们建立了求解没有图像的空间点的像坐标,它是基于4个以上含有像坐标的空间点的。因此,只有当我们把四个(或以上)像坐标求出,模
12、型一才是有效的。现在就已知空间点和它的图像求其像坐标的问题进行如下讨论: 我们认为空间中一个圆孔经过相机成像后,在图像平面上呈现为椭圆形状。对于图像中的圆中心像坐标,可以用如下方法进行提取:自动阈值分割图像中的椭圆,提取椭圆轮廓并用轮廓数据进行最小二乘椭圆拟合,求出椭圆的中心作为空间圆孔所对应的图像坐标,下面是具体算法。1.取ROI图像灰度范围内的中值作为初始阈值: 其中,I表示图像的灰度值。2.根据将图像分割成目标和背景两个部分,求出两部分的平均灰度值,。其中为权重系数,一般取=1(1)求出新的阈值:如果,结束迭代。去迭代结束时的为最佳分割阈值对ROI图像进行二值化。但是,在本题中,图像的坐
13、标已进行二值化,因此上述步骤本文并未进行。(2)提取椭圆轮廓并拟合椭圆包含源口特征的ROI图像进行轮廓提取,其提取方法如下: 首先将本题中所给的分别率为的图像信息读入到MATLAB的一数组A中,然后利用MATLAB中的边界函数edge对数组A进行处理,通过这一过程我们可将图像中边界的相关信息读入另一数组B中,再通过对数组B的简单处理,我们便可得到图像的轮廓信息。得到如下图所示的图像:图 2 处理前的图像(即本文中数组A对应的图像)图 3 处理后的图像(即本文中数组B对应的图像)注:数组A、B都是的二维数组,其对应元素值为0和1 其中图像上白色的区域值为1,黑色的区域值为0从而得到椭圆轮廓数据,
14、下表为其中一个椭圆的轮廓上的坐标值对以E点为圆心的圆在像中部分边界点坐标提取编号坐标编号坐标1(502,246)12(493,324)2(509,246)13(502,324)3(483,254)14(517,318)4(475,262)15(527,310)5(471,270)16(532,302)6(468,278)17(535,294)7(467,286)18(537,286)8(467,294)19(537,278)9(469,302)20(536,270)10(472,310)21(533,262)11(480,318)22(526,254)注:该坐标系为以像左上角为原点,向下为x轴
15、,向右为y轴,以像素为坐标单位这样通过这些边界点坐标就可以利用最小二乘法实现椭圆拟合。(3)求解椭圆的中心作为空间圆孔中心所对应的图像坐标椭圆的中心坐标可以通过如下公式求得:对于曲线的中心坐标可以由下式得出:因此,拟合椭圆后,可以将椭圆方程的系数代入上式求出圆孔中心图像坐标。我们依然以E点为研究对象,我们把上文表格中的E值横坐标和纵坐标分存在两个数组中:X=502,509,483,475,526;Y=246,246,254,262,254。 在本文中,我们直接采用美国人Andrew Fitzgibbon, Maurizio Pilu, Bob Fisher编的最小二乘法拟合椭圆,采用上述原理直
16、接返回椭圆的中心E(-227,-118)。依照此方法我们求得A、B、C、D、E的像素坐标和实际坐标如下表:A、B、C、D、E的像素坐标A点坐标(-188,194)B点坐标(-89,187)C点坐标(129,171)D点坐标(71,-119)E点坐标(-227,-118)注:该坐标系原点为像平面的中点,向右为x轴,向上为y轴,以像素为坐标单位A、B、C、D、E五点在像平面上的像坐标A点坐标(-49.83,51.37)B点坐标(-23.51,49.43)C点坐标(34.16,45.13)D点坐标(18.89,-31.47)E点坐标(-60.09,-31.21)注:该坐标系原点为像平面的中点,向右为
17、x轴,向上为y轴,以毫米为坐标单位结果的检验:因为物平面内A、B、C三点共线,这三点在像平面内也应该共线即可以近似地认为。从而验证了我们第二问结果的科学性。问题三:基于成对数据的检验:为了比较像平面中的拟合椭圆中心点坐标和建立多元线性回归拟合出来的像平面上的靶标中心坐标的差异,我们取三对坐标 , , 作对比试验,得到一批成对的观察值,然后分析观察数据作出推断,由于A、B、C三点坐标与其位置有关,不能看作三个独立的随机变量观察值,因此我们采用逐对比较法。如果不考虑横纵坐标的差异,我们可以将试验对象看作6对相互独立的观察结果 。其中 其他类似。再令则相互独立,.相互独立,又由于,.是由同一因素引起
18、的,可认为它们服从同一分布。123456椭圆中心坐标值M-49.8351.37-23.5149.4334.1645.13模型求取值N-50.1651.42-23.2549.4933.5145.18差值Q0.26-0.057-0.33-0.060.65-0.05今假设,=1,2,3,4,5,6 这就是说,.构成正态分布的一个样本,其中未知,我们需要基于这一样本检验假设。原假设,备择假设分别假设,.的样本均值和样本方差的观察值为,按基于单个正态分布总体均值的检验,通过概率知识知检验的拒绝域为,其中,为置信度,这里取0.05即可知拒绝域为由观察值,现的值不落在拒绝域内,故接受。认为用多元线性回归拟合
19、出来像平面上靶标中心坐标与像平面的拟合椭圆中心坐标无明显差异。模型的精度和稳定性讨论:对于圆形靶标,经过透视投影变换,在摄像机平面所成的像为椭圆,在圆心像点位置测定过程中,我们模型的作法是通过图像处理技术得到投影椭圆的几何中心,并近似认为它是空间圆的圆心在摄像机像平面上的准确二维像点,然而由于透视变换的固有特性,只有当圆所在平面与摄像机图像平面平行时,这种近似才是正确的。在二者不平行时,用像平面上投影椭圆的几何中心近似空间圆心的实际像点,必然在测量中引入误差,这种误差就是所谓的畸变误差。随着圆所在平面与摄像机图像平面之间夹角的增加,畸变误差将增大。从某种意义上说该误差影响了模型的精度和稳定性。
20、但考虑实际情况,用于交通监管的数码相机一般距拍摄目标距离不大,而且畸变误差的范围不过几微米(圆平面与像平面夹角为0时除外)到几十微米,因此该模型可近似看作稳定且准确的,畸变误差不影响该模型的应用。问题四的模型 在前三问的基础上,我们对空间点像坐标的求解已不再陌生。在图像特征点坐标及其在像平面的坐标已知的前提下,如何确定两部相机的相对位置呢?以下对该问题展开讨论:建模准备:1.图像坐标系、照相机坐标系与世界坐标系的定义图 4 相机成像原理图4为一个位于三维空间的照相机成像几何模型,其中各坐标系的定义如下:称为世界坐标系,该坐标系的设置一般是根据实际情况加以考虑。称为照相机坐标系,其原点位于镜头的
21、物方主点上,轴与镜头的光轴重合,方向由镜头指向物方。称为成像平面二维坐标系。在理想的光学系统中,成像平面的原点位于光轴上,但实际中存在一定的偏移量。称为计算机数字图像平面二维坐标系。该平面是对镜头成像平面数字量化的结果,其原点一般位于图像的左上角。照相机采集的图像以标准电视信号的形式输入计算机,经计算机中的专用数模转换板变换成数字图像。每幅数字图像在计算机内为MN数组M行N列的图像中的每一个元素(称为象素)的数值即是图像点的亮度(或称灰度。若为彩色图像,则图像上象素的亮度将由红、绿、蓝三种颜色的亮度表示。),如图5所示,在图像上定义直角坐标系u、v,每一象素的坐标(u,v)分别是该象素在数组中
22、的列数与行数,所以(u,v)是以象素为单位的图像坐标系的坐标。由于(u,v)只表示象素位于数组中的列数与行数,并没有用物理单位表示出该象素在图像中的位置,因而,需要再建立以物理单位(例如毫米)表示的图像坐标系。该坐标系以图像内某一点为原点,x轴与y轴分别与u,v轴平行,(x,y)表示以毫米为单位的图像坐标系的坐标。在x、y坐标系中,原点定义在相机光轴与图像平面的交点,该点一般位于图像中心处,但由于相机制作的原因,也会有些偏离,若在u、v坐标系中的坐标为(),每一个象素在x轴与y轴方向上的物理尺寸为dx,dy,则图像中任意一个象素在两个坐标系下的坐标有如下关系:图5 图像坐标系为以后使用方便,我
23、们用齐次坐标与矩阵形式将上式表示 (*1)逆关系可写为: (*2)照相机成像几何关系可由图5表示。其中O点称为照相机光心,照相机成像几何关系可由图5表示。其中O点称为照相机光心,轴和轴与图像的x轴与y轴平行,轴为相机的光轴,它与图像平面垂直。光轴与图像平面的交点,即为图像坐标系的原点,由点O与轴组成的直角坐标系称为相机坐标系,为相机焦距。图 6 相机坐标系与世界坐标系由于照相机可位于环境中的任何位置,可以在环境中再选择一个基准坐标系来描述照相机的位置,并用它描述环境中任何物体的位置,该坐标系称为世界坐标系。它由,轴组成。照相机坐标系与世界坐标系之间的关系可以用旋转矩阵R与平移向量t来描述。因此
24、,空间中某一点P在世界坐标系与照相机坐标系下的齐次坐标如果分别是和,于是存在如下关系:(*3)其中,R为33正交单位矩阵;t为三维平移向量;0,为44矩阵。2.线性相机模型空间任何一点P在图像上的成像位置可以用针孔模型近似描述,即任何点P在图像上的投影位置p为光心O与P点的连线OP与图像平面的交点。这种关系也称为中心射影或透视投影。由比例关系有如下关系式 (*4)其中,(x,y)为p点的图像坐标;为空间点P在相机坐标系下的坐标。用齐次坐标与矩阵表示上述透视投影关系 (*5)将式(*2)与式(*3)代入式(*5),得到以世界坐标系表示的P点坐标与其投影点p的坐标(u,v)的关系: (*6)其中
25、,为34矩阵,称为投影矩阵; 完全由决定,由于 只与照相机内部结构有关,称这些参数为照相机内部参数; 完全由照相机相对于世界坐标系的方位决定,称为照相机外部参数,确定某一照相机的内外参数,称为照相机定标。在,(u,v),和()已知的情况向下,运用matlab强大的矩阵处理功能可以求得:= (*7)由矩阵的对应关系可的和模型的建立: 对于该问题,如果给出如下数据,即可以确定出两部相机的相对位置:相机的像距(这里假定两部相机的焦距一样):像平面上x轴方向每一像素的物理尺寸:像平面上y轴方向每一像素的物理尺寸:若图像中心在u、v坐标系中的坐标为()(以像素为单位):被摄像点在世界坐标系中坐标:被摄像
26、点在摄像机1中的u、v坐标系中的坐标:被摄像点在摄像机1中的u、v坐标系中的坐标:被摄像点在摄像机1的相机坐标系中的坐标:被摄像点在摄像机2的相机坐标系中的坐标通过下面的公式可分别求出和 (*8) (*9)图 7接下来我们建立两相机相机坐标系间的关系:通过以上两公式便可得到两相机的相机坐标系间的旋转矩阵和平移向量,也就是这里需要的两相机的相对位置。5. 模型进一步讨论基于透视投影变换,空间圆在摄像机像平面上所成的像是椭圆曲线5 . 为了准确获取空间圆中心,目前视觉检测中本文采用的方法的方法是:先获得空间圆中心在摄像机像平面上的二维像点,然后基于视觉检测模型求出其空间三维点坐标,即为空间圆中心.
27、 并且认为通过对相机像平面上的椭圆曲线进行拟合得到的椭圆中心就是空间圆中心在相机像平面上的准确二维像点. 然而,这种处理方法只是一种近似.由于透视投影变换所固有的特性,只有在空间圆截面与相机像平面平行时,这种处理方法才是准确的. 在大多数情形下,存在一定的偏差,称其为畸变误差. 如果在实际应用中直接用像平面上拟合得到的椭圆中心像点代替空间椭圆中心的实际像点,必然在测量中引入误差.针对此问题,应该考虑畸变对的影响。1, 空间圆的摄像机针孔成像原理空间椭圆的摄像机针孔成像原理即透视投影变换如图1 所示: 图 8 空间圆的像机针孔成像原理 在图8 中,O 为投影中心,即光学中心. O1 为空间圆的中
28、心. Oxyz 为摄像机坐标系, Oxyz为新建坐标系,称之为空间圆坐标系, 其坐标原点O与O 重合, z轴的正向指向正交于空间圆O1 A1 B1 C1 D1 所在平面,即为其法线方向. 为摄像机像平面,与z 轴正交. 为O1 A1 B1 C1 D1 在上所成的曲线像. O2 A2 B2 C2 D2 为O1 A1 B1 C1 D1在xOy坐标面上的正交投影. 设O1 在Oxyz中的坐标为( x , y , z) ,矢量OO1在Oxyz中的方向角分别为,建立空间圆中心O1 在摄像机像平面上的成像畸变误差模型: 空间椭圆在上的像椭圆中心坐标模型,为了建模方便起见, 不失一般性, 考虑O1 A1 B
29、1 C1 D1 的如下位置情形:O1 A1 B1 C1 D1 的某一轴A1 C1 与矢量OO1 正交,另一轴为B1 D1。通过透视中心O 形成一个斜椭圆锥面, 在Oxyz下记为OA1 B1 C1 D1 , 在Oxyz 下记为OA1 B1 C1 D1 ,则OA1 B1 C1 D1 的外形线A1 OC1 为一等腰三角形. 设= A1 OO1 =C1 OO1 ,又假设,当OO1 D1 90时,令 90时, 令 =B1 OO1 ;当OO1 B1 D1时,令 = D1 OO1 =B1 OO1 . 令矢量OB2 与x轴正向沿逆时针方向的夹角为.O1 A1 B1 C1 D1 的像平面曲线 的方程建立过程如下
30、:在Oxyz 下,为与OA1 B1 C1 D1 的截交线. 设的方程为F ( x , y , z) = 0 , OA1 B1 C1 D1的方程为G( x , y , z) = 0 ,则的方程为F( x , y , z) = 0G( x , y , z) = 0(1)在平面z= z内,O1 A1 B1 C1 D1 在Oxyz下的方程可以表达为(2)对于矢量OO2 ,有如下关系成立:(3)所以有 =,,则 = =- (4)由式(3) 和式(4) 、式(2) 进一步整理,并令 为变量, 即用z代替 , 则得到在Oxyz下OA1 B1 C1 D1的方程为 (5)由图1 可见,Oxyz 与Oxyz只存在
31、旋转关系,设由下式给出 (6)令,利用式(6) 、式(5)转换为Oxyz 下OA1 B1 C1 D1 的方程为依式(1) ,将: z = f 带入式(7) ,并令k = u sin( r1 cos - r7cos) -cos( r4 cos - r7 cos) l = u sin( r2 cos - r8 cos) -cos( r5 cos - r8 cos) m = u sin( r3 cos - r9 cos) -cos( r6 cos - r9 cos) fn = tan cos( r1 cos - r7 cos) +sin( r4cos - r7 cos) p = tan cos( r
32、2 cos - r8 cos) +sin( r5cos - r8 cos) q = tan cos( r3 cos - r9 cos) +sin( r6 cos - r9 cos) fr = ur7 tans = ur8 tant = ur9 f tan (7)则得到在Oxyz 下,O1 A1 B1 C1 D1 在上的透视投影的方程为( k2 + n2 - r2 ) x2 + 2 ( kl + np - rs) xy +( l2 + p2 - s2 ) y2 + 2 ( mk + nq - rt) x +2 ( ml + pq - st) y + m2 + q2 - t2 = 0 (8)式(8
33、) 为一二次曲线表达式,它可以表示椭圆、圆、双曲线、抛物线或者直线. 但在实际的视觉检测系统中,被测物体总是处于像平面的前方. 因此,O1 A1 B1 C1 D1 在上所成的像 为一闭合的曲线,且为椭圆或者圆. 因此, 的中心坐标( a , b)由下式给出:a = ( l2 + p2 - s2 ) ( mk + np - rt) -( kl + np - rs) ( ml + pq - st) / ( kl + np - rs) 2 - ( k2 + n2 -r2 ) ( l2 + p2 - s2 ) b = ( k2 + n2 - r2 ) ( ml + pq - st) -( kl + n
34、p - rs) ( mk + nq - rt) / ( kl + np - rs) 2 - ( k2 + n2 -r2 ) ( l2 + p2 - s2 ) (9)2. 2 空间椭圆中心在上的实际像点坐标模型O1 A1 B1 C1 D1 的中心O1 在上的实际像点的坐标可以利用直线OO1 与的交点来求取. 首先建立OO1 的方程.OO1 即直线OO1 在Oxyz下的方程为 (10)由式(3) 和式(6) ,得到OO1 在Oxyz 下的方程为( r1 x + r2 y + r3 z) (11)OO1 与: z = f 的交点即为O1 点的实际像点. 把z = f 带入式(11) ,得( r1 c
35、os - r7 cos) x + ( r2 cos - r8 cos) y =r9 f cos - r3 fcos( r4 cos - r7 cos) x + ( r5 cos - r8 cos) y =r9 f cos - r6 f cos (12)由式(12) 得到O1 点的实际像点的坐标( a, b) 的表达式为(13)其中k1 = r1cos - r7 cosl1 = r2 cos - r8 cosm1 = ( r3 cos - r9 cos) fn1 = r4 cos - r7 cosp1 = r5cos - r8 cosq1 = ( r6 cos - r9 cos) f 成像畸变误
36、差模型式(9) 和式(13) 只是在O1 A1 B1 C1 D1 所在的平面与平行时才有a = a, b = b. 当二者之间存在一定夹角的时候,它们并不相等. 用这2 个点之间的距离d 来描述它们之间偏差的大小,即空间椭圆中心的摄像机针孔成像(即透视投影变换)畸变误差数学模型为 (14)式(14) 中, a , b 和a, b已分别由式(9) 和式(13)具体给出.模型的改进:我们在第四问建立的模型是线性模型不能准确地描述成像几何关系,尤其在使用广角镜头时,在远离图像中心处会有较大的畸变。考虑到各种畸变影响,我们采用下列公式描述非线性畸变: (15)其中,为由小孔线性模型计算出来的图像坐标的
37、理想值;(x,y)是实际的图像点的坐标,与是非线性畸变值,它与图像点在图像中的位置有关,可用以下公式表达: (16)是非线性畸变系数。一般情况下,非线性模型的径向畸变已经能够满足描述非线性畸变,国内外研究表明引入过多的非线性参数不仅不能提高精度,反而引起解的不稳定,根据需要选择合适的非线性模型。 参考文献1 阮秋琦编著数字图像处理学M北京:电子工业出版社,2001.2 邱茂林,马颂德,李毅.计算机视觉中摄像机定标综述J.自动化学报,2006, 26(I):43:55.3 叶建军.直接线性变换解法的适用性J.测绘技术,1990,(2):16-19.4 李欣菊. 摄像机标定算法研究D, 中科院自动
38、化研究所, 2003.5 孟晓桥, 胡占义.一种新的基于圆环点的摄像机自标定方法J.软件学报, 2002, 13(5):957964.6 李德仁, 郑肇葆. 解析摄影测量. 北京: 测绘出版社,2002.7 张剑清, 张祖勋. 数字摄影测量. 武汉: 武汉测绘科技大学出版社, 2006.8 方德植, 陈奕培. 射影几何. 北京: 高等教育出版社,2003.9 李鹏, 王军宁.摄像机标定方法简述J.技术与应用, 2007: 21- 24.10毛剑飞, 邹细勇, 诸静.改进的平面模板两步法标定摄像机J.中国图象图形学报, 2004, 9( 7) : 846- 852.11秦大辉. 结构光二维测量系
39、统关键技术的研究D . 华中科技大学, 2005: 2 - 12.12马颂德,张正友. 计算机视觉计算理论与算法基础M . 北京:科学出版社, 1998: 52 - 93.13吴晓良.数字影像明显目标的精确定位D.武汉:武汉测绘科技大学,1999.14杨启帆,何勇,谈之奕.数学建模竞赛。浙江大学出版社,2005.15盛骤,谢式千,潘承毅.概率论与数理统计(第三版).北京:高等教育出版社,2000.16David R. Anderson,Dennis J. Sweeney,Thomas A. Williams等著,于淼等译.数据模型与决策.机械工业出版社,2002.17叶其孝.大学生数学建模竞赛
40、辅导教材(一).长沙:湖南教育出版社,1998.19张培强.MATLAB语言演算纸式的科学工程计算语言.合肥:中国科技大学出版社,1995.20成礼智等.数学建模的理论与实践.北京:中国科技大学出版社,1999.21数码相机定位.www. 附录最小二乘法拟合椭圆的MATLAB程序function a = fitellipse(X,Y)% FITELLIPSE Least-squares fit of ellipse to 2D points.% A = FITELLIPSE(X,Y) returns the parameters of the best-fit% ellipse to 2D p
41、oints (X,Y).% The returned vector A contains the center, radii, and orientation% of the ellipse, stored as (Cx, Cy, Rx, Ry, theta_radians)% Example: Run fitellipse without any arguments to get a demoif nargin = 0 % Create an ellipse t = linspace(0,2);Rx = 300 Ry = 200 Cx = 250 Cy = 150 Rotation = .4
42、 % Radians x = Rx * cos(t); y = Ry * sin(t); nx = x*cos(Rotation)-y*sin(Rotation) + Cx; ny = x*sin(Rotation)+y*cos(Rotation) + Cy; % Draw it plot(nx,ny,o); % Fit it fitellipse(nx,ny) % Note it returns (Rotation - pi/2) and swapped radii, this is fine. returnend% normalize datamx = mean(X);my = mean(
43、Y);sx = (max(X)-min(X)/2;sy = (max(Y)-min(Y)/2;x = (X-mx)/sx;y = (Y-my)/sy;% Force to column vectorsx = x(:);y = y(:);% Build design matrixD = x.*x x.*y y.*y x y ones(size(x) ;% Build scatter matrixS = D*D;% Build 6x6 constraint matrixC(6,6) = 0; C(1,3) = -2; C(2,2) = 1; C(3,1) = -2;% Solve eigensystemgevec, geval = eig(S,C);% Find the negative eigenvalueI = find(real(diag(geval) 1e-8 & isinf(diag(geval);% Extract eigenvector corresponding to negative eigenva