?

基于改進YOLOv4 頸部優化網絡的安全帽佩戴檢測方法

2023-12-26 07:23徐先峰馬志雄姚景杰趙萬福
重慶大學學報 2023年12期
關鍵詞:安全帽頸部卷積

徐先峰,王 軻,馬志雄,姚景杰,趙萬福

(長安大學 能源與電氣工程學院,西安 710016)

建筑施工安全是建筑施工現場作業的生命線[1]。為了能夠對施工人員安全帽佩戴進行全天候、無死角監督[2-3]; 高準確性、高實時性滿足復雜背景安全帽檢測算法至關重要。

為實現安全帽佩戴自動檢測,研究人員進行大量研究,但基于傳統安全帽佩戴檢測主要通過捕獲邊緣、顏色等特征[4-5],對于復雜施工環境下檢測效果一般,且效率低、耗時長,無法真正應用到實際施工現場,這使準確、高效實現安全帽佩戴檢測成為一項艱巨任務。隨著人工智能技術發展,基于深度學習方法逐漸成為目標檢測的主流方法[6-7],YOLOv4[8]作為經典基于深度學習的目標檢測算法之一,在處理復雜背景下安全帽檢測時表現出優異的檢測效果,但存在訓練步驟繁瑣、測試訓練速度慢、占用計算機內存空間大等缺點。輕量型網絡MobileNet-SSD[9]充分利用密集塊中卷積層產生的輸出特征圖,重復使用這些特征,降低了參數和計算成本,然而其易出現漏檢、錯檢現象。

研究的主要貢獻為:①充分結合深度學習方法和輕量型網絡MobileNet-SSD 兩者的優點,在YOLOv4 網絡基礎上對其改進,高效準確實現安全帽的檢測與識別;②引入輕量型MobileNet 網絡加快安全帽的佩戴檢測速度,解決YOLOv4 算法參數量巨大、檢測速度緩慢等問題。進一步改進MobileNet 網絡結構,將淺層語義特征進行加強;③通過改進特征金字塔和引入并改進注意力機制等頸部優化策略聚焦目標信息,解決圖像中小目標分辨率低,信息特征少,多尺度并存,小目標在連續卷積過程中容易丟失特征信息等問題;④基于改進YOLOv4 算法的安全帽佩戴監測方法實現了在極端可視化條件和極端小目標情況下均對安全帽佩戴的快速準確檢測,并且檢測速度與檢測精度達到平衡。

1 安全帽佩戴檢測算法

1.1 YOLOv4 模型算法

YOLOv4 是經典的目標檢測算法,主要是對分幀標注后的圖片進行特征提取,利用回歸思想對目標進行分類和位置定位,最終得到檢驗框位置、類別及置信度。YOLOv4 在復雜背景下具有優異的檢測效果,適用于安全帽佩戴場景檢測[10]。

考慮到實際應用中的視頻監控設備多使用CPU 平臺,不具備GPU 的并行加速計算能力,在CPU 平臺下YOLOv4 算法檢測速度緩慢,時效性差,難以滿足實時性要求,在YOLOv4 算法基礎上引入MobileNet 輕量級網絡并對其進行改進。輕量化YOLOv4 網絡可有效加快檢測速度,但對于監控視頻中含有多夜間極端條件和極端小目標時易造成安全帽佩戴的漏檢、錯檢等現象。因此在輕量化網絡基礎上,YOLOv4 頸部網絡中改進特征金字塔FPN 設計了信息連接層,小目標特征信息在提取過程中保持信息完整,獲得更好魯棒性的語義信息,改進注意力機制聚焦目標信息,弱化安全帽檢測時背景信息的干擾。

1.2 YOLOv4 模型算法

按照改進順序依次對MobileNet 網絡、新型特征金字塔和輕量雙注意力機制進行介紹。將其稱為基于改進的YOLOv4 頸部優化網絡算法,其網絡結構如圖1 所示。

