数学建模数码相机定位模型.docx

上传人:b****3 文档编号:4037185 上传时间:2022-11-27 格式:DOCX 页数:29 大小:232.29KB
下载 相关 举报
数学建模数码相机定位模型.docx_第1页
第1页 / 共29页
数学建模数码相机定位模型.docx_第2页
第2页 / 共29页
数学建模数码相机定位模型.docx_第3页
第3页 / 共29页
数学建模数码相机定位模型.docx_第4页
第4页 / 共29页
数学建模数码相机定位模型.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

数学建模数码相机定位模型.docx

《数学建模数码相机定位模型.docx》由会员分享,可在线阅读,更多相关《数学建模数码相机定位模型.docx(29页珍藏版)》请在冰豆网上搜索。

数学建模数码相机定位模型.docx

数学建模数码相机定位模型

高教社杯全国大学生数学建模竞赛

承诺书

我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):

我们的参赛报名号为(如果赛区设置报名号的话):

所属学校(请填写完整的全名):

参赛队员(打印并签名):

1.

2.

3.

指导教师或指导教师组负责人(打印并签名):

日期:

—年_月—日

赛区评阅编号(由赛区组委会评阅前进行编号):

高教社杯全国大学生数学建模竞赛

编号专用页

赛区评阅编号(由赛区组委会评阅前进行编号):

赛区评阅记录(可供赛区评阅时使用):

评阅人

n

n

n

n

n

n

n

n

n

n

备注

o

o

o

o

全国统一编号(由赛区组委会送交全国前编号):

全国评阅编号(由全国组委会评阅前进行编号):

数码相机定位模型

摘要

本文利用光学原理建立物体成像位置关系的数学模型,解决了相机系统标定中的如何确定靶标圆心对应像坐标和固定相机的相对位置等问题。

针对如何确定靶标圆心对应像坐标问题,我们分析讨论了各种影像分析方法,基于针孔成像原理和相机坐标系变换矩阵的思想,建立了线性相机模型,利用透视变换矩阵确定摄像机的位置标定思想给出算法,通过找靶标和像平面上对应公切线切点的方法取点,利用取定的点和算法求得相机成像内外参数,利用MATLAB编程求解,求得靶标圆心对应像坐标。

结果如下:

在问题1要求的三维坐标系下A,B,C,D,E圆心对应的像坐标是(单位:

nun):

(,,)・

针对设计一种方法检验我们模型的问题,我们采用最小二乘法拟合椭圆,确定中心点,改变所选取的标定点,求得多组中心的值,比较每组中心值与拟合的中心点,差别不大。

并对方法的精度和稳定性进行了讨论。

针对如何确定两部固定相机相对位置的问题,以物坐标为中间变量,通过坐标矩阵的变换建立模型,给出算法,最终确定两部相机的相对位置。

本论文通过两种方法对比分析,结果相对吻合,模型的可信度较高。

考虑到畸变因素的影响,本论文进行了模型改进,使模型具有更高的精度,有较强的推广性。

关键词:

针孔成像线性相机模型坐标系变换矩阵公切线切点

最小二乘法拟合椭圆

重述

数码相机定位在交通监管(电子警察)等方面有广泛的应用。

所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。

最常用的定位方法是双口定位,即用两部相机来定位。

对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。

只要知道两部相机精确的相对位置,就可用儿何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。

于是对双口定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。

标定的一种做法是:

在一块平板上画若干个点,同时用这两部相机照相,

分别得到这些点在它们像平面上的像点,利用这两组像点的儿何关系就可以得到这两部相机的相对位置。

然而,无论在物平面或像平面上我们都无法直接得到没有儿何尺寸的“点S实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是儿何的点了。

而它们的像一般会变形,如图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。

图1靶标上圆的像

有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为

AsC、D、E)为圆心,12mm为半径作圆。

以AC边上距离A点30mm处的B

为圆心,12mm为半径作圆,如图2所示(略)。

用一位置固定的数码相机摄得其像,如图3所示(略)。

问题:

(1)建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标,这里坐标系原点取在该相机的焦点,x-y平面平行于像平面;

(2)对山图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标,该相机的像距(即焦点到像平面的距离)是1577个像素单位(1毫米约为个像素单位),相机分辨率为1024X786:

(3)设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;

