论文部分内容阅读
随着GPU技术的发展,利用GPU的计算资源来提高计算效率已经成为一个必然的趋势。目标跟踪是计算机视觉领域的重要研究课题之一,其算法大都采用CPU串行计算,并没有考虑GPU的计算资源,执行效率有待提升。本文针对应用最广泛的均值漂移(Mean Shift)目标跟踪算法,通过开放式计算语言(Open Computing Language, OpenCL)将其映射到嵌入式通用GPU上并进行优化,提升算法性能,同时为其他同类算法优化课题研究提供参考依据。 本文对经典的目标跟踪算法Mean Shift进行了深入分析,研究了Mean Shift算法在目标跟踪上的应用。接着利用OpenCL实现了并行Mean Shift目标跟踪算法,主要编写了6个内核用来完成Mean Shift目标跟踪算法各个部分,包括判断每个像素属于哪个直方图区间、计算目标模型、衡量目标模型与候选目标模型相似性和估计目标中心位置等。本文使用的是Mali-T604 GPU,为了充分发掘Mali-T604 GPU的性能,本文对并行Mean Shift目标跟踪算法进行了优化,来提升其性能。包括三部分优化,分别是:代码优化、内存优化和工作组优化。代码优化把内核中的算法矢量化,以便充分利用Mali-T604 GPU硬件资源;内存优化使用内存映射,可以让CPU和Mali-T604 GPU不经拷贝就能访问数据;工作组优化合理设置工作组数目,在Mali-T604 GPU上可以获得更高效率。 论文在基于Exynos5250应用处理器的Arndale开发板平台上进行了功能测试和对比测试。测试分析结果表明:经过代码优化后的并行算法相比CPU上的算法,获得了最低1.37倍加速;经过内存优化后的并行算法相比CPU上的算法,获得了最低1.55倍加速;经过工作组优化后的并行算法相比CPU上的算法,获得了最低1.23倍加速;经过三种优化后的并行算法相比CPU上的算法,获得了最少2.34倍加速。