基于生成对抗网络的服装图像风格迁移

2019-11-17 04:05管绍春向宇
电脑知识与技术 2019年26期
关键词:深度学习

管绍春 向宇

摘要:随着机器学习到深度学习的拓展,基于深度学习的多种网络模式和学习框架使得深度学习可以有更多更加复杂的研究方向。其中生成对抗网络(GAN)是Ian J. Goodfellow等人于2014年提出的一个通过对抗过程估计生成模型的新框架,被广泛应用于图片风格转移,超分辨率,图像补全,去噪等领域。本研究意在将生成对抗网络的服装风格转移作为技术基础,引入到服装文化的传承保护和发扬的具体应用中,将服装风格转换的时效性、多样性,契合深度学习来更好的为人们服务。为此本研究融合图像分割和图像风格迁移两个研究领域的内容,将原始输入的图像根据设定进行分割,然后基于分割结果进行相应的全局或局部风格迁移。

关键词:深度学习;生成对抗网络;图像风格迁移;图像识别分割

中图分类号:G434        文献标识码:A

文章编号:1009-3044(2019)26-0191-03

开放科学(资源服务)标识码(OSID):

1序言

1.1研究的背景和意义

图像的内容和风格听上去好像模糊难辨,理论上来说没有无风格的内容,也没有无内容而单独存在的风格。所以从艺术的角度很难说清图像的内容和风格到底有什么界限,也很难说图片的哪部分属于内容,哪些东西又该是风格。而从统计学角度或者数学角度来说,图像的内容和风格是可以分离开的,然后将不同图片的风格和不同图片的内容结合从而实现图像风格的迁移。已有的图像风格迁移办法有很多,本研究选择cycleGAN这一生成对抗网络GAN的变种作为风格转移处理的网络模型,利用其无监督学习的学习方法,以一种巧妙的对抗博弈的方法,使得其中关键的生成器和辨别器二者互相促进互相学习,以达到模糊原始输入图像与生成图像的效果,并最终运用到图像风格转移这一目标上。相较传统的pix2pix模型只能对特定形状的简单图形做单向风格迁移[1],cycleGAN能对风格做双向迁移,并具有输入的两张图可以是任意非配对图片的优点。

本研究使用的是yolov3目标检测算法,其秉承yolo系列的目標检测模型的优点和基本的检测原理,并且做了以下改进:不使用Softmax对每个框进行分类;具备多尺度预测(类FPN)能力;具备更好的基础分类网络(类似于ResNet)和分类器[2]。其使用的Darknet-53与ResNet-101或ResNet-152相比准确率接近,但速度更快。在实例分割上选用的是Mask R-CNN,这是一个两阶段的框架,第一个阶段扫描图像并生成有可能包含一个目标的区域,第二阶段分类区域并生成边界框和掩码。其在底层检测的是低级特征(边和角等),在较高层检测的是更高级的特征(狗、人、车等)。

1.2相关技术及主要研究内容

1.2.1目标检测

目标检测顾名思义就是在图像中找出所有感兴趣的目标,确定其位置和大小,属于机器视觉领域的核心问题之一。目标检测要解决的问题除了在复杂的图像单元中进行图像分类之外,还要考虑目标可能出现在图像中的任何位置;目标大小各不相同,即使在同一图像中的相同物体在不同位置或光照下也会有不同的呈现;目标在图像中所展示的内容在机器内部的解读和在人类一般意识的认识和解读的不同。针对以上问题,本研究使用了经典的滑动窗口结合图像缩放的解决方案,此外,该方案还同时解决了如果采用矩形框来定义目标的话矩形会有不同的宽高比从而造成通用目标检测成本太高的问题。

本研究使用的yolov3算法属于yolo系列算法,其在之前几版算法的基础上对精度和速度做了平衡和优化,属于one stage类算法里面的基于端到学习的目标检测。本研究对yolov3算法进行了进一步提升,将其改进为多尺度预测算法,并匹配更好的基础分类网络和分类器darknet-53,另外还为其增加了分类器-类别预测等功能。

1.2.2实例分割

图像分割就是预测图像中每一个像素所属的类别或者物体。图像分割中分为语义分割和实例分割两大类,比如以汽车图片的分割举例,语义分割就是区分是不是车,而实例分割(又称个体分割)则区分不同类型的车或者区分有几辆车,并把不同的车标记出来。传统的图像切割是将图的一些边移除,从而让两个子图不相连,目的是找到一个使得移除边的和权重最小的切割。

本研究使用的Mask R-CNN目标实例分割框架,该框架能在高效的检测图像中所有目标的同时,对每一个目标实例生成高质量的分割掩膜。此外该框架还可以通过增加不同的分支来完成不同的任务,具有很强的灵活性。在Mask R-CNN框架内,为满足高速和高准确率,本研究选择了可以既快又准的完成目标检测功能的经典目标检测算法Faster-rcnn,以及可以精准的完成语义分割功能的经典语义分割算法FCN。同时本研究在原始Faster-rcnn算法基础上增加FCN来产生对应的MASK分支这种方式也保证了必要的简单直观,降低计算量。

1.2.3 风格转移

结合目标检测和实例分割的处理结果,在被迁移图像的基础上将分割出来的部分以覆膜的方式覆盖在目标图像上,然后就可以实现对单独的选定区域进行风格迁移。鉴于图像风格迁移的过程是图片到图片的转换过程,且有风格相近的潜在需求,本研究采用cycleGAN来满足这一需求,好处除了可以避免所有输入图片对应到同一目标图片上外,还可以检验生成图片是否真的是由输入图片的原图对抗而生成的。

2 算法详解

2.1目标检测

