文档库 最新最全的文档下载
当前位置:文档库 › 图像超分辨率重建--图像处理课程设计

图像超分辨率重建--图像处理课程设计

图像超分辨率重建--图像处理课程设计
图像超分辨率重建--图像处理课程设计

目录

1 课程设计目的 (1)

2图像处理系统设计内容及要求 (2)

2.1设计内容 (2)

2.2设计要求 (2)

3 设计方案 (3)

4 功能模块的具体实现 (5)

4.1 空域插值放大的方法 (5)

4.1.1 最邻近插值算法 (5)

4.1.2 双线性插值算法 (6)

4.1.3 双三次插值算法 (7)

4.2 频域重建的方法 (8)

4.2.1 DCT变换的介绍 (8)

4.2.2 DCT放大图像放大算法原理 (8)

4.3 频域分块重建的方法 (10)

4.4 同态滤波器滤波处理 (11)

4.4.1 同态滤波器原理 (11)

4.4.2 同态滤波函数的确定 (12)

5 总结与体会 (14)

参考文献 (15)

附录 (16)

1课程设计目的

MATLAB7.0软件。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。通过用MATLAB 对图像进行处理,以实现以下目的。

1.培养严谨的科学态度,正确的设计思想,科学的设计方法和良好的工作作风。

2.培养独立思考的能力,独立检索资料、阅读文献、综合分析、计算机应用、数据及文字处理等能力。

3.培养综合运用基础理论、基本知识的能力。通过课程设计得到工程设计的初步锻炼。

2图像处理系统设计内容及要求

2.1设计内容

图像超分辨率重建是利用低质量或低分辨率图像来产生高质量或高分辨率图像的技术,重建包括空域方法和频域方法。本设计要求用插值技术提高图像的分辨率。

(1)利用插值技术将原始图像在空域放大2倍。

(2)在DCT域放大原始图像2倍,设计滤波器在DCT域增强图像的高频信息。

(3)对图像分块进行DCT变换,在DCT域对子图像进行放大和滤波增强高频信息。

(4)比较上述三种图像重建结果,设计软件界面。

(5)设计方案、编写代码实现上述功能。

2.2设计要求

(1)利用数字图像处理技术,以MATLAB为平台,建立一个实现设计主题的简易处理系统。

(2)能显示输入图像、中间图像和重建的图像。

(3)程序代码要有注释说明,调用MATLAB函数要清楚并理解函数的功能、使用范围,在设计说明书中要写清楚函数的功能和参数意义。

(4)完成设计说明书一份。

(5)刻苦钻研,勤于思考,勇于实践,独立完成课程设计任务。

(6)遵守纪律,在指定地点进行课程设计。

(7)掌握有关课程的基本理论和基本知识。概念清楚,方案合理,数据可靠,计算正确,运行良好,图纸(图表)符合标准,设计说明书(论文)撰写规范,答辩中回答问题正确。

3 设计方案

根据课程设计题目的要求,设计界面如图3-1所示:

图3-1 设计界面

本设计分为空域放大和DCT域放大两部分,空域放大主要工作有:在空域对现有的传统插值算法分别进行了研究与仿真实验,包括最近邻域插值,双线性插值,双三次插值等,这些插值方法均是通过低通滤波,滤除和过滤图像数据中的高频信息。所以这些插值基函数对边缘和纹理信息都比较丰富的图像的插值效果不是特别理想。DCT域放大主要工作有:通过DCT变换实现了由空间域到频域的转换,通过对频域处理可以方便的实现空间域较难实现的处理。而空间域与频域又存在一定的联系,为数字图像的处理提供了另一种方法。该算法在对整块图像进行处理时,尽管采用了增强系数对图像亮度效果进行补充,但对整幅图像高频部分预测采用填零方式,在图像像素位数增大即图像信息量增大时这种预测精度不如对图像分块处理后高,且基于JPEG格式图像多采用分成8×8子块分块压缩编码,对上述算法进行改进。改进后的算法,将原始图像数据切割成接近8×8大小子块,对每一子块分别实施DCT放大算法。改进后的算法如下:对原始图像进行分块,然后对每一子块运用DCT图像放大算法,最后合并处理所有的子块。

系统整体设计如图3-2所示。

图3-2 系统整体设计图

4 功能模块的具体实现

4.1空域插值放大的方法

4.1.1 最邻近插值算法

这是最简单的算法,每一个输出像素都赋给输入图象中与其最邻近的采样点的值。插值核函数是:

h(x)=1 0

h(x)=0 0.5

在所有的插值方法中,这种插值方法速度最快,早期的应用比较普遍,然而当图像中包含灰度有变化的细微结构时,最近邻插值法会在图像中产生人工的痕迹。图像的边缘阶梯失真现象比较明显。其实现效果如图4-1所示。

图4-1 最邻近插值算法实现效果图

在程序中可以直接调用函数也可自行编写。如自行编写,部分源程序如下:width = K * nrows;

height = K * ncols;

J = uint8(zeros(width,height));

widthScale = nrows/width;

heightScale = ncols/height;

for x = 5:width - 5

for y = 5:height - 5

xx = x * widthScale;

yy = y * heightScale;

if (xx/double(uint16(xx)) == 1.0) & (yy/double(uint16(yy)) == 1.0)

