登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 通信工程 > 正文

基于CNN的图像风格转换技术的研究毕业论文

 2020-02-17 10:02  

摘 要

目前具有图像风格转换能力的应用大都基于服务器,利用服务器提供的超强硬件性能进行风格转换,这无疑给图像风格转换增加了巨大的成本。为了在个人电脑上就能实现图像风格转换,给图像处理带来便利,本文基于快速风格转换模型设计了一个快速风格转换系统,此系统可以在个人电脑上直接运行。

本文主要研究了图片风格如何在卷积神经网络中表示、如何进行风格转换、如何加快转换速度以及如何提高生成图片的质量,并对系统设计进行了详细描述,通过使用预训练好的VGG-19网络来对图片进行特征提取,并在此基础上使用了感知损失函数代替逐像素求差来实现损失计算,利用构建图片转换网络的方法提高转换速度,在训练过程中使用TensorBoard对损失函数进行了可视化。使用python和TensorFlow框架实现了该系统,训练了七种不同风格的生成模型,搭建了简单的UI界面。并在仿真测试时使用多张内容图片进行风格转换,在耗时和风格转换效果上与基于迭代的风格转换算法进行了对比分析。

测试结果表明,此算法可以较好地对图像风格进行转换,执行速度较快,对风格转换应用研究有一定的意义。

关键词:深度学习;卷积神经网络;TensorFlow;风格转换

Abstract

At present, most of the applications with image style conversion capability are based on servers, which make use of the super hardware performance provided by servers to carry out style conversion, which undoubtedly increases the huge cost of image style conversion. In order to realize image style conversion on personal computer and bring convenience to image processing, this paper designs a fast style conversion system based on fast style conversion model, which can run directly on personal computer.

This paper mainly studies how to express the style of pictures in convolution neural network, how to transform the style, how to speed up the conversion speed and how to improve the quality of the generated pictures, and describes the system design in detail. The pre-trained VGG-19 network is used to extract image features, and on this basis, perceptual loss function is used instead of pixel-by-pixel difference to realize loss calculation. In order to improve the speed of image conversion, Tensor Board was used to visualize the loss function in the training process. The system is implemented using Python and TensorFlow frameworks. Seven different styles of generation models are trained and a simple UI interface is built. In the simulation test, a number of content pictures are used for style conversion, and the time-consuming and style conversion effect are compared with the iteration-based style conversion algorithm.

The test results show that the algorithm can transform the image style well, and the execution speed is fast. It has a certain significance for the application of style conversion.

Key words: Deep Learning;Convolutional Neural Network;TensorFlow;Style-transfer

目 录

第1章 绪论 1

1.1 引言 1

1.2 研究背景、目的和意义 1

1.3 国内外研究现状 2

1.4 研究基本内容及预期目标 2

第2章 风格转换的关键技术与应用方案 3

2.1 卷积神经网络做特征提取 3

2.2 图像内容表达 5

2.3 图像风格表达 6

2.4 风格转换应用方案 7

2.5 系统使用到的网络模型 8

第3章 快速风格转换应用研究 10

3.1 系统框架 10

3.2 图像转换网络 11

3.2.1 图像转换网络结构 11

3.2.2 反卷积操作 12

3.2.3 归一化处理 12

3.3 图像预处理操作 12

3.4 感知损失网络 13

3.4.1 定义内容损失函数 13

3.4.2 定义风格损失函数 14

3.4.3 定义总损失函数 14

3.5 UI界面设计 15

3.6 算法流程图 15

第4章 仿真结果与分析 17

4.1 仿真环境 17

4.2 仿真步骤 17

4.3 损失函数可视化仿真 17

4.4 风格转换执行仿真 18

4.5 与其他算法对比分析仿真 19

4.6 测试结果分析 20

第5章 总结与展望 21

5.1 论文工作总结 21

5.2 存在的不足 21

5.3 未来展望 21

参考文献 22

致 谢 23

第1章 绪论

1.1 引言

