基于人脸识别技术的电源开关控制系统

2019-09-11 02:25帆,
传感器与微系统 2019年9期
关键词:电源开关IC卡接收端

杨 帆, 徐 军

(哈尔滨理工大学 自动化学院,黑龙江 哈尔滨 150080)

0 引 言

电源开关装置无论是在生活还是工作中都比较常见,为了方便控制,人们通常会在不同工位上安放独立的插排供自己用电器使用,但由于人为因素可能会在离开后忘记关闭电源开关[1]。据相关统计,一部台式计算机在关机状态下1 h耗电量约为0.005 kW/h。除此之外,安全问题更加重要,由于设备电线老化,在无人看守时,很容易造成火灾。同时,在有电的状态下,一些不法分子也可以通过U盘等设备跳过开机密码,进去系统进行一些科研资源、数据报表的窃取。

目前,对于电源开关控制的系统主要是以集成电路(integrated circuit,IC)卡作为开关的“钥匙”。通过不同IC卡与读卡器之间的通信,配合信号发射器,控制对应工位的电源开关。但通过系统实际中的应用情况,通过IC卡进行电源控制是不方便、不安全的。随着手机行业的迅猛发展,人们上下班或上课很少随身携带IC卡,取而代之的是用手机NFC等功能进行签到。除此之外,人们也可以使用其他人的IC卡进行电源控制,大大降低了安全性。

本次设计通过提取人脸特征信号进行电源的控制,不但增加了系统安全性,同时方便用户进行电源的控制,相比IC卡方式有了不同程度的提升。

1 系统总体结构设计

整体系统主要包括4个部分,分别是基于OpenCV的人脸识别系统、基于Visual Basic的上位机客户端、射频信号发送端以及电源开关控制端。通过人脸识别系统对于人员进行信息的录入与识别,通过串口将识别的结果传输到上位机,经过上位机数据库匹配后经过串口将身份认证(ID)信息由发送端发送到相应的电源开关端,整体结构如图1所示。

2 系统硬件设计

系统硬件主要分为射频信号发送端和电源开关控制端。发送端和开关控制端采用相同的微控制器与射频模块。其中,发送端主要包括串口通信电路、掉电自保护电路,开关控制端主要包括设备编号拨码电路,继电器电路等。信号发送端和电源控制端实物电路板如图2所示。

图1 整体系统结构示意

图2 信号发送端与接收端控制板

2.1 微控制器最小系统设计

在设计中选用的是Atmel公司生产基于AVR内核的Atmega328p-au微处理器,集成了2 048 bit的RAM,32 KB的Flash,同时支持1 024 bit的E2PROM,一个串行接口,2个SPI通信接口和一个I2C接口,可以同时满足系统对于电源开关的各项功能控制[2]。微处理器最小系统原理图如图3所示。

图3 微处理器最小系统原理

2.2 无线射频模块

考虑到需要射频系统控制的距离范围、从机数量和功耗要求,在设计中选用的是NRF24L01无线射频模块。NRF24L01内置硬件链路层协议,与微控制器之间采用SPI通信方式,可在系统中长期稳定工作。同时由于模块正常状态下的工作电压是1.9~3.6 V,所以在硬件系统中加入了降压环节,选用AMS1117-3.3作为降压芯片,将系统输入的5 V电压降至3.3 V供模块正常工作。

2.3 掉电自保护电路设计

在射频信号发送端,考虑到可能由于通信或者USB电源接触不稳定等情况而造成电源开关端失控,所以在本次设计中加入了掉电自保护的功能,当检测到USB接口或者通信接口的电压低于外接锂电池电压时,便通过小型继电器自动切换供电电源,同时微处理器检测到锂电池端的IO口电平发生变化后,便通过射频网络向所有电源开关端发送关闭指令,实现了硬件自保护。掉电自保护原理图如图4所示。

图4 掉电自保护电路原理

2.4 设备编码电路设计

在电源开关接收端,为了方便人们可以对设备进行编号接收发送的指令,在接收端使用了6位的拨码开关,实现1台发送装置同时控制64台接收装置。当接收端通电之后,首先会检测A0~A5引脚的电平状态,通过二进制运算计算出本台机器的编号。在编码中,“1”代表高电平,“0”代表低电平。例如将拨码开关拨至“010100”,则通过二进制计算

ID=20×0+21×1+22×0+23×1+24×0+25×0

(1)

