光谱图像超分辨率综述
光谱图像超分辨率综述
简介
论文链接:A Review of Hyperspectral Image Super-Resolution Based on Deep Learning

UpSample网络框架
1.Front-end Upsampling
在Front-end上采样中,是首先扩大LR图像,然后通过卷积网络对放大图像进行优化。如"Image Super-Resolution Using Deep Convolutional Networks"(SRCNN)中,首先使用bicubic对图像进行放大,再采用卷积进行处理。
缺点:
- 由于先进行上采样,再进行其他操作,根据上采样倍数的不同,导致卷积部分计算量巨大
- 直接进行上采样,可能将LR图像中的噪声放大,导致超分结果不理想。

2.Back-end Upsamling
为了降低计算成本,充分利用神经网络的学习能力,将Upsample层放到模型后端进行操作。也就是先通过神经网络对LR图像特征进行提取,减弱噪声部分影响,再采用上采样操作对图像进行超分辨率。如"Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network".(ESPCN),先使用卷积层进行LR图像的特征提取,再采用提出的Pixelshuffle模块——亚像素卷积层(sub-pixelconvolutionlayer)进行上采样得到重建图像。
缺点:
- 由于只进行一次上采样操作,对于较大缩放因子,仍然不是一个好的选择。

3.Progressive Upsampling
解决缩放因子较大时的问题,通过将其拆分为几个子任务进行解决。
缺点:网络结构更加复杂

Upsample方法
1.基于插值的方法
- Nearest-neighbor Interpolation
- Bilinear Interpolation:没有考虑相邻像素之间灰度值变化率的影响,从而破坏了插值图像的高频信息,经常得到模糊图像边缘
- Bicubic Interpolation:考虑了四个最近像素的灰度值的影响,同时也考虑了周围灰度值变化率的影响,从而获得比前两种插值方法更平滑的边缘、更少的伪影和更少的丢失图像信息,但是其计算量巨大。
2.Transposed Convolution转置卷积
import torch
import torch.nn as nnnn.ConvTranspose2d()#函数定义
def __init__(self,in_channels: int,out_channels: int,kernel_size: Union[int, Tuple[int, int]],stride: Union[int, Tuple[int, int]] = 1,padding: Union[int, Tuple[int, int]] = 0,output_padding: Union[int, Tuple[int, int]] = 0,groups: int = 1,bias: bool = True,dilation: Union[int, Tuple[int, int]] = 1,padding_mode: str = 'zeros',device: Any = None,dtype: Any = None) -> None

3.Pixel Shuffle
import torch
import torch.nn as nn
self.ps = nn.PixelShuffle(8)
#8为上采样因子,需要注意的是用其处理时,首先需要使用卷积调整channel维度,使其满足为采样因子平方的倍数

常见网络结构

