当前位置: 首页 > news >正文

读《Multi-level Wavelet-CNN for Image Restoration》

Multi-level Wavelet-CNN for Image Restoration:MWCNN

  • 摘要
  • 一. 介绍
  • 二.相关工作
  • 三.方法

摘要

存在的问题:

  • 在低级视觉任务中,对于感受野尺寸与效率之间的平衡是一个关键的问题;
  • 普通卷积网络通常以牺牲计算成本去扩大感受野;

解决办法:

  • 使用膨胀卷积代理普通卷积方式,以此扩大感受野;此方式缺点:其使用棋盘模式对输入图像进行稀疏采样,导致处理结果会存在网格效应;

本文提出的方法MWCNN:

  • 在改进的U-Net架构之上,引入小波变换去减少压缩子网络中的特征尺寸;
  • 使用一个单独的卷积层去减少特征的通道数目;
  • 在扩大子网络中使用小波逆变换重构高分辨率特征;

效果:

  • 可应用于许多图像恢复任务,比如去噪、单一图像超分辨任务等;
  • 可将MWCNN视为膨胀滤波和子采样的泛化形式;

原文链接:《Multi-level Wavelet-CNN for Image Restoration》

一. 介绍

图像恢复:

  • 目的是从质量退化的图像y中恢复出干净图像x;
  • 传统方法有基于先验建模和鉴别学习的,近些年卷积神经网络(CNNs)广泛应用于许多具有代表性的图像恢复任务,并展现出了优越的性能;

为什么CNN在图像恢复领域比较受欢迎?

  • 基于CNN的方法在一些图像恢复任务上的表现比传统方法好,且有很大的超越;
  • 研究表明可将现有的基于CNN的去噪器插入基于模型的优化方法,以此解决更复杂的图像恢复任务;

基于CNN进行研究:

  • 感受野越大,对于图像的空间上下文则考虑的越多,因此更大的感受野有助于提升网络性能;

  • 由于输入图像和输出图像通常需保持一样的尺寸,所以一个经典方案是使用移除池化层的全卷积网络(FCN);

  • FCN可通过加深网络或者使用尺寸更大的卷积核,以此扩大模型感受野,但显而易见的是这种方式会带来更大的计算成本消耗;

  • 使用膨胀卷积代理普通卷积方式,以此扩大感受野;此方式缺点:其使用棋盘模式对输入图像进行稀疏采样,导致处理结果会存在网格效应;

  • 在这里插入图片描述
    通常随着感受野的扩大,网络模型的性能也会随之提升,但可看出这种推论也可能存在特殊情况(FSRCNN)。所以在进行感受野增大时,需要考虑如何避免增加计算成本以及性能提升的潜在牺牲。

Multi-level Wavelet-CNN for Image Restoration:MWCNN

  • 目的:扩大感受野,对网络性能和效率之间做一个更好的平衡;
  • 采用改进的U-Net,U-Net中包含一个压缩子网络、一个扩大子网络:MWCNN采用小波变化替换压缩子网络中的池化操作;
  • DWT可逆,故可保证在下采样过程中保留所有信息;DWT可捕捉特征的所有频率信息和位置信息,故有助于保存细节纹理信息;
  • 在扩大子网络中使用小波逆变换对低分辨率特征进行上采样, 重构高分辨率特征;
  • 为了丰富特征表示以及减少计算成本,在连接同层压缩-扩大子网络的特征图时,使用元素级加法;
  • 可将MWCNN视为膨胀滤波和子采样的泛化形式,MWCNN在扩大感受野方面更有效;

本文贡献:

  1. 提出MWCNN用于扩大感受野,对网络性能和网络效率做了更好的均衡;
  2. 由于DWT良好的空间-频域定位能力,该网络可以保存更好的纹理细节信息;
  3. MWCNN在许多图像恢复任务上展现出良好的性能;

二.相关工作

  • 之前的研究比如WaveResNet、DWSR表明将DWT应用于CNN有利于CNN学习;
  • 之前的工作通常只考虑一级小波变换,而忽略了子带之间的依赖影响;
  • 本文提出的MWCNN考虑了多级小波变换,再扩大感受野的同时保证无信息损失;MWCNN可以将DWT嵌入到任何具有池化的CNN中,更有效地对空间上下文和子带之间的依赖进行建模。

三.方法

WPT VS MWCNN:

  • MWCNN受多级小波变换(WPT)的启发,引入CNN搭建;

  • WPT采用二级小波变换,MWCNN在WPT基础上引入CNN块;

  • 在每级小波变换后引入CNN块,将其分解的子带作为CNN块的输入,进而将CNN块的输出作为下一级小波变换的输入;
    MWCNN可视为WPT的通用模式,当CNN块变为一致性映射时,MWCNN则退化为WPT了; 骨干网络采用改进的U-Net:

    分解阶段使用DWT进行下采样,实现池化的功能; 重构阶段使用IWT+卷积实现重构操作;