圖1 基于改進的YOLOv4 頸部優化算法網絡結構Fig. 1 Network structure based on improved YOLOv4 neck optimization algorithm

1.2.1 MobileNet 輕量化分析

MobileNet 是一種兼備檢測精度和檢測速度的輕量型神經網絡,通過構建深度可分離卷積改變網絡計算方式,降低網絡參數量、模型復雜度,提高模型的檢測速度。深度可分離卷積是實現輕量型神經網絡最關鍵一步。深度可分離卷積將標準的卷積分解成逐點卷積和深度卷積[10-11]。

假設輸入特征圖大小為DF×DF×M,其輸出特征圖大小為DF×DF×N,其中:DF表示特征圖的高和寬,M和N表示特征圖的通道數。

其中:Sa為傳統卷積參數的總數;深度可分離卷積的總計算量Sb為深度卷積計算量Sc與逐個卷積計算量Sd之和;Sc為深度卷積計算量;Sd為卷積計算量;Sb/Sa為深度可分離卷積總計算量與傳統卷積計算量之比。明顯深度可分離卷積的計算量比傳統卷積核小很多,卷積核個數N越大,計算量更大。

YOLOv4 網絡中的基礎網絡CSPDarknet53 是傳統卷積網絡,其一層的計算量經公式(1)得到,經計算CSPDarknet53 的參數量為27.6*107。對于MobileNet 網絡中采用深度可分離卷積,每一層對應的計算量由公式(4)計算,經計算MobileNet 網絡的參數量為4.2*107。利用MobileNet 網絡替換YOLOv4 的CSPDarknet53網絡,參數量下降為原來的YOLOv4 網絡更加輕量化,有效減少內存消耗,為YOLOv4 安全帽佩戴檢測算法在CPU 平臺應用提供了可能。

在目標檢測領域,一張圖片可以產生數以千計的預測樣本,其中大部分預測樣本與目標檢測的背景有關,稱其為負樣本,只有一小部分樣本與檢測目標有關為正樣本,為減少隨機預測框數量,在MobileNet 網絡基礎上創新性引入跨越模塊(crossing block),跨越模塊由卷積層和池化層組成,如圖2 所示,其主要通過增加神經網絡中獨特描述特征的數量,降低計算復雜度。在跨越模塊中為了保留目標的顯著特征和減小空間大小,首先對特征圖進行全局平均池化,然后經批量歸一化、Relu 激活函數、卷積層等操作。批量處理歸一化(BN)和ReLU 非線性應用在每個卷積層之后,除了最后一個沒有使用ReLU 的卷積層。選擇全局平均池化是因為直接實現了降維,極大減少網絡參數量,并對局部信息進行整合。

圖2 跨越模塊Fig. 2 crossing block

在MobileNet 網絡的結構基礎上引入跨越模塊稱其為改進的MobileNet 網絡,其網絡結構如圖3 所示。在第一個卷積塊之后插入2 個跨越模塊,直接將淺層語義信息直接傳遞到第6 個benck 模塊和第10 個benck模塊,對淺層語義特征進行加強??缭侥K將淺層語義特征直接從第一層傳遞到網絡最后一層。在神經網絡中,層空間大小逐漸減小,無法直接進行連接。利用add 方式將不同空間大小的層連接起來,利用從第一層提取的語義特征豐富最后一層。add 方式在保證維度不變情況下,每一維的信息量增多,增強目標檢測的分類效果。

圖3 改進的MobileNet 網絡結構Fig. 3 Improved MobileNet network architecture

1.2.2 新型特征金字塔

