1. 引言
随着工业和科技的迅猛发展,光学三维测量技术因其无接触、测量误差小、测量速度快、自动化程度高等突出特点在工业检测、三维建模、生物医学、逆向工程和机器视觉等领域得到广泛应用[1]-[5]。作为光学三维测量技术中测量精度较高的方法之一,相位测量轮廓术受到国内外研究者的关注。但从理论上,学生很难理解其实验原理,又因为实验仪器精密,调节起来费时费力,难以深入观察实验现象。MATLAB具有强大的数据处理和可视化仿真能力,可以使实验结果可视化,更加清晰直观。本文借助MATLAB强大的可视化界面开发环境(GUI),将相位测量轮廓术编写应用程序,生成M文件。设计的GUI用户界面,可以方便的对相位测量轮廓术进行可视化仿真测量和误差分析,为后续光学三维测量的实验教学和实验操作提供了新的途径[6]。
2. 测量原理
基于光栅投影的相位轮廓测量方法,通过投射周期性光栅到被测物体上,并采集投影到物体上的变形光栅图像,利用相移算法解析出相位信息,进而通过相位、高度之间的映射关系恢复出被测物体上的三维形貌。
成像系统获得的变形光栅图像强度图(即测量系统原理图)如图1所示,图中标明了投影光轴和成像光轴之间的水平距离为d,成像系统光心到参考平面的距离为L这两个参数,它们决定了相位与高度转换的几何约束关系。当正弦光栅投射到待测漫反射表面时,采集到的变形光栅条纹为
(1)
Figure 1. Measurement system schematic
图1. 测量系统原理图
式中,
表示表面的反射率,
表示背景的光强,
表示条纹的对比度,而
是有高度信息的相位分布,其变形程度与物体表面高度
直接相关。
采用四步相移法计算相位
,依次投射的相移量为
的正弦光栅[7],采集4幅变形图像:
(2)
(3)
(4)
(5)
由(2)~(5)式,可以计算出相位函数:
(6)
受反正切函数值主值的影响,直接计算的相位会存在相位截断,需要通过相位展开算法恢复连续的相位分布,当前相位展开算法包括离焦度解包裹[4]、区域生长法等,本文采用经典展开方法以保证仿真稳定性。结合相位
与物体表面高度
之间三角映射关系[3]计算出高度h可表示为:
(7)
四步相移法在连续表面重建中表现出色,但其应对复杂不连续表面(如台阶、断层)的能力有限,往往需要与其他技术结合使用。该方法的核心优势在于,通过多帧图像的平均效应,能有效抑制随机噪声,因此其相位计算结果比步数更少的方法精度更高、也更稳健。然而,这种稳健性并非没有边界。当噪声强度过大,例如超过了条纹本身的对比度时,就会严重干扰相位求解公式中的核心计算部分(分子/分母),最终导致相位误差显著增大甚至产生错误的跳变。
3. MATLAB的APP Designer设计与仿真
在相位轮廓分析技术的MATLAB仿真环境中,为提升操作效率与结果呈现效果,我们引入了图形化应用设计工具gui设计。该工具基于MATLAB平台的可视化开发环境,通过组件化布局方式构建了交互式操作系统。这一改进使得三维面形测量的仿真过程实现了可视化管控,使观察人员可通过直观的界面元素直接操控仿真参数,并且实时观测相位解析结果。这种图形化交互模式的建立,不仅优化了传统代码命令行操作流程,更通过可视化组件实现了测量数据的动态展示,显著提升了科研工作的效率与质量。
3.1. 框架设计
打开MATLAB找到APP Designer设计的界面,进入脚本编辑器,先大概设计出4个对象,左上方为模型物体三维图形,左下方为恢复物体三维图形,右上方为变形条纹图,右下为误差分析图。5个可调节参数的文本框,条纹密度,系统参数L和d,噪声水平;5个静态文本标签用来标注控件,以及控制运行的2个按钮:开始仿真和结束仿真。
运用一套完整的程序,分别显示出4个对象,运行完程序后,点击开始仿真按钮,依次显示出图像。
在设计中,我们加入了滑动条,既可以根据修改程序来改变图形条纹和误差的变化,也可以根据拖动滑动条来实时观测图片条纹和误差的变化,使实验现象更加直观明了,仿真界面如图2所示。
Figure 2. Simulation interface
图2. 仿真界面图
在系统初始化阶段,程序参数设计如下:系统参数L初始值设定为1800厘米,它定义了相机光学中心到参考平面的距离;系统参数d初始值设定为500厘米,这代表了相机与投影仪之间的关键空间距离;将条纹频率f设定为0.08,该参数控制了所投射正弦光栅的疏密程度;同时,引入一个强度为0.01的噪声项,用以模拟真实成像环境中不可避免的随机干扰。这些值可以通过图形用户界面(GUI)的滑动条进行控制,进一步增强系统的直观性。
在界面设计逻辑上,我们遵循了“控制与反馈实时同步”的人机交互原则。具体操作是程序将上述默认值赋予四个滑动条,并主动将其关联的四个数值显示编辑框的内容初始化为“0”。此设计有利于程序启动瞬间保持界面状态的一致性。当用户随后操作任何一个滑动条时,其对应的编辑框能即时显示该滑动条的当前精确数值。这种初始化归零操作,为后续流畅的交互体验奠定了基础,使得整个参数调整过程对用户而言是透明且可预测的。
3.2. 仿真平台的使用
完成程序代码编写以后,首先点击“开始仿真”按钮进行三维测量的仿真,其仿真界面如图3所示,右上方是变形条纹图,本文恢复物体采用的是相移法恢复被测物体的相位分布,左下方是恢复物体的三维形貌,右下方是本文采用方法的误差分布。本文仿真系统预留了算法扩展接口以适配不同需求。比如可以扩展相位求解算法,采用傅里叶变换的方法[8]、小波算法[9]、差频法[10]、调制度法[11]等方法提取相位分布恢复物体三维形貌。
在模拟仿真运行的过程中,我们可以调整参数,在调整参数的过程中会导致存在误差,重建结果分析:真实高度范围:−0.32~0.4 cm,重建高度范围:−0.32~0.4 cm,平均绝对误差:0.037 mm,均方根误差:0.046 mm,最大误差:0.0178 mm。界面初始化时,显示四个空白区域,接着依次出现图形,第5秒命令窗口显示数值分析结果。
我们将条纹频率由2.9增大到3.5 (如图4所示)。比较图3和图4,我们可以看出,增大条纹频率对恢复物体的精度上影响不大。
Figure 3. Simulation operation interface
图3. 仿真运行界面图
Figure 4. Stripe frequency-altered simulation operation interface
图4. 条纹频率改变后的仿真运行界面图
我们在条纹强度上将噪声由0.05减小到0.03 (如图5所示),对比图3和图5可以明显看到,误差的精度有明显的提升,由此可以判断出,恢复物体的精度与噪声有很大的关系,即随着噪声的减小,它的精度逐渐升高。由此我们想到不同的噪声对它的精度影响有可能也是不一样的,后面我们会更换不同的噪声(如高斯噪声和椒盐噪声)对恢复物体的精度进行仿真模拟。
Figure 5. Stripe intensity noise-varied simulation operation interface
图5. 条纹强度的噪声改变后的仿真运行界面图
4. 结论
本研究基于相位测量轮廓术开发了一个交互式的仿真实验系统,以传统的四步相移算法,实现了曲面物体高精度形貌重建,此外,交互界面上可根据实际情况动态调节系统参数值,看到不同的参数情况下的测量结果,直观地分析出不同参数对重建精度以及误差分布情况的影响,可用于光学三维测量实验的研究和学习。本研究所开发的仿真实验系统也可以进行简单的镜头畸变模型的分析,可先对生成的理想条纹图施加畸变,再进行相位提取与三维重建,对比有无畸变模型时的重建误差,从而明确畸变校正对相位测量轮廓术精度提升的必要性,为实际系统的标定与优化提供理论支撑。
基金项目
淮阴师范学院大学生实践创新训练计划项目(202417010XJ),江苏省高等学校大学生实践创新训练计划项目(X202510323092)。