1、三维形貌测量实验三维形貌测量所谓三维,按大众理论来讲,是人为规定的互相交错的三个方向,用 这个三维坐标,可以把整个世界任意一点的位置确定下来,这个理论在立 体几何,立体测绘等有重要的应用,它可以帮助解决和简化我们在现实生 活的多种问题。所谓的三维空间是指我们所处的空间 , 三维具有立体性,可 以通俗的理解为前后,左右,上下。三维是由二维组成的,二维即只存在 两个方向的交错,将一个二维和一个一维叠合在一起就得到了三维。随着科学技术与社会生产生活的发展,在机器视觉,实物仿形,工业 自动检测,地形绘制,生物医学等领域都有重要的意义和广阔的应用前景。 因此,光学三维形貌检测技术受到广大学者的重视,正成
2、为光学信息光学 的前沿研究领域与方向之一,当前,也有很多方法可以进行光学三维形貌 检测。通过理解投影光栅相位法的基本原理 ; 理解一种充分发挥计算机特长的条 纹投影相位移处理技术。实验原理相位测量轮廓术的基本原理投影光栅相位法是三维轮廓测量中的热点之一, 其测量原理是光栅图样投射 到被测物体表面, 相位和振幅受到物面高度的调制使光栅像发生变形, 通过解调 可以得到包含高度信息的相位变化,最后根据三角法原理完成相位 - 高度的转 换。根据相位检测方法的不同,主要有 Moire 轮廓术、 Fourier 变换轮廓术,相 位测量轮廓术,本方法就是采用了相位测量轮廓术。相位测量轮廓术采用正弦光栅投影相
3、移技术。 基本原理是利用条纹投影相移 技术将投影到物体上的正弦光栅依次移动一定的相位, 由采集到的移相变形条纹 图计算得到包含物体高度信息的相位。基于相位测量的光学三维测量技术本质上仍然是光学三角法,但与光学三 角法的轮廓术有所不同, 它不直接去寻找和判断由于物体高度变动后的像点, 而 是通过相位测量间接地实现, 由于相位信息的参与, 使得这类方法与单纯基于光 学三角法有很大区别。将规则光栅图像投射到被测物表面, 从另一角度可以观察到由于受物体高度 的影响而引起的条纹变形。 这种变形可解释为相位和振幅均被调制的空间载波信 号。采集变形条纹并对其进行解调, 从中恢复出与被测物表面高度变化有关的相
4、 位信息,然后由相位与高度的关系确定出高度, 这就是相位测量轮廓术的基本原 理。投影系统将一正弦分布的光场投影到被测物体表面 , 由于受到物面高度分布 的调制 , 条纹发生形变。由 CCD 摄像机获取的变形条纹可表示为 :In(x,y) A(x,y) B(x, y)cos (x,y) n (n=0, 1, , N-1)(2-1) 其中n 表示第 n 帧条纹图。 In(x,y)、A(x,y) 和B(x , y ) 分别为摄像机接 收到的光强值、物面背景光强和条纹对比度。 n 附加的相移值 , 如采用多步相移法采集变形条纹图 , 则每次相移量 n 。所求被测物面上的相位分布可表示为 :N1(2-2
5、)I n( x, y)sin(2 /N) n0用相位展开算法可得物面上的连续相位分布 (x, y) 。已知 r (x, y)为参考平面上的连续相位分布,由于物体引起的相位变化为(2-3)h和相位差 h(x,y) 的关h(x,y) (x,y) r(x, y)根据所选的系统模型和系统结构参数可推导出高度系,最终得到物体的高度值。下面具体分析高度和相位差之间的关系:实际照明系统中, 采用远心光路和发散照明两种情况下, 都可以通过对相位 的测量而计算出被测物体的高度。 只是前者的相位差与高度之间存在简单的线性 关系,而在后一种情况下相位差与高度差之间的映射关系是非线性的。 本实验的 照明系统为远心光路
6、。 如图 1 所示,在参考平面上的投影正弦条纹是等周期分布 的,其周期为 p0 (x,y) 是坐标 x 的线性函数,记为:(x,y)=Kx=2 x p0 (2-4)以参考平面上 O 点为原点, CCD 探测器上 D c点对应参考平面上 C 点, 其 相位为 c(x,y)= (2 p0 )OC, Dc 点与被测三维表面 D 点在 CCD 上的位置相同, 同时其相位等于参考平面上 A 点的相位。有 D = A =(2 p0 )OA, 显然AC=( p0 2 ) CD (2-5)AC则 D 点相对于参考平面的高度 h 为 h AC ,当观察方向垂直于参考平tg tg 面时,上式可表示为:ACh =(
7、 p0 /tg )( CD/2 ) (2-6)tg根据式 (2-6) 就可以求出物体上各点的高度值 。相位的求取过程1 求取截断相位如前所述,求得物体加入测量场前后的展开相位差就可以获得物体的高度, 因此相位的求取过程是整个测量过程中重要的一环。 而条纹图中的相位信息可以 通过解调的方法恢复出来, 常用的方法主要有傅立叶变换法和多步相移法。 用傅 立叶变换或多步相移求相位时, 由于反正切函数的截断作用, 使得求出的相位分 布在 - 和 之间,不能真实的反映出物体表面的空间相位分布,因此相位的求取 过程可分为两大步 :求取截断相位和截断相位展开。从条纹图中恢复出的相位信息由于它们恢复出的相位要经
8、过反正切运算, 使 得求出的相位只能分布在 - 和 的四象限内, 这种相位称为截断相位 。与之相对 应的真实相位称为展开相位 。傅立叶变换法仅仅通过对一幅条纹图处理就可以恢复出截断相位 获取图 像时间短 更适合求测量速度快的场合。 而相移算法是相位测量中的一种重要方 法,它不仅原理直观,计算简便,而且相位求解精度与算法直接相关,可以根据 实际需要选择合适的算法。其中,最常用的是使可控相位值 n 等间距地变化,利用某一点在多次采样中探测到的强度值来拟合出该点的初相位值, 帧满周 期等间距法是最常用的相移算法。 下面以标准的四步相移算法为例来说明。 四步 相移算法中,式 (2-1)中 n=4,相位
9、移动的增量 n 依次为 :0, 相应的四帧 条纹图I1(x,y) A(x,y) B( x, y)cos (x,y)I2(x, y) A(x, y) B(x, y)sin (x,y) (2-7)I3(x,y) A(x, y) B(x,y)cos (x,y) (2-7)I4(x, y) A(x, y) B(x, y)sin (x,y)联立上式中的四个方程,可以计算出相位函数I4(x, y) I2(x, y)(x, y) arctan 4 2 I1(x,y) I3(x, y)(2-8) 对于更常用的 N帧满周期等间距相移算法,采样次数为 N, n = nN,则N1In (x, y)sin(2 /N)
10、 n0N1In(x,y)cos(2 /N)n0本论文采用 N 帧满周期等间距相移算法,理论分析证明, N 帧满周期等间 距算法对系统随机噪声具有最佳抑制效果,且对 N1 次以下的谐波不敏感。2 截断相位的展开相位测量轮廓术通过反正切函数计算得到相位值 (见式 2-9 ),该相位函数被 截断在反三角函数的主值范围 (- , ) 内,呈锯齿形的不连续状。因此,在按 三角对应关系由相位值求出被测物体的高度分布之前, 必须将此截断的相位恢复 为原有的连续相位, 这一过程就是相位展开 (Phase unwrapping) , 简称 PU算法。 相位展开的过程可从图 2 和图 3 中直观地看到。图 2 是
11、分布在 -和 之间的截断相位。相位展开就是将这一截断相位恢复为如图 3 所示的连续相位。 相位展开是利用物面高度分布特性来进行的。 它基于这样一个事实: 对于一个连 续物面, 只要两个相邻被测点的距离足够小, 两点之间的相位差将小于 ,也就 是说必须满足抽样定理的要求, 每个条纹至少有两个抽样点, 即抽样频率大于最 高空间频率的两倍。 由数学的角度而言, 相位展开是十分简单的一步, 其方法如 下:沿截断的相位数据矩阵的行或列方向,比较相邻两个点的相位值 ( 如图 2,如果差值小于 - ,则后一点的相位值应加上 2 ;如果差值大于 ,则后一点 的相位值应减去 2 )图 2 截断相位下面以一维相位
12、函数 w(j) 为例说明上述相相位展开过程。 w(j) 为一维截 断相位函数,其中, 0 j N-1 ,这里, j 是采样点序号, N 是采样点总 数。展开后的相位函数用 u(j) 来表示,则相位展开过程可表示如下: u(j)= w(j)+2 njnj =INT( w(j)- w(j-1)/ 2 )+ nj-1 (2-10)n0 =0上式中, INT是取整运算符。实际中的相位数据都是与采样点相对应的一个二维矩阵, 所以实际上的相位 展开应在二维阵列中进行。 首先沿二维矩阵中的某一列进行相位展开, 然后以展 开后的该列相位为基准,沿每一行进行相位展开, 得到连续分布的二维相位函数。 相应的,也可
13、以先对某行进行相位展开, 然后以展开后的该行相位为基准, 沿每 一列进行相位展开。只要满足抽样定理的条件,相位展开可以沿任意路径进行。 对于一个复杂的物体表面, 由于物体表面起伏较大, 得到的条纹图十分复杂。 例 如,条纹图形中存在局部阴影, 条纹图形断裂, 在条纹局部区域不满足抽样定理, 即相临抽样点之间的相位变化大于 。对于这种非完备条纹图形, 相位展开是一 个非常困难的问题, 这一问题也同样出现在干涉型计量领域。 最近已研究了多种 复杂相位场展开的方法, 包括网格自动算法、 基于调制度分析的方法、 二元模板 法、条纹跟踪法、 最小间距树方法等, 使上述问题能够在一定程度上得到解决或 部分
14、解决。3 高度计算在上面分析了测量高度和系统结构参数的关系, 如公式 (2-6) 。其中有三个 与系统结构有关的参数, 即投射系统出瞳中心和 CCD成像系统入瞳中心之间的距 离 L,共轭相位面上的光栅条纹周期 p0 ,以及投射光轴和成像光轴之间的夹角 。 这几个参数是在系统满足一定约束条件下测得参数值,这些约束条件包括:1)CCD 成像系统的光轴必须和参考面垂直,即保证一定的垂直度 ;2)投射系统的出瞳和成像系统的入瞳之间的连线要与参考面平行 ;3)投射系统的光轴和 CCD光轴在同一平面内 , 并交于参考面内一点。为了方便系统测量,本实验采用简便的标定法,避免参数标定的繁琐过程,提高系统的适应
15、性。标定测量原理如图 4所示, 首先建立如图 4 所示的物空间坐 标系 O-XYZ和相位图像坐标系 OpIJ: 以参考面所在的平面为 XOY平面( 也就是零基 准面) ,垂直于 XOY面并交 XOY于点 O的轴为 Z轴,此时建立的坐标系称为物空 间坐标系 ; 选择相位图的横轴为 J、竖轴为 I 建立相位图像坐标系。在参考面初 始位置 z1=0 时,可以通过多步相移法获得参考面上的截断相位分布,该截断相 位的展开相位分布为 (i,j,1), i,j 是相位图坐标系中的坐标值 ; 将参考面沿 z 轴正方向平移一定距离 Z到达 z2 = Z后,同样通过多步相移法获得参考面条 纹分布,并由此求得展开相
16、位 (i,j, 2); 同理,依次等间距移动参考面到多个(i,j,k), 其中位置 zk =(k-1) z 并得到对应位置参考面上的展开相位图 4 不同位置参考面高度与相位的对应关系由相位-高度映射算法 , 物面高度 (相对于参考平面 ) 可表示为:1 b(x,y)a(x, y) h(x,y) h(x,y) (2-11)用高次曲线表示更为恰当。本文采用二次曲线 , (2-10) 式可改写为 :(2-12)为了求出 a (x , y ) 、b (x , y ) 、c (x , y ) , 图 4 中基准参考平面 ( 其法线方向与摄像机光轴平行 ) 的个数必须大于等于 4, 相邻平面间的距离为一已
17、 知常数。首先令 h(x,y) 为零基准面上的连续相位分布 , 由平面2、平面3、平面4 三个平面得到的三个线性方程可解出 a (x , y ) 、 b (x , y ) 、 c (x , y ) 三个未知常数 (注: 这里每个常数实际上是二维常数矩阵 ); 保存三个常数到计算机中, 由测量时得到相位图的绝对相位, 对相位图中的每一点进行相应运算, 就可以确 定每一点的高度值,即实现面形的测量。4光路原理图实验操作三维测量系统是基于 VC+6.0 平台开发的,可利用光学三维测量实验仪进行 图像的采集与数据处理,重建待测物体的三维形貌。使用前请根据 Readme正确安装驱动和软件。为了从相位分布
18、信息计算出物体的深度 / 高度信息和宽度信息,必须将相位 高度标定结果存为 biaoding.txt 文件,存放于 C 盘根目录中,包含的具体参 数和格式见附录一。此文件可以使用软件自带标定模块生成。使用流程简介 三维测量系统软件,大致可分为三个模块:图像采集模块、标定模块和数 据处理模块,分别进行图像的采集、标定文件的生成和三维重建。(1)图像采集点击工具栏中 按钮或菜单中的 “系统操作数据采集” 命令,进入图像 采集模块。分为四个区域:平移台控制区、图像采集与显示区和信息区。若返回 主程序,请点击“退出”按钮。1. 平移台的控制(1). 选择电动平移台联结的串口号,点击“打开电移台”按钮,
19、 之后可以操作电移台。初始设置“位置号”为 0,“相移”为 0。注:“位置号”表明平移台共移动了几步, “相移”表明当前应当拍摄图 片的帧数。(2). 设置“移动步长” ,毫米为单位;点击“移动一步”按钮, 可以使平移台按设置的步长移动一次, 同时“位置号” 加 1,“相 移”置零。多次点击按钮,将平移台移动到合适位置。2. 图像的采集(1). 点击“设置存放目录”按钮,设置采集图像存放的位置。(2). 点击“打开图像卡”按钮,在图像显示区动态显示 CCD得到的图像。(3). 点击“获取图片” 按钮,采集单帧图像, 图像名称为: Image位置号 _相移 .bmp,存放在设置的目录中。此时图像
20、显示区显示 采集得到的图像,几秒后恢复动态显示。(4). 点击“关闭图像卡” ,关闭图像卡,结束采集。(5). 如果不改变位置号或相移数,图像名不改变,则新采集图像 将覆盖已有图像。(6). 点击“相移 +1”,相移数加 1,然后可以点击“获取图片” ,采集下一帧图片。(7). 点击“回零位”,可以使平移台回到初始位置。 “位置号”置 0,“相移”置 0。(8). 点击“相移复位”,可以使“相移”置 0。(2)系统标定1如果系统还未标定,或者标定文件损坏,需要重新标定系统,请点击工具栏 中 按钮或者菜单“系统操作系统标定”项。2 设置好标定面位置数,每一标定位置的相移次数,以及标定面每次移动的
21、距 离(mm),然后点击 “开始标定” 按钮, 选择标定图像的存储路径后, 点击“打 开”按钮,开始标定。最终得到标定文件 biaoding.txt ,存放在 C 盘根目录 下。(3)数据处理1点击 按钮或者菜单 “文件打开”,点击打开需要处理图像组中的任一图像,待处理图像将显示在图像显示区。2按住鼠标左键选择感兴趣区域,再点击工具栏 按钮或菜单中“系统操作数据处理”项。3 在下拉菜单中选择相移次数,然后依次点击“数据处理开始” 、“计算截断相 位”、“相位展开”、“减掉参考面”及“高度信息恢复”按钮,进行三维重建, 重建结束后,点击“ OK”按钮退出数据处理对话框。4重建结束后,可以选择菜单
22、“处理结果”中的命令,查看每一步计算结果。 如果测量对象是平行于参考平面的平面, 可查看“处理结果” 中的结果报告, 获得平面的最大值、最小值、平均值及均方差。5重建结束后,可以选择菜单“图形操作”中的命令,或点击工具栏 等按钮,对图像显示区显示的图像进行放大、拉线、三维显示以及平面显示 操作,每次操作后点击平面显示按钮 ,显示的图像可回到灰度平面显示 状态。进行图像放大操作后,如要回到原始大小,点击鼠标右键即可。6点击工具栏 按钮或菜单中的“文件保存”命令,可以将当前图像显示区中显示的图像保存为 bmp 图像。7 如果希望继续计算其它测量图像,重复 1到4 步即可。附录一 标定文件格式和参数
23、系统经过标定以后将标定结果存储在 C 盘根目录下,如果标定文件不存在, 无法进行高度的恢复。Biaoding.txt 文件储存相位高度转换所需系数和参考面相位值。对于图 像上每一个点 ,文件应包含 四个参数: ParPhaseHeight1、ParPhaseHeight2、 ParPhaseHeight3和 UnwrapPhaseRef0,均为二维矩阵,矩阵 大小是由 CCD 像面大小确定的,也就是由标定测量视场所确定。相位高度转换按照二次函数关系确定。像面上某一点 (u, v)的高度可 以由下式计算得到phase(u, v) UnwrapPhase (u, v)UnwrapPhaseRef0
24、(u, v)Z(u, v) = ParPhaseHeight1(u, v)*phase(u, v)2 + ParPhaseHeight2(u, v)*phase(u, v) + ParPhaseHeight3(u, v)其中 ParPhaseHeight1、ParPhaseHeight2和 ParPhaseHeight3是位相高 度标定时按照上式确定的拟合系数, UnwrapPhaseRef0 是计算高度时所需的 参考平面,是根据实验系统和实际情况人为指定的某一个标定平面, UnwrapPhase (u, v)是像面上 (u, v)点的展开相位值。附录二 图像文件命名规则为获得准确的三维重建结
25、果,三维测量系统需要多帧相移图像进行三维 重建。1数据处理所用的图像命名规则如下:*0.bmp :含有圆心的图像;*1.bmp :第一帧条纹图像;*2.bmp :第二帧条纹图像;*3.bmp :第三帧条纹图像;如:某次测量中采用五帧相移算法, 所需的六帧测量图像分别为: test3-0、test3-1、test3-2、test3-3、test3-4、test3-5。2系统标定所用的图像命名规则如下:*00_0.bmp :第一标定面位置含有质心图像;*00_1.bmp :第一标定面位置第一帧条纹图像;*00_2.bmp :第一标定面位置第二帧条纹图像;*01_0.bmp :第二标定面位置含有质心
26、图像;*01_1.bmp :第二标定面位置第一帧条纹图像;如:某次标定采用五帧相移算法进行标定,第一标定面的六帧测量图像分 别 为 : Capture00_0.bmp 、 Capture00_1bmp 、 Capture00_2.bmp 、Capture00_3.bmp、Capture00_4.bmp、Capture00_5.bmp,第二标定面图像为:Capture01_0.bmp、Capture01_1.bmp附录三 图形操作命令简介“图形操作”命令共有四个,分别对应于图形操作菜单和工具栏 等按钮,用于图像显示区显示的图像进行放大、 拉线、三维显示以及平面显示操 作。放大 :选择“图形操作”
27、菜单栏中“放大”命令或点击工具栏 可进 行放大操作。 鼠标左键点击待放大区域起点, 拖动鼠标至待放大区域终点再点击 左键,屏幕上会显示所选区域放大后的图像。 进行图像放大操作后, 如要回到原 始大小,点击鼠标右键即可。拉线 :选择“图形操作”菜单栏中“拉线”命令或点击工具栏 可进 行拉线操作。 该命令可查看感兴趣的一行或一列图像。 在平面显示状态, 鼠标左 键点击拉线起点, 拖动鼠标至拉线终点再点击左键, 屏幕上会显示所选区域拉线 图像。若要回到平面显示状态,击平面显示按钮 即可。三维显示 :选择“图形操作”菜单栏中“三维显示”命令或点击工具 栏 可进行三维显示操作。 该命令可查看当前图像区的
28、三维形状。 若要回到平面 显示状态,击平面显示按钮 即可。此命令下可对图像进行平移和旋转操作, 方法:平移,按住鼠标左键不放,拖动鼠标即可;旋转,同时按住 shift 键 和鼠标左键,拖动鼠标可进行旋转操作。平面显示 :选择“图形操作”菜单栏中“平面显示”命令或点击工具栏 可在图像显示区显示灰度平面图像。实验注意事项1光路调整(1)用半导体激光做高度基准,调整各光学透镜中心高度一致。各个元件 都固定在导轨上。 首先校准激光束水平度。 可用可变光阑,在邻近激光器的位置, 使激光束通过光阑的中心, 再把光阑沿导轨平行移至台上尽量远位置, 调整激光 器俯仰角度和光阑的高度, 使光阑中心与激光束中心重
29、合。 再将光阑沿导轨平行 移至邻近激光器的位置, 调整激光器俯仰角度和光阑的高度, 使光阑中心与激光 束中心重合。重复上述过程, 直到邻近和远离两个位置光阑中心与激光束中心都 重合。在此光束中逐个放入透镜的支架, 调整支架高度, 使有无透镜时激光束中 心不发生上下偏移,此时系统各光学元件光轴重合;(2)将白光点光源放入光路中,将透镜 1 放入光路中,调节白光点光源的 高度,使从透镜出射的光通过测量物的中心;(3)将固定标准平面的支架固定在导轨上, 将固定光学件的导轨与装置 CCD 的导轨 1 成 25 度左右角安置;(4)调节标准平面的俯仰,使标准平面垂直系统的光轴;调节方法与步骤( 1)类似
30、,在标准平面上做一标记点,相当于步骤( 1)中的光阑中心;(5)调整各个透镜间的距离,将白光点光源放置在透镜 1 的焦平面上,从 透镜 1 出射近似平行光照明正弦光栅,透过透镜 2 照射到待测物体表面;(6)调节 CCD的高度,使 CCD镜头中心与透镜 2 尽量等高;(7)调节 CCD与被测面的距离,使光栅像充满整个 CCD像面。2实验测量过程(1)将 2 线/mm的正弦光栅放入调整好的光路中,调节 CCD与被测面的距 离,使光栅像充满整个 CCD像面;(2)调整测量物的高度, 使光栅像照射到感兴趣区域, 同时此区域可被 CCD 接收;(3)打开软件图像采集功能,将有标定光源的图像信息记录下来(4)沿垂直于导轨方向移动光栅,每次移动 1/5 栅距( 0.1mm),记录每次移动后的光栅图像,共 5 幅;(若用 4 次相移则为 0.125mm四帧条纹图共五幅图 像)3软件处理用第前面介绍的三维测量系统软件处理图像,再现被测面的面形特征。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1