特征金字塔FPN 提出使多尺度特征融合技術在計算機視覺領域得到廣泛應用,特征提取能力顯著加強。研究人員基于FPN 特征網絡結構進行跨尺度特征融合的大量研究。FPN 特征金字塔[12]利用淺層語義特征區分簡單目標,深層語義特征區分復雜目標,PANet[13]在特征金字塔FPN 的基礎上增加了額外路徑聚合層,其雙向融合方式較為簡單。引入可學習權重對不同特征層的特征信息進行加強,重復利用高層語義特征和低層位置特征,形成雙向特征金字塔BiFPN[14],如圖4(a)所示。

圖4 特征金字塔Fig. 4 Feature Pyramid Networks

安全帽佩戴檢測過程中需要利用攝像頭拍攝到的監控畫面,攝像頭距離施工人員的遠近導致拍攝目標大小形狀往往各不相同。為了解決多尺度以及在特征提取時淺層語義特征信息丟失問題,筆者研究了一種新的基于雙向尺度連接特征融合的新型特征金字塔,如圖4(b)所示該網絡具有信息直接連接層和淺層信息融合層。針對小目標在連續卷積過程中特征信息丟失問題,在特征融合網絡中設計了信息連接層,直接在雙向跨度特征金字塔的每個節點迭代輸出與初始輸入特征映射進行特征融合,使小目標特征信息在提取過程中保持信息完整。

使用多尺度目的是為了融合不同分辨率下特征圖信息。給定一組多尺度輸入Pin= (Pin1、Pin2、...、Pinn),其中Pini表示第i層的特征信息。多尺度融合方法其公式為

其中:conv 表示卷積操作;Resize 表示為了匹配特征尺度進行的上采樣或下采樣操作。

使用特征加權融合方法對不同特征尺度的特征層進行融合,對每個輸入添加額外的權重,使得網絡對不同特征輸入進行調整與融合,其融合公式如(9)所示

其中:ωi是一個可學習的權重,其值位于0 和1 之間。通過添加一個很小的ε來保證數值的穩定性;Ii表示第i個特征輸入量。

如圖4(a)所示,其中虛線表示特征金字塔的基本單元。對其中P4層為例進行迭代,其中包括2 層,中間層和輸出層,如公式(10)、(11)所示

其中:Ptd4表示P4層中間層的輸出;ωi和Resize 跟前文一致;Pout4表示P4輸出層的輸出。

新型特征金字塔是在BiFPN 特征金字塔基礎上設計了信息直接連接層,如圖4(b)中紅線所示將每個節點的迭代輸出與初始輸入特征映射進行特征融合。利用信息直接連接層在雙向跨尺度連接特征融合金字塔的每個迭代輸出節點上與初始輸入特征映射進行特征融合,使小目標特征信息在特征提取過程中保持完整。計算方法如公式(12)所示

1.2.3 輕量雙注意力機制

注意力機制在目標檢測領域得到廣泛應用,其能夠聚焦目標信息,降低背景信息對檢測效果的影響,有效提高神經網絡對于目標的識別能力。為充分考慮安全帽檢測的準確性和實時速度,利用通道注意力和空間注意力機制模型,筆者研究了一種輕量雙注意力機制模型LDAM(lightweight dual attention module),如圖5所示。LDAM 借鑒了DAM[15]和CBAM[16]的優勢,在有效性跟效率性之間取得平衡。

圖5 LDAM 模型Fig. 5 Lightweight Dual Attention Module

圖6 真實場景下的檢測圖像Fig. 6 Detection image in real scene

輕量雙注意力機制依次通過通道注意力機制和空間注意力機制,在進行聚焦目標信息的基礎上,沒有產生額外的權重和計算機成本。圖7 紅色虛線框是一種注意力機制全局池化模型。其主要應用有兩方面:用于全局空間上下文池化;用于全局通道上下文池化。

圖7 兩類目標PR 曲線、F1 曲線及AP 值Fig. 7 Two kinds of target PR curve, F1 curve and AP value

給定輸入特征圖U∈RC×W×H,注意力機制全局池化模型通過Softmax 計算得到自注意力矩陣M1,如式(13)

