APP下载

面向疫情的非接触电梯操控系统设计

2022-04-27杨乐晨刘忠富贺薪诺赵智星

自动化与仪表 2022年4期
关键词:按键人脸口罩

杨乐晨,刘忠富,贺薪诺,赵智星

(大连民族大学 信息与通信工程学院,大连 116600)

随着部分地区新冠疫情的再次爆发,病毒的感染风险再一次提高,由于人们的活动空间不再只有家中,由出行所导致的感染将不断提高,而乘坐电梯时所引起感染的风险将不断扩大,因此,为了降低疫情的感染风险,同时提高人们的出行效率,电梯的非接触操控已成为一种必然的趋势。

近些年来,国内外的科研技术人员对非接触电梯操控系统进行了较多的研究。文献[1]研究了一种新型的、3D 自动视觉模型,通过捕捉按下虚拟按钮的指尖的位置,确定按键是否被按下。文献[2]研究了一种非接触式低功耗手势接近开关,用Cortex-M3内核的32 位ARM 处理器,结合APDS-9960 环境亮度光学传感器,实现了人体动态手势的准确识别。

目前,电梯非接触操控系统主要包括3 种呼梯方式:手机二维码呼梯、语音识别呼梯、人脸识别呼梯。但由于电梯内手机信号不好会导致二维码扫描出错,电梯轿厢内比较嘈杂导致语音识别率低,疫情期间人们佩戴口罩导致人脸识别率低等原因,以至于达不到预期的效果。

针对电梯内信号不好、语音识别率低、IC 卡需要接触按键而操作等问题,本文设计了一种新型的非接触电梯操控系统,系统进行高效的非接触按键识别,以及人脸采集系统,提醒人们佩戴口罩,并通过舵机实现口罩的弹出,通过非接触操作以及让人们佩戴口罩,降低了人们在乘坐电梯期间被感染的风险,对抗疫有一定的促进作用。

1 方案设计

系统以单片机STM32 为核心处理器,包括电容式非接触按键系统、语音播报电路,人脸识别系统。系统总体框图如图1所示。通过非接触按键感应电路与单片机和PLC 通信,进行电梯的上下行的操作,使用OpenMV 模块,通过和云端的Edge Impulse进行合作训练,完成数据的打标、NN 模型训练,优化,部署等操作,进行人脸识别的训练,识别后通过LD3320 芯片进行语音提醒,并控制步进电机弹出口罩。

如图1所示,系统模型设计在按键布局上与传统的布局相仿,在电梯轿厢的上方为OpenMV 摄像头,在电梯按键系统的右侧,为口罩寄存箱,当接收到单片机的工作信号后,步进电机组会完成弹出口罩的操作。同时,语音播报模块会在到达相应楼层时进行播报以及提醒乘客佩戴及拿取口罩。

图1 系统总体设计框图Fig.1 Overall system design block diagram

2 系统硬件电路设计

本系统主要由STM32F103 单片机最小系统电路、电容式非接触式按键系统、语音播报电路,PLC及控制电路构成。整个系统以STM32 单片机最小系统为微处理器,通过电容式非接触式按键系统判别按键的输入,将识别的信息传递给单片机,通过单片机控制语音播报并将信息传递给PLC 控制器,并通过OpenMV识别,控制舵机弹出口罩,完成整个运行系统。

2.1 单片机STM32F103 最小系统电路

本系统的主控芯片采用STM32F103C8T6 单片机,选用这种芯片组成单片机最小系统主要由于其构成的电路设计较为简单,并且反应速度快,程序存储量相对于51 单片机来说较大。本文中所设计的系统主要以其作为主控芯片,通过串口接收并处理数据,从而对整个系统功能进行实现。其中,该芯片的主频为72 MHz,拥有37 个独立的IO 引脚,每个引脚既可以识别3.3 V 的电压,同时容忍5 V,即满足系统对引脚的需求,又为后续的开发留出一定的空间。

2.2 电容式非接触按键系统

电容式非接触按键系统如图2所示。系统通过NE556 芯片循环检测感应电极的状态,以判断是否有物体接近,感应电极不需要附加任何元器件,芯片通过内部硬件配置和软件算法,对感应电极上是否有手靠近进行检测。该芯片使用一个感应电容,一个参考电容组成,其中,感应电容是由两块金属板电极构成的平行板检测电容,将它安装在金属导体要通过的线路的某一位置上,由它感受接近它的金属导电物体,当有金属导体靠近它时,其电容量将会增大。参考电容的结构完全与感应电容相同,但它无法感受金属导体[3]。

