APP下载

基于物联网的人脸识别系统设计

2023-08-23田祎然刘元甲田园明刘子瑞孙强

电子制作 2023年14期
关键词:开发板直方图人脸识别

田祎然,刘元甲,田园明,刘子瑞,孙强

(牡丹江师范学院,黑龙江牡丹江,157000)

0 引言

本系统中无线网络技术选用传输距离更远的ZigBee技术,以适应复杂、WiFi信号不稳定和低功耗需求的环境。核心处理器通过ZigBee组网和终端通信,可同时部署多个节点,每个节点可拓展不同的传感器,并根据需要使用不同的网络架构以适应不同的应用场景。本文的传感器组由人脸识别部分的人体红外传感器和ZigBee环境信息收集感器组成。人脸识别模块工作时一旦有人被检测到,它将使相机频闪捕捉人脸进行识别。当能够识别出一个人时,系统会显示正常,当识别出陌生人时,系统则会发出警报。该系统具有功耗低、易于开发和扩展的优点。本系统可用于工厂、单位或私人住宅的门禁等复杂环境下的监控。

1 系统设计

■1.1 人脸识别系统硬件设计

本控制系统的主要组成部分有:ZigBee核心开发套件、温湿度传感器、MQ-2烟雾传感器、Linux人脸识别开发板等诸多模组。系统的总体结构如图1所示。系统中使用了人脸检测、人脸训练和人脸识别三个过程来进行获取和对比[3]。人脸检测主要调用OpenCV算法中已训练好的Haar级联分类器,区分出包含人脸和不含人脸的图像。LBPH(局部二进制模式直方图)算法处理人脸图像,对待测图像进行判断,然后匹配结果进行传输。ZigBee开发板上的终端设备同时使用温度、湿度和气体传感器收集空间的环境信息,将环境信息传送到云服务器,实现对环境情况的实时检测;该系统的研究是基于ZigBee自组建网络的条件下,拟采取两套开发板实现功能互联,最终建立起一套基于ZigBee技术下组网的人脸识别系统,ZigBee网络也经常被用于工业现场自动化控制和安全应用[4]。

图1 系统结构框图与硬件设计示意图

图2 Linux硬件设计原型

(1)对于linux人脸识别模块,功能设计主要有人脸识别算法模块,数据返回模块和识别信息显示模块。人脸录入采用的是拥有30万像素,120度广角大镜头的GC0308微型摄像头,通过SCCB接口与开发板连接,承载图像录入功能。交互界面显示采用的是TFT液晶显示屏,通过SPI接口与开发板连接,承载显示功能。人脸识别功能使用Ubuntu Linux开发环境和Python程序语言对开发板进行开发。功能主要实现则是利用OpenCV人脸识别库。使用QT编译底层硬件与控制按键的交互来控制人机交互界面显示。交互UI界面使用 QU GUI图形库开发。整个Linux模块工作流为,摄像头录入人脸图像信息,Linux系统中的LBPH算法进行人脸识别,最后在人脸识别软件上显示实时识别结果。将识别正确与否的信号通过ZigBee组网发送到ZigBee终端,最后由蜂鸣传感器接收。

(2)对于ZigBee传感器组网模块,使用CC2530这一款用于ZigBee技术的经济型主控芯片。该芯片特别适合有超低功率要求的系统,保证低功率使用的一个方法就是在操作模式之间快速切换。由于这一优势,ZigBee现在具有强大的联网能力。在我们的系统中,ZigBee模块用来建立无线网络。传感器通过串口或 IO 接口连接终端设备(ZigBee),协调器(ZigBee)通过串口连接 PC机。终端设备采集传感器数据,并通过无线网络将数据打包到协调器,然后通过串口将数据传输到PC或服务器上的监控软件。

■1.2 人脸识别系统软件设计

人脸识别即是利用程序对采集的图像进行判定,判断一下所输入的图片是否为人脸,检测到是人脸再进行匹配,找到相应的人物,所以我们常说的人脸识别包含人脸检测和人脸识别两大部分[5]。本研究所提出的人脸识别系统的录入和识别流程图如图3所示。

图3 人脸识别系统的流程图

图4 LBP原理图

(1)人脸检测

人脸检测是基于Haar级联分类器的思想,是基于Haar-like特征,类Haar特征的值被计算出来,以反映区域的灰度变化,在被Adabost迭代算法训练之前,计算被一个积分图加速。把输入图像的每个区域也做类似的运算后与训练集中图像的特征值进行对比,据此可以判断出输入的图像是否具有人脸特征,整体完成的是搜寻过程。系统通过程序进行文件读取,对文件中图片灰度化处理;文件中包含着已经存储对应的人名和标签,调用摄像头并从摄像头读取照片,加载OpenCV的Haar人脸检测分类器,创建文件夹用于存储摄像头本次采集到的照片,循环采集的样本数,其次调用函数cv2.cvtColor对采集的照片进行灰度化处理,转换公式如下[6]:

(2)改进OpenCV-LBPH人脸识别算法

LBPH(局部二进制模式直方图),英文全名Local Binary Patterns Histograms;LBP特征的统计直方图被用于人脸识别;该算法通过对人脸面部表情、五官状态等特征进行提取,再用公式计算出各部分像素点的LBP特征值[7]。比对样本库中某个人和待测人脸的差异度,两者之间的特征直方图差距越小,则证明人脸相似度越高,最终实现人脸识别的功能。

