论文部分内容阅读
当前世界正在迎接一波新的人工智能热潮。人工智能的应用越来越广泛,几乎进入了人们生产生活的所有领域。计算机视觉对于人工智能,犹如眼睛对于人类一样,获取着绝大部分外界信息,起着决定性的作用。而视觉跟踪致力于获取运动中物体当前的位置和状态,是大量计算机视觉高层应用的重要基石,具有基础性的理论意义和无可替代的应用价值。虽然经过了近三十年的不断研究,但随着视觉数据的数量和质量不断提高、人们对于智能化的需求不断增加,视觉跟踪仍然面临着众多挑战。首先,视觉跟踪算法的准确性、鲁棒性和适应力还普遍不足,难以应对纷繁的干扰因素和复杂的物体变化;其次,为了提高精度和鲁棒性,跟踪算法正日趋复杂,跟踪效率渐渐成为瓶颈;最后,由于异构计算平台的出现,进行高性能的跟踪算法实现较为困难,且难以向不同的计算设备/平台进行移植。为了应对上述挑战,本文以“高性能视觉跟踪关键技术”作为研究课题,希望从两个方面来实现高性能的视觉跟踪视觉跟踪的高性能算法和跟踪算法的高性能实现。本文的主要工作和创新点有:1.提出了将物体检测领域的“目标候选”方法应用于视觉跟踪的通用方法。针对当前视觉跟踪算法对目标物体的尺度和宽高比变化适应力不足这一问题,本文将目标候选生成器EdgeBoxes,和基于相关滤波的跟踪算法进行了结合。为了能够准确辨别大小、形状多变的目标候选,本文对相关滤波跟踪算法的物体特征描述和更新策略进行了优化;为了提高嵌入目标候选后的跟踪效率和鲁棒性,本文在跟踪过程中加入了目标候选过滤和带阻尼的更新步骤。最终所得的跟踪器在一个大型公开测试集上展现出了很强的鲁棒性和适应力,同时还达到了令人满意的跟踪速度。2.揭示了“目标候选”在视觉跟踪中的作用规律,并对“目标候选”生成器进行了针对视觉跟踪的优化。本文将多个具有代表性的目标候选生成器面向跟踪任务进行了适配,并将它们合理地嵌入了跟踪器中。此外,针对目标候选生成器EdgeBoxes在跟踪任务中暴露出的弱点,本文对其进行了“背景抑制”优化。通过大量的实验,本文证明了目标候选在视觉跟踪中有着重要作用,且其质量和跟踪精度间存在着正相关的关系。实验同时也证明了对于EdgeBoxes的背景抑制优化是十分有效的。3.在异构计算平台上,基于并行编程模型OpenCL,对TLD这一完整视觉跟踪应用进行了高性能实现。通过分析和提取TLD算法的计算密集部分和性能瓶颈部分,本文并行化了Fern随机森林的特征提取和分类过程、最邻近分类的NCC计算过程、以及学习过程中的重叠率计算和正负样本提取。此外,由于Fern随机森林和LK光流跟踪互相独立,本文还在不同的计算设备上将它们重叠执行。最终各个OpenCL Kernel程序将运行在各自适合的计算设备上,取得了令人满意的整体加速比,完全满足实时跟踪的需求。4.提出了一种新的代码转换方法,以提升GPU特定的OpenCL Kernel程序在CPU上的性能移植性。该方法借助于本文新提出的数组访问描述式,在工作项折叠过程中,能够消除所有的冗余局部存储数组和对应的同步。在Kernel的后继优化过程中,该方法不仅从原GPU特定Kernel中提取并行性和局部性信息,还会考虑目标CPU的体系结构细节,以进一步提升Kernel程序在CPU上的性能。实验显示,对于GPU特定的Kernel程序,若使用包含本文方法的新OpenCL运行时,将获得超越Intel官方运行时的性能。