人工智能綜合項目開發(fā)- 課件 項目四 口罩佩戴檢測防控系統(tǒng)_第1頁
人工智能綜合項目開發(fā)- 課件 項目四 口罩佩戴檢測防控系統(tǒng)_第2頁
人工智能綜合項目開發(fā)- 課件 項目四 口罩佩戴檢測防控系統(tǒng)_第3頁
人工智能綜合項目開發(fā)- 課件 項目四 口罩佩戴檢測防控系統(tǒng)_第4頁
人工智能綜合項目開發(fā)- 課件 項目四 口罩佩戴檢測防控系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

人工智能綜合項目開發(fā)項目四口罩佩戴檢測防控系統(tǒng)成都職業(yè)技術學院項目分析01任務一口罩檢測模型部署02任務二報警系統(tǒng)構(gòu)建03任務三防控安檢系統(tǒng)開發(fā)04項目四

口罩佩戴檢測防控系統(tǒng)項目分析1.學習神經(jīng)網(wǎng)絡數(shù)學模型基本概念;

2.了解神經(jīng)網(wǎng)絡實現(xiàn)基本原理;

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

4.掌握嵌入式人工智能開發(fā)流程;實驗內(nèi)容疫情防控安檢系統(tǒng)主要由口罩檢測、疫情防控報警、數(shù)據(jù)可視化功能構(gòu)成。實現(xiàn)整

個系統(tǒng)需要采集口罩佩戴數(shù)據(jù)集進行數(shù)據(jù)標注,然后搭建神經(jīng)網(wǎng)絡訓練口罩檢測模型實

現(xiàn)人臉口罩佩戴檢測,再搭建嵌入式系統(tǒng)實現(xiàn)報警功能,最后綜合口罩檢測和報警系統(tǒng)

實現(xiàn)疫情防控安檢系統(tǒng)。實驗原理項目背景及功能分析新型冠狀病毒來襲,武漢封城、各省、市均拉響了防御警報,各項防疫工作如同上

緊發(fā)條般,爭分奪秒地啟動。廣大民眾時刻通過手機密切關注疫情,通過直播日夜了解

火神山、雷神山醫(yī)院的建設,各個平臺也都熱切討論口罩的科學戴法、洗手的注意事

項……可以說,全社會都繃了緊這根防疫的弦。當前疫情還未完全消除隱患,病毒傳播

速度快,易爆發(fā),因此做好疫情防控檢測工作不容懈怠。新冠疫情的出現(xiàn),不僅威脅著人們的健康,也給社會生活帶來了沖擊與變化。對于

維護社會公共安全的安檢行業(yè),則受到更大的關注。安檢的焦點,從之前單純的重視違

禁品,轉(zhuǎn)變?yōu)榧闪巳?、物、車安檢以及衛(wèi)生消毒、溫度測控、口罩佩戴檢測等事項。

尤其在車站、地鐵、景區(qū)、小區(qū)出入口等一些人群密集的場所,需檢測是否佩戴口罩,

體溫是否異常,還需兼顧安全通信效率。而現(xiàn)有測溫設備多為測試人員近身探測,安檢員也多為使用儀器手檢,極易誘發(fā)交叉感染。因此目前大多升級傳統(tǒng)安檢方式,比如在

車站利用無接觸測溫、人臉檢測、自動口罩檢測等技術實現(xiàn)智能安檢防控,如圖

0-1

示:圖

0-1

車站疫情安檢防控示例疫情防控安檢系統(tǒng)利用人工智能技術、物聯(lián)網(wǎng)傳感器設備等高技術手段實現(xiàn)智能安

檢、疫情防控報警等智能疫情防控系統(tǒng)。該系統(tǒng)在傳統(tǒng)安檢的同時,增加了人體體溫檢

查,適用于機場、鐵路、車站、海關等核心通道,以及學校、醫(yī)院、企業(yè)園區(qū)等室內(nèi)主要入口、大廳,設備可有效減輕人工檢查的繁重工序,降低人工檢查的失誤率。其主要

功能包括:1)無接觸式安檢系統(tǒng):行人在經(jīng)過安檢系統(tǒng)時,通過紅外溫度傳感器自動測量行人

體溫,出現(xiàn)異常時自動報警。2)人臉檢測:人臉自動檢測,有效排除非測溫目標干擾;異常體溫報警結(jié)合人臉信

