论文部分内容阅读
随着移动设备的普及、智能家居的兴起,人脸识别此类便捷的验证方式和搜索手段的需求愈发迫切。支付宝等软件使用的人脸识别手段,同多数方式一样,基于软件,对算法本身的要求特别高。而各类场景的应用越来越不拘泥于软件,如火车站的安检,需要的是依靠硬件而获得的速度的提升。传统的人脸识别算法在硬件实现的过程中势必会遇到人脸数据繁多而导致的会导致消耗资源过多、运算时间过长等问题,给实现过程带来一定程度的困难。本文遍览各类人脸识别算法并加以细究,发现基于稀疏表达的识别算法正合此意,利用矩阵投影对人脸库的数据进行精简,从而解决这一问题。DSNPE是一种已经存在的稀疏表达算法,基于此算法,本文提出一种新的“类间离散度“的概念,与DSNPE算法类比,获得一种新的目标函数,利用此函数对人脸库的数据和识别的目标人脸数据进行投影来降维。本文基于MATLAB软件搭建合适的仿真环境,从结果可知,改良的稀疏保持投影算法在完美保持识别率的基础上,在YALE、ORL、AR人脸库上分别能保持在80%、90%、80%左右,识别人脸的时间锐减40%~60%。针对本文研究的稀疏表达算法,对其部分算法进行硬件电路设计,参考了奇异值分解算法、双边雅克比算法以及CORDIC算法进行子模块的软硬协同设计。在CORDIC算法的硬件实现中,本文改良了设计方式,由复用结构代替原有的流水寄存器,节约使用资源。计算单元包含4个子模块:除法模块、反正切模块、正余弦模块和双边旋转模块。完成软硬件设计以后,本文利用ModelSim软件和FPGA开发板搭建仿真环境,通过ModelSim的仿真,计算结果同MATLAB结果趋于一致,验证了RTL级代码的正确性。本文使用的FPGA开发板是KC705,搭建验证环境以后,根据综合结果可知,整个基础计算模块的最高时钟频率为262.854MHz,占用资源为1418 Slice registers,4080 Slice LUTs,吞吐率可达11302Mbps。其中完全使用的LUT-FF对占比31%,因为使用的CORDIC算法运用了大量的查找表资源。