第3章 光栅式扫描测量
3.1 光栅投影三维测量技术
在对物体三维轮廓非接触式测量技术中,光学测量具有高精度、高效率、易于实现等特点,其应用前景也日益广阔。光学测量根据测量原理分为飞行时间法、结构光法、相位法、干涉法、摄影法等。考虑到本章主要介绍以COMET为代表的测量系统,以下简要介绍光栅投影移相法。
光栅投影移相法是基于光学三角原理的相位测量法,将正弦的周期性光栅图样投影到被测物表面,形成光栅图像(见图3-1)。由于被测物体高度分布不同,规则光栅线发生畸变,该畸变可看做相位受到物面高度的调制而使光栅发生变形,通过解调受到包含物面高度信息的相位变化,最后根据光学三角原理确定出相位与物面高度的关系。
图3-1 光栅式扫描测量系统光路图
在图3-1中,投影点射出的光源在没有放置被测物体时应照射到A点,在CCD上对应的像点为A′点,放置被测物体后,照射到被测物体的C点,在CCD上对应的像点为B′点,即在放置前后所拍摄的两幅图像中,对同一像点由于物体高度的影响使得其记录的光强分别为参考平面上 B、A 点的光强。而由于投射到参考平面的光栅线呈正弦分布且周期固定,则光强的变化就体现在正弦函数的相位变化中,从相位变化可计算高度信息H。
解调相位变化则必须对相位进行检测,根据相位检测方法的不同,主要有莫尔轮廓法、移相法、相位变换法等。移相法是利用对已知相移后的被测光波多次采样获得的光强分布进行处理,以求得相位。移相法可再分为时间相移法和空间相移法,时间相移法即在时间上引入多次相位增量以解出相函数;而空间相移则在一个光路结构中从不同空间获得不同相位增量,可同时解出相函数,因而可用于动态测量。
光栅投影测量的特点:适宜较大测量范围,便于实时测量,宜用于光滑物体的表面测量,精度较高,但对光栅制作要求高,难于加工,计算量大,对计算机要求高。
3.2 COMET系统
3.2.1 COMET系统组成
德国Steinbichler公司开发的COMET测量系统由测量头、控制台、校准盘、旋转台、Aicon数字摄影测量系统、支架等相关部件组成,如图3-2所示。
图3-2 COMET测量系统
(1)测量头:是一个白光投影系统,它包括一个CCD摄像机和一个光栅投影仪。
(2)控制台:它是测量系统另一个非常重要的部件,包括控制器和计算机两部分。控制器控制着系统电源供应及相关通信。计算机安装有COMET测量系统专用的软件COMET Plus6.5,用来对数据显示及处理。
图3-3所示即为它们各部分之间的线路连接图。
图3-3 COMET测量系统组成框图
校准盘用来校准及标定系统的部件,针对每一个测量范围都有不同的校准盘。
其他就是一些辅助测量组件,如旋转台、Aicon数字摄影测量系统、支架等。旋转台是将被测对象放在其上面转动,便于整体测量。Aicon数字摄影测量系统是在测量大型工件时,用于将工件分割成多个数据提取区域,然后由多幅图像拼接,完成测量。支架用于固定测量头并方便以较好角度和距离完成测量。
COMET测量系统采用的就是投影光栅移相法,其光栅投影系统及原理的示意图如图3-4所示。它采用单光栅旋转编码方式进行测量,在测量过程中光栅相位移动并自动旋转,这弥补了通常测量方法中光栅直线移动时光栅条纹方向与特征的方向平行或接近时测量数据会残缺不全的缺点,可实现对工件的边界、表面细线条特征的准确测量。而且这种编码方式不影响光栅节距,光栅条纹可以做得非常细,极大地提高了分辨率和精度。COMET测量系统用单摄像头,消除了同步误差。在数据拼接方面,系统除了提供参考点转换拼接、联系点拼接和自由拼接方法外,还提供最终全局优化拼接,使各数据点云拼接达到全局最优化。
图3-4 COMET光栅投影测量系统示意图
COMET Plus 6.5是对硬件系统所获取的数据进行处理的软件,其操作界面如图3-5所示。
图3-5 COMET Plus 6.5软件界面
软件界面包括标题栏、菜单栏、工具栏、不同的视图窗口等区域。
在菜单“File”下,可进行各种格式数据的输入、输出和保存等工作;在菜单“Edit”下,可对当前数据进行各种处理,如优化点云数据、删除杂点、三角网格处理、点云自动预处理、全局优化拼接、撤销上一步等;在菜单“Calculate”下,可计算出网格面的横截面和特征线;在菜单“Service”下可进行各种校准工作;在菜单“View”下,可定制用户界面和工具栏等;在菜单“Sensor”下的命令基本上是工具栏中的是一些常用命令,如执行扫描,执行拼接等;在菜单“Setting”下,可进行横截面设置、3D-Viewer设置、拼接设置、数据预精简分析、测量头和CCD参数设置、测量模式设置、测量策略设置、关闭硬件等,也可以直接单击工具栏上面的命令实现同样操作;在菜单“Execute”下可启动Aicon数字摄影测量系统;“Help”则是关于此软件的一些帮助信息。
工具栏中则包括一些常用的命令,如文件的新建、打开和保存等,还有拼接方法设置、测量头设置、测量区域设置,开始数字化测量等命令。
视图窗口有三种:在“Video”视图中显示的是测量头所摄取的实景,用于观察测量的范围和测量的角度;在“3D-Viewer”中显示的是测量后所得到的实际点云数据;在“Cross Section”中可以用某一平面去观察点云数据的横截面情况。
3.2.2 COMET系统测量策略
为了适应不同测量应用,COMET测量系统中整合了参考点转换、联系点曲面拼接、自由拼接等几种用于实现产品数字化的测量策略,从而极大地提高了系统的应用弹性和适应能力。
1.参考点转换
当测量较大工件时,COMET系统采用摄影测量与光栅测量相结合的方法进行测量。测量前,通常在被测物体表面贴上两种类型的参考点,一类是经过数字编号的编号参考点,另一类是没有固定编号的标志参考点,如图3-6所示,其中图中上面所示是编号参考点,下面所示为标志参考点。对于编号参考点,由Aicon摄影测量系统来识别其在图像中的特征、中心位置和具体的编号代码;对于标志参考点则一般由光栅测量系统来识别其在图像中的特征和中心位置。
图3-6 COMET系统采用的参考点
其基本的工作流程如图3-7所示,首先获取不同图像中编号参考点和标志参考点的像坐标,利用图像处理及摄影测量技术,根据不同图像之间编号参考点的像坐标来确定相机的空间变换,得到一个确定的摄影测量系统的空间坐标系;然后根据空间的变换关系对不同图像中的同一标志参考点进行匹配,得到所有标志参考点在统一坐标系下的坐标,读入COMET光栅测量系统作为全局定位和分片扫描数据拼接的基准点。
图3-7 摄影测量与光栅测量相结合的测量流程
2.联系点曲面拼接
联系点就是标志参考点直接通过COMET的光栅测量装置在对产品表面进行数字化过程中所确定的数据点,其基本的工作流程如图3-8所示。测量时,首先在被测物体上按照一定规则的样式布置标志参考点,在测量过程中它们将通过COMET系统的测量传感器决定具体的位置,这便是联系点了。在每次采集的数据中必须至少含有三个参考点,即在匹配先后采集的数据时,至少需要使用三个联系点。联系点用于对每次采集的数据进行位置预调整,如果调整的位置大致合理,COMET系统将会通过自动的曲面拼接进程来计算出其准确的位置。
图3-8 联系点曲面拼接数字化策略的测量流程
联系点用来对数据集进行粗略定位,所以该测量特别适用于工件较大、曲面结构显示不充分的场合。而与参考点转换的数字化策略相比较,该策略不需要使用摄影测量系统,而是直接通过COMET光栅测量系统来完成被测物体的测量。从空间坐标系的角度看,参考点转换策略所采集的被测物体点云位于由编号参考点所决定的摄影测量系统空间坐标系下,而联系点曲面拼接策略所采集的被测物体点云则落在COMET光栅测量系统的空间坐标系下。
3.自由匹配
自由匹配指的是使用先后采集的两份含有重叠区域数据集上所包含的表面结构特征来实现数据集的匹配,所以也被称为特征点匹配。
在该策略下,首先需要在两数据集上粗略指定一个或数个位置大致对应的点,称为点对,如图3-9所示。随后,COMET系统将会启动自动的曲面拼接进程,以其中的一个数据集为参考将另一个数据集调整到准确的位置。
图3-9 自由匹配示意图
该策略特别适用于曲面结构特征丰富的小型工件,也可以作为前面两种策略的补充方案使用。
在实际测量过程中,操作者可以根据具体情况交互使用上述测量方法以达到最佳效果。
3.2.3 COMET测量系统的操作流程及方法
COMET测理系统的操作流程因采用不同的拼接方法而有所不同,各种测量方法适用于不同的被测对象,针对一般对象的操作流程如图3-10所示。
图3-10 COMET测量系统流程图
(1)着色处理。如果被扫描的模型表面反射光的能力较弱,则无法正常进行扫描,但可以通过喷施显像剂来增强模型表面的反射,使CCD较好地工作。显像剂的喷施以均匀且尽量薄为宜。
(2)分析将要采用的测量策略并进行相应处理。首先看被测对象的外观尺寸、表面特征,如果尺寸较大或是表面特征不明显,则应贴标记点,采用参考点转换的测量策略。如果尺寸适中且特征明显,采用自由匹配即可,因为各种拼接方法的精度主要由被测对象的表面特征及尺寸决定。当然也可混合应用以上几种测量策略,提高效率及精度。
(3)启动软硬件,调整测量角度及距离,设置各种参数。打开硬件电源及COMET Plus6.5,根据显示效果调整测量角度及距离,设置曝光度、亮度,使视图既不泛红也不泛蓝,并且测距用的两红点尽量集中,并在“Quality settings”栏中单击“Test Quality”,初步检测测量质量,可调整“Test Quality”中的值,使杂点少且数据尽量完整。
(4)开始扫描并进行相应数据处理。单击“Digitizing”开始扫描,扫描结束后即可在“3D-viwer”中查看扫描的结果,如贴有标志参考点,则系统会自动识别并给出相应坐标,也可手动选取并编号。可以用相同的步骤执行多次扫描或者每次扫描后都与上一次扫描结果用相应的拼接方式进行拼接,最终将得到被测物体的完整表面数据。
(5)最终数据处理并输出数据。数据处理主要在菜单“Edit”下进行,如可以进行优化点云数据、删除杂点、三角网格处理、点云自动预处理、全局优化拼接、撤销上一步等,数据输出则在菜单“File”进行,可以用“*.cdb“格式保存当前任务,或用*.LST格式保存参考点信息,也可以用其他通用数据格式进行测量数据的输出,如*.AC、*.IGS、*.STL、*.VDA、*.TXT等格式。
3.3 光栅投影扫描测量实训范例
此实例的被测对象为一辆玩具汽车的外表面,表面呈红色,细节特征较为明显。初步选择自由匹配拼接的测量策略,这样也可达到较好的测量精度,所以暂不需要贴任何标记点,只需要喷显像剂即可。
(1)此玩具汽车表面为红色,不利于光的反射,对模型喷射显像剂,使模型表面呈白色,如图3-11所示。
图3-11 喷射显像剂
(2)打开系统COMET Plus 6.5软件。
(3)开启扫描仪设备,在“3D-Viewer”视图中可看到有两束光源射在模型上,调节测量头和模型之间的距离及角度,使之达到较好的测量方位,并使两个亮点的距离尽量靠近(如图3-12所示)。
图3-12 3D-viewer视图
(4)根据模型的大小,利用“standard”、“zoom”等焦距设置命令来调节视野的大小,使得物体在屏幕窗口上能够大范围显示出来。
(5)单击工具栏上的“Settings”命令,出现设置窗口。调节右边的曝光度(Exposure time)、亮度(Brightness)等设置,使视图质量较好,不出现泛红或者泛蓝,然后单击“test quality”命令进行质量预检测。设置好了以后按“OK”按钮完成设置。
(6)单击数字化“Digitize”按钮,开始数字化扫描并得到如图3-13所示的点云数据。
图3-13 获得点云数据
(7)改变测量角度后,重复以上步骤,得到第二个点云据,如图3-14所示。
图3-14 获得不同测量角度的点云数据
(8)拼接。此模型较小且外部特征非常明显,所以采用的是自由特征拼接。先确定工具栏中的测量策略,选择的是“Free Surface Matching”,再单击工具栏中的“Matching”命令,即得到如图3-15所示的点云拼接界面。
图3-15 点云拼接界面
针对不同的点云数据情况,可先进行拼接设置,单击“Start matching”右边的 设置命令,出现图3-16所示的对话框。
图3-16 “拼接设置”对话框
“Subsampling for pointclouds in”是指对点云采样的设置,主要影响拼接时需要的额外内存情况,但也影响算法执行的时间,通常设为2~4之间的一个数。“Maximun search distance in”是指点云和点云拼接时寻找的最大距离,一般选择数为1~20,更大的值只能在拼接情况非常不理想的情况下选择。“Maximun number of iterations”是指系统自动执行拼接算法的最大次数。“Maximun allowed convergence”是指在拼接时,如果有一片点云移动距离超过此设定值,那么拼接算法将再次执行,直到所有点云移动距离都不超过设定值或算法执行次数达到上限,所有参数如图3-16设置即可。
设置好后,单击“OK”按钮返回点云拼接界面,先在左边视图中选择特征明显部位的点,然后以相同的顺序在右边选择相应部位的点,如图3-17所示。
图3-17 指定特征部位的对应点
需要注意的是选择对应点时应在点云上尽量分布广而且一定要是特征非常明显的部位,虽然系统不是以它们作为精确的拼接基点,但它确实影响拼接质量,可以在右边的“Prealignment”栏目中看到初选对应点后的点云的偏差情况,如图3-18所示。
图3-18 选对应点后的预调整数据
一般选3~5对对应点即可,如图3-19所示,箭头所指的是所选择的特征部位点。对应点选择完成后,单击“Start matching”命令,系统即可自行拼接,为了达到较好的效果,可多次执行“Matching”命令,直至“Avg.deviation”和“Standard deviation”中的值达到最小,如图3-20所示。
图3-19 点云拼接设置界面(已选对应点)
图3-20 点云拼接界面(拼接结果)
在图3-21“Matching”栏中可看到拼接的结果,“Iteration”代表系统自动执行拼接算法的次数,“Convergence”代表收敛值,“Avg.deviation”和“Std.deviation”分别代表拼接后的平均偏差和标准差,然后单击“OK”按钮即可完成此次拼接。点云拼接后的结果如图3-22所示。
图3-21 拼接结果数据
图3-22 点云拼接结果
(9)不断重复以上的扫描和拼接步骤,直至得到完整点云数据,如图3-23所示。
图3-23 整体点云数据
(10)删除杂点。即通过单击“Edit”栏中的“Interactive clipping”命令,删除一些明显非要求的杂点数据。
(11)单击“Group matching”进行全局的拼接优化,如图3-24所示,使整体的拼接偏差值达到合理。
图3-24 全局的拼接优化窗口
同样设置好拼接参数后,单击“Start matching”,系统自动进行全局的拼接优化,图3-24中的颜色代表偏差大小,颜色越鲜艳偏差越大,图3-25即是拼接后的结果图,在右边可看到拼接后的各数据情况,单击“OK”按钮完成整体拼接优化,结果如图3-26所示。
图3-25 全局的拼接优化结果
图3-26 全局拼接优化后得到的点云数据
(12)单击“Edit”进入到“Automatic postprocessing”,得到如图3-27所示的对话框,它是对整体点云数据进行优化后处理,包括对标记点部位的优化、点云数据的合并和网格化操作,只要设置好参数后,系统自动运行,并不需要人工的干预。
图3-27 “数据预处理”对话框
如果扫描时贴有标记点,则在对话框中选中“Optimize markers”,系统会自动对这些缺失的数据进行优化,在本例中不需选择。“Mesh calculation”栏中各参数代表各自处理后的数据和原数据所允许的最大偏差值,“Tolerable error for predecimation in mm”中的数值需单击其右边的分析命令才能确定,因为它确定的是各分片点云网格化后要合并到整体网格面所需要预精简的参数。单击其右边的 命令图标,出现如图3-28所示的窗口。切换到合适的视角后,再按一下空格键,即可用多边形在点云上选择一小块点云数据进行分析,应尽量选在点云重叠的部位,同时若选太多,会占很多内存。单击“Start data analysis”开始进行分析。分析完毕后,Recommended value值会出现在右下角。单击“OK”按钮返回到图3-26所示的对话框,Recommended value值也会自动赋给“Tolerable error for predecimation in mm”。“smoothing”和“decimation”分别是代表整体网格面的光滑和精简。若噪点较多,数值应设置大一些,此处默认即可。
图3-28 数据预精简对话框
设置后,单击“Execute”命令开始执行优化处理,即可得到最终扫描结果,如图3-29所示。
图3-29 完整点云数据
(13)最后以“.STL”或“.ASC”等格式输出点云数据,完成对玩具汽车外形的数字化扫描。