畸变像差校正技术(畸变相位补偿)发展现状及其仿真实验研究-技术汇总-Matlab代码

一、引言

数字全息显微成像测量中,通过各种不同算法可以从采集的全息图中提取待测物的相位,然后可以由相位信息转化为感兴趣的待测物面形高度、折射率分布等三维信息,实现定量的三维信息显微测量。但在实际应用中,无法直接将相位重建算法中提取的相位信息转化为待测物理量,因为此时的相位信息中包含相位像差。相位像差的存在将导致相位测量的误差,无法实现准确的定量测量。尤其在数字全息显微成像测量中,被测样品尺寸通常很小,其相位分布图的波动程度可能远小于相位像差,发生测量样品相位完全淹没在相位像差中而无法观察量样品的情况。

数字全息显微成像技术通过在光路中引入显微物镜极大地提高了分辨能力,但显微物镜的加入将带来实验测量装置装调方面要求的提高。当物光光路和参考光光路的显微物镜的位置没有完全匹配时,所引入的不同离焦量便产生了离焦像差,其影响为在理想待测物的相位中增加了一个突起或者凹陷的近似球面或者双曲面的相位。

对于采用傅里叶变换频域滤波方法进行相位重建的离轴的马赫一曾德尔干涉光路,离轴角度的引入使得原始像和0级衍射像以及共轭像分离,可以轻易地从频谱中进行滤波取出+1级频谱以消除0级衍射像和共轭像的影响,但也引入了倾斜像差。傅里叶变换频域滤波方法中的移动+1级频谱分量这一步骤就是为了消除倾斜像差对相位重建结果的影响,并且其过程也消除了绝大部分倾斜像差。然而,+1级频谱分量的中心难以准确定义,且数字全息图是离散化存储的,其傅里叶变换后的频谱是同样的离散数据。受限于离散化、像素化的频谱数据,移频量总是一个整数,因此难以保证+1级频谱分量的中心正好与某一个像素点的中心完全重合,即无法保证移频后刚好消除所有倾斜像差。所以采用傅里叶变换频域滤波方法从离轴全息图中提取的相位通常会存在残余的倾斜像差,其影响为在理想待测物的相位中増加了一个斜面的相位。

离焦像差和倾斜像差是数字全息显微成像测量中最常见的主要像差来源,但由于测量中光学元件的失调、光学元件缺陷误差、测量环境的扰动等因素,也存在其它像差分量,如像散、场曲、畸变等各种低阶和高阶像差。为了消除相位像差对测量结果的影响,研究者们已经提出的许多像差补偿和校正的方法,基于其实现方式的不同,可以分为物理方法和数值方法两类[1]。

二、物理方法

像差校正的物理方法是指通过硬件设施实现像差校正的方法,校正过程主要是对实验光路的调整或者优化。其中比较典型的可以分为二次曝光法、位置可调镜头法、共光路干涉法、远心结构配置法等。

二次曝光法的基本思想是通过一次额外的测量直接获得系统的相位误差,并用它补偿待测物的相位测量结果。在保持测试光路不变的条件下,分别记录有待测物和无待测物时的两幅全息图,一幅全息图记录下了包含待测物相位和系统相位像差的全息图样另一幅图全息图记录下了仅系统相位像差的全息图样,此处的系统相位像差指的是包含倾斜、离焦、光学元件缺陷等所有静态误差的综合影响所导致的像差。对两幅全息图进行相同的相位重建处理并进行相位相减,最终得到两次测量的相位差变化,即待测物的相位信息。但是这种方法对系统的稳定性要求很高,必须保证在两次测量之间不会产生新的扰动和像差,这样两次测量得到的相位差异仅由放入的待测物相位引起,理论上将可以消除所有种类像差的影响。虽然实际测量中无法保证系统的绝对稳定性,但在扰动比较小的情况下,此方法仍有比较好的像差补偿校正结果,而且原理和操作相对比较简单,无需复杂的数学运算,因此使用比较广泛。

2.1 基于二次曝光法的畸变像差补偿仿真实验验证

