一种优化稀疏系数的单幅图像超分辨率方法

著录项
  • CN201910835991.8
  • 20190829
  • CN110619603A
  • 20191227
  • 浙江师范大学
  • 端木春江;雷一
  • G06T3/40
  • G06T3/40 G06K9/62 G06N3/04 G06N3/08

  • 浙江省金华市迎宾大道688号
  • 浙江(33)
摘要
单幅图像的超分辨率方法可以仅靠一幅低分辨率的图像,获得一幅高分辨率的图像。在传统的方法中,高、低分辨率图像特征块的稀疏表示系数一般被假设为相同的。本发明发现,这个假设的处理方法会降低超分辨率方法的性能。本发明提出了一种基于神经网络求取高分辨率稀疏表示系数的方法。同时,提出了一种模拟商场抓娃娃游戏过程的聚类方法,在此方法中所聚合的类具有同样的数据点数,而不像K?means方法中,有的类数据较多,有的类数据较少,出现数据过拟合和欠拟合的情况,降低了超分辨率的性能。本发明也提出了一种超分辨率中新的对图像块特征提取的方法。实验结果表明,与传统方法相比,所提出的方法放大的图像具有更好的质量。
权利要求

1.本发明提出了一种新的图像超分辨率的方法,其包括离线的训练过程和在线的对图像放大的过程,利用其在线过程和离线过程所存储的训练结果,可以仅根据一幅低分辨率的图像,获得一幅高分辨率的图像,其离线的训练过程包括以下所述的步骤A1到A10,其在线的超分辨率放大的过程包括以下所述的步骤B1到B10;

由于对于离线的训练阶段和在线的训练阶段都需要进行图像块的特征提取,所以在这里先阐述在本发明中对输入图像块Bin产生输出图像块输出矢量fout的步骤C1:

C1)输入:图像块Bin,输出:图像块Bin的输出特征矢量fout,输入图像块Bin,大小为w×h,对图像块Bin进行DCT变换,得到和Bin同样大小的DCT系数块BDCT,对图像块Bin进行一阶水平梯度的运算,可以得到大小为(w-1)×h的块Bh,对图像块Bin进行一阶垂直梯度的运算,可以得到大小为w×(h-1)的块Bv,对图像块Bin进行二阶的Laplace算子的运算,可以得到大小为(w-1)×(h-1)的块BLaplace,然后,对图像块Bin进行矢量化操作,按照从上到下,从左到右的顺序把其中的元素放到矢量fin中,即Bin中的元素Bin(i,j)为矢量fin中的第w*(i-1)+j个元素,fin的大小为(w*h)×1;对块BDCT进行矢量化操作,可以得到矢量fDCT,大小为(w*h)×1;对块Bh进行矢量化操作得到矢量fh,大小为((w-1)*h)×1;对块Bv进行矢量化操作得到矢量fv,大小为(w*(h-1))×1;对块BLaplace进行矢量化操作得到矢量fLaplace,大小为((w-2)*(h-2))×1;把得到的矢量进行叠加工作,得到矢量fout=[(fin)T,(fDCT)T,(fh)T,(fv)T,(fLaplace)T]T,其中fT为矢量f的转置运算;

离线的训练过程的输入为大量的高分辨率的图像,输出为主成分分析法获得的变换矩阵Tl1和Tl2,低分率图像特征矢量的各类别的中心的位置矢量,每个类别训练好的神经网络,即这个神经网络中各参数都优化地确定了其数值,然后,存储输出信息供在线超分辨率放大过程使用,此过程的步骤为:

A1)从训练图像集中的每一幅高分辨率图像fih(x,y),提取其对应的低分辨率的图像fil(x,y),这里,采用卷积和下采样的操作得到低分辨率的图像,以模拟从高分辨率图像退化到低分辨率图像的过程,其卷积模板为截断的高斯函数:

其模板大小为m1×m1,在本发明中m1=6,w为所有模板元素累加之和,即对高分辨率的图像执行以下操作

其中,sw是水平方向要放大的倍数,sh是垂直方向要放大的倍数,符号“↓”表示下采样;

A2)对得到的高分辨率图像和低分辨率图像进行分块操作,每个低分辨率图像块的大小为wl×hl,相邻的低分辨率的图像块之间的重叠区域的大小为ol×hl,则所对应的高分辨率图像块的大小为(wl*sw)×(hl*sh),这样,可以得到很多低分辨率的图像块imlow和所对应的高分辨率图像块imhigh;

