摘要

LK(Lukas-Kanade)光流法在运动目标检测和跟踪领域具有广泛应用,但其计算复杂、速度慢,难以适应异构硬件平台。为实现LK光流法在不同平台上的高效运行,设计了一种基于开放式计算语言(OpenCL)的LK光流法并行算法。该算法通过将二维图像上像素点上的稠密计算映射到多线程上实现数据并行,并基于OpenCL平台的共享内存等优化方法减小了主机内存与设备内存数据传输。实验测试表明,该算法相比于多核CPU下的基础OpenCV函数库中的LK算法获得了最高31倍的加速比,同时在速度上与统一计算设备体系结构(CUDA)加速的LK光流法相近。此外,还在多种不同设备下验证了加速算法的平台通用性。