图2 非接触开关的简易示意图Fig.2 Simple schematic diagram of non-contact switch

本传感器的检测是将感应电容与参考电容器的电容量分别转换为频率信号,再由计数器、比较器对两电容器的电容量差值进行比较来完成的。首先由NE556 内部的2 个555 多谐振荡器将感应电容与参考电容的电容值转换成两路计数脉冲输出,然后这两路计数脉冲通过各自的计数器进行计数,由比较器比较两个计数值的大小。当工作电容器Cx中有金属物体通过时,工作电容器的电容量增大,输出到计数器1 的计数脉冲频率降低,计数器1 的计数值较计数器2 的小,使比较器输出为“1”的信号,推动相关电路动作,从而完成检测。当感应不到手指时,则NO 端接GND。当手指放到感应开关的正上方1~2.5 cm 处,感应电容发生变化,使电压增大,使继电器的开关打向另一边,使NO 端与VCC 接通,此时,NO 置高。单片机检测到高电平时,将数据存到相应的标志位。若感应不到手指,则NO 端接GND。

2.3 OpenMV 电路

OpenMV 摄像头是一款小巧、低功耗、高效率的摄像兼图像处理模块,可以通过高级程序语言Python实现处理算法。Python 的高级数据结构很容易在机器视觉算法中处理复杂的输出。但是,仍然可以完全控制OpenMV,包括IO 引脚,如图3所示。可以很容易地使用外部终端触发拍摄或者执行算法,也可以把算法的结果用来控制IO 引脚。同时,该摄像头可以通过Edge Impulse 进行训练。简单的来说,OpenMV 是一个可编程的摄像头,通过Python 语言,可以实现逻辑。而且摄像头本身内置了一些图像处理算法,很容易使用[4]。

图3 OpenMV 的电路图Fig.3 Circuit diagram of OpenMV

2.4 单片机与PLC 通信电路

由于PLC 只支持485 通信,而单片机支持TTL电平通信,因此采用MAX485 芯片来实现RS485 与TTL 之间的信号转换[5]。如图4所示,将PLC 的485接口中的1、2、5 引脚与MAX485 芯片的6、7、5 引脚相连,实现A、B、GND 与TTL 电平的转换,MAX485 3、4、5 引脚接STM32 单片机的RX,TX,GND,以达到32 单片机与PLC 的通信。

图4 PLC 通信电路Fig.4 PLC communication circuit

2.5 语音播报电路

语音播放模块选用WT588D 语音芯片。该模块内嵌DSP 高速音频处理器,处理速度非常快,同时,可通过与上位机操作软件,随意组合语音,可插入静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个地址,完成不同楼层的语音播报。本设计采用的是PWM 外加喇叭来进行播放。当播报完毕后,语音播放停止马上进入休眠模式,芯片转为完全停止状态。单片机将按键信息与内部数据信息进行匹配,找到对应的数据信息并发送给语音模块,并将按键信息转换成语音通过喇叭播放出来。语音模块原理图如图5所示,当DO 为高电平,且CS 有效时,SSOP20 芯片与25PXX 保持同步时钟,通过读取DI 引脚以及HOLD 引脚的电平信号,确定当前的播放状态。当该模块检测到单片机发送的驱动信号时,DI 置高,通过读取触发的引脚序号,确定将要被播放的语音地址,如D0 引脚为低电平时,播放第一条语音信息,以此类推。

图5 语音播报模块Fig.5 Voice broadcast module

2.6 GSM 模块

本设计采用GSM800 作为紧急通信的基础,相较于GSM900,GSM800 的稳定性更强,功耗更低,在紧急情况发生时,确保电梯内外的通信[6]。当紧急按键被按下后,首先会以短信的形式通知电梯管理人员,同时,接通控制室的电话,确保电梯内部与外部沟通。当该模块处于非工作的状态时,功耗极低,不会消耗过多的电量以及分走电压,确保其他模块的正常工作。

2.7 步进电机控制电路

采用TB6600 型步进电机驱动,该驱动采用12 V 供电,能够产生0.5~3.5 A 的电流,通过DIR 和PUL 控制电机的旋转方向以及转速,固定在按键系统的右侧,使口罩在弹出时,能被人们迅速取走。如图6所示,该种型号步进电机内含先进的ASIC IC来处理单片机的信号,解析度较高,便于口罩的弹出。为了确保口罩的顺利弹出,本系统采用双步进电机工作,采用1/600 的步进方式,以确保旋转的精度。

图6 L298N 驱动电路Fig.6 L298N drive circuit

3 系统软件设计

