基于ZedBoard的超分辨率视频复原系统

2015-05-29 09:20王源圆苏秉华邱文胜
应用光学 2015年4期
关键词:低分辨率PC机复原

王源圆,苏秉华,2,邱文胜

(1.北京理工大学 光电学院,北京100081;2.北京理工大学 珠海学院,广东 珠海519085;3.深圳大学 光电工程学院,广东 深圳518060)

引言

近年来,随着数字媒体技术的发展,人们对高分辨率视频和图像的需求越来越强烈,尤其在医学成像、军事信息采集、公共安全、遥感图像等领域,对视频和图像的分辨率要求很高。要提高所得图像和视频的分辨率,传统方法是通过选用高分辨率的成像器件、增加光学镜头的孔径和焦距来实现,但是这种方法受到器件工艺、成本、研发周期等限制。超分辨率图像复原技术正是在这种情况下应运而生[1],通过对低分辨率图像进行处理,恢复图像中的细节和信息,在不改变硬件条件的情况下提高所得视频和图像的分辨率。

1 超分辨率复原算法

1.1 几种非线性算法

1.1.1 Bayes分析法

Bayes分析法是一种非线性随机统计复原方法,其基本思想是:假设图像是一个随机场,因此可把原物f(x,y)和退化图像g(x,y)均看作随机场,在图像为g的条件下原物f的概率为

式中:P(f/g)被称为后验概率;P(g/f)为已知原物f是图像g的概率;P(f)、P(g)分别为f、g的先验概率。在已知图像g的情况下,原物f的最优估计可以表示为[1]

两边同时取对数,则(2)式等价于:

对(3)式求最大的方法:

1)最大后验概率法(MAP)

导数等于0时为最大后验概率下的目标估值。

各种最大后验概率估计算法的差别主要在于先验模型的选择,其中典型的是 Huber-Markov[2]模型及其改进形式[3]。

2)最大似然法(ML)如果取:

所求得的f为最大似然估计下的目标估值,最大似然法可以看成是最大后验概率法的一种特殊情况。

1.1.2 凸集投影法

凸集投影法[4,12](POCS-projection onto convex sets)是一种利用先验知识来提高复原质量的方法,把每个先验知识都定义为一个闭凸集,那么图像复原的解就是这些闭凸集的交集,POCS就是把空间中的任意一点投影到这个交集上的过程。计算中,一般先对图像进行双线性插值作为初始估计图像,然后从估计图像上的某一点开始,将当前估计值投影到凸集上,判断该估计值是否满足所有的约束,若不满足,则将其残差反投影到估计图像上进行修正,通过多次迭代使最终得到的解落在交集上。

POCS的优点在于简单直观,能够将各种灵活的空域观测模型、运动模型、降质模型综合考虑到其中,利用各种先验知识对图像进行复原。缺点在于解的不唯一性,对初始值具有较强的依赖性,并且由于需要对图像进行多次迭代,所以计算量较大,很难完成实时处理。

1.2 基于小波变换的超分辨率复原

小波变换是一种工具,它把数据、函数或算子分解成不同频率下的成分,然后再用分解的方法去研究对应尺度下的成分[5]。要使图像放大,最常用的是对图像进行插值[6]。所谓图像插值是利用已知的相邻像素灰度值计算未知像素点灰度值,使原始图像生成高分辨率图像[7],传统的插值方法有:最近邻域插值、双线性插值和双立方的插值。这3种插值方法都是利用相邻像素灰度值的连续性来实现的,计算量不大,但由于插值算子具有低通特性,图像插值后经常会出现方块效应或细节退化(边缘模糊)[8],而我们的方法就是要利用小波变换消除这种细节退化。

由于离散小波变换(DWT)具有平移不变性和冗余性这2个特性,使得其系数具有内在可插值性的可能[9]。因此,算法中选取离散小波变换(DWT)来保持图像的高频信息。与此同时,我们还使用另外一种小波变换即平稳小波变换(SWT)。SWT与DWT相似,只是没有经过下采样,所以其得到的子图像与原图像尺寸是相同的。DWT的下采样,会造成子图像信息的部分丢失,使用平稳小波弥补这些丢失的信息。

图1是本文选择的算法的流程框架图。首先输入低分辨率图像并插值放大,然后对放大图像进行离散小波变换(使用Haar小波基),得到4个对应的子图像LL、LH、HL、HH[10],与此同时,对原始低分辨率图像进行平稳小波变换(SWT),也获得4个对应的子图像LL、LH、HL、HH。LL是图像的低频成分,包括了图像的大部分信息,LH、HL、HH是图像的高频信息。将平稳小波变换(DWT)和离散小波变换(SWT)得到的高频图像信息进行修正后再与低频图像进行小波重构得就可以获得高分辨率图像。备访问提供了通用接口,V4L2驱动的video设备节点路径通常为/dev/videoX。利用V4L2采集视频的过程如图3表示。

图1 基于小波变换的超分辨率复原算法框图Fig.1 Block diagram of super-resolution restoration algorithm based on wavelet transform

图2 超分辨率视频复原系统Fig.2 Super-resolution video restoration system

图3 V4L2视频采集流程Fig.3 V4L2 video capture process

2 系统组成

ZedBoard上使用的操作系统采用嵌入式Linux操作系统,该Linux系统是Digilent官网给出的一个完整的、ZedBoard可运行的Linux系统[11],包含了ZedBoard上的几个重要的设备驱动如串口、USB、以太网、OLED、HDMI等。当Linux在ZedBoard上运行起来后,ZedBoard就是一个小型的嵌入式系统,使用SDK及Xilinx ARM Linux工具链(arm-xilinx-linux-gnueabi)编译生成的可执行文件可以在这个系统执行。整个超分辨率复原系统由3部分组成:视频采集、视频处理以及输出显示。先通过USB摄像头采集视频,在ZedBoard中经过转换格式、超分辨率复原等处理后由HDMI输出,最终显示到显示器上,如图2所示。

视频采集利用V4L2(video for Linux 2)来完成。V4L2是V4L的升级版,它是Linux内核中关于视频设备的内核驱动,它为Linux中视频设

首先使用open函数打开设备,这个过程和访问普通设备一样。配置设备,使用VIDIOC_QUERYCAP查询驱动功能,主要检查一下是否为视频采集设备V4L2_CAP_VIDEO_CAPTURE以及是否支持流IO操作V4L2_CAP_STREAMING;使用VIDIOC_S_FMT设置像素格式,使用摄像头支持的YUYV格式。然后配置内存,使用VIDIOC_REQBUFS和结构体 V4L2_requestbuffers申请缓存区,并将mmap申请到的缓存区映射到用户空间。使用VIDIOC_STREAMON即可开始采集视频,使用命令VIDIOC_DQBUF来读取缓存区,VIDIOC_QBUF来更新缓存区。要停止采集的时候,先使用VIDIOC_STREAMOFF停止采集,然后munmap取消缓存的映射,并关闭设备。

图像采集完成后即可开始图像处理过程,由于从缓存中取出来的数据是YUYV格式,为了方便接下来处理,我们先把它转化为RGB24,然后对这张图的R、G、B 3个分量进行超分辨率复原,复原结果得到的R、G、B三个分量结合起来就是我们超分辨率复原得到的结果。使用小波的方法来进行超分辨率复原,并同时使用双线性插值、双立方插值得到了结果,比较它们的复原效果。最后,使用Qt制作的图形用户界面将处理得到的结果在显示器上显示出来,为了在图形用户界面中显示视频,使用QLabel、QPixmap和loadfromdata函数将采集的数据转为QPixmap中的数据,并显示到QLabel上。当新的一帧图像显示时,触发paintEvent事件,重绘QLabel中的内容,于是就能在界面上看到连续的视频了,为了方便比较处理效果,我们还同时将处理前的低分辨率视频显示到了图形用户界面中。

3 测试结果

对超分辨率算法的效果进行测试,测试方法:1)采用一幅高分辨率图像作为原图像;2)利用插值或降采样等方法将原图像长宽均缩小到原来的1/2,同时添加噪声获得低分辨率降质图像;3)使用不同的算法将低分辨率图像进行超分辨率复原处理,得到复原图像;4)通过复原图像与原图像的比较,求出它们的均方差(MSE)与峰值信噪比(PSNR)。由均方差(MSE)和峰值信噪比(PSNR)的定义我们知道,MSE越小,PSNR越大,则复原图像越接近原图,复原的效果越好。在PC机上,我们使用了双线性插值、双立方插值与小波变换复原算法,分别处理了多张图像,其复原结果如图4、图5及表1所示。

为了验证移植后的算法能否保持复原效果,我们将小波变换算法分别移植到ZedBoard和Tiny210系统上对Lena图像进行处理,其处理结果如表2和图6所示。

图4 Lena复原结果Fig.4 Restoration results of Lena

图5 复原结果Fig.5 Restoration results of Baoon

表1 PC机算法效果对比Table 1 Contrast of algorithms effect in PC

表2 不同平台下复原效果对比Table 2 Comparison of restoration effect in different platforms

图6 不同平台下的处理结果Fig.6 Restoration results in different platforms

可以看出,在ZedBoard上的处理结果与Tiny210上的处理结果相同,而与PC机上处理结果的PSNR仅有0.1331的差异,在误差范围内,这是由于ARM与PC上的CPU架构不同所导致的误差。

为了验证小波变换算法对彩色图像的复原效果,在PC机上对彩色Lena和Baboon图像进行了处理。处理方式为先将图像分为R、G、B 3个通道分别进行小波复原处理,然后将处理后的3个通道组合为复原图像。处理后的复原效果如表3所示,处理后的图像如图7所示。可以看出,彩色图像的复原效果略差于灰度图,这是由于R、G、B 3个分量的误差相叠加所导致的。

图7 彩色图像复原结果Fig.7 Restoration results of color images

表3 彩色图像复原结果Table 3 Restoration results of color images

基于ZedBoard的超分辨率视频复原系统的构建过程如下:先将嵌入式Linux系统移植到ZedBoard开发板上,然后将编译生成的Qt运行库镜像挂载到嵌入式Linux操作系统上,为Qt应用程序搭建运行环境。运行环境搭建完成后,就可以运行我们编译生成的Qt应用程序,在HDMI输出口所连接的显示器上显示摄像头实时拍摄的视频图像以及经过超分辨率复原放大之后的视频图像,如图8所示。

4 结论

图8 超分辨率视频复原系统显示效果Fig.8 Display of super-resolution video restoration system on ZedBoard

本系统基于ZedBoard开发板上的轻量级嵌入式Linux操作系统,利用V4L2驱动USB摄像头采集视频信息,用基于小波变换的超分辨率复原算法处理所采集到的视频及Qt制作一个图形用户界面,将处理后的视频显示到用户界面中,并通过ZedBoard开发板上的HDMI接口显示到显示器上。采用双线性、双立方传统算法和本文提出的小波变换算法通过PC机对Lena图像进行复原处理。通过本文提出的基于ZedBoard系统对Lena图像进行复原处理,实验结果与PC机相一致。彩色图像复原结果的PSNR值稍差于灰度图像。上述结果表明,小波变换的超分辨率复原方法的复原效果优于传统的插值方法,且移植到ZedBoard系统之后能够保持复原效果。

[1] Zhou Rongbiao.Study on restoration and recognition of the doorplate number image degraded by linear motion[D].Tianjin:Tianjin University,2006.周荣彪.门牌号的运动模糊图像复原及识别方法研究[D].天津:天津大学,2006.

[2] Komatsu T,Igarashi T,Aizawa K,et al.Very high resolution imaging scheme with multiple different aperture cameras[J].Signal Processing Image Communication,1993,5:511-526.

[3] Elad M,Feuer A.Super-resolution restoration of an image sequence:adaptive filtering approach[J].IEEE Trans IP,1999,8(3):387-395.

[4] Elad M,Feuer A.Restoration of a single super resolution image from several blurred,noisy,and undersampled measured images[J].IEEE Trans IP,1997,6(12):1646-1658.

[5] Wu Xiaobing.The algorithm research of sequence image super-resolution enhancement[D].Beijing:Beijing Institute of Technology,2011.吴晓兵.序列图像超分辨率增强的算法研究[D].北京:北京理工大学,2011.

[6] Li Juan.Research of super-resolution image enhance-ment based on FPGA[D].Beijing:Beijing Institute of Technology,2012.李娟.基于FPGA超分辨率图像增强研究[D].北京:北京理工大学,2012.

[7] 符祥,郭宝龙.图像插值技术综述[J].计算机工程与设计,2009,30(1):141-144.Fu Xiang,Guo Baolong.Overview of image interpolation technology[J].Computer Engineering and Design,2009,30(1):141-144.

[8] Jia Liang.Research on image super-resolution reconstruction[D].Jiangsu:Nanjing University of Aeronautics and Astronautics,2008.贾亮.图像超分辨率重建技术研究[D].江苏:南京航空航天大学,2008.

[9] Lin Rimao.Super-resolution enhancement and display of sequence image based on OMAP3530[D].Beijing:Beijing Institute of Technology,2011.蔺日茂.基于OMAP3530的序列图像超分辨率增强与显示[D].北京:北京理工大学,2011.

[10]Dai Guangzhi,Chen Tiequn,Qiu Dongmei.Research on super resolution algorithms applied in ultrasonic image based on combining wavelet with interpolation[J]. Nondestructive Testing,2009,31 (4):251-255.戴光智,陈铁群,邱栋美.小波和插值结合应用于超声图像的超分辨率算法[J].无损检测,2009,31(4):251-255.

[11]He Bin.Design guide of Xilinx all programmable Zynq-7000SoC[M].Beijing:Tsinghua University Press,2013.何宾.Xilinx all programmable Zynq-7000SoC设计指南[M].北京:清华大学出版社,2013.

[12]Zhang Yifei,Li Liangfu,Wang Jiaoying,et al.Image enhancement algorithm based on super resolution reconstruction[J].Journal of Applied Optics,2011,32(2):250-255.张翼飞,李良福,王娇颖,等.基于超分辨率重建的图像增 强 算 法 研 究 [J].应 用 光 学,2011,32(2):250-255.

猜你喜欢
低分辨率PC机复原
红外热成像中低分辨率行人小目标检测方法
温陈华:唐宋甲胄复原第一人
浅谈曜变建盏的复原工艺
毓庆宫惇本殿明间原状陈列的复原
基于边缘学习的低分辨率图像识别算法
树木的低分辨率三维模型资源创建实践
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
基于单片机与PC机的电气量采集系统设计
VIVID3彩色超声仪结构原理及维修