当前位置:问答库>论文摘要

题目:典型人脸检测算法在多核平台上的并行方法研究

关键词:人脸检测;CVG模型;并行;开放计算语言;人脸轮廓提取

  摘要


      人脸检测是计算机视觉和模式识别的一个重要研究方向,是后续人脸识别的基础,在多个领域都有广泛的应用。基于人脸检测的相关应用都有时间上的限制,因此加快人脸检测速度的研究就成为了一项人脸识别的重要课题。

      本文选用了一种典型的人脸轮廓识别方法,即基于CVG模型(全变分G-Norm 的Chan-Vese 分割模型)的人脸轮廓提取算法进行并行化改进,并在不同的多核平台下利用OpenCL进行了加速。原算法的特点是计算量较大、计算过程中产生的中间结果间的数据依赖关系较为复杂等,使得采用数据分割进行并行化的难度较大。针对以上问题,基于OpenCL平台,本文提出并实现了CVG人脸轮廓检测算法在多核CPU和GPU上的并行优化方法,通过利用GPU的浮点处理能力、线程并行的系统架构以及较高的存储带宽,显著降低了算法运行的时间。

      在本文提出的并行架构中,首先对输入图像的颜色空间进行转换,从而当以固定大小的扫描窗口对图像进行扫描时,可以对人脸进行并行化检测。该方式可以实现子窗口扫描的高效并行。随后,在进行CVG分割过程时,通过对线程组设置全局锁以及实现线程间的合并访问等方法,有效地提升了算法的并行效率。

      本文选取AMD FX8530作为PC端CPU,NVIDIA GTX660作为PC端GPU,Adreno 330作为手机端GPU,并使用GTAV人脸库作为算法的数据集对并行化之后的CVG轮廓提取算法进行了性能测试。结果表明,并行优化后的算法运行速度上有了极大地提升。对于分辨率为640*480的输入图像,与单线程算法相比,在NVIDIA GTX660、AMD FX8530和Adreno 330下的平均加速比可以达到15.25、4.63和2.00左右,其中算法的某些模块可以获得更高的加速比,如在上述三个平台下熵滤波边缘检测的平均加速比可以达到46.36、3.59和5.15左右。