A3)对所有低分辨率的图像块imlow进行特征提取的操作,把图像块imlow作为以上阐述的步骤C1中的输入,可以得到输出矢量fout1,由于矢量fout1的维数太大,不便于处理,采用主成分分析法,即principle component analysis method,对fout1进行降维,得到主成分分析法中的变换矩阵Tl1,并输出特征矢量flow1,在本发明中flow1的维数为fout1维数的1/10,存储这个变换矩阵Tl1,供在线过程使用;

A4)对所有低分辨率的图像块iml进行双三次的插值的放大,放大倍数为sw×sh,得到图像块imm,把图像块imm作为以上阐述的步骤C1中的输入,可以得到输出特征矢量fout2,然后对fout2采用主成分分析方法进行降维,得到变换矩阵Tl2,并输出特征矢量flow2,在本发明中flow2的维数为fout2维数的1/20,存储这个变换矩阵Tl2,供在线过程使用;

A5)把矢量flow1和flow2进行矢量叠加,得到低分辨率块特征矢量flow,即flow=[(flow1)T,(flow2)T]T;

A6)对高分辨率的图像块imhigh进行特征提取的操作,把图像块imhigh作为以上阐述的步骤C1中的输入,可以得到输出矢量fho,然后对矢量fho进行主成分分析降维,得到输出特征矢量fhigh,和变换矩阵Th,在本发明中fhigh的维数为fho维数的1/10;

A7)根据所提出的“抓娃娃”的方法,对所有图像块特征矢量flow进行聚类操作,在完成聚类之后,存储所有的类别的中心点的位置,以供在线的超分辨率放大的过程使用;

A8)对每一类中的数据,训练能稀疏表示其中数据的低分辨率的字典和高分辨率的字典,对于第c*类,将使用压缩感知中的最优匹配跟踪法,即optimal matching pursuit方法,来求取其低分辨率的字典Dl(c*)和高分辨率的字典Dh(c*);

A9)对每一类中的数据,确定其低分辨率的稀疏表示的系数、和高分辨率的稀疏表示的系数,以利用这些系数训练这一类的神经网络,其中,对于第c*类,利用K-SVD(K-奇异值分解)方法来求解以下优化问题,得到低分辨率块的稀疏表示系数

其中flow(c*,m)为第c*类当中的第m个低分辨率块的特征矢量,其获取方法如以上特征提取部分A5步骤所述,||x||n为矢量x的n范数,λl1表示拉格朗日乘子参数,本发明中根据实验优化地设置λl1=0.5,α为需要最小化式(12)中目标函数的变量,αl(c*,m)是求解的结果,类似地,利用K-SVD方法求解如下目标函数,得到对应的高分辨率块的稀疏表示系数

其中fhigh(c*,m)为第c*类当中的第m个高分辨率块的特征矢量,其获取方法如以上特征提取部分A6步骤所述,λh1表示拉格朗日乘子参数,本发明中根据实验优化的设置λh1=0.5,α为需要最小化式(13)中目标函数而求解的变量,αh(c*,m)是求解的结果;

A10)利用每一类的稀疏表示的系数,优化这一类的描述低分辨率稀疏系数和高分辨率稀疏系数之间关系的神经网络中的参数,并存储这个神经网络的参数,以供在线超分辨率放大的过程使用;

在所提出的方法中对每个类c*,将建立一个神经网络,用来学习这类中低分辨率的稀疏表示的系数αl(c*,m)和高分辨率的稀疏表示的系数αh(c*,m)之间的关系,所设计的神经网络包括三层,输入层为低分辨率的稀疏表示的系数,输出层为高分辨率的稀疏表示的系数,这里,隐含层神经元个数nh根据经验公式得到,其中ni为输入层神经元个数,no为输出层神经元个数,δ为1到10的一个经验常数,由仿真实验来优化地确定,在本发明中设置δ=5,利用这一类c*中所有的低分辨率的稀疏表示的系数αl(c*,m)、和高分辨率的稀疏表示的系数αh(c*,m),和反向传播方法,即back propagation method,来训练这个神经网络,以确定这个神经网络中各神经元中的参数;

至此,所有离线的训练阶段的实施方式已阐述清楚,下面介绍本发明中,在线的仅利用输入的一幅低分辨率的图像,进行超分辨率的放大,获得一幅高分辨率的图像的步骤和方法;

B1)输入一幅低分辨率的图像,对其进行分块,每个低分辨率图像块的大小为wl×hl,相邻的低分辨率的图像块之间的重叠区域的大小为ol×hl,然后,对提取的低分辨率的图像块imLR进行以下的特征提取操作;

