基于级联空洞卷积神经网络的面向单幅图像去雨方法与流程

文档序号:19253295发布日期:2019-11-27 20:38阅读:346来源:国知局
基于级联空洞卷积神经网络的面向单幅图像去雨方法与流程

本发明属于图像去雨技术领域,涉及深度学习在图像去雨中的应用,具体涉及一种基于级联空洞卷积神经网络的面向单幅图像去雨方法。



背景技术:

大多数户外视觉系统,例如监视和自主导航,需要对室外场景图像进行准确的特征检测,以便进行系统下一步的处理。在恶劣天气下,通常比如暴雨等天气,图像的内容和颜色经常会发生剧烈变化并与原图像产生较大的差异;这种雨天的图像会导致全局图像对比度和色彩效果的损失,导致许多图像细节丢失。对于严重依赖输入图像质量的计算机视觉系统来说,造成的结果可能是灾难性的,比如对于自动驾驶的视觉系统,在雨天的输入图像很可能造成公路上的目标识别出错,使车辆控制系统做出错误的决策,进而酿成惨祸。针对上述生活中遇到的问题,学术界很早之前就已经对去雨工作进行了研究,但是大部分场景面对的是针对视频的去雨,而面向单幅图像的去雨研究并不多。视频相对图像而言,多了一维时间特征,模型在处理单帧图像时候可以利用周围帧的信息,所以相对面向单幅图像去雨而言,视频去雨更容易一些。

在面向单幅图像的去雨任务上面,主要可以分为两个阶段,以深度学习的兴起为标志,分为传统形态学方法与深度学习去雨方法。传统方法重点放在了雨水形状建模与图像滤波方面,越精细的模型的雨水提取效果越好;深度学习去雨方法将该去雨任务视为一个图像分离任务,先针对雨水条纹进行建模,然后利用卷积神经网络学习雨水条纹的细节特征来进行背景层的提取。kangl,linc等人提出了一种基于单幅图像的雨水清除框架,首先使用双边滤波器将图像分解成低频和高频部分,然后通过执行字典学习和稀疏编码将高频部分分解为“雨分量”和“非雨分量”;该方法可以成功地从图像中抽取雨水成分,同时保留大多数原始图像细节。liy,tanrt等人采用高斯混合模型来进行去雨,并施加额外的梯度稀疏性约束以进一步规范背景;文中通过对雨水建模,将雨水图像分为背景层与雨水层的加和来模拟雨水图像数据,通过最大化高斯混合模型的后验概率分布来抽取雨水层与背景层达到去雨的效果;该算法简单有效且实现效率高。kimjh,leec等人根据雨水形态提出了一种单幅图像的自适应雨条消除算法,文中认为典型的雨条具有细长的椭圆形状和垂直方向;该算法首先通过分析每个像素位置处的椭圆核的旋转角度和纵横比来检测雨条纹区域,然后,通过自适应地选择非局部相邻像素及其权重,对检测到的雨条区域执行非局部均值滤波来去除雨水。除了以上的传统方法外,近年来随着深度学习理论的发展,基于深度学习的去雨方法研究取得了重大发展。xueyangfu等人引入了一个名为derainnet的深度网络架构来消除图像中的雨条纹,利用深度卷积神经网络,直接从数据中学习雨天和干净图像细节层之间的映射关系;通过合成带雨的图像进行训练;与增加网络深度或广度的其他常见策略相比,使用图像处理领域知识来修改目标函数并改善卷积神经网络的大小来减低网络的延迟;此外,通过图像增强来增强卷积神经网络框架,以改善视觉效果。jiabinhuang等人受残差卷积神经网络结构的启发,通过改变映射形式简化了学习过程,并提出了一个深度细节网络来直接减小从输入到输出的映射范围,使得学习过程更容易。通过关注训练期间的高频细节来使用先验图像知识,这消除了背景干扰并将模型聚焦在图像中的雨结构上。



技术实现要素:

