B站开源算法,让你的动漫视频/图片从360p秒变4K

2022-05-31 02:18:29 浏览数 (2)

本文项目地址:Real-CUGAN at main · bilibili/ailab · GitHub

本文操作环境

本文中Real-CUGAN操作环境说明如下:

  • 硬件平台:GPU计算型GN7 - 20核 80G(Tesla T4)
  • 操作系统版本:Windows Server 2019 数据中心版 64位 中文版
  • 所需驱动:NVIDIA GRID,CUDA

操作步骤

安装CUDA驱动

安装CUDA驱动请参考这篇文档:【GPU 云服务器 安装 CUDA 驱动-操作指南-文档中心-腾讯云-腾讯云】

安装RGID驱动

安装RGID驱动请参考这篇文章:【GPU 云服务器 安装 NVIDIA GRID 驱动-操作指南-文档中心-腾讯云-腾讯云】

下载项目

本项目地址:Real-CUGAN at main · bilibili/ailab · GitHub

配置文件

打开config.py

config.py配置如下:

代码语言:javascript复制
#超分倍率
scale=2
#参数路径,可更换
model_path2 = r"C:UsersAdministratorDownloadsailab-Real-CUGANailab-Real-CUGANReal-CUGANweights_v3up2x-latest-no-denoise.pth"
# model_path2 = "weights_v3/up2x-latest-denoise3x.pth"e
model_path3 = r"C:UsersAdministratorDownloadsailab-Real-CUGANailab-Real-CUGANReal-CUGANweights_v3up3x-latest-denoise3x.pth"
model_path4 = r"C:UsersAdministratorDownloadsailab-Real-CUGANailab-Real-CUGANReal-CUGANweights_v3up4x-latest-denoise3x.pth"

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

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

#超图像设置
device="cuda:0"#0代表卡号,多卡的话可以写不同config并行开,显存多的话一张卡也可以开多个
input_dir="C:UsersAdministratorDesktopinputpicture"#输入图像路径
output_dir="C:UsersAdministratorDesktopoutputpicture"#超分图像输出路径

#超视频设置
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']

文件具体说明如下

代码语言:javascript复制
config文件说明:
a. 通用参数设置

mode: 在其中填写video或者image决定超视频还是超图像;
scale: 超分倍率;
model_path: 填写模型参数路径(目前3倍4倍超分只有3个模型,2倍有4个不同降噪强度模型和1个保守模型);
device: 显卡设备号。如果有多卡超图片,建议手工将输入任务平分到不同文件夹,填写不同的卡号;
超图像,需要填写输入输出文件夹;超视频,需要指定输入输出视频的路径。
cache_mode:根据个人N卡显存大小调节缓存模式.mode2/3可超任意大小分辨率(瓶颈不在显存)图像0: 默认使用cache缓存必要参数
1: 使用cache缓存必要参数,对缓存进行8bit量化节省显存,带来15%延时增长,肉眼完全无法感知的有损模式
2: 不使用cache,有损模式。耗时约增加25%,仅在有景深虚化的图里有微小的误差,不影响纹理判断
3: 不使用cache,无损模式。耗时约为默认模式的2.5倍,但是显存不受输入图像分辨率限制,tile填得够大,1.5G显存可超任意分辨率

tile: 数字越大显存需求越低,相对地可能会小幅降低推理速度 {0, 1, x, auto}
0: 直接使用整张图像进行推理,大显存用户或者低分辨率需求可使用
1: 对长边平分切成两块推理
x: 宽高分别平分切成x块推理
auto: 当输入图片文件夹图片分辨率不同时,填写auto自动调节不同图片tile模式,未来将支持该模式。
alpha: 该值越大AI修复程度、痕迹越小,越模糊;alpha越小处理越烈,越锐化,色偏(对比度、饱和度增强)越大;默认为1不调整,推荐调整区间(0.7,1.3);
half: 半精度推理,>=20系显卡直接写True开着就好


 如果使用windows路径,建议在双引号前加r
b. 超视频设置

nt: 每张卡的线程数,如果显存够用,建议填写>=2
n_gpu: 使用显卡张数;
encode_params: 编码参数 {crf,preset}crf: 通俗来讲,crf变低=高码率高质量
preset: 越慢代表越低编码速度越高质量 更吃CPU,CPU不够应该调低级别,比如slow,medium,fast,faster

官方给我们提供了如下模型

  • 降噪版:如果原片噪声多,压得烂,推荐使用;目前2倍模型支持了3个降噪等级;
  • 无降噪版:如果原片噪声不多,压得还行,但是想提高分辨率/清晰度/做通用性的增强、修复处理,推荐使用;
  • 保守版:如果你担心丢失纹理,担心画风被改变,担心颜色被增强,总之就是各种担心AI会留下浓重的处理痕迹,推荐使用该版本;但对于较模糊、渣清的视频,修复程度不会比降噪版更好。
  • up2x代表超分两倍,conservative代表保守版,no-denoise 代表无降噪版 denoise代表降噪版

按照说明修改config.py

运行项目

当你按照如上配置修改并确定想运行的时候,只需以管理员身份运行 go.bat等着输出结果即可

总结

相比其他平台所开源出的算法,B站的算法对于超分动漫显然是更优秀的,因为B站拥有足够多番剧资源来训练超分模型,在我对比其余超分模型还是B站修复的更好,如果想要超分动漫,那么这个模型可能就是您的不二之选。

0 人点赞