论文部分内容阅读
随着计算机视觉的快速发展,基于视频的目标跟踪成为了计算机视觉里的一个重要研究方向,近年来取得了重大进展。新的目标跟踪算法不断被提出,跟踪准确率也随之得到提高。然而大量的实验证明准确率高的算法其计算复杂度很高,因此处理速度低成为了目前目标跟踪算法的一大瓶颈。NVIDIA公司提供的GPU以强大计算的能力被成功应用于各领域,GPU为具有高并行度的复杂算法带来了曙光,尤其是涉及密集型计算的目标跟踪算法。基于以上背景,本文先后对DF跟踪算法、Struck跟踪算法和KCF跟踪算法的GPU实现进行深入研究。针对每一种跟踪算法,首先对模型训练和目标判别两个核心部分进行了详细的分析,并找出可并行的计算部分;然后利用GPU对这些部分进行加速实现;最后设计实验对CPU版本和GPU版本的实现进行比较,实验数据表明两个版本的实现具有一样的跟踪准确度,GPU版本的实现具有更高的处理速度,满足了实时性,甚至达到了高速跟踪的指标。DF跟踪算法是一种基于特征匹配的跟踪算法,即将平滑后的分布场作为目标特征,该特征具有一定程度的光照不变性,使得该跟踪算法具有一定的鲁棒性。在模型训练部分,利用GPU对二维卷积和一维卷积进行加速,其中二维卷积采用可分离卷积计算方法进行计算。在目标判别部分,利用GPU对计算候选样本的判别值进行加速。测试表明,GPU可将DF算法的处理速度提高到以前的4.8倍,达到了45.8帧/秒。Struck跟踪算法是一种基于背景学习的跟踪算法,该算法采用结构化的支持向量机模型学习目标和背景之间的差别,而得到一个判别函数,将具有最大判别值的样本作为目标。在模型训练部分,利用GPU对迭代中的每个计算模块进行加速。在目标判别部分,利用GPU对计算所有测试样本的判别值进行加速。测试表明,GPU可将Struck算法的处理速度提高到以前的4.3倍,达到了30.7帧/秒。KCF跟踪算法也是一种基于背景学习的跟踪算法,该算法利用循环矩阵来构造训练样本,避免了数据的重复利用,凭借快速傅立叶算法的优势,具备很快的处理速度。本文主要采用CUDA提供的工具箱对二维离散傅立叶变换进行加速,测试表明,GPU可将KCF算法的处理速度提高到以前的3.7倍,达到了488.2帧/秒。