本发明涉及图像和视频处理以及计算机视觉领域,具体涉及一种基于非局部增强网络的细粒度尺度图像超分辨率方法。
背景技术:
图像超分辨率是数字图像处理中的一个重要课题。在实际应用场景中,受限于图像采集设备成本、图像传输带宽,抑或是成像模型本身的技术瓶颈,所获图像往往质量受到影响,无法成为边缘锐化、无块状模糊的大尺寸高清图像。单帧图像超分辨率算法试图在不引入模糊的情况下,从一张低分辨率图像中重建出高分辨率图像,已经广泛应用在安全监控、医学成像以及卫星航空影像等方面。
早期提出的基于插值的方法,可以解决细粒度尺度上的超分辨率问题但性能有限。研究学者按照特定的退化模型,利用强大的图像先验,例如稀疏先验等,通过输入图像来估计高分辨率图像,但耗时长,且依赖统计出来的图像先验。
目前先进的方法都是基于卷积神经网络,强大的特征表示及端到端的训练过程使得卷积神经网络能够重建出高质量的高分辨率图像。但现有的大多数基于卷积神经网络的单帧图像超分辨率算法方法仅考虑某些整数尺度因子的超分辨率重建问题,且将不同尺度因子的超分辨率看作独立的任务。最新的方法一般使用亚像素卷积作为放大模块,需为每个尺度因子设计一个特定的放大模块,且只能针对整数尺度因子。
虽然基于卷积神经网络的方法在指定的几个整数尺度(例如2,3,4,以及8)上具有高效的性能,但在实际应用场景中,用户更偏向使用自定义的细粒度尺度来放大低分辨率图像。与普通图像查看器一样,用户可以通过滚动鼠标滚轮来任意放大查看的图像,以查看图像的局部细节。用于超分辨率的自定义细粒度尺度因子可以是任何正数,并且不应将其固定为某些特定整数。如果为每个正细粒度尺度因子训练一个特定的模型,则不可能在有限的内存空间中为所有细粒度尺度因子分别存储模型,并且计算效率低下。因此,提出一个能够解决细粒度尺度因子的超分辨率模型是非常必要的。
技术实现要素:
本发明的目的在于提供一种基于非局部增强网络的细粒度尺度图像超分辨率方法,该方法有利于提高在细粒度尺度因子上的超分辨率性能。
为实现上述目的,本发明的技术方案是:一种基于非局部增强网络的细粒度尺度图像超分辨率方法,包括以下步骤:
步骤a:对原始高分辨率训练图像进行预处理,得到不同尺度的低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对数据集;
步骤b:使用图像块对数据集训练非局部增强的深度网络;
步骤c:将低质量测试图像的高分辨率图像输入到深度网络进行重建,得到超分辨率结果。
进一步地,所述步骤a中,对原始高分辨率训练图像进行预处理,得到不同尺度的低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对数据集,包括以下步骤:
步骤a1:对高分辨率训练图像进行细粒度尺度的下采样预处理,得到不同尺度的低分辨率图像,尺度因子的范围是(1,4],取值间隔为0.1;
步骤a2:使用双三次插值法对低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像,使得低质量的高分辨率图像的尺寸和原始高分辨率训练图像的尺寸相同;其中双三次插值操作可通过matlab的imresize函数实现,设置scale参数为指定的尺度因子,method参数选择‘bicubic’;
步骤a3:将低质量的高分辨率图像与原始高分辨率训练图像组对,并对其进行无重叠分块,图像块大小为50×50像素,得到低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对;
步骤a4:对步骤a3中得到的图像块对进行旋转和翻转,得到用于训练的图像块对数据集。其中,旋转角度包括顺时针旋转90°,180°,和270°,翻转包括水平翻转和垂直翻转。
进一步地,所述步骤b中,使用图像块对数据集训练非局部增强的深度网络,包括以下步骤:
步骤b1:将低质量的高分辨率/高分辨率训练图像块对随机分成若干个批次,每个批次包含n个图像块对;
步骤b2:将每个批次的图像块对分别输入到非局部增强的深度网络,所述非局部增强网络由线性整流函数控制激活的卷积层以及非局部模块构成,得到各个图像块的超分辨率预测结果;
步骤b3:根据目标损失函数loss,利用反向传播方法计算所述非局部增强网络中各参数的梯度,并利用随机梯度下降方法更新参数;
其中,目标损失函数loss定义如下:
其中,||·||1为1范数,hsr()为所述非局部增强网络模型,
步骤b4:以批次为单位重复进行上述b2和b3步骤,直至步骤b3中计算得到的l值收敛到阈值或达到迭代次数阈值,保存网络参数,完成训练过程。
进一步地,所述步骤b2中,将每个批次的图像块对分别输入到非局部增强网络,得到各个图像块的超分辨率预测结果,包括以下步骤:
步骤b21:将低质量的高分辨率图像块输入到由一层包含64个3×3大小卷积核的浅层特征提取模块,按如下公式输出图像特征:
其中,
步骤b22:将得到的浅层特征f0输入到由4个卷积层和1个softmax层组成的非局部增强模块,按如下公式输出聚合的局部信息特征:
f1=softmax(θ(f0)tφ(f0))g(f0)
f2=w(f1) f0
其中,θ(f0)=wθf0,φ(f0)=wφf0,g(f0)=wgf0,w(f1)=wwf1,分别是非局部增强模块中的4个卷积层输出的特征矩阵,而wθ、wφ以及wg分别是三个含有8个1×1大小卷积核的卷积层的权重,ww是含有64个1×1大小卷积核的卷积层的权重。softmax函数对自相关特征计算0~1范围内的注意系数,表示每个特征被关注的程度高低;注意系数与特征矩阵g(f0)相乘以获得重组特征f1,再经过w()卷积层扩展通道数为64,得到局部信息聚合残差特征,与原输入的浅层特征f0融合得到聚合的局部信息特征f2。
步骤b23:将非局部增强模块输出的聚合的局部信息特征f2输入到由g(g>2)个线性整流函数控制激活的卷积层组成的残差结构中,按如下公式输出图像特征:
f3,0=relu(w3,0f2)
f3,i 1=relu(w3,i 1f3,i),i=0,1,…,g-2
f3=f2 f3,g-1
其中,f3,i为第i 1个线性整流函数控制激活的卷积层(conv-relu-i)输出的图像特征,w3,i是第i 1个含有64个大小3×3卷积核的权重,f3为该残差结构输出的图像特征,relu()为线性整流函数,其公式如下:
其中,a表示relu函数的输入值;
步骤b24:将残差结构输出的图像特征f3输入到步骤b22所述的非局部增强模块,先后得到重组深度特征f4和深度聚合的局部信息特征f5。将f5与浅层特征f0进行融合,按如下公式输出图像特征f6:
f4=softmax(θ(f3)tφ(f3))g(f3)
f5=w(f4) f3
f6=f5 f0
步骤b25:将融合特征f6输入到由一层包含3个3×3大小卷积核的卷积层构成的重建模块,按如下公式输出超分辨率结果:
其中,
进一步地,所述步骤c中,将低质量测试图像的高分辨率图像输入到深度网络,得到超分辨率结果,包括以下步骤:
步骤c1:使用双三次插值法对低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像,使得低质量的高分辨率图像的尺寸等于目标超分辨率图像的尺寸;
步骤c2:将低质量的高分辨率图像输入到训练好的非局部增强的深度网络中,预测其超分辨率图像。
相较于现有技术,本发明及其优选方案的有益效果是:该方法首先通过使用不同尺度因子对应的低质量的高分辨率/高分辨率训练图像块对训练非局部增强的深度网络,该网络通过非局部增强模块解决传统网络对低质量的插值图像特征提取不充分的问题,且不断地进行局部信息聚合以获得更大范围的相关性信息。接着通过残差学习结构获得浅层特征与深层特征融合的信息,该方法解决了其他方法信息传输不充分的问题。最后将各经过插值的低质量的高分辨率图像输入到训练好的深度网络以获得超分辨率结果,具有较高的超分辨率性能。该超分辨率方法减轻了输入的插值图像造成的伪影影响,具有鲁棒、快速等优点,具有较高的实用价值。
附图说明
图1是本发明方法的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
本发明提供了一种基于非局部增强网络的细粒度尺度图像超分辨率方法,如图1所示,包括以下步骤:
步骤a:对原始高分辨率训练图像进行预处理,得到不同尺度的低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对数据集,具体包括以下步骤:
步骤a1:对高分辨率训练图像进行细粒度尺度的下采样预处理,得到不同尺度的低分辨率图像,尺度因子的范围是(1,4],取值间隔为0.1;
步骤a2:使用双三次插值法对低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像,使得低质量的高分辨率图像的尺寸和原始高分辨率训练图像的尺寸相同;其中双三次插值操作可通过matlab的imresize函数实现,设置scale参数为指定的尺度因子,method参数选择‘bicubic’;
步骤a3:将低质量的高分辨率图像与原始高分辨率训练图像组对,并对其进行无重叠分块,图像块大小为50×50像素,得到低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对;
步骤a4:对步骤a3中得到的图像块对进行旋转和翻转,得到用于训练的图像块对数据集。其中,旋转角度包括顺时针旋转90°,180°,和270°,翻转包括水平翻转和垂直翻转。
步骤b:使用图像块对数据集训练非局部增强的深度网络,具体包括以下步骤:
步骤b1:将低质量的高分辨率/高分辨率训练图像块对随机分成若干个批次,每个批次包含n个图像块对;
步骤b2:将每个批次的图像块对分别输入到非局部增强的深度网络,所述非局部增强网络由线性整流函数控制激活的卷积层以及非局部模块构成,得到各个图像块的超分辨率预测结果,具体包括以下步骤:
步骤b21:将低质量的高分辨率图像块输入到由一层包含64个3×3大小卷积核的浅层特征提取模块,按如下公式输出图像特征:
其中,
步骤b22:将得到的浅层特征f0输入到由4个卷积层和1个softmax层组成的非局部增强模块,按如下公式输出聚合的局部信息特征:
f1=softmax(θ(f0)tφ(f0))g(f0)
f2=w(f1) f0
其中,θ(f0)=wθf0,φ(f0)=wφf0,g(f0)=wgf0,w(f1)=wwf1,分别是非局部增强模块中的4个卷积层输出的特征矩阵,而wθ、wφ以及wg分别是三个含有8个1×1大小卷积核的卷积层的权重,ww是含有64个1×1大小卷积核的卷积层的权重。softmax函数对自相关特征计算0~1范围内的注意系数,表示每个特征被关注的程度高低;注意系数与特征矩阵g(f0)相乘以获得重组特征f1,再经过w()卷积层扩展通道数为64,得到局部信息聚合残差特征,与原输入的浅层特征f0融合得到聚合的局部信息特征f2。
步骤b23:将非局部增强模块输出的聚合的局部信息特征f2输入到由19个线性整流函数控制激活的卷积层组成的残差结构中,按如下公式输出图像特征:
f3,0=relu(w3,0f2)
f3,i 1=relu(w3,i 1f3,i),i=0,1,…,17
f3=f2 f3,18
其中,f3,i为第i 1个线性整流函数控制激活的卷积层(conv-relu-i)输出的图像特征,w3,i是第i 1个含有64个大小3×3卷积核的权重,f3为该残差结构输出的图像特征,relu()为线性整流函数,其公式如下:
其中,a表示relu函数的输入值;
步骤b24:将残差结构输出的图像特征f3输入到步骤b22所述的非局部增强模块,先后得到重组深度特征f4和深度聚合的局部信息特征f5。将f5与浅层特征f0进行融合,按如下公式输出图像特征f6:
f4=softmax(θ(f3)tφ(f3))g(f3)
f5=w(f4) f3
f6=f5 f0
步骤b25:将融合特征f6输入到由一层包含3个3×3大小卷积核的卷积层构成的重建模块,按如下公式输出超分辨率结果:
其中,
步骤b3:根据目标损失函数loss,利用反向传播方法计算所述非局部增强网络中各参数的梯度,并利用随机梯度下降方法更新参数;
其中,目标损失函数loss定义如下:
其中,||·||1为1范数,hsr()为所述非局部增强网络模型,
步骤b4:以批次为单位重复进行上述b2和b3步骤,直至步骤b3中计算得到的l值收敛到阈值或达到迭代次数阈值,保存网络参数,完成训练过程。
步骤c:将低质量测试图像的高分辨率图像输入到深度网络,得到超分辨率结果,具体包括以下步骤:
步骤c1:使用双三次插值法对低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像,使得低质量的高分辨率图像的尺寸等于目标超分辨率图像的尺寸;
步骤c2:将低质量的高分辨率图像输入到训练好的非局部增强的深度网络中,预测其超分辨率图像。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
1.一种基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于,包括以下步骤:
步骤a:对原始高分辨率训练图像进行预处理,得到不同尺度的低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对数据集;
步骤b:使用所述图像块对数据集训练非局部增强的深度网络;
步骤c:将低质量测试图像的高分辨率图像输入到所述深度网络进行重建,得到超分辨率结果。
2.根据权利要求1所述的基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于,所述步骤a具体包括以下步骤:
步骤a1:对原始高分辨率训练图像进行细粒度尺度的下采样预处理,得到不同尺度的低分辨率图像;
步骤a2:使用双三次插值法对所述低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像;所述低质量的高分辨率图像的尺寸和原始高分辨率训练图像的尺寸相同;
步骤a3:将所述低质量的高分辨率图像与原始高分辨率训练图像组对,并对其进行无重叠分块,得到低质量的高分辨率图像块和原始高分辨率训练图像块组成的图像块对;
步骤a4:对步骤a3中得到的图像块对进行旋转和翻转,得到用于训练的图像块对数据集。
3.根据权利要求2所述的基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于:在步骤a1当中,尺度因子的范围是(1,4],取值间隔为0.1;
在步骤a2当中,所述双三次插值操作通过matlab的imresize函数实现,设置scale参数为指定的尺度因子,method参数选择‘bicubic’;
在步骤a3当中,所述无重叠分块生成的图像块大小为50×50像素;
在步骤a4当中,旋转角度包括顺时针旋转90°,180°,和270°,翻转包括水平翻转和垂直翻转。
4.根据权利要求1所述的基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于:所述步骤b具体包括以下步骤:
步骤b1:将所述图像块对随机分成若干个批次,每个批次包含n个图像块对;
步骤b2:将每个批次的图像块对分别输入到非局部增强的深度网络,得到各个图像块的超分辨率预测结果;所述非局部增强网络由线性整流函数控制激活的卷积层以及非局部模块构成;
步骤b3:根据目标损失函数loss,利用反向传播方法计算所述非局部增强网络中各参数的梯度,并利用随机梯度下降方法更新参数;
其中,目标损失函数loss定义如下:
其中,||·||1为1范数,hsr()为非局部增强网络模型,
步骤b4:以批次为单位重复执行步骤b2和步骤b3,直至步骤b3中计算得到的l值收敛到阈值或达到迭代次数阈值,保存网络参数,完成训练过程。
5.根据权利要求4所述的基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于,所述步骤b2具体包括以下步骤:
步骤b21:将低质量的高分辨率图像块输入到由一层包含64个3×3大小卷积核的浅层特征提取模块,按如下公式输出图像特征:
其中,
步骤b22:将得到的浅层特征f0输入到由4个卷积层和1个softmax层组成的非局部增强模块,按如下公式输出聚合的局部信息特征:
f1=softmax(θ(f0)tφ(f0))g(f0)
f2=w(f1) f0
其中,θ(f0)=wθf0,φ(f0)=wφf0,g(f0)=wgf0,w(f1)=wwf1,分别是非局部增强模块中的4个卷积层输出的特征矩阵,wθ、wφ以及wg分别是三个含有8个1×1大小卷积核的卷积层的权重,ww是含有64个1×1大小卷积核的卷积层的权重,softmax函数对自相关特征计算0~1范围内的注意系数,表示每个特征被关注的程度高低;注意系数与特征矩阵g(f0)相乘以获得重组特征f1,再经过w()卷积层扩展通道数为64,得到局部信息聚合残差特征,与原输入的浅层特征f0融合得到聚合的局部信息特征f2;
步骤b23:将非局部增强模块输出的聚合的局部信息特征f2输入到由g个(g>2)线性整流函数控制激活的卷积层组成的残差结构中,按如下公式输出图像特征:
f3,0=relu(w3,0f2)
f3,i 1=relu(w3,i 1f3,i),i=0,1,…,g-2
f3=f2 f3,g-1
其中,f3,i为第i 1个线性整流函数控制激活的卷积层输出的图像特征,w3,i是第i 1个含有64个大小3×3卷积核的权重,f3为该残差结构输出的图像特征,relu()为线性整流函数,其公式如下:
其中,a表示relu函数的输入值;
步骤b24:将残差结构输出的图像特征f3输入到步骤b22所述的非局部增强模块,先后得到重组深度特征f4和深度聚合的局部信息特征f5,将f5与浅层特征f0进行融合,按如下公式输出图像特征f6:
f4=softmax(θ(f3)tφ(f3))g(f3)
f5=w(f4) f3
f6=f5 f0;
步骤b25:将融合特征f6输入到由一层包含3个3×3大小卷积核的卷积层构成的重建模块,按如下公式输出超分辨率结果:
其中,
6.根据权利要求1所述的基于非局部增强网络的细粒度尺度图像超分辨率方法,其特征在于,所述步骤c具体包括以下步骤:
步骤c1:使用双三次插值法对低分辨率图像进行初步超分辨率重建,得到低质量的高分辨率图像,所述低质量的高分辨率图像的尺寸等于目标超分辨率图像的尺寸;
步骤c2:将低质量的高分辨率图像输入到训练好的非局部增强的深度网络中,预测其超分辨率图像。
技术总结