邵琪琦 唐 陽 李 想 沈思宇 李 敏(指導老師)(浙江中醫藥大學,浙江 杭州310053)
2018 年,我國生產安全事故發生數達51373 起,死亡人數達34046 起[1]。相關數據顯示,95%的安全事故是因生產操作人員未佩戴安全帽、越權進入生產操作場所等違規行為所致。所以,安全帽與口罩的佩戴與否,切實的關系到生產操作人員的生命安全。而采用人力判別安全帽與口罩佩戴狀況的方法,浪費人力物力且不利于統計與人員管理。因此,開發一種不依靠人力進行識別判定的檢測管理系統,符合特殊條件下對生產操作車間的智能化管理。
現今,對安全帽等小目標的檢測方法多基于深度學習的目標檢測與識別算法[2]。SSD(Single Shot MultiBox Detector) 算法作為目標檢測算法之一,對于小目標的檢測在準確度和速度方面綜合來看有顯著優勢。現已有徐先峰[3]、張業寶[4]等人利用SSD算法并進行改進以運用于安全帽識別檢測。本文結合實際應用場景,設計一種基于深度學習雙層識別模型的應用與優化的檢測管理系統,以對生產環境中生產操作人員是否佩戴安全帽與口罩進行實時檢測與處理。在減少勞動力提供智慧車間檢測管理的同時,保障生產環境的安全。
本文介紹的檢測管理系統主要包含六個功能:實時檢測安全帽佩戴狀態、實時檢測口罩佩戴狀態、違規行為存儲、違規行為統計、違規行為處理與人員管理。
本系統的整體設計分為四個部分:監控感知層與反饋層,分別為現場監控與報警單元,本系統利用警示燈、報警器對違規行為進行提醒;處理層為識別單元,本系統利用深度學習對違規行為進行檢測、判定;管理層為服務器,對違規行為進行記錄;應用層為用戶界面,其中包括實時監控、歷史違規記錄、違規處理、違規統計、人員管理五個模塊。
本系統的技術路線,如圖1 所示分為數據采集、數據識別、數據管理和數據應用。數據采集:本系統采用Raspberry Pi 4B+ 與Pi Camera 模擬生產環境的監控攝像頭,利用OpenCV控制圖像數據流采集。數據識別:本系統將TensorFlow和Open CV 結合,運用于安全帽、口罩的檢測與標注。數據管理:利用搭建的服務器(Linux 環境)模擬生產環境總服務器,用于儲存數據(MySQL)基礎及作為前端web 頁面的后臺。數據應用:利用HTML、CSS、JavaScript 等前端開發語言為生產環境管理者提供數據展示界面,供其對數據進行管理。

圖1 技術路線
本系統所采用的模型均為TensorFlow object detection api官方所開源的源模型,本系統在綜合Speed(每600x600 圖像的毫秒數運行時間)和mAP(平均精確度)等評判標準前提下,對現存較新的開源模型進行初步分析,并深入研究模型算法和卷積方式,以在不同算法間進行橫向對比。其中SSD(Single Shot MultiBox Detector)算法作為目標檢測算法之一,對于小目標的檢測,在速度和準確度方面綜合來看有顯著優勢。MobileNet 是輕量級神經網絡,具有速度快等優勢。為了對小型對象的精確識別,采用FPN 算法能顯著提高算法的精確度。因此,本系統選擇綜合數據較好且能滿足訓練要求的初始模型ssd_mobilenet_v1_coco 來訓練人體模型ssd_mobilenet_v1_fpn_co co ☆來訓練口罩和安全帽模型。
本系統模型訓練的一萬余張數據來源于三方面,分別為開源數據、實地拍攝數據與網絡爬取的數據。并在進行人工打標后,將其中的80%作為訓練集,其中的20%作為測試集。
2.2.1 訓練框架
本系統所用的識別檢測模型以TensorFlow 為訓練框架,TensorFlow 是由谷歌開發的機器學習系統,TensorFlow 在性能、構架靈活性和可移植性上都有顯著優勢[5]。
2.2.2 雙層模型
在傳統的單層模型開發過程中,本系統先利用原始數據集person(人頭)標簽與hat(頭戴安全帽)標簽進行模型訓練,輸出時hat 標簽為綠框,person 為紅框。經多次測試發現,所訓練的單層模型存在以下問題:(1)無法做到無視人體范圍外的安全帽,如放置在置物架、地上等情況;(2)由于物體識別類的模型不具有標簽之間的互斥關系,而hat 與person 標簽的標識范圍都包含人的面部,易導致存在模型將同一個人標兩種標簽等情況。(圖2)

圖2 單層模型效果圖

