数码相机定位问题的研究
数码相机定位问题的研究
摘要
本文从计算机视觉系统出发,对数码相机的定位问题进行了深入研究,并建立了相应的数学模型。
对于问题一,先运用光学成像的相关知识,建立了针孔模型,然后又考虑了摄像机的畸变问题,对上述模型进行改进,建立了非线性模型,并给出了相应的算法。
对于问题二,基于问题一中建立的模型,运用最小二乘法的思想,利用Matlab软件
进行了检验,并对该方法的精度和稳定性进行了讨论。
对于问题四,运用几何学的相关知识,建立了双目定位系统中两部相机之间的关系式,从而确定了它们在空间中的相对位置关系,并给出了相应的算法。
本文综合考虑多方面因素,公式、表格、图形表达相结合,建立的模型结构严密,具有较强的逻辑推理性,最后并对结果进行分析与检验,符合实际情况,具有一定的参考价值。
关键词:数码相机针孔模型靶标蒙特卡罗
一、问题重述
1.1基本情况
数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。
标定的一种做法是:在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上都无法直接得到没有几何尺寸的“点”。实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,如附件图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图1所示。用一位置固定的数码相机摄得其像,如图2所示。
图1 靶标示意图图2靶标的像
1.2需解决的问题
⑴建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面;
⑵对由图1、图2分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即光学中心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×768;
⑶设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;
⑷建立用此靶标给出两部固定相机相对位置的数学模型和方法。
二、基本假设
1)不考虑外界环境对摄像效果的影响;
2)数码相机完好无损,所得到的图像质量较好;
3)物平面与像平面之间存在着一定的关系;
4)双目系统中两部相机存在一定的几何相对关系;
有些假设在将题中给出。
三、符号说明
u :以像素为单位的图像面上的横坐标;
v :以像素为单位的图像面上的纵坐标;
x :以毫米为单位的图像面上的横坐标;
y :以毫米为单位的图像面上的纵坐标;
dx :每一个像素在x 轴方向上的物理尺寸;
dy :每一个像素在y 轴方向上的物理尺寸;
θ:视平面与基准平面之间的夹角;
1k :一阶径向畸变参数;
f :数码相机的焦距;
t :三维平移向量;
M :投影矩阵;
R :旋转矩阵;
k :比例系数;
四、模型建立及求解
模型准备:
(1)定义一:由有限次中心射影的积定义的两个平面之间的一一对应变换称为二维射影变换[1]。
图3 二维摄影变换
上图3中,1223,,ππππ间或间为中心射影,13,ππ间为射影变换。
(2)定理一:射影变换保持点列的交比不变。
上述定理表示,若存在射影变换将直线1l 变换到2l ,,,,A B C D 为直线1l 上任意四点,'''',,,A B C D 为它们在2l 上对应点,则''''(,,,)(,,,)R A B C D R A B C D =。
(3)定义二:n 维射影空间的点变换若满足y Mx ρ=,其中,ρ为标量,x 与y 分别为变换前后空间点的齐次坐标,121(,,,)T n x x x x +=,121(,,,)T n y y y y +=,M 为满秩的(1)(1)n n +?+矩阵。
以二维为例,有:
11121311221
22232333300m m m y x y m m m x y x m ρ????????????=???????????
??????? 上式可以写成:
1111122133
22112222333333
y m x m x m x y m x m x m x y m x ρρρ=++=++=
消去ρ并标记'33(1,2,1,2,3)ij
ij m m i j m ===得到非齐次坐标的交换形式:
'''111112213
'
''221122223y m x m x m y m x m x m
=++=++ (4)物距u :拍摄物体到透镜中心的距离;
(5)像距v :成像到透镜中心的距离;
(6)焦距f :焦点到透镜中心的距离;
4.1问题一
4.1.1问题分析
题目中要求建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标,要解决这个问题,需要在像平面上和物平面上分别建立对应坐标系,确定物平面上给定圆心的坐标,然后通过相机成像原理,计算像平面上该圆心的坐标。这样就可以比较好的解决这个问题了。也就是说,问题一中的关键是如何在物平面上建立坐标系。
4.1.2模型建立
模型Ⅰ线性数码相机模型(针孔模型)
数码相机采集的图像为m n ?数组,m 行n 列的图像中的每一个元素(称为像素)的数值即是图像点的亮度。图像上每一点的亮度反映了空间物体表面某点反射光的强度,而该点在图像上的位置则与空间物体表面相应点的几何位置有关。这些点的位置的相互关系,由数码相机成像几何模型所决定。该几何模型的参数称为数码相机参数。如图4所示在图像上定义直角坐标系,u v ,每一像素的坐标(,)u v 分别是该像素在数组中的列数和行数,所以(,)u v 是以像素为单位的图像坐标系的坐标。由于(,)u v 只表示像素位于数组中的列数和行数,并没有用物理单位表示出该像素在图像中的位置,因而,需要在建立以物理单位(例如毫米)表示的图像坐标系。该坐标系以图像某一点1O 为原点,x 轴与y 轴分别与,u v 轴平行,如图4所示。即(,)u v 表示以像素为单位的图像坐标系的坐标,(,)x y 表示以毫米为单位的图像坐标系的坐标。在,x y 坐标系中,原点1O 定义在数码相机光轴与图像平面的交点,该点一般位于图像中心处,但是由于数码相机制作的原因,也会有些偏移,若1O 在,u v 坐标系中的坐标为00(,)u v ,每一个像素在x 轴与y 轴方向上的物理尺寸为,dx dy ,则图像中任意一个像素在两个坐标系下的坐标有如下关系:
00x u u dx y v v dy
=+=+
图4 图像坐标系
在空间坐标系下,为了以后使用的方便,引入射影变换,根据射影变换的定义,用齐次坐标与矩阵形式将上式表示为:
1
1
11
001
u
dx
u x
v v y
dy
??
??
????
??
????
??
=
????
??
????
??
????
??
??
??
(4.1)
通过高等代数的知识可以得到(4.1)逆关系可表示为:
11
001
dx u dx
x u
y dy v dy v
-
??
????
??
????
=-
??
????
??
????
????
??
(4.2)
数码相机成像的几何关系可由下图5表示。其中O点称为数码相机光心,
c
X轴和
c
Y
轴与图像的x轴与y轴平行,
c
Z轴为数码相机的光轴,它与图像平面的交点即为图兆欧
表系的原点,由点O与
c
X,
c
Y,
c
Z轴组成的直角坐标系称为数码相机坐标系。
1
OO为数码相机焦距。
图5 相机坐标系与世界坐标系
由于数码相机可安放在环境中任何位置,在环境中应该选择一个基准坐标来描述数码相机的位置,并用它描述环境中任何物体的位置,该坐标线之间的关系可以用旋转矩阵R与平移向量t来描述。因此,空间某一点P在世界坐标系与数码相机坐标系下的齐
次坐标如果分别是(,,,1)T
w w w
X Y Z与(,,,1)T
c c c
X Y Z,于是存在下列关系:
1
1
111
c w w
c w w
t
c w w
X X X
R t
Y Y Y
M
Z Z Z
O
??????
??????
??
??????
==
??
??????
??
??????
??????
(4.3)其中,R为33
?正交单位矩阵,t为三维平移向量,(0,0,0)T
O=,
1
M为44
?矩阵。
对于空间任何一点P在图像上的成像位置可以用针孔模型近似表示。由凸透镜成像的原理可以得到空间任何点P在图像上的投影位置'p,为光心O与P点的连线OP与图像平面(指的是在凸透镜成像原理中将像平面对称在光学中心位置)的交点。这种关系
也称为中心摄影或透视投影,由比例关系有如下关系式:
c c c c
fX x Z fY y Z == (4.4) 其中,(,)x y 为p 点的图像坐标,
(,,)c c c X Y Z 为空间点P 在数码相机坐标系下的坐标。用齐次坐标与矩阵表示上述透视投影关系:
000000100101c c c c X x f Y Z y f Z ??????????????=??????????????????
(4.5) 将式(5.2)与(5.3)代入上式,得到以世界坐标系表示的P 点坐标与其投影点p 的坐标(,)u v 的关系表达式:
000012100001000011001000110000100101w w c T w w x w y w w T w u X dx u f R t Y Z v v f dy Z O X a u R t Y a v M M X MX Z O ????????????????????????=????????????????????????????????
????????????===????????????????
(4.6) 其中,,,x y f f a a M dx dy
==为34?矩阵,称之为投影矩阵,1M 完全由00,,,x y a a u v 决定,由于00,,,x y a a u v 只与数码相机部结构有关,称这些参数为数码相机部参数,2M 完全由数码相机相对于世界坐标系的方位决定,称为数码相机外部参数,确定某一数码相机的外参数,称之为数码相机定标。
对任何空间点p ,如果知道投影矩阵M 和p 的坐标(,,,1)T w w w w X X Y Z =,就可以求出它的图像点p 的位置(,)u v ,这是因为在已知M 与w X 时,式(4.6)给出了三个方程中消去c Z 就可以求出(,)u v 。相反,如果已知空间某点P 的图像p 的位置(,)u v ,即使已知数码相机外参数,w X 也是不能唯一确定的。
事实上,在式(4.6)中M 是34?不可逆矩阵,当已知M 与(,)u v 时,由式(4.6)给出的三个方程中消去c Z ,只能够得到关于,,w w w X Y Z 的两个线性方程,由这两个线性方程组成的方程组即为射线OP 的方程,也就是说,投影点为p 的所有点均在该射线上,其物理意义可由图5看出,当已知图像点p 时,由针孔模型,在任何位于射线OP 上的空间点的图像点就是p 点,因此,该空间点是不能唯一确定的。
数码相机定标一般都需要一个放在数码相机前的标定参照物(见图6),数码相机获取该物体的图像,并由此计算数码相机的外参数。标定参照物上的每一个特征点(图6物体上每一个小方块的顶点)相对于世界坐标系的位置在制作时应精确测定,世界坐标
系课选为参照物的物体坐标系。在得到这些点在图像上的投影位置之后,可由下列式子计算出数码相机的外参数:
c
n
c
c
n
c
X
x
Z
Y
y
Z
=
=
图6 标定参考物
首先由参照物图像求投影矩阵M的算法。将式(4. 6)写成:
11121314
21222324
31323334
1
1
wi
i
wi
ci i
wi
X
u m m m m
Y
Z v m m m m
Z
m m m m
??
??????
??????
=
??????
??????
????
??
(4. 7)
其中,(,,,1)
wi wi wi
X Y Z为空间第i个点的坐标,(,,1)
i i
u v为第i点的图像坐标,
ij
m为投影矩阵M的第i行j列元素,上式包括三个方程:
11121314
21222324
31323334
ci i wi wi wi
ci i wi wi wi
ci wi wi wi
Z u m X m Y m Z m
Z v m X m Y m Z m
Z m X m Y m Z m
=+++
=+++
=+++
(4. 8)
将上式中的第一式除第三式,第二式除第三式分别消去
ci
Z后,可得到如下两个关
于
ij
m的线性方程:
1112131431323334
2122232431323334
wi wi wi wi i wi i wi i i
wi wi wi wi i wi i wi i i
m X m Y m Z m m X u m Y u m Z u u m
m X m Y m Z m m X v m Y v m Z v v m
+++---=
+++---=
(4. 9)
上式表示,如果标定块上有n个已知点,并已知它们的空间坐标(,,)(1
wi wi wi
X Y Z i=
)n与它们的图像点坐标(,)(1)
i i
u v i n
=,则有2n个关于M矩阵元素的线性方程,用矩阵形式写出这些方程如下: