content
foreword
好久没更新这个专栏了,最近比较忙。前段时间看到这个模型,觉得很有意思。自己拿下来自己玩玩了,但是没来得及写文章,一直搁置到现在。
废话不多说,先上Github地址: RealBasicVSR地址[0]
从给出的效果来看,还是很不错的。左边是超分后的图像,右边是原始画质,有了明显的提升。接下来说说我的安装过程和使用中的一些陷阱,方便大家去测试项目的时候提前规避。
Install
项目拉下来之后,我们先打开README,看看说明。
安装步骤不多,但还是有一些坑。以下是我的安装步骤。如果你自己安装有问题,可以参考我的步骤。
1、虚拟环境创建
作者没有给出需要的python版本,这里我用的python3.8
conda create -n real python=3.8
conda activate real
2、安装pytorch
本来以为我现在的最新版本可以运行,后来发现不行,就老老实实按照作者的版本安装了。
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
3、安装openmim
这里没什么好说的了,已经搞定了。
pip install openmim -i https://pypi.douban.com/simple
4、安装mmcv-full
Ditto
mim install mmcv-full
5、安装mmedit
Ditto
pip install mmedit -i https://pypi.douban.com/simple
6、安装scipy
不是作者写的,但必须安装。
pip install scipy -i https://pypi.douban.com/simple
7、模型下载
嗯,在外网下载比较困难。我把它下载下来放在我的百度云盘上。
链接:https://pan.baidu.com/s/1EFCk5SUsE9BTPR5rlVnKtw
提取码:TUAN
在项目中创建文件夹checkpoints,把下载的文件放进去。如下图
use
ok,环境装好了,我们看看怎么使用。
作者提供了图片文件夹处理方法和视频处理方法,我们来一一测试。
图像过分
我就不准备用作者提供的demo图了,我自己找了一张,如下图。
图片大小
放置目录如下
执行命令如下
python inference_realbasicvsr.py configs/realbasicvsr_x4.py checkpoints/RealBasicVSR_x4.pth data/demo_001 results/demo_001
结果
2022-05-08 10:57:06,303 – mmedit – INFO – load checkpoint from torchvision path: torchvision://vgg19
load checkpoint from local path: checkpoints/RealBasicVSR_x4.pth
/home/zhangmaolin/.local/lib/python3.7/site-packages/torch/functional.py:445: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2157.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
结果如下
可以看出,清晰多了。
结果图大小
视频加分
那么我们来看看视频超分的情况。这部分有一些坑,后面会讲到。
首先,我准备了一个视频,视频分辨率如下。
可以看到视频分辨率540p。
执行命令如下。有一些参数是作者给出的样本没有的。我稍后会解释。
python inference_realbasicvsr.py configs/realbasicvsr_x4.py checkpoints/RealBasicVSR_x4.pth data/12345.mp4 results/demo_123.mp4 –fps=25 –max_seq_len=2
结果
2022-05-08 11:02:01,023 – mmedit – INFO – load checkpoint from torchvision path: torchvision://vgg19
load checkpoint from local path: checkpoints/RealBasicVSR_x4.pth
/home/zhangmaolin/.local/lib/python3.7/site-packages/torch/functional.py:445: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2157.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
最终视频分辨率
Notice
1、首先,视频原长度是2分钟的,我截取到5s的视频进行超分处理的。不然会显存溢出。
2、–max_seq_len=2参数也是为了避免显存溢出,总的来看,这个模型不太适合直接跑视频,最好的方式还是跑图片序列,然后最后压缩图片为视频比较好。
用于比较视频样本的压缩图片
作者给了一个demo程序可以将输出的图片压缩为前后对比视频,如下图说明。
我测试了一下,这里代码需要改一下,代码框的部分需要取消注释。
对比视频如下,左边是超分的效果,右边是原图效果。
Summarize
总的来说,模型在处理图片方面还是很有效的,可以稍微修改一下,看看有没有空闲。
share:
人类之所以照顾其他生物,是因为他感到空虚。他之所以要保护环境,是因为他不想被环境破坏。 ——《寄生虫》
顺便推广一下csdn认证
2022年3月31日,中国专业IT开发者社区CSDN(以下简称C站)正式推出“C站云原生工程师能力认证”,旨在帮助考生快速掌握云原生开发技能,重点考核容器、DevOps、微服务应用等技术。此标准下,CSDN将为千行百业贡献更多云原生开发者。
它仍然很不错。有兴趣的可以点击下方链接查看。后面有一些福利信息。让我们来看看。
C站(CSDN)能力认证[0]
文章出处登录后可见!