基于达芬奇平台的运动目标跟踪算法

2015-11-25 02:59董云飞谢红松
计算机与现代化 2015年10期
关键词:达芬奇像素点背景

董云飞,谢红松,罗 斌,2,汤 进,2

(1.安徽大学计算机科学与技术学院,安徽 合肥 230601;2.安徽省工业图像处理与分析重点实验室,安徽 合肥 230039)

0 引言

随着智能视频监控系统日益网络化、智能化、集成化,把智能视频分析算法移植到嵌入式平台上进行处理可以有效地降低后端服务器的数据处理量、网络带宽和硬盘的数据存储压力。TI 公司的达芬奇[1]系列数字媒体处理平台,具有高速的数据处理能力、完善的视频处理算法接口、强大而灵活的开发工具包,有效降低了视频处理算法移植到达芬奇平台的代价,使基于达芬奇平台的智能视频分析系统具有广阔的发展和应用前景。

运动目标检测和跟踪算法一直是智能视频监控领域研究的热点,也是一个极具挑战性的研究课题,在人机交互、智能监控、医学图像处理等领域有着广泛的应用。常用的运动目标检测算法有帧差法[2]、光流法[3]、混合高斯模型[4]和Vibe 算法[5]。帧差法的鲁棒性和抗干扰能力较差;光流法的复杂度较高;混合高斯模型的浮点运算较多,参数估计慢;而Vibe算法因其良好的适应性和实时性,成为达芬奇平台下运动目标检测的最佳选择。

在运动目标跟踪算法中,有基于光流法的跟踪[6-7]、基于粒子滤波的跟踪[8-9]和基于运动模型的跟踪等,这些算法的复杂度较高,鉴于达芬奇平台的数据处理能力,很难移植在达芬奇平台上实时处理。通过对运动目标跟踪算法的研究,本文结合Vibe 算法和Mean Shift 算法思想提出一种改进的运动目标跟踪算法并移植到达芬奇平台下仿真实验,从实验结果可以看出改进的运动目标跟踪算法可以对运动目标准确实时地进行跟踪。

1 Vibe 算法及改进

Vibe 算法是由Olivier Barnich 等学者[5]在2009年提出的,因其在不同环境下都有良好的实用性和鲁棒性,同时具有计算量小、抗干扰能力强和检测准确性高等优点,一经提出就被广泛用于智能视频监控系统中。其核心思想和具体步骤如下:

Step1 背景模型初始化。Vibe 算法中每个像素点都具有各自的背景模型,且使用第1 帧图像即可完成背景模型的初始化。假设像素点的背景模型由N(N 一般取值为20)个样本构成,即背景模型可以表示成S={s1,s2,…,sN},则在该像素点的L ×L(L 一般取值为5)的邻域内随机选取N 个像素点的颜色值作为该像素点的背景模型,即S,遍历完图像中所有像素点,即可完成背景模型的初始化。可以看出Vibe 算法的背景模型初始化过程非常简单,容易实现。

Step2 前景提取和背景模型更新。背景模型初始化完成后,Vibe 算法采用如下方法对后续图像帧进行处理,把运动目标和背景分离开:假设像素点的当前颜色值为It,背景模型为St={s1,s2,…,sN},使用C 表示It与样本匹配的次数。C 的初始值为0,对模型中的样本遍历,按如下公式计算:

其中dist(It,si)为It和si在颜色空间中的欧氏距离,R为预先设定的距离阈值(R 一般取值为20)。遍历完模型中的样本之后,假如匹配次数C 大于阈值T(T一般取值为2),则认为该像素点为背景,否则认为该像素点属于前景。对于背景像素点,采用如下策略对背景模型进行更新:以概率1/rate 对背景模型进行更新(rate 称为时间采样因子,取值为16),而不是立即对背景模型进行更新。在更新时从其背景模型中随机选取一个样本,将其值替换为像素点的当前值。同时考虑到相邻像素之间的相关性,随机选择该背景像素点邻域内的一个像素点的背景模型进行更新。

