发明内容
本发明的目的在于针对已有技术催在的缺陷,提供一种基于频域配准和凸集投影的多帧图像超分辨率重建方法实现图像放大,提高图像的分辨率,改善图像的质量,实现多帧图像的超分辨率重建。针对视频序列各帧的相对位移较小的情况,提出一种快速的超分辨算法,并且图像重建质量良好。
为了达到上述目的,本发明的构思是:
1.图像配准
首先选取多帧低分辨率图像中的一帧作为参考图像,假设参考图像为f1(x),f2(x)为需要估计位移的图像,f2(x)是f1(x)旋转和偏移的结果。假设f2(x)相对f1(x)的旋转角为φ,水平和垂直偏移量为分别为Δx1和Δx2,则f2(x)和f1(x)的关系可表示为
f2(x)=f1(R(x+Δx)) (1)
其中,x=[x
1 x
2]
T,Δx=[Δx
1 Δx
2]
T,
则f
2(x)的傅里叶变换f
2(u)为
F2(u)=∫∫xf1(R(x+Δx)exp(-j2πuTx)dx
=exp(-j2πuTΔx)∫∫xf1(Rx)exp(-j2πuTx)dx
(2)
=exp(-j2πuTΔx)∫∫x′f1(x′)exp(-j2π(Ru)Tx′)fx′
=exp(-j2πuTΔx)F1(Ru)
其中,u=[u1 u2]T,u1和u2分别表示频域的水平和垂直坐标。F2(u)和F1(u)的振幅关系为
|F2(u)|=exp(-j2πuTΔx)∫∫xf1(Rx)exp(-j2πuTx)dx|
=|exp(-j2πuTΔx)||∫∫xf1(Rx′)exp(-j2π(Ru)Tx′)dx′| (3)
=|exp(-j2πuTΔx)||F1(Ru)|=|F1(Ru)|
通过公式2,3可知,f2(x)相对f1(x)旋转角为φ,只影响F2(u)的振幅,而水平和垂直的位移只影响频谱的相位。
旋转角的求取可采用对两个频谱作自相关,当自相关达到最大时即可得出旋转角度。这样做运算量非常大。对于视频序列这种相对运动位移较小的情况,可以忽略旋转角度的估计,只估计水平和垂直位移来加以近似。水平和垂直位移Δx可根据公式(4)求出,F2(u)/F1(u)得到相位谱,为了提高估计精度,采用最小二乘法。
(4)
uTΔx=angle(F2(u)/F1(u))/2π
由于多帧低分辨率图像是降质的高分辨图像,也即低分辨率图像是在低于奈奎斯特采样频率得到的结果,因此低分辨率图像存在混叠效应。当图像出现混叠效应时,公式1不再成立。因此在估计图像相对位移的过程中必须考虑混叠效应的影响。假设连续的一维带限信号f1(x),其频谱为F1(u),如图3(a)所示。假设最高频率为Umax,采样频率为Us,Umax<Us<2Umax,图3(b)是在采样频率Us采样的结果。这时公式(3)(4)就不再成立。我们可以将高频分量滤除,只使用低频成分估计运动参数,图3(c)是低通滤波的结果。
由于低频成分占据图像频谱能量的大部分,10%的低频成分往往占据超过90%的频谱能量。图5为实验中用于重建高分辨率图像中的一张低分辨率图,图4为图5的幅度频谱,可以看出,低频成分占据了绝大部分能量。为了提高估计精度,对位移的估计只使用中频分量。
对于中频分量的选取,将图像转换到频域,频域坐标的中心移到图像的中心,计算出F2(u)/F1(u)得到相位谱。假设没有混叠效应的最高频率为Umax,采样频率Us,定义图像中的任一点到图像中心的距离为r,选取εUmax<|r|<Us-Umax作为中频分量,其中ε∈[0,0.5],通常取ε=0.1。然后按照公式4来估计位移。
上述在频域对图像进行配准的步骤是:
(1)对输入图像f1(x),f2(x)...fn(x)进行傅里叶变换,并选取f1(x)作为参考图像其他为要估计相当位移的图像。傅里叶变换结果为F1(u)F2(u)...Fn(u)。
(2)根据εUmax<|r|<Us-Umax选取图像的频谱范围,这个范围通常在图像中心的三分之一的位置。如图8蓝色部分所示。
(3)根据前述公式4计算图像之间的相对位移,采用最小二乘法。
2.图像重建
采用凸集投影(POCS)算法进行超分辨率重建。将待估计的高分辨率图像看作是一些限制集合的交集,POCS算法使用集合理论,利用空域中的模型,把需要复原的图像的各种先验信息,如正定、能量有界、数据可靠、光滑等,定义为约束凸集,每一约束条件对应于一个含有理想超分辨率图像的凸集。每一个集合用Ci表示,它们的交集用C0表示,则重建的高分辨率图像y满足
凸集的定义为
Ck[m1,m2]={y[n1,n2]:|r(f)[m1,m2]|≤δk[m1,m2]}
(6)
fk为低分辨率图像,Wk为系统的点扩散函数,对于理想高分辨率图像的估计y如下(上标(n)和(n+1)表示迭代次数),n1,n2为积分变量,m1,m2为图像的坐标:
经过循环迭代可求得最终的估计结果。对于低分辨图像相对位移较小的情况,重建过程只使用平移参数,系统的点扩散函数设定为高斯函数,在每次循环中使用一次能量约束条件。
上述凸集投影算法步骤是:
(1)对参考帧放大到目标尺寸,得到y(0)这一过程采样双线性差值法。
(2)用高斯核对放大的图像y(n)进行模糊,来近似低通过程,将核归一化,保证能量在输入图像的幅值范围内;
(3)将其他图像同样双线性差值放大,根据已经求得的配准信息,将这些图像依次投影到模糊后图像的相应位置,得到y(n+1);
(4)重复步骤2和不步骤3,直到满足循环结束条件。delta=norm(y
n-y
n-2)/norm(y
n)小于预定值,其中
本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点:本发明利用多帧低分辨率图像来重建高分辨率图像,旨在提高图像的分辨率,增强图像的视觉效果。因此本发明简化了配准过程,只利用图像的中频信息估计运动平移,而不用估计旋转角,使得配准算法运算量大大减少。同时本方法简化了凸集投影重建过程,只使用图像的亮度幅值约束和高斯点扩散函数这一先验约束,使得超分辨率算法的整体运算量大大减少,同时可保证重建质量。本算法对视频序列的重建效果很好。
具体实施方式
本发明的优选实施例子结合附图详述如下:
实施例:参见图1,图2。本基于频域配准和凸集投影的多帧图像超分辨率重建方法,其特征在于其具体实现步骤是:
A、读入多帧图像,并选取一张作为配准的参考帧
B、图像配准:将图像转换到频域,对较小偏移量情况下,仅估计水平和垂直位移分量,忽略旋转角;
C、图像重建:根据所求的位移参数,将低分辨率图像配准到高分辨率的网格上,使用凸集投影算法进行超分辨率重建;
D.输出图像
实施例2:
本实施例与实施例一基本相同,特别之处如下:
本实施例首先提取一视频序列的连续10帧,分别为f1(x),f2(x)…f10(x),大小为90×90。如图5所示为从视频序列中选取十帧图像中的一帧。
(一)图像配准
(1)对输入图像f1(x),f2(x)…f9(x)进行傅里叶变换,并选取f1(x)作为参考图像其他为要估计相当位移的图像。傅里叶变换结果为F1(u)F2(u)…F10(u)。
(2)根据εUmax<|r|<Us-Umax选取图像的频谱范围,这个范围通常在图像中心的三分之一的位置。如图5蓝色部分所示。
(3)根据公式4计算图像之间的相对位移,采用最小二乘法。
按照频域配准算法计算参考图像和其他图像的平移参数如表1所示。
(二)图像重建
(5)对参考帧放大到目标尺寸,得到y(0)这一过程采样双线性差值法。双线性差值结果如图6所示。
(6)用高斯核对放大的图像y(n)进行模糊,将核归一化,保证能量在输入图像的幅值范围内,选取的高斯点扩散函数为如下矩阵,[0.25 0 1 0 0.25;0 1 2 1 0;12 4 2 1;0 1 2 1 0;0.25 0 1 0 0.25];
(7)将其他图像同样双线性差值放大,根据已经求得的配准信息,将这些图像依次投影到模糊后图像的相应位置,得到y(n+1);
(8)重复2和3,直到满足循环结束条件,delta=norm(y
(n)-y
(n-2))/norm(y
(n))小于预定值,其中
图7为最终的重建结果。实验环境为Matlab7.8,2.5GHz CPU,2GB RAM,重建运行时间为0.9s。实验:对图像和视频放大,同时提高图像的质量,是本发明的目的,为了进一步说明本发明的实用性,给出了更多的实验结果,我们选取“Cameraman”,“Lena”,“Baboon”这3幅图像作为测试图像,如图9,10,11所示,分别产生4幅128×128的降质图像,然后分别用这些图像重构256*256的高分辨率图像,用本发明的方法,重构运行时间及PSNR值如表2所示。
表一
Δx |
0 |
0.0016 |
-0.0102 |
0.0040 |
0.1778 |
0.1931 |
0.1920 |
0.1599 |
0.3773 |
0.3677 |
Δy |
0 |
0.1701 |
0.4032 |
0.6994 |
0.0108 |
0.1697 |
0.4206 |
0.6698 |
0.0034 |
0.1671 |
表二