圖3 HELMET 模型和MASK 模型mAP 值

圖4 演示效果圖

圖5 功能模塊圖
因此,本系統采用雙層模型的架構來實現安全帽識別、口罩識別。目前尚未發現有文獻將雙層模型的架構運用于安全帽識別檢測。該識別邏輯是,先利用人體識別(PERSON)模型(只含有person(包含整個人體)標簽),進行第一層人體識別;再利用安全帽識別(HELMET)模型(只含有helmet 標簽)與口罩模型在人體(person標簽)范圍內進行第二層檢測。該雙層模型檢測方法,可以有效忽視人體(person 標簽)范圍外的安全帽及其類似物,并解決同一個人出現兩種標簽的情況,在減少干擾的同時提高了識別效率。
2.2.3 訓練結果
(1)準確度。mAP(Mean Average Precision)是對目標檢測的常用評測指標。本文利用閾值取Iou=0.5 的mAP 值判斷模型的平均準確率。
PERSON 模型中的person 標簽是源模型本身自帶的,由TensorFlow 官方所訓練,具有極高的準確性,對監控視角的人體識別更佳。經人工打標訓練后的HELMET 模型,mAP 值達到87%,而經人工打標訓練后的MASK 模型,由于特征簡單,mAP 值達94%。(圖3)
(2)速度。本系統以GTX-1050Ti 作為測試硬件。經多次測試發現,識別后的實時監控以16幀/秒傳輸至web 應用端。根據對現實情況的模擬與分析,生產操作環境中,連續兩幀的內容識別重復率大且無意義。因此,本系統采用跳幀識別的方式,在不影響現實可行性的情況下,提升識別效率。經測試,進行違規記錄后的實時監控以25 幀/秒傳輸至網頁。數據證明,利用跳幀識別后,模型的識別速度有了大幅度提升。
本系統雙層模型的識別演示效果分別如圖4 所示。模型的使用邏輯:當判別安全帽與口罩已同時佩戴時,將人體用藍框標注,將安全帽用綠框標注,將口罩部分用淡藍色框標注;當判別人體未佩戴安全帽或口罩情況下,將人體用紅框標注,將人臉部分用黃框標注,此時判為操作人員違規,進行現場警示燈與報警器提醒,并在系統中進行違規行為記錄。
本文的檢測管理系統功能模塊如圖5 所示,本系統分為四個模塊:實時監控模塊、歷史記錄處理模塊、違規統計模塊、人員管理模塊。
實時監控模塊中,本系統兼容傳統監控系統的功能基礎上,將每個攝像頭數據進行識別后實時傳輸至網頁,讓管理者可分車間地通過屏幕實時觀看經識別后的監控畫面以及最新的六張違規記錄。
歷史記錄處理模塊中,管理員可調取特定時間段內的違規記錄,并可在選擇圖片后進行對違規人員的扣分操作,違規記錄將會在處理后用綠標提示。由于系統會記錄短時間內同一違規人員的多次違規記錄,管理員可對其余違規記錄,進行批量標記為已處理,以避免對同一次違規進行多次扣分,測試證明,該設定符合實際應用需求。
違規統計模塊中,本系統會根據違規情況進行數(轉下頁)據統計,用可視化的圖片幫助管理員管理,以月為單位對違規數據進行統計,其中包括周違規統計變化、不同車間違規對比、人員違規數據統計等。
人員管理模塊,管理員可在此模塊調取特定人員的情況,其中包括基本信息、違規情況、月考勤分值等相關信息。
綜上所述,基于特殊生產車間環境,本文提出了一種安全帽與口罩檢測管理系統設計。首先,給出了系統的總體設計,再分別對識別檢測模塊設計與web 端應用設計進行了詳細介紹,其中包括模型選擇與數據集、雙層模型概念的提出、訓練結果與效果。初步應用表明,本系統的安全帽模型識別檢測率達87%,口罩模型識別檢測率達94%,在結合系統功能的情況下,能有效適應生產操作環境下,安全帽與口罩的檢測識別與違規管理。
經總結和分析,本系統所訓練的模型可通過擴大樣本量、提高樣本質量的方式提高模型檢測率。同時,可針對相應應用場所,在訓練集中加入特定生產車間的樣本,提高識別準確率,為其打造更為精準智慧的系統。同時,本系統可完善人員管理模塊,通過增添軟硬件結合的打卡考勤等功能,以進行更好的人員管理。除此之外,針對歷史記錄處理模塊,可增添過濾機制,通過人臉識別,過濾短時間內,同一人的違規記錄,減輕系統管理員的負擔。力求提供更為智慧的安全帽與口罩檢測管理系統。