3.1 系统主程序设计

本文所设计的系统基于C 语言和Python 语言,使用Keil 及PyCharm 平台进行开发。整个系统的软件部分主要分为按键检测系统,人脸识别控制舵机。其中,第一部分通过C 语言实现,通过单片机对输入的信号识别,处理。后者通过OpenMV 将采集到的数据传到单片机,在单片机进行分析处理后,单片机向语音播报模块发送信号进行播报,并控制舵机完成口罩的弹出。系统主程序流程如图7所示。

图7 主程序流程Fig.7 Main program flow chart

系统上电后,单片机完成初始化操作,保证各模块处于工作状态,接着,单片机会不断检测是否有电梯按钮被触发。当单片机检测到按钮被触发后,开始判断被触发按钮的键值,并建立串口通信,将键值发送给PLC,发送完成后,单片机通知OpenMV检测乘客是否佩戴口罩,若已佩戴,单片机将回到电梯按键检测的程序中,等待下一次按键触发。若有乘客未佩戴口罩,单片机将通过PWM 产生1600个PWM 脉冲,控制电机旋转,将口罩弹送出去,同时,单片机通知语音播报模块,提醒乘客取走口罩。

3.2 OpenMV 程序设计

识别乘客是否佩戴口罩采用Edge Impulse 进行大量人脸样本信息的训练和积累,建立人脸数据库[7]。单片机通过与数据库的对比,判别乘客是否佩戴口罩,若未戴口罩,则单片机对语音播报模块发出信号,单片机进入中断,令其完成语音播报提醒,同时对步进电机发出控制信号,使其弹出口罩,待口罩被取走口,继续下一次识别。

针对传统算法对多角度人脸表情识别效果不佳、偏转角下生成的人脸正面化图像质量低等问题,提出了一种结合双通道WGAN-GP 的多角度人脸表情识别算法。传统模型仅利用侧脸特征对多角度人脸进行表情识别,特征差异小导致识别精度低,因此引入生成对抗网络先对人脸进行转正,消除姿态角的影响。为了使模型训练稳定的同时提升人脸生成质量,以WGAN-GP 作为基础网络,并将其改进为双通道结构,融合五官特征以及人脸全局特征来进行正面化生成。最后,构建轻量级网络MobileNetV3 对生成出的正面人脸表情图像进行识别,保证分类精度并且大幅减少参数运算量。基于Ladv=-Ex~Pg[D(x)],通过对抗网络转正人脸,增大特征差异,以提高建立的人脸模型的准确度。实验结果表明,本文算法在任意角度下,都能较好地复原出正面化人脸表情图像,提高了多角度人脸表情的识别率。

4 系统调试

4.1 实物调试

如图8所示,当手指在按钮的正上方2~3 cm 处时可正常触发,此时,单片机会通过串口,向PLC 发送被触发的按键值,当PLC 收到信息后,会通过LED 显示相应的楼层,表示接收成功。图中,当手指放在4 楼的按键的上方时,PLC 的第四个LED 灯会被点亮。

图8 实物调试Fig.8 Physical commissioning

4.2 人脸识别调试

系统上电后,通过改变手指和按钮的距离,检测按钮是否被触发,以及其他按钮是否被误触以及口罩能否被弹出甚至弹飞。通过OpenMV 进行人脸采集训练,对多个人的面部进行多方位的采集,以及戴口罩时样例。以此提高识别是否佩戴口罩的容错率。人脸识别测试图如图9所示。

图9 人脸识别测试图片Fig.9 Face recognition test picture

无论是按键的准确率,口罩弹出的准确率,以及是否佩戴口罩的识别率都在93%以上,可以看出本系统的准确率较高,无论是按钮触发的准确率,口罩弹出的准确率,以及是否佩戴口罩的识别率都满足设计要求。

5 结语

本文所设计的非接触式电梯操作系统,使用STM32 单片机作为主控芯片,实现了电梯的非接触式操作并弹出口罩。比传统意义上的非接触电梯控制更简捷、更方便、更智能。其功能能够在疫情期间,降低由乘做电梯所导致的间接感染的风险,对抗疫有一定的促进作用,其创新性主要在于非接触控制以及自动弹出口罩,具有一定的推广价值。

猜你喜欢

按键人脸口罩
有特点的人脸
基于有限状态机的按键检测程序设计
戴口罩的苦与乐
因为一个口罩,我决定离婚了
雾霾口罩
三国漫——人脸解锁
要戴口罩的雾霾天
一种多方向导光按键结构设计
马面部与人脸相似度惊人
长得象人脸的十种动物