1.残差学习
引人残差网络,方便加深网络,避免梯度消失
2.递归学习
所有残差单元共享相同的权重,大大减少了模型参数的数量。同时,递归学习固有地引入了梯度消失或梯度爆炸的问题因此将残差学习与递归学习相结合是明智的选择。
3.多路径学习
通过将图像输入到不同路径进行特征提取,方便提取多个维度的特征,可以使得特征之间的细节有效互补
4.注意力机制
采用channel attention以及spatial attention,可以分别学习channel维度(频段维度),spatial维度(空间维度hw)之间特定的信息,用于保留输入图像的关键空间信息以及频段信息。
5.密集连接
密集连接最重要的特点是能够重用包括低级特征和高级特征在内的特征,与普通skip connection相比,这是一个优越的方面。
损失计算
1.Pixel-wise损失
像素级别的损失,常见的是L1损失和L2损失,它们都是逐像素进行误差计算。
与L1损失相比,L2损失可以有力地处理较大的误差,但不能对较小的误差进行有效的惩罚,因此经常导致结果过于平滑。这使得L1损耗在大多数情况下是更好的选择。
图像评价指标
- PSNR:峰值信噪比,侧重于像素之间的差异,也就是重建的像素与像素之间的差异,无法对主观感知信息进行较好评估。
- SSIM:结构相似度,人类的主观感知对观察对象的结构很敏感,研究人员提出了结构相似性 (SSIM) 指数来衡量标记图像和重建图像之间的结构相似性。它的评估基于图像结构,比PSNR更能考虑视觉感知。使用SSIM下的结果更符合人类的主观感受
- SAM:将HSI的每个图像元素的频谱视为高维向量,通过计算对应向量之间的角度来测量光谱相似度。角度越小,它属于同一类型特征的可能性就越大。在执行分类任务时,通过计算未知向量与已知向量之间的谱角的大小来识别未知图像元素的类。
- 详细请见光谱图像常见评价指标-CSDN博客
相关文章:
光谱图像超分辨率综述
光谱图像超分辨率综述 简介 论文链接:A Review of Hyperspectral Image Super-Resolution Based on Deep Learning UpSample网络框架 1.Front-end Upsampling 在Front-end上采样中,是首先扩大LR图像,然后通过卷积网络对放大图像进行…...
Ubuntu apt-get换源
一、参考资料 ubuntu16.04更换镜像源为阿里云镜像源 二、相关介绍 1. apt常用命令 sudo apt-get clean sudo apt-get update2. APT加速工具 轻量小巧的零配置 APT 加速工具:APT Proxy GitHub项目地址:apt-proxy 三、换源关键步骤 1. 更新阿里源 …...
磐舟CI-Web前端项目
整体介绍 磐舟作为一个devops产品,它具备基础的CI流水线功能。同时磐舟的流水线是完全基于云原生架构设计的,在使用时会有一些注意事项。这里首先我们要了解磐舟整体的流水线打包逻辑。 文档结构说明 一般来说,磐舟推荐单个业务的标准git库…...
Flink 运行架构和核心概念
Flink 运行架构和核心概念 几个角色的作用: 客户端:提交作业JobManager进程 任务管理调度 JobMaster线程 一个job对应一个JobMaster 负责处理单个作业ResourceManager 资源的分配和管理,资源就是任务槽分发器 提交应用,为每一个…...
中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)
中间件安全:Apache Tomcat 文件上传. 当存在漏洞的 Tomcat 运行在 Windows / Linux 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为ialse) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务…...
Linux 命令补充
目录 tr 命令 命令举例 cut 命令 命令举例 uniq 命令 命令举例 sort 命令 命令举例 面试题 1. 给你一个文件如何提取前 10 的 IP 2. 如何提前 ss 中的状态 tr 命令 作用tr转换tr -d删除tr -c取反tr -s压缩 命令举例 cut 命令 作用cut提取cut -f指定列cut -d指定分…...
HTTP常见面试题(小林coding版总结)
1:HTTP基本概念 超文本 传输 协议 2:常见状态码 1xx 提示信息 2xx 成功 3xx 重定向 4xx 客户端错误 5xx 服务器错误 3:HTTP常见的字段 host 指定服务器的域名 Content-Length 回应的数据长度 Connection 长连接(Keep-Alive&#x…...
一整个分析模型库,大数据分析工具都这么玩了吗?
一整个分析模型库,100张BI报表,覆盖销售、财务、采购、库存等多个分析主题。只需对接ERP,就能自动生成BI报表,完成对海量数据的系统化分析。现在大数据分析工具都发展到这种程度了吗? 放眼看去,现阶段能做…...
最新企业服务总线ESB的国内主要厂商和开源厂商排名,方案书价格多少
企业服务总线ESB是什么? ESB平台(企业服务总线,Enterprise Service Bus)是一种企业级集成平台,它提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用ÿ…...
react重要知识点(面经)
react重要知识点(面经) react生命周期classhooks reduxredux 核心概念redux 计数器案例 react页面加载卡顿使用懒加载异步加载JavaScript压缩和缓存静态资源使用React.memo() PubSub使用方式1.1 react导入库1.2 react 页面引入pubsubjs1.3 pubsubjs使用2…...
面试题-6
1.精灵图和base64的区别是什么? 精灵图:把多张小图整合到一张大图上,利用定位的一些属性把小图显示在页面上,当访问页面可以减少请求,提高加载速度 base64:传输8bit字节代码的编码方式,把原本二进制形式转为64个字符的单位,最后组成字符串 …...
九宫格 图片 自定义 路径
<image :src" ../../static/img/ item.urlname .png " class"u-w-82 u-h-82 u-p-t-36"></image>使用场景:九宫格里含有多张图片 html <view class"u-p-b-46 u-p-x-35"><u-grid :border"false" c…...
Leetcode经典题目之“双指针交换元素“类题目
1 LC 27. 移除元素 class Solution {public int removeElement(int[] nums, int val) {int nnums.length;int s0;for(int i0;i<n;i){// 只有不等于目标值的时候才会进行交换,然后移动s指针if(nums[i]!val){swap(nums,i,s);}}return s;}void swap(int[]nums, int…...
计算机基础知识54
ORM的介绍 # ORM是什么? 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(增、删、改、查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql、oracle…...
深度系统(Deepin)开机无法登录,提示等待一千五百分钟
深度系统(Deepin)20.0, 某次开机无法登录,提示等待一千五百分钟。 ????????? 用电脑这么多年,头一回遇到这种…...
工具及方法 - 多邻国: Duolingo
网站:Duolingo 有iOS和Android应用,在App Store和Google Play上都能下载。也可以使用网页版。我就在iOS上安装了付费版,为了小朋友学习英语,一年的费用¥588。 目前学习中的课程是英语、日语和粤语。英语是小学课程&a…...
Redis篇---第十一篇
系列文章目录 文章目录 系列文章目录前言一、说说Redis持久化机制二、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题三、热点数据和冷数据是什么前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章…...
linux CentOS7 安装git 配置秘钥公钥克隆代码
第一步:安装git yum -y install git #查看版本 git --version 第二步:配置git信息 git config --global user.name "username" git config --global user.email "XXXXX.com" 第三步:生成密钥和公钥, 后…...
深度学习之生成唐诗案例(Pytorch版)
主要思路: 对于唐诗生成来说,我们定义一个"S" 和 "E"作为开始和结束。 示例的唐诗大概有40000多首, 首先数据预处理,将唐诗加载到内存,生成对应的word2idx、idx2word、以及唐诗按顺序的字序列。…...
算法设计与分析算法实现——删数问题
通过棋盘输入一个高精度的正整数n(n的有效位数<=240)去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。变成对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。 输入:n,s 输出:最后剩下的最小数 输入实例: 178543 4 输出示例: 13 首先…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
