本发明涉及图像处理的技术领域,尤其是指一种基于递归极深网络的超分辨图像重构方法及系统。
背景技术:
图像超分辨率(superresolution,简称sr)是指从低分辨率(lowresolution,简称lr)图像中恢复高分辨率(highresolution,简称hr)图像的过程,是计算机视觉和图像处理中重要技术手段,具有广泛的实际应用,例如医学成像,安防监控和遥感图像等领域。除了提高图像感知质量外,还有助于改善其它计算机视觉任务。由于所述图像超分辨率非常具有挑战性,是一种不适定的逆问题,因为存在有多个hr图像对应于单个lr图像的情形。
所述图像超分辨率方法大致可以分为两大类:传统方法和深度学习方法。在过去,已经提出了多种经典的sr方法,包括基于预测的方法、基于边缘的方法、统计方法、基于补丁的方法和稀疏表示方法等。近年来,随着深度学习技术的飞速发展,基于深度学习的sr模型已得到积极探索,并经常在各种sr基准上达到最先进的性能。各种各样的深度学习方法已应用于解决sr任务,包括基于早期卷积神经网络(convolutionneuralnetwork,简称cnn)、超分辨率卷积神经网络(superresolutionconvolutionneuralnetwork,简称srcnn)以及加速超分辨率卷积神经网络(acceleratingthesuperresolutionconvolutionalneuralnetwork,简称fsrcnn),不同类型的损失函数,不同类型的学习原理和策略等。kim等人提出了一种vdsr网络模型,在“accurateimagesuper-resolutionusingverydeepconvolutionalnetworks”中提出了一个极深网络的体系结构,其与所述srcnn和fsrcnn中使用的浅层网络体系结构不同。为了避免在深层网络中缓慢收敛,该极深网络不是直接生成hr图像,而是学习残差映射,该映射会生成hr和lr图像之间的差异,提供了一个更容易实现的目标,并且网络仅关注高频信息。其次,将梯度限制在允许非常高的学习速率以加快训练过程的范围内。但是,即使递归极深网络采用了跳跃连接,前馈方式也使得网络前一层无法从后一层访问有用的信息,从而影响最终的结果。
技术实现要素:
为此,本发明所要解决的技术问题在于克服现有技术中网络前一层无法从后一层访问有用的信息,导致图像分辨率低的问题,提供一种使得网络前一层可以使用后一层的有用信息,从而提高图像分辨率的基于递归极深网络的超分辨图像重构方法及系统。
为解决上述技术问题,本发明的一种基于递归极深网络的超分辨图像重构方法,包括如下步骤:设定训练集,对所述训练集进行数据增强;利用所述训练集对已经搭建好的神经网络模型进行训练;利用训练完成的神经网络模型在测试图像上进行重建。
在本发明的一个实施例中,所述设定训练集包括:输入t91与bsd200组合的291张hr图像作为训练集,其中所述t91是包含91张汽车、花卉、水果、人脸等图像的经典数据集;所述bsd200是包含200张动物、建筑物、食物、风景、人、植物等图像的经典数据集。
在本发明的一个实施例中,对所述训练集进行数据增强的方法为:若训练集为集
在本发明的一个实施例中,利用所述训练集对已经搭建好的神经网络模型进行训练的方法为:采用基于递归极深网络的超分辨图像重构网络模型对新训练集
在本发明的一个实施例中,所述网络模型中的所有激活层均使用relu函数。
在本发明的一个实施例中,所述网络模型对于输入低分辨率图像xi的重建的各层超分辨率图像分别为
在本发明的一个实施例中,利用训练完成的神经网络模型在测试图像上进行重建的方法为:输入一张测试图像t,用训练得到的网络模型进行图像超分辨率重建,得到恢复的超分辨率图像tsr。
在本发明的一个实施例中,每一层的结构包括:浅层特征提取、深层特征提取以及图像重建。
本发明还提供了一种基于递归极深网络的超分辨图像重构系统,包括:图像预处理模块,设定训练集,对所述训练集进行数据增强;模型训练模块,利用所述训练集对已经搭建好的神经网络模型进行训练;超分辨率重建模块,利用训练完成的神经网络模型在测试图像上进行重建。
本发明的上述技术方案相比现有技术具有以下优点:
本发明所述的基于递归极深网络的超分辨图像重构方法及系统,设定训练集,对所述训练集进行数据增强,对所述数据进行预处理;利用所述训练集对已经搭建好的神经网络模型进行训练,引入了递归的思想,使得卷积网络的前一层可以使用后一层的有用信息,达到使用高级信息来完善低级信息的目的;利用训练完成的神经网络模型在测试图像上进行重建,从而改善了模型效果,提高图像分辨率。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明基于递归极深网络的超分辨图像重构方法的流程图;
图2是本发明递归极深网络的超分辨图像重构网络模型的示意图;
图3是本发明基于递归极深网络的超分辨图像重构系统的示意图。
具体实施方式
实施例一:
如图1所示,本实施例提供一种基于递归极深网络的超分辨图像重构方法,包括如下步骤:步骤s1:设定训练集,对所述训练集进行数据增强;步骤s2:利用所述训练集对已经搭建好的神经网络模型进行训练;步骤s3:利用训练完成的神经网络模型在测试图像上进行重建。
本实施例所述基于递归极深网络的超分辨图像重构方法,所述步骤s1中,设定训练集,对所述训练集进行数据增强,对所述数据进行预处理;所述步骤s2中,利用所述训练集对已经搭建好的神经网络模型进行训练,从而引入了递归的思想,使得网络前一层可以使用后一层的有用信息,达到使用高级信息来完善低级信息的目的;所述步骤s3中,利用训练完成的神经网络模型在测试图像上进行重建,从而改善了模型效果,提高图像分辨率。
所述设定训练集包括:输入t91与bsd200组合的291张高分辨率图像作为训练集,其中所述t91是包含91张汽车、花卉、水果、人脸等图像的经典数据集;所述bsd200是包含200张动物、建筑物、食物、风景、人、植物等图像的经典数据集。具体地,本发明在超分辨率主流训练集t91与bsd200组成的291张高分辨率图像上进行训练,并在超分辨率图像公开的基准数据集set5、set14、bsd100、urban100上进行了测试。其中所述set5是一个经典数据集,仅包含五个测试图像,分别是婴儿,鸟类,蝴蝶,头部和女性;所述set14与set5相比包含更多类别,但图像数量仍然很少,即14张测试图像;所述bsd100是一个具有100张测试图像的经典数据集,由各种各样的图像组成,从自然图像到特定对象,例如植物,人,食物等。所述urban100是一个相对较新的数据集,图像数量与bsd100相同,但组成完全不同,这些照片的重点是人造结构,即城市场景。
对所述训练集进行数据增强的方法为:若训练集为集
利用所述训练集对已经搭建好的神经网络模型进行训练的方法为:采用基于递归极深网络的超分辨图像重构网络模型对新训练集
所述网络模型对于输入低分辨率图像xi的重建的各层超分辨率图像分别为
利用训练完成的神经网络模型在测试图像上进行重建的方法为:输入一张测试图像t,用训练得到的网络模型进行图像超分辨率重建,得到恢复的超分辨率图像tsr。
本发明的效果可以通过如下实验验证:
通过本发明提出的图像超分辨率卷积神经网络,引入了递归的思想,使得前一层卷积可以使用后一层卷积的有用信息,达到使用高级信息来完善低级信息的目的,从而改善了模型效果。本网络模型与原网络模型,即vdsr网络模型在相同的数据集上进行比较,对测试图像t与其对应的超分辨率图像tsr进行峰值信噪比(psnr)的评估:
mse=(tsr-t)2
评估结果如表1所示。从表1可以发现,本发明提出的网络模型的峰值信噪比(psnr)比原网络模型的性能更好。
表1峰值信噪比(psnr)的对比
实施例二
基于同一发明构思,本实施例提供了一种基于递归极深网络的超分辨图像重构系统,其解决问题的原理与所述基于递归极深网络的超分辨图像重构方法类似,重复之处不再赘述。
如图3所示,本实施例所述的基于递归极深网络的超分辨图像重构系统,包括:
图像预处理模块,设定训练集,对所述训练集进行数据增强;
模型训练模块,利用所述训练集对已经搭建好的神经网络模型进行训练;
超分辨率重建模块,利用训练完成的神经网络模型在测试图像上进行重建。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。