人工智能综合项目开发- 课件 项目四 口罩佩戴检测防控系统_第1页
人工智能综合项目开发- 课件 项目四 口罩佩戴检测防控系统_第2页
人工智能综合项目开发- 课件 项目四 口罩佩戴检测防控系统_第3页
人工智能综合项目开发- 课件 项目四 口罩佩戴检测防控系统_第4页
人工智能综合项目开发- 课件 项目四 口罩佩戴检测防控系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能综合项目开发项目四口罩佩戴检测防控系统成都职业技术学院项目分析01任务一口罩检测模型部署02任务二报警系统构建03任务三防控安检系统开发04项目四

口罩佩戴检测防控系统项目分析1.学习神经网络数学模型基本概念;

2.了解神经网络实现基本原理;

3.了解嵌入式人工智能基本概念;

4.掌握嵌入式人工智能开发流程;实验内容疫情防控安检系统主要由口罩检测、疫情防控报警、数据可视化功能构成。实现整

个系统需要采集口罩佩戴数据集进行数据标注,然后搭建神经网络训练口罩检测模型实

现人脸口罩佩戴检测,再搭建嵌入式系统实现报警功能,最后综合口罩检测和报警系统

实现疫情防控安检系统。实验原理项目背景及功能分析新型冠状病毒来袭,武汉封城、各省、市均拉响了防御警报,各项防疫工作如同上

紧发条般,争分夺秒地启动。广大民众时刻通过手机密切关注疫情,通过直播日夜了解

火神山、雷神山医院的建设,各个平台也都热切讨论口罩的科学戴法、洗手的注意事

项……可以说,全社会都绷了紧这根防疫的弦。当前疫情还未完全消除隐患,病毒传播

速度快,易爆发,因此做好疫情防控检测工作不容懈怠。新冠疫情的出现,不仅威胁着人们的健康,也给社会生活带来了冲击与变化。对于

维护社会公共安全的安检行业,则受到更大的关注。安检的焦点,从之前单纯的重视违

禁品,转变为集成了人、物、车安检以及卫生消毒、温度测控、口罩佩戴检测等事项。

尤其在车站、地铁、景区、小区出入口等一些人群密集的场所,需检测是否佩戴口罩,

体温是否异常,还需兼顾安全通信效率。而现有测温设备多为测试人员近身探测,安检员也多为使用仪器手检,极易诱发交叉感染。因此目前大多升级传统安检方式,比如在

车站利用无接触测温、人脸检测、自动口罩检测等技术实现智能安检防控,如图

0-1

示:图

0-1

车站疫情安检防控示例疫情防控安检系统利用人工智能技术、物联网传感器设备等高技术手段实现智能安

检、疫情防控报警等智能疫情防控系统。该系统在传统安检的同时,增加了人体体温检

查,适用于机场、铁路、车站、海关等核心通道,以及学校、医院、企业园区等室内主要入口、大厅,设备可有效减轻人工检查的繁重工序,降低人工检查的失误率。其主要

功能包括:1)无接触式安检系统:行人在经过安检系统时,通过红外温度传感器自动测量行人

体温,出现异常时自动报警。2)人脸检测:人脸自动检测,有效排除非测温目标干扰;异常体温报警结合人脸信

息,方便精准跟踪处置。3)口罩检测:对检测到的人脸进行口罩佩戴检测,当视频流中出现未戴口罩的人进

行报警,提醒工作人员进行干预。4)LCD

显示:实时显示口罩检测图像,以及口罩检测结果。实现本次疫情防控安检系统分为三个任务,如图

0

所示,任务一口罩检测模型部署,

利用深度学习神经网络算法实现人脸口罩检测模型转换及模型部署;任务二报警系统构

建,主要实现报警功能;任务三疫情防控安检系统开发主要实现整个系统的设计和实现。图

0

疫情防控安检系统任务拆解任务一

口罩检测模型部署本次实验主要是使用

TensorFlow

搭建

