APP下载

一种基于YOLO的口罩佩戴检测终端的设计

2023-08-11陈周欢林耿名叶绮雯何镇轩

现代计算机 2023年11期
关键词:联机脱机算力

张 良,陈周欢,林耿名,叶绮雯,何镇轩

(韶关学院信息工程学院,韶关 512005)

0 引言

自2019年末,新冠病毒(COVID-19)已席卷世界各个角落。发展至今,随着病毒毒性减弱,社会面全面放开,随之而来的便是大面积的感染。根据实际情况和相关研究,个体仍有二次感染病毒的风险。因此群众对个人的防护措施依然不可松懈,公众场合、私密场合佩戴口罩依然是最有效的防护措施之一。因此设计一款轻量的口罩佩戴检测终端,既可满足有联机条件的工作环境,也能满足脱机使用条件的可行性设计方案。

1 整体方案

系统由图像信息采集模块、图像显示模块、数据处理模块、数据传输模块、报警模块构成。本次设计使用ART-PI 开发板作为硬件平台,为数据处理模块以及数据传输模块,其具有32 M静态RAM,能更好地适应推理模型的植入。图像信息采集模块使用GC0328 摄像头模块来捕获视频图像信息,用于进一步的口罩识别处理。多媒体拓展版上的3.5寸LCD 显示屏用于显示被摄像头捕捉的图像经推理模型识别后的结果。每当捕捉到行人图像,经模型推理后,对佩戴口罩的对象使用绿色框框出,对未佩戴口罩的对象使用红色框框出,并通过多媒体板的音频输出提醒行人佩戴口罩。此外,在联机条件下,将由上位PC 担任数据处理模块,来完成对图像中行人佩戴口罩的识别,通过串口与ART-PI 主板进行数据传输。

图1 方案设计框图

2 硬件设计

2.1 主控平台ART-PI

RT-Thread 作为一款国产嵌入式IoT OS,与其他RTOS(FreeRTOS、uC/OS 等)的主要区别是:RT-Thread 除了嵌入式系统的内核,还包含网络、文件系统、GUI 界面等中间层组件,具有极强的扩展性[1]。ART-PI 为RT-Thread 团队设计的一款硬件平台。在RT-Thread 系统下拥有更好的贴合度和使用性。搭载stm32H7 系列高性能芯片,同时板载Wi-Fi、蓝牙、TF 卡槽、预留摄像头、多媒体模块等各类外设接口。因此在依托RT-Thread 平台下选择ART-PI 作为硬件平台。

2.2 ART-PI多媒体拓展板

多媒体拓展板为ART-PI 官方配套拓展板,其搭配一块3.5 寸电容LCD 触摸屏,WM8988 音频输入输出接口,预留GC0328/OV2640 摄像头排线接口。整体硬件与ART-PI 主板组成结构简约、美观。

2.3 RT-AK

RT-AK 为RT-Thread 团队对实时操作系统开发的AI套件,其具有将AI 模型部署进工程的能力,提供AI 模型推理API,在目标硬件平台下获得对AI 模型极致性能推理的能力。RT-AK 简单架构如图2所示。

图2 RT-AK架构

首先在上位机通过Tensorflow 等框架训练得到AI 模型文件,将其转化为Keras、TFlite 模型格式,再通过RT-AK Tools 针对不同硬件平台进行适配得到集成了AI 的BSP。最后通过RT-AK Lib 在嵌入式端使用AI 模型,完成AI 模型的推理运行。在嵌入式端对RT-AK Lib的使用流程包括:查找模型句柄、初始化模型、数据输入,得到推理结果如图3所示。

图3 嵌入式端推理流程

3 软件设计

3.1 YOLO目标检测

YOLO网络模型是目标检测算法中应用广泛的模型之一,相比于两阶段检测算法,YOLO所使用的单阶段检测算法运行速率更快,但会损失一定精度,对于当前硬件算力有限的条件下,选择YOLO目标检测算法更为合适。目前其具有八个官方版本,同时拥有若干个经二次修改的网络用于特殊的针对性场景。本次设计针对联机和脱机情况,对不同平台选用不同的版本。对联机情况,使用算力更强的PC 机选用官方第五版本中的YOLOv5s[2];对脱机状态,硬件平台选用YOLO-Fastest[3]模型,为当前结构最小、算力依赖最低的YOLO网络模型。图像目标检测的重要评价指标主要有平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)[4]。选用网络模型概况见表1。YOLO-Fastest 模型相比较YOLOv5s 来说,mAP 减小近56%,但模型大小为YOLOv5s 的5%,浮点计算量也仅为YOLOv5s 的1.5%。边缘硬件的算力显然不如上位PC 机的CPU,甚至是GPU 算力,损失一定精度来换取更小的运算量是合适的。