得出此台机器编号ID为“10”。

3 系统软件设计

系统软件设计主要分为硬件端程序设计、人脸识别单元设计以及Visual Basic上位机端设计。

3.1 硬件端程序设计

对于发送端程序设计,主要是将Visual Basic上位机后台接收的结果通过串口传输至发送端,发送端微处理器接收到开或关的信号,并通过SPI通信接口发送给NRF24L01模块,进而通过射频网络发送到指定编号的电源开关接收端。而对于接收端程序设计,则是先通过拨码开关获取当前设备编号后,等待接收对应的射频开关指令,当射频模块接收到指令信号后,微处理器会将判断的结果通过IO引脚进行高低电平的控制,进而通过继电器控制整体电源的开关通断。发送端、接收端主程序流程如图5所示。

图5 发送端(左)接收端(右)程序流程

3.2 人脸识别系统设计

人脸识别系统设计流程主要包括人脸信息的训练与识别,整体系统均在Python环境下搭建,整体流程图如图6所示。

图6 人脸识别系统流程

在进行训练的过程中,利用了Haar-Like人脸检测算法获取当前图像的特征值,之后再经过直方图均衡处理。对于Haar-Like特征值的计算,是由空白矩形区域的权值乘以空白矩形区域像素和加上黑色矩形区域的权值乘以黑色矩形区域的像素和[3]

(2)

式中n为feature的矩形个数,rectSum(ri)为矩形所围图像灰度的积分,wi为矩形的权值。

采用Haar-Like进行特征值提取后,获得了大量的数据,为了防止原始图特征值数据冗余,在设计中利用PCA算法对于图像主要特征进行降维处理,方便后续识别部分在低维中进行计算。

最后在识别的过程中,将处理后的图像向PCA特征子空间进行投影,利用得到的坐标值与PCA子空间图像系数进行对比,利用欧氏距离计算出最后识别的可信度

(3)

式中C为可信度,D为欧氏距离,S为参与训练的人脸数目,eigenVecN为人脸特征向量数[4~6]。

在人脸识别系统中,整体UI使用Pyqt技术进行进行设计,主界面总体布局为当前时间、人脸录入和人脸识别区域;人脸录入子界面包括图像采集步骤、图像筛选步骤以及录入步骤,而在人脸识别子界面主要包括图像检测匹配步骤。用户界面(user interface,UI)如图7所示。

图7 UI界面

3.3 Visual Basic上位机系统设计

对于Visual Basic上位机来说,主要是进行数据库信息比对、UI设计交互和串口信息传输。通过人脸识别系统识别的结果与数据库比对后,在Visual Basic客户端上显示不同工位开关方块的颜色变化。并将比对的结果信息并打印信息到显示界面到窗口栏,显示开关电源用户的信息,如姓名、工号、部门以及开关机时间等,最后通过串口输出数据至微处理器端。

4 系统测试

系统测试主要是对于上位机的状态显示以及电源开关的控制。人脸识别系统将识别后的结果通过串口传送给Visual Basic客户端后,在界面显示出用户的信息与开关机时间,并将开关机指令通过串口经发送端传送给对应电源开关接收端,系统测试场景如图8所示。

图8 系统测试场景

上位机界面如图8计算机中所示。左侧部分为对应工位开关状态,红色为关闭,绿色为开启;右侧部分为信息显示界面,可以显示人员姓名、部门、签到时间、离开时间等。实现第一次识别开启电源,再次识别关闭电源。

5 结束语

针对IC卡控制电源开关技术的不足,本文设计了一种通过人脸识别技术控制电源开关的系统,并在实际实验中进行了测试,测试结果表明:整体系统可以实现通过人脸识别信号进行独立电源的开关机控制,可以更高效的节约电能,提升整体安全性,在人脸识别应用场景中有着广泛的应用前景。

猜你喜欢
电源开关IC卡接收端
基于扰动观察法的光通信接收端优化策略
工商业IC卡控制器改造为物联网控制器实践
顶管接收端脱壳及混凝土浇筑关键技术
基于多接收线圈的无线电能传输系统优化研究
敷设某种吸声材料的声诱饵简化模型隔离度仿真计算
浅谈水利水电工程电气节能设计
在用电梯加装外接式IC卡运行控制系统设计改进
关于双电源自动切换装置在水电站应用的探讨
长春开通公交IC卡充值平
关于继电保护开关电源的电容器使用寿命探讨