数码相机定位(论文)

更新时间:2024-06-28 15:05:01 阅读量: 综合文库 文档下载

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

数码相机定位

盐城工学院 童立里

摘要

本文用几何的方法建立了相机标定的模型,由于靶标是一个矩形的4个顶点与一条边上的点,利用针孔模型。针孔模型是由投影中心,成像面与光轴组成,那么投影中心与靶标上的矩形构成了一个四棱锥。成像面成了该四棱锥的一个截面,如果我们知道了截面,利用几何中向量的方法,可以推导出四棱锥底面的坐标,于是该相机在世界坐标系中的坐标就出现了,所有的相机内部的参数也可以得出。

对于问题1,2,我们还要找出不规则圆的圆心,我们认为如果圆是由一些像素方格组成,那么圆心就是到所有其他像素方格距离之和最小的一个像素方格,这就转化为一个极小值问题。我们求得圆A的像的像坐标系下的坐标为(190,325),其余的见表1。根据四棱锥模型,我们求出图像中心坐标u0?300.3416,v0?490.6230。根据u0,v0的值,就可以确定相机的坐标系,进而求出A、B、C、D、E在相机坐标系下的坐标以及它们的像的坐标。

点 A B C D E -31.844 -30.425 -27.113 67.097 79.241 x轴 -47.798 -19.548 46.370 30.585 -55.892 y轴 z轴 445.119 465.445 489.538 522.121 619.015 题目图2中点A,B,C,D,E在照相机坐标的坐标

点 x轴 y轴 轴 A’ -29.191 -43.816 417.196 B’ -27.604 -19.212 417.196 C’ -23.106 39.518 417.196 D’ 53.613 24.439 417.196 E’ 53.349 -54.398 417.196 z A,B,C,D,E的像点(原题目中图3)在照相机坐标的坐标

对于问题3,相机参数的标定可以用经典的透视变换矩阵来做,我们利用该方法求出了相机的外部参数,与四棱锥模型的外部参数进行了比较,发现结果是吻合的。而且,我们知道估计的像在像素坐标系中的坐标是有一定的误差,通过对误差的分析,发现该误差对四棱锥模型是稳定的。

对于问题4,两个相机相对位置的标定,我们利用两个四棱锥的几何模型,可以求出在同一个世界坐标体系下两个相机光心的坐标,这样它们的相对位置就确定了。此外,我们利用坐标变换,可以求出两个相机相对位置的坐标转换矩阵。(由于没有第2个相机的数据,我们只是提出了方法)

关键词:相机坐标系 透视变换矩阵 小孔模型 四棱锥

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×768;

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

二、问题分析

本问题属于数码相机的标定问题。传统的相机标定是在一定的相机模型下,基于特定的实验条件,如形状、尺寸已知的标定物,经过对其图像的处理,利用一系列数据变换和计算方法,求取相机模型的内部参数和外部参数。然而,由于本问题靶标是一个正方形上的五个点,靶标的像也是同一平面上的五个点,因此我们可以利用针孔模型来处理。针孔模型主要由光心(投影中心)、成像面和光轴组成。在本问题中光心和靶标上的正方形组成了一个四棱锥,而靶标的像即是四棱锥上的一个截面。所以我们可以把成像图理想化为已知四棱锥的底面和截面,求四棱锥的顶点与光轴的问题,这是一个高中的立体几何问题。我们准备在下文中用向量的方法来求。此外,根据经典的相机标定方法,我们还可以用透视变换矩阵的相机标定技术来求,但是这些方法是普遍的方法,对本问题的标靶精确度并不是太高。我们可以用这种方法检验我们的立体几何模型,并且讨论精确度。

由于在现实世界中几何上的点的概念是不存在的,我们只能用圆的圆心来代替。而

2

成像面上靶标上的圆,已经变成了不规则圆,本问题要求的其圆心就只能用近似的方法来处理。在实际的相片(图3)中,图的像是1024×768个像素所组成的,圆心实际上的就是这些每个独立圆像素区的正中心。我们可以采用聚点的理论,对若干个像素的网格所组成的图,其中,实际上可以看成是与其它网格点距离之和最近的一个网格点,这就变成了一个最短距离的问题。

三、模型假设

1、假设在计算机视觉研究中,三维空间中物体到像平面的投影关系,即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型,本文假设题中的照相机成像是针孔模型。

2、像素在x、y方向上的物理尺寸是3、本文中的长度单位是毫米。

