热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不装了,我摊牌了!人像卡通化的功能我实现了

不,装了,我,摊牌,了,人像,卡通,化,的

大家好,我是辰哥!


不装了,我摊牌了!辰哥实现了人像卡通化的功能,玩了绝对上瘾!


今天咱们来搞点有趣的事情:人像卡通化。本文的人像卡通化功能没有使用第三方接口功能,辰哥知道百度有提供接口,并且十来行代码就可以搞定,但是有使用次数限制,所以辰哥就通过搭建神经网络模型,借助数据集进行训练,最后得到模型。


这样得到的人像卡通化的功能可以顺便使用,并且还可以通过提高数据集的质量或者调整参数,让生成的卡通人像更加逼真


先来看一下效果




看完效果之后,是不是觉得很神奇?辰哥告诉你,实际很简单,看完本文之后,你也可以自己动手直接生成你自己喜欢的动漫头像





01

搭建环境


这里辰哥使用的是开源平台github的源码,里面有完整的模型结构、模型文件、数据集等。项目地址在下方

项目如下:https://github.com/minivision-ai/photo2cartoon

可能看到这篇文章的读者没有深度学习的基础,但是没关系,辰哥一步一步教你如何将这个项目搭建起来,并且生成自己的卡通头像!


1.安装库


大家下载好源码之后,在运行之前,先把运行的环境搭建一下。



上面是项目中需要安装的库,实际上通过下面的四个命令安装即可(其中项目tensorflow-gpu说需要在gpu显卡下运行,但是实际上在咱们自己的笔记本或者电脑上运行也可以


pip install onnxruntimepip install face-alignmentpip install pytorchpip install tensorflow==1.15


这里需要安装tensorflow版本是1,非2,不然就出现下面的报错(原因:1和2这两个版本很很大区别)



2.下载模型和数据集


从github上下载好代码之后,其目录结构如下:



这里给大家简单介绍一下相关文件夹和文件作用是什么?

文件夹

dataset:存放训练数据集

images:存放测试数据集(预测模型效果所使用的图片存放文件夹)

models:训练好的模型存放在该目录下

utils:里面存放一些处理图片,模型结构等py文件


Py文件:

train.py:训练模型

test.py:测试模型(生成一张动漫人像图片)


主要就是这两个py文件需要去了解,即如何训练模型和使用模型(生成动漫人像图)



在项目中已提供了训练好的模型和数据集



在项目中还没有包含这些文件(已训练好模型、数据集等),需要我们再去下载,通过上面的下载地址,下载好之后再放入对应的文件夹即可。


这样我们就将这个项目的环境搭建完毕!




02

生成人像动漫图


1.训练模型


已下载好了训练模型,想直接使用的可以跳过这一步,直接进行测试生成人像动漫图

运行环境搭建完毕之后,下面可以开始进行训练模型。


先是对数据集进行预处理:

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


然后开始训练

python train.py --dataset photo2cartoon


如果是下载了预训练模型后,也可以在预训练模型的基础上进行训练

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


训练结束之后的模型保存到models文件夹中。


2.测试生成人像动漫图


将需要生成动漫人像的原图放到images下:



执行生成命令:

# 使用默认模型python test.py --photo_path ./images/lx.jpg --save_path ./images/cartoon_lx.png# 使用onnx模型python test_onnx.py --photo_path ./images/lx.jpg --save_path ./images/cartoon_lx.png


项目中提供了两种模型,因此在执行生成命令时也有两个(选择其中一条执行即可),其中原图片是:lx.jpg,生成的动漫人像是:cartoon_lx.png


运行结果如下:




可以看到由一张真人人像图成功的生成了动漫人像图。


整个过程还是比较简单的,没有学过深度学习的小伙伴也可以将代码跑起来!!




03

小结


本文中教会了大家如何通过一张真人图去生成对应的动漫图,在文中也详细地讲解了如何去搭建环境,并代码跑起来。

鉴于可能很多读者不是学习深度学习方向的,所以文中就不太细于讲解代码,只是教会大家如何将代码跑起来,感兴趣的读者可以自己尝试!

一定要动手尝试一定要动手尝试一定要动手尝试!


最后说一声:原创不易,求给个赞、在看、评论


往期精彩回顾




啊!公众号破1万粉了!!!


办公利器!用Python批量识别发票并录入到Excel表格


办公利器!用Python快速将任意文件转为PDF



本文分享自微信公众号 - Python研究者(zyzx3344)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


推荐阅读
  • 在Windows环境下离线安装PyTorch GPU版时,首先需确认系统配置,例如本文作者使用的是Win8、CUDA 8.0和Python 3.6.5。用户应根据自身Python和CUDA版本,在PyTorch官网查找并下载相应的.whl文件。此外,建议检查系统环境变量设置,确保CUDA路径正确配置,以避免安装过程中可能出现的兼容性问题。 ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在Conda环境中高效配置并安装PyTorch和TensorFlow GPU版的方法如下:首先,创建一个新的Conda环境以避免与基础环境发生冲突,例如使用 `conda create -n pytorch_gpu python=3.7` 命令。接着,激活该环境,确保所有依赖项都正确安装。此外,建议在安装过程中指定CUDA版本,以确保与GPU兼容性。通过这些步骤,可以确保PyTorch和TensorFlow GPU版的顺利安装和运行。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 本文探讨了BERT模型在自然语言处理领域的应用与实践。详细介绍了Transformers库(曾用名pytorch-transformers和pytorch-pretrained-bert)的使用方法,涵盖了从模型加载到微调的各个环节。此外,还分析了BERT在文本分类、情感分析和命名实体识别等任务中的性能表现,并讨论了其在实际项目中的优势和局限性。 ... [详细]
  • PyTorch 使用问题:解决导入 torch 后 torch.cuda.is_available() 返回 False 的方法
    在配置 PyTorch 时,遇到 `torch.cuda.is_available()` 返回 `False` 的问题。本文总结了多种解决方案,并分享了个人在 PyCharm、Python 和 Anaconda3 环境下成功配置 CUDA 的经验,以帮助读者避免常见错误并顺利使用 GPU 加速。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 基于 Bottle 框架构建的幽默应用 —— Python 实践 ... [详细]
author-avatar
A_2na轻奢主义总店访烟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有