APP下载

基于ARM 11的视频图像中运动物体检测跟踪系统

2012-01-18王宝珠

电子设计工程 2012年24期
关键词:嵌入式物体背景

王宝珠,刘 伟

(河北工业大学 信息工程学院,天津 300401)

近些年,随着DSP技术的快速发展,传统的模拟视频信号渐渐被日渐强势的数字视频信号所取代。伴随着这一过程,视频信号的智能化数字处理过程显得十分重要。传统的模拟视频图像处理往往只是对视频图像的颜色、对比度、锐度、明暗等进行整体调节,而今天当数字视频图像信号被广泛普及后,人们对视频图像的处理能力也得到了质的飞跃。处理的焦点从整体走向了局部,从图像边缘的调整迈入了像素点的处理。

对于视频图像中运动物体的检测与运动轨迹的处理在实际工作生活中应用的范围非常之广,从航空航天、视频监控,到军事侦测,智能捕捉视频图像中的运动物体,并对其作出相应处理都是数字处理中至关重要的一部分。

文中介绍了一种基于ARM11的视频图像中运动物体的检测及跟踪系统,此系统利用OpenCV函数库对数字图像处理的支持来完成对视频图像中运动物体的检测及跟踪,并通过相应的算法对其运动轨迹进行相应的确定与标注。本系统摒弃了传统PC系统单一的处理方式和有限的扩展能力,创新的利用了ARM11系统强大的运算能力对运动物体在某个时间段内的运动轨迹作出分析记录处理。与此同时本系统也保留了利用嵌入式系统体积小,功耗低,稳定性强等优点。

1 系统总体框架设计

本系统主要由视频采集设备、嵌入式硬件开发平台、操作系统,应用程序4部分组成。视频采集设备主要负责待观察影像流的输入工作,它和嵌入式硬件开发平台共同组成整个系统的硬件部分。操作系统作为连接应用程序和硬件平台的纽带,利用相关的驱动程序为所要开发的软件提供必要的支持。应用程序作为实现算法和数据后期处理的工具,和操作系统共同构成了整个系统的软件部分,如图1所示。

图1 系统结构Fig.1 System structure

2 系统硬件设计

本系统的整个硬件部分是由ARM11内核扩展而成的,如图2所示。内部电路分别由:NAND存储器、晶振、JTAG接口、复位模块、I/O总线接口、SDROM等组成;外围电路分别由:晶振、USB接口、键盘、SD存储、电源、LCD显示等组成;采集设备为USB摄像头,利用USB接口良好的兼容性来完成整个视频流的采集。

图2 硬件结构Fig.2 Hardware structure

目前基于ARM11构架的处理器有很多,本系统所选用的是三星公司推出的S3C6410处理器,它体积小(13×13 mm)、功耗低、性能好、性价比高,被广泛应用于便携设备中。此外,本系统选择的是256 MB容量的NAND存储器。它主要是存储引导程序,操作系统、驱动程序、应用软件等数据,它比传统的硬盘效率高、体积低,但是容量有限,所以硬件部分还要借助SD卡作为外部存储来完成系统的工作。

JTAG接口在系统中的作用为单步调试,无论是常见的JLINK还是ULINK,或者是其他的仿真调试器,最后都是需要通过JTAG接口连接的[1]。一般情况下,标准的JTAG接口是 4 线 CON,即:TMS(模式选择)、TCK(时钟)、TDI(数据输入)、TDO(数据输出),再加上电源线和地线,共6根。有时为了方便调试,仿真器还输出一个复位信号,但是本系统没有引出此线。

对于复位模块以及I/O接口,因为厂家已经为我们设计完成,所以我们只需要在设计外部电路的时候直接调用连接即可。

外部电路中晶振为重要的节拍器,负责这个系统的有序工作。但是ARM11内部模块可以为大部分外部设备提供频率支持,只有一些对频率要求不同的设备需要自我添加,比如网络模块,因为本系统不要求网络的支持,所以晶振源直接引自ARM11的内部模块(533 MHz)。

SD卡为系统的数据记录设备,系统处理后的数据全部保存在以SD卡为介质的半导体设备里面。所以SD卡接口也就成为不可缺少的外部设备,它的电原理图如图3所示,其中SD0_XXX为6 410内部模块标准输出接口。

电源部分采用的是5 V直流供电,利用市面上常见的USB插口充电器即可取得此直流电压。

LCD显示部分,系统采用的是分辨率为320×240的4.3英寸液晶显示器。

3 系统软件设计

图3 SD卡设备原理图Fig.3 SD card equipment

本系统的软件部分由操作系统和应用程序两部分组成,其中操作系统为应用程序提供基础条件,它附带了许多硬件设备的驱动程序,也为图像数据的采集提供了软件接口。在操作系统上本系统利用Linux系统。Linux因其极强的兼容与开放性已经被广泛用于便携电子设备与大型服务器的构建当中。本系统利用Linux系统中的Video4Linux(Video for Linux)接口为软件提供视频媒体流[2]。同时由于所使用的Linux内核中所附带的驱动支持市面上的大部分免驱USB摄像头,所以这样的选择也给本系统的开发调试提供了一些便利条件。关于应用程序的开发,利用的是C++作为程序语言,借助OpenCV函数库和GCC编译器来进行应用软件的开发[6]。

3.1 相关算法的选取

