基于单片机的面部识别电子考勤机的设计3毕业论文.docx
- 文档编号:24402428
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:35
- 大小:1.06MB
基于单片机的面部识别电子考勤机的设计3毕业论文.docx
《基于单片机的面部识别电子考勤机的设计3毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的面部识别电子考勤机的设计3毕业论文.docx(35页珍藏版)》请在冰豆网上搜索。
基于单片机的面部识别电子考勤机的设计3毕业论文
基于单片机的面部识别电子考勤机的设计
摘要
随着当今时代科技的发展,方便、快捷、准确的身份识别方法能给人们带来便利的生活。
考勤系统工具的智能化,将会影响各个工作范畴,适用范围也将更加广泛。
在通过人体生物特征信息来鉴别人的身份可以更加准确的确认个人信息。
面部识别具有更重要的实际应用价值和前景。
本文设计了基于单片机的面部识别电子考勤机的设计。
设计从硬件平台和软件算法两方面来进行设计,硬件使用STM32f407型号的单片机为核心,外置视频采集模块、电源模块、存储器模块、显示模块等。
软件识别算法采用BP人工神经网络完成识别,对样本图像信息进行大量反复的训练计算欧氏距离并进行聚类分析,将样本信息分成若干小类,在输入新的样本图像信息时,进行图像分析就可对某一样本信息进行匹配,完成识别工作。
关键词:
STM32f407,面部识别,考勤机,BP神经网络
Designofelectronicattendancemachineforfacialrecognitionbasedonsinglechipmicrocomputer
Abstract
Alongwiththedevelopmentofcontemporaryscienceandtechnology,convenient,quickandaccurateidentificationmethodcanbringconveniencetopeople'slife.Theapplicationofintelligentattendancesysteminvariousfieldsismoreandmoreextensive,especiallytheinspectionofworkattendancesystem.especiallyofcheckonworkattendancesystembasedonthebiologicalcharacteristicstoidentifymoreaccuratelyconfirmpersonalinformation,facialrecognitionismoreimportantpracticalapplicationvalueandprospect.
Thispaperdesignsanelectronicattendancesystemforfacerecognitionbasedonsinglechipmicrocomputer.Itisdesignedfromtwoaspects:
hardwareplatformandsoftwarealgorithm,thehardwareUSESSTM32f407single-chipmicrocomputerasthecore,andexternalvideoacquisitionmodule,powermodule,memorymodule,displaymoduleandsoon.ThesoftwarerecognitionalgorithmUSESBPneuralnetworktocompletetherecognition,alotofrepetitiontrainingonthesampleimageinformationtocalculatetheEuclideandistanceandcarryoutclusteringanalysis,dividesthesampleinformationintoseveralsmallclasses,andwhenthenewsampleimageinformationisinput,carriesontheimageanalysistocarryonthematchingtoacertaininformationtocompletetherecognitionwork.
Keywords:
STM32f407,facialrecognition,attendancemachine,BPneuralnetwork
第1章绪论
1.1课题意义与背景
现在世界上有很大的人口基数,所以想要快速准确的识别一个人的身份是很困难的。
当我们利用一些传统的身份鉴别方法来鉴别人的身份时,很有可能出现鉴别错误的情况。
传统的鉴别方法就是相关人员检查能代表个人身份的物品,确认是否为正确的身份信息,包括身份标识物品,比如证件、钥匙等。
还有其中的身份标识知识包括银行卡(用户名)配合密码来鉴别是否为本人操作。
当然这些传统的识别人的身份的方法存在着很大的缺陷以致出现不好的结果:
比如证件、银行卡、钥匙等个人物品极有可能会丢失或被伪造,在别人偶然或意图得到用户名及密码的时候,极有可能造成个人信息泄露或财产丢失的情况,比如当银行卡丢失的情况下,如果有不法分子得到个人密码,就会带来不必要的损失,而且操作的机器无法区别是否为偶然获得银行卡的冒充者和真正的持有者。
所以在现代,人们广泛开发基于人体生物特征的鉴别人身份的方法,比如面部识别、指纹识别、颜色识别、稀疏特征识别等方法。
本文通过利用面部识别来实现快速准确的鉴别身份及个人信息,我们都知道,人类的指纹是是独一无二的,每个人的指纹都是不一样的,面部特征信息就像指纹信息一样是独一无二的,不管是双胞胎或者我们在生活中可能遇到两个人长相非常相似,在面部识别等生物特征信息面前都会有明显的区别。
现在已经有了非常实用的指纹识别系统,但是面部识别和指纹识别相比在DNA鉴定等方面具有更好的便捷性,它的取样方便,可以在不接触的情况下进行样本采集和鉴定识别,所以面部识别具有更重要的意义进行开发和普及使用。
当人面部识别在和指纹识别相比下,它的有影响因素比较多,比如人的表情、姿势、角度,环境的光照、背景等等因素可能有较大的差别,给面部识别带来一定的难度。
所以,面部识别有更大的挑战性。
在和传统的鉴别方法相比下,面部识别的生物特征信息在鉴定人的身份方面具有一下的优点:
(1)接受程度:
人们容易接受,操作简单,对用户没有特殊的要求;
(2)防伪性好:
几乎不可能会伪造及盗取;
(3)方便性强:
“随身携带”,何时何地都可用;
(4)精确程度高,性价比高。
基于面部识别的鉴定方法,在鉴别个人信息方面具有广泛的使用领域,它能更好的方便人们的生活,比如:
(1)国家(国际)安全领域:
能协助海关、国家安全认证机构加强可疑人员的识别、监控、追踪。
(2)公众生活管理领域:
可协助工作人员加强交通管制,确定个人信息及证件真伪。
近两年各大火车站都使用了面部识别来进行旅客进站,大大提高了工作效率及安全可靠性。
(3)计算机领域:
通过认证个人信息,提供个人不同的个性化服务。
面部识别在这些领域的广泛使用,有效的鉴别个人身份,提高工作效率,严防犯罪行为,节省国家资源有着重大的意义。
1.2国内外研究现状
1.2.1国外研究现状
在正式的面部识别研究领域普遍认同面部识别的起步阶段在20世纪60年代,但是在80年代后才得到一定的发展,因为此前计算机成本比较高,还有光学成像的技术并没有很成熟,所以在60-80年代这段时间并没有获得较高的研究成果和社会使用价值,此阶段是面部识别研究的初级阶段。
在90年代这段时间,面部识别技术有了非常大的发展,日本在1990年研制的面部识别机,可以在1s内从3500人中识别出想要识别的人。
在1991-1997年间,研发了几种用于面部识别的算法,比如美国麻省理工的媒体实验室的特克(Turk)和潘特(Pentland)提出的“特征脸”;尔胡米尔(Belhumeur)等人提出来的Fisherface面部识别的方法,还有弹性图匹配技术(ElasticGraphMatching,EGM)也是在这个阶段提出来的。
同样也是在这个时间段,美国军方建立了feret人脸数据库,用于评审面部识别算法的性能指标,他们使用VC++来进行编程开发,面部识别的主体功能是通过软件来实现的,最后测试出的误识率为49%。
在公开的测试中最终误识率为53%。
美国国防部高级研究项目署使用的算法需要手动或者自动识别图像中的人眼之间的中心坐标,并在机场展开了测试,但是也发出了太多的错误报警。
通过这次测试也促进了各项面部识别技术的快速发展,也有完成了面部识别系统这项技术在商业中的应用。
而国外以各知名高校及科技技术公司共同研究开发的面部识别工程研究其重心也主要是放在公安系统和刑事系统等方面,在日常生活及考试验证方面的考勤实现研究并不是很多。
1.2.2国内研究现状
我国在面部识别这方面的研究起步是比较晚的,起初研究工作开始于20世纪80年代,到了90年代的中后期,在国内的知名高校和科研机构才开始普及研究及发展,比如清华大学、复旦大学、浙江大学和哈尔滨工业大学、中科院自动化所、中科院计算机所等。
随着科技的发展和科研人员的不懈努力进行研发工作,取得了很大的进步。
其中中科院自动化所和中科院计算机所的研究成果在国内处于领先水平,在国际上也处于较高的水平。
在国内的学术水平最具代表性的就是清华大学的苏光大教授,他是我国的面部识别之父。
面部识别在我国发展有很大的前景和广泛地用途,因为我国人口基数较大,相比来说,长相相似的人也有很多,所以在我国更应该加大面部识别确认身份信息的技术,以便将此技术融入人们的日常生活。
当一些不法分子利用传统的身份鉴别手段极有可能蒙混过关,所以在我国面部识别技术除了在公安、刑事方面之外,更多的应用于人们的生活当中,方便人们的生活,改变人们的生活方式。
比如火车站的安检,最近几个月支付宝推出的面部识别支付,将会极大的改变了人们的生活方式。
所以在我国,面部识别技术具有很大的发展。
相对于国外来说,我国在面部识别领域应用的更加广泛,在国家和技术的大力支持下,让面部识别技术逐渐的融入到人们的日常生活之中,并不单单应用于公安、刑事等系统,更多的还是应用于让人们的生活更加便捷的方面。
现在在大的形势下,不管是国家高校、科研机构,还是先进的科技公司都在大力研究开发面部识别的相关工作,所以面部识别在我国的发展现状和前景都是非常好的。
第2章面部识别电子考勤机的总体方案设计
本设计主要完成的任务是将以单片机为核心,其他硬件模块辅助采集面部图像,并通过算法程序进行识别对比以完成面部识别的主体功能。
硬件模块包括主体芯片、图像采集模块、显示模块、按键模块、存储模块和电源模块等。
2.1面部识别考勤机的整体设计思路
在设计中,最先做的就是应该先提出一个整体的方案。
在开始的方案想要使用AT89C51单片机作为主体芯片,但是要使用单片机完成面部识别功能,工作量比较大,所以应选用较高性能单片机为核心芯片。
起初我想使用AT89C51单片机作为主体芯片来进行此课题的设计,外围电路包括复位电路,晶振电路,存储器扩展,电源电路和显示模块。
但是在查找相关资料的时候发现51单片机因为内存太小,处理性能较弱,所以在处理面部识别需要上位机下位机配合工作才能完成面部识别的功能,而识别的主体工作是在上位机上,这和本课题的设计目的不相符合,在与指导老师沟通后,重新确立设计方案。
在查阅大量资料后来确定面部识别电子考勤机的整体方案。
起初的方案是我自己的整体方向错误,所以需要及时重新制定方案,尽快确定整体的方案。
在这里我又去查了关于单片机和面部识别的资料,并且和不同的同学进行了很多的沟通,听取大家的想法。
不停的调整方向,最终确定了硬件的使用和想法方案的整体架构。
在针对不同的硬件使用方面,代表着不同的应用模块。
主控模块是经单片机处理图像信息,进行算法程序的运行。
要想进行面部识别,必须要有传感器进行图像采集,来进行对样本图像信息和将要进行对比识别的图像信息就行采集工作。
因为设计实物为考勤机,考勤机的意义就是准确、方便、快捷,所以应尽量提高面部识别的速度,能尽快识别出结果,才能符合考勤机的工作本质。
所以在此是需要将样本图像信息存储到存储模块,这样能更少的占用单片机自身内存,提高主控模块运行程序给出各个模块响应指令的实际速度。
对于显示模块,显示屏只是将主控模块发出的指令做出相应的响应,即编写好的个人信息部分。
还需设置按键模块,为了对主控模块下达操作指令,主控模块即可做出相应的指令,方便操作使用。
2.2面部识别考勤机的整体架构
图2.1硬件总体结构框图
如图2.1,此设计以单片机为处理核心,通过摄像头传感器进行采集面部图像并可以保存在存储模块中作为样本信息,并通过学习面部识别的算法来进行编程下载到单片机后,可以对采集到的面部图像进行特征提取转换为数字信息。
当摄像头传感器采集到除了样本信息之外的新的一帧图像信息,经过快速的图像算法处理转换为其他可对比信息,再与样本信息进行对比,可完成对比识别,并将图像传感器实时捕捉到的画面和采集对比的图像显示在显示模块上。
还想要在识别成功时显示内容还包括文字信息(班级学号等),在为了方便判断是否识别成功,在显示模块还会显示采集到的图像。
在进行下一步识别时,需要做到使用按键复位来重置MCU和显示屏的显示内容;识别失败时,显示要识别目标未在样本库,识别失败。
在识别完成后按任意键进行下一步的识别工作或待机。
第3章硬件系统设计
3.1STM32f407单片机简介
首先应该先进行的就是单片机的选型,在之前选择的51单片机并不能很好的完成本次设计,应使用更高性能的单片机进行本次设计。
最终确定单片机型号为STM32f407单片机。
使用STM32f407开发板能更为便捷的完成此设计。
STM32f407开发板搭载的是基于高性能的ARM®CORTEXtm-M432位RISC内核作为核心处理芯片,它的工作频率可以达到168MHz。
浮点单元(FPU)单精度是Cortex-M4的核心功能,支持所有ARM单一精确的数据处理指令和数据类型。
在用来提高应用程序的安全性的方面,它还实现了一套完整的DSP指令和一个内存保护单元(MPU)。
STM32F4开发板的主体芯片选择使用的是STM32F407ZGT6,它拥有以下的强大资源:
将FPU浮点运算的处理器和通过数字信号来处理一些大量的信息的微处理器集成指令于一体,并且具有192KB的静态随机存取存储器SRAM,用来储存数据;1024KBFLASH,闪存内存器件,用来长久的保存数据;16位定时器有12个,32位定时器有两个,用来实现定时、定时中断和统计一些脉冲信号的功能;2个DMA控制器可以完成自身从传输源读出有效的数据,总共有16个通道;3个SPI同步串行的接口,可以完成单片机和外围电路芯片之间的通信;2个全双工的I2S总线完成单片机和音频设备间的数据传输;3个将单片机和外部设备进行通信的IIC;6个串口;2个USB(支持HOST/SLAVE);2个CAN来提供并行总线;3个12位的ADC可以将连续变化的模拟信号转换成离散的数字信号;2个12位数模转换器(DAC),它是单片机中数模转换的模块;1个RTC时钟芯片来提供了精确的实时时间,并且还带有日历功能;1个SDIO接口,用来外接SD卡,扩大存储;1个灵活的存储器控制器(FSMC)接口;1个10/100M以太网MAC控制器可以将单片机的硬件部分接入以太网;1个摄像头接口可以快速便捷的接入摄像头传感器;1个硬件随机数生成器;还有通用的IO口高达112个。
所以这个芯片在STM32f407里面功能的配置可以说是非常的强大了。
STM32F407单片机的工作温度在零下40摄氏度至零上105摄氏度的温度范围内。
它的工作电压范围为1.8-3.6V电源。
当电源电压降至1.7V时,设备在零摄氏度到零上70摄氏度的温度范围内工作,这时候PDR失效,一套全面的节能模式允许设计低功耗的应用程序。
STM32F407单片机提供四种封装的器件:
64引脚至176引脚。
它包含的外围设备集随着所选设备而变化。
STM32f407所具有的强大的功能特性让它在一些领域上起到了不可替代的作用。
比如:
用在了一些电子医疗器械上,可以用来缩小医疗器械的体积,让医疗器械更加的智能化;生活当中常用的打印机、复印机等需要用单片机来控制供电,带动滑槽轮的转动,具有让打印机、复印机工作的更加精准;对于那些需要依靠电机来工作的机器中STM32f407就是更加必不可少的部分。
在工业上,PLC是建立在单片机上的产品,在现在汽车上的空调逆变器应用的也很多,还可以用在一些简易的报警系统。
所以,STM32f407的特性让它的应用范围很广泛。
图3.1STM32f407芯片引脚图
如图3.1为STM32f407的引脚图,STM3f407有着强大的功能来完成此设计。
下面我将分模块来说明各模块电路设计(使用引脚说明见附录)。
3.2图像采集传感器模块设计和相关接口协议
3.2.1图像传感器的介绍
要做到面部识别功能,首先应先解决图像采集的问题。
我最终确定使用OV2640图像传感器。
OV2640是OV(OmniVision)公司生产的CMOSUXGA(1632*1232)图像传感器。
该传感器体积小,只有四分之一英寸的大小,方便携带与使用,而且工作电压低,符合单片机的工作电压范围。
单片UXGA摄像头和图像处理器的所有功能都集中在这一小小的图像传感器上。
并且通过SCCB总线控制,可以通过全帧、子采样、缩放和窗口抓取等方式输出整帧、子采样、缩放和取窗口等方式来输出各种分辨率是8/10位的图像数据。
摄像头传感器UXGA图像最高可以达到每秒15帧(SVGA可以达到30帧,CIF最高可以达到60帧)。
图像的质量、数据的格式和传输的方式都可以用户自行控制。
所有的图像处理功能过程都可以通过SCCB接口编程来进行操作配置,包括伽玛曲线、白平衡、对比度、色度等等。
OmniVision图像传感器采用了独特的传感器技术,如果想要提高图像的质量得到一些清晰稳定的彩色图像,可以从减少或消除光学或电子缺陷上入手解决,比如消除固定模式噪声、拖尾、浮散等
该传感器的特点还包括:
满足嵌入式应用的高灵敏度和低电压的要求;标准的SCCB接口,兼容IIC接口;支持RawRGB、RGB(RGB565/RGB555)、GRB422、YUV(422/420)和YCbCr(422);输出格式支持UXGA、SXGA、SVGA和缩放到任何大小的从SXGA到40*30;支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹、自动黑电平校准等自动控制功能。
同时支持色饱和度、色相、伽马、锐度等设置;支持flash、支持图像缩放、平移和窗口设置;支持图像压缩,就可以输出JPEG图像数据;内置嵌入式微处理器。
OV2640摄像头传感器有出色的性能,可以完成本次设计的图像采集任务。
3.2.2图像传感器模块电路设计和功能
图3.2图像传感器电原理图
如图3.3,是图像传感器的电原理图,下面对OV2640各个引脚的功能说明:
表3.1OV2640摄像头模块引脚说明
名称
作用描述
GND
模块地线
VCC3.3
模块供电脚,接3.3V电源
OV-SCL
SCCB通信时钟信号
OV-VSYNC
帧同步信号输出
OV-SDA
SCCB通信数据信号
OV-HREF
行同步信号输出
OV-D0-D7
8位数据输出
OV-RESET
复位信号(低电平有效)
OV-PCLK
像素时钟输出
OV-PWDN
掉电模式使能(高电平有效)
以上说明OV2640图像传感器的性能参数、各引脚的功能和SCCB协议。
下面进行的就是图像传感器如何应用在STM32f407开发板上,在开发板上有专用的DCMI接口,可将摄像头直接接在DCMI接口上,内部传感器接口模块已经和单片机引脚相连其中除了电源引脚和地线,其他引脚的内部接法为DCMI_VSYNC接单片机的PB7,接在传感器的VSYNC信号,也就是垂直同步输入,用来确定摄像头传感器接收一帧数据的情况;DCMI_HREF接单片机的PA4,是水平同步输入或叫做行同步,是用来确定摄像头传感器接收一行数据的情况;DCMI_PCLK接单片机的PA6,这是用来接收传感器的PCLK信号的,同步时钟,使数据同步接收信号;DCMI_SCL接单片机的PD6,是SCCB总线的时钟线;DCMI_SDA接单片机的PD7,是SCCB的数据线;DCMI_RESET接单片机的PG1,是复位信号接口;DCMI_PWDN接单片机的PG9,用来完成掉电模式的使能,满足在要求最低功耗情况下的使用;DCMI-XCLK接PA8(未用到);DCMI-D[0-7]接单片机的PC6/PC7/PC8/PC9/PC11/PB6/PE5/PE6,是数据线,能输入或者输出数字信号的通用IO口。
3.2.3SCCB总线协议
SCCB就是串行摄像机控制总线。
OV公司定义并采纳的SCCB总线是三线结构的串行总线,它可以用来对绝大多数的OV系列图像传输到芯片功能进行控制。
SCCB-E信号,处于低电平的状态有效,是表示一个高到低的转换传输的开始;一个低到高的转换传输的结束;数据传输的过程保持为低电平的状态。
在高电平的状态则表示总线处在空闲的状态,在SCCB-E表示数据在传输开始之前,主机必须要将数据线SIO-D设置为1,这样才可以避免出现总线数据在传输开始之前的总线状态不确定的情况的出现。
SIO-C信号,处于高电平的状态有效,在处于空闲的状态的时候必须被拉高;在启动传输的时候,SIO-C被拉低表示数据传输的开始状态,在传输的过程中,高电平状态表示一位数据正在进行传输,所以SIO-D的数据只能在SIO-C为低的情况发生。
SIO-D信号,当总线处在空闲时并保持着悬浮的状态或三态的,它可以被主机和从机来进行驱动。
在SIO-C的一个高电平状态表明一位数据的传输,SIO-D只能在SIO-C的低电平状态器件发生变化,但是在传输的开始和结束的时候也有例外情况,在SCCB-E断言并且SIO-C拉低之前,或者在SIO-D可以被拉低,SIO-C拉高之前和去断言之前,SIO-D也是可以被拉低的。
SCCB对于主控器件管脚的描述:
信号名SCCB-E,它的信号类型为输出,当串行片选输出的时候,总线处在空闲时的状态,主机就把SCCB-E拉高为1,当启动传输的时候或者处在悬浮状态的时候主机就把SCCB-E拉低。
SIO-C它的信号类型也为输出,即串行I/O信号1位输出,空闲时候的状态主机就把SIO-C拉高,当SCCB-E被拉低的时候,处在高地电平之间变化,但是当系统处在悬浮的状态,就会别拉低。
SID-D的信号类型为I/O,当总线处在空闲的时候还保持在悬浮的状态,串行信号0输入和输出,当系统处在悬浮的状态就被拉低。
PWDN为掉电输出。
对于从控器件管脚的描述:
SCCB-E,信号类型为输入,作为串行片选输入,当系统处在挂起模式的状态时,输入垫可以被关闭。
SIO-C为输出,串行I/O信号1作为输入,当系统处在挂起模式时,输入垫可以被关闭。
SIO-D信号类型为I/O,串行I/O信号0输入和输出,当系统处于挂起模式,输入垫可以被关闭。
PWDN为掉电输入。
3.2.4DCMI接口的使用
DCMI接口就是数字摄像头接口(Digitalcamerainterface),它支持了两种采集数据的模式,第一种是快照模式,第二种是连续采集的模式。
在快照模式的情况下,也就是相当于日常使用的相机,只采集一帧的图像数据,采集瞬时图像的功能模式;在连续采集的模式下可以处于一直采集多帧图像数据的状态。
在此情况下,捕获速率它可以配置为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 面部 识别 电子 考勤 设计 毕业论文
