m基于POCS算法的空域序列图像超分辨率重建matlab仿真

1.算法仿真效果

matlab2022a仿真结果如下:


2.算法涉及理论知识概要

随着信息处理技术和视觉通信技术的高速发展,人们获取的知识量爆炸式增长,因此迫切的要求完善的信息处理技术为人们提供更加方便、快捷服务。数字图像及及其相关技术是信息处理技术的重要内容之一,对于数字图像一般要求是高分辨图像,如:医学图像要求能够显示出那些人眼不能辨别出的细微病灶;卫星地面要求卫星图像至少能够辨别出人的脸相甚至是证件;有些检测识别控制装置需要足够高分辨率的图像才能保证测量和控制的精度,因此提高图像分辨率是图像获取领域里追求的一个目标。


1970年以来,CCD和CMOS图像传感器广泛的被用来获取数字图像,若要获取高分辨图像,最直接的方法就是提高成像装置的分辨力,由于受传感器阵列排列密度的限制,提高传感器的空间分辨率越来越难,也会大幅度的增加数字摄像机的价格。另外,像运动模糊、系统的点扩散函数模糊等不能够通过改善成像装置硬件的分辨力来解决,所以,图像的超分辨率重构技术的研究有重大的意义,不需要昂贵的图像获取设备,只需要通过计算机软件的处理就能获得高分辨率的图像。


超分辨率图像重建是指从一序列具有互补信息的低分辨率图像来重建一幅高分辨率的清晰图像的复原技术,同时还能够消除加性噪声以及由有限检测器尺寸和光学元件产生的模糊。超分辨率图像重建的目的在于复原截止频率之外的信息,以使图像获得更多的细节和信息。


图像超分辨率重建技术通常可以分为单帧和多帧图像重建方法。单帧图像重建也称图像放大,最早由Harris和Goodman于60年代提出,其思想主要是通过对低分辨率图像静态插值的方法来实现图像分辨率的提高。因为单个图像的利用不能去除由低分辨率图像取样时所具有的混淆和模糊,随后有许多人研究提出了其他复原方法,如线性外推法。80年代末之后,人们在超分辨率图像复原方法研究上取得了突破性的进展。Hunt等人提出和发展了许多有实用价值的方法,如能量连续降减法、贝叶斯分析法;Tsai和Huang提出了在频域中从互有位移的低分辨率图像序列中插值产生一帧高分辨率图像的概念,才从本质上解决了图像超分辨率无唯一解的问题;在此基础上,Kim等人研究了混入噪声和图像有模糊退化情形下的模型,并给出了加权迭代和正则化迭代两种解混叠方法;Bose等人则给出了一种解混叠的总体最小二乘方法;进一步发展中,人们在统计先验知识的使用上也采用了新的方法,如Cheeseman等人使用了基于高斯平滑先验知识的估计器来增强卫星遥感图像,此外,Schultz和Stevenson,Tekalp等人,Keren和Pelegd等人以及Elad和Feuer研究了改善数字图像空间分辨率的空域方法。


在凸集投影方法中定义约束集合(constraint sets)为限制SR重构的一种灵活解空间。约束(constraints)被定义为表示包含所有可能SR重构空间的凸集,而集合(sets)表示可行的解特征,如:非负性,能量绑定等,因此SR重构问题的解空间即为这些凸集约束的交集。凸集投影(POCS)是指给定空间矢量的任一点,定位到满足所有凸集约束的一点的迭代过程。在超分辨率图像重建中, 首先要建立一个联系原始高分辨率图像和低分辨率观测序列的图像获取模型, 一般的图像获取模型可示为:



由上面叙述可知双线性插值会导致重建图像的边缘模糊,设计中采用梯度插值法,能够很好的保持图像的边缘信息。


(2)边缘振荡效应的抑制


POCS算法重建容易产生边缘振荡效应,边缘振荡是指在重建后的图像边缘处,颜色深的一侧像素颜色变得较浅,而颜色浅的一侧像素颜色变得较深,不能保持原始图像的光滑边缘,呈现出振荡的特性[11]。解决问题的途径就是改变边缘处像素的PSF函数,减小其作用的范围,所以采用Sobel [4] [8]算子来检测高分辨率参考帧的边缘,然后对边缘处的像素使用修正的PSF函数。


