超分辨率专题 | 3 种方法、4 个教程、10 个数据集,一文 Get 核心知识点

news2024/11/27 0:39:05

2010 年 12 月,清华大学电子工程系教授苏光大接到一通不寻常的电话,内蒙古自治区准格尔刑警队的警员拿着一张模糊不清的犯罪嫌疑人人脸图像,向苏光大寻求帮助。

「这张图像是由路边的监控摄像头拍摄的,像素非常低,肉眼完全无法辨认。」苏光大回忆道,当时他利用超分辨率技术,将这张模糊的图像放入他们研发的软件中进行了重建,准格尔警方依据重建后的高清晰度图像,很快便锁定了嫌疑人,并破获了这起凶杀案。

图片

事实上,该案件并非个例。警方在侦破案件时,通过监控摄像头可以得到犯罪嫌疑人相关图像,加快破案速度。然而,监控摄像头拍摄的照片放大后常常出现细节模糊的问题,这大大降低了警方获取关键证据的效率。

随着超分辨率技术的发展,这些问题迎来了转机并逐渐被解决。

本文将从概念入手,介绍超分辨率的主流算法及其优缺点,并展示了其在公共安防、医学诊断、卫星遥感、数字娱乐等不同场景下的应用。此外,HyperAI超神经官网已经上线了大批超分辨率相关的公共教程与公开数据集,欢迎上手体验!

什么是超分辨率?

超分辨率 (Super-Resolution, SR),简单来说,就是将低分辨率 (low resolution, LR) 的图像通过算法提升到高分辨率 (high resolution, HR)。 相较于低分辨率图像,高分辨率图像拥有更大的像素密度和更丰富的纹理细节,具备更高的可信赖度。

图片

图源:SUPIR 官网

这种技术可以克服或补偿由于图像采集系统或采集环境本身的限制而导致的成像模糊、图像质量低下等问题,在特征提取、信息识别等图像的后续处理上提供了重要支持。

超分辨率算法分类

目前,超分辨率方法主要分为三类:基于插值的方法、基于重构的方法和基于学习的方法。

基于插值的方法

插值法通过在图像原有的像素周围插入新像素来加大图像的尺寸,并给这些像素赋值,从而恢复图像内容,达到提高图像分辨率的效果。

  • 像素:组成图像的最基本单元要素,即点,每个像素点都有自己的颜色值,单位面积上像素点越多,图片越清晰。

基于重构的方法

基于重构的超分辨算法,通常是用多幅在同一场景下拍摄的低分辨率图像作为输入,然后对这些图像的频域或空域关系进行分析,通过引入先验信息对重建过程进行指导和约束,进而重建得到单张高分辨率图像。

  • 频域:是指信号在频率域上的特征。
  • 空域:是指信号在空间上的分布情况。
  • 先验信息:这种信息是在「试验之前」就已有的,一般可理解为领域知识。

基于学习的方法

基于学习的超分辨率方法,通常是利用大量的训练数据,通过学习低分辨率图像和高分辨率图像之间的映射关系,预测低分辨图像中丢失的高频细节信息,从而生成超分辨图像。

基于浅层学习的方法主要包括机器学习、流形学习、样本学习和稀疏编码等,可用于数据量较小的情况。

基于深度学习的方法可以分为基于卷积神经网络的 SR 方法、基于残差网络 (residual network, ResNet) 的 SR 方法和基于生成对抗网络 (generative adversarial networks, GAN) 的 SR 方法。

图片

基于深度学习的超分辨率重建算法网络结构

图源:法信网

上述三种方法的优缺点如下:

图片

来源:HyperAI超神经

现如今,深度学习已经成为超分辨率领域的主流方法。

2014 年,Dong 等人首次将深度学习应用于图像超分辨率重建领域,提出了 SRCNN (Super-Resolution Convolutional Neural Network) 网络模型, 该成果以「Image Super-Resolution Using Deep Convolutional Networks」为题发表于 arXiv 上。自此,超分辨率重建领域掀起了深度学习的浪潮。

论文地址:

https://arxiv.org/pdf/1501.00092

图片

SRCNN 网络结构

SRCNN 作为最早将深度学习方法应用于图像超分辨率的模型,仅仅使用了 3 个卷积层,便取得了远超传统方法的 PSNR 值。

具体而言,输入低分辨率图像,用双三次插值法 (Bicubic interpolation) 将图像放大至目标尺寸,然后用 3 层卷积神经网络拟合低分辨率图像跟高分辨率图像之间的非线性映射,最后输出重建后的高分辨率图像。

