掌桥专利:专业的专利平台
掌桥专利
首页

一种快速去雨的密集残差生成对抗网络

文献发布时间:2023-06-19 09:38:30


一种快速去雨的密集残差生成对抗网络

技术领域

本发明涉及无人机驾驶视觉环境感知技术领域,尤其涉及一种快速去雨的密集残差生成对抗网络。

背景技术

对于户外视觉任务来讲,例如基于视觉的无人车环境感知、行人和路面标识检测、追踪、道路监控等任务,干净清晰以及可视的图像是必不可少的。可靠的视觉图像可以帮助人们更加准确高效地完成各项视觉任务,同时能够减少甚至避免不必要的失误。但是在恶劣天气条件下,尤其是雨天天气,图像的可视程度严重退化,给各项视觉任务带来了极大的困难。因此图像去雨技术的研究迫在眉睫。然而这项任务是非常具有挑战性的。首先,对于大雨天气雨水会带来雾气使图像变得模糊,难以在去除雨线的同时保留住足够清晰的背景细节;其次,对于需要进行实时去雨的视觉任务而言,例如基于视觉的无人驾驶车辆的环境感知任务,如何实现快速去雨,减少每帧图像的耗时也是一大难点问题。

去雨技术目前主要有两类对象:视频和图像。对于视频去雨而言,由于可以获得大量时域上的先验信息,可以较为轻松地检测和去除雨线残留。而单张图像去雨只集中在一张图像上,缺少了类似的先验,因此更为困难。已经有部分学者针对单张图像去雨问题提出了一些方法,主要划分为基于模型的去雨方法和基于深度学习的去雨方法。例如在基于模型去雨的方法中,包含了引导滤波法、低秩外观模型法、非局部均值滤波法、混合高斯模型法、对比度增强法、散射修复法。基于引导滤波的方法,将每个像素点RGB通道的最大值和最小值的差值图像作为引导图像,输入源图像进行引导滤波处理,得到去雨图像,由于只使用了一种图像作为引导图像,虽然实时性较强,但造成了很大的细节丢失。散射修复的方法是利用散点线对附近像素进行连续扫描,填充受损的去雨区域,但需要人为地设置扫描区域,且由于光线的影响容易出现黑点。

除了上述基于模型的方法外,还有字典学习稀疏编码、CNN、CNN+RNN、GAN等基于深度学习的方法。基于深度学习的方法近年来在计算机视觉领域取得了较大成功,不仅用于图像去雨,图像去噪、去雾、识别、检测、转化等领域都有涉及。虽然基于深度学习的方法效果突出,但耗时较长,且网络训练过程中容易出现不稳定、不收敛、多样性少等问题。

发明内容

本发明旨在提供一种快速去雨的密集残差生成对抗网络,目的在于解决视觉环境感知图像去雨问题中的雨线残留和耗时过长等问题,在保证去雨效果的同时留存足够的背景细节信息,尽可能地减少去雨的耗时,为其能够在无人车行驶过程中进行实时去雨建立基础。

本发明搭建了整体算法的训练环境,主要的环境参数如下所示:

本发明的技术方案是一种快速去雨的密集残差生成对抗网络,发明以生成对抗网络的中心思想“博弈论”为主旨思想进行设计,首先搭建了整体的算法运行环境,也就是训练环境和测试环境;之后进行了整体算法框架的设计,包括数据集的预处理、生成器子网络、判别器子网络、损失函数以及图像后处理和指标计算函数的设计。

具体包括步骤:

a、搭建算法运行环境;

b、搭建去雨数据集;

c、进行快速去雨的密集残差生成器子网络的设计;

d、进行快速去雨的密集残差判别器子网络的设计;

e、进行判别器和生成器损失函数的设计;

f、进行图像后处理和指标的计算,并验证算法模型的去雨效果。

进一步的,在步骤a中,首先安装Linux系统,根据计算机的显卡版本安装驱动程序,目前使用的驱动版本是NVIDIA-Linux-x86_64-440.44.run。安装驱动完成之后,确定tensorflow使用版本,本次模型依托于tensorflow2.1.0版本进行设计搭建。根据驱动以及tensorflow版本确定CUDA和cuDNN版本,根据版本对齐,使用的是CUDA Toolkit10.1和cuDNN7.6版本。所有算法模型在上述环境中进行设计,如果版本不对应将会在运行过程中出现问题。

