摘要
文章提出了一种新的损失——身份保留损失(identity-preserved loss),并将其与图片内容损失(image-content loss)结合从而监督学习CNN网络,以达到同时实现面部超分辨率及面部识别的目的。
一、 简介
研究背景:
现有的基于CNN的人脸识别算法已经可以在LFW数据集上得到极高的识别率,但在现实环境下由于捕捉到的人脸往往分辨率较低、图像质量较差,识别率将大幅降低。
因此我们将这种将HR人脸集与LR查询人脸图像进行匹配的问题称为低分辨率人脸识别问题(LRFR)。
研究现状:
现有的基于CNN的LRFR方法随着面部图像下采样倍数的增加,识别准确性逐渐下降。
二、 相关工作
现有人脸超分辨率方法:
- 大部分利用人脸的整体结构相似性,无法重建具有姿势变化的输入图像(?待查)
- 由于需要迭代,这些方法在大规模的数据集上性能较差
现有低分辨率的人脸识别问题:
- 已经提出的方法包括:多维缩放、人脸特征找分辨率等,而这些方法的分类器是单独学习的,因此性能受到限制(?待查)
- 缺陷:这些基于CNN的方法是以视觉为导向的,因此不适用于人脸识别。(个人理解:这些方法性能主要基于视觉传达出的图像效果好坏,而非能够达到的人脸识别准确率)
三、 提出的方法
此方法由两个网络组成,分别为超分辨率网络(SRNet)和人脸识别网络(FNet),记作
G
G
G和
F
F
F。
经过SRNet处理后的人脸图像记作
I
S
R
=
G
(
I
L
R
)
I^{SR}=G(I^{LR})
ISR=G(ILR)
将处理后的图像通过插值(训练:双线性,测试:双三次)进行上采样,得到符合FNet所需要的输入大小的图像
I
I
S
R
I^{ISR}
IISR
FNet网络提取了输入图像的深层特征,即:
y
I
S
R
=
F
(
I
I
S
R
)
y^{ISR}=F(I^{ISR})
yISR=F(IISR),其与对应的HR图像中提取的深层特征间的距离构成了identity-preserved loss(身份保留损失)
文章中使用的SRNet及FNet分别为已经提出的EDSRx4模型和SFace模型。SRNet为从头开始训练的,FNet在CASIA-Webface上用A-Softmax进行预训练。且,F-Net的可训练参数在训练期间不更新。
3.1 损失函数
为了同时实现人脸超分辨率和身份保留,文章中使用图像内容损失
L
i
m
a
g
e
L_{image}
Limage及本文中提出的身份保留损失
L
i
d
L_{id}
Lid来共同训练SRNet。
经验证明,图像内容损失对于指导SRNet生成视觉上令人信服的图像有十分重要的意义,因此在训练时不能仅采用身份保留损失。
我们按照“Additive margin softmax for face verification”文章中所说的,使用L1损失作为图像内容损失。
L
i
m
a
g
e
=
1
n
∑
i
=
1
n
∣
∣
I
i
S
R
−
↓
I
i
H
R
∣
∣
1
=
1
n
∑
i
=
1
n
∣
∣
I
i
S
R
−
I
i
M
R
∣
∣
1
\begin{aligned} L_{image} & =\frac{1}{n}\sum_{i=1}^n||I_{i}^{SR}-\downarrow I_{i}^{HR}||_1 \\ & =\frac{1}{n}\sum_{i=1}^n||I_{i}^{SR}-I_{i}^{MR}||_1 \end{aligned}
Limage=n1i=1∑n∣∣IiSR−↓IiHR∣∣1=n1i=1∑n∣∣IiSR−IiMR∣∣1 其中,n为训练样本的数量,
↓
\downarrow
↓表示双三次下采样算子,
I
H
R
I^{HR}
IHR为ground truth人脸图像,中分辨率人脸
I
i
M
R
=
↓
I
i
H
R
I_{i}^{MR}=\downarrow I_{i}^{HR}
IiMR=↓IiHR,使得
I
i
M
R
I_{i}^{MR}
IiMR和
I
S
R
I^{SR}
ISR处于相同的分辨率。
身份保留损失的目的在于,使得重建的人脸图像具有与其对应的HR图像的深层特征相似的特征:
L
i
d
=
1
n
∑
i
=
1
n
f
(
y
i
I
S
R
,
y
i
H
R
)
L_{id}=\frac{1}{n}\sum_{i=1}^nf(y_{i}^{ISR},y_{i}^{HR})
Lid=n1i=1∑nf(yiISR,yiHR) 由于在已经提出的论文中证明了“身份信息仅与深度特征的角度有关”,且余弦距离等价于归一化欧氏距离,因此在计算身份保留损失时可以采用余弦距离进行计算,即:
f
(
y
i
I
S
R
,
y
i
H
R
)
=
1
−
y
I
S
R
⋅
y
H
R
∣
∣
y
I
S
R
∣
∣
2
∣
∣
y
H
R
∣
∣
2
f(y_{i}^{ISR},y_{i}^{HR})=1-\frac{y^{ISR}·y^{HR}}{||y^{ISR}||_2||y^{HR}||_2}
f(yiISR,yiHR)=1−∣∣yISR∣∣2∣∣yHR∣∣2yISR⋅yHR 整体损失函数可以记为:
L
=
L
i
m
a
g
e
+
λ
L
i
d
L = L_{image}+\lambda L_{id}
L=Limage+λLid
四、 实验验证
4.1 实现
数据预处理
将与LFW数据集中相似的人脸图像及一些被高度遮挡的图像删去后,我们得到的CelebA数据集用于训练SRNet。
按照“Sphereface:Deep hypersphere embedding for face verification”一文中的观点,本文使用五个给定的面部标志对齐所有的人脸图像,并将这些图像调整到112x96像素作为HR人脸图像。
训练细节
训练过程中,HR人脸被随机下采样4、8或16倍,以形成输入的LR人脸图像。
同时,为了利用GPU的并行化,输入的LR人脸在minibatch中分辨率相同。经过SRNet训练后得到的SR人脸再由双线性插值上采样到112x96像素,然后在FNet中进行归一化。
用于训练的人脸图像以50%的概率进行翻转以增强训练图像,batch大小设为64,优化器采用Adam,步长初始化为
1
0
−
4
10^{-4}
10−4,且其在25k次迭代后减半。
全部的训练共50k个iteration,使用两个GTX 1080Ti GPU完成。
4.2 评估
对于本文提出的算法的评估,不采用PSNR及SSIM,原因在于它们无法量化证明超分辨率处理后的人脸图像是否对LRFR有效。因此,在性能评估上,本文采取人脸验证率及人脸识别率作为评估指标。
在进行测试时,文章采用LFW数据集进行实验,保证了身份保留损失的有效性和泛化能力;采用MTCNN检测面部标志,对齐人脸图像以生成真实的HR图像。
SRNet:上文中提到了,文章采用具有n个残差块及k个滤波器的EDSRx4作为SRNet,记作
E
D
S
R
n
,
k
,
λ
EDSR_{n,k,\lambda}
EDSRn,k,λ,其中
λ
=
0.5
\lambda=0.5
λ=0.5时表示具备文章提出的身份保留损失,反之
λ
=
0
\lambda=0
λ=0。
FNet:除SFace外,VGG-Face也作为训练好的网络,在测试中被用作FNet。因此,SR人脸被上采样到VGG-Face所需的输入图像大小224x224后,在VGG中使用归一化。FC7的输出作为人脸图像的深层特征。使用VGG作为测试是的FNet的好处在于,由于其并没有在训练时被使用,因此可以证明身份保留损失的泛化能力。
根据“Sphereface:Deep hypersphere embedding for face verification”文章可知,从人脸图像及其水平翻转后的图像中提取的特征通过特征级联,得到了最终的深度人脸特征向量。(?)
展望:尽管本文方法的结果与已提出的结果相当,但如果采用更好或训练更完善的FNet,那么方法在LR人脸验证及LR人脸识别上的准确率将会进一步提高。