谢鑫焱,祁晋东,杨 晨,杨 翔
(西藏大学 信息科学技术学院 电子信息系,拉萨 850011)
本研究设计核心是人脸识别、健康码核验、口罩识别。人脸识别技术在树莓派4b上搭载环境,借助百度智能云,通过摄像头,采集人脸信息,上传至百度云进行对比,返回识别结果。健康码识别在OpenMV摄像头上实现,采用颜色和二维码识别算法,对绿码红码进行识别。口罩识别采用YOLO2网络检测算法,通过训练后部署在K210摄像头上进行识别。主要功能如下:对未佩戴口罩的人员进行口罩佩戴提醒;核验人员健康码信息为绿码后进行人脸识别;对人员进行无接触测温,温度过高会自动报警;对人员进行喷雾和无接触双手消毒。
在树莓派4b上搭载人脸识别环境。先在百度智能云上录入人脸信息,通过树莓派4b摄像头采集人脸信息,上传至云端进行对比,最后返回一个识别结果(图1)。
采用颜色识别和二维码识别算法,通过调用OpenMV寻找色块函数,设置颜色阈值,找到色块后用矩形框出来,完成健康码识别。图2为OpenMV摄像头,图3为健康码识别结果。
图1 人脸识别流程图Fig.1 Flow chart of face recognition
图2 OpenMV摄像头Fig.2 Open MV camera
图3 健康码识别结果Fig.3 Results of health code recognition
采用基于YOLO2的人脸口罩识别模型,训练集收集了大约10 000张不同的图片,使用Image_tool,将数据集分辨率转换为224×224,使用vott对转换后的数据集进行标注。标注类型为mask、no_mask两类。使用云端训练方式训练一个用于人脸口罩识别的YOLO2模型,输出一个smodel文件,将该模型文件下载到 K210处理器FLASH中。K210会将 smodel 转换为识别模型并将训练好的参数加载到KPU中,对输入的人脸图像进行卷积运算,通过YOLO2口罩识别模型,识别人脸口罩。K210识别置信度可达到80%以上(图4、图5)。
图4 进行未佩戴口罩识别Fig.4 Recognition of not wearing mask
图5 进行口罩佩戴识别Fig.5 Recognition of mask wearing
硬件由K210处理器、树莓派4b处理器、OpenMV摄像头、STM32单片机、舵机、红外测温传感器、超声波传感器、红外传感器、水泵、雾化模块、语音播报模块、数码管组成,系统主要通过K210处理器对行人进行口罩佩戴检测,当行人未佩戴口罩时,语音播报模块会发出请佩戴口罩的语音提示。其余信息检查流程通过OpenMV摄像头对人员健康码进行核验、无接触测温,并在数码管上显示温度,当以上两个信息无异常,将会打开树莓派4b上的CSI摄像头采集人脸信息,通过百度云进行对比。如果对比成功,将会控制舵机打开门禁,同时发出相应的语音提示,最后在以上信息核验完成后,人员走到消毒区经超声波感应,通过雾化消毒模块进行雾化消毒,双手伸至消毒区消毒液会自动喷洒至双手,实现全身消毒。人脸识别、健康码核验及无接触测温端如图6所示,口罩识别端如图7所示,无接触消毒端如图8所示。
图6 人脸识别、健康码核验及无接触测温端Fig.6 Face recognition, health code verification and non-contact temperature measurement
图7 口罩识别端Fig.7 Mask recognition end
图8 无接触消毒端Fig.8 Non-contact disinfection end
树莓派4b主控板:树莓派4b主控板拥有四核64位ARMCortex-A72,主频达1.5 GHz,拥有4 GB内存、2个USB 2.0和2个USB 3.0 接口、1个5.0蓝牙。树莓派支持很多操作系统,可满足本项目的开发。
K210处理器:口罩识别采用嘉楠科技K210处理器,有着双核64位CPU处理器,内置FPU、KPU、FFT加速器,板载OV2640摄像头。其特点为芯片架构中包含了1个自研的神经网络硬件加速器KPU,可以高性能地进行卷积神经网络运算。
OpenMV摄像头:OpenMV是一款功能强大的机器视觉模块。OpenMV 摄像头以STM32H7为核心,集成了OV7725摄像头芯片,方便开发者使用Python进行编程。OpenMV 摄像头在该设计的主要功能为核验健康码信息,并通过串口通信发送指令至树莓派4b。
STM32单片机:STM32F103ZET6 单片机具有 32 位基于ARM核心的微控制器及2个基本定时器、4个通用定时器、2个高级定时器、3个SPI、2 个IIC、5个串口、1个 USB、3个12位 ADC、1个12位DAC及112个通用IO口。通过该单片机实现无接触消毒端各个模块的控制。
红外测温模块:MLX90614是一款无接触的红外测温传感器,集成了红外探测热电堆芯片与信号处理专用集成芯片。由于集成了低噪声放大器、17位ADC和强大的DSP处理单元,使得高精度和高分辨度的温度计得以实现。使用MLX90614模块与数码管结合,实现防疫系统的无接触测温。
人脸识别、健康码核验及无接触测温端:该部分的设计将树莓派4b作为系统的主控,将自己的健康码信息放入识别区进行识别。若为绿码,将进行测温。温度如果正常,将打开摄像头采集人脸信息,经过百度云对比成功之后,门禁将会开启(图9)。
图9 主程序软件流程图Fig.9 Flow chart of main program software
口罩识别端:当行人走到口罩识别区时,加载至K210上的口罩识别模型将会通过摄像头采集信息,对未佩戴口罩的行人进行口罩佩戴的提醒(图10)。
图10 口罩识别软件流程图Fig.10 Flow chart of mask recognition software
无接触消毒端:使用STM32单片机作为主控,当测得行人距离超声波10 cm时就会让雾化消毒模块喷出雾化消毒液,对行人进行表面消毒。当行人双手伸至红外传感器1 cm的位置,水泵将会开启,喷洒出液体消毒液,对双手进行消毒(图11、12)。
图11 雾化消毒Fig.11 Atomization disinfection
图12 双手消毒Fig.12 Disinfection of hands
经测试,该防疫系统可识别人脸信息,核验健康码信息,对未佩戴口罩的人进行口罩佩戴提醒,并进行无接触测温和消毒(图13)。
图13 系统实物图Fig.13 System physical diagram
提出的智慧社区防疫门禁系统,可实现无人化防疫,做到无人化进行人脸识别、藏易通健康码核验、口罩识别、无接触测温和消毒。这种方式可减少交叉感染风险,减少人工对各类信息核验时的疏漏,适合广泛用于公共场合。