对视频图像中运动物体的检测与跟踪,传统的方法主要有帧间差分法、背景差分法和光流法。就每种算法而言,它们都有其自身的优缺点:

帧间差分法具有强大的自适应性,但对差分帧的选择要求比较苛刻[5];光流法检测效果比较好,而且对视频场景的要求比较低,但光流法的实现对于处理器的要求比较高,鉴于本系统处理器及摄像头性能有限,所以未选择这两种方法。

背景差分法也叫背景减除法,它是目前运动分割技术中比较成熟的算法,一般能提供全部的目标特征数据,具有操作简单、检测速度快、运算量小等优点,但它对动态场景中局部明暗变化敏感,故对视频场景的要求较高。考虑到本系统的应用场景相对固定,所以选择背景差分法作为程序的算法结构。

3. 2 程序流程

本系统的图像处理包括:采集原始图像帧序列,计算出背景模型,使用相关算法得到目标轮廓,计算出轮廓中心点坐标,绘制轨迹等。

其完整的流程图如图4所示。

图4 视频处理流程图Fig.4 Video processing

3.3 相关算法

捕捉到的原始图像序列为fk(i,j),其中k为图像帧序列。

在建立初始背景时,本系统利用均值法背景建模,将某一阶段视频采集的连续帧计算出像素平均值,从而检测出各图像中属于背景的像素点,再将这些像素点重组得出视频检测背景。

其中,Binit是初始背景图像,median为取平均化,n为均值法所选取的总帧数。

更新背景算法中,系统利用前一帧计算得到的背景数据来参与当前帧的计算。然后得出当前帧的背景数据,作为计算下一帧的参数。

其中,a∈(0,1)为更新率,由此公式可以看出,每一帧背景的建立都与之前帧有着紧密联系,所以系统背景的数据模型可以在一定条件下保持相对的稳定。这样的算法结构对瞬间背景丢失或噪声干扰有背景补偿作用。

得到背景模型 Bk(i,j)后,用原始图像序列 fk(i,j)与其做差即可初步得出前景图(包含移动物体与噪点)。

其中Pj为检测阈值,在不同的环境下的取值直接影响前景的提取。

之后要对前景图像进行二值化:

其中Pe为二值化阈值。

对二值化后的图像利用OpenCV中cvdilate与cverode工具进行腐蚀与膨胀处理得出目标轮廓[5],然后计算出目标质心进行标记记录。

4 实验结果分析

实验场所为学校的实验室,视频序列为走动中的人像,摄像镜头为固定方式,视频分辨率为320×240,每秒采集5帧,共采集 50帧,图 5(A)显示为第 21帧,图 5(B)显示为视频检测背景。

图5(C)和图5(D)为原始图像在选择不同检测阈值 Pj的情况下所得出的前景图像。由图5(C)可以看出当Pj设置过低的时候整个前景图像对比度较差,非运动物体轮廓较明显,严重影响对运动目标的检测。由图5(D)可以看出当Pj选择恰当的时候运动目标轮廓清晰,大部分非运动点都被深色像素覆盖,虽然还是有一定噪点,但符合系统接下来要处理的要求。

接下来系统对图5(D)进行二值化操作,选取不同的二值化阈值Pe,图 5(E)选择 Pe值过低,虽人像轮廓清晰,但噪点较多。图5(F)选择适当的Pe值,噪点较少且分散,人形较清晰,有助于下一步的图像处理。

图5(G)显示的是系统对图12处理后的结果,本实验中二值化的前景图通过利用5×5正方形结构元素腐蚀和膨胀可去除无关噪点,得到最终移动物体轮廓。最终利用cvMinAreaRect2函数计算出轮廓质心坐标,在原序列图上标记其运动轨迹,如图5(H)所示。

图5 图像处理过程Fig.5 Image processing

5 结束语

相关程序通过在ARM11平台上运行分析,对视频图像中运动物体检测的效果可以满足预期的要求。利用技术上比较成熟的背景差分算法作为检测的主要手段,解决了其他算法要求处理器性能过高的问题。同时,针对本系统应用领域视频背景相对稳定的特点,优化了相关算法,使得系统处理速度有所提高。和传统的视频检测与跟踪系统相比,本系统具有功耗低、稳定性强、可移植性强等优点。

此系统在动物行为学、天文观察、道路检测、军事领域中用途较广,对目标运动轨迹有比较直观的记录。同时本系统具有很强的扩展性能,根据使用环境的不同可以对后期的数据进行进一步的处理,这也是基于ARM11框架与Linux系统进行整个系统构建的优势之一。

[1]魏洪兴.嵌入式系统设计师教程[M].北京:清华大学出版社,2006.

[2]于明.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.

[3]吴明晖.基于ARM的嵌入式系统开发与应用[M].北京:人民邮电出版社,2004.

[4]许海雁.嵌入式系统技术与应用[M].北京:机械工业出版社,2002.

[5]冈萨雷斯.数字图像处理[M].北京:电子工业出版社,2003.

[6]布拉德斯基(著).学习OpenCV(中文版)[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.

猜你喜欢

嵌入式物体背景
“新四化”背景下汽车NVH的发展趋势
《论持久战》的写作背景
深刻理解物体的平衡
我们是怎样看到物体的
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
晚清外语翻译人才培养的背景
为什么同一物体在世界各地重量不一样?
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器