为了便于理解,本博文开展了基于二次曝光法的畸变像差补偿仿真实验,结果如图1所示。被测物体为分辨率板,图1(a)给出了被系统畸变像差干扰的待测物体相位。二次曝光法,分别获取有待测物和无待测物时的两幅全息图,如图1(b)与图1( c) 所示。采用傅里叶频谱滤波法,分别得到系统畸变相位以及受干扰的相位,如图1(e)与图1(f)所示。可以同时对其进行解包裹,然后相减,即可获得去除畸变像差后的待测物体相位信息,如图1(g)与图1(h)所示

在这里插入图片描述

图1 基于二次曝光法的畸变像差补偿仿真实验验证

上述作图技巧可参考博文:

Matlab图窗可视化的SCI批量化图片处理技术细节-提高作图效率-第1期 | 点击此链接即可跳转

三、数值方法

像差校正的数值方法是指通过数值算法来补偿像差实现校正的方法,校正过程主要是通过特定算法获得一个模拟的像差波前,并从包含像差的测量相位中减去此模拟像差以获得真实物体相位。数字全息显微成像中像差补偿的物理方法大多数需要较高的环境稳定性、较好的光学元件质量和非常严格的装调精度,总体上是复杂而昂贵的,而且难以校正所有种类的像差分量,因此,数值校正方法越来越受到重视。数值方法中比较典型的可以分为频谱分析法、亚像素平移法、主成分分析法、多项式拟合的方法和基于深度学习的方法等。

3.1 基于主成分分析法的畸变像差补偿仿真实验验证

主成分分析法的基本思想是将相位图分解为一组被称为主成分的不相关变量的值,然后从获得的第一个主成分中分离提取像差项,从而对全息图提取相位中的像差进行礼偿实现像差校正。基于主成分分析法的像差补偿校正方法的主要优势,在于其低计算复杂度、出色的补偿效果、全自动、并且不需要任何关于测试对象和实验设置的先验知识。但是此类方法仍然存在局限性,即算法适用的基础在于像差占主导地位且可以用主成分分析算法分离,否则会影响补偿校正结果。

本文开展了基于主成分分析法的畸变像差补偿仿真实验,实验结果如下图所示。图2(e)为解调出的受畸变像差影响的包裹相位,根据主成分分析法拟合出的畸变相位如图2(f)所示。最后,去除畸变后的相位信息如图2(g)与图2(h)所示。

在这里插入图片描述

图2 基于主成分分析法的畸变像差补偿仿真实验结果

3.2 基于标准多项式拟合法的畸变像差校正仿真实验验证

多项式拟合的方法的基本思想是通过对全息图的相位进行计算拟合,得到一个由组系数和对应公式表达的模拟像差相位掩模,然后从全息图中提取的包含像差的原始相位中减去这个像差相位掩模,实现像差的补偿。常用的有标准多项式拟合、抛物线函数拟合、基于最小二乘法的球面函数拟合、泽尼克(Zernike)多项式拟合、切比雪夫(Chebyshev)多项式拟合等,其中Zernike多项式、Chebyshev多项式因为其在表征像差方面的优越性,可以进行高阶像差的拟合和补偿。基于多项式拟合的方法对像差的补偿校正效果比较好,但普遍存在计算复杂度高的问题,尤其是对高阶的、复杂的像差的拟合。

本文同样开展了基于标准多项式拟合法的畸变像差校正仿真实验,实验结果如图3所示,图3©给出了受畸变像差干扰的包裹相位信息,对其进行解包裹,结果如图3(d)所示,通过多项式拟合出的畸变相位,如图3(e)所示,两者直接相减,得到去除畸变像差后的相位如图3(f)与图3(g)所示。

在这里插入图片描述

图3 基于标准多项式拟合法的畸变像差校正仿真实验结果

3.3 基于最小二乘拟合法的畸变像差校正仿真实验验证

开展了基于最小二乘拟合法的畸变像差校正仿真实验,实验结果如图4所示,图4©给出了根据干涉图解调出的受畸变像差干扰的包裹相位信息。根据最小二乘法拟合出的基本相位如图4(d)所示,最后,去除畸变像差后的相位如图4(e)与(f)所示。

在这里插入图片描述

