用 python 快速「卡通化」人物头像

news/2024/11/8 15:08:59/

大家好,我是天作。

这个项目让我想起了以前玩QQ秀的时光。有了这个项目,再也不用找同学了,我自己也可以把头像卡通化了。

该项目为小视科技卡通肖像探索项目。可使用微信扫描下方二维码或搜索“AI卡通秀”小程序体验卡通化效果。

项目地址:

https://github.com/minivision-ai/photo2cartoon

下图是我的头像、不得不说还真是神似。

人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。

该项目的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。

项目所需的主要依赖库如下:

  • python 3.6

  • pytorch 1.4

  • tensorflow-gpu 1.14

  • face-alignment

  • dlib

训练

1.数据准备

训练数据包括真实照片和卡通画像,为降低训练复杂度,该项目对两类数据进行了如下预处理:

  • 检测人脸及关键点。

  • 根据关键点旋转校正人脸。

  • 将关键点边界框按固定的比例扩张并裁剪出人脸区域。

  • 使用人像分割模型将背景置白。

项目开源了204张处理后的卡通画数据,您还需准备约1000张人像照片(为匹配卡通数据,尽量使用亚洲年轻女性照片,人脸大小最好超过200x200像素),使用以下命令进行预处理:

python data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath

将处理后的数据按照以下层级存放,trainAtestA中存放照片头像数据,trainBtestB中存放卡通头像数据。

├── dataset└── photo2cartoon├── trainA├── xxx.jpg├── yyy.png└── ...├── trainB├── zzz.jpg├── www.png└── ...├── testA├── aaa.jpg├── bbb.png└── ...└── testB├── ccc.jpg├── ddd.png└── ...

2.训练

重新训练:

python train.py --dataset photo2cartoon

加载预训练参数:

python train.py --dataset photo2cartoon --pretrained_weights models/photo2cartoon_weights.pt

测试

将一张测试照片(亚洲年轻女性)转换为卡通风格:

python test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png

我把项目的源码都打包好了,想研究源码的同学可在后台回复 卡通 。

-END-

往期精彩

1、用python更换“必应图片”为“桌面壁纸”2、用python爬取海贼王漫画推送kindle
3、python学习,100天从新手到大师@GitPython
一个有料又有颜的编程技术号

  在看”  我吗?

 

http://www.ppmy.cn/news/709576.html

相关文章

【Python】爬取微信好友头像完成马赛克拼图~

代码已重新整理上传到了我的KLab,为了更好的阅读体验可点击🔗【千图成像】爬取微信好友头像完成马赛克拼图🧩查看~ 马赛克拼图 何谓马赛克拼图(千图成像),简单来说就是将若干小图片平凑成为一…

【PyTorch】12 生成对抗网络实战——用GAN生成动漫头像

GAN 生成动漫头像 1. 获取数据2. 用GAN生成2.1 Generator2.2 Discriminator2.3 其它细节2.4 训练思路 3. 全部代码4. 结果展示与分析小结 深度卷积生成对抗网络(DCGAN):Unsupervised Representation Learning with Deep Convolutional Generative Advers…

航海王燃烧意志服务器响应格式非法,航海王燃烧意志充值异常怎么处理 航海王燃烧意志充值异常申诉方法_斗蟹游戏网...

【斗蟹-航海王燃烧意志】航海王燃烧意志游戏中玩家在充值后发现没有到账,那要在怎么处理充值异常,下面小编带大家一起看看航海王燃烧意志充值异常申诉方法,希望能在游戏中帮到大家。 在航海王燃烧意志手游中,不少朋友在充值后彩钻…

这顶海贼王的帽子,我Python给你带上了 | 【人脸识别应用】

微信公众号:AI算法与图像处理如果你觉得对你有帮助,欢迎分享和转发哈 https://zhuanlan.zhihu.com/p/32299758?utm_sourcewechat_session&utm_mediumsocial&utm_oi704056637840695296 内容目录 故事起因思路与实现准备工作详细代码和效果总结1.…

程序员的发展之道---海贼王(山治)

对于日本动漫,我唯一喜欢,也是一直在追的就是海贼王,尤其喜欢里面的厨师山治,至于为什么喜欢他,也许是因为他绅士,儒雅,对梦想的执着 当然这只是我的个人看法,但是就是这样一个没有超…

【数据结构与算法】Huffman编码/译码(C/C++)

实践要求 1. 问题描述 利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。对于双工信道(即可以…

Vuejs 3.0 正式版发布!One Piece. 代号:海贼王

文末有送书福利 译者:夜尽天明 (译者授权转载) 原文地址:https://mp.weixin.qq.com/s/0oet-MTo__LWNZNYl5Fpqw Vue 团队于 2020 年 9 月 18 日晚 11 点半发布了 Vue 3.0 版本。 那个男人总喜欢在深夜给我们带来意外惊喜&#xff0…

如何查看 MySQL 建表时间

MySQL是一款性能良好,易于使用的关系型数据库管理系统。我们可以使用 SQL 语句查看 MySQL 建表时间,以便获取建立表时的更多信息。 1、 首先,在MySQL中执行以下命令,获取表的列表: SELECT create_time,table_name FR…