黄镜尘 李光 李敏
摘要:本文针对口罩佩戴状态检测模型部署进行研究,利用ARMv8架构树莓派平台,基于Debian-Pi-Aarch64操作系统,结合Paddle-Lite框架,实现口罩佩戴情况的实时检测,可以正确识别出图片中口罩佩戴情况,并且能够通过CSI摄像头视频采樣进行实时检测,具有较快的识别速度,对于人脸的成功辨认能力也得到了很好的优化,可以提高在辨认视频中的移动面部的识别成功率,为我国疫情防控的有序进行提供重要手段。
关键词:树莓派;目标识别;口罩佩戴识别
目前新冠肺炎疫情在我国的局势已经逐渐趋向于稳定[1],不过从国际层面上讲,依旧处于一个严峻的情况,即使各国疫苗初步研制成功并且全球人民都在逐步接种疫苗,但是面对着各种病毒的变株我们必须还是需要保持很高的警惕性。佩戴口罩早已经成为我们生活中的一部分,这一行为可以有效阻止病毒通过我们的呼吸进入体内,佩戴口罩在其他层面也具有重要意义,可以防止我们个人的唾液传播到空气中去。佩戴口罩可以有效保护我们自身安全和身体健康。如果说正确的佩戴口罩是疫情防控的重要手段之一,那么口罩佩戴状态的检测就是人们正确行使这一手段的重要保证,此项技术如果可以成功应用在人流量较高的一些公众场合可以有效的节约人力物力,也可以使社会和谐与稳定得到很好的保障。
Paddle-lite[是从Paddle Mobile的版本中升级得到,不仅是支持手机端还包括了其他众多硬件平台的多样化情况的高效预测框架。Lite在与PaddlePaddle继续这对接的同时,也可以使用其他的框架训练产生的模型。
1.口罩模型 Pyramid box
Pyramid box可以获取不同层级的结构图以及anchor,是从VGG16的骨架和anchor的设计中扩展得到的,在VGG16的骨架代码中增加一个底层级的特征金字塔层,而且为了获得最后的结果,每一个金字塔检测层的分支网络是使用上下文敏感结构来担任的。这种架构的关键就是可以为每个层级的人脸生成anchor。主要网络结构流程如下图1所示:
该算法主干网络层中的基本卷积层和额外卷积层是同S3FD相同的[2],只不过为了其深度增加了许多的卷积层,并且anchors是不需要任何行动就可以自动生成的,不存在其他的额外的标签,这一点可以很好的节省了时间成本,并且在运行程序的时候也不用进行十分复杂的计算就可以很轻松的得到我们需要的结果。
2.系统更新及准备工作
(1)替换镜像源与pip源
由于在国内是没有办法成功进入树莓派进行系统更新,因此需要替换为我们国内的镜像站,其中我们可以替换的镜像源就有很多选择了,这里我们需要使用树莓派的nano命令进行文件的编辑,使用该命令编辑资源列表文件,在其中将不需要的代码进行注释,然后添加我们所需的镜像源。在更换pip源的时候需要先创建pip目录,然后查看此目录的列表,编辑其中的pip.conf,给其编辑需要写入的文件。
(2)运行环境
为了保证程序可以正常运行我们还需要下载以下工具:gcc g++ Make wget unzip libopencv-dev pkg-config和CMake。
gcc以及g++为GNU的C和C++的编译器,在实行编译的工作过程中,首先需要进行预处理生成文件名为.i的文件;将该文件进行转换,转换为汇编语言,并生成文件名为.s的文件;将转换好的汇编语言进行下一步转换,转变为可以由机器是别的目标代码并生成文件名为.o的文件;最后与代码进行连接,生成可以被执行的程序。至此编译工作全部完成。
Make在这里的含义为GNU Make,Make的作用其实就是通过编写的make文件对整个工作的编译和连接进行描述,这样做的好处在于面对一些过程比较复杂的工程作业只需要通过一个命令就可以完成。
wget是一个下载工具的文件,十分稳定并且也具有很强的适应性,现在支持断点下载,也支持多种下载方式下载文件,支持使用代理的服务器,在用户设置方面也十分简便。
3.程序结果与分析
使用摄像头进行实时监测一共进行了五种不同情况的检测,以验证该系统的性能以及应用条件,从识别结果得知,总体检测结果的准确率较高,当检测目标的面部为正常尺寸且识别对象较少的情况下,课题研究结果令人较满意,但是当没有佩戴口罩的目标在进行佩戴口罩的过程中会出现显示异常的情况,显示框中佩戴口罩与未佩戴口罩会交替出现,在待检测人脸数量较多时偶尔会出现部分目标无法识别的情况,不过在面对检测尺寸较小的人脸时具有不错的识别情况。就流畅度而言,在没有检测人脸的时候帧率比较流畅,当检测目标出现的时候就会出现降帧的现象,当检测目标过多的情况下帧率会维持在一个较低的水平,即使相较于其他的方案讲流畅性有所优势,不过在平时使用的过程当中还是会感觉到不适应,很难达到一个流畅水平。而且在使用CSI摄像头拍摄的时候有时会出现显示界面的闪退,初步判断是由于摄像头的连接出现问题导致拍摄工作出现异常。
4.结语
本项目是在树莓派平台上面实现对口罩模型的识别与检测,硬件选择方面的必须品为树莓派4B与SD存储卡,由于需要进行实时视频的显示,将USB摄像头,IP摄像头和CSI摄像头综合考量过后选择了CSI摄像头进行视频的拍摄工作,并且根据本项目需要进行一些代码的操作以及编译工作选择鼠标,键盘,显示器来进行显示以及操作工作,考虑到树莓派的CPU需要长时间进行检测工作,为了保证CPU处在一个安全的温度区间需要在树莓派上面安装散热风扇。
软件环境首先需要进行的是树莓派操作系统的烧录工作,面对本项目的一些特性选择了更加与之匹配的Debian-Pi-Aarch64系统,在烧录过程中主要需要注意SD卡的格式化操作,需要使用格式换软件进行格式化的操作,接下来就是环境的配置工作,在保证网络环境良好的前提下,系统的更新工作可以顺利进行。
参考文献:
[1] 贾艳,王超,朱士俊,尹金淑,张国平,田向阳,卢祖洵.新冠肺炎疫情防控知识、技能和心理状况
[2] Shifeng Zhang, Xiangyu Zhu, Zhen Lei, Hailin Shi, Xiaobo Wang, Stan Z. Li.S3FD: Single Shot Scale-invariant Face Detector[J].ICCV2017. Italy.2017
作者简介:黄镜尘1999.07,山东交通学院本科学生,指导老师:李光、李敏