顾苏杭1,2,陆 兵2,戎海龙1
(1.常州大学信息科学与工程学院,江苏常州 213164;2.常州轻工职业技术学院,江苏常州 213164)
基于阈值判断的CamShift目标跟踪算法
顾苏杭1,2,陆 兵2,戎海龙1
(1.常州大学信息科学与工程学院,江苏常州 213164;2.常州轻工职业技术学院,江苏常州 213164)
针对CamShift算法只利用目标的颜色信息,在跟踪过程中,易受目标相似物、遮挡以及光照等复杂背景影响导致目标搜索窗口发散,跟踪稳定性能降低,提出了一种基于阈值判断的目标跟踪方法;该方法将OTSU法和Snake模型结合,利用OTSU法以最佳阈值对图像进行分割,分离前景区域和背景区域,初步提取目标轮廓作为Snake模型的初始轮廓,经收敛得到目标的精准轮廓,利用轮廓外接最小矩形框内的像素计算目标质心,判断与CamShift算法中目标搜索窗口质心之间的欧式距离,如果未超出阈值,则直接使用CamShift算法跟踪目标,反之,则将计算出的目标质心作为CamShift算法中当前帧目标搜索窗口的质心跟踪目标;实验结果表明,该算法跟踪目标具有较好的实时性,跟踪性能稳定、可靠。
CamShift算法;OTSU算法;Snake模型;阈值判断;目标跟踪
视频序列中的运动目标跟踪一直是计算机领域的研究热点,在多个领域有着广泛的应用,如军事制导、生物医学、智能交通以及产品安全等等[1 3]。运动目标跟踪算法主要分为特征模型跟踪方法、轮廓模型跟踪方法以及区域模型跟踪方法。连续自适应均值漂移CamShift算法[4 6]是基于颜色特征模型的跟踪方法,在无需参数的条件下实现快速模式匹配,算法实现简单,实时性好。然而在实际的目标跟踪过程中,CamShift算法极易受目标相似物、目标形变以及光照变化等因素影响,目标搜索窗口发散,导致跟踪失败。Snake模型能够提取连续、闭合的目标轮廓,模型具有较好的抗噪性,利用定义的能量函数和边缘特征通过不断迭代的方式逼近目标真实轮廓。然而该模型的精确度受初始目标轮廓影响,即对初始轮廓位置敏感。
本文针对CamShift算法以及Snake模型的不足,提出了一种基于阈值判断的目标跟踪算法。新方法具有较好的实时性和稳定性,在目标跟踪的过程中,利用最佳阈值OTSU法和Snake轮廓模型提取目标精确轮廓,计算目标最小外接矩形框质心;同时将CamShift算法作为目标跟踪方法,目标搜索窗口质心与计算出的目标最小外接矩形框质心间的距离设定阈值并进行阈值判断,使CamShift算法目标搜索窗口始终稳定在目标区域,因此,目标跟踪将具有更好的鲁棒性。
1.1 CamShift算法
CamShift算法是建立在MeanShift算法[7 8]基础上的无参数迭代方法,根据图像中目标的颜色概率分布信息对目标进行建模和识别跟踪[9]。CamShift算法将MeanShift算法应用在视频序列图像中,利用目标的的颜色概率分布估计目标的大小和位置,并根据上一帧得到的结果自适应地调整目标搜索窗口的大小和位置,从而计算出当前帧图像中目标搜索窗口的质心位置。CamShift算法步骤如下:
1)选取感兴趣目标区域来初始化搜索窗口的大小和位置。
2)逐个对搜索窗口中像素H通道上的值进行采样,获得目标的颜色分布直方图{q(u)}u=1,2,...,b,b 为颜色直方图箱格的数目,一般取256。
3)以搜索窗口形心(x0,y0)为中心,设置一计算区,其大小比搜索窗口尺寸稍大。
4)通过颜色直方图色彩投影(反向投影)计算计算区的颜色概率分布图I(x,y)。
式中,f(x,y):R2→R3为图像函数;c(·):R3→{1,2,...,b}为颜色空间分布量化函数;δ(·)是Kronecker函数。
5)计算I(x,y)的零阶矩J00,一阶矩J01,J10和质心(xc,yc)。
7)统计新的搜索窗口中目标的颜色分布直方图,输出搜索窗口中心(xc,yc)、宽和高h=1.2w ,读入下一帧序列图像,重新执行2)。
8)设置x0=xc,y0=yc,搜索窗口宽,高h= 1.2 w,重新执行3)。
CamShift算法跟踪过程比较简单,算法运算量低,十分有利于实时跟踪目标。但CamShift算法主要利用目标的颜色特征信息,并不包含目标的空间分布特征,如果背景相对复杂,目标相似物、目标遮挡以及目标形变等因素都会增加跟踪的难度,导致目标搜索窗口发散,跟踪失败。为了有效地解决这一问题本文采用阈值判断的方法,将目标质心始终确定在阈值范围内,有效地提高了目标跟踪的稳定性。
1.2 Snake模型
Snake模型也被称为活动轮廓线模型[10-12],是一种参数模型,对目标初始轮廓比较敏感,其最大的特点是不受目标几何特性的影响,能够得到最接近于目标边缘的封闭连续的轮廓。Snake模型经轮廓曲线能量函数得到真实的目标轮廓,首先在感兴趣目标附近标定初始轮廓,然后通过轮廓曲线能量函数内部能量和外部能量的共同作用使得曲线朝真实目标轮廓位置移动,且曲线能量不断更新,最终通过能量最小化动态地将目标轮廓模型匹配到视频序列图像中,得到最精确的目标轮廓。一般轮廓的能量由3个部分组成:
式(6)中,EElastic代表弹性能量以及EBending代表拉伸能量,它们都表示曲线的本身特征,与具体图像无关。Eimage可驱使轮廓模型向着目标的边缘延伸或者收缩。通常曲线内部能量Eint的最小化可保证曲线的光滑和连续,由EElastic和EBending组成,即:
定义一幅图像为I(x,y),图像梯度图可由▽I来表示,因此,图像中目标边界部分的▽I(x,y)将会有较大的绝对值,所以,曲线的外部能量可定义如下:
显然,在目标的边界部分,曲线的外部能量以锤形变化的方式呈现,但即使Snake模型的初始轮廓离目标的真实边缘较远,也可在能量最小化过程中将曲线拉伸到目标的边缘,从而得到目标的真实轮廓。
Snake模型已成功的应用于处理提取目标轮廓问题,其通过能量泛函最小值求解目标轮廓位置的活跃特性过程十分有利于光照变化、目标遮挡以及目标形变等复杂背景情况下的目标跟踪。但基本的Snake模型有如下缺陷:
1)对目标初始轮廓位置十分敏感。Snake模型生成精确的目标轮廓必须依赖于初始轮廓的先验知识,且初始轮廓越接近目标边缘Snake模型取得的效果越好;
2)Snake模型轮廓曲线能量函数在能量最小化的过程中有可能收敛到局部机制点,导致发散;
3)Snake模型不能自然地处理拓扑结构,即不能分割多个目标边界。
2.1 本文的改进方法
CamShift算法仅仅利用目标的颜色特征信息实现跟踪,极易受光照变化、目标遮挡以及目标形变等复杂因素影响,导致目标搜索窗口质心发散。如果能将目标搜索窗口的质心至始至终确立在一定阈值范围内,那么跟踪的稳定性将会得到大大提高。Snake模型易受初始轮廓先验知识的影响,此时引入动态阈值OTSU法[13-14],以最佳的阈值处理视频序列图像,将目标从复杂背景中分离,初步提取比较精确的目标轮廓作为Snake模型的初始轮廓,经过Snake模型中轮廓曲线能量函数的最小化得到精确的目标轮廓。将此精确轮廓体现在视频序列图像中,计算封闭轮廓区域最小外接矩形框内所有像素的质心,与CamShift算法目标搜索窗口的质心之间的欧式距离间设定一阈值,如果两个质心间的距离超过阈值,则将封闭轮廓区域最小外接矩形框的质心作为CamShift算法目标搜索窗口质心进行后续迭代,反之则直接利用CamShift算法,依据该方法实现目标跟踪,能够取得不错的跟踪效果。本文改进方法的流程如图1所示。
2.2 目标质心计算
计算目标质心的前提是能够将目标从背景中有效地分割出来,然后根据包含目标的最小外接矩形框内所有像素的信息求取质心。OTSU法在图像分割领域有着广泛的应用,是一种经典的自适应阈值分割处理方法。本文采用OTSU法对视频序列图像作最佳阈值二值化处理,不仅能够消除目标边界附近大量的噪声,而且经边缘检测可得到比较连续且明显的目标轮廓。将此轮廓作为Snake模型的初始轮廓,经过能量最小化过程得到精确的目标轮廓,依据该轮廓的最小外接矩形框内所有像素计算目标的质心。对于一幅图像I(x,y),记二值化结果为fI(x,y),则:
图1 本文改进方法的流程图
那么目标轮廓最小外接矩形框的质心(xm,ym)可由式(5)计算得出(为了与CamShift算法相对应,此时最小外接矩形框内不属于目标的像素也归为目标)。
2.3 目标跟踪
在利用CamShift算法对视频序列图像中的目标进行跟踪的过程中,如1.1节步骤(6)所述,由于实际环境中常会存在光照突变、目标遮挡以及目标旋转等复杂因素,目标搜索窗口的中心和质心间的欧式距离易发散,即和的值大于阈值ε,经多帧视频序列图像迭代,目标丢失,跟踪失败。针对同一帧视频序列图像,设定,本文对ε‘进行判断,分不同情况对目标进行跟踪。当且的值小于阈值ε’时,即不存在光照突变等因素或影响较低,此时仍然通过CamShift算法对目标进行跟踪;当且的值大于阈值ε’时,即此时发生光照突变等因素,将目标搜索窗口质心(xc,yc)置换为式(10)中计算所得的质心(xm,ym),确保,再利用CamShift算法对目标进行跟踪。
为了验证本文所提方法的有效性和可靠性,选取Change-Detection.NET(CDNET)视频库作为标准的测试数据库,该视频库包括多种情况下的视频测试数据,如动态背景、光照变化、目标旋转以及目标遮挡等等。实验算法测试环境:操作系统为64位的Microsoft Windows 7专业版,处理器为Intel(R)Core(TM)i5-4690,主频为3.50 GHz,内存为3.2 GB,软件开发工具由Matlab R2010b、Microsoft Visual Studio 2010以及2.4.4版本的开源计算机视觉库OpenCV混合组成。为了降低算法的计算量,提高目标跟踪的实时性,本文所有测试图片大小均设置为320像素×240像素。
3.1 轮廓提取实验
OTSU法是一种常用自适应阈值分割方法,它能够以最佳的阈值对图像进行分割,算法流程简单,运算量较低,在分割图像的过程中可以有效地去除感兴趣目标区域边界附近的噪声,而且对光照、遮挡等因素具有较好的鲁棒性。图2、图3、图4分别为不同情况下的图像分割与轮廓检测实验,图2 (c)、图3(c)、图4(c)为传统的K-Means分割,图2 (d)、图3(d)、图4(d)为Canny算法对K-Means分割后的图像进行轮廓检测,图2(e)、图3(e)、图4(e)为OTSU法分割,图2(f)、图3(f)、图4(f)为Canny算法对OTSU分割后的图像进行轮廓检测。本文利用OTSU法对不同情况下的目标图像进行分割,与传统的分割方法K-Means聚类算法相比,OTSU法的分割效果更好,能够比较完整地分割图像,继而利用Canny算法能够提取比较清晰、连续的图像轮廓。
图2 目标旋转
图3 目标遮挡
由于Snake模型对初始轮廓敏感,因此,本文将初步提取的比较清晰、连续的目标轮廓作为Snake模型的初始轮廓,从而使Snake模型不受背景区域的影响收敛到目标真实的边缘。图5为采用OTSU法分割与Canny算法检测出的初始轮廓经Snake模型收敛后生成的精确目标边缘,由实验结果可知,本文方法基本能够逼近目标的真实轮廓,但同时也有不足的地方,如当人物的衣服多有褶皱时,此时本文方法收敛到褶皱处边缘的可能性较大。因此,还需要进一步研究如何提高Snake模型收敛的精确性。
图4 光照变化
图5 Snake模型输出的目标边缘
3.2 目标质心计算实验
在提取目标的精确轮廓之后,为了与CamShift算法目标搜索窗口(矩形窗)相接近,本文不直接计算目标区域的质心,而是利用式(10)针对目标轮廓最小外接矩形框进行质心计算。由于本文方法检测出的精确目标轮廓不能完整地包含目标区域,通常丢失目标部分区域,如目标区域的垂直方向和水平方向。因此,需要对最小外接矩形框作适当的调整。将上一帧视频序列图像中CamShift算法计算而得的目标搜索窗口中心(x0,y0)作为参考标准,将最小外接矩形框的形心与(x0,y0)作比较,以此来调整最小外接矩形框的垂直方向上的高度和水平方向上的宽度。图6为利用本文算法计算所得并作调整后的每一帧图像目标区域最小外接矩形窗,黑色的“*”为最小外接矩形框的质心。由图可知,最小外接矩形框基本能够包含目标,为稳定跟踪目标提供了可靠前提。
图6 人物目标最小外接矩形框
3.3 目标跟踪实验
图7为本文算法与CamShift算法中计算得出的目标质心间欧式距离比较,其中,“+-”线代表本文算法,“o-”线代表CamShift算法。本文算法根据判断检测出的目标最小外接矩形框质心与CamShift算法目标搜索窗口质心之间的欧式距离,如果超出阈值,则将目标最小外接矩形框的质心作为CamShift算法当前视频序列图像目标搜索窗口的质心,继而利用CamShift算法进行迭代,实现目标跟踪;如未超出阈值,则直接利用CamShift算法进行目标跟踪。
图7 质心间欧式距离比较
选取ChangeDetection.NET(CDNET)视频库中目标旋转、目标遮挡以及光照变化情况下的视频序列图像各100帧,利用本文算法对图像中的人物进行检测与跟踪测试。图8中黑色的轨迹线代表人物跟踪的轨迹。由图可知,人物目标最小外接矩形框基本能够包含目标,即使存在目标旋转等复杂情况,本文算法依然能够取得较好的人物目标检测与跟踪效果,跟踪性能稳定、可靠。
图8 人物跟踪轨迹
本文对视频序列图像中的目标检测与跟踪进行了研究,分析了Snake模型与CamShift跟踪算法存在的优势和不足,针对这两种算法的不足进行了方法上的可行性改进,提出了一种基于阈值判断的CamShift目标跟踪算法,即使存在目标旋转、目标遮挡以及光照变化等情况下,本文方法依然能够取得较好的目标检测效果,目标跟踪性能稳定;但同时也存在不足之处,如检测出的目标最小外接矩形框不能完整地包含目标。因此,在接下来的研究工作中,将会以提高检测目标轮廓的完整性与精确性为重点,进一步提高复杂背景下目标跟踪的稳定性。
[1]江晓莲,李翠华,李雄宗.基于视觉显著性的两阶段采样突变目标跟踪算法[J].自动化学报,2014,40(6):1098-1107.
[2]张巧荣,冯新扬.利用视觉显著性和粒子滤波的运动目标跟踪[J].中国图象图形学报,2013,18(5):515-522.
[3]万中田,冼钟业,胡明宇,等.基于Kalman预测器的多特征Camshift运动目标跟踪算法[J].武汉大学学报(工学版),2015,48(5):712-716.
[4]闫钧华,陈少华,艾淑芳,等.基于Kalman预测器的改进的CAMShift目标跟踪[J].中国惯性技术学报,2014,22(4):536-542.
[5]马正华,顾苏杭,戎海龙.基于SIFT特征匹配的CamShift运动目标跟踪算法[J].计算机科学,2014,41(6):291-294.
[6]陈丽君,马永杰.自适应融合角点特征的Camshift目标跟踪[J].计算机工程与应用,2014,50(24):178-182.
[7]吴慧敏,郑晓势.改进的高效CamShift跟踪算法[J].计算机工程与应用,2009,45(27):178-180.
[8]胡正平,石 巍,谢荣路,等.多特征联合的尺度和方向自适应meanshift跟踪算法[J].燕山大学学报,2015,(3):254-268.
[9]刘 超,惠 晶.基于改进CAMShift的运动目标跟踪算法[J].计算机工程与应用,2014,50(11):149-153.
[10]陈立潮,牛玉梅,潘理虎,等.Snake模型的研究进展[J]计算机应用研究,2014,31(7):1931-1936.
[11]周亚男,程 熙,骆剑承,等.改进GVF的自动Snake模型[J].中国图象图形学报,2012,17(2):256-262.
[12]王 蒙,戴亚平,王庆林.一种新的FAST-Snake目标跟踪方法[J].自动化学报,2014,40(6):1108-1115.
[13]何志勇,孙立宁,陈立国.Otsu准则下分割阈值的快速计算[J].电子学报,2013,41(2):267-272.
[14]胡 敏,宋银龙.基于二维Otsu和模糊聚类的图像分割算法[J].计算机应用研究,2012,29(4):1563-1565.
Moving Target Detection and Tracking Algorithm Based on Contour and ASIFT Feature Matching
Gu Suhang1,2,Lu Bing2,Rong Hailong1
(1.School of Information Science and Engineering,Changzhou University,Changzhou 213164,China;2.Changzhou Vocational Institute of Light Industry,Changzhou 213164,China)
In the process of target tracking,the CamShift algorithm only uses the color information of the target to achive tracking,and the complex background such as similar objects,occlusion,the interference of light and so on,which would lead to the divergence of the target search window and reduce tracking performance.In order to solve the defect of the CamShift algorithm,a method of target tracking based on threshold value judgement was proposed.The method combined the OTSU algorithm with the Snake model which used OTSU to segment the image with the best threshold to separate the foreground and background,then the initial contour of the target was extracted that was taken as the input contour of the Snake model,and the precise contour of the target would generate.And the target centroid could be calculated by using the pixels in the minimum rectangle region that outsided the precise contour.The Euclidean distance between the centroid of the target search window in the CamShift algorithm and the new centroid could be as the basis for tracking.If the Euclidean distance within the set threshold,the CamShift algorithm would be used to track the target directly;On the contrary,the new target centroid was regarded as the centroid of the target search window in the current frame to achieve target tracking through the CamShift algorithm.The experimental results showed that the new algorithm had good real-time performance,and the tracking performance was stable and reliable.
CamShift algorithm;OTSU algorithm;Snake model;Threshold judgement;target tracking
1671-4598(2016)08-0267-05
10.16526/j.cnki.11-4762/tp.2016.08.073
:TP391.8
:A
2016-05-09;
:2016-06-01。
国家自然科学基金(61201096);机器人技术与系统国家重点实验室开放基金重点项目(SKLRS-2010-2D-09,SKLRS-2010 -MS-10);江苏省自然科学青年基金(BK20140266);江苏省高校自然科学研究面上项目(14KJB210001);常州市科技计划资助(CJ20160010)。
顾苏杭(1989-),男,江苏盐城人,硕士,助教,主要从事模式识别与智能系统方向的研究。
陆 兵(1967-),男,江苏常州人,本科,高级工程师,主要从事计算机测量与控制方向的研究。