一种基于循环生成对抗网络的图像运动盲去模糊方法技术

技术编号:27688205 阅读:22 留言:0更新日期:2021-03-17 04:14
本发明专利技术公开了一种基于循环生成对抗网络的图像运动盲去模糊方法,首先构建数据集,获取到数量比例为1:1的非成对的清晰与模糊图像作为输入数据;接下来构建生成器网络和鉴别器网络,然后定义损失函数,损失函数由对抗损失和域间循环不变损失组成;最后对鉴别器网络和生成器网络依次进行训练,使得两者达到纳什均衡的状态后训练完毕。本发明专利技术利用循环生成对抗网络的原理,在缺少成对数据支持的去模糊任务中有效的利用非成对的数据进行训练并产生较好的效果。

【技术实现步骤摘要】
一种基于循环生成对抗网络的图像运动盲去模糊方法
本专利技术属于图像处理
,具体涉及一种图像运动盲去模糊方法。
技术介绍
随着手机和摄像机等拍摄设备的不断发展,拍照成为了人们日常生活中不可缺少的一部分。在拍照过程中由于相机的抖动或者被拍事物的相对运动,图像出现模糊的情况大有发生。模糊的图像不仅严重影响人们对信息的获取,还对之后的计算机视觉分析造成了负面影响,所以图像去模糊如今有着极高的实际意义和研究价值。去模糊任务根据模糊核是否已知分为两大类:非盲图像去模糊和盲图像去模糊。早期的大部分研究都是基于非盲图像去模糊展开的,大部分都是基于经典的维纳滤波和吉洪诺夫滤波等算法,进行反卷积操作来获得清晰图像的估计。它们算法的基本原理都是在一定的准则下,采用数学最优化的方法从退化的图像去推测图像的估计问题。但是在通常情况下模糊图像的模糊核是未知的,起初的大多数算法都依赖于启发法、图像统计和对模糊源的假设。随着深度学习的发展,各学者也纷纷开始使用深度网络来处理图像去模糊问题,基于深度卷积神经网络的去模糊算法取得了相比于传统算法更好的性能以及更快的速度。但是由于深度学习的方法需要大量成对的数据进行训练学习,而在同一时刻无法做到同时拍摄运动模糊和对应的清晰图像,想要获得成对的运动模糊数据集是非常困难的。公开的一些数据集都是采用多个清晰帧合成模糊图像来得到成对的数据,但是这种合成的数据不能很好的模拟真实世界中的模糊情况。
技术实现思路
为了克服现有技术的不足,本专利技术提供了一种基于循环生成对抗网络的图像运动盲去模糊方法,首先构建数据集,获取到数量比例为1:1的非成对的清晰与模糊图像作为输入数据;接下来构建生成器网络和鉴别器网络,然后定义损失函数,损失函数由对抗损失和域间循环不变损失组成;最后对鉴别器网络和生成器网络依次进行训练,使得两者达到纳什均衡的状态后训练完毕。本专利技术利用循环生成对抗网络的原理,在缺少成对数据支持的去模糊任务中有效的利用非成对的数据进行训练并产生较好的效果。本专利技术解决其技术问题所采用的技术方案包括以下步骤:步骤1:数据集的构建及预处理;将GOPRO数据集的训练集的前11个场景中的模糊图像作为模糊数据集,后11个场景中的清晰图像作为清晰数据集,清晰数据集和模糊数据集组成新训练集;再将新训练集中所有图像随机裁剪为多个256×256大小的图像并进行标准化处理,作为输入数据集;将GOPRO数据集的测试集作为新测试集;步骤2:构建生成器网络;生成器网络包括两个生成器,分别是模糊-清晰生成器Gb2s和清晰-模糊生成器Gs2b;两个生成器的作用分别为:模糊-清晰生成器Gb2s将输入的模糊图像输出为对应的清晰图像,清晰-模糊生成器Gs2b将输入的清晰图像输出为对应的模糊图像;两个生成器的结构一致,但参数不共享,均使用InstanceNorm作为归一化层、LeakyReLU作为激活层;具体结构如下:(1)输入模块:由一个卷积块构成,该卷积块包含通道为64,卷积核大小为7×7的卷积层,一个实例归一化层和一个ReLu激活层;(2)特征提取模块:由两个相同的卷积块组成,每个卷积块包含通道为128、卷积核大小为3×3的卷积层,一个实例归一化层和一个ReLu激活层;(3)残差密集学习模块:包含5个残差密集块RDB,每个残差密集块RDB包含了四个卷积块:其中前三个卷积块结构相同,都是由大小为3×3卷积核的卷积层、InstanceNorm归一化层和Relu激活层构成,前三个卷积块进行密集连接,再将残差密集块的输入和前三个卷积块中每个卷积块的输出通道共同构成4个特征图;再将4个特征图经过一个1×1的卷积核把通道数还原到残差密集块输入的大小,最后与残差密集块输入相加学习残差;(4)图像重构模块:由两个相同的卷积块组成,每个卷积块包含通道为128、卷积核大小为3×3的卷积层,一个实例归一化层和一个ReLu激活层;(5)输出模块:由一个卷积块构成,该卷积块包含通道为64、卷积核大小为7×7的卷积层,一个实例归一化层和一个ReLu激活层;步骤三:构建鉴别器网络;鉴别器网络包括两个鉴别器,分别是用于鉴别清晰图像的清晰鉴别器Ds和用于鉴别模糊图像的模糊鉴别器Db,两个鉴别器结构一致但参数不共享,具体结构如表1所示:表1:鉴别器结构步骤4:定义损失函数;网络的损失函数包括两部分:对抗损失和域间循环不变损失;对抗损失:其中G表示生成器,D表示鉴别器,b和s分别为模糊图像和清晰图像,则p(b)和p(s)分别为模糊图像的数据分布和清晰图像的数据分布;生成器G的目的是使生成的G(b)与s分布一致,鉴别器的目的是区分G(b)与s;域间循环不变损失:其中b和s分别为模糊图像和清晰图像,p(b)和p(s)分别为模糊图像的数据分布和清晰图像的数据分布;总的损失函数为:L(Gb2s,Gs2b,Ds,Db,s,b)=Ladv(Gb2s,Ds,b,s)+Ladv(Gs2b,Db,s,b)+λLCycle(Gb2s,Gs2b,s,b)总的损失函数包括三部分:第一部分为模糊-清晰生成器Gb2s的对抗损失,第二部分为清晰-模糊生成器Gs2b的对抗损失,第三部分为域间循环不变损失;其中λ的作用是控制对抗损失和域间循环不变损失的重要程度;步骤5:将步骤1中的输入数据集输入到网络中,采用Adam优化算法对网络进行优化训练;步骤5-1:训练鉴别器网络;训练真实数据:从输入数据集中分别取出一幅模糊图像和一幅清晰图像,并将这两幅图像分别输入到清晰鉴别器Ds和模糊鉴别器Db中得到对这两幅图像的判断,根据判断结果求出损失值并进行反向传播调整网络参数来优化网络;训练合成数据:从输入数据集中分别取出一幅模糊图像和一幅清晰图像,先将这两幅图像分别输入到模糊-清晰生成器Gb2s和清晰-模糊生成器Gs2b中,得到对应的合成清晰图像和合成模糊图像,之后再将这两幅合成的图像分布输入到清晰鉴别器Ds和模糊鉴别器Db中得到对这两幅图像的判断,根据判断的结果求出损失值并进行反向传播调整网络参数来优化网络;鉴别器网络得到的结果是一个二维矩阵,对这个二维矩阵中的所有值求均值,将得到的均值作为鉴别器网络对整个图像的评价;步骤5-2:训练生成器网络;模糊-清晰-模糊训练循环:从输入数据集中选出一幅模糊图像,将该模糊图像输入到模糊-清晰生成器Gb2s中得到合成的对应清晰图像,再将这幅合成的对应清晰图像输入到清晰鉴别器Ds,得到清晰鉴别器Ds对该合成的对应清晰图像的评价进而得到对抗损失的损失值,模糊-清晰过程的目标是使得模糊-清晰生成器Gb2s生成的图像能被清晰鉴别器Ds鉴别为真实清晰图像;同时将合成的清晰图像输入到清晰-模糊生成器Gs2b得到由合成的清晰图像生成的合成模糊图像,即Gb2s(Gs2b(s)),进而得到域间循环不变损失的损失值;模糊-清晰-模糊训练循环过程的目标是使输入的模本文档来自技高网...