息,方便精準跟蹤處置。3)口罩檢測:對檢測到的人臉進行口罩佩戴檢測,當視頻流中出現(xiàn)未戴口罩的人進

行報警,提醒工作人員進行干預。4)LCD

顯示:實時顯示口罩檢測圖像,以及口罩檢測結(jié)果。實現(xiàn)本次疫情防控安檢系統(tǒng)分為三個任務,如圖

0

所示,任務一口罩檢測模型部署,

利用深度學習神經(jīng)網(wǎng)絡算法實現(xiàn)人臉口罩檢測模型轉(zhuǎn)換及模型部署;任務二報警系統(tǒng)構(gòu)

建,主要實現(xiàn)報警功能;任務三疫情防控安檢系統(tǒng)開發(fā)主要實現(xiàn)整個系統(tǒng)的設計和實現(xiàn)。圖

0

疫情防控安檢系統(tǒng)任務拆解任務一

口罩檢測模型部署本次實驗主要是使用

TensorFlow

搭建

RFB-Net

模型訓練標記完成的口罩檢測數(shù)據(jù)集,

并將訓練完成后的模型保存為

tflite

格式,最終部署在嵌入式硬件設備中實現(xiàn)人臉口罩

檢測任務。(1)數(shù)據(jù)集標注在深度學習領域,訓練數(shù)據(jù)對訓練結(jié)果有種至關重要的影響,在計算機視覺領域,

除了公開的數(shù)據(jù)集之外,對很多應用場景都需要專門的數(shù)據(jù)集做遷移學習或者端到端的

訓練,這種情況需要大量的訓練數(shù)據(jù),取得這些數(shù)據(jù)方法有:人工數(shù)據(jù)標注、自動數(shù)據(jù)

標注、外包數(shù)據(jù)標注。圖

4.0-1

數(shù)據(jù)集標注軟件VoTT

是微軟發(fā)布的用于圖像目標檢測的標注工具,它是基于

javascript

開發(fā)的,因

此可以跨

Windows

Linux

平臺運行,并且支持從圖片和視頻讀取。此外,其還提供了基

CNTK

訓練的

faster-rcnn

模型進行自動標注然后人工矯正的方式,這樣大大減輕了標

注所需的工作量。本次口罩檢測項目訓練模型時,需要大量的已標注的數(shù)據(jù)集進行模型訓練,這里對人臉口罩數(shù)據(jù)集進行標注為兩類,即佩戴口罩和未佩戴口罩。(2)口罩檢測任務實現(xiàn)口罩檢測應用案例主要分為如圖

4.0-2

所示的

5

個步驟。圖

4.0-2

口罩檢測應用案例實現(xiàn)流程首先將對人臉口罩數(shù)據(jù)集進行標注及格式轉(zhuǎn)換,然后搭建神經(jīng)網(wǎng)絡模型利用數(shù)據(jù)集

進行模型訓練,再將訓練好的神經(jīng)網(wǎng)絡模型轉(zhuǎn)換成.tflite

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

平臺上就可以實現(xiàn)人臉口罩檢測。1)人臉口罩數(shù)據(jù)集標注及預處理首先對人臉口罩數(shù)據(jù)集進行標注,需要將標注完成之后的數(shù)據(jù)集格式入出為

VOC

數(shù)據(jù)集格式,目前的深度學習很多框架都使用

VOC

數(shù)據(jù)集格式。VOC

數(shù)據(jù)集包含如下圖所

示幾個文件,

Annotations

存放

xml

格式的標簽文件,每個

xml

對應

JPEGImage

中的一張圖片;ImageSets

存放數(shù)據(jù)集圖像名稱;JPEGImages

存儲所有的圖片,其中包括訓練

圖片,測試圖片,然后將數(shù)據(jù)集存儲為

TFrecord

文件。圖

4.0-3

VOC

數(shù)據(jù)集格式2)神經(jīng)網(wǎng)絡模型搭建根據(jù)

RFB-Net

的模型結(jié)構(gòu),使用

TensorFlow

完成

RFB-Net

網(wǎng)絡結(jié)構(gòu)的模型搭建。

3)神經(jīng)網(wǎng)絡模型訓練配置好模型訓練的超參數(shù)后,加載人臉口罩數(shù)據(jù)集進行模型訓練。訓練完成的模型

保存在./checkpoints/face_mask_model.h5

中。4)神經(jīng)網(wǎng)絡模型轉(zhuǎn)換使用

tf.lite

API

