1 引 言
物体的三维轮廓测量在高速在线检查、质量控制、机器/机器人视觉、反求工程以及医疗诊断[1,2]等领域的应用日益重要。具有非接触特性的光学测量方法由于其高分辨率、无破坏、数据获取速度快等优点而被公认为是最具有前途的三维测量轮廓方法[3]。目前在三维轮廓测量中以三角测量法和光栅投影法的应用最为广泛。
在三角测量方法(又称结构光测量方法)中一般用激光作为光源,用光学方法产生各种形式的结构光对待测物体进行逐行、逐列(或逐点)扫描,测量精度较高(可达微米量级),但测量速度较慢,且大多采用台架式结构,缺乏随意性,只能对放置在特定的载物平台上的物体进行测量[4]。光栅投影法将光栅结构投影到物体表面,变形光栅像可理解为三维物体对投影栅像的位相和振幅进行调制,即由解调求得相位的变化,并由相位与高度的关系求出相对参考面的高度。由于采用的是多帧图像,所以精度高,只需计算强度值和反正切,处理简单,即使是较粗的条纹也可以达到很高的灵敏度,但不能消除高频噪声误差,图像采集时间长。对于不连续的物体来说,所得到的相位还得经过解相位(去包裹)处理。
为了解决上述方法所带来的局限,本文提出了一种新的三维测量方法,用二元光学元件产生二维点阵式结构光照射物体,只需一次采样即可得到物体的三维轮廓信息,大大简化了数据获取的程序,提高了测量速度,且测量不易受物面不连续等干扰的影响。信号的处理简单可靠,无须复杂的条纹分析就能确定各个测量点的绝对高度信息,可自动分辨物体的凹凸,即使物体上的物理间断点(台阶、孔等)使图像不连续也不会影响测量;系统无需载物平台,数据获取不受测量环境的约束,使用灵活、便捷。
2 系统构成和测量方法
复杂曲面三维信息获取系统的结构如图1所示,由激光发射器(半导体激光器和二元光学元件)、数码相机、一维移动导轨、手动转台构成。相机光轴与导轨垂直,手动转台固定在导轨滑块上,能随滑块在导轨上左右滑动,激光发射固定在手动转台上,能随转台在水平面内作顺(逆)时针旋转。滑动滑块可改变相机和激光发射器间的距离d,转动手动转台图1 实验系统结构示意图可调节测量距离L的大小。被测范围由测量距离L和二元光学元件的衍射角θ决定,激光通过二元光学元件产生的二维点阵结构光按一定规律遍部测量范围,用相机获取经物面调制的结构光图像,利用结构光成像原理,可以求出结构光上各点的三维空间坐标。这样的话,只需要一次获取信息就可以得到物体被测面的三维空间坐标,重构出物体的三维轮廓模型。

3 三角测量法原理
三角测量法原理图如图2所示。以照像机镜头主光轴为z轴,x轴平行于pc(相机镜头光心与激光出射点的连线),参考平面垂直于z轴,与z轴的交点作为原点。p(d,0,L)为激光出射点坐标;c(0,0,L)为相机光心坐标, A(x0,y0,z0)是物体表面上的任意一点;A4是物点A(x0,y0,z0)在相机CCD像面上的像点。Ap和Ac与参考平面的交点A1和A2的x轴坐标分别为x,x′,其表达式分别为


由于物点A的高度z0的存在,使得像平面的内像点从点A5处移到了点A4处,其偏移量Δu为

式中:ur为单位像素的长度;u4和u5分别为A4和A5在像平面上的像素坐标;M为相机的放大倍数,物平面坐标系的x轴和y轴分别平行于图像平面的u轴和v轴。从式(2)可以看出,偏移量仅与z0有关,而与x轴的坐标x0无关。物面上A点的z轴坐标z0为

从式(3)可以看出,只要知道物面与参考平面上的对应点在像平面上的像点位置差就可以确定物面上的该点离开参考平面的距离,进而由式(4)可计算出A点的水平坐标x0:
![]()
式中,u0为光轴投影点在像平面u方向上的坐标。由图2可以看出,不管物面形状和离参考平面远近如何,参考平面上的A1点与对应物面上的A点在相机CCD上成的像点A5和A4的v坐标相等(都在平面A1pc内)。由此可见,当相机的成像平面uv平行于pc(相机镜头光心与激光出射点的连线)时,则在相机CCD上所成的像点的v坐标与物体离参考平面的远近无关,即图2中A与A1点在成像面上的成像点的v坐标值相等。物体上A点的y0坐标可由式(5)得到:
![]()
式中:v4为物体上的A点在相机像平面上的成像点A4的v轴坐标;v0为光轴投影点在像平面上v方向的坐标。由式(3)~式(5)可得到图像中坐标为u,v的任意一点的三维坐标为