(4)建立用此靶标给出两部固定相机相对位置的数学模型和方法。

2、模型假设

假设相机镜头(凸透镜)前后两侧弧度、介质均相同,即镜头前后两侧折射率相同。

假设相机镜头是很完善的,没有缺损或倾斜等外部形变。

假设物平面和像平面的中心与镜头的光学中心在同一条直线(光轴)上。

假设物平面的点经透镜折射后都可以被像平面接到。

假设问题1中靶标和像平面的图形是已知的。

像平面上点的像坐标的原点为该相机的光学中心,x・y平面平行与像平面。

假设不考虑照相机畸变。

有效焦距/■为相机镜头光学中心到像平面的距离,即像距。

3、符号说明

°fxfyf:

图像像素坐标系

(«,V):

像点像素坐标

OXYx图像物理坐标系

(XV):

像点物理坐标

(耳,儿,z)物点相机坐标系

Oxwywz,w:

世界坐标系

(兀,儿,J):

物点世界坐标

/?

旋转正交变换矩阵

r:

平移变换矩阵

/:

有效焦距

M,:

为相机成像内部参数阵

M,:

为相机成像外部参数阵

M:

称为投影矩阵

4、模型建立及求解

问题1

4.1.1问题分析

本问题的整体思路是:

在仅已知物平面和像平面,相机的其他属性参数未知的前提下,建立照相机模型,确定靶标(物平面)上的点到该照相机像平面的像坐标的映射关系,其中包括照相机成像系统内外儿何及光学参数的标定,从而达到只要给定标靶上的点,就可直接通过模型求得其像坐标的H的。

在具体建立照相机模型时,山于照相机与摄相机在成像原理上没有本质区别,因此沿用现有比较成熟的摄机标定技术的理论思想。

对于问题1,根据假设,靶标和像平面的图形是已知的,利用针孔成像原理建立模型,引入常用的相机模型坐标体系,确定各坐标体系的转换关系,建立线性相机模型,利用透视变换矩阵的相机标定技术的思想给出算法,求取相机模型的内部参数和外部参数。

考虑到上述模型是基于靶标点与像点已确定的前提下才能实现的,而实际

上我们看到的只是靶标上的若干个圆和其拍摄的像(圆的变形图),不是模型中要求的“点”O因此我们结合光学成像原理和两图形儿何位置关系确定若干组特殊靶标点和对应像点。

将靶标点与对应像点带入模型,求得相机成像系统的内外参数。

此时只要给出靶标上的点,即可求得其像坐标。

建模流程图如下:

4.1.2问题1模型建立:

4.1.2.1坐标系

为了定量的描述光学成像过程,计算机一般采用右手定则定义坐标体系,

即图像像素坐标系,图像物理坐标系,相机坐标系和世界坐标系,如图lo[1]

◊图像像素坐标系:

在图像上定义直角坐标系0汗小厂本模型中原点0/在图像平面的左下角,(“°)是以像素为单位的图像坐标系的坐标。

◊图像物理坐标系:

用物理单位表示图像像素位置,定义坐标系OXY,原点O定义在相机与图像平面交点,(X,Y)是以毫米为单位的图像坐标系的坐标。

◊相机坐标系:

相机坐标系Oqz是固定在相机上的直角坐标系,其原点O定义在相机的光心,轴分别平行于图像物理坐标系的忑y轴,4与光轴重合,(圮”Z)是物点相机坐标。

◊世界坐标系:

坐标系儿S描述环境中任何物体的位置,根据具体情况而定。

4.1.2.2常用坐标系变换关系[21

(1)从世界坐标系(忑门儿心»到相机坐标系(忑〉眩)的变换,世界坐标系中的

点到相机坐标系的变换可山一个正交变换矩阵/?

和一个平移变换矩阵T表

示:

(1)

(2)

用齐次坐标和矩阵形式表示为:

X

y

■/?

T

儿,

Z

or1_

.1■

1-

其中:

丁=[「人心丁是世界坐标系原点在相机坐标系中的坐标,

斤3儿

正交旋转矩阵心—

巧$©

•>22■

F+d+3=1

且矩阵元素满足:

F+F+帚=1

F+F+与2=1

正交旋转矩阵中的三个独立变量“上心,加上平移矩阵中的匸。

厶总共有6个参数决定了相机光轴在世界坐标系中空间位置,因此这六个参数称为相机外部参数。

(2)从相机坐标系到图像物理坐标系的理想投影变换(/为有效焦距)

即针孔模型下的理想透视投影变换,有下式成立

(3)

X=f-x/z

Y=f'y/z

同样用齐次坐标和矩阵表示上式为:

X

X

■/000_

Y

=

0/00

y

0010

z

1

1

将上式的图像坐标系进一步转化为图像坐标系:

u一w()=X/dx=sx-X'v-v0=r/jy=5y-r

齐次坐标表示为:

U

0

wo

%■

V

=

0

s、

vo

Y

1

0

0

1

1

其中,如是图像中心(光轴与图像平面的交点)坐标,心,/、•分别为一个

像素在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=Afy=fiy分别定义为X和Y方向的等效焦距。

几人,如M

等4个参数只与相机内部结构有关,因此称为相机内部参数。

(3)世界坐标系与图像物理坐标系变换关系(共线方程)

£==5兀+斤2儿+人3・+匚

ffxf'ilxw+rnxw+riixw+tz

丫_"一%_乙兀+勺儿+冬*+。

ffyF兀+匸入+6兀+1

R

O'

二M|M?

X=MX

齐次坐标表示为:

A0M<)=0f、vo

001

上式就是摄影测量学中最基本的共线方程,说明物点、光心和像点这三点必须在同一条直线上。

这是针孔模型或者中心投影的数学表达式。

根据共线方程,在相机内部参数确定的条件下,利用若干个已知的物点和相应的像点坐标,就可以求解出相机的六个外部参数,即相机的光心坐标和光轴方位的信息。

4.1.3算法设计

(10)

利用透视变换矩阵相机标定思想【3】,写成具体算法如下:

11

^11

“2

“3

V

=

m22

加23

叫4

1

叫2

叫3

将(9)式写为:

儿.

其中(兀,儿,ZJ)是空间三维点的世界坐标,0/3\1)为相应的图像坐标,叫为变换矩阵加的元素。

它包含三个方程,整理消去Z后,可得到如下两个关于关于伽的线性方程。

(11)

〃仃兀+〃也儿+加13金+也冷一“丿叫厂“儿”32一血丿厲3=初5

〃①兀+加22儿+加23“・+加24一以討®一1%〃®一=呦34

方程(11)描述了三维世界坐标点(兀,儿,zj)与相应图像点仏匕1)之间的关系。

如果已知三维世界坐标和相应的图像坐标,将变换矩阵看作未知数,则共有12个未知数。

对于每一个物体点,都有如上的两个方程,因此,理论上,取6个物体点,就可以得到12个方程,从而求得变换矩阵H的系数。

但特殊的是,由于该方程没有常数项,即方程形式为AX=O,因此无法直接求解。

(1)求解

一般可做如下变换令M=畑",即求解M•时令叫二1,则共有11个未知数,

取"个目标点(n>6)可得加个方程,是一个超定方程,表示成矩阵形式如下:

KM=U(12)

其中

Ki

1

0

0

0

0

-也

儿1

0

0

0

0

XH1

儿1

1

一畑

一岭儿1

一%

儿,

1

0

0

0

0

一g

-叽

一坷召

0

0

0

0

儿7

J

0

一%

一叽

一%f

L」2nxll

M=[niu,mn,,m2),m22,m23,m24,心m32,m^]1

u=[W1V1…ui片…"”叫丫

利用最小二乘法求出上述线性方程组的解为:

M'={KtKYxKtU

实际上山等式M'矩阵即可确定物体世界坐标(几,儿,和)到图像点(“*)的映射关系。

(2)求解乩了和叫》

将R和M矩阵分块,其中&代表R矩阵中第j行,代表M矩阵中第i行的前

三个元素组成的行向量,即

ri_

M;加4

R=

M=

加24

二叫M=叫

■・M2m24

(13)

M31

山矩阵变换MrA;2=M可得:

fni4

加24

=

Ms

1

加24

=

f足+V0R3fyty+votz

.R3fz・

(14)

化简结果如下:

1fX

P_叫凶2-心M)

2Z—

A~L

”5("®叫)

L=畑

£=叫1场期1

・■

fy=m34IAf)xM31

综上,带入已知参数,可得到投影矩阵M同时可以求得相