图像风格转换简单来说就是给定一张图像C和一张风格图像S,需要得到一张在内容上和C相似而风格上与S相似的图像G。风格转换示意图如图1.1所示。本章节主要叙述本论文的研究背景、目的和意义,对国内外的研究现状进行概述性阐述,同时论述了本课题的研究内容和预期目标。

图1.1 风格转换示意

1.2 研究背景、目的和意义

图像风格转换技术是一个热门话题,现实社会中,拍照、社交已成为人们生活必不可少的组成部分,而人们越来越不满足于对于原始图像的需求,转而希望在原始图像的基础上发掘更多的想象空间。传统依赖线性变换的图像处理已经无法满足人们的需要,尤其是传统的图像处理算法对于图像的风格处理几乎无能为力,其无法感知和构建一张图片的风格,使得对于图像的处理非常单一,所以构建功能更加强大的智能图像处理系统成为必然的趋势,本文所研究的基于CNN的图像风格转换技术可以提取并重构图片的风格,使得对图像的处理有更大的发挥空间。

在计算机的世界里,绘画作品就是一堆像素的叠加,计算机需要挖掘出在图像像素之外更高层次的特点才能进行创造性的工作。本设计基于快速风格转换模型对图像的风格进行特征提取并将其转换到另一图像上,通过对风格转换的研究,我们可以探索卷积神经网络更为“人性化”的应用。

基于深度学习的图像风格转换为图像风格设计带来了更大的想象空间,而Prisma甚至作为第一款免费提供图像风格转换服务的移动应用程序问世,随后陆续出现了各种风格转换应用软件,产生了一定的商业价值;其次,在电影行业中,对帧画面进行特效处理随处可见,但其创作需要特殊的专业技能、大量的手工劳动,而使用深度学习技术,可以明显地降低制作成本,图像风格转换就是一个解决方案。Anderson等人就是用了光流和深度神经网络来进行电影的风格化。所以基于深度学习的图像风格转换是具有较大的研究意义的。

1.3 国内外研究现状

基于卷积神经网络的图像风格转换算法属于较新的研究领域,2015年8月,Leon A.Gats等科学家在其论文《A Neural Algorithm of Artistic Style》中提出通过对VGG网络某些层的特征图谱表示,能够从任意图像中提取抽象的内容表示,而通过构造不同层级之间特征图谱的Gram矩阵可以得到任意图像的风格特征表示[[1]]。这篇论文开启了深度学习提取图像风格的先河。方法是直接在白噪声图像上进行训练,通过不断优化损失函数生成对应的图像,其风格转换的效果非常好,但耗时比较长。2016年,Justin Johnson等人在Gats的基础上,提出了一种基于前馈神经网络的快速风格转移算法,也称fast-style-transfer,它通过优化感知损失函数训练出一个生成模型,不再从头对白噪声图像迭代优化,而是用大规模数据集训练一种风格的生成网络模型,以后要对这种特定的风格进行转换只需要将图片输入此生成网络执行即可[[2]]。这种方法大幅度提高了风格转换的效率。同年,Google Brain研究出一种基于仿射变换的转换算法,在一个模型中保存多张风格图片的风格,即单模型多种风格的风格转换算法[[3]]。2017年,黄勋等人提出了一种基于ADAIN层仿射变换的单模型任意风格的风格转换算法[[4]],其还是在大规模数据集上进行训练。同年,李一君等人提出了另一种单模型任意风格的风格转换算法,它的特点是不再基于大规模数据集驱动,而是利用一系列特征变换来实现ASPM风格转换,它实现了只用一种模型即可以对任意风格进行转换[[5]]。除了在模型能对应多种风格上取得了进展,在对图像风格转换效果也取得了长足的进展,2018年,李一君等人的《A closed-form solution to photorealistic image stylization》一文,为图像风格化得到的结果进行了平滑处理,使得后期图片质量更好[[6]]。

1.4 研究基本内容及预期目标

