FMR-NET:用于弱光图像增强的快速多尺度残差网络(已更新三类预训练模型)

本文主要是介绍FMR-NET:用于弱光图像增强的快速多尺度残差网络(已更新三类预训练模型),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前上传的代码存在一定问题,目前已重新更新并上传了三类新的预训练模型供大家使用

paper     Github     CSDN下载

动机:

不按摘要来形式来写,本文的动机在于一个,减少模型参数量,加快运行速度,以及取得还不错的效果。因此,就存在两个方面的技术问题:第一,如何降低参数量;第二,如何降低内存访问的次数(这个观点从FasterNET就可以看出,很多文章也在提这个点);第三,如何取得还不错的增强效果。

因此,我自己思考的是两个:第一个是输入通道的通道数量应该小(特征冗余很多;相较于FasterNet的局部卷积;直接减少通道感觉也行);第二个在于特征提取的能力必须很强(1.基本会使用大量残差,但是残差其实是加大了内存访问次数的,因此也不能太多;2.必须加入多尺度的环节,但是许多的多尺度卷积会增大整个网络的复杂度);第三个是推理速度的问题(合理的残差结构和通道叠加,拓扑推理速度会很快)

所以,我们提出了如下的网络结构:

网络结构

对于整个网络而言,最关键的技术,在于MRB这个模块的构建。因此我们后面做了消融实验去验证它。首先,这个模块有两类思想:1.特征叠加的思想。单一通道的并联操作,在拓扑推理中运行速度是按照推理计算最大的卷积核为标准的,因此可以并联许多不同类型的核;2.双重的残差设计。具体可以看一下原文。

为了尽可能地轻量化,我们做了一个非常简略的通道注意力模块,同时,在MMFF-NET这篇文章中,虽然利用特征点成作增亮效果更好;但是为了更加迅速,Zero-DCE的操作蚕食FLOPs最小的。因此我们还是使用的这类策略。

整个网络非常简单,非常方便训练和改造,也非常方便大家部署+即插即用。

展示效果:

我们全新的代码中,提供了3类全新的预训练模型。分别是使用LOL,FiveK(艺术家C)和LOL+FiveK,三个版本。具体效果如下:

原图如下:

三类预训练的效果其实都还不错。主要看您针对于什么模型。如果您需要自己训练模型,直接使用自己的有监督学习数据集即可。

对比实验

实验部分我们做了两类实验。一个是MRB的消融实验。这里的消融实验我感觉更多是做的模块性能的一个对比试验。在这里我们比较了不同常用多尺度模块的性能,并且使用PSNR/SSIM比较了谁更牛逼。(肯定是我们的模块最好了=_=)同时我们还和其他算法进行了比较。

欢迎引用我的算法+代码:

感谢各位的支持。

Chen, Yuhan, et al. "FMR-Net: a fast multi-scale residual network for low-light image enhancement." Multimedia Systems 30.2 (2024): 73.

这篇关于FMR-NET:用于弱光图像增强的快速多尺度残差网络(已更新三类预训练模型)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

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

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注