论文阅读——MIRNet

项目地址:

GitHub - swz30/MIRNet: [ECCV 2020] Learning Enriched Features for Real Image Restoration and Enhancement. SOTA results for image denoising, super-resolution, and image enhancement.GitHub - soumik12345/MIRNet: Tensorflow implementation of MIRNet for Low-light image enhancement

论文地址:https://arxiv.org/pdf/2003.06792

应用:defocus deblurring, image denoising, super-resolution, and image enhancement.

期刊:ECCV 2020/TPAMI 2022


概述

背景如下:

1. 图像复原领域被CNN统治

2.CNN使用全分辨率,或者是渐进的低分辨率full-resolution or on progressively low-resolutionrepresentations。前者是单一尺度的,而后者一般是编码器-解码器结构。

3.空域信息spatial details和上下文语义信息不可兼得

从四个方面解决:

1.多尺度特征提取,但是是并行进行的。

2.多尺度间的信息交换

3.非局部attention

4.基于attention的多尺度信息集成

(a) parallel multi-resolution convolution streams for extracting multi-scale features,

(b) information exchangeacross the multi-resolution streams,

(c) non-local attention mechanism for capturing contextual information,

(d) attention basedmulti-scale feature aggregation. 

Multi-Scale Residual Block(MRB)

图像复原任务是与位置信息高度相关的,需要分辨哪些是退化后的内容,哪些是真正的纹理线条。这就需要更大的感受野,或者在更小分辨率上提取特征。所以多尺度仍然是必需的。

但不同于之前encoder-decoder,MIRnet的结构是由MRB模块堆叠得到的。始终有一路高分辨率的stream。

MRB在v1和v2上略有区别:

以v1为例,观察MRB有如下特点:

首先是三条并行的特征提取stream,不同stream负责同一图像的不同分辨率;

每条stream都经历了DAU->SKFF->DAU;

每条stream在DAU之后都被上采样后者下采样,然后经SKFF进行融合;

x1 stream是主干,最后其他stream都被汇集到x1中。

Residual Contextual Block(RCB)

框架中的绿色部分。在MIRnet-v2中使用RCB代替了dual attention unit (DAU).

RCB整体是一个残差结构:

F_b是原始特征图,相比于标准卷积,使用了更为高效的group convolution,这样每个filter可以得到更加独特的特征。

CM表示Context module,包括三部分。第一部分Modeling把HxWxC的特征图转换为1x1xC。Transform则是两次1x1卷积,增强通道之间的通信。Fusion则是对每个通道加一个不一样的常数。最后,CM之后的F_b再和F_a进行求和。

selective kernel feature fusion (SKFF)

对应前面MRB图中紫色的部分。它接在绿色的RCB部分后面,是对已经提取到的多尺度特征进行信息交换和融合。

实际上是受到了南京科技大学Selective Kernel Networks的启发。先看SKnet的结构:

在SKNet中包含三个操作:Split, Fuse and Select。split阶段提供了两种卷积核的特征图;fuse把两种特征图对应像素相加,然后求全局池化,每个通道得到一个数值,再经过全连接,得到更短的一个数组。但为了得到原始长度为c的权重,需要再次通道升维,升维也使用两种卷积核,这样再次变为两个分支,然后两个分支在每个通道对应位置求softmax,得到权重,对最开始的两种特征图做加权求和。

而对于MIRnet的两个stream,已经是两种scale的特征图了,所以可以省略掉split:

SKFF相比于cancate省却了5x的参数量,但是可以得到更好的特征表达。

Progressive Training Regime

patch更大时,CNN可以捕获得到更好的特征,但是训练速度也会更慢。所以可以在训练前期使用较小的patch,在后期逐步加大。具体是从128大小的patch开始,一直加大到144, 192, and 224.


reference:

MIRNet重磅升级!MIRNetV2 更快、更强、更轻量-腾讯云开发者社区-腾讯云

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/695175.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea打开hierarchy面板

hierarchy:查看类层级关系图 不同版本的IDEA的快捷键不一样,同时如果修改了IDEA快捷键,也可能会不一样,具体查看可通过IDEA上方的Navigate来查看navigate--Type Hierarchy,就可以看见其快捷键了,我的快捷键…

简单记录玩4399游戏flash插件问题

一、因谷歌浏览器默认禁止flash插件自动运行,所以玩家在使用谷歌浏览器,访问www.4399.com平台页面或者4399小游戏(flash资源)时,可能会出现加载异常的情况。今天教大家如何开启flash插件 二、下载falsh官方插件 地址:Flash Player官方下载中心-Flash中国官网 三、如果您…

【IoT NTN】3GPP R18中关于各类IoT设备在NTN中的增强和扩展

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G技术研究。 博客内容主要围绕…

动态路由协议RIP(思科、华为)

#交换设备 动态路由协议RIP 路由协议 静态路由 需要管理员手动配置 动态路由 是在路由器上启用某动态路由协议,进行自己直连网段的宣告,从而相邻的路由器就可以学习的相邻的路由器所宣告的网段,每一台路由器都把自己直连的网段宣告出去&am…

LINUX网络FTP服务