本课题研究基于卷积神经网络的图像风格转换技术,实现一种快速风格转换算法,可以将输入图像的风格转换为参考风格图像的风格,并保留输入图像的内容特征。这个过程中研究的主要问题包括如何表示图片的内容和风格、如何进行图像的风格转换、如何加快转换速度以及如何提高生成图片的质量。要求学习并实现一种可以在个人电脑上运行的快速风格转换系统,训练七种风格生成模型。深度学习的开发平台建议使用基于python的TensorFlow平台,要求风格转换明显,耗时不超过一分钟。

第2章 风格转换的关键技术与应用方案

本章主要阐述快速风格转换模型中关于图像内容和风格表达的关键技术,因为内容和风格表达都是基于预训练好的卷积神经网络来提取高层次特征来定义的,所以先来看一下卷积神经网络如何对图像特征进行的提取。

2.1 卷积神经网络做特征提取

卷积神经网络使用分层的卷积对图像进行特征提取,卷积神经网络是一种比较特殊的神经网络,它有系统的抽象局部操作的能力,很适合应用于计算机视觉中。在计算机视觉领域,推动卷积架构发展的有两大关键因素[[7]]。首先,卷积神经网络利用了图像二维结构的优势以及邻域内像素通常高度相关的事实,它使用的不是所有单元一对一的连接,而是使用分组的局部连接。卷积神经网络的另一大优势是权值共享,也就是说每个通道(或输出特征图)都是通过使用相同的卷积核生成的,卷积神经网络模型如图2.1所示。

图2.1 卷积神经网络模型

与常规的神经网络比起来,卷积神经网络权值共享的优势使得网络整体需要的参数更少。另一方面,卷积神经网络中池化的操作对卷积层之后的特征进一步转换,减少位置因素对网络的影响。随着网络的深入,神经元的视野逐渐增大,这也意味着随着网络的不断加深,卷积神经网络可以表示输入数据更加抽象的特征。例如,在物体图像中,卷积神经网络的底层一般会更关注图像某些部分的边,最终在高层覆盖整个物体[[8]]。

下面就来说一下卷积神经网络是如何对图像进行特征提取的。

卷积神经网络中最重要的处理层是卷积层。卷积是一种线性的、移位不变的运算,它可以对输入信号进行局部加权组合[[9]]。在进行图像处理时,一般将数字图像表示成二维离散信号,图像的卷积操作为:使用一个卷积核在图像上滑动,在图像的每一个像素值上,都与卷积核的中心对齐,然后在卷积核覆盖的区域将图像的像素值和卷积核的数值对应相乘再相加,得到的数值作为卷积之后的新数值,按照以上的方法,将卷积核在图像的所有位置上完成滑动,就完成了图像的卷积操作。

卷积核的意义在于检测特定的特征,卷积之后图形的大小与原始图像的大小和卷积核的大小有关。卷积核的大小通常为或,一般是奇数大小,这样卷积核中心就可以和图像像素对齐。图2.2展示了卷积操作的一部分。

图2.2 图像的卷积操作

经典的卷积神经网络中卷积层之后一般都会跟着一个池化层。图像经过卷积操作之后得到的feature map特征维度很大,这会使得后续的训练非常困难,并且容易出现过拟合。为了缓解这个问题,可以使用池化操作对卷积层得到的特征进行降维。池化操作并不会改变原始的特征,其利用了图片的相对不变特性,意思就是在局部区域内图片的特征总是和邻近区域是相似的,池化操作将重复特征剔除,降低了冗余[[10]]。

在卷积神经网络中,除全连接层以外,相邻层的神经元并不都是相互连接的,每一层的神经元只和相邻层的某些神经元相连,这就使得网络具有了稀疏性,大大降低了网络的复杂程度,提高了计算效率。局部连接示意图如图2.3所示:

图2.3 局部连接示意图

另一方面,卷积神经网络中的卷积核是可以复用的,在相同的通道中,所有的卷积都是通过同一个卷积核进行运算的,这样保证了对于同一个特征通道来说只需要学习一个参数集合即可。权值共享在局部连接之后进一步提高了网络的训练效率。权值共享使得特征的识别和提取不需要考虑特征位置,赋予了卷积神经网络很好的泛化能力。

