基于CNN多阶段图像超分+去噪(超级简单版)

news2024/7/4 4:38:41

这是之前的一项工作,非常简单,简单的复现了两个算法,然后把它们串起来了。

可执行的程序链接:CSDN; Github

我们分成两部分进行讲解:

1. 图像去噪

1.1 基本思路

图像的去噪工作基于很普通的CNN去噪,效果很差。

为了去除椒盐噪声并且提升暗图像的亮度,从以下方面入手:

1)针对椒盐噪声,使用了小核(3×3)中值滤波

2)针对图像亮度太低,梯度难以获取,使用直方图均衡化

3)使用传统CNN模型搭建去噪网络

4)增添了锐化环境,但不建议去噪时使用,效果并不好、

网络模型很简单,CNN模拟高斯滤波的去噪过程。本节采用17个3×3卷积核堆叠的形式(每层配BN层和Relu激活函数)。最后,将原图跳跃连接到最后一个3×3卷积的特征上(最后为通道压缩,则Tensor都为1×3×H×W)。训练思路为,有监督学习。

1.2 函数封装

直接在test_data里填写输入图片的路径即可

其余都不用管。

输出图片的路径很简单:

都可以进行更改。

最后的这个函数,是封装的函数。Hist是是否直方图增量,m_Blur是是否进行中值滤波,sharp是是否进行锐化(单独去噪程序不要使用,效果很差),kernal是中值滤波的卷积核大小(本文为3,太大容易模糊)

2. 图像超分

2.1 基本思路

也是很简单的基于ResNet的超分应用:

骨干网络很简单,堆叠额RFDB块+普通的3×3卷积构成一个端对端残差网络。最后使用上采样进行有监督学习。RFDB,参考的多半是MobileNet等残差块的设计,在我看来没啥创新的地方。不想多讲。就是一个深度的残差块。

我们综合的应用把锐化的函数加在了超分里,总体效果还可以。

2.2 函数封装

基本和图像去噪一样。单独使用,建议加上锐化。感觉还可以。

综合封装:

两个函数放在一起,参数是一样的。在这个函数里,我把属于图像去噪的锐化去除了。你直接运行我的程序就行了。

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

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

相关文章

Java基础 - 9 - 集合进阶(二)

一. Collection的其他相关知识 1.1 可变参数 可变参数就是一种特殊形参,定义在方法、构造器的形参列表里,格式是:数据类型…参数名称; 可变参数的特点和好处 特点:可以不传数据给它;可以传一个或者同时传多个数据给…

2核4g服务器够用吗?

2核4G服务器够用吗?够用。阿腾云以2核4G5M服务器搭建网站为例,5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户同时在1秒内打开网站,并发数为10&am…

Github Copilot 工具,无需账号,一键激活

① 无需账号,100%认证成功!0风险,可联网可更新,,支持copilot版本升级,支持chat ② 支持windows、mac、linux系统等设备 ③一号通用,支持所有IDE(AppCode,CLion,DataGrip,GoLand,IntelliJ IDEA …

基于FPGA的光纤通信系统设计

文章目录 光纤通信系统的组成发送端FPGA端口定义状态机设计代码示例 接收端功能模块端口定义状态机设计 光纤通信系统的组成 发送端FPGA 发送控制逻辑、数据编码、校验码生成、缓存控制、时钟控制 端口定义 状态机设计 代码示例 接收端功能模块 接收端控制逻辑、数据解码、…

【PHP + 代码审计】函数详解

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

ArcGIS分享图层数据的最佳方法

在工作中,经常需要将图层数据分享给其他人。 如下图所示,需要分享的是【CJDCQ】和【GHDLTB】,图层带有符号系统: 一、分享gdb数据库及lyr文件 分享数据自然要找到源数据: 但是,gdb数据是不带符号系统的&a…

Git版本管理--远程仓库

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: 重学Git-Git远程仓库管理_git remote add origin-CSDN博客 Git学习笔记&am…

数据结构 之 二叉树

🎉欢迎大家观看AUGENSTERN_dc的文章(o゜▽゜)o☆✨✨ 🎉感谢各位读者在百忙之中抽出时间来垂阅我的文章,我会尽我所能向的大家分享我的知识和经验📖 🎉希望我们在一篇篇的文章中能够共同进步!!&…

阿里EMO模型:AI生成表情丰富的视频

引言 在数字多媒体的时代,人们对于互动性和个性化视频内容的需求不断增长。阿里巴巴的EMO(Emote Portrait Alive)模型,作为一项前沿的人工智能技术,正引领着这一领域的革新之路。 EMO模型概述 EMO模型是阿里巴巴智能计…

HTTPS(超文本传输安全协议)工作过程

一、简述HTTPS HTTPS超文本传输协议(全称:Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#x…

最大异或对(trie树)

题目描述: 思路: 1、首先此题我们要知道异或的规则,这里不赘述了,可以百度 2、如果利用trie树去找到一个数字与其异或能得到最大值 比如二进制数:1010.....是一个很大的数 我们想要异或得到的值更大,就需…

GitLab 面试题及答案整理,最新面试题

GitLab 在持续集成/持续部署(CI/CD)中的角色是什么? GitLab 在持续集成/持续部署(CI/CD)中扮演的角色非常关键,主要体现在以下几个方面: 1、自动化构建和测试: GitLab 可以自动化执行代码的构建和测试过程,确保代码提…

java: JDK isn‘t specified for module ‘XXX‘

java: JDK isn’t specified for module ‘XXX’ 问题解决备忘,修改位置

Java高级互联网架构师之路:排查当前JVM错误的步骤

程序 这个程序是有问题的,我们通过一些命令来分析这个程序究竟是哪里出了问题。首先把当前的程序通过SSH工具传输到centos系统中,之后我们就可以在linux环境下编译和执行。 注意一点:上面类的名字是Z,但是在linux环境下,我们将其改为了AA,并且文件名改为了AA,所以文章下…

CSS其他属性

文章目录 1. vertical-align1.1. 概念1.2. 常用值1.3. 作用1.4. 出现的情况一1.4.1. 原因1.4.2. 解决方案 1.5. 出现情况二1.5.1. 解决方案一1.5.2. 解决方案二1.5.3. 解决方案三 1.6. 出现情况三1.6.1. 原因1.6.2. 解决方案 2. 溢出效果2.1. 作用2.2. 属性名 3. 隐藏效果3.1. …

GitHub Actions持续部署

一、概述 1.1Github Action介绍 什么是Github Action ? GitHub Actions是GitHub提供的CI/CD(持续集成/持续部署)服务。它允许你在GitHub仓库中自动化、定制和执行你的软件开发工作流。你可以发现、创建和分享用于执行任何你想要的工作的操作&#xff0…

实现HBase表和RDB表的转化(附Java源码资源)

实现HBase表和RDB表的转化 一、引入 转化为HBase表的三大来源:RDB Table、Client API、Files 如何构造通用性的代码模板实现向HBase表的转换,是一个值得考虑的问题。这篇文章着重讲解RDB表向HBase表的转换。 首先,我们需要分别构造rdb和hba…

1.文本的方式读写文件

文章目录 写入文件代码运行结果 读出文件代码运行结果 文件打开模式标记(查表) 写入文件 ------读写文件一共五步:------ 第一步:包含头文件 第二步:创建流对象 第三步:指定方式打开文件 第四步&#xff1…

三.使用java的API文档

在Java中,API是指“应用程序接口”(Application Programming Interface)。Java API是Java编程语言中提供的类和接口的集合,用于开发各种类型的应用程序。类比C的STL(标准模板库)。 通俗理解就当做些封装好…