AnimeGAN 论文阅读笔记

2023-10-31 08:50
文章标签 笔记 阅读 论文 animegan

本文主要是介绍AnimeGAN 论文阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

封面

本文首发于个人博客:欢迎访问并获得更好的阅读体验


首先看摘要

In this paper, a novel approach for transforming photos of real-world scenes into anime style images is proposed, which is a meaningful and challenging task in computer vision and artistic style transfer. The approach we proposed combines neural style transfer and generative adversarial networks (GANs) to achieve this task. For this task, some existing methods have not achieved satisfactory animation results. The existing methods usually have some problems, among which significant problems mainly include: 1) the generated images have no obvious animated style textures; 2) the generated images lose the content of the original images; 3) the parameters of the network require the large memory capacity. In this paper, we propose a novel lightweight generative adversarial network, called AnimeGAN, to achieve fast animation style transfer. In addition, we further propose three novel loss functions to make the generated images have better animation visual effects. These loss function are grayscale style loss, grayscale adversarial loss and color reconstruction loss. The proposed AnimeGAN can be easily end-to-end trained with unpaired training data. The parameters of AnimeGAN require the lower memory capacity. Experimental results show that our method can rapidly transform real-world photos into highquality anime images and outperforms state-of-the-art methods.

本文提出了一种将真实场景的照片转换为动画风格的新方法,这是计算机视觉和艺术风格转换领域中一个有意义和挑战性的任务。我们所提出的方法结合了神经风格转换和生成对抗网络(GANs)来实现这一任务。对于这一任务,现有的一些方法并没有取得令人满意的转换效果。现有的方法通常存在一些问题,其中重要的问题主要包括:1)生成的图像没有明显的动画风格纹理;2)生成的图像丢失了原始图像的内容;3)网络参数要求较大的内存容量。在本文中,我们提出了一种新型的轻量级生成对抗网络,称为AnimeGAN,以实现快速的动画风格转换。此外,我们进一步提出了三种新颖的损失函数,使生成的图像具有更好的动画视觉效果。这些损失函数是灰度样式损失、灰度对抗损失和颜色重建损失。提出的 AnimeGAN 可以很容易地与未配对的训练数据进行端到端的训练。AnimeGAN的参数对内存的要求较低。实验结果表明,我们的方法可以快速地将真实照片转换为高质量的动画图像,并优于最先进的方法。

简而言之,目前业界有人在做,但是都不行,有几个小问题要解决,通过提出来新的网络、新的损失函数,目前做到了最好。

1. Introduction

各个算法的不足之处

论文认为目前的算法都存在以下几个问题。这也确实是目前这个领域的通病,每一篇论文几乎都在考虑解决这几个问题:

These important problems mainly include: 1) the generated images have no obvious animated style textures; 2) the generated images lose the content of the original photos; 3) a large number of the parameters of the network require more memory capacity.

  1. 生成的图像没有明显的动画风格纹理;
  2. 生成的图像丢失了原照片的内容信息;
  3. 网络参数过大,对内存容量要求更高;

作者提出了哪些解决方案

为了解决这些问题,作者提出了一个新的轻量级 GAN 网络,更小更快。

The proposed AnimeGAN is a lightweight generative adversarial model with fewer network parameters and introduces Gram matrix to get more vivid style images.

论文提出的 AnimeGAN 是一个轻量级的生成对抗模型,具有较少的网络参数,并引入了Gram矩阵来生成更生动的风格图像。为了生成更好的视觉效果的图像,提出了三个损失函数:灰度样式损失、颜色重建损失和灰度对抗损失。在生成网络中,「灰度风格损失」和「颜色重建损失」使生成的图像具有更明显的动漫风格,并保留了照片的颜色。识别网络中的「灰度对抗损失」使生成的图像具有鲜明的色彩。在鉴别器网络中,我们也使用了 CartoonGAN 提出的促进边缘的对抗损失(edge-promoting adversarial loss)来保留清晰的边缘。

另外,为了使生成的图像具有原始照片的内容,引入了预先训练好的 VGG19 作为感知网络,获得生成的图像和原始照片的深度感知特征的L1丢失。