本发明的目的在于提供一种基于级联空洞卷积神经网络的面向单幅图像去雨方法,用于解决雨天下所拍摄的单张图像的复原问题。本发明通过级联多路空洞率不同的卷积神经网络对输入图像提取出雨水区域层图像和雨水层图像,将提取出的图像与输入图像做数据增强得到去雨的背景层图像。

为实现上述目的,本发明采用的技术方案如下:

基于级联空洞卷积神经网络的面向单幅图像去雨方法,包括以下步骤:

步骤1:构建基于级联空洞卷积神经网络的去雨模型:

步骤1-1:构建图像雨水模型:

o=b+ra

其中,o为含雨水图像,b为背景层,r为雨水层;a为雨水区域层,为一个二值图像、1代表其是雨水区域、0代表不是雨水区域;

构建级联空洞卷积神经网络:

所述级联空洞卷积神经网络中,输入经卷积层1后分别进入三路空洞卷积神经网络;第一路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层1、激活层1、卷积层2,卷积层2的输出与卷积层1的输出求和后经激活层4输出;第二路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层2、激活层2、卷积层3,卷积层3的输出与第一路空洞卷积神经网络的输出求和后经激活层5输出;第三路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层3、激活层3、卷积层4,卷积层4的输出与第二路空洞卷积神经网络的输出求和后经激活层6输出;第三路空洞卷积神经网络的输出依次经过卷积层5、激活层7、卷积层6,卷积层6的输出与第三路空洞卷积神经网络的输出求和后经激活层8输出,其中,卷积层6的输出作为雨水区域层;激活层8的输出依次经过卷积层7、激活层9、卷积层8,卷积层8的输出与激活层8的输出求和后经激活层10输出,其中,卷积层8的输出作为雨水层;激活层10的输出经过卷积层9后与输入求和后输出,作为背景层;

步骤1-2:建立训练模型的训练数据集;

所述训练集中包含了大量有雨图像与其对应的无雨图像的数据对,将有雨和无雨图像数据对进行色彩空间变换,由rgb格式转换成yuv格式;将有雨图像的y通道作为级联空洞卷积神经网络的输入,将无雨图像的y通道作为计算损失函数的参数;

步骤1-3:运用训练数据集训练上述级联空洞卷积神经网络的去雨模型;训练过程中,设置损失函数为:

l(θ)=αl1(θ)+βl2(θ)+γl3(θ)

其中,θ表示模型中的所有的参数集合,α、β、γ均为求和权重;

l1(θ)为雨水区域层的损失函数:l1(θ)=-ralogpa(θ)、pa(θ)为模型输出的雨水区域层,

l2(θ)为雨水层的损失函数:n为图像的像素数、pr(θ)为模型输出的雨水层,

l3(θ)为背景层的损失函数:pb(θ)为模型输出的背景层,

rb为数据对中无雨图像的y通道、rr由数据对中有雨图像的y通道减去无雨图像的y通道得到、ra由rr二值化后得到;

步骤2:对待处理的有雨图片进行色彩空间变换,将待处理的有雨图片的y通道输入区域模型得到背景层;然后结合该有雨图片的uv通道,进行色彩空间反变换,得到最终的去雨图像。

本发明的原理为,通过级联空洞卷积神经网络提取有雨图像得雨水特征,对雨水建模,引入了雨水区域层的二值图,通过学习雨水区域层的预测,去雨模型能够在真正的雨水区域进行去雨处理,而在非雨水区域则不进行处理,避免了非雨水区域的过度平滑与雨水区域的模型精度不足,从而达到了去除尽可能多的雨线又保留背景中的细节部分的目的,避免了图像失真的问题。

由此可见,本发明具有如下有益效果:

1)本发明运用空洞卷积神经网络进行雨水细节特征提取,在增大图像感受野的同时没有池化层损失信息,能够在提取雨水条纹特征的同时较好的保留图像的细节特征,小目标特征;

2)本发明通过在多个尺度上,多种场景下进行去除雨线,去雨的效果能适用于多种雨水情况,使得本发明的去雨算法更加具有泛化性;

