测量物体三维表面轮廊的方法及系统的制作方法

文档序号:6375743阅读:278来源:国知局
专利名称:测量物体三维表面轮廊的方法及系统的制作方法
技术领域
测量物体表面三维轮廓的方法及系统属于物体三维测量方法技术领域。
背景技术
物体的三维测量技术在产品设计与制造、质量检测与控制、机器人视觉等领域中应用很普遍。近些年来其应用也拓展到产品仿制、快速制造系统、产品反求设计、在线检测、服装制作、影视特技、虚拟现实、艺术雕塑等领域。
三维轮廓测量主要有两类方法即接触式和非接触式。接触式测量的主要方法为三坐标测量仪,其测量精度高,可达0.5μm。但这种方法不适合柔软实物的测量,测量速度慢,对工作环境要求很高,必须防震、防灰、恒温等,因此应用范围受到较大限制。从整体来看,机械式三坐标测量仪难以满足当今快速、高效率测量的需求。
非接触的三维测量方法有光学传感器法、激光扫描法、立体视觉法、投影栅相位法等。
1.光学传感器法该方法的工作原理类似于机械式三坐标测量仪,只不过采用专门的光学探头来检测物体表面形状。其光学探头能够直接得到被测点与探头之间的距离,由其工作位置得到其它两个方向上的坐标。日本Toshiba公司研制了一台用于大型高精度光学表面测量的非接触式光学探测仪,面形测量精度达到0.1μm,粗糙度到1nmRa,安装在超精CNC车床的工作台上使用。其关键技术在于光学探头的制造,属精密仪器设备,因此造价昂贵。
2.激光扫描法该方法利用激光扫描物体表面,通过出射点、投影点和成像点三者之间的几何成像关系确定物体各点的三维坐标。根据工作激光光源的特点和性质可以分为点式激光扫描、线状激光扫描等。激光扫描的速度较块,但是扫描精度却受到工件的材质及表面特性等因素的影响。另外,激光扫描系统的价格十分昂贵,非一般用户所能承受。
3.立体视觉法立体视觉法是根据人双眼视觉系统的仿生学原理建立起来的,该方法已经能够达到一定的测量精度。它根据三角测量原理,利用对应点的视差可以计算视野范围内的立体信息,用于双目和多目视觉。
这种方法对应用场合要求较宽松,一次能获得一块区域的三维信息,特别是具有不受物体表面反射特性影响的优点。但其中的对应点的匹配问题较难解决,算法复杂,耗时较长。在物体表面特征点较稀疏时,也很难获得精确的形状。
4.投影栅相位法投影栅采用在物体表面投射栅线,利用调制栅线的相位畸变信息得到物体的三维信息,它采用数学的方法解调相位,并利用相位值计算每个相对于参考面的高度值。投影栅相位法存在的很大问题是其系统操作性不好,难以实现实用化。

