一种背景运动视频中运动目标的检测方法
2013-02-13袁海英
张 辉,雷 飞,袁海英
(北京工业大学电子信息与控制工程学院,北京100124)
责任编辑:任健男
运动目标检测作为视觉运动分析底层的关键技术之一,是执行行为识别、场景理解等各种高级视觉任务的基础,其目的是从视频中将相对于背景运动的区域检测出来。针对该问题国内外存在大量的研究,提出的方法主要是基于静止背景和特定类属目标的检测[1-4]。典型方法有基于图像变动、基于光流和基于因子分解的方法等。基于图像变动的方法[1]包含帧差法和背景模型法[2],该类算法简单且易于实现,对背景中的变化检测有效,在目标与背景对比度较小时容易失败。基于光流检测方法[3]不需要预先知道场景的任何信息,且可应用于摄像机运动的情况,但光流场估计对噪声不够鲁棒,且计算量较大。基于因子分解的方法[4]作用于稀疏特征点运动轨迹上,它敏感于噪声和离群数据。不同于上述方法,本文提出的目标检测算法关注于运动背景及非特定类属目标的一般情况,认为图像中的单一运动目标具有运动上的显著一致性。首先通过快速特征点检测及跟踪恢复图像稀疏运动场;接着根据各组特征点计算场景图像重建误差,剔除重建误差最小的特征点组,实现对前景目标的检测。
1 算法概述
本文提出的运动目标检测算法的流程如图1所示,图中对前后相邻两帧图像的处理包括的步骤包括:首先在当前图像中进行特征点检测;然后建立两帧图像的多分辨率金字塔结构,以特征点在不同分辨率的当前帧图像中的局部邻域图像块作为特征描述,估计它在前一帧图像中的位置,获得特征点运动矢量;接着根据特征点之间的运动一致性情况对场景中可能的独立运动模式进行投票,实现对特征点的分类和各特征点组运动参数的计算;利用各特征点组运动参数,由前一帧图像重建出当前帧图像,计算出对应的重建图像误差后,再通过剔除重建误差最小的特征点组完成前景特征点的检测;最后运动目标的位置和运动参数由每个前景特征点组计算。
图1 背景运动视频中的运动目标检测流程框图
2 特征点检测与跟踪
基于运动的目标检测第一步处理是从序列图像中恢复出整个场景的运动,其关键问题是场景各点在不同帧图像中的对应。
2.1 特征点检测
近年来,基于局部特征的图像特征提取算法层出不穷,对其性能评估的指标通常包括检测数量、可重复性、计算效率和对噪声、光照变化及视点变化的敏感度等。有别于图像识别、配准等对特征点特征形变不敏感的较高要求,本文着重关注算法在计算效率和重复检测率两方面的性能。所以,采用基于机器学习的特征点检测算法——FAST-9[5],它仅需要简单的比较运算便能提取对小范围视点变化不敏感、可重复性高的特征点。在本文的实现中,用普通PC完成320×240图像的FAST特征点检测时间低至毫秒级。
2.2 特征点跟踪
给定一帧图像的特征点,在另一帧图像中完成特征点对应(也即是特征点跟踪),经典方法是计算稀疏光流的Lucas-Kanade算法[6]。这里利用联合特征和边缘的运动估计方法[7],通过相邻特征点运动一致性关系,计算更为光滑的特征点运动矢量。其定义的全局特征点运动能量函数为
式中:‖·‖表示矢量的L2范数;Kρ*(·)代表在宽度ρ的空域邻域内求和;Ui为特征点i到图像I'中对应点的二维运动矢量;n为特征点个数;λi代表正则化权重;本文实验中取ρ=7,λi=50。f(Ui,I)为光流约束方程为
式中:各符号的下角标代表对相应坐标求偏导数,(Ix,Iy)T表示像素灰度的梯度。在能量方程(1)中,特征点i的能量取决于其运动Ui匹配局部图像以及匹配运动期望i的程度。可以通过特征点的邻近特征点运动获得近似,本文考虑到属于同一个运动对象的特征点总是在空间上聚集在一起,所以定义为
式中:di,j表示一对相邻特征点(i,j)的欧氏距离;Li表示与特征点邻接特征点i的集合,此集合通过在当前帧图像中计算Delaunay三角剖分[8]获得。最小化能量EJ同样采用梯度下降法,令EJ对每个运动矢量Ui求导等于零,获得一个2n×2n的稀疏矩阵方程,其中方程的第(2i-1)行和第2i行的形式如下
这个方程可以通过雅克比迭代计算,即
式中:上标为迭代次数,Jmn=Kρ*(ImIn),(m,n∈{x,y,t})。为降低运算量,增强特征点跟踪对大范围运动的鲁棒性,本文实验中使用三级金字塔方式,依次由低分辨率图像到高分辨率图像实现最小化能量函数式(1)。
3 基于运动的特征点分类
3.1 特征点组分类与运动模型估计
针对特征点的运动分类和模型估计,RANSAC(Random Sample Consensus)算法[9]逐个计算单个特征点组的运动模型参数方式比较典型。但是这种做法的弊端在于前一次分类的误差随着级联结构逐级传播,影响剩余数据点的正确分类。这里采用改进的两步RANSAC算法[10],即通过粗估计和精估计两步,将跟踪后的成对特征点以并行的方式估计出多个特征点组。首先,粗估计尽可能多地从原始特征点数据中提取可能的运动模式,具体步骤为:
1)首先重复RANSAC试验Ns次:每次随机抽取n对对应特征点,计算运动参数(本文取n=3计算仿射变换参数),根据此运动参数将剩余的特征点对划分成模型数据和离群数据两类,并记录模型数据个数。
2)将以上多次试验按照其持有的模型数据个数由大到小排序,保留模型数据较多的个组作为候选分类。
3)计算每组与其他组的特征点重合情况,若两组所共同持有的模型数据占模型数据较少的一组的75%以上,则说明两者的重合度较大,拥有较少模型数据的一组包含于模型数据较多的一组,继而可以从候选分类中删除模型数据较少的这一组。
注意一对特征点对可能同时属于多个运动模式,即m个运动模式中可能有一些模式属于同一个运动模型(即同一个运动目标),因此需要上述步骤3)对m个分类中属于相同组的模式进行合并。经过以上粗估计处理,获得的候选类别数量较大,组划分比较粗糙,每个组包含的离群数据较多。精估计则是对粗估计分类进行进一步的精炼,具体描述如下:
1)对每个候选分类设定更严格的模型估计误差容限,重新执行RANSAC算法,实现对每个候选分类模型数据的精炼,并计算特征点精炼后的新运动参数。
2)经过上一步较严格的离群数据淘汰,获得的新特征点分类模型数据减少,但每组模型数据的减少将会引起两组特征点重合情况(两组共同持有的特征点占特征点数较少的一组的75%以上)的再次发生,需再次使用与粗估计步骤3)一样的方法,对候选特征点组进行合并,完成最终的特征点分类。
另外,由于特征点的空间位置分布与图像各个区域的纹理复杂度有关,纹理丰富的区域特征点数目较多、分布稠密,而纹理贫乏的区域特征点较少、分布稀疏。以上改进两步RANSAC算法还考虑有侧重地对数据点进行抽取,以处理特征点分布不均匀的问题。即通过统计每个特征点周围半径为像素邻域内的特征点数目,来衡量特征点分布的稠密程度,进而设定每个特征点被采样到的概率与其稠密度成反比,这样就可以保证低纹理区的特征点被更多地抽到,降低含特征点数较少的运动模式遗失的可能。
本文的实验中,采用仿射变换来近似场景中运动模式,设t=(t1,t2,t3,t4,t5,t6)T为仿射变换参数,则满足此变换的像素(x,y)和像素(x',y')的坐标关系为
每个特征点组的仿射运动参数可以通过最小二乘法进行估计,也即t=(ATA)-1ATb,其中A,b由本组的模型数据(对应特征点对)构成,A,b与t之间的线性方程为
3.2 背景特征点剔除与目标定位
运动目标检测关注的是前景目标区域,进而需要区分出背景特征点。通常,背景的运动为整幅图像运动的主导,直观的做法是采用含有模型数据个数最多的特征点组作为背景特征点组,但是当背景的纹理相对于前景纹理较少时,背景特征点的数量可能较少。本文认为背景区域内像素个数占整个图像像素的主导,相应地,通过当前图像I与每组重建图像(根据每组的运动参数变换I'到I)的误差来衡量满足该组运动的像素情况。具体地,计算像素的平均重建误差,公式为
式中:zp表示图像I中像素p的灰度;z'w(p,i)代表利用第i个特征点组的运动参数;映射p到图像I'中所对应的像素灰度;w(p,i)如式(7)的坐标变换;Ni为能够计算误差的像素个数(也即重建图像与原始图像坐标重合的像素个数)。采用平均误差的目的是为了保证该度量不受重建图像与当前帧图像的重合面积大小的影响。这里取平均重建误差最小的特征点组为背景特征点组B,其他组为前景目标的特征点组{Fi}。进而,最终的前景目标位置由{Fi}中的特征点位置均值确定。
4 实验结果与分析
本文对多个背景运动的视频进行了测试,测试的图像序列从Hopkins155数据集[11]得到。实验中,特征点分类步骤的参数设置分别为N8=103,m=300,rc=15。运行实验的硬件条件包括Intel Pentium-4 2.8 GHz的CPU,2 Gbyte内存;软件条件包括Windows XP SP3操作系统,MATLAB R7.6。
图2a和图2b为复杂场景中待处理的相邻两帧图像,这些图像中目标和背景运动情况不一致。图2c为使用第3节的方法所获得的特征点检测与跟踪结果,图中绘出了每个特征点的运动矢量,从中可以看出用此方法估计的相邻特征点运动具有一定的一致性。图2d为通过第4节方法对特征点对进行分类的结果,对应的每一类前景特征点表示一个目标检测结果,分类后的背景特征点用实心点标记,前景特征点则根据其所属运动模式的不同作不同标记(分别用十字或星号标记)。值得注意的是,经过上述步骤处理,具有背景或前景类别标记的特征点总数较上一步处理(即第3行子图的处理)结果大为减少,其余被归为离群数据的特征点主要由上一步运动估计误差所致,导致这种误差的原因是这类特征点多处于目标边界处,与其周围特征点的运动不连续。
图2 室外场景图像的运动目标检测
5 结论
针对视频中目标位置初始化问题,本文提出的算法考虑了运动背景及非特定类属目标的一般情况,且只采用了局部特征的运动信息。该算法通过特征点检测与跟踪、特征点运动一致性分类、场景图像重建误差,实现对运动目标的检测。目前该算法能检测出部分的目标区域,实现目标轮廓的像素级分割是将来的一个探索方向。
[1]RADKE R J,ANDRA S,AL-KOFAHI O,et al.Image change detection algorithms:a systematic survey[J].IEEE Transactions on Image Processing,2005,14(3):294-307.
[2]潘翔鹤,赵曙光,柳宗浦.一种基于梯度图像帧间差分和背景差分的运动目标检测新方法[J].光电子技术,2009,29(1):34-36.
[3]廖彬,杜明辉,胡金龙.基于梯度场的彩色图像序列光流场算法[J].电视技术,2010,34(9):21-24.
[4]ZELNIK L,MACHLINE M,IRANI M.Multi-body factorization with uncertainty:revisiting motion consistency[J].International Journal of Computer Vision,2006,68(1):27-41.
[5]ROSTEN E,PORTER R,DRUMMOND T.Faster and better:a machine learning approach to corner detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(1):105-119.
[6]LUCAS B,KANADE T.An iterative image registration technique with an application to stereo vision[EB/OL].[2012-11-20].http://wenku.baidu.com/view/c7876662caaedd3383c4d307.html.
[7]BIRCHFIELD S T,PUNDLIK S J.Joint tracking of features and edges[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2008:1-6.
[8]BARBER C,DOBKIN D,HUHDANPAA H.The quickhull algorithm for convex hulls[J].ACM Transactions on Mathematical Software,1996,22(4):469-483.
[9]FISCHLER M,BOLLES R.Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J].Communications of the ACM,1981,24(6):381-395.
[10]WILLS J,AGARWAL S,BELONGIE S.What went where[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Computer Society,2003:37-44.
[11]TRON R,VIDAL R.A benchmark for the comparison of 3-D motion segmentation algorithms[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2007:1-8.