分享

【图片、视频修复】Real-CUGAN的简单使用

 uqt123 2024-05-10 发布于广东

🔥 Real-CUGAN🔥 全名Real Cascade U-Nets for Anime Image Super Resolution,是一个使用百万级动漫数据进行训练的,结构与Waifu2x兼容的通用动漫图像超分辨率模型。它支持 2x\3x\4x倍超分辨率,其中2倍模型支持4种降噪强度与保守修复,3倍/4倍模型支持2种降噪强度与保守修复。

1. 效果对比

Waifu2x(CUNet)Real-ESRGAN(Anime6B)Real-CUGAN
训练集私有二次元训练集,量级与质量未知私有二次元训练集,量级与质量未知百万级高清二次元patch dataset
推理耗时(1080P)Baseline2.2x1x
效果(见对比图)无法去模糊,artifact去除不干净锐化强度最大,容易改变画风,线条可能错判,
虚化区域可能强行清晰化
更锐利的线条,更好的纹理保留,虚化区域保留
兼容性大量windows-APP使用,VapourSynth支持,
Caffe支持,PyTorch支持,NCNN支持
PyTorch支持,VapourSynth支持,NCNN支持同Waifu2x,结构相同,参数不同,与Waifu2x无缝兼容
强度调整仅支持多种降噪强度不支持已完成4种降噪程度版本和保守版,未来将支持调节不同去模糊、
去JPEG伪影、锐化、降噪强度
尺度仅支持1倍和2倍仅支持4倍已支持2倍、3倍、4倍,1倍训练中

2. Win使用简介

修改config.py配置参数,双击go.bat运行

  • 超分工具:

    百度网盘🔗|GithubRelease 🔗 | 和彩云(提取码baRo,手机号验证码登录,不限速无需客户端) 🔗GoogleDrive 🔗

    以Gihthub为例:
    在这里插入图片描述

  • 系统环境:
    • ✔️ 在win10-64bit系统下进行测试
    • ✔️ 小包需求系统cuda >= 10.0. 【大包需求系统cuda >= 11.1】
    • ❗️ 注意30系列 nvidia GPU 只能用大包.
  • 使用config文件说明:
    a. 通用参数设置
    • mode: 在其中填写video或者image决定超视频还是超图像;

    • scale: 超分倍率;

    • model_path: 填写模型参数路径(目前3倍4倍超分只有3个模型,2倍有4个不同降噪强度模型和1个保守模型);

    • device: 显卡设备号。如果有多卡超图片,建议手工将输入任务平分到不同文件夹,填写不同的卡号;

    • 超图像,需要填写输入输出文件夹;超视频,需要指定输入输出视频的路径。

    • ❗️ 如果使用windows路径,需要在双引号前加r

    b. 超视频设置
    • nt: 每张卡的线程数,如果显存够用,建议填写>=2

    • n_gpu: 显卡数;

    • encode_params: 编码参数 {crf,preset}

      crf: 通俗来讲,crf变低=高码率高质量

      preset: 越慢代表越低编码速度越高质量+更吃CPU,CPU不够应该调低级别,比如slow,medium,fast,faster

    • half: 半精度推理,不建议关闭

    • tile: 有6种模式,数字越大显存需求越低,相对地可能会小幅降低推理速度 {0, 1, 2, 3, 4, auto}

      0: 直接使用整张图像进行推理,大显存用户或者低分辨率需求可使用

      1: 对长边平分切成两块推理(95%,显存占用,下同)

      2: 宽高分别平分切成两块推理(81%)

      3: 宽高分别平分切成三块推理(61%)

      4: 宽高分别平分切成四块推理(54%)

      auto: 当输入图片文件夹图片分辨率不同时,填写auto自动调节不同图片tile模式,未来将支持该模式。

  • 模型分类说明:
    • 降噪版:如果原片噪声多,压得烂,推荐使用;目前2倍模型支持了3个降噪等级;
    • 无降噪版:如果原片噪声不多,压得还行,但是想提高分辨率/清晰度/做通用性的增强、修复处理,推荐使用;
    • 保守版:如果你担心丢失纹理,担心画风被改变,担心颜色被增强,总之就是各种担心AI会留下浓重的处理痕迹,推荐使用该版本。

搬运自https://github.com/bilibili/ailab/blob/main/Real-CUGAN/README.md

3. 实际操作

  • 模型存放:
    将 updated_weights.zip 下载后新建 weights_v3 文件夹,将模型解压进去
    在这里插入图片描述
  • 修改参数:
    打开config.py,修改参数,里面的备注写的很清楚了,一般只用修改scale、tile、nt三个参数,文件夹路径自己输入即可,想使用别的model的话直接修改即可,以下是我的修改结果。
#超分倍率
scale=4

#参数路径,可更换
model_path2 = r"E:\fenbianlv\RealCUGAN_for_win10_torch1.10.0cu111\weights_v3\up2x-latest-no-denoise.pth"
# model_path2 = "weights_v3/up2x-latest-denoise3x.pth"e
model_path3 = r"E:\fenbianlv\RealCUGAN_for_win10_torch1.10.0cu111\weights_v3\up3x-latest-denoise3x.pth"
model_path4 = r"E:\fenbianlv\RealCUGAN_for_win10_torch1.10.0cu111\weights_v3\up4x-latest-no-denoise.pth"

#超分模式,视频or图像文件夹
mode="image"#video#image

#早期显卡开半精度不会提速,但是开半精度可以省显存。
half=True
#tile分为0~4一共5个mode。0在推理时不对图像进行切块,最占内存,mode越提升越省显存,但是可能会降低GPU利用率,降低推理速度
tile=4

#超图像设置
device="cuda:0"#0代表卡号,多卡的话可以写不同config并行开,显存多的话一张卡也可以开多个
input_dir=r"E:\fenbianlv\RealCUGAN_for_win10_torch1.10.0cu111\picture"#输入图像路径
output_dir=r"E:\fenbianlv\RealCUGAN_for_win10_torch1.10.0cu111\output"#超分图像输出路径

#超视频设置
inp_path="../东之伊甸4raw-clip10s.mp4"
opt_path="../东之伊甸4raw-clip10s-2x.mp4"
#线程数:6G显存<=720P可写2,6G显存+1080P写1,12G可写2,24G可写4,边缘显存量爆显存降低线程数
nt=2
#显卡数
n_gpu=1
#别乱动
p_sleep=(0.005,0.012)
decode_sleep=0.002
#编码参数,不懂别乱动;通俗来讲,crf变低=高码率高质量,slower=低编码速度高质量+更吃CPU,CPU不够应该调低级别,比如slow,medium,fast,faster
encode_params=['-crf', '18', '-preset', 'medium']

  • 运行模型:
    将要超分的图片放入picture文件夹中,运行go.bat,如果显存没超的话,运行完如下图所示。
    ps:我的3060爆了好多次显存,等开学了用3080跑一下试试。 在这里插入图片描述
    最后的对比图来啦:
    原图:
    在这里插入图片描述
    超分后:
    在这里插入图片描述

4. 总结

最后的成图确实惊艳到我了,不得不说叔叔还是懂大家,现在坐等更新新的模型。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多