实现制作动漫版的你---动漫风格迁移网络AnimeGANv2

news2024/10/7 17:28:21

AI依然火

最近居家太无聊了,无意见逛到了AI社区,发现最近AI算法热度还是很高,什么AI绘画,还有什么AI作诗,写歌。可以说,人工智能领域在一步步挑战人类的高度,从循规蹈矩的简单工作,到高难度的智慧挑战,现在已经在挑战人类最后防线—思想,创作!不过我还是觉得人工智能的路还很遥远!

今天我想分享的这个算法其实已经不是新算法了,去年就已经出来了,只是最近发现比较有趣,可以记录一下!

动漫风格化

其实现在好多相机或者软件都有一种功能叫做动漫风格化,就是将普通的照片图片变成动漫的那种二维风格,看着像画笔画出来的动漫场景。
在这里插入图片描述
在这里插入图片描述
但是很多软件对于图片动漫化的处理效果很垃圾,或者疏忽了一些细节,特别是对于人脸的处理,动漫化过后可能都认不出自己了,因为特征被过度美化或者漏了。

AnimeGANv2网络

AnimeGANv2就是可以实现动漫风格迁移学习的网络,AnimeGANv2之前有很多其他的实现生成动漫风格的网络,像CartoonGAN,CycleGAN,ComboGAN,AnimeGANv1等等,这些都是可以将普通图片转换成动漫风格的网络算法,但是其实各有千秋,转化的最终风格也是各不相同。AnimeGANv2是AnimeGANv1的升级版,据说是在网络损失计算训练数据上面做了改进,网络方面的改动好像是采用了VGG19,但是具体操作不太懂(可以参考第一代论文《AnimeGAN: a novel lightweight GAN for photo animation》)。然后就是训练数据的扩大,新增了宫崎骏新海诚金敏这三位日漫大佬的作品,这样的好处不用多说,生成的动漫图片会更加多元化,而且更加接近真正的动漫。

我们先来看看AnimeGANv2官方提供的测试图片的转换效果:
他们提供的亚洲人图片好像都是韩国的明星,比如IU,孔刘的图片:
在这里插入图片描述
在这里插入图片描述
威尔史密斯:
在这里插入图片描述
其实上面的图片转换没有大问题,基本保留了人物原有的特点,可以看出原型人物的大致特征,但是孔刘这张图片其实不太像,这里其实可以看出算法有个问题,这个我在后面转化许多身边男性朋友的照片时也体现了出来,这个后面总结的时候再说。

模型使用

怎么用这个网络模型呢,说实话用网上的那些软件也可以做出动漫风格的图片,但是我感觉没这个效果好,而且这个是离线的,更加能保护自己的隐私(虽然大数据时代没有隐私!!),总之,我们是可以通过代码直接用已经训练好的模型的,而且我们还可以训练自己的模型,我们有时间可以自己制作训练集,把什么国漫的一些代表作也拿去训练,没准可以让模型更加强大呢,对吧!

官方提供了两个版本的源码,另外一种太麻烦了,我用的是这种pytorch版本的:https://github.com/bryandlee/animegan2-pytorch

将源码下载下来之后操作其实就很简单了,和前面我用YOLO5的那个流程是一样的,因为现在的预训练模型使用流程都是大同小异的一套,就是为了方便大家的使用。安装依赖包的流程就是和我的这篇文章一样的流程,我们直接进入使用的步骤。

这里有三个文件夹需要重点说明一下:

首先是/weights文件夹,这个文件夹里面有四个权重参数,我们只需要用两个,一个是AnimeGANv1,一个是AnimeGANv2的参数,两个我们都可以试试,AnimeGANv2的效果明显要比AnimeGANv1要好,因为前面也说了AnimeGANv2是AnimeGANv1的升级版,当然,也可以试试其他两个模型的参数,反正AnimeGANv2的效果是我觉得最好的,我们的主角是它:
在这里插入图片描述
然后是/sample/inputs文件夹,这个文件夹里面装的就是我们需要转换的原型图片,最后就是模型的输出文件,我们可以创建一个/results/文件夹,这个文件夹就是装模型转化成的动漫风格的图片的。