式中,u′为参考平面上任意一点在图像平面上的u轴坐标,它与像坐标为u的物点相对应。经物面调制的点阵像坐标u和v由相机一次取景就可全部获得,其对应的参考平面上点的像坐标值u′和v′不需要用参考平面再次取景,利用二元光学的特性,通过理论计算便可获得全部的参考信息。
4 二元光学的特性与参考信息的获取
二元光学元件为特殊的衍射器件,它设计灵活、衍射效率高,在光束整形中起到了很重要的作用,理论上能将光束整形成任意形状的光斑图形。可采用迭代傅里叶变换算法进行两台阶光束整形器件的设计。该算法是1972年由德国的Gerchberg-Saxton提出的 [5] ,其基本原理如图3所示 [6] 。按此算法经过50次迭代优化后,设计了如图4(a)所示的大小为247×247像素的二值目标衍射图样,得到了如图4(b)所示的值为0,π分布的两台阶二元光学元件的位相结构,图4(c)给出了由计算机模拟的两个台阶位相结构二元光学元件的再现像,图4(d)为由相机采集到的实际再现图像。图5给出了再现系统示意图。用激光垂直照射到二元光学元件的位相结构上,只要在夫琅和费衍射区内就能接收到清晰的再现像,也就是说,在满足夫琅和费衍射的条件下,再现像是非定域的。根据波动光学中矩孔的夫琅和费衍射理论[7],中央亮斑集中了矩孔衍射的绝大部分能量,可认为是衍射扩展的主要范围。边长为a的正方形矩孔,其中央亮斑的范围可由式(7)决定:

式中,θ为从中央亮斑中心变化到边缘的最大角度,即矩孔的发散角,用直角坐标可表示为
![]()
式中,f为透镜的后焦距。若在元件后不放置透镜,在夫琅和费衍射区,即z (x21+y21)max/λ,二维发散角θ可表示为
![]()
由式(9)可以看出,由于二元光学元件的发散角只与它最小光刻单元的尺寸有关,而光刻单元的形状和大小是可控的,因此每块二元光学元件的衍射角都是已知的。同时点阵维数、点间距也是可控的,可根据测量的需要设计和光刻出不同参数的二元光学元件。相邻点间距为a0的n×n维点阵在垂直激光束的平面内可表示为

点阵行和列分别平行于x和y轴。由于其衍射像是非定域的,所以在夫琅和费衍射区内的任何地方都能成清晰的像,且其衍射像都不会发生畸变。对n×n点阵来说,衍射水平距离为z处的衍射像可由下式表示:

若点阵并非衍射在垂直激光束的平面内,而是与垂直平面有一夹角α,如图6所示,则垂直于激光束的平面M1沿y轴转过角度α到M2,平面M1上的点阵可由下式表示:

式中:i,j=-n/2:1:n/2;M1平面为x′轴和y′轴所确定的平面;M2平面即为x轴和y轴所确定的平面;y和y′轴重合;x′(i),y′(j)为点阵在M1平面内的坐标;x(i),y(j)为点阵在M2平面内的坐标。由实际拍摄时的d和α可得到点阵衍射距离z′,根据实际制作二元光学元件的一些参数计算出其衍射角θ,由式(13)可得到在M1平面上的点阵分布信息,由式(14)式可得到在M2平面内的点阵分布信息。改变相机镜头与半导体激光器的距离d和激光束与一维导轨的夹角(90-α)可以计算出任意距离的垂直于相机镜头光轴的平面上的点阵信息,这就是想要得到的参考点阵信息。由此可以简化图1中的系统结构,无需参考平面,利用二元光学的特性,由发散角θ、镜头和二元光学元件的距离d、激光束和一维导轨间的夹角(90-α)就可计算出点阵在参考平面上的分布情况,然后再根据成像关系,计算出点阵在像平面上的像点分布情况。




5 系统标定和匹配问题
为了确定上述各式中的参数,需要对测量系统进行标定,包括图像中心坐标(u0,v0)、相机焦距f、相机镜头光心与激光发射器间的距离d以及激光发射器与导轨的夹角α,具体过程见文献[4]。选定水平方向和垂直方向分别是物空间的x轴方向和y轴方向,图像坐标轴u′轴和v′轴分别与像素坐标轴u轴和v轴平行,且同在CCD像平面内,(u′,v′)坐标系的的原点与像素坐标系的(u0,v0)点重合,u′,v′平行于x,y轴。xy平面的原点对应于uv平面的(u0,v0)点。计算所得的参考点阵信息在CCD上的分布情况用图像坐标表示为