B2)把图像块imLR作为以上阐述的步骤C1中的输入,可以得到输出矢量ffeature1,然后采用训练阶段步骤A3得到的变换矩阵Tl1对ffeature1进行降维,得到矢量fLR1,即fLR1=Tl1*ffeature1;

B3)对低分辨率的图像块imLR进行双三次的插值的放大,放大倍数为sw×sh,得到图像块imLRm,把图像块imLRm作为以上阐述的步骤C1中的输入,可以得到输出矢量ffeature2,然后采用训练阶段步骤A4得到的变换矩阵Tl2对ffeature2进行降维,得到矢量fLR2,即fLR2=T2*ffeature2;

B4)把矢量fLR1和fLR2进行矢量叠加,得到低分辨率块特征矢量fLR,即fLR=[(fLR1)T,(fLR2)T]T;

B5)根据矢量fLR和训练阶段得到的各类的中心,确定离fLR距离最近的类中心,并把此类中心所在的类co,作为矢量fLR所在的类;

B6)然后,采用K-SVD方法求解以下式(13)中的低分辨率图像块的稀疏表示的系数

其中,

Dl(co)和Dh(co)分别为训练阶段步骤A8所获得和存储的第co类的稀疏表示的低分辨率的字典和高分辨率的字典,矩阵表示矩阵C为矩阵A和矩阵B垂直方向叠加所产生的矩阵,fLR为以上步骤B5所获得的结果,P是提取当前高分辨率图像块和已重构的高分辨率图像上重叠区域的算子;ω是重叠区域中的元素值;β是需要通过仿真实验优化确定的参数;在本发明中β=1,λl1=0.5,α是低分辨率图像块的稀疏表示的系数的变量以最小化式(13)中的目标函数,是求解结果;

B7)利用训练阶段步骤A10所获得的第co类的神经网络,获得高分辨率块的稀疏表示的系数

B8)利用高分辨率块的稀疏表示的系数得到高分辨率块xh,这里,通过等式其中Dh(co)为以上所述的co类的高分辨率的字典,可以得到高分辨率的图像块xh;

B9)对低分辨率图像中,所有提取的低分辨率的图像块都进行了步骤B2到步骤B8的处理后,会得到很多高分辨率的图像块,把这些高分辨率的图像块进行拼接以后,就可以得到一幅高分辨率的图像X0,这里,对于高分辨率图像中图像块的重叠部分,采用求平均值的方法来确定其像素值;

B10)利用梯度下降的方法迭代地求解以下问题,直到所得到的解基本不变为止,最后得到了所要的高分辨率的图像Xh,

其中H是卷积和下采样算子,Y为输入的低分辨率的图像,i表示其迭代求解的次数,X(i)为需要第i次最小化式(17)中目标函数的变量,i≥0,初始时X(0)=X0,X(i+1)为其第i+1次的迭代的求解结果,当X(I)和X(I+1)基本相等时,停止迭代,得到了所要的高分辨率的图像Xh,即Xh=X(I+1)。

2.如权利要求1所述的一种新的图像超分辨率的方法,其中的对图像块采用抓娃娃方法进行聚类的方法;此方法可以阐述如下:

首先在整个特征数据中随机定点S,定点需要满足以下公式(18),

其中,Si表示除随机选定的中心点S以外的其他全部数据点,||b||2表示数据点b的2范数,计算得到所有满足如下条件的数据Si:与S的2范数的平方小于或等于γ,记录其数据的位置i,#{i}表示满足这个条件的数据点的个数,这里,要使这些满足条件的数据点的个数m大于k,即定点S周围的数据点必须足够多,该数据点S才可以作为定点,并进行下一步聚类,当选定的数据中心S不满足与其2范数的平方小于等于γ的数据点的个数大于k的条件时,该数据中心不能作为中心定点,当不满足这个条件时将会重新随机定点,直到到满足以上公式(18)的定点,

聚类过程同时要满足以下公式(19)的条件,

其中,c*表示第c*类,K为预设的每一数据点类所需的数据量,Sj(c*)为第j个和点S距离最小的其他数据,seti是这些数据的所构成的集合,#(seti)表示seti中元素的个数,即只取和S点最近的K个数据点构成一个集合,这个集合中的数据点构成一类,通过预设的每类数据量K,到与定点S的2范数最小的K个Sj,将它们归为一类,并将归类后的数据定义为空数据NaN,聚类中心为该类数据点的中心位置,选定一个数据类中的数据点后,这些数据点将被剔除,不进行以后的定点聚类,

