每当你看到喜欢的动漫作品,想把线稿提出来、进行重新上色等加工时,你是怎么做的?
用PS吗?
是不是有点麻烦?结果还很糊?
GitHub上有一个小姐姐做了一个动漫线稿提取器,只需一行代码就能搞定!
效果是这样的:
以及这样的:
非常干净清晰有没有!
如何一步搞定动漫线稿提取
这款“又快又好”的线稿提取器名叫Anime2Sketch,可用于插画、动漫艺术和漫画。
使用Python语言开发,使用前确保具备以下条件:
- Python 3 (推荐使用Anaconda)
- CPU or NVIDIA GPU + CUDA CuDNN
- Pillow, PyTorch
首先执行以下两步:
- 安装所需的软件包:pip install -r requirements.txt
- 从GoogleDrive下载预训练权重文件,然后将其放入weights /文件夹中
然后就可以进行测试了!使用下面这行代码:
python3 test.py --dataroot 你的输入目录 --load_size 512 --output_dir 你的输出目录
其中参数load_size:由于内存限制,程序需要在处理之前调整输入图像的大小。默认情况下,将其大小调整为512x512。
这么方便,怎么实现的呢?
(小遗憾是目前只可在Linux或macOS上运行。)
基于一篇论文实现
作者介绍道,这款线稿提取器程序基于论文《用于草图到照片合成的对抗性开放领域自适应算法》。
也是由她作为一作,将在字节跳动公司实习时的一部分成果写成的论文。
论文中提到,为了从照片中合成缺少的手绘草图,他们提出了一个从草图到照片和从照
片到草图的联合学习框架。
并进一步提出了一个简单而有效的开放域采样和优化策略。
他们的方法利用所学的域内(in-domain)数据的草图到照片和照片到草图的映射,可
以迁移到开放域(open-domain)类中。
最终他们将这篇论文的研究成果应用到动漫线稿提取,做成了这样一款程序。
有网友看到后很兴奋:可以用来给自家娃做“神奇宝贝“和“爆旋陀螺”的涂色页了!
有人好奇这和用Photoshop技术上有什么不一样?其他网友解释道因为Photoshop仅检测边缘,会有“伪像”,这款明显更干净!
不过有网友指出最后的图片输出质量还可再提高,比如使用PNG格式。(原来是JPEG)
还有人说起了题外话,对示例图片里的动漫海盗战记(Vinland Saga)进行了疯狂安利!
作者介绍
向晓宇(图右),@Mukosame。普渡大学博士在读,电气与计算机工程,本科清华毕业。博士阶段研究重点是图像和视频增强,面部对齐和识别的深度学习。
今年即将加入Facebook Reality Labs实验室的On-Device AI团队,成为一名研究科学家。
感兴趣的同学戳链接尝试吧:https://github.com/Mukosame/Anime2Sketch