表1 模型概况

3.2 模型训练

训练数据集来自kaggle 的开源数据集,进行格式的转化后得到xml 格式和txt 格式。针对两种模型的训练,应用到了Tensorflow[5]和Darknet[6]两种框架进行训练和量化。此外RT-AK Tools 对于模型文件的类型也有一定的规定,在部署AI 模型前需要将Darknet 框架训练得到的x.weight 量化为x.tflitel 模型类型。表2 为训练结构。这里在Darknet框架下的max_batches不同于tensorflow 框架下的epoch。batch 和epoch 都为超参数。一个epoch 是对整个数据集做一次迭代,一次迭代中包含若干次训练,而一次训练的样本大小则为batch的值,max_batches 则为最大训练容量,也称之为最大迭代次数,在某种程度上max_batches 和epoch 是可以互相换算的。计算方式为:

表2 训练结构

max_batches= 数据集样本数×epoch/batch

在Darknet 框架中,cfg 配置文件仅使用到max_batches,这里仍做保留。

3.3 系统流程设计

系统开机后,判断是否处在联机状态,联机状态下将图片推理部分交由PC 来处理,若在脱机状态下将由设备自己完成图片的检测。YOLO 目标检测算法,粗略来说是对若干个bounding box[7]进行预测,每个box的预测结果将由x、y、w、h、c、class1、class2、class3……构成,对于口罩佩戴识别可以认为二分类检测(佩戴口罩和未佩戴口罩),每条输出结果包含七个属性。该box 所属类的置信度X=c*class1(class2),当某X大于预先设置的阈值时,认为该box 内容属于该类。图4为系统流程。

图4 系统流程

4 系统测试

4.1 模型测试

针对模型训练过程中的训练集和测试集,在模型训练完成后,使用该推理模型对数据集进行抽测。PC和ART-PI两个不同目标平台下的模型测试效果分别如图5、图6所示。

图5 YOLOv5s测试

图6 YOLO-Fastest测试

经对100 张图片,包含约350 个对象进行测试后,结果见表3。

表3 测试结果

4.2 脱机测试

本项测试针对实际情况进行实际的脱机测试,在脱机状态下,手持硬件摄像头对准需要识别的图片进行测试,摄像头捕捉现实图像后,在硬件侧进行模型推理,最后在LCD 屏上显示推理结果。整体延迟较低,效果同PC 机测试YOLO-Fastest 模型时基本一致。这里仍以模型测试中展示图片进行展示比对,如图7所示。

图7 终端脱机测试

5 结语

本设计依托RT-Thread 平台设计的口罩佩戴检测终端,实现设备在联机和脱机两种状态下的正常工作。经实际测试,联机状态下的识别率极高,在人流较大的情况下依然可以精准检测。脱机状态下,由于模型较小,相对来说存在一定误差,相对于PC 的算力也相对较弱,运算速度较慢,能满足一般需求。另一方面,如何对YOLO-Fastest 网络模型进一步剪枝网络体量,优化网络结构,来提高在边缘硬件侧的推理效率和准确度是下一步的研究内容。本系统具有实际实施成本较低、使用方便、应用场景广等特点。可以应用于商场出入口,小区出入口等公共场所,提醒往来人群及时佩戴口罩,做好个人防护。

猜你喜欢

联机脱机算力
多方求解智能时代算力挑战
这个第二不一般
多联机安装施工技术探讨
卫星通信在算力网络中的应用研究
中国电信董事长柯瑞文:算力成为数字经济的主要生产力
浅快呼吸指数相关指标预测脱机结局的价值分析
改良程序化脱机在老年患者呼吸机撤离中的应用
中心静脉血氧饱和度监测在机械通气患者脱机过程中的意义※
高温多联机空调系统的控制方式研究
两种不同脱机方法在ICU老年机械通气患者拔管中的应用