4、本文的世界坐标系是取靶标上A点为原点,AC为x轴,AE为y轴。垂直于平面ACDE的线为z轴。(如图1)

13.78,即单位长度的像素个数是3.78。

ZwYwEDXwA(Ow)C

图 1 世界坐标系

四、坐标系及其关系

计算机视觉常用坐标系采用右手准则来定义,图1表示了三个不同层次的坐标系统:世界坐标系、照相机坐标系和图像坐标系(图像像素坐标系和图像物理坐标系)。在本文中,我们几何方法算出照相机的位置,也转化成世界坐标系中的点。所以,我们还是介绍一下这些通用的坐标系。

3

1、世界坐标系:

也称真实或现实世界坐标系,它是客观世界的绝对坐标。一般的3D场景都用这 个坐标系来表示。

oxyOfOL1YfZwYXPu(Xu,Yu)XfPd(Xd,Yd)OwXwYwL2P(x,y,z)(Xw,Yw,Zw)z

图 2 标定系统的坐标系

2、 三个层次的坐标系统

(1)世界坐标系(xw,y,zw):也称真实或现实世界坐标系,或全局坐标系。

w它是客观世界的绝对坐标,任意定义的三维空间坐标系。一般的3D场景都用这个坐标系来表示。

(2)照相机坐标系(xoy):以小孔照相机模型的聚焦中心为原点,以照相机光轴为zc 轴建立的三维直角坐标系。x,y 一般与图像物理坐标系的xf,yf 平行,且采取前投影模型。

(3)图像坐标系,分为图像像素坐标系和图像物理坐标系两种:

图像物理坐标系:其原点为透镜光轴与成像平面的交点,X与Y 轴分别平行于照相机坐标系的x 与y 轴,是平面直角坐标系,单位为毫米。

图像像素坐标系[计算机图像(帧存)坐标系]:固定在图像上的以像素为单位的平面直角坐标系,其原点位于图像左上角, xf, yf平行于图像物理坐标系的X和Y轴。对于数字图像,分别为行列方向。

4

3、坐标系变换关系

定义了上述各种空间坐标系后,就可以建立两两不同坐标变换之间的关系。 (1) 世界坐标系与照相机坐标系变换关系

世界坐标系中的点到照相机坐标系的变换可由一个正交变换矩阵R 和一个平移 变换矩阵T 表示为:

???r11?x?xw?????y?R?y??T??r21??w?????z???r31???zw?rrr122232rrr13??xw?????y??T (1) 23?w???33???zw??齐次坐标表示为:

?x????Ry????T?z???0???1??xw???T??y???w? (2) 1???z?w?1???其中, T???txtytz??T是世界坐标系原点在照相机坐标系中的坐标,矩阵R是正

交旋转矩阵,其矩阵元素满足

r11?r21?r31?222r?r1222213223233?1 ?1 ?1

r?r22r?r322正交旋转矩阵实际上只含有3 个独立变量,再加上tx,ty和tz,总工有6 个参数决定了照相机光轴在世界坐标系中空间位置,因此这六个参数称为照相机外部参数。

(2) 图像坐标系与照相机坐标系变换关系

如图1 所示,照相机坐标系中的物点P 在图像物理坐标系中像点Pu 坐标为

?X?fx/z??Y?fy/z (3)

(3)齐次坐标表示为:

?X?zY???1??f???0??????00f0001?x?0????y0?? (4) ??z?0?????1?5

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

??u?u0?X/dx?sxX??v0?Y/dy?syY??v (5)

齐次坐标表示为:

?u??sx???v?0??????1???00s0yuv??X??Y0???1?1??0?? (6) ???其中, u0,v0 是图像中心(光轴与图像平面的交点)坐标, dx,dy分别为一个像素在X 与Y方向上的物理尺寸, sx?1/dx,sy?1/dy ,分别为X与Y方向上的采样频率,即单位长度的像素个数。(在本文中sx?sy?3.78)

由此可得物点P 与图像像素坐标系中像点P 的变换关系。

??u0?fsxx/z??u??v?v0?fsyy/z??ffxx/zy/z (7)

y其中,fx?fsx,fy?fsy分别定义为X 和Y 方向的等效焦距。f,f,u0,v0 等

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

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

?????????XfYfry??ryf?ry?vxrv??frx?ryu??u0xrxrx113121w?12w?w32wrz?rz133323w?tx?tz?tyw (8)

0w22w?y31w32wrz?rz33ww?tz齐次坐标表示为:

?fu?????zv??0?????1???0?x0uy0f0v100???R0??T???0?0??xw???T??y???w??1???z?w?1???MMX12?MX (9)

