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

文档序号:10697896阅读:489来源:国知局
一种对图像进行超分辨的方法
【专利摘要】本发明涉及一种对图像进行超分辨的方法,属于计算机视觉领域。所述方法包括,A1:数据预处理:由一定数量的高分辨率自然图像构成数据集,从数据集中提取一定数量的图像小块,对图像小块进行3倍比例的Bicubic(双三次插值)下采样与上采样,从而得到分辨率较低的图像。A2:网络结构的设计,所设计的卷积神经网络总共有4层。A3:超参数的选取:主要确定网络学习速率,学习动量,batch_size等参数。A4:网络训练并优化超参数:对训练集内的所有图片,训练从低分辨率图像到对应高分辨率图像的卷积神经网络。训练好的网络,输入任意一张图像之后就可以获取高分辨率图像,从而实现图像的超分辨。
【专利说明】
-种对图像进行超分辨的方法
技术领域
[0001] 本发明设及计算机视觉领域,特别设及一种对单幅图像进行超分辨的方法。
【背景技术】
[0002] 图像的超分辨率就是将低分辨率的图像经过一定的算法提升到高分辨率。而高分 辨率图像具有更高的像素密度,更多的细节信息,更细腻的画质。获得高分辨率图像最直接 的办法就是采用高分辨率的相机,但在实际应用过程中,受成本和工艺等的限制,大部分场 合都不会采用高分辨、超分辨率的相机来进行图像信号的采集。因此,通过一定的算法来获 取超分辨率的图像有很大的应用需求。目前用于超分辨的技术大致有:(1)基于插值的方 法;(2)基于模型的方法;(3)基于学习的方法。而基于学习的方法基本思路是借助训练样本 来计算得到高分辨率、低分辨率之间的先验知识,并建立两者之间的映射模型。目前基于学 习的方法效果上是最好的。现有技术主要停留在科学研究领域,并不考虑工程实用性,虽然 有些超分辨方法可达到较好的效果,但其速度达不到实用要求。
[0003] 因而,有必要在运种方法的基础上进行深入改进,从而达到尽可是能最佳的超分 辨效果并且提升应用时的速度。

【发明内容】