发明内容
本方法的目的在于在于提供一种测量精确、便于操作且易于实用化的测量物体三维表面轮廓的方法及系统,为了达到这个目的本发明开创性的提出将利用相位和立体视觉技术的结合,在物体表面投射光栅,采用双摄像机拍摄图象,利用相位和极线实现匹配,从而达到对物体三维坐标的反求与重构,开发出了可操作性好、测量精度较高、速度快、适合于不同大小物体的新型的三维无接触测量系统。
具有某种特性的光(称为结构光)投射到物体上,物体上不同高度的点对光栅进行调制使光栅发生畸变。用两架摄像机拍摄发生畸变的光栅图像,利用编码光和相移方法获得左右摄像机拍摄图象上每一点的相位。利用相位和外极线几何实现两幅图像上的点的匹配。对定标了的摄像机系统,便可计算其在三维空间的坐标。
本发明提出的测量物体三维表面轮廓的方法,其特征在于它是一种利用相位和立体视觉技术的结合,在物体表面投射光栅,再采用双摄像机拍摄发生畸变的光栅图像,利用编码光和相移方法获得左右摄像机拍摄图像上每一点的相位。利用相位和外极线实现两幅图像上的点的匹配,从而达到对物体表面点三维坐标的反求的方法;它包括如下步骤(1)利用计算机生成虚拟光栅,其中包括编码光栅和相移光栅,利用投影仪将生成的光栅投射在物体上;相移光栅的光强如下式来表达Ii(u,v)=a(u,v)+b(u,v)cos(φ(u,v)+φi)其中(u,v)为某点的坐标;Ii(u,v)为第i幅图像中(u,v)点的光强;a(u,v)为背景光强函数;b(u,v)为条纹对比度;φ(u,v)表示每个点的相位,周期为T;φi为相移角;编码光栅共有N幅,构造方法为第一幅为半黑半白,后面各幅逐渐细分,细分方法为上一幅的黑色部分,分为半黑半白,上一幅的白色分为半白半黑。对每一个点,根据在各幅图像中每一幅图像上为黑还是为白进行编码,为黑则编码为1,为白则编码为0,从而得到此点的编码序列;N幅编码光栅可有2N个编码序列,整个图象被分成2N个长条,每个长条的宽度为相移光栅的周期T;对第n个长条(n=1,2,...2N,又称周期数),按照这样的编码光构造方法对应一个唯一的编码序列,其十进制编码数为nc,建立周期数n和编码数nc之间的映射关系,可实现两者的互相转换;(2)利用两台CCD摄像机采集投射的光栅图像,并保存在程序中分配的数组中;(3)对每一个相机拍摄的各幅图像分别进行处理,得到每个点的相位值,相位值由相主值加上周期数乘以2π,即2nπ,由于两个摄像机拍摄的每个点的相位值应该是相等的,用两个摄像机拍摄得到的每个点相位值作为匹配的依据;(4)对两个摄像机进行定标,得到摄像机的内参数及相对于世界坐标系的外参数f(j),R(j),T(j),j=1,2f(j)镜头焦距长度,j为摄像机编号;R(j)旋转矩阵,R=r1r2r3r4r5r6r7r8r9;]]>T(j)平移向量,T=[Tx Ty Tz]′;先计算R,Tx,Ty;(4.1)计算每个点的图像坐标u=u0+x/dxv=v0+y/dy对空间一个点(Xw,Yw,Zw),经摄像机拍摄后,图像坐标(mm)为(x,y),象素坐标(象素)为(u,v),(u0,v0)为图像坐标系的原点在像素坐标系中的像素坐标,(dx,dy)为CCD相邻象素之间的x和y方向的距离,可由CCD厂家提供。
(4.2)计算五个未知量Ty-1r1,Ty-1r2,Ty-1Tx,Ty-1r4,Ty-1r5对于每一个三维对象点(Xwk,Ywk,Zwk)(因为点共面,故将Z坐标取作0)以及相应的图像坐标(xk,yk),由共线方程xk=fr1Xwk+r2Ywk+Txr7Xwk+r8Ywk+Tz]]>yk=fr4Xwk+r5Ywk+Tyr7Xwk+r8Ywk+Tz]]>
将上面二式相除得到利用最小二乘法求得上述5个未知量;(4.3)计算r1,...,r9,Tx,Ty(4.31)计算|Ty|定义矩阵C=r1′r2′r4′r5′=r1/Tyr2/Tyr4/Tyr5/Ty]]>则有Ty2=Sr-[Sr2-4(r1′r5′-r4′r2′)2]1/22(r1′r5′-r4′r2′)2]]>其中Sr=r1′2+r2′2+r5′2+r4′2,如果矩阵C的某行或某列元素为全为0,按下式计算Ty2=(ri′2+rj′2)-1,其中ri′,rj′,是矩阵C剩余的另两个元素。
(4.32)决定Ty的符号①假设Ty为正号;②选择所拍摄图像中,离图像中心较远的一点。设其图像坐标为(xk,yk),在三维世界中的坐标为(Xwk,Ywk,Zwk)。
③由上面的结果计算下面各式的值r1=(Ty-1r1)*Ty,r2=(Ty-1r2)*Ty,r4=(Ty-1r4)*Tyr5=(Ty-1r5)*Ty,Tx=(Ty-1Tx)*Ty,xk′=r1Xwk+r2Ywk+Txyk′=r4Xwk+r5Ywk+Ty如果xk和xk′、yk和yk′都同号,那么sgn(Ty)=+1,否则sgn(Ty)=-1;(4.33)计算旋转矩阵R根据Ty的值,重新计算r1,r2,r4,r5,Tx。
R=r1r2(1-r12-r22)1/2r4r5s(1-r42-r52)1/2r7r8r9]]>其中s=sgn(r1r4+r2r5)
r7,r8,r9是由前两行的外积得到。如果按照这样的R计算下面的焦距f为负值,则R=r1r2-(1-r12-r22)1/2r4r5-s(1-r42-r52)1/2-r7-r8r9]]>接着计算焦距长度f和Tz的值对每一个标定点,建立包含f和Tz作为未知参数的线性方程Yi-yifTz=wiyi]]>其中Yi=r4xwi+r5ywi+r6*0+Tywi=r7xwi+r8ywi+r9*0通过解方程,可求f和Tz;(5)根据相位和外极线几何对每点进行三维重构,得到物体表面点的三维坐标(5.1)计算基础矩阵FF=A2-TEA1-1其中A2=f2/dx20u020f2/dy2v02001,]]>A1=f1/dx10u010f1/dy1v01001]]>其中f1,(u01,v01),dx1,dy1为第一个摄像机的内参数,f2,(u02,v02),dx2,dy2为第二个摄像机的内参数;E=[T]xR(2)R(1)-1]]>(称为本质矩阵,Essential Matrix)T=T(2)-R(2)R(1)-1T(1)]]>把T表示为[Tx,Ty,Tz],则反对称矩阵为[T]x x=0-TzTyTz0-Tx-TyTx0]]>(5.2)计算右摄像机拍摄图像上一点P,其坐标为 它在左摄像机拍摄图像上的极线方程参数。并在上述直线上寻找其匹配点Q点,方法是点P和点Q的相位值相等。
已知 根据下述直线方程,找右摄像机拍摄图像上点P在左摄像机拍摄图像上的点Q,其坐标为 m~2TFm~1=0,]]>其中 是P点的像素坐标(u2,v2,1)T; 是Q点像素坐标(u1,v1,1)T;根据点P和点Q相位相等的原则,在由上述直线方程决定的一条直线上寻找Q点。
(5.3)找到Q点,则存储此匹配点,按照下述的三维空间点S(Xw,Yw,Zw)和两个摄像机拍摄图像的对应图像坐标的关系为x(j)=f(j)R(j)11Xw+R(j)12Yw+R(j)13Zw+T(j)xR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z,]]>y(j)=f(j)R(j)21Xw+R(j)22Yw+R(j)23Zw+T(j)yR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z,]]>j=1,2,为摄像机的编号。
所述相移光栅的相移角φi=i*90,i=1,...4,即相移光栅图像有4幅,其相主值计算公式为φ(u,v)=atan(I2-I4I3-I1),]]>其中I1、I2、I3、I4,是点(u,v)在四幅相移光栅中的相位。
所述编码光栅共有7幅,每一点的二进制编码序列即可转化成该点在图像中的位置,即周期数。
本发明提出的测量物体三维表面轮廓的系统,其特征在于它含有计算机、投影仪、两台CCD摄像机。
实验证明本发明具有非接触、速度快、数据量大、精度高、操作简单、易于实现等优点。


