win10完美复现U^2-Net神经网络人物肖像画生成,街头画师都要失业了
今年提出的 U^2-Net 显著性检测算法(GitHub链接),刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算。我们可以在JackCui的公众号文章中看到中文版的介绍。这两天画了一点时间研究这个网络,并且在自己的win10电脑上跑通了程序,得到了AI生成肖像画,接化发浑元形意太极门马掌门镇楼,效果如下:
一、运行环境
1.1 显卡硬件准备
我们需要建立一个合适的运行环境,这个折腾了我很久。首先我们的电脑得有一张Nvidia的显卡,我用的是RTX 2070,有8GB的显存,这个可以通过nvidia-smi在cmd窗口中看到相关的信息。
1.2 cuda和cudnn的安装
然后,我们需要安装CUDA和CUDNN,注意根据最新的驱动版本,我安装的是V11.1cuda是,具体的安装教程可以参考B站视频【CUDA安装】如何在Win10下轻松安装CUDA和Cudnn 手把手教学 5min,真的是手把手每一步都写的很清楚了。
1.3 虚拟环境的搭建
这里我推荐使用conda新建一个python3.6的环境,具体的创建和激活步骤可以参考博文用conda创建python虚拟环境。我创建的虚拟环境名为py36u_2net,然后需要再该虚拟环境下安装这个程序所以来的包和库。我整理如下:
numpy == 1.15.2
scikit-image == 0.14.0
opencv-python
pillow == 5.2.0
scipy
matplotlib
我们可以把以上的内容写在requirements.txt文件中,然后使用一下指令一键安装:
pip install -r requirements.txt
1.4 pytorch的安装
这步之所以单独拎出来,是因为有坑,我在这里浪费了不少于5个小时(期间走了很多弯路,做了很多无用功),我们需要再pytorch的官网,根据自己的操作系统等信息得到安装指令。
pip install torch===1.7.0+cu110 torchvision===0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
这样,就算是配好了环境,这可以说是主要的工作了哈哈。
二、代码下载
我们可以直接从github上clone代码,然后按照github上的指示一步一步操作,上面说的比较清楚了。其实对于肖像画声生成这个小功能,我们只需要运行u2net_portrait_test.py这个脚本就可以,用到的模型权重是u2net_portrait.pth文件,把他放到./saved_models/u2net_portrait/.文件夹即可。当然,如果你嫌麻烦,也可以直接下载使用Jack提供的包体(不用修改任何代码)。下载点击这里(提取码:jack)。
三、运行代码
把你需要转换的图片(比如mbg.png)存放到./test_data/test_portrait_images/portrait_im/.目录下,然后在工程的主目录下敲下以下指令:
python u2net_portrait_test.py
下面就是见证奇迹的时候啦,你将在.\test_data\test_portrait_images\portrait_results中看到转换之后的肖像画效果,是不是很赞?!
如果觉得对你有帮助,别忘了一键三连哦o( ̄︶ ̄)o
本文地址:https://blog.csdn.net/weixin_41855010/article/details/110281355
下一篇: C++实验三——类和对象