王帅,陈波,程朋飞,王静

(华北理工大学 电气工程学院,河北 唐山 063210)

0 引言

在数字全息成像[1]、光学干涉测量[2]等场合,当测量光程差大于一个波长时,利用反正切函数数值计算得到的相位值在[-π,π]之间,形成包裹相位。为了得到真实相位分布,需要采用各种算法对包裹相位进行解包裹处理[3-4]。目前常用的数值解包裹算法有路径跟踪法、最小Lp范数法和网络流算法,各种类型的算法有其优缺点。枝切法[5-6]是一种典型的路径跟踪法,运行速度快,但是当噪声等干扰因素较大时,存在无法解缠的“孤立区域”和误差的大面积传递问题。最小二乘法[7-9]是最小Lp范数法中最为常用的一种,对高质量的相位图有很好的解包裹效果,基于离散余弦变换的最小二乘法运算速度较快,但当相位图质量较差时解包裹的精度不高。Costantini网络流算法[10-11]将相位展开问题转化为求解整数变量的全局极小值问题,具有较高的精度,但是解包裹速度较慢。近年来,以深度学习[12]为代表的人工智能技术在各个领域得到关注和应用,卷积神经网络(Convolutional Neural Network,CNN)[13-18]是目前深度学习技术领域中非常具有代表性的神经网络之一,在图像分析和处理领域取得了众多突破性的进展。为此本文通过数值仿真方法研究了基于卷积神经网络的相位解包裹方法。相比于传统的数值解包裹方法,经过充分训练的卷积神经网络有望极大程度地提高相位解包裹的速度和精度。

1 方法与模型

1.1 方 法

利用反正切函数计算得到的相位即包裹相位φ(x,y)与真实相位φ(x,y)之间是相差2π的整数倍的关系,可表示为:

相位解包裹过程就是从φ(x,y)获得连续的真实相位的φ(x,y)过程,实质是求解整数k。卷积神经网络相位解包裹的基本思想如图1所示,该网络的输入端为包裹相位图,输出端为与输入对应的解包裹相位图。用已知的输入输出训练集对网络模型参数进行充分训练,训练好的模型便能用于对快速相位解包裹。

图1 卷积神经网络相位解包裹示意图

1.2 模 型

为了验证上述思路的可行性,利用Matlab软件仿真产生大气湍流相位屏,生成训练数据集和测试数据集,搭建CNN模型。

在成像、测量等场合,大气湍流引起的相位扰动普遍存在,为此利用Matlab软件仿真产生大气湍流相位屏来生成数据集。利用Harding的方法产生大气湍流波前畸变,采样点数为64×64,湍流外尺度为100 m,内尺度为0.01 m,D r0=20,随机生成多帧相位屏。对相位屏数据φ(x,y)除以2π取余数得到对应的包裹相位数据φ(x,y)。一帧相位屏数据φ(x,y)和对应的包裹相位数据φ(x,y)如图2所示。

图2 一帧相位屏数据和对应的包裹相位数据

选用的卷积神经网络模型如图3所示,在该网络的输入端输入包裹相位图,输出端输出与之对应的解包裹相位图。用已知的输入输出对网络模型参数进行训练,训练好的模型便能实现相位的解包裹。为了对比出最优的网络模型,不断改变卷积层和池化层,选择训练了不同深度的四种CNN网络模型用于对比,如图4所示。四种模型均由卷积层、池化层、全连接层组成。对于卷积层,均采用(3,3)大小的卷积核,移动步幅为(1,1),不断提取图像特征,并且全选用ReLU作为网络激活函数。不同的是过滤器数目以及网络模型的层数,模型1采用2个32大小的过滤器;模型2采用3个大小分别为16、32、32的过滤器;模型3采用4个大小分别为32、32、64、128的过滤器;模型4采用5个大小分别为32、32、64、128、256的过滤器。池化层均选用最大池化方法(Max pooling),通过池化降低卷积层输出的特征向量,同时改善输出结果,防止过拟合。最后为了整合经过多次卷积后高度抽象化的图像特征,通过两个全连接层(FC),使用两组4 096个神经元做全连接,神经元通过激活函数进行输出,同样选用ReLU作为激活函数,最终输出解包裹结果。

图3 卷积神经网络模型

图4 模型结构

本文中进行网络模型训练的硬件平台为intel i5-8300H,8 GB RAM,NVIDIA GeForce GTX 1050Ti GPU的工作站,软件为Windows 10操作系统,Python 3.0的编译环境,采用Keras搭建深度学习框架。

2 实验结果与分析

卷积神经网络中的数据集分为训练集和测试集两部分,训练集20 000组,用于对卷积神经网络进行训练,测试集400组,用于对卷积神经网络的性能进行测试。对网络模型进行训练之前,需要对网络模型的层数、激活函数、损失函数、学习率、Batch Size(批大小)以及Epochs(迭代次数)等超参数进行设置。超参数决定着整个模型训练的好坏,直接影响着网络模型的性能以及输出结果。网络模型训练的超参数如表1所示。

表1 卷积网络模型训练参数

利用以上参数进行训练,损失函数采用MSE(均方误差),分别绘制了相对应的train-MSE和test-MSE随循环迭代次数(Epochs)的Loss曲线。当两曲线趋于收敛时的数值基本接近时,可以认定网络模型的训练基本完毕。

四种模型的训练损失函数和测试损失函数的迭代情况如图5所示。可以看出,四种模型的曲线都可以很好地收敛。从测试集中随机选择4组包裹相位图,将真实的相位图与四种模型解包裹得到的相位图进行对比,结果如图6所示。可直观看出,四种模型均可以较好地进行相位解包裹,该结果说明了卷积神经网络用于相位解包裹的可行性和稳定性。

图5 网络模型Loss曲线

图6 模型解包裹测试结果

为了定量对比四种模型的误差,计算了真实相位与模型解包裹结果之差的均方根值。计算得到四种模型的均方根误差均值分别为0.524 1,0.753 6,0.900 6,1.238 9,模型1的均方根最小,表明模型1的解包裹效果要优于其他三种模型。

一般来说,CNN网络随着模型层数的增加,可以提取更多的相位图像的内在特征,从而可以提高训练的准确度,但是大的尺寸也会导致网络梯度消失以及过拟合等问题,使得网络模型准确性下降。结合前面4种模型参数,可以看出,模型2~模型4出现了过拟合问题,因此在实际中需要合理估计模型层数。

3 结语

本文验证了卷积神经网络用于相位解包裹任务的可行性,相比于其他的传统解包裹方法,该方法无需繁琐的过程,可直接通过训练好的网络模型得到去包裹的相位图,大大提高了解包裹的速度以及精度,但是模型参数对相位的解包裹准确性有一定的影响。因此还需要继续研究相关问题,如:如何优化模型参数、如何搭建更加简单的网络来减少运算量等。

注:本文通讯作者为陈波。