超分辨率重建——2022冠军RLFN网络推理测试(详细图文教程)
💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《暗光增强》
📝《模型优化》
📝《模型实战部署》

RLFN方法由ByteESR团队设计,在NTIRE 2022高效超分辨率挑战赛中获得了赛道(主赛道)第一名和整体性能赛道(子赛道2)第二名。
目录
- 一、RLFN
- 1.1 高效提取和融合图像特征
- 1.2 残差局部特征块
- 1.3 空间注意力机制
- 二、源码包准备
- 三、环境准备
- 四、测试
- 4.1 参数修改
- 4.2 开始测试
- 4.3 输出结果
- 五、推理速度
- 5.1 GPU
- 5.2 CPU
- 六、超分效果展示
- 七、总结
一、RLFN
Residual Local Feature Network (RLFN) 的核心思想是在传统的卷积神经网络(CNN)架构中引入残差局部特征提取模块,以提高超分辨率任务的效率和效果。具体来说,RLFN包含以下几个关键组件:

1.1 高效提取和融合图像特征

RFDB(Residual Feature Distillation Block)主要用于高效提取和融合图像特征,以增强图像超分辨率重建的效果。RFDB在RLFN网络结构中的具体作用和功能:
高效特征提取和蒸馏
RFDB模块通过特征蒸馏机制,有效提取和融合图像特征,增强网络的表示能力。特征蒸馏可以理解为对特征进行筛选和精炼,从而保留重要的信息,去除冗余的特征。这一过程有助于提高模型的计算效率,同时保持甚至提升超分辨率图像的质量。
残差连接
RFDB采用了残差连接(Residual Connection),这使得每个RFDB模块在进行特征提取和处理的同时,保留了输入的原始信息。这种设计有助于缓解深层网络中的梯度消失问题,使得网络更容易训练。此外,残差连接还可以帮助保留输入特征的高频信息,从而增强细节恢复能力。
多层次特征融合
RFDB通常包含多个卷积层,每个卷积层都提取不同层次的特征,并通过特征融合机制将这些特征组合在一起。这种多层次特征融合方式可以捕捉到图像的细节信息和全局信息,提升重建图像的质量。
提高模型的非线性表示能力
RFDB中的非线性激活函数(如ReLU)增加了网络的非线性表示能力,使得模型能够更好地处理复杂的图像特征,从而提高超分辨率效果。
1.2 残差局部特征块
通过引入残差连接,使得网络在训练过程中更容易优化,并且可以更好地捕捉图像的细节信息。

RLFB(Residual Local Feature Block)是RLFN网络中的一个核心模块,旨在高效提取和融合局部特征。RLFB主要通过残差连接和局部特征提取来增强网络的表示能力。RLFB具有以下特点:
残差连接
使用残差连接(Residual Connection)来缓解梯度消失问题,使得深层网络更容易训练。
残差连接还可以帮助保留输入特征信息,增强特征表示的丰富性。
局部特征提取
RLFB通过多个卷积层提取局部特征,以捕捉图像中的细节信息,用于提取局部特征。
每个卷积层后面通常跟随一个非线性激活函数(如ReLU)来增加网络的非线性表示能力。
多尺度特征融合
RLFB使用不同尺度的卷积核来提取多尺度特征,从而更好地捕捉不同尺度的图像信息。
1.3 空间注意力机制

ESA(Enhanced Spatial Attention)模块用于增强空间注意力机制,以提升网络在重要特征区域的表示能力。ESA通过引入空间注意力机制,使得网络能够更加关注图像中具有高辨识度的区域,从而提高超分辨率效果。
空间注意力机制
通过空间注意力机制,网络能够识别和加强图像中具有重要特征的区域,同时抑制不重要的背景信息。
空间注意力机制通常通过一个全局平均池化层和一个卷积层来实现,以生成注意力图。
增强特征表示
通过应用注意力图,网络可以增强重要特征区域的表示能力,从而提高重建图像的质量。
二、源码包准备
本教程配套源码包获取方法文章末扫码到公众号「视觉研坊」中回复关键字:超分辨率重建RLFN。获取下载链接。我在源码基础上做了一些小改动。
官网源码链接为:RLFN
论文:paper
下载源码包解压后的样子如下:

三、环境准备
下面是我的测试环境,仅供参考,其它版本也行。



四、测试
4.1 参数修改


4.2 开始测试
在终端输入下面命令进行测试:
python test_demo.py

4.3 输出结果
测试结果保存到RLFN\result_images\DIV2K_test_LR_results路径下:

五、推理速度
5.1 GPU
GPU测试环境:Nvidia GeForce RTX 3050,测试图片120*90,平均推理时间:4.88ms/fps。

5.2 CPU
测试环境:12th Gen Intel® Core™ i7-12700H 2.30 GHz,测试图片120*90,推理速度:63.6ms/fps。

六、超分效果展示
下面左图为bicubic上采样4倍结果,中间为原图,右图为RLFN网络超分4倍结果图。













