基于GPU的PCA算法

来源 :北京邮电大学 | 被引量 : 1次 | 上传用户:applee911
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
人脸识别技术是一种基于人的脸部特征信息进行身份识别的一种生物识别技术,并已经成为当今社会不可或缺的一个安全技术。主成分分析(PCA)算法是人脸识别的主要算法之一。图片的像素较高并且训练集的规模较大导致矩阵计算量大,因此基于PCA算法的人脸识别耗时较长,不适合单机串行运行。为了克服这个缺陷从而减少单机人脸识别的时间,本文旨在寻找一种基于GPU并行的PCA人脸识别算法。本文首先对单线程PCA算法的训练阶段和识别阶段进行了深度剖析,根据GPU并行时不可避免的数据拷贝与训练和识别阶段的时间复杂度,确定了仅对训练阶段进行并行改进的目标。然后从训练阶段的运算步骤中归纳出一些能够进行并行改进的部分,有矩阵行运算,矩阵乘法运算,Jacobi迭代法;其中的Jacobi迭代法较为复杂,本文利用单循环法遍历矩阵非对角元素,以此对Jacobi迭代法进行并行改进。接下来由于通过实验数据发现GPU并行改进算法对训练集大小十分敏感,当训练集规模从600张人脸图像增加到840张的时候,训练时间增加了200%,因此把用向量表示图像的PCA算法更换为用矩阵表示图像的2DPCA算法。最后通过ORL人脸库和FERET人脸库的实验数据证明,最终改进得到的GPU并行改进的2DPCA人脸识别算法,和原始的单线程PCA算法相比,能够在同样只使用一台机器的情况下,在保证80%以上的识别率的同时,可以将原始算法的PCA提高识别效率提高将近104倍,并且能够适应大规模的训练集。
其他文献
该文深入研究了现有的快速运动估计算法,通过大量实验分析了视频图像的特点,其运动矢量和块失真度的分布规律及其相关性,对快速运动估计技术进行了较全面的总结.在此基础上,
随着互联网的快速普及,互联网运行的稳定性和服务质量变得愈发重要,这促使通过网络测量客观评价网络服务质量的需求变得越来越迫切。通过网络测量,了解网络的运行情况,才能够
随着计算机技术的发展,Java技术逐渐成为众人关注的焦点.而Java虚拟机是Java程序设计语言的基石,它是Java技术的重要组成部分.Java虚拟机是一个抽象的计算机,它负责执行由Jav
近几年来智能终端相关技术已经进入到一个发展的高峰期,个体用户所拥有的智能手机、具备计算能力的终端设备数量迅速增加。与此同时近距离通信技术、无线技术、通信服务高带
该论文的背景基于一个宽带接入网网管系统的横向课题,目的在于探讨Web/Java技术在网络管理系统中的应用,寻求基于Web/Java的网络管理系统的整体解决方案.该文首先介绍了当前
该文在研究了新的多媒体通信标准和协议的基础上,重点分析了目前网络多媒体通信的特点与需求,介绍了多媒体实时通信的协议框架以及多媒体通信实现中的关键技术,给出了IP网络
该文首先对于目前软件过程管理相关问题及其发展情况进行了阐述,明确了所要解决的问题,然后研究了基于工作流技术的软件过程定义及追踪方法,并在此基础上介绍了其相应支持平
该文主要从容错技术、综合的设计思想等角度研究了通用管理系统的计算机系统的设计、评价与实现,主要包括三方面的内容.首先,总结了一般的系统的可靠性评价方法与设计方法.通
该文提出并实现了一个柔性化的访问控制框架,以满足协同环境下分布式对象访问控制的需求. 论文的工作可以分为两部分:动态支持多策略的访问监控器的构造和访问监控器与CORBA
数据挖掘是一种的数据分析处理技术,其主要特点是对数据库、数据仓库或其他数据源中的数据进行抽取、转换、分析和其它模型化处理,从中提取辅助商业和科研决策的知识.关联规