基于CamShift的监控视频中运动目标跟踪算法研究∗
2018-09-27李亚文
李亚文 赵 杰 张 鑫
(商洛学院电子信息与电气工程学院 商洛 726000)
1 引言
随着多媒体信息的快速发展,由图像序列构成的视频流,成为人们处理信息的主要对象[1],利用计算机模拟人类视觉来接收环境信息成为急需实现的技术[2],计算机视觉研究领域的一个核心方向就是目标跟踪,近几年由于社会安全问题的突出,视频监控技术逐渐成为行业内的研究热点之一[2~3],目前研究的监控视频中的目标跟踪算法很多[2~5],主要是针对特定的应用场景,缺少适用性,但目标跟踪是视频图像处理的基础,所以对视频序列目标跟踪算法的研究很重要,也非常具有挑战性。运动目标跟踪有很多的应用,视频监控领域,医疗诊断和生物学研究,基于视频的人机交互,自动驾驶及机器人领域[5~6]等。
国外对目标跟踪技术研究的比较早,20世纪中期,GAC公司研发了自动地形识别跟踪系统ATRAN(Automatic Terrain Recognition and Naviga⁃tion)[4];在 1997年,美国国防高科技计划局资助了研究项目 VSAM(Video Surveillance and Monitor⁃ing),该项目实现的是,对于复杂的重要区域中(如战场)的人员,通过分布式网状传感器进行监视,操作人员只需进行简单的平台操作[6];另外美国喷气动力实验室开展了5项关于目标检测跟踪技术的研究项目。在2000年,DARPA建立了远程人类识别计划[7],包括著名的麻省理工大学,加州理工大学,卡内基梅隆大学在内的等15所大学和5个研究中心参与了该项目的研究。国内对目标跟踪技术的研究相对落后一些。在1995年,华中科技大学研发的多模成像系统,实现了对复杂背景下目标的跟踪、识别敌方干扰等工作[6],到2002年,对该系统进行了进一步的研究,实现了在复杂背景下对不同角度的目标进行自动检测和跟踪[5-6]。南京理工大学开发了“库区视频智能监控和跟踪系统”,该系统采用MeanShift算法的跟踪思路,对监控范围内的目标进行跟踪。2002年~2003年,中国科学院模式识别国家实验室成功举办了每年一次的智能视频监控会议,推动了国内视频监控技术的快速发展[7]。
2 基于Mean-shift目标跟踪算法的实现
2.1 算法跟踪原理
根据最近邻估计法[8~9],首先需要给定 n 个样本数据,从这些样本数据中得到概率密度函数,特选定x为中心,使其不断的扩大半径,直到区域中包含至少有k个样本数据为止(k是关于n的函数),于是得到x处的概率密度估计值。
建立目标的颜色概率密度模[10]:令xi,i=1,…,n表示中心位于o点的模型像素点位置,然后通过离散的m维颜色直方图来表示目标颜色分布,令表示在点xi处的颜色集合。假设模型的大小是经过规范化处理的,则核半径r=1。颜色在模型中的概率q可由式(1)计算得到:
其中c是规范化常数:
核函数K(x)是通过数据点到区域质心距离大小来确定点的权值[10~11]。进一步对搜索区域进行表述:令 yi,i=1,…,m表示以y为中心的搜索区域中的像素点位置,并和上面的描述保持一致,颜色u在搜索区域中的概率p可表示为式(3):
其中ch是规范化常数:
最后,通过匹配颜色概率密度来确定跟踪目标位置[11]。匹配过程使用Bhattacharyya系数 ρ :
ρ的计算数值越大,表明目标与搜索区域颜色概率密度越接近。
具体的MeanShift算法跟踪原理实现框图如图1所示。
图1 MeanShift算法跟踪原理
2.2 仿真过程与分析
选取录制的一监控段视频ymq.avi,大约15s,将视频转化为多帧的图像序列,选取其中的一些图像帧,将目标全可见图像圈定跟踪目标,用醒目的颜色方框标识。对视频中的运动人物进行跟踪,在Matlab7.10中进行仿真实现,查看目标跟踪的结果及运动轨迹。
图2 基于Mean-shift算法的运动目标跟踪结果
实验仿真中对打羽毛的人进行运动目标跟踪,首先在第4帧中手动确定了一个包含所有目标特征的矩形框,将其内容作为目标模板。然后在后续帧中采用基于Mean-shift目标跟踪算法对其进行跟踪。在打羽毛的球过程中,运动员的身体不断地变化,由图2中的实验结果示意图能够看出,刚开始还能较好地跟踪运动形态变换较小的人,但是当运动目标运动速度加快时,目标中心点的定位会有较大的偏差,如图2中第115帧和第222帧等所示。可见该算法对运动速度较快的目标跟踪不适用,容易导致目标跟踪失败,因此提出了基于Cam⁃Shift算法进行视频中的运动目标进行跟踪。
3 基于CamShift的视频中运动目标跟踪算法
3.1 CamShift算法思想
CamShift算法的主要针对MeanShift算法的缺点,对其改进了两点[12~13],第一是可以对连续的图像序列进行目标跟踪计算,第二是计算得到的目标区域的大小是变化的,使其自适应能力增加了。算法的主要思想[14]是利用目标区域在HSV颜色空间的H分量直方图作为目标特征进行跟踪的。先使用目标的颜色直方图模型把图像换为颜色概率分布图,初始化一个搜索窗口的大小和位置,然后根据上一帧得到的结果自适应调整搜索窗口的大小和位置,找到当前图像中目标的中心位置,之后自动更新窗口的中心、宽度,就能逐渐显示出每一帧的图像了。Camshift算法实现流程图如图3所示。
图3 Camshift算法实现流程图
3.2 算法的仿真过程
本次实验仿真采用一段截取的监控视频walk.avi,时长是 13s,帧率是 20帧∕s,首先获得视频的总帧数,它的帧数是405帧,然后获取视频的初始帧,在其上面选取一个搜索窗口,搜索窗口的选择要和背景颜色区分开来。仿真出来视频的运动轨迹如图4所示,随着时间的延长,那个搜索窗口的质心和大小会自动变化,跟踪的结果是每10帧显示一次,图5~图9是此次视频中应用Camshift算法实现对运动目标进行跟踪的结果。
从图5~图9可见随着监控视频与目标的距离拉大,能够通过颜色概率值零阶剧和一阶矩的计算,自适应的扩大搜索窗口,并对其进行了高效的跟踪。实验仿真的结果表明,Camshift算法很好地克服了由于导致当目标颜色与背景颜色相近时出现目标丢失的问题,而且对于运动目标变化较快的物体,也能实现较好的及时跟踪。
图4 视频中跟踪目标的运动轨迹
图5 第5帧跟踪结果
图6 第60帧跟踪结果
图7 第130帧跟踪结果
图8 第250帧跟踪结果
图9 第360帧跟踪结果
4 结语
目标跟踪是指通过分析视频序列,在目标检测的前提下,对提取的目标特征信息进行分析,然后通过选择一种合适的匹配算法,得到前景目标的有效特征信息,再对这些特征进行匹配,最终确定目标的运动轨迹,实现目标精确定位,得到目标在一系列图像序列中的联系信息。在过去的几十年里,机器人、国防、监控、医疗、娱乐等行业的需求在强力推动着目标跟踪技术的进步。本文研究了Mean-shift算法对监控视频中的运动目标进行跟踪,实验仿真结果表明,该算法对于视频中运动目标变化较快的物体容易出现跟踪丢失,定位不准确等问题,因此本文应用CamShift算法对视频中的运动目标进行跟踪,实验仿真结果表明,CamShift算法能够快速并高效地对视频中目标变化较快的物体进行跟踪,具有很好的鲁棒性,相信该算法一定可以在视频监控领域对于运动目标的跟踪方面得到广泛的应用,更好地为人们的社会公共安全方面做出贡献。