一种基于多尺度密集生成对抗网络的水下图像增强方法及网络模型的训练方法

文档序号:30510362发布日期:2022-06-25 01:43阅读:197来源:国知局
一种基于多尺度密集生成对抗网络的水下图像增强方法及网络模型的训练方法

1.本发明属于水下图像处理技术领域,具体涉及一种基于多尺度密集生成对抗网络的水下图像增强方法及网络模型的训练方法。


背景技术:

2.近年来,为了建设海洋强国、开采海洋资源、构建人类海洋命运共同体,在我国海洋领域中,基于信息技术的应用占比大幅提高,其中水下图像的观测已经成为海洋行业发展的重点。水下图像在水下机器人智能捕捞、水下导航以及水下工程探测等领域有举足轻重的地位,清晰的水下图像能为水下目标检测跟踪、目标分类、水下矿物勘探等大型水下工程提供强有力的支持。但是在实际的工程应用中,水下海洋场景拍摄的照片难度较大,水下成像环境和光照的条件极其复杂,受到这些复杂的环境因素的影响,导致水下图像出现模糊、退化、偏色等现象,对进一步的高级视觉分析任务带来了困难。然而严重的水下图像退化导致图像颜色难以恢复。因此,如何有效的恢复水下图像的真实颜色成为了一个具有挑战性的问题。
3.为了提高水下图像的视觉质量,许多方法被提出来。目前,水下图像处理技术主要分为两类,一类是传统的图像复原方法,一类是基于深度卷积神经网络的水下图像复原方法。传统的水下图像增强方法又可以细分为水下图像复原和水下图像增强两部分。传统的水下图像增强方法没有水下物理参数,不依赖物理模型,专注于调整图像像素值以产生吸引人的结果。图像复原方法更多的是利用退化模型来增强水下图像。然而,由于水下复杂的物理和光学因素以及硬件设备的不足,传统的方法很难实现,实现的效果也不是很好,同时因为缺乏丰富的训练数据,这些方法在不同的水下环境下泛化性较差。因此,基于深度学习的水下图像增强方法,孕育而生,强大的监督学习模型,在一些低层次的视觉任务上取得令人信服的成功。


技术实现要素:

4.为解决现有技术中的缺陷,本发明公开了基于多尺度密集生成对抗网络的水下图像增强方法及网络模型的训练方法,该方法能更清晰的保留地面的真实值,且能够更好地恢复水下图像的细节信息,进行水下图像增强,增加图像的清晰度。
5.本发明采用的技术方案为:
6.一种基于多尺度密集生成对抗网络的水下图像增强方法,包括:
7.获取水下原始图片;
8.将水下原始图片输入到训练好的的多尺度密集生成对抗网络模型中进行图片增强处理,输出水下增强图片;
9.所述多尺度密集生成对抗网络模型包括生成器网络和判别器网络,生成器网络包括由多尺度密集特征提取msdb模块组成的跳跃连接块。
10.本发明的第二个目的是提供一种多尺度密集生成对抗网络模型的训练方法,训练好的多尺度密集生成对抗网络模型用于权利要求1所述的水下图像的增强,所述多尺度密集生成对抗网络模型的训练方法包括:
11.获取训练数据集,所述训练数据集包括原始图像和与原始图像相映射的失真图像;
12.将训练数据集内的图像样本输入到预建立好的多尺度密集生成对抗网络模型中进行交替迭代训练,直至模型损失函数值不再下降,完成训练。
13.进一步的,所述训练数据集由循环生成对抗网络生成的不对称数据集。
14.进一步的,所述预建立好的多尺度密集生成对抗网络模型包括生成器网络和判别器网络。
15.进一步的,所述生成器网络依次包括两个顺序连接的卷积块、跳跃连接块以及两个顺次连接的反卷积块;
16.卷积块均包括依次连接的卷积层、bn层和leaky relu层;
17.第一个反卷积块包括依次连接的反卷积层、bn层和leaky relu层;
18.第二个反卷积块包括依次连接的反卷积层和tanh层;
19.生成器网络中第一个卷积块的输出能直接跳跃连接至第二个反卷积块处作为第二个反卷积块的输入。
20.进一步的,所述跳跃连接块包括两个依次连接的msdb模块,在第二个卷积块和第一个msdb模块之间、第一个msdb模块和第二个msdb模块之间、第二个msdb模块和第一个反卷积块之间以及第二个卷积块和第一个反卷积块之间均采用跳跃连接的方式进行连接。
21.进一步的,所述msdb模块的表示方法为:
[0022][0023][0024][0025][0026][0027][0028]
其中ω代表权重,ω的上标表示卷积层的位置,ω的下标表示相应的卷积层大小,“*”表示卷积,l是leaky relu激活函数,[t1,f1,x
n-1
]、[t1,f1,x
n-1
]和[t2,f2,o1,x
n-1
]均指代特征图的串联。
[0029]
进一步的,msdb中的每一层都使用步长为1的卷积核。
[0030]
进一步的,所述判别器网络包括光谱归一化的依次连接的五个卷积块;
[0031]
第一个卷积块包括顺序连接的卷积层和leaky relu层;
[0032]
第二个卷积块、第三个卷积块以及第四个卷积块网络结构相同,均包括顺序连接的卷积层、bn层和leaky relu层;
[0033]
第五个卷积块包括顺序连接的卷积层和sigmoid层。
[0034]
进一步的,所述模型损失函数值的计算方法包括:
[0035]
计算非饱和对抗损失
[0036][0037]
上式中,表示最大化d和最小化g的优化函数;v(d,g)表示优化函数;e
x~pdata
(x)表示x是真实分布的期望;x表示真实样本;p
data
表示真实分布;d表示判别器网络,d(x)表示判别器网络判断x属于真实分布p
data
的概率;e
z~pgen
(y)表示y是生成分布的期望;y表示输入生成器网络的随机高斯噪声;p
gen
表示生成分布;g表示生成器网络,而g(z)表示生成器网络生成的假样本,d(g(z))是判别器网络判断生成器网络生成的样本是否属于生成分布p
gen
的概率;
[0038]
计算l1距离和梯度损失
[0039][0040][0041]
式l
l1
(g)中,e代表数学期望,x代表真实的水下图像;g代表网络的生成器结构,g(y)代表生成器生成的图像,||x-g(y)||1表示真实水下图像和生成的水下图像的距离;
[0042]
式lg(g)中,e代表数学期望,代表真实水下图像的梯度,代表生成器g(y)生成图像的梯度;整个公式表示的是真实水下图像和生成器网络生成的图像之间的梯度损失;
[0043]
计算感知损失函数
[0044][0045]
式中,φ是由imagenet网络上预先训练好vgg16网络的某个最大池化层前面的卷积层所输出的特征图,x代表失真的水下图像,y代表清晰的水下图像,φ(x)代表真实水下图像的特征图,φ(g(x))代表生成失真水下图像的特征图,φ(y)代表清晰图像的特征图,φ(g(y))代表生成清晰图像的特征图;
[0046]
最终的总损失函数计算方法为:
[0047][0048]
式中,λ1和λ2分别是l1损失函数和梯度损失函数的权重;γ是感知损失函数的影响因子。
[0049]
与现有技术相比,本发明所达到的有益效果是:
[0050]
(1)本发明构建了基于多尺度密集生成对抗网络(uwgan-vgg)模型,并对网络模型进行训练,由输入的一张失真的水下图像直接获取到增强的水下图像,能够更清晰的保留地面的真实值,且能够更好地恢复水下图像的细节信息,进行水下图像增强,增加图像的清晰度。
[0051]
(2)为了稳固训练,本发明采用了计算小的光谱归一化方法的,解决了gan训练不稳定的问题,增加了本方法的鲁棒性,同时能确保生成样本的多样性,使本发明方法能适用更多场合。
[0052]
(3)本发明提出了一种端到端的网络模型,在训练和测试的阶段,本方法既不需要成对的失真及真实图像样本,也不需要任何水下图像成像模型参数。
附图说明
[0053]
图1是实施例1网络模型中生成器网络的网络结构图;
[0054]
图2是实施例1网络模型中跳跃连接块的网络结构图;
[0055]
图3是实施例1网络模型中msdb模块的网络结构图;
[0056]
图4是实施例1网络模型中判别器网络的网络结构图。
具体实施方式
[0057]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0058]
实施例1
[0059]
本实施例提供了一种多尺度密集生成对抗网络模型(以下简称uwgan-vgg模型)的训练方法,训练好的uwgan-vgg模型可有效实现水下图像的增强。uwgan-vgg模型训练的步骤如下。
[0060]
一、准备训练数据集
[0061]
本实施例中所采用的训练数据集主要由cyclegan生成,cyclegan本质上是两个镜像对称的gan网络,循环生成对抗网络cyclegan是一种无监督网络模型,不需要成对的数据集。训练数据集包括未失真的空气中的原始图像和与原始图像相映射的失真图像,这两组图像不需要有任何的相关性,即两组不对称的数据,训练数据集为不对称数据集;未失真的原始图像来自于imagenet图像集的子集,失真的水下图像是自己在互联网下载的不同场景下水下图像,并根据网络模型对图像尺寸的要求,将这些图像的像素调整到256
×
256。将未失真的空气中的原始图像作为x域,失真图像作为y域,cyclegan学习从x域到数据集y域的映射函数f,再利用映射函数f来从x域中生成相对应的失真图像。
[0062]
二、构建uwgan-vgg模型
[0063]
本实施例中uwgan-vgg模型包括生成器网络和判别器网络,其中生成器网络主要包括由多尺度密集特征提取msdb模块组成的跳跃连接块。
[0064]
如图1所示,生成器网络依次包括两个顺序连接的卷积块、跳跃连接块以及两个顺次连接的反卷积块。其中,卷积块均包括依次连接的卷积层、bn层和leaky relu层,第一个卷积块内的卷积层是64个7
×
7大小的卷积核,第二个卷积块内的卷积层是128个3
×
3大小的卷积核,leaky relu层中leaky relu激活函数的斜率设置为0.2。跳跃连接块内的msdb可
以连接到两个卷积块的输出并提取更多的特征。后两个反卷积块主要用于重建图像,第一个反卷积块包括依次连接的反卷积层、bn层和leaky relu层;第二个反卷积块包括依次连接的反卷积层和tanh层,反卷积内层映射到输入通道数,该通道使用tanh函数来匹配[-1,1]的输入分布;生成器网络中第一个卷积块的输出能直接跳跃连接至第二个反卷积块处作为第二个反卷积块的输入。
[0065]
如图1和2所示,生成器网络中加入了由多尺度密集特征提取msdb模块组成的跳跃连接块,进一步鼓励信息流和梯度。跳跃连接块包括两个依次连接的msdb模块,在第二个卷积块和第一个msdb模块之间、第一个msdb模块和第二个msdb模块之间、第二个msdb模块和第一个反卷积块之间以及第二个卷积块和第一个反卷积块之间均采用跳跃连接的方式进行连接。
[0066]
如图3所示,本实施例中所述的msdb模块包括多个串联操作,每个串联操作都具有三个或四个特征图,来充分利用图像的局部特征,其中一个特征直接来自上一层的输出;两条中间路径的内核大小不同,可以以不同的比例检测特征图。最后引入的1x1卷积作为瓶颈层,从而促进特征融合并提高计算效率。如果引入两个以上的块,则在提高性能的同时,会引入了太多的参数,增加了训练时间,因此本实施例提供的msdb模块最终选择了两个块作为最终版本。msdb模块的表示方法如下:
[0067][0068][0069][0070][0071][0072][0073]
其中,ω代表权重,ω的上标表示卷积层的位置,ω的下标表示相应的卷积层大小,“*”表示卷积,l是leaky relu激活函数,[t1,f1,x
n-1
]、[t1,f1,x
n-1
]和[t2,f2,o1,x
n-1
]均指代特征图的串联。本发明专利为了便于串联,msdb模块中的每一层都使用步长为1的卷积核。
[0074]
如图4所示,判别器网络的结构类似于70x70pathgan,本实施例所述的判别器网络包括采用光谱归一化的依次连接的五个卷积块,第一个卷积块和最后一个卷积块不使用bn,其余所有卷积层都遵循相同的设计,即卷积层-bn层-leakyrelu层。第一个卷积块包括顺序连接的卷积层和leaky relu层;第二个卷积块、第三个卷积块以及第四个卷积块网络结构相同,均包括顺序连接的卷积层、bn层和leaky relu层;第五个卷积块包括顺序连接的卷积层和sigmoid层。判别器网络采用类似patchgan的优点是参数比全图像判别器少,可以
以全卷积的方式处理任意大小的图像,另一方面光谱归一化的方式限制判别器网络的lispschitz常数,以稳定判别器的训练,该过程在计算是轻便的并且易于实现,使用光谱归一化会有稳定的下降loss,从而方便了uwgan-vgg模型的训练。
[0075]
三、训练预建立好的uwgan-vgg模型
[0076]
uwgan-vgg模型的训练方法包括:
[0077]
获取训练数据集,所述训练数据集包括原始图像和与原始图像相映射的失真图像;
[0078]
将训练数据集内的图像样本输入到预建立好的多尺度密集生成对抗网络模型中进行交替迭代训练,直至模型损失函数值不再下降,完成训练。
[0079]
其中,模型损失函数值的计算方法包括:
[0080]
在原始的gan网络中,其对抗损失可以表示为以下公式:
[0081][0082]
上式中,g代表生成器,d代表判别器,x代表真实数据,p
data
代表真实数据概率分布,z代表了随机输入数据,该数据是随机高斯噪声。从上式可以看出,从判别器d的角度希望尽可能区分真实样本x和虚假样本g(z),因此d(x)必须要尽可能大,d(g(z))尽可能小,也就是整体尽可能大。生成器g希望自己生成的虚假数据g(z)可以尽可能骗过判别器d,d(g(z))尽可能大,整体尽可能小。gan的两个模块在训练相互对抗,最后达到全局最优。但是在实际的训练过程中,随着判别器的改进生成器的梯度逐渐消失,这使训练变得困难或者网络崩溃。因此本实施例中提出的msdb模块不构建水下退化模型和图像先验。通过残差学习、密集连接和多尺度的有效组合可以纠正颜色转换和恢复图像细节。提出了非饱和对抗损失,其计算公式为
[0083][0084]
上式中,表示最大化d和最小化g的优化函数;v(d,g)表示优化函数;e
x~pdata
(x)表示x是真实分布的期望;x表示真实样本;p
data
表示真实分布;d表示判别器网络,d(x)表示判别器网络判断x属于真实分布p
data
的概率;e
z~pgen
(y)表示y是生成分布的期望;y表示输入生成器网络的随机高斯噪声;p
gen
表示生成分布;g表示生成器网络,而g(z)表示生成器网络生成的假样本,d(g(z))是判别器网络判断生成器网络生成的样本是否属于生成分布p
gen
的概率。
[0085]
计算l1距离和梯度损失
[0086][0087][0088]
式l
l1
(g)中,e代表数学期望,x代表真实的水下图像;g代表网络的生成器结构,g(y)代表生成器生成的图像,||x-g(y)||1表示真实水下图像和生成的水下图像的距离;
[0089]
式lg(g)中,e代表数学期望,代表真实水下图像的梯度,代表生成器g(y)生成图像的梯度。lg(g)表示的是真实水下图像和生成器网络生成的图像之间的梯度损失;
[0090]
损失函数中需引入“内容”损失函数,“内容”损失函数的两个经典选择是原始像素的l1或mae损失、l2或mse损失。使用这些函数作为唯一的优化目标,会由于像素空间中的像素平均而导致生成图像上的模糊伪像。因此,本实施例采用了基于特征空间的感知损失。感知损失是简单的l2损失,但是基于生成图像的cnn特征图和目标图像cnn特征图的差异。
[0091]
计算感知损失函数
[0092][0093]
式中,φ是由imagenet网络上预先训练好vgg16网络的某个最大池化层前面的卷积层所输出的特征图,x代表失真的水下图像,y代表清晰的水下图像,φ(x)代表真实水下图像的特征图,φ(g(x))代表生成失真水下图像的特征图,φ(y)代表清晰图像的特征图,φ(g(y))代表生成清晰图像的特征图;
[0094]
其中,φ是由imagenet上预先训练好的vgg16网络的某个最大池化层前面的卷积层所输出的特征图。在实施例中选用的是vgg16网络的第2及第5个池化层,其中第2个池化层提取的是低级特征,第5个池化层提取的是高级特征,通过高级特征和低级特征的组合来保留原始图像的结构。
[0095]
最终的总损失函数计算方法为:
[0096][0097]
式中,λ1和λ2分别是l1损失函数和梯度损失函数的权重;γ是感知损失函数的影响因子。
[0098]
多尺度密集生成对抗网络模型的训练其实就是msdb的生成对抗网络的训练,以x

