FRR-NET:用于弱光图像增强的快速重参数残差网络

2024-04-15 07:28

本文主要是介绍FRR-NET:用于弱光图像增强的快速重参数残差网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久之前写的文章,前两天才见刊。项目的具体代码因项目原因无法公布,我自己重新训练了一个版本(包含两类预训练模型),供初学者参考。本文主要为A+B式创新。


文章链接:paper

代码链接:GitHub || CSDN

摘要:微光图像增强算法是图像增强算法领域的一个重要分支。为了解决亮度增强后增强图像特征严重退化的问题,人们在构建多尺度特征提取模块方面投入了大量的工作。然而,此类研究通常会产生大量参数,从而阻碍了工作的推广。为了解决上述问题,本文提出了一种用于低光图像增强的快速重参数残差网络(FRR-NET)。它取得了超越同类多尺度融合模块的结果。通过设计轻量级快速重新参数残差块和基于变压器的亮度增强模块。本文的网络只有0.012 M参数。大量的实验验证表明,本文算法在色彩还原上更加饱和,同时适当提高了亮度。与现有方法相比,FRR-NET 在主观视觉测试和图像质量测试方面表现良好,参数较少。

首先,写这篇文章的动机是想在FMR-NET的基础上再做进一步工作。主要参考的算法请查看我的paper。FRR-NET的出发点在于两个,第一,更好的特征提取能力;第二,更快的处理速度。特征提取能力的部分,还是考虑到了多尺度的使用(Inference那里的推理速度应该是你自己构建的模块中,最慢的那个卷积),因此,级联结构 + 权重融合是很好的方法。文章名字为快速,自从FasterNet和RRRP之类的文章出来以后,除了参数量浮点计算量以外,大多还需要考虑内存访问次数运行速度。因此,Concat换成ADD,取消BN层,尽可能少的使用激活函数,都是很好的解决办法。

在FRRB中,最重要的工作除级联外,则是仅使用1/4通道数量进行特征提取(图像冗余的利用,可参考FasterNET原文,和GhostNET也很类似)。其次。注意力模块,非常简单,三个步骤,就不多讲了。下面的一个方法就是轻量化的双分支Transformer模块,参考的STAR。不过既然是做的有监督学习,迭代函数增强之后,依然只是作为亮度增强的特征,重新与主干网络的特征相结合。

网络整体结构非常简单。是初学者可以参考并作为研究基础的原始网络。

实验部分,我做了三个消融实验:

因为当时的想法很抽象,用了LOL数据集和FIVEK数据集做了一个结合,结果效果还行吧。三个消融实验则是模块间的消融实验,数据集的消融实验和FRRB的优势性对比(请看原文)

最后的实验效果,是很不错的。欢迎引用我的文章:

Chen, Yuhan, et al. "FRR-NET: a fast reparameterized residual network for low-light image enhancement." Signal, Image and Video Processing (2024): 1-10.

这篇关于FRR-NET:用于弱光图像增强的快速重参数残差网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/905198

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen