数码相机定位数学模型

更新时间:2024-06-02 19:51:01 阅读量: 综合文库 文档下载

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

数码相机定位

第七组:李晨辉,姚晓红,孙娅

摘要

本文根据题意,在建立数学模型之前进行照相机成像原理的模型简化,将照相机复杂的成像过程看作简便的小孔成像过程。世界坐标和像坐标之间的互相转化是本文主要的思想主线。

针对第一个问题,本文建立了简单易懂的小孔成像原理的数学模型。本文将物体看作是无数特征点的集合,将特征点在建立的世界坐标中的坐标转换为物体在相机成像后的平面坐标,即像平面坐标。通过旋转矩阵和平移矩阵等种种运算方式实现以上所述坐标的转换。本文给出了确定像坐标的公式。第二个问题是实际运算,首先通过RAC两步法求得数据,又根据重心法测得了实际的数据,本文进行了数据对比,判别了算法的正确性,结果偏移量的微小(点偏移量:A为0.020891;B为0.03088;C为0.068728;D为0.179126;E为0.013284;F为0.0058 G0.048;H为0.0714)说明我们算法较为准确,模型合理。第三个问题我们运用了特殊点法,将二问中所得坐标与切线所得特殊点坐标进行对比校正,结果差距同样微小,本文以此分别验证了模型的稳定性和精确度。而针对第四个问题,我们运用所建立的模型逆向转换,用物体在两台相机中的成像的不同数据确定了双目的位置。

总体上,本文主要进行了实际物体的世界坐标与它在相机里成像为平面图像的相机坐标之间的转换,相机平面坐标与其3D坐标之间的转换,相机3D坐标和世界坐标之间的互相转换。这些转换是数码相机定位的关键。

关键字:小孔成像 坐标变换 RAC两步法 计算机扫描 畸变因素

1

一、 问题重述

数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。如果知道两部相机精确的相对位置,用几何的方法得到特征点在固定一部相机中的坐标,即确定了特征点的位置.因此此题的重点如何精确的确定两部相机的相对位置.此过程为为系统标定. 标定的一种做法:在一块平板上画若干个点,用双目定位,利用这两组像点的几何关系得到两部相机的相对位置,然而没有几何尺寸的点在像平面与物平面是无法直接得到的,实际上用有几何尺寸的圆代替点(圆为靶标),圆心就是几何的点了,但由于镜像这些圆会发生变形,因此标定是将这些圆的圆心的像精确的找到。

二、 模型假设

1.相机镜头透镜很小,光学系统为针孔成像系统; 2.假设两个相机的各个参数相同;

3.假设靶标像的几何中心就是靶标圆的中心; 4.假设天气等因素不影响拍摄效果

三、 问题分析

对于数码相机定位问题,我们看为以下过程:第一,坐标变换。进行世界坐标和相机像平面坐标的坐标变换并建立两者的关系,从而对所求坐标定位。第二,系统标定。利用第一问中所得的关系来计算旋转正交矩阵R,平移矩阵T,得出数据从而找到相机与物体的相对位置。第三,模型检验。设计方法检验第二问中所运用的算法的精确度和稳定性。

对于问题一,首先简化模型,将相机镜头的光学系统简化为小孔成像原理。由于相机与物平面不在同一平面,故必须通过空间内坐标变换来在相机和物体之间建立关系,这个坐标系是由世界坐标系,相机坐标系,平面坐标系和像素坐标系组成。对变换过程中的一系列公式求解后最终总结出一个将靶标上圆心坐标与像平面的像坐标的算法。对于问题二,我们先不考虑畸变因素,将数据带入公式求得结果。再将考虑的结果与之对比。对于问题三,是模型建立精确度与稳定性的判断,要考虑问题二结果的误差来源,然后再得出模型需要改进的方面。问题四是前三个问题解决方案的总结,通过计算即可求得。

四、 符号说明

(xw,yw,zw): 世界坐标系中的物体点p 的三维坐标 (x,y,z):p 在相机坐标系中的三维坐标; (xu,yu):p 点对应的像平面的坐标计算值;

(u,v):p 点的计算机图像坐标,以像素为单位; (u0,v0):计算机图像中心坐标,以像素为单位;

2

N:物距

F:透镜的焦距 M:像距 R:旋转正交矩阵 T:平移矩阵

偏移量:两点的距离

五、 模型建立与求解