我的理解:跟 CartoonGAN 使用的方法类似,通过预训练模型可以更好的提取图片的高维信息,这样可以在风格不同的情况之下比较两个照片的差别,毕竟两个图像的风格即使不一样,但是高维的语义信息是一样的。这也就是为什么这几个网络不需要像 Cycle GAN 和 Dual GAN 一样需要同时训练两个模型来保证模型的正常收敛。

其他增强:

  1. 在生成器上执行一个初始化训练,只使用内容丢失Lcon(G, D)对生成网络G进行预先训练,使 AnimeGAN 的训练更容易和更稳定, CartoonGAN 提出的。(没搞懂为什么)
  2. 带有 1×1 卷积核的最后一个卷积层不使用归一化层,并且后面使用的是tanh非线性激活函数。(没搞懂为什么)
  3. 各个模块中使用的激活函数都是 LReLU。

2. Our Method

接下来从网络的架构、损失函数和训练三个方面进行详细的介绍。

网络架构

在看 AnimeGAN 之前,先看一下 CartoonGAN 的模型,PyTorch 实现

CartoonGAN 的模型

AnimeGAN 可以说是在 CartoonGAN 上面进行的改进,PyTorch 实现

生成器的网络可以看作是编解码器网络,标准卷积、深度可分离卷积、残差网络、上采样和下采样模块。

从后面的表述中可以看到这篇论文是大量借鉴了 CartoonGAN 的思想,并在此之上进行了改进,避免了出现棋盘方格纹理;下图是 CartoonGAN 论文中的实验结果,可以清晰的看到出现了方格纹理。

损失函数

首先是对于训练数据的处理,TODO

生成器损失函数主要分为四个部分(公式图片),不同的损失有不同的权重系数,作者所采用的是 300、1.5、3、10:

L ( G , D ) = ω a d v L a d v ( G , D ) + ω con ⁡ L c o n ( G , D ) + ω g r a L g r a ( G , D ) + ω col ⁡ L c o l ( G , D ) L(G, D)=\omega_{a d v} L_{a d v}(G, D)+\omega_{\operatorname{con}} L_{c o n}(G, D)+\omega_{g r a} L_{g r a}(G, D)+\omega_{\operatorname{col}} L_{c o l}(G, D) L(G,D)=ωadvLadv(G,D)+ωconLcon(G,D)+ωgraLgra(G,D)+ωcolLcol(G,D)

  1. 对抗损失(adv),是生成器 G 中影响动画转换过程的对抗性损失。
  2. 内容损失(con),是帮助生成的图像保留输入照片内容的内容丢失。
  3. 灰度风格损失(gra),使生成的图像在纹理和线条上具有清晰的动漫风格。
  4. 颜色重建损失(col),使生成的图像具有原照片的颜色。

对于内容丢失和灰度风格丢失,使用预先训练好的VGG19作为感知网络,提取图像的高级语义特征。它们表示为(此公式的图片):

L c o n ( G , D ) = E p i ∼ S d a t a ( p ) [ ∥ V G G l ( p i ) − V G G l ( G ( p i ) ) ∥ 1 ] L g r a ( G , D ) = E p i ∼ S d a t a ( p ) , E x i ∼ S d a t a ( x ) [ ∥ Gram ⁡ ( V G G l ( G ( p i ) ) ) − Gram ⁡ ( V G G l ( x i ) ) ∥ 1 ] \begin{array}{c} L_{c o n}(G, D)=E_{p_{i} \sim S_{d a t a}(p)}\left[\left\|V G G_{l}\left(p_{i}\right)-V G G_{l}\left(G\left(p_{i}\right)\right)\right\|_{1}\right] \\ L_{g r a}(G, D)=E_{p_{i} \sim S_{d a t a}(p)}, E_{x_{i} \sim S_{d a t a}(x)}\left[\| \operatorname{Gram}\left(V G G_{l}\left(G\left(p_{i}\right)\right)\right)\right. \\ \left.-\operatorname{Gram}\left(V G G_{l}\left(x_{i}\right)\right) \|_{1}\right] \end{array}

这篇关于AnimeGAN 论文阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/jaykm/article/details/115632515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/314195

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