dncnn图像去噪_一种基于DnCNNs改进的图像降噪方法与流程

f01c424271f6df6e13e037807ff4f96e.gif

本发明涉及图像处理技术领域,具体涉及一种基于dncnns改进的图像降噪方法。

背景技术:

随着科技进步,新的图像技术在逐渐推广,在日常生活中人们对于图像的要求也越来越高,针对阴天或夜晚等弱光条件下拍摄的图像具有噪点较多和细节模糊等问题,这个时候就需要把图像的噪声去除用来优化图像。传统基本做法是对于频域与空域进行处理或者得到先验知识确定噪声类型针对处理,这些基本方法都只针对于特定场景下图像降噪,对于复杂环境的图像降噪效果并不明显,近年来,基于深度学习的图像降噪技术取得卓越进展,在高级图像理解任务,比如:图像分类、目标检测等方面取得令人瞩目的成绩。基于深度学习算法的图像降噪技术成为研究的热点,常规做法是将图像数据训练集噪声图像与清晰图像进行直接训练,得到权重参数但是修复完成后视觉效果以及图像质量有待提高。因此技术革新的新型图像降噪技术是十分有必要的。

技术实现要素:

本发明为了克服以上技术的不足,提供了一种在暗光条件下可以对图像进行降噪,使图像噪声明显降低,提高图像信噪比,提升图像辨识度的基于dncnns改进的图像降噪方法本发明克服其技术问题所采用的技术方案是:

一种基于dncnns改进的图像降噪方法,其特征在于,包括如下步骤:

a)将输入计算机的彩色图片进行颜色通道转换,转换成rgb颜色通道,并将rgb颜色通道进行分离得到r通道图像、g通道图像以及b通道图像;

b)将r通道图像、g通道图像以及b通道图像输入dncnns网络,dncnns网络为3*3卷积核,dncnns网络对r通道图像、g通道图像以及b通道图像进行l次卷积处理,提取相关特征数据,每次卷积操作得到一层,得到l个层,使用relu及3*3的卷积得到深度为64的特征映射图像;

c)将densenet残差网络引入步骤b)中的dncnns网络,将步骤b)中的l层使用densenet残差网络连接在一起,每个层的输入由所有之前层的特征映射组成,得到2w*2h*64的特征图像,其中w为图片的宽度,h为图片的高度;

d)获取使用relu和3*3卷积核对2w*2h*64的特征图像卷积后得到4w*4h*c的特征图,该特征图为iest,其中c为图像深度;

e)通过公式计算得到损失函数le,其中ihr为原始高分辨率图像,通过计算损失函数得到优化后的图像;

f)将优化后的图像的r通道、g通道和b通道合成rgb图像。

进一步的,步骤b)中的dncnns网络采用步长为2的3*3的卷积核对r通道图像、g通道图像以及b通道图像进行卷积处理。

本发明的有益效果是:采用改进后的dncnns网络结构,与原始网络相比较将densenet改进残差网络引入。将所有层直接连接在一起。在这种新型架构中,每层的输入由所有之前层的特征映射组成,其输出将传输给每个后续层。这些特征映射通过深度级联聚合,再提升网络深度同时,也引入低层特征,如像素级特征。多尺度结构往往是为了获取更大的感受野。最简单的方法当然是用不同的卷积核,但是大卷积核往往会造成参数和计算量的增大。原始网络采用将多尺度结构,往往造成原算量巨大,于是在新网路结构中采用小卷积核,多次卷积的的方式,采用这种方法,运行速度快,操作简单。只需要设置好固定的参数值即可。

附图说明

图1为本发明的原理框图。

具体实施方式

下面结合附图1对本发明做进一步说明。

一种基于dncnns改进的图像降噪方法,其特征在于,包括如下步骤:

a)将输入计算机的彩色图片进行颜色通道转换,转换成rgb颜色通道,并将rgb颜色通道进行分离得到r通道图像、g通道图像以及b通道图像。

b)将r通道图像、g通道图像以及b通道图像输入dncnns网络,dncnns网络为3*3卷积核,dncnns网络对r通道图像、g通道图像以及b通道图像进行l次卷积处理,提取相关特征数据,每次卷积操作得到一层,得到l个层,使用relu及3*3的卷积得到深度为64的特征映射图像。

c)将densenet残差网络引入步骤b)中的dncnns网络,将步骤b)中的l层使用densenet残差网络连接在一起,每个层的输入由所有之前层的特征映射组成,得到2w*2h*64的特征图像,其中w为图片的宽度,h为图片的高度。引入改进残差网络densenet,原始dncnns网络中,假设有l层网络,但是在densenet中,就会有l(l+1)/2个连接,可以理解为每一层输入都来自前面所有层的输出。densenet原理公式如下:

x1=h1([x0,x1,…,xl-1]),其中[x0,x1,…,xl-1]表示将0到l-1层的输出featuremap做concatenation。concatenation是做通道的合并,呼应宣布该inception那样,h1包括bn、relu和3*3的卷积。