对Vibe 算法进行研究可以发现,由于背景模型在更新时具有一定的随机性,若运动物体的运动状态由运动突然变成静止时,运动物体中的像素点与其邻域内像素点的颜色相关性变弱,使运动物体中的像素点和邻域内像素点的差值很大。此时欧氏距离dist(It,si)大于阈值T 的次数较多即C 值较大,像素点会被一直判定为前景像素点,导致很长一段时间内静止的物体会被一直检测为前景点,残留在前景图像中无法更新为背景,此即为鬼影。由于运动物体检测不正确,在后续对目标处理时都会得出错误的结果,导致运动目标跟踪错误,针对此问题本文引入辅助背景模型更新策略以消除鬼影的影响。

首先为视频序列中的每个像素点建立前景计数器FrC(i),并全部初始化为0,其中i 表示第i 个像素点,用来记录每个像素点连续作为前景点的帧数。若一幅图像中的某个像素点被判定为背景点,对应前景计数器的值重新设置为FrC(i)=0。若该像素点判定为前景点,当该像素点计数器的值FrC(i)小于预设定的阈值T,对应前景计数器的值加1,表明此像素点是前景点;当该像素点计数器的值FrC(i)大于或等于预设定的阈值T,表明此像素点属于无法更新的点,即鬼影点,同时对应像素点前景计数器的值FrC(i)重新设置为0。若像素点被判定为鬼影点,为了消除鬼影,使用辅助更新策略对背景模型进行快速更新,即使用以下策略:直接对背景模型进行更新,从其背景模型中随机选取一个样本,将其值替换为像素点的当前值,同时随机选择该背景像素点邻域内的一个像素点的背景模型进行更新,而不是采用时间采样因子对背景模型更新,可以使鬼影点迅速从前景图像中更新掉。改进后的Vibe 算法的处理流程图如图1 所示。

图1 改进后的Vibe 算法流程图

2 改进的运动目标跟踪算法

ChengYizong[10]1995 年在其论文中对Mean Shift算法进行了扩展,首次把该算法应用到图像处理领域。1998 年,Bradski 对Mean Shift 算法进行了改进,并应用到人脸的跟踪中,同时使Mean Shift 算法的应用扩展到了目标跟踪领域[11]。Mean Shift 算法对目标的外表、噪声、遮挡、尺度变化等具有一定的自适应能力,成为目标跟踪领域研究的热点。

由于Mean Shift 算法的算法复杂度高,浮点运算较多,不适合直接应用到达芬奇平台下对运动目标进行跟踪。针对此缺点本文结合Vibe 算法和Mean Shift 算法的思想提出一种改进的运动目标跟踪算法,算法的具体实现过程如下:

Step1 目标区域初始化。首先通过Vibe 算法把运动目标与背景分离开,生成二值图像,使用8 连通区域标记算法[12]提取出需要跟踪的运动目标,得到运动目标的最小外接矩形。假设运动目标的最小外接矩形大小为W×H,首先把灰度图像的256 个灰度级量化成K 个相同的区间,每个区间的大小为bin。统计目标区域每个像素点在K 个区间中的概率值,用Hist[i]表示第i 个bin 区间中的像素点属于目标的概率,其中0≤i≤K-1。

Step2 从第2 帧图像开始,对运动目标外接矩形的长和宽进行适度放大以得到运动目标的搜索区域SearchArea,假设放大系数设置为C,则搜索区域中像素点的个数为W ×H ×C2,创建一个与SearchArea大小相同的图像PrIm,PrIm 中每个像素点的值用于表示SearchArea 中对应像素点属于目标的概率。接下来对当前图像中属于SearchArea 的像素点进行处理,若SearchArea 中的像素点属于前景点,即当前像素点属于运动目标区域,该像素点在PrIm 对应位置的概率值放大为原来的N 倍即N × Hist[i];若SearchArea 中的像素点属于背景点,该像素点在PrIm对应位置的概率值不放大,即Hist[i]。可用公式描述为:

其中I(x,y)为SearchArea 中的像素点,Hist[i]为该像素点灰度值对应的bin 在初始目标中的概率值,N为大于1 的系数,通过该方法可以增大属于前景的像素点为跟踪目标的概率。

Step3 寻找与目标区域最相似的候选区域,按照公式(2)计算出PrIm 中每个像素点的概率值,使用大小为W×H 的窗口在PrIm 上滑动,统计每个滑动窗中所有像素点的概率和SUM(m),m 表示第m个滑动窗口。SUM(m)值最大的窗口在SearchArea中的对应窗口即为新的目标区域,对应的外接矩形框即运动目标在当前帧中的位置,按照这种计算过程继续对下1 帧图像进行相同的处理就可以实现运动目标的跟踪。为了减少计算的复杂度,在计算过程中使用积分图[13]进行加速,可大大减少算法的运行时间。改进后的运动目标跟踪算法的流程图如图2 所示。

图2 改进的运动目标跟踪算法流程图

3 算法移植与实验结果分析

3.1 达芬奇平台的算法移植

TMS320DM6467T 达芬奇[14]处理平台采用ARM+DSP 的双核架构,兼具DSP[15]和RISC 的技术优势,集成了时钟频率高达1 GHz 的DSP 核和500 MHz的ARM 核,采用超长指令字(VLIW)和流水线相结合的方式对视频数据并行处理,以达到高速处理视频数据的能力,使达芬奇平台在数字媒体处理方面具有很高的性能和技术优势。ARM 和DSP 之间的数据通信方式如图3 所示。

图3 ARM 和DSP 之间的数据通信方式

为了降低基于达芬奇平台的软件开发难度,德州仪器公司专门为达芬奇架构提供了Codec Engine[16]与Codec Server[17]机制,使用户不用关注双核之间底层数据的实现细节,使研究人员专注于算法的设计。同时为了方便工程师对算法的移植,德州仪器公司为这种架构提供了XDM-xDAIS[18]算法标准,大大降低了各种视频处理算法向达芬奇平台移植的代价,使基于达芬奇平台的智能视频监控系统的开发周期大大缩短。

3.2 实验结果和分析

1)Vibe 算法的实验结果。

图4 Vibe 算法实验结果

为了验证改进Vibe 算法的有效性,本文在TMS320DM6467T 平台下对算法进行仿真实验,在实验过程中,视频图像的分辨率为720 ×576,实验结果如图4 所示。图4(a)表示第100 帧时的视频图像,可以看到此时中间白色的车辆由运动状态变为静止;图4(b)表示第200 帧时的视频图像,可以看到此时白色的车辆仍处于静止状态;图4(c)表示第200 帧时未改进的Vibe 算法对图像的处理结果;图4(d)表示第200 帧时改进的Vibe 算法对图像的处理结果。通过对图4(c)和图4(d)进行对比,可以看出改进的Vibe 算法检测出的背景更加干净,噪声点更少,同时把白色的静止车辆更新成了背景,从而抑制了鬼影的出现,而未改进的Vibe 算法在第200 帧时仍然把静止的车辆当作前景目标,给后续的运动目标跟踪带来影响。

2)目标跟踪算法的实验结果。

为了验证改进的运动目标跟踪算法的有效性,同样在TMS320DM6467T 平台下对算法进行仿真实验,在实验过程中,视频图像的分辨率为720 ×576,实验结果如图5 所示。第559 帧时有行人进入到相机的监控区域,首先自动选中需要跟踪的运动目标,从下1 帧图像开始,通过运动目标跟踪算法对图像进行处理,从而对运动目标进行跟踪。从图5 中可以看出在第603 帧、第654 帧、第725 帧时目标的位移均发生变化,跟踪框的位置也随着目标的位置变化而移动,从而达到跟踪运动目标的目的。

图5 运动目标跟踪实验

表1 展示了运动目标跟踪算法移植到TMS320DM6467T 平台下ARM 和DSP 的资源使用率,可以看出算法经过优化和改进后ARM 和DSP 的资源只用到50%左右,可以实时有效地对运动目标进行跟踪,在对运动目标跟踪后仍可继续对运动目标进行后续的处理。