有了这些文件夹过后,我们就可以在命令行输入一行命令运行即可运行(test.py文件就是我们的预测函数,input_dir和output_dir就填自己的路径,device是选择CPU和GPU的,如果没装GPU的化就默认CPU,就可以不用填这个参数):

python test.py --checkpoint ./weights/face_paint_512_v2.pt --input_dir [image_folder_path] --output_dir [image_folder_path] --device [cpu/cuda]

我们来看看模型的效果,我就拿一张自己的一张丑照转化后的样子作为预测结果展示:
在这里插入图片描述
这张照片我自己看着很奇怪,我也拿了身边朋友的照片做实验,都发现了一些共同的问题,这其实也包括前面孔刘那张照片的问题,我个人浅薄地评论这个算法有两个很明显的不足:
1.男性的图片转化成为动漫风格的图片过后有点“娘”了,不知道有没有和我感觉一样的,这其实也是我觉得孔刘那张动漫不太像他的原因,主要的原因我觉得就是动漫化后的肤色太过于白皙细腻了,所以导致某些男性特征被掩盖,而原本肤色相对偏黑的同学应该影响会小一点,转换后会非常帅气!

2.单眼皮变双眼皮,我转换了许多人像图片进行尝试,发现单眼皮的同学在经过动漫化后都变成了大双眼皮,虽然双眼皮看着是显得眼大好看,但是少了那一味真实,容易让人认不出自己哈哈哈。其实我感觉这是训练数据的问题,可能训练数据采集的动漫人物角色都是双眼皮吧,所以模型没有学到单眼皮的识别类型哈哈哈。

写在最后

这个网络还是挺好玩的,而且可塑性很高,我们可以通过自己制作训练数据来实现更加广泛的动漫画风。本人才疏学浅,如果有错误或者理解不到位的地方请指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【笔试强训】Day1

🌈欢迎来到笔试强训专栏 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&#x…

阿里云云数据库Redis的核心概念以及正确购买姿势(十五)

文章目录1.云数据库Redis基本介绍1.1.什么是云数据库Redis1.2.Redis标准版单副本架构1.3.Redis标准版双副本架构1.4.Redis集群版单副本架构1.5.Redis集群双副本架构1.6.Redis集群的直连架构1.7.Redis集群读写分离架构2.购买云数据库Redis2.1.创建Redis实例2.2.配置商品类型及可…

WPF 控件专题 TreeView控件详解

