推荐-对于数码相机定位问题的分析 精品
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
参赛队员(打印并签名) :1.
2.
3.
指导教师或指导教师组负责人(打印并签名):
日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):
高教社杯全国大学生数学建模竞赛
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):
摘要:
本文针对双目定位的数码相机相对位置的标定问题进行了深入研究。
对于问题一,建立了世界坐标系和相机成像坐标系之间的转换矩阵,可以根据相机与靶面任意的相对位置关系求得靶标圆心的像坐标;对于问题二,针对所给靶标的特征提出了质心模型、切线模型、解析法模型三种求靶标圆心在像坐标投影点的模型,并就所给的靶标相片求出了圆心投影的像坐标。
对于问题三,应用了问题一中转换矩阵,建立了判定问题二中模型优劣的仿真算法,对问题二中提出的三种模型进行了优劣分析。
对于问题四,应用Roger Y . Tsai 的单部相机内部和外部参数的标定算法,不用求解多元非线性方程组,直接用最小二乘法求解超定线性方程组,即可求得相机坐标系的变换矩阵和像距,从而能够确定两相机的相对方位和位置关系。
本文得到的主要结论如下: 问题一:求解靶标圆心像坐标的算法为世界坐标系和相机成像坐标系之间的坐标变换;
问题二:利用三种模型得出问题所给靶标相片中靶标圆心投影位置的像坐标,如下表所示;
问题三:在像平面和物平面夹角不是很大的情况下,三种模型的精度相差不大;像平面和物平面夹角比较大时,切线模型的精度大于解析法模型,质心模型的精度最差。
问题四:运用相机内外参数的标定算法和问题二得到的靶标圆心和切点坐标,得题图三对应相机的相机坐标系的旋转矩阵与平移向量分别为
0.937650.159950.3086-0.0305690.92234-0.38517-0.346240.351720.86972⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,-15.3078.0893-485.09⎡⎤⎢⎥⎢
⎥⎢
⎥⎣⎦。
关键词:机器视觉、坐标变换、透视投影、相机标定
一、问题重述
双目视觉定位系统是机器视觉学科的主要研究内容,系统通过处理放在两个不同位置的摄像机捕捉到的图像,对空间中的某点或某物体进行定位。
这种技术在交通、医疗、工业、军事等领域都有广泛的应用。
要使定位系统进行准确的定位,必须知道两台相机精确的相对位置关系,可以使用如下方法对两台相机进行标定以获得相机的相对位置:在一块平板上画若干个点,同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。
然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。
实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。
而它们的像一般会变形,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
本课题要求完成下列任务:
(1)建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的焦点,x-y平面平行于像平面;
(2)由靶标及其像,计算靶标上圆的圆心在像平面上的像坐标
(3)设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;
(4)建立用此靶标给出两部固定相机相对位置的数学模型和方法。
二、问题分析
该问题实际上是求解不同坐标系中的点的对应关系的问题。
对于第一个问题,首先需要解决的是空间圆成像的映射问题。
由于实际情况中维度的差距,可以考虑将成像的模型设置为小孔成像的模型,从而省略了成像的畸变对定位造成的影响对问题进行简化,对于由此造成的误差在后面的模型分析中进行讨论。
空间圆小孔成像中有一些基本的原则和理论需要进行分析,然后以此进行建模,考虑空间中各个参考系之间的坐标变换关系,通过旋转、平移等方式达到点的映射的目的。
对于问题二,即考虑上述过程的反向过程:已知像的信息和原象的信息,要求得出原象的圆心在像上的位置。
一个朴素的想法就是考虑质心的对应关系,如果能找到像和原象的质心的对应关系,就求出了圆心在像平面上的坐标。
但是此种做法缺乏理论依据,只是根据生活经验得出,但不失为一种参考的方法,可以将其与其他方法进行对比,选出更优的方法。
再者,还可以通过切线的垂线的交点来确定圆心。
首先对给出的像的信息进行处理,拟合出像中的曲线方程,接
着在物的由物平面中的切点求出它们在相平面中的坐标(用问题一的方法),之后就可以由切点求出切线的方程从而得出圆心的坐标。
另一个想法是解析的方法。
通过空间解析几何和平面上线、角的关系计算出圆心相对于空间坐标系的坐标,并由第一问中各坐标系的坐标变换关系就可以得出圆心在像平面上的坐标。
以上方法都在理论推导的过程中进行了一些近似从而会导致系统误差,所以在由上述一些方法对问题进行分析过后还需要对它们的精确程度和稳定性进行分析。
此即问题三的要求。
而对于不同的方法,应采用不同的误差分析方法以得出他们的精度和稳定性。
对于质心的方法,由于其缺乏理论根据,所以只能将其结果与其他的方法的结果进行比较以考虑其精度;对于切线的方法,由于计算机拟合的过程很精确(点足够多的情况下),且在之后的处理过程中没有进行近似处理,其精度的讨论应该也着重与其他方法的比较;对于解析的方法,由于其通过公式的推导,经过适当的近似得到结果,因此应着重讨论其近似时产生的误差。
而对于稳定性的讨论,应朝着考虑靶标的移动、标定形状、噪声对方法精度的影响。
最后一问要求通过靶标的世界坐标系坐标和靶标在两部相机的成像坐标系中的像点坐标来确定两部相机的相对位置。
具体来说,即已知靶标上若干物点的世界坐标和成像坐标,寻找标定两个相机坐标系相对世界坐标系的旋转矩阵 和平移向量 以及相机的内部参数的算法。
由这四个矩阵能够自然地求得两相机的相对位置。
三、 模型假设
1.本题中不考虑镜头畸变; 2.本题中相机模型为小孔模型; 3.各空间坐标轴均为右手系。
四、 符号与术语说明
透射投影:
R :坐标变换中的旋转矩阵。
T :坐标变换中的平移向量。
f :像距,光心到像平面的距离。
世界坐标系:w w w X Y Z ,被拍摄物体所在坐标系。
相机坐标系:c c c X Y Z ,以相机光轴为c Z ,光轴平行于相机像平面。
成像坐标系:u v ,像平面坐标系。
五、 模型的建立与求解
问题一
该问要求靶标上圆的圆心在相机像平面上的坐标,即世界坐标系(w w w Z Y X ,,)、相机坐标系(c c c Z Y X ,,)和成像坐标系(v u ,)三个坐标系之间的点坐标的转换。
1 世界坐标系和相机坐标系之间的转换
该转换用旋转矩阵R 和平移向量T 来描述,世界坐标和相机坐标间满足下式:
T
Z Y X R Z Y X w w w c c c +⎥⎥
⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡ 其中⎥⎥⎥
⎦⎤
⎢⎢⎢⎣⎡=987654321r r r r r r r r r R (具体确定见下文),⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=z y x T T T T ,即世界坐标先旋转R 矩
阵,再将坐标原点平移T 向量成为相机坐标。
为方便表达,上式亦可表示为
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11111
w w w w w w T c c c Z Y X M Z Y X O T R Z Y X ,
其中T O )0,0,0(=,而旋转矩阵R 的确定有多种方法,如绕坐标轴的旋转变换,欧拉角旋转变换等,考虑到直观易用性,本文选取绕坐标轴的旋转变换来确定矩阵R ,γβα,,分别为坐标系旋转变换时绕固定的世界坐标系坐标轴的旋转夹角,此时R 为
cos cos sin sin sin cos sin cos sin sin sin cos cos sin sin sin cos cos cos sin sin sin cos cos cos sin sin cos cos βγαβγ
αγ
γβαγββγαβγαγβγαβγαβα
αβ+-+⎡⎤⎢⎥-++⎢⎥⎢⎥-⎣
⎦
,
图1 坐标系的旋转
又应用z-x-y旋转顺序,即先绕世界坐标系的z轴旋转γ,再绕其x轴旋转α,最后绕其y轴旋转β,但每次旋转都是以固定的世界坐标系坐标轴为转轴的。
图2 相机坐标系和成像坐标系
2相机坐标系和成像坐标系之间的转换
对于该问题,用小孔模型代表相机工作原理,相机坐标系以小孔(光心)为
Z轴正方向,而成像平面坐标系uov则平行于相机坐标系的坐标原点,以光轴为
c
X OY平面,如图2所示。
原理上说,成像平面应当在物点P 和光心O连线的延
c c
长线上,完成小孔成像,但由于成倒像,为处理和讨论方便,将成像平面放置在
光心和物点之间,距光心f 的位置上,f 此处为像距。
由小孔成像原理和相似三角形知识,得到相机坐标系和成像坐标系之间的关系为:
c
c
c c Z fY v Z fX u == ,
其中,),(y x 为P 点的成像坐标,),,(c c c Z Y X 为P 点在相机坐标系中的空间坐标。
矩阵形式表示为:
00000010
101c c c c
X u f Y Z v f
Z ⎡⎤⎡⎤⎡⎤⎢⎥
⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥
⎣⎦⎣⎦⎣⎦。
综上所述,可得世界坐标系和成像坐标系之间的变换关系为:
000000110
1011w w w w c T
w w X X u f
Y Y R T Z v f
M O Z Z ⎡⎤⎡⎤⎡⎤⎡⎤
⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥
⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
⎣⎦⎣⎦
(1) 在相机内部参数都确定的情况下,M 为一常矩阵,c Z 为随着世界坐标系中
点坐标变化的量,为列向量11w w T
w X Y R
T O
Z ⎡⎤⎢⎥⎡⎤⎢⎥
⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦
的第三项元素。
因而得到了世界坐标系和成像坐标系之间的变换关系。
对于本小问,输入为世界坐标系中靶标的5个圆心位置以及数码相机的6个位置参数(旋转矩阵R 中的3个旋转角度和平移向量T 的3个变量),要求输出靶标圆心在像平面上的坐标。
对于靶标,定义如图3的世界坐标系,5个圆心放置在xoy 平面上,其坐标如表1所示;相机的位置参数则由外部设定6个参数——z y x T T T ,,,,,γβα。
用Matlab 编写程序(代码见附录),可得到应用上述坐标变换式所得圆心对应的像坐标的u 和v 。
由于题中要求坐标系的原点定在光心,因而最终像坐标为),,(f v u -。
图3 世界坐标系
圆编号圆心x坐标圆心y坐标圆心z坐标
A -50 50 0
B -20 50 0
C 50 50 0
D 50 -50 0
E -50 -50 0
问题二
问题二要求根据靶标图像和靶标的像,靶标上圆的圆心在像平面上的像坐标。
1 图像的预处理
由于题中靶标图像的照片给出的是灰度图像,并且实际摄像头拍摄的照片也是灰度图像,所以提取圆心工作以前,必须对图像进行预处理工作。
图像预处理流程如图4所示,读入图像利用软件提取图形文件中像素的颜色信息,由于圆心投影只与边缘有关,所以用软件算法实现边缘的提取,本文利用了Sobel边界探测器,由于原图像灰度及阈值设定的原因,完成边界探测后会有许多与边界不连续的点,我们称之为噪声,这里我们手工去除这些噪声点,然后将边界点坐标存入数组。
同时我们将图像做二值化处理,作为求质心的原始数据。
图5显示了图像预处理的效果,A为初始读入图像数据,是灰度图像,B为经过Sobel边界探测后的结果,有噪点存在,C为手工去除噪声点后的图像,D 为原始图像做二值化处理后的图像。
读
入
图
像
噪
声
点
去
除
边
缘
提
取
读
入
数
据
A B C
二
值
化
处
理
D
图4 图像预处理流程
A B C D
图5 图像预处理阶段示意
2 圆空间透视投影的分析
本小节介绍推导模型必须证实的几个定理
定理1:空间内圆的投射投影为椭圆
证明:
如图6所示以
r
O为圆心的圆经过小孔投影到像平面上,以透镜的光心为坐标原点建立空间三位坐标系,Z轴垂直于像平面向下,O到像平面的距离为f,O
到
r
O圆所在的平面的距离为l。
图6 空间圆的透视投影
设圆r O 以r y 为轴旋转角度β,再像平面形成一个封闭曲线,下面证明该封闭曲线为椭圆。
圆r O 的参数方程为:cos cos sin cos sin r r r
X r Y r Z l r αβα
αβ=⎧⎪
=⎨⎪=--⎩
根据相似三角形比例原则,圆r O 上一点与象平面中该点的坐标(,,)x y z 有如下关系
cos cos sin cos sin z f x y z r r l r αβααβ
=⎧⎪
⎨
==⎪--⎩ 整理得:
22
222222222sin cos ()
sin 1cos ()(sin sin r f x y l r rfl rf l r l r βββ
βββ
--+=--
此方程为一椭圆的标准方程,由此可知圆通过照相机在像平面上成的像为椭圆(在0β=时为圆)。
定理2:透射投影中,物圆的圆心的像不是所成椭圆像的中心。
证明:
图7 XOZ 平面AB 剖面图
过图6的xOz 的面作圆锥的剖面如图7所示:
其中AC CB =,'C 为圆r O 在像平面上所成的像,过C 作''A B 的平行线m 分别交AO 的反向延长线为D ,交BO 于E 。
假设圆心C 的像'C 为椭圆的中心,则有''''A C B C =
由相似三角形边的关系有:'''''
CO DC EC
CO A C B C ==
将上式代入下式有DC EC =。
分别从A 、B 向m 作垂线垂足分别为F 、G ,由于C 为AB 的中点,所以有FC GC =,由图易知:EC DC <。
与上述矛盾,故假设不成立,即:物圆的圆心的像不是所成椭圆像的中心
定理3:空间圆圆心的投影在投影椭圆的短轴上 证明:
首先说明圆r O 的圆心的像、椭圆中心都在''A B 。
由于AB 是直径,易知圆r O 的圆心的像''A B 上。
图8 平行于转轴的剖面图
如图8所示,由于圆r O 以r y 为轴旋转角度β,而r y 轴过圆心,所以椭圆的中心在圆上的原象一定在垂直于r y 轴的直径上,在图8中的表述即为椭圆的中心在''A B 的中点,其原象在AB 上,所以''A B 为过椭圆中心的一条轴。
下面证明该轴''A B 是椭圆的最短轴: 设'A 、'B 的X 坐标分别为1X 、2X
由相似三角形边的关系及1中坐标的关系有:
12'
cos cos 'cos cos X AO r AO X BO r BO αβ
αβ⎧=⎪
⎪⎨
⎪=⎪⎩
由上两式可得,12''''cos cos (
)AO BO A B X X r AO BO βα⎡
⎤=+=+⎢⎥⎣
⎦ 在0,90⎡⎤⎣⎦上cos β为单调递减,又由于''A B 过椭圆中心,所以转角β最大的直径所对应的像''A B 即为椭圆的最短轴。
即物圆r O 的圆心的像在其像椭圆的最短轴上。
3 模型一 像素质心模型
3.1模型建立
一般情况下,平面上一薄片的质心计算公式如下,S为薄片的范围,(,)x y ρ为薄片在(x,y)的面密度,(,)x y 为质心坐标。
(,)(,),(,)(,)S
S
S
S
x x y dxdy
y x y dxdy
x y x y dxdy
x y dxdy
ρρρρ=
=
⎰⎰⎰⎰⎰⎰⎰⎰
本模型因为是基于像素的模型,像素是一个个离散的点,又由于图形做了二值化处理,这里(,)x y ρ为二值量。
定义:
1(,)(,)0(,)x y f x y x y ⎧=⎨
⎩点为黑
点为白
则在像素意义下的中心坐标定义式如下所示:
222
2
1111222
2
1
1
1
1
(,)(,),(,)(,)y y x x y x y x y y x x y x y x xf x y dxdy
yf x y dxdy
x y f x y dxdy
f x y dxdy
=
=
∑∑∑∑∑∑∑∑
其中(x1,y1),(x2,y2)为包含此椭圆而不包含其他椭圆的一个矩形的两个对角顶点的坐标。
经过2的分析,虽然空间圆圆心的投射投影一般不在投影图形的几何中心,而且利用像素所作的离散计算存在着一定的误差,但是作为一种近似的方法,也是可行的,后文将对这种模型造成的误差做定量的分析。
3.2模型求解
按上述模型求得的圆心坐标如表2所示,
4模型二切线模型
在上述的质心模型中,仅利用了一个椭圆自己的性质就给出了该椭圆内圆心的投影,而本问题给出了五个相等大小并且相对位置已知的圆,所以如果利用圆之间相互关系求解各圆圆心的投影坐标将更为精确。
4.1 切点位置不变的性质
空间的投射投影有如下的性质,如图9所示,如果空间存在圆A,B,这两,l l,切点a,b,c,d。
如果将这两个圆做某透视投影如图所示,此时个圆有公切线
12
在做投影椭圆A’,B’的公切线''
,l l,则得到的四个切点a’,b’,c’,d’分别是原来
12
a,b,c,d的投影。
图9切点位置不变的性质示意图
投射投影变换属于仿射变换,点在线上的位置关系不会改变,在本问题的靶标图形中,有四个相等大小的圆(A,C,D,E)正好在正方形的四个定点上,两两做这四个圆的外公切钱,如图,可得相对的切点的连线经过圆心,两条连线的交点就是圆的圆心。
所以在投射的象的图形中,只需找到这些切线与切点,连接各个切点形成交线就可以求得圆心。
对于问题中的圆B,由于不存在相互垂直的切线,所以只能够确定一条直径的位置,另外根据2的叙述,圆心的投影肯定在投影椭圆的短轴上,这样用已知直径的投影和椭圆的短轴相交,就可以求得B圆圆心投影的坐标。
4.2 椭圆方程的拟合
本模型要求作椭圆的曲线,由于所给图像分辨率不高,仅为1024*768像素,所以如果直接用图像中图形边界做切线,精度将会变得非常低,会造成很大的误差,所以在本模型中,先要利用所给图像中图形的边界(在1中提取)拟合出椭圆的方程。
平面中,二次曲线的一般方程是:
22(,)0F ax bxy cy dx ey f =⋅=+++++=a x a x
其中
T 2
2
T
[][1]
a b c d e f x xy y x y ==a x
将空间中任意一点1x 带入F ,1(,)F a x 被称为空间点1x 到圆锥曲线(,)0F =a x 的“代数距离”。
拟合一条圆锥曲线可以看作是求所有被拟合点代数距离平方和的最小值。
如下式所示:
21,()()N
i F ==∑i a a x 寻找使Dist 取最小值
设用N 个点拟合一个椭圆,
T []=12
n D x x x
又根据文献[2]中描述如果限制241ac b -=可行解的a 向量肯定是椭圆的参数向量。
由此可以把椭圆拟合的问题转换为一个带二次限制条件的最小二乘问题,如下:
min()..1
E s t
=⋅=T
D a a Ca
其中002000010000200000000000000000000000⎡⎤
⎢⎥-⎢⎥⎢⎥
=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
C
图中五个椭圆方程拟合的结果如表3所示。
22(,)0F ax bxy cy dx ey f =⋅=+++++=a x a x
圆 a
b
c d e f
A 0.4908368 0.04562732 0.5103946 -325.6590 -208.1902 71450.98
B 0.5005452 0.07111793 0.5019815 -437.4560 -227.8848 114165.5
C 0.5252867 0.1323467 0.4842668 -700.4724 -291.0644 254440.3
D 0.4789880 0.1802621 0.5388937 -648.9240 -647.1483 351269.2 E
0.4521153
0.1041725
0.5589569 -309.6662 -590.5596 191540.0
图10为实际过程中椭圆拟合的效果图,从图中可以看出,方程对于椭圆做了很好的拟合,
图10 椭圆拟合效果图
表4显示了拟合过程中代数距离平方和的最小值,可看出大约在410数量级,由于每个椭圆用大约200个点进行拟合,所以()F i x 应该在20左右,x,y 坐标平均的误差应该在几个像素以内。
21min(())N
i F =∑i x
圆 A B C D E
平方和 52242.57 45703.23 39525.20 30956.11 40892.52
4.3 公切线的求取
图11 靶标的公切线图
设两椭圆方程分别为
22111111:0A a x b xy c y d x e y f +++++= 22222222:0B a x b xy c y d x e y f +++++=
A 椭圆在11(,)x y 处的切线斜率为:
1111111(,)11111
22x y a x b y d dy
dx b x c y e ++=-++
B 椭圆在22(,)x y 处的切线斜率为:
2222222(,)22222
22x y a x b y d dy
dx b x c y e ++=-++
如果11(,)x y ,22(,)x y 连线是切线,那么
112221(,)(,)21
x y x y y y dy dy
k dx dx x x -===-
联立上述五式可求得11(,)x y ,22(,)x y 和k 的解,其中,关于11(,)x y ,22(,)x y 是四次方程,既可以求得四组解,这和切线的物理意义(两组内切,两组外切)是一致的。
实际求解过程当中,由于计算规模过大,不宜求解,所以这里我们采
用了将最后一个条件改为2121min y y k x x ⎛⎫
-- ⎪ ⎪-⎝⎭的优化条件,然后限定11(,)x y ,
22(,)x y 的范围,用LINGO 软件解优化(程序见附录)问题,经试验,效果良好,
不仅求解速度很快,而且每次优化目标都等于0,说明求得了正确解。
4.4 模型求解
按上述模型求得的圆心坐标如表5所示,
5 模型三 解析法模型
5.1 模型建立
在图12所示在照相机O xyz -坐标系中圆的半径是r ,设该圆绕 y 轴旋转β角,图中坐标系原点O 设在焦距中心,圆心r O ,距坐标系原点的距离为l ,摄像机焦距为f ,圆的参数方程为
cos cos sin cos sin r r r
X r Y r Z l r αβα
αβ=⎧⎪
=⎨⎪=--⎩ 根据相似三角形比例原则,圆上一点与图像 中该点的坐标(,,)x y z 有如下关系
cos cos sin cos sin z f x y z r r l r αβααβ=⎧⎪
⎨
==⎪--⎩
整理化成椭圆的标准方程(在像平面上)为:
2
2
2
22
22
2222
sin cos
()
sin
1
cos
()()
sin sin
r f
x
y
l r
rfl rf
l r l r
ββ
β
β
ββ
-
-
+=
--
图12 空间圆的透视投影图
过图12中xOz的面作圆锥的剖面如图7所示:'''
OO A B
⊥,2
AB r
=(设圆的半径为r),易知AB在像平面上的像''
A B为所形成椭圆的短轴。
而过圆心且与AB垂直的半径CD在像平面上的像''
C D为一条平行于圆'O在像平面上的像(椭圆)的长轴的直线,设其长度为'a,设其像椭圆的长轴长为a,短轴长为b。
如图8所示,设圆心到原点O的距离为l,圆心到像平面的距离为f。
则由相似三角形的关系有:
'
r l
a f
=(2)
又由小孔成像的原理,对应的直线在成像后大小变化的比例是相等的,反映在上左图中即:
cos
'
AE b
AB a
β==(3)
由上面的椭圆标准方程可知圆'
O所成的像的中心并不是圆'
O的圆心在像
平面上的对应点,圆心的坐标(,,)
e e e
X Y Z为
222sin cos sin 0
e e e r
f X l r Y Z f
βββ⎧=⎪-⎪⎪
=⎨⎪⎪=⎪⎩ 与上面(*)(**)式联立可以得出如下关系:
(')e X a f =
(4)
为了确定圆心的位置(,,)e e e X Y Z ,由于'a 的纸无法直接得出,所以取椭圆的半长轴a 代替,可以得出圆心的近似位置。
5.2 参数求解
对于式(***),像距f 已知,需要解得椭圆的半长轴a 和半短轴b ,对于任意椭圆的一般式220ax bxy cy dx ey f +++++=,总可以将其化成如下形式:
22()()()()0a x u b x u y v c y v f -+--+-+=
根据系数相等可得:
22
d au bv
e bu cv
f au cv buv f
⎧=--⎪
=--⎨⎪=+++⎩ 解得
22
22dc be u ac b ae bd v ac b f f au cv buv -⎧=-⎪-⎪
-⎪
=-⎨-⎪
⎪=---⎪⎩
由此可得
椭圆的圆心为(,)u v ,
f
a,半短轴为f b
椭圆旋转角度为
2 arctan()/2
b
a c
5.3 模型求解
通过5.2求得拟合的各椭圆的长轴和短轴,转角,中心,然后通过5.1中的(2)--(4)式求得空间圆圆心在象平面投影的坐标。
问题三
1.模型的检验方法
该方法的核心是基于问题一的结论,在问题一中,已经获得靶标上的点和像平面上像坐标的对应关系,因此可以按以下步骤完成基于仿真的检验:步骤1固定靶标,确定相机相对于靶标的姿态,包括旋转矩阵和位移矢量。
步骤2通过问题一结论中的变换公式,求出靶标上所有点映射到相机像平面的坐标,这里必须使用离散化算法。
(离散化算法解释)这一步实际上就仿真求出了在此相机姿态下,靶标在相机像平面所成的像,同时,可以准确的知道靶标上圆的圆心在相机像平面投影的坐标。
步骤3用问题二中的多种方法对步骤2中求出的靶标的像求圆心
步骤4用所求得圆心和映射在相机像平面的准确的圆心的像做比较,两者相差越小说明方法越准确。
2.检验结论
(a)(b)
图13 成像检验图
标准圆心质心模型切线模型解析法模型X y X Y x y x y 519.9263309.5831519.9351310.3686519.9333310.4732520.1446309.9762 589.1007311.0271589.0412311.8446589.1136312.0014588.9056311.4932 747.6679314.3308747.5765315.1844747.5763315.4256747.7089315.1042 722.0924518.4924505.9950518.2396723.0138518.3788721.8761518.3584 506.1380517.4491722.1016519.3891504.1380517.7691503.8780517.4360误差平方和 3.4754167.913014 6.229838
标准圆心质心模型切线模型解析法模型X y x y x y x y 484.6105361.5820486.8028361.5050485.7325361.5549485.6051361.5320 616.7665348.9821616.7102349.1967616.7449349.0115616.7233349.1549 914.1542320.6321914.3273320.8787914.2246320.6122914.2781320.6257 813.8254506.6421813.8603507.2887813.8434506.6281813.8398506.6377 466.4812544.9864466.3966545.6107466.4572545.1974466.4355545.4902误差平方和 5.768324 1.311919 1.294977
表7-8显示了用上述方法检验问题二中方法的结果,生成的虚拟照片如图13
所示。
其中图13(a)为像平面与物平面近似平行的情况,从结果中可以看出,在
这种情况下,利用质心模型求解投影模型的误差是十分小的,在某些情况下,质
心模型求解的误差小于用理论上更精确的切线模型和解析法模型。
经过分析,我
们认为,这是因为由于有限分辨率造成的量化误差其实可以等效为均值在质心的
二维高斯噪声,而求质心相当于对噪声作了平均,一次可以抵消一部分噪声的影响,而切线模型和解析法模型是基于二次曲线最小二乘拟合的,这不能消除高斯
噪声的影响。
但图13(b)中,像平面与物平面有较大的角度,这时,质心模型有
较大的误差,而切线模型和解析法模型的误差较小。
问题四
此小问即要求通过靶标的世界坐标系坐标和靶标在两部相机的成像坐标系中的像点坐标来确定两部相机的相对位置。
具体来说,即已知靶标上若干物点的世界坐标和成像坐标,标定两个相机坐标系相对世界坐标系的旋转矩阵21,R R 和平移向量21,T T 以及相机的内部参数。
由这四个矩阵能够自然地求得两相机的相对位置。
由问题一可以看到,本小问是问题一的反向求解,即已知两种坐标系下点的
坐标,求转移矩阵M 的过程。
但直接通过式(1)来求解M
是非常困难的。
原因有
二:第一,M
是3*4的矩阵,有12个未知数, 需要解12个方程,即使借助计
算机软件也很难完成任务,Matlab 的Solve 函数求解能力不足以解决12个方程,Lingo 也应变量过多无法在有限时间内给出结果;第二,通过消去c Z ,每个靶标上的物点及其对应成像点可提供2个方程,因而共需6个点才能解出未知数,但本题每个靶标上只有5个圆,直接提供5个圆心,提供信息不足。
因此,需要更直接的标定相机位置的方法,在参考了文献[1][4]后,我们发现了不用解多元或非线形方程的标定方法。
该算法依然基于问题一的式(1),同时充分利用了靶标的自由设定来减少未知量。
现描述标定一部相机的算法。
、
1.标定单部相机内部和外部参数的算法
步骤1:令靶标上n 个物点)5(≥n 的世界坐标为wi wi wi z y x ,,,物点在成像坐标上的坐标为i i v u ,,n i ,...,2,1=,矩阵R 和T 的定义同问题一,则
111211415[]1,2,...,y y i wi i wi i i wi
i wi i y x y y T r T r v x v y v u x u y u i n
T T T r T r -----⎡⎤⎢⎥⎢⎥
⎢⎥--==⎢⎥
⎢⎥⎢⎥⎣⎦
,。