统计差分与自启动的Camshift跟踪算法
2011-08-18刘侠陶冶邢春
刘侠,陶冶,邢春
(哈尔滨理工大学自动化学院,黑龙江哈尔滨 150080)
统计差分与自启动的Camshift跟踪算法
刘侠,陶冶,邢春
(哈尔滨理工大学自动化学院,黑龙江哈尔滨 150080)
传统的CamShift算法具有很好的实时性,但无法实现自启动,且在跟踪过程中易受噪声和颜色变化的干扰,针对这些缺点,提出了一种改进的Camshift算法.首先运用统计差分算法对移动目标快速定位,得到初始前景对象的区域,然后通过统计前景区域获取精确的目标颜色直方图模型并以此区域为原型计算肤色直方图的查询表.同时结合一些后续步骤成功实现了算法的自启动.最后用实验验证了借助统计差分与目标颜色直方图模型的CamShift算法能够实现自启动并提高Camshift算法跟踪时的准确度.
CamShift算法;背景统计;目标跟踪;目标掩膜
对视频序列中感兴趣的目标进行有效地跟踪定位,并进一步对运动目标进行分析,可以应用于安全监控、虚拟现实、人机交互等许多领域,具有较高的学术价值和理论意义,是目前计算机视觉中最重要最活跃的课题之一.
国外的目标跟踪的研究起步比较早.美国的国防高级研究项目署设立了以卡内基·梅隆大学为主,麻省理工学院等高校参加的视频监控重大项目VSAM,研究和发展自动视频理解技术,可以方便地监测复杂的背景.美国的马里兰大学与IBM公司一起研制的视频监控系统是基于背景模型的动态目标检测算法.该系统能对人的外表进行模型建造,从而在户外完成对人的检测和跟踪[1].
国内的运动目标跟踪的研究起步较晚.清华大学图形图像研究所研制的视觉侦查系统,可在野外环境中使用,系统实现了运动目标检测、跟踪和全景图生成等功能.东南大学多媒体技术工程研究中心申请了“四画面图像采集智能监控方法”发明专利,目前主要研究人脸的自动识别[1].
现有的运动物体跟踪与识别算法有以下几种:基于轮廓检测、基于灰度分布、基于块特征及基于色彩信息等.近年来,基于CamShift(continuously adaptive meanshift)的跟踪算法凭借其在实时性和鲁棒性方面良好的表现,正受到越来越多的关注.Cam-Shift算法是 Bradski在MeanShift算法的基础上于1998 年提出的[2-4].该算法是一种非参数方法,它是通过聚类的方式搜寻运动目标,利用区域内的颜色信息对目标进行跟踪,可以有效地解决目标变形和遮挡的问题,并且运算效率较高[5].将 CamShift跟踪算法与背景统计帧差等多种算法相结合,在确保匹配速率的前提下,充分提高目标跟踪的准确性,并用实验进行了验证.
1 CamShift跟踪算法
1.1 颜色概率分布
RGB颜色空间对光照亮度变化比较敏感,为了减少此变化对跟踪效果的影响,CamShift算法首先将图像从RGB颜色空间转换到HSV颜色空间.HSV颜色空间把颜色表示成色度H、饱和度S、亮度V 3个分量,由于它们相互独立,能够提高算法的稳定性.再选择HSV颜色空间H分量建立目标直方图,设{xi}=1,2,…,n为目标图像的像素坐标,目标直方图表示为[4]
将原始图像的像素用直方图中相应像素的统计量所代替,然后将得到的结果重新量化,就得到颜色概率分布图.
1.2 CamShift算法
CamShift算法利用目标的颜色特征在视频图像中找到运动目标所在的位置和大小,在下一帧视频图像中,用运动目标当前的位置和大小初始化搜寻窗口,重复这个过程就可以实现对目标的连续跟踪[6].对离散概率分布,其算法实现过程如下[7].
1)在颜色概率分布图中手动选取大小为S的搜索窗W.
2)计算零阶矩:
计算x和y的一阶矩:
式中:I(x,y)是坐标为(x,y)的像素值,x和y的变化范围为搜索窗的范围.
3)计算搜索窗的质心为(xc,yc):
4)调整窗口的中心到质心位置.
5)在新的窗口中重复2)~4)直到收敛(质心变化小于给定的阈值).
零阶矩反映了目标在图像中的面积,颜色概率分布图是最大值为255的离散的灰度图像,由此,设置搜索窗的大小S和Z00的关系为
考虑对称性,S取接近计算结果的奇数.
通过计算二阶矩,可得到被跟踪目标的长轴、短轴和方向角.二阶矩为
目标长轴的方向角为
图像中目标长轴和短轴的长度可以按式(1)、(2)计算:
2 改进方法
传统的CamShift算法在目标跟踪中有几大优势:首先是算法计算量不大,在目标区域已知的情况下完全可以做到实时跟踪;其次,作为一个无参数密度估计算法,很容易作为一个模块与其他算法集成;另外,采用直方图建模,对边缘遮挡、目标旋转、变形和背景运动不敏感[8].
但随之产生了一些缺点,如:无法自启动程序,需要手确定目标区域和跟踪;对场景中颜色变化敏感和对颜色噪声干扰不能很好地免疫.对此提出了一条由粗到精的目标颜色特征提取办法:首先通过差分累计图像背景得到目标的大致位置区域和初始掩膜,随后再累计这些初始掩膜,得到完整而可靠的目标颜色特征描述.并结合后序处理使程序自动启动,无需人工干预.这大大提高了CamShift算法的精度、稳健度和实用性[9].
2.1 累积背景图像差分并二值化掩膜
由于系统在室外日光下拍摄,图像带有大量随机噪声,为了提高信噪比,利用目标出现前的多帧图像构造均值背景.目标的特征掩膜提取分为4步[10].
1)图像在采集过程中会带入大量随机噪声,假定这些噪声是非相关的,那么就可以利用多帧图像构造均值背景,通过相同条件下拍摄的多帧图像取平均而降低和消除噪声,该方法有效提高了图像信噪比,并从累积的帧差信息中构建出完整、可靠的背景区域,所用公式如式(3):
2)通过将当前图像帧和累积均值背景模型进行比较,确定出亮度变化较大的区域,即认为是前景区域,这样就得到了目标的大致位置区域.在此步中,还进行了高斯滤波去噪.
3)得到差分图像之后,通过类间最大方差阈值法[11]自适应求出一个分割阈值T进行二值化,分割出前景区域,并对二值化的图像进行形态学腐蚀、膨胀处理.分割后图像:
经过前3步的处理,大大抑制了非目标特征噪声点的产生,显著降低了后续处理的复杂度,从而减少了噪声的干扰,增强了准确性.至此,得到了非常精确的二值化掩膜.
4)将前面得到的二值化掩膜与相应帧图像相应位置的像素值进行“与”操作后,即可得到初始目标掩膜.
得到的部分重要结果如图1、2所示.
图1 差分后前景图像Fig.1 Foreground image differentiated
图2 高斯滤波后前景图像Fig.2 Foreground image after Gauss filtering
2.2 累积特征量提高颜色直方图查询表的精度
CamShift算法是基于颜色特征的,总体来说是一种比较弱的特征表述,所以需要对目标特征描述全面而准确,这对CamShift目标跟踪算法的精度和稳健度至关重要[12-16].而此前所得到的初始掩膜虽然可以比较精确地确定目标的颜色特征,但此时的特征只对当前帧具有代表性,而并不能准确地得到和描述每一帧目标的特征和变化.对此,亦采用累积前m帧非零量统计方法进行多帧像素值累积,从而达到较全面描述目标颜色特征的目的.对初始掩膜序列进行m帧累积,得到平滑后的累积颜色特征为
用此累积后的颜色特征h来描述颜色直方图查询表,可以降低单帧目标掩膜中噪点和背景颜色对目标的干扰,大大提高了颜色直方图查询表的精度.从而获得较好的跟踪特性和抗干扰性.
2.3 自启动跟踪
通过前面的步骤,已经得到精确的颜色直方图查询表,接下来所要做的就是确定目标的中心点和跟踪框的大小,这样就可以顺利启动CamShift算法了.在第m-1帧中,已经得到二值化后的图像.再在这个图像中计算CamShift初始化搜索窗的中心和大小,对其进行如下处理.首先对第m-1帧二值化图像进行Canny边缘检测(结果如图4所示),设J为运动边缘点的集合,中心为σ(wu,wv),则
图3 形态学处理后前景图像Fig.3 Foreground image after morphological disposal
B(x,y)为边缘检测后图像中坐标(x,y)的像素的灰度值,通过实验表明,σ(wu,wv)很接近目标的中心.以σ(wu,wv)为中心,以2.5d为边长,得到一个正方形区域,此区域中包括J中的大部分点.这个区域即为初始化搜索窗的位置,2.5d即为搜索窗的大小.
3 实验结果分析
为了验证改进后算法的性能,对实验者进行了左右平移、前后平移以及自启动等实验,并且对跟踪过程中出现大面积类肤色干扰也做了相应的实验,在图4和图5中给出了部分跟踪效果.在实验中采用静止背景建立背景模型.
图4 Canny边缘检测结果Fig.4 Canny edge detection result
图5 改进前的跟踪效果Fig.5 Tracking result before improvement:the frame 10,24,51,and 103 are shown
由于原算法只采用颜色模型,它是一种比较弱的目标特征描述,而传统算法中只采取某一帧的感兴趣区域作为描述的目标颜色特征,其中存在大量的噪点,从而使颜色查询表不准确,最终导致概率分布图的不精确和跟踪的失败.传统算法的跟踪效果如图5所示.采用背景和目标颜色相似的一组视频作为实验对象,当第9帧自启动后,第10帧由于与初始帧相邻紧密,算法还能很好地跟踪目标,但是随着帧数的增大,跟踪框开始逐渐地发散,并将大量的背景色纳入其中.从图中可以看出,当到第51帧时跟踪框已基本偏离目标而偏向于背景,到103帧,跟踪框已完全收敛于背景,从而导致跟踪的失败.
而改进后的算法通过改进和精确目标的本质颜色特征信息和降低目标区域中的噪声,很好地定位了目标,并实现了对目标的有效跟踪和防止跟踪框发散(如图5所示).显然,改进后的算法抗干扰能力明显增强,准确度明显提高.
启动帧如图6(b)所示.由于计算后启动框的大小已超出边界,所以对其宽度进行了修正,变为原来的1/5,同时将左边框设为0点.因为并非针对此区域生成颜色查询表,而是用前面所述的统计量生成颜色查询表,所以并未对跟踪产生根本影响.
图6 改进后的跟踪效果Fig.6 Tracking result after improvement:the frame 10,24,51,and 103 are shown
图7 统计背景和启动帧Fig.7 Statistical background and startup frame
4 结束语
本文提出了一种基于统计背景和统计颜色的改进CamShift算法.对于固定背景的摄像头或视频文件输入,首先运用背景统计算法从累计的帧差信息中构建出完整、可靠的背景区域,并将其与当前帧相比较,得到初始前景对象的感兴趣区域,以此区域为基础累积计算颜色直方图的精确查询表,从而在很大程度上提高了跟踪的准确性.并且借助二值化前景图像、重心公式以及类内离散度成功地启动了CamShift算法.
[1]杨振兴.基于 DM642的Camshift目标跟踪算法研究[D]. 南京:南京理工大学,2010:15-23.
YANG Zhenxing.Research of Camshift tracking algorithm based on DM642[D].Nanjing:Nanjing University of Science,2010:15-23.
[2]COMANICIU D,RAMESH V,MEER R.Real-time tracking of non-rigid objects using mean shift[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Dublin,Ireland,2000,2:142-149.
[3]BRADSKI G R.Computer vision face tracking for use in aperceptual user interface[J].Intel Technology Journal,1998,2:214-219.
[4]COMANICIU D,RAMESH V,MEER P.Kernel based object tracking[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2003,25(5):564-575.
[5]董蓓,谢勤岚,贾茜.基于CamShift算法的运动目标实时跟踪系统[J].自动化技术,2008,19:116-118.
DONG Bei,XIE Qinlan,JIA Xi.Real-time tracking system of moving object based on Camshift algorithm[J].Automation Technology,2008,19:116-118.
[6]刘雪,常发亮,王华杰.基于改进Camshift算法的视频对象跟踪方法[J].微计算机信息,2007(23):297-299.
LIU Xue,CHANG Faliang,WANG Huajie.Video object tracking method based on improved Camshift algorithm[J].Computer Information,2007(23):297-299.
[7]LIU Qiang,CAI Canhui,KING N N,LI Hongliang.Cam-Shift based real-time multiple faces match tracking[C]//Proceedings of 2007 International Symposium on Intelligent Signal Processing and Communication Systems.Hong Kong:Chinese Univ of Hong Kong,2007:726-729.
[8]WANG Zhaowen,YANG Xiaokang,XU Yi,YU Songyu.CamShift guided particle filter for visual tracking[C]//IEEE Xplore,2007:301-306.
[9]朱胜利.Mean Shift及相关算法在视频跟踪中的研究[D].杭州:浙江大学,2006:43-54.
ZHU Shengli.Research of Mean Shift and related algorithms in the video tracking[D].Hangzhou:Zhejiang University,2006:43-54.
[10]魏旭宾,王向军.基于累积差分图像和高斯背景统计模型的烟尘目标检测[J].宇航计测技术,2007(2):59-61.
WEI Xubin,WANG Xiangjun.Smoke target detection based on the cumulative difference image and Gaussian background statistical model[J].Metrology and Measurement,2007(2):59-61.
[11]NOBUYUKI OTSU.A threshold selection method from gray level histogram[J].IEEE Transactions on Systems,Man and Cybernetics,2008,9(1):62-65.
[12]吴勃,许文芳,陈虹丽.神经滑模控制在机器人轨迹跟踪中的应用[J].电机与控制学报,2009,13(增1):99-105.
WU Bo,XU Wenfang,CHEN Hongli.Application of neural networks sliding-mode control in tracking control of robot manipulators[J].Electric Machines and Control,2009,13(suppl 1):99-105.
[13]汪语哲,史小平,朱胤.抑制闪烁噪声的SMM-IUKF目标跟踪算法[J].哈尔滨理工大学学报,2010,15(5):69-75.
WANG Yuzhe,SHI Xiaoping,ZHU Yin.A SMM-IUKF tracking method against target glint[J].Journal of Harbin University of Science and Technology,2010,15(5):69-75.
[14]蔡春波,张华军,张义顺,刘立君.基于视觉传感器焊缝跟踪轨迹自示教方法研究[J].哈尔滨理工大学学报,2009,14(2):95-97.
CAI Chunbo,ZHANG Huajun,ZHANG Yishun,LIU Lijun.Investigation on seam tacking path self-teaching method based on visual sensor[J].Journal of Harbin University of Science and Technology,2009,14(2):95-97.
[15]张丽丽,王建民.太阳位置光电模拟信号检测跟踪的实现[J]. 自动化技术与应用,2010,29(9):40-43.
ZHANG Lili,WANG Jianmin.Implementation of the sun’s position photoelectricity analog signal detecting and tracking[J].Techniques of Automation and Applications,2010,29(9):40-43.
[16]白一鸣,孟宪尧.基于FPGA的太阳能自动跟踪控制系统[J]. 自动化技术与应用,2009,28(9):26-29.
BAI Yiming,MENG Xianyao.A FPGA-based tracking system of the solar panel[J].Techniques of Automation and Applications,2009,28(9):26-29.
刘侠,男,1975年生,硕士生导师,主要研究方向为图像处理与模式识别.
陶冶,男,1986年生,硕士研究生,主要研究方向为人脸识别.
邢春,男,1986年生,硕士研究生,主要研究方向为生物特征加密与图像检索.
An objective tracking Camshift algorithm based on automatic startup and the statistical differential method
LIU Xia,TAO Ye,XING Chun
(School of Automation,Harbin University of Science and Technology,Harbin 150080,China)
The camshift tracking algorithm has the advantage of better real-time characteristics,but it is not able to start up automatically and is susceptible to noise and color change in the tracking process.In order to solve these problems,an improved Camshift algorithm was proposed.First,a statistical difference algorithm was applied for rapid localization of mobile targets,and the initial foreground object's region was obtained.Then,an accurate target color histogram model was obtained by gathering foreground area statistics.The query table of the skin color histogram was also calculated taking this area as a prototype.Meanwhile,an auto-start algorithm was successfully achieved with several subsequent steps.Finally,the algorithm was validated through experiments.
CamShift algorithm;background statistics;object tracking;object masking
TP391
A
1673-4785(2011)04-0355-05
10.3969/j.issn.1673-4785.2011.04.013
2010-07-18.
黑龙江省自然科学基金资助项目(F2007-13);黑龙江省普通高等学校青年学术骨干支持计划资助项目(1155G21).
陶冶.E-mail:taoye8882@163.com.
book=4,ebook=108