3)本发明提出了雨水区域层的二值图,通过多任务学习模型学习雨水区域层的预测,去雨模型能够在真正的雨水区域进行去雨处理,而在非雨水区域则不进行处理,避免了非雨水区域的过度平滑与雨水区域的模型不足;

4)本发明不需要任何先验知识,也不需要对图像进行预处理和后处理,保证了整个结构的完整性;在公开数据集上的结果表明本发明同前沿的主流去雨方法结果相比,在峰值信噪比(psnr)上能够提升2~8,在图像结构相似度(ssim)上能够提升0.04~0.22。

附图说明

图1为本发明方法中级联空洞卷积网络的结构示意图。

图2为本发明方法中去雨深度网络的去雨流程示意图。

图3为本发明实施例在rain100数据集上的实验结果及对比结果图;其中,左侧为有雨图像,右侧为相应的无雨图像。

图4为本发明实施例在真实雨水场景且复杂背景下的去雨可视化对比结果图;其中,左侧为有雨图像,右侧为相应的无雨图像。

具体实施方式

下面对本发明结合附图和实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。

实施例

本实施例提供了一种基于级联空洞卷积神经网络的面向单幅图像去雨方法,包括如下步骤:

步骤1:构建基于级联空洞卷积神经网络的去雨模型:

步骤1-1:针对雨水图像的模型特征进行雨水图像雨水部分建模;

学界与工业界大量使用的图像雨水模型为:o=b+r,该雨水模型中,o为含雨水图像,b为背景层,r为雨水层;但是该雨水模型中存在一些缺点,其将无雨水的图像与雨水图像进行合成时直接采用了背景层加雨水层的叠加方法,使用该模型对通过该雨水模型合成的雨水图像进行背景分离时候,需要使用该模型的去雨方法提取雨水图像特征的同时鉴定出哪里是雨水区域,所以在真正的雨水区域,很容易对该区域的雨水图层提取时候产生模型精度不足的问题;在真正的非雨水区域,模型也需要在提取图像特征的同时判断哪里是非雨水区域,从而非雨水区域不做处理,而该模型没有特别区分导致对于非雨水的区域也进行了轻微的去雨处理,造成了非雨水区域的过度平滑,影响图像非雨水区域的图像质量。

考虑到上述两个弊端,针对雨水区域与非雨水区域的特别处理考虑,本发明对雨水进行建模,如下所示:

o=b+ra

其中,a为雨水区域层,是一个二值图像、1代表其是雨水区域、0代表不是雨水区域;这样做将有雨区域与无雨区域分离开来有以下两个好处:一是因可以防止对无雨区域的图像进行建模,从而保留了非雨水区域图像的完整性避免了对非雨水区域图像的平滑;二是因为它可以将有雨区域分离出来,从而更好的对有雨区域进行建模特征提取,增加了有雨区域去雨网络模型的精度。

输入有雨图像y通道进入级联空洞卷积神经网络模型,得到雨水层r、雨水区域层a、背景层b,通过计算三者的加权损失函数,对网络进行反向传播,更新网络参数;

由于雨水区域的图像特征不仅与它周围的图像相关,还可能与图像本身的特征有关,故去雨的任务对图像全局信息较为依赖。去雨任务使用的是点对点的网络输出,如果采用一般的深度卷积神经网络会面临小物体无法重建,信息丢失等问题。空洞卷积神经网络在不做池化采样损失信息的情况下,增大了感受野,让每个卷积输出都包含较大范围的信息;所以为了增大感受视野更好的适应去雨学习任务,本发明采用级联空洞卷积神经网络来提取图像的雨水信息。

