前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >B站开源算法,让你的动漫视频/图片从360p秒变4K

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

原创
作者头像
洛眰恦
修改2022-05-31 02:18:29
2.4K2
修改2022-05-31 02:18:29
举报

本文项目地址: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:\Users\Administrator\Downloads\ailab-Real-CUGAN\ailab-Real-CUGAN\Real-CUGAN\weights_v3\up2x-latest-no-denoise.pth"
# model_path2 = "weights_v3/up2x-latest-denoise3x.pth"e
model_path3 = r"C:\Users\Administrator\Downloads\ailab-Real-CUGAN\ailab-Real-CUGAN\Real-CUGAN\weights_v3\up3x-latest-denoise3x.pth"
model_path4 = r"C:\Users\Administrator\Downloads\ailab-Real-CUGAN\ailab-Real-CUGAN\Real-CUGAN\weights_v3\up4x-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:\Users\Administrator\Desktop\inputpicture"#输入图像路径
output_dir="C:\Users\Administrator\Desktop\outputpicture"#超分图像输出路径

#超视频设置
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站修复的更好,如果想要超分动漫,那么这个模型可能就是您的不二之选。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文操作环境
  • 操作步骤
    • 安装CUDA驱动
      • 安装RGID驱动
        • 下载项目
          • 配置文件
            • 运行项目
            • 总结
            相关产品与服务
            云服务器
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档