鐘源建,劉添榮,李卓亮
(廣州電力工程監(jiān)理有限公司,廣東 廣州 510660)
企業(yè)施工具有行業(yè)危險性與建筑工業(yè)復雜性的特點,這使得施工現(xiàn)場危險程度高,佩戴安全帽能夠有效降低安全事故的發(fā)生,而單純依賴于安全巡視員現(xiàn)場巡視和開展安全教育培訓是遠遠不夠的[1]。采用AI技術對施工現(xiàn)場實施安全監(jiān)控,能有效提高工作效率。對安全帽檢測在天氣、光照強度等外界因素影響下出現(xiàn)的準確度低、漏檢率大、錯檢率高問題,在YOLO-ST中引入密集空間金字塔池化模塊,有效豐富了獲取目標中的細節(jié)信息,大大提高了檢測準確率[2]。結合安全帽數(shù)據(jù)集的目標尺度偏小、尺度分布不均衡問題,對SSD模型結構實施改進,添加了實施特征融合的分支網(wǎng)絡,使得安全帽佩戴檢測的準確率大大提升[3]。在傳統(tǒng)YOLO v4網(wǎng)絡中加入注意力機制模塊來對安全帽特征進行聚焦,對YOLO v4網(wǎng)絡進行改進,并與視頻監(jiān)控相結合,提出了安全帽佩戴檢測模型,該模型對識別率為42幀/s,能夠有效滿足檢測的實時性要求[4]。采用AI算法對施工現(xiàn)場安全帽佩戴不合規(guī)實施預警,對降低員工安全事故具有一定的實際意義。
YOLO算法是AI在目標檢測領域的重要算法。YOLO能夠在一次前向傳遞中直接預測目標位置與類別,具有比較高的檢測效率。YOLO v4作為YOLO系列的第4個版本,是基于深度學習的物體檢測算法,其采用卷積神經(jīng)網(wǎng)絡端到端的檢測模型,通過多尺度特征與多層次特征融合來檢測物體,大大提升了物體檢測的精度和效率[5]。傳統(tǒng)網(wǎng)絡所采用的激活函數(shù)往往不能夠對物體圖像的梯度信息進行有效保留,造成物體檢測準確率不高。YOLO v4采用的是Mish激活函數(shù),其數(shù)學表達式為[6]
(1)
Mish激活函數(shù)有上界無下界,避免了在網(wǎng)絡訓練過程中存在的梯度飽和問題,同時函數(shù)為非單調(diào)函數(shù),穩(wěn)定了網(wǎng)絡梯度流。Mish激活函數(shù)還具有無窮階連續(xù)性與光滑性,這使得網(wǎng)絡具有比較好的泛化能力。YOLO v4采用Mish激活函數(shù)使得檢測物體圖像的梯度信息得到保留,具有更好的平滑非線性特征,大大提升了模型的訓練學習能力。YOLO v4采用CSPDarknet53骨干網(wǎng)絡,具有比較高的精度和效率,其網(wǎng)絡結構如圖1所示[7]。
圖1 YOLO v4網(wǎng)絡結構
(1)輸入層:接受輸入的圖像數(shù)據(jù);
(2)Convolutional Layers:一系列的卷積層用于提取圖像的特征。CSPDarknet53使用多個卷積層來實現(xiàn)不同尺度的特征提取[8];
(3)CSP Blocks:CSPDarknet53引入了CSP Block作為主要的特征提取模塊。CSP Block的設計采用了部分連接的思想,將輸入特征分成2個部分:其中一部分經(jīng)過一系列的卷積操作;另一部分直接進行跨階段連接。通過這種設計,CSP Block能夠充分利用淺層和深層特征的信息,提高特征的表達能力;
(4)Residual Connections:CSPDarknet53在網(wǎng)絡中引入了殘差連接,將前一層的特征直接與后續(xù)層的特征相加,有助于信息的傳遞和梯度的流動;
(5)Downsample Layers:通過下采樣操作(如池化或卷積步長調(diào)整)來減小特征圖的尺寸,提取更高級別的特征[9];
(6)Upsample Layers:通過上采樣操作(如反卷積)來增加特征圖的尺寸,恢復較低級別的特征;
(7)最終特征層:網(wǎng)絡的最后一層輸出最終的特征圖,用于目標檢測和定位。
YOLO v4在進行目標檢測是具有顯著的優(yōu)勢,但是對存在大量重疊或者密集目標時,其可能會出現(xiàn)目標漏檢或者重復檢測的問題,這使得傳統(tǒng)的YOLO v4在處理大量重疊或密集目標時面臨巨大的挑戰(zhàn)[10]。另外,YOLO v4采用單個邊框來預測目標的位置與大小,這使得在處理復雜形狀或模糊邊界目標時往往存在邊界框和目標之間存在比較大的偏差。YOLO v4的缺陷使得其在施工現(xiàn)場安全帽檢測的過程中精度不高,需要進行模型的改進。
為了有效解決傳統(tǒng)YOLO v4模型對小目標、遮擋目標以及復雜背景下目標檢測精度低的問題,引入SENet(Squeeze-and-Excitation Network)注意力機制,通過學習通道間的依賴關系來自適應地調(diào)整特征圖的通道權重[11]。SENet主要包括Squeeze操作、Excitation操作以及Scale操作。Squeeze操作,即特征壓縮操作,用來降低輸入特征圖的維度,達到減少模型計算復雜度的目的。通過Squeeze操作提取全局統(tǒng)計信息,捕捉通道間的相關性,其數(shù)學表達式為:
(2)
Excitation操作是通過一系列全連接層或卷積層來學習通道間的依賴關系,并生成一個通道權重向量,通過激活函數(shù)和非線性變換來建模通道之間的相互關系。Scale操作是將通道權重向量乘以原始的特征圖,以加權增強特征圖中的每個通道。通過自適應地調(diào)整通道的權重,重要特征得到了更多的關注,而不重要的特征則被抑制[12]。圖2為SENet模塊。
圖2 SENet模塊
邊界框回歸損失函數(shù)是目標檢測任務中用于度量預測邊界框與真實邊界框之間差異的損失函數(shù),常常采用交并比(IoU),其數(shù)學表達式為[13]:
(3)
式中:A為真實標定框;B為預測候選框。
很明顯,如果A∩B=?,那么交并比為0,無法進行網(wǎng)絡訓練[14]。結合前人的研究成果,對其進行改進,定義邊界框回歸損失函數(shù)(GIOU)為:
(4)
式中:C為包含A和B的最小框。
很明顯所定義的邊界框回歸損失函數(shù)沒有考慮真實標定框和預測候選框中心的距離,對其進行修正,提出新的邊界框回歸損失函數(shù),即:
(5)
式中:b、bgt分別為預測框與真實框的中心點;ρ(b,bgt)為預測框與真實框中心點歐氏距離;c為預測框與真實框相交矩形區(qū)域對角線長度;ωgt、ω分別為真實框、預測框的寬度;hgt、h分別為真實框、預測框的高度。
采用多候選框學習策略,即在初始的待檢測目標候選框基礎上,通過整合目標的位置信息和分類置信度信息來優(yōu)化候選框的位置和分類置信度。在多候選框學習策略迭代的過程中不斷地優(yōu)化損失函數(shù),并優(yōu)化候選框參數(shù),提升目標檢測的準確性,使得最終選出的候選框具有更高的置信度并更接近目標的真實位置[15]。
(1)將待檢測目標(施工現(xiàn)場員工人頭)的候選框構成數(shù)組Ai,計算候選框分類置信度和位置信息,計算公式為:
(6)
從數(shù)組Ai中選取分類置信度和位置得分最高的候選框,使用其相關信息更新模型參數(shù)。
(2)為了獲取更準確的分類置信度和位置得分,采用當前計算模型來計算數(shù)組Ai中候選框的分類置信度與位置。
(3)通過多次迭代上述步驟,不斷更新模型參數(shù)并重新評估候選框的分類置信度和位置,從而得到最優(yōu)的安全帽佩戴檢測候選框信息。
選擇深化方法是一種對抗過程,包括候選框選取、特征學習、迭代執(zhí)行,通過選擇和深化候選框來不斷優(yōu)化最終得到問題的最優(yōu)解。選擇深化方法的過程是首先選出分類置信度和位置得分較高的候選框,然后通過深化方法來學習未被選中的候選框中的特征。在迭代的過程中不斷地重復選擇與深化,從而達到逐步逼近最優(yōu)解的目的。
數(shù)據(jù)來源于開源的安全帽數(shù)據(jù)集(SHWD),在該數(shù)據(jù)集中有7 581張圖片,其中正樣本(佩戴安全帽)個數(shù)為9 044,負樣本(未佩戴安全帽)個數(shù)為111 514,正負樣本比例近似為1∶12[16]。正負樣本個數(shù)差距非常大,容易導致模型預測結果偏向于負樣本分類,降低預測模型的泛化能力。為增加正樣本數(shù)量,在SHWD數(shù)據(jù)集中增加4 000張施工現(xiàn)場佩戴安全帽的圖像,并采用LabeLImg手動標注新增圖像工人佩戴安全帽情況,共標注了18 326個佩戴安全帽的樣本。
在電腦上開展試驗,電腦處理器為Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz,操作系統(tǒng)為Windows 10 家庭中文版。各方法均采用PyTorch深度學習框架[17],設定最大迭代次數(shù)為200,學習率為0.014,同時采用等間隔方法調(diào)整學習率。將本文算法和YOLO v2[18]、YOLO v3[19]、YOLO v4[20]進行性能對比,對比結果如表1所示。
表1 算法性能對比
由表1可知,本文所提出的算法是對YOLO v4的改進,在特定層插入注意力模塊,這使得全類平均正確率(mAP)數(shù)值得到了明顯提升。相對于YOLO v2、YOLO v3、YOLO v4,改進的YOLO v4計算量最大,但是依舊可以滿足視頻監(jiān)控實時檢測幀率大于30幀/s的需求,同時也確保了施工現(xiàn)場安全帽佩戴檢測準確性的大大提升。損失函數(shù)對目標檢測的效果具有重要影響,分析不同損失函數(shù)的影響,結果如圖3所示。
圖3 不同回歸損失函數(shù)訓練過程
由圖3可知,采用IoU回歸損失函數(shù)mAP值為82.3%;采用GIoU回歸損失函數(shù)mAP值為86.7%,采用CIoU回歸損失函數(shù)mAP值為94.6%,即采用CIoU回歸損失函數(shù)的目標檢測性能最佳。同時,采用CIoU回歸損失函數(shù)相對于IoU、GIoU回歸損失函數(shù),其收斂效率更高且更容易區(qū)域穩(wěn)定。
對比采用多候選框策略和未采用多候選框策略,結果表明:當采用多候選框策略時,其mAP為97.8%;未采用多候選框策略時,其mAP為92.6%,即采用多候選框策略大大提升了目標檢測的性能。未采用多選候選框策略出現(xiàn)了漏檢,采用多候選框策略不僅提升了施工現(xiàn)場安全帽佩戴的檢測性能,同時也可以有效避免漏檢的出現(xiàn)。
施工現(xiàn)場安全帽預警直接關系到施工現(xiàn)場工人的生命安全,提出了基于改進YOLO v4的工人安全帽佩戴檢測算法。改進的YOLO v4在特定層插入注意力模塊,定義了新的邊界框回歸損失函數(shù),同時采用多候選框學習策略。將提出的安全帽佩戴檢測模型應用于安全帽數(shù)據(jù)集SHWD,結果表明所提出的改進模型能夠快速、準確檢測施工現(xiàn)場工人佩戴安全帽情況,同時發(fā)出預警,這對降低施工現(xiàn)場安全管理成本,提升安全管理質(zhì)量具有一定的參考價值。