(3)噪声的减少


高分辨率图像在经过图像的运动估计和POCS 重建后会出现干扰噪声,这是由于当前帧中的部分像素没有出现在参考帧中,而这部分像素也参与了 POCS 超分辨率重建的过程,则出现一些干扰噪声[10]。在用块匹配算法采用一种设置运动向量可信度区间的方法来减少噪声的出现,MAD 的大小间接反映出匹配的准确度,可以对每一个子块的均值误差 MAD 进行排序,并且设置区间,假设估计的准确的运动向量所占的比列为 99%,可认为 MAD 值从小到大排序后的前 99%的对应的运动向量是准确的,即可设置区间为[0, 0.99],对在置信区间内的子块对应的运动向量,参与图像的重建,而不在置信区间内的子块对应的运动向量,则不参与重建。


由前面的分析可知,图像重建实际的操作过程如下,为了更加清洗和详细地表示该过程,这里用伪代码来表示:


Step1: 确定图像序列 LR 中的一帧作为参考帧,并对其进行梯度插值,作为高分辨率图像的初始估计;


Step2: 对低分辨率图像序列(每帧图像)与参考帧做运动估计(图像配准),得到低分辨率图像相对于参考帧的偏移量,即运动向量场V(k ),并计算运动向量可信度。


Step3:   For  i = 1 to q                  % q 为迭代次数


For k = 1to p                 % p 为 LR 帧的个数, 对每一帧进行计算


For m = 1to M             % M 为 LR 帧的行数


For n = 1to N           % N 为 LR 帧的列数


3.1 判断像素的运动向量可信度是否在置信区间内,是则继续,


根据运动向量场V ( k),计算该像素在估计的 HR 图像位置;


3.2 若该像素为 Sobel 检测到的边缘,修改 PSF;


3.3 计算 PSF 作用范围内的像素;


3.4 模拟采样过程,获得模拟低分辨率像素估计值;


3.5计算实际图像像素值与像素估计值之间的残差;


3.6根据残差修正估计高分辨率图像的像素值;


3.7对修正的高分辨率像素值执行幅值约束;


Step4:迭代终止,得到最终的高分辨率图像估。





3.MATLAB核心程序

%POCS

%POCS

%POCS

%POCS

if sel == 2


%降低图像的分辨率

for j = 1:Numbers+1

pixel_low_tmp    = func_lowfbl(pixel(:,:,j),Fenbl_sample);

pixel_low(:,:,j) = pixel_low_tmp;

end




addpath(genpath('b'));

figure;

%原POCS算法

for j = 1:K_frame

Image_tmp         = func_pocs_classic(j,pixel_low,min(30,Numbers)+j+1,Fenbl_sample);

Image_pocs(:,:,j) = Image_tmp;

[psnrs,mses]      = func_PSNR(pixel(:,:,j),Image_pocs(:,:,j));

PSNR_pocs(j)      = psnrs;

MSE_pocsr(j)      = mses;

end

subplot(121);imshow(Image_pocs(:,:,1),[]);title('通过原POCS算法得到的重构图');

clear Image_pocs    




%改进后的POCS算法

for j = 1:K_frame


Image_tmp          = func_pocs(j,pixel_low,min(30,Numbers)+j+1,Fenbl_sample);

Image_pocs2(:,:,j) = Image_tmp;

[psnrs,mses]       = func_PSNR(pixel(:,:,j),Image_pocs2(:,:,j));

PSNR_pocs2(j)      = psnrs;

MSE_pocsr2(j)      = mses;

end

subplot(122);imshow(Image_pocs2(:,:,1),[]);title('通过改进后的POCS算法得到的重构图');

clear Image_pocs2





figure;

plot(PSNR_pocs,'r-o');hold on;

plot(PSNR_pocs2,'b-o');hold on;

grid on;

legend('通过POCS算法得到的重构图','通过改进POCS算法得到的重构图');

title('PSNR');


save result\dz.mat PSNR_pocs  PSNR_pocs2

end

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容