人脸自动识别技术是模式识别、图像处理等学科的一个最热门研究课题之一。随着社会的发展,各方面对快速有效的自动身份验证的要求日益迫切,而人脸识别技术作为各种生物识别技术中最重要的方法之一,已经越来越多的受到重视。对于具有实时,快捷,低误识率的高性能算法以及对算法硬件加速的研究也逐渐展开。 本文详细分析了智能人脸识别算法原理,发展概况和前景,包括人脸检测算法,人眼定位算法,预处理算法,PCA和ICA 算法,详细分析了项目情况,系统划分,软硬件平台的资源和使用。并在ISE软件平台上,用硬件描述语言(verilog HDL)对算法部分严格按照FPGA代码风格进行了RTL 硬件建模,并对C++算法进行了优化处理,通过仿真与软件算法结果进行比对,评估误差,最后在VirtexII Pro FPGA 上进行了综合实现。 主要研究内容如下: 首先,对硬件平台xilinx的VirtexII Pro FPGA 上的系统资源进行了描述和研究,对存储器sdram,RS-232 串口,JTAG 进行了研究和调试,对Coreconnect的OPB总线仲裁机理进行了两种算法的比较,RTL 设计,仿真和综合。利用ISE和VC++软件平台,对verilog和C++算法进行同步比较测试,使每步算法对应正确的结果。对软硬件平台的合理使用使得在项目中能尽可能多的充分利用硬件资源,制板时正确选型,以及加快设计和调试进度。其次,对人脸识别算法流程中的人脸检测,人眼定位,预处理,识别算法分别进行了比较研究,选取其中各自性能最好的一种算法对其原理进行了分析讨论。人脸检测采用adaboost 算法,因其速度和精度的综合性能表现优异。人眼定位采用小块合并算法,因为它具有快速,准确,弱时实的特点。预处理算法采用直方图均衡加平滑的算法,简单,高效。 识别算法采用PCA 加ICA 算法,它能最大的弱化姿态和光照对人脸识别的影响。 最后,使用Verilog HDL 硬件描述语言进行算法的RTL 建模,在C++算法的基础上,保证原来效果的前提下,根据FPGA 硬件特点对算法进行了优化。视频输入输出是人脸识别的前提,它提供FPGA 上算法需要处理的数据,预处理算法在C++算法的基础上进行了优化,最大的减少了运算量,提高了运算速度,16 位计算器模块使得在算法实现时可以根据系统要求,在FPGA的ip 核和自己设计的模块之间选择性能更好的一个来调用,FIFO的设计提供同步和异步时钟域的数据缓存。设计在ISE和VC++软件平台同时进行,随时对verilog和C++数据进行监测和比对。全部设计模块通过仿真,达到预定的性能要求,并在FPGA 上综合实现。
上传时间: 2013-07-13
上传用户:李梦晗
一个简单好用的B+树算法实现
上传时间: 2015-01-04
上传用户:缥缈
一个用Basic实现的B-Tree算法
上传时间: 2013-12-30
上传用户:ccclll
一个用Java applet实现的B-Tree算法
上传时间: 2013-12-25
上传用户:qiao8960
用C++实现的B-Tree算法
上传时间: 2014-01-20
上传用户:jiahao131
用Borland C写的B-Tree算法
上传时间: 2014-12-05
上传用户:xzt
一种新的人脸识别算法程序
上传时间: 2015-02-21
上传用户:lht618
B-P算法对函数的拟合程序
上传时间: 2013-12-17
上传用户:Miyuki
计算机视觉讲义,介绍人脸识别算法等,供参考
上传时间: 2014-01-23
上传用户:frank1234
这是一个改进的人脸识别 算法,希望对大家有用
上传时间: 2013-12-18
上传用户:redmoons