数码相机的定位问题
摘要
本文讨论了关于数码相机定位的问题,即通过分析提取数码相机摄制物体相片的信息来确定物体表面的信息。传统解决此问题的方法是双目定位法,而在本文中我们建立了如何用一部相机来获得物体表面信息的模型——单目法。
所谓单目法,就是通过分析一部相机所摄得的像来确定物体实际坐标的方法。在本文中我们利用靶标的物体坐标及靶标的像坐标建立了求物体坐标系中任一点的像坐标的算法,其模型的建立过程大致步骤如下:
1. 首先分别建立相机坐标系、像平面坐标系与物体坐标系。然后我们建立各坐标系之间的旋转关系,从而得到了一个旋转矩阵。
2. 我们通过“网格标定法”分析靶标上的像,从而得到其“中心点”在像平面坐标系下的坐标。所谓“网格标定法”是指:将像坐标按照像素分格加以格栅,得到“中心点”的像素坐标,再按比例变换成像平面上的像坐标。
3. 建立像平面坐标,物体坐标与旋转矩阵之间的函数关系,从而求得旋转矩阵中的各旋转角。
这样,我们就建立了单目法模型。
运用单目法本文解决了下述问题:
1. 利用网格标定法,我们得到了靶标上各圆的圆心的像坐标:
A(-49.7857,51.65559),B(-24.5423,49.31824),C(33.89168,45.57846), D(18.23139,-30.6194),E(-60.3038,-30.3856) (单位:mm) 。
2. 运用单目法模型与A, B, C, D, E各点在不同坐标系下的坐标关系,得到了物体坐标系坐标轴绕着Z轴逆时针旋转的旋转角约为?4.36?,绕着X轴逆时针旋转的旋转角约为7.60?,绕着Y轴逆时针旋转的旋转角约为8.49?。
3. 利用“像点往复循环对应”法,我们对单目法模型进行了精度和稳定性的检验,即在物体坐标系下的任一点M经过往复对应后得到物体坐标系下的点M?,我们用MM?来度量模型的精度;用往复次数来衡量模型的稳定性。
4. 我们建立了两部相机之间的相机坐标系及物体坐标系,得到了物体坐标系与两部相机的相机坐标系之间的旋转矩阵与平移矩阵,从而得到了两部固定相机的相对位置关系。
关键词 单目法 坐标旋转关系 平移矩阵 双目标定
- 1 -
一 问题重述
数码相机定位是指用数码相机摄得的物体的相片来确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对于双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。
标定的一种做法是:在一块平板上画若干个点, 同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。
有人设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,用一位置固定的数码相机摄得其像,请做以下工作:
(1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面;
(2)对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即光学中心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024×768;
(3)设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论; (4)建立用此靶标给出两部固定相机相对位置的数学模型和方法。
二 模型假设
1、 2、 3、 4、
两部数码相机的规格一样,使用时的调试状态一样。 数码相机的透镜两侧介质相同。
数码相机的透镜是规则的,其光学中心在几何中心。 在计算时,像距近似等于焦距。
三 符号说明
符号 ? ? ? L Ri 说明 物体坐标系绕着Z轴逆时针旋转的角度. 物体坐标系绕着X轴逆时针旋转的角度. 物体坐标系绕着Y轴逆时针旋转的角度. 空间矩形ACDE的边长. 绕着i轴旋转后旋转矩阵(i?X,Y,Z).
四 模型建立与求解
1.问题(1)的解决:
为了表示靶标的位置与靶标的像的位置关系,需要建立3个坐标系:相机坐标系
- 2 -
像平面坐标系o?uv和物体坐标系O0?X0Y0Z0,利用相机的成像原理建立各C0?XcYcZc、
坐标系如图1所示。
L
AC
L Z0 Y0 E X0D O0 v ZC o u Yc f C0 Xc
图1 相机、像平面和物体坐标系
相机坐标系C0?XcYcZc,原点C0位于相机镜头的中心,Xc轴平行于成像平面的u轴,Zc轴平行于成像平面的v轴,Yc轴与相机光轴重合。
像平面坐标系o?uv的原点在成像平面的中心,像平面垂直于Yc轴并且到原点C0的距离为f(相机焦距)。
空间矩形ACDE的尺寸大小(长和宽)已知,将物体坐标系O0?X0Y0Z0建立在矩形顶点E处。物体坐标系原点O0与点E重合,Z0轴垂直于矩形平面,X0轴沿着ED方向,Y0轴沿着EA方向。
建立了坐标系之后,需要定义各坐标系之间的旋转关系和位置关系,从而得到物平面与像平面之间的旋转关系。
1.1 坐标系旋转下的坐标变换.
在这里首先定义物体坐标系和相机坐标系之间的旋转关系。设物体坐标系坐标轴的旋转顺序为:首先,绕着Z轴逆时针旋转?角;接着,绕着X轴逆时针旋转?角;最后,绕着Y轴逆时针旋转?角。如图2所示。
- 3 -
z
y
? ? o ?
图2 坐标系的旋转
x
?C??S?0???绕着Z轴逆时针旋转?角的旋转矩阵为: Rz??S?C?0?;
?001???0??10??绕着X轴逆时针旋转?角的旋转矩阵为:Rx??0C??S??;
?0S?C?????C?0S????11?; 绕着Y轴逆时针旋转?角的旋转矩阵为:Ry???0??S?0C????由以上定义的旋转矩阵为:
?C?S??S?S?C?S?C???C?C?+S?S?S???R?Ry×Rx×Rz??C?S?C?C?-S?? ; (1)
??S?C??C?S?S?S?S??C?S?C???C?C????
式中:R为正交矩阵,其中S≡sin,C≡cos。
物体坐标系和相机之间的位置关系为平移矩阵T。
由以上定义可以得到物体坐标系和相机坐标系之间的关系: C?R?O?T 1.2 像坐标的确定.
设点P在物体坐标系O0?X0Y0Z0中的坐标为P?x,y,z?,点P在相机坐标系
C0?XcYcZc中的坐标为P?X,Y,Z?,点P所成的像点p在相机坐标系C0?XcYcZc中的坐标为p?u*,f,v*?。由式(1)可得P?X,Y,Z?与P?x,y,z?之间的旋转关系为:
?X,Y,Z?T?R??x,y,z? (2)
T相机的成像原理为[3]:
- 4 -
X?*u?f???Y ? (3)
Z?v*?f???Y由式(1)、(2)和(3),可得所求像点?u*,v*?的坐标为: ?u*??C??*????v???S?S???u????? (4) C????v??式中:u??f?x?C??y?S?
x?C??S??y?C??C??z?S?x?S??S??y?S?C??zC? (5) v??f?x?C??S??y?C??C??z?S??x,y,z?为P在物体坐标系下的坐标
u?和v?是中间变量,是物体坐标系尚未绕相机坐标系Y轴旋转前的点的坐标。
2 问题(2)的解决
由上述问题(1)的模型中的式(5)可以得到关于P?x,y,z?所在的2个平面分别为:
?u?C?S??fC??x??u?C?C??fS??y??u?S??z?0 (6) ?v?C?S??fS?S??x??v?C?C??fS?C??y??v?S?C??y??v?S??fC??z?0 (7) 因此关于P?x,y,z?所在的直线方程可以由式(6)和式(7)得到,利用向量叉乘原理可以得到P?x,y,z?所在的直线方程的方向数为:
s?n1?n2 (8) 式中:n1和n2为平面的法向量,通过相机可以得到?u*,v*?,因此由式(8)可以得到点
P?x,y,z?所在的直线方程为:
?x???f?u??C??f2?S??C??f?v??S??S???t??2?y??f?u??S??f?C??C??f?v??C??S???t (9) ?2z?f?S??f?v??C???t???*?u???C??S???u?式中:t为参数,???????*?。 ?vS?C??????v?以上推导了物体坐标系中点的坐标和其所成像的像平面坐标之间的关系,通过式(9)可以看出关系中包含了物体坐标系和相机坐标系之间的旋转关系。
因为空间矩形的尺寸已知,且为正方形,假定其边长为L。定义空间矩形各顶点在物体坐标系下的坐标为:
?x1??x1?L??x1??x1?L??,D??y?,A??y?L?,C??y?L?,如图1所示。 E??y1???1??1??1??????z1???z1???z1???z1??矩形4个顶点对应于像平面的坐标为:
- 5 -