图4 基于最小二乘拟合法的畸变像差校正仿真实验结果

3.4 基于泽尼克多项式(Zernike)拟合法的畸变像差校正仿真实验验证

随后,本博文开展了基于泽尼克多项式(Zernike)拟合法的畸变像差校正仿真实验验证,被测物体同样是分辨率板,加入与上文相同的基本像差,仿真得到的干涉条纹图,如下图5 (a)所示,采用傅里叶频谱滤波法,得到物体的相位信息,如图5 ©所示。并对其进行解包裹,解包裹后的相位如图5 (d)所示。将其进行Zernike多项式分解,分解到的系数如下图5 (e)所示。最后,根据系数即可拟合出系统畸变相位信息,如图5 (f)所示。两者相减,即可得到去除系统畸变像差的相位信息,如图5 (g)所示。

在这里插入图片描述

图5 基于泽尼克多项式(Zernike)拟合法的畸变像差校正结果

四、参考文献

[1] 何伟林. 全息显微成像中像差校正算法与技术研究 [D]; 山东大学, 2022.

五、Matlab程序获取

博主可提供相关专业的程序指导实验指导程序开发等。

具体需求私信博主,联系方式见博文底部。


⭐️◎⭐️◎⭐️◎⭐️ · · · **博 主 简 介** · · · ⭐️◎⭐️◎⭐️◎⭐️

▁▂▃▅▆▇ 博士研究生生 ,研究方向主要涉及定量相位成像领域,具体包括干涉相位成像技术(如**全息干涉☑**、散斑干涉☑等)、非干涉法相位成像技术(如波前传感技术☑相位恢复技术☑)、此外,还对各种相位解包裹算法☑相干噪声去除算法☑等开展过深入的研究。


  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在MATLAB中进行3-5阶Zernike多项式畸变仿真,你可以使用光学工具箱(Optics Toolbox)和Zernike多项式函数。下面是一个简单的示例代码,演示如何在MATLAB中进行3-5阶Zernike多项式畸变仿真: ```matlab % 导入光学工具箱 import matlab.optics.* % 定义系统参数 wavelength = 0.5; % 光波长(单位:微米) aperture_diameter = 1; % 光圈直径(单位:毫米) focal_length = 10; % 焦距(单位:毫米) % 创建光线传播对象 optSystem = opticalSystem; optSystem.SystemAperture = aperture('shape','circular','radius',aperture_diameter/2); % 光圈形状和大小 optSystem.ObjectDistance = Inf; % 物距无穷远(平行光入射) optSystem.ImageDistance = focal_length; % 成像距离等于焦距 optSystem.Wavelength = wavelength; % 设置光波长 % 添加Zernike多项式畸变 zernike_coefficients = [0.1, 0.2, 0.3, 0.4, 0.5]; % Zernike系数 zernike_modes = {'piston', 'tilt x', 'tilt y', 'defocus', 'astigmatism'}; % Zernike模态名称 for i = 1:numel(zernike_modes) optSystem.Surface{i}.Glass = glass('BK7'); % 使用BK7玻璃 optSystem.Surface{i}.Radius = focal_length; % 曲率半径等于焦距 optSystem.Surface{i}.Shape = zernikeMode(zernike_modes{i}, zernike_coefficients(i)); % 使用Zernike模态和对应系数 end % 计算波前畸变 wavefront = computeWavefront(optSystem); % 可视化波前畸变 figure; show(wavefront); % 显示像图 figure; show(wavefront,'WavefrontPhase'); % 显示畸变后的光斑 figure; show(wavefront,'SpotDiagram'); % 显示畸变前后的光斑对比 figure; show(wavefront,'SpotDiagram','comparison'); ``` 上述代码首先导入光学工具箱,并定义了系统的参数,包括光波长、光圈直径和焦距。然后创建了光线传播对象,并设置光圈形状、物距和成像距离等参数。接着添加了Zernike多项式畸变,使用了3-5阶的Zernike系数和对应的Zernike模态名称。最后计算波前畸变并可视化结果,包括波前畸变图、像图和光斑图。 你可以根据需要调整Zernike系数和模态名称,以及进一步分析和可视化波前畸变效应。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单光学

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值