以上阐述了卷积神经网络在特征提取中的几个重要部分,为了更加直观的展示卷积层对图像进行的特征提取,这里参考了[[11]]中对卷积神经网络前两层层进行可视化的结果,如图2.4所示:

图2.4 卷积神经网络前两层的可视化结果[11]

从图2.4中可以看出,在卷积神经网络各层的不同的位置,利用不同的卷积核能够检测到图像的某些特征,在第一层的可视化中可以看到每的网格检测到的特征是一样的,因为它们来自同一个卷积核,比如左上角卷积核从可视化结果来看应该是检测向右斜的线条的。更深的卷积层检测到的图像范围更大,因为随着网络的加深,神经元的感受野就会越来越大。

2.2 图像内容表达

当卷积神经网络应用到对象识别时,网络可以得到很多对象的特征表达,这种特征表达随着处理层级的增加使得物体信息越来越明确。因此,随着卷积神经网络处理层级的增长,图像的信息会转化成一种表征,相比于精确地像素值,这种表征越来越关注图像的内容。通过直接对不同层级的特征图谱进行图像重建,可以可视化神经网络每一层中图像的信息[1]。内容重建如图2.5中部分所示。

从图中我们可以看出,网络高层并没有强制匹配图像精确的像素值,而是捕捉到了包含物体和它们整体布局的高级信息 (图2.5,内容重构d.e)。另一方面,从网络较低层次重建的图像只是再现了输入图像精确地像素值(图2.5,内容重构a,b,c)。所以,可以这么认为,网络高层的特征图谱就是对图像内容的抽象表示[[12]]。

图2.5 内容和风格重建[12]

2.3 图像风格表达

在进行图像风格表达时,并不直接使用卷积神经网络提取到的特征图谱进行计算,而是需要一种能衡量特征图之间相关性的一种数学表达—Gram矩阵。

1.定义:n维欧式空间中任意个向量的内积组成的矩阵:

(2.1)

称为个向量的Gram矩阵,它的行列式称为Gram行列式[[13]]。

2.Gram矩阵在风格表达中的应用

Gram矩阵能够看成向量之间的偏心协方差矩阵,在特征图谱中,每个特征向量都是由上层输入和对应的卷积核经过卷积得到的,所以每个特征向量都是对图像某个特征的抽象,那么在风格转换中Gram矩阵可以用来度量两个特征之间的相关性,哪两个特征同时出现的几率比较大,哪两个特征不会同时出现。这跟绘画风格很相近,比如某些画家的风格可以看做在某些曲线中使用对应的颜色。因此,Gram矩阵可以看成是对图像特征的整体度量,所以我们在进行风格比较时,可以使用Gram矩阵进行比较。

Gram矩阵可以表示两两特征的相关性,而卷积神经网络恰巧对图像的特征提取是分层的,所以可以在不同层的特征图谱之间求其相关性,比如斜线和黄色同时出现的概率。本系统基于预训练好的卷积神经网络对图像进行特征提取,之前提到卷积神经网络每一层的输出都是特征图谱,而Gram矩阵可以用来度量整体风格,所以我们可以将相同层中不同卷积核的响应建立Gram矩阵来构建一个特征空间,这个特征空间表示了不同特征的相关性。而卷积神经网络在不同层级捕捉到图像不同抽象层次的特征,所以需要在多个层级都建立特征空间,有了这些特征空间就可以在多尺度层次上得到输入图像风格的抽象表示。

特征空间建立在网络不同层级的响应之上,我们可以通过重建匹配输入图像风格的图片来可视化特征空间捕捉到的信息(图2.5,风格重构)。从图中可以看出,使用特征空间重建的图片在颜色和局部结构上捕捉到了输入图片的总体外观。不仅如此,由于随层级增长的感受野和特征的复杂度也在增长的原因,输入图像局部结构的大小和复杂度也随着层级增加而增加。这种多尺度的特征表征就是图像的风格表达。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图