??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