pythonb超分辨成像_一种单张图像超分辨的方法与流程

本发明涉及计算机视觉以及数字图像处理领域,尤其涉及单张图像超分辨的方法。

背景技术:

单张图像超分辨率重构技术是指利用计算机将一幅低分辨率图像进行处理,恢复出高分辨率图像的一种图像处理技术,一直是计算机视觉领域中一个很热门的方向。高分辨率意味着图像具有高像素密度,可以提供更多的细节,这些细节往往在应用中起到关键作用。因此广泛应用于视频监控、目标检测、人脸识别、自动驾驶等领域中。

由于高低分辨率图像信息的不对称性,这是一个典型的不适定问题,即一张低分辨图像往往对应着无数的高分辨率解。在当前的超分辨算法中,不论是传统算法还是深度学习模型,大多都是假设低分辨率图像是由一张高分辨率图像经由一个已知的模糊核(如高斯模糊,双三次插值等)下采样得到的,再从低分辨图像反解出高分辨图像。

基于单幅图像的超分辨算法主要分为两个方向:一种基于传统算法的图像内部插值超分辨和外部样本字典学习超分辨,通过加入各类正则约束提高算法效果;另一种则是基于深度学习的图像超分辨,通过神经网络学习低分辨图像到高分辨图像的映射。基于深度学习的图像超分辨技术达到了目前最好的性能。

基于深度学习的方法主要指由机器学习引入的稀疏字典学习方法,首先通过高分辨率图像集合经过某种退化模型得到其对应的低分辨率图像集,二者共同作为训练集进行训练,学习可以描述图像特征的字典,并通过字典的映射来重构高分辨率图像。这种方法的优点是恢复效果较好,但生成字典的映射质量严重依赖训练集的数量和质量,并且计算量很大,处理效率偏低。

图像质量评价指标是评价超分辨图像质量的重要组成部分,其主要分为客观评价和主观评价两类,其中常用的客观评价指标包括均方差(mse)、峰值信噪比(psnr)和结构相似性指数(ssim),但是客观评价指标往往不能真实地反映人类的主观视觉效果。主观评价主要靠通过人工打分取均值等方法,此类方法能有效地反应视觉效果质量,但是由于主观感觉的不同,评价结果往往因人而异。

以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日前已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。

技术实现要素:

本发明的主要目的在于提出一种单张图像超分辨的方法,通过引入saak变换来约束图像在深度网络中训练的过程,以期恢复图像的高频纹理细节信息,使超分辨得到的图像细节更加生动,更符合人眼视觉感受。

本发明为达上述目的提出以下技术方案:

一种单张图像超分辨的方法,包括以下步骤:

s1、对单张低分辨率图像进行上采样,得到图像p1;

s2、将p1作为深度学习网络vdsr的输入,输出高分辨率图像p2;

s3、用变换核t1对p1进行saak变换,得到p1的2n2张saak特征图;用变换核t2对p2进行saak变换,得到p2的2n2张saak特征图;其中,变换核t1由p1计算得到,变换核t2由p2计算得到;saak变换的变换核滑动窗口大小为n×n,n为自然数;

s4、从p1的2n2张saak特征图中选择前m张saak特征图作为训练集,用反向传播算法训练得到一卷积神经网络,并将所述前m张saak特征图作为该卷积神经网络的输入,输出p1的m张特征图;其中1≤m≤n2;

s5、从p2的2n2张saak特征图中选择后2n2-m张saak特征图,与步骤s4中卷积神经网络输出的p1的m张特征图组合成2n2张图,进行saak反变换得到高分辨率图像p3;

s6、将p2与p3进行融合,得到最终的高分辨率图像p4。

更进一步地,步骤s1中采用双三次插值法、最近邻插值法或者双线性插值法进行上采样。

更进一步地,步骤s2中深度学习网络vdsr的损失函数l为:

其中,n为每次迭代中批处理的图片张数,xi为输入的图片,sr(xi)表示深度学习网络vdsr输出的图像,yi为输入的图片xi所对应的标签,w为损失函数的权重,saak(sr(xi))表示sr(xi)的saak变换结果,saak(yi)表示yi的saak变换结果。

更进一步地,深度学习网络vdsr训练时选择20层的网络结构,批处理大小设置为64,动量参数设置为0.9,权重衰减参数设置为0.0001。

更进一步地,步骤s3中利用p1计算变换核t1具体包括:对p1的向量矩阵做卡尔胡宁-勒夫变换,得到对应的协方差矩阵;对所述协方差矩阵中的每个向量取相反向量,并与所述协方差矩阵组合在一起形成新的矩阵;对所述新的矩阵中的每个向量应用非线性单元进行过滤,即得到变换核t1;用p2计算变换核t2的方式同用p1计算变换核t1的方式。

更进一步地,步骤s4中训练所述卷积神经网络时,批处理大小设为4,亚当优化器的动量参数设置为0.9,初始学习速率设为10-4,训练经过40000次迭代后学习速率设为10-5。

更进一步地,步骤s5中saak反变换的过程是利用变换核t1与组合得到的2n2张图进行反卷积。

更进一步地,步骤s6中采用加权平均对p2和p3进行融合。