建立建立block叠加,block之间任意两层间建立前向skipconnection是整个核心思想。一个block包含多个denselayer,其又包括三层:bn、relu和conv。前3层作为一个部分是为了利用1*1conv减少特征图数量,增加计算量。不同denseblock之间的连接层称为transitionlayer,每个transitionlayer包含3层:bn,1*1conv和2*2avgpool。

d)获取使用relu和3*3卷积核对2w*2h*64的特征图像卷积后得到4w*4h*c的特征图,该特征图为iest,其中c为图像深度。

e)在本网络中参数的初始化采用xavier网络的学习目标是超分辨率图像与输入的低分辨率图像线性插值的差。其中损失函数部分我们选择pixel-wiseloss强调的是两幅图像之间每个对应像素的匹配。通过pixel-wiseloss训练的图片通常会较为平滑。即使输出图片具有较高的psnr,视觉效果也并没有很突出。后期引入图像锐化以解决过于平滑问题。通过公式计算得到损失函数le,其中ihr为原始高分辨率图像,通过计算损失函数得到优化后的图像。le用来估量模型的预测值f(x)与真实值y的不一致程度,它是一个非负实值函数,损失函数越小,模型的鲁棒性就越好。

f)将优化后的图像的r通道、g通道和b通道合成rgb图像。

首先将彩色图片进行颜色通道转换,将图像分离成rgb颜色通道,转换完成后,使用改进cnn网络分别对三个通道中的图像进行预处理,将三个通道的图像进行分别优化求解,利用网络的学习能力充分优化三个通道图像,最终得到三个图像通道结果,得到结果后将rgb图像,转换完成后再进行颜色通道融合即得到处理后的图像。

目前在深度网络方面存在以下几个问题:1.梯度消失:随着网络深度增加,梯度消失问题越来越严重,从而造成网络崩溃。2.无法充分利用低级特征进行操作,对于一个cnn来说,前面的卷积层往往代表着低层特征,如像素级特征。而后面的卷积层往往是高层特征,如语义特征等。与现有技术相比,本发明具有以下优点:1.在以前图像去噪中,我们常用添加高斯噪声方法来模拟这种复杂的噪声分布,难免与实际噪声分布存在差异,所以在真实噪声图像上应用往往效果会有所下降,采用将颜色通道分离的工作,无论是真实拍摄的图像的噪声去除还是人工添加噪声模拟噪声分布,往往都更加方便、有效。2.采用改进后的dncnns网络结构:(1)与原始网络相比较将densenet改进残差网络引入。将所有层直接连接在一起。在这种新型架构中,每层的输入由所有之前层的特征映射组成,其输出将传输给每个后续层。这些特征映射通过深度级联聚合,再提升网络深度同时,也引入低层特征,如像素级特征。(2)多尺度结构往往是为了获取更大的感受野。最简单的方法当然是用不同的卷积核,但是大卷积核往往会造成参数和计算量的增大。原始网络采用将多尺度结构,往往造成原算量巨大,于是在新网路结构中采用小卷积核,多次卷积的的方式,采用这种方法,运行速度快,操作简单。只需要设置好固定的参数值即可。

优选的,步骤b)中的dncnns网络采用步长为2的3*3的卷积核对r通道图像、g通道图像以及b通道图像进行卷积处理。

以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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

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

相关文章

Linux 挂载命令 --mount

1.挂载光盘命令 mount : mount [-t vfstype] [-o options] device dir mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 -t 指定挂载的文件系统类型,ext3,ext4,iso9660(光盘的文件类型)f等类型 -o 指定额外的挂载选项 卸载光盘命令 umount 设备文件名或挂…

ios view添加上边框_iOS开发之如何给View添加指定位置的边框线详解

本文主要给大家介绍了关于iOS如何给View添加指定位置边框线的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。略微封装了一下,给View添加指定位置的边框线,其中位移枚举的使用询问了哥们儿&…

python绘画音频_人工智能下的音频还能这样玩!!!!

人工智能音频处理库—librosa(安装与使用)序言一、libsora安装pypicondasource二、librosa常用功能核心音频处理函数音频处理频谱表示幅度转换时频转换特征提取绘图显示三、常用功能代码实现读取音频提取特征提取Log-Mel Spectrogram 特征提取MFCC特征绘图显示绘制声音波形绘制…

保存到数据库乱码mysql_Linux下MySQL保存进去数据为乱码的解决办法

MySQL默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法:1、windows下:修改my.ini文件,有两处default-character-setlatin1都改为default-character-setutf8重启既可。2、linux下:vi /etc…

网页版四则运算(未全部完成)

这次作业一直在做,一直在拖着,总感觉心里亏欠点什么,但是人就是这样,一件事情本来做起来就没有太多成功的几率,就想着延长工期,那就一直拖着吧,拖得时间越久你就会越发清晰地意识到自己已经非常…

一个DataGridView辅助类

DataGridView是在用C#做windows界面程序时常用到的控件,DataGridView的功能非常多,用起来也非常复杂 例如1. 我想在每行前面显示行编号,则需要先设置RowHeadersVisible为true,然后,在添加RowPostPaint事件,而RowPostPaint写起来也大同小异,这就非常没有必要.期望一个DataGridVi…

