公众号关注 “程序员遇见GitHub
设为“星标”,重磅干货,第一时间送达。
这是阿三的第 75期分享 
作者 | 阿三

首发 | 程序员遇见GitHub
大家好,我是阿三,今天给大家带来的一个自动把头像转化为漫画效果的开源项目

一. photo2cartoon

这个开源项目是做人像卡通风格渲染,将真实照片转换为卡通风格的非真实感图像。
作者的思路是:
从大量照片/卡通数据中习得照片到卡通画的映射。一般而言,基于成对数据的pix2pix方法能达到较好的图像转换效果,但本任务的输入输出轮廓并非一一对应,例如卡通风格的眼睛更大、下巴更瘦;且成对的数据绘制难度大、成本较高,因此我们采用unpaired image translation方法来实现。
Unpaired image translation流派最经典方法是CycleGAN,但原始CycleGAN的生成结果往往存在较为明显的伪影且不稳定。近期的论文U-GAT-IT提出了一种归一化方法——AdaLIN,能够自动调节Instance Norm和Layer Norm的比重,再结合attention机制能够实现精美的人像日漫风格转换。
与夸张的日漫风不同,我们的卡通风格更偏写实,要求既有卡通画的简洁Q萌,又有明确的身份信息。为此我们增加了Face ID Loss,使用预训练的人脸识别模型提取照片和卡通画的ID特征,通过余弦距离来约束生成的卡通画。
此外,我们提出了一种Soft-AdaLIN(Soft Adaptive Layer-Instance Normalization)归一化方法,在反规范化时将编码器的均值方差(照片特征)与解码器的均值方差(卡通特征)相融合。
模型结构方面,在U-GAT-IT的基础上,我们在编码器之前和解码器之后各增加了2个hourglass模块,渐进地提升模型特征抽象和重建能力。
实际操作也很简单:
1. Clone 上述项目
2. 安装python 3.6、pytorch 1.4、tensorflow-gpu 1.14、face-alignment、dlib一定要用conda
3. 安装过程中有很多坑,比如pillow的版本要调整之类的
4. 下载pretrain的模型
5. 执行以下命令,生成图片会在save_path路径下找到:python3 test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png
更加详细的步骤在readme中。

最后的效果:
想要拥有自己的卡通头像的小伙伴快快尝试起来吧~

 二 希望和大家有互动

阿三在写作过程中希望和大家进行互动,具体形式,大家可以用打卡形式进行留言,内容可以是对这篇文章看法,和希望阿三在分享什么。形式如下“
打卡+第几天+内容,比如:
打卡+第一天+希望明天分享机器学习入门的知识。
从6月18日开始,新的一轮打卡已经开始!请各位小伙伴留意!
为了鼓励大家反馈,阿三也有一定的反馈,对于打卡满30天的童鞋前五名(前几名代表最早开始在后台告知阿三的满足要求童鞋,如果有6名童鞋满足要求,但是只给最早5个告诉阿三已经打满30天,截图为证,后台截图发送告知),阿三送出128元的红包~
阿三谢谢大家支持!一起做好内容,能对大家有一点帮助是阿三最大的心愿。
推荐阅读:
继续阅读
阅读原文