《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于区域特征的顶视运动行人快速检测
基于区域特征的顶视运动行人快速检测
来源:微型机与应用2011年第10期
李铖果, 李小霞
(西南科技大学 信息工程学院, 四川 绵阳 621010)
摘要: 针对视频中运动行人遮挡问题,提出了一种基于区域特征的顶视运动行人检测算法。首先结合三帧差分和背景减除算法检测出所有可能的行人运动区域,然后找出运动区域的轮廓以及区域的外接矩形,并计算运动区域的面积,最后根据外接矩形的长宽比以及运动区域面积进行区域筛选,找出有效的运动区域,从而检测出行人。实验结果表明,该方法能够快速准确地检测出视频中的行人。
Abstract:
Key words :

摘  要: 针对视频中运动行人遮挡问题,提出了一种基于区域特征的顶视运动行人检测算法。首先结合三帧差分和背景减除算法检测出所有可能的行人运动区域,然后找出运动区域的轮廓以及区域的外接矩形,并计算运动区域的面积,最后根据外接矩形的长宽比以及运动区域面积进行区域筛选,找出有效的运动区域,从而检测出行人。实验结果表明,该方法能够快速准确地检测出视频中的行人。
关键词: 区域特征; 运动行人检测; 区域筛选; 顶视视频

    运动目标检测与跟踪是计算机视觉领域的一个重要课题,在视频监控、交通监测、机器人导航和军事等领域都有广泛的应用[1]。目前国内外研究者进行了大量的运动目标检测研究工作[1-3]。行人检测在商业、国防、金融等多个领域发挥了重要作用,是行人跟踪及行为理解等技术的基础工作,近些年来对视频序列中的人体行为分析已经成了计算机视觉研究的一个热点和难点,因此对运动行人的检测具有特殊的意义。
    常用的运动区域检测的算法主要有帧间差分、背景减除以及光流法[4]。光流法由于运算较复杂而不利于运动目标的实时检测。背景减除算法因其快速简捷而成为运动目标检测的主要方法,但是对光照变化敏感,对室外的复杂场景检测也是一个难题[5],因此该方法适用于背景较稳定情况下的运动目标的检测。帧间差分根据连续两帧图像的差值得到中间帧运动目标的轮廓,能够去除因为运动而显露的背景影响,从而得到准确的运动目标轮廓,且对光照的适应性强。改进的帧间差分——三帧差分(对称差分)将中间帧和前后帧的二值帧差图像灰度边缘重合部分作为中间帧运动目标轮廓,可有效消除运动目标遮挡和重现的纹理背景。
    本文首先采用背景减除和三帧差分在行人顶视视频序列检测出运动区域,然后对参考文献[2]中非刚性物体运动区域筛选方法进行改进,运用运动区域外接矩形的长宽比以及运动区域的面积特征进行区域筛选,实现了运动行人的快速检测。
1 算法原理
  顶视视频的运动行人检测可以解决运动行人的遮挡问题,且便于行人运动区域的分析,头部和肩部作为主要的运动行人特征。通常情况下,采集的原始视频序列图像往往存在很严重的噪声,因此先对原始图像进行滤波处理。直接从采集到的彩色视频帧中检测运动目标运算量过大,而且运动目标检测的目的是对运动目标定位、跟踪以及计数,因此首先进行灰度变换,提高检测的实时性。本文算法的整体流程如图1所示。

 

 

1.1运动区域检测
1.1.1背景减除

    背景减除算法的基本思想是将当前视频图像与事先存储或实时更新得到的背景图像相减,根据一定的阈值来判断背景和运动前景,从而得到运动区域,步骤为:
    (1) 首先选取第一帧为背景帧Bk,此时k=1。采用如图2所示的背景累积差分算法[2]更新背景图像Bk。其中a∈{0,1}表示用当前帧更新背景的速率,a=0时,不更新背景;a=1时,背景被当前帧Ii代替。一般情况下a=0.006。


    
    (4)重复步骤(2)、步骤(3)可得到一系列二值背景减除图像BWi。
1.1.2 三帧差分    
    帧间差分是根据连续两帧图像的差值来判断有无运动物体:
 
    其中,T是用来对帧间差分图像进行二值处理的阈值,相邻帧差值大于该值时认为是运动前景,反之则认为是背景点。
     由于相邻帧间的时间间隔很短,可以克服光照变化、天气变化等外界干扰,能够去除因为运动而显露的背景的影响,从而得到运动目标轮廓。对非刚性物体(如人)而言,不是物体的各个部分都同时发生移动,相邻帧之间必然有重叠的部分,与重叠部分对应的帧差图像中将出现“空洞”。
    通常帧间差分检测出来的运动区域比实际的运动区域大,通过对帧间差分进行改进得到三帧差分法,即选择连续的三帧视频序列Ii-1、Ii+1进行帧差处理[4]。具体过程为:首先按照式(4)分别计算Ii-1、Ii和Ii+1的二值帧间差分图像,分别记为Ii,i-1和Ii+1,i,然后将Ii,i-1和Ii+1,i作与运算,两者的公共部分即为中间帧Ii的运动轮廓:

1.2 区域轮廓提取及外接矩形标记
    通过背景减除和三帧差分结合的方法提取出了运动区域,采用OpenCV函数库中的轮廓查找函数cvFindContours可以找出运动区域的轮廓。通过设置method参数可以选择提取的轮廓类型,本文选取method=CV_RETR_EXTERNAL,从而查找出区域的最外层轮廓。然后采用cvBoundingRect 函数计算轮廓点集最外面的矩形边界并返回运动区域的外接矩形。
1.3 区域筛选
    本文针对顶视视频序列进行运动行人检测,行人大部分都是上下(进出)行走,各个运动区域的面积(像素值为255的像素点的个数)也不相等,面积较小的运动区域可能是手、脚等部位的运动带来的,而肩部(包含背部)的运动区域面积很大,而且肩部区域的外接矩形长宽比均小于1。因此,本文对参考文献[2]中标记区域外接矩形算法进行改进,结合外接矩形的长宽比及运动区域面积筛选出具有代表性且更有效的肩部区域,从而检测出运动行人。
2 实验结果分析
    本文算法在VC++6.0平台上实现,结合OpenCV函数库,对单目摄像机正上方采集的通道内的视频序列进行处理[6],视频画面大小为320×240,视频帧率为25帧/s。考虑到该环境下视频背景简单,光照变化也不大,结合观察到的视频信息特点,背景更新率取值为a=0.006,选择固定阈值70和30分别对背景减除图像和帧间差分图像进行二值化。针对二值背景减除图像,采用形态学开运算去除杂散的点和小的运动区域,同时平滑了运动区域的边界。由于二值三帧差分图像的内容是运动目标的轮廓,因此采用形态学闭运算进行处理,填充小的空洞,搭接邻近的轮廓,提高运动轮廓的完整性。以视频序列第72帧为例,运动区域检测的实验结果如图3所示。

    图3(a)是更新后的背景帧,图3(b)、图3(c)和图3(d)分别是视频序列中的第71、72和73帧的灰度图像,图3(e)是帧间差分法得到的第72帧的运动轮廓,图3(f)是三帧差分得到的第72帧的运动轮廓图,较图3(e)轮廓更细,且图3(e)中的小的区域被去除了,因此图3(f)表示的第72帧的运动轮廓更加精确。图3(g)是通过背景减除法得到的二值图像,图3(h)是图3(f)和图3(g)相或得到的前景图像,即背景减除和三帧差分算法相结合检测到的运动区域。相比于图3(g),图3(h)区域面积更大,更具有代表性。对视频序列中其他帧进行实验分析亦可得到同样的结论。
    运动区域检测出来后,再进行区域轮廓查找以及外接矩形标记。肩部运动区域外接矩形的长宽比应不大于1。对包含单一行人进出(单进单出)的视频序列中前后各帧运动区域进行面积统计,统计结果如图4所示。

    当行人从刚进入监控范围到监控区域中心时,运动区域面积将增至最大,表示有运动物体,当行人到达摄像机正下方时区域面积最大;然后区域面积减小至0,表示运动物体消失或静止。根据面积统计结果和实际观察的运动区域的情况,本文选择700个像素点为面积阈值,对小于该值的区域不再作标记。结合外接矩形长宽比小于1的特征,对第72帧运动区域进行检测,结果如图5所示。

     由图5可以看出,图5(a)中对手脚运动出现的较小运动区域也进行了标记,影响运动行人的跟踪计数,图5(b)中只对较大的肩部运动区域进行了标记。由此可以看出,本文对参考文献[2]中区域查找和外接矩形标记算法改进后,筛选出了更有效的运动区域。对视频序列中含有两个行人(一进一出,同进同出)的情况进行实验,结果表明本文算法也能准确检测出运动行人,其中一帧的检测结果如图6所示。

     本文通过背景累积差分更新背景减除法克服了光线微弱变化带来的干扰,利用三帧差分检测出更有效的运动区域轮廓,通过背景减除和三帧差分相结合的算法检测出了运动区域,利用运动区域外接矩形的长宽比特征以及运动区域面积特征对检测出的运动区域进行筛选,准确找出了代表行人的肩部运动区域,从而检测出了运动行人。实验结果表明,本文算法能快速准确地检测出含有单一行人(单进单出)、含有两个行人(一进一出,同进同出)视频序列中的运动行人,为行人跟踪及计数工作奠定了基础。

参考文献
[1] 余静, 游志胜. 自动目标识别与跟踪技术研究综述[J].计算机应用研究, 2005,22(1):12-14.
[2] 吴晓阳.基于OpenCV的运动目标检测与跟踪[D].杭州:浙江大学,2008.
[3] 张建荣,姜昱明. 基于逆运动学的人体步态特征提取[J].计算机仿真,2005,22(5):172-175.
[4] 莫林, 廖鹏,刘勋. 一种基于背景减除与三帧差分的运动目标检测算法[J]. 微计算机信息, 2009,25(4-3):
274-276.
[5] POWER P W, SCHOONEES J A. Understanding background mixture models for foreground segmentation[C].Proceedings Image and Vision Computing, New Zealand,2002:266-271.
[6] LEFLOCH D. Real time people counting system using  video camera[D]. University of Bourgogne, 2007.

此内容为AET网站原创,未经授权禁止转载。