一、FTP服务 FTP服务:file transfer protocol :文件传输协议。在网络上进行双向传输,也是一个应用程序。不同的操作系统有不同的FTP软件,但使用的协议是一样的。 FTP协议基于TCP协议,有两个端口,即20和21。 20端口&…

《大道平渊》· 拾壹 —— 商业一定是个故事:讲好故事,员工奋发,顾客买单。

《大道平渊》 拾壹 "大家都在喝,你喝不喝?" 商业一定是个故事,人民群众需要故事。 比如可口可乐的各种故事。 可口可乐公司也只是被营销大师们, 作为一种故事载体,发挥他们的本领。 营销大师们开发故事…

《精通ChatGPT:从入门到大师的Prompt指南》第11章:Prompt与AI的未来

第11章:Prompt与AI的未来 11.1 技术发展的新方向 在迅速发展的人工智能领域,Prompt工程作为与AI模型交互的核心方式,正处于技术创新的前沿。未来几年,Prompt工程将沿着多个新方向发展,这些方向不仅会改变我们与AI互动…

SOA的设计模式_2.企业服务总线模式

1.企业服务总线(|Enterprise Service Bus,ESB) 在企业基于SOA实施EAI、B2B和BMP的过程中,如果采用点对点的集成方式存在着复杂度高,可管理性差,复用度差和系统脆弱等问题。企业服务总线(…

(南京观海微电子)——温度对TFT影响及改善方式

温度如何损坏 LCD? 这个工作温度范围会影响设备内的电子部分,超出范围会导致 LCD 技术在高温下过热或在寒冷时变慢。 至于液晶层,如果放在高温下,它会变质,导致它和显示器本身出现缺陷。 LCD 温度限制: 什…

架构设计-加密解决的基本工具方法

软件工程实施过程中,经常会用到加密解密相关的工具类,整理如下: import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;import javax.crypto.Cipher; import java.security.*; import java.security.interfaces.RSAPrivateKey; imp…

开发做前端好还是后端好?

目录 一、引言 二、两者的对比分析 技能要求和专业知识: 职责和工作内容: 项目类型和应用领域: 就业前景和市场需求: 三、技能转换和跨领域工作 评估当前技能: 确定目标领域: 掌握相关框架和库&a…

Vue3【十三】watch监视

Vue3【十三】watch监视 Vue3 中的watch祝你能监视以下四种数据 ref 定义的数据reactive定义的数据函数返回一个值一个包含上述内容的数组 案例截图 目录结构 案例代码 Person.vue <template><div class"person"><!-- <h1>Watch情况1&#xff…

Channels无法使用ASGI问题

Django Channels是一个基于Django的扩展, 用于处理WebSockets, 长轮询和触发器事件等实时应用程序. 它允许Django处理异步请求, 并提供了与其他WebSockets库集成的功能.当我们在Django Channels中使用ASGI_APPLICATION设置时, 我们可以指定一个新的ASGI应用程序来处理ASGI请求.…

Transformer动画讲解:Softmax函数

暑期实习基本结束了&#xff0c;校招即将开启。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。提前准备才是完全之策。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c…

数据结构之线性表(1)

数据结构之线性表 1.线性表的定义 线性表是一种线性结构。在一个线性表中数据元素的类型是相同的&#xff0c;或者说线性表是由同一类型的数据元素构成的线性结构。 线性表是具有相同数据类型的n&#xff08;n>0&#xff09;个数据元素的有限序列。 n表示表长&#xff0c;…

45.django - 开始建立第一个项目

1.django是什么&#xff1f; Django是一个高级的、免费的、开源的Web应用框架&#xff0c;它由Python编程语言编写而成。Django遵循模型-视图-控制器&#xff08;MVC&#xff09;的设计模式&#xff0c;但通常将其称为模型-视图-模板&#xff08;MVT&#xff09;架构。它的主要…

数据交换平台_10_activatemq 中间件容错性测试

目录概要 3. 容错测试: - 模拟ActiveMQ在异常情况下的表现,如网络中断、节点故障等。 - 观察ActiveMQ的容错机制是否能够正确处理异常情况,保证消息的可靠传输。 - 根据容错测试结果,优化ActiveMQ的容错机制,确保系统在面对异常情况时能够正确处理并恢复。 设计: 容错测…

python实现将excel数据指保存到word表格中

准备一个excel表格 上代码&#xff1a; import openpyxl from docx import Document# 读取Excel文件 excel_file 大学名次.xlsx wb openpyxl.load_workbook(excel_file) ws wb.active# 获取Excel文件中的所有工作表名称 sheet_names wb.sheetnames# 遍历每个工作表&#x…

5.1 实体完整性

一个表只能有一个主键约束&#xff0c;且主键约束不能取空值。 通过unique约束定义唯一性&#xff0c;为了保证一个表非主键列不输入重复值&#xff0c;可在该列定义unique约束。 primary key约束与unique约束主要区别如下。 (1)一个表只能创建一个primary key约束&#xff0…

redis windos修复版本

遇到的问题: Django的channel插件连接安装在windows上的redis报错: unknown command BZPOPMIN, channels-redis版本和redis不兼容导致.解决方案: 更新Redis版本. 微软官方维护的 Redishttps://github.com/microsoftarchive/redis/releases 2016年后就不更新了, 版本停留在了3.x…