机成像内外参数。

(3)在靶标图和像图上确定特殊标点及其对应像点

线性相机模型成像原理本质是相同的,因此基于小孔成像的原理,靶标中两圆间公切线所在的切点在经过镜头折射后,必然与像中对应的两个形变后的圆的公切线所在切点是对应的,如下图所示:

由左图(物图)到右图(像图),圆的形状虽然有改变,但是公切线所在切点还是对应不变的。

对于物平面上的若干个圆,任取两圆可得四个切点,这样可得若干个切点及其对像平面上的像点,实际取多少切点可根据图形和解题需要具体确定。

山此可确定靶标中切点的世界坐标和对应像中切点像素坐标。

4.1.4求解

通过上述模型和算法(程序见附录prol)得到投影矩阵,也就是确定了原模型中相机成像的内外参数。

此时,只要给出物平面的圆心,就可直接求得靶

标上圆心在像平面上像坐标。

问题2

4.2.1问题分析

根据题H给出的已知条件,首先利用问题1取点方法得到多组靶标点与其对应像点,从而确定靶标点的世界坐标及其像点的像素坐标,再将其带入问题1模型,可以得到相机成像内外参数。

最后将图2的圆心的世界坐标带入模型,得到对应像平面上的像坐标。

4.2.2模型的建立

(1)选取特殊物点及其对应像点

本题中选取的世界坐标系是以物平面的左下角E为原点,EA方向为x轴,EB方向为y轴。

利用问题1中公切线取点的方法,结合问题本身,可选取的切点及其像平面对应的像点如下(图中仅给出圆两两外切情况,公切线内切选点也可用):

靶标上的取点:

像平面上靶标点相对应的像点

P10

具体取点的算法和流程图如下(编程见附录program2):

算法:

Stepl:

根据图3靶标的像的每个像素颜色的不同将bmp图转化为0/1编码

Step2:

运用广度搜索算法扩展节点,建立在一个区域图形的相互关系

Step3:

运用并查集算法压缩路径,将每个区域图形独立

Step4:

用一个像点周圉四个点来确定该点是否为区域图形的边缘点,如果为边缘点则存入v数组中

Step5:

对于任意两个区域,各取一个边缘点,确定一条直线y=k*x-b

Step6:

将这两个区域上所有的边缘点的横坐标带入直线,检测该直线是否与该区域相切,如果该直线与两个区域都相切,则这对边缘点为两个区域的一对切点

Step7:

对求出的切点进行处理,确定任意两个区域的所有切点

注:

任意两个区域应有两对切点,但山于精度原因,两个区域我们求出多对解。

将横纵坐标不超过2个像素的点归为一类点,将这一类点求平均值,抛弃距离平均值点10个像素点,再求剩余点横纵坐标的平均值,取整,确定两个区域的两对切点。

得到如下特殊切点的像点坐标(像平面左下角为原点,单位是像素):

U

V

uV

U

V

P1

326

619P7

288

301P13

364

580

P2

425

610P8

591

296P14

323

266

P3

645

591P9

278

232P15

604

554

P4

312

539P10

577

233P16

549

253

P5

416

532P11

282

579P17

676

559

P6

636

517P12

246

262P18

617

270

(2)确定相机内外参数

确定特殊点以后,带入问题1中线性相机模型,利用问题1中具体算法可以求得相机成像内外参数:

3.38

0.14

0

283.79

0.16

2.71

0

264.82

0.00

0.00

0

1■

■3.38

0.14

0

283.79

0」6

2.71

0

264.82

7.00xlO-4

7.00xlO-4

0

1

0.26

0.04

0_

-0.01

0.26

0

0.10

-0」0

0

20.96_

20.25

11.73

M=

M=

R=

注:

线性方程组中未知数的数口大于实际自山度的数因此,线性方程中的未知数不是相互独立的,在有噪声的情况下,解的线性方程中的未知数也许能很好地符合这一组线性方程,但山此分解得到的参数值未必能与实际情况相符,使得精度受到一定限制。

(3)靶标上圆心在像平面上对应的像坐标

利用MATLAB编程求解,(程序见pro2)对于靶标上的圆,通过M矩阵变换求得其在像平面上的对应点的像素坐标为(以左下角为坐标原点,单位:

像素):

A

B

C