上式就是摄影测量学中最基本的共线方程。说明物点、光心和像点这三点必须在同一条直线上。这是针孔模型或者中心投影的数学表达式。根据共线方程,在照相机内部参数确定的条件下,利用若干个已知的物点和相应的像点坐标,就可以求解出照相机的六个外部参数,即照相机的光心坐标和光轴方位的信息。

6

五、模型的建立与求解

5.1确定图3 上各圆心的模型

我们假设图2上A,B,C,D,E的像在图3上标记为A’,B’,C’,D’,E’。我们一看到A’,B’,C’,D’,E’是不规则的圆,那么如何确定各圆的圆心呢?由于数码相机的图片是由离散的像素组成的,我们建立一个离散的极小值模型来求圆心。依A’圆为例,如图3,

h2h1hihk

图3 圆A的像的像素图

A’圆是由一系列像素为黑的像素点组成(h1,h2,...,hk,...,hn),该集合对应的矩阵指标集合我们记为A’。我们知道图3是1024*786像素的图片(题目中把图片缩小成37%)。我们引入一个类似于最小二乘法的思想,如果以像素为单位,A’的中心是距集合(h1,h2,...,hk,...,hn)所有其他像素距离之和最小的像素点。第k个像素(对应矩阵的指标为(i,j))到集合A’中其与所有像素距离之和为(单位为像素)

d(i,j)?(i1,j1)?A'?(i?i1)2?(j?j1)

2那么,我们要求的圆心坐标(i,j)直接化为如下无约束的极小值问题

(i,j)?min d(i,j)?(i,j)?A'min?(i,j)?A'(i1,j1)?A'(i?i1)2?(j?j1) (10)

27

APBODC

图4 标准圆心的距离图

注1:如图4,对图上的四个点A,B,C,D,圆心O到四个点的距离之和很明显小于圆内任意一点P到四个点的距离之和。这从直观上说明了我们用极小距离求圆心的可行性。

我们的具体做法是,先用MATLAB把图3转化为像素矩阵(Xij)786*1024,然后根据极小值公式(10),用MATLAB编程,就可以求出A’圆心在图像像素坐标系上的坐标。详细程序见附录1。用同样的方法我们可以求出其余的点在图像像素坐标系上的坐标,结果见表1。

A’ B’ C’ D’ E’ 图像 像素坐(190,325) (196,418) (213,640) (503,583) (502,285) 标系的坐标 表1 点A、B、C、D、E像的圆心坐标

5.2标定的几何模型(问题1、2的解答)

将图像平面与光轴的交点作为原点o并建立三维坐标系,也即xoy平面为图像物理坐标系,再令光轴为oz轴,方向满足右手方向,为方便计算,单位采用像素(px)。

根据Matlab计算得到照片中五个近似圆的中心在图像像素坐标系中的坐标分别为

A'?(190,325),

B'?(196,418), C'?(213,640), D'?(503,583), E'?(502,285).

8

我们将这些坐标转化为图像物理坐标系中的坐标,即减去(u0,v0)。此时,我们不知道图像中心坐标,因为它是一个相机内部参数,我们不妨把它看做未知数。于是在新的三维坐标系中,我们有A?(190?u0,325?v0,0)等等。即

A'?(190?u0,325?v0,0), B'?(196?u0,418?v0,0), C'?(213?u0,640?v0,0), D'?(503?u0,583?v0,0), E'?(502?u0,285?v0,0).

'延长OA',OB',OC',OD',OE',并设有平面∏与这五条射线相交于五点

。 A,B,C,D,E(见图5)

OD'zxoyC'E'A'EB'DZwAYwXwABC∏

图5 靶标的四棱锥模型

9

于是

????OA'?A'?O?(190?u0,325?v0,?1577), ????OB'?B'?O?(196?u0,418?v0,?1577), ????OC'?C'?O?(213?u0,640?v0,?1577), ????OD'?D'?O?(503?u0,583?v0,?1577), ????OE'?E'?O?(502?u0,285?v0,?1577).

假设三个未知量k,l,m,使得

????????OA?k*OA', ?????????OB?k*OB', ?????????OC?k*OC', ?????????OD?k*OD', ?????????OE?k*OE'.

因此,A,C,D三点的坐标为

????A?OA?O?????k*OA'?O

?(k*(190?u0),k*(325?v0),1577(1?k))????C?OC?O??????l*OC'?O ?(l*(213?u0),l*(640?v0),1577(1?l))????D?OD?O??????m*OD'?O?(m*(503?u0),m*(583?v0),1577(1?m))

