1、数学建模数码相机定位模型高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子 邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关 的问题。我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他 公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正 文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违 反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B/C/D中选择一项填写): 我们的参赛报名号
2、为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 参赛队员(打印并签名):1. 2. 3. 指导教师或指导教师组负责人(打印并签名): 日期:年_月日赛区评阅编号(由赛区组委会评阅前进行编号):高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评nnnnnnnnnn备注oooo全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):数码相机定位模型摘要本文利用光学原理建立物体成像位置关系的数学模型,解决了相机系统标定 中的如何确定靶标圆心对应像坐标和固定相机的相对位置等问题
3、。针对如何确定靶标圆心对应像坐标问题,我们分析讨论了各种影像分析方 法,基于针孔成像原理和相机坐标系变换矩阵的思想,建立了线性相机模型, 利用透视变换矩阵确定摄像机的位置标定思想给出算法,通过找靶标和像平面 上对应公切线切点的方法取点,利用取定的点和算法求得相机成像内外参数, 利用MATLAB编程求解,求得靶标圆心对应像坐标。结果如下:在问题1要求的三维坐标系下A,B,C,D,E圆心对应的像坐标是 (单位:nun):(,)针对设计一种方法检验我们模型的问题,我们采用最小二乘法拟合椭圆, 确定中心点,改变所选取的标定点,求得多组中心的值,比较每组中心值与拟 合的中心点,差别不大。并对方法的精度和
4、稳定性进行了讨论。针对如何确定两部固定相机相对位置的问题,以物坐标为中间变量,通过 坐标矩阵的变换建立模型,给出算法,最终确定两部相机的相对位置。本论文通过两种方法对比分析,结果相对吻合,模型的可信度较高。考虑 到畸变因素的影响,本论文进行了模型改进,使模型具有更高的精度,有较强 的推广性。关键词:针孔成像 线性相机模型 坐标系变换矩阵 公切线切点最小二乘法拟合椭圆重述数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相 机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常 用的定位方法是双口定位,即用两部相机来定位。对物体上一个特征点,用两 部固定于不同位置的相机
5、摄得物体的像,分别获得该点在两部相机像平面上的 坐标。只要知道两部相机精确的相对位置,就可用儿何的方法得到该特征点在 固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双口定位, 精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。标定的一种做法是:在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利 用这两组像点的儿何关系就可以得到这两 部相机的相对位置。然而,无论在物平面或 像平面上我们都无法直接得到没有儿何尺 寸的“点S实际的做法是在物平面上画若 干个圆(称为靶标),它们的圆心就是儿何 的点了。而它们的像一般会变形,如图1所 示,所以必须从
6、靶标上的这些圆的像中把圆 心的像精确地找到,标定就可实现。图1靶标上圆的像有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为As C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示(略)。用一位置固定的数码相机摄得 其像,如图3所示(略)。问题:(1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的焦点,x-y平面平行于像平面;(2) 对山图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上 的像坐标,该相机的像距(即焦点到像平面的距离)是1577个像素单位 (
7、1毫米约为个像素单位),相机分辨率为1024X786:(3) 设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;(4) 建立用此靶标给出两部固定相机相对位置的数学模型和方法。2、模型假设假设相机镜头(凸透镜)前后两侧弧度、介质均相同,即镜头前后两侧折射 率相同。假设相机镜头是很完善的,没有缺损或倾斜等外部形变。假设物平面和像平面的中心与镜头的光学中心在同一条直线(光轴)上。假设物平面的点经透镜折射后都可以被像平面接到。假设问题1中靶标和像平面的图形是已知的。像平面上点的像坐标的原点为该相机的光学中心,xy平面平行与像平面。假设不考虑照相机畸变。有效焦距/为相机镜头光学中心到像平面的距
8、离,即像距。3、符号说明fxfyf:图像像素坐标系(,V):像点像素坐标OXY x图像物理坐标系(XV):像点物理坐标(耳,儿,z)物点相机坐标系Oxwywz,w :世界坐标系(兀,儿,J):物点世界坐标/?:旋转正交变换矩阵r:平移变换矩阵/:有效焦距M,:为相机成像内部参数阵M,:为相机成像外部参数阵M:称为投影矩阵4、模型建立及求解问题14.1.1问题分析本问题的整体思路是:在仅已知物平面和像平面,相机的其他属性参数未 知的前提下,建立照相机模型,确定靶标(物平面)上的点到该照相机像平面 的像坐标的映射关系,其中包括照相机成像系统内外儿何及光学参数的标定, 从而达到只要给定标靶上的点,就
9、可直接通过模型求得其像坐标的H的。在具体建立照相机模型时,山于照相机与摄相机在成像原理上没有本质区 别,因此沿用现有比较成熟的摄机标定技术的理论思想。对于问题1,根据假设, 靶标和像平面的图形是已知的,利用针孔成像原理建立模型,引入常用的相机 模型坐标体系,确定各坐标体系的转换关系,建立线性相机模型,利用透视变 换矩阵的相机标定技术的思想给出算法,求取相机模型的内部参数和外部参数。考虑到上述模型是基于靶标点与像点已确定的前提下才能实现的,而实际上我们看到的只是靶标上的若干个圆和其拍摄的像(圆的变形图),不是模型 中要求的“点” O因此我们结合光学成像原理和两图形儿何位置关系确定若干 组特殊靶标
10、点和对应像点。将靶标点与对应像点带入模型,求得相机成像系统 的内外参数。此时只要给出靶标上的点,即可求得其像坐标。建模流程图如下:4.1.2问题1模型建立:4.1. 2. 1坐标系为了定量的描述光学成像过程,计算机一般采用右手定则定义坐标体系,即图像像素坐标系,图像物理坐标系,相机坐标系和世界坐标系,如图lo 1图像像素坐标系:在图像上定义直角坐标系0汗小厂本模型中原点0/在图 像平面的左下角,(“)是以像素为单位的图像坐标系的坐标。图像物理坐标系:用物理单位表示图像像素位置,定义坐标系OXY,原点O 定义在相机与图像平面交点,(X,Y)是以毫米为单位的图像坐标系的坐标。相机坐标系:相机坐标系
11、Oqz是固定在相机上的直角坐标系,其原点O定 义在相机的光心,轴分别平行于图像物理坐标系的忑y轴,4与光轴重 合,(圮”Z)是物点相机坐标。世界坐标系:坐标系儿S描述环境中任何物体的位置,根据具体情况而 定。4.1.2.2常用坐标系变换关系21(1)从世界坐标系(忑门儿心到相机坐标系(忑眩)的变换,世界坐标系中的点到相机坐标系的变换可山一个正交变换矩阵/?和一个平移变换矩阵T表示:(1)(2)用齐次坐标和矩阵形式表示为:Xy/? T儿,Zor 1_.1 1 -其中:丁 = 人心丁是世界坐标系原点在相机坐标系中的坐标,斤3儿正交旋转矩阵心 巧$ 2 2 F + d+3 =1且矩阵元素满足:F+F
12、+帚=1F+F+与2=1正交旋转矩阵中的三个独立变量“上心,加上平移矩阵中的匸。厶总共有 6个参数决定了相机光轴在世界坐标系中空间位置,因此这六个参数称 为相机外部参数。(2)从相机坐标系到图像物理坐标系的理想投影变换(/为有效焦距)即针孔模型下的理想透视投影变换,有下式成立(3)X=f-x/zY = fy/z同样用齐次坐标和矩阵表示上式为:XX/ 0 0 0_Y=0/ 0 0y0 0 1 0z11将上式的图像坐标系进一步转化为图像坐标系: u 一 w() = X / dx = sx -X v-v0 = r/jy=5y-r齐次坐标表示为:U0wo%V=0s、voY10011其中,如是图像中心(
13、光轴与图像平面的交点)坐标,心,/、分别为一个像素在X与Y方向上的物理尺寸,Sx=/de片=l/v分别为X与Y方 向上的采样频率,即单位长度的像素个数。山此可得物点P与图像像素坐标系中像点P的变换关系:u-u() = f-sx-x/z = fxx/z (7)y- = f-sy-y/z = fyy/z其中,A=A fy=fiy分别定义为X和Y方向的等效焦距。几人,如M等4个参数只与相机内部结构有关,因此称为相机内部参数。(3)世界坐标系与图像物理坐标系变换关系(共线方程) = = 5兀+斤2儿+人3+匚f fx filxw+rnxw + riixw+tz丫 _ 一 _乙兀+勺儿+冬* +。f f
14、y F兀+匸入+ 6兀+1RO二 M|M?X =MX齐次坐标表示为:A 0 M 6)可得加个方程,是一个超定方程,表示成矩阵形式如下:KM = U (12)其中Ki10000-也儿10000XH1儿11一畑一岭儿1一儿,10000一 g-叽一坷召0000儿7J0一一叽一fL 2nxllM = niu, mn, , m2), m22, m23, m24,心 m32, m1u=W1 V1ui片”叫丫利用最小二乘法求出上述线性方程组的解为:M = KtKYxKtU实际上山等式M矩阵即可确定物体世界坐标(几,儿,和)到图像点(“*)的映射关 系。(2)求解乩了和叫将R和M矩阵分块,其中&代表R矩阵中第
15、j行,代表M矩阵中第i行的前三个元素组成的行向量,即ri_M;加4R =M =加 24二叫M =叫 M2 m24(13)M3 1山矩阵变换MrA;2=M可得:fni4加24=Ms1加24=f足+V0R3 fyty+votz.R3 fz (14)化简结果如下:1fXP _叫凶2-心M)2ZA L ”5( 叫)L =畑=叫1场期1 fy = m34 I Af)x M31综上,带入已知参数,可得到投影矩阵M 同时可以求得相机成像内 外参数。(3)在靶标图和像图上确定特殊标点及其对应像点线性相机模型成像原理本质是相同的,因此基于小孔成像的原理,靶标中 两圆间公切线所在的切点在经过镜头折射后,必然与像中
16、对应的两个形变后的 圆的公切线所在切点是对应的,如下图所示:由左图(物图)到右图(像图),圆的形状虽然有改变,但是公切线所在切 点还是对应不变的。对于物平面上的若干个圆,任取两圆可得四个切点,这样可得若干个切点 及其对像平面上的像点,实际取多少切点可根据图形和解题需要具体确定。山 此可确定靶标中切点的世界坐标和对应像中切点像素坐标。4.1.4求解通过上述模型和算法(程序见附录prol)得到投影矩阵,也就是确定了原 模型中相机成像的内外参数。此时,只要给出物平面的圆心,就可直接求得靶标上圆心在像平面上像坐标。问题24.2.1问题分析根据题H给出的已知条件,首先利用问题1取点方法得到多组靶标点与其
17、 对应像点,从而确定靶标点的世界坐标及其像点的像素坐标,再将其带入问题1 模型,可以得到相机成像内外参数。最后将图2的圆心的世界坐标带入模型, 得到对应像平面上的像坐标。4.2.2模型的建立(1)选取特殊物点及其对应像点本题中选取的世界坐标系是以物平面的左下角E为原点,EA方向为x轴,EB 方向为y轴。利用问题1中公切线取点的方法,结合问题本身,可选取的切点及其像平 面对应的像点如下(图中仅给出圆两两外切情况,公切线内切选点也可用):靶标上的取点:像平面上靶标点相对应的像点P10具体取点的算法和流程图如下(编程见附录program2):算法:Stepl:根据图3靶标的像的每个像素颜色的不同将b
18、mp图转化为0/1编码Step2:运用广度搜索算法扩展节点,建立在一个区域图形的相互关系Step3:运用并查集算法压缩路径,将每个区域图形独立Step4:用一个像点周圉四个点来确定该点是否为区域图形的边缘点,如果为边 缘点则存入v数组中Step5:对于任意两个区域,各取一个边缘点,确定一条直线y=k*x-bStep6:将这两个区域上所有的边缘点的横坐标带入直线,检测该直线是否与该 区域相切,如果该直线与两个区域都相切,则这对边缘点为两个区域的 一对切点Step7:对求出的切点进行处理,确定任意两个区域的所有切点注: 任意两个区域应有两对切点,但山于精度原因,两个区域我们求出多对 解。将横纵坐标
19、不超过2个像素的点归为一类点,将这一类点求平均值, 抛弃距离平均值点10个像素点,再求剩余点横纵坐标的平均值,取整, 确定两个区域的两对切点。得到如下特殊切点的像点坐标(像平面左下角为原点,单位是像素):UVu VUVP1326619P7288301P13364580P2425610P8591296P14323266P3645591P9278232P15604554P4312539P10577233P16549253P5416532P11282579P17676559P6636517P12246262P18617270(2)确定相机内外参数确定特殊点以后,带入问题1中线性相机模型,利用问题1中
20、具体算法可 以求得相机成像内外参数:3.380.140283.790.162.710264.820.000.0001 3.380.140283.79062.710264.827.00 xlO-47.00 xlO-4010.260.040_-0.010.2600.10-00020.96_20.2511.73M =M =R =注:线性方程组中未知数的数口大于实际自山度的数因此,线性方程中的 未知数不是相互独立的,在有噪声的情况下,解的线性方程中的未知数也许能 很好地符合这一组线性方程,但山此分解得到的参数值未必能与实际情况相符, 使得精度受到一定限制。(3)靶标上圆心在像平面上对应的像坐标利用MA
21、TLAB编程求解,(程序见pro2)对于靶标上的圆,通过M矩阵变换 求得其在像平面上的对应点的像素坐标为(以左下角为坐标原点,单位:像素):ABCDEUV552问题1要求的坐标系下,A, B, C, D, E的相机坐标为(单位:mm):ABCDEXyz利用MATLAB做图,在像平面的圆上标出求得的像点,如下:650600550500450400350300250200200 250 300 350 400 450 500 550 600 650 700从图形可以直观的看出,求得的像点在图形(近似看成椭圆)的中心附近, 偏差不大,这是符合实际中照相机拍照原理的,山此也体现了模型的合理性和 有效性
22、。问题34.3.1问题分析在前两问中,我们建立的模型主要是从光学成像原理方面,利用坐标系的 变换关系来找到靶标上圆的像坐标。实际中,山于物距比相距大得多,一般可 以近似的认为,圆在经过透镜成像以后变为椭圆,若不考虑畸变因素,可以认 为椭圆的中心就是原物平面圆的中心。基于这种思路,在本问题中我们首先提 取椭圆边缘点,然后采用最小二乘法提取像平面中椭圆,进而求得椭圆中心坐 标,即为靶标圆心的像坐标,并基于此解对问题2进行检测。4. 3. 2模型建立(1)建立椭圆最小二乘法拟合模型:先对采集的像平面的bmp图像转化为0/1编码,通广度搜索和并查集确定椭 圆区域边缘点,跟据边缘点数据进行最小二乘拟合。
23、椭圆的平面方程为4 : Ax2 +Bxy + Cy2 +Dx + Ey + F =0BE2CD根据该方程所确定的椭圆的中心坐标为: 若 Ax + BxQy0 + Cy: + DxQ + EyQ + F 0, 则点(A0,凡)在拟合的椭圆外,否则则在椭圆内。Step2:确定像点在拟合椭圆内的个数M,像点个数为N,则该区域的拟合精度为NStep3:求出所有区域图像的拟合精度,求平均值,即为此最小二次拟合椭圆的精度拟合度为:椭圆12345精度则平均椭圆拟合度为:由此可以看岀拟合度较髙,拟合效果很好。(3)利用拟合椭圆对问题2结果的检验由于对相机来说,物距远远大于焦距,圆经小孔成像的投影接近椭圆,我 们对成像进行椭圆的最小二乘拟合,以椭圆的中心作为圆心的参考投影点,评 价模型结果的精确性以及稳定性。模型2结果的精确性检验根据椭圆拟合的结果,以椭圆左下角为原点,自左向右为x轴,自下向上为,轴建立图像素坐标系,得到椭圆中心的坐1示ABCDEUV工 J(终一)+(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1