java 压缩文件夹_java 实现压缩文件(单文件 或 文件夹)

接着上篇了解一下java压缩实现过程,下面的是支持 单文件 或 文件夹 压缩的实现,使用递归。效果:代码:package com.gx.compress;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;imp…

java处理中文字符串_Java实现读取文章中重复出现的中文字符串

在上个星期阿里巴巴一面的时候,最后面试官问我如何把一篇文章中重复出现的词或者句子找出来,当时太紧张,答的不是很好。今天有时间再来亲手实现一遍。其实说白了也就是字符串的处理,所以难度并不是很大。以下是代码和运行效果&…

java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下。这个问题的具体发生在java原生程序和redis的交互中。这个问题对我最…

mysql 操作xm_mysql基本命令使用

启动mysql>net start mysql连接mysql>mysql -u root -h 127.0.0.1 -p password断开mysql连接>qult;查看mysql服务器所有数据库列表>show databases;选择mysql数据库>use database_name;创建数据库>create database database_name;删除数据库>drop databas…

mysql集群重启报错lock_CentOS7.2 下 MySQL 之 PXC 集群部署【Docker+单机多节点】

背景【注意】: 鄙人认为本篇适合做入门测试/学习之用,选择的 "单机多节点配置",后面再整理 "多机配置"文章.近期正突击学习数据库知识想着对 PXC 集群部署实际操作一番,提高技能点,为后续的升职加薪做充足的准…

Fragment销毁时replace和add两个方法的区别

这个首先从一个bug说起,如图: 我们都知道fragment切换有两种方式: 1. replace方式 transaction.replace(R.id.content, IndexFragment); 2. add-hide-show方式 transaction.add(R.id.content, IndexFragment); transaction.hide(…

子集生成 --二进制法

用二进制表示{0,1,2,3...n-1}的子集s;从右往左第i位表示元素i是否在集合s中。图2表示10100110是如何展示了集合{1,2,5,7}的。 注意:为了方便,最右边的为总是对应元素0,而不是元素1; 异或最重要的性质就是开关型---异或…

20150303+JQuery选择器-02

20150303JQuery选择器-02 三、文档处理 插入 删除 复制 替换 包裹 查找 1、插入操作——内部插入 jQuery <div> jQuery hello jQuery</div> l append(content) &#xff1a;将content内容插入到元素的尾部 l appendTo(content) &#xff1a;将匹配到的元素插入到co…

java实现记事本查找_Java实现记事本

首先说明&#xff0c;这是可能本人大学所写的最后一个Java程序了&#xff0c;接下来写C。一直想写这个程序很久了&#xff0c;作为跟计算器类似的经典小程序&#xff0c;写一下还是挺有意义的。本来觉得这程序不难写&#xff0c;其实各个部分综合起来&#xff0c;还是挺麻烦的&…

机器学习 —— 概率图模型(Homework: CRF Learning)

概率图模型的作业越往后变得越来越有趣了。当然&#xff0c;难度也是指数级别的上涨啊&#xff0c;以至于我用了两个周末才完成秋名山神秘车牌的寻找&#xff0c;啊不&#xff0c;CRF模型的训练。 条件随机场是一种强大的PGM&#xff0c;其可以对各种特征进行建模&#xff0c;同…

java生成四则运算表达式_生成四则运算(java实现)

|博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/ ||作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376||作业目标 | 写一个能自动生成小学四则运算题目的程序 ||学号 | 3190704130 |代码如下&#xff1a;//main函数所在区域主要实现生成…

Kali Linux—借助 SET+MSF 进行网络钓鱼、生成木马、获主机shell、权限提升、远程监控、钓鱼邮件等完整渗透测试(三)

钓鱼邮件 当攻击者制作了钓鱼网站、木马程序后&#xff0c;便会想法设法将其传给受害者&#xff0c;而常见的传播方式便是钓鱼网站了。安全意识较差的用户在收到钓鱼邮件后点击邮件中的钓鱼链接、下载附件中的木马程序&#xff0c;便可能遭受攻击&#xff01; 工具简介 Swak…

struts2拦截器详解

在之前的文章中&#xff0c;我们已经涉及到了拦截器&#xff08;Interceptor&#xff09;的概念。 downpour 写道拦截器是AOP中的概念&#xff0c;它本身是一段代码&#xff0c;可以通过定义“织入点”&#xff0c;来指定拦截器的代码在“织入点”的前后执行&#xff0c;从而起…

为什么选用 React 创建混合型移动应用?

【编者按】本文作者为 14islands 联合创始人、创新 Web 开发者 David Lindkvist&#xff0c;主要介绍有关混合型应用搭建的方方面面。文章系国内 ITOM 管理平台 OneAPM 编译呈现。 最近&#xff0c;我们有幸与 Fjord 合作&#xff0c;从零开始为其用户打造了一款 HMTL5 混合型应…