进行完第一次聚类后,在选择定点时,除了满足公式(18)的条件,还需要满足以下公式(20)的条件,

其中,S′j为已经被聚类的所有数据,即数据Si满足与已被聚类的所有数据S′j的2范数距离大于d,以保证数据聚类的独立性,由此依次进行聚类,直到聚类的类别数达到要求,或没有合适的定点聚类,

此方法可以尽可能地使聚类中各类别中的数据点数为K,避免K-means聚类方法中各类别中的数目相差太大的缺点,即在K-means方法中,有的类别具有很多数据,有的类别具有很少的数据,对于具有过多数据的点的类,其建立的模型将趋于过拟合状态,虽然建立的模型对于其中的数据的效果较好,但是其模型的泛化能力差,对于在线过程中的新数据,其产生的误差较大,对于具有过少数据点的类,其建立的模型将趋于欠拟合状态,因为样本点太少,所建立的模型的维数和准确性不够。

3.如权利要求1所述的一种新的图像超分辨率的方法,其中的根据低分辨率稀疏表示的系数获得高分辨率的稀疏表示的系数的方法;该方法可以阐述如下:

此方法的输入为低分辨率图像块的稀疏表示的系数利用在离线阶段存储的co类的训练好的神经网络,得到的输出为矢量γ(co),为了保证的稀疏度基本不变,我们只对中的非零位置进行优化,其优化方法如以下公式(21)所示,以得到优化的高分辨率稀疏表示的系数

这里,ε为常数参数,这里根据实验取ε=0.25,为提取为非零位置并进行计算的函数,其输入和输出o(co)的关系定义为

其中,xj表示矢量x中的第j个元素,这样,可以得到输入的低分辨率图像块所对应的高分辨率图像块的稀疏表示的系数

说明书
技术领域

本发明提出了一种数字图像处理技术领域中的基于单幅图像的图像超分辨率方法,使用 该方法,可以通过低分辨率的图像块获得低分辨率块所处的类别和稀疏表示的系数,然后得 到高分辨率稀疏表示的系数,从而获得高分辨率图像块。最后,通过对高分辨率图像块的拼 接得到一幅高分辨率的图像。这样,可以仅利用一幅低分辨率的图像获得一幅高分辨率的图 像。该方法可以被广泛应用在图像放大、视频监控、卫星遥感、医学图像、生物特征识别等 领域。

1.K-means聚类方法

K-means聚类算法是先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各 个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配 给它们的对象就代表一个类别。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类 中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没 有(或最小数目)对象被重新分配给不同的类别,或没有(或最小数目)聚类中心再发生变 化。在图像超分辨率方法中的训练阶段,通常通过K-means方法来对训练阶段的低分辨率图 像块和高分辨率图像块进行分类,然后确定每类的中心、每类中的一个低分辨率字典和一个 高分辨率字典。这个聚类方法的缺点是有可能使有的类别具有大量的对象,有的类别具有很 少的对象。在图像的超分辨率中,我们需要的聚类方法应当使聚类后各类别所包含的对象的 数目尽量相等。

2.基于稀疏字典的超分辨率方法

在已有的基于稀疏字典的超分辨率方法中,对于由低分辨率特征计算得到的系数一 般算法都是直接作为高分辨率重建时使用的稀疏系数即然而,经过大量的实验 研究发现,从高分辨率字典中得到的稀疏系数稀疏系数与从低分辨率字典中得到的稀疏系 数在大多数情况下是有区别的。而经典方法中一般直接假设两者是相等的。故而这样的假 设会直接影响图像重建的效果。这也是本发明为什么需要进行这方面研究以提高单幅图像超 分辨率方法性能的原因。

本发明为了提高基于单幅图像超分辨率的性能,得到更高质量的重构的高分辨率的图像, 主要在以下方面进行了创新:1.改进了K-means方法,并命名所提出的聚类方法为“抓娃娃” 的方法,使每类别中所包含的图像块对的数目尽可能一致,尽可能避免分类中的过拟合和欠 拟合现象;2.改进了计算高分辨率稀疏系数的方法,通过训练阶段得到的每类图像块对的神 经网络,由低分辨率图像块的类别和其稀疏系数作为输入,根据这个类别的神经网络计算得 到初始的高分辨图像块的稀疏系数。然后,根据保持矢量稀疏度的要求,修改这个稀疏系数。 3.改进了图像块特征提取的方法,把DCT的系数也考虑到图像特征中。4.在字典的训练阶 段,由于不需要低分辨率稀疏系数和高分辨率稀疏系数一致,删去其高、低分辨率字典联合 训练的过程。

