一种对图像进行超分辨的方法技术

技术编号:13953765 阅读:46 留言:0更新日期:2016-11-02 09:52
本发明专利技术涉及一种对图像进行超分辨的方法,属于计算机视觉领域。所述方法包括,A1:数据预处理:由一定数量的高分辨率自然图像构成数据集,从数据集中提取一定数量的图像小块,对图像小块进行3倍比例的Bicubic(双三次插值)下采样与上采样,从而得到分辨率较低的图像。A2:网络结构的设计,所设计的卷积神经网络总共有4层。A3:超参数的选取:主要确定网络学习速率,学习动量,batch_size等参数。A4:网络训练并优化超参数:对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络。训练好的网络,输入任意一张图像之后就可以获取高分辨率图像,从而实现图像的超分辨。

【技术实现步骤摘要】

本专利技术涉及计算机视觉领域,特别涉及一种对单幅图像进行超分辨的方法。
技术介绍
图像的超分辨率就是将低分辨率的图像经过一定的算法提升到高分辨率。而高分辨率图像具有更高的像素密度,更多的细节信息,更细腻的画质。获得高分辨率图像最直接的办法就是采用高分辨率的相机,但在实际应用过程中,受成本和工艺等的限制,大部分场合都不会采用高分辨、超分辨率的相机来进行图像信号的采集。因此,通过一定的算法来获取超分辨率的图像有很大的应用需求。目前用于超分辨的技术大致有:(1)基于插值的方法;(2)基于模型的方法;(3)基于学习的方法。而基于学习的方法基本思路是借助训练样本来计算得到高分辨率、低分辨率之间的先验知识,并建立两者之间的映射模型。目前基于学习的方法效果上是最好的。现有技术主要停留在科学研究领域,并不考虑工程实用性,虽然有些超分辨方法可达到较好的效果,但其速度达不到实用要求。因而,有必要在这种方法的基础上进行深入改进,从而达到尽可是能最佳的超分辨效果并且提升应用时的速度。
技术实现思路
本专利技术的目的在于提供一种对图像进行超分辨的方法。为此,本专利技术提出的一种对图像进行超分辨的方法,包括如下步骤:A1、数据预处理:从一组较高分辨率图像中通过采样方法得到一组较低分辨率图像;A2、设计卷积神经网络:在步骤A1同时或之前或之后,设计并实现一个卷积神经网络;A3、卷积神经网络的初步训练及超参数的选取:随机选取部分低分辨率图片,对卷积神经网络进行训练,得到超参数;A4、卷积神经网络的进一步训练:对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络,获得卷积神经网络全部各层的滤波器W1、W2、……Wn和偏置参数和B1、B2、……Bn,其中n表示层数;A5、利用训练好的卷积神经网络,输入一张普通分辨率的图片就可以输出一张高分辨率的图片,从而实现图像的超分辨。本专利技术的优点在于:本专利技术通过多层卷积神经网络把模型进行了很多压缩,直接对低分辨率到高分辨率图像进行端对端的学习,从而达到了很快的速度与很好的效果。通过实验证实,本专利技术的方法相对于传统的方法有较大提升,并且在网络训练完后,应用时速度很快。附图说明图1是本专利技术实施例得到卷积神经网络的流程示意图。图2是本专利技术实施例卷积神经网络超参数的选取流程示意图。图3A、3B是本专利技术所提出的方法的网络应用示意图,其中图3A是应用流程,图3B是与图3A相对应的形象化图示。具体实施方式图1是本专利技术实施例的流程示意图。下面详述其处理步骤如下:A1.数据预处理:(图中101、102)首先得到由一定数量图片组成的数据集,然后对数据集中的图片进行3倍比例的Bicubic(双三次插值)下采样,再进行Bicubic上采样,从而得到分辨率较低的图像。再对低分辨率的图像取33*33的图像小块,这样100张512*512的图片就可以得到大约50万张训练集图片。我们取其中20%组成测试集来对网络的最后性能进行测试,10%作为验证集,主要用来选取网络的超参数。A2.卷积神经网络网络的设计(图1中103),本实施例中,卷积神经网络总共有4层:(1)第一层卷积主要是特征提取与表示,其数学描述为:F1(Y)=max(0,W1*Y+B1)W1和B1分别代表滤波器和偏置,*代表卷积操作,这里W1相对应于64个3*9*9的滤波器,3代表通道数,9*9代表滤波器的大小。直观一点讲就是W1应用64个卷积层到图像,然后每个卷积核的大小是3*9*9,B1是一个64维的向量,其值与滤波器的值相对应。输出是64张特征图,之后再对输出图像的每个像素应用修正非线性单元(Rectified Linear Unit=:max(0,x))进行非线性变换。(2)第二层:对于每一个低分辨率图像,第一层抽取一个64维的特征图。然后第二步我们对于每个64维的向量,找到对应于32维向量的映射。这就相当于使用32个1*1的滤波器。可以用数学描述为:F2(Y)=max(0,W2*F1(Y)+B2)W2包含32个大小为3*1*1的滤波器,B2是一个32维的向量。这层的每一个输出都代表一个高分辨率的图像小块用来为后面的高分辨重建做准备。(3)第三层:之后我们又加入1个1*1的卷积模板:F3(Y)=W3*F2(Y)+B3W3包含1个1x1的矩阵(卷积模板),B3为1个偏置(常数)(4)传统的方法通过预测重叠的高分辨率小块求均值来产生最后的高分辨率图像,受此启发我们又加了一个卷积层来得到最后高分辨率的图像:F(Y)=W4*F3(Y)+B4W4包含1个5*5的卷积模板(5*5的矩阵),B3为其对应的偏置。A3.网络的初步训练及超参数的选取(图1中104‐108):主要对网络的学习速率以及每次训练的样本数进行筛选,使网络可以更快的进行训练。首先我们随机选1000张图片,把其输入网络,观察优化函数C的变化(优化函数的说明见下面A4),直到找到一个学习速率阈值η(也就是在此学习速率上优化函数既不上升也不下降),然后学习速率就取为此值的一半(临近阈值容易引起不稳定,太小又会导致收敛速度慢),这里我们使用0.001,并且此时的迭代次数即取为训练迭代次数e。每次进入网络训练的图片数batch_size太多会导致训练很慢,太少又不能很好的利用现代计算机的优点,其选择原则为使网络在验证集上的准确率更高为标准,这里我们选择64。如图2所示。迭代次数主要看网络在其没有见过的数据(测试集)上的表现,我们会定时对网络进行测试,网络会一直训练直至其在测试集上的表现不再上升。“batch_size”为每次训练网络时输入训练数据集的多少,理论上讲batch_size越大越好,但其实现实中,batch_size越小,随机性越强,可以使网络探索更多的”空间“,目前其选择主要看服务器内存大小。A4.网络的进一步训练(继续运行图1中104‐108):对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络。首先,学习这样一个端对端的神经网络需要估计参数Θ={W1,W2,W3,W4,B1,B2,B3,B4本文档来自技高网...

【技术保护点】
一种对图像进行超分辨的方法,其特征在于包括如下步骤:A1、数据预处理:从一组较高分辨率图像中通过采样方法得到一组较低分辨率图像;A2、设计卷积神经网络:在步骤A1同时或之前或之后,设计并实现一个卷积神经网络;A3、卷积神经网络的初步训练及超参数的选取:随机选取部分低分辨率图片,对卷积神经网络进行训练,得到超参数;A4、卷积神经网络的进一步训练:对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络,获得卷积神经网络全部各层的滤波器W1、W2、……Wn和偏置参数和B1、B2、……Bn,其中n表示层数;A5、利用训练好的卷积神经网络,输入一张普通分辨率的图片就可以输出一张高分辨率的图片,从而实现图像的超分辨。

【技术特征摘要】
1.一种对图像进行超分辨的方法,其特征在于包括如下步骤:A1、数据预处理:从一组较高分辨率图像中通过采样方法得到一组较低分辨率图像;A2、设计卷积神经网络:在步骤A1同时或之前或之后,设计并实现一个卷积神经网络;A3、卷积神经网络的初步训练及超参数的选取:随机选取部分低分辨率图片,对卷积神经网络进行训练,得到超参数;A4、卷积神经网络的进一步训练:对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络,获得卷积神经网络全部各层的滤波器W1、W2、……Wn和偏置参数和B1、B2、……Bn,其中n表示层数;A5、利用训练好的卷积神经网络,输入一张普通分辨率的图片就可以输出一张高分辨率的图片,从而实现图像的超分辨。2.如权利要求1所述的对图像进行超分辨的方法,其特征在于:步骤A1中的采样方法是进行3倍比例的Bicubic下采样。3.如权利要求2所述的对图像进行超分辨的方法,其特征在于:所述Bicubic下采样是3倍比例的Bicubic下采样;并且在下采样之后还进行Bicubic上采样。4.如权利要求1所述的对图像进行超分辨的方法,其特征在于:步骤A2中卷积神经网络包括第一层:特征提取与表示层,其数学描述为:F1(Y)=max(0,W1*Y+B1)W1和B1分别代表滤波器和偏置,...

【专利技术属性】
技术研发人员:王好谦安王鹏王兴政张永兵李莉华戴琼海
申请(专利权)人:深圳市未来媒体技术研究院清华大学深圳研究生院
类型:发明
国别省市:广东;44

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

1