基于单片机的人脸识别系统Word格式.docx
《基于单片机的人脸识别系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的人脸识别系统Word格式.docx(46页珍藏版)》请在冰豆网上搜索。
其一,研究新的适用于非完全正立人脸图像的特征检测方法并对人脸特征的提取作相应的调整,这种解决方法在文献[9]已有所尝试;
其二,沿用现有的人脸识别系统,但在人脸图像送识别系统进行特征提取和识别之前(即在人脸检测和定位阶段),先进行人脸位置矫正的工作,这种方法在文献[10]中也已有所研究,并取得了较好的效果。
与传统的身份鉴定手段相比,基于人脸生物特征信息的身份鉴定技术具有以下优点:
●用户易接受:
简单易用,对用户无特殊要求。
●防伪性能好:
不易伪造或被盗。
●“随身携带”:
不用担心遗漏或丢失,随时随地可用。
除此之外,人脸识别技术还有主动性好,精确性高,性能/成本比高,自学习功能强等优点。
鉴于人脸识别技术在个人身份鉴定方面的众多优点,这项技术可以在很多领域得到应用:
●国家安全领域。
协助公安,海关等国家安全机构加强对可疑人物、罪犯、恐怖分子的追踪、监控和识别。
●公众安全领域。
加强交通管制;
确认身份证、护照等证件的真伪;
验证各类信用卡的持卡人身份。
●计算机交互领域。
根据计算机使用者人脸特征确定身份,提供个性化服务。
FacePoseAdjustment,FacialFeatureExtraction,HumanFaceRecognition,
人脸识别技术在这些领域的充分利用,对于有效地鉴定个人的身份,防止犯罪和诈骗、提高办公效率、节约资源有着重大的社会和经济意义。
本章针对大部分人脸识别系统建模中存在的不足,将人脸位置矫正问题引入思考,并根据人脸图像特点设计实现了一种新的基于眼睛定位的人脸位置矫正算法。
(为方便叙述起见,我们称人脸在竖直平面内的倾斜角度为平面旋转角度,而称人脸在水平面内的倾斜角度为深度旋转角度。
本文中出现的人脸位置矫正说法都是针对平面旋转角度而言的。
)
NeuralNetworks,Gray-scaleStaticImage,Vertical-complexityofImage
作为人类智能的重要体现和个人身份鉴定的重要手段,人脸识别技术具有广泛的应用前景,已成为一项热门研究课题。
人脸识别的关键技术之一就是人脸的检测定位。
在一个完整的人脸识别系统中,能否对人脸进行正确的检测定位将对整个人脸识别系统的性能优劣产生极其重要的影响,而影响人脸检测定位的一个重要因素就是人脸在图像中的姿势。
实际中,由于受到人的行为习惯,生理特征以及图像采集环境等诸多因素的影响,人脸在采集到的人脸图像中的姿势往往并不是完全正立的,而是在水平和竖直平面内都存在一定的倾斜角度(即深度旋转角度和平面旋转角度)。
但是大部分的人脸识别系统都是针对正立的正面人脸图像而设计的,没有考虑到人脸图像可能存在的倾斜问题,致使这些人脸识别系统从人脸倾斜的图像中提取的特征数据在一定程度上失效,并有可能进一步导致人脸识别系统在最终识别结果中产生误判。
1.2国内外人脸识别系统的研究现状
现在人脸识别技术已经应用在许多领域中,并起到了举足轻重的作用,人脸识别研究开始于1966年PRI的Bledsoe的工作,经过三十多年的发展,人脸识别技术取得了长足的进步,现在就目前国内外的发展情况来进行展述。
1.2.1国外的发展概况
见诸文献的机器自动人脸识别研究开始于1966年PRI的Bledsoe的工作,1990年日本研制的人像识别机,可在1秒钟内中从3500人中识别到你要找的人。
1993年,美国国防部高级研究项目署(AdvancedResearchProjectsAgency)和美国陆军研究实验室(ArmyResearchLaboratory)成立了Feret(FaceRecognitionTechnology)项目组,建立了feret人脸数据库,用于评价人脸识别算法的性能。
美国陆军实验室也是利用vc++开发,通过软件实现的,并且FAR为49%。
在美国的进行的公开测试中,FAR,为53%。
美国国防部高级研究项目署,利用半自动和全自动算法。
这种算法需要人工或自动指出图像中人的两眼的中心坐标,然后进行识别。
在机场开展的测试中,系统发出的错误警报太多,国外的一些高校(卡内基梅隆大学(CarnegieMellonUniversity)为首,麻省理工大学(MassachusettsInstituteofTechnology)等,英国的雷丁大学(UniversityofReading))和公司(Visionics公司Facelt人脸识别系统、Viiage的FaceFINDER身份验证系统、LauTech公司Hunter系统、德国的BioID系统等)的工程研究工作也主要放在公安、刑事方面,在考试验证系统的实现方面深入研究并不多。
1.2.2国内的发展概况
人脸识别系统现在在大多数领域中起到举足轻重的作用,尤其是用在机关单位的安全和考勤、网络安全、银行、海关边检、物业管理、军队安全、智能身份证、智能门禁、司机驾照验证、计算机登录系统。
我国在这方面也取得了较好的成就,国家863项目“面像检测与识别核心技术”通过成果鉴定并初步应用,就标志着我国在人脸识别这一当今热点科研领域掌握了一定的核心技术。
北京科瑞奇技术开发股份有限公司在2002年开发了一种人脸鉴别系统,对人脸图像进行处理,消除了照相机的影响,再对图像进行特征提取和识别。
这对于人脸鉴别特别有价值,因为人脸鉴别通常使用正面照,要鉴别的人脸图像是不同时期拍摄的,使用的照相机不一样。
系统可以接受时间间隔较长的照片,并能达到较高的识别率,在计算机中库藏2300人的正面照片,每人一张照片,使用相距1--7年、差别比较大的照片去查询,首选率可以达到50%,前20张输出照片中包含有与输入照片为同一人的照片的概率可达70%。
2005年1月18日,由清华大学电子系人脸识别课题组负责人苏光大教授主持承担的国家"
十五"
攻关项目《人脸识别系统》通过了由公安部主持的专家鉴定。
鉴定委员会认为,该项技术处于国内领先水平和国际先进水平。
1.3本论文的内容
本文针对人脸图片的现状及发展趋势,在阅读了大量文献及资料的基础上,成功设计了一套用于人脸图片识别系统。
其重点在于液晶显示、存储器扩展的硬件电路设计上。
最终实现单片机利用串口对图像数据进行采集并进行储存;
对输入的图像和系统中已存图像进行比对识别;
系统中存有输入的图像则控制液晶显示此图像,否则蜂鸣器报警。
1.4本文的任务
1.采用AT89C51单片机进行硬件电路设计以及软件程序设计;
2.学会串口的使用,采用串口工具向存储器传送图片;
3.自行设计液晶显示电路,由单片机精确控制图像的显示或报警;
4.减少冗余电路和接线,降低功耗,提高系统运行可靠性。
第2章人脸图片识别总体方案设计
2.1系统硬件结构
系统的硬件结构如图2-1所示是以单片机为核心的一套系统。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机了解计算机原理与结构的最佳选择。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成(如图1所示)。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器,如图2所示)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
第3章系统硬件部分的设计与实现
3.1硬件设计基本流程
我们知道,硬件(HardWare)是区别于软件(SoftWare)来说的,是控制逻辑的具体执行和实现部分,它可以用来控制一些可执行器件、机构和设备,自己就也可以实现很多功能,在人类创造过程中是处于底层的部分,是实现创造的根本基础之一。
硬件电路包含的内容很广,例如,硬件电路可以有微处理器电路、LCD液晶显示电路、键盘电路、模拟量输入电路、开关量输入输出电路、总线通讯接口电路、实时时钟电路等等。
总的来说,应该包括电子元件(如芯片、电阻、电容等)、接插件(接头,卡头,连接件等)、电路板及其它相关外部设备(电源、电机等)。
所以我们的实验也将围绕功能\方案——电路原理图——印刷电路板这样一个流程展开。
当我们有了模拟电路、数字电路、微机原理的基础之后,我们就可以开始硬件电路的历程。
任何一个硬件设计都需要一个开始和完善的过程,核心在于“设计”。
在这里我们将着重讲解基于单片机的硬件设计流程。
其他的设计都十分类似,一个设计是否成功,重要的在于对它的每一个环节的把握上。
要进行以单片机为核心的数字电路设计与制作,一般来说要按照如图3-1流程进行:
2.2单片机的发展概况及其选择
随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机作为计算机的一个独特的分支,它是在一块芯片上集成了多种功能部件所构成的一台完整的、具有一定功能的单片微型计算机。
它打破了典型微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小,功能强,性能价格比高等优点广泛应用于诸多领域,如工业控制系统、智能化仪表、数据采集系统等,单片机技术的开发和应用水平己逐渐成为一个国家工业发展水平的标志之一。
目前世界上有很多单片机制造公司,如美国的INTEL、ATMEL、MOTOROLA和ZILOG公司;
德国的SIEMES公司;
荷兰的PH工LIP公司等。
他们相继推出了各种类型的单片机,其中工ntel公司推出的一种高性能8位单片机MCS一51系列单片以其优越的性能,成熟的技术和高性价比迅速占了工业测控和自动化工程领域的主要市场,成为单片机领域中的主流产品。
除了INTEL公司外,PH工LIP,ATMEL,ADM,S工EMES等公司纷纷推出了与MCS一51系列兼容的单片机,其中ATMEL公司的89系列单片机也称Flash单片机,在内部功能的引脚上与MCS一51单片机是兼容的,它不仅继承了MCS一51原有的功能,而且又扩展了它的功能。
ATMEL89系列单片机是以8031核构成的,所以它和8051系列单片机是兼容的系列,89系列单片机有很多优点。
89系列单片机可分为标准型号,低档型号和高档型号,经过比较分析,根据本课题的特点,我们选用ATMEL公司89系列的标准型单片机AT89C51。
3.2AT89C51单片机的介绍
AT89C51单片机是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。
功能强大的AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:
与MCS-51产品指令系统完全兼容
4K字节在系统编程(ISP)Flash闪速存储器
1000次擦写周期
4.0-5.5V的工作电压范围
全静态工作模式:
0HZ-33MHZ
三级程序加密锁
128*8字节内部RAM
32个可编程I/O口线
2个16位定时/计数器
6个中断源
全双工串行UART通道
低功耗空闲和掉电模式
中断可从空闲模式唤醒系统
看门狗(WDT)及双数据指针
掉电标示和快速编程特性
灵活的在系统编程(ISP-字节或页写模式)
功能特性概述:
AT89C51提供以下标准功能:
4K字节闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中到内容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。
引脚功能说明:
Vcc:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR))区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其他控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
P3口还接手一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。
DISRTO位缺省为RESET输出高电平打开状态。
ALE/~PROG:
当访问外部程序存储器或数据存储器时,ALE(地址所存允许)输出脉冲用于所存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(~PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
~PSEN:
程序储存允许(~PSEN)输出是外部程序存储器的选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次~PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的~PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H---FFFFH),EA端必须保持低电平(接地)。
需要注意的是:
如果加密位LB1被编程,复位时内部会所存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程电压VPP。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
晶体振荡器特性:
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5.
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。
如果使用石英晶体,我们推荐使用30pF+/-10pF,而如使用陶瓷谐振器建议选择40pF+/-10PF。
用户也可以采用外部时钟。
采用外部时钟的电路如图5右图所示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2端则悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
晶体接线图和外接时钟线路图,如图3-4所示:
图3-4
空闲节电模式:
在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。
此时,片内RAM和所有特殊功能寄存器的内容保持不变。
空闲模式可由任何允许的中断请求或硬件复位终止。
需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。
为了避免在复位结束时可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。
掉电模式:
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。
退出掉电模式的方法是硬件复位或由处于使能状态的外中断INT0和INT1激活。
复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。
序存储器的加密:
AT89C51可使用对芯片上的3个加密位LB1、LB2、LB3进行编程(P)或不编程(U)来得到如下表所示的功能:
注:
表中的U------表示未编程P------表示编程
3.2.1AT89C51单片机的特点
AT89C51提供以下标准功能:
4k字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。
空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。
系统控制部分的核心是ATMEL公司生产的AT89C51。
AT89C51采用40引脚的双列直插式封装(DIP)形式,内部由CPU,4KB的ROM,256B的RAM,2个16位的定时/计数器T0和T1,4个8位的I/O端口和一个全双工串行通信口等部分组成。
AT89C51单片机具有系统结构简单,成本低,可靠性高,低功耗等特点。
特别是内部集成了4KB的FLASH程序存储器,使单片机系统的结构更加简单,也使其得到了广泛的应用。
同时,它还具有高级语言编程的特点,指令丰富,软件开发简单。
3.2.2AT89C51单片机的硬件结构
3.3图片的导入
MCS-51单片机内部有一个功能强大的全双工异步通信串行口。
所谓全双就是双机之间串行接收、发送数据可同时进行。
所谓异步通信,就是收、发双方没有同步时钟来控制收、发双发的同步传送,而是靠双方各自的时钟来控制数据的异步传送。
本系统的导入原理如图3-6所示:
3.3.1MAX232资料简介
该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。
由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
该器件符合TIA/EIA-232-F标准