🔥 Real-CUGAN🔥 是一个使用百万级动漫数据进行训练的,结构与Waifu2x兼容的通用动漫图像超分辨率模型。它支持2x\3x\4x倍超分辨率,其中2倍模型支持4种降噪强度与保守修复,3倍/4倍模型支持2种降噪强度与保守修复。
Real-CUGAN 为Windows用户打包了一个可执行环境。同时目前已有Windows-GUI与Web版本可使用。
更新进展
2022-02-07:Windows-GUI版/Web-CPU版
2022-02-09:Colab示例代码
2022-02-17:适用于移动端和AMD显卡的NCNN版本
2022-02-20:添加低显存模式(支持>1.5G显存的N卡),以牺牲60%的速度为代价,解锁超大分辨率输入图像,下载20220220更新包或完整包使用。
如果Real-CUGAN对您的项目有帮助,可以⭐与分享一波,感谢~
demo-video.mp4
- 效果图对比(推荐点开大图在原图分辨率下对比)
纹理挑战型(注意地板纹理涂抹)(图源:《侦探已死》第一集10分20秒) 线条挑战型(注意线条中心与边缘的虚实)(《东之伊甸》第四集7分30秒) 极致渣清型(注意画风保留、杂线、线条)(图源:Real-ESRGAN官方测试样例) 景深虚化型(蜡烛为后景,刻意加入了虚化特效,应该尽量保留原始版本不经过处理)(图源:《~闘志の華~戦国乙女2ボナ楽曲PV》第16秒) - 详细对比
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倍训练中 |
修改config.py配置参数,双击go.bat运行。
-
百度网盘(提取码ds2a) 🔗|GithubRelease 🔗 | 和彩云(提取码tEr1,手机号验证码登录,不限速无需客户端) 🔗| GoogleDrive 🔗
-
- ✔️ 在win10-64bit系统下进行测试
- ✔️ 小包需求系统cuda >= 10.0. 【大包需求系统cuda >= 11.1】
- ✔️ 只支持N卡或CPU,N卡需要至少1.5G显存
- ❗ 注意30系列 nvidia GPU 只能用大包.
-
- mode: 在其中填写video或者image决定超视频还是超图像;
- scale: 超分倍率;
- model_path: 填写模型参数路径(目前3倍4倍超分只有3个模型,2倍有4个不同降噪强度模型和1个保守模型);
- device: 显卡设备号。如果有多卡超图片,建议手工将输入任务平分到不同文件夹,填写不同的卡号;
- 超图像,需要填写输入输出文件夹;超视频,需要指定输入输出视频的路径。
- cache_mode:根据个人N卡显存大小调节缓存模式
0: 默认使用cache缓存必要参数
1: 使用cache缓存必要参数,对缓存进行8bit量化节省显存,带来15%延时增长
2: 不使用cache,耗时约为默认模式的2.5倍,但是显存不受输入图像分辨率限制,tile填得够大,1.5G显存可超任意分辨率 - ❗ 如果使用windows路径,需要在双引号前加r
-
nt: 每张卡的线程数,如果显存够用,建议填写>=2
-
n_gpu: 显卡数;
-
encode_params: 编码参数 {crf,preset}
crf: 通俗来讲,crf变低=高码率高质量
preset: 越慢代表越低编码速度越高质量+更吃CPU,CPU不够应该调低级别,比如slow,medium,fast,faster -
half: 半精度推理,不建议关闭
-
tile: 数字越大显存需求越低,相对地可能会小幅降低推理速度 {0, 1, x, auto}
0: 直接使用整张图像进行推理,大显存用户或者低分辨率需求可使用
1: 对长边平分切成两块推理
x: 宽高分别平分切成x块推理
auto: 当输入图片文件夹图片分辨率不同时,填写auto自动调节不同图片tile模式,未来将支持该模式。
-
- 降噪版:如果原片噪声多,压得烂,推荐使用;目前2倍模型支持了3个降噪等级;
- 无降噪版:如果原片噪声不多,压得还行,但是想提高分辨率/清晰度/做通用性的增强、修复处理,推荐使用;
- 保守版:如果你担心丢失纹理,担心画风被改变,担心颜色被增强,总之就是各种担心AI会留下浓重的处理痕迹,推荐使用该版本。
环境依赖
✅ torch>=1.0.0
✅ numpy
✅ opencv-python
✅ moviepy
upcunet_v3.py:模型+图像推理
inference_video.py:一个简单的使用Real-CUGAN推理视频的脚本
移步Readme
NCNN版本已出现,这意味着A卡用户和移动端用户也可以使用GPU跑Real-CUGAN模型了~
🔥 Real-CUGAN2x标准版(denoise-level3) 和 🔥 Real-CUGAN2x无切割线版
百度网盘(提取码ds2a) 🔗|GithubRelease 🔗|和彩云(提取码tEr1,手机号验证码登录,不限速无需客户端) 🔗| GoogleDrive 🔗
用户可以用这套参数覆盖原有model-cunet模型参数(如有需要,记得对原有参数进行备份),用原有被覆盖的预设(按当前的文件名,是2x仅超分不降噪)进行超分。
❗❗❗ 由于waifu2x-caffe的切割机制,对于标准版,crop_size应该尽量调大,否则可能造成切割线。如果发现出现切割线, 请移步下载windows应用,它支持无切割线痕迹的crop(tile_mode),既能有效降低显存占用需求,crop也是无损的。或者使用我们额外提供的无切割线版,它会造成更多的纹理涂抹和虚化区域清晰化。
开发者可以很轻松地进行适配,推荐使用整张图像作为输入。如果顾及显存问题,建议基于PyTorch版本进行开发,使用tile_mode降低显存占用需求。
可在网盘路径下载完整包与更新参数包获取各模型参数。
1倍 | 2倍 | 3倍/4倍 | |
---|---|---|---|
降噪程度 | 仅支持无降噪,训练中 | 现支持无降噪/1x/2x/3x | 现支持无降噪/3x,1x/2x训练中 |
保守模型 | 训练中 | 已支持 | |
快速模型 | 调研中 |
- 快速模型,提高推理速度,降低显存占用需求
- 可调整的增强锐度,降噪强度,去模糊强度
- 一步超到任意指定分辨率
- 优化纹理保留,削减模型处理痕迹
- 简单的GUI
😝 欢迎各位大佬在issue😇 进行留言,提出各种建议和需求👍 !
这里不公开训练代码,训练步骤参考了但不局限于RealESRGAN. 想自行训练的请移步该仓库。
模型结构魔改自Waifu2x官方CUNet.
另有:star2:更新进展:star2:如下:
- Squirrel补帧团队基于RealCUGAN(PyTorch版本)与Waifu2x/RealESRGAN开发了一个图形界面程序(默认中文),并免费发布,Squirrel Anime Enhance v0.0.3;
- mnixry制作了RealCUGAN的Web-CPU-PyTorch版,大家可以免费尝鲜测试。1080P图像的2倍尺度大约需要等待24s返回结果;
- nihui 实现了RealCUGAN的NCNN版本 ,AMD显卡用户和移动端用户亦可以使用;
- AaronFeng753将RealCUGAN的Caffe版本集成进Waifu2x-Extension-GUI;
感谢他们的贡献!