相比yolov2,yolov3的很多东西是继承的,比如分而治之的思想,还有从yolov2开始的采用batch normalization作为正则化、加速收敛和避免过拟合的方法,同时还继承和发展了多尺度训练,所谓发展就是可以在速度和准确率之间找到适合自己需要的平衡点,如图1所示。yolov3结构里没有池化层和全连接层。前向传播过程中,张量的尺寸变换则通过改变卷积核的步长来实现。

2.2实例分割

本研究采用的Mask R-CNN以Faster-RCNN为主体框架,在其网络的头部引入另一条FCN并行分支用于检测ROI的mask map信息,这样它的头部包含三个子任务:分类、回归和分割。第一阶段扫描图片并生成提议(即有可能包含一个目标的区域),第二阶段对提议进行分类并生成边界框和掩码。

Mask-RCNN的处理过程一般是输入一幅要处理的图片进行相应的预处理(或者直接输入预处理后的图片);将处理结果输入到一个预先训练好的神经网络中得出对应的feature map;对feature map中每一点设定预定个的ROI,从而获得多个候选ROI;将候选的ROI送入RPN网络进行二值分类(就是识别出是前景还是背景)和BB回归,过滤掉一些候选ROI;对剩下的ROI进行ROI Align操作(即先将原图和feature map的pixel对应起来,然后将feature map和固定的feature对应起来。亦即对ROI中的每个点取其所在格子的四个顶点的坐标值做双线性插值);对这些ROI进行分类、BB回归和MASK生成(在每个ROI里面进行FCN操作);进行max pooling(如图2所示)。Mask-RCNN训练生成的每个ROI如果最终与某个Ground truth box的IOU为0.5以上,那么就可视为一个positive box,若小于0.5则为negative box。而最终的Lmask的计算只在positive box上面进行。

2.3 风格迁移

图像风格迁移中所说的风格可用Gram矩阵表示,因为Gram Matrix实际上可看作是feature之间的偏心协方差矩阵,在feature map中,每一个数字都来自一个特定滤波器在特定位置的卷积,因此每个数字就代表一个特征的强度,而Gram计算的是两两特征之间的相关性,即Gram矩阵是特征图矩阵与自身逆矩阵相乘得到的矩阵,因此它会包含自身的相关性这一隐藏信息。进行图片风格迁移时,寻找这种相关性的“匹配”,Gram矩阵就会将色彩风格和图像形状特征通过计算后以某种方式组合在一起,也就是我们所理解的以及能够表现出来的表示图像的艺术风格。同时,Gram的对角线元素,还体现了每个特征在图像中出现的量,因此,Gram有助于把握整个图像的大体风格。要度量两个图像风格的差异,只需比较他们Gram矩陣的差异即可。

2.4 CycleGAN

传统GAN是单向的,而cycleGAN本质上是两个镜像对称的GAN所构成的一个环形网络,如图3所示。其中有两个鉴别器网络,一个是鉴别生成图像是否达到要求,一个是辨别还原为原图像是否达到预期结果。

3 实验

3.1目标检测实验部分

目标检测实验主要进行Yolov3的目标检测,这部分的实验可以大致分为定义问题、搜集数据(图片)、数据预处理、搭建环境、训练模型、测试、得出结论几大步骤。

定义问题就是明确自己需要通过目标检测达到什么目的,对于数据搜集和整理的侧重点是什么,以及如何对症下药。本研究在目标检测阶段要达到的目的是先检测出人物所在的区域。数据搜集主要是考虑是否有合适的数据集可用,或者别人训练好的模型可以直接使用等。对于人物的识别官方有很多数据集可以直接使用。数据预处理主要是利用一些图像处理工具或便捷的脚本对图片进行标注,并实现标注产生的数据集的格式转换。本研究对图像的标注用的是windows上的labelimg,其使用简单快捷。搭建环境这部分有两套方法,类unix系统平台和windows系统平台。当安装配置好CUDA、CUDNN以及Opencv以后,就可以从yolo官网上下载源码进行编译。训练模型就是在搭建好的平台上利用之前预处理好的数据来训练生成模型。

3.2实例分割和风格转移实验部分

本研究采用Mask R-CNN进行目标检测和实例分割实验的过程是:在一个图中用矩形框框出所识别出来的目标物体所在区域,并在边上标识出类的名称,接着在标识出来的框中目标检测出要进行处理的区域,实验效果如图4所示;将这张图片全局风格迁移,然后在局部采用先目标检测再实例分割的办法产生掩膜。将掩膜覆盖在原图上使其只把掩膜部分实现风格转换。这样一来就实现了局部风格转换,如图5至图9所示。

4 总结

通过本研究对生成对抗网络的实际学习和运用,对深度学习神经网络可以运用的场景有了更多理解和设想,同时也对以后相关领域知识的学习奠定了基础。

参考文献:

[1] Unpaired Image-to-Image Translationusing Cycle-Consistent Adversarial Networks. Jun-Yan Zhu?Taesung Park?Phillip Isola Alexei A. Efros Berkeley AI Research (BAIR) laboratory, UC Berkeley

[2] You Only Look Once:Unified, Real-Time Object DetectionJoseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi University of Washington, Allen Institute for AI, Facebook AI Research (FAIR) arXiv:1703.06870v3 [cs.CV] 24 Jan 2018.

[3] Generative Adversarial Networks Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, SherjilOzair, Aaron Courville, YoshuaBengio.

[4] Goodfellow I. NIPS 2016 tutorial: generative adversarial networks. arXiv preprint arXiv: 1701.00160, 2016.

[5] Hu W W, Tan Y. Generating adversarial malware examples for black-box attacks based on GAN. arXiv preprint arXiv: 1702.05983, 2017.

【通联编辑:王力】

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略