1.所提出的“抓娃娃”的聚类方法

针对稀疏的数据,如果直接像传统方法那样对其之间距离利用二范数进行计算分类,效 果会很差。在本文所提出的方法中,首先提取稀疏系数不为零的位置,得到位置特征,然后 结合位置特性进行分类。在我们的实验中,进行了使用K-means方法对其进行聚类,发现很 多类别中数据量过多,很多类别的数据很少,造成这个现象的原因是数据分布不均匀,重建 结果也不够理想。于是提出了一个简单的聚类方法,并命名为“抓娃娃”方法。顾名思义,该 方法借鉴了商场抓娃娃的过程:首先观察娃娃所处的位置,看看是否是娃娃多的位置,如果 是,则下降去抓一把娃娃。否则,重新随机选择位置。而在后续选择抓取位置时还会考虑远 离已经被抓过娃娃的地方。

我们以一组随机的二维数据为例来说明这个方法。如图1为一组随机的二维数据离散图。

首先在整个特征数据中随机定点S,定点需要满足以下公式(1)。

其中,Si表示除随机选定的中心点S以外的其他全部数据点,||b||2表示数据点b的2范数。计 算得到所有满足如下条件的数据Si:与S的2范数的平方小于或等于γ,记录其数据的位置i,

1.图1为所提出方法的示意图,其中图1(a)为所提出方法的离线训练过程的示意图,图1(b) 为所提出方法的在线超分辨率放大过程的示意图。

2.图2为离散的随机分布的点的示意图。

3.图3为图2中某一定点S和其周围的随机点的示意图。图3(a)中由于其定点周围的点数太 少,此定点不能作为一个类别的中心点;图3(b)中由于其定点周围的点数足够多,此定点可 以作为一个类别的中心点。

4.图4为离线的各类的神经网络的训练过程的示意图。

5.图5为本发明采用的一些高分辨率的训练图像。

以下将结合附图阐述所提出的方法的具体实施步骤和方式。本发明包括对高分辨率图像 的离线的训练阶段,其输入是大量的高分辨率的图像,输出是特征提取降维时用到的变换矩 阵,每类的低分辨率图像特征块的类中心,每类中的低分辨率图像特征块的稀疏字典和高分 辨率图像特征块的稀疏字典,每类中由低分辨率特征块的稀疏系数对应到高分辨率特征块的 稀疏系数的神经网络,这些信息可以在对图像超分辨率放大之前存储起来,供在线的对低分 辨率图像放大的阶段使用。本发明的在线的对图像超分辨率放大的过程的输入是一幅低分辨 率的图像,输出是一幅高分辨率的图像。本发明的目的是得到在线放大速度快,能得到更清 晰的、质量更好的高分辨率图像的方法。

由于对于离线的训练阶段和在线的训练阶段都需要进行图像块的特征提取,所以在这里 先阐述在本发明中对输入图像块Bin产生输出图像块输出矢量fout的步骤C1:

C1)输入:图像块Bin,输出:图像块Bin的输出特征矢量fout。输入图像块Bin,大小为w×h, 对图像块Bin进行DCT变换,得到和Bin同样大小的DCT系数块BDCT,对图像块Bin进行一阶水平梯度的运算,可以得到大小为(w-1)×h的块Bh,对图像块Bin进行一阶垂直梯度的运算,可以得到大小为w×(h-1)的块Bv,对图像块Bin进行二阶的Laplace算子的运算,可以得到大小为(w-1)×(h-1)的块BLaplace。然后,对图像块Bin进行矢量化操作,按照从上到下,从左到右的顺序把其中的元素放到矢量fin中,即Bin中的元素Bin(i,j)为矢量fin中的第w*(i-1)+j个元素,fin的大小为(w*h)×1;对块BDCT进行矢量化操作,可以得到矢量fDCT,大小为 (w*h)×1;对块Bh进行矢量化操作得到矢量fh,大小为((w-1)*h)×1;对块Bv进行矢量化操 作得到矢量fv,大小为(w*(h-1))×1;对块BLaplace进行矢量化操作得到矢量fLaplace,大小为 ((w-2)*(h-2))×1。把得到的矢量进行叠加工作,得到矢量fout=[(fin)T,(fDCT)T,(fh)T,(fv)T,(fLaplace)T]T,其中fT为矢量f的转置运算。这里的创新点在于 把图像块的DCT系数参与到图像块的特征提取中。

