Meta-SR: A Magnification-Arbitrary Network for Super-Resolution整理

news2024/9/29 9:21:30

目录

  • 说明
  • 摘要
  • 引言
  • 相关工作
    • SISR
    • Meta-Learning
  • 本文的方法
    • Meta-Upscale方法
      • Location Projection
      • Weight Prediction
      • Feature Mapping
  • 实验细节
  • 总结
  • 实现代码
  • 参考链接

说明

作为一个读者,在阅读这篇文章后,按照自己的理解对其中内容做以总结(不然总感觉自己过一阵时间就遗忘了)。不是将原版英文照抄一字不落地翻译过来,而是自己进行整理总结。我只总结那些对我来说有价值的知识和我不知道的知识,其他的就省了。不喜勿喷且若出现错误,欢迎评论交流。我也是一个入门小白。

在这里插入图片描述
接收期刊及时间: 2019年CVPR论文
类型: 任意尺度超分

摘要

之间的大多数工作将不同倍数的超分视作为单独的任务。例如x2、x3、x4超分需要分别训练一个单独的模型,这在实际应用中很占空间且不高效,无法满足需求。因此,作者提出了Meta-SR,首次使用一个模型解决任意尺度超分问题

引言

现有的超分方法在网络最后上采样时大多使用亚像素卷积,所以说当放大倍数不一样时,模型也就不一样。同时亚像素卷积只能应对整数放大倍数(x2、x3、x4),这就限制了这些模型在实际中的应用。

相关工作

SISR

EDSR的论文中还首次提出了一个MDSR,这是首次训练一个模型可以同时解决三种放大倍数(2倍、3倍、4倍)。

Meta-Learning

本文的方法

Meta-Upscale方法

本文最主要的工作就是提出了Meta-Upscale模块来代替以前的上采样模块(例如亚像素卷积、反卷积)。Meta-Upscale模块的运作方式如下,主要分为两部分:位置映射(Location Projection)和权重预测(Weight Prediction)。
以前的方法是特征提取网络部分结束后,使用一个亚像素卷积或反卷积进行上采样。本工作特征提取部分不变,可以继续使用之前的特征提取模块(例如EDSR或者文中使用的RDN),之后将上采样模块换成Meta-Upscale即可。
上采样模块的具体算法细节如下图所示:
算法流程
上图已经表达的很清楚了,下面分别对这两部分进行整理。
原文中的网络结构如下:
在这里插入图片描述

Location Projection

这部分说白了就是位置映射:SR图像中的一个像素点由特征提取网络出来的特征图中的几个点决定。 从上图中可以看到SR中的一个像素点对应特征图中的 k × k k\times k k×k个像素 F L R ( i ′ , j ′ ) F^{LR}\left(i^{\prime},j^{\prime}\right) FLR(i,j)

Weight Prediction

SR图像中每个点都有自己的一个滤波器,也就是说,在Location Projection中定位出的那几个位置的像素值要乘以滤波器(权重)就等于SR中该点的像素值。这个权重怎么来的?
权重是通过一个预测网络 φ ( . ) \varphi\left(.\right) φ(.)预测出来的。可以用下式描述:
W ( i , j ) = φ ( v i j ; θ ) W\left(i,j\right) = \varphi(\text{v}_{ij};\theta) W(i,j)=φ(vij;θ)

v i j \text{v}_{ij} vij φ ( . ) \varphi\left(.\right) φ(.)的输入, θ \theta θ φ ( . ) \varphi\left(.\right) φ(.)的参数。输入 v i j \text{v}_{ij} vij的表达式如下:
v i j = ( i r − ⌊ i r ⌋ , j r − ⌊ j r ⌋ , 1 r ) \text{v}_{ij} = \left(\frac{i}{r} - \lfloor \frac{i}{r} \rfloor, \frac{j}{r} - \lfloor \frac{j}{r} \rfloor, \frac{1}{r}\right) vij=(riri,rjrj,r1)
( i , j ) \left(i,j\right) (i,j)为SR图像上的位置, ( i ′ , j ′ ) \left(i^{\prime},j^{\prime}\right) (i,j)为特征图 F L R F^{LR} FLR上的位置。
可以看到,输入是 ( i , j ) \left(i,j\right) (i,j)相对于 ( i ′ , j ′ ) \left(i^{\prime},j^{\prime}\right) (i,j)的偏移以及放大因子 r r r

