章翌,劉道譜,潘俊杰,張宇軒,甘文霞*
(1.武漢光谷建設投資有限公司,湖北 武漢 430205;2.武漢工程大學土木工程與建筑學院,湖北武漢 430074)
在建筑、采礦等工業(yè)生產(chǎn)過程中,存在坍塌、高空墜物等潛在風險,安全帽作為其中常見的防護用具發(fā)揮著重要保護作用[1]。然而在實際施工作業(yè)中,仍然存在人員未佩戴好安全帽的情況,存在極大的安全隱患。目前,施工現(xiàn)場主要采用的視頻監(jiān)控和人工觀察檢測方法存在識別效率低、動態(tài)性差、成本高等弊端,無法滿足精細化安全管理需求[2]。因此,實現(xiàn)施工現(xiàn)場安全帽佩戴的智能識別具有重要意義。
近年來基于深度學習的目標檢測算法迅速崛起,其主要分為兩類:一是基于候選區(qū)域的兩階段法,如Fast R-CNN[3]、Faster R-CNN[4]等;二是基于回歸分類的單階段法,如YOLO 系列[5-9]、SSD[10]等。兩階段方法的識別精度較為出色,但運行推理速度較慢,并不適合實際應用;單階段方法的識別精度和運行速度則相對均衡,在工業(yè)領域中得到廣泛應用。
目標檢測模型的訓練及推理都依賴強大的硬件設備,隨著物聯(lián)網(wǎng)(IoT,Internet of Things)技術的快速發(fā)展,大量移動設備和傳感器應用于工程領域,但模型卻無法適應移動設備有限的內存和算力資源,運行效率和模型大小等方面存在諸多問題。因此,在嵌入式系統(tǒng)領域,需要在保持高精度的前提下,盡可能壓縮模型以實現(xiàn)低能耗和低延遲的需求[11]。
為更好地解決上述問題,邊緣計算(Edge Computing)作為一種新興的計算模式和框架應運而生,其核心思想是將數(shù)據(jù)處理和計算能力下沉到網(wǎng)絡邊緣。在當前應用中,通常采用云-邊協(xié)同方式,首先通過云端強大的算力資源進行模型訓練以應對大量數(shù)據(jù)和復雜任務,然后將經(jīng)過量化的模型遷移至邊緣設備進行推理應用。此方式充分利用了云端的計算能力,并將實時推理決策遷移至邊緣,實現(xiàn)快速響應[11,12]。
綜上所述,針對施工現(xiàn)場人員安全帽佩戴問題,并考慮到云端計算的延時,本文提出了一種基于邊緣計算的安全帽佩戴檢測系統(tǒng)。利用安全帽數(shù)據(jù)集訓練YOLOv5 目標檢測模型,并進行量化轉換、遷移部署至SE5 邊緣盒子進行推理測試。實驗結果表明,該系統(tǒng)能夠快速準確的識別施工人員是否佩戴好安全帽,適用于實際施工場景。
YOLOv5 目標檢測模型性能均衡,考慮到實際施工現(xiàn)場對安全帽佩戴檢測精度和速度的需求,本文選擇YOLOv5s 作為目標檢測模型,具體結構如圖1 所示。
圖1 YOLOv5s 網(wǎng)絡結構圖
YOLOv5 模型的網(wǎng)絡結構由輸入端、骨干網(wǎng)絡、頸部網(wǎng)絡和檢測端四部分組成。其中,輸入端進行預處理工作;骨干網(wǎng)絡進行輸入圖像的特征提取;頸部網(wǎng)絡進行特征融合;最終,檢測端預測目標的類別和位置信息并生成檢測結果。
邊緣計算是一種將計算節(jié)點部署在數(shù)據(jù)邊緣端的計算方式,相較于傳統(tǒng)的云計算,邊緣計算在性能響應、可靠性等方面具有較大優(yōu)勢,具體[14,15]如下:
(1)低延遲:邊緣計算將數(shù)據(jù)處理能力遷移至網(wǎng)絡邊緣端,能夠直接對數(shù)據(jù)進行本地處理和決策,對云端和網(wǎng)絡帶寬的依賴性小,數(shù)據(jù)傳輸快且穩(wěn)定,滿足實時應用需求;
(2)高效率:邊緣計算距離用戶、數(shù)據(jù)源更近,可以在邊緣節(jié)點處實現(xiàn)數(shù)據(jù)的處理分析,從而提升工作效率;
(3)安全可靠:邊緣計算的本地化的數(shù)據(jù)處理方式能更好地保障數(shù)據(jù)隱私,減少敏感數(shù)據(jù)頻繁傳輸?shù)皆贫说娘L險。
本文設計了一種基于邊緣計算的安全帽佩戴檢測系統(tǒng),其框架如圖2 所示,通過將YOLOv5s 模型部署至邊緣設備上,系統(tǒng)能夠快速準確地識別施工人員是否佩戴好安全帽。
圖2 檢測系統(tǒng)框架圖
檢測模型從訓練到部署測試的整體流程如下:
(1)模型訓練:在主機端Pytorch 框架下,采用YOLOv5s 模型對安全帽佩戴數(shù)據(jù)集進行訓練。
(2)模型預編譯:通過使用JIT 工具對原始Pytorch 模型進行預編譯,保證模型量化后的運行效率和性能。
(3)模型量化轉換:對模型權重文件進行量化轉換,將FP32 模型轉換為INT8 模型,以減少模型的存儲和計算開銷。然后將量化模型轉換為邊緣設備支持的特定文件格式,如Sophon 系列TPU 平臺支持的Bmodel 文件。本文使用Sophon SDK 提供的Auto_cali 一鍵量化工具進行轉換。
(4)模型部署推理:通過SSH 協(xié)議將Bmodel 模型、測試數(shù)據(jù)集以及相關Python 文件傳輸至SE5 邊緣端,實現(xiàn)模型部署。然后在適當?shù)腜ython運行環(huán)境加載模型,對數(shù)據(jù)集進行推理測試,實現(xiàn)實時的安全帽佩戴檢測。
本文實驗采用兩個開源的安全帽佩戴檢測數(shù)據(jù)集,分別為安全帽佩戴數(shù)據(jù)集和Safety Helmet Wearing Dataset(SHWD)數(shù)據(jù)集。安全帽佩戴數(shù)據(jù)集共5000張圖像,包含安全帽、佩戴安全帽的人員、未佩戴安全帽的人員三類;SHWD 數(shù)據(jù)集共7581 張圖像,包含安全帽、未佩戴安全帽的人員兩類。本文實驗將以4:1 的比例劃分訓練集和驗證集。
本文的模型訓練階段實驗采用Windows 10 系統(tǒng),GPU 型號為NVIDIA GeForce RTX 2080 Ti,使用PyTorch 1.10.0 和Python 3.8.搭建模型網(wǎng)絡。初始學習率設置為0.01,并通過余弦退火算法動態(tài)調整學習率,動量因子為 0.937,權重衰減系數(shù)為 0.0005,批處理大小為 8,訓練輪次為200。
模型遷移部署階段實驗采用Ubuntu 20.04 系統(tǒng),邊緣設備選擇了北京算能科技有限公司的微服務器產(chǎn)品SE5 邊緣盒子,該設備搭載算能自主研發(fā)的張量處理器(TPU,Tensor Processing Unit)芯 片BM1684,INT8 算力可達17.6TOPS(Tera Operations Per Second),能夠同時處理16 路高清視頻,并支持38 路1080P 高清視頻解碼與2 路編碼。此外,SE5 支持主流深度學習框架,如Caffe、TensorFlow、Pytorch 等,其在智慧交通、智慧工地等場景中展現(xiàn)了強大能力,為傳統(tǒng)行業(yè)實現(xiàn)人工智能賦能提供重要支持[16]。
本文采用準確率(Precision)、召回率(Recall),平均精度均值(mAP,mean Average Precision)作為檢測精度指標,幀率(FPS,F(xiàn)rames Per Second)作為檢測速度指標。
依據(jù)參數(shù)設置對兩個數(shù)據(jù)集進行了模型評估實驗。從表1 和表2 可以看出,在安全帽佩戴數(shù)據(jù)集中mAP可達88.3%;在SHWD 數(shù)據(jù)集中mAP 可達94.8%,兩者檢測速度均滿足施工現(xiàn)場需求。檢測結果客觀地反映了YOLOv5s 模型在邊緣盒子上能夠快速、準確地實現(xiàn)施工現(xiàn)場安全帽的佩戴檢測。
表1 YOLOv5s 模型在安全帽佩戴數(shù)據(jù)集上的性能
表2 YOLOv5s 模型在SHWD 數(shù)據(jù)集上的性能
為了直觀展示安全帽佩戴檢測的效果,本文對部署了YOLOv5s 模型的SE5 邊緣盒子進行了實際檢測效果的可視化分析。從圖3 和圖4 可以看出,YOLOv5s 模型在SE5 邊緣盒子中可以準確地檢測出不同施工場景中人員是否佩戴安全帽,能夠充分滿足現(xiàn)場的安全管理需求。
圖3 安全帽佩戴數(shù)據(jù)集的可視化檢測結果
圖4 SHWD 數(shù)據(jù)集的可視化檢測結果
針對實際施工場景中的人員安全帽佩戴檢測問題,本文設計了一種基于邊緣計算的安全帽佩戴檢測系統(tǒng)。該系統(tǒng)通過采用YOLOv5 目標檢測模型對數(shù)據(jù)集進行訓練,并對模型權重文件進行編譯、量化、轉換等處理,將經(jīng)過處理的模型部署至SE5 邊緣盒子中,實現(xiàn)安全帽檢測的推理測試。實驗結果表明,該系統(tǒng)在安全帽佩戴數(shù)據(jù)集和SHWD 數(shù)據(jù)集上的mAP 分別達到了88.3%和94.8%,推理速度分別可達14.39 幀/秒和14.67 幀/秒,能夠快速、準確地識別施工人員是否佩戴安全帽,為安全管理提供了可靠的技術支持。