【技术保护点】
1.一种基于循环生成对抗网络的图像运动盲去模糊方法,其特征在于,包括以下步骤:/n步骤1:数据集的构建及预处理;/n将GOPRO数据集的训练集的前11个场景中的模糊图像作为模糊数据集,后11个场景中的清晰图像作为清晰数据集,清晰数据集和模糊数据集组成新训练集;再将新训练集中所有图像随机裁剪为多个256×256大小的图像并进行标准化处理,作为输入数据集;/n将GOPRO数据集的测试集作为新测试集;/n步骤2:构建生成器网络;/n生成器网络包括两个生成器,分别是模糊-清晰生成器G

【技术特征摘要】
1.一种基于循环生成对抗网络的图像运动盲去模糊方法,其特征在于,包括以下步骤:
步骤1:数据集的构建及预处理;
将GOPRO数据集的训练集的前11个场景中的模糊图像作为模糊数据集,后11个场景中的清晰图像作为清晰数据集,清晰数据集和模糊数据集组成新训练集;再将新训练集中所有图像随机裁剪为多个256×256大小的图像并进行标准化处理,作为输入数据集;
将GOPRO数据集的测试集作为新测试集;
步骤2:构建生成器网络;
生成器网络包括两个生成器,分别是模糊-清晰生成器Gb2s和清晰-模糊生成器Gs2b;两个生成器的作用分别为:模糊-清晰生成器Gb2s将输入的模糊图像输出为对应的清晰图像,清晰-模糊生成器Gs2b将输入的清晰图像输出为对应的模糊图像;两个生成器的结构一致,但参数不共享,均使用InstanceNorm作为归一化层、LeakyReLU作为激活层;具体结构如下:
(1)输入模块:由一个卷积块构成,该卷积块包含通道为64,卷积核大小为7×7的卷积层,一个实例归一化层和一个ReLu激活层;
(2)特征提取模块:由两个相同的卷积块组成,每个卷积块包含通道为128、卷积核大小为3×3的卷积层,一个实例归一化层和一个ReLu激活层;
(3)残差密集学习模块:包含5个残差密集块RDB,每个残差密集块RDB包含了四个卷积块:其中前三个卷积块结构相同,都是由大小为3×3卷积核的卷积层、InstanceNorm归一化层和Relu激活层构成,前三个卷积块进行密集连接,再将残差密集块的输入和前三个卷积块中每个卷积块的输出通道共同构成4个特征图;再将4个特征图经过一个1×1的卷积核把通道数还原到残差密集块输入的大小,最后与残差密集块输入相加学习残差;
(4)图像重构模块:由两个相同的卷积块组成,每个卷积块包含通道为128、卷积核大小为3×3的卷积层,一个实例归一化层和一个ReLu激活层;
(5)输出模块:由一个卷积块构成,该卷积块包含通道为64、卷积核大小为7×7的卷积层,一个实例归一化层和一个ReLu激活层;
步骤三:构建鉴别器网络;
鉴别器网络包括两个鉴别器,分别是用于鉴别清晰图像的清晰鉴别器Ds和用于鉴别模糊图像的模糊鉴别器Db,两个鉴别器结构一致但参数不共享,具体结构如表1所不:
表1:鉴别器结构



步骤4:定义损失函数;
网络的损失函数包括两部分:对抗损失和域间循环不变损失;
对抗损失:



其中G表示生成器,D表示鉴别器,b和s分别为模糊图像和清晰图像,则p(b)和p(s)分别为模糊图像的数据分布和清晰图像的数据分布;生成器G的目的是使生成的G(b)与s分布一致,鉴别器的目的是区分G(b)与s;
域间循环不变损失:



其中b和s分别为模糊图像和清晰图像,p(b)和p(s)分别为模糊图像的数据分布和清晰图像的数据分布;
总的损失函数为:
L(Gb2s,Gs2b,Ds,Db,s,b)=Ladv(Gb2s,Ds,b,s)+Ladv(Gs2b,Db,s,b)+λLCycle(Gb2s,Gs2b,s,b)
总的损失函数包括三部分:第一部分为模糊-清晰生成器Gb2s的对抗损失,第二部分为清晰-模糊生成器Gs2b的对抗损失,第三部分为域间循环不变损失;其中λ的作用是控制对抗损失和域间循...

【专利技术属性】
技术研发人员:王琦芦瑞龙李学龙
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1