由于A,C,D三点即确定了平面∏,故可求出E点的坐标,特别地,根据题目条

????????????件可知,ACDE是一个边长为100mm?378px的正方形,故CE?CA?CD.其中

????CA?A?C?(k*(190?u0)?l*(213?u0),k*(325?v0)?l*(640?v0),1577(l?k)) ????CD?D?C?(m*(503?u0)?l*(213?u0),m*(583?v0)?l*(640?v0),1577(l?m))

10

????????????CE?CA?CD?(k*(190?u0)?m*(503?u0)?2*l*(213?u0),k*(325?v0)?m*(583?v0)?2*l*(640?v0),1577(2l?k?m))

特别的,OE也可以表示出来

????OE?E?O?????????CA?CD?C?O?????????????CA?CD?OC ?????????CA?OD??????????CA?mOD'?????(k*(190?u0)?m*(503?u0)?l*(213?u0),k*(325?v0)?m*(583?v0)?l*(640?v0),1577(l?k?m))

注意到OE平行于OE',故有

k*(190?u0)?m*(503?u0)?l*(213?u0)502?u0?k*(325?v0)?m*(583?v0)?l*(640?v0)285?v01577(l?k?m)?1577 (11)

?由于ACDE是边长为100mm?378px的正方形,故有方程组

?k*(190?u0)?l*(213?u0)???k*(325?v0)?l*(640?v0)?222?157722?l?k?2?37822 (12)

2?m*(503?u0)?l*(213?u0)???m*(583?v0)?l*(640?v0)??15772?l?m??378 (13)

?k*(190?u0)?m*(503?u0)?2*l*(213?u0)???157722?k*(325?v0)?m*(583?v0)?2*l*(640?v0)??2l?k?m?22 (14)

?3782*2我们发现方程(11)(12)(13)(14)有5个方程,5个未知数。我们只要通过解二次方程就可以求出参数u0,v0,k,l,m的数值。于是,照相机参数的标定就完成了。我们具体用MATLAB的程序来解这样的方程,程序见附录2。表2是具体的结果。

11

参数 数值 16 u 0v 0 k l m 300.3430 490.621.0909 1.1734 1.2515 表2 参数的值

有了如上参数的值,我们很容易求出A,B,C,D,E,A’,B’,C’,D’,E’在照相机坐标系Oxyz,具体的结果见表3、4。

点 x轴 yA -31.844 -47.798 445.119 B -30.425 -19.548 465.445 C -27.113 46.370 489.538 D 67.097 30.585 522.121 E 79.241 -55.892 619.015 轴 轴 z 表3 题目图2中A,B,C,D,E在照相机坐标的坐标

点 x轴 yA’ -29.191 -43.816 417.196 B’ -27.604 -19.212 417.196 C’ -23.106 39.518 417.196 D’ 53.613 24.439 417.196 E’ 53.349 -54.398 417.196 轴 轴 z 表4 A,B,C,D,E的像点(原题目中图3)在照相机坐标的坐标

表3、表4分别是问题2、问题1的答案。

此外,我们还求出了u0,v0(见表2),u0,v0是图像中心(光轴与图像平面的交点)坐标,是照相机的内部参数。一般的,对于照相机的外部参数r11,r12,r13,r21,

r,r,r,r,r,tx,ty,tz,我们利用前面介绍的坐标系变换关系(1),

2223313233建立一个如图1的世界坐标系,那么,A,B,C,D,E,A’,B’,C’,D’,E’在世界坐标系中的坐标可以求出来,利用最小二乘法的二项式回归,我们可以得到照相机外部参数。具体的结果见表5.

12

r 11r 12r 13r 21r 22r 230.0473 0.9421 0.2220 0.9417 -0.1579 0.2971 r 31r 32r 33tx ty tz 455.1189 0.3443 0.3257 -0.8806 -31.8444 -47.7984 表5 相机外部参数值

5.3 两部固定相机相对位置标定的模型

事实上,5.2节中的单个照相机参数标定模型已经可以求出,在相机1的相机坐标系oxyz中,靶标上各个点与靶标的像各个点的坐标。我们不妨设靶标上各个点的坐标为

A(xA,y,zA2A),B(xB,y,zBB),C(xC,y,zCC),D(xD,y,zDD),E(xE,y,zEE)。如果又在

另一个固定位置加入相机2,同样我们可以求出靶标上各个点在相机2的相机坐标系