以下将首先描述本发明的离线的训练过程。

离线的训练过程的输入为大量的高分辨率的图像,输出为主成分分析法获得的变换矩阵 Tl1和Tl2,低分率图像特征矢量的各类别的中心的位置矢量,每个类别训练好的神经网络,即 这个神经网络中各参数都优化地确定了其数值。然后,存储输出信息供在线超分辨率放大过 程使用。此过程的步骤为:

A1)从训练图像集中的每一幅高分辨率图像fih(x,y),提取其对应的低分辨率的图像 fil(x,y)。这里,采用卷积和下采样的操作得到低分辨率的图像,以模拟从高分辨率图像退化 到低分辨率图像的过程。其卷积模板为截断的高斯函数:

其模板大小为m1×m1,在本发明中m1=6,w为所有模板元素累加之和。即对高分辨率的图 像执行以下操作

其中,sw是水平方向要放大的倍数,sh是垂直方向要放大的倍数。符号“↓”表示下采样。

A2)对得到的高分辨率图像和低分辨率图像进行分块操作,每个低分辨率图像块的大小 为wl×hl,相邻的低分辨率的图像块之间的重叠区域的大小为ol×hl,则所对应的高分辨率图 像块的大小为(wl*sw)×(hl*sh)。这样,可以得到很多低分辨率的图像块imlow和所对应的高分 辨率图像块imhigh。

A3)对所有低分辨率的图像块imlow进行特征提取的操作。把图像块imlow作为以上阐述的 步骤C1中的输入,可以得到输出矢量fout1,由于矢量fout1的维数太大,不便于处理,采用主 成分分析法,即principle component analysis method,对fout1进行降维,得到主成分分析法中 的变换矩阵Tl1,并输出特征矢量flow1。在本发明中flow1的维数为fout1维数的1/10。存储这个 变换矩阵Tl1,供在线过程使用。

A4)对所有低分辨率的图像块iml进行双三次的插值的放大,放大倍数为sw×sh,得到图 像块imm,把图像块imm作为以上阐述的步骤C1中的输入,可以得到输出特征矢量fout2,然 后对fout2采用主成分分析方法进行降维,得到变换矩阵Tl2,并输出特征矢量flow2。在本发明 中flow2的维数为fout2维数的1/20。存储这个变换矩阵Tl2,供在线过程使用。

A5)把矢量flow1和flow2进行矢量叠加,得到低分辨率块特征矢量flow,即 flow=[(flow1)T,(flow2)T]T。这里的创新点在于把低分辨率图像块和放大的低分辨率图像块一起来进行特征的提取。

A6)对高分辨率的图像块imhigh进行特征提取的操作,把图像块imhigh作为以上阐述的步 骤C1中的输入,可以得到输出矢量fho。然后对矢量fho进行主成分分析降维,得到输出特征 矢量fhigh,和变换矩阵Th,在本发明中fhigh的维数为fho维数的1/10。

A7)根据所提出的“抓娃娃”的方法,对所有图像块特征矢量flow进行聚类操作。在此 方法中,如图2所示,把每个特征矢量看做为高维空间中的一个点。先随机地选择定点S,如果定点S的周围有超过K个的数据点离其的距离小于γc,则选择定点S作为第一类的锚点; 否则,需要重新随机选择定点S。如图3(a)所示,其定点S周围的离其的距离小于γc的数据 点太少,所以需要重新选择定点的位置。如图3(b)所示,其定点S周围的离其的距离小于γc的 数据点足够多,所以可以进行聚类,选择离其最近的K个点作为第一类中的数据点。即,模 拟商场中抓娃娃的方法,先在娃娃密度高的地方抓一把娃娃。第一类的中心为所有第一类的 数据点的中心位置。然后,随机选择离已分类数据点的距离超过dc的数据点作为新的定点, 以模拟抓娃娃过程中要离开已经抓过娃娃的位置,继续抓娃娃。如果新的定点的周围有超过 K个的数据点离其的距离小于γ,则选择新的定点为新的类别的锚点。然后,选择离其最近 的K个点作为新的类别中的数据点。新的类的中心为所有此类的数据点的中心位置。如果在 完成一轮的聚类过程后,还有没有聚类的数据,则逐步增加聚类时所用的参数γc的大小,并 逐步减少dc的大小。