y的映射为例。首先由生成器网络生成的数据训练判别器网络,判别器网络判断是真样本还是生成的假样本;接着在此判别器网络下根据最小化非饱和对抗损失、l1距离和梯度损失、感知损失用以优化生成器网络;接着生成器网络更新参数并生成新的样本,新的样本再被送到判别器网络中,根据判别器网络损失对判别器网络进行优化。上述优化过程通过tensorflow系统来完成,将损失输入到优化器中,优化器将损失做最小化处理,而多项式损失函数也即最终的总损失函数可以产生视觉上令人愉悦的增强效果。就这样依次交替训练判别器和生成器,直到模型的损失函数不再下降即可判断uwgan-vgg模型训练完成。生成器网络的映射就是将水下失真图像转换为空气中未失真图像的映射。在测试阶段,只要将失真的水下图像输入到生成器网络,生成器网络的输出即为水下图像复原的结果。
[0099]
本实施例使用adam优化器来训练模型,并将学习率设置为0.0001,动量设置为0.5,batchsize大小设置为1。本实施例使用tensorflow框架实现了本实施例的网络,并使用nvidia rtx 3060gpu对其进行了训练。
[0100]
实施例2
[0101]
本实施例提供了一种基于多尺度密集生成对抗网络的水下图像增强方法,多尺度密集生成对抗网络采用实施例1中训练好的uwgan-vgg模型。所述水下图像的增强方法如
下:
[0102]
获取水下原始图片;
[0103]
将水下原始图片输入到训练好的的多尺度密集生成对抗网络模型中进行图片增强处理,输出水下增强图片。
[0104]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1