进一步的,在步骤b中,包括,

b1、首先搭建合成雨图的数据集,考虑雨线的大小、方向、密集程度因素,使用photoshop软件在搜集到的无雨图像数据集上进行雨线的添加;

b2、然后搭建真实的雨图数据集,通过网上爬虫搜索和拍摄真实下雨场景进行雨图数据的获取;

b3、将真实雨图数据集和合成的雨图数据集进行混合,按照7:3的比例划分训练集和测试集。

进一步的,在步骤c中,包括,

c1、将输入的图像进行预处理,包括将其进行指定尺寸250*250的随机裁剪,随机翻转,归一化至[-1,1]的范围内,进行数据增强和归一化的目的在于泛化模型,避免过拟合;

c2、将输入的数据集进行随机打乱,输入至生成器子网络中;

c3、输入的图像首先经过生成器子网络的LSTM长短期极意网络模块,由其判断像素值和特征点是否该被遗忘和输入、输出;

c4、经过LSTM的卷积和特征选取之后,输入至生成器的密集残差网络之中。

进一步的,在步骤c4中,密集残差网络是以残差网络为基础进行优化设计的,主要作用在于能够快速进行特征的提取和传递,在保证雨线完整去除的情况下及大地缩短时间消耗。与普通的残差网络以两个卷积层和两个激活层为一个模块,隔两层进行特征传递不同的是,密集残差网络是以单个卷积层和PReLU激活函数为一个整体进行训练,隔层之间进行特征的传递,从而在去雨的同时尽可能地保留原图背景的特征信息。

进一步的,在步骤d中,包括,

d1、判别器子网络的卷积过程中对于卷积核设计了普归一化,目的在于使数据分布满足Lipschitz约束;

d2、使经过生成器生成的无雨图像输入至判别器子网络中进行卷积、特征提取和判断,在判别器层级之间生成特征图,与生成器的特征映射一起用来计算判别器的损失函数,从而监督判别器尽可能地关注原始雨图中的雨线区域来进行判别;

d3、判别器网络一共包含13个卷积核为5的卷积层,两个全连接层,第一个全连接层输出1024,第二个全连接层输出为1,判断是否是真实的无雨图像,在特征提取的过程中,第八个卷积层的结果作为特征映射的输出,在后面与原始特征相乘,作为判断雨线区域的指导;

d4、判别器输出判别的结果,并将判别器的输出和生成器的输出以及特征映射输入到损失函数的模块中,计算损失函数并进行优化。

进一步的,在步骤e中,包括,

e1、生成器损失函数包含三部分:对抗损失、多尺度结构相似性损失、多尺度峰值信噪比损失以及多尺度欧式距离损失;

e2、判别器的损失函数包含了三部分:交叉熵损失、特征映射损失以及R2正则损失;

e3、首先计算判别器的损失,形成梯度进行判别器的优化,按照一定的训练步数再计算生成器的损失,再优化生成器,每训练三次判别器训练一次生成器。

进一步的,在步骤f中,包括,

f1、在一定的步数后进行图像的后处理,指标的计算,

f2、在一定的步数后进行模型和相关参数的保存。

进一步的,在步骤f1中,图像的指标采用峰值信噪比PSNR以及多尺度结构相似性MS_SSIM两个评价指标。

本发明的有益效果是:

(1)设计了一种密集残差和LSTM相结合的生成器子网络。与现有方法不同的是,密集残差网络以一个卷积层和一个激活层为基本模块,隔层之间进行特征信息的传递,采用多次迭代进行特征提取和生成无雨图像。由于简化了整体网络结构,增强特征的联系,使得该网络能够生成满足环境感知任务的无雨图像,相对于已有的去雨方法而言,极大地提高了去雨速率。

(2)在生成器和判别器中,设计生成了雨线特征映射,用于引导生成器和判别器在训练过程中更好地注意雨线区域,从而使得生成器有目标地进行去雨,判别器有目标地判断生成图像雨线区域真实与否。判别器使用了普归一化以实现Lipschitz约束。

(3)对于损失函数方面。判别器的损失函数除了交叉熵损失外添加了R2正则损失,用来避免生成分布不连续所带来的不收敛问题,以及两个字网络特征映射之间的L2损失。生成器损失函数包含三部分,即对抗损失、生成器特征映射与目标图像之间的特征损失、负结构相似性损失。

