一张照片,AI生成抽象画(CLIPasso项目安装使用) | 机器学习系列

前言

最近看到一个比较有意思的项目,可以将照片生成对应的抽象画。

项目地址:github地址

看一下项目提供的效果图。

file

是不是很有意思,我果断把项目弄下来自己玩了玩。下面我分享一下安装使用的过程,以供大家参考。

安装

我们先看一下作者给出的安装说明。

file

作者给出docker安装模式和pip安装模式,之前很多篇文章我都是使用pip进行安装部署的,这一次我决定偷懒使用docker方式。下面依次说下我的安装过程,给没有这么操作过的同学演示一下。

拉取镜像

按照作者的命令,在准备好的带显卡服务器上拉取镜像。

docker pull yaelvinker/clipasso_docker

这个命令耗时很长,你要多等等。

启动容器

镜像拉取完成后,我使用的启动命令如下:

docker run --name=hy-c -itd --restart=always --gpus all --shm-size 16G -p 2281:22 --log-opt max-size=50m --log-opt max-file=10 yaelvinker/clipasso_docker

没有按照作者提供的命令,我这里做一下说明。

1、主要将外部的显卡映射到容器内。

2、映射出22端口到外部的2281端口,是为了本地pycharm调试使用。如果有感兴趣的可以参考

Pycharm代码docker容器运行调试

如果不需要类似调试的话,可以去掉这部分的命令。

拉取项目

cd /home
git clone https://github.com/yael-vinker/CLIPasso.git
cd CLIPasso/

目录结构如下

file

使用

在使用之前我们先看一下作者给的一些参数解释。

Optional arguments:

  • --num_strokes Defines the number of strokes used to create the sketch, which determines the level of abstraction. The default value is set to 16, but for different images, different numbers might produce better results.
  • --mask_object It is recommended to use images without a background, however, if your image contains a background, you can mask it out by using this flag with "1" as an argument.
  • --fix_scale If your image is not squared, it might be cut off, it is recommended to use this flag with 1 as input to automatically fix the scale without cutting the image.
  • --num_sketches As stated in the paper, by default there will be three parallel running scripts to synthesize three sketches and automatically choose the best one. However, for some environments (for example when running on CPU) this might be slow, so you can specify --num_sketches 1 instead.
  • -cpu If you want to run the code on the cpu (not recommended as it might be very slow).

简单说明一下

1、第一个参数--num_strokes主要是用来标识笔画数等级的,默认为16。简而言之,数量越大,画面越详细,数量越小,画面越抽象。

2、第二个参数--mask_object是用来扣除背景的,如果需要的话,使用1。

3、第三个参数--fix_scale是用来配置是否需要切图的,如果不配置的话,项目会先将图片转化为1:1的分辨率,如果想要保持原来的分辨率,需要配置为1。

4、第四个参数--num_sketches,默认为跑3次选最好的一次,如果你只想要1次,配置1就行。

5、第五个参数是否使用CPU,就不细说了。

样例一

下面是准备的第一张图,背景为纯白色。

file

执行命令如下

python run_object_sketching.py --target_file "changjinglu.jpg"

执行结果

file

看一下效果

file

可以看出跑了3次。

file

还挺有意思的,大致的轮廓还是比较清晰的。

样例二

第二张图我挑了一张有背景的。

file

执行命令如下

python run_object_sketching.py --target_file "redainiao.jpg" --num_strokes 8 --num_sketches 1 --mask_object 1 --fix_scale 1

参数上,我减少了笔画数,并且需要扣除一下背景以及保留原比例。

执行结果

file

看一下效果

file
file

整体形象还是非常不错的,很清晰的看出鸟的轮廓。

样例三

第三幅图我找了一张蒙娜丽莎的画像,主要想看看不扣背景,油画的抽象画效果。

file

执行命令如下

python run_object_sketching.py --target_file "mengnalisha.jpg" --num_strokes 32 --num_sketches 1 --fix_scale 1

参数上,我增加了一些笔画,保留比例且不扣背景。

执行结果

file

看一下效果

file

哈哈哈,很有喜感,虽然效果不是很好,可能和我设置的笔画数太少有关。留个悬念,大家有兴趣可以加多一些笔画数看看效果。

补充(很关键)

注意看一下这部分代码。

file

在容器化部署安装过程中,镜像是带有该预处理模型的。如果pip安装的话,需要自己下载,google云盘,懂得都懂。所以我把模型放到我的百度云盘上,需要的也可以从下面的链接下载。

链接:https://pan.baidu.com/s/1sHDJu8XS9atyJdcNcfnfNw
提取码:TUAN

总结

很久没有写机器学习这个系列了,其实我自己在github上已经收藏了不少有意思的项目,有时间都会玩玩看。如果有时间还可以把项目改改变成工具分享出来,但是最近比较忙,在研究点新东西。

分享:

Yet high over the city our line of yellow windows must have contributed their share of human secrecy to the casual watcher in the darkening streets, and I was him too, looking up and wondering. I was within and without, simultaneously enchanted and repelled by the inexhaustible variety of life.——《了不起的盖茨比》

如果本文对你有帮助的话,点个赞吧,谢谢!

file

本人CSDN主页地址:剑客阿良_ALiang的主页

一起学习,一起进步。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容