论文部分内容阅读
人脸识别一直是一个热点研究课题,在多个领域得到了广泛应用。传统的人脸识别算法通常在PC机上实现,随着近几年嵌入式硬件平台性能的提升,特别是基于ARM+现场可编程门阵列(Field Programmable Gate Array,FPGA)的多核嵌入式系统的出现,使其在便携性、扩展性、成本上和功耗上等方面都有着诸多优势,从而推动了基于嵌入式的人脸识别技术的迅速发展和广泛应用。基于ARM或数字信号处理器(Digital Signal Processor,DSP)的嵌入式平台接口灵活,开发方便,但速度较慢;FPGA运算能力较强,速度较快,但FPGA开发难度和工作量较大。针对上述问题,Xilinx公司提供了基于ARM+FPGA的全可编程片上系统。本文在深入研究主成分分析(Principal Component Analysis,PCA)和独立成分分析(Independent Component Analysis,ICA)的基础上,提出了一种应用PCA+ICA和前向反馈(Back Propagation,BP)神经网络进行人脸识别的设计方案,并进行了工程实现。论文的主要研究内容包括:(1)基于PCA+ICA的人脸特征提取方法研究论文研究分析了PCA算法和ICA的基本原理及其优缺点,针对PCA算法只利用了人脸图像的二阶统计信息而忽略高阶统计信息的缺点,提出了使用PCA+ICA的方式进行特征提取,首先利用PCA算法对训练人脸集进行特征提取并张成特征脸空间,然后借助ICA算法对特征脸空间进行处理,以充分利用图像的高阶统计信息,使改进后的算法识别率达到98.33%,相比于单独使用PCA算法进行特征提取提高了5.2%。(2)基于FPGA的BP神经网络分类器的研究研究了BP神经网络的工作原理,对比分析了BP神经网络分类器较传统最近邻分类器在非线性拟合和识别率上的优势;从BP神经网络的网络结构入手,应用FPGA的特点对其正向传播的结构进行简化,降低了网络结构的复杂度和编程实现的难度。(3)基于ZYNQ全可编程片上系统的人脸识别算法的实现对比分析了几种常用的人脸识别算法嵌入式平台的优缺点,针对传统嵌入式平台的不足,采用全可编程片上系统作为人脸识别算法的硬件平台,利用软硬件协同的方式开发验证;提出了人脸识别算法片上系统的实现方案,并使用片上系统的FPGA部分对算法进行加速。经加速后,算法在ORL人脸数据库的单张人脸识别时间小于9 ms。