附图说明

图1为本发明快速去雨密集残差生成对抗网络的流程示意图;

图2为本发明快速去雨密集残差生成对抗网络的框架示意图;

图3为本发明生成器子网络中使用的LSTM模型示意图;

图4为本发明设计的密集残差网络结构示意图;

图5为本发明的判别器子网络结构示意图;

图6为本发明的的生成对抗网络的基本思想示意图;

图7为本发明整体算法流程框架。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“上”、“下”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

如图1所示,本发明提供了一种快速去雨的密集残差生成对抗网络,包括步骤:

a、搭建算法运行环境;

b、搭建去雨数据集;

c、进行快速去雨的密集残差生成器子网络的设计;

d、进行快速去雨的密集残差判别器子网络的设计;

e、进行判别器和生成器损失函数的设计;

f、进行图像后处理和指标的计算,并验证算法模型的去雨效果。

具体的,如图2所示,本发明提出了一种快速去雨的密集残差生成对抗网络。在生成器中设置了迭代层级之间的特征监督。与其他网络不同的是,为了避免网络的复杂性、减少时间消耗,提高去雨效率,设计了一种包含密集残差网络的生成器,以LSTM和密集残差网络为基础进行多次迭代,同时减少不必要的批量正则操作。与普通的残差网络以两个卷积层和两个激活层为一个模块,隔两层进行特征传递不同的是,密集残差网络是以单个卷积层和PReLU激活函数为一个整体进行训练,隔层之间进行特征的传递,从而在去雨的同时尽可能地保留原图背景的特征信息。为了利用生成器迭代层级之间的特征信息,帮助生成对抗网络的判别器进行判断,我们在判别器层级之间同样生成了特征图,与生成器的特征图一起用来计算判别器的损失函数,从而监督判别器尽可能地关注原始雨图中的背景信息来进行判别。为了增加生成对抗网络训练的稳定性,并加快收敛,在判别器网络中我们采用了普归一化的方式来实现Lipschitz约束。

判别器的损失包含两部分内容:真实分布和生成分布的交叉熵损失以及正则损失。生成器的损失包括三部分内容:对抗损失、特征监督损失以及结构相似性损失。我们将雨图定义为背景图像和雨线的组合:

I=B+R

其中,B指的是干净的背景图像,R指的是雨线带来的退化效果,I是彩色输入雨图,代表了背景环境与雨线带来的反射的复杂融合效果。

本发明以生成对抗网络为基本思想,设计了一种快速密集残差生成对抗网络,网络结构如图2所示。此网络主要包括两部分,生成器子网络和判别器子网络。生成器的主要功能是尽可能快速地将有雨图像生成真实、干净的无雨图像。判别器则是判断输入的生成图像是否是真实图像。

具体的生成对抗代价函数如下所示:

D代表判别器子网络,G代表生成器子网络。Pr代表真实分布,y代表真实分布的一个样本,表示干净、无雨的背景图像;Pg代表生成分布,x代表生成分布的一个样本,表示与y对应的原始有雨图像。

为了尽可能地提高去雨效率、有效利用图像的特征信息,我们精简了生成器子网络的结构,主要包含两部分:图3所示的长短时记忆网络LSTM(Long Short Term Memorynetworks)和图4所示的密集残差网DRN(Dense Residuals Network)络。LSTM是循环神经网络RNN的一种,主要包括了遗忘门、输入门和输出门。虽然目前已经有学者提出它不利于并行化,但由于自身结构的特有优势,对于时间序列上的处理、有用信息的留存、利用层级之间的特征信息进行远距离预测等具有较大的优势。密集残差网络DRN是以ResNet为基础进行设计的。为了尽可能提高特征信息的利用程度,有目的和针对性地去除雨线,并尽可能减少去雨的耗时,我们设计了隔层连接的密集残差网络。密集残差网络的最终输出作为特征映射,再次与原始雨图一起输入至生成器子网络,引导其进行去雨,在最后一次迭代中的输出即为生成器生成的无雨图像。

输入数据为x

f

i

g

o

c

h

