论文部分内容阅读
视频是当今信息时代不可或缺的信息载体,而计算机视觉近年来一直是国内外研究的热点,运动目标轮廓提取作为其中的一个重要分支,广泛应用于图像分割、目标识别等领域。在视频处理中实时性也是研究者追求的目标,而提取视频序列中的运动目标轮廓往往计算量庞大,难以满足视频处理实时性的要求。随着异构计算的高速发展,在图像处理算法中采用异构计算进行并行加速是有效解决实时性问题的一种方法。本文首先研究了运动目标轮廓提取算法的相关理论,包括常见的目标检测方法和常见的目标轮廓提取技术,详细分析了算法各自的特点。然后,本文提出了的一种改进的基于边缘检测的运动目标轮廓提取算法。由于采用高斯混合模型和Canny边缘算子实现的经典的基于边缘检测的运动目标轮廓提取算法受噪声干扰大,难以获得完整清晰目标轮廓。故本文采用形态学闭运算消除由高斯混合建模得到的前景图中的孔洞,然后通过中值滤波消除前景图中的椒盐噪声,再通过Canny算子对原视频帧图像进行边缘检测,最后将边缘检测结果图与处理后的前景图做“与”运算,二值化后得到最终的运动目标轮廓结果。实验结果证明,本文提出的算法很大地提高了运动目标轮廓的精度,能够提取到更完整、清晰的目标轮廓。为了解决视频处理实时性的问题,本文采用OpenCL并行实现了本文提出的运动目标轮廓提取算法。首先,本文介绍了常用的异构计算框架OpenCL,比较了 OpenCL与CUDA的特点,分析本文选用OpenCL并行实现运动目标轮廓提取算法的原因。然后,本文根据算法特点划分了 OpenCL主机端和设备端任务,并分别介绍了并行算法在OpenCL主机端和设备端的实现步骤。最后,为了验证分析该并行算法的加速性能,本文从三个方面进行了对比试验:并行算法与串行算法的性能对比、并行算法在不同设备上的性能对比、并行算法在不同工作组大小上的性能对比。由实验结果可知,并行算法相比串行算法运算速度得到了大幅提高。另外,并行算法在不同设备和工作组大小上的加速性能也不同。