2021-05-07日志
关于使用深度学习技术实现相位展开(phase unwrapping)的几篇典型论文
1. PhaseNet: A Deep Convolutional Neural Network for Two-Dimensional Phase Unwrapping
理想情况下,相位展开可以根据相邻像素之间的相位差在每个像素上加或减2π。
然而由于存在严重的噪声、快速变化的相位和相位不连续性,相位展开是一个非常具有挑战性的问题。
本文采用一个基于深度学习的框架来实现相位展开,该框架使用DCNN,被称为“PhaseNet”。在提出的框架中,相位展开被描述为一个语义分割问题。语义分割也被称为“密集预测”和"像素级分类"。
PhaseNet将包裹相位作为输入,将“包裹计数”(即2π的整数倍,在包裹相位的每个像素出加2π的整数倍以恢复原始相位)作为语义标签。
真实相位
Φ
(
x
,
y
)
=
Ψ
(
x
,
y
)
+
2
π
k
(
x
,
y
)
\Phi_{(x,y)} = \Psi_{(x,y)} + 2\pi k_{(x,y)}
Φ(x,y)=Ψ(x,y)+2πk(x,y)
(
x
,
y
)
(x,y)
(x,y)代表一个像素的空间位置,
k
k
k为
2
π
2\pi
2π的整数倍,即“包裹计数”,添加到包裹相位中得到绝对相位。
深度卷积神经网络的地面真值数据可由以下方程获得:
k
(
x
,
y
)
=
r
o
u
n
d
(
Φ
(
x
,
y
)
−
Ψ
(
x
,
y
)
2
π
)
k_{(x,y)}=round\left({\Phi_{(x,y)}-\Psi_{(x,y)} \over 2\pi}\right)
k(x,y)=round(2πΦ(x,y)−Ψ(x,y))
相位展开是一个严重不适定问题,因为两个具有相同形状、大小和位置的区域仍然可以属于不同的类别,这取决于邻域或像素的类别。
尽管全连接神经网络在物体识别和图像分类方面表现出了优越的结果,但是由于可能会丢失空间信息,它们通常不用于语义分割。另一方面。全卷积神经网络可以识别不同类别之间的空间关系。此外,FCN还能接受任意大小的输入并产生相应大小的输出。因此,文章考虑了全卷积的编码器-解码器结构。
解码器的上采样层利用编码器网络对应的最大池化层获得的最大池化指数对低分辨率特征图进行上采样。在解码器网络重用最大池化索引的两个关键优势是:(1)提高了边界的精度(2)减少了允许端到端训练的参数数量。
该解码器层将编码器学习到的低分辨率特征语义投影到像素空间上。解码器网络中的上采样层从编码器对应的最大池化层所接收到的索引上采样其输入特征映射。
当卷积核大小为5x5时,感受野的最佳通道尺寸为128。在最大池化层2、3和上采样层1、2之前引入dropout层,防止过拟合。在编码器的卷积层之后,依次进行ReLU和批处理化(BN)。注意,解码器网络中不存在非线性。最大池化层的窗口大小是2x2,步长为2。通过与1x1x128xN个可训练滤波器进行卷积,降低了最终解码层特征映射的维数。这一结果被Softmax分类器,该分类器独立地分类每个像素。
训练数据集由10000个
训练样本组成,每个样本的大小为256x256x1。包裹相位作为DCNN的输入(通过移动值将最小值设为零)。训练数据集中的包裹计数在-15和15之间变化(即-90到90弧度)构成了一个31分类问题。
2.Label enhanced and patch based deep learning for phase retrieval from single frame fringe pattern in fringe projection 3D measurement
在条纹投影三维测量中,使用基于标签增强和图像块的深度学习技术从单帧条纹图中恢复相位
基于前馈去噪神经网络(DnCNN)提出了新的恢复相位的方法,以解决相位恢复中的噪声问题和训练样本问题。该方法将条纹图和增强条纹部分作为DNN训练数据的输入数据和输出标记数据,学习他们之间的映射关系,实现数据驱动的相位恢复。该方法需要更少的样本,因为可以将原始样本裁剪成更多重叠的小块来扩展样本。
(1)提出在训练阶段使用去噪和增强的条纹部分作为标记数据。这样DNN网络可以从带噪声的条纹图中学习去噪和增强的条纹部分,从而可以同时实现条纹部分的提取和增强,在相位恢复中不需要进行滤波预处理或后处理。对于模拟数据,输出标记数据提前已知。然而对于真正的条纹图案,标签数据是不完全知道的。因此,使用相依和Shearlet变换滤波方法来产生增强的标签数据。(2)提出了patch(图像块)策略,通过将输入条纹模式和输出标记数据裁剪成重叠的小块来扩展训练数据集。
方法介绍
条纹图的强度分布可以表示为:
I
(
x
,
y
)
=
a
(
x
,
y
)
+
b
(
x
,
y
)
c
o
s
(
ϕ
(
x
,
y
)
+
2
π
f
0
x
)
+
n
o
i
s
e
.
(1)
I(x,y)=a(x,y)+b(x,y)cos(\phi(x,y)+2\pi f_0x)+noise. \tag1
I(x,y)=a(x,y)+b(x,y)cos(ϕ(x,y)+2πf0x)+noise.(1)
其中
a
(
x
,
y
)
a(x,y)
a(x,y)为背景强度,
b
(
x
,
y
)
b(x,y)
b(x,y)和
ϕ
(
x
,
y
)
\phi(x,y)
ϕ(x,y)为调制强度和光相位,
f
0
f_0
f0为载波频率,
n
o
i
s
e
noise
noise为
I
(
x
,
y
)
I(x,y)
I(x,y)的噪声。
由于物体边缘的不连续和噪声的影响,边缘部分和其他部分并没有很好的分离,所提出的深度学习方法,通过DNN学习输入条纹图和输出条纹图之间的映射,将条纹部分从其他部分中分离出来。
DNN相位恢复系统的设计
本文提出的相位恢复方法是基于从条纹模式中提取条纹部分,利用DNN学习条纹部分提取的过程。DNN的条纹提取分为训练步骤和测试步骤。在训练步骤中,DNN被要求学习输入数据(条纹模式)和输出标记数据(条纹部分)之间的映射
研究中使用了DnCNN模型,其利用了残差学习和批处理归一化方法,可以有效加快训练速度,提高去噪性能。为了使网络更有效地获取图像的特征,将像素为512x512的输入条纹图和输出标签条纹部分通过固定大小的窗口划分为40x40像素大小的重叠图像块。使用输入块和输出标签块对DNN进行训练,学习条纹图案与输出条纹部分之间的映射关系。根据方程(1)DNN的输入条纹模式可以重写为
p
=
f
+
r
p=f+r
p=f+r,其中
f
f
f和
r
r
r分别为条纹图
p
p
p的条纹部分和其余部分。
r
r
r包含背景部分和噪声部分,本文将其记为除条纹图
p
p
p之外的广义残差。我们的目标是使用具有残差学习的DNN来分离
f
f
f和
r
r
r。利用残差学习方法训练网络生成一个
R
(
p
)
=
R
R(p)=R
R(p)=R的非线性映射,从而提取残差部分
R
=
R
(
p
)
R=R(p)
R=R(p)和条纹部分
f
f
f。
DNN的损失函数如下:
l
o
s
s
(
θ
)
=
1
2
N
∑
i
=
1
N
∥
R
(
p
i
;
θ
−
(
p
i
−
f
i
)
)
∥
F
2
(2)
loss(\theta)={1 \over 2N}\sum_{i=1}^{N}\|R(p_i;\theta-(p_i-f_i))\|^2_F \tag 2
loss(θ)=2N1i=1∑N∥R(pi;θ−(pi−fi))∥F2(2)
表示期望残差
(
p
−
f
)
(p-f)
(p−f)和网络预测残差
R
(
p
i
;
θ
)
R(p_i;\theta)
R(pi;θ)之间的均方差。
θ
\theta
θ代表网络中的权重和偏置,随着DNN的反向传播而变化。
(
y
i
,
f
i
)
i
=
1
N
{(y_i,f_i)}^N_{i=1}
(yi,fi)i=1N是N对条纹图和对应的条纹部分。经过DNN的训练,可以得到预测的条纹部分
f
f
f。利用导出的条纹部分
f
(
x
,
y
)
=
f
f(x,y)=f
f(x,y)=f,利用希尔伯特变换和条纹部分的反正切算子计算带有载波的包裹相位分布如下:
ϕ
(
x
,
y
)
+
ψ
c
(
x
,
y
)
=
a
r
c
t
a
n
(
I
m
{
H
(
f
(
x
,
y
)
)
}
R
e
{
H
(
f
(
x
,
y
)
)
}
)
(3)
\phi(x,y)+\psi_c(x,y)=arctan\left({Im\{H(f(x,y))\} \over Re\{H(f(x,y))\}}\right) \tag 3
ϕ(x,y)+ψc(x,y)=arctan(Re{H(f(x,y))}Im{H(f(x,y))})(3)
H代表希尔伯特变换,
R
e
{
}
Re\{\}
Re{}和
I
m
{
}
Im\{\}
Im{}分别表示实部和虚部,其中
ψ
c
(
x
,
y
)
\psi_c(x,y)
ψc(x,y)是要被除去以产生纯相位的载波。
本文采用质量导向相位展开算法。为了得到没有载波项的纯展开相位,采用傅里叶载波去除法从展开相位中去除载波。