將模型文件轉(zhuǎn)換為

tflit

格式,參考代碼如下所示,加載模型文件

時要注意模型文件的路徑是否正確。import

tensorflow

as

tf#

加載模型model

=

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

compile=False)#

模型轉(zhuǎn)換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

模型實現(xiàn)口罩檢測,模型加載和推理參考代碼如下:#

加載

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'])

#

獲取輸出層數(shù)據(jù)

return

output_data16)結(jié)果繪制根據(jù)口罩檢測模型返回值,包括人臉口罩位置,人臉口罩檢測類別,置信度。根據(jù)返回結(jié)果進行繪制,返回繪制好的人臉口罩檢測圖像。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)模型部署將訓練好的模型程序拷貝至嵌入式硬件平臺中,并在硬件平臺上搭建好程序運行環(huán)境,即可在終端運行程序進行人臉口罩檢測。任務二

報警系統(tǒng)構(gòu)建(1)系統(tǒng)概述疫情防控報警系統(tǒng)通過獲取口罩檢測結(jié)果,如果發(fā)現(xiàn)未佩戴口罩,則通過串口立即

向智能節(jié)點核心控制板發(fā)送控制指令,發(fā)出報警聲;當紅外測溫傳感器檢測到體溫超過

37℃,同樣發(fā)出警報。任務三

防控安檢系統(tǒng)開發(fā)(1)防控安檢系統(tǒng)開發(fā)概述防控安檢系統(tǒng)主要利用人工智能算法和嵌入式硬件設備實現(xiàn)人臉口罩檢測,無結(jié)果

分析預警等功能,輔助疫情防控工作人員實現(xiàn)自動化、智能化、數(shù)字化疫情防控工作。結(jié)合口罩檢測系統(tǒng)和報警系統(tǒng)實現(xiàn)整個疫情防控安檢系統(tǒng),首先利用攝像頭采集人

臉圖像,利用神經(jīng)網(wǎng)絡模型實現(xiàn)人臉口罩檢測,檢測是否佩戴口罩;然后通過口罩檢測

結(jié)果控制蜂鳴器進行預警。實現(xiàn)疫情防控安檢系統(tǒng)開發(fā)分別實現(xiàn)圖像獲取插件、模型推理插件、嵌入式數(shù)據(jù)交

互插件。如圖

4.6

所示,其中圖像獲取插件主要實現(xiàn)攝像頭獲取,圖像消息隊列傳遞及圖像識別結(jié)果可視化等功能;模型推理插件主要實現(xiàn)圖像數(shù)據(jù)預處理,口罩檢測模型推

理,解析口罩檢測識別結(jié)果啟動報警裝置,以及傳遞口罩檢測結(jié)果。嵌入式數(shù)據(jù)交互插

件主要實現(xiàn)根據(jù)口罩檢測結(jié)果觸發(fā)報警系統(tǒng)進行報警。圖

4.6

防控安檢系統(tǒng)開發(fā)功能插件(2)口罩檢測功能插件構(gòu)建在項目開發(fā)中實現(xiàn)口罩檢測模型功能插件主要目的是實現(xiàn)輸入人臉圖像,然后根據(jù)

人臉口罩檢測模型輸出檢測結(jié)果。模型推理過程詳見任務一口罩檢測模型部署。1)人臉口罩圖像獲取插件實現(xiàn)。打開攝像頭獲取人臉口罩圖像,將圖像傳遞到待檢測消息隊列。從人臉口罩檢測模

型推理結(jié)果消息隊列獲取檢測結(jié)果,并調(diào)用結(jié)果繪制函數(shù)將檢測結(jié)果繪制到原圖像中。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)

#

網(wǎng)絡攝像頭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

模型的推理結(jié)果self.q_img.put(bytearray(frame))

#

原始圖像傳遞if

not

self.q_rec.empty():face_mask_pricet

=

self.q_rec.get()

#

獲取人臉口罩檢測結(jié)果frame

=

recImgDis(frame,

face_mask_pricet)

#

結(jié)果繪制#

傳遞圖像if

not

self.q_flask.full()

and

not

frame

is

None:self.q_flask.put(bytearray(frame))2)人臉口罩檢測模型推理插件實現(xiàn)獲取待檢測的人臉口罩圖像,調(diào)用口罩檢測模型進行推理,返回人臉口罩位置、類別、置信度,并將返回結(jié)果傳入模型推理結(jié)果消息隊列。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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論