Feature Mapping

有了Location Projection得到的 F L R ( i ′ , j ′ ) F^{LR}\left(i^{\prime},j^{\prime}\right) FLR(i,j)和Weight Prediction得到的 W ( i , j ) W\left(i,j\right) W(i,j),通过矩阵相乘便可得到SR上 ( i , j ) (i,j) (i,j)点的像素值 I S R ( i , j ) I^{SR}(i,j) ISR(i,j),如下式所示。
I S R ( i , j ) = F L R ( i ′ , j ′ ) ⋅ W ( i , j ) I^{SR}(i,j) = F^{LR}\left(i^{\prime},j^{\prime}\right) \cdot W\left(i,j\right) ISR(i,j)=FLR(i,j)W(i,j)

实验细节

参数描述
训练集DIV2K
测试集Set14、B100、Mange109、DIV2K的验证集
指标Y通道的PSNR和SSIM
损失函数L1 loss
batch_size[16,3,50,50],每个batch放大因子相同
数据增强随机水平反转或者垂直反正和90度旋转
优化器Adam,初始学习率 1 0 − 4 10^{-4} 104,每两个epochs减半
训练放大因子从1倍到4倍变化,步长为0.1

注:每一个batch内的数据是同一个放大尺度。

总结

本文提出的任意尺度的上采样模块的思路和传统图像处理的思路有点相似。比如我们在传统图像处理放大时,放大后的图像上的某个位置的像素值与原始图周围好几个像素有关,然后对这些像素做一些加减乘除的操作。而这里的这个权重是使用神经网络预测出来的。那么这里能否继续做一些工作呢?

实现代码

官方代码地址: github

因为官方代码的torch版本过于低,torch版本不匹配的话dataloader.py文件会报很多错误,这里我已经参考一些博客对其进行了修改,现在可以在torch1.12.1上面成功运行。不确定是否在更新的torch版本上可以成功运行。github地址如下:

https://github.com/zgaxddnhh/Meta-SR-Pytorch.git

参考链接

https://zhuanlan.zhihu.com/p/380373246

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ffmpeg,nginx,vlc把rtsp流转hls

ffmpeg:rtsp>hls流; nginx 托管hls流服务; vlc测试hls流服务; 参考了很多相关文档和资料,由于比较乱就不在一一引用介绍了,下面的是实操OK的例子; 1)ffmpeg (ffmpeg-4.4.1-full_build),要用full版本,否则会缺某些…

【从零学习python 】56. 异常处理在程序设计中的重要性与应用

文章目录 异常的概念读取文件异常try...except语句try...else语句try...finally语句 进阶案例 异常的概念 在程序运行过程中,由于编码不规范或其他客观原因,可能会导致程序无法继续运行,此时就会出现异常。如果不对异常进行处理,…

电工-什么是电功?及电功单位与计算公式讲解

什么是电功?及电功单位与计算公式讲解 电能是有其他形式的能量(如机械能、热能、化学能、核能)转换而来的一种能量,而电能又可以转换成为其他形式的能。比如当电能的具体体现:电流,其通过电灯泡发光就是将…

代码详解——可变形卷积(DCNv3)

文章目录 概述dcnv3.pyto_channels_firstto_channels_lastbuild_norm_layerbuild_act_layer_is_power_of_2CenterFeatureScaleModuleDCNv3_pytorchDCNv3 dcnv3_func.pyDCNv3Functiondcnv3_core_pytorch_get_reference_points_generate_dilation_grids 可变形卷积DCNv1 & DC…

