基于ARM9的人脸识别系统嵌入式报告课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ・・・>

相关文档
最新文档