RFB-Net

模型训练标记完成的口罩检测数据集,

并将训练完成后的模型保存为

tflite

格式,最终部署在嵌入式硬件设备中实现人脸口罩

检测任务。(1)数据集标注在深度学习领域,训练数据对训练结果有种至关重要的影响,在计算机视觉领域,

除了公开的数据集之外,对很多应用场景都需要专门的数据集做迁移学习或者端到端的

训练,这种情况需要大量的训练数据,取得这些数据方法有:人工数据标注、自动数据

标注、外包数据标注。图

4.0-1

数据集标注软件VoTT

是微软发布的用于图像目标检测的标注工具,它是基于

javascript

开发的,因

此可以跨

Windows

Linux

平台运行,并且支持从图片和视频读取。此外,其还提供了基

CNTK

训练的

faster-rcnn

模型进行自动标注然后人工矫正的方式,这样大大减轻了标

注所需的工作量。本次口罩检测项目训练模型时,需要大量的已标注的数据集进行模型训练,这里对人脸口罩数据集进行标注为两类,即佩戴口罩和未佩戴口罩。(2)口罩检测任务实现口罩检测应用案例主要分为如图

4.0-2

所示的

5

个步骤。图

4.0-2

口罩检测应用案例实现流程首先将对人脸口罩数据集进行标注及格式转换,然后搭建神经网络模型利用数据集

进行模型训练,再将训练好的神经网络模型转换成.tflite

格式,最后将模型部署到硬件

平台上就可以实现人脸口罩检测。1)人脸口罩数据集标注及预处理首先对人脸口罩数据集进行标注,需要将标注完成之后的数据集格式入出为

VOC

数据集格式,目前的深度学习很多框架都使用

VOC

数据集格式。VOC

数据集包含如下图所

示几个文件,

Annotations

存放

xml

格式的标签文件,每个

xml

对应

JPEGImage

中的一张图片;ImageSets

存放数据集图像名称;JPEGImages

存储所有的图片,其中包括训练

图片,测试图片,然后将数据集存储为

TFrecord

文件。图

4.0-3

VOC

数据集格式2)神经网络模型搭建根据

RFB-Net

的模型结构,使用

TensorFlow

完成

RFB-Net

网络结构的模型搭建。

3)神经网络模型训练配置好模型训练的超参数后,加载人脸口罩数据集进行模型训练。训练完成的模型

保存在./checkpoints/face_mask_model.h5

中。4)神经网络模型转换使用

tf.lite

API

将模型文件转换为

tflit

格式,参考代码如下所示,加载模型文件

时要注意模型文件的路径是否正确。import

tensorflow

as

tf#

加载模型model

=

tf.keras.models.load_model('./face_mask_model.h5',

compile=False)#

模型转换converter

=

tf.lite.TFLiteConverter.from_keras_model(model)tflite_quant_model

=

converter.convert()open("face_mask_model.tflite",

"wb").write(tflite_quant_model)5)模型加载加载.tflite

模型实现口罩检测,模型加载和推理参考代码如下:#

加载

tflite

模型

,model_name:

模型名称,model_path:

模型路径class

TfliteRun:def

init

(self,

model_name="fruit_detection",

model_path=POSENET_MODEL):erpreter

=

tflite.Interpreter(model_path=model_path)

#

读取模型self.interpreter.allocate_tensors()

self.model_name

=

model_name

#

获取输入层和输出层维度#

分配张量self.input_details

=

erpreter.get_input_details()

self.output_details

=

erpreter.get_output_details()def

inference(self,

img):

self.interpreter.set_tensor(self.input_details[0]['index'],

img)

erpreter.invoke()

#

模型推理output_data1

=

erpreter.get_tensor(self.output_details[0]['index'])

#

获取输出层数据

return

output_data16)结果绘制根据口罩检测模型返回值,包括人脸口罩位置,人脸口罩检测类别,置信度。根据返回结果进行绘制,返回绘制好的人脸口罩检测图像。def