下面测试集为官网自带的,左图为bicubic上采样4倍结果,右图为RLFN网络超分4倍结果图。
















七、总结
以上就是2022超分冠军RLFN网络推理测试的详细过程,展示了多场景超分效果,供学者参考。训练代码作者没有开源,可以自己复现。
感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖
关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!
相关文章:
超分辨率重建——2022冠军RLFN网络推理测试(详细图文教程)
💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《暗光增强》 &a…...
国际荐酒师香港协会受邀参加2024年美国独立日庆祝活动
国际荐酒师(香港)协会受邀参加2024年美国独立日庆祝活动促进世界酒中国菜的全球化发展 2024年6月18日,国际荐酒师(香港)协会大中华区驻广州办事处荣幸地接受了美国驻广州总领事馆 Nicholas Burns大使和Lisa Heller总领…...
(微服务实战)聚合支付系统商户线上聚合收银台接口设计
1 概述 聚合支付收款分为线上和线下业务场景,本文中的商户收银台接口设计主要是指线上业务场景,线下业务场景聚合收款方式后续会进行单独设计和分析。 主流的线上支付渠道有微信支付,支付宝支付,云闪付。这三种支付渠道都有各自…...
【漏洞复现】CRMEB开源电商系统 /api/products SQL注入漏洞(CVE-2024-36837)
0x01 产品简介 CRMEB开源电商系统是一款由西安众邦网络科技有限公司打造的全栈式电商解决方案,旨在为开发者和商家提供高性能、智能化的电商平台服务。该系统集成了CRM(客户关系管理)、ERP(企业资源规划)和EB(电子商务)的功能,通过深度结合这些功能&…...
摄像头图像矫正的表格生成方法
1.设置单元格高宽 点击表格左上角 的 小三角 列宽: HOME -> Rows and Columns -> Column Width 5 CM 行高: HOME -> Rows and Columns -> Row Height 5 CM 2.设置 条件格式 HOME -> Conditional Formatting-> Manager Rules 点击 左上方 New Rule…...
【Arc gis】Arc gis出现ERROR 999999问题的解决办法
地址:ArcGIS中ERROR 999999报错Configuration RasterCommander ImageServer can not be started解决_投影栅格失败error999999-CSDN博客...
优化 Flutter 应用开发:探索 ViewModel 的威力
介绍 1.1 什么是 ViewModel? ViewModel,顾名思义,就是视图的模型。在 Flutter 中,ViewModel 是一种用于管理视图状态和业务逻辑的重要概念。它承载了应用程序的核心功能,像是一个精心设计的控制中心,负责…...
Android开发系列(四)Jetpack Compose之Button
在Jetpack Compose中,Button是一个常用的用户界面组件,用于执行某些操作或触发某些事件。Button控件是可触摸的,并且通常会显示一个文本或图标来表示其功能。 要在Jetpack Compose中创建一个Button,可以使用Button()函数…...
Java17 --- RabbitMQ之插件使用
目录 一、Federation插件 1.1、运行两个rabbitmq实例 1.2、启用插件 1.3、在下游端点添加上游端点 1.4、创建策略 1.6、测试 二、联邦队列 2.1、创建策略 2.2、创建交换机与队列 2.2.1、创建52000的队列与交换机 2.2.2、创建62000的队列 三、Shovel 3.1、启…...
6.18总结
省赛排位赛2: 省赛排名赛2 - Virtual Judge 思路: 设两个方程直接解出来就行 代码: #include<bits/stdc.h> using namespace std; int n, m; int main() {int n, m;int ans1, ans2;cin >> n >> m;ans1 n - (-3 sqr…...
【ARM Cache 及 MMU 系列文章 1.4 -- 如何判断 L3 Cache 是否实现?】
请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cluster Configuration Register代码实现什么是Single-Threaded Core?什么是PE(Processor Execution units)?Single-Threaded Core与PE的关系对比多线程(Multithreading)Cluster…...
打印mybatis的sql日志
1、application.xml: logging.level.com.xxx.xxx.daodebug2、log4j2.xml: <Logger name"com.xxx.xxx.dao" level"debug" additivity"true" />...
QT day4(对话框 事件机制)
1:思维导图 2: #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);ui->setupUi(this);//去除头部this->setWindowFlag(Qt::Frameles…...
序列化与反序列化漏洞实例
实验环境: 本次的序列化与反序列化漏洞为2021年强网杯上的一道比赛题目,我使用phpstudy集成环境将其测试环境搭建在了本地,如下。涉及的几个页面php为: index.php function.php myclass.php index.php : <?php // inde…...
6、while循环 - 习题解析
目录 解析部分:分支练习1244. 请问一个正整数能够整除几次2问题描述解题思路代码实现代码解析 1062. 求落地次数问题描述解题思路代码实现代码解析 1254. 求车速问题描述解题思路代码实现代码解析 1261. 韩信点兵问题描述解题思路代码实现代码解析 解析部分…...
ReentrantLock可重入锁
可重⼊锁,这个锁可以被线程多次重复进⼊进⾏获取操作。 ReentantLock继承接⼝Lock并实现了接⼝中定义的⽅法,除了能完成synchronized所能完成的所有⼯作 外,还提供了诸如可响应中断锁、可轮询锁请求、定时锁等避免多线程死锁的⽅法。 在并发量…...
如何秒杀系统架构设计
原文路径:https://learn.lianglianglee.com/%e4%b8%93%e6%a0%8f/%e5%a6%82%e4%bd%95%e8%ae%be%e8%ae%a1%e4%b8%80%e4%b8%aa%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f/00%20%e5%bc%80%e7%af%87%e8%af%8d%20%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84%e8%ae%be%e8%ae%…...
深度神经网络——什么是降维?
引言 什么是降维? 降维是用于降低数据集维度的过程,采用许多特征并将它们表示为更少的特征。 例如,降维可用于将二十个特征的数据集减少到仅有几个特征。 降维通常用于无监督学习任务 降维是一个用于降低数据集维度的过程,采用许…...
SpringMVC—RequestMapping注解
一、RequestMapping注解 RequestMapping注解:是Spring MVC框架中的一个控制器映射注解,用于将请求映射到相应的处理方法上,具体来说,他可以将指定URL的请求绑定到一个特定的方法或类上,从而实现对请求的处理和响应。 …...
Java线程池基本概念
全局和局部线程池 全局线程池 在Spring框架中,全局线程池如ThreadPoolTaskExecutor通常是作为Spring Bean存在的,它们的生命周期由Spring容器管理。当Spring容器关闭时,这些线程池也会被适当地清理和关闭。因此,开发者通常不需要手…...
QLC SSD可靠性提升:LDPC软判决与智能固件如何实现低开销加固
1. 项目概述:当QLC成为主流,可靠性成了“房间里的大象”如果你最近关注过固态硬盘市场,或者自己动手组装过电脑,大概率会注意到一个趋势:QLC闪存颗粒的硬盘越来越多了,而且价格越来越香。从大厂的消费级产品…...
HPM5361EVK深度测评:480MHz RISC-V MCU性能、外设与低功耗实战
1. 项目概述与核心价值拿到一块新的开发板,尤其是基于RISC-V这类新兴架构的MCU开发板,很多工程师的第一反应往往是:跑个分,点个灯。这没错,但如果我们止步于此,就错过了深入理解一块芯片和其生态潜力的机会…...
SpringBoot项目快速集成Taotoken多模型API的完整教程
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 SpringBoot项目快速集成Taotoken多模型API的完整教程 对于使用SpringBoot框架的Java开发者而言,接入不同的大模型服务通…...
基于发布订阅模式的Web实时通信框架hermes-for-web实践指南
1. 项目概述:一个为Web应用注入灵魂的“信使”最近在折腾一个前后端分离的Web项目,遇到了一个老生常谈但又极其磨人的问题:前端页面状态和后端数据更新之间的“延迟”与“不一致”。比如,用户A在后台管理界面删除了一个订单&#…...
MegSpot视觉对比工具:3个专业级视觉分析难题的终极解决方案
MegSpot视觉对比工具:3个专业级视觉分析难题的终极解决方案 【免费下载链接】MegSpot MegSpot是一款高效、专业、跨平台的图片&视频对比应用 项目地址: https://gitcode.com/gh_mirrors/me/MegSpot 作为一名视觉内容创作者或质量检测人员,你是…...
终极指南:如何一键激活Cursor Pro完整功能,免费使用AI编程助手
终极指南:如何一键激活Cursor Pro完整功能,免费使用AI编程助手 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: You…...
PPPoE协议全解析:从原理到实践,打通家庭宽带连接第一关
1. 项目概述:从“猫”到世界的旅程每次打开网页、刷起视频,你有没有想过,你家的宽带究竟是怎么连上互联网的?这背后其实是一场从你家客厅到全球数据中心的精密“接力赛”。而这场接力赛的第一棒,也是最关键的一棒&…...
Mastra框架全解析:构建AI应用的全栈开发实践
1. 项目概述:一个面向AI应用开发的“全栈式”框架最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:如何把大语言模型(LLM)的能力,稳定、高效、低成本地集成到自己的产品里。从调用API、管理对话状态、…...
【限时技术白皮书】ElevenLabs希伯来文语音工程手册(v2.3.1):含BERT-Heb分词器适配补丁、ta’amei ha-miqra韵律注入模块及CI/CD集成脚本
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs希伯来文语音工程概览 ElevenLabs 作为前沿的文本转语音(TTS)平台,自2023年起逐步扩展对希伯来语(Hebrew)的支持,涵盖音…...
一键永久放开权限(神州网信政府版专用)普通用户 安装软件的权限
一键永久放开权限(神州网信政府版专用) 第一步:先登录Administrator超级管理员 WinR 输入 netplwiz 回车勾选要使用本机,用户必须输入用户名和密码选中 Administrator 设为默认,注销重登进这个账号 第二步:…...