所述级联空洞卷积神经网络中,输入经卷积层1后分别进入三路空洞卷积神经网络;第一路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层1、激活层1、卷积层2,卷积层2的输出与卷积层1的输出求和后经激活层4输出;第二路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层2、激活层2、卷积层3,卷积层3的输出与第一路空洞卷积神经网络的输出求和后经激活层5输出;第三路空洞卷积神经网络中,卷积层1的输出依次经过空洞卷积层3、激活层3、卷积层4,卷积层4的输出与第二路空洞卷积神经网络的输出求和后经激活层6输出;第三路空洞卷积神经网络的输出依次经过卷积层5、激活层7、卷积层6,卷积层6的输出与第三路空洞卷积神经网络的输出求和后经激活层8输出,其中,卷积层6的输出作为雨水区域层;激活层8的输出依次经过卷积层7、激活层9、卷积层8,卷积层8的输出与激活层8的输出求和后经激活层10输出,其中,卷积层8的输出作为雨水层;激活层10的输出经过卷积层9后与输入求和后输出,作为背景层;

网络中的所有激活层均采用线性整流函数(rectifiedlinearunit,relu):

f(x)=max(0,x)

本实施例中,级联空洞卷积神经网络由三路空洞卷积神经网络组成,由第一路到第三路扩张率依次为1、2、3,相应感受野大小为3*3、5*5、7*7;

步骤1-2:建立训练模型的去雨图像数据集;

整个去雨模型的数据集包括训练集与测试集两个部分,除此以外还有部分真实场景下拍摄的雨水图像用以验证模型的实际效果;其中,训练集中包含了大量有雨图像与其对应的无雨图像的数据对,这些有雨图像是通过在无雨图像上面通过图像处理工具按照一定的雨水生成模型合成出来的人工雨水图像,如添加不同方向、强度雨水条纹,对背景进行高斯模糊等操作;测试集图像包含了与训练集图像同分布的有雨图像与无雨图像的数据对,用来评价模型的泛化性能,并在图像结构相似度与峰值信噪比两个量化指标上评价模型;还有一部分在真实场景下拍摄的雨水图像数据,模型在这些图像上的去雨效果更能体现真实环境下的去雨效果;本实施例中,采用rain100l数据集,该数据集包含了2000张含有雨水的图片与2000张对应的不含雨水的图片,利用其中的1800张作为训练数据集,剩余的200张用来做模型测试数据集;每对图片大小不一致,通过随机切割80*80固定大小图像块并加入随机翻转实现数据增强。

将输入的有雨和无雨图像数据对进行色彩空间变换,由rgb格式转换成yuv格式;将有雨图像的y通道作为级联空洞卷积神经网络的输入,将无雨图像的y通道作为计算损失函数的参数;

步骤1-3:运用训练集训练基于级联空洞卷积神经网络的去雨模型,实现有雨图像至无雨图像的映射;

该模型对雨水区域层a、雨水层r、背景层b共三个图像分离图层进行学习,所以求解目标表述为如下所示:

argmin||o-b-ra||+pb(b)+pr(r)+pa(a)

其中,o为含雨水图像,b为背景层,a为雨水区域层,r为雨水层,p为先验分布;

一共有三个学习任务,损失函数采用三个学习任务损失函数的加权和来表示如下:

l(θ)=αl1(θ)+βl2(θ)+γl3(θ)

其中,θ表示模型中的所有的参数集合,l1(θ)为雨水区域层的损失函数,l2(θ)为雨水层的损失函数,l3(θ)为背景层的损失函数,α、β、γ均为求和权重;

对于雨水区域层,因为在雨水图像模型中,这个图层为一个二值图像,有雨的区域为1、无雨水条纹的区域为0,故本质上在该子任务中输出为一个点到点的二分类问题;在网络模型中输出层使用sigmoid函数进行了概率输出到0-1之间,从而进行了二分类的操作,考虑到输出时候采用了sigmoid函数这一指数形式的非线性处理,所以为了避免梯度消失或者梯度太小而造成的训练困难,损失函数采用对数形式反传梯度,从而对冲指数形式的输出;选用在二分类对数形式的损失函数中常用的交叉熵,该层的损失函数采用每个像素点的交叉熵损失:

l1(θ)=-ralogpa(θ)