[0004] 本发明的目的在于提供一种对图像进行超分辨的方法。
[0005] 为此,本发明提出的一种对图像进行超分辨的方法,包括如下步骤:A1、数据预处 理:从一组较高分辨率图像中通过采样方法得到一组较低分辨率图像;A2、设计卷积神经网 络:在步骤A1同时或之前或之后,设计并实现一个卷积神经网络;A3、卷积神经网络的初步 训练及超参数的选取:随机选取部分低分辨率图片,对卷积神经网络进行训练,得到超参 数;A4、卷积神经网络的进一步训练:对训练集内的所有图片,训练从低分辨率图像到对应 高分辨率图像的卷积神经网络,获得卷积神经网络全部各层的滤波器W1、W2、……Wn和偏置 参数和B1、B2、……化,其中η表示层数;A5、利用训练好的卷积神经网络,输入一张普通分辨 率的图片就可W输出一张高分辨率的图片,从而实现图像的超分辨。
[0006] 本发明的优点在于:本发明通过多层卷积神经网络把模型进行了很多压缩,直接 对低分辨率到高分辨率图像进行端对端的学习,从而达到了很快的速度与很好的效果。通 过实验证实,本发明的方法相对于传统的方法有较大提升,并且在网络训练完后,应用时速 度很快。
【附图说明】
[0007] 图1是本发明实施例得到卷积神经网络的流程示意图。
[000引图2是本发明实施例卷积神经网络超参数的选取流程示意图。
[0009]图3Α、3Β是本发明所提出的方法的网络应用示意图,其中图3Α是应用流程,图3Β是 与图3Α相对应的形象化图示。
【具体实施方式】
[0010] 图1是本发明实施例的流程示意图。
[0011] 下面详述其处理步骤如下:
[0012] A1.数据预处理:(图中10U102)
[0013] 首先得到由一定数量图片组成的数据集,然后对数据集中的图片进行3倍比例的 Bicubic(双Ξ次插值)下采样,再进行Bicubic上采样,从而得到分辨率较低的图像。再对低 分辨率的图像取33*33的图像小块,运样100张512*512的图片就可W得到大约50万张训练 集图片。我们取其中20%组成测试集来对网络的最后性能进行测试,10%作为验证集,主要 用来选取网络的超参数。
[0014] A2.卷积神经网络网络的设计(图1中103),本实施例中,卷积神经网络总共有4层:
[0015] (1)第一层卷积主要是特征提取与表示,其数学描述为:
[0016] Fi(Y)=max(0,Wi 巧+Bi)
[0017] Wi和Bi分别代表滤波器和偏置,*代表卷积操作,运里Wi相对应于64个3*9*9的滤波 器,3代表通道数,9*9代表滤波器的大小。直观一点讲就是Wi应用64个卷积层到图像,然后 每个卷积核的大小是3*9*9,Bi是一个64维的向量,其值与滤波器的值相对应。输出是64张 特征图,之后再对输出图像的每个像素应用修正非线性单元(Rectified Linear化it=: max(0,x))进行非线性变换。
[0018] (2)第二层:对于每一个低分辨率图像,第一层抽取一个64维的特征图。然后第二 步我们对于每个64维的向量,找到对应于32维向量的映射。运就相当于使用32个1*1的滤波 器。可W用数学描述为:
[0019] F2(Y)=max(0,W2 冲 i(Y)+B2)
[0020] W2包含32个大小为3*1*1的滤波器,B2是一个32维的向量。运层的每一个输出都代 表一个高分辨率的图像小块用来为后面的高分辨重建做准备。
[0021] (3)第Ξ层:之后我们又加入1个1*1的卷积模板:
[0022] F3(Y)=W3 冲 2(Y)+B3
[0023] 化包含1个1x1的矩阵(卷积模板),B3为1个偏置(常数)
[0024] (4)传统的方法通过预测重叠的高分辨率小块求均值来产生最后的高分辨率图 像,受此启发我们又加了一个卷积层来得到最后高分辨率的图像:
[0025] f(Y)=W4 冲 3(Y)+B4
[0026] W4包含1个5巧的卷积模板巧巧的矩阵),B3为其对应的偏置。
[0027] A3.网络的初步训练及超参数的选取(图1中104-108):
[0028] 主要对网络的学习速率W及每次训练的样本数进行筛选,使网络可W更快的进行 训练。首先我们随机选1000张图片,把其输入网络,观察优化函数C的变化(优化函数的说明 见下面A4),直到找到一个学习速率阔值!!(也就是在此学习速率上优化函数既不上升也不 下降),然后学习速率就取为此值的一半(临近阔值容易引起不稳定,太小又会导致收敛速 度慢),运里我们使用0.001,并且此时的迭代次数即取为训练迭代次数e。每次进入网络训 练的图片数batch_size太多会导致训练很慢,太少又不能很好的利用现代计算机的优点, 其选择原则为使网络在验证集上的准确率更高为标准,运里我们选择64。如图2所示。
[0029] 迭代次数主要看网络在其没有见过的数据(测试集)上的表现,我们会定时对网络 进行测试,网络会一直训练直至其在测试集上的表现不再上升。
[0030] "batch_size"为每次训练网络时输入训练数据集的多少,理论上讲batch_size越 大越好,但其实现实中,batch_size越小,随机性越强,可W使网络探索更多的"空间",目前 其选择主要看服务器内存大小。
[0031] A4.网络的进一步训练(继续运行图1中104-108):对训练集内的所有图片,训练从 低分辨率图像到对应高分辨率图像的卷积神经网络。
[0032] 首先,学习运样一个端对端的神经网络需要估计参数Θ = {Wi,化,W3,W4,Bi,B2,B3, B4}的值。我们通过最小化经过卷积神经网络重建后的图像与相应的高分辨率图像之间的 差值来估计运些参数。(其中胖1,胖2,胖3,胖4,81,82,83,84都是上面步骤42中提到过)。
[0033] (1)我们选择最小平方误差为我们的优化函数:
[0034]
[0035] 其中η为训练数据集的数量,y为高分辨率图像上像素的值,a为低分辨率图像经过 网络后相应位置上的像素值。
[0036] (2)通过对优化函数连续求偏导数我们得到:
[0037]
[0038] 其中δ与Z是为方便计算而引入的媒介值,而〇(x)=max(0,x)
[0039] 继而得到:
[0043] 来连接每层之间的关系。1代表第1层。
[0044] 从而又有:
[0045]
[0046] 来计算出优化函数对于每一个权值W及偏置的偏导数。
[0047] 最后:
[0051] 此公式中,0.9为学习动量值,其作用为加速神经网络的学习。比如在更新当前权 值时,如果对于此权值,前几次更新如果目标函数对于此权值的梯度均是同样的方向(增加 或减小)。那么学习动量就可W让其加速向运个方向变化。
[0052] 从而不断地更新权值,直到最后10次迭代优化函数没有再下降就停止训练。此时 卷积神经网络的参数Θ = {Wi,W2,化,W4,Bi,化,B3,B4}的值就是我们需要的值。
[0053] 训练好的网络就可W直接拿来使用,输入一张普通分辨率的图片就可W输出一张 高分辨率的图片。如图3B所示是输入一副图像得到超分辨图像的示例,取得了较好的超分 辨效果。
[0054] W上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效装置或等效方法变换,或直接或间接运用在其他相关的技 术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种对图像进行超分辨的方法,其特征在于包括如下步骤: A1、数据预处理:从一组较高分辨率图像中通过采样方法得到一组较低分辨率图像; A2、设计卷积神经网络:在步骤A1同时或之前或之后,设计并实现一个卷积神经网络; A3、卷积神经网络的初步训练及超参数的选取:随机选取部分低分辨率图片,对卷积神 经网络进行训练,得到超参数; A4、卷积神经网络的进一步训练:对训练集内的所有图片,训练从低分辨率图像到对应 高分辨率图像的卷积神经网络,获得卷积神经网络全部各层的滤波器W1、W2、……Wn和偏置 参数和B1、B2、......Bn,其中η表示层数; Α5、利用训练好的卷积神经网络,输入一张普通分辨率的图片就可以输出一张高分辨 率的图片,从而实现图像的超分辨。2. 如权利要求1所述的对图像进行超分辨的方法,其特征在于:步骤Α1中的采样方法是 进行3倍比例的Bicubic下采样。3. 如权利要求2所述的对图像进行超分辨的方法,其特征在于:所述Bicubic下采样是3 倍比例的Bicubic下采样;并且在下采样之后还进行Bicubic上采样。4. 如权利要求1所述的对图像进行超分辨的方法,其特征在于:步骤A2中卷积神经网络 包括第一层:特征提取与表示层,其数学描述为: Fi(Y) =max(0 ,ffi*Y+Bi) WdPBi分别代表滤波器和偏置,*代表卷积操作。5. 如权利要求1所述的对图像进行超分辨的方法,其特征在于:步骤A2中卷积神经网络 还包括第二层,其每一个输出都代表一个高分辨率的图像小块用来为后面的高分辨重建做 准备,用数学描述为: F2(Y)=max(0,W2*Fi(Y)+B2) W2包含32个大小为3*1*1的滤波器,B2是一个32维的向量。6. 如权利要求1所述的对图像进行超分辨的方法,其特征是:步骤A2中卷积神经网络还 包括第三层:一个1个1*1的卷积模板: F3(Y)=ff3*F2(Y)+B3 W3包含1个1X1的矩阵,为卷积模板,B3为1个偏置,为常数。7. 如权利要求1所述的对图像进行超分辨的方法,其特征是:步骤A2中卷积神经网络还 包括第四层:一个卷积层,用来得到最后高分辨率的图像: F(Y)=ff4*F3(Y)+B4 W4包含1个5*5的卷积模板(5*5的矩阵),B3为其对应的偏置。8. 如权利要求1所述的对图像进行超分辨的方法,其特征是:步骤A3中所述超参数包 括:学习速率阈值q、训练迭代次数e、每次进入网络训练的图片数batch_si ze。9. 如权利要求1所述的对图像进行超分辨的方法,其特征是:步骤A4中,通过最小化经 过卷积神经网络重建后的图像与相应的高分辨率图像之间的差值来估计参数Θ = {Wi,W2, 抑,14,81,82,83,84};其具体做法是不断地更新权值,直到最后连续一定次数迭代优化函数 没有再下降就停止训练,此时卷积神经网络的参数Θ = {Wi,W2,W3 ,B2,B 3,B4}的值就是 我们需要的值。10. 如权利要求1所述的对图像进行超分辨的方法,其特征是:步骤A3和A4中,用最小平 方误差为我们的优化函数:其中η为训练数据集的数量,y为高分辨率图像上像素的值,a为低分辨率图像经过网络 后相应位置上的像素值。
【文档编号】G06T3/40GK106067161SQ201610349187
【公开日】2016年11月2日
【申请日】2016年5月24日 公开号201610349187.5, CN 106067161 A, CN 106067161A, CN 201610349187, CN-A-106067161, CN106067161 A, CN106067161A, CN201610349187, CN201610349187.5
【发明人】王好谦, 安王鹏, 王兴政, 张永兵, 李莉华, 戴琼海
【申请人】深圳市未来媒体技术研究院, 清华大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1