其中:W1代表權重向量;Softmax 表示歸一化函數。

最后自注意力矩陣M1與輸入特征向量U進行相乘,得到向量a

其中:a代表每個通道的全局信息;通道注意力輸出特征圖V∈RC×W×H經過全局平局池化網絡,后經過Softmax 計算得到每個空間的全局信息β。

輕量雙注意力機制模型依次通過通道注意力機制和空間注意力機制可將數據量從O(CWH)減少到O(WH),有效提高目標檢測速度。

2 實驗結果與分析

2.1 數據集構建

實際工程應用信號運行環境更加復雜,所采集振動信號噪聲干擾更強,針對目前安全帽數據集規模較小,為了正負樣本保持平衡,保證數據樣本多樣性,依托互聯網平臺大量采集安全帽圖像,利用視頻截圖軟件YoloMark 對人員流動性大、建筑物遮擋、夜間可視化條件差等復雜施工背景下的視頻進行分幀截取圖片,截圖的圖片覆蓋了復雜背景下的各種施工人員佩戴安全帽情形。數據集中包含圖像10 032 張,其中包括安全帽目標13 909 個,未佩戴安全帽人臉目標112 728 個。

將數據集隨機劃分為2 部分:訓練集和測試集。其中訓練集為4 636 張安全帽圖像和3 396 張人臉圖像,測試集為1 000 張安全帽圖像和1 000 張人臉圖像。

2.2 模型訓練

為驗證基于改進的MobileNet-YOLOv4 安全帽佩戴檢算法,獲得最優模型,筆者迭代輪次設置為100 步,IOU 閾值設置為0.5。模型訓練100 個迭代輪次(Epoch),前50 個迭代輪次引入凍結訓練來加快訓練速度,防止訓練初期權值被破壞。剛開始訓練時,為使損失函數快速下降,批量大?。˙atch size)設置為16,一個迭代輪次迭代次數為383。后50 個輪次解除凍結進行全網絡訓練。為防止錯過最優點,批量大小為8,一個迭代輪次迭代次數為767。參數設置如表1 所示。

表1 基礎參數表Table 1 Base parameter table

2.3 評價指標

通常衡量目標檢測算法性能指標主要圍繞檢測速度和檢測精度2 個方面。檢測任務的精度用平均精確度(mAP)及精確率與召回率的調和平均數(F1)等評價指標來衡量;1 s 處理圖片的數量(FPS),其用于評價算法的檢測速度。主要依據這4 個指標對安全帽佩戴檢測算法進行評價。

1) mAP

mAP 表示平均準確精度,通常需要以下3 個指標進行綜合評價:召回率Recall、準確率Precision、平均精度Average precision,計算公式如(15)、(16)所示.

其中:TP(true positive)即模型預測正確的正樣本;FP(false positive)代表模型預測錯誤的正樣本;FN(false negative)代表模型預測錯誤的負樣本;TN(true negative)代表模型預測正確的負樣本。召回率表示在所有標注中正樣本所占的比重,準確率表示模型預測為正樣本占總體正樣本的比重。Precision-recall 曲線(PR曲線),是以Recall 為橫軸、Precision 為縱軸,反映了分類器對正樣本的識別準確度和對正樣本的覆蓋能力之間的權衡。AP為PR曲線與X軸圍成圖形的面積。

對于連續的PR曲線,如公式(17)所示

對于離散的PR 曲線

每種類型的目標都對應著一個AP,mAP 是所有AP的平均值

2)F1

F1 是準確率和召回率的調和平均,如公式(20)所示。

F1 的取值范圍在0 和1 之間,取值越大表明檢測精度越理想。

3) FPS

FPS(frame per second)即1 s 可以處理圖片的數量。不同的檢測平臺其性能各不相同,因此評估FPS 參數時必須在同一設備上進行測試??梢詫挝粫r間內處理的圖片數量進行統計,數量越多,表示速度越快,也可以對處理單個圖片所需的時間來測量檢測速度,時間越短,表示速度越快。