所提出的方法的优点在于可以尽可能地使聚类中各类别中的数据点数为K,避免K-means 方法中各类别中的数目相差太大的缺点,即在K-means方法中,有的类别具有很多数据,有 的类别具有很少的数据。对于具有过多数据的点的类,其建立的模型将趋于过拟合状态,虽 然建立的模型对于其中的数据的效果较好,但是其模型的泛化能力差,对于在线过程中的新 数据,其产生的误差较大。对于具有过少数据点的类,其建立的模型将趋于欠拟合状态,因 为样本点太少,所建立的模型的维数和准确性不够。

在完成聚类之后,存储所有的类别的中心点的位置,以供在线的超分辨率放大的过程使 用。

A8)对每一类中的数据,训练能稀疏表示其中数据的低分辨率的字典和高分辨率的字典。 对于第c*类,将使用压缩感知中的最优匹配跟踪法,即optimal matchingpursuit方法,来求取 其低分辨率的字典Dl(c*)和高分辨率的字典Dh(c*)。

A9)对每一类中的数据,确定其低分辨率的稀疏表示的系数、和高分辨率的稀疏表示的 系数。以利用这些系数训练这一类的神经网络。其中,对于第c*类,利用K-SVD(K-奇异值 分解)方法来求解以下优化问题,得到低分辨率块的稀疏表示系数

其中flow(c*,m)为第c*类当中的第m个低分辨率块的特征矢量,其获取方法如以上特征提取部 分A5步骤所述,||x||n为矢量x的n范数,λl1表示拉格朗日乘子参数,本发明中根据实验优化 的设置λl1=0.5,α为需要最小化式(12)中目标函数的变量, αl(c*,m)是求解的结果。类似地,利用K-SVD方法求解如下目标函数,得到对应的高分辨率 块的稀疏表示系数

其中fhigh(c*,m)为第c*类当中的第m个高分辨率块的特征矢量,其获取方法如以上特征提取部 分A6步骤所述,λh1表示拉格朗日乘子参数,本发明中根据实验优化的设置λh1=0.5,α为 需要最小化式(13)中目标函数而求解的变量,αh(c*,m)是求解的结果。

A10)利用每一类的稀疏表示的系数,优化这一类的描述低分辨率稀疏系数和高分辨率稀 疏系数之间关系的神经网络中的参数,并存储这个神经网络的参数,以供在线超分辨率放大 的过程使用。

如图4所示,在所提出的方法中对每个类c*,将建立一个神经网络,用来学习这类中低 分辨率的稀疏表示的系数αl(c*,m)和高分辨率的稀疏表示的系数αh(c*,m)之间的关系。所设计 的神经网络包括三层,输入层为低分辨率的稀疏表示的系数,输出层为高分辨率的稀疏表示 的系数。这里,隐含层神经元个数nh根据经验公式得到,其中ni为输入层神 经元个数,no为输出层神经元个数,δ为1到10的一个经验常数,由仿真实验来优化地确定。 神经网络的结构如图4所示。利用这一类c*中所有的低分辨率的稀疏表示的系数αl(c*,m)、 和高分辨率的稀疏表示的系数αh(c*,m),和反向传播方法,即backpropagation method,来训 练这个神经网络,以确定这个神经网络中各神经元中的参数。

至此,所有离线的训练阶段的实施方式已阐述清楚。下面介绍本发明中,在线的仅利用 输入的一幅低分辨率的图像,进行超分辨率的放大,获得一幅高分辨率的图像的步骤和方法。

B1)输入一幅低分辨率的图像,对其进行分块,每个低分辨率图像块的大小为wl×hl, 相邻的低分辨率的图像块之间的重叠区域的大小为ol×hl。然后,对提取的低分辨率的图像块 imLR进行以下的特征提取操作。

B2)把图像块imLR作为以上阐述的步骤C1中的输入,可以得到输出矢量ffeature1,然后 采用训练阶段步骤A3得到的变换矩阵Tl1对ffeature1进行降维,得到矢量fLR1,即 fLR1=Tl1*ffeature1。

B3)对低分辨率的图像块imLR进行双三次的插值的放大,放大倍数为sw×sh,得到图像 块imLRm,把图像块imLRm作为以上阐述的步骤C1中的输入,可以得到输出矢量ffeature2,然后 采用训练阶段步骤A4得到的变换矩阵Tl2对ffeature2进行降维,得到矢量fLR2,即 fLR2=T2*ffeature2。