华为OD机试 - 出错的或电路 - 二进制 - (Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

Vue2.0+webpack 引入字体文件(eot,ttf,woff)

webpack.base.config.js 需要配置 {test:/\/(woff2?|eot|ttf|otf)(\?.*)?$/,loader: url-loader,options: {limit: 10000,name: utils.assetsPath(fonts/[name].[hash:7].[ext])}} 如果 Vue2.0webpack3.6引入字体文件(eot,ttf,woff&…

成都爱尔林江院长解析离焦眼镜为何与众不同

近视是影响我国国民尤其是青少年眼健康的重大公共卫生问题。因病因不明确,且尚无有效的治疗方法,如何有效控制近视发生和增长备受关注。国家出台了儿童近视防控方案,社会上也出现了各种近视防控方法及策略。周边离焦技术,算得上近…

快速上手Linux核心命令:Linux的文本编辑器vi和vim

前言 上一篇中已经预告,我们这篇主要说Linux中vi/vim 编辑器。它是我们使用Linux系统不可缺少的工具,学会了,你就可以在Linux世界里畅通无阻,学废了,常用操作你也会了,也是够用了,O(∩_∩)O 简…

javascript初学者可以做些什么小东西或者项目来练手?

前言 可以试一下面的一些项目,可能有一些比较复杂,可以学习一下代码的结构思路,希望对你有帮助~ 实用工具向 1.Exchart Star:55.6k Exchart提供了大量精美的图表,只有你想不到,没有你在它上面找不到的&…

了解 JSON 格式

一、JSON 基础 JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式,JSON 的设计目的是使得数据的存储和交换变得简单。 JSON 易于人的阅读和书写,同时也易于机器的解析和生成。尽管 J…

8月17日上课内容 LVS+Keepalived群集

本章结构 Keepalived概述 keepalived工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题 在一个LVS服务集群中通常有主服务器 (MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟…

为什么选择elasticsearch分布式搜索引擎

文章目录 🔭什么是elasticsearch🌠ELK技术栈🌠elasticsearch和lucene🌠为什么不是其他搜索技术? 🔭总结 🔭什么是elasticsearch elasticsearch是一款非常强大的开源搜索引擎,具备非常…

mini木马实践和防护方法

一、实验目的: 1.了解木马的实现原理 2.了解基本的防护方法 二、预备知识: 木马通常有两个可执行程序:一个是客户端,即控制端;另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而…

linux如何使用keepalived配置VIP

VIP常用于负载均衡的高可用,使用VIP可以给多个主机绑定一个IP,这样,当某个负载应用挂了之后,可以自动切到另一个负载。 我这里是在k8s环境中做的测试,集群中有6个节点,我给140和141两个节点配置VIP。 1. 安…

「2024」预备研究生mem-立体几何截面模型代绝对值得一次和二次函数

一、立体几何截面模型&代绝对值得一次和二次函数 二、练习题 凑配换元

Mysql5.7.36主从同步实操

主库创建同步账户 #创建备份的账户 CREATE USER backup192.168.32.1 IDENTIFIED BY backup123; #给账户授予备份的权限 GRANT REPLICATION SLAVE ON *.* TO backup192.168.32.1; #刷新权限 FLUSH PRIVILEGES;停止主库 配置主库需要的备份参数 打开my.ini文件,配置…

Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理

Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理 目录 Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理 一、Task、async和 await 、Thread 基础概念 1、线程,多线程 2、Task 3、async (await )…

第四章:树形结构的关联式容器(map+set)

系列文章目录 文章目录 系列文章目录前言1、关联式容器与序列式容器1.1 键值对 2、set的介绍3、multiset的介绍3.1 接口count与容器multiset 4、map的介绍4.1 接口insert4.2 operator[]和at 5、multimap的介绍 前言 根据应用场景的不桶,STL总共实现了两种不同结构的…

PBI 之 Query数据导入、处理

PBI梳理数据流程 首先通过Excel 插件 Power Query、Power Pivot处理数据,然后使用Power Desktop导入处理好的数据进行展示。最后发布到在线网站。 一、导入数据 二、处理数据 如下,进入到Power Query编辑器界面 数据--查询&连接 界面区 界面区右键…

ChatGPT产品发布时间表-了解别人家的创业节奏

ChatGPT产品节点-2023年7月末-长期更新 ChatGPT风靡全球,创造了科技史上的发展奇迹。它可以根据简短的提示生成文章、代码等,极大地提高了生产力。许多大品牌正在尝试利用它来生成广告和营销文字。OpenAI也在此技术上大举投资。以下是ChatGPT产品发布时间…