基于ARM9的嵌入式电子稳像系统研究和实现*
2015-12-16伍先达
潘 全,高 山,伍先达
(华南师范大学物理与电信工程学院,广州510006)
基于ARM9的嵌入式电子稳像系统研究和实现*
潘 全,高 山,伍先达
(华南师范大学物理与电信工程学院,广州510006)
针对摄像头固定状态下拍摄的视频抖动,设计了一个可以快速消除视频抖动现象的实时嵌入式电子稳像系统。系统改进了传统的灰度投影算法,对采集的视频帧序列进行预处理,估计运动矢量,投影滤波和运动补偿实现稳像功能。通过差影法和峰值信噪比法对稳像效果进行了主客观分析,分析结果表明该系统处理速度快,成本低,稳像效果较好,在视频监控、图像拼接、运动目标检测等领域都有重要的应用价值。
嵌入式;灰度投影;电子稳像;运动补偿;差影;峰值性噪比
1 引 言
近年来电子稳像技术发展迅猛,应用也越来越广泛,在军事、民用等领域有着重要的应用价值。摄像设备由于设备载体运动、人为因素和自然因素等情况,采集的视频出现抖动,如列车经过火车道口的监控摄像头或者摄像头受风力等因素的影响,造成摄像头晃动而使得视频画面出现抖动现象;及道路不平整或人为转弯等原因,车载系统视频监控采集的画面也容易出现抖动现象。稳像技术就是用来消除或减弱摄像设备拍摄的视频抖动现象。国内外研究人员对电子稳像技术近年来做了很多研究[1-4],并取得了一定成绩,提出了一些新的算法,但是大多数电子稳像系统都是基于PC机的,虽然处理速率和精度都比较高,但是成本高、计算量大、不易携带。以下设计了一个成本低、效果好且可移动的实时嵌入式电子稳像系统。
2 电子稳像基本原理
电子稳像是指在电子设备平台上利用图像算法来消除或者减弱人眼在显示器上观察到的图像跳跃,移位等抖动现象。稳像原理示意图如图1所示。
图1 稳像原理示意图
图中星星是图形在9个像素块中的成像,(a)图代表第一帧图像,(b)图是相邻帧图像,(a)图中,星星在1,2,4,5像素块中成像,但是由于抖动影响,同一物体在2,3,5,6像素块上也有成像,这时在显示器上我们会同时在1,2,3,4,5,6像素块上看到图像,造成图像和视觉的错位。
3 灰度投影稳像算法
灰度投影算法[5-6]是利用灰度图像在x,y轴方向上的投影值,通过相关计算来确定运动矢量,完成运动补偿。可分为图像预处理,图像灰度映射,投影滤波,互相关计算四个部分。
3.1 图像预处理
为了更准确的进行运动矢量估计,提高稳像效果,通常需要先用直方图均衡化对每一帧图像进行预处理,让灰度平均分配给所有的像素,得到均匀分布的灰度直方图,使图像的对比度增强。
3.2 图像灰度映射
在对图像进行灰度映射时,采用相邻两帧的前一帧作为参考帧,后一帧为当前帧(正在进行稳像处理的帧),此时只考虑两帧之间存在的平移运动(旋转运动较少可忽略)。将当前帧的二维图像(N×M)分别进行行投影和列投影,使得二维图像信息映射为两个独立的一维信息,从而在很大程度上降低了运算量和复杂度。其投影公式为:
式(1)、(2)中Ck(j)、Ck(i)分别代表第k帧图像的第j列和第i行的灰度投影值,Ck(i,j)表示第k帧图像在(i,j)处的像素灰度值,图像的高度和长度表示为M、N。实验采集320×240的视频帧序列,其中一帧在水平、垂直两个方向的灰度投影matlab仿真图如图2所示。
图2 水平、垂直方向的灰度投影曲线
3.3 投影滤波
因为当采集的视频抖动较明显时,视频帧的边缘信息也有明显变化,一定程度上对互相关峰值的计算结果造成影响[7]。为了降低边缘信息变化对互相关峰值计算结果的影响,采用中值滤波器滤除边缘信息变化的波形,而保留中心区域的波段。
3.4 改进后的互相关计算
进行投影滤波后,将当前帧和参考帧的行投影灰度值进行行投影互相关计算,以及将当前帧的列投影灰度值和参考帧的列投影灰度值做列投影互相关计算,通过互相关心曲线唯一波谷值确定当前帧相对于参考帧的行、列运动矢量。以行投影互相关值计算公式为例:
其中1≤w≤2m+1,第k帧第j列的灰度投影值用Ck(j)表示,Cr(j)表示参考帧第j列的灰度投影值,N表示列长度,m为位移矢量相对于参考帧在一侧的搜索宽度,参考帧与当前帧行投影互相关值曲线图如图3所示。
图3 参考帧与当前帧行投影互相关值曲线
计算出w的值使得L(w)最小,并用wmin表示,可以得到当前帧相对于参考帧图像垂直方向上的位移矢量Δy(水平方向上的位移矢量Δx的计算同理):
最后把当前帧图像反方向运动Δx和Δy,实现图像的运动补偿。
传统灰度投影算法在自相关计算时采用全局搜索法,即在一侧搜索宽度m内所有的像素点都须进行一次自相关值计算,需要进行2m+1次(在一侧搜素宽度为m范围内,总共有m+1个点,另一侧则有m个点)。考虑到自相关曲线的单峰性和极值点靠近中心点的特点,对全局搜素法进行改进:在搜索宽度m范围内,均匀选取三个点,分别计算L(w);接着以这三点中L(w)值最小的那个点为中心,在(m-1)/2搜索范围内再均匀选择三个点,分别计算出L(w);当三点中使得L(w)的值最小的那个点不再变化时停止选取,此时的L(w)值就是要求的wmin。在搜索宽度m范围内,采用全局搜索法的计算量为2×m+1,而改进之后的搜索法计算量为3×log2(m+1),运算量减少(2×m+1)-[3×log2(m+1)],且m值越大,计算量减少的越多。
4 基于ARM9 的嵌入式电子稳像系统实现
4.1 硬件平台
系统硬件平台基于天嵌科技的ARM9开发板(TQ2440),CPU处理器为S3C2440,4G的SD卡、4.3寸LCD液晶显示屏、支持64MB到1GB大小的Nand Flash;在版本为VMwave Workstation 10.0.3的虚拟机内安装RedHat 6.0系统;主机为联想Think-Pad E40系列Intel i3处理器,2G内存,XP系统。
4.2 电子稳像系统开发环境构建
使用ARM-LINUX-GCC交叉编译器,配置、交叉编译和链接相关的内核、库、开发工具,在TQ2440开发平台上完成linux2.6.30内核、UBOOT、YAFFS根文件系统、QT4.7.2、opencv2.4.9的移植和设置环境变量,并在内核里加载OV9650视频摄像头驱动。
4.3 嵌入式电子稳像软件设计
系统架构搭建后,在集成了OPENCV的QT环境下编写电子稳像应用程序。添加头文件cv.h、cxcore.h、highgui.h,直接调用OPENCV里相应的API函数。使用多线程对摄像头数据采集和稳像处理,在QT中子类化Qthread创建Grabthread和Threadstable两个线程,分别用于视频采集和稳像处理。灰度投影算法电子稳像流程图如图4所示。
图4 灰度投影算法电子稳像流程图
5 实验结果评价和分析
实验的抖动视频是在摄像头固定状态下采集的,视频帧序列之间存在平移运动和少量的旋转运动(可忽略不计)。以20帧/s的速率采集13秒总共260帧图像,经过测算(内部定时器获取),系统处理这260帧图像总共花费了5.72s,所以每帧的处理时间为22ms,一般实时摄像系统的帧处理时间要小于25ms[8],所以系统的实时性较好。以图3相邻两帧的互相关值曲线图为例分析可知,当w为31时,为该曲线的唯一波谷值,采用传统全局搜索法的计算量为61(搜索范围m为30),而采用改进之后搜索方法的计算量仅为15,计算量减少了75.41%。
为了验证电子稳像系统的稳像效果,采用差影法和峰值信噪比(PSNR)法对系统稳像效果进行主观和客观评价。差影法[9]:抖动视频在处理前,相邻两帧图像由于抖动的存在不能完全重合,差影法就是将相邻两帧图片进行相减,在不存在运动背景的前提下,相邻两帧图像做差的理想结果是零,差影帧不会显示任何图像信息。显然相邻两帧的差值越小,说明输出的视频越稳定,为零时,输出的视频是静止的,这时候最稳定,抖动视频稳像前后对应相邻两帧的差影帧对比如图5所示。
图5 稳像前后对应相邻两帧的差像帧
从图中可以看出原视频第7、8两帧的差影帧上显示的图片信息多,说明相邻两帧的相似度较低,而稳像后的第7、8两帧的差像帧上显示的图片信息少,说明相邻两帧的相似度较高,输出的视频更加连续稳定。但是由于噪声、计算误差等干扰的影响,所以差像帧上还是会显示少量信息。
峰值信燥比(PSNR)法[10]是指通过计算相邻两帧的峰值信噪比的值,来精准衡量两幅图片的重合情况,PSNR值越大说明两帧图像越相似,稳像效果越好。如果两帧图像完全重合,这时候PSNR值接近无穷大。其表示为:
式(6)中的MSE为相邻两帧之间的像素值均方误差;N、M为图像的宽和长;fk(m,n)表示第K帧像素灰度值,fk-1(m,n)为第(K-1)帧的像素灰度值。稳像前后视频帧序列之间的PSNR值曲线图如图6所示。
图6中红色曲线是原始视频帧序列之间的PSNR曲线,黑色虚曲线表示的是去完抖动之后各帧之间的PSNR曲线。这里对稳像前后的前80帧进行比较。由图可知,去抖动后的帧序列之间的PSNR值整体大于稳像帧序列之间的PSNR值。这是因为稳像前由于抖动的存在使得相邻两帧之间的差异较大,而经过稳像处理后,在一定程度上消除了抖动影响,使得相邻两帧的差异变小,但是由于某些相邻两帧(如图中48、49两帧)可能做同样幅度或者幅度相差不大的抖动,使得MSE增大,造成PSNR值变小,但这并不影响整体效果。
图6 稳像前后视频帧序列之间的PSNR值曲线图
6 结束语
通过改进传统灰度投影算法,设计了基于ARM9的实时嵌入式电子稳像系统,并通过差影法和峰值信噪比对稳像系统进行了主客观评价。实验结果和评价分析表明,该系统对摄像头固定状态下拍摄的抖动视频能实时的进行去抖处理,计算量大幅度减少且效果较好,具有成本低等优点,能广泛运用于视频监控和采集等领域,应用价值较高。
[1] VERMA K.Fast and robust real time digital video stabilization with smear removal using integral projection curve warping technique[C].//IEEE Communications(NCC).Kumar,Avnish,India,2014:1-6.
[2] KRISHNA R.Real-time digital video stabilization for multi-media applications[C].//IEEE Trans on CAS for Video Tech.Sala,Avery,England,2013:69-72.
[3] HUI W,PENG S.An electronic image stabilization algorithm based on gray projection and circle projection matching[J].Materials Science and Engineering,2014,6(1):817-820.
[4] 丁磊,肖丽萍,邓杰航,等.基于Android的移动电子稳像系统的研究与实现[J].计算机技术与应用,2013,39(1):112-114.Ding L,Xiao L P,Deng J H,et al.Research and realization of mobile video stabilization system bashed on Android[J].Computer Technology and Its Applications,2013,39(1):112-114.
[5] Han Y L,Zhu D,Wang Y L.A real-time electronic image stabilization based on gray projection method[J].Journal of Scientific Instrument,2008,29(8):512-515.
[6] CARLOS M,RAMA C.Fast electronic digital image stabilization for off-road navigation[J].Real-time Imaging,1996,25(12):285-296.
[7] JASMIN B,MARK S.C++GUI Programming with Qt 4[M].Beijing:Publishing House of Electronics Industry,2008,255-264.
[8] DUVAR,R.Real-time implementation of 1-dimensional projection based video stabilization on a mobile device[C].Signal Processing and Communications Applications Conference(SIU),Trabzon,Turkey:Urhan,Oguzhan,2014:1914-1918.
[9] MANISH O,PRABIR K B.Video stabilization using maximally stable extremely region features[J].Multimedia Tools and Applications,2014,68(3):947-968.
[10] 任苗苗.用于视频监控的电子稳像算法研究[D].哈尔滨.哈尔滨工业大学,2010.Ren M M.Research of electronic image stabilization algorithm for video surveillance[D].Harbin:Harbin Institute of Technology,2010.
Research and Implementation of Embedded Electronic Image Stabilization System Based on ARM9
Pan Quan,Gao Shan,Wu Xianda
(School of Physics and Telecommunication Engineering,South China Normal University,Guangzhou 510006,China)
For dithering video captured by the fixed camera,this paper designs a real-time embedded electronic image stabilization system which can quickly eliminate the dithered phenomenon among video frame sequences.This system realizes the image stabilization function by using the improved gray projection algorithm to preprocess the video frames,estimate the motion vector,filter the projection waves and compensate the motion vector.Through the methods of difference image and PSNR(Peak Signal to Noise Ratio)to analyze the image stabilization effect,the results show that the system has quick process,low cost and good image stabilization.It has significant application value in video surveillance,image stitching,moving target detection,etc.
Embedded;Gray projection;Electronic image stabilization;Motion compensation;Subtraction image;Peak signal to noise ratio
10.3969/j.issn.1002-2279.2015.04.021
TP399
A
1002-2279(2015)04-0081-04
广东省教育部产学研项目(2012B091100062);华南师范大学研究生科研创新基金(2013kyjj062,2014ssxm14)
潘全(1989-),男,湖南省永州市人,硕士研究生,主研方向:嵌入式电子稳像和智能仪器与系统。
2014-12-26