# 可变形深度人脸特征插值编解码网络
**摘要**:人脸属性编辑是一个具有挑战性的图像处理任务,使用传统的图像处理软件手工编辑,操作成本高。深度特征插值方法是通过深度学习将图像空间非线性的语义映射到隐空间线性特征再进行语义属性编辑的技术。该方法通用性较强,不需要设计特定网络结构,图像处理的速度较快,效果也比较好。遗憾的是,该方法由于难以将特征完全解耦,导致线性插值之后生成图像模糊或者存在伪影。针对这一问题,本文采用可变形的编解码器架构,通过无监督的训练方式,将图像分离为与外观相关的纹理信息和与形状相关的变形信息,解耦图像变形和纹理信息。同时创新性地使用与编码器对称的解码器结构,并引入从编码器到解码器的带过滤条件的信息通道帮助重建。本文提出的方法,可以获得耦合度更低、更有效的特征表示方法,重建的图像更加清晰;将该技术应用于人脸语义属性编辑,也大大消除了伪影的现象。
**关键词**:人脸风格迁移;特征插值;可变形自编码器;无监督解耦;对称解码器。
![1](img/1.png)
图1.整体方法框架
# 引言
在信息社会快速发展的今天,图像作为一种信息传递的重要媒介,在信息时代发挥着重要的作用。人脸图像作为人的重要符号信息,具有广泛的艺术、社交、网络等应用。不同的使用场景也对人脸图像的风格提出了多样化的要求。证件照要求人像姿势端正,具有自然或者微笑的表情;宣传广告希望展示的人像具有大眼睛,瓜子脸,白皮肤等符合大众审美的特征;普通用户也希望通过自己不同风格的照片展示自己的个性。基于传统方法,人脸图像风格化往往需要复杂的人工修图,不仅要求操作者具有很高的水平,而且编辑方法和参数调整无法直接迁移应用到其它图片,因此难以自动批量处理。幸运的是随着深度学习和计算机视觉的发展,一系列图像处理的算法和模型得以提出。例如编辑肖像[1-2],年龄[3],纹理[4-5],颜色[6]等方法。但这些算法专注于解决某一特定的人像编辑任务,且不能直接迁移到其他任务。因此,图像编辑转换的通用方法成为了计算机视觉与图像处理领域的研究热点。
现有的很多工作都希望通过线性插值的方法编辑人脸风格属性[14-17]。众所周知,像素空间非线性流形[8]的特点,使得线性插值的结果存在严重伪影,效果不佳。必须将像素空间非线性的语义映射到隐空间的线性特征才可以进行有意义的线性插值。卷积神经网络在图像分类任务上表现出色[9-11],网络通过卷积提取图像特征,并依靠末端简单的线性层进行分类,即卷积神经网络将图像映射到一个类别信息可线性分离的深度空间。[14]表明在具有足够多图像类别的数据集上(例如ImageNet[12])训练的分类网络(例如VGG[9])可以学习到更通用的图像深度表示。因此可以使用预训练的分类网络作为图像到隐空间的映射,进而使用插值方法编辑图像[13-15]。但对于人脸图像来说,包含着外观纹理(例如肤色,毛发,光照等)和形状(如姿势,角度等)的复杂变化,单一映射难以解耦这些变化因子,插值的结果存在伪影。
本文受到可变形自编码器[17]解耦纹理外观和形状变化信息的启发,结合已有特征插值的方法,对可变形自编码器网络的结构进行改进,提出可变形的深度人脸特征编解码网络。主要创新点和贡献如下:
- 提出了一种可变形深度人脸特征插值编解码网络,无监督地解耦图像的纹理特征与形状特征,降低了特征的耦合度,改善了线性插值的效果。
- 结合图像语义分割领域的方法,在编码器和解码器部分层之间添加信息通道,使重建之后的图像更加清晰,保留原图像的必要细节。
- 对信息通道中传递的特征进行过滤,减少用于插值的特征图个数,提高泛化能力和线性插值的鲁棒性,利于插值操作。
- 设计出一种深度特征可分离的网络结构,可灵活选取部分或全部特征进行插值操作。引入插值强度参数实现灵活可控的图像编辑。
# 相关工作
产生令人信服的图像变化是计算机视觉和图形学领域一个活跃并且富有挑战性的课题。近年来,随着深度卷积神经网络在图像分类任务上取得越来越出色的表现,一系列借助卷积神经网络的图像编辑模型被提出。Gatys等人开创性地提出了一种基于卷积神经网络的图像风格迁移方法[13],通过预训练的 VGG模型从内容图像和风格图像分别提取内容特征和风格特征,然后使用迭代优化的方式从随机图像开始生成具有原内容和目标风格的图像。Justin等在 Gatys 算法的基础上,提出快速风格迁移算法 [18]。该算法借鉴 Gatys的方法中风格与内容的计算方式,使用 VGG 模型提取的深层抽象特征的 L2损失作为感知损失训练指定风格的生成模型。提高了风格迁移的效率。Upchurch等人观察到分类网络末端线性分类器具有良好的性能,提出了深度特征插值(DFI)的方法[14]。该方法使用预训练的VGG 网络作为特征提取器,通过 KNN选取与测试图像相近的数据集子集,用于估计目标属性的深度特征表示。加和测试图像与目标属性的深度特征表示作为插值结果预测图像的深度特征表示。最后迭代优化随机图像与预测结果图像深度特征表示的误差,将梯度反向传播到随机输入图像使其逐渐逼近结果图像。Facelet-bank[15]方法采用对称的编码器解码器结构,选取编码器部分卷积层的激活输出作为特征空间,经过中间卷积层与解码器对称位置级联。编码器和解码器执行一般操作,中间卷积用于建模不同的面部转换效果,实现了面部效果的快速编辑操作。
除此之外,生成模型的发展也为解决图像编辑转换提供了思路。比较典型的生成模型有生成对抗网络[19-23]和变分自编码器[16]。最初的生成对抗网络[19]使用多层感知机作为判别器和生成器的结构,训练不稳定,生成过程不可控,不具备可解释性。深度卷积对抗神经网络[20]的生成器和判别器使用卷积神经网络代替多层感知机,去掉池化层,替换全连接层为全局池化。图像的生成效果更好。但是输入为随机向量,无法控制最终生成的图像。Pix2pix[22]的方法使用条件生成对抗网络结构[21],生成器和判别器的输入均为图像,该方法在图像着色、草图与真实图等图像转换任务有出色表现,但缺点是需要大量配对的训练数据。CycleGAN[23]使用循环一致性损失解决了无配对图像转换的问题,主要思想是最小化两次域转换之后与输入的差异。CycleGAN可以成功地分离图像的风格和内容,对于图像翻译和风格转换效果很好。变分自编码器[16]的编码器通过学习特征向量的后验概率,能学习到有意义的特征表示。改变特征表示的某些维度可以让生成的图像产生语义变化,为线性插值的图像编辑方法提供了思路。可变形自编码器[17]将可变模板范例与自编码器架构相结合,使用两个独立的解码器网络对编码器输出的潜在编码解码得到图像的纹理和变形场,无监督的将图像的纹理和形状信息分离。
本文提出的模型结构在可变形自编码器的网络架构基础上进行改进,使用 1×1
的卷积层替换
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源包含文件:课程报告word+项目源码 人脸属性编辑是一个具有挑战性的图像处理任务,使用传统的图像处理软件手工编辑,操作成本高。深度特征插值方法是通过深度学习将图像空间非线性的语义映射到隐空间线性特征再进行语义属性编辑的技术。该方法通用性较强,不需要设计特定网络结构,图像处理的速度较快,效果也比较好。遗憾的是,该方法由于难以将特征完全解耦,导致线性插值之后生成图像模糊或者存在伪影。 详细介绍参考:https://blog.csdn.net/sheziqiong/article/details/125598963
资源推荐
资源详情
资源评论
收起资源包目录
基于Python实现可变形深度人脸特征插值编解码网络.zip (63个子文件)
paper.pdf 962KB
visualize.py 3KB
课程论文.docx 654KB
纹理.png 76KB
dependency
age_getter.py 2KB
smile 92KB
surprise 92KB
__init__.py 0B
age 92KB
face_getter.py 1KB
fear 92KB
mustache_getter.py 2KB
mustache 92KB
angry 92KB
sad 92KB
expression_getter.py 4KB
disgust 92KB
img
11.png 204KB
16.png 80KB
0607.png 139KB
0910.png 129KB
1.png 109KB
635.png 67KB
14.png 19KB
2.png 267B
12.png 112KB
05.png 27KB
4.png 212B
13.png 119KB
3.png 18KB
08.png 105KB
interpolator.py 5KB
tools
utils.py 18KB
DatasetLoader.py 2KB
__init__.py 0B
DatasetUtil.py 2KB
model
DenseNet.py 5KB
Loss.py 3KB
UnetDAE.py 16KB
__init__.py 0B
重建.png 68KB
LICENSE 1KB
trainer.py 6KB
.gitignore 2KB
haha.png 582KB
demo
improve 20B
rects.png 29KB
evaluation.py 8KB
age_interpolation.py 4KB
age.txt 441B
mustache.txt 274B
hist.png 23KB
origin_scores 39KB
reconstruct.py 1KB
mustache_interpolation.py 3KB
origin 23B
expression_interpolation.py 6KB
improve_scores 40KB
README.md 27KB
setting
parameter.py 4KB
__init__.py 0B
train_option.py 378B
ԭͼ.png 67KB
共 63 条
- 1
资源评论
shejizuopin
- 粉丝: 1w+
- 资源: 1288
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功