J(x,y) = I(int16(xx),int16(yy));

else% a or b is not integer

a = double(round(xx)); % (a,b) is the base-dot

b = double(round(yy));

J(x,y) = I(a,b); % calculate J(x,y)

end

end

end

imwrite(J, 'lena2.jpg', 'jpg');

figure;

imshow(J);

4.1.2 双线性插值算法

设f ( x , y ) 为2个变量的函数, 其在单位正方形顶点的值已知。假设希望通过插值得到正方形内任意点的f ( x , y )值。可以令由双线性方程

来定义的一个双曲抛物面与4 个已知点拟合。

利用公式实现插值:

双线性插值是对待插值象素周围的4个邻近像素的灰度按照距离进行加权平均,实质上是属于一阶插值。双线性插值的平滑作用有可能会使图像的细节产生退化,当放大倍数比较大的时候,这种现象更加明显。同时,双线性插值的斜率不连续也会产生不希望的结果。其实现效果如图4-2所示。

图4-2 双线性插值算法实现效果图

在程序中可以直接调用函数也可自行编写。如自行编写,部分源程序如下:width = K * nrows;

height = K * ncols;

J = uint8(zeros(width,height));

widthScale = nrows/width;

heightScale = ncols/height;

for x = 5:width - 5

for y = 5:height - 5

xx = x * widthScale;

yy = y * heightScale;

if (xx/double(uint16(xx)) == 1.0) & (yy/double(uint16(yy)) == 1.0) % if a and b is integer,then J(x,y) <- I(x,y)

J(x,y) = I(int16(xx),int16(yy));

else

a = double(uint16(xx)); % (a,b) is the base-dot

b = double(uint16(yy));

x11 = double(I(a,b)); % x11 <- I(a,b)

x12 = double(I(a,b+1)); % x12 <- I(a,b+1)

x21 = double(I(a+1,b)); % x21 <- I(a+1,b)

x22 = double(I(a+1,b+1)); % x22 <- I(a+1,b+1)

J(x,y) = uint8( (b+1-yy) * ((xx-a)*x21 + (a+1-xx)*x11) + (yy-b) * ((xx-a)*x22 +(a+1-xx) * x12) ); % calculate J(x,y)

end

end

end

imwrite(J, 'lena2.jpg', 'jpg');

figure;

imshow(J);

4.1.3 双三次插值算法

双三次插值是用待插枝点周围16个点作为参考像素值的一种三阶插值方法,典型的双三次插值核函数是:

这里参考值a不同文献中取值不同,a=一1,a=0.5,a=0.75等等。其实现效果如图4-3所示。

图4-3 双三次插值算法实现效果图

4.2 DCT域插值放大的方法

4.2.1 DCT变换的介绍

离散余弦变换是从二种特殊形式的傅里叶变换转化过来的,是一种性能很好的正交变换方式。离散余弦变换本质上仍然是离散傅立叶变换,二者在频域本质上是相同的。离散余弦变换因其是一种实数变换,其变换矩阵的基向量很好地描述了人类视觉的相关性,接近于最佳变换。因而DCT在图像处理中有很广泛的应用,并成为一些静态图像和视频压缩国际标准的基本处理模块,因而采用DCT 变换可以很方便地应用于压缩域图像和视频中。数字图像可以通过傅里叶变换、离散余弦变换等由空间域转换到频域中表示,通过对频域的处理可以方便实现空间域较难实现的处理。而空间域和频域又存在一定的联系,为数字图像的处理提供了另一种方法。

尺度变换的物理含义就放大意义来讲,如果信号在时域进行扩展,即当O

4.2.2 频域重建的方法

根据图像的表示方法以及以上原理,我们可以仅在频域进行处理就可完成对图像的放大操作。对原图像进行DCT正变换得到图像频域数据F(u,v),将F(u,v)作为目标放大图像的低频部分,并与增强系数(根据放大k倍数变化)相乘,对处理后的频域数据进行DCT逆变换即可得到放大后的图像。

(1)对原始图像数据进行处理,对其作DCT正变换。

(2)对数据在频域上进行处理,得到放大后的频域。若需将图像放大k ×k 倍,则放大后的图像大小为M ×N ,M=[km],N=[kn]([]表示取整运算)。

(3)DCT 反变换,将频域处理的数据恢复为图像空间域原始格式。其流程图如图4-4所示。

图4-4 DCT 放大图像流程图 用DCT 处理图像后的效果图如图4-5所示。

图4-5 频域重建的效果图

部分程序代码如下:

J=dct2(x);%x是读入的图像

[m,n]=size(x)

k=2;

T1=[eye(m);zeros(k.*m-m,m)];

T2=[eye(n);zeros(k.*n-n,n)];

J=T1*J*T2';

J1=k*J;

X=idct2(J);

figure,imshow(log(abs(J-J1)),[]),colormap(jet(64));

%figure,imshow(log(abs(J1)),[]),colormap(jet(64));

figure;

imshow(double(X)/255);

[M,N]=size(X);

4.3 频域分块重建的方法

该算法在对整块图像进行处理时,尽管采用了增强系数对图像亮度效果进行补充,但对整幅图像高频部分预测采用填零方式,在图像像素位数增大即图像信息量增大时这种预测精度不如对图像分块处理后高,且基于JPEG格式图像多采用分成8×8子块分块压缩编码,对上述算法进行改进。改进后的算法,将原始图像数据切割成接近8×8大小子块,对每一子块分别实施DCT放大算法。将图像分解为若干子图像,分别进行DCT变换,大大减小了DCT的计算量,提高了算法处理的速度。其实现效果如图4-6所示。

图4-6 用频域分块重建的效果图

部分源程序代码如下:

x=double(x)/255;

figure(1);

imshow(x);

T=dctmtx(8);

B=blkproc(x,[8 8],'P1*x*P2',T,T');

[m,n]=size(x)

k=2;

T1=[eye(8);zeros(k.*8-8,8)];

B1=blkproc(B,[8 8],'P1*x*P2',T1,T1');

B2=blkproc(B1,[8 8],'P1*x',k);

T2=dctmtx(8.*k);

I=blkproc(B2,[8.*k 8.*k],'P1*x*P2',T2',T2);

figure;

imshow(I);

size(I)

4.4同态滤波器滤波处理

4.4.1 同态滤波器原理

当光照不均匀时, 图像上照度暗的部分细节就难以分辨清楚。但是, 利用光照反射模型的同态滤波方法, 可以消除光照不足带来的影响, 同时又不损失图像的细节。同态滤波增强技术是把频率过滤和灰度变换结合起来的一种图像处理方法, 利用压缩灰度范围和增强对比度来改善图像。

图像从物理过程中产生时, 它的值正比于物理源的辐射能量, 因此, 图像f ( x , y ) 的能量一定是非零且有限的。函数f ( x , y )可由2 个分量来表示: 这2 个分量相应地称为入射分量和反射分量, 分别用i ( x , y )和r ( x , y )表示。那么最后形成的数字图像

f ( x , y )可表示为

f ( x , y ) = i ( x , y ) r ( x , y ) (1)

采用(1)式的成像模型不能直接对照射和反射的频率部分分别进行操作, 因为2 个函数乘积的傅里叶变换是不可分的。即F ( f ( x , y ) ) ≠F ( i ( x , y ) )F( r ( x , y ) ) 。反射分量r ( x , y )反映图像的内容, 它随图像细节的不同在空间作快速变化, 是频域的高频分量。入射分量i( x , y )在空间上常具有缓慢变化的特点, 是频域中的低频分量。采用同态分析方法,就是先对上式两边取对数, 把2 个相乘的分量变为2个相加的分量, 它们分别代表了图像的高频分量和低频分量。假

z ( x , y ) = lnf ( x , y ) = lni ( x , y ) + lnr ( x , y ) (2)

两边取傅里叶变换, 那么有

F( z ( x , y ) ) = F( lni ( x , y ) ) + F( lnr ( x , y ) )(3)

即Z( u, v) = Fi( u, v ) + Fr ( u, v ) (4)

(4)式表明, 照明分量的频谱可以与反射分量的频谱分离开。根据它们反映的空间变化特征, 照明分量的频谱基本上位于低频部分, 反射分量的频谱位于高频部分。这时, 增强技术都可用于求解这2 个分量。

典型的同态滤波法是: 原图先经对数变换和快速傅里叶变换, 变为频率域中的2 个分离的变量, 然后根据不同需要, 选用不同的传递函数实现不同的增强。经过频域处理的图像再经快速傅里叶逆变换及指数变换, 就可得到增强的图像。

用滤波函数H ( u, v) 对Z( u, v) 进行处理, 那么从(4)式可得:

S( u, v ) = H ( u, v) Z( u, v ) =H ( u, v) Fi( u,v) + H (u,v) F r (u, v)(5)

这样, 选择适当的滤波函数H ( u, v ) 就可以对图像中照明分量的反射分量进行不同程度的处理,使照度不均匀的图像获得良好的改善。滤波后做反变换, 得:

s( x ,y ) = F1 (S( u, v)) = F 1( H( u,v)×Fi( u,v) + H ( u, v) F r( u,v)) (6)

逆傅里叶变换到空域, 再将上式两边取指数, 最后取对数得到滤波后图像的同态滤波函数。

利用照明反射模型处理一幅图像属于同态滤波技术, 同态滤波器H ( u, v)滤波示意图如下图所示。同态滤波最关键的是用(3)式将照射分量和反射分量分开, 用同态滤波器对其进行处理。同态滤波器的过程如图4-7所示:

图4-7同态滤波器工作过程

4.4.2 同态滤波函数的确定

以Rh 代表高频增益, Rl代表低频增益, D( u,v )表示频率( u,v)距滤波器中心( u0,v0) 的距离。当Rh> 1, Rl< 1时,该滤波函数能同时抑制照明分量和增强反射分量,从而满足动态范围压缩和对比度增强两种效果要求。处理目的不同, 可构造不同的滤波器。

频域内经常使用的高通滤波器为高斯型高通滤波器,

对高斯型高通滤波器稍加修改, 可得以下高斯型同态滤波函数: H ( u, v) = ( Rh- R l) [ 1- exp( c*(-D (u ,v ) / D0^2)))) + Rl(1)

传统的同态滤波函数如图4-8所示。

图4-8传统的同态滤波函数

该同态滤波函数如图4-9所示。

图4-9高斯型同态滤波函数图像

5 总结与体会

为期两周的课设很快接近尾声了,基于MATLAB的设计已按计划如期全部完成,通过这次课程设计,我对课堂上所学到的理论知识的理解加深了许多,自己动脑、动手设计的能力也得到了较大提高。在这次课程设计的过程中,我对MATLAB语言有了更深的认识。现在仔细想想,这次课程设计使得我对MATLAB语言的理解与应用能力得到了较大的提升,也让我认识到只要深入学习,提升的空间永远是存在的。在设计的过程中我遇到了一些问题,如:编写源程序中出现了语法错误等。通过查阅书本和以前设计的程序我发现了产生错误的原因并解决了问题完成了设计。动手实践是理论知识得以灵活运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并根据自己对课堂上获得的专业知识的理解来解决才能真正的提高自己的能力。

在这次课程设计过程中,感触很深,由于对MATLAB图像处理的函数不熟悉,导致自己走了很多弯路,imshow函数和image函数都可以实现显示图像的功能,但是imshow针对double型的变量取值范围为0-1,而image针对unit8型的变量,取值范围为0~255,由于对这个区别不明晰,导致生成全白的图像。由于全局变量的使用不合理导致调用的时候出现错误。还有利用小波函数进行超分辨率重建时由于忽略了对变换后的低频以及高频矩阵的大小而直接进行重建导致矩阵大小不匹配而报错,并且无法实现规定大小的缩放比例。对图像的DCT域进行块处理时,由于对DCT域矩阵放大后而直接采用8*8块处理导致图像出现大量黑色网格,未注意到放大后对处理块大小的影响导致了不必要的错误。

在理工科的专业应用背景下,用matlab进行相关计算与仿真编程的优势非常突出。特定的问题处理算法,我们通常都以.M文件的文本形式给定最终的解决方案,利用matlab强大的运算能力,通过设计GUI界面,使操作变得简单易行,可视化效果非常好。通过本次课程设计,使自己对MATLAB GUI设计流程有了比较深刻的体会,同时也了解了一般软件设计的过程。在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。

参考文献

[1] 章毓晋.图像处理和分析教程.北京.人们邮电出版社,2009

[2] 龚声蓉.数字图像处理与分析. 北京.清华大学出版社,2006

[3] 张强王正林.精通MATLAB图像处理.北京.电子工业出版社,2009

[4] 姚敏.数字图像处理. 北京.机械工业出版社,2006

[5] 李显宏.MATLAB7.x界面设计与编程技巧.北京. 电子工业出版社,2006

[6] Kenneth R.Castleman著,朱志刚等译,数字图像处理,电子工业出版社,2006

附录

空域重建程序

function[ ]=kong() %空域处理

S=imread('lena.bmp');

[row,line]=size(S);

S_new=S(1:2:row,1:2:line,:); %下采样

subplot(2,2,1);

imshow(S_new);title('低分辨图');

S1=imresize(S_new,2,'nearest'); %最邻近插值

subplot(2,2,2);imshow(S1);title('最邻近插值');

S2=imresize(S_new,2,'bilinear'); %双线性插值

subplot(2,2,3);imshow(S2);title('双线性插值');

S3=imresize(S_new,2,'bicubic'); %三次线性插值

subplot(2,2,4);imshow(S3);title('三次插值');

频域重建程序

function[ ]=pinyu1()

A=imread('lena.bmp');

[row,line]=size(A);

B=A(1:2:row,1:2:line,:); %下采样

J=dct2(B); %将图像变换到频域

subplot(221),imshow(J,colormap(jet(64)));title('128*128DCT图像');

[m,n]=size(B); %利用矩阵的乘法将图像放大

k=2;

T1=[eye(m);zeros(k.*m-m,m)]; %创建256*128的的单位阵和零阵T2=[eye(n);zeros(k.*n-n,n)]; %创建256*128的的单位阵和零阵J=T1*J*T2'; %将图像在DCT域放大两倍,因为原来的图像128*128,现在通过矩阵变换将图像放大到256*256

J1=k*J;

subplot(222),imshow(J1,colormap(jet(64)));title('256*256DCT图像');

I=double(J1);%通过同态滤波器将图像加强

[M,N]=size(I);%获得图片的大小

rL=0.85;

rH=1.02; % 可根据需要效果调整参数

c=1.1;

d0=10;

I1=log(I+1); %取对数

FI=fft2(I1); %傅里叶变换

FI=fftshift(FI); %将FFT变换后的图片中心移到图像中心n1=floor(M/2);

n2=floor(N/2);

for i=1:M

for j=1:N

D(i,j)=((i-n1).^2+(j-n2).^2);

H(i,j)=(rH-rL).*(1-exp(c*(-D(i,j)./(d0^2))))+rL; %高斯同态滤波

end

end

FI=H.*FI; %进行滤波

FI=fftshift(FI); %将滤波后的图像中心移回来

I2=ifft2(FI); %傅里叶逆变换

I3=real(exp(I2)); %用幂变换将图象恢复过来

subplot(223),

imshow(I3,[]); title('滤波后DCT图像');

A4=idct2(I3); %将图像变换到空域

subplot(224),

imshow(A4,[]); title('同态滤波增强后图像');

频域分块重建程序

function pinyu2()%完成频域分块并重建

A=imread('lena.bmp');

[row,line]=size(A);

B=A(1:2:row,1:2:line,:);

x=double(B)/255;

subplot(221),

imshow(x);title('低分辨率图像');

T=dctmtx(8); %计算dct变换矩阵

B=blkproc(x,[8 8],'P1*x*P2',T,T'); %将图像进行dct变换

subplot(223);imshow(B);

title('8*8DCT图像');

T1=[eye(8);zeros(8,8)]; %频域放大矩阵,由单位阵和零阵构成

B1=blkproc(B,[8 8],'P1*x*P2',T1,T1');%将图像进行频域放大两倍

subplot(224);imshow(B1);title('16*16DCT图像');

k=2; %放大两倍

B2=blkproc(B1,[8 8],'P1*x',k); %增强图像输出的灰度值放大二倍

T2=dctmtx(16); %获得反变换矩阵,此时应该是16*16矩阵

I=blkproc(B2,[16 16],'P1*x*P2',T2',T2);%将图像变换到空域

h4=fspecial('gaussian',[3,3],0.5); %高斯低通滤波3*3

I=filter2(h4,I);

subplot(222),

imshow(I);

title('滤波后的图像');

设计界面的程序

function[ ]=zuizhong()

set(gcf,'name','图像重建','numbertitle','off',...

'unit','normalized','position',[0.05,0.1,0.9,0.75],...

'menubar','none');

K=0;

while (K<6) % 菜单选择

K=menu('图像重建处理菜单','空域重建','频域重建','频域分块','五种对比','Close');

switch K % 选择滤波算法

case 1

kong();

case 2

pinyu1();

case 3

pinyu2();

case 4

sanzhongduibi();

case 5

clear;close;clc;

end

end

图像超分辨率重建

收稿日期:2008唱08唱21;修回日期:2008唱10唱28 作者简介:王培东(1953唱),男,黑龙江哈尔滨人,教授,硕导,CCF会员,主要研究方向为计算机控制、计算机网络、嵌入式应用技术;吴显伟(1982唱),男(回族),河南南阳人,硕士,主要研究方向为计算机控制技术(wu_xianwei@126.com). 一种自适应的嵌入式协议栈缓冲区管理机制 王培东,吴显伟 (哈尔滨理工大学计算机科学与技术学院,哈尔滨150080) 摘 要:为避免创建缓冲区过程中必须指定大小和多次释放而导致可能的内存泄露和代码崩溃的弊端,提出一种自适应的嵌入式协议栈的缓冲区管理机制AutoBuf。它是基于抽象缓冲区接口而设计的,具有自适应性,支持动态内存的自动分配与回收,同时实现了嵌入式TCP/IP协议栈各层之间的零拷贝通信。在基于研究平台S3C44B0X的Webserver网络数据监控系统上的测试结果表明,该缓冲区的设计满足嵌入式系统网络通信的应用需求,是一种高效、可靠的缓冲区管理机制。 关键词:嵌入式协议栈;抽象缓冲区;零拷贝;内存分配 中图分类号:TP316 文献标志码:A 文章编号:1001唱3695(2009)06唱2254唱03doi:10.3969/j.issn.1001唱3695.2009.06.077 Designandimplementationofadaptivebufferforembeddedprotocolstack WANGPei唱dong,WUXian唱wei (CollegeofComputerScience&Technology,HarbinUniversityofScience&Technology,Harbin150080,China) Abstract:Toavoidtraditionalmethodofcreatingbuffer,whichmusthavethesizeofbufferandfreememoryformanytimes,whichwillresultinmemoryleaksandcodescrash.ThispaperproposedaflexiblebuffermanagementmechanismAutoBufforembeddednetworkprotocolstack.Itwasadaptiveandscalableandbasedonanabstractbufferinterface,supporteddynamicme唱moryallocationandbackup.ByusingtheAutoBufbuffermanagementmechanismwithdatazerocopytechnology,itimplementedtotransferdatathroughtheembeddednetworkprotocolstack.ThemanagementmechanismhadbeenappliedtotheWebserversystembaseonS3C44b0Xplatformsuccessfully.Theresultsinrealnetworkconditionshowthatthesystemprovidesagoodper唱formanceandmeetsthenecessaryofembeddednetworksystem.Keywords:embeddedstack;abstractbuffer;zero唱copy;memoryallocation 随着网络技术的快速发展,主机间的通信速率已经提高到了千兆数量级,同时多媒体应用还要求网络协议支持实时业务。嵌入式设备网络化已经深入到日常生活中,而将嵌入式设备接入到互联网需要网络协议栈的支持。通过分析Linux系统中TCP/IP协议栈的实现过程,可以看出在协议栈中要有大量数据不断输入输出,而管理这些即时数据的关键是协议栈中的缓冲区管理机制,因此对嵌入式协议栈的缓冲区管理将直接影响到数据的传输速率和安全。通用以太网的缓冲区管理机制,例如4.4BSDmbuf [1] 和现行Linux系统中的sk_buf [2] 多是在大内存、 高处理速率的基础上设计的,非常庞大复杂。由于嵌入式设备的硬件资源有限,特别是可用物理内存的限制,通用的协议栈必然不适用于嵌入式设备,在应用时要对标准的TCP/IP协议进行裁剪 [3] 和重新设计缓冲区管理机制。 1 缓冲区管理机制的性能需求分析 缓冲区管理 [4] 是对内存提供一种统一的管理手段,通过该 手段能够对可用内存提供分配、回收、数据操作等行为。内存的分配操作是根据一定的内存分配策略从缓冲区中获得相应大小的内存空间;缓冲区的数据操作主要是向缓冲区写数据,从缓冲区读数据,在缓冲区中删除数据,对空闲的内存块进行合并等行为;内存的回收就是将已空闲的内存重新变为可用内存,以供存 储其他新的数据。 为了满足长度不一的即时数据的需求,缓冲区对内存的操作主要集中在不断地分配、回收、合并空闲的内存块等操作。因为网络中的数据包小到几个字节大到几千个字节,不同长度的数据对内存的需求必然不同。现存嵌入式设备中的内存多是以物理内存,即实模式形式存在的,没有虚拟内存的形式,对内存的操作实际是操作真实的物理内存,所以对内存操作要特别谨慎。在传统使用动态分配的缓冲区(通过调用malloc()/free())在函数之间传递数据。尽管该方法提供了灵活性,但它也带来了一些性能影响。首先考虑对缓冲区的管理(分配和释放内存块)。如果分配和释放不能在相同的代码位置进行,那么必须确保在某个内存块不再需要时,释放一次(且仅释放一次)该内存块是很重要的,否则就会导致内存泄露。其次是必须确定缓冲区的大小才能分配该内存块。然而,确定数据大小并非那么容易,传统做法是采用最大的数据尺寸的保守估计。而采用保守估计预分配的内存大小总是远超过实际需要的大小,而且没有一定的范围标准,这样难免会导致资源的严重浪费。 随着数据在协议栈中的不断流动,内存块的多次释放和多次分配是难以避免的,而保守估计对于有限的资源来说又是一种浪费的策略。因此为了能有效地利用资源,设计一种可自控的、不用预判断大小的数据缓冲区接口就势在必行。 第26卷第6期2009年6月  计算机应用研究 ApplicationResearchofComputers Vol.26No.6Jun.2009

图像超分辨率重建处理算法研究概要

第4l卷第ll期 2011年11月 激光与红外 LASER &INFRARED V01.41,No.11 November,2011 文章编号:1001-5078(201111-1278-04 图像超分辨率重建处理算法研究 ?图像与信号处理? 万雪芬1,杨义2,崔剑3 (1.华北科技学院,河北三河065201;2.东华大学,上海201620;3.北京航空航天大学,北京100191 摘要:超分辨算法为实现图像和视频分辨率提高的一种方法。其广泛应用于数字电视、医学图像处理、军事与遥感等领域。超分辨率图像通过融合多帧相似的低分辨率图像达到提高图像细节的目的。本文对使用较为普遍的频域方法、非均匀差值算法、凸集投影算法、迭代反投 影算法、最大后验概率方法及基于学习的方法进行了分析,并简要讨论了超分辨算法未来的发展方向。 关键词:图像处理;超分辨率;低分辨率重建 中图分类号:TP751文献标识码:A DOI:10.3969/j.issn.1001-5078.2011.11.023 Research on super-resolution image reconstruction WAN Xue—fenl,YANG Yi2,CUI Jian3

(I.Nordl China Institute of Science and Technology,Sanhe 065201,China;2.Donghua University,Shanghai 201620,China; 3.Beihang University,Beijing 100191,China Abstract:Super-resolution image reconstruction is a technique to reconstruct high resolution image or video from a 8e- quence of low resolution images.It has been widely used in digital TV,medicinal processing,military and remote剐m8一 ing.The super resolution method is summarized in this paper.Some super resolution image reconstructions ale dis— cussed for super-resolution image reconstruction.The tendency and development prospect a弛also discussed. Key words:image processing;super resolution;low resolution image reconstruction l 引言 近年来,数字图像采集技术已被广泛应用于工控、安监、军事与消费等领域。但由于价格成本因素限制,很多情况下通过低端图像采集设备获得的图片质量与分辨率较低,往往不能满足实际的要求。利用一系列相似的低分辨的图像,经过超分辨率技术的处理,可以得到一幅分辨率较高、包含信息较多的图像。这个处理过程就是超分辨率重建。采用超分辨率技术可以在不更换原有设备的前提下,提高图像的分辨率、改善图像的质量。 超分辨率技术用途较为广泛。在数字电视领域,可以利用超分辨率重建技术将数字电视信号转化为与高清晰度电视接收机相匹配的信号,提高观众的体验。在医疗领域,提高医学图像的分辨率,可以帮助医生做出正确的诊断。在军事、气象领域,通过侦查卫星与气象卫星获得图片的分辨率通常难以达到人们期望的分辨率级别,使用超分辨率技术,通过对观测结果做后期处理,可以更好地识别目标,更好地服务于军事安全和日常生活。

【CN110148085A】人脸图像超分辨率重建方法及计算机可读取的存储介质【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910323776.X (22)申请日 2019.04.22 (71)申请人 智慧眼科技股份有限公司 地址 100193 北京市海淀区昆明湖南路51 号中关村军民融合产业园C座207 (72)发明人 刘蒸蒸 刘伟华  (74)专利代理机构 长沙智嵘专利代理事务所 (普通合伙) 43211 代理人 刘宏 (51)Int.Cl. G06T 3/40(2006.01) (54)发明名称 人脸图像超分辨率重建方法及计算机可读 取的存储介质 (57)摘要 本发明公开了一种人脸图像超分辨率重建 方法。本发明的人脸图像超分辨率重建方法,独 创性地提取了两种人脸语义先验知识,将两种人 脸先验信息和人脸超分辨率重建网络的编码部 分拼接合并后作为人脸超分辨率重建网络的解 码部分的输入,确保了重构的人脸图像包含更多 的人脸先验信息,并且将人脸超分辨率重建网络 和多任务人脸语义先验知识提取网络共同作为 生成对抗网络的生成器,使得重建后的高分辨率 人脸图像更加真实逼真,执行速度也很快,对于 不同程度低分辨率的人脸图像都具有良好的鲁 棒性。本发明的人脸图像超分辨率重建方法,对 于由于采集设备和环境以及网络传输介质、图像 压缩等因素引起的低分辨率图像的超分辨率重 建具有良好的应用效果。权利要求书3页 说明书8页 附图5页CN 110148085 A 2019.08.20 C N 110148085 A

1.一种人脸图像超分辨率重建方法,用于对低分辨率人脸图像进行超分辨率重建处理,其特征在于, 包括以下步骤: 步骤S1:采用多任务人脸语义先验知识提取网络提取低分辨率人脸图像的两种人脸先验信息,两种人脸先验信息分别为face parsing maps和face landmark heatmaps; 步骤S2:构建人脸超分辨率重建网络,人脸超分辨率重建网络包括解码部分和编码部分; 步骤S3:将提取的两种人脸先验信息和人脸超分辨率重建网络的编码部分拼接合并后作为人脸超分辨率重建网络的解码部分的输入; 步骤S4:将人脸超分辨率重建网络的解码部分和编码部分、以及多任务人脸语义先验知识提取网络共同作为生成对抗网络的生成器G,并构建判别器D进行对抗训练,同时构建人脸超分辨率重建网络的整体损失函数; 步骤S5:输入低分辨率人脸图像并采用Adam最优化方法迭代更新人脸超分辨率重建网络的参数; 步骤S6:重复执行步骤S5直至整体损失函数收敛,并保存网络模型和参数。 2.如权利要求1所述的人脸图像超分辨率重建方法,其特征在于, 所述步骤S1中的多任务人脸语义先验知识提取网络通过以下步骤构建: 步骤S11:采用3个Residual模块和2个Hour -Glass模块并结合skip connection机制构建多任务人脸语义先验知识提取网络; 步骤S12:初始化多任务人脸语义先验知识提取网络的参数,并构建基于像素级别L2范数的损失函数,然后采用Adam最优化方法训练网络,保存训练好的模型。 3.如权利要求2所述的人脸图像超分辨率重建方法,其特征在于, 所述基于像素级别L2范数的损失函数为 其中,p truth 表示真实的人脸先验信息,p estimate 表示多任务人脸语义先验知识提取网络估计的人脸先验信息。 4.如权利要求2所述的人脸图像超分辨率重建方法,其特征在于, 所述步骤S11具体包括以下步骤: 步骤S111:先利用双线性插值算法对输入的低分辨率人脸图像进行重建,再将重建后得到的人脸图像输入至卷积核为7*7、步长为2的“CONV -BN -ReLU ”卷积结构,“CONV -BN -ReLU ”卷积结构输出人脸图像; 步骤S112:将“CONV -BN -ReLU ”卷积结构输出的人脸图像输入至3个Residual模块,Residual模块的卷积核为3*3、步长为1,Residual模块输出人脸图像; 步骤S113:将Residual模块输出的人脸图像输入至2个Hour -Glass模块,Hour -Glass模块输出人脸图像; 步骤S114:采用两个单独的1*1卷积核对Hour -Glass模块输出的人脸图像进行多任务人脸语义先验信息提取,分别输出表示face parsing maps的特征图和表示face landmark 权 利 要 求 书1/3页2CN 110148085 A

图像超分辨率重建技术的研究背景意义及应用

图像超分辨率重建技术的研究背景意义及应用图像超分辨率重建技术的研究背景意义及应用 1 研究背景及研究意义 2 图像超分辨率重建的应用 1 研究背景及研究意义 伴随着计算机技术、信息处理技术和视觉通信技术的高速发展,人类进入了一个全新的信息化时代。人们所能能够获取的知识量呈爆炸式的增长,因此迫切的要求信息处理技术不断的完善和发展,以便能够为人们提供更加方便、快捷和多样化的服务。数字图像及其相关处理技术是信息处理技术的重要内容之一,在很多领域得到了越来越广泛的应用。对于数字图像在一些情况下一般要求是高分辨图像,如:医学图像要求能够显示出那些人眼不能辨别出的细微病灶;卫星地面要求卫星图像至少能够辨别出人的脸相甚至是证件;有些检测识别控制装置需要足够高分辨率的图像才能保证测量和控制的精度。因此提高图像分辨率是图像获取领域里追求的一个目标。 1970年以来,CCD和CMOS图像传感器广泛的被用来获取数字图像,在很多的 应用场合,需要获取高分辨图像,提高图像分辨率最直接的方法是提高成像装置的分辨力,但是受传感器阵列排列密度的限制,提高传感器的空间分辨率越来越难,通常采用的方法是减少单位像素的尺寸(即增加单位面积内的像素数量),对于数字摄机,比如CCD,就是减少其传感单元的尺寸从而提高传感器的阵列密度,使其能够分辨出更多场景细节。但是这样将导致数字摄像机的价格大幅度提高。技术工艺的制约也限制了图像分辨率的进一步提高。事实上随着像素尺寸的减少,每个像素接收到的光照强度也随之降低,传感器自身的噪声将严重影响图像的质量,造成拍摄的影像信噪比不高,因此,像素尺寸不可能无限制的降低,而是有下限的,当CCD传感器阵列密度增加到一定程度时,图像的分辨率不但不会提高反而会下降,

图像超分辨率重建--图像处理课程设计

目录 1 课程设计目的 (1) 2图像处理系统设计内容及要求 (2) 2.1设计内容 (2) 2.2设计要求 (2) 3 设计方案 (3) 4 功能模块的具体实现 (5) 4.1 空域插值放大的方法 (5) 4.1.1 最邻近插值算法 (5) 4.1.2 双线性插值算法 (6) 4.1.3 双三次插值算法 (7) 4.2 频域重建的方法 (8) 4.2.1 DCT变换的介绍 (8) 4.2.2 DCT放大图像放大算法原理 (8) 4.3 频域分块重建的方法 (10) 4.4 同态滤波器滤波处理 (11) 4.4.1 同态滤波器原理 (11) 4.4.2 同态滤波函数的确定 (12) 5 总结与体会 (14) 参考文献 (15) 附录 (16)

1课程设计目的 MATLAB7.0软件。MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。通过用MATLAB 对图像进行处理,以实现以下目的。 1.培养严谨的科学态度,正确的设计思想,科学的设计方法和良好的工作作风。 2.培养独立思考的能力,独立检索资料、阅读文献、综合分析、计算机应用、数据及文字处理等能力。 3.培养综合运用基础理论、基本知识的能力。通过课程设计得到工程设计的初步锻炼。

图像超分辨率重建算法研究 文献综述

毕业设计(论文)题目:图像超分辨率重建算法研究 专业(方向):电子信息工程 文献综述 1.引言 超分辨率概念最早出现在光学领域。在该领域中,超分辨率是指试图复原衍射极限以外数据的过程。Toraldo di Francia在1955年的雷达文献中关于光学成像第一次提出了超分辨率的概念。复原的概念最早是由J.L.Harris和J.w.Goodman分别于1964年和1965年提出一种称为Harris-Goodman频谱外推的方法。这些算法在某些假设条件下得到较好的仿真结果,但实际应用中效果并不理想。Tsai &Huang首先提出了基于序列或多帧图像的超分辨率重建问题。1982年D.C.C.Youla和H.Webb在总结前人的基础上,提出了凸集投影图像复原(Pocs)方法。1986年,S.E.Meinel提出了服从泊松分布的最大似然复原(泊松-ML)方法。1991年和1992年,B.R.Hunt和PJ.Sementilli在Bayes分析的基础上,提出了泊松最大后验概率复原(泊松-MAP)方法,并于1993年对超分辨率的定义和特性进行了分析,提出了图像超分辨率的能力取决于物体的空间限制、噪声和采样间隔。 伴随着计算机技术、信息处理技术和视觉通信技术的高速发展,人类进入了一个全新的信息化时代。人们所能够获取的知识量呈爆炸式的增长,因此迫切的要求信息处理技术不断的完善和发展,以便能够为人们提供更加方便、快捷和多样化的服务。数字图像及其相关处理技术是信息处理技术的重要内容之一,在很多领域得到了越来越广泛的应用。对于数字图像在一些情况下一般要求是高分辨图像,如:医学图像要求能够显示出那些人眼不能辨别出的细微病灶;卫星地面要求卫星图像至少能够辨别出人的脸相;有些检测识别控制装置需要足够高分辨率的图像才能保证测量和控制的精度。因此提高图像分辨率是图像获取领域里追求的一个目标。但是通过改善成像装置硬件的分辨力来提高图像的分辨能力是有限的也是不切实际的。因此,需要一种有效的方法来克服图像传感器的这些限制。 解决这一问题的一个实用而有效的方法就是图像的超分辨率重构技术,其不需要昂贵的图像获取设备,只需要通过计算机软件的处理就能获得更高分辨率的图像。因此,用该方法来提高图像分辨率所需要的代价很低。 2.超分辨率图像重构算法研究现状以及优缺点 目前,国内外对超分辨率的研究较突出的有:美国加州大学多维信号处理研究小组的PeymanMilanfar 等提出了大量的实用算法和集成各种算法的超分辨率图像恢复软件包;美国Dayton大学和Wright实验室对红外CCD相机进行了机载试验,利用20幅低分辨率的红外图像,取得了分辨率提高近5倍的实验结果。香港R. F. Chars等研究了超分辨率图像恢复的有效预处理共扼梯度迭代算法。以色列耶鲁撒冷大学M.Elad 等对存在任意运动的图像序列,以及动态的和彩色的多媒体等的超分辨率恢复进行了研究。以色列的

相关文档