与现有技术相比,本发明的有益效果在于:现有的使用深度学习方法进行图像超分辨的技术都是采用逐像素的l_2距离作为损失函数,而没有考虑到图像的结构化信息,所有的局部区域都是同样处理的。而本发明将深度学习与saak变换进行结合,利用saak变换对不同频率信息的集中,在网络学习中约束图像中高频谱带信息,以恢复图像的结构化信息和边缘信息,使得最终生成的高分辨图像更加细腻锐化,更加符合人眼视觉效果。

附图说明

图1是本发明一具体实施例的单张图像超分辨方法原理图。

具体实施方式

下面结合附图和具体的实施方式对本发明作进一步说明。应当理解的是,在涉及图像超分辨的技术领域,所谓的低分辨率图像、高分辨率图像只是相对概念,并非对分辨率进行具体数值划分后的定义,不属于审查指南中所认定的含义不确定的用语。

本发明的具体实施方式提出一种单张图像超分辨的方法,参考图1,该方法包括如下步骤s1至s6:

步骤s1、对单张低分辨率图像(记为p0)利用诸如双三次插值法、最近邻插值法或者双线性插值法等进行上采样,得到图像p1;图像p1相对于图像p0分辨率更高。

步骤s2、将p1作为深度学习网络vdsr的输入,输出高分辨率图像p2。此处vdsr全称verydeepconvolutionalnetworkssuperresolution,即非常深的深度卷积超分辨网络,在本步骤中使用时已经过训练,所用的损失函数为:

其中,n为每次迭代中批处理的图片张数,xi为输入的图片,sr(xi)表示深度学习网络vdsr输出的图像,yi为输入的图片xi所对应的标签,w为损失函数的权重,saak(sr(xi))表示sr(xi)的saak变换结果,saak(yi)表示yi的saak变换结果。训练时选择20层的网络结构,批处理大小设置为64,动量参数设置为0.9,权重衰减参数设置为0.0001,vdsr使用反向梯度传播算法进行训练,经过40000次迭代,网络的学习率开始改变,在nvidiateslak80gpu的硬件条件下,经过1天时间,损失函数曲线不再下降,网络收敛,训练完成。

步骤s3、分别对前述得到的图像p1、p2做saak变换,saak即subspaceapproximationwithaugmentedkernels,增广核子空间近似。其中,用变换核t1对p1进行saak变换,得到p1的2n2张saak特征图;用变换核t2对p2进行saak变换,得到p2的2n2张saak特征图。变换核t1由p1计算得到,变换核t2由p2计算得到;saak变换的变换核滑动窗口大小为n×n,n为自然数。

变换核的计算过程具体如下:

对p1的向量矩阵做卡尔胡宁-勒夫变换,得到对应的协方差矩阵;对所述协方差矩阵中的每个向量取相反向量,并与所述协方差矩阵组合在一起形成新的矩阵;对所述新的矩阵中的每个向量应用非线性单元进行过滤,即得到变换核t1。用p2计算变换核t2的方式同理,不再赘述。

所得的变换核中的向量都是相互正交的,其构成的正交基能使图片的高维表示向量在正交基扩展的空间有唯一表示,且在此低维空间中图片信息的损失是最少的。

在得到变换核的情况下,对图像实施saak变换的具体操作过程为公知技术,即利用变换核与待变换的图像进行滑动卷积操作即可得到saak特征图,详细的操作过程在此不再赘述。变换时若滑动窗口(即卷积核)大小设为n×n,则一张图像经过一次saak变换后可得到对应的2n2张saak特征图,其中包含前2n2-1张聚集了不同频谱能量的交流分量图和最后一张直流分量图,而图像的块结构信息通常主要集中在前一半交流分量图中,即中、高频谱带。在本发明的一优选实施例中,选择n=2,即图1所示的例子,这样p1、p2可以分别得到对应的8张saak特征图。

步骤s4、从p1的2n2张saak特征图中选择前m张saak特征图作为训练集,用反向传播算法训练一卷积神经网络,并将所述前m张saak特征图作为该卷积神经网络的输入,输出p1的m张特征图。正如前述所说,由于图像的块结构信息通常就集中在前一半交流分量图中,因此m的取值优选设为1≤m≤n2。在图1所示的优选实施例中,则从p1的8张saak特征图中选择前3张用来训练cnn,并将这3张作为cnn的输入后输出对应的3张特征图。

步骤s4中所用的卷积神经网络cnn具体可以采用vdsr网络,训练时,所用的损失函数同式(1),批处理大小设为4,亚当优化器的动量参数设置为0.9,初始学习速率设为10-4,训练经过40000次迭代后学习速率开始改变,设为10-5,在nvidiateslak80gpu的硬件条件下,时间大概为1天。

步骤s5、从p2的2n2张saak特征图中选择后2n2-m张saak特征图,与步骤s4中卷积神经网络输出的p1的m张特征图组合成2n2张图,进行saak反变换后得到侧重于局部纹理细节的高分辨率图像p3。由于saak变换核的卷积核大小为n×n,因此saak反变换需要2n2张图像。以图1为例,cnn输出的只有3张特征图,所以此处需要选取p2的8张saak特征图中的后5张来与cnn的输出组合成8张,进行saak反变换。saak反变换采用变换核t1来与组合的这8张图进行反卷积即可,具体操作过程为本领域公知,在此不再赘述。

步骤s6、最后将vdsr网络输出的高分辨率图像p2与步骤s5得到的高分辨率图像p3进行简单快速的加权平均融合,即可得到最终的高分辨率图像p4,实现单张图像的超分辨。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值