图1本发明所述系统的示意图。
图2摄像机定标用的标定块。
图3两阶段法摄像机定标程序流程图。
图4三维重构算法流程图。
图5人手测量结果示意图。
具体实施例方式
本发明提出的一种三维测量的方法和系统的实施例结合说明如下本实施例的测量系统如图1所示。本系统由CCD摄像机1,3,投影仪2,计算机4等组成。
计算机为PIII 1G带有1394图象卡,显卡支持双显示器输出。
系统采用的ASK C20+高清晰数字投影仪,其亮度为1500ANSI流明,分辨率为800×600。
CCD采用德国Basler公司的A302f数字摄像机,其分辨率达到了780×582,符合IEEE1394工业标准,配合Computar M1214-MP定焦镜头使用。方法采取的步骤如下,其中软件的实现采用Visual C++6.0平台进行开发1)利用计算机生成虚拟光栅,其中包括编码光栅和相移光栅,利用投影仪将生成的光栅投射在物体上;相移光栅的光强如下式来表达Ii(u,v)=a(u,v)+b(u,v)cos(φ(u,v)+φi)(1)其中(u,v)为某点的坐标;Ii(u,v)为第i幅图像中(u,v)点的光强;a(u,v)为背景光强函数;b(u,v)为条纹对比度;φ(u,v)表示每个点的相位,周期为T;对于每间隔90度的相移,φi=i*90,i=1,...4,在构造相移光栅时,光栅图象大小为1024×768,光栅的周期大小为8即点的坐标x取值范围在(1,1024)之间的整数,y取值在(1,768)之间的整数。a(x,y)取0,b(x,y)取255。每个点相位值φ(x,y)设置为x除以8得到的余数除以8,再乘以2π。
编码光栅共有7幅,构造方法为第一幅为半黑半白,后面各幅逐渐细分,细分方法为上一幅的黑色部分,分为半黑半白,上一幅的白色分为半白半黑。对每一个点,根据在各幅图像中每一幅图像上为黑还是为白进行编码,为黑则编码为1,为白则编码为0,从而得到此点的编码序列;7幅编码光栅可有27个编码序列,整个图象被分成27个长条,每个长条的宽度为相移光栅的周期8;对第n个长条(n=1,2,...27),按照这样的编码光构造方法对应一个唯一的编码序列,其十进制编码数为nc,按照这样的方法建立每一个周期数n和编码数nc之间的映射关系,可实现两者的互相转换;2)利用两台CCD摄像机采集投射的光栅图象,并保存在程序中分配的数组中。
3)对每一个相机拍摄的11幅图象分别进行处理,得到每个点的相位值,相位值由相主值加上周期数乘以2π。
相移法中相主值计算公式为φ(u,v)=atan(I2-I4I3-I1)---(2)]]>其中I1、I2、I3、I4,是点(u,v)在四幅相移光栅中的光强。
对七幅编码光栅,通过图象处理技术,对图象进行二值化处理,可以对每个求得每个点在每幅图象中是黑点(编码为1)还是白点(编码为0),综合7幅图象,可得到编码序列,然后按照编码数与周期数之间的映射关系,将编码序列转化为周期数n。每个点的相位由相主值加上2nπ即可得到。
对同一个点来说,按照上面计算的相位是与摄像机拍摄的位置无关的,也就是说在对两个摄像机拍摄的每个点的应该是相等的。因而我们用两个摄像机拍摄的每个点的相位值作为匹配的依据。
4)对两个摄像机进行定标,定标中使用的标定块如图2所示。摄像机定标是求得摄像机的内参数及相对于世界坐标系的外参数的过程。对空间的一个点(Xw,Yw,Zw),经摄像机拍摄后,图象坐标(mm)为(x,y),象素坐标(象素)为(u,v)x=fr1Xw+r2Yw+r3Zw+Txr7Xw+r8Yw+r9Zw+Tz]]>y=fr4Xw+r5Yw+r6Zw+Tyr7Xw+r8Yw+r9Zw+Tz---(3)]]>u=u0+x/dx(4)v=v0+y/dy其中R=r1r2r3r4r5r6r7r8r9,]]>T=[Tx Ty Tz]′为旋转矩阵和平移向量,f为镜头焦距,为要标定的参数。
(u0,v0)为图像坐标系的原点在像素坐标系中的像素坐标,对我们的摄像机的分辨率是780*582,(u0,v0)取值为(390,291)。(dx,dy)为CCD相邻象素之间的x和y方向的距离,可由CCD厂家提供。
定标中的标定块是精密加工,每个点的三维坐标是精确知道,利用图象处理基数可以得到每个点的图象坐标。在本系统中采取Tsai的两阶段方法得到摄像机的旋转矩阵R,平移矩阵T,焦距f。具体流程如图3所示,其过程如下阶段1计算旋转矩阵R,Tx,Ty(4.1)计算图像坐标按照(4)式计算每个标志点的图象坐标(x,y)。(4.2)计算五个未知量Ty-1r1,Ty-1r2,Ty-1Tx,Ty-1r4,Ty-1r5对于每一个三维对象点(Xwk,Ywk,Zwk)(因为点共面,故将Z坐标取作0)以及相应的图像坐标(xk,yk),由共线方程xk=fr1Xwk+r2Ywk+Txr7Xwk+r8Ywk+Tz]]>yk=fr4Xwk+r5Ywk+Tyr7Xwk+r8Ywk+Tz---(5)]]>将上面二式相除得到[ykXwkykYwkyk-xkXwk-xkYwk]L=xk(6)其中L=[Ty-1r1Ty-1r2Ty-1Tx Ty-1r4Ty-1r5]T(7)在上式中,有5个未知数,我们的点的个数一般很多,利用最小二乘法求得方程组的解。(4.3)计算r1,...,r9,Tx,Ty(4.31)计算|Ty|定义矩阵C=r1′r2′r4′r5′=r1/Tyr2/Tyr4/Tyr5/Ty---(8)]]>则有y2=Sr-[Sr2-4(r1′r5′-r4′r2′)2]1/22(r1′r5′-r4′r2′)2(9)]]>其中
Sr=r1′2+r2′2+r5′2+r4′2, (10)如果矩阵C的某行或某列元素为全为0,按下式计算Ty2=(ri′2+rj′2)-1,其中ri′,rj′,是矩阵C剩余的另两个元素。
(4.32)决定Ty的符号①假设Ty为正号;②选择所拍摄图像中,离图像中心较远的一点。设其图像坐标为(xk,yk),在三维世界中的坐标为(Xwk,Ywk,Zwk)。
③由上面的结果计算下面各式的值r1=(Ty-1r1)*Ty,r2=(Ty-1r2)*Ty,r4=(Ty-1r4)*Tyr5=(Ty-1r5)*Ty,Tx=(Ty-1Tx)*Ty, (11)xk′=r1Xwk+r2Ywk+Txyk′=r4Xwk+r5Ywk+Ty如果xk和xk′、yk和yk′都同号,那么sgn(Ty)=+1,否则sgn(Ty)=-1;(4.33)计算旋转矩阵R根据Ty的值,重新计算r1,r2,r4,r5,Tx。
R=r1r2(1-r12-r22)1/2r4r5s(1-r42-r52)1/2r7r8r9---(12)]]>其中s=sgn(r1r4+r2r5)r7,r8,r9是由前两行的外积得到。如果按照这样的R计算下面的焦距f为负值,则R=r1r2-(1-r12-r22)1/2r4r5-s(1-r42-r52)1/2-r7-r8r9---(13)]]>接着计算焦距长度f和Tz的值对每一个标定点,建立包含f和Tz作为未知参数的线性方程
Yk-ykfTz=wkyk---(14)]]>其中Yk=r4xwk+r5ywk+r6*0+Ty(15)wk=r7xwk+r8ywk+r9*0通过解方程,可求f和Tz;5)根据相位和外极线几何对每点进行三维重构,得到物体表面点的三维坐标。对两个摄像机拍摄的图象,三维空间点S(Xw,Yw,Zw)和对应图像坐标的关系为x(j)=f(j)R(j)11Xw+R(j)12Yw+R(j)13Zw+T(j)xR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z,]]>y(j)=f(j)R(j)21Xw+R(j)22Yw+R(j)23Zw+T(j)zR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z---(16)]]>其中j=1,2表示两个摄像机拍摄的图像。
摄像机定标后,f(j),R(j),T(j)是已知的,对个摄像机拍摄的图像,共有四个方程,对标定好的摄像机,利用最小二乘法可以得到三维点的坐标。
这是立体视觉三维重建的基本原理,其中最大的问题是如何找到相匹配的两个点,也就是说如何实现三维空间中一个点在两幅图象上的对应关系。由计算机视觉中的外极线理论知道,对第一幅图像中的一个点,在第二幅图像中的对应点是在一条直线上。其关系可有如下方程表示m~2TFm~1=0---(17)]]>其中, 是第一幅图像中某点的像素坐标(u1,v1,1)T, 是第二幅图像中某点的像素坐标(u2,v2,1)T,F为基础矩阵(Fundamental Matrix),其元素是摄像机内外参数。
F=A2-TEA1-1(18)其中A2=f2/dx20u020f2/dy2v02001,]]>A1=f1/dx10u010f1/dy1v01001]]>其中f1,(u01,v01),dx1,dy1为第一个摄像机的内参数,f2,(u02,v02),dx2,dy2为第二个摄像机的内参数,参数的意义同前面所述。
E=[T]xR(2)R(1)-1]]>(称为本质矩阵,Essential Matrix)T=T(2)-R(2)R(1)-1T(1)---(19)]]>将T表示为[Tx,Ty,Tz],[T]x为反对称矩阵,定义为[T]x=0-TzTyTz0-Tx-TyTx0---(20)]]>可以看出基础矩阵是由摄像机内外参数所决定的,通过摄像机标定,我们就能得到极线方程。
从极线方程可以看出,对右摄像机拍摄图象上一点P,其坐标为 其在左摄像机拍摄图象上如果有对应点Q,应该是在由 和基础矩阵F决定的一条直线上。
关键是在这条直线上的哪一个点呢 在前面相位获取时,曾提到,同一个点在不同摄像机拍摄时相位值应该是相同的。而对每一个点的相位值,我们有相位获取是得到了的,我们正是利用这一点实现两幅图象上点的精确匹配。
算法流程图见附图4。找到匹配点后,利用式(16)可以计算点的三维坐标。按照上述过程对人手进行三维测量,测量得到的点如图5所示。
本发明所构成的三维测量系统具有非接触、速度快、数据量大、精度高、操作简单等特点。对物体的单面测量只要2秒钟能得到极高密度的数据(40万个点),测量的精度在0.05mm以上。
权利要求
1.测量物体表面三维轮廓的方法,其特征在于它是一种利用相位和立体视觉技术的结合,在物体表面投射光栅,再采用双摄像机拍摄发生畸变的光栅图像,利用编码光和相移方法获得左右摄像机拍摄图像上每一点的相位;利用相位和外极线实现两幅图像上的点的匹配,从而达到对物体表面点三维坐标的反求的方法;它包括如下步骤(1)利用计算机生成虚拟光栅,其中包括编码光栅和相移光栅,利用投影仪将生成的光栅投射在物体上;相移光栅的光强如下式来表达Ii(u,v)=a(u,v)+b(u,v)cos(φ(u,v)+φi)其中(u,v)为某点的坐标;Ii(u,v)为第i幅图像中(u,v)点的光强;a(u,v)为背景光强函数;b(u,v)为条纹对比度;φ(u,v)表示每个点的相位,周期为T;φi为相移角;编码光栅共有N幅,构造方法为第一幅为半黑半白,后面各幅逐渐细分,细分方法为上一幅的黑色部分,分为半黑半白,上一幅的白色分为半白半黑;对每一个点,根据在各幅图像中每一幅图像上为黑还是为白进行编码,为黑则编码为1,为白则编码为0,从而得到此点的编码序列;N幅编码光栅可有2N个编码序列,整个图象被分成2N个长条,每个长条的宽度为相移光栅的周期T;对第n个长条(n=1,2,...2N,又称周期数),按照这样的编码光构造方法对应一个唯一的编码序列,其十进制编码数为nc,建立周期数n和编码数nc之间的映射关系,可实现两者的互相转换;(2)利用两台CCD摄像机采集投射的光栅图像,并保存在程序中分配的数组中;(3)对每一个相机拍摄的各幅图像分别进行处理,得到每个点的相位值,相位值由相主值加上周期数乘以2π,即2nπ,由于两个摄像机拍摄的每个点的相位值应该是相等的,用两个摄像机拍摄得到的每个点相位值作为匹配的依据;(4)对两个摄像机进行定标,得到摄像机的内参数及相对于世界坐标系的外参数f(j),R(j),T(j),j=1,2f(j)镜头焦距长度,j为摄像机编号;R(j)旋转矩阵,R=r1r2r3r4r5r6r7r8r9;]]>T(j)平移向量,T=[Tx Ty Tz]′;先计算R,Tx,Ty;(4.1)计算每个点的图像坐标u=u0+x/dxv=v0+y/dy对空间一个点(Xw,Yw,Zw),经摄像机拍摄后,图像坐标(mm)为(x,y),象素坐标(象素)为(u,v),(u0,v0)为图像坐标系的原点在像素坐标系中的像素坐标,(dx,dy)为CCD相邻象素之间的x和y方向的距离,可由CCD厂家提供;(4.2)计算五个未知量Ty-1r1,Ty-1r2,Ty-1Tx,Ty-1r4,Ty-1r5对于每一个三维对象点(Xwk,Ywk,Zwk)(因为点共面,故将Z坐标取作0)以及相应的图像坐标(xk,yk),由共线方程xk=fr1Xwk+r2Ywk+Txr7Xwk+r8Ywk+Tz]]>yk=fr4Xwk+r5Ywk+Tyr7Xwk+r8Ywk+Tz]]>将上面二式相除得到利用最小二乘法求得上述5个未知量;(4.3)计算r1,...,r9,Tx,Ty(4.31)计算|Ty|定义矩阵C=r1′r2′r4′r5′=r1/Tyr2/Tyr4/Tyr5/Ty]]>则有Ty2=Sr-[Sr2-4(r1′r5′-r4′r2′)2]1/22(r1′r5′-r4′r2′)2]]>其中Sr=r1′2+r2′2+r5′2+r4′2,如果矩阵C的某行或某列元素为全为0,按下式计算Ty2=(ri′2+rj′2)-1,其中ri′,rj′,是矩阵C剩余的另两个元素;(4.32)决定Ty的符号①假设Ty为正号;②选择所拍摄图像中,离图像中心较远的一点;设其图像坐标为(xk,yk),在三维世界中的坐标为(Xwk,Ywk,Zwk);③由上面的结果计算下面各式的值r1=(Ty-1r1)*Ty,r2=(Ty-1r2)*Ty,r4=(Ty-1r4)*Tyr5=(Ty-1r5)*Ty,Tx=(Ty-1Tx)*Ty,xk′=r1Xwk+r2Ywk+Txyk′=r4Xwk+r5Ywk+Ty如果xk和xk′、yk和yk′都同号,那么sgn(Ty)=+1,否则sgn(Ty)=-1;(4.33)计算旋转矩阵R根据Ty的值,重新计算r1,r2,r4,r5,Tx;R=r1r2(1-r12-r22)1/2r4r5s(1-r42-r52)1/2r7r8r9]]>其中s=sgn(r1r4+r2r5)r7,r8,r9是由前两行的外积得到;如果按照这样的R计算下面的焦距f为负值,则R=r1r2-(1-r12-r22)1/2r4r5-s(1-r42-r52)1/2-r7-r8r9]]>接着计算焦距长度f和Tz的值对每一个标定点,建立包含f和Tz作为未知参数的线性方程Yk-ykfTz=wkyk]]>其中Yk=r4xwk+r5ywk+r6*0+Tywk=r7xwk+r8ywk+r9*0通过解方程,可求f和Tz;(5)根据相位和外极线几何对每点进行三维重构,得到物体表面点的三维坐标(5.1)计算基础矩阵FF=A2-TEA1-1其中A2=f2/dx20u020f2/dy2v02001,A1=f2/dx10u010f1/dy1v01001]]>其中f1,(u01,v01),dx1,dy1为第一个摄像机的内参数,f2,(u02,v02),dx2,dy2为第二个摄像机的内参数;E=[T]xR(2)R(1)-1]]>(称为本质矩阵,Essential Matrix)T=T(2)-R(2)R(1)-1T(1)]]>把T表示为[Tx,Ty,Tz],则反对称矩阵为[T]x[T]x=0-TzTyTz0-Tx-TyTx0]]>(5.2)计算右摄像机拍摄图像上一点P,其坐标为 找它在左摄像机拍摄图像上的极线方程参数;并在上述直线上寻找其匹配点Q点,方法是点P和点Q的相位值相等;已知 根据下述直线方程,找右摄像机拍摄图像上点P在左摄像机拍摄图像上的点Q,其坐标为 m~2TFm~1=0,]]>其中 是P点的像素坐标(u2,v2,1)T; 是Q点像素坐标(u1,v1,1)T;根据点P和点Q相位相等的原则,在由上述直线方程决定的一条直线上寻找Q点;(5.3)找到Q点,则存储此匹配点,按照下述的三维空间点S(Xw,Yw,Zw)和两个摄像机拍摄图像的对应图像坐标的关系为x(j)=f(j)R(j)11Xw+R(j)12Yw+R(j)13Zw+T(j)xR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z,]]>y(j)=f(j)R(j)21Xw+R(j)22Yw+R(j)23Zw+T(j)yR(j)31Xw+R(j)32Yw+R(j)33Zw+T(j)z,]]>j=1,2,为摄像机的编号。
2.根据权利要求1所述的测量表面三维轮廓的方法,其特征在于所述相移光栅的相移角φi=i*90,i=1,...4,即相移光栅图像有4幅,其相主值计算公式为φ(x,y)=atan(I2-I4I3-I1),]]>其中I1、I2、I3、I4,是点(u,v)在四幅相移光栅中的光强。
3.根据权利要求1所述的测量物体三维表面轮廓的方法,其特征在于所述编码光栅共有7幅,每一点的二进制编码序列即可转化成该点在图像中的位置,即周期数。
4.根据权利要求1所述的测量物体三维表面轮廓的方法而提出的系统,其特征在于它含有计算机、投影仪、两台CCD摄像机。
全文摘要
测量物体三维表面轮廓的方法及系统属于物体三维测量技术领域,其特征在于它是一种利用相位和立体视觉技术的结合,在物体表面投射光栅,用两架摄像机拍摄发生畸变的光栅图像,利用编码光和相移方法获得左右摄像机拍摄图像上每一点的相位。利用相位和外极线实现两幅图像上的点的匹配,至此便可利用定标了的摄像机系统,计算点在三维空间的坐标,以实现物体表面三维轮廓的测量。它具有非接触、速度快、数据量大、精度高、操作简单、易于实现等优点。对物体的单面测量只要2秒钟便能得到极高密度的数据,达40万个点,测量的精度在0.05mm以上。
文档编号G06T15/00GK1483999SQ0315350
公开日2004年3月24日 申请日期2003年8月15日 优先权日2003年8月15日
发明者钟约先, 李仁举, 张吴明, 马扬飚, 袁朝龙, 叶成蔚 申请人:清华大学, 北京天远三维科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1