天津市二等奖论文

更新时间:2024-06-16 16:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数码相机的定位模型

摘 要

本文主要讨论了数码相机的双目定位问题,也就是用两部固定位置的数码相机拍摄物体的相片来确定物体的位置。在该问题中给出了一个固定的靶标,并且用一个位置固定的数码相机拍摄得到了它的像。我们首先在不考虑畸变的情况下用matlab软件提取了像平面上每个靶标对应的图像的轮廓,进而建立了像的椭圆方程,求得靶心的投影点即图像的中心在像平面上的像素坐标,并且建立了世界坐标系、照相机坐标系、像坐标系、物坐标系。通过分析它们的关系图,得到了这些坐标系之间的转化算法,最终建立了物坐标与像坐标之间的关系式,求得了靶标的靶心投影到像平面上的3D物理坐标,同时在不考虑径向畸变的情况下,计算出了该相机的内、外参数,对相机进行了标定。由于相机可能有畸变引起的对物象定位的不稳定性和误差,我们设计了一种在考虑相继光学镜头畸变系数的条件下相机的标定方法,并通过物、像坐标对该方法进行验证以及进行误差和稳定性分析。最后,我们充分考虑了在相机存在畸变系数的情况下,设计了一种相机的双目标定模型,从而由几何关系得到了两个固定相机的相对位置,并对模型进行了稳定性和误差分析。

对问题一,我们建立了相机的标定模型,表示出了相机的内、外参数,通过给定的靶标及像,得出了靶标上圆的圆心在相平面上的像坐标。

在问题二中,根据已知的物、像坐标及分辨率等参数,求出了相机的标定参数,进而求出了靶标上圆的圆心在像平面上的像坐标。

由于相机可能有畸变引起的对物象定位的不稳定性和误差,所以在问题三种,我们设计了一种在考虑相继光学镜头畸变系数的条件下相机的标定方法,并根据一直的物、像点对该方法进行了验证,对其误差和稳定性进行了分析。

问题四,我们充分考虑了在相机存在畸变系数的情况下,设计了一种相机的双目标定模型,从而由几何关系得到了两个固定相机的相对位置,并对模型进行了稳定性和误差分析。

关键词:仿射变换 图像测量 双目标定 畸变系数 图像提取

1

一、 问题的提出

数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。

标定的一种做法是:在一块平板上画若干 个点,同时用这两部相机照相,分别得到这些 点在它们像平面上的像点,利用这两组像点的 几何关系就可以得到这两部相机的相对位置。 然而,无论在物平面或像平面上我们都无法 直接得到没有几何尺寸的“点”。实际的做法 是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,如图1所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实

现。 图 1 靶标上圆的像

有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示。

图 2 靶标示意图

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

2

图3 靶标的像

请你们:

(1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标,

这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面;

(2) 对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上

的像坐标, 该相机的像距(即光学中心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×768;

(3) 设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论; (4) 建立用此靶标给出两部固定相机相对位置的数学模型和方法。

二、问题的分析

随着科学技术的不断进步,数码相机定位技术以其结构简单、非接触、数据采集速度快、操作方便、成本低等优点在交通监管、工业、科学研究、国防等领域得到了日益广泛的应用。

照片已经成为一种信息的载体,如何从中获取具有价值的信息数据已经成为一个课题,然而同样的物体在不同的位置,不同的数码相机拍摄的像也不尽相同,要求从不同的像图中精确的提取目标物的信息 。我们将探寻实物与数码照相机所成的像之间的关系。首先,对于实物,它的位置是在无限大的空间范围内,我们可以抽象成一个三维空间,即建立世界坐标系,那么用三维空间坐标即可以确定该实物的具体位置。数码相机拍摄的像图是二维图像,想要知道像图中的实物的具体位置,就要实现二维图像到三维空间的坐标转换,在问题一中,是将实物的三维空间坐标转换为二维坐标。然而,空间物体某点的三维几个位置与其在图像中对应点之间的相互关系,由数码相机成像的几何模型决定。这些几何模型参数就是数码相机参数,它包括数码相机的内部几何和光学特性(内部参数)以及数码相机的三维位置和方向(外部参数)。内部参数主要有数码相机的焦距,镜头畸变系数和图像平面原点的计算机图像坐标(又称相面中心)。外部参数包括旋转矩阵和平移矩阵。在坐标转换中要考虑到这些参数对物体特征点与像图中点坐标的关系的影响。在问题一中我们假设先不考虑照相机的镜头畸变,即令畸变系数为零。在转换过程中通过空间直角坐标系转换以及矩阵分解确定数码相机的

3

外部参数与内部参数。以寻找实物的特征点与像图中点坐标的关系。

利用数码相机定位技术的一些应用的性能很大程度上依赖于标定精度,这时就要考虑的各个因素,包括镜头畸变,对数码相机内外参数的精确标定,使误差达到最小,这里利用在模型求解中对得到的多个中心定性的分析改变数据的统计 分布,采用加权平均法和排除法嫌少误差确定中心点,检验并修正模型

在双目标定位问题中,我们可以通过拍摄一个特征点在固定一部相机的坐标系的坐标,确定相机的内、外参数进而精确的确定两部相机的相对位置。

双目标定位方法的流程如下图4所示:

图4 双目标定位流程图

三、问题的合理假设

1.假设在第一个问题中照相机的径向畸变系数为0,即不考虑畸变对像平面上像的位置的影响;

2.为了便于计算认为靶标圆在像平面上的投影为规则椭圆;

3.假设照相机光心、图像中心、整个靶标中心都在照相机光轴上,且光轴垂直于所有坐标平面;

4.假设所有平面的坐标轴平行且方向相同; 5.假设题中所给的图像准确,能用于图像的提取; 6.假设本题中的数码照相机是理想的照相机; 7.假设在理想情况下相机焦距为1。

4

四、符号的说明

?xw,yw,zw? :空间靶标靶心的坐标;

?xc,yc? : 靶心成像在像平面上的物理坐标;

?x1,y1? : 一个照相机对标靶进行拍摄成像后靶心的像素坐标;

?x2,y2? : 表示双目成像中另一个照相机对标靶进行拍摄成像后靶心的像素

坐标;

?x,y,z? :相机坐标;

?sx,sy? : 图像平面单位距离上的像素数;

?a,b? : 像平面中心的坐标;

?m,n? : 靶标面的中心坐标;

?p,q? : 圆形靶标在像平面成像为椭圆形,该椭圆的圆心坐标;

H?X,Y,Z? : 在双目定位时靶标靶心的坐标;

在一部相机中像平面上的投影;

H1?x1,y1? : 靶心HH2?x2,y2?

a : 靶心H在另一部相机中像平面上的投影;

:成像椭圆的长轴; b :成像椭圆的短轴; c :1mm等效的像素数;

; d :该相机的像距(即光学中心到像平面的距离)

? :为一个非0参数;

f :为照相机的焦距。

五、模型的建立与求解

问题一:

要想确定靶标在相机相平面上的像坐标,首先从已知的靶标的像确定其在像平面上的坐标。首先将实物的三维空间坐标转换为二维坐标。然而,空间物体某点的三维几个位置与其在图像中对应点之间的相互关系,由数码相机成像的几何模型决定。在坐标转换中要考虑到这些参数对物体特征点与像图中点坐标的关系的影响。在问题一中我们假设先不考虑照相机的镜头畸变,即令畸变系数为零。在转换过程中通过空间直角坐标系转换以及矩阵分解确定数码相机的外部参数

5

与内部参数。以寻找实物的特征点与像图中点坐标的关系。 5.1 模型的建立和求解:

利用数码相机我们可以获得一个三维物体的二维图像,建立了世界坐标系 、照相机坐标系 、像坐标系 、物坐标系四个坐标系。如图5所示,xoy平面为数码照相机平面坐标系,xwowyw平面为物平面坐标系,xcocyc平面为像平面坐标系。

z ?xw,yw,zw?ow y o1xw y1 ocxc yc?xc,yc? o x1 y x 图5 相机坐标与像坐标和物坐标

先把各个坐标进行如图5的转换,得到各坐标系点转化到图像像素坐标系点,然后通过模型计算求解。转化过程如图6所示。

图6 各个坐标间的转化流程图

过程A:将世界坐标?xw,yw,zw,1?转化成照相机坐标?x?x???y?R?????z??0???1??xw?T?yw??1??zw??1??????,y,z,1?,则有

6

其中:R为3*3正交单位旋转矩阵; T为位移向量,T??Tx,Ty,Tz?。

过程B:空间点在照相机坐标系中的坐标为?x,y,z?,它在相机成像平面上 的投影点为p?xc,yc,f?,有:

?xc??yc???1??f???0??????00f00010??0?0???x???y???z????1?

过程C:图像坐标系定义在图像上,?x1,y1?为像素坐标,?xc,yc?为物理 坐标。?xc,yc?坐标系以oc为原点,xc轴与yc轴分别与x1,y1轴平行,oc为相机光轴与图像平面的交点。若oc在x1,y1坐标系中的坐标为?a,b?,像素在xc轴与yc轴方向上的物理尺寸为sx,sy,则:

?x1??sx???y1?0??????1???00sy0a??b?1???xc???y?c???1??

根据过程A,B,C,世界坐标系表示的P的坐标与投影点p的坐标?x1,y1?的关系如下?1?:

?x1??sx????y1?0??????1???00sy0?xw?T?yw??1??zw??1??????a??b?1???f?0???00f00010???R0??0?0???xw?T?yw??1??zw??1???????xw?y?w?zw??1??xw????yw??M????zw????1????sx??0???00sy0ab10??0?0???R??0??a1????a?5????a9?a2a6a10a3a7a11?xwa4????ywa8??zwa12????1

????MM1???2即:

?xw?x1??yw???y?M?1??zw??1????1 (1)

其中:在针孔模型下r?f?1,M为3?4矩阵,称为投影矩阵,内部包含内外参

7

数。M1完全由sx,syM1,a,b决定,由于sx,sy,a,b只与照相机的内部结构有关,故称

为内部参数矩阵,M2只与目标在世界坐标系中的位置有关,则称之为方位矩

阵。

如果我们能通过给定的一些已知量确定该数码相机的参数矩阵M,就能利用靶标的中心坐标求得投影到像平面上的像的物理坐标。但通过现有的已知量无法求出M矩阵,因此通过matlab取点法来求解,方法如下:

首先用matlab提取了图像上外轮廓点的像素坐标。在像平面内,为了得到靶标上圆的圆心在该相机像平面的像坐标(以o为坐标原点),我们需要从像平面内的直角坐标系x1o1y1转化到xcocyc坐标系下。像平面的局部放大图如下图6,

?2??x1,y1?为图像的像素坐标,?xc,yc?为像的物理坐标,它们的关系如下:

?x1?a?sx?xc?y?b?sy?yc?1 (2)

其中,?a,b?是像平面中心的坐标,也是数码照相机光轴与像平面的交点,由分辨率可以确定;?sx,sy?为图像平面单位距离上的像素数,单位为像素每毫米(pixels/mm)。经过查阅资料可知sx?sy,则sx?sy?c。

o1ocxc x1 y1 yc

图7 像平面局部放大图

要确定靶心在像平面上投影的坐标,则只需求得靶心投影在像平面上的像的像素坐标,然后由公式(1)可以转化到以oc为圆心的直角坐标系中,即求得像的物理坐标,从而得出靶心在像平面上的坐标(以o为坐标原点)。 问题二:

要计算靶标上圆像平面上的像坐标,但已知的只有给定的相机的分辨率、像距,像图等量,利用数据处理调整点的统计分布,可得到一些特征点的坐标,代入提前设定的椭圆标准方程式,也可采用重心法,便得到椭圆像的中心的坐标。

5.2 问题二的模型的建立和求解:

8

由题目中给定的分辨率、相距等已知量,我们可以确定以下参数:

,b??1024sx?sy?c?3.78m?a???pixels/m?,

?2,7682???512,384?,而像平面内的

像素坐标由matlab提取,过程如下:

我们可以对像坐标系中靶标的像(即图像一)进行图像处理,由于圆的投影可以近似的看作椭圆,因此可转化为通过求像图上一个个椭圆(圆的投影)的方程来确定其像的中心坐标。

首先要对椭圆边界进行有效的近似精确的取点。通过ACDSee工具把原图的BMP格式的图像1进行编辑转换成为黑白色的TIFF图像格式文件,如下图8所示:

图8 转换成为黑白色的TIFF图像

用MATLAB对图像2进行像素坐标二进制转换(0代表黑色,1代表白色)。 代码见附录2。

得到像素坐标二进制图——图8,这样便可以在边界可较为精确的找到值为1的点的坐标,即椭圆边界点的坐标。

图9 像素坐标二进制图

从像素坐标二进制图可较为精确的找到值为1的点的坐标(即椭圆边界点的坐标),由于每一个椭圆的边界点都可以随机取出好多,并由椭圆的中心不在原

9

点的标准方程式

?x?p?a22??y?q?b22?1,其中为?p,q?椭圆的中心坐标,a为长半

轴,b为短半轴,,所以我们选取椭圆变线上的最上端a’,最下端b’,最左端c’,最右端d’四个点坐标,此外为了更小误差的确定椭圆的圆心,还从上述所取四端点分成的四个区域各取一点,分别为e’,f’,g’,h’,来再次确定圆心的坐标,再从像上随机取适合的四点k’,l’??这一过程见选点图 10。

图10 选点图

再由这些点随机的取四个也可以组成一组来确定椭圆圆心点的坐标,其取得的点的坐标见附录1 。在此我们仅以A为圆心的图的像为例,B,C,D,E的方法根本上与A雷同就在此不累述了。

表1 提出A的像素二位进制坐标点

a' b' c' d' e' f' g' h' k' l' AX 325 281 322 365 294 354 355 293 290 362 AY 148 189 231 188 160 160 215 220 217 173

运用matlab编程求出五个像的中心坐标,(代码如下见附录2)

将四组对应的值代入就可得到相应的椭圆圆心的坐标,即(p,q)经过计算机的运算后,我们取出五组A的圆心坐标,可见表2。

10

表2 五组A的圆心坐标

A计算值 总值 p 323.006 308.75 309 321.1752 321.3863 1583.3175 q 188.9914 203.75 184 190.3574 188.864 955.9628 A近似值 均值 P 323 309 309 321 321 317 q 189 204 184 191 189 191 注意:在这个过程中将会遇到数值变换的问题,我们依据实际情况,将所取得相对应的a,b,p,q中存在复数,负数等不符合的去掉,而且在像素二进制坐标图上取值可能有偏差,我们忽略不计,才得到以上五组坐标数据。其中有些数据因为小数点后数位较多??4?经过四舍五入后得到以简化过程。关于B,C,D,E的计算值和近似值可参见附录1。同时可以得到相对应的a,b,的五组数据,我们采取加总求平均值得到能够合理代替椭圆的中心坐标(p,q),相同的的可以得到长半轴,短半轴的均值,结果如表3:

表3 p、q、a、b的值 A B C D E p q a b 317 418 638 593 290 191 192 222 502 503 43.9066 45.8895 37.708 30.3235 38.5096 38.65 39.2487 51.7237 36.6289 36.2061 由表3直接得到A,B,C,D,E得近似椭圆图像的标准方程式:

A:

?x?317?4422??y?191?3922?1

B:

?x?418?4622??y?192?3922?1

C:

?x?638?3822??y?222?5222?1

D:

?x?593?3022??y?502?3722?1

E:

?x?290?3922??y?503?3622?1

解得A、B、C、D、E点在像平面上的投影A'、B'、C'、D'、E'的像素坐标分别为?317,191?、?418,192?、?638,222?、?593,502?、?290,503?。把(2)

11

x?a?xc?1?sx?式变形得:?y?b?y?1c?sy? (3),代入相关已知量x1、y1、a、b、sx、syy1得:五

个点在像平面上的物理坐标分别为:??51.6,?51.1?、??24.9,?50.8?、?33.3,?42.9?、

?21.4,31.2?、??58.7,31.5?。

对所求椭圆图像标准方程进行误差分析:

在模型求解中对得到的多个中心点坐标定性的分析,改变数据的统计分布,采用加权平均法和排除法修正误差确定中心点,相比较,对于误差的处理采用最小二乘法,以MATLAB处理数据,可以得到更精确的中心点。最小二乘法是为了确定t 个不可直接测量的未知量X1,X2,X3,……,Xt,可对与该t 个未知量有线性关系的直接测量量Y?Y?a1X1?a2X2,……atXt?进行n 次测量,测得数据

为:l1,l2,l3,……,ln。设直接测量量Y1,Y2,Y3,……Yn的估计值用y1,y2,y3,……yn,则线性参数的测量方程为:

?Y1?a11X1?a12X1???a1tX1??Y2?a21X1?a22X1???a2tX1 ????Y?aX?aX???aXn11n21nt1?n

相应的估计量为:

?y1?a11x1?a12x1???a1tx1??y2?a21x1?a22x1???a2tx1 ????y?ax?ax???axn11n21nt1?n

由于存在误差,其误差方程为:

?v1?l1??a11x1?a12x1???a1tx1???v2?l2??a21x1?a22x1???a2tx1? ????v?l?ax?ax???ax?n11nn21nt1??n

由最小二乘法可知: 参数的最佳值应在残余误差平方和为最小的条件下给出,即

应满足:

n?i?1vi?v1?v2???vn?min 2222

利用极值的偏倒数为零的性质,现用残余误差平方和对t个未知量求偏导,并令

12

其为零,可得到t个方程,整理后得:

?2ax??ai1ai2x2????i11?1?1n?n2??ai2x1??ai2ai2x2????11???nn?2??aitx1??aitai2x2????11nnnn?1nai1aitxt??1nai1li?1nai2aitxt??1nai2li

?1aitaitxt??1aitli此方程即为线性参数最小二乘法处理的正规方程,方程的个数等于未知量的

个数,有唯一确定的解,由此可解得欲求的估计量。利用最小二乘法可取真实像图中的坐标来与所求方程的的y值做比较拟合,得到更精确的中心坐标 问题三:

由于,相机可能有畸变引起的对物象定位的不稳定性和误差,所以,我们设计了一种在考虑相继光学镜头畸变系数的条件下相机的标定方法,并根据一直的物、像点对该方法进行了验证,对其误差和稳定性进行了分析。

?a1a首先,进行初步检验,参数矩阵M???5??a9a2a6a10a3a7a11a4??a8?a12??,由式(1)以及物

坐标?xw,yw,zw,1?和像的物理坐标?x1,y1?,我们把矩阵模型转化成相应的方程,对M进行求解,我们用matlab实现,程序见附录3。

?0.77?11求得的结果如下:M??????5.31?0.0016?0.0240.000630000.018???0.82?1??,为了进行检验,我们

把E点的物坐标??50,?50,0?,代入(1)式解出E''与E'进行比较,算的误差率为0.03。

其次,以物平面的中心为圆心建立直角坐标系?单位:mm?,A,B,C,D,E的圆心坐标及其方程如下:

A??50,50?, B??20,50?, C?50,50?,

?x?50??x?2??y?50??y?50??y?50?2?12?12?12?122; ; ; ;

20??2222 ?x?50??x?50???22D?50,?50?,

2?y?50?22 13

E??50,?50?,?x?50??2?y?50?2?122;

再次,以光点为圆心在像图上建立直角坐标系?单位:像素?

A?317,191?,

?x?317?4422??y?191?3922?1

B?418,192?,

?x?418?4622??y?192?3922?1

C?638,222?,

?x?638?3822??y?222?5222?1

D?593,502?,

?x?593?3022??y?502?3722?1

E?290,503?,

?x?290?3922??y?503?3622?1

通过附录1将随机取得两个点k’,l’代入相应的方程后,求得模型的计算结果与实际图像测量结果存在误差,随即进行最小二乘法的误差分析,可知有些因素对所成像有一定影响。“畸变”就是其中的一种影响因素,它是由于透镜的放大率随光束和主轴间所成角度改变而引起。光线离主轴越远,畸变越大,但是若与主轴正交并通过主轴,则不发生畸变。减小畸变的方法是,对单一透镜改变镜片在前面问题的模型假设中的外形,采用最佳的外形可以使畸变减小到最小程度。我们假设不发生畸变,即畸变系数为0。但由以上的分析知畸变存在,即畸变系数不为0。

图11 畸变后的坐标图

14

求得模型所求解的结果与图像存在误差,经过最小二乘法的误差分析可知,有些因素对所成像有影响,“畸变”是因素之一。畸变是像差的一种。是由于透镜的放大率随光束和主轴间所成角度改变而引起。光线离主轴越远,畸变越大,但是若与主轴正交并通过主轴,则不发生畸变。在前面问题的模型假设中,我们假设不发生畸变,即畸变系数为o,但实际上,如(图像七),p’为真实测得的像点,即发生畸变后的像点,在这里我们对畸变中的一阶径向畸变产生的误差进行分析,其他畸变将在模型扩展中补充说明。

如图11所示,,设?xw,yw,zw?是三维世界坐标系中物体点p的三维坐标,

?x,y,z?是同一点,p在照相机坐标系中的三维坐标,照相机坐标系定义为:中心在O点(光学中心),z(zw)轴与光轴重合。?xc,yc?是在理像状态下p点的图像坐标,?xc,yc?是由透镜畸变引起的偏离?xc,yc?的实际图像坐标。

**问题四:

用一种数学模型来精确地确定两部固定相机的相对位置,这一过程运用了双目定位的系统标定,用于标定相机的内外参数。根据内外参数与相对位置的几何关系,进而确定了两部固定相机相对位置。 5.3 模型的建立和求解:

为达到确定相对位置的目的,我们可以采用反推的方法:先获得靶标上的点在它们像平面的像点的坐标,利用这几组像点的几何关系就可以经过直角坐标系的空间变换和矩阵的分解,得到了两部相机的内外参数,得到这两部相机的相对位置,,从而还可以利用几何的方法得到这些特征点在任一固定数码相机的坐标系中的坐标,恰如问题分析中所示的流程图思想。

模型建立如下:

世界坐标系表示的P的坐标与投影点p的坐标?x1,y1?的关系如下??:

1?x1??sx????y1?0??????1???00sy0?xw?T?yw??1??zw??1a??b?1???f?0???00f00010??0?0???R??0?xw?T?yw??1??zw??1?xw?y?w?zw??1???????xw?y?w?zw??1??xw????yw??M????zw????1???

?sx??0???00sy0ab10???R0??0?0????a1????a?5????a9?a2a6a10a3a7a11a4??a8?a12??????MM1???2其中:M为3?4矩阵,称为投影矩阵,内部包含内外参数。M1完全由sx,sy决定,由于sx,sy,a,b,a,b只与照相机的内部结构有关,故称M1为内部参数矩阵,M2

15

只与目标在世界坐标系中的位置有关,则称之为方位矩阵。

T1,假设双目立体视觉系统中左右数码照相机的外部参数分别为R1、与Rr、

Tr,则R1、T1表示左数码照相机与世界坐标系的相对位置,Rr、Tr表示右数码

照相机与世界坐标的相对位置,两个数码摄像机之间的几何关系R,T可以用以

下关系式表示:

R?RrR1?1?1

T?Tr?RrR1T此时如果对左右数码相机分别标定,我们从问题一中数学模型结论所获得的信息,便可得到R1、T1与Rr、Tr内外参数,利用上面的公式就可以得到双相机的相对几何位置。 因此,我们可以使用这个同一靶标对两个数码相机同时进行标定,为获取两个相机的内外参数,从而就可以通过标定得到的参数利用公式求得两部固定相机的相对位置。其基本方法:先了解双目成像原理,如图所示

图12 双目定位图

然后进行如下操作:

(1) 先将此100mm?100mm的正方形靶标,除了分别以四个顶点(对应为A、C、

D、E)为圆心,12mm为半径作圆,以AC、AE、ED、CD边上距离端点30mm处的点为圆心,12mm为半径作圆,可得如图13所示4?4圆阵列,圆的直径为24mm,两圆间隔也可从图得;

16

图13 4?4圆阵列

(2) 将上述靶标贴在一个平板上,两个数码相机从不同角度拍摄若干张(大于

或等于3张)靶标图像,我们取图像5个; (3) 检测每幅图像中的目标点(圆心);

(4) 求出靶标平面与其图像平面之间单应性矩阵H;

(5) 我们先考虑畸变系数为0的前提下,利用求出矩阵H,也就求出数码照相

机的内外参数;

(6) 因为由问题三的数值分析,我们得知畸变系数不可能为0,所以利用(5)

中得到的内外参数为初值,畸变系数的初值为0开始应用

Levenberg-Marguardt算法根据最小二乘法原理来求拟和曲线模型的非哦线性最小优化。如此一组精度更高的数码相机的内参数值,同时计算求出各项畸变系数。

六、模型的评价与改进

6.1 模型的优缺点 6.1.1 模型的优点

(1)在问题(1)中,我们利用空间直角坐标系的变换,即xoy平面为数码照相机平面,xwowyw平面为物平面,xcocyc平面为像平面,三平面的转换得到了二维图像到三维空间的转换,此转换以及矩阵分解确定数码相机的外内部参数。找到了实物的特征点与像图中点坐标的关系,得到像的中心坐标,为第二问得求解奠定基础。

(2)在问题二中我们假设先不考虑照相机的镜头畸变,即令畸变系数为零。通过图像的变换得出像素二进制坐标图,取相当数量的值,代入matlab程序得到相对应数量的中心坐标,加权均值法和排除法,较精确的产生中心坐标,通过问

17

题三的最小二乘法拟和,与做的像素二进制坐标图对应点误差较小,因此该模型能较准确的确定像中心坐标的。 6.1.2 模型的不足

对于问题二,因为像素二进制坐标图上的取点具有随机性,数量具有局限性,我们取出的具有些代表性的点片面性,而且在数据的处理过程中采取了四舍五入,致使误差有些明显。 6.2 模型的改进方向

为了使定位更加准确,方法更加科学,在时间允许的条件下,我们认为有必 要对取点数量相应地增加,尽量的避免使用四舍五入,提高定位精度。此外,对各坐标及距离误差的变化的灵敏度进行分析。在技术设备允许的条件下,还可以把各相机的反映时间及相机所拍物体的速度考虑进去,从而更加显著地提高定位的精确度。从而更好地将这一标定技术应用于一个国家的国防,交通等方面。

六、参考文献

[1] 李立冬,刘教民,单目视图下相机标定和平面测距研究[J],河北科技大学

学报,2005。

[2] 陈刚,车仁生,叶东,黄庆成,一种基于立体模板的双目视觉传感器现场标

定方法[J].光学精密工程,2004。

[2] 宋兆基,徐流美,《MATLAB 6.5.1在科学计算中的应用》[M],北京:清华大学出版社,2005。

[3] 杨启帆,方道元,《数学建模》[M],杭州:浙江大学出版社,1999。 [4] 姜启源,谢金星,叶 俊,《数学模型》(第三版),北京:高等教育出版社,

2004。

[5] 吴育华,杜纲,《管理科学基础》,天津:天津大学出版社,2004。 [6] 刘钦圣,《最小二乘法问题的计算方法》,北京:北京工业大学出版社,1989。 [7] 刘金颂,原思聪,张庆阳,刘道华,双目立体视觉中的摄像机标定技术研究, 计算机工程与应用,44(6):2008。

18

附录1:

A计算值 总值 B计算值 C计算值 D计算值 E计算值

19

p 323.006 308.75 309 321.1752 321.3863 1583.3175 p 413.2374 423.2006 408.1576 419.8426 423.9104 2088.3486 p 629.4389 628.455 653.3654 639.9719 636.9562 3188.1874 p 593.6445 583.981 595.3264 613.025 580.0301 2966.007 p 284.7206 311.5 282.7212 285.6285 287.0461 1451.6164 q 188.9914 203.75 184 190.3574 188.864 955.9628 q 186.9994 195 199.1673 195 182.797 958.9637 q 224.4515 225.5639 224.15 221.553 216.3176 1112.036 q 493.081 501.7176 512.0732 497.5325 505.8339 2510.2382 q 501.9742 501 503.7811 502.0638 506.0868 2514.9059 A近似值 均值 B近似值 均值 C近似值 均值 D近似值 均值 E近似值 均值 p 323 309 309 321 321 317 p 413 423 408 420 424 418 p 629 628 653 640 687 638 p 594 584 595 613 580 593 p 285 312 283 286 287 290 q 189 204 184 191 189 191 q 187 195 199 195 183 192 q 224 226 224 222 217 222 q 493 502 512 498 506 502 q 502 501 504 502 506 503 a' b' c' d' e' f' g' h' k' l' AX 325 281 322 365 294 354 355 293 290 362 AY 148 189 231 188 160 160 215 220 217 173 BX 425 421 382 464 394 452 452 395 391 391 BY 156 237 199 195 171 167 223 228 174 223 CX 646 635 603 677 615 669 667 610 615 674 CY 175 252 219 210 188 186 236 240 188 194 DX 590 575 548 618 562 611 612 550 550 555 DY 470 536 507 496 480 479 516 520 496 528 EX 289 281 245 324 313 310 254 258 248 246 EY 466 538 506 499 474 528 527 478 492 513 附录2

clc clear

%由ACDSee转换完成的图像命名为’a’,并存入到MATLAB的work文件目录下,把该图像 文件读入赋给变量 md md=imread('a.tif'); imshow(md);

md1=bwmorph(md,'remove'); md2=bwmorph(md1,'spur'); [rempx,tempy]=find(md2==1); imview(md2) clear clc

[a,b,p,q]=solve('(x1-p)^2/a^2+(y1-q)^2/b^2-1=0','(x2-p)^2/a^2+(x2-q)^2/b^2-1=0','(x3-p)^2/a^2+(y3-q)^2/b^2-1=0','(x4-p)^2/a^2+(y4-q)^2/b^2-1=0') clc clear

%定义变量(xi,yi)为像平面上像点坐标,(Xi,Yi,Zi)为靶标特征点即(中心点)在固定一部相机的坐标系中的坐标,ai为相机参数矩阵的参数包含内外参数 syms a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11

%[x1;y1;1]=[a1 a2 a3 a4;a5 a6 a7 a8;a9 a10 a11 1][X1;Y1;Z1;1]为模型矩阵 %已知

X1=-50;X2=-20;X3=50;X4=50;X5=-50;Y1=50;Y2=50;Y3=50;Y4=-50;Y5=-50;Z1=0;Z2=0;Z3=0;Z4=0;Z5=0

%已知x1=-51.6;x2=-24.9;x3=33.3;x4=21.4;y1=-51.1;y2=-50.8;y3=-42.9;y4=31.2 %化解模型得到方程

a1*X1+a2*Y1+a3*Z1+a4-x1*X1*a9-x1*Y1*a10-x1*Z1*a11=x1,a5*X1+a6*Y1+a7*Z1+a8-y1*X1*a9-y1*Y1*a10-y1*Z1*a11=y1;

20

?*X2+a2*Y2+a3*Z2+a4-x2*X2*a9-x2*Y2*a10-x2*Z2*a11=x2,a5*X2+a6*Y2+a7*Z2+a8-y2*X2*a9-y2*Y2*a10-y2*Z2*a11=y2;

?*X3+a2*Y3+a3*Z3+a4-x3*X3*a9-x3*Y3*a10-x3*Z3*a11=x3,a5*X3+a6*Y3+a7*Z3+a8-y3*X3*a9-y3*Y3*a10-y3*Z3*a11=y3;

?*X4+a2*Y4+a3*Z4+a4-x4*X4*a9-x4*Y4*a10-x4*Z4*a11=x4,a5*X4+a6*Y4+a7*Z4+a8-y4*X4*a9-y4*Y4*a10-y4*Z4*a11=y4;

?*X5+a2*Y5+a3*Z5+a4-x5*X5*a9-x5*Y5*a10-x5*Z5*a11=x5,a5*X5+a6*Y5+a7*Z5+a8-y5*X5*a9-y5*Y5*a10-y5*Z5*a11=y5; %把已知量代入方程中进行求解

[a1,a2,a4,a5,a6,a8,a9,a10]=solve('a1*(-50)+a2*50+a4-51.6*50*a9+51.6*50*a10=-51.6','a5*(-50)+a6*50+a8-51.1*50*a9+51.5*50*a10=-51.1','a1*(-20)+a2*50+a4-20*24.9*a9+24.9*50*a10=-24.9','a5*(-20)+a6*50+a8-50.8*20*a9+50*50.8*a10=-50.8','a1*50+a2*50+a4-33.3*50*a9-33.3*50*a10=33.3','a5*50+a6*50+a8+42.9*50*a9-42.9*50*a10=-42.9','a1*50+a2*(-50)+a4-21.4*50*a9+21.4*50*a10=21.4','a5*50+a6*(-50)+a8-31.2*50*a9+31.2*50*a10=31.2','a1,a2,a4,a5,a6,a8,a9,a10')

21

?*X2+a2*Y2+a3*Z2+a4-x2*X2*a9-x2*Y2*a10-x2*Z2*a11=x2,a5*X2+a6*Y2+a7*Z2+a8-y2*X2*a9-y2*Y2*a10-y2*Z2*a11=y2;

?*X3+a2*Y3+a3*Z3+a4-x3*X3*a9-x3*Y3*a10-x3*Z3*a11=x3,a5*X3+a6*Y3+a7*Z3+a8-y3*X3*a9-y3*Y3*a10-y3*Z3*a11=y3;

?*X4+a2*Y4+a3*Z4+a4-x4*X4*a9-x4*Y4*a10-x4*Z4*a11=x4,a5*X4+a6*Y4+a7*Z4+a8-y4*X4*a9-y4*Y4*a10-y4*Z4*a11=y4;

?*X5+a2*Y5+a3*Z5+a4-x5*X5*a9-x5*Y5*a10-x5*Z5*a11=x5,a5*X5+a6*Y5+a7*Z5+a8-y5*X5*a9-y5*Y5*a10-y5*Z5*a11=y5; %把已知量代入方程中进行求解

[a1,a2,a4,a5,a6,a8,a9,a10]=solve('a1*(-50)+a2*50+a4-51.6*50*a9+51.6*50*a10=-51.6','a5*(-50)+a6*50+a8-51.1*50*a9+51.5*50*a10=-51.1','a1*(-20)+a2*50+a4-20*24.9*a9+24.9*50*a10=-24.9','a5*(-20)+a6*50+a8-50.8*20*a9+50*50.8*a10=-50.8','a1*50+a2*50+a4-33.3*50*a9-33.3*50*a10=33.3','a5*50+a6*50+a8+42.9*50*a9-42.9*50*a10=-42.9','a1*50+a2*(-50)+a4-21.4*50*a9+21.4*50*a10=21.4','a5*50+a6*(-50)+a8-31.2*50*a9+31.2*50*a10=31.2','a1,a2,a4,a5,a6,a8,a9,a10')

21

本文来源:https://www.bwwdw.com/article/3f03.html

Top