*PSNR 值:峰值信噪比,该数值越大,输出的 HR 图像质量越好。

SRCNN 凭借其简单、高效的优势,成为了图像超分辨率领域的重要里程碑。 自此之后,从早期基于卷积神经网络 (CNN) 的超分辨率技术,到近期的基于生成对抗网络的技术,基于深度学习的超分辨率技术得到了快速发展。

深度学习+超分辨率:从公共安防到数字娱乐的多元应用

需求推动技术发展,技术迭代助力应用落地。现如今,超分辨率技术在公共安防、医学诊断、卫星遥感和娱乐媒体等领域都得到了广泛的应用。

公共安防领域

公共监控录像受天气和距离等因素影响,画面常模糊且分辨率低。应用超分辨率技术可以帮助警察提取清晰的人脸、车牌号等关键信息,有助于案件侦破。

吉林警察学院的封顺利用 ESRGAN 和 BSRGAN 网络,针对不同环境下的人像和自然景物进行了分析,探索了超分辨率技术在公安和法庭中的应用可行性。

该成果以「图像超分辨率重建技术在警务工作中的应用」为题,发表在《武警学院学报》中。

论文地址:

https://www.faxin.cn/lib/Flwx/FlqkContent.aspx?gid=F805122&libid=040106

首先,研究人员对 ESRGAN 和 BSRGAN 模型进行复现、训练和测试,得到最佳模型参数。然后,使用训练好的模型对采集的人像、自然景物等低质量图像进行超分辨率重建,得到 ESRGAN 和 BSRGAN 的重建结果。

图片

人像低质量图像重建比对

研究人员将 ESRGAN 和 BSRGAN 的重建图像与原始图像进行对比。结果表明,在正面、具有倾斜角度和复杂场景中重建后的人像在视觉质量和保真度上都有很大提升。

图片

自然场景低质量图像重建对比

在自然场景的对比中,BSRGAN 重建效果要优于 ESRGAN, 能够有效去掉原始低质量图像未知的复杂噪声,可以生成清晰的边缘和精细的细节。

医学诊断领域

由于成像设备限制和复杂的临床环境,医学领域所获取的影像常常存在分辨率不足的问题,这直接影响了医生对疾病的准确诊断与治疗决策。

图片

改进 SRGAN 的结构

四川人民医院彭博等人以针对自然图像超分辨率重建的生成对抗网络 (SRGAN) 作为基本方法, 通过减少 2 个输入通道、删除 1 个残差块对该网络的结构进行更改,改进网络损失函数,新增模糊处理数据集,重建出放大 4 倍的边缘清晰、没有伪影的医学超声图像。

该成果以「基于生成对抗网络的超声图像超分辨率重建」为题,已发表在 Journal of Terahertz Science and Electronic Information Technology 上。

论文地址:

http://www.iaeej.com/xxydzgc/article/abstract/202305015

图片

Case1 重建结果感兴趣区域比较

图片

Case2 重建结果感兴趣区域比较

研究人员将改进的 SRGAN 与其他 3 种算法进行比较。结果表明,改进 SRGAN 的重建结果整体平滑,纹理边缘更清晰。

卫星遥感领域

近年来,遥感卫星图像在环境监测、资源勘探、灾害警报和军事等领域得到了广泛应用。然而,大气变化、传输噪声、运动模糊和欠采样光学传感器等因素严重制约了遥感卫星图像的清晰度。超分辨率技术通过处理和提升低分辨率图像,可以提高卫星遥感数据的质量和可用性。

图片

基于局部群目标辅助的遥感图像超分辨率重建算法流程

哈尔滨工业大学阎菩提等人将遥感图像局部聚集群目标区域的细节特征信息,引入到完整遥感图像的采样重建中,通过多层级的神经网络提取不同尺度的图像特征,并通过残差学习的方式将这些特征进行融合并重建。 该方法可以借助局部图像的像素信息,显著提高全局遥感图像的细节效果,优化集群目标区域的分辨能力。

该成果以「结合局部高清图像的遥感集群目标区域超分辨率重建」为题,已发表在南京航空航天大学学报上。

论文地址:

https://jnuaa.nuaa.edu.cn/njhkht/article/html/202306002

图片

与基线方法的可视化对比

研究展示的对比图显示,该方法在可视化效果上显著优于其他现有方法, 适用于城市和野外场景,表现出较好的效果。