密集残差网络的目标是实现快速特征提取和去雨,其最大的优势在于耗时短、特征利用率高。密集残差网络的输入是LSTM的输出,在每一次迭代的过程中,其输出是每一次生成器子网络的输入,最后一次迭代的输出则作为生成器生成的无雨图像。密集残差网络包括10次卷积+激活,使用了跳跃链接来提高像素信息的利用率,避免模糊的输出。此跳跃链接与原始残差网络的跳跃链接有所不同。原始的残差网络,以两次卷积+激活为一个单元,单元与单元之间进行特征值的连接。而本文中设计的密集残差网络,除了在第一次卷积之后隔两个单元进行特征映射的传递,在第二次卷积之后也将在“另一侧”进行特征映射的传递,相当于每隔一次卷积+激活的单元,就会传递一次特征映射,提高了像素值利用率的同时,也并没有增加过多的耗时。

本发明定义了的生成器损失函数包含三部分:对抗损失、多尺度结构相似性损失、多尺度欧式距离损失。其中多尺度结构相似性损失定义为:

其中,Mi代表了每次迭代生成器子网络的的输出,T代表了目标图像,λi代表每次迭代计算出的多尺度结构相似性的权重,权重列表为[0.2,0.4,0.6,0.8,1.0]迭代次数越多,权重越大。

多尺度欧式距离损失定义为:

其中,M代表了生成器每次迭代输出的特征映射,T代表目标图像,j代表元素数,i代表迭代次数,λi代表每次迭代计算出的欧式距离损失权重,同样迭代次数越多,权重越大。

对抗损失定义为:

L

其中,x为原始雨图,G(x)为生成器生成的无雨图像,D(G(x))为判别器的输出。综上,生成器的损失可以写成:

其中,β1、β2分别是L2损失、多尺度结构相似性损失的权重。

为了充分利用全局信息和局部信息,在判别器网络的设计过程中,采用了全局和局部一致性相结合的方式。在本文中,全局特征的利用即为逐个像素排查其特征是否和目标图像一致,局部一致性则是利用生成器和判别器中的特征映射进行判断。

将生成图像和判别图像分别输入至判别器中,逐渐进行特征的提取,在一定阶段形成特征映射,目标图像和生成雨图在判别器中形成的特征映射将用于计算特征损失。在后续阶段,特征映射与原始特征相乘,其乘积继续被输入至判别器的后续网络中。将特征映射与原始特征相乘形成输入,目的在于利用之前提取的雨线信息,为后面的判断提供指导。为了在最终输出判断结果,最后两层使用全连接层。具体网络结构如图5所示。

判别器在特征提取的过程中,对每一层权重矩阵的普范数进行约束,即普归一化,从而使判别器的映射函数满足Lipchitz约束,增强训练的稳定性。判别器的损失函数包括交叉熵损失、特征映射损失以及R2正则损失。其中特征映射损失定义如下:

L

MSE为欧几里得距离。M

R2正则损失是由Lars Mescheder等人于2018年发明的,作者发现对于不一致连续的生成分布,经典GAN网络不能收敛,因此设计了R2正则惩罚项,表示如下:

交叉熵损失的定义如下:

L

其中y为对应的干净无雨图像,x为原始有雨图像。因此,判别器的整体损失为:

其中,δ1和δ2分别是特征映射和R2正则项的损失,分别是100和1000。我们的判别器网络一共包含13个卷积核为5的卷积层,两个全连接层,第一个全连接层输出1024,第二个全连接层输出为1,判断是否是真实的无雨图像。在特征提取的过程中,第八个卷积层的结果作为特征映射的输出,在后面与原始特征相乘,作为判断雨线区域的指导。

本发明的基本思想根据生成对抗网络的基本思想演化而来,如图6所示为GAN网络的博弈论思想。生成器的目的在于生成尽可能真实的无雨图像欺骗判别器,判别器的目的在于判断出输入的是生成器生成的无雨图像还是真实的无雨图像数据,二者在博弈的过程中优化彼此。整体的算法流程如图7所示。

本发明搭建了整体算法的运行和测试环境,通过设计的去雨模型在保证去雨雨线和保留足够的背景细节的同时,尽可能地减少时间上的消耗。根据结果测试,每张图像的去雨时长为0.02s左右,极大地提高了去雨效率。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

相关技术
  • 一种快速去雨的密集残差生成对抗网络
  • 一种基于残差图像条件生成对抗网络的比特深度增强方法
技术分类

06120112240162