在这里插入图片描述
网络结构:

  • CNN块为无池化的4层FCN;
  • 每次完整的卷积过程包括:卷积核为3*3的卷积层、BatchNormalization层以及ReLU层;
  • 需要注意的是,扩张子网络中最后一个卷积块的最后一个卷积过程只有卷积操作,丢弃了BatchNormalization层以及ReLU层;
  • 整个网络共涉及24个网络层,图中可看到最终MWCNN借助三级小波变换/逆变换实现下采样、上采样操作;
  • MWCNN默认采用哈尔小波进行小波变换/逆变换;

在这里插入图片描述

MWCNN对U-Net做的改进:

  • U-Net中的下采样、上采样操作分别被DWT和IWT代替;
  • MWCNN中除了第一个卷积块对特征图通道进行了增加,其他的卷积块都是减少特征图通道,以此学习压缩表示;
  • 采用元素级加法连接同层的压缩子网与扩张子网的特征图;

损失函数:
在这里插入图片描述
其中xi为真实干净图像(标签),yi为退化图像(网络输入),F(yi,θ)为网络输出,θ为网络参数。
这里我不知道他右下角这个F表示F范数还是啥意思?

DWT为啥可以实现下采样,实现池化:
以2维哈尔小波为例,有四个滤波核分别为:
在这里插入图片描述
在这里插入图片描述
以fLL为例,类似卷积操作,对应位置求和,一个大小为4*4的特征即可变为2*2,实现下采样,IWT反向操作,实现上采样,将低分辨率图像重构为高分辨率图像。

DWT为啥可以近似膨胀滤波,扩大感受野:
原文中这么描述二者的关系,我举个例子:
3*3卷积核在膨胀率为2的膨胀卷积中,可看做一个5*5的卷积核,所以在进行隔点采样,如果原始特征大小为5*5,则膨胀卷积结果为1*1;
而使用DWT先对5*5特征进行滤波会得到3*3特征,再对其进行3*3卷积即可得到1*1结果;
在这里插入图片描述
上图中的公式可按照下图的例子进行理解,区别在于作者对于特征图的下标从1开始计算,我这里是从0开始,x1为对x进行fLL滤波后的结果,其中一个像素点对应原图中的4领域像素。
在这里插入图片描述

相关文章:

读《Multi-level Wavelet-CNN for Image Restoration》

Multi-level Wavelet-CNN for Image Restoration:MWCNN摘要一. 介绍二.相关工作三.方法摘要 存在的问题: 在低级视觉任务中,对于感受野尺寸与效率之间的平衡是一个关键的问题;普通卷积网络通常以牺牲计算成本去扩大感受野&#…...

【Linux】安装DHCP服务器

1、先检测网络是否通 get dhcp.txt rpm -qa //查看软件包 rpm -qa |grep dhcp //确定是否安装 yum install dhcp //进行安装 安装完成后 查询 rpm -ql dhcp 进行配置 cd /etc/dhcp 查看是否有遗留dhcpd.conf.rpmsave 删除该文件 cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sampl…...

功能测试转型测试开发年薪27W,又一名功能测试摆脱点点点,进了大厂

咱们直接开门见山,没错我的粉丝向我投来了喜报,从功能测试转型测试开发,进入大厂,摆脱最初级的点点点功能测试,拿到高薪,遗憾的是,这名粉丝因为个人原因没有经过指导就去面试了,否则…...

数据结构之哈希表

常见的三种哈希结构 数组set(集合)map(映射) set(集合) 集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(log n)O(log n)std::multiset红黑树有序是否O(log n)O(log n)std::unordere…...

linux信号理解

linux信号:用户、系统或进程发送给目标进程的信息,以通知目标进程中某个状态的改变或是异常。 信号产生原因:软中断或者硬中断。可细分为如下几种原因: ①系统终端Terminal中输入特殊的字符来产生一个信号,比如按下&am…...

HC小区管理系统window系统安装教程

实操视频 HC小区管理系统局域网window物理机部署教程_哔哩哔哩_bilibili 一、下载安装包 百度网盘: 链接:https://pan.baidu.com/s/1XAjxtpeBjHIQUZs4M7TsRg 提取码:hchc 或者 123盘 hc-window.zip官方版下载丨最新版下载丨绿色版下…...

自动化测试工具软测界的不二之选,还不快速来了解

目录 引言: 前言: 一.龙测AI-TestOps云平台使用教程 1.如何登录龙测AI-TestOps云平台 登录方法① 登录方法② 2.龙测AI-TestOps云平台界面布局 3.龙测AI-TestOps云平台菜单功能 ①创建项目 ②应用管理 ③设备管理 ④订单 二.总结 引言&#…...

centos系统/dev/mapper/centos-root目录被占满的解决方式

最近在做虚拟机部署docker微服务时,发现磁盘内存占满,无法进行操作。open /var/lib/dpkg/info/libc6:amd64.templates: no space left on device接下来就写下我在备份虚拟机上如何解决根目录被占满的问题:1、查看虚拟机磁盘使用情况df -h可以…...