数字娱乐领域

动漫由多张静止的画面连接而成,其静止图片分辨率**将会影响最终动漫的清晰度。然而,现有的手绘或数字绘制无法保证初稿的高分辨率,这对于用户的视觉体验相当不友好。通过应用超分辨率技术,将这些低分辨率的画面转换成更高分辨率画面,能够呈现出更多的细节和纹理,可以使动漫作品的图像更加生动和逼真。

B 站就曾推出了一个名为 Real-CUGAN (Real Cascaded-U-Net-style Generative Adversarial Networks) 的动漫画质修复模型。

首先,研究人员利用该模型对动漫帧进行切块处理,使用图像质量打分模型对候选块进行打分过滤,最终得到一个百万级的高质量动漫图像块训练集。

然后,通过多阶段降质算法,将高清图像块降采样得到低质图像,让模型学习、优化从低质图像到高质图像的重建过程。训练完成后,模型即可对真实的二次元低质图像进行高清化处理。

不同算法对比图如下:

图片

超分辨率开源数据集和教程

目前,HyperAI超神经的官网上线了大量超分辨率资源, 包括公开教程与数据集。

公共教程

[1.APISR 动漫图像超分辨率增强器]

APISR 是一个用于提升动漫图像及视频分辨率的开源项目,可恢复和增强低质量、低分辨率的动漫图像和视频源,处理各种图像退化问题(模糊、噪声、压缩伪影等)。
在线运行地址: https://hyper.ai/tutorials/31383

2.SUPIR-AI 图像修复教程

SUPIR 可以将低分辨率图像放大到高分辨率,同时保持图像的细节和真实感,处理各种复杂的退化情况。
在线运行地址: https://hyper.ai/tutorials/30940
3.使用潜在扩散进行图像超分辨率

该教程为大家展示如何使用 diffusers 库来使用潜在扩散图像超分辨率模型。
在线运行地址: https://hyper.ai/tutorials/26207

4.使用高效子像素 CNN 实现图像超分辨率

该教程在 BSDS 500 数据集上使用高效子像素模型实现了超分辨率。
在线运行地址: https://hyper.ai/tutorials/25044
公开数据集
1.MSU 超分辨率数据集

该数据集包含室内和室外视频以及动画,所有视频有较低的 SI/TI 值和简单纹理。旨在最大限度减少可能发生的压缩失真,恢复细节。
直接使用: https://hyper.ai/datasets/20401
2.MSU 视频超分辨率数据集

该数据集用于视频超分辨率任务,包含细节修复任务中最复杂的内容:人脸、文本、二维码、车牌号、未显示图案的纹理、小细节。视频包括不同类型的运动以及不同类型的弱化:双三次插值 、高斯模糊和下采样。
直接使用: https://hyper.ai/datasets/17212
3.DRealSR 超分辨率图像数据集

该数据集是关于真实图像退化过程的超分辨率图像数据集,缓解了传统模拟图像退化的局限性。数据集涵盖室内和室外场景,如广告海报、植物、办公室及建筑物等。
直接使用: https://hyper.ai/datasets/20446
4.TextZoom 超分辨率数据集

该数据集由成对的低分辨率(LR)和高分辨率(HR)图像组成。这些图像是由不同焦距的相机在野外拍摄。每一个图像对都有区分大小写的字符串(包括标点符号)的标注、边界框类型和原始焦距。
直接使用: https://hyper.ai/datasets/19550
5.SR-RAW 图像超分辨率数据集

该数据集包含 RAW 传感器数据,有用高光学变焦级别拍摄的 ground truth 高分辨率图像。其中,每个序列包含 7 个(少数包含 6 个)由不同焦距拍摄的图像。
直接使用:
https://hyper.ai/datasets/19743
6.Set5,Set14 低复杂度单图像超分辨率数据集

这是一个基于非负邻域嵌入的低复杂度单图像超分辨率的数据集,该训练集被用于单幅图像超分辨率重构,根据低分辨率图像重构出高分辨率图像以获取更多的细节信息,被广泛应用于计算机视觉与图形学、医学成像、安全监控等领域。
直接使用:
https://hyper.ai/datasets/5382
7.DIV2K 单图像超分辨率数据集

该数据集包含 1000 张具有不同退化类型的低分辨率图像,可用于通过低分辨率图像重建高分辨率图像。

直接使用: https://hyper.ai/datasets/15624
8.S2-NAIP 美国超分遥感数据集