其中,pa(θ)为模型生成的雨水区域概率矩阵、即为网络输出的雨水区域层,ra为真实的雨水区域二值矩阵、由rr二值化后得到;

对于雨水层,由于输入图像与输出的雨水层图像都只经过了卷积操作,只涉及了线性加权与一些简单的非线性操作,输入输出可以视为一个点对点的回归映射问题,所以将该层的损失函数设置为回归任务中常用的均方差损失函数:

其中,n为图像的像素数;pr(θ)为模型生成的雨水层矩阵、即为网络输出的雨水层,rr为真实的雨水层矩阵、由数据对中有雨图像的y通道减去无雨图像的y通道得到;

对于背景层,与雨水层类似,因为在模型的实际处理中,并不是通过网络直接学习得到的背景层,而是学习得到雨水层之后,通过原含有雨水的图像与雨水层图像做差得到背景层图像,所以背景层学习任务的损失函数应该与雨水层的损失函数具有相同的数学形式,同样采用均方差损失函数:

其中,pb(θ)为模型生成的背景层矩阵、即为网络输出的背景层,rb为真实的背景层矩阵、即为数据对中无雨图像的y通道。

步骤2:将待处理的有雨图片的y通道输入网络得到去背景层;然后结合有雨图片的uv通道,进行色彩空间反变换,将yuv色彩空间转换为rgb色彩空间,得到最终的去雨图像。

步骤3:测试集中的有雨图像对上述网络模型进行测试,得到的结果与其他主流去雨方法进行横向比对,并可视化去雨结果;通过拍摄真实雨水场景下的雨水图像,通过本模型的去雨网络进行推理,得到去雨雨水的背景层可视化图像。

模型的评价采用图像结构相似度指标(ssim)与峰值信噪比指标来评价模型的去雨量化效果(psnr)。

ssim指标是一种衡量两幅图像相似度的指标。该指标越高,说明这两张图相似度越高,当两张图像一模一样时,ssim的值等于1。

峰值信号比(psnr)通常用来评价一幅图像压缩后和原图像相比的质量好坏,当然,压缩后图像通常情况下一定会比原图像质量差。psnr越高,压缩后失真越小。峰值信号比的一般取值范围为20-40之间,值越大,图像和原图越接近。

实施效果:

实验表明,较之于现有的单张图像的去雨方法,本实施例在rain100l数据集上的量化指标都得到了显著的提高,验证了本发明的可靠性与稳定性。通过对比实验(如表1所示),证明了本发明在单幅图像去雨任务方面的竞争力;同时通过拍摄真实雨水场景且复杂背景下的含有雨水条纹的图像来进行本文模型的去雨实验,结果说明了本文模型在真实场景复杂背景下同样拥有较好的泛化能力。

表1模型实验的ssim值与psnr值

其中,对比实验对比方法:

[1]l.w.kang,c.w.lin,andy.h.fu.automaticsingle-image-basedrainstreaksremovalviaimagedecomposition.ieeetrans.onimageprocessing,21(4):1742–1755,april2012.

[2]y.luo,y.xu,andh.ji.removingrainfromasingleimageviadiscriminativesparsecoding.inproc.ieeeint’lconf.computervision,pages3397–3405,2015.

[3]y.li,r.t.tan,x.guo,j.lu,andm.s.brown.rainstreakremovalusinglayerpriors.inproc.ieeeint’lconf.computervisionandpatternrecognition,pages2736–2744,2016.

[4]d.eigen,d.krishnan,andr.fergus.restoringanimagetakenthroughawindowcoveredwithdirtorrain.inproc.ieeeint’lconf.computervision,december2013.

如图3所示为本实施例在rain100数据集上的实验结果及对比结果图;其中,a-1、b-1、c-1、d-1为有雨图像,a-2、b-2、c-2、d-2为使用本发明处理后得到的无雨图像;

如图4所示为本实施例在真实雨水场景且复杂背景下的去雨可视化对比结果图;其中,a-1、b-1、c-1为有雨图像,a-2、b-2、c-2为使用本发明处理后得到的无雨图像。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1