1、TreeView介绍 命名空间:System.Windows.Controls TreeView 表示一个控件,该控件在树结构(其中的项可以展开和折叠)中显示分层数据。 TreeView 是一个 ItemsControl,这意味着它可以包含任何类型的对象的集合 (&a…

进程的通信 - WM_COPYDATA

在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。其中使用SendMessage向另一进程发送WM_COPYDATA消息是一种比较经济实惠的方法。 WM_COPYDATA通信需要将传递的消息封装在COPYDATASTRUCT结构体中,在SendMessage消息传递函数时作…

[附源码]java毕业设计校园超市进销存管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

基于PETALINUX的以太网调试

1、建立工程 2、编译工程,导出xsa文件 3、建立petalinux工程 4、生成boot和image.ub文件,将文件复制到系统为fat32的sd卡中。 5、插上串口,插上网线 6、vm中需要桥接网络,有正确的IP地址 7、通过串口,配置板卡的以太…

前端面试题(JS部分)

目录一, 数据类型1,什么是引用类型,值类型?2,哪些值类型3,哪些引用类型4,判断数据类型5,typeof判断6,instanceof7,construtor二,浅拷贝 / 深拷贝1…

好物推荐:文字转语音朗读软件哪个好?

不知道大家有没有像我一样的,对“语音播放”、“语音朗读”是又爱又恨的。有时工作繁忙,而同事或客户发来语音资料需要整理时,就会很烦躁,因为语音的整理起来比文字的繁琐一些。而像有时在家休息,还得看一些资料时&…

亚马逊鲲鹏系统之亚马逊买家号养号时需要注意哪些?

经常做亚马逊测评的朋友应该都清楚,亚马逊买家号养号是很有必要的,如果一个新买家号没有养过号就进行刷单测评,那么是很容易就死号了的。但是想要养好号也不是那么容易的,需要注意好多问题。 第一:养号的重点是号&…

Linux 软连接与硬链接

文件链接概念介绍: 软连接文件: 概念介绍:用于存放指向源文件的路径信息(文件快捷方式) 应用场景:对于要操作文件数据提供方便 硬链接介绍 硬链接不能跨分区创建 补充: 1.目录硬链接数代…

k8s-List机制及resourceVersion语义

kube-apiserver 核心职责 提供Restful API;代理集群组件,如dashboard、流式日志、kubectl exec 会话;缓存全量的etcd 数据且无状态服务可水平扩展。 kube-List操作 绝大部分情况下,kube-apiserver 都会直接从本地缓存提供服务&…

MybatisX插件 逆向工程

MybatisX插件 逆向工程 目录MybatisX插件 逆向工程安装插件使用插件安装插件 File->Settings->Plugins 使用插件 点击DataSource->点击“” 点击DataSource->点击MySQL 驱动选择MySQL for 5.1 输入主机IP、端口号、数据库的用户名和密码->点击Test Connec…

浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

我们工作中一直强调要做架构设计、系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计、前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享&#…

【机器学习】SVM入门-硬间隔模型

本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com 目录 一. SVM的目标和思想 1.1 SVM硬间隔模型的原始目的 1.2 SVM的直接目标 1.3 什么是支持向量 二. SVM的支持平面的表示方式 2.1 支持面表示方式的初步思路 2.2 初步思路的缺陷与改进 2…

基于Vue+ElementUI+MySQL+Express的学生管理系统(2)

2.搭建Express Web服务器 1.在E:\vue\shiyan9路径下创建score-server的文件夹放置Express Web服务器的相关文件。 图3 初始化package.json的信息 2.用Vscode打开score-server。并创建如图4所示的项目结构图。 以下目录中的文件依次为: 考试信息增删改查的接口。…

【BP回归预测】改进的鲸鱼算法优化BP神经网络回归预测(多输入单输出)【含Matlab源码 2184期】

⛄一、鲸鱼算法优化BP神经网络简介 1 鲸鱼优化算法(Whale Optimization Algorithm,WOA)简介 鲸鱼优化算法(WOA),该算法模拟了座头鲸的社会行为,并引入了气泡网狩猎策略。 1.1 灵感 鲸鱼被认为是世界上最大的哺乳动物…

DBCO-mPEG,5 kDa,二苯并环辛炔-MPEG, 5 KDA白色结晶状

●外观以及性质: DBCO-mPEG,5 kDa白色结晶状,其的分子量有多种,10kDa,20kDa,30kDa等一系列的。DBCO活化的聚乙二醇化试剂通过无铜“点击化学”反应与叠氮化物反应,形成稳定的三唑,不需要铜催化剂…

evpp mingw64编译过程

evpp是奇虎360的基于libevent的网络通讯库,源代码不错: https://github.com/Qihoo360/evpp/blob/master/readme_cn.md 它提供vs的编译结构,我用的是mingw64cmake,使用gnu12,把修改过程分享给大家。 步骤1. 修改CMake…

软考中级系统集成项目管理工程师自学好不好过?

可以试试,中级系统集成算是比较好考的一科目,每天的通过率都有30%的!是软考中通过率比较高的。 至于是否自学,有时间有精力就可以自学,在校生一般学习时间多,可以各个渠道搜集信息资料,可以自学…

高分子PEG点击试剂DBCO-PEG20K-OMe,二苯并环辛炔-PEG20K-甲基

DBCO-PEG20K-OMe​产品描述: DBCO-PEG20K-OMe属于高分子PEG点击试剂,DBCO 试剂是一类点击化学标记试剂,含有非常活泼的 DBCO((二苯并环辛炔)基团,​DBCO 试剂可以通过无铜点击化学与叠氮化物标…