ox2yz22中各个点的坐标A(x2A2,yA,zA), B(xB,yB,zB), C(xC,yC,zC2222222),

2D(xD2,yD,zD2), E(xE2,yE,zE2)。见图6。

213

O”OE”Z’A”D'B”zxoD”yC'C”X’Y’E'A'EB'DZwAYwXwABC∏

图6 双目标定模型

而且,在图6上我们发现,照相机的光心O、O”,第一个照相机的光心O在世界坐标系里的坐标为(31.844,47.798,455.119),如果加入第二个相机,用5.2节中模型的方法,我们也可以求出第二个相机的光心在世界坐标系上的坐标。这样,两个相机的相对位置就可以求出来了。

此外,我们还可以利用坐标变换的方法,求出双目标定模型的相机相对位置。见文献[1]。

由两台CCD 摄像机组成的空间三坐标测量传感器的数学模型和相应的各种坐标系如图7 所示。设摄像机1 位于传感器测量坐标系oxyz 的原点处且无旋转, 像面坐标系为

OXY, 有效焦距为f1, 像面中心为(uo1 , vo1) ; 摄像机2 坐标系为o2x2y2z2,

111像面坐标系为o2x2y, 有效焦距为

2f2, 像面中心为(uo2 , vo2) , 摄像机模型如

前所述。

14

PZZ2X2O2 of1Y1xX1 f2Y2o2x2yy2

图7 双目体视传感器模型

??X1??f1???Y1??0????1??0???00???x???0?y (15) ????z??1???f01??0 X1?(u1?uo1)s??X2??f2???Y2??0????1??0???0X1 , Y1?v?v1o1

f020?????x2?0??y? (16) ??2?1?????z2???0 X2?(u2?uo2)sX22 , Y2?v2?vo2

设oxyz坐标系与o2x2y?x??x?2?????y??R*?y??T2????z????z2???r1?R??r4??r7z2坐标系的空间位置关系为

(17)

rrr258rrr????tx??,T??ty?6????9???tz??3由(15)~(17)式可知,传感器测量坐标系表示的空间点与两照相机像面点之间的对应关系为:

15

??X2??????Y2?????1?????frfr2214frfr2225frfr2236frfr22r7r8r9tz??zX1x????zY1y???z???1?ff???1? (18) ???1于是, 双目视觉传感器三坐标测量模型可用下式表示:

?x?zX1f1??y?zY1f1??f1(f2tx?X1tz)??z??X2(r7X1?r8Y1?f1r9)?f2(r1X1?r2Y1???f1(f2ty?Y1tz)??(??)?f(r4X1?r5Y1?f??Y2r7X1r8Y1f1r92fr1 (19)

3)1r6)只要已知焦距空间坐标。

f1、

f2、旋转矩阵R和平移矢量T,就可以得到被测物体点的三维

焦距f1,f2,旋转矩阵R平移矢量T的确定 由式(19)得到

(f2tx?X2tz)(r4X1?r5Y1?f1r6)?(f2ty?Y2tz)(r1X1?r2Y1?f1r3)?(Y2tx?X2ty)(r7X1?r8Y1?f1r9)'令T??T,因tx?0,选择??1/tx,则有T'?(1ty'T (20)

tz),利用式(19)对每个

'',tz,r1?r9,的观测点求得带有比例因子的Zi。(20)式是一个含有13个未知数f1,f2,ty非线性方程,用函数f(x)?0来表示。

其中

x?(f1,f2,ty,tz,r1,r2,r3,r4,r5,r6,r7,r8,r9) (21)

''另外,r1~r9构成的矩阵R是正交的,具有六个正交约束条件。由此构成如下罚函数:

16

?h1(x)??h2(x)??h3(x)??h4(x)?h(x)5???h6(x)?M1(r1?r4?r7?1)?M2(r2?r5?r8?1)?M3(r3?r6?r9?1)?M4(r1r2?r4r5?r7r8)?M5(r1r3?r4r6?r7r9)?M6(r2r3?r5r6?r8r9)222222222 (22)

其中M1~M6为罚因子,从而得到无约束最优目标函数为:

n6F(x)??i?1fi(x)?2?hi?12i(x)?min (23)

最后由牛顿—高斯法求得x。由(19)式求出Zi。

对于Pi点的空间位置为(xi,yi,zi),对应的像面坐标分别为(X1i,Y1i),(X2i,Y3i)。空间点Pi,Pj的距离Dij表示为:

f1Dij?(ziX1i?zjX1j)?(ziY1i?zjY1j)?f1(zi?zj) (24)

222222因(19)式求得的Zi带有比例因子,即zi??zi。则(11)式变为:

?f1Dij?(ziX1i?zjX1j)?(ziY1i?zjY1j)?f1(zi?zj) (25)

2222222'由式(25)可求得?

???f1Dij(ziX1i?zjX1j)?(ziY1i?zjY1j)?f1(zi?zj)''2''22''2 (26)

?的符号由坐标选取法决定。至此获得双目标定的所有参数。

六、模型的检验与稳定性分析

我们首先利用经典矩阵透视的方法,求出在世界坐标系下坐标变换矩阵R,T的参数,将这些参数与表5中的参数作一个比较,借此对模型加以检验。

具体的做法如下:根据公式(8),在本文中,公式(8)中的参数fx?fy?3.78f,

17

那么公式(8)中有15个参数,而有5个点的坐标代入公式(8),可以得到10个方程,再利用旋转矩阵R标准正交性,又可以得到6个方程,因此,我们用16个方程求解15个参数,利用 Matlab的方程求解工具,得到具体的参数结果见表6

r 11r 12r 13r 21r 22r 230.0493 0.9633 0.2341 0.8987 -0.1354 0.2899 r 31r 32r 33tx -31.9004 ty -47.7674 tz 454.0009 0.3122 0.3198 -0.8716 表6 坐标变换矩阵R,T的参数

比较表5、6,我们可以发现这些参数的数值大致吻合,因此我们在5.2节中四棱锥的模型是符合实际的。

我们知道,小孔成像原理保证了同一直线的A、B、C像理论上也应该在同一直线上,但是由于我们用圆心代替点,在5.1节的模型中A、B、C的像在图像像素坐标系中的坐标并非在同一直线上,因此存在一定的误差,我们把B的像在图像像素坐标系中做一个修正,新的数据见表7

A’ B’ C’ D’ E’ 图像像素坐(190,325) (197,390) (213,640) 标系的坐标 (503,583) (502,285) 表7 修正后A、B、C、D、E像的圆心坐标

下面我们利用表7的数据,代入5.2节中的模型,算出了修正后的坐标变换矩阵R,T的参数,具体数据见表8 r 11r 12r 13r 21r 22r 230.0408 0.9562 0.2076 0.9087 4 -0.1650.2909 r 31r 32r 33tx -31.91ty -47.45tz 453,9879 0.3802 0.3102 1 -0.84114 64 表8 数据修正后得到的参数

18

从表8可以看出,5.2节的模型是稳定的。

参考文献

[1]周富强,邾继贵,杨学友,叶声华,张虎,双目视觉传感器的现场标定技术,仪器仪表学报,21(2):142-145,2000。

附录1:

d=zeros(768,1024);

for i=floor(50/0.37):ceil(90/0.37)

for j=floor((4*26-10)/0.37):ceil((5*26+14)/0.37) for i1=floor(50/0.37):ceil(90/0.37)

for j1=floor((4*26-10)/0.37):ceil((5*26+14)/0.37)

19

if X(i1,j1)==0

d(i,j)=d(i,j)+sqrt((i-i1)^2+(j-j1)^2); end end end end end

minn=min(min(d(floor(50/0.37):ceil(90/0.37),floor((4*26-10)/0.37):ceil((5*26+14)/0.37))))

for i=floor(50/0.37):ceil(90/0.37)

for j=floor((4*26-10)/0.37):ceil((5*26+14)/0.37) if d(i,j)<=minn+1

hang=i;lie=j;break; end end end

附录2:

[k,l,m,u,v]=solve('(k*(190-u)+m*(503-u)-l*(213-u))/(502-u)-(k*(325-v)+m*(583-v)-l*(640-v))/(285-v)=0',

'(k*(190-u)+m*(503-u)-l*(213-u))/(502-u)-(1577*(l-k-m))/(-1577)=0', '(k*(190-u)-l*(213-u))^2+(k*(325-v)-l*(640-v))^2+1577^2*(l-k)^2-378^2=0',

'(m*(503-u)-l*(213-u))^2+(m*(583-u)-l*(640-u))^2+1577^2*(l-m)^2-378^2=0',

'(k*(190-u)+m*(503-u)-2*l*(213-u))^2+(k*(325-u)+m*(583-u)-2*l*(640-u))^2+1577^2*(2*l-k-m)^2-378^2*2=0')

20

本文来源:https://www.bwwdw.com/article/1zg3.html

Top