本帖最后由 win8 于 2022-2-14 00:43 编辑
人工智能放大图片嘛,不管用过没用过,肯定都知道Waifu2x。
最近Bilibili放出了一个新的人工智能放大图片的模型Real-CUGAN:
https://github.com/bilibili/ailab/tree/main/Real-CUGAN
号称使用百万级动漫数据进行训练的,提供与Waifu2x-caffe兼容的模型
它支持2x\3x\4x倍超分辨率,其中2倍模型支持4种降噪强度与保守修复,3倍/4倍模型支持2种降噪强度与保守修复。
(然后github release竟然真的只放了模型没有放解压即可使用的包;没有详细说明,还是会有很多人不知道怎么使用的)
waifu2x-extension-gui项目已经增加了这个模型,不嫌大可以下载这个 https://github.com/AaronFeng753/Waifu2x-Extension-GUI/
waifu2x-caffe本身就挺大的,所以我也不重新打包上传了。
发出来一是分享(估计感兴趣的人也早就知道了?) 二是想讨论下深度学习放大图片到底是个什么情况。
1. 我现在看到很多深度学习超分辨率的项目,广为人知的waifu2x real-esrgan,同样实装到waifu2x-extension-gui里的srmd realsr,github也有其他的项目如BSRGAN, SwinIR等等。这些项目大多数原先是python——毕竟深度学习的大环境嘛,但是为什么release通常没有提供给普通用户的可执行程序?我猜测是Python和cuda这种东西直接打包体积巨大,使用也还是有门槛,还有其他的原因嘛?
2. 如果把Python下的超分模型转换为其他语言,是不是很复杂?按我的理解,不管什么语言,都是把图片解析为像素点构成的矩阵,模型就是非常复杂的矩阵运算过程,经过运算得到的矩阵再次恢复为图像,就完事了。所以转换过程有两步,一是把图片转矩阵 矩阵转图片的过程用其他语言写了,二是把模型文件转为其他格式。但是实际似乎很麻烦?到底还发生了什么? 我在real-cugan的issues看到这个:
tumuyan commented 2 days ago
既然已经有为waifu2x-caffe玩家提供了两套参数,那么是否可以直接把caffe模型转换为ncnn模型,从而直接使用waifu2x-ncnn调用模型来使用呢?我不了解其中的细节,但是我试了试看上去caffe2ncnn工具只能转换prototxt格式的文件,无法处理protobin?
nihui commented 2 days ago
模型推理的实现细节不一样,得重新写……
https://github.com/bilibili/ailab/issues/3
下边是节选github的介绍:
其模型结构魔改自Waifu2x官方CUNe,训练代码主要参考腾讯发布的RealESRGAN。
效果图对比
| Waifu2x(CUNet) | Real-ESRGAN(Anime6B) | Real-CUGAN | 训练集 | 私有二次元训练集,量级与质量未知 | 私有二次元训练集,量级与质量未知 | 百万级高清二次元patch dataset | 推理耗时(1080P) | Baseline | 2.2x | 1x | 效果(见对比图) | 无法去模糊,artifact去除不干净 | 锐化强度最大,容易改变画风,线条可能错判,
虚化区域可能强行清晰化 | 更锐利的线条,更好的纹理保留,虚化区域保留 | 兼容性 | 大量windows-APP使用,VapourSynth支持,
Caffe支持,PyTorch支持,NCNN支持 | PyTorch支持,VapourSynth支持,NCNN支持 | 同Waifu2x,结构相同,参数不同,与Waifu2x无缝兼容 | 强度调整 | 仅支持多种降噪强度 | 不支持 | 已完成4种降噪程度版本和保守版,未来将支持调节不同去模糊、
去JPEG伪影、锐化、降噪强度 | 尺度 | 仅支持1倍和2倍 | 仅支持4倍 | 已支持2倍、3倍、4倍,1倍训练中 |
|