论文部分内容阅读
【摘要】随着色彩跟踪技术的发展,人们对电脑的跟踪反应速度和准确度要求更高,可视界面工作的同时要求其他任务可同时运行。现如今也需要这样一个跟踪者:在当前的噪声当中能找出目标色彩区域并且迅速准确地捕捉,同时系统资源消耗最少。基于在视频图像中获得色彩划分模型的设想,CAMSHIFT即被修正的mean shift算法,它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。具体而言,它是根据上一帧跟踪的结果自适应调整搜索窗口的位置和大小,从而得到当前图像中目标的尺寸和中心位置。它可用以处理动态色彩划分问题。CAMSHIFT抗噪声能力强,可用于控制电脑摄像和3D图像领域探索。
【关键词】CAMSHIFT算法色彩跟踪OpenCVVFW
电脑识别系统是一个不断向前发展的领域,一些优秀的算法如Tracking contours with snake,Eigenspace匹配技术,都非常浪费电脑资源。所以它现有的功能已不能充分满足人们的需要。如今需要这样一个跟踪者:在当前的噪声当中能找出目标色彩区域并且迅速准确地捕捉,同时系统资源消耗最少。而对于运动目标的检测与跟踪,它是指从包含运动目标的序列图像中,检测、识别和跟踪运动目标。对运动目标进行跟踪,并进一步对运动目标进行分析,当前安全监控、虚拟现实、人机交互等许多领域都需要这种运动目标的跟踪及分析。同时,运动目标跟踪问题具有较高的学术价值和理论意义,已经成为近年来国际上研究的热点问题之一。
1 国内外发展概况及存在问题
因为CAMSHIFT算法有较好的跟踪能力,在社会上就有了一定的应用。例如在大空间自动检测灭火系统中,发展最快的就是基于视频图像的机器视觉火灾探测系统[3]。一般传统的火灾报警器的工作原理都是探测火灾发生时,它们所生成的烟、温度和光参量等,然后通过信号处理、比较、判断后,最终决定发出火灾报警信号。与传统的火灾报警器相比,基于视频图像的机器视觉火灾探测系统不仅具有一般相对稳定的特征,而且其监控范围大,实时性好。此外,基于视觉的移动机器人跟踪技术也在此基础上得到了飞速的发展。其原理是机器人也可利用视觉对移动目标的识别和跟踪,它是通过视觉传感器获得的图像序列在空间域中分割为运动对象,在时间域中对这些对象进行建模、识别和跟踪。
由于繁杂和低效的CAMSHIFT算法还是普遍存在的,并且它的实现结构也不灵活。因此即使CAMSHIFT算法有良好的跟踪性能,却未获得广泛地应用。此外虽然研究者不断地开发出高效的图像处理软件包,并且在某些方面也起到了很大的作用,但是也存在着很多的缺点:1)很多软件包不包含高级的数学计算函数;2)图象处理软件Matlab的运行速度太慢;3)大多数软件包不支持可嵌入性。
除此之外,传统的CAMSHIFT算法在实际应用中也存在着以下问题:
手动初始化搜索窗的同时需要人为定位跟踪目标。由此也在实际应用中降低了算法的效率,但是也带来了主观误差;
目标颜色概率模型不能更新,是因为它只在初始化时计算一次颜色直方图。例如当一些外部环境因素变化较大时,目标颜色的统计特性有明显的改变,因此一旦不去及时地更新颜色概率模型,就会影响跟踪效果;
CAMSHIFT算法在复杂背景中很难取得较好的跟踪效果,例如存在大面积相似背景颜色干扰时,跟踪效果将会受到很大的影响;
缺乏对目标运动的预测机制,当目标运动速度过快,前一帧的搜索窗与下一帧的目标没有重合部分时,会造成跟踪失败;
在跟踪目标丢失或被完全遮挡后,搜索窗就会收缩,由于目标没有连接,因此即使被跟踪目标重新稳定出现在图像序列中,也无法恢复跟踪了。
2 原理
CAMSHIFT即"Continuously Apative Mean-Shift"算法,主要通过视频图像中运动物体的颜色信息来达到跟踪的目的,利用目标的颜色直方图模型得到每帧图像的颜色投影图,并根据上一帧跟踪的结果自适应调整搜索窗口的位置和大小,从而得到当前图像中目标的尺寸和中心位置。基本思想是视频图像的所有帧作MeanShift运算,并将上一帧的结果,也就是Search Window的中心和大小,作为下一帧MeanShift算法的Search Window的初始值,如此迭代下去,就可以实现对目标色彩的跟踪。将MeanShift算法扩展到连续图像序列(一般都是指视频图像序列),这样就形成了CAMSHIFT算法。在CAMSHIFT算法基础上对搜索窗口进行简单运动预测,并增加二次搜索方法,提高跟踪的稳定性。试验结果表明,在图像背景复杂且目标不规则运动的情况下,仍能有效地跟踪到目标。
数字图像处理技术的发展使电脑越来越贴近人们的需要,各项技术日新月异。基于CAMSHIFT的色彩跟踪算法的实现就是对色彩跟踪方向的深入探索并取得有效成果,更快跟准确的色彩跟踪日益丰富了人们的生活。
3 结论
CAMSHIFT算法是一种快速有效的色彩跟踪算法。在VFW的基础上,OpenCV对VFW的函数进行封装,实现了图像处理和计算机视觉方面的很多通用算法。本文完成了OpenCV在VC6下安装与配置,实现了CAMSHIFT 算法和视频的采集、编辑、播放等功能。同时也可以看到,自己在OpenCV的基础上开发程序,选择自己所需的库函数,能够大大减少在计算机视觉领域中的开发的时间,从而提高了效率。并且在今后,更多的大规模计算领域都将采用GPU作为加速的手段,完成更多更复杂的工作。预计GPU将成为CPU,也将成为DSP后另外一个具有通用计算能力的处理器。
参考文献
[1] CONTROL & AUTOMATION,关于CAMSHIFT算法的色彩跟踪[C].微计算机信息,2007,21;297-298,305.
[2] 董蓓,谢勤岚,贾茜.基于Camshift算法的运动目标实时跟踪系统.中南民族大学电信学院.
[3] 薛媛,李媛媛.基于meanshift和camshift相结合的火焰视频图像跟踪设计.西安电子科技大学电子信息工程学院.
[4] 郭世龙.基于Camshift算法的移动机器人视觉跟踪.2008,05,01.
[5] 方玫,喻擎苍,李华强.C++Builder下基于OpenCV的数字图像处理.浙江理工大学信息电子学院.
【关键词】CAMSHIFT算法色彩跟踪OpenCVVFW
电脑识别系统是一个不断向前发展的领域,一些优秀的算法如Tracking contours with snake,Eigenspace匹配技术,都非常浪费电脑资源。所以它现有的功能已不能充分满足人们的需要。如今需要这样一个跟踪者:在当前的噪声当中能找出目标色彩区域并且迅速准确地捕捉,同时系统资源消耗最少。而对于运动目标的检测与跟踪,它是指从包含运动目标的序列图像中,检测、识别和跟踪运动目标。对运动目标进行跟踪,并进一步对运动目标进行分析,当前安全监控、虚拟现实、人机交互等许多领域都需要这种运动目标的跟踪及分析。同时,运动目标跟踪问题具有较高的学术价值和理论意义,已经成为近年来国际上研究的热点问题之一。
1 国内外发展概况及存在问题
因为CAMSHIFT算法有较好的跟踪能力,在社会上就有了一定的应用。例如在大空间自动检测灭火系统中,发展最快的就是基于视频图像的机器视觉火灾探测系统[3]。一般传统的火灾报警器的工作原理都是探测火灾发生时,它们所生成的烟、温度和光参量等,然后通过信号处理、比较、判断后,最终决定发出火灾报警信号。与传统的火灾报警器相比,基于视频图像的机器视觉火灾探测系统不仅具有一般相对稳定的特征,而且其监控范围大,实时性好。此外,基于视觉的移动机器人跟踪技术也在此基础上得到了飞速的发展。其原理是机器人也可利用视觉对移动目标的识别和跟踪,它是通过视觉传感器获得的图像序列在空间域中分割为运动对象,在时间域中对这些对象进行建模、识别和跟踪。
由于繁杂和低效的CAMSHIFT算法还是普遍存在的,并且它的实现结构也不灵活。因此即使CAMSHIFT算法有良好的跟踪性能,却未获得广泛地应用。此外虽然研究者不断地开发出高效的图像处理软件包,并且在某些方面也起到了很大的作用,但是也存在着很多的缺点:1)很多软件包不包含高级的数学计算函数;2)图象处理软件Matlab的运行速度太慢;3)大多数软件包不支持可嵌入性。
除此之外,传统的CAMSHIFT算法在实际应用中也存在着以下问题:
手动初始化搜索窗的同时需要人为定位跟踪目标。由此也在实际应用中降低了算法的效率,但是也带来了主观误差;
目标颜色概率模型不能更新,是因为它只在初始化时计算一次颜色直方图。例如当一些外部环境因素变化较大时,目标颜色的统计特性有明显的改变,因此一旦不去及时地更新颜色概率模型,就会影响跟踪效果;
CAMSHIFT算法在复杂背景中很难取得较好的跟踪效果,例如存在大面积相似背景颜色干扰时,跟踪效果将会受到很大的影响;
缺乏对目标运动的预测机制,当目标运动速度过快,前一帧的搜索窗与下一帧的目标没有重合部分时,会造成跟踪失败;
在跟踪目标丢失或被完全遮挡后,搜索窗就会收缩,由于目标没有连接,因此即使被跟踪目标重新稳定出现在图像序列中,也无法恢复跟踪了。
2 原理
CAMSHIFT即"Continuously Apative Mean-Shift"算法,主要通过视频图像中运动物体的颜色信息来达到跟踪的目的,利用目标的颜色直方图模型得到每帧图像的颜色投影图,并根据上一帧跟踪的结果自适应调整搜索窗口的位置和大小,从而得到当前图像中目标的尺寸和中心位置。基本思想是视频图像的所有帧作MeanShift运算,并将上一帧的结果,也就是Search Window的中心和大小,作为下一帧MeanShift算法的Search Window的初始值,如此迭代下去,就可以实现对目标色彩的跟踪。将MeanShift算法扩展到连续图像序列(一般都是指视频图像序列),这样就形成了CAMSHIFT算法。在CAMSHIFT算法基础上对搜索窗口进行简单运动预测,并增加二次搜索方法,提高跟踪的稳定性。试验结果表明,在图像背景复杂且目标不规则运动的情况下,仍能有效地跟踪到目标。
数字图像处理技术的发展使电脑越来越贴近人们的需要,各项技术日新月异。基于CAMSHIFT的色彩跟踪算法的实现就是对色彩跟踪方向的深入探索并取得有效成果,更快跟准确的色彩跟踪日益丰富了人们的生活。
3 结论
CAMSHIFT算法是一种快速有效的色彩跟踪算法。在VFW的基础上,OpenCV对VFW的函数进行封装,实现了图像处理和计算机视觉方面的很多通用算法。本文完成了OpenCV在VC6下安装与配置,实现了CAMSHIFT 算法和视频的采集、编辑、播放等功能。同时也可以看到,自己在OpenCV的基础上开发程序,选择自己所需的库函数,能够大大减少在计算机视觉领域中的开发的时间,从而提高了效率。并且在今后,更多的大规模计算领域都将采用GPU作为加速的手段,完成更多更复杂的工作。预计GPU将成为CPU,也将成为DSP后另外一个具有通用计算能力的处理器。
参考文献
[1] CONTROL & AUTOMATION,关于CAMSHIFT算法的色彩跟踪[C].微计算机信息,2007,21;297-298,305.
[2] 董蓓,谢勤岚,贾茜.基于Camshift算法的运动目标实时跟踪系统.中南民族大学电信学院.
[3] 薛媛,李媛媛.基于meanshift和camshift相结合的火焰视频图像跟踪设计.西安电子科技大学电子信息工程学院.
[4] 郭世龙.基于Camshift算法的移动机器人视觉跟踪.2008,05,01.
[5] 方玫,喻擎苍,李华强.C++Builder下基于OpenCV的数字图像处理.浙江理工大学信息电子学院.