最近看到一个特别有意思的开源项目,能把照片自动转化成漫画效果,经过半个小时的调试,终于跑通了。正先给大家看下实际效果,我在网上的随便搜了一张帅哥的证件照片试了下。基本上会把脑袋切出来,然后放大眼睛。

使用的是开源项目:https://github.com/minivision-ai/photo2cartoon

具体原理直接摘录read.me的一段描述:

人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。一般而言,基于成对数据的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模块,渐进地提升模型特征抽象和重建能力。

由于实验数据较为匮乏,为了降低训练难度,我们将数据处理成固定的模式。首先检测图像中的人脸及关键点,根据人脸关键点旋转校正图像,并按统一标准裁剪,再将裁剪后的头像输入人像分割模型去除背景。

实际操作也很简单:

Clone 上述项目

安装python 3.6、pytorch 1.4、tensorflow-gpu 1.14、face-alignment、dlib一定要用conda

安装过程中有很多坑,比如pillow的版本要调整之类的

下载pretrain的模型(提取码:z2nm)放到model路径下:https://pan.baidu.com/s/1DxWWBAoaBpsei_rynZUZzw

执行以下命令,生成图片会在save_path路径下找到:python3 test.py --photo_path ./images/photo_test.jpg --save_path ./images/cartoon_result.png

原文链接:https://blog.csdn.net/buptgshengod/article/details/105715345

如何用深度学习模型为自己做个漫画画像(含代码流程)(转载)相关推荐

  1. 手把手:教你如何用深度学习模型预测加密货币价格

    如果要评选2017三大流行金酸梅奖,毫无疑问,获奖的肯定是指尖陀螺.人工智能以及加密货币.加密货币是一项颠覆性的技术,它背后的原理引人注目,我十分看好它未来的发展. 实际上,我并没有持有任何加密货币, ...

  2. 深度学习参数初始化(二)Kaiming初始化 含代码

    目录 一.介绍 二.基础知识 三.Kaiming初始化的假设条件 四.Kaiming初始化的简单的公式推导 1.前向传播 2.反向传播 五.Pytorch实现 深度学习参数初始化系列: (一)Xavi ...

  3. 深度学习基础技术分析2:神经网络(含代码分析)

    1. 模型图示 感知机仅能解决线性的问题,这个局限性使得其无法适应多数的实际应用.因此人们提出了神经网络.如图2.1所示. 图2.1 神经网络 2. 相关技术 技术2.1 隐藏层 从结构上看,神经网络 ...

  4. C++调用Python文件,TensorFlow和PyTorch构建的深度学习模型,无法使用GPU的情况分析。

    C++调用Python深度学习模型,包含TensorFlow和PyTorch等构造的模型,然后使用GPU出现问题.包含C++调用Python函数,C++加载模型到GPU,GPU内存占用过大,计算完毕内 ...

  5. 利用多 GPU 加速深度学习模型训练

    01 - 前言 深度学习模型通常使用 GPU 训练,因为 GPU 具有相比 CPU 更高的计算能力,以 Tesla V100 为例,使用 Tensor Core 加速的半精度浮点计算能力达到 125 ...

  6. 实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型

    翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCognition.ai 的创始人. Deep Cognition (深度认知) 建立的深度学习工作室,为很多准备部署深度学习框 ...

  7. 实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 109 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCogn

    实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型 转载 2017年12月27日 00:00:00 标签: 109 编辑 删除 翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 ...

  8. 如何用深度学习做自然语言处理?这里有份最佳实践清单

    如何用深度学习做自然语言处理?这里有份最佳实践清单 By 机器之心2017年7月26日 14:16 对于如何使用深度学习进行自然语言处理,本文作者 Sebastian Ruder 给出了一份详细的最佳 ...

  9. 用lstm模型做预测_使用LSTM深度学习模型进行温度的时间序列单步和多步预测

    本文的目的是提供代码示例,并解释使用python和TensorFlow建模时间序列数据的思路. 本文展示了如何进行多步预测并在模型中使用多个特征. 本文的简单版本是,使用过去48小时的数据和对未来1小 ...

最新文章

  1. 「可解释ML/3D深度学习等」Github六月最受欢迎的机器学习库来啦
  2. 股票交易应用系统的性能分析工具介绍(一)
  3. Hihocoder-1135-Magic Box
  4. 五一黄金周之二:可以吃人的博物馆
  5. 新手学习C语言编程的8个致命错误,你中招了吗?
  6. vue3.0中使用Element-plus默认英文组件修改为中文
  7. AppScan---web安全检测及分析工具使用教程
  8. python对八大常见排序算法的总结和实现以及时间消耗分析
  9. 轻松掌握MySQL数据库锁机制的相关原理
  10. 可靠性测试设备技术含量_可靠性测试中心
  11. 微信mysql抽奖系统源码_微信互动游戏营销活动抽奖系统 v1.0
  12. Sonic 开源移动端云真机测试平台 - 用例编写与回放流程实例演示,任务定时执行、图像相似度定位、公共步骤、公共参数、测试套件等
  13. 怎么查询逆水寒服务器角色信息,逆水寒服务器状态
  14. vmware虚拟机和云服务器区别,容器云与虚拟机云区别
  15. “中国保险IT应用高峰论坛2009”现场实录
  16. CLR,CTS,CLS
  17. 发现了JMX的好东西,大家分享一下!!
  18. Oracle报ORA-01722错误的排查经验
  19. 单反相机tf卡用sd卡套稳定吗_单反相机tf卡用sd卡套稳定吗
  20. MS中Perl脚本实现原子随机掺杂(或生成空位)

热门文章

  1. i7 10700K和i9 9900K哪个好
  2. 大数据核心技术与应用论坛落幕 各路大伽云集畅谈产业
  3. 【java图片验证码】Java 服务端生成图片验证码及验证
  4. Android把商品添加到购物车的动画效果(贝塞尔曲线)
  5. 信封问题(错排算法)
  6. “输入/输出(I/O)系统”学习提纲
  7. Linux 内存管理 详解(虚拟内存、物理内存,进程地址空间)
  8. 使用CSS - mask 实现视频弹幕人物遮罩过滤
  9. 明知山有fu,偏向釜山行
  10. 对多维宇宙的理解(时间、空间、超越光速,空间时间旅行)