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,一经查实,立即删除!

相关文章

fan怎么写 jin_拼音为fan的字

7画匥匥fn ㄈㄢˊ◎古同“笲”。3画凡凡fn ㄈㄢˊ1、平常的,不出奇的:平凡。凡庸。凡夫俗子。2、指人世间(宗教或迷信的说法):凡尘。凡心。3、所有的:凡年满十八岁的公民,都有选举权与被选举权。凡是。4、总共&#xf…

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添加指定位置的边框线,其中位移枚举的使用询问了哥们儿&…

mfc 设置子窗口只打开一遍_MFC 判断子窗体是不是已经打开,避免重复创建

MFC 判断子窗体是否已经打开,避免重复创建在主窗体中,嵌入一个很多个子窗体,但是,每次只显示一个。我的做法是,首先在主窗体头文件中定义子窗体对象,然后在单击显示按钮的时候,先判断子窗体是否…

【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞

2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 70 Solved: 24[Submit][Status][Discuss]Description Abstinence岛上的居民很喜欢饮用纯酿的啤酒。迄今为止,他们都是从波兰进口啤酒,自己不生产。但今年岛上的一个城市决定…

python以下导入包的格式错误的是_ICMP python上的错误数据包

如何创建帧icmp我在python上标记格式错误的包导入套接字,结构,uuid,子进程,fcntl,time,random列表项from binascii import hexlify,unexlify from datetime导入datetimetarRed原始输入(Ingrese …

win7/8/10安装过程中将动态磁盘转为basic

在分区界面运行ShiftF10在命令窗口运行Diskpartlist diskpartselect disk n(n为磁盘号)cleanconvert xxxPS:xxx代表要转换的结果。基本类型:Basic;动态类型:dynamic;MBR磁盘:MBR;GPT磁盘:GPT转载…

2016年4月 之 《C程序设计语言》

C程序设计语言 转载于:https://www.cnblogs.com/maoxiaowai/p/5404308.html

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…

Oracle创建表_01

1、 --创建表 create table zctest( id number(9) not null primary key, classname varchar2(40) not null) 2、 3、 转载于:https://www.cnblogs.com/dbskill/p/5407146.html

mySQL数据库中的备份代码_MySQL中的备份数据库

我目前正在学习SQL。我在windows 10-cmd上运行mysql 8.0.16cli,我以root mysql用户身份登录,并以管理员身份运行cmd。我想做的是备份我新创建的数据库。这是我的显示数据库输出:mysql> show databases;--------------------| Database |--------------------| information_s…

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

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

webapp 微信开发适配问题

文章摘自:http://www.cnblogs.com/oksite/p/4630462.html 前段时间由于公司要做微信app 前端主要有我一个人独立开发 分享一下自己独立开发微信app的一些经验 首先说下 适配兼容的问题; 主要的问题还是安卓手机参差不齐,每个手机都有自带一个…

python安装copy_python中copy和deepcopy 的区别

请简述赋值, 深拷贝和浅拷贝的区别?(python中如何拷贝一个对象?)直接赋值(li1 li): 只传递对象的引用, li1指向对象li的内存地址空间,因此, 原有列表li改变, 被赋值的li1也会做相应的改变.浅拷贝:li和li2的内存地址不同,但是子…

iOS中的小知识点

1.tableView隐藏滚动条 self.tableView.showsVerticalScrollIndicator NO; 2.关于属性 使用assign: 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char, 等等) 使用copy: 对NSStri…

一个DataGridView辅助类

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

java单例设计模式_Java设计模式之单例模式详解

在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发同事都用到过。我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以这篇文章对…

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

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

学习笔记day5:inline inline-block block区别

1. block元素可以包含block元素和inline元素;但inline元素只能包含inline元素。要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。比如 P 元素,只能包含…