目录
- 一、BSRN网络总结
- 二、源码包准备
- 三、环境准备
- 3.1 报错KeyError: "No object named 'BSRN' found in 'arch' registry!"
- 3.2 安装basicsr源码包
- 3.3 参考环境
- 四、数据集准备
- 五、训练
- 5.1 配置文件参数修改
- 5.2 启动训练
- 5.2.1 命令方式训练
- 5.2.2 配置Configuration方式训练
- 5.3 模型保存
- 六、测试
- 6.1 配置文件参数修改
- 6.2 启动测试
- 6.2.1 命令方式测试
- 6.2.2 配置Configuration方式测试
- 6.3 测试结果
- 七、推理速度
- 八、效果展示
- 九、总结
一、BSRN网络总结
BSRN(Blueprint Separable Residual Network)是一种轻量级的单图像超分辨率网络。它的设计灵感来自于残差特征蒸馏网络 (RFDN)和蓝图可分离卷积 (BSConv)。BSRN采用了与RFDN类似的架构,同时引入了一种更高效的蓝图浅残差块 (blueprint shallow residual block, BSRB),即在RFDN的浅层残差块 (shallow residual block, SRB)中使用BSConv替换标准卷积。
BSRN的特点:
高效性:BSRN-S的一个较小的变体在NTIRE 2022 Efficient SR Challenge的模型复杂度赛道中获得了第一名。
轻量级:BSRN的设计目标是在保持高性能的同时,降低模型的复杂性和计算成本。
注意力机制:BSRN引入了两个注意力模块,即增强空间注意力 (ESA)和对比通道注意力 (CCA),从空间和通道的角度增强模型的能力。
二、源码包准备
本教程配套源码包获取方法文章末扫码到公众号「视觉研坊」中回复关键字:超分辨率重建BSRN。获取下载链接。
官网源码包链接为:BSRN
论文地址:论文
我提供的配套源码包下载解压后的样子如下:
源码包中提供了100张训练集,还有部分测试集,位于跟目录下的datasets文件夹中,见下:
三、环境准备
3.1 报错KeyError: “No object named ‘BSRN’ found in ‘arch’ registry!”
如果下载官网源码包后,直接运行测试,可能会报错:
该问题是由于之前使用pip install basicsr命令安装了basicsr包,对于该网络,必须安装basicsr源码包,具体安装方法见3.2。
3.2 安装basicsr源码包
源码包中根目录下有setup.py文件。
在终端使用安装命令,版本为1.3.4.9:
python setup.py develop
安装成功的样子如下:
3.3 参考环境
下面是我自己的训练和测试环境,仅供参考,其它版本也可以:
四、数据集准备
该网络要求为lmdb格式的数据集,关于lmdb格式数据集的制作,参考我的另外一篇博文:lmdb文件制作
在我提供的源码包中,make_lmdb.py脚本就是制作lmdb数据集的,修改路径后可直接使用。
制作好后的lmdb文件内容如下:
五、训练
5.1 配置文件参数修改
训练前,需要在train_BSRN_x4.yml配置文件中修改一些参数,常用修改参数见下:
5.2 启动训练
下面有两中启动训练方式,任选一种都可以。
5.2.1 命令方式训练
在终端输入命令:
python basicsr/train.py -opt options/train/train_BSRN_x4.yml
5.2.2 配置Configuration方式训练
先打开Configuration,在其中添加参数。
配置好后,直接run就行。
正常训练过程如下:
5.3 模型保存
训练的最终结果保存在路径下:BSRN\experiments\
六、测试
6.1 配置文件参数修改
在benchmark_BSRN_x4.yml配置文件中修改相关测试参数。
修改超分倍数:
修改测试集路径:
修改模型路径:
6.2 启动测试
测试方式也是有两种,任选一种即可。
6.2.1 命令方式测试
在终端输入测试命令:
python basicsr/test.py -opt options/test/benchmark_BSRN_x4.yml
6.2.2 配置Configuration方式测试
配置文件中添加参数:
输出如下:
6.3 测试结果
测试结果最终会自动保存到根目录下的BSRN\results文件夹中:
七、推理速度
GPU测试环境:Nvidia GeForce RTX 3050。
CPU测试环境:12th Gen Intel® Core™ i7-12700H 2.30 GHz。
下面是不同分辨率在不同平台即不同超分倍数下推理耗时:
八、效果展示
下面展示图中,最左侧图为原图通过OpenCv直接上采样4倍图,中间为BSRN网络超分4倍结果,最右侧为高分辨率原图。
九、总结
以上就是超分辨率重建BSRN网络训练自己数据集并推理测试的详细图文教程,超分效果学者自行评价,对比其它网络效果参考我超分辨率重建专栏。
总结不易,多多支持,谢谢!
感谢您阅读到最后!关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!