【C++】STL容器、算法的简单认识

几种模板首先认识一下函数模板、类模板、栈模板。函数模板函数模板就是一个模型&#xff0c;而模板函数是函数模板经过类型实例化的函数。如下template<class T>是一个简单的函数模板&#xff1a;template<class T> T Max(T a, T b) {return a > b ? a : b; } …...

把python开发的web服务,打包成docker镜像的方法

要将Python开发的服务打成Docker镜像&#xff0c;可以按照以下步骤操作&#xff1a;1. 创建一个Dockerfile文件&#xff0c;该文件描述了如何构建Docker镜像。例如&#xff0c;以下是一个简单的Dockerfile文件&#xff0c;用于构建一个基于Python的Web应用程序&#xff1a; FRO…...

【Linux】多线程

进程和线程进程&#xff1a;一个正在运行的程序。状态&#xff1a;就绪&#xff0c;运行&#xff0c;阻塞&#xff1b;线程是进程中的一个执行路径&#xff0c;一个进程中至少有一个主线程&#xff08;main函数&#xff09;&#xff1b;有多条执行路径为多线程。创建一个线程用…...

Qt 设置窗口背景图片的几种方法实例

1.在paintEvent事件中绘制图片 void Widget::paintEvent(QPaintEvent * ev) {QPainter painter(this);painter.drawPixmap(rect(),QPixmap(":/bg.jpg"),QRect()); } drawPixmap在Widget的整个矩形区域绘制背景图片&#xff0c;第三个参数为要绘制的图片区域&#x…...

springcloud微服务架构搭建过程

项目地址&#xff1a;源代码 仅作为学习用例使用&#xff0c;是我开发过程中的总结、实际的一部分使用方式 开发环境&#xff1a; jdk11 springboot2.7.6 springcloud2021.0.5 alibabacloud 2021.0.4.0 redis6.0 mysql8.0 一、项目搭建 wdz-api&#xff1a;存放远程服务调用相关…...

LeetCode:215. 数组中的第K个最大元素

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; &#x1f33b;算法&#xff0c;不如说它是一种思考方式&#x1f340;算法专栏&#xff1a; &#x1f449;&#x1f3fb;123 一、&#x1f331;215. 数组中的第K个最大元素 题目描述&#xff1a;给定整数数组nums和整…...

vue面试题(day06)

文章目录前言请谈谈WXML与标准的html的异同&#xff1f;请谈谈WXSS和CSS的异同&#xff1f;请谈谈微信小程序主要目录和文件的作用&#xff1f;请谈谈小程序的双向绑定和vue的异同&#xff1f;简单描述下微信小程序的相关文件类型&#xff1f;微信小程序有哪些传值(传递数据)方…...

22 k8s常用命令

一、k8s网络 service网络 pod网络 节点网络 》 svc、pod网络都是虚拟机网络&#xff0c;真实网络是节点网络 二、内核升级 因为coentos系统3.10存在一些bug&#xff0c;docker、kubernetes不稳定&#xff0c;建议升级到4.4版本以上 三、集群资源分类 名称空间级别&#xff1…...

基于ESP32做低功耗墨水屏时钟

基于ESP32做低功耗墨水屏时钟电子墨水屏概述ESP32实验低功耗电子时钟功能描述接线开发实验结果电子墨水屏 概述 电子墨水是一种革新信息显示的新方法和技术。和传统纸差异是电子墨水在通电时改变颜色&#xff0c;并且可以显示变化的图象&#xff0c;像计算器或手机那样的显示。…...

常见路由器开源系统(固件)简介

前段时间在折腾如何通过 SD-WAN 组网方式打通办公室和家里的异地局域网。需要用到路由器的静态路由表功能&#xff0c;但是遍历整个家用路由器市场几乎没有支持这个功能的路由器&#xff08;只有华硕 RT-AX57 有这个功能&#xff0c;但是成本超出了我的预算&#xff09;。所有就…...

HCIE-Cloud Computing LAB备考第二步:逐题攻破--第二题:FusionAccess-搭建FA实验环境之安装基础组件和初始化ITA组件

HCIE-Cloud Computing LAB备考第二步:逐题攻破–第二题:FusionAccess-思维导图+题目=建立逻辑 专业术语 名词描述备注FusionAccess华为推出的桌面云产品,是一种虚拟桌面应用,它主要通过在硬件上部署FusionAccess配套的软件基础上,虚拟化出相互隔离的桌面,用户通过瘦客户端…...

Android APP检查设备是否为平板

正文 Android APP判断设备是否为平板的三种方法&#xff1a; 通过屏幕尺寸判断。一般来说&#xff0c;平板电脑的屏幕尺寸比手机大很多&#xff0c;可以根据屏幕的长宽比和尺寸等信息来区分设备类型。通过屏幕像素密度判断。一般来说&#xff0c;平板电脑的屏幕像素密度比手机…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...