表1 算法资源使用率

4 结束语

针对监控场景运动目标由运动状态突变为静止后产生的鬼影难以消除的问题,本文对Vibe 算法进行改进,通过实验可以看出改进的Vibe 算法可以有效抑制鬼影的出现。同时结合Vibe 算法和Mean Shift 算法的思想,提出一种改进的适合在达芬奇平台下对运动目标进行跟踪的运动目标跟踪算法,对算法优化后移植到TMS320DM6467T 处理器上进行仿真实验,实验中视频图像的分辨率为720 ×576,从实验结果可以看出,改进的运动目标跟踪算法可以实时有效地对运动目标进行跟踪,使智能视频分析系统向小型化、智能化和便携化方向发展,具有广泛的应用前景。

[1]管菊花,郭波.基于DaVinci 技术的嵌入式智能监控系统[J].计算机测量与控制,2014,22(9):2754-2757.

[2]Yin Hongpeng,Chai Yi,Yang S X,et al.Fast-moving target tracking based on mean shift and frame-difference methods[J].Journal of Systems Engineering and Electronics,2011,22(4):587-592.

[3]季诚,欧阳宁,张彤.基于视频片断的全景图拼接[J].计算机技术与发展,2009,19(9):239-241.

[4]杨宁,杨敏.基于改进的混合高斯模型的运动目标提取[J].计算机技术与发展,2012,22(7):20-23.

[5]Barnich O,Van Droogenbroeck M.ViBe:A universal background subtraction algorithm for video sequences[J].IEEETransactions on Image Processing,2011,20(6):1709-1724.

[6]Bruhn A,Weickert J,Schnörr C.Lucas/Kanade meets Horn/Schunck:Combining local and global optic flow methods[J].International Journal of Computer Vision,2005,61(3):211-231.

[7]王晖.视频图像的光流计算方法研究[D].长沙:国防科学技术大学,2007.

[8]Arulampalam M S,Maskell S,Gordon N,et al.A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking[J].IEEE Transactions on Signal Processing,2002,50(2):174-188.

[9]胡昭华,宋耀良,梁德群,等.复杂背景下多信息融合的粒子滤波跟踪算法[J].光电子·激光,2008,19(5):680-685.

[10]Cheng Yizong.Mean shift,mode seeking,and clustering[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(8):790-799.

[11]许海霞,王耀南,袁小芳,等.一种分层Mean Shift 目标跟踪算法[J].自动化学报,2009,35(4):401-409.

[12]冯海文,牛连强,刘晓明.高效的一遍扫描式连通区域标记算法[J].计算机工程与应用,2014,50(23):31-35.

[13]黄文杰,陈斌.一种快速图像处理的积分图方法[J].计算机应用,2005,25(S1):266-268.

[14]高平.基于TMS320DM6467 的多功能多媒体处理平台的软件设计与实现[D].天津:天津大学,2009.

[15]卢俊.基于Davinci 平台的视频服务器软件系统的设计与实现[D].武汉:华中科技大学,2013.

[16]Texas Instruments.Codec Engine Server Integrator User’s Guide[DB/OL].http://processors.wiki.ti.com/index.php/Codec_Engine_Server_Integrator_User%27s_Guide,2014-07-15.

[17]Texas Instruments.Codec Engine Algorithm Creator User’s Guide[DB/OL].http://www.ti.com/lit/ug/sprued6c/sprued6c.pdf,2007-09-28.

[18]支祖利.运动目标检测和跟踪算法的研究及实现[D].武汉:中南民族大学,2013.

猜你喜欢
达芬奇像素点背景
“新四化”背景下汽车NVH的发展趋势
轻松做完大手术——聊聊达芬奇手术机器人
基于局部相似性的特征匹配筛选算法
《论持久战》的写作背景
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
达芬奇想飞
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
晚清外语翻译人才培养的背景
手术室的“阿尔法狗”:达芬奇机器人