在计算机视觉中,利用所拍摄的图像来计算出三维空间中被测物体几何参数。图像是空间物体通过成像系统在像平面上的反映,即空间物体在像平面上的投影。图像上每一个像素点的灰度反映了空间物体表面某点的反射光的强度,而该点在图像上的位置则与空间物体表面对应点的几何位置有关。这些位置的相互关系,由摄像机成像系统的几何投影模型所决定。计算机视觉研究中,三维空间中的物体到像平面的投影关系即为成像模型,理想的投影成像模型是光学中的中心投影,也称为针孔模型。针孔模型假设物体表面的反射光都经过一个针孔而投影到像平面上,即满足光的直线传播条件。针孔模型主要有光心(投影中心)、成像面和光轴组成。对于相机由于n>>f,于是 m≈f 这时可以将透镜成像模型近似地用小孔模型代替

YcZcM?xc,yc,zc?Yuo Xcm?xu,yu? Xu

根据题意要建立数学模型和算法来确立靶标上圆的圆心在该相机像平面的像坐标,关键就是从世界坐标( )到像平面的像素坐标(Xw,Yw,Zwu,v)的变换,这个过程必须要经过相机坐标系的转化,即以过相机透镜光学中心的截面以光学中心为坐标原点建立的坐标系。具体过程如下:

世界坐标到3D照相机的坐标 从3D照相机到忽略畸变的像平面坐标 无畸变平面坐标到考虑畸变的像素坐标 (Xw,Yw,Zw(X,Y,Z) 3

(Xd,Yd) (u,v)

建立世界坐标, 相机坐标, Xc,Yc,Zc像平面坐标 ?u,v??x,y?Xw,Yw,Zw

XcXwOwZwYwO2u u y x Zcv O1图像坐标系 世界坐标系

Xw,Yw,Zw到3D照相机坐标的转换 世界坐标

Yc

R为旋转矩阵,T为平移矩阵

3D照相机到像平面的转换(不考虑畸变因素)

这两个矩阵和相机与物平面的相对位置有关,在相机与物平面的相对位置确 定的情况下,这两个值已知。

1

然而在实际中照相机的畸变因素会对像平面坐标造成影响,图形的像平面坐标(XU,YU)为理想坐标,现在根据实际情况对理想坐标进行优化。实际坐标(XD,YD)

XD=XU(1+K1X2D+K2YD2)

4

YD=YU(1+K1XD2+K2YD2) 2 得到实际坐标是以毫米为单位的物理坐标系,计算时将它转换为以像素为坐标的像素坐标,但由于数码相机制作的原因,也会有些偏离. 若O2 在(u, v)坐标系中的原点,每一个像素在x轴与y轴方向上的物理尺寸为dx,dy,则图像中任意一个像素在两个坐标系下的坐标有如下关系.

U=U0+XD/DX

V=V0+YD/DY 3

其中1 毫米=3.78

像素,因此DX=DY=0.265. U0=1024/2=512 像素,V0=768/2=384 像素,从上述式子 中便完成了从世界坐标系到像平面坐标系的转化。 将1的代数式代入2式得

U=U0+ XU(1+K1X2D+K2YD2)/DX

22

V=V0+ YU(1+K1XD+K2YD)/DY

将理想坐标(XU,YU)

U=U0+(R1XW+R2YW+R3ZW+TX)F (1+K1X2D+K2YD2)/ 0.265(R7XW+R8YW+R9ZW+TZ )

22

V=V0+ (R4XW+R5YW+R6ZW+TY)YU(1+K1XD+K2YD)/ 0.265(R7XW+R8YW+R9ZW+TZ )

要求靶标上圆的圆心在像平面的坐标,只须将靶标上的图像转化成单色图读 入matlab,求出靶标上圆心的坐标(x0,y0,0),便可得到圆心的像坐标了。在

一般情况下,若考虑畸变因子,则有如下计算公式:

U=U0+(R1XW+R2YW+TX)F (1+K1X2D+K2YD2)/ 0.265(R7XW+R8YW+TZ )

22

V=V0+ (R4XW+R5YW+TY)YU(1+K1XD+K2YD)/ 0.265(R7XW+R8YW+TZ )

考虑畸变因子对位置偏移造成的影响来作进一步讨论。

:求重心法确定圆心

这种方法是通过求圆在像坐标上的图像的重心来作为靶标上圆心在像平面 上的位置。用这个方法计算这五个圆的圆心坐标结果如下: 表2 方法二算得的圆心坐标 将上述两种方法对比得到下表:

圆的序号圆心坐标 1 189.4935 322.8948 2 196.9423 422.996 3 213.1522 639.8994 4 501.7731 284.6657 5 502.9824 582.7329

5

相机与物平面的相对位置不确定,即R,T 值未知时,通过RAC 两步法计算R,T 参数,求解圆心坐标代入坐标变换公式求解,

计算旋转正交矩阵R 和平移矩阵T中的Tx和Ty分量。 X=r1xw+r2yw+r3zw+tx Y= r4xw+r5yw+r6zw+ty Z= r7xw+r8yw+r9zw+tz RAC意味着

xXdr1xw?r2yw?r3zw?tx, 选世界坐标时,zw=0 ??yYdr4xw?r5yw?r6zw?ty?r1/ty???r/t?2y? Xd??xwYd,ywYd,zwYd,Yd?xw,Xd?ywXd?*??r/t?3y???r4/ty??

由该式可解出r1 , r2 , r4 , r5 共4 个独立变量。而正交阵加上一个比例(1/ ty ) 也正好有4 个独立变量,故式(4.2.1) 可唯一地确定(当方程数> 4 时) 旋转正交 矩阵R 和平移分量tx , ty。

选取N 个共面特征点, 确定这N 个点的图像坐标( X fi , Y fi ) 和世界坐标 ( xwi, ywi ) , i = 1 ,…,N 。根据式(5) ,计算:

Xdi=(Xfi-Xc)/NX YDI=(Yfi-YC)/NY

6

利用式(4.2.1) 对每个物体点Pi ,可列出一个方程,联立这N 个方程

?r1/ty???r/t?2y???xwiYdi,ywiYwi,Ydi?xwiXdi,?ywiXdi?*?r3/ty?

???r4/ty?????r5/ty??Xdi

?r1/ty???r/t?2y?W??xwiYdi,ydiYdi,Ydi?xwiXdi,?ywiXdi?,???r3/ty?

???r4/ty???r/t??5y??则有W*.=Xdi ,用最小二乘法求解这个超定方程组,再利用R 的正交性计算t y di X

和r1~r9 ,可得:

s?[s2?4(2ty?r1r5r2r41/2?2)2tytyr12r22r42r52,S?2?2?2?2

r1r5r2r42tytytyty2(2?2)tyty

求得| ty | 后,需要确定它的符号。由成像几何关系可知, Xd 与x , Y d 与y 应有相同符号, 可以在求得ty 后, 任选一特征点Pk ,首先假设ty 为正,通过计算r1、r2、r4、r5 和tx,然后根据求下面的x,y:

X=r1xw+r2yw+tx X=r4xw+r5yw+tx

若此时x 与Xd , y 与xd同号,则ty 符号就为正,否则ty 为负。 利用正交性和右手系特性可计算

?r,r,1?r2?r21/212?12R??r4,r4,?sgn?r1r4?r2r5?1?r42?r52??r7,r8,r9???????1/2? ???7

?r,r,?1?r2?r21/2?1212??1/2R??r4,r5,sgn?r1r4?r2r5?1?r42?r52?

????r7,?r8,r9???

sgn(.)为符号函数,若括号里的数值为正的则返回1,为零则返回0,为负的

则返回-1.r7, r8 , r9根据旋转矩阵的性质由前两行叉乘得到。具体选取哪一个R, 可由试探法确定,即先任选一个,向下计算,若以此R 值,由第2 步计算出的f< 0 , 则放弃这个R;若f > 0;则选取正确

2、第二步:计算平移矩阵的tz 分量和有效焦距f 对每个特征点Pi 计算:

?????yi?r4xwi?r5ywi?ty ? z?rx?ry?t7wi8wiz?i设wi?r7xwi?r8ywi,若不计透镜畸变,则有:

?vt?f??(Yf?Yc)/NY*???(Yf?Yc)wt/NY

?tz??解此超定方程, 可分别求出有效焦距f 和平移矩阵T 的Tz 分量。

在得到旋转矩阵R、平移向量T 和f 的解后,令k=k1=k2=0,可以通过下式 用非线性优化方法计算f、tz 和k 的优化值:

r1xwi?r2ywi?tx?2x(1?kr)?f?dr7xwi?r8ywi?tz???yd(1?kr2)?fr4xwi?r5ywi?ty?r7xwi?r8ywi?tz?

4.2.3 计算结果及分析 (一)计算求解

按照上面的步骤,在物平面中,以圆E 为圆心,建立空间直角坐标系得到5 个圆的圆心坐标如下:

8

A 点坐标(xw1 ,yw1 ,zw1 ) =(0,100,0), B 点坐标(xw2 ,yw2 ,zw2 )=(30,100, 0), C 点坐标(xw3 ,yw3 ,zw3) =(100,100,0), E 点坐标(xw4 ,yw4 ,zw4 ) =(0,0,0),D 点坐标(xw5 ,yw5 ,zw5 ) =(100,0,0).在像平面中,由图2 可得这五个圆心A,B,C,E,D 的坐标分别为:(xd1,yd1 )= (-51.5873 - 50) , (xd2 yd2, )= (-49.4709 - 23.545),(xd3,yd3 ) =(-45.2381 33.86243), (xd4,yd4 =) (31.21693 - 60.0529) ,(xd5,yd5 )= (31.48148 18.78307)

由式(4.2.2)可计算出, , , , 这五个 值,如下表:

表4 最小二乘法计算ri,值'

圆心 1 2 3 4 5 xwiYdi 0 -706.349 3386.243 0 1878.307 ywiYdi -5000 -2354.5 3386.243 0 0 Ydi -50 -23.545 33.86243 -60.0529 18.78307 -xwiXdi 0 1484.128 4523.81 0 -3148.15 -ywiXdi 5158.73 4947.09 4523.81 0 0 X -51.5873 49.4709 -45.2831 31.21693 31.48148 ri, -.0005 0.0132 -0.5198 -.0123 -0.0022 代入式(4.2.3)计算出| ty |=70.3027,下面通过任选一点(圆2 的圆心)来 判断ty的正负符号,将ty= ± 70.3027 分别计算得到下表:

表5:检验ty 的正负号 ty tx ty tx 70.3027 36.5434 -70.3027 36.5434 X y x Y 54.7146 27.5098 -54.7146 -27.5098 9

而圆2 圆心在像平面的坐标为(xd2 ,yd2 ) (-49.4709 - 23.545),由于与x d2与x, Yd2与y 应有相同符号,于是ty=-70.3027.至此,可求出r1= 0.035151,r2= -0.928,tx= 36.5434,r4= 0.942056,r5= 0.154666.

由式(4.2.5)可算出,

,?0.928,0.37093?0.035151??

R1??0.942056,0.154666,0.29767????,0.33897,0.879661??0.333608?,?0.928,0.37093?0.035151?? R2??0.942056,0.154666,?0.29767????,?0.333897,0.879661?0.333608?R1 和R2 分别往下用最小二乘法来计算相机焦距f 和tz,舍弃f<0 的R 值, 下表为计算结果:

表6:R1、R2 计算结果对照表 yi (Yf-Yc)/Ny Yi*wi B yi (Yf-Yc)/Ny Yi*wi -54.8361 -50 -1694.86 -424.74 -54.8361 -50 1694.86 -26.5744 -23.545 -52.465 -498.429 -26.5744 -23.545 562.465 39.3695 33.86243 18.1638 39.3695 3386243 -18.1638 -70.3027 -60.0529 0 -70.3027 -60.0529 0 23.9029 18.78307 -626.618 23.9029 18.78307 626.618 tz f tz F -498.4294 -424.7395 498.4294 424.7395 B 424.7395 498.4294 ?f?其中B=?? ,为最小二乘法求得的参数。从表中可得,R1的f 值为负,舍去。于是得到了旋转正交

?tz?矩阵(求解程序见附录四):

(二)结果分析检验

10

为了检验这个计算结果正确性,我们将五个圆心在物平面的坐标代入整个坐 标变换公式(1)、( 3),求出它们在像平面的坐标,即得到一组坐标的计算值, 然后再用图2 中的各圆心在像平面的坐标位置,即实际测量值作对比,观察计算 值与实际值之间的误差,结果如下:

表7 五个圆心坐标实际值和计算值对比表 圆 1 2 3 4 5 计算Xu -51.4372 -49.4085 -44.9921 31.14067 31.99462 值 Yu -50.1387 -23.7855 33.58509 -59.9089 19.09119 实际Xu -51.5873 -49.4709 -45.2381 31.21693 31.48148 值 Yu -50 -23.545 33.86243 -60.0529 18.78307 偏移量 0.020891 0.03088 0.067828 0.013284 0.179126 偏移量给出的是该点的计算值和实际指的距离。 模型的检验

(一)八点法检验稳定性

对圆外三点求偏移量:在物平面内任取三个不共线的能在像平面图像上准确

找到的点(如取圆心AD 与BE、CE 的交点F,G,BD 与CE 交点H 这三点),通过上 文的坐标转换和旋转正交矩阵R、平移矩阵T 的求解结果,可以算出这三个点在 像平面上的坐标计算值。然后在图2 上,通过圆心的连线可找到这三个点

F’,G’,H’并得出它们的坐标实际值。下面就对取圆心AD 与BE、CE 的交点F,G,BD 与CE 交点H 这三点来计算检验,如下图:

八点法图示:

11

单位:mm

从这个结果的偏移量可以看出误差很小。

接下来用各圆心A,B,C,D,E及这三个点F,G,H共八个点用上述方法对模型进

行检验,由于F,G,H 这三个点的选取不在原图这5 个圆内,所以在物平面内具有 一般性,可以根据这八个点两组值的对比,求出偏移量的方差,来用作原模型稳 定性的检验。结果如下表:

八点检验结果 点 A B C D E F G H 偏移0.020891 0.03088 0.068728 0.179126 0.013284 0.0058 0.048 0.0714 量 计算出偏移量的方差为0.00312,说明模型的稳定性较好

(二)利用计算机扫描大量的点来检验模型精度

通过上文的坐标转换和旋转正交矩阵R、平移矩阵T 的求解结果,可以求得 物平面上任意一点在像平面的坐标。接下来我们要详细讨论利用计算机扫描物平 面各圆内大量的点来检验精度的方法。 首先,建立直角坐标系如下:

每个实心圆内和圆上的点都能通过坐标变换在像平面中找到一对应点,若将 原图用一定的方式将各点通过坐标变换映射到像平面上,从而在像平面形成一个 新的图像,将这个新图像存入1024*768 的0-1 矩阵A1,又将像平面的拍摄图像 也以1024*768 存入矩阵A2 作实际图像用以对比,我们要检验这个坐标变换模型 的精度便可通过对照这两个矩阵的0-1 差异性来衡量算法精度的高低。这个差异

12

性对比可由矩阵A1 与A2 的相减得到一个矩阵A3,显然,A3 中非零点就是误差 点。将A3 中的非零点都置成1,则可得到一张显示误差点的直观图,图中黑色 的区域越多表明误差点越多,精度越低。

在这样的设想下,我们利用计算机对原图像上的点进行扫描,如上图,例如 扫描圆E,对实心圆实行一圈圈地读点,从最外层半径r=12mm 的圆周开始,以 每增加Δθ =0.01 弧度取点遍历整个圆周,再将r以0.05mm 的幅度减少遍历实心

圆内部的点,直到r=0 时结束。其它实心圆同样这么读点。然后用获得的这些点按照上述设想的思路进行变换,进而计算误差。

下面利用问题2 算出的R,T 矩阵,用上述方法读取图1 中的点,算出它们

在像平面的像坐标(程序见附录五),下图为图1 各点用问题推出来的公式在像 平面的图像:

图2 为像平面上拍摄的图,利用图像矩阵的相减(程序见附录六)得到的新

矩阵A3,这个矩阵即可作为误差矩阵来评价算法的精度。A3 对应的图像如下:

13

图中黑色的点即为计算有误差的点,从这个图中可以看出,黑色区域仅为一 些细曲线,除了圆D 的误差较大外,其他各圆的计算值和实际值基本都是比较吻 合的,这说明本题中的算法还是比较精确的。

4.4用此靶标给出两部固定相机相对位置的数学模型 4.4.1 用此靶标给出两部固定相机相对位置的数学模型

在前面的讨论中,可以得出,用一部照相机拍摄物体P,可以根据物体的原 图像和拍摄图像,用RAC 两步法求出旋转正交矩阵R 和平移矩阵T,从而算得 从物体到像平面的坐标变换关系,确立物体P 与相机的相对位置。在这个基础 上,我们设想,固定物体不动,若采用两部固定相机对它进行拍摄,分别得到两 幅图,利用单相机定标方法可分别得到两个相机各自内外参数,确立每部相机与 固定物体的相对位置,那么,这两部相机之间的相对位置也就可以确定了。 在此题中,我们就依据这样的思路建立测量两部固定相机相对位置的数学模 型。如下图中:

14

物体P 可以看成为靶标上某个圆的圆心,设它在世界坐标系、C1 坐标系与

C2坐标系下的坐标分别为Qwi=( xw1,yw1 ,zw1 ), Qc1 = (xc1,yc1 ,zc1 )Qc2 = (xc2,yc2 ,zc2 ),照相机C1,C2的外参数(旋转正交矩阵R 和平移矩阵T)分别用(R1,t1), (R2,t2)表示,则:

?Qc1?R1Qw1?t1 ?Q?RQ?t2w12?c2

?1?1将上式中消去Qw1后得到:Qc1?R1R2Qc2?t1?R1R2t2 ,即

由此得到了两个相机的相对位置,也可以用R,t 来表示:

以上关系式表示,如果对两个相机分别定标,得到R1, t1与R2,t2 ,则这两个相机的相对位置便可由式(4.4.2)计算。 22

4.4.2 利用不同位置拍摄的两张照片应用模型

15

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

Top