论文部分内容阅读
视觉跟踪是计算机视觉研究的热点问题之一,它与模式识别、机器学习、图像处理和自动控制等众多领域息息相关。视觉跟踪主要包括两部分,目标检测和目标跟踪。其中,目标检测用来提取图像中的前景目标,而目标跟踪用来确定目标在视频序列每一帧中的位置。视觉跟踪技术的应用十分广泛,它在视频监控、医疗诊断、智能交通、人机交互和自动驾驶等方面都发挥着重要作用。TLD是捷克大学的ZdenekKalal提出的一种视觉跟踪算法,适用于单目标长时间跟踪。它结合了传统检测算法和跟踪算法的优点,拥有良好的鲁棒性和较高的准确率。CUDA是用于GPU并行计算开发的统一设备架构体系,有高效的通用计算能力与良好编程易用性。本文对视觉跟踪技术进行了深入研究,改进了TLD视觉跟踪算法,并利用CUDA对其并行加速,设计并实现了基于CUDA的CPU-GPU混合结构视觉跟踪算法——CUDA-TLD算法。具体工作主要包括以下两个方面:对TLD算法的学习模块和检测模块进行了改进。由于TLD算法学习模块在对目标模型更新时缺少限制模型中样本数量的策略,因此模型样本数量在长时间地跟踪过程中不断增大,影响了算法的准确率和实时性。本文对目标模型的样本数量设定了一个阈值,当样本数量达到该阈值时,选择一个代表能力最弱的样本进行替换,保持模型的样本规模,从而提高了算法的准确率和实时性。另外,针对TLD检测模块中最近邻分类器存在检测失败的问题,提出了一种基于孤立点分析的检测方法,将那些属于孤立点的图像片(image patch)分类为背景图像片,对TLD算法中原有的检测模块进行了改进,提高了TLD算法的检测率。基于CUDA对TLD算法并行加速,提出了CUDA-TLD算法。为了提高TLD算法的实时性,通过分析TLD算法各部分的耗时,利用CUDA对耗时较多的检测模块进行并行化,从而提出了基于CUDA的TLD视觉跟踪算法——CUDA-TLD算法。试验结果表明,相比于TLD算法,CUDA-TLD算法在保证准确率不变的情况下有效提升了实时性。对于三种常见分辨率的视频,CUDA-TLD的加速比达到了2.02-2.59,其中对于VGA(640×480)分辨率的视频,CUDA-TLD能把帧速从8.4帧/s提升到18.7帧/s,基本满足了实际应用中的实时性要求。