论文部分内容阅读
视觉跟踪是计算机视觉中一个研究热点,它在很多领域都有应用,例如人机交互、安防监控、高级驾驶辅助系统等。基于检测的跟踪是视觉跟踪中的一个流行的框架,它利用机器学习中的各种学习方法根据训练样本进行训练得到可以将跟踪目标和背景分离开来的分类器。训练得到的分类器被用来对待跟踪图像帧中可能位置处的图像块进行检测,找到最可能的位置。本文通过分析传统的基于检测的视觉跟踪算法,指出其中存在的问题并提出相应的解决方法。在对一般目标进行视觉跟踪的过程中目标的外观可能会发生变化,无法在跟踪之前训练得到对目标进行分类的分类器。基于检测的视觉跟踪算法利用跟踪过程中获取的图像帧对分类器进行在线更新。其中大多数算法利用新的一帧中的训练样本训练得到一个新的分类器,并将新分类器与旧分类器的参数进行加权和得到当前的分类器。这种方法让分类器具有跟踪目标最新外观的能力,然而存在的一个问题是经过多帧迭代后分类器会遗忘历史帧中目标的外观。为了解决这个问题,本文提出利用在线支持向量机对关键帧中目标的外观进行学习。在线支持向量机可以根据每一帧中目标的外观和支持向量机的状态进行自适应关键帧的选择,并且每一帧的权重也是通过优化算法计算得到,这不同于传统在线跟踪算法中对所有帧都学习的分类器更新方法。相对于传统在线跟踪算法,在线支持向量机可以学习跟踪过程中具有代表性的目标外观,从而使分类器可以处理目标外观多变的问题。支持向量机的大间隔准则也使得基于在线支持向量机的视觉跟踪算法具有很好的鲁棒性。大多数基于检测的视觉跟踪算法没有考虑跟踪过程中目标尺度的变化,或者利用穷举的方法在图像帧中以不同尺度的窗口来寻找包含目标的窗口。然而,穷举的方法存在两个问题。首先,搜索可能的窗口个数是不考虑尺度问题时的n倍,其中n是搜索的不同尺度窗口个数。在目标尺度变化剧烈的场合,需要大量不同尺度的窗口来进行搜索,这显然会造成分类器效率的降低。其次,不同尺度窗口中对应图像的特征可能类似,尤其在跟踪目标的纹理不明显的情况下。这显然会影响分类器的输出,造成跟踪窗口尺度的不稳定。针对以上问题,本文提出将尺度作为隐变量并利用隐变量支持向量机来进行尺度更新。在隐变量支持向量机中,使用上一帧学习到的目标的尺度在当前帧中对目标进行位置搜索。搜索到最佳位置后,在最佳位置处进行多尺度搜索,搜索最佳尺度。利用最佳位置和尺度处的样本来训练支持向量机,训练好的支持向量机再被用来对尺度进行搜索。尺度搜索和支持向量机的训练迭代进行,直到收敛。隐变量支持向量机将尺度的搜索从检测阶段转移到学习阶段,保证了检测阶段的效率并降低了发生漂移的可能性。最后,本文将在线支持向量机和隐变量结合,提出了基于在线隐变量支持向量机的尺度自适应视觉跟踪算法。该算法可以在线学习关键帧中目标的外观并在支持向量机训练阶段学习目标的尺度。实验比较了本文提出的算法与其他几个主流算法。实验结果表明了本文提出的算法在所测视频序列上比其他算法的精度高。