该数据集包含美国大陆地区的 NAIP 和 Sentinel-2 成对影像。在地表监测、资源管理和环境变化评估等方面,提供了高精度的数据支持。
直接使用:
https://hyper.ai/datasets/30427
9.Sun-Hays 80 Dataset 超分辨率图像数据集

该数据集利用全局场景描述在图像数据库进行相关场景的比对和查找,场景提供了理想的示例纹理以约束图像采样的问题。
直接使用: https://hyper.ai/datasets/5391
10.Urban100 超分辨率重建数据集

该数据集包含了具挑战性的城市景色,具有不同频带的细节。对真实图像利用双三次插值进行降尺度可以得到 LR/HR 图像对,以得到训练和测试数据集。
直接使用:
https://hyper.ai/datasets/5385
以上就是 HyperAI超神经官网上的超分辨率资源汇总,如果大家看到优质项目,欢迎后台留言推荐给我们!另外,我们还建立了教程交流群,欢迎小伙伴们入群探讨各类技术问题、分享应用效果~
扫码加入教程交流群

图片

参考资料:

1.https://blog.csdn.net/kwdx2/article/details/135967668

2.https://zhuanlan.zhihu.com/p/558813267

3.https://bzhao.me/Super-Resolution/

4.https://journals.nwpu.edu.cn/xbgydxxb/FileUp/HTML/20150622.htm

5.https://cloud.tencent.com/developer/article/2398282

6.https://mp.weixin.qq.com/s/7gL9UR85w46499XVqHBfLQ

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

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

相关文章

一文搞懂什么是外贸企业邮箱?

一文搞懂什么是外贸企业邮箱?外贸企业邮箱,也就是外贸行业使用的企业邮箱系统,一般需要具备海外抵达率高、安全稳定等特点,通过外贸企业邮箱,企业可以和国内国外的客户或者同事进行业务的沟通交流。 一、什么是外贸企…

接口自动化框架篇:使用python连接数据库 - PySQL介绍!

PySQL介绍:使用Python连接数据库的接口自动化框架 在接口自动化测试中,经常需要使用数据库来操作测试数据,验证接口返回的数据是否正确。Python是一种功能强大的编程语言,可以轻松地连接数据库,并进行各种数据库操作。…

林更新博士之路星途璀璨再启航

林更新:博士之路,星途璀璨再启航在这个充满机遇与挑战的时代,有一位演员以其出色的演技和不懈的努力,赢得了无数观众的喜爱。他,就是林更新。今日,一条消息如重磅炸弹般在娱乐圈炸开,让无数粉丝…

将AI融入项目开发工作中去吧

目录 1.提高编写开发日报的效率 2.提高编写代码注释的效率 3.提高代码重构的效率 4.编写测试用例及测试报告 5. 协助进行代码走查与工作量分析 在AI元年后,作为一名程序员,相信各位友友已经深切地感受到了它带来的变革。作为一个从小白到资深码农的…

【c++线程】condition_variable的简单使用

尝试用两个线程交替打印1-100的数字&#xff0c;要求一个线程打印奇数&#xff0c;另一个线程打印偶数&#xff0c;并且打印数字从小到大依次递增。 #include <iostream> using namespace std; #include <thread> #include <mutex> #include <condition_…

海外邮件群发工具的使用方法?有哪些限制?

海外邮件群发工具怎么选择&#xff1f;使用邮件群发工具的优势&#xff1f; 海外邮件群发工具成为了企业开展海外推广、联系客户、推广产品和服务的重要工具。但如何有效地使用这一工具&#xff0c;成为了众多营销人员关注的问题。接下来&#xff0c;AokSend将详细探讨海外邮件…

文件批量重命名技巧:文本内容即文件名,打造个性化文件命名新体验

在日常工作和学习中&#xff0c;我们经常需要处理大量的文件&#xff0c;而给这些文件命名则成为了一个既繁琐又重要的任务。传统的文件命名方式&#xff0c;如使用数字、字母或简单的描述性词汇&#xff0c;往往难以体现出文件的实际内容和特点。那么&#xff0c;有没有一种方…

搭建一个vue3+vant4+vite4+pinia 的移动端h5模板

效果图 项目的创建和组件库的安装 项目创建 pnpm create vite vue3-vant4-vite-pinia-pro-h5注意&#xff1a; node版本控制在 18&#xff0c; 可以通过nvm来管理本地的node版本&#xff0c;具体可以看这篇文章 nvm的简单使用 vant-ui库的安装【这里安装的是 ^4.6.0 版本的】…

