论文部分内容阅读
视频序列的运动信息检测是计算机视觉领域的基本任务,是视频运动目标检测、跟踪以及其它后续视频对象处理、分析与行为理解的基础和关键技术。因此,有效的运动信息检测方法和实现方案对视频的实际应用,如智能监控、视频分析以及人机交互等方面具有较强的应用价值。近年来,研究人员提出了大量的运动信息检测方法,如背景差分法、光流法等,但是这些方法都很难快速有效的检测到运动目标完整的时空信息。 人类视觉系统是一个极其高效的运动信息感知系统,因此,模拟视觉系统的信息处理机制实现运动信息检测不失为一种有效的方法。三维Gabor(3DGabor)函数已经被证实可以很好地模拟初级视觉皮层简单细胞的感知属性,实现视频时空信息的有效检测。然而,3DGabor函数应用到视频对象运动信息检测时,需要采用不同尺度和方向的Gabor滤波器,该过程常涉及到大量的三维卷积运算,导致运动信息检测系统的实时性受到了极大限制。由于这些卷积运算结构相似,在计算单元上相对独立,因此,可考虑采用并行计算的方式大幅提高处理的速度以确保实时性。随着显卡技术的飞速发展,显卡核心处理器GPU具有强大的浮点运算、多线程并行处理、可移植性强等优势,可以有效地解决相似运算结构引起的计算量大的问题。因此,本文结合GPU多线程数据流处理特性以及可编程性的特点,开展了基于GPU的三维卷积实现方法的研究,并应用于运动信息检测,取得了初步的成效。 首先,本文深入分析了三维卷积的基本运算原理,讨论了三维卷积在时域和频域中实现所需的计算操作,提出了在时域中三维卷积CPU+GPU异构模式实现的解决方案。 接着,依据三维卷积算法高度并行的特点,并结合GPU编程模型及实现机制,用CUDA的类C语言开发了三维卷积的并行运算程序。该程序将大量的三维卷积运算数据提交到GPU存储器中,由GPU承担大规模的卷积运算。程序从分配到GPU每个线程资源考虑,将任务进行合理划分,保证设备运行满载,从而有效地提高系统的性能。 最后,通过真实的视频运动信息检测实验,量化分析并测试了基于GPU并行方法处理的运动信息检测所需时间。实验结果表明:基于GPU的并行处理实现方法比传统的CPU串行处理速度提升1-7倍不等。实验结果验证了CUDA架构在解决三维卷积运算类似复杂运算的优越性,展现了GPU的强大通用计算能力,同时也为实现运动信息检测提供了高效的运算支持。