BasicSR&&Super-resolution——Video2video

BasicSR工具包的学习小结

这里以自己写的video2video为例,输入低分辨率的视频给工具包,后面直接输出高分辨率的视频,希望通过此例能给刚入门BasicSR以及Video super-resolution的小伙伴一点启发。

我的代码:https://github.com/ACALJJ32/BasicSR_ACALJJ32.git

在原本的BasicSR工具包中,提供了dist_train.sh和dist_test.sh,这里我用EDVR为例,写了dist_demo.sh
在这里插入图片描述
通过这个脚本可以发现,我其实是按顺序执行了三个python脚本:preprocess.py 、demo.py、frame2video.py,三个脚本的作用如字面意义,先进行预处理,将视频帧切分,准备目录;demo.py主要进行推理和存放超分辨率图;frame2video.py进行收尾工作,用ffmpeg合成视频。这三个脚本都实现在basicsr目录下。
在这里插入图片描述
将视频帧切分好后,将路径告诉demo.py,我自己重新写了一个DataLoader,也就是在basicsr/data下面新建了一个sliding_window_dataset.py请添加图片描述 按照滑动窗口的方式给EDVR模型输入视频帧。在demo.py中加载自己的test_dataloader,因为test_dataloaders中会有很多dataloader,平时训练时会有test_dataloader和val_dataloader,但是这次在做demo时只用考虑test_dataloader即可。
在这里插入图片描述
在这里插入图片描述
最后读取存放视频帧的路径,用ffmpeg合成视频:
在这里插入图片描述
对于配置文件的填写,只要照着EDVR test模式的配置填写即可:
在这里插入图片描述
希望可以帮助到正在学习BasicSR工具包的小伙伴~

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>