云南区块链商户平台优化开发

背景 云南区块链商户平台是全省统一区块链服务平台。依托于云南省发改委、阿里云及蚂蚁区块链的国内首个省级区块链平台——云南省区块链平台同步上线&#xff0c;助力数字云南整体升级。 网页版并不适合妈妈那辈人使用&#xff0c;没有记忆功能&#xff0c;于是打算自己开发…

不想让Win系统更新,那就让它暂停一万年

按照下图所示进行操作 winR 输入 regedit&#xff0c;进入注册表编辑器 随后依次点击 HKEY_LOCAL_MACHINE ⬇ SOFTWARE ⬇ Microsoft ⬇ WindowsUpdate ⬇ UX ⬇ Settings 最后在右侧空白处 文件类型 新建DWORD&#xff08;32位&#xff09;值&#xff08;D&#xff09; 命名…

sharding-jdbc如何实现分页查询

写在文章开头 在之前的文章中笔者简单的介绍了sharding-jdbc的使用&#xff0c;而本文从日常使用的角度出发来剖析一下sharding-jdbc底层是如何实现分页查询的。 Hi&#xff0c;我是 sharkChili &#xff0c;是个不断在硬核技术上作死的 java coder &#xff0c;是 CSDN的博客…

私域流量优化:如何利用 AIPL 模型洞察客户生命周期价值

在当今这个数字化时代&#xff0c;商业战场的硝烟从未如此浓烈。随着互联网红利的逐渐消退&#xff0c;公域流量的成本水涨船高&#xff0c;企业间对于有限用户资源的争夺已进入白热化阶段。每一次点击、每一个曝光背后&#xff0c;都是企业不得不承担的高昂代价。在此背景下&a…

1725 ssm资产管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm资产管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/…

本安防爆手机在电力行业中的应用

在电力行业这一充满挑战与风险的领域中&#xff0c;安全始终是最为首要的考量。电力巡检、维修等作业往往涉及易燃、易爆环境&#xff0c;这就要求工作人员配备能够在极端条件下保障通讯和作业安全的专业设备。防爆手机应运而生&#xff0c;以其独特的设计和卓越的性能&#xf…

Kafka 执行命令超时异常: Timed out waiting for a node assignment

Kafka 执行命令超时异常&#xff1a; Timed out waiting for a node assignment 问题描述&#xff1a; 搭建了一个kafka集群环境&#xff0c;在使用命令行查看已有topic时&#xff0c;报错如下&#xff1a; [rootlocalhost bin]# kafka-topics.sh --list --bootstrap-server…

es关闭开启除了系统索引以外的所有索引

1、es 开启 “删除或关闭时索引名称支持通配符” 功能 2、kibanan平台执行 POST *,-.*/_close 关闭索引POST *,-.*/_open 打开索引3、其他命令 DELETE index_* // 按通配符删除以index_开头的索引 DELETE _all // 删除全部索引 DELETE *,-.* 删除全…

产品推荐 | 基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡

01 产品概述 板卡主芯片采用Xilinx公司的XC7K325T-2FFG900 FPGA&#xff0c;pin_to_pin兼容FPGAXC7K410T-2FFG900&#xff0c;支持8-Lane PCIe、64bit DDR3、四路SFP连接器、四路SATA接口、内嵌16个高速串行收发器RocketIO GTX&#xff0c;软件具有windows驱动。 02 技术指标…

【数据结构】栈的实现以及数组和链表的优缺点

个人主页&#xff1a;一代… 个人专栏&#xff1a;数据结构 1.栈 1.1栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进…

小程序(三)

十三、自定义组件 &#xff08;二&#xff09;数据方法声明位置 在js文件中 A、数据声明位置&#xff1a;data中 B、方法声明位置methods中&#xff0c;这点和普通页面不同&#xff01; Component({/*** 组件的属性列表*/properties: {},/*** 组件的初始数据*/data: {isCh…

在Ubuntu安装Carla时按照官方的教程将下载好的资源包解压放到Unreal\CarlaUE4\Content\Carla后执行./Update.sh

在Ubuntu安装Carla时按照官方的教程将下载好的资源包解压放到 Unreal\CarlaUE4\Content\Carla后执行./Update.sh 结果出现&#xff0c;将原来的Carla文件夹备份了有创建了一个新的空白Carla文件夹 原来自己下载解压后就不用再执行./Update.sh这个了&#xff0c;这个命令就是…