基于ARM9的人脸识别系统嵌入式报告课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式课程设计报告
学院信息电子技术
专业通信工程
班级
学号
指导教师
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.68cmo该液晶显示屏的每个像素深度为2bit,采用RGB565色彩空间。
(3)摄像头
摄像头采用市场上常见的网眼2000摄像头,内部是含CMOS传感器的OV511 + 芯片。CMOS传感器采用感光元件作为影像捕获的基本手段,核心是1个感光二极管,该二极管在接受光线照射之后能够产生输出电流,而电流的强度则与光照的强度对应。相对
CCD图像传感器,CMOS传感器具有成本低廉的优点。该摄像头通过USB接口与ARM9
处理器通信。该摄像头输出格式yuv,在输出至屏幕之前,需将数据格式转化为RGB565格式。
(4)存储器
系统釆用64MB的SDRAM,由两片K4S561632芯片组成,工作在32位模式。另有64MB的NANDFlash,采用K9F1208芯片。该芯片在系统中空间分配情况。
系统电路原理框图(如图2-1 ):
图2-1系统电路原理框图
2、程序设计
系统的软件设计主要有底层的操作系统,驱动程序以及应用程序组成。操作系统采用Linux2.6.30.4内核(如图2-3 Linux操作系统)
(1 )嵌入式Linux系统平台
Bootloader
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000 处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
Bootloader启动的两个阶段:第一阶段主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据Cache等)。为第二阶段准备RAM空间。
嵌入式Linux内核的配置
在配置内核前的须做必要的设置,主要在内核原码中设置文件Makefile,用下
列指令打ff Makefile文件:SviMakefile 4 Makefile中主要设置两个地方:ARCH
CROSSCOMPILEo ARCH: =arm;表示口标板为arnio CROSS COMPILE二交义编译工具的地址;设置交义编译工具的地址,例如CRoSSCOMPILE=lusr / lOcal / arm / 2. 95. 3、bi rd a rm. linuxo还要在脚本文件m k image中把路径改为9200 / bootldr / u-boot-1. 0. O / toolso (具体的路径和你的u-boot放的位置有关)然后按如下命令顺序进行内核编译即可:内核配置:Smake menuconfig 或makcxeon!ig 内核编译:Smaketiean $make dep $make $• / mkimage;运行mkimage脚本文件。在Linux下,用makemenuconfig或makexeontig进入配置界面。在内核配置中,一般有四种选择:Y(选择)、N(不选)、M(模块)和数字,用户可以根据剪裁需要进行设置,最后配置完毕,选择是否对配置结果进行保存?保存为・eonfig 文件。
图2-3 Linux操作系统(2)U SB摄像头驱动移植
在USB主机控制器的配置中,首先输入“ make menuconfig”,按照如下配置单进行配置和保存。
Device Dlivers —>
[*] USB support —
<*> Support for Ho st-si de USE
[*] USB device filesystem
[*] USB device dass-devices(D5PRECATED)
<*>OHCIHCD support
Device Dricers ・••>
Multimedia devices ・・・>