零门槛人像转卡通、GIF表情包,这个项目不仅开源,还做成了小程序
机器之心报道
参与:魔王、张倩、Jamin
之前开源的「人脸变卡通」项目往往可以提供很多鬼畜素材,要么嘴歪眼斜,要么脸型扭曲,甚至让你的五官看上去是随便放到脸盘里的,完全不像阳间该有的画风……但小视科技最近开源的一个项目似乎改变了这种印象,不仅可以生成逼真的卡通头像,还能利用微信小程序做成动图表情包,普通人也可以零门槛上手。
卡通图像往往有清晰的边缘,平滑的色块和经过简化的纹理,与其他艺术风格有很大区别。使用传统图像处理技术生成的卡通图无法自适应地处理复杂的光照和纹理,效果较差;基于风格迁移的方法无法对细节进行准确地勾勒。
数据获取难度大。绘制风格精美且统一的卡通画耗时较多、成本较高,且转换后的卡通画和原照片的脸型及五官形状有差异,因此不构成像素级的成对数据,难以采用基于成对数据的图像翻译(Paired Image Translation)方法。
照片卡通化后容易丢失身份信息。基于非成对数据的图像翻译(Unpaired Image Translation)方法中的循环一致性损失(Cycle Loss)无法对输入输出的 id 进行有效约束。
python 3.6
pytorch 1.4
tensorflow-gpu 1.14
face-alignment
dlib
git clone https://github.com/minivision-ailab/photo2cartoon.git
cd ./photo2cartoon
https://drive.google.com/open?id=1eDNGZT3jszHLXQ9XGIUPtcu72HdBmHuX
https://pan.baidu.com/s/1DxWWBAoaBpsei_rynZUZzw 提取码:z2nm
人像卡通化预训练模型:photo2cartoon_weights.pt,存放在 models 路径下。
头像分割模型:seg_model_384.pb,存放在 utils 路径下。
人脸识别预训练模型:model_mobilefacenet.pth,存放在 models 路径下。(From: InsightFace_Pytorch)
卡通画开源数据:cartoon_data,包含 trainB 和 testB。
python test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png
检测人脸及关键点。
根据关键点旋转校正人脸。
将关键点边界框按固定的比例扩张并裁剪出人脸区域。
使用人像分割模型将背景置白。
python data_process.py --data_path YourPhotoFolderPath --save_path YourSaveFolderPath
├── dataset
└── photo2cartoon
├── trainA
├── xxx.jpg
├── yyy.png
└── ...
├── trainB
├── zzz.jpg
├── www.png
└── ...
├── testA
├── aaa.jpg
├── bbb.png
└── ...
└── testB
├── ccc.jpg
├── ddd.png
└── ...
python train.py --dataset photo2cartoon
python train.py --dataset photo2cartoon --pretrained_weights models/photo2cartoon_weights.pt
机器之心第二期「AI 开发者成长计划」系列公开课已正式开始,本期主题为《轻松上手开源框架 MindSpore》。该系列课程第一课将于 4 月 23 日 20:00 开讲,欢迎读者报名学习。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 1 习近平同巴西总统卢拉共同会见记者 7904446
- 2 中方调整对美进口商品加征关税措施 7809483
- 3 中国巴西关于乌克兰危机的联合声明 7713141
- 4 中拉去年贸易额超5184亿美元 7617041
- 5 国补版iPhone16Pro被抢空 7523368
- 6 特朗普突然提到“统一” 台当局急了 7426986
- 7 哪吒汽车被申请破产 7332429
- 8 京东美团等外卖平台被五部门约谈 7237690
- 9 10名干部学习期间违规吃喝 1人死亡 7144064
- 10 DeepSeek回应“崩了” 7047075