本站小编为你精心准备了人脸识别门锁控制系统设计研究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
【关键词】卷积;卷积神经网络;TensorflowPython;树莓派
1引言
随着大数据、深度学习、云计算、5G等技术的不断完善,人脸识别精度越来越高,识别速度越来越快,从“刷脸进站”、“刷脸签到”到“刷脸付款”,生活中的方方面面都可以看到人脸识别技术的应用。本设计创新地将人脸设别技术应用到门锁上,设计了智能人脸识别门锁控制系统。
2智能人脸识别门锁控制系统总体设计
智能人脸识别门锁控制系统总体设计结构如图1所示。本设计分为两部分,首先在PC机上训练人脸识别模型,之后将训练好的模型导入到树莓派中。采集模块采集人脸照片后,树莓派调用训练好的模型进行判断,树莓派识别成功之后向继电器模块发出命令,树莓派通过控制继电器的吸合来控制电磁锁的开关,同时指示模块提醒门锁开否。
3人脸识别模型的设计
3.1卷积神经网络设计方案本
设计采用的人脸识别模型是通过Tensorflow搭建的卷积神经网络模型来实现的,所使用的卷积神经网络结构主要包括:输入层、卷积层、池化层、全连接层和输出层,具体结构图如图2所示。
3.2各层设计
(1)输入层为训练或者判断输入的人脸图像,经过采集模块的照片被裁剪为64×64之后输入到输入层中,该层的输出为64×64大小的二维张量。(2)卷积层就是输入数据和卷积核进行内积运算操作的层。在该层中,输入的张量与卷积核进行卷积运算,卷积核提取张量的特征。(3)池化层又称为下采样,就是为了减少卷积层产生的特征图的尺寸而存在的,进而降低网络训练参数、提高运算速度和防止过拟合。(4)全连接层放在卷积层的末端,对神经网络前端提取的特征通过权值矩阵重新拼接成一个新的向量,在整个卷积神经网络中,全连接层起到分类器的作用。(5)输出层输出为两单元,使用似然函数计算每个单元的似然概率,输出最大的概率作为判断结果。
4系统各单元软件设计
4.1主程序设计
系统上电之后,检测摄像头、触摸开关、继电器、记录模块是否正常,若所有模块均正常则让指示灯闪烁两次后关闭。若所有模块均正常,则当按下触摸开关时,树莓派发出命令,控制指示灯闪烁三次,提示正在采集人脸照片;当采集照片之后,调用识别模型判断是否为特定人,若识别为特定人,则树莓派向继电器发送指令打开电磁锁,同时蓝色LED开始闪烁,提示电磁锁已打开,延迟30秒后关闭电磁锁并停止闪烁指示灯,之后把识别成功的人脸照片通过记录模块上传到云服务器,等待下一次判断。若识别为非特定人则继电器不动作,并将采集到的人脸照片上传到服务器,指示灯闪烁两次,等待下一次判断。主程序流程图如图3所示。
4.2各子程序设计
4.2.1指示灯程序设计指示灯有五种工作状态,分别是闪烁两次、闪烁三次、一直闪烁、常亮和常灭。为了简化程序,将点亮指示灯的操作编写为闪烁函数,通过向函数中传入不同的数值来表示指示灯不同的工作状态。
4.2.2采集照片程序设计采集照片的程序比较简单,只需不断的扫描触摸开关是否被按下,若触摸开关按下,则树莓派向摄像头发送指令,采集照片保存到本地即可。
4.2.3继电器(电磁锁)程序设计电磁锁需要12V的电源,因此通过继电器来控制。控制继电器的程序比较简单,只需对继电器的输入端赋初值高电平即可,当需要打开电磁锁的时候就将继电器的输入端赋低电平,当需要关闭电磁锁的时候将继电器的输入端赋高电平。
4.2.4记录模块设定云服务器的密钥,人脸识别器识别成功之后,树莓派发出命令,调用上传传片函数向云服务器上传识别成功的照片,保存名称格式为“success20190520131401.jpg”;当识别失败时,保存名称格式为“fail2019052031402.jpg”。
5系统调试
功能测试时,树莓派上电之后,指示灯闪烁两次后关闭,表明系统各个模块正常。按下触摸开关后,指示灯闪烁三次开始采集照片,采集照片之后等待树莓派调用模型进行判断,系统能正常识别特定人并且开锁,实现了智能人脸识别门锁控制系统的设计,系统整体图如图4所示。但目前本设计受到树莓派运算速度的影响人脸识别速度较慢,在未来的设计中可尝试使用运算速度更快的控制器来解决识别速度慢的问题。
参考文献
[1]黄文坚,唐源.Tensorflow[M].北京:电子工业出版社,2017.
[2]高扬,卫峥.白话深度学习与Tensorflow[M].北京:机械工业出版社,2017:104.
[3]吴茂贵,王冬,李涛,等.Python深度学习基于Tensorflow[M].北京:机械工业出版社,2018:144-160.
作者:郭向星 田斐 单位:南阳理工学院电子与电气工程学院