Anime-InPainting: 基于Edge-Connect的图像修补工具(含大量动漫萌妹子图)
极市平台是专业的视觉算法开发和分发平台,加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。点击文末“阅读原文”立刻申请入群~
作者:youyuge34
来源:https://github.com/youyuge34/Anime-InPainting/blob/master/README.md
简介
这是图像修补方向最新研究成果Edge-Connect的阿姆斯特朗氮气加速魔改(优化)版。 用Opencv写了个前端部分,后端是Edge-Connect,方便当作工具使用。 此工具可以用来自动图像修补,去马赛克……同样优化了模型训练的过程。具体优化内容请看英文版Improvements。
更新:训练手册已经填坑完发布了!你可以照着指南训练自己数据集了~
https://github.com/youyuge34/Anime-InPainting/blob/master/training_manual.md#jump_zh
基础环境
Python 3
PyTorch 1.0 (0.4 会报错)
NVIDIA GPU + CUDA cuDNN (当前版本已可选cpu,请修改config.yml中的DEVICE)
第三方库安装
Clone this repo
安装PyTorch和torchvision --> http://pytorch.org
安装 python requirements:
运行Tool
教练!我有个大胆的想法…别急,一步步来:
注意:以下模型是在动漫头像数据集上训练的,所以对动漫全身大图修补效果一般,想自己再训练的参考下面的训练指南
1.下训练好的模型文件
Google Drive:
https://drive.google.com/file/d/12I-K7GQEXEL_rEOVJnRv7ecVHyuZE-1-/view?usp=sharing
Baidu:
https://pan.baidu.com/s/1WkeRtYViGGGw4fUqPo3nsg
2.解压 .7z 放到你的根目录下. 确保你的目录现在是这样: ./model/getchu/<xxxxx.pth>
3.完成上面的基础环境和第三方库安装步骤
4.(可选) 检查并编辑 ./model/getchu/config.yml 配置文件
5.使用以下命令运行:
默认Tool:
python tool_patch.py --path model/getchu/带Edge编辑窗口的Tool:
python tool_patch.py --edge --path model/getchu/命令行参数帮助
python tool_patch.py -hPS. 你也能用tool跑别的任何模型,在这里下载原作更多模型Edge-Connect. 文件组织方式参考上面,其余运行命令都一样。唯一注意的是这个项目的 config.yml 比原作的多了几个选项,报错了的话注意修改。
Tool操作指南
详细内容请翻看控制台的打印内容,或查看tool_patch.py里的__doc__
简略版tool使用指南:
按键 | 说明 |
---|---|
鼠标左键 | Input窗口:画出瑕疵区域的遮盖,Edge窗口:手动画边缘 |
鼠标右键 | Edge窗口:橡皮擦 |
按键 [ | 笔刷变细 (控制台打印粗细大小) |
按键 ] | 笔刷变粗 |
按键 0 | Todo |
按键 1 | Todo |
按键 n | 修补黑色涂抹区域,只使用一张输入图片 |
按键 e | 修补黑色涂抹区域,使用输入图片和边缘图片(仅当edge窗口启动时有效) |
按键 r | 全部重置 |
按键 s | 保存输出图片 |
按键 q | 退出 |
训练指南
训练指南 -->
https://github.com/youyuge34/Anime-InPainting/blob/master/training_manual.md#jump_zh
License
Licensed under a Creative Commons Attribution-NonCommercial 4.0 International.
Except where otherwise noted, this content is published under a CC BY-NC license, which means that you can copy, remix, transform and build upon the content as long as you do not use the material for commercial purposes and give appropriate credit and provide a link to the license.
Citation
If you use this code for your research, please cite our paper EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning:
@inproceedings{nazeri2019edgeconnect, title={EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning}, author={Nazeri, Kamyar and Ng, Eric and Joseph, Tony and Qureshi, Faisal and Ebrahimi, Mehran}, journal={arXiv preprint}, year={2019}, }*推荐阅读*