https://github.com/TachibanaYoshino/AnimeGAN
项目paper介绍
本文提出了一种将现实世界中的照片转换为动漫风格图像的新颖方法,这在计算机视觉和艺术风格转移方面是一项有意义且具有挑战性的任务。我们提出的方法结合了神经风格转移和生成对抗网络(GAN)来完成此任务。对于此任务,某些现有方法未能获得令人满意的动画效果。现有的方法通常存在一些问题,其中主要的问题主要包括:1)生成的图像没有明显的动画风格纹理; 2)生成的图像丢失了原始图像的内容;3)网络参数需要大的存储容量。
在本文中,我们提出了一种新颖的轻量级生成对抗网络,称为AnimeGAN,以实现快速的动画样式转换。此外,我们进一步提出了三种新颖的损失函数,以使生成的图像具有更好的动画视觉效果。
这些损失函数是灰度样式损失,灰度对抗损失和色彩重建损失。
可以使用不成对的训练数据轻松地对提出的AnimeGAN进行端到端训练。AnimeGAN的参数要求较低的存储容量。实验结果表明,我们的方法可以将现实世界中的照片快速转换为高质量的动漫图像,并且性能优于最新方法。AnimeGAN的参数要求较低的存储容量。实验结果表明,我们的方法可以将现实世界中的照片快速转换为高质量的动漫图像,并且性能优于最新方法。AnimeGAN的参数要求较低的存储容量。实验结果表明,我们的方法可以将现实世界中的照片快速转换为高质量的动漫图像,并且性能优于最新方法。
DEMO效果
生活照运行效果
效果还是不错的,有机会可以深入了解下模型结构。
项目地址https://github.com/TachibanaYoshino/AnimeGAN项目paper介绍本文提出了一种将现实世界中的照片转换为动漫风格图像的新颖方法,这在计算机视觉和艺术风格转移方面是一项有意义且具有挑战性的任务。我们提出的方法结合了神经风格转移和生成对抗网络(GAN)来完成此任务。对于此任务,某些现有方法未能获得令人满意的动画效果。现有的方法通常存在一些问题,其中主要的问题主要包括:1)生成的图像没有明显的动画风格纹理; 2)生成的图像丢失了原始图像的内容;3)网络参
传统的
照片
转
漫画
,使用边缘检测、双边滤波器和降采样,得到图像如下,可以看到,噪点很多,有些关键线条也没有展现出来。
本次采用GAN,GAN网络使用的方法是根据图像对去不断地学习,如输入图像1和对应已有的
漫画
B,GAN网络从
图片
1中获取关键特征,不停地生成一张图像C,当C与B的差值很小时停止,当有很多这样地图像对时,我们就有了一个
模型
。输入一张图像,就可以生成一张对应地
漫画
图像,我这次使用的GAN(White-box Cartoon)生成。生成效果:
原始
图片
大小建议为256*256像素,程序中使用的
模型
最近看到一个特别
有意思
的开源
项目
,能把
照片
自动转化成
漫画
效果,经过半个小时的调试,终于跑通了。正先给大家看下实际效果,我在网上的随便搜了一张帅哥的证件
照片
试了下。基本上会把脑袋切出来,然后放大眼睛。
使用的是开源
项目
:https://
github
.com/minivision-ai/photo2cartoon
具体原理直接摘录read.me的一段描述:
人像卡通
风
格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实
照片
转换
为卡通
风
格的非真实感图像。我们的思路是,从大量
照片
/卡通数据中习得
照片
到卡通画
最近看到一个特别
有意思
的开源
项目
,能把
照片
自动转化成
漫画
效果,经过半个小时的调试,终于跑通了。正先给大家看下实际效果,我在网上的随便搜了一张帅哥的证件
照片
试了下。基本上会把脑袋切出来,然后放大眼睛。
漫画
效果后:
使用的是开源
项目
:https://
github
.com/minivision-ai/photo2cartoon
具体原理直接摘录read.me的一段描述:
人像...
根据真实店铺
照片
生成的效果图,一度以为,这就是某个日漫番剧的截图
尽管最近 2019 年的图灵奖颁给了计算机图形学、颁给了皮克斯 3D 动画,但很多人可能认为二维动漫更
有意思
一些。像宫崎骏、新海诚这些大师手绘下的动漫,才有了灵魂,张张都能成为壁纸,而整个日漫也以二维为核心。
如果...
最近对图像处理十分感兴趣,也学着用opencv
实现
各种简单的图像处理,因此,有了下面的实验,就是将
照片
处理成
漫画
的
风
格。思路是从知乎上所得:https://zhuanlan.zhihu.com/p/24416498,该方法对
风
景
图片
漫画
风
格化比较好,但对人的效果还不是很好需要改进,若后续有了好的思路再跟新。对
照片
进行动漫话一般需要四个步骤
**1、边缘检测
2、将边缘检测得到的边缘 以黑色的形
动漫头像素材,
项目
中新建data文件夹放进去
具体思路是,生成器是将一个噪点生成一副假
图片
,然后将假
图片
传给判别器进行判断,如果判别器判断为真,则代码生成器性能很好,而判别器是从真实
图片
中学习
模型
,对生成的假
图片
进行判断,如果判断出来为假则代码判别器性能很好。
关于代码的具体注释已经写上,需要单独开博客讲的内容在前几篇博客里写了,直接上代码吧:
train.py主运行页面:
1. 确定
项目
目的和技术栈。通常,
项目
的README文件会提供这些信息。
2. 理解
项目
结构。
深度学习
项目
通常包括数据处理、
模型
构建、训练和测试等步骤。了解
项目
结构可以帮助你更好地理解代码。
3. 阅读代码注释。
GitHub
上的代码通常会有注释来解释每个函数和代码块的作用和逻辑。阅读注释可以帮助你理解代码更快。
4. 尝试运行代码。如果
项目
提供了数据集或预训练
模型
,你可以尝试运行代码并查看结果。这将帮助你更好地理解代码和
模型
。
5. 学习相关技术。如果你对某些技术或库不熟悉,可以通过阅读文档或参考资料来学习相关知识。这将有助于你更好地理解代码。
6. 提出问题。如果你遇到了问题或不理解某些代码,可以在
GitHub
上提交问题,向作者或其他贡献者寻求帮助。