D

E

U

V

552

问题1要求的坐标系下,A,B,C,D,E的相机坐标为(单位:

mm):

A

B

C

D

E

X

y

z

利用MATLAB做图,在像平面的圆上标出求得的像点,如下:

650

600

550

500

450

400

350

300

250

200

200250300350400450500550600650700

从图形可以直观的看出,求得的像点在图形(近似看成椭圆)的中心附近,偏差不大,这是符合实际中照相机拍照原理的,山此也体现了模型的合理性和有效性。

问题3

4.3.1问题分析

在前两问中,我们建立的模型主要是从光学成像原理方面,利用坐标系的变换关系来找到靶标上圆的像坐标。

实际中,山于物距比相距大得多,一般可以近似的认为,圆在经过透镜成像以后变为椭圆,若不考虑畸变因素,可以认为椭圆的中心就是原物平面圆的中心。

基于这种思路,在本问题中我们首先提取椭圆边缘点,然后采用最小二乘法提取像平面中椭圆,进而求得椭圆中心坐标,即为靶标圆心的像坐标,并基于此解对问题2进行检测。

4.3.2模型建立

(1)建立椭圆最小二乘法拟合模型:

先对采集的像平面的bmp图像转化为0/1编码,通广度搜索和并查集确定椭圆区域边缘点,跟据边缘点数据进行最小二乘拟合。

椭圆的平面方程为[4]:

Ax2+Bxy+Cy2+Dx+Ey+F=0

BE—2CD

根据该方程所确定的椭圆的中心坐标为:

<

'4AC-B2

BD—2AE

4AC-肝

假设一般形式的椭圆方程如所列,为了避免零解,并将解的任何整数倍都视为对同一椭圆的表述,对参数做一些限制,约束条件设为A二1.显然,直接应用上述方程对边缘检测后的离散点进行最小二乘处理,就可以得到方程中的各系数•也即求口标函数

f(B,C,D,E,F)二f++++F—0尸

的最小值来确定各系数・再由极值原理,欲使f(A,B,C,D,E)值为最小,必有知知知务嗥巾由此可得一个线性方程组151:

・N

Zw

/=1

N

W

N

?

=1

N

Nf=l

N

N

Dx2

1=1

N

N

/=1

N

Zv

・N

r=l

N

/=1

r=l

f=l

f=l

/=1

c

r=l

N

Zvx

/=1

N

/=1

N

/=1

Nixix

/=1

N

D

/=1

D

E

F

=—

N

LV

Z=1

N

£兀X2

/=1

N

1=1

N

r=i

N

Sv

/=!

N

D

i=l

N

Oh

f=l

N

_/=1

N

Zv

f=l

N

D

/=!

N

D

Z=1

N

N

Zv

_r=l-

然后应用求解线性方程组的算法(如全主元高斯消去法),结合约束条件,用MATLAB编程求解(程序见pro3),就可以求得方程系数A,B,C,D,E,F的值,同时求得椭圆圆心.

(2)结果检验及精度和稳定性分析

Stepl:

判断区域图像内的每个像点是否在拟合的椭圆内,像素点坐标为(心,儿),代入Ax1+Bxy+Cy2+Dx+Ey+F>若Ax^+BxQy0+Cy:

+DxQ+EyQ+F>0,则点(A0,凡)在拟合的椭圆外,否则则在椭圆内。

Step2:

确定像点在拟合椭圆内的个数M,像点个数为N,则该区域的拟合精度为

N

Step3:

求出所有区域图像的拟合精度,求平均值,即为此最小二次拟合椭圆的

精度

 

拟合度为:

椭圆

1

2

3

4

5

精度

则平均椭圆拟合度为:

由此可以看岀拟合度较髙,拟合效果很好。

(3)利用拟合椭圆对问题2结果的检验

由于对相机来说,物距远远大于焦距,圆经小孔成像的投影接近椭圆,我们对成像进行椭圆的最小二乘拟合,以椭圆的中心作为圆心的参考投影点,评价模型结果的精确性以及稳定性。

①模型2结果的精确性检验

根据椭圆拟合的结果,以椭圆左下角为原点,自左向右为x轴,自下向上为>,轴

建立图像素坐标系,得到椭圆中心的坐1

A

B

C

D

E

U

V

工J(终一£)'+(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1