论文部分内容阅读
人脸检测和特征点定位结果是人脸识别等诸多应用的前提,与其相关的技术研究日趋成熟。但随着高清成像设备的制造工艺进步,成本大幅降低,以及H.265编码标准的正式确立、人类对于感官享受的极致追求等诸多内外因素的影响,高分辨率视频影像的使用越来越广泛,与其相关的应用所需处理数据大幅度增加。以人脸检测应用为例,传统的基于CPU设计的程序在处理高分辨率图像时,其时效性方面的缺陷愈加显现,这个问题亟待解决。NVIDIA 公司于 2007 年正式推出 CUDA(Compute Unified Device Architecture,计算统一设备架构)平台,短时间内即产生了广泛的影响。基于该平台,开发人员无需了解专业图像API,就可以很方便的利用GPU强大的并行计算能力,大幅度提升计算密集型程序的执行速率。目前,GPU计算应用已经深入各个领域,例如工业设计、科学计算和个人娱乐等,且有十分显著的应用成果。本文正是基于GPU平台加速实现人脸检测和特征点定位,主要工作内容如下:1.对所使用的CUDA平台软硬件做了详细介绍,说明实验所用显卡设备的参数,分析基于GPU的并行人脸检测和特征点定位的可行性。2.介绍了人脸检测的常用方法,讨论光照、姿态等因素对各个方法的影响,对比每个方法的优缺点以及适用范围。详细分析了基于Adaboost算法的人脸检测具体流程,找出在执行过程中所需时间占比最大的执行步骤,并剖析级联分类器的结构特征。利用待检测窗口在数量上“前多后少”和所需计算量的“前少后多”的特性,在GPU平台上并行实现基于Adaboost算法的人脸检测。实验结果表明在检测准确率相同的前提下,较之于OpenCV中基于CPU的多线程实现方法,所需处理的视频图像分辨率越高,基于GPU实现的加速比越高,证明了 GPU更适用于高分辨率视频图像的处理。3.针对人脸特征点定位,提出了一种新的估计初始形状的方法,该方法具有较低的计算复杂度,可以在常量时间内对所有人脸特征点做出一个较好的初始估计。4.基于GPU平台实现使用ASM算法的人脸特征点定位,讨论在GPU平台和CPU平台上,待处理人脸数量和算法迭代次数对执行速率的影响。最终实验结果表明,GPU平台相对于CPU平台的加速比只与待处理的人脸数量有关,而与迭代次数无关。最后分析该实验结果,讨论其形成原因。