1. 引言
实时运动目标跟踪算法是计算机视觉应用中的关键技术,在军事视觉制导、医疗诊断、视觉监视等领域有着非常重要的实用价值和广阔的发展前景[1] -[4] 。近年来目标跟踪技术得到了蓬勃的发展,比较典型的匹配跟踪算法有:光流法[5] [6] 、帧差法,Mean shift跟踪算法[7] -[9] 、Kalman滤波跟踪算法[10] 、Particle滤波跟踪算法[11] 以及模块匹配等跟踪算法;另一类是基于检测的方法,如背景减除法[12] -[14] 。前者需要人工参与才能完成目标的检测与跟踪,不适合场景中有大量运动目标的情况;后者不需人工参与,适用于静态背景下的运动目标检测与跟踪。文献[5] [6] 提出利用光流法进行运动目标检测,但光流法的计算复杂程度高,且抗噪声能力差,不适用于对实时性要求较高的应用场合;帧差法虽然容易满足实时性,但很难准确地分割出运动目标,易造成空洞和拖尾现象,不利于进一步的运动目标跟踪;背景减除法是利用当前图像与背景图像的差分图像来检测运动目标的一种方法,应用非常广泛。建立简单、可靠的背景模型是背景减除法提高运动目标检测与跟踪可靠性的基础。大部分研究人员目前都致力于开发更为简单、实用的背景模型,以期减少动态场景变化对运动目标检测的影响。为此,本文提出了一种计算量小,且能反映真实背景的背景建模方法,通过建立运动目标的位置、大小、形状以及颜色分布模型,构造运动目标全局匹配函数,结合目标活力特征,实现多运动目标连续匹配和跟踪。在此基础上最终提升了传统运动目标检测与跟踪算法的稳健性和实时性。
2. 建立背景模型
2.1. 简单背景建模
简单的背景建模方法是将当前帧图像与原背景图像直接进行加权得到新的背景图像,即
(1)
式中,表示第帧建立的背景图像在处的像素值;表示第帧采集到的真实图像在处的像素值;为加权因子。该方法不需区分运动目标,直接将当前帧图像与前一帧背景图像进行加权获得当前帧背景图像。该模型算法简单,计算量小,但背景图像中有运动目标信息,不能反映真实的背景模型,降低了运动目标检测与跟踪的可靠性。
2.2. 自适应背景模型
基于自适应背景建模的运动目标检测原理框图如图1所示。
Figure 1. Schematic diagram of adaptive background modeling and object detection
图1. 自适应背景建模及运动目标检测原理框图
为使建立的背景模型中不含运动目标的信息,经典的背景模型建立方法为
(2)
式中,表示第帧建立的背景图像在处的像素值;表示第帧采集到的真实图像在处
的像素值;为自适应学习因子,,为固定学习因子;的区域为背景
更新区域,即非运动区域;当时,,即用第0帧图像初始化背景图像。该背景建模方法选择性地更新背景,只将非运动区域更新到中,而对运动区域不做更新,使得更新的背景就不含有运动目标信息了。该背景建模方法的关键之处在于的计算。
获取的的一种方法是直接求取第帧真实图像与第帧背景图像的差值图像,利用差值图像计算,其缺点是当运动目标停止一段时间融入背景图像后又突然运动时,在运动目标停止位置会产生一个虚假目标,而且该虚假目标会一直存在。从而影响该区域的背景更新,造成死锁。为解决此问题,可通过计算光流判断目标的真实性,光流超过阈值的目标被定义为真实目标,小于阈值的目标被定义为虚假目标。但光流计算比较复杂,耗时较多。因此本文提出了一种利用多帧混合差分消除虚假目标的方法。该方法相对于光流法,计算量较少,具体的计算公式为
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
式中,,为RGB色彩空间向量;函数获取,向量的差值;表示第帧真实图像与第帧背景图像的差值图像;为利用多帧混合差分获得的差值图像;为二次采样间隔;为多帧混合差分使用的总帧数;为二值化函数;为二值化的阈值;为的二值化结果;为的二值化结果;为膨胀操作符;为闭运算操作符;、、和为结构元素;为通过背景减除获得的运动区域;为通过多帧混合差分获得的运动区域。得到的运动区域除包含运动目标外,还包含虚假目标,得到的运动区域一般比真实目标大,故将与进行交运算,得到;包含运动目标,与真实运动区域大小相近。然而该运动区域除包含运动目标外,还包含高频背景运动(如波动的水面,摇摆的树枝等)。对做连通性分析,连通面积超过阈值的区域被视为运动目标,归入;连通面积小于阈值的区域被视为高频背景区域,从中去除。消除高频背景运动的就是最终的背景更新掩模图像,使用对背景模型进行自适应更新,这样建立的背景模型可以有效地抑制高频背景运动以及图像传感器本身带来的噪声信号。
3. 运动目标跟踪
运动目标跟踪是将当前检测到的运动目标与之前检测到的运动目标进行匹配。运动目标跟踪与目标的位置、大小、形状以及颜色的分布模型有关。因此,本文在为运动目标建立位置、大小、形状以及颜色匹配度函数的基础上,利用全局匹配的方法进行运动目标跟踪,提高运动目标跟踪的可靠性。
3.1. 位置匹配函数
本文定义运动目标位置匹配度函数为
(12)
(13)
式中,表示运动目标a,之间的位置接近程度;和分别表示运动目标a的横纵坐标;和分别表示运动目标的横纵坐标;表示运动目标a,在x方向上的绝对差;表示运动目标a,在y方向上的绝对差;和分别表示运动目标a,宽度的1/2;和分别表示运动目标a,高度的1/2。的值域在0到1之间,越大,表明运动目标a,的距离越近;反之,越小,表明运动目标a,距离越远。合并式(12)和式(13),得
(14)
3.2. 大小匹配函数
目标大小在图像中反映为目标中所包含像素数目的多少,目标大小的粗略计算方法可直接求取目标外接矩形面积的大小。然而,对于某些检测出的目标其外接矩形与目标本身的面积大小相差较多,造成计算误差较大,因此本文通过精确计算目标包含像素数目来表示运动目标的大小。运动目标面积匹配程度通常有以下两种表现形式,即
(15)
(16)
式中,表示运动目标a,b之间的面积匹配程度;表示运动目标包含的像素数目;表示运动目标包含的像素数目。的值域在0到1之间,越大,表明运动目标a,的大小越接近;反之,越小,表明运动目标a,的大小差别越大。式(15)和式(16)都可以表示运动目标a,之间的面积匹配程度,本文采用式(15)的计算方法。
3.3. 形状匹配函数
本文结合运动目标面积周长比和运动目标长宽比来描述运动目标的形状。
定义运动目标面积周长比匹配度函数为
(17)
式中,表示运动目标面积周长比匹配度;和分别表示目标a,包含的像素数目;和分别表示目标a,的周长。
定义运动目标长宽比匹配度函数为
(18)
式中,表示运动目标长宽比匹配度;和分别表示运动目标a,宽度的1/2;和分别表示运动目标a,高度的1/2。
定义运动目标形状匹配度函数为
(19)
式中,表示运动目标a,之间的形状相似程度;c为加权常数因子,通常取值0.5。的值域在0到1之间,越大,表明运动目标a,之间的形状越相似;反之,越小,表明运动目标a,之间的形状越不相似。
3.4. 颜色匹配函数
建立目标颜色直方图模型的传统方法是直接统计运动目标在每一个像素值包含像素点的数目。该方法简单,基本能反映出目标的颜色分布情况,但实际视频中检测到的目标边缘是不准确的,即有些边缘像素点实际上并不属于运动目标,而属于背景图像,在利用传统目标颜色直方图模型进行目标跟踪时,导致目标跟踪的可靠性降低。因此,本文对传统颜色直方图模型进行改进,提出加权颜色直方图模型,即在建立颜色直方图模型时,对远离目标中心的像素点取较小的权值,对靠近目标中心的像素点取较大的权值,获得改进后的颜色直方图模型为
(20)
(21)
(22)
(23)
(24)
(25)
式中,表示的第个分量,即像素值为的像素点在整个目标中所占的比重;表示该目标包含的像素点总数;为权重函数,远离目标中心的像素点权重较小,靠近目标中心的像素点权重较大;
为归一化因子,以确保;为狄拉克函数,表示仅统计像素值为的像素点;表
示目标中第个像素点;为的像素值;表示目标中心点;表示与之间的距离;表示的最大值,即目标的半径;为与的比值;和分别表示中心点的横纵坐标。
颜色直方图相似度的计算方法为
(26)
式中,,为待匹配的两个颜色直方图;m为直方图的维数;和分别为和的第个分量。越大,两个直方图越相似,如果,则说明两个直方图完全相同。
3.5. 全局匹配函数
全局匹配过程就是将当前帧中获取的运动目标与前一段时间内获取的所有运动目标进行匹配的过程,如果匹配成功,则该目标为先前目标;否则,如果匹配失败,则该目标将为新目标,而两个目标是否匹配主要与目标的位置、大小、形状和颜色有关,因此建立运动目标全局匹配的相似度函数为
(27)
式中,a和为待匹配的两个目标;表示表示目标a和目标中心位置的接近程度;表示表示目标和目标包含像素点总数的接近程度;表示目标和目标的形状接近程度;表示表示目标和目标b颜色直方图的相似程度;、、和分别为、、和的加权系数;且满足。的值域在0到1之间,越大,表明运动目标,的匹配度越大;反之,越小,表明运动目标a,b的匹配度越小。
3.6. 运动目标全局跟踪
运动目标跟踪的原理框图如图2所示。设当前帧中所有运动目标构成的集合为当前目标集;此前一段时间内所有活力目标构成的集合为先前目标集,利用全局匹配函数在当前目标集和先前目标集中选取最优匹配对,若匹配值超过阈值,则匹配成功,增加该目标的活力值,继续进行下一匹配;反之,若匹配值低于阈值,则匹配失败,降低该目标的活力值。如果目标的活力值低于某一门限,则删除该目标。定义目标活力函数为
(28)
式中,表示目标当前帧的活力值,表示目标上一帧的活力值,表示活力衰减因子,;当目标匹配成功时,目标活力增加,;反之,当目标匹配失败时,目标活力降低,。
4. 实验结果与分析
实验采用Intel(R)Core(TM)2Quad CPU作为核心处理器,计算机主频为2.83 GB,4 GB内存。目标视频为实时采集的RGB三通道图像序列,图像分辨率为352 × 288,采样频率为每秒25帧。采用简单背景建模法、单高斯背景建模法、混和高斯背景建模法、卡尔曼滤波背景建模法和本文的建模法分别进行背景建模,利用背景建模结果对实时视频中的运动目标进行检测与跟踪。
Figure 2. Schematic diagram of object tracking
图2. 目标跟踪原理框图
4.1. 背景建模
背景模型建立过程的示意图如图3所示。图3(a)为采集到的当前帧图像;图3(b)为采用本文自适应方法获取的背景更新掩模图像,黑色区域为更新区域,白色区域为非更新区域;图3(c)为需要更新的图像,非全黑区域为更新区域,将这部分区域更新到背景中;图3(d)为本文方法建立的背景模型。
4.2. 多运动目标跟踪
在图4中,运动目标4、5、6在第一张图片中分别沿不同的方向运动,在第2张图片中目标4与目标6发生融合,第三张图片时,目标4与目标6分裂,目标5与目标6融合,直至第四张图片时,目标
Figure 3. Adaptive background modeling
图3. 自适应背景建模
Figure 4. Multi-objects tracking No. 1
图4. 多运动目标跟踪1 5与目标6分裂。本文算法实现了运动目标的正确跟踪。
在图5中,实验选取某公路摄像头实际拍摄视频画面,算法对公路上的车辆、行人进行了连续跟踪,实现了复杂场景下良好的跟踪效果。
Figure 5. Multi-objects tracking No. 2
图5. 多运动目标跟踪2
5. 结论
为提高实时运动目标跟踪的精确性和稳定性,提出了一种基于自适应背景建模的运动目标检测与跟踪算法,与传统方法相比,本文算法具有以下明显优点。
1) 实时建立了一种自适应背景模型,在减少计算量的同时,真实还原了运动目标的背景图像;
2) 建立了运动目标的位置、大小、形状以及颜色分布模型,构造了运动目标全局匹配函数,结合运动目标的活力特征,实现了多运动目标连续稳定跟踪。对于非刚性运动目标的形变、扭曲、旋转,多运动目标彼此遮挡等复杂环境具有较强的鲁棒性。
参考文献