2.4 結果分析

為驗證研究算法在復雜工地背景下檢測性能的優越性,對測試集進行測試,統計2 類目標安全帽和未佩戴安全帽的人臉檢測精度AP,其中以召回率Recall 為橫軸,準確率Precision 為縱軸,測試結果如圖7 所示。

由圖7 可知,安全帽的AP為94.27%,其AP大于90%,精度較高。未佩戴安全帽的人臉的AP為88.98%,整體模型的精度為91.12%,佩戴安全帽的F1 值為0.93,未佩戴安全帽的人臉F1 值為0.86。

除了對檢測精度AP進行檢測,還需對檢測速度FPS 進行探究。使用GPU 型號為GTX 1080Ti,有效提高計算機計算性能,在實際應用場景中,視頻監控一般使用普通的CPU 設備,不具備GPU 的并行加速計算能力。在其他硬件平臺相同下,分別在使用GPU 和CPU 設備下對最終模型的檢測速度進行統計,基于改進的YOLOv4 頸部優化網絡算法在不同平臺下的檢測速度如表2 所示。

表2 改進的YOLOv4 頸部優化網絡在不同平臺下檢測速度比較Table 2 Improved YOLOv4 neck optimization network compares the detection speed under different platforms

與YOLOv4 在CPU 平臺下的速度(2.14 FPS)對比,基于改進的YOLOv4 頸部優化網絡的檢測速度是其16 倍左右,同時檢測精度相比于YOLOv4 算法檢測精度提升了4.21%,基于改進的YOLOv4 頸部優化網絡無論在CPU 還是GPU 平臺下,檢測速度都超過24 FPS,滿足實時性要求。因此,基于改進的YOLOv4 頸部優化網絡在保證檢測精度的同時,在CPU 平臺下檢測速度達到34.28 FPS,使基于改進的YOLOv4 頸部優化網絡在CPU 平臺上順利實現,在檢測精度和檢測速度2 個方面均表現出良好檢測性能。

為更進一步驗證提出算法具有較高檢測精度和檢測速度,使用相同的測試數據集在Faster-RCNN、SSD等目標檢測的經典算法進行對比,其中YOLOv4、Faster R-CNN、基于YOLOv4 的頸部優化安全帽佩戴檢測等算法的損失隨迭代步長的變化曲線如圖8 所示,其訓練結果如表3 所示。

表3 不同算法在同一平臺下的檢測速度、平均準確率Table 3 Detection speed and average accuracy of different algorithms under the same platform

圖8 各模型訓練損失函數曲線圖Fig. 8 Curves of training loss function for each model

分析圖8,在整個訓練過程中所有模型均收斂,其中基于YOLOv4 的頸部優化網絡新模型具有更低的損失值,且迭代到10 步左右時,loss 均不再震蕩且趨于穩定,相比于YOLOv4 模型、MobileNet-YOLOv4 等模型其收斂速度更迅速、平穩,同時基于YOLOv4 頸部優化網絡新模型收斂到更低的損失值。

觀察表3,Faster-RCNN 具有較高檢測精度,但其檢測速度緩慢,無法實時安全帽佩戴檢測;YOLOv4 和SSD 算法檢測速度相當,但YOLOv4 檢測精度高于SSD 的檢測精度;基于改進的YOLOv4 頸部優化網絡新模型其模型參數量更小且平均檢測精度為91.12%,檢測速度達到85.36 FPS,調和平均更接近于1,該模型在檢測精度和檢測速度2 個方面均表現出良好的檢測性能,因此選擇基于頸部優化的網絡新模型作為最終模型,極大提高安全帽的檢測速度,使安全帽佩戴檢測能夠實時實現。