作为天王表品牌挚友,赖艺现场收获了一份特别惊喜,天王表也为他准备了一份特别的礼物:征服者系列腕表。赖艺也现场佩戴并全情展示了这款征服者系列腕表,阳光帅气的赖艺即刻散发型男气质,独属于征服者的魅力在腕间流动,绅士魅力油然而生。从时尚穿搭到从容绅士文化解读,从演艺之旅到热衷公益,他侃侃而谈,让大家对赖艺有了更全面的认识,也让大家看到了一位征服者绅士的独特风采。

LBPH算法的核心是LBP,LBP是一个用来描述图像局部纹理的运算符,表示每个像素与它周围的像素之间的互动。原始的LBP运算符使用窗口的中心像素作为阈值来比较3x3窗口中八个相邻像素的灰度值。如果周围的像素值大于或等于窗口的中心像素,该点的像素值位置被标记为1,否则被标记为0。比较结果顺时针生成8位二进制编码,然后转化为十进制,根据公式(3)得到LBP特征值,LBP原理图如图2所示。

(2)式中:((xc,yc))是矩阵中心特征值;ic代表灰度图像的中心值;ip代表的是灰度图像的邻域值,s为符号函数。

原始的矩阵采集点区域局限性大,针对不同人脸的表情态度变化,不能准确地覆盖,故而将矩形区域优化成半径为R的圆形区域内,有任意多的邻域点;采用双线性差值法进行优化计算来获得采样点的像素值。计算如公式(3)所示[8]。LBP的特征值求取完毕,可以为待测图像生成直方图;整个图像被分离成许多统计直方图,并确定每对相邻直方图之间的距离,以识别输入的人脸。接下来,创建每个部分的LBP特征统计直方图。系统调用摄像头进行人员的身份信息加载,与已建立的数据库进行匹配,识别成功输出高电平;识别失败则输出低电平。返回电平高低的信号将决定蜂鸣器报警与否。

(3)人脸识别软件设计

人脸识别软件使用开源的Opencv人脸识别软件,使用Pycharm和Python语言开发,LBPH人脸识别改进的算法部分由软件后台调用。图形化界面使用QT应用程序,需要在编译器内运行,故放置于PC端由管理人员控制。该软件拥有三个部分:(1)人脸采集部分;(2)人脸识别;(3)人脸数据库管理。图5是人脸数据库管理软件部分展示图。

图5 人脸数据库应用程序界面

人脸拍照录入后进入该人脸数据库,在系统工作时便会调用该数据库内数据,与实时检测的人脸进行匹配,若成功识别为数据库内已录入的人员,则安全放行;如果人员与数据库内任何一张人脸数据不匹配,则会输出电平信号,蜂鸣器接收信号发出警报。管理人员或用户听到警报便可及时作出反应,从而达到实时监测报警系统,由此来避免出现更大的损失。

2 实验及结果

本文针对物联网人脸识别系统,设计并实现了无线硬件平台和识别软件。对于系统的组网测试,采用的是ZigBee核心开发板套件。实验模拟中一个开发板为协调器,另外的一个开发板做终端;通过USB串口接入笔记本电脑,但是不足以支持协调器的供电,还采取了外接电源进行供电,协调器上的复位按钮按下后灯光常亮,终端上的D1灯闪烁,证明ZigBee网络组建成功,其余设备可以通过组建的网络IP接入ZigBee网络;两块开发板之间通过天线建立联系。图6是采用传感器组和 ZigBee模块的系统平台。

图6 ZigBee自组网

人脸录入界面设计如图7所示;未开启摄像头时中心的方框内出现红字提示摄像头未开启字样,打开摄像头的按钮在界面的左上角,打开摄像头开启人脸录入;摄像头开启之后右侧的人脸检测按钮会变成可编辑状态,打开该按钮开始检测人脸;系统捕获的帧数下方的数字方框能够进行计数。右侧第一栏空白输入人员的编号,第二栏空白处输入编号等信息,进行数据库的初始化。增加用户或编辑用户按钮可以对人员的数据信息进行编辑修改。

图8 人脸识别示意图

系统使用Python运行环境对人脸进行录入与识别,主要实现ZigBee自组建网络下的人脸识别技术,实验选用200个样本进行测试,50个为一组;实验结果见表1所示。

表1 人脸识别结果

根据表1的数据可知,摄像头开启后成功进行了人脸进行检测、训练最终实现识别。检测到人脸时会出红色的矩形框圈出所检测到的人脸信息(如图7所示),页面显示正在人脸追踪;在进行数据库对比之前,训练识别器会读取文件夹中的照片,得到两个数组,传给recog.rain用于训练,将训练的结果保存在文件夹中,最后对文件夹访问,匹配到数据库中对应的身份信息。表中也可以看出LBPH特征算法的检测率比较高,耗时相对比较短,达到了对系统的优化。

3 总结

本文中我们利用Linux系统提出了一种基于人脸识别的嵌入式智能系统。为了辅助系统更好地工作,选择了组网能力强大的ZigBee无线通信网络;实验结果表明,该系统能够有效地实现ZigBee网络下的人脸识别功能。此外,该系统具有易于开发和扩展的优点,满足了低功耗、低成本和小型化的实际需求,对于特定的密闭空间的温湿度以及气体等的检测也有较好的作用;在工作场所,人脸识别提供了更严格的安全性。可用于智能家居系统、楼宇安防、门禁等监控场合。

猜你喜欢

开发板直方图人脸识别
符合差分隐私的流数据统计直方图发布
人脸识别 等
揭开人脸识别的神秘面纱
用直方图控制画面影调
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
基于空间变换和直方图均衡的彩色图像增强方法
基于直方图平移和互补嵌入的可逆水印方案
基于类独立核稀疏表示的鲁棒人脸识别
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板