章翌,劉道譜,潘俊杰,張宇軒,甘文霞*
(1.武漢光谷建設投資有限公司,湖北 武漢 430205;2.武漢工程大學土木工程與建筑學院,湖北武漢 430074)
在建筑、采礦等工業生產過程中,存在坍塌、高空墜物等潛在風險,安全帽作為其中常見的防護用具發揮著重要保護作用[1]。然而在實際施工作業中,仍然存在人員未佩戴好安全帽的情況,存在極大的安全隱患。目前,施工現場主要采用的視頻監控和人工觀察檢測方法存在識別效率低、動態性差、成本高等弊端,無法滿足精細化安全管理需求[2]。因此,實現施工現場安全帽佩戴的智能識別具有重要意義。
近年來基于深度學習的目標檢測算法迅速崛起,其主要分為兩類:一是基于候選區域的兩階段法,如Fast R-CNN[3]、Faster R-CNN[4]等;二是基于回歸分類的單階段法,如YOLO 系列[5-9]、SSD[10]等。兩階段方法的識別精度較為出色,但運行推理速度較慢,并不適合實際應用;單階段方法的識別精度和運行速度則相對均衡,在工業領域中得到廣泛應用。
目標檢測模型的訓練及推理都依賴強大的硬件設備,隨著物聯網(IoT,Internet of Things)技術的快速發展,大量移動設備和傳感器應用于工程領域,但模型卻無法適應移動設備有限的內存和算力資源,運行效率和模型大小等方面存在諸多問題。因此,在嵌入式系統領域,需要在保持高精度的前提下,盡可能壓縮模型以實現低能耗和低延遲的需求[11]。
為更好地解決上述問題,邊緣計算(Edge Computing)作為一種新興的計算模式和框架應運而生,其核心思想是將數據處理和計算能力下沉到網絡邊緣。在當前應用中,通常采用云-邊協同方式,首先通過云端強大的算力資源進行模型訓練以應對大量數據和復雜任務,然后將經過量化的模型遷移至邊緣設備進行推理應用。此方式充分利用了云端的計算能力,并將實時推理決策遷移至邊緣,實現快速響應[11,12]。
綜上所述,針對施工現場人員安全帽佩戴問題,并考慮到云端計算的延時,本文提出了一種基于邊緣計算的安全帽佩戴檢測系統。利用安全帽數據集訓練YOLOv5 目標檢測模型,并進行量化轉換、遷移部署至SE5 邊緣盒子進行推理測試。實驗結果表明,該系統能夠快速準確的識別施工人員是否佩戴好安全帽,適用于實際施工場景。
YOLOv5 目標檢測模型性能均衡,考慮到實際施工現場對安全帽佩戴檢測精度和速度的需求,本文選擇YOLOv5s 作為目標檢測模型,具體結構如圖1 所示。

圖1 YOLOv5s 網絡結構圖
YOLOv5 模型的網絡結構由輸入端、骨干網絡、頸部網絡和檢測端四部分組成。其中,輸入端進行預處理工作;骨干網絡進行輸入圖像的特征提取;頸部網絡進行特征融合;最終,檢測端預測目標的類別和位置信息并生成檢測結果。
邊緣計算是一種將計算節點部署在數據邊緣端的計算方式,相較于傳統的云計算,邊緣計算在性能響應、可靠性等方面具有較大優勢,具體[14,15]如下:
(1)低延遲:邊緣計算將數據處理能力遷移至網絡邊緣端,能夠直接對數據進行本地處理和決策,對云端和網絡帶寬的依賴性小,數據傳輸快且穩定,滿足實時應用需求;
(2)高效率:邊緣計算距離用戶、數據源更近,可以在邊緣節點處實現數據的處理分析,從而提升工作效率;
(3)安全可靠:邊緣計算的本地化的數據處理方式能更好地保障數據隱私,減少敏感數據頻繁傳輸到云端的風險。
本文設計了一種基于邊緣計算的安全帽佩戴檢測系統,其框架如圖2 所示,通過將YOLOv5s 模型部署至邊緣設備上,系統能夠快速準確地識別施工人員是否佩戴好安全帽。