為了更直觀展現改進的YOLOv4 頸部優化網絡新模型的檢測效果,選取單目標和多目標情形、小目標情形和極端小目標情形、復雜背景下的測試圖像序列進行檢測效果驗證。圖9 為單目標安全帽佩戴測試結果,圖10 為多目標安全帽佩戴測試結果。分別選取在施工狀態下不同姿態視角下的單目標場景以及多目標場景,對佩戴安全帽的施工人員使用藍色框對其位置進行標注,對未佩戴安全帽的施工人員使用紅色框進行標注。

圖9 單目標下基于改進的YOLOv4 頸部優化網絡的檢測結果Fig. 9 Display of detection results based on improved YOLOv4 neck optimization network under single objective

圖10 多目標下基于改進的YOLOv4 頸部優化網絡的檢測結果Fig. 10 Display of detection results based on improved YOLOv4 neck optimization network under multi-objective

圖9、10 分別選取了在施工狀態下不同姿態視角下的單目標場景、多目標場景。通常單目標圖像以及無遮擋的多目標檢測過程較為容易,因此基于改進的YOLOv4 頸部優化網絡對單目標圖像、多目標圖像中均能做出正確檢測,檢測結果基本滿足需求。

對于在夜間極端條件和含有極端小目標的情形,基于改進的YOLOv4 頸部優化網絡算法與YOLOv4 算法兩者檢測效果差異較大,針對人員流動性大、不同光照條件、人員之間嚴重遮擋以及存在密集檢測目標環境下的目標檢測。圖11-12 為2 種不同算法在極端條件下的檢測效果對比圖。

Fig. 12 Detection results based on the improved YOLOv4 neck optimization network

圖11 YOLOv4 的檢測結果Fig. 11 YOLOv4 test results

由圖12(a)可知,在可視化條件良好,但人員流動性較大、建筑設施嚴重干擾的施工場所,基于頸部優化的安全帽佩戴檢測算法相對于YOLOv4 檢測算法,檢測出了所有檢測目標,未發生漏檢或錯檢現象;如圖12(b)所示,在夜間可視化條件差以及強光照射條件下,基于頸部優化下的安全帽佩戴檢測算法能夠檢測出絕大多數目標,未發生漏檢等現象;如圖12(c)所示,在光照條件嚴重不足且各個目標之間存在嚴重遮擋的情況下,基于改進的YOLOv4 頸部優化網絡的安全帽檢測算法也能夠正確檢測;圖12(d)可知,對于存在大量極端小目標且各個小目標之間存在嚴重遮擋,基于改進的YOLOv4 頸部優化網絡的安全帽檢測算法能夠檢測出絕大多數目標,表現出了優良的小目標檢測性能。

3 結 語

針對安全帽佩戴檢測時易受復雜背景的干擾等問題,采用YOLOv4 算法進行安全帽佩戴檢測,檢測精度達到86.91%,在GPU 平臺下檢測速度達到了13.09 FPS。但YOLOv4 算法在CPU 平臺下檢測速度緩慢、內存消耗大、小目標分辨率低,信息特征少等問題,引入MobileNet 網絡輕量化YOLOv4、跨越模塊,采用改進特征金字塔FPN 和改進注意力機制等頸部優化策略聚焦安全帽目標信息,優化網絡模型在CPU 平臺下檢測速度達到34.28 FPS,是YOLOv4 網絡的16 倍左右,同時其檢測精度相比于YOLOv4 算法檢測精度提升了4.21%,達到91.12%。在夜間極端條件和含有極端小目標等特殊情況下均能實現對安全帽佩戴的快速準確檢測,檢測性能優秀,極大提升施工作業人員佩戴安全帽的監管效率。

猜你喜歡
安全帽頸部卷積
小小安全帽,生命保護傘
居家運動——頸部練習(初級篇)
居家運動——頸部練習(中級篇)
改良頸部重要外敷方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
爆笑四格
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
頸部淋巴結超聲學分區
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合