资源描述
高教社杯全国大学生数学建模竞赛
承 诺 书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员 (打印并签名) :1.
2.
3.
指导教师或指导教师组负责人 (打印并签名):
日期: 年 月 日
赛区评阅编号(由赛区组委会评阅前进行编号):
高教社杯全国大学生数学建模竞赛
编 号 专 用 页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用):
评
阅
人
评
分
备
注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
数码相机定位问题的研究
于洋
(南京航空航天大学,南京 210016)
摘 要:在充分理解题意的基础上,我们提出了合理的假设。通过对问题的深入分析,解决了数码相机的标定问题和双目定位的问题。
针对问题一,我们研究了数码相机定标,采用小孔成像模型和直接线性转换,利用最小二乘法解超定线性方程组,得到世界坐标系的点与图像坐标系中的点之间的对应关系。
针对问题二,我们通过matlab对图像进行处理,得到靶标像图中标定的十个点的像素坐标。然后,解得世界坐标与图像坐标的转换关系,利用转换关系求得五个点的圆心在图像坐标系的位置(59.76,31.07),(-49.88,-51.29),
(-23.49,-49.30),(18.82,31.60), ( 33.79,-44.98),由图像处理求中心的方法得到的结果比较,结果相近。
针对问题三,我们将靶标示意图圆周上的点投影到像平面并与之比较找出像素坐标值之间的差异,得到偏差的均方差的值为,即。从而说明模型的精确性较高,并对畸变的问题进行了讨论。
针对问题四,通过相同的靶标和两部相机不同的照片,我们可以求得两部相机各自的外部参数、,再利用世界坐标系到光心坐标系的欧式变换,可得到两部相机的光心在世界坐标系中各自的坐标,从而确定两部相机的相对位置。
关键词:定标;直接线性模型;畸变;双目定位
1、问题的提出
数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。
标定的一种做法是:在一块平板上画若干个点, 同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,如图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
图 1 靶标上圆的像
有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示。
图 2 靶标示意图
用一位置固定的数码相机摄得其像,如图3所示。
图3 靶标的像
要解决的问题:
(1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的焦点,x-y平面平行于像平面;
(2) 对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即焦点到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×786;
(3) 设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;
(4) 建立用此靶标给出两部固定相机相对位置的数学模型和方法。
2、模型的假设与符号说明
2.1 模型的假设
1、假设相机的焦距不变。
2、。
3、在影像数字变换过程中所产生的主要是仿射变形,忽略成像的电子设备等物理影响。
2.2 模型的符号说明
:世界坐标。根据自然环境选定的坐标系,坐标值用表示
: 图像坐标。以光轴与图像平面的交点为坐标原点,即位于图像平面的中心,轴、轴分别平行于图像平面的两条垂直边,坐标值用表示,单位为。
: 像素坐标。以图像平面的左上角为坐标原点,轴、轴分别平行于图像坐标系的轴、轴,坐标值用表示,且为离散的整数值,单位为像素。
: 光心坐标。以相机的光心为坐标原点,轴、轴分别平行于图像坐标系的轴、轴,相机的光轴为轴,坐标值用表示
: 旋转矩阵,
: 位移向量,
: 焦距
: 物距
: 像距
: 在方向相邻像素的距离
: 在方向相邻像素的距离
、: 径向的畸变量
、: 切向畸变量
: 考虑畸变时的实际图像坐标
: 理想图像坐标
3、模型的建立和求解
3.1 模型的准备
3.1.1相机成像原理
构成镜头是凸透镜。 凸透镜有聚光的作用,能把外界的各种光线会集起来,形成一定的影像。现代照相机的复式镜头都具有聚光成像的作用。透镜成像在理想的情况下,同一物点发出的全部光线,通过透镜后仍相交于一点,每一条直线都相对于惟一的一条直线,每一个平面,都对应于惟一的一个平面。这种物与像一一相对应的关系,叫做共轭关系。一般地说,被摄物体离镜头30米以上,即称之为无穷远,用符号“∞”表示。无穷远处的物体散射出来的光线,通过镜头的透镜形成的像点,就是焦点,从焦点到透镜中心的距离,就是焦距。当物体在凸透镜的二倍焦距外时,在凸透镜的另一侧一倍焦距和二倍焦距之间成一个倒立的缩小的实像,被相机的感光设备所接受。
图1 照相机的成像原理
3.2.2 坐标转换
在本问题中,我们所用到的坐标系有世界坐标系,光心坐标系,图像坐标系,像素坐标系。通过空间矩阵的转变,我们建立了世界坐标系和光心坐标系,光心坐标系和图像坐标系,图像坐标系和像素坐标系的矩阵关系,使用这些关系,得到了世界坐标系和像素坐标系之间的直接关系。
图2 坐标系转换关系图
图3 成像示意图
3.1.3 用最小二乘法解超定方程
设线性方程组中,,是维已知向量,是维解向量,当即方程组中方程的个数多于未知量的个数时,称此方程组为超定方程组。一般来说 ,超定方程组无解(此时为矛盾方程组),这时需要寻找方程组的一个“最近似”的解。
记,称使即最小的解为方程组的最小二乘解。存在如下定理:
是的最小二乘解的充分必要条件为, 是的解。
3.2 问题1的建模与求解
问题1中我们建立直接线性变换模型,计算圆心在像平面上的像坐标
由于,采用小孔成像的模型,利用直接线性变换设是物体上一点在世界坐标系上的坐标。
世界坐标系到光心坐标系的转换关系为
(1)
其中,元素为0的列向量。是转移矩阵,是位移向量。
根据光学成像的针孔模型,得到光心坐标系向图像坐标系的透视投影转换,可用齐次坐标与矩阵表示:
(2)
其中,是光心坐标系中物体上一点的坐标,是对应图像坐标系中点的坐标。
把(1)代人(2)得到世界坐标系到图像坐标系的转换为
(3)
其中,为满秩矩阵,可以求得其逆,同时在等号两端左乘,设,则(3)式变为
令,,,为像坐标的计算值,则对于任意一点,有
消去
所以,在世界坐标系中取个点可以得到个方程。
写成矩阵形式得
(4)
当时,可以通过上式,利用最小二乘拟合的方法,得到方程组的解。
将式(4)左右两侧同时除以并不影响方程组的解,式(4)可简写为,其最小二乘解为。
因此。
又因为为正交矩阵,所以有。最后可以得到矩阵,找出世界坐标系上的点通过投影变换到图像平面的变换关系。
3.3 问题2的建模与求解
问题2中,我们利用问题1中给出的算法计算靶标上圆的圆心在像平面上的像坐标。
3.3.1 采取图像处理的方法
我们将图像导入到MATLAB,把图像转换为二值图,采用计算重心的方法计算出图像中每个圆的圆心,并取得其像素坐标值(左上角为原点)。
图4 MATLAB计算标出的圆心
像素坐标值如下表。
u坐标
v坐标
284.6657
501.7731
322.8948
189.4935
422.996
196.9423
582.7329
502.9824
639.8994
213.1522
表1
根据图像坐标系到像素坐标系的转换关系为
(5)
其中,是图像坐标系原点在像素坐标系中的坐标,分别是在方向和方向相邻像素间的距离。
将像素坐标代人(5)式,得到中心点的像图平面坐标
x坐标
y坐标
-60.1413
31.1568
-50.0278
-51.4567
-23.5460
-49.4861
18.7124
31.4768
33.8358
-45.1978
表2
2、通过直接线性变换求解
在的假设下,由凸透镜成像规律
(6)
可得
由题中条件,像距是个像素单位,毫米约为个像素单位,得
在直接线性变换模型中,由方程所知,取个点,可以得个方程,使用采集到的足够多的点,用最小二乘拟合可以求得直接线性变换模型中的空间变换矩阵。
为了在靶标的像图上取得一定数量的点,我们在用图像处理得到的中心点之间用直线连接,求得与圆的交点,编号如图所示
图5 连线与投影圆的交点
用MATLAB取出图像中十个交点的像素坐标。
十个点的像素坐标为
点的编号
u坐标
v坐标
1
365.4394
192.2937
2
382.4627
195.1435
3
463.4547
200.8429
4
602.7913
210.067
5
633.3133
251.9879
6
589.8924
470.8166
7
549.4714
502.7634
8
324.9433
502.0885
9
289.3967
465.8671
10
318.569
231.44
表3
将上述十个点的坐标带入到问题一建立的模型中,用MATLAB进行求解,可以得到外部参数矩阵。然后找到原图上圆心的坐标,通过投影变换的关系得到圆心在图像中的理论坐标值。最后求得五个圆心像坐标。
圆
A
B
C
D
E
x坐标
-59.7636
-49.8849
-23.4959
18.81506
33.78617
y坐标
31.06779
-51.292
-49.2998
31.60387
-44.9754
表4
考虑到计算时使用最小二乘拟合的方法求解,个别取得的相临近的点可能存在较大的误差,影响了结果。我们采用了使用不同数目的点分别求解,对结果进行比较。
首先按照图中标号的顺序,一次选择6、7、8、9、10个点,得到图像法和直接线性变换法五个圆心坐标和与画图法所得结果距离的平方和
从1开始取到6六个点的计算数据
圆
A
B
C
D
E
x坐标
-54.1289
-49.9299
-23.4763
19.10457
33.76862
y坐标
31.07677
-51.2952
-49.3856
31.13186
-45.2533
表5
从1开始取到7七个点的计算数据
圆
A
B
C
D
E
x坐标
-58.9926
-49.8051
-23.5305
18.78827
33.81709
y坐标
30.60391
-51.3761
-49.3723
31.60346
-44.9987
表6
从1开始取到8八个点的计算数据
圆
A
B
C
D
E
x坐标
-59.4313
-49.9272
-23.4933
18.78311
33.77799
y坐标
31.13752
-51.3815
-49.3636
31.59458
-44.9916
表7
从1开始取到9九个点的计算数据
圆
A
B
C
D
E
x坐标
-59.7977
-49.9462
-23.5028
18.82771
33.76387
y坐标
31.06019
-51.4358
-49.3808
31.59703
-44.9302
表8
取的点数
6
7
8
9
10
距离平方和
36.48708
1.756544
0.602889
0.252032
0.314106
表9
图6 取点与距离平方和的关系
从上表可以看出,取用越多的点,求得圆心的偏差就越小。
然后考虑到取点的集中性,选择不同位置的点,得到我们的结果
去掉2,3两点后的计算数据
圆
A
B
C
D
E
x坐标
-59.7749
-49.7496
-23.411
18.81012
33.74985
y坐标
31.07559
-51.3563
-49.3534
31.62406
-45.0065
距离平方和:0.33944
表10
去掉2,3,4,5四点后的计算数据
圆
A
B
C
D
E
x坐标
-59.7916
-49.8097
-22.8472
18.74
35.44709
y坐标
30.99215
-51.478
-49.386
31.50482
-44.8628
距离平方和:3.40586
表11
去掉2,3,5,8四点后的计算数据
圆
A
B
C
D
E
x坐标
-60.1645
-49.6252
-23.5053
18.83957
33.58555
y坐标
31.05882
-51.2331
-49.397
31.66453
-45.3838
距离平方和:0.38050
表12
由上列数据可以发现,当所取的点越分散,两种方法得到的偏差越小。即取得的点的位置过于集中,模型的稳定性不好,精度不能得到保证。
3.4 问题3的建模与求解
问题3中,我们将图像处理方法和直接线性变换模型进行比较。
图像处理的方法比较简单,但精度较低,受图像形状的制约,而直接线性变换模型在忽略畸变的条件下精度相对较高。检验模型的正确性。
3.4.1 画图法验证模型
通过在靶标圆的圆周上取点,坐标代入所求得的空间变换矩阵,得到对应点在像素平面上的像坐标,并在原图上标出,所得到的点也应该在所得图像的边界上。经过计算作图,我们得到如下图所示的结果。
图7 随机点在图像上的位置
通过图上观察可知,通过空间矩阵变换所得到的任意点在像素平面上的位置和实际拍摄的位置相差不大,目测我们建立模型的基本可靠。
3.4.2 像素距离法验证模型
为了验证投影关系的准确性,我们在圆上取点,经过投影变换,得到点在像素坐标系的坐标。然后将原图转化为二值图,可以搜索到离该点最近的圆的边界,通过多组点得到偏差的情况,验证模型的正确性。然后讨论该验证方法的稳定性和准确性。
我们在每一个圆上每间隔取一个点,每个圆可取得八个点和他们的世界坐标。
图8 取点示意图
通过空间变换矩阵,求得每一个点的像素坐标,通过循环搜索的方法,在原图的二位图上找到最近的边界点的像素坐标,求得最近的距离。近似认为距离最近的点为所求点的对应点。结果见下表
点
距
离
平
方
圆
1
2
3
4
5
6
7
8
A
1
1
1
2
1
2
1
1
B
1
2
1
1
1
2
1
2
C
1
4
1
1
1
1
1
1
D
1
2
1
2
4
2
1
1
E
1
1
1
1
5
5
2
1
表13
表13中值为1和2的点在图像的边界上,认为所得的结果准确。由上述数据可以看出所得的点大部分在图像圆的边界上,只有少数点偏差相对较大,整个样本所得的均方差为,所得到的结果足够精确。
观察点的分布图可以知道,偏差较大的点整体在一条对角线上,可能是由镜头引起的畸变。在畸变中径向畸变起主要作用,模型求解所得的值基本反映了这个规律。在实际中,对微小而复杂的畸变难以精确考虑。算法稳定性较好时,可以把小畸变当成误差来对待。
图9 偏差较大的点
但是距离投影点最近的圆的边界不一定是靶标示意图上的点的对应点,可能会引起结果的偏差和不稳定,考虑到化为像素点时,圆的边界在数值矩阵里面边界相对平缓,偏差不大,我们近似认为最近的点为靶标示意图圆周上点对应的点。
计算得过程中,我们进行了像素点的逐个搜索,以保证能够得到距离最近的点,从而确保了算法的稳定性。
3.5 问题4的建模与求解
问题4中,我们用此靶标给出两部固定相机的相对位置的数学模型和方法。
首先,用甲乙两台固定相机,分别对靶标进行拍摄。甲相机的照片,通过问题1建立的直接线性变换模型,可以求出变换矩阵,光心为相机坐标系的原点,因此光心在相机坐标系中的的坐标为。
通过
(1)
我们可以得到
(7)
在已经求得了变换矩阵的前提下,我们可以得到该相机在世界坐标系中的坐标。
同理,可以确定乙相机在世界坐标系中的坐标值。
比较两坐标值即可确定两相机的相对位置。通过光心在世界坐标系上的坐标可以求得两相机之间的相对距离。此外通过旋转矩阵
(8)
可以求得、、值,得到光轴的旋转情况。
4、模型的改进:
考虑畸变对投影的影响。
理想的透镜成像是针孔模型,物与像满足相似三角形关系,而实际的透镜并不满足这个条件。由于摄像机光学系统存在加工误差和装配误差,物点在摄像机像面上实际所成的像与理想成像之间存在光学畸变误差。主要的畸变误差类型有两种:径向畸变和切向畸变。其中径向畸变是关于摄像机镜头主光轴对称的,其数学模型为【7】:
(9)
式(9)中,、是径向畸变系数,为实际图像坐标,、是径向的畸变量。
切向畸变则不关于摄像机镜头的主光轴对称,其数学模型为【7】:
(10)
式(10)中、为切向畸变量。
在理想的小孔相机成像的条件下,理想的投影变化为
(11)
在考虑畸变的时候
(12)
其中
,
整理(9)~(12)可得到
(13)
在相机外部参数已知的情况下,可以化为
(14)
可以看出代入个点后,得到一个超静定线性方程组,用最小二乘法解得方程组的根
(15)
本题中畸变系数是一个非常小的量,但是在许多真实应用中,需要追求视场宽度,可能使用超广角镜头或鱼眼镜头,畸变就会更加严重。那是就不能不考虑畸变对图像的影响。
5、模型的扩展
双目定位的实现
将两个照相机的成像平面处于同一平面并且与Z轴垂直,设两照相机的焦距相等。光心,位于轴上,,是点在两个相机的像素平面上称的点,是在匹配过程中所寻找的两张照片上代表空间同一点的一对匹配点,如图所示。
图10 双目定位示意图
以的透镜中心为坐标原点,光轴方向为轴建立坐标系,以的透镜中心为坐标原点,光轴方向为轴建立坐标系为,则任一空间点的坐标在坐标系下为,则它在坐标系下的坐标为。
由几何投影,得
(16)
两式相减得
(17)
同理可得
(18)
(19)
其中和在像素平面中的坐标为和,和为照相机光轴与像素平面交点所在的行数和列数。
由于两台相机的内参数相同,的坐标可以化为
(20)
为两相机光心之间的距离,为相机的焦距。
通过上式,可以求得空间点的坐标,达到双目定位的目的。
6、模型自我评价:
我们的模型是基于小孔成像的直接线性变换模型,通过该模型,得出了问题比较精确的解。直接线性转换的模型,具有求解方便、迅速,精度高、稳定性好的优点。观察到所求的解与作图绘出的解的差异,我们对畸变产生的误差进行分析、讨论,引入了畸变系数,提出了改进的模型,求得了畸变系数。在实际的生产和测量中,可以根据使用的精度需要,决定是否需要引入畸变系数。模型拓展中对双目定位进行了讨论,在实际生产应用中,相机的定位意义在于通过两台相机将空间中的点定位,即双目定位。该技术广泛应用于机器人的视频识别技术中。将模型与生活实际联系起来,说明它在通常的情况下是有意义的,也从事实上证明了模型的正确性。模型的不足在于圆投影转换变为椭圆时,圆心也同时发生了微小的偏移而不与椭圆的圆心重合,而我们没有考虑到这方面的偏差,可能对结果有所影响。我们得到的双目定位模型要求和的坐标相等,要求比较苛刻,不符合特殊定位条件下的要求。可以对我们的模型进行进一步的改进得到更普遍适用的模型。
参考资料
【1】 葛哲学,精通MATLAB,北京:电子工业出版社,2008
【2】 张国坤,关于微分圆投影变成变形椭圆的分析与研究,测绘科学,第29卷第3期:14-15,2004年
【3】 姜大志 孙 阔 刘 淼 姜 梅 丁秋林,数码相机标定方法研究,南京航空航天大学学报,第33卷第1期:55-59,2001年
【4】 张艳珍 欧宗瑛,一种新的摄像机线性标定方法,中国图象图形学报,第6卷(A 版)第8期:727-731,2001年
【5】 刘文彬,周宏甫,蒋梁中,基于双目立体视觉系统的精确标定算法,自动测量与控制,第27卷第6期:78-80,2008年
【6】 汪倩倩,申忠宇,张亮,基于双目视觉模型的彩色目标实时检测与定位,南京师范大学学报(工程技术版),第8卷第1期:18-23,2008年
【7】 陈利红,毛剑飞,诸静,CCD摄像机标定与修正的简便方法,浙江大学学报(工学版),第37卷第4期:407-408,2003年
(指导老师:数学建模教练组)
作者基本情况表
第一作者
于洋
学号
020610326
学院
能源与动力学院
联系电话
15950504717
E-mail
yuyang227@
其它作者
狄名轩 020610607 孙紫瑾 030620105
文章类别
B A机械控制类B信息技术类C能源化工类D人文社科类
展开阅读全文