论文部分内容阅读
近年来,随着技术的进步,越来越多的智能化产品出现在了人们的生产生活中。用机器代替人对所处的环境进行感知,并且做出相应的判断处理也变得越来越普遍,智能视频分析就是其中的代表。目标跟踪技术是智能视频分析的关键技术。它被广泛的运用在视频监控,运动监测,机器视觉等各个领域。粒子滤波作为目标跟踪领域中的一个十分有前景的方法,被越来越多的研究者们广泛关注。但是却因为巨大的计算复杂度使得它难以被运用在实时的跟踪系统中。随着人们对图像质量,游戏处理速度的要求越来越高,GPU以极快的速度发展着,现在研究者们越来越普遍的将普通算法移植到GPU上进行计算来提升速度。通用GPU计算的研究,也变得十分受人关注。另外Kinect作为微软推出的一款体感摄像头,也因其提供的丰富的图形数据而受到研究者们的青睐。本文在对跟踪算法以及GPU编程架构进行研究之后,为了减少运算的代价但又不牺牲跟踪的质量,提出了一种GPGPU加强的3D粒子滤波跟踪的新方法,本文进行的主要工作如下:首先研究了粒子滤波算法理论基础及其在图像目标跟踪的应用。其次围绕GPU的与CUDA(计算统一设备架构),研究了在其架构下针对粒子滤波算法进行高效编程的方法。然后,讨论了Kinect摄像头及其OpenNI接口的使用技术。在此基础上,提出了一种GPGPU加强的3D粒子滤波跟踪方法。这种方法一方面是充分利用Kinect摄像头提供的深度信息将传统的2D跟踪方案扩展成3D,以改进跟踪的准确性;另一方面是将传统粒子滤波算法搬移到GPU平台上实现,并借鉴大数据计算中经典的MapReduce架构思想优化并行处理,从而提升大数量粒子跟踪时的运算速度。本文在CUDA5.5的GPGPU平台上设计并实现了所提出的粒子滤波跟踪方案,并开展了实验验证。实验结果表明新方法实时性良好且能稳定地跟踪目标。本文提出的方法包含以下创新点,(1)利用目标深度信息的自适应跟踪窗口技术;(2)粒子滤波算法在GPGPU上MapReduce架构下的优化处理,主要是算法中的粒子移动、直方图计算与相似度计算单元;(3)基于XYZ权值相关的直方图计算方法。