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

内容

前言

安装

拉图像

启动容器

拉项目

采用

示例 1

示例 2

示例 3

补充(非常重要)

总结

前言

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

项目地址:github地址

看看项目提供的效果图。

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

是不是很有趣,我决定把这个项目放下来,自己玩。下面我分享一下安装和使用过程,供大家参考。

安装

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

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

作者给出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容器运行调试 | 机器学习系列_剑客阿良_ALiang的博客-CSDN博客_docker调试代码介绍常规的本地化运行机器学习代码,安装Anaconda+cuda显卡驱动支持,许多文章都有介绍,不在此多做赘述了。本文主要是为了解决在工作环境中,本机电脑没有显卡,需要将程序运行在带显卡的远程服务器上。本文会介绍如何部署使用显卡的docker容器、如何使用pycharm连接docker容器运行机器学习代码。版本Pycharm: 2020.1.3docker:19.03.12python: 3.6.13demo算法: BackgroundMattingV2部署下面我会按照.一张照片,AI生成抽象画(CLIPasso项目安装使用) | 机器学习https://huyi-aliang.blog.csdn.net/article/details/120556923如果不需要类似调试的话,可以去掉这部分的命令。

拉项目

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

目录结构如下

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

采用

在使用之前,我们先来看看作者给出的一些参数说明。

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,就不细说了。

示例 1

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

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

执行命令如下

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

结果

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

看看效果

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

可以看出跑了3次。

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

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

示例 2

对于第二张照片,我选择了一张有背景的照片。

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

执行命令如下

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

在参数方面,我减少了笔画的数量,并且需要扣除背景并保持原始比例。

结果

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

看看效果

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

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

整体形象还是很不错的,鸟的轮廓可以清晰的看到。

示例 3

对于第三张照片,我找到了蒙娜丽莎的肖像。我主要是想看看没有背景的油画的抽象效果。

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

执行命令如下

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

参数方面,我加了一些笔触,保持比例,不扣除背景。

结果

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

看看效果

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

哈哈哈,很开心,虽然效果不是很好,但可能和我设置的笔画数太少有关。留个悬念,有兴趣的可以多加笔画看看效果。

补充(非常重要)

看一下这部分代码。

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

在容器化部署安装过程中,镜像是带有该预处理模型的。如果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.——《了不起的盖茨比》

如果这篇文章对你有帮助,请给个赞,谢谢!

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年3月24日 上午11:13
下一篇 2022年3月24日 上午11:38

相关推荐