前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快来试试用 Python 将你的照片转化为“速写”

快来试试用 Python 将你的照片转化为“速写”

原创
作者头像
程序员小二
修改2022-01-13 11:12:50
3670
修改2022-01-13 11:12:50
举报
文章被收录于专栏:python小分享python小分享

Photo-Sketching 一个能将照片的轮廓识别出来并将其转化为“速写”型图像的开源模块。

比如,这只小狗:

图片
图片

经过模型的转化,会变成卡通版的小狗:

图片
图片

当然,也不是什么照片都处理的好,比如这个风景画就不行:

图片
图片

摇身一变,成了抽象风格:

图片
图片

非常秀,这很人工智能。

这个模块的使用也相对简单,下面给大家带上全方面的教程:

1.虚拟环境及依赖安装

这个项目推荐大家直接用Anaconda进行环境的构建和开发,因为作者提供了一个 environment.yml 文件,你只需要输入以下命令,就能一键安装环境和依赖:

代码语言:javascript
复制
conda env create -f environment.yml

此外,推荐大家用VSCode编辑器来编写像这样的小型Python项目。

2.下载预训练模型

下载完成后解压文件,将 latest_net_D.pth 和 latest_net_G.pth 放置到 Checkpoints 文件夹下:

图片
图片

3.运行预训练模型

接下来,我们需要修改使用预训练模型的启动脚本,这些脚本都放在 PhotoSketch\scripts 下,我们需要使用的是 test_pretrained.cmd 或者 test_pretrained.sh 这两个脚本。

如果你是 windows 系统,请修改 test_pretrained.cmd 脚本,重点是dataDir、results_dir、checkpoints_dir:

图片
图片

dataDir 指向到 PhotoSketch 所在的文件夹目录,如果你是跟我一样这么配的,results_dir 只需要配成 *%dataDir%\PhotoSketch\Results* 即可,checkpoints_dir 则为 *%dataDir%\PhotoSketch\Checkpoints* 。

如果你是macOS或者Linux,则修改 test_pretrained.sh 文件,修改方法与上面windows 的一样,只不过 反斜杠 "" 要换成 斜杆 "/" 。

修改完脚本后,打开命令行/终端,输入以下命令,就会将你 PhotoSketch\examples 目录下的文件转化为“速写”。

windows:

代码语言:javascript
复制
scripts\test_pretrained.cmd

Linux/MacOS:

代码语言:javascript
复制
./scripts/test_pretrained.sh

转化结果可以在 PhotoSketch\Results 中看到,如下两图所示。

待转化目录:

图片
图片

转化后:

图片
图片

可以看到效果其实不是非常好,由于是作者预训练的模型,所以效果不好也正常,如果大家需要的话,可以自己针对性地拿一些图像训练模型,并针对性地做识别,这样做效果才是最好的。

你需要训练或测试自己的模型也非常简单:

  • 在仓库的根目录中,运行 scripts/train.sh 可以训练模型
  • 在仓库的根目录中,运行 scripts/test.sh 可以测试val集或测试集

当然训练过程肯定没这么简单,你会遇到不少问题,但是我相信大部分都是存放图片的目录结构上的问题,大家如果有兴趣可以动手试试。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注我。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档