B4)把矢量fLR1和fLR2进行矢量叠加,得到低分辨率块特征矢量fLR,即 fLR=[(fLR1)T,(fLR2)T]T。

B5)根据矢量fLR和训练阶段得到的各类的中心,确定离fLR距离最近的类中心,并把此 类中心所在的类co,作为矢量fLR所在的类。

B6)然后,采用K-SVD方法求解以下式(13)中的低分辨率图像块的稀疏表示的系数

其中,

Dl(co)和Dh(co)为训练阶段步骤A8所获得和存储的第co类的稀疏表示的低分辨率的字典和 高分辨率的字典,fLR为以上步骤B5所获得的结果,P是提取当前高分辨率图像块和已重构 的高分辨率图像上重叠区域的算子;ω是重叠区域中的元素值;β是需要通过仿真实验优化 确定的参数;在本发明中β=1,λl1=0.5,α是低分辨率图像块的稀疏表示的系数的变量以 最小化式(13)中的目标函数,是求解结果。

B7)利用训练阶段步骤A10所获得的第co类的神经网络,获得高分辨率块的稀疏表示的 系数。这里的输入为低分辨率图像块的稀疏表示的系数利用co类的训练好的神经网 络,得到其输出为矢量γ(co)。为了保证的稀疏度基本不变,我们只对中的非零位 置进行优化,其优化方法如以下公式(15)所示,以得到优化的高分辨率稀疏表示的系数

这里,ε为常数参数,这里根据实验取ε=0.25,为提取为非零位置并 进行计算的函数,其输入和输出o(co)的关系定义为

其中,xj表示矢量x中的第j个元素。这样,可以得到输入的低分辨率图像块所对应的高分 辨率图像块的稀疏表示的系数

B8)利用高分辨率块的稀疏表示的系数得到高分辨率块xh。这里,通过等式其中Dh(co)为以上所述的co类的高分辨率的字典,可以得到高分辨率的图像块xh。

B9)对低分辨率图像中,所有提取的低分辨率的图像块都进行了步骤B2到步骤B8的处 理后,会得到很多高分辨率的图像块,把这些高分辨率的图像块进行拼接以后,就可以得到 一幅高分辨率的图像X0。这里,对于高分辨率图像中图像块的重叠部分,采用求平均值的方 法来确定其像素值。

B10)利用梯度下降的方法迭代地求解以下问题,直到所得到的解基本不变为止,最后得 到了所要的高分辨率的图像Xh。

其中H是卷积和下采样算子,Y为输入的低分辨率的图像,i表示其迭代求解的次数,X(i)为 需要第i次最小化式(17)中目标函数的变量,i≥0,初始时X(0)=X0,X(i+1)为其第i+1 次的迭代的求解结果。当X(I)和X(I+1)基本相等时,停止迭代,得到了所要的高分辨率的 图像Xh,Xh=X(I+1)。

仿真实验和结果

我们对所提出的方法进行了仿真实验,所有实验的放大的倍数为3×3。和Zeyde所提出 的SCSR方法一样,训练图像来源于标准库中的91张图像,图5展示了部分训练图像。对于 测试图像,我们对比了双三次插值的方法、SCSR方法、和我们所提出的方法的实验结果,所对比的性能指标为普遍采用的峰值信噪比(PSNR)的指标。

表1 各种方法的超分辨率放大重建结果的PSNR(*表示小尺寸图片)

从表1中可以看出,采用K-means进行聚类的所提出的方法的PSNR值在所列出的测试 图像上平均比SCSR方法高出0.1个dB,提高了重建图像的质量。这里的图像质量的提高,主要依靠所提出的图像特征的提取方法和所提出的高分辨率稀疏系数的方法。

表2 采用K-means进行聚类的所提出的方法和采用抓娃娃聚类方法的所提出的方法的超分辨 率放大重建结果的PSNR(*表示小尺寸图片)

从表2中可以看出,在所提出的方法中应用所提出的抓娃娃方法进行聚类的性能要好于 应用K-means进行聚类的方法。这里,图像质量的提高是依靠抓娃娃聚类方法获得的。

同时,我们对K-means聚类方法所需的运行时间和抓娃娃聚类方法所需的运行时间进行 了对比。发现K-means聚类方法所需的运行时间平均是抓娃娃聚类方法所需的运行时间的 1.73倍。所以,所提出的抓娃娃的方法比K-means方法具有更快的运行速度。

本文发布于:2024-09-25 16:32:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/84773.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议