纯相位全息图优化算法综述
◀ 背景引入 ▶
近年来,得益于光学、电子和计算机等各项技术的进步以及新算法的不断提出,计算全息技术飞速发展。由于现有液晶空间光调制器对于纯相位全息图具有更高的调制能力与衍射效率,纯相位全息图优化算法一直以来都是研究热点。目前,各种传统方法可以满足不同的计算耗时与重建质量要求,而深度学习、维尔丁格流等新方法为纯相位全息图优化带来了新的思路,这些工作都有利于实时、广视场、高质量全息三维显示的早日实现。不同于传统的全息成像技术,在计算机生成全息图领域,液晶空间光调制器带来了对波前信息前所未有的灵活控制能力,为计算全息的发展提供了很大的发展空间与动力。
过去的几十年间,计算机生成纯相位全息图算法层出不穷,其核心就是纯相位全息图优化问题: 给定一个复振幅全息图(Complex-Amplitude Hologram),将其编码成为一个纯相位全息图(Phase-Only Hologram),使得用该纯相位全息图进行光学重建所得到的图像要尽可能还原原始图像。这些方法主要分为3类:迭代方法、非迭代方法与其他方法。迭代算法通常由一个对目标全息图的近似出发,经过一系列的重复操作不断优化这个近似全息图,直到该近似所得到的重建图像满足一定的误差要求;非迭代算法不需要重复的大量优化计算, 会根据指定步骤一次性给出近似解。由于较低的计算负荷,非迭代算法更符合实时全息显示的要求,而代价是这类方法的重建质量不如迭代算法;其他方法种类繁多,各有特点。
◀ 纯相位全息图生成算法介绍 ▶
迭代性算法:Gerchberg-Saxton算法
可以生成纯相位全息图的迭代算法中,迭代傅立叶变换算法 (IterativeFourier Transform Algorithm)是一种比较具有代表性的算法,该类算法的特点是通过傅立叶变换在两个平面中的反复传递。
图1 计算机生成全息成像术流程图
迭代傅立叶变换算法,或称误差减少算法(Error Reduction Algorithm)在20世纪70年代早期被作为数字全息的一种算法而提出, 后来被 Gerchberg与 Saxton修改并运用在相位提取领域,成为了迭代算法中最著名也可能是被运用最多的方法—Gerchberg-Saxton(GS)算法,其算法流程图如图2。
图2 Gerchberg-Saxton算法流程图
该算法中,根据全息图平面与重建图像平面的振幅分布,通过迭代进行正逆向的光波传递以及施加在两个平面上的限制条件, 进而求得全息图平面中光场的相位信息。该方法在计算纯相位全息图场景中十分适用,可以使用菲涅尔变换或者傅立叶变换来进行光场传播的计算。
迭代性算法:误差扩散算法
误差扩散算法(Error Diffusion Method)是另一种类型的迭代算法,该算法会在全息图平面的各个像素之间迭代。当复振幅全息图的振幅信息被直接移除时,每个像素点都会产生误差,而误差扩散算法将逐个扫描像素点,并将每个像素点的误差按照一定权重向尚未扫描到的四个相邻像素点扩散。
图3 误差扩散算法示意图;(a) 误差从左向右扫描扩散;(b)误差与从右向左扫描的扩散。
◀ 非迭代性算法 ▶
随机相位方法在全息图纯相位化的过程中是一种常用的非迭代方法。由于纯相位全息编码相当于高频滤波过程,重建图像只包括原始图像的边界与线条部分,因此需要引入随机相位掩膜(Random Phase Mask)使原始图像的波前分散至整幅全息图以提高重建质量,然而随之而来的斑点噪声也较明显。为了减少这种斑点噪声,近期有一种改进的随机相位方法,该方法会针对不同的图像,引入具有不同频率的随机相位掩膜以进一步减少信息损失和提高重建质量。除此之外,还有许多用于减少斑点噪声的非迭代方法,例如:采用下采样掩膜的采样纯相位全息图(Sampled-Phase-only Hologram)方法、模式化相位掩膜(Patterned Phase-Only Hologram)方法、双相位方法(Double-Phase Method),以及使用非随机相位掩膜的方法(Random Phase-Free Method)等。
图4 随机相位对纯相位全息图重建结果作用示例;(a) 原始图像;(b)未添加随机相位掩膜;(c)添加随机相位掩膜。
◀ 其他方法 ▶
除了迭代算法与非迭代算法,有一种直接算法可以用于计算纯相位全息图。假设纯相位全息图有M×N个像素,每个像素点的相位值有Q种可能取值,则纯相位全息图生成问题的搜索空间为M×N×Q,目标是找到重建图像与原始图像误差最小的全息图所有像素值。直接算法主要有三类:直接搜索算法(Direct Search Algorithm)、模拟退火算法(Simulated Annealing Algorithm)以及遗传算法(Genetic Algorithm)。
图5 三种直接算法的比较
除以上介绍的算法外,论文中还介绍了近年来被提出的一系列算法,例如:介于迭代算法与非迭代算法两种分类之间的纯相位全息图生成算法,该方法能够节省大量计算时间,同时保持着较高的重建准确度,适合全息动态实时显示等应用;以及近年来快速发展的深度学习方法也被用于全息图压缩以及生成,在循环中,CITL技术直接捕捉到全息图的光学重建结果,并且将该结果用于对全息图的进一步优化,并能够取得较高的重建质量;还有由Chakravarthy等人提出的基于维尔丁格流(Wirtinger Flow)的相位提取方法可以将相位提取问题转化为可用一阶优化算法(First-Order Optimization Method)进行优化的二次问题(Quadratic Problem)。运用该相位提取方法进行全息图优化可以使重建质量达到极高的准确度,而计算成本则仅与GS算法相当。
目前,传统的迭代与非迭代的纯相位全息图优化算法都已经取得了不错的效果,但需要在计算耗时与重建质量间做出取舍,深度学习、维尔丁格流等新方法的不断出现为解决这一问题带来了新的思路,这些工作都有利于实时、广视场、高质量全息三维显示的早日实现。