圖2 檢測系統框架圖
檢測模型從訓練到部署測試的整體流程如下:
(1)模型訓練:在主機端Pytorch 框架下,采用YOLOv5s 模型對安全帽佩戴數據集進行訓練。
(2)模型預編譯:通過使用JIT 工具對原始Pytorch 模型進行預編譯,保證模型量化后的運行效率和性能。
(3)模型量化轉換:對模型權重文件進行量化轉換,將FP32 模型轉換為INT8 模型,以減少模型的存儲和計算開銷。然后將量化模型轉換為邊緣設備支持的特定文件格式,如Sophon 系列TPU 平臺支持的Bmodel 文件。本文使用Sophon SDK 提供的Auto_cali 一鍵量化工具進行轉換。
(4)模型部署推理:通過SSH 協議將Bmodel 模型、測試數據集以及相關Python 文件傳輸至SE5 邊緣端,實現模型部署。然后在適當的Python運行環境加載模型,對數據集進行推理測試,實現實時的安全帽佩戴檢測。
本文實驗采用兩個開源的安全帽佩戴檢測數據集,分別為安全帽佩戴數據集和Safety Helmet Wearing Dataset(SHWD)數據集。安全帽佩戴數據集共5000張圖像,包含安全帽、佩戴安全帽的人員、未佩戴安全帽的人員三類;SHWD 數據集共7581 張圖像,包含安全帽、未佩戴安全帽的人員兩類。本文實驗將以4:1 的比例劃分訓練集和驗證集。
本文的模型訓練階段實驗采用Windows 10 系統,GPU 型號為NVIDIA GeForce RTX 2080 Ti,使用PyTorch 1.10.0 和Python 3.8.搭建模型網絡。初始學習率設置為0.01,并通過余弦退火算法動態調整學習率,動量因子為 0.937,權重衰減系數為 0.0005,批處理大小為 8,訓練輪次為200。
模型遷移部署階段實驗采用Ubuntu 20.04 系統,邊緣設備選擇了北京算能科技有限公司的微服務器產品SE5 邊緣盒子,該設備搭載算能自主研發的張量處理器(TPU,Tensor Processing Unit)芯 片BM1684,INT8 算力可達17.6TOPS(Tera Operations Per Second),能夠同時處理16 路高清視頻,并支持38 路1080P 高清視頻解碼與2 路編碼。此外,SE5 支持主流深度學習框架,如Caffe、TensorFlow、Pytorch 等,其在智慧交通、智慧工地等場景中展現了強大能力,為傳統行業實現人工智能賦能提供重要支持[16]。
本文采用準確率(Precision)、召回率(Recall),平均精度均值(mAP,mean Average Precision)作為檢測精度指標,幀率(FPS,Frames Per Second)作為檢測速度指標。
依據參數設置對兩個數據集進行了模型評估實驗。從表1 和表2 可以看出,在安全帽佩戴數據集中mAP可達88.3%;在SHWD 數據集中mAP 可達94.8%,兩者檢測速度均滿足施工現場需求。檢測結果客觀地反映了YOLOv5s 模型在邊緣盒子上能夠快速、準確地實現施工現場安全帽的佩戴檢測。

表1 YOLOv5s 模型在安全帽佩戴數據集上的性能

表2 YOLOv5s 模型在SHWD 數據集上的性能
為了直觀展示安全帽佩戴檢測的效果,本文對部署了YOLOv5s 模型的SE5 邊緣盒子進行了實際檢測效果的可視化分析。從圖3 和圖4 可以看出,YOLOv5s 模型在SE5 邊緣盒子中可以準確地檢測出不同施工場景中人員是否佩戴安全帽,能夠充分滿足現場的安全管理需求。

圖3 安全帽佩戴數據集的可視化檢測結果

圖4 SHWD 數據集的可視化檢測結果
針對實際施工場景中的人員安全帽佩戴檢測問題,本文設計了一種基于邊緣計算的安全帽佩戴檢測系統。該系統通過采用YOLOv5 目標檢測模型對數據集進行訓練,并對模型權重文件進行編譯、量化、轉換等處理,將經過處理的模型部署至SE5 邊緣盒子中,實現安全帽檢測的推理測試。實驗結果表明,該系統在安全帽佩戴數據集和SHWD 數據集上的mAP 分別達到了88.3%和94.8%,推理速度分別可達14.39 幀/秒和14.67 幀/秒,能夠快速、準確地識別施工人員是否佩戴安全帽,為安全管理提供了可靠的技術支持。