
























摘要:水電站一般通過視覺檢測的方法保證門機(jī)運行工況安全. 在門機(jī)工作區(qū)域內(nèi),人員和車輛是主要的危險源. 基于深度學(xué)習(xí)方法,針對檢測圖像中人員和車輛目標(biāo)尺度不一、存在遮擋的問題,對YOLOv8s模型進(jìn)行改進(jìn). 主干使用引入EMA 注意力機(jī)制和動態(tài)卷積的Dy?EMA_C2f模塊替代原有C2f,提高對空間與通道跨維依賴關(guān)系的學(xué)習(xí)能力和對不同尺度目標(biāo)的特征提取能力,減少運算開銷;頸部引入SEAM注意力機(jī)制,增強(qiáng)特征融合能力;提出損失函數(shù)Focaler-SIoU,聚焦中等處理難度的樣本,改善邊界回歸精度. 在網(wǎng)絡(luò)數(shù)據(jù)集進(jìn)行驗證實驗,改進(jìn)后的模型精確率P 提高了10. 3%,召回率R 提高了5. 5%,平均精度均值mAP提升了8. 2%,對遮擋和小尺度的漏檢、誤檢情況明顯改善.
關(guān)鍵詞: 深度學(xué)習(xí);目標(biāo)檢測;YOLOv8;注意力機(jī)制
中圖分類號:TP39 文獻(xiàn)標(biāo)志碼:A DOI:10. 19907/j. 0490-6756. 240297
1引言
水電站是我國重要的能源基地,在保障國家能源供應(yīng)和維護(hù)社會穩(wěn)定方面有著重要意義. 門機(jī)[1]作為水電站不可或缺的關(guān)鍵設(shè)備,起到控制閘門、運輸材料和監(jiān)控汛情等作用,針對門機(jī)運行工況安全的防侵入監(jiān)控工作必不可少. 對門機(jī)來講,工作區(qū)域內(nèi)的危險源在于妨礙門機(jī)運行的人員和車輛,因此對于人員與車輛的監(jiān)控是門機(jī)防侵入監(jiān)控的重點關(guān)注內(nèi)容[2].
目前多數(shù)水電站門機(jī)監(jiān)控系統(tǒng)仍采用傳統(tǒng)的人工監(jiān)控方式,然而,傳統(tǒng)方式需要較高的人力成本,且人員反應(yīng)到環(huán)境現(xiàn)場的速度較慢,難免出現(xiàn)疏漏,存在安全隱患. 近年來,隨著人工智能技術(shù)的發(fā)展與應(yīng)用,人們的生產(chǎn)生活水平在各個方面都有了不同程度的進(jìn)步,尤其是智能監(jiān)控與環(huán)境警戒方面,如智慧工地、智能交通和行為分析等[3].深度學(xué)習(xí)的飛速發(fā)展使得基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)識別與分類得到重視,深度學(xué)習(xí)應(yīng)用于人員車輛檢測的研究也越來越多[4,5].
行人車輛的檢測難點一方面在于復(fù)雜多變的背景環(huán)境,另一方面在于尺度變化范圍大并且經(jīng)常出現(xiàn)遮擋情況的檢測目標(biāo)[6]. 黃金貴等[7]提出了專門針對夜間黑暗條件下的車輛檢測模型MMDYOLOv7,使用多通道注意力模塊MCCA 和多尺度卷積模塊MSC,提升模型捕捉全局與局部特征信息的能力,更好適應(yīng)低照度和惡劣環(huán)境,提高檢測精度. 王娟敏等[8]針對行人和車輛檢測中多尺度與遮擋問題提出基于YOLOv8的RDRFMYOLO,分別設(shè)計RFD-Rep 模塊和SFMS 模塊提高對多尺度以及遮擋目標(biāo)的特征提取能力. 許德剛等[9]在YOLOv8主干尾部添加EMA 注意力機(jī)制,通過維度交互進(jìn)一步挖掘像素級特征,基于多尺度輕量化卷積模塊MLConv 重構(gòu)C2f 模塊以提高特征提取能力,采用WIOU 損失函數(shù)優(yōu)化邊界框損失.
本文選取YOLOv8s為基線算法,針對行人及車輛目標(biāo)密集時出現(xiàn)遮擋情況以及尺度變化大的情況造成目標(biāo)特征難以提取的問題,對模型進(jìn)行研究與改進(jìn).
2 YOLOv8算法
YOLO(You Only Look Once)系列算法[10-14]是典型的一階段目標(biāo)檢測算法,實現(xiàn)從輸入圖像到輸出結(jié)果的端到端處理,在檢測速度、準(zhǔn)確性、魯棒性方面具有顯著優(yōu)勢. 該系列算法自2016 年首個版本YOLOv1 發(fā)布以來,經(jīng)過逐個版本的更新演進(jìn),不斷改進(jìn)優(yōu)化,提高模型的改進(jìn)速度和精度,在各個領(lǐng)域受到廣泛應(yīng)用,并衍生了大量的相關(guān)研究. 2023 年,Ultralytics 團(tuán)隊推出YOLOv8 算法,在以往版本上引入了新的改進(jìn),進(jìn)一步提高了算法的靈活性和檢測性能.
YOLOv8 具有和YOLOv5相同的可擴(kuò)展性,設(shè)計了適用于不同需求場景的不同模型尺寸:n,s, l, m, x模型規(guī)模依次變大,參數(shù)量也依次增多,計算復(fù)雜度依次提高. 根據(jù)數(shù)據(jù)集大小和算力資源限制,本文選用YOLOv8s 作為基線算法進(jìn)行改進(jìn).
YOLOv8s 在模型結(jié)構(gòu)上也與YOLOv5相似,包括輸入端、主干、頸部、檢測頭等4部分,具體模型結(jié)構(gòu)圖如圖1 所示.
輸入端的作用在于對輸入的原圖像進(jìn)行尺寸統(tǒng)一化,通過填充、縮放等操作調(diào)整輸入模型的圖像尺寸,以滿足采樣要求;還會通過Mosiac 等方式進(jìn)行數(shù)據(jù)增強(qiáng),提高數(shù)據(jù)的多樣性.
主干部分負(fù)責(zé)處理輸入圖像,提取并輸出多尺度特征圖. C2f 模塊是YOLOv8n 網(wǎng)絡(luò)的主要構(gòu)成部分,相比于YOLOv5 的C3 模塊,在特征提取方面表現(xiàn)出更高的水平,同時殘差思想與瓶頸結(jié)構(gòu)的應(yīng)用和使模塊大小更為輕量化,減小模型尺寸而提高整體性能.
頸部采用FPN 與PAN 結(jié)構(gòu),對主干提取的不同尺度特征圖進(jìn)行融合,PAN 自底向上和自頂向下的路徑起到增強(qiáng)特征融合的作用,有效提升了網(wǎng)絡(luò)的特征表達(dá)水平,F(xiàn)PN 使網(wǎng)絡(luò)能更高效地處理不同大小的目標(biāo)檢測與分類.
YOLOv8 根據(jù)不同任務(wù)輸入結(jié)果對檢測頭引入解耦結(jié)構(gòu),將其分為檢測頭與分類頭,采用無錨框檢測機(jī)制,簡化模型,賦予網(wǎng)絡(luò)更高的檢測速度和準(zhǔn)確性.
3改進(jìn)策略
本文從以下3 個方面對YOLOv8 進(jìn)行改進(jìn):基于EMA 注意力機(jī)制[15]和動態(tài)卷積[16]構(gòu)建Dy?EMA_C2f 模塊,替換主干原有的C2f 模塊,提升網(wǎng)絡(luò)對跨維相關(guān)關(guān)系的學(xué)習(xí)能力和對不同尺度目標(biāo)的特征提取能力;頸部加入SEAM 模塊[17],加強(qiáng)模型對目標(biāo)遮擋情況的應(yīng)對能力和特征融合水平;結(jié)合Focaler_IoU[18]和SIoU[19]提出新的后處理算法Focaler_SIoU,并替換YOLOv8 默認(rèn)的CIoU,改善邊界回歸速度與精度. 圖2 為改進(jìn)后的YOLOv8模型結(jié)構(gòu)圖.
3. 1主干
YOLOv8 的主干網(wǎng)絡(luò)主要依靠C2f 模塊提取圖像特征,該模塊結(jié)構(gòu)如圖3 所示. 輸入數(shù)據(jù)經(jīng)過一個卷積層后分成兩個部分,一部分跳過處理過程,另一部分進(jìn)行多個Bottleneck 模塊處理,兩部分結(jié)果拼接后再經(jīng)過一個卷積層得到C2f 模塊輸出. C2f 模塊提取數(shù)據(jù)中不同層次和抽象程度的特征,因而以該模塊為主要構(gòu)成的主干部分負(fù)責(zé)輸出多尺度特征圖以供后續(xù)處理.
注意力機(jī)制可以提高模型對數(shù)據(jù)中關(guān)鍵信息的提取能力,學(xué)習(xí)圖像中的重要特征,關(guān)注目標(biāo)信息,增強(qiáng)特征提取能力. 目前普遍應(yīng)用的注意力機(jī)制有3 類:通道注意力、空間注意力和兩者兼具.SE 模塊[20]是通道注意力的代表,通過模擬跨維相互作用賦予不同通道相應(yīng)的權(quán)重. CBAM模塊[21]利用圖像特征在空間與通道兩個維度之間的依賴關(guān)系,融合通道與空間注意力. 針對CBAM 計算開銷大、長距離依賴關(guān)系捕捉能力低的問題,Hou等[22]提出CA 模塊,將特定方向的信息沿空間維度方向嵌入信道注意,并進(jìn)行適當(dāng)降維. 在CA 的基礎(chǔ)上,Ouyang等[15]改進(jìn)其順序處理方法,提出一種新型的高效多尺度注意力模塊,即EMA 模塊.
EMA模塊設(shè)計了一個多尺度并行子網(wǎng)絡(luò),將部分通道重組到批次維度,并將通道維度分組為多個子特征. 通過全局信息編碼對每個分支的通道權(quán)重進(jìn)行重新校準(zhǔn),從跨維關(guān)系學(xué)習(xí)像素級信息,建立短期與長期的依賴關(guān)系,達(dá)到較高的檢測效果和參數(shù)效率. EMA 的模塊結(jié)構(gòu)如圖4所示.
對模型的改進(jìn)要求在檢測效果與運算開銷方面達(dá)到均衡,因此模型參數(shù)量也是改進(jìn)過程中需要考慮的重要方面. 動態(tài)卷積能以有限的計算量提升達(dá)到更高的收斂速度與精度. 動態(tài)卷積源于Chen 等[16]提出的動態(tài)感知器,其定義如下. 其中y即為動態(tài)感知器,πk 是注意力權(quán)重,W,b分別表示權(quán)值和偏置,g為激活函數(shù).
動態(tài)卷積不使用固定卷積核,而是將其進(jìn)行共享和動態(tài)組合,根據(jù)輸入圖像的特性自動調(diào)整選用卷積核的權(quán)值,將注意力機(jī)制引入卷積核參數(shù),實現(xiàn)高參數(shù)量與低運算成本的結(jié)合,并賦予網(wǎng)絡(luò)更強(qiáng)的特征表達(dá)能力.
為提高網(wǎng)絡(luò)主干對不同尺度人與車輛的特征提取能力,減少通道降維對提取深度特征帶來的副作用,本文將EMA 機(jī)制加入C2f 的Bottleneck模塊中;另外,為進(jìn)一步減少運算開銷,提高參數(shù)效率,將Bottleneck模塊中的卷積替換為動態(tài)卷積,將改進(jìn)后的Bottleneck 命名為DyEMA_Bottleneck,改進(jìn)前后結(jié)構(gòu)如圖5 所示. 再用Dy?EMA_Bottleneck 替換YOLOv8 主干中的C2f,構(gòu)成DyEMA_C2f 模塊,其結(jié)構(gòu)如圖6所示.
3. 2頸部
YOLOv8頸部的功能是對主干提取的不同尺度特征圖進(jìn)行融合,進(jìn)一步增強(qiáng)特征表達(dá). 交通監(jiān)控視角下,人員目標(biāo)尺度小,且經(jīng)常出現(xiàn)互相遮擋的情況,基線模型多有漏檢情況出現(xiàn). 本文在模型頸部加入YOLO-Face 提出的SEAM 模塊,該模塊學(xué)習(xí)遮擋與未遮擋部分之間的關(guān)系,通過增強(qiáng)未遮擋部分的響應(yīng)來補償遮擋部分的相應(yīng)損失,進(jìn)而提高對各個尺度目標(biāo)的檢測效果.
SEAM 的模塊結(jié)構(gòu)如圖7 所示. 該模塊的架構(gòu)自上而下包括3 個不同尺寸的CSMM 子模塊、平均池化、通道拓展,以及相乘增強(qiáng). SEAM 的核心是CSMM 模塊,其詳細(xì)結(jié)構(gòu)如圖8 所示. CSMM模塊利用不同的patch 尺寸對應(yīng)多尺度特征,并且使用深度可分離卷積和逐點卷積挖掘空間和通道的跨維相關(guān)關(guān)系,提高對遮擋部分特征的學(xué)習(xí)效果,使得SEAM 在提高特征提取能力和高效計算之間達(dá)到較好的均衡.
3.3損失函數(shù)
邊界框回歸對于模型的檢測效果有重要影響. YOLOv8 采用CIoU 計算邊界框的回歸損失,忽視了不同處理難度的樣本對邊界框回歸的影響. 因此,本文基于Focaler-IoU 和SIoU 提出一種改進(jìn)的損失函數(shù)以替換YOLOv8 默認(rèn)的CIoU.
4實驗與分析
4. 1數(shù)據(jù)集與實驗環(huán)境
本文選用網(wǎng)絡(luò)數(shù)據(jù)集訓(xùn)練模型,圖像主要來自國內(nèi)道路交通監(jiān)控圖像,拍攝高度與角度以及畫面質(zhì)量均與門機(jī)環(huán)境監(jiān)控有較高的相似性,同時加入部分COCO數(shù)據(jù)集圖像以豐富數(shù)據(jù)集,并且覆蓋各種天氣與不同能見度下的場景,檢測類別為行人與車輛兩類. 數(shù)據(jù)集共有5607 張圖像,按照4∶1的比例劃分為訓(xùn)練集和驗證集.
本文的實驗平臺為Linux 操作系統(tǒng),搭載顯卡NVIDIA GeForce RTX 2080Ti,內(nèi)存11G. 訓(xùn)練超參數(shù)設(shè)置如表1 所示.
式中,TP 是檢測正確的正樣本數(shù);FP 是檢測錯誤的正樣本數(shù);FN 是檢測錯誤的負(fù)樣本數(shù);N 是總類別數(shù). 精確度、召回率和均值平均精度3 個指標(biāo)從檢測結(jié)果的正確與齊全程度衡量模型的性能.
4. 3實驗結(jié)果與分析
對改進(jìn)模塊進(jìn)行消融實驗和組合實驗,檢驗?zāi)P透倪M(jìn)效果,探究模塊之間的影響關(guān)系和作用,消融實驗結(jié)果如表2 所示,模塊組合模型和實驗結(jié)果見表3 和表4.
從表2可以看出,3種改進(jìn)方法對模型的性能均有一定程度的提升,并且所有改進(jìn)方法疊加之后的整體改進(jìn)模型表現(xiàn)更佳. 主干替換Dy?EMA_C2f 模塊加強(qiáng)網(wǎng)絡(luò)在空間和通道維度的相關(guān)關(guān)系捕捉能力和對不同尺度目標(biāo)特征的提取能力,模型精確率P 提高了5. 6%,召回率R 提高了0. 5%,平均精度均值mAP 提升了1. 2%;頸部引入SEAM 注意力機(jī)制通過增強(qiáng)未遮擋部分的響應(yīng)彌補對遮擋目標(biāo)的學(xué)習(xí)能力,模型精確率P 提高了9. 6%,召回率R 提高了4. 9%,平均精度均值mAP提升了7. 1%;應(yīng)用新的損失函數(shù)Focaler-SIoU 聚焦中等處理難度的回歸樣本,模型精確率P 提高了7. 7%,召回率R 提高了0. 7%,平均精度均值mAP提升了3.3%.
結(jié)合表4 可以看出,SEAM 模塊對精確率P 和召回率R 的提升作用最佳,配合DyEMA_C2f模塊或Focaler-SIoU 構(gòu)成的Ⅰ -YOLOv8s 和Ⅲ -YOLOv8s相比于YOLOv8s+SEAM 模型兩個指標(biāo)均有小幅度上升. 3個組合模型的評價指標(biāo)都比單獨改進(jìn)一個模塊時表現(xiàn)更好,進(jìn)而整體改進(jìn)模型表現(xiàn)出最佳水平.
圖9是模型改進(jìn)前后檢測結(jié)果對比組圖,左側(cè)為基線算法檢測結(jié)果,右側(cè)為改進(jìn)算法檢測結(jié)果.可以看出,對于第1 幅圖像,基線算法對人員和車輛漏檢較多,改進(jìn)算法減少了漏檢情況,尤其是對遠(yuǎn)距離小尺度目標(biāo)的找全能力有所提高;對于第2幅圖中的車輛和第3 幅圖像中的人員,原模型都因局部遮擋造成了誤檢,改進(jìn)模型則提高了對遮擋情況的應(yīng)對能力,準(zhǔn)確分辨出局部重疊目標(biāo)的位置,得到正確的檢測結(jié)果.
實驗結(jié)果表明,改進(jìn)后的YOLOv8s 模型在精確率、召回率及平均精度均值上均有顯著提升,特別是對于遮擋和小尺度目標(biāo)的漏檢、誤檢情況有了明顯的改善. 與基線模型相比,最終改進(jìn)模型的精確率提高了10. 3%,召回率提高了5. 5%,平均精度均值提升了8. 2%.
5結(jié)論
針對水電站門機(jī)傳統(tǒng)人工監(jiān)控系統(tǒng)存在的成本高,效率低以及精確性差等問題,本文提出了基于深度視覺的門機(jī)運行工況中人員車輛的檢測方案. 通過對YOLOv8s 模型的主干、頸部和損失函數(shù)進(jìn)行了針對性的改進(jìn),提高了模型對不同尺度目標(biāo)以及遮擋情況下目標(biāo)的檢測性能. 具體而言,基于 EMA 注意力機(jī)制和動態(tài)卷積構(gòu)建了Dy?EMA_C2f 模塊,替換網(wǎng)絡(luò)主干中的原C2f 模塊,增強(qiáng)了模型對空間與通道跨維依賴關(guān)系的學(xué)習(xí)能力,提高了對不同尺度目標(biāo)特征的提取能力,并提高了參數(shù)效率. 在模型頸部引入SEAM 注意力機(jī)制,提升了對遮擋目標(biāo)的檢測效果. 此外,提出了新的損失函數(shù)Focaler-SIoU,該函數(shù)能夠聚焦中等處理難度的樣本,從而改善了邊界框回歸的精度與速度. 后續(xù)研究將著眼于減小模型體量,以適應(yīng)更多邊緣計算場景的需求,還需進(jìn)一步提升模型在不同光照條件和天氣狀況下的魯棒性,以達(dá)到水電站門機(jī)運行工況的安全檢測要求.