预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共62页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于ARM的人脸识别系统嵌入式报告课程设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)嵌入式课程设计报告学院信息电子技术专业通信工程班级学号姓名指导教师2017年07月01日基于ARM9的人脸识别系统引言人脸识别背景和意义人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年后期,并且以美国、德国和日本的技术实现为主;人脸识别系统成功的关键在于是否拥有尖端的核心算法,并使识别结果具有实用化的识别率和识别速度;“人脸识别系统"集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业技术,同时需结合中间值处理的理论与实现,是生物特征识别的最新应用,其核心技术的实现,展现了弱人工智能向强人工智能的转化语音识别、体形识别等,而指纹识别、虹膜识别等都不具有自然性,因为人类或者其他生物并不通过此类生物特征区别个体。人脸识别具有这方面的特点,它完全利用可见光获取人脸图像信息,而不同于指纹识别或者虹膜识别,需要利用电子压力传感器采集指纹,或者利用红外线采集虹膜图像,这些特殊的采集方式很容易被人察觉,从而更有可能被伪装欺骗。系统设计1、硬件电路设计(1)ARM9处理器本系统所采用的硬件平台是天嵌公司的TQ2440开发板,该开发板的微处理器采用基于ARM920T内核的S3C2440芯片。ARM9对比ARM7的优势:虽然ARM7和ARM9内核架构相同,但ARM7处理器采用3级流水线的冯·诺伊曼结构,而ARM9采用5级流水线的哈佛结构。增加的流水线设计提高了时钟频率和并行处理能力.5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9则至少在200MHz以上.指令周期的改进对于处理器性能的提高有很大的帮助.性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。ARM7一般没有MMU(内存管理单元),(ARM720T有MMU)。(2)液晶显示屏为显示摄像头当前采集图像的预览,系统采用三星的320x240像素的液晶屏,大小为206.68cm.该液晶显示屏的每个像素深度为2bit,采用RGB565色彩空间.(3)摄像头摄像头采用市场上常见的网眼2000摄像头,内部是含CMOS传感器的OV511+芯片.CMOS传感器采用感光元件作为影像捕获的基本手段,核心是1个感光二极管,该二极管在接受光线照射之后能够产生输出电流,而电流的强度则与光照的强度对应。相对CCD图像传感器,CMOS传感器具有成本低廉的优点.该摄像头通过USB接口与ARM9处理器通信。该摄像头输出格式yuv,在输出至屏幕之前,需将数据格式转化为RGB565格式。(4)存储器系统采用64MB的SDRAM,由两片K4S561632芯片组成,工作在32位模式。另有64MB的NANDFlash,采用K9F1208芯片。该芯片在系统中空间分配情况.系统电路原理框图(如图2-1):TQ2440开发板(ARM920T内核的S3C2440芯片)摄像头液晶显示屏LED指示灯控制键盘存储器图2-1系统电路原理框图2、程序设计系统的软件设计主要有底层的操作系统,驱动程序以及应用程序组成。操作系统采用Linux2.6。30。4内核(如图2—3Linux操作系统)(1)嵌入式Linux系统平台Bootloader在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境.在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成.在一个基于ARM7TDMIcore的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。Bootloader启动的两个阶段:第一阶段主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据Cache等).为第二阶段准备RAM空间.嵌入式Linux内核的配置在配置内核前的须做必要的设置,主要在内核原码中设置文件Makefile,用下列指令打开Makefile文件:$viMakefile在Makefile中主要设