这就是最终得到的用像素坐标表示的参考点阵在CCD像平面上的分布情况。经物面调制的点阵分布信息由相机直接采集,其中零级光的像在像素坐标中的位置为A0(u,v),参考点阵中与其对应的点为(u0,v0),即像素坐标中心点,利用对应像点的v像素坐标不随物体离相机的远近而改变的规律,分别以A0(u,v)和(u0,v0)为基准点,在调制点阵和参考点中逐行扫描,就能找到两点阵图中的对应点了,将对应点的坐标分别存于矩阵R-real,C-real,R-ref和C-ref中。
6 数据处理、三维拟合
二元光学元件(BOE)的制造工艺不够完善,激光通过BOE产生的点阵亮度并不均匀,中间部分光强较高,且有零级光的存在(理想情况下是没有的),四周强度较低,边缘点的强度有时还弱于中间区域噪声的强度。光在传播中会发生衍射,相机获得的调制点阵信息在CCD上并非是一个像点而是一个像素,是由许多像素连成的区域。为了得到各个光点区域在CCD上确切的(u、v)坐标,采用自编的灰度剃度法,将强度(灰度值)从高到低的点区域一一标注出来。提各个标注区域的重心,即可认为是像点在CCD上的确切的(u、v)坐标,分别将其值放入矩阵R-real和C-real的对应位置。根据调制点中各点与零级光像点的相对位置关系,在参考矩阵中找到与(u0,v0)点具有同样相对关系的点。首先将行列坐标分别放入矩阵R-ref和C-ref中,然后再将存放实际像点行列坐标值的矩阵减去存放相应参考点行列坐标值的矩阵就能得到实际点偏离相应参考平面点的偏离量,这个偏离量的大小反映了物体表面离开参考平面的远近。代入式(6)计算出被测物体轮廓的三维空间坐标。
7 实验结果
用迭代傅里叶算法设计和制造了二台阶的点阵二元光学元件,由于制造工艺无法达到理论上的精度,因此在BOE产生的点阵中还有许多杂散光,零级光也较强,给数据处理带来了一定的困难。一般拍摄时使零级光掠射过被测物体的边缘,这样不仅可以减轻零级光对信息获取产生的不良影响,而且又能使零级光发挥基准点的作用,方便了调制点阵和参考点阵的准确对位。本文分别以乒乓球、墨水瓶作为被测对象,得到了如图7和图8所示的测量结果。测量精度主要与相机CCD的分辨率、CCD像元的大小、测量距离L和d有关。L/d的值越小,能分辨的Δz就越小[8];相机CCD分辨率越高、像元越小,不仅能分辨很小的位置变化,而且也能测出很小的高度变化。拟合精度主要与二元光学元件有关。所设计的点阵的疏密和多少直接决定着取样点的多少。取样点越多,拟合出的图形就越接近实物,但会加大数据处理的难度,处理时间也相对变长。最小光刻单元的大小决定着二元光学元件发散角的大小。对同样远的衍射距离来说,发散角大的二元光学元件所得到的衍射像像点的间距大,照到相同物体上时的测量点少,拟合出的图像相对来说粗糙,但数据处理相对来说要简单得多,处理速度也快很多。根据上述实验结果,今后应进一步提高二元光学元件的加工质量,改善零级光的光强,提高数据拟和速度,使上述方法更实用化。

参考文献:
[1]李礼无,钟先信,陈愚.三维曲面轮廓的非接触式现代测量[J].实用测试技术, 1996,(1): 22—26.
[2]巩绪庆,达飞鹏,郑君立,等.光栅投影三维测量在逆向工程中的应用[J].测控技术, 2003,(7):51—53.
[3]郝煜栋,赵洋,李达成.光学投影式三维轮廓测量技术综述[J].光学技术, 1998,(5):57—61.
[4]王岩,郝颖明.基于结构光的三维测量及重建技术[J].现代计算机,1999,(1).
[5] Gerchberg R W,Saxton W O.A practical algorithm for the determi-nation of phase from image and diffraction plane pictures[J].Optik,1972,35:237—246.
[6]周海宪,王永年,程云芳.微光学元件、系统和应用[M].北京:国防工业出版社,2002.7—13.
[7]梁铨廷.物理光学[M].北京:机械工业出版社,1980.117—121.
[8] Giovanna SansoNI,Elisa Redaelli.A 3D vision system based on one—shot projection and phase demodulation for fast profilometry[J].Measurement Science & Technology, 2005,16(5):1109—1118.
基金项目:国家自然科学基金资助项目(10474070)
作者简介:王敏怡(1980_),男,江苏省人,苏州大学信息工程研究所硕士研究生,主要从事衍射光学元件与光电器件应用的研究。
E-mail:minyiw@e172.com




