用AI把好朋友的照片转换为铅笔素描 —— 【模型识别2020之U2Net】
❤️【深度学习入门项目】❤️ 之 【风格迁移】 初识
🚀 本文 墨理学AI 带你了解如何 用AI把好朋友的照片转换为铅笔素描
❤️ 【带你了解】❤️
- ❤️ 人脸 ===》素描【 human portrait drawing】
- 💙 图像 ===》突出物体检测 【Salient Object Detection】
🚀我的好朋友大概就是这样呐
❤️ 爱了 爱了💙
🔔基础信息
- U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection
- https://arxiv.org/abs/2005.09007
- https://github.com/NathanUA/U-2-Net
本博文,测试该代码的人像 - 素描 转换(风格迁移),记录环境搭建和效果测试;
🎄环境搭建
官方的库版本需求要求如下:
Python 3.6
numpy 1.15.2
scikit-image 0.14.0
python-opencv PIL 5.2.0
PyTorch 0.4.0
torchvision 0.2.1
glob
我自己的 Conda 环境搭建过程如下(安装torch==1.1.0 可用):
- 服务器:ubuntu1~18.04
- Quadro RTX 5000 16G
- CUDA版本 V10.0.130
conda create -n nice python=3.6.9
conda activate nice
pip install torch==1.1.0
pip install torchvision==0.3.0
或者(建议使用 conda 来安装)
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
pip install pillow==5.2.0
pip install opencv-python
pip install scipy
pip install thop
🎄项目结构如下
🎄项目测试步骤(官方教程)
🎄项目测试(个人记录)
一: 人像素描
python u2net_portrait_test.py
- 该命令是瑞整个图像进行,素描
- 生成效果如下:
二: 人脸素描
python u2net_portrait_demo.py
- 会检测 图像中人脸位置,只对人脸进行素描
三: 测试命令
python u2net_portrait_composite.py -s 20 -a 0.5
- -s indicates the sigma of gaussian function for blurring the orignal image and -a denotes the alpha weights of the orignal image when fusing them【理解起来就是变的更好看】
- ❤️ 藏着掖着,不存在的, 好吧 ❤️
- ❤️ 雨露均沾,大叔跑不了 ❤️
- ❤️ 原图越高清, 转换效果越惊艳 ❤️
GPU内存占用:
- 测试运行:GPU单卡最高占用 5073MiB
💬总结
- 该论文本身是一篇关于 salient object detection(突出物检测) 的文章;
- 不曾想有大佬 把它 用于 human portrait drawing(人物肖像素描)
- 取得不错响应,成为一个如此有趣的项目,不明觉厉...
【突出物检测】的运行效果如下
不同于图像分割,【突出物检测】只检测图像中 最可爱的 你
🎉可运行代码 + 数据
考虑到一些小伙伴 官方代码 和 模型下载有困难,博主这里把此次博文对应代码上传到网盘,里面包含本次测试使用的代码和下载的预训练模型;
有需要的小伙伴,搜索关注博主同名公号:墨理学AI ,公号后台,回复 20200101 即可获取 云盘下载链接:
20200101
📢 2021-1-11 素描数据集补充
来自 https://github.com/yiranran/APDrawingGAN 的 人脸照片和对应艺术肖像画数据集 下载链接:
🚀🚀文末专栏推荐部分🚀🚀
🎄如果感觉文章看完了不过瘾,还想更进一步,那么可以来我的其他 专栏 看一下哦~
- ❤️ 图像风格转换 —— 代码环境搭建 实战教程【关注即可阅】!
- 💜 图像修复-代码环境搭建-知识总结 实战教程 【据说还行】
- 💙 超分重建-代码环境搭建-知识总结 解秘如何让图像变得清晰【老少皆宜】
- 💛 YOLO专栏,只有实战,不讲道理 图像分类【建议收藏】!
- 🎄 个人整理的Cuda系列 Linux安装教程【适合小白进阶】
- 💜 ubuntu18给当前用户安装cuda11.2 图文教程 | 配置cuDNN8.1 |
- 💜 Linux服务器下给当前用户安装自己的CUDA10.0
- 💜 Linux下cuda10.0安装Pytorch和Torchvision
- 💜 Linux 可以安装多个版本的Cuda 吗 | 给我一台新的服务器,我会怎么安排 Cuda
- 💜 查看CUDA和cuDNN的版本号