摘 要: 針對情況復(fù)雜而無法實(shí)現(xiàn)人員全天全面監(jiān)管的場所,在實(shí)時(shí)檢測人員防溺水方面存在困難的問題,提出了一種融合統(tǒng)一注意力機(jī)制動(dòng)態(tài)頭的YOLOv5-Dy-GBCA模型。首先,通過在YOLOv5的Head前引入動(dòng)態(tài)檢測頭(DyHead),增強(qiáng)頭部感知目標(biāo)的空間位置、尺度和檢測任務(wù)的能力;其次,將Backbone中的C3模塊替換成由GhostBottleneck結(jié)構(gòu)和坐標(biāo)注意力模塊(CA)構(gòu)成的幻影坐標(biāo)注意力特征提取模塊(GBCA),有效改善了因水上人員相互遮擋、人體在水面浮現(xiàn)體積較少而造成輸入的特征語義信息不豐富,特征信息提取不足的問題;然后,引入加權(quán)雙向特征金字塔網(wǎng)絡(luò)(BiFPN),增強(qiáng)模型在不同尺度上的特征融合能力;最后,采用Focal-EIoU損失函數(shù),改善難易樣本不平衡對檢測結(jié)果的影響。實(shí)驗(yàn)結(jié)果表明,YOLOv5-Dy-GBCA模型在維持了原模型檢測速度的同時(shí),取得了91.50%的平均精度(mAP),相較于傳統(tǒng)算法和其他主流算法檢測效果更優(yōu)。
關(guān)鍵詞: 目標(biāo)檢測;防溺水;DyHead;注意力機(jī)制;Focal-EIoU
中圖分類號: TP391.41
文獻(xiàn)標(biāo)識碼: A 文章編號: 2096-3998(2024)03-0035-09
游泳在世界各地一直是一項(xiàng)非常受歡迎的運(yùn)動(dòng)[1],尤其是在夏季,天氣炎熱,游泳戲水人數(shù)眾多,但是有些人在娛樂時(shí)安保措施不到位,導(dǎo)致溺水死亡事故頻繁發(fā)生。根據(jù)人民網(wǎng)輿情數(shù)據(jù)中心發(fā)布的《2022中國青少年防溺水大數(shù)據(jù)報(bào)告》統(tǒng)計(jì),我國每年因?yàn)槟缢硗龅娜藬?shù)已經(jīng)達(dá)到57 000人。造成如此高死亡人數(shù)的主要原因是缺乏密切的監(jiān)督以及無法及時(shí)救援。因此,利用智能化手段提出一種快速且有效的溺水人員檢測方法對于幫助減少溺亡事故的發(fā)生具有重大意義。
目前國內(nèi)外關(guān)于溺水檢測的研究主要分為兩類,第一類方法是基于佩戴救生傳感設(shè)備,它可以通過提供心率、血氧水平、水壓和深度等指標(biāo)來實(shí)時(shí)監(jiān)測游泳者的行為并及時(shí)做出反應(yīng)。2019年邱睿等[2]研發(fā)了一款智能防溺水背心,該背心利用互聯(lián)網(wǎng)技術(shù),包括心率傳感器、液位傳感器、單片機(jī)、藍(lán)牙通訊等,將智能穿戴設(shè)備中的傳感器與在線網(wǎng)絡(luò)數(shù)據(jù)庫連接,實(shí)現(xiàn)對佩戴者的心率監(jiān)測、位置確認(rèn)、溺水預(yù)警和自動(dòng)充氣救援等功能。2021年孫繼魯[3]設(shè)計(jì)了一種由STM32單片機(jī)控制模塊、溺水識別裝置和二氧化碳充氣裝置組成的智能水下自救系統(tǒng)。當(dāng)用戶在水下出現(xiàn)溺水危險(xiǎn)時(shí)會(huì)觸發(fā)充氣裝置,幫助用戶及時(shí)脫困。基于穿戴救生設(shè)備的方法有一定的針對性,但是佩戴不適,影響游泳者體驗(yàn),且有些設(shè)備會(huì)發(fā)生誤觸上報(bào)現(xiàn)象,應(yīng)用效果不佳。
第二類是涉及計(jì)算機(jī)視覺的方法,這類方法避免了可穿戴設(shè)備的局限性,通過頂端或者水下攝像監(jiān)控監(jiān)視游泳者并使用機(jī)器學(xué)習(xí)算法處理輸出的圖像來達(dá)到溺水檢測的目的。傳統(tǒng)的基于計(jì)算機(jī)視覺背景剪影[4]的溺水檢測方法在人多的泳池中聚類效果較差,準(zhǔn)確度較低,無法滿足需求。此外如光流法、幀間差分法這種運(yùn)動(dòng)檢測方法操作公式復(fù)雜,計(jì)算量大,也無法滿足溺水檢測的實(shí)時(shí)性能[5]。近年來,基于深度學(xué)習(xí)的目標(biāo)檢測[6]算法取得了顯著進(jìn)展,經(jīng)過不斷迭代更新,其檢測精度和速度逐漸提高。目前,基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分兩類,兩階段(Two-stage)檢測和單階段(One-stage)檢測。兩階段檢測算法如Fast-RCNN[7]、Mask-RCNN[8]等需要先選擇候選區(qū)域,然后對候選區(qū)域進(jìn)行位置回歸和分類。喬羽等[9]基于掩膜區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask-RCNN)模型設(shè)計(jì)了泳池溺水檢測系統(tǒng),他們通過攝像頭捕獲圖像信息,選擇了多次迭代的分類器模型,最終實(shí)現(xiàn)了91.2%的模型檢出率。Dulhare等[10]提出使用快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster R-CNN)結(jié)合數(shù)據(jù)增強(qiáng)算法檢測水下人的活動(dòng),希望通過早期發(fā)現(xiàn)留在水下并有死亡風(fēng)險(xiǎn)的人來拯救其生命?;趦呻A段檢測的方法可以實(shí)現(xiàn)溺水檢測,但是存在模型大,訓(xùn)練時(shí)間長,檢測速度較慢的問題。單階段目標(biāo)檢測算法,如YOLO(You Only Look Once)系列[11],無需選擇候選區(qū)域,而是直接回歸目標(biāo)的位置坐標(biāo)和類別信息,隨即輸出檢測結(jié)果。Li等[12]提出了一種基于改進(jìn)YOLOv3算法搜索海上溺水者的方法,在特征提取網(wǎng)絡(luò)中使用了帶有信道注意機(jī)制的殘差模塊,采用線性變換方法處理聚類算法生成錨盒,改進(jìn)后的算法對海上人體目標(biāo)的檢測精度為72.17%。Niu等[13]提出了一種基于YOLOv4結(jié)合MA_CBAM模塊的溺水風(fēng)險(xiǎn)檢測方法,使用Meta-ACON激活函數(shù)來替換YOLOv4頸部部分的常規(guī)“Lelu”激活函數(shù),并添加了CBAM模塊,改進(jìn)后的MA_CBAM-YOLOv4模型平均精度達(dá)到86.92%。這類模型在保證了檢測精度的同時(shí)檢測速度比兩階段檢測更快,更適合在復(fù)雜水域進(jìn)行目標(biāo)檢測。
上述方法對于預(yù)防溺水和救援都作出了十分重要的貢獻(xiàn),然而其中改進(jìn)YOLOv3算法的檢測精度提升不明顯,兩階段檢測的算法檢測精度有所提升但是計(jì)算量大,導(dǎo)致檢測速度不夠快,達(dá)不到實(shí)時(shí)檢測的要求。為了更好地滿足實(shí)時(shí)溺水人員檢測精度的需求,本文選擇YOLOv5作為基準(zhǔn)模型進(jìn)行改進(jìn),提出了一種基于YOLOv5-Dy-GBCA的溺水人員檢測方法。
1 溺水檢測模型設(shè)計(jì)
1.1 YOLOv5網(wǎng)絡(luò)簡介
YOLOv5是2020年由Ultralytics團(tuán)隊(duì)提出的目前應(yīng)用最廣泛的目標(biāo)檢測算法之一。該算法的核心理念是輸入整張圖像,然后在輸出層直接回歸目標(biāo)的位置和類別信息,具有高精度和快速檢測的特點(diǎn),適用于實(shí)時(shí)監(jiān)測的需求。本文基于YOLOv5m版本進(jìn)行模型改進(jìn),希望在提高其檢測精度的同時(shí)盡可能降低其他性能的損失。
YOLOv5整體網(wǎng)絡(luò)結(jié)構(gòu)可分成4個(gè)主要部分,包括輸入端(Input)、主干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)以及頭部網(wǎng)絡(luò)(Head)。輸入端執(zhí)行圖像預(yù)處理,包括Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算和自適應(yīng)圖像縮放等操作[14]。主干網(wǎng)絡(luò)的關(guān)鍵方面是Focus模塊和特征提取模塊,其中包括Conv模塊、C3模塊、SPPF模塊等。經(jīng)過Focus切片操作,然后通過卷積操作獲得二倍下采樣的特征圖。Conv模塊包括Conv2D、批處理歸一化和SiLU激活功能;C3模塊從特征圖中提取特征;SPPF模塊通過執(zhí)行多個(gè)最大池化操作來提取高級語義特征。Neck頸部采用了特征金字塔網(wǎng)絡(luò)(FPN)[15]和金字塔注意網(wǎng)絡(luò)(PAN)[16]的結(jié)構(gòu)。通過將FPN和PAN相結(jié)合,同時(shí)獲得高層信息和淺層信息,增強(qiáng)網(wǎng)絡(luò)的特征融合能力。Head頭部負(fù)責(zé)最后對特征融合層輸出的特征圖進(jìn)行多尺度目標(biāo)檢測。
1.2 改進(jìn)YOLOv5模型
1.2.1 DyHead模塊
水面人員的溺水檢測存在著位置變化、角度變換和尺度變化等難點(diǎn),而YOLOv5的檢測頭不能很好地結(jié)合多尺度信息、空間信息、任務(wù)信息,導(dǎo)致目標(biāo)檢測的準(zhǔn)確率不夠高。為此本文引入了DyHead(Dynamic Head)模塊來解決YOLOv5算法在復(fù)雜水域中因不同檢測目標(biāo)的尺度變化較大,且人員在水中的狀態(tài)也各異,造成特征尺度的多樣性高,檢測精度較低的問題。DyHead是一種統(tǒng)一了尺度感知注意力模塊、空間感知注意力模塊和任務(wù)感知注意力模塊等三個(gè)自注意力模塊的動(dòng)態(tài)檢測頭框架[17],其結(jié)構(gòu)如圖1所示。
在使用DyHead之前,需要將骨干網(wǎng)絡(luò)輸出的特征金字塔縮放到一個(gè)一致的比例??s放后金字塔的特征圖可以表示為四維張量F∈RL×H×W×C,其中L表示特征金字塔的層數(shù),H表示特征圖的高度,W表示特征圖的寬度,C表示特征圖的通道數(shù)。進(jìn)一步定義S=H×W,將特征圖視為一個(gè)三維張量,維度L、S和C則分別關(guān)注尺度感知、空間感知和任務(wù)感知。其公式如下:
式中,Q表示注意函數(shù),πL(·)、πS(·)和πC(·)是應(yīng)用于L、S和C的3個(gè)不同維度的注意函數(shù);σ(·)為Hard sigmoid函數(shù),f(·)是類似1×1卷積的線性函數(shù);K代表稀疏采樣位置的個(gè)數(shù),pk+Δpk是為了聚焦一個(gè)判別區(qū)域,自學(xué)習(xí)的空間偏移量Δpk所移動(dòng)的位置;Fc為第c個(gè)通道的特征切片,α、β為可學(xué)習(xí)的參數(shù),可以用來控制激活閾值。
特征圖經(jīng)過映射,依次通過尺度感知模塊(πL)、空間感知模塊(πS)和任務(wù)感知模塊(πC)實(shí)現(xiàn)檢測頭部的統(tǒng)一注意機(jī)制。在尺度感知模塊中,特征圖的L維數(shù)進(jìn)行全局平均池化,然后使用1×1卷積層和ReLU激活函數(shù)進(jìn)行特征提取。然后將結(jié)果通過一個(gè)hard sigmoid激活函數(shù),并與輸入特征圖進(jìn)行融合,得出尺度感知模塊。對于空間感知模塊,使用3×3卷積層對輸入張量進(jìn)行處理,得到特征圖的偏移量值以及特征圖偏移量的權(quán)值項(xiàng)??臻g感知是通過利用可變形的卷積來提取特征圖中的目標(biāo)位置。在任務(wù)感知模塊中,張量在L×S維數(shù)上進(jìn)行全局平均池化以降低維數(shù)和參數(shù)計(jì)數(shù)。然后,通過兩個(gè)完全連接的層和一個(gè)標(biāo)準(zhǔn)化層,采用動(dòng)態(tài)ReLU,根據(jù)不同任務(wù)輸出不同的信道值,完成特征圖的任務(wù)感知。
1.2.2 幻影坐標(biāo)注意力特征提取模塊(GBCA)
水面場景情況復(fù)雜,檢測目標(biāo)可能被遮擋或者露出水面的有效信息不足,有些人員也會(huì)因距離較遠(yuǎn)而在圖中占比小。隨著檢測時(shí)網(wǎng)絡(luò)層數(shù)的加深,有些目標(biāo)的細(xì)節(jié)和特征信息可能會(huì)丟失,從而影響整個(gè)網(wǎng)絡(luò)的識別精度。為了有效解決原網(wǎng)絡(luò)特征信息提取能力不足的問題,本文提出了一種幻影坐標(biāo)注意力特征提取模塊(GhostBottleneck Coordinate Attention feature extraction module,GBCA)來替換骨干網(wǎng)絡(luò)中的C3模塊,它既能優(yōu)化因C3模塊參數(shù)量大不利于實(shí)時(shí)檢測的問題,又能讓特征提取更加關(guān)注目標(biāo)區(qū)域。GBCA模塊由GhostBottleneck[18]和CA(Coordinate Attention)[19]結(jié)合而成。
GhostBottleneck是由兩個(gè)Ghost模塊堆疊成的,其結(jié)構(gòu)如圖2所示。圖中DWConv為深度可分離卷積。Ghost又分為卷積部分、特征生成和特征部分拼接3個(gè)部分。首先將Input的特征圖花費(fèi)較小計(jì)算量經(jīng)過一個(gè)常規(guī)卷積生成一些通道數(shù)較少的特征圖,然后將得到的特征圖的每個(gè)通道的固有特征映射進(jìn)行類似3×3卷積的Φ運(yùn)算生成新的特征圖,最后將兩者融合拼接得到最終的結(jié)果。
假設(shè)輸入特征的尺寸為H×W,其通道數(shù)為C,卷積核的大小為k×k,數(shù)量為n,那么該卷積過程中的數(shù)據(jù)量為n×H×W×C×k×k。如果Ghost模塊第一部分的卷積過程生成了m個(gè)少量的特征圖,剩余的特征圖通過m(s-1)=n/s(s-1)個(gè)Φ線性運(yùn)算獲得,線性運(yùn)算的平均核大小為d×d,和k×k相似。則Ghost模塊和普通卷積的運(yùn)算量之比為
由上式可以看出,Ghost模塊的計(jì)算量約只有普通卷積計(jì)算量的1/s,因此通過使用Ghost模塊,可以顯著減少計(jì)算負(fù)擔(dān)。
CA注意力機(jī)制在通道注意力中融入目標(biāo)的位置信息,讓模型在關(guān)注大范圍位置信息的同時(shí)避免了大量的計(jì)算開銷。CA的具體操作包括Coordinate信息嵌入和Coordinate Attention生成,其結(jié)構(gòu)如圖3所示。
Coordinate信息嵌入將C×H×W形狀的輸入特征圖逐通道進(jìn)行平均池化,使用(H,1)和(1,W)的池化核分別按水平和垂直方向進(jìn)行池化,產(chǎn)生C×H×1和C×1×W形狀的特征圖。通過這種方式所產(chǎn)生的方向感知特征圖可以使CA注意力能夠在一個(gè)通道內(nèi)捕獲長距離的依賴關(guān)系,利于保存精確的位置信息,使網(wǎng)絡(luò)能夠更加準(zhǔn)確的定位目標(biāo)。Coordinate Attention首先將兩個(gè)方向的特征圖進(jìn)行concat操作,然后送入共享卷積將維度降為C/r,再進(jìn)行批量歸一化和激活函數(shù)處理,得到1×(W+H)×C/r的特征圖。接下來按照原高度和寬度使用卷積核為1×1的卷積分別生成通道數(shù)為C×H×1和C×1×W的特征圖,然后經(jīng)過Sigmoid激活函數(shù)處理,分別獲得特征圖在高度和寬度上的注意力權(quán)重。最后,通過在原始特征圖上進(jìn)行乘法加權(quán)計(jì)算,得到在高度和寬度方向上具有注意力權(quán)重的特征圖。
通過將GhostBottleneck與CA模塊相結(jié)合形成的GBCA模塊結(jié)構(gòu)。它綜合了GhostBottleneck能夠降低計(jì)算量,提升推理速度,與CA模塊能更關(guān)注目標(biāo)所在的區(qū)域位置,提高特征提取能力的優(yōu)點(diǎn),將其用于和backbone中的C3模塊替換,加速并提高溺水人員檢測的準(zhǔn)確性。
1.2.3 BiFPN加權(quán)雙向特征金字塔
YOLOv5在Neck頸部網(wǎng)絡(luò)采用FPN+PAN的結(jié)構(gòu)。它通過上采樣和下采樣將不同尺度的特征圖融合,生成具有多尺度信息的特征圖。但是PAN融合不同的特征層信息需要進(jìn)行大量計(jì)算,增加了模型的時(shí)間成本;其次因?yàn)樾枰诤喜煌奶卣餍畔?,如果在?shù)據(jù)上存在不足或者有噪聲干擾的情況,就會(huì)產(chǎn)生過擬合導(dǎo)致結(jié)果不準(zhǔn)確。針對這一問題,本文在其基礎(chǔ)上引入了BiFPN加權(quán)雙向特征金字塔網(wǎng)絡(luò)[20]。BiFPN的核心思想是其雙向交叉尺度連接,能夠高效融合到更多的特征信息,并且由于采用了跨尺度連接,可以對不同特征按照跨尺度權(quán)重進(jìn)行抑制或增強(qiáng)特征表達(dá),從而更精確地融合特征圖。
1.2.4 Focal-EIoU損失函數(shù)
YOLOv5模型中使用的損失函數(shù)默認(rèn)為CIoU損失函數(shù)[21],它考慮了重疊面積、中心點(diǎn)距離、縱橫比3個(gè)影響因素。CIoU損失公式如下:
式中,b和bgt分別表示預(yù)測框和目標(biāo)框的中心點(diǎn),ρ2(b,bgt)為兩框的歐氏距離,c是覆蓋預(yù)測框和真實(shí)框的最小封閉區(qū)域的對角線長度。而式中的ν定義不明確,只反映了縱橫比的差異,導(dǎo)致CIoU損失優(yōu)化相似性的方式不一定合理。為了提高模型的收斂速度,進(jìn)一步提高檢測精度,本文在改進(jìn)模型中引入Focal-EIoU損失函數(shù)[22],其公式如下:
式中,wc和hc分別為覆蓋兩個(gè)框的最小封閉區(qū)域的寬度和高度。EIoU損失函數(shù)分為LIoU損失、Ldis距離損失和Lasp寬高比損失3個(gè)部分。EIoU損失函數(shù)改進(jìn)了CIoU的缺點(diǎn),將其用矩形邊框的距離和相對比例作為懲罰項(xiàng)改為更直接的用邊長作為懲罰項(xiàng),使目標(biāo)框和錨框的寬度和高度的差異最小化,從而產(chǎn)生更快的收斂速度和更好的定位結(jié)果。
為了解決回歸中正負(fù)樣本和難易樣本不平衡的問題,在EIoU損失函數(shù)的基礎(chǔ)上結(jié)合了Focal Loss構(gòu)成Focal-EIoU Loss,其公式如下:
式中,αt為權(quán)重因子,pt為樣本屬于正確類別的概率,γ為控制曲線弧度的超參數(shù)。
改進(jìn)后的YOLOv5總體結(jié)構(gòu)如圖4所示。
2 實(shí)驗(yàn)及結(jié)果分析
2.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集
本實(shí)驗(yàn)的運(yùn)行環(huán)境:64位Windows10操作系統(tǒng),CPU為英特爾(R)酷睿(TM)i5-13400F@2.50 GHz十核,GPU為12 GB的Nvidia Geforce RTX3060,運(yùn)行內(nèi)存16 GB。采用的編程語言是Python3.9,采用基于pytorch1.12的深度學(xué)習(xí)框架。網(wǎng)絡(luò)模型的訓(xùn)練參數(shù):Batch size設(shè)置為8,初始學(xué)習(xí)率為0.001,衰減系數(shù)為0.01,動(dòng)量為0.95,模型的迭代次數(shù)(Epoch)設(shè)置為200。
本實(shí)驗(yàn)所使用的數(shù)據(jù)集為游泳和溺水檢測數(shù)據(jù)集,它包括3個(gè)標(biāo)注類別:溺水的人、游泳的人以及離開水面的人。所在場景主要有室內(nèi)外泳池,沙灘水域,野生池塘等。該數(shù)據(jù)集總共包含12 350張圖像,其中訓(xùn)練集9 880張圖像,驗(yàn)證集和測試集分別有1 235張圖像。
2.2 評價(jià)指標(biāo)
為了評價(jià)本研究算法在溺水人員檢測方面的準(zhǔn)確性,主要采用的模型指標(biāo)為平均精度均值(mean Average Precision,mAP),交并比(IOU)閾值設(shè)置為0.5,參數(shù)量(parameter numbers)。采用平均識別時(shí)間來衡量模型的識別速度,識別時(shí)間是模型識別單幅圖像所需的時(shí)間。模型性能好的標(biāo)志是平均精度均值更高以及平均識別時(shí)間更短。mAP是通過計(jì)算平均精度(Average Precision,AP)的加權(quán)平均值得出的,平均精度是由召回率(Recall)和精確率(Precision)分別為x軸和y軸所圍成區(qū)域的面積計(jì)算得出。相關(guān)計(jì)算公式為
式中,TP為正樣本被判定正確的實(shí)例,F(xiàn)P為負(fù)樣本被判定正確的實(shí)例,F(xiàn)N為正樣本被判定錯(cuò)誤的實(shí)例,N表示類別數(shù)。
2.3 DyHead對比實(shí)驗(yàn)
因?yàn)镈yHead是一種可重復(fù)疊加的模塊,可以通過控制模塊的數(shù)量來評估動(dòng)態(tài)頭的效率。為了分析本研究中引入的DyHead模塊的堆疊數(shù)量對于改進(jìn)模型性能的影響,改變模型所使用的DyHead模塊的數(shù)量并與原模型進(jìn)行了性能對比,實(shí)驗(yàn)結(jié)果見表1。從表中可以看出,隨著模型中的DyHead模塊堆疊數(shù)量的不斷增加,模型的平均精度也隨之提升,但是其平均識別時(shí)間也在不斷增加,尤其是在集成了4個(gè)疊加的DyHead之后,其檢測精度雖然相較于原模型提高了2.62%,平均識別時(shí)間卻達(dá)到了40.3 ms。通過綜合考慮模型的檢測精度和識別時(shí)間,本文選擇將在實(shí)驗(yàn)中達(dá)到利弊均衡的堆疊兩個(gè)的DyHead模塊加入到改進(jìn)模型中,在犧牲較少識別時(shí)間的情況下較大地提升模型的精度。此時(shí)模型的平均識別時(shí)間減慢到36.8 ms,平均精度均值達(dá)到90.84%。
2.4 損失函數(shù)對比實(shí)驗(yàn)
本文的YOLOv5-Dy-GBCA模型中所使用的損失函數(shù)為Focal-EIoU,為了驗(yàn)證使用的損失函數(shù)相較于其他損失函數(shù)在提升模型的檢測性能和檢測速度方面是否有更好的應(yīng)用效果,使用不同損失函數(shù)應(yīng)用于同一基準(zhǔn)模型進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表2。
從表2的實(shí)驗(yàn)結(jié)果可知,本文引入的Focal-EIoU損失函數(shù)相比于其他損失函數(shù)在模型的平均檢測精度和平均檢測時(shí)間上都更有優(yōu)勢,這是因?yàn)镕ocal-EIoU綜合了EIoU收斂速度更快以及Focal Loss因解決了低質(zhì)量樣本造成的損失值劇烈震蕩的問題從而提高模型的檢測精度這兩者的優(yōu)點(diǎn),實(shí)驗(yàn)結(jié)果進(jìn)一步驗(yàn)證了采用Focal-EIoU對于模型在溺水檢測任務(wù)中的有效性。
2.5 注意力機(jī)制對比實(shí)驗(yàn)
為了驗(yàn)證本文提出的GhostBottleneck和CA注意力模塊所構(gòu)成的GBCA模塊能否提升模型的整體性能,改善因加入DyHead模塊而導(dǎo)致模型的檢測速度有所降低的問題,本文選取了SE、CBAM、ECA三個(gè)主流注意力模塊與GhostBottleneck結(jié)合進(jìn)行對比實(shí)驗(yàn)。通過在確保其他網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)不變的前提下在相同的模塊位置結(jié)合不同的注意力模塊來保證對比實(shí)驗(yàn)的有效性。表3報(bào)告了結(jié)合不同注意力模塊的對比實(shí)驗(yàn)結(jié)果。
由表3可知,在GhostBottleneck模塊結(jié)合了不同的注意力機(jī)制后,模型的平均精度均值都得到了不同程度的提高,其中與CBAM結(jié)合后mAP@0.5值最高達(dá)到了88.91%,但是其平均檢測時(shí)間相較于原模型卻只降低了0.3 ms。與SE和ECA模塊結(jié)合后模型的平均檢測時(shí)間雖然分別降低了3.8 ms和4.2 ms,但是mAP@0.5值上漲幅度有限。在結(jié)合CA注意力模塊后,平均精度均值上漲了0.36%,平均檢測時(shí)間也下降了3.5 ms,漲幅和降幅都較為明顯,由此可見,將GhostBottleneck與CA模塊結(jié)合更適合引入到改進(jìn)的模型當(dāng)中,此時(shí)模型的平均檢測時(shí)間加快到28.4 ms,平均精度均值提升至88.85%。
2.6 模型對比實(shí)驗(yàn)
為了進(jìn)一步客觀評估本文改進(jìn)的YOLOv5-Dy-GBCA模型在溺水人員檢測中的性能,本文分別與Faster-RCNN、SSD、YOLOv5m、YOLOv8m等主流模型進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表4。
表中結(jié)果顯示,本文改進(jìn)的YOLOv5-Dy-GBCA模型的平均精度相較于其他主流算法分別高出了9.63%、17.96%、3.01%、7.76%、4.58%、0.59%。其中Faster-RCNN作為兩階段檢測模型因?yàn)榫W(wǎng)絡(luò)參數(shù)多導(dǎo)致其推理速度較慢,檢測精度也較低,而單階段檢測網(wǎng)絡(luò)如SSD、YOLOv3-spp等其檢測精度和推理速度相比于Faster-RCNN已經(jīng)有了明顯提高,但其性能還是無法滿足溺水人員實(shí)時(shí)檢測需求。改進(jìn)后的YOLOv5-Dy-GBCA在參數(shù)量與其他主流算法持平的情況下其平均精度達(dá)到了91.50%,平均檢測時(shí)間比原模型只慢1.3 ms,在略微損失一點(diǎn)檢測速度的同時(shí)能夠滿足溺水人員檢測的性能需求。
2.7 消融實(shí)驗(yàn)
為了進(jìn)一步分析本文提出的YOLOv5-Dy-GBCA模型中的各模塊在溺水檢測中的有效性,本研究在相同的實(shí)驗(yàn)條件下進(jìn)行了消融實(shí)驗(yàn),以YOLOv5為基線模型,通過單獨(dú)添加DyHead、GBCA模塊、BiFPN結(jié)構(gòu)、Focal-EIoU損失函數(shù)以及模塊的組合形式來驗(yàn)證其對于模型的性能提升是否有積極影響。表5為YOLOv5中加入各改進(jìn)模塊的實(shí)驗(yàn)結(jié)果。
表中可以看出,相比于原始網(wǎng)絡(luò),在單獨(dú)添加DyHead模塊后,雖然單幅圖像的檢測時(shí)間增加了4.9 ms,但是模型的mAP@0.5值提高了2.35%,這是因?yàn)镈yHead模塊在增加了模型計(jì)算成本的同時(shí)也能夠增強(qiáng)模型的感知能力。在DyHead的基礎(chǔ)上加入改進(jìn)的GBCA模塊后,由于GBCA的輕量優(yōu)化結(jié)構(gòu)及其更關(guān)注大范圍特征區(qū)域的特點(diǎn),模型的平均檢測時(shí)間從只添加DyHead的36.8 ms減少到33.7 ms,同時(shí)mAP@0.5也有所增強(qiáng),達(dá)到91.33%。在單獨(dú)增加BiFPN的結(jié)構(gòu)會(huì)使模型在稍微增加平均檢測時(shí)間的同時(shí)使mAP@0.5略有提高,這是因?yàn)锽iFPN其獨(dú)特的跨尺度連接方式能夠融合更多的特征信息。在使用Focal-EIoU替換原模型的損失函數(shù)之后,由于Focal-EIoU能夠區(qū)分高質(zhì)量樣本和低質(zhì)量樣本不均衡的問題,并且改善了原模型中CIoU因其優(yōu)化相似性的不合理而導(dǎo)致收斂速度慢的問題,從而加快了模型的收斂速度,使改進(jìn)后的模型平均檢測時(shí)間相較于未改進(jìn)損失函數(shù)的模型加快了1.3 ms。綜上,在結(jié)合了所有的改進(jìn)點(diǎn)后,模型的平均檢測時(shí)間在僅犧牲了1.3 ms的情況下,其mAP值卻顯著提升了3.01%,取得了較好的檢測結(jié)果。總而言之,改進(jìn)后的YOLOv5模型在保持了相對檢測速度的同時(shí)具有較高的檢測能力。
3 結(jié)論
本研究提出了一種基于改進(jìn)YOLOv5模型的溺水檢測方法,用于提高溺水人員的檢測精度和速度。該方法將GhostBottleneck和CA結(jié)合成為GBCA模塊并替換原網(wǎng)絡(luò)的C3模塊,更專注于目標(biāo)區(qū)域,能夠增強(qiáng)網(wǎng)絡(luò)對水中人員特征信息的提取能力并且提升了模型的推理速度;改進(jìn)FPN+PAN結(jié)構(gòu)為BiFPN,加強(qiáng)了特征信息在不同的網(wǎng)絡(luò)層之間的傳遞,提高了網(wǎng)絡(luò)的特征融合能力;在頸部網(wǎng)絡(luò)后面添加兩個(gè)堆疊的基于注意力機(jī)制的動(dòng)態(tài)檢測頭DyHead,增強(qiáng)模型對溺水檢測的適應(yīng)性,提高檢測頭的表達(dá)能力;將原損失函數(shù)替換成邊長損失,采用Focal-EIoU Loss解決樣本不平衡問題,提高了模型的收斂速度。使用9 880張不同環(huán)境下的游泳和溺水圖像進(jìn)行實(shí)驗(yàn),結(jié)果分析表明,改進(jìn)的YOLOv5算法模型平均精度值mAP為91.50%,平均檢測時(shí)間為33.2 ms,與原YOLOv5模型相比mAP值提升了3.01%,而平均單幅圖像的識別時(shí)間僅增加1.3 ms,滿足對溺水人員的實(shí)時(shí)檢測需求。通過設(shè)計(jì)對比實(shí)驗(yàn)和消融實(shí)驗(yàn),該模型相比傳統(tǒng)算法和其他改進(jìn)算法對在不同場景下水上人員目標(biāo)檢測的任務(wù)上表現(xiàn)出更良好的檢測性能。未來的工作方向是繼續(xù)優(yōu)化模型結(jié)構(gòu),替換更輕量的骨干網(wǎng)絡(luò)以及使用剪枝的方法,在不降低模型檢測精度的情況下盡可能壓縮模型的大小,并且提高其檢測速度,使模型可移植性更強(qiáng),應(yīng)用場景更加廣泛。
[ 參 考 文 獻(xiàn) ]
[1]PALANIAPPAN L,SUBRAMANIAM S,KALAISELVI V K G,et al.Drowning detection and prevention system[C]∥2022 1st International Conference on Computational Science and Technology (ICCST).IEEE,2022:783-785.
[2]邱睿,聞?dòng)钚溃瑥堸i,等.基于單片機(jī)的智能防溺水背心[J].電動(dòng)工具,2019(3):7-10.
[3]孫繼魯,盛虎,姜程斌,等.一種基于STM32單片機(jī)的水下智能自救系統(tǒng)[J].電子測試,2021(18):8-9.
[4]KALSOTRA R,ARORA S.Background subtraction for moving object detection:explorations of recent developments and challenges[J].The Visual Computer,2022,38(12):4151-4178.
[5]HAYAT M A,YANG G T,IQBAL A.Mask R-CNN Based Real Time near Drowning Person Detection System in Swimming Pools[C]∥2022 Mohammad Ali Jinnah University International Conference on Computing (MAJICC).IEEE,2022:1-6.
[6]張陽婷,黃德啟,王東偉,等.基于深度學(xué)習(xí)的目標(biāo)檢測算法研究與應(yīng)用綜述[J].計(jì)算機(jī)工程與應(yīng)用,2023,59(18):1-13.
[7]GIRSHICK R.Fast r-cnn[C]∥Proceedings of the IEEE international conference on computer vision, 2015:1440-1448.
[8]KAIMING H,GKIOXARI G,DOLLR P,et al.Mask r-cnn[C]∥Proceedings of the IEEE International Conference on Computer,2017:2961-2969.
[9]喬羽.基于Mask R-CNN泳池中溺水行為檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].青島:青島大學(xué),2019.
[10]DULHARE U N,ALI M H.Underwater human detection using faster R-CNN with data augmentation[J].Materials Today:Proceedings,2023,80:1940-1945.
[11]REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:Unified,real-time object detection[C]∥Proceedings of the IEEE conference on computer vision and pattern recognition,2016:779-788.
[12]LI Dongjin,LIU Yu,WANG Jin,et al.An Improved Detection Method of Human Target at Sea Based on Yolov3[C]∥2021 IEEE International Conference on Consumer Electronics and Computer Engineering (ICCECE).IEEE,2021:100-103.
[13]NIU Qiang,WANG Yucheng,YUAN Songhe,et al.An Indoor Pool Drowning Risk Detection Method Based on Improved YOLOv4[C]∥2022 IEEE 5th Advanced Information Management,Communicates,Electronic and Automation Control Conference (IMCEC).IEEE,2022,5:1559-1563.
[14]LUO Shun,YU Juan,XI Yunjiang,et al.Aircraft target detection in remote sensing images based on improved YOLOv5[J].Ieee Access,2022,10:5184-5192.
[15]LIN T Y,DOLLR P,GIRSHICK R,et al.Feature pyramid networks for object detection[C]∥Proceedings of the IEEE conference on computer vision and pattern recognition,2017:2117-2125.
[16]LI Hanchao,XIONG Pengfei,AN Jie,et al.Pyramid attention network for semantic segmentation[Z/OL].[2023-10-30].https://arxiv.org/abs/arXiv preprint arXiv/1805.10180.
[17]DAI Xiyang,CHEN Yinpeng,XIAO Bin,et al.Dynamic head:Unifying object detection heads with attentions[C]∥Proceedings of the IEEE/CVF conference on computer vision and pattern recognition,2021:7373-7382.
[18]HAN Kai,WANG Yunhe,TIAN Qi,et al.Ghostnet:More features from cheap operations[C]∥Proceedings of the IEEE/CVF conference on computer vision and pattern recognition,2020:1580-1589.
[19]HOU Qibin,ZHOU Daquan,F(xiàn)ENG Jiashi.Coordinate attention for efficient mobile network design[C]∥Proceedings of the IEEE/CVF conference on computer vision and pattern recognition,2021:13713-13722.
[20]TAN M X,PANG R M,LE Q V.Efficientdet:Scalable and efficient object detection[C]∥Proceedings of the IEEE/CVF conference on computer vision and pattern recognition,2020:10781-10790.
[21]ZHENG Zhaohui,WANG Ping,REN Dongwei,et al.Enhancing geometric factors in model learning and inference for object detection and instance segmentation[J].IEEE transactions on cybernetics,2021,52(8):8574-8586.
[22]ZHANG Yifan,REN Weiqiang,ZHANG Zhang,et al.Focal and efficient IOU loss for accurate bounding box regression[J].Neurocomputing,2022,506:146-157.
[責(zé)任編輯:李 莉]
收稿日期:2023-11-03 修回日期:2023-12-30
基金項(xiàng)目:安徽省重點(diǎn)實(shí)驗(yàn)室項(xiàng)目(ZKSYS202204)
作者簡介:劉向舉(1978—),男,黑龍江哈爾濱人,副教授,主要研究方向?yàn)槲锫?lián)網(wǎng)、智能控制和軟件定義網(wǎng)絡(luò)。[*通信作者]帥韜(1998—),男,安徽無為人,碩士研究生,主要研究方向?yàn)槟繕?biāo)檢測。
引用格式:劉向舉,帥韜,蔣社想.基于改進(jìn)YOLOv5的溺水人員檢測[J].陜西理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2024,40(3):35-43.