recImgDis(img,

predictions):if

predictions:boxes,

classes,

scores

=

predictionsfor

prior_index

in

range(len(classes)):img

=

showImageZH(img,

boxes,

classes,

scores,cfg["cam_height"],

cfg["cam_width"],prior_index,

cfg['labels_list'])return

img7)模型部署将训练好的模型程序拷贝至嵌入式硬件平台中,并在硬件平台上搭建好程序运行环境,即可在终端运行程序进行人脸口罩检测。任务二

报警系统构建(1)系统概述疫情防控报警系统通过获取口罩检测结果,如果发现未佩戴口罩,则通过串口立即

向智能节点核心控制板发送控制指令,发出报警声;当红外测温传感器检测到体温超过

37℃,同样发出警报。任务三

防控安检系统开发(1)防控安检系统开发概述防控安检系统主要利用人工智能算法和嵌入式硬件设备实现人脸口罩检测,无结果

分析预警等功能,辅助疫情防控工作人员实现自动化、智能化、数字化疫情防控工作。结合口罩检测系统和报警系统实现整个疫情防控安检系统,首先利用摄像头采集人

脸图像,利用神经网络模型实现人脸口罩检测,检测是否佩戴口罩;然后通过口罩检测

结果控制蜂鸣器进行预警。实现疫情防控安检系统开发分别实现图像获取插件、模型推理插件、嵌入式数据交

互插件。如图

4.6

所示,其中图像获取插件主要实现摄像头获取,图像消息队列传递及图像识别结果可视化等功能;模型推理插件主要实现图像数据预处理,口罩检测模型推

理,解析口罩检测识别结果启动报警装置,以及传递口罩检测结果。嵌入式数据交互插

件主要实现根据口罩检测结果触发报警系统进行报警。图

4.6

防控安检系统开发功能插件(2)口罩检测功能插件构建在项目开发中实现口罩检测模型功能插件主要目的是实现输入人脸图像,然后根据

人脸口罩检测模型输出检测结果。模型推理过程详见任务一口罩检测模型部署。1)人脸口罩图像获取插件实现。打开摄像头获取人脸口罩图像,将图像传递到待检测消息队列。从人脸口罩检测模

型推理结果消息队列获取检测结果,并调用结果绘制函数将检测结果绘制到原图像中。class

VideoThread(threading.Thread):def

init

(self,

camera="0",

q_flask:Queue=None,

q_img:Queue=None,

q_rec:Queue=None):threading.Thread.

init

(self)self.cap

=

setCamera(camera)

#

网络摄像头def

run(self):

face_mask_pricet

=

[]

while

True:if

self.cap

!=

"":ret,

frame

=

self.cap.read()

#

打开摄像头,获取人脸口罩图像帧

frame

=

cv2.resize(frame,

(ai_cfg["cam_width"],

ai_cfg["cam_height"]))

if

not

self.q_img.full()

and

not

frame

is

None:self.q_flask

=

q_flask

self.q_img

=

q_img

self.q_rec

=

q_rec#

消息队列传递#

消息队列传递

原始图像到识别插件#

消息队列传递

AI

模型的推理结果self.q_img.put(bytearray(frame))

#

原始图像传递if

not

self.q_rec.empty():face_mask_pricet

=

self.q_rec.get()

#

获取人脸口罩检测结果frame

=

recImgDis(frame,

face_mask_pricet)

#

结果绘制#

传递图像if

not

self.q_flask.full()

and

not

frame

is

None:self.q_flask.put(bytearray(frame))2)人脸口罩检测模型推理插件实现获取待检测的人脸口罩图像,调用口罩检测模型进行推理,返回人脸口罩位置、类别、置信度,并将返回结果传入模型推理结果消息队列。class

FaceMaskRecThread(threading.Thread):def

init

(self,

q_img:Queue=None,

q_rec:Queue=None,

model_path=cfg["model_path"]):threading.T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论