葉采萍,陳炯,馬顯龍,胡宗杰
(1. 上海電力大學(xué)電氣工程學(xué)院, 上海 200090;2. 云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,昆明 650217)
隨著人們對(duì)電力需求的廣泛性不斷提升,變電站的數(shù)量和規(guī)模也在不斷擴(kuò)張,作為電力系統(tǒng)中電能輸送和配送環(huán)節(jié)的重要一環(huán),變電站運(yùn)維的安全性和可靠性至關(guān)重要[1-4]。但由于無(wú)人機(jī)技術(shù)發(fā)展迅猛,普及率高,極大降低了該類產(chǎn)品的使用門檻,導(dǎo)致無(wú)人機(jī)的“黑飛”現(xiàn)象嚴(yán)重,對(duì)變電站安全運(yùn)行的不良影響逐漸增強(qiáng),開展反無(wú)人機(jī)入侵的目標(biāo)檢測(cè)逐漸成為研究熱點(diǎn)。
目前反無(wú)人機(jī)探測(cè)技術(shù)大多是利用各種傳感器收集到無(wú)人機(jī)的物理屬性(如光學(xué)特性、磁學(xué)特性、聲學(xué)特性)來(lái)發(fā)現(xiàn)目標(biāo)對(duì)象。常用的無(wú)人機(jī)檢測(cè)技術(shù)主要包含雷達(dá)探測(cè)、無(wú)線電信號(hào)探測(cè)和光電探測(cè)[5]。但由于無(wú)人機(jī)體積?。?],傳統(tǒng)雷達(dá)對(duì)無(wú)人機(jī)探測(cè)存在一定局限,雷達(dá)對(duì)無(wú)人機(jī)探測(cè)時(shí)受到地面雜波干擾嚴(yán)重,雖然探測(cè)距離可達(dá)近10 km,但是識(shí)別性能較差。光電探測(cè)又稱無(wú)源光學(xué)成像技術(shù),雖然成本低,但雜波和天氣對(duì)其影響很大。無(wú)線電信號(hào)探測(cè)是通過不同波長(zhǎng)的紅外成像獲得圖像,然后對(duì)圖像進(jìn)行分析,但大部分微小型無(wú)人機(jī)的熱學(xué)特征不是很明顯,需要和具有大范圍搜索能力的模塊配合使用[7]。針對(duì)這些問題,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法[8]為反無(wú)人機(jī)檢測(cè)提供了更多的解決方案。
基于深度學(xué)習(xí)的主流目標(biāo)檢測(cè)算法主要分為兩類,一類是基于候選區(qū)域的雙階段算法,另一類是基于回歸分析的單階段算法[9]。雙階段算法[10]的“看兩眼”含候選框的提取和分類,與單階段算法的“只需要看一眼”相比,雖然在檢測(cè)正確率和精度上略占上風(fēng),但存在檢測(cè)速度慢的問題,而且目前對(duì)單階段算法引入損失函數(shù)、結(jié)構(gòu)優(yōu)化等舉措不僅能保證檢測(cè)的實(shí)時(shí)效果也能滿足實(shí)際應(yīng)用的精度要求。目標(biāo)檢測(cè)在反無(wú)人機(jī)檢測(cè)中具有重要的應(yīng)用價(jià)值。雖然現(xiàn)在的計(jì)算機(jī)視覺技術(shù)發(fā)展迅猛,但針對(duì)無(wú)人機(jī)這類異物檢測(cè)的內(nèi)容尚少,且基于視覺信息的無(wú)人機(jī)檢測(cè)是一個(gè)非常具有挑戰(zhàn)性的任務(wù),現(xiàn)階段主流算法的檢測(cè)成功率都在70%~80%之間。孫顥洋等人[11]結(jié)合深度殘差網(wǎng)絡(luò)和YOLOv3 提取目標(biāo)類別信息和像空間位置信息。薛珊等人[12]將圖片的SIFT 特征作為支持向量機(jī)的輸入向量作為解決小樣本問題的解決方案。崔令飛等人[13]將輕量化算法與國(guó)產(chǎn)嵌入式計(jì)算平臺(tái)結(jié)合構(gòu)建出MobileNet-SSD 模型。雖然這些算法的設(shè)計(jì)與研究對(duì)于目前較為空白的反無(wú)人機(jī)視覺檢測(cè)技術(shù)作出了一定的貢獻(xiàn),但普遍存在對(duì)微小信息檢測(cè)難、深層信息挖掘效果不佳的情況。
為了保證無(wú)人機(jī)檢測(cè)算法的檢測(cè)速度和檢測(cè)精度,本文旨在從輕量化主干網(wǎng)絡(luò)出發(fā),在保障實(shí)時(shí)檢測(cè)速度的同時(shí)提高模型對(duì)于物體小、移動(dòng)速度快等特點(diǎn)的無(wú)人機(jī)目標(biāo)的識(shí)別精度。本文主要貢獻(xiàn)如下。
1)考慮實(shí)際工程應(yīng)用,基于YOLOv5 Nano 輕量化的基準(zhǔn)模型進(jìn)行改進(jìn),并進(jìn)一步減少模型參數(shù)量和計(jì)算復(fù)雜度。
2)為了改善小目標(biāo)識(shí)別能力差的缺陷,本文設(shè)計(jì)了四尺度檢測(cè)結(jié)構(gòu),在 YOLOv5結(jié)構(gòu)上增加一個(gè)基于淺層特征圖的檢測(cè)層,增加深層語(yǔ)義與淺層語(yǔ)義信息的融合,有效地提升小目標(biāo)對(duì)象的檢測(cè)效果。
3)將通道注意力機(jī)制和多頭注意力機(jī)制用于專注目標(biāo)對(duì)象識(shí)別,提高對(duì)于目標(biāo)特征信息的提取能力,增強(qiáng)背景干擾下待檢測(cè)目標(biāo)的顯著度。
4)考慮到網(wǎng)絡(luò)最深處下采樣倍數(shù)大極易導(dǎo)致獲取信息難度大的問題。因此,本文在C3 模塊內(nèi)嵌入Transformer 編碼器模塊從而加強(qiáng)像素塊之間的關(guān)聯(lián)性。
Ultralytics LLC 在2020 年提出的YOLOv5 是用Python 語(yǔ)言開發(fā)的YOLO 系列的最新模型,采用pytorch 框架的YOLOv5 具有非常輕量級(jí)的模型結(jié)構(gòu),相比YOLOv4 模型量級(jí)小了近90%,使檢測(cè)速度與精度達(dá)到較好的平衡。YOLOv3 和YOLOv4 的模型計(jì)算速度均受到網(wǎng)絡(luò)結(jié)構(gòu)影響,較深層級(jí)模型會(huì)消耗更多的計(jì)算成本。
因此,本文作者于2021 年推出了YOLOv5n(YOLOv5 Nano)用于支持移動(dòng)端部署的最輕量化模型。YOLOv5n 是YOLOv5 系列中網(wǎng)絡(luò)深度最淺、訓(xùn)練速度最快的網(wǎng)絡(luò)結(jié)構(gòu)。Nano 型號(hào)保持了YOLOv5s 深度倍數(shù)為 0.33,但將 YOLOv5s 寬度倍數(shù)從 0.50 減少到 0.25。YOLOv5n 擁有190 萬(wàn)個(gè)參數(shù),相比于YOLOv5s 的750 萬(wàn)參數(shù)量減少近75%,計(jì)算復(fù)雜度大幅降低,故模型大小也從7.5 M降低至1.9 M。模型具備了更加輕量化、精度更高、速度更快的優(yōu)勢(shì)。其整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
在網(wǎng)絡(luò)結(jié)構(gòu)上,模型訓(xùn)練時(shí)除了采用Mosaic數(shù)據(jù)增強(qiáng)方式豐富數(shù)據(jù)集,還增加了MixUp 和Copy-Paste[14]增強(qiáng)方式,通過隨機(jī)縮放圖片、數(shù)據(jù)上采樣等方式增加了訓(xùn)練樣本的多樣性,以此提高了網(wǎng)絡(luò)魯棒性的同時(shí),還能提升模型訓(xùn)練效率。
為了能從圖像中提取出豐富的特征信息,YOLOv5n的主干網(wǎng)絡(luò)結(jié)構(gòu)延續(xù)CSPDarknet53結(jié)構(gòu),通過解析重復(fù)的梯度信息幫助特征在網(wǎng)絡(luò)路徑中的傳播,有效減少模型參數(shù)量。此外,YOLOv5n 在YOLOv5s的基礎(chǔ)上對(duì)主干網(wǎng)絡(luò)主要進(jìn)行以下4處改動(dòng):1)Focus 模塊替換為Conv 模塊;2)將位于主干層P3 的C3 模塊的堆疊個(gè)數(shù)降低至6 個(gè);3)SPP 模塊優(yōu)化為SPPF 模塊,并置于主干網(wǎng)絡(luò)末端;4)最后一個(gè)C3 模塊重新引入快捷方式。上述操作不需要引入過多的計(jì)算開銷就可以提高速度,幫助高層特征進(jìn)行提取與融合。YOLOv5 Nano 的頸部網(wǎng)絡(luò)采用特征金字塔(feature pyramid network, FPN)和路徑聚合網(wǎng)絡(luò)(path aggregation network, PAN)相結(jié)合[15]的方式,F(xiàn)PN[16]自頂向下加強(qiáng)特征由底層向高層間的傳遞[17],PAN[18]則自底向上地傳遞位置信息,減少計(jì)算量,促進(jìn)信息流的傳輸。
針對(duì)變電站場(chǎng)景下對(duì)無(wú)人機(jī)的檢測(cè)精度和檢測(cè)速度均需要較高要求的實(shí)際情況,本文提出基于YOLOv5n的改進(jìn)算法。整體模型結(jié)構(gòu)框架上本文繼續(xù)延續(xù)原始版本的結(jié)構(gòu),主要是參考CSPDarknet53和路徑聚合網(wǎng)絡(luò)的結(jié)構(gòu)作為本文算法的主干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò)。CSPDarknet53在分類和其他問題上具有更為強(qiáng)大的特征提取能力,并且其頸部設(shè)計(jì)用于更好地利用主干提取的特征,并在不同階段對(duì)主干網(wǎng)絡(luò)提取的特征圖進(jìn)行再處理和合理使用。本文的整體架構(gòu)如圖2所示。
原始YOLOv5 框架中采用路徑聚合網(wǎng)絡(luò)結(jié)構(gòu)對(duì)多尺度特征進(jìn)行融合[19],對(duì)小目標(biāo)檢測(cè)采用的淺層特征圖是8 倍降采樣輸出的特征圖,為了更充分地利用圖片的語(yǔ)義特征來(lái)提高檢測(cè)網(wǎng)絡(luò)的檢測(cè)精度,本文對(duì)這部分結(jié)構(gòu)進(jìn)行改進(jìn),如圖3所示。
圖3 新增檢測(cè)層后的特征提取模型Fig. 3 Feature extraction model after adding detection layer
本文將640×640 大小的圖像作為網(wǎng)絡(luò)輸入,新增一個(gè)更小的尺度來(lái)進(jìn)行小目標(biāo)檢測(cè),同時(shí)仍保留原有的 3 種不同大小尺寸。經(jīng)過5 次卷積操作,其大小為2,步長(zhǎng)(stride)為2,padding 為1 的下采樣操作后,獲得以下4 組不同尺度的特征圖:20×20、40×40、80×80和160×160。
對(duì)40×40 和80×80 兩個(gè)中尺度特征圖而言,同一級(jí)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)之間加入殘差模塊,保證特征信息的傳遞的同時(shí)融合更多的特征。對(duì)新增預(yù)測(cè)尺度160×160 而言,在4 倍下采樣的部分開始提取特征,然后對(duì)8倍、16倍和32倍下采樣特征再進(jìn)行上采樣,最后將相同尺寸的特征進(jìn)行級(jí)聯(lián)從而輸出4倍降采樣的特征融合檢測(cè)層。
當(dāng)前,新增特征映射尺寸為160×160,其含有更為豐富的淺層特征信息,對(duì)應(yīng)原圖的感受野較小,檢測(cè)效果顯著提升,能有效緩解小目標(biāo)漏檢情況。
對(duì)大尺度160×160 特征圖而言,由于其含有較多位置信息,感受野最小,故用來(lái)檢測(cè)小目標(biāo)。同理,大尺度特征圖應(yīng)配小尺度錨框,小尺度特征圖應(yīng)用大尺度錨框進(jìn)行預(yù)測(cè)框的回歸。本文采用四尺度特征融合結(jié)構(gòu),各尺度的特征圖大小與錨框尺寸的對(duì)應(yīng)關(guān)系如表1 所示,當(dāng)前錨框均在COCO2017數(shù)據(jù)集上,通過K-Means聚類算法統(tǒng)計(jì)得出。
表1 特征圖大小與錨框尺寸對(duì)應(yīng)關(guān)系Tab. 1 Corresponding relationship between the sizes of feature drawing and anchor frame
本文受Transformer 編碼器結(jié)構(gòu)具有提取特征能力顯著和運(yùn)行效率高的啟發(fā),將其從自然語(yǔ)言處理(natural language processing, NLP)領(lǐng)域應(yīng)用于計(jì)算機(jī)視覺[20-21],以C3 模塊為基礎(chǔ)結(jié)構(gòu)嵌入注意力機(jī)制改進(jìn)為C3TR模塊。
Transformer編碼器的核心在于注意力值計(jì)算和特征加權(quán)聚合,通過注意力值計(jì)算獲取兩塊像素圖(pixel)之間的關(guān)系,再用注意力值作為權(quán)重指導(dǎo)去聚合其他像素圖的特征,最終效果使得特征的表征更加顯著,信息量更多。本文的編碼器結(jié)構(gòu)與Attention is all you need[22]的編碼器結(jié)構(gòu)類似,使用了多頭注意力機(jī)制和全連接網(wǎng)絡(luò)(multi-layer perceptron, MLP)兩種殘差塊,其區(qū)別在于前置模塊采用了歸一化層Norm(normalization)并通過MLP替換了前饋網(wǎng)絡(luò),Transformer編碼器結(jié)構(gòu)如圖4所示。
圖4 Transformer 編碼器模塊Fig. 4 Transformer encoder module
C3 模塊[23]原型為BottleneckCSP 模塊,以跨階段局部(cross stage partial, CSP)結(jié)構(gòu)為架構(gòu),上支路先通過一個(gè)1×1 的點(diǎn)卷積減少通道數(shù),再通過瓶頸模塊(bottleneck module)先降后升維并獲取特征,與下支路的Conv模塊并行后進(jìn)行拼接(concat),再經(jīng)過一個(gè)Conv 模塊還原通道數(shù),從而實(shí)現(xiàn)分層特征融合時(shí)減少計(jì)算量。具體結(jié)構(gòu)如圖5(a)所示。
圖5 改進(jìn)前后模塊對(duì)比圖Fig. 5 Comparison of module before and after improving
C3TR 模塊的結(jié)構(gòu)延續(xù)CSP 主體包含3 個(gè)標(biāo)準(zhǔn)卷積層的架構(gòu)。其優(yōu)化點(diǎn)方式如下。
1)原瓶頸模塊是通過先降維后升維的方式減少卷積層參數(shù)量,而C3TR 模塊嵌入3 層Transformer編碼器模塊替代原瓶頸模塊,保持原有結(jié)構(gòu)帶來(lái)的低推理量特性,計(jì)算復(fù)雜度更優(yōu)。
2)利用編碼器中的兩個(gè)主要模塊:多頭注意力機(jī)制和全連接層MLP。其中,多頭注意力機(jī)制不僅可以幫助當(dāng)前節(jié)點(diǎn)注意當(dāng)前特征,還可以獲得前后像素塊的相關(guān)性,而歸一化層和丟棄層(dropout layers)則有助于網(wǎng)絡(luò)更好地收斂,防止網(wǎng)絡(luò)過度擬合。C3TR模塊如圖5(b)所示。
本文在 YOLOv5 Nano 的基礎(chǔ)上只在主干網(wǎng)絡(luò)末端和預(yù)測(cè)部分使用C3TR 模塊,在底層特征圖上形成一個(gè)基于C3TR 的預(yù)測(cè)頭。由于網(wǎng)絡(luò)末端的特征圖分辨率較低,在低分辨率特征圖上應(yīng)用C3TR預(yù)測(cè)頭可以有效地減少計(jì)算量和存儲(chǔ)成本。同時(shí)結(jié)合其他3 個(gè)尺度的預(yù)測(cè)頭,本文所提改進(jìn)YOLOv5算法的四頭結(jié)構(gòu)可以更加有利于小目標(biāo)物體的識(shí)別。此外,為了達(dá)到模型輕量化效果,只需在底層特征圖上應(yīng)用一個(gè)C3TR 預(yù)測(cè)頭,過多增加預(yù)測(cè)頭雖然會(huì)讓該尺度特征圖對(duì)微小物體敏感,但相應(yīng)的計(jì)算和儲(chǔ)存成本也會(huì)增加。因此,在模型的小目標(biāo)檢測(cè)性能差距不大的情況下應(yīng)用于深層網(wǎng)絡(luò)對(duì)模型整體而言更優(yōu)。
為了提高無(wú)人機(jī)目標(biāo)的局部特征表達(dá)能力,本文在YOLOv5 網(wǎng)絡(luò)模型Neck 中的每一尺寸預(yù)測(cè)輸出前都加入了卷積注意力模塊(convolutional block attention module ,CBAM)[24],其結(jié)構(gòu)圖如圖6所示。
圖6 CBAM模塊結(jié)構(gòu)圖Fig. 6 Structure of the CBAM module
CBAM 模塊包括兩個(gè)注意力模塊,即一個(gè)通道注意力模塊和一個(gè)空間注意模塊[25]。首先,它通過通道注意模塊執(zhí)行全局最大池化(max pooling)和平均池化(average pooling),然后分別通過MLP 層添加結(jié)果并傳遞Sigmoid 激活函數(shù),從而提高特征圖的準(zhǔn)確性。通道注意力模塊輸出權(quán)重參數(shù)張量MC(F)計(jì)算公式如式(1)所示。
式中:σ(?)為Sigmoid 非線性函數(shù);MLP(·)為MLP 層的計(jì)算函數(shù);Maxpool(·)為全局最大池化的計(jì)算函數(shù);Avgpool(·)為平均池化的計(jì)算函數(shù);特征圖F為尺寸為H×W×C的圖片R,以圖片R最左上角點(diǎn)為原點(diǎn),水平向右為x軸,豎直向下為y軸,建立坐標(biāo)系,其中H為R的高度,即縱坐標(biāo)值,W為R的寬度,即橫坐標(biāo)值,C為通道數(shù),圖片R作為RGB 圖像,其顏色空間有3 個(gè)通道,分別為:紅(red)、綠(green)、藍(lán)(blue);和分別為經(jīng)過最大池化和平均池化的輸出特征;W0和W1分別為MLP層的隱藏層權(quán)重和輸出層權(quán)重。
然后將生成的通道特征映射通過空間注意力模塊傳遞,利用空間子模塊提取內(nèi)部空間中的關(guān)系并計(jì)算出相應(yīng)顯著特征,從而降低特征信息在網(wǎng)絡(luò)中跨連接問題造成的圖像丟失概率,其空間注意力模塊輸出權(quán)重參數(shù)張量MS(F)計(jì)算公式如式(2)所示。
式中:f7×7為7×7的卷積層;和分別為在空間注意力模塊中經(jīng)過最大池化和平均池化的輸出特征。
輸入特征圖F=RH×W×C。在經(jīng)過通道注意模塊和空間注意模塊后為MC=R1×1×C和MS=RH×W×1,該過程如式(3)—(4)所示。
式中:F′為經(jīng)通道注意力模塊特征變換的輸出結(jié)果;F″為經(jīng)空間注意力模塊特征變換的輸出結(jié)果。
融合該模塊后可以使模型更加關(guān)注關(guān)鍵處特征并抑制不相關(guān)的信息,以此能夠有效提高識(shí)別精度和識(shí)別效率的同時(shí)又能保持原基礎(chǔ)模型的檢測(cè)速度,實(shí)現(xiàn)小目標(biāo)的快速檢測(cè)。本文引入了4 個(gè)卷積注意力模塊,分別位于每個(gè)特征融合的末端、預(yù)測(cè)輸出的前端。根據(jù)Sanghyun Woo所做實(shí)驗(yàn)[26]可知,在不同的分類和檢測(cè)數(shù)據(jù)集上將 CBAM 集成到不同的模型中后模型的性能得到了很大的提高,這證明了CBAM模塊的有效性。在變電站的背景下檢測(cè)場(chǎng)景包含各類用電設(shè)備,監(jiān)控畫面中尋找小目標(biāo)無(wú)人機(jī)存在一定困難,引入CBAM可以增強(qiáng)復(fù)雜背景中待檢測(cè)目標(biāo)的顯著性,提升網(wǎng)絡(luò)抵抗混亂信息的能力,對(duì)檢測(cè)精確性也有一定程度的幫助。引入通道注意力模塊后其部分特征可視化效果如圖7所示。
圖7 特征圖可視化效果Fig. 7 Visualization effect of feature map
實(shí)驗(yàn)環(huán)境使用Windows 10 操作系統(tǒng),使用NVIDIA GeForce 1080Ti顯卡進(jìn)行模型訓(xùn)練和測(cè)試,CPU 配置為Intel(R) Core(TW) i7-10700CPU,CUDA 版本為10.1, Pytorch 版本為1.11.0,Python語(yǔ)言環(huán)境版本為3.8。
目前公開的無(wú)人機(jī)數(shù)據(jù)集較少且尚無(wú)權(quán)威數(shù)據(jù)集。本文所用數(shù)據(jù)集主要由兩部分組成,一部分選用Real World 公開數(shù)據(jù)集,其中包含51 446 張圖像,另一部分選用Det Fly 公開數(shù)據(jù)集[27],包含13 798 張圖像,兩種數(shù)據(jù)集環(huán)境背景均包含天空、城鎮(zhèn)、田野和山脈,視角都包括前視圖、頂視圖和底視圖。本次實(shí)驗(yàn)選用上述數(shù)據(jù)集作為模型訓(xùn)練和測(cè)試的數(shù)據(jù)集,將樣本圖像大小統(tǒng)一調(diào)整為640×640。采用動(dòng)量參數(shù)為0.937 的梯度下降法[28](stochastic gradient descent,SGD)作為優(yōu)化策略,總迭代次數(shù)(epoch)為100 次,迭代批量大?。╞atch_size)為16,初始學(xué)習(xí)率lr0=0.01。為了避免初始訓(xùn)練時(shí)發(fā)生過擬合現(xiàn)象,本文在在前3 次迭代時(shí)使用動(dòng)量參數(shù)為0.8 的Warm-up 方法進(jìn)行預(yù)熱。Warm-up 結(jié)束后采用余弦退火方式對(duì)學(xué)習(xí)率進(jìn)行更新,達(dá)到最終學(xué)習(xí)率0.0001。
為了客觀評(píng)價(jià)本文算法的優(yōu)勢(shì),本文采用召回率(recall)、準(zhǔn)確率(precision)、平均精度(average precision, AP)[29]和平均檢測(cè)處理時(shí)間(frames per second, FPS)[30]作為評(píng)價(jià)指標(biāo),各指標(biāo)具體計(jì)算公式如式(5)—(8)所示。
式中:Recall為召回率;Precison為準(zhǔn)確率;NTP為正確分類數(shù);NFP為錯(cuò)誤分類數(shù);NFN為含有真值框但錯(cuò)判的數(shù)量;AP為平均精度;p(r)為Precision-Recall曲線中橫坐標(biāo)r對(duì)應(yīng)的縱坐標(biāo)p值。
式中:NFPS為平均檢測(cè)處理時(shí)間;Nframes為算法所處理圖像的幀數(shù);Ttime為處理全部幀圖像所消耗的單位時(shí)間,通常是1 s。
為驗(yàn)證本文改進(jìn)算法的有效性及輕量化水平,將本模型與YOLOv4[31]、MobileNet-YOLOv5[32]、YOLOv5s、 YOLOv5n 等主流算法作為對(duì)照,MobileNet-YOLOv5是以MobileNetv3[33]為主干網(wǎng)絡(luò)的算法,其余算法的主干網(wǎng)絡(luò)均為CSPDarknet53,以上算法均使用相同樣本和參數(shù)進(jìn)行訓(xùn)練,并與本文提出算法進(jìn)行性能比較,實(shí)驗(yàn)結(jié)果如表2所示。
表2 主流檢測(cè)算法模型性能對(duì)比Tab. 2 Performance comparison of mainstream detection algorithm models
從表2可以看出,本文算法與主流算法相比較,模型復(fù)雜度最低、檢測(cè)準(zhǔn)確度最高,并且保持著較高的推理速度,對(duì)于計(jì)算能力較弱的設(shè)備更加友好。
從準(zhǔn)確率(precision)和召回率(recall)來(lái)看,本文算法的準(zhǔn)確率最高,可達(dá)90.2%;召回率為85.0%,較MobileNet-YOLOv5、YOLOv5s、YOLOv5n 模型分別提高了7.1%、2.4%和4.3%。雖然略低于YOLOv4 的召回率,但YOLOv4 過低的準(zhǔn)確率會(huì)導(dǎo)致錯(cuò)檢率的提升,且該模型實(shí)時(shí)性低,無(wú)法達(dá)到變電站安全運(yùn)維要求。
從平均精度(AP)來(lái)看,本文算法的AP 為89.5%,與YOLOv4 相差不大,相比MobileNet-YOLOv5、YOLOv5s、YOLOv5n 模型分別提高了4.8%、1.5%和4%。
從檢測(cè)速度來(lái)看,本文模型FPS可達(dá)160幀/s,顯然高于其他模型,相比YOLOv4、MobileNet-YOLOv5、YOLOv5s、YOLOv5n算法每秒分別提高了64幀、26幀、4幀、2幀。實(shí)時(shí)監(jiān)測(cè)普遍要求檢測(cè)幀率大于25幀/s,本文算法可以達(dá)到實(shí)時(shí)目標(biāo)檢測(cè)標(biāo)準(zhǔn)。
從輕量級(jí)角度來(lái)看,輕量級(jí)網(wǎng)絡(luò)應(yīng)具備參數(shù)少、計(jì)算量小、推理時(shí)間短的優(yōu)勢(shì)。本文通過模型的參數(shù)量(params)和計(jì)算量(giga floating-point operations per second, GLOPs)具象化評(píng)估模型的計(jì)算空間復(fù)雜度和計(jì)算時(shí)間復(fù)雜度。MobileNetv3在圖像實(shí)時(shí)分類領(lǐng)域以輕量化著稱。但是從表2中可以看出,MobileNet-YOLOv5 雖然相比YOLOv4 和YOLOv5s在參數(shù)量和浮點(diǎn)運(yùn)算數(shù)上大幅降低,但本文模型不僅比MobileNet-YOLOv5 復(fù)雜度低,平均精度還提高了4.8%。本文模型比原模型YOLOv5n 的190 萬(wàn)參數(shù)量減少了6.8%,計(jì)算量減少了6.7%。
綜合來(lái)看,本文算法相比于其他算法,從綜合模型大小、算法復(fù)雜度、平均精度和檢測(cè)速度考慮,在保證檢測(cè)精度較高的同時(shí)兼顧了較快的檢測(cè)速度,實(shí)現(xiàn)了以較小的檢測(cè)精度換來(lái)模型復(fù)雜度的大幅降低,與其他算法相比具有一定的優(yōu)勢(shì)。
為驗(yàn)證每個(gè)改進(jìn)點(diǎn)對(duì)本文算法的貢獻(xiàn),本文進(jìn)行消融實(shí)驗(yàn)。在相同實(shí)驗(yàn)條件下以YOLOv5n 模型作為基準(zhǔn)算法,在此基礎(chǔ)上逐步添加四尺度特征融合結(jié)構(gòu)、混合注意力模塊、改進(jìn)C3TR 模塊的順序加入基線模型中。消融實(shí)驗(yàn)結(jié)果如表3所示。
從表3 中可以看出,實(shí)驗(yàn)2 新增一大尺度預(yù)測(cè)層,檢測(cè)平均精度稍微提升,但貢獻(xiàn)度不夠大。實(shí)驗(yàn)3 在網(wǎng)絡(luò)中嵌入的混合注意力模塊和改進(jìn)C3TR模塊,AP 達(dá)到88.2%,說明在本文算法中注意力機(jī)制的融合對(duì)網(wǎng)絡(luò)精度貢獻(xiàn)度高于結(jié)構(gòu)上的改進(jìn)。實(shí)驗(yàn)4 是在實(shí)驗(yàn)2 的基礎(chǔ)上嵌入混合注意力模塊,可以看出,在四尺度特征融合結(jié)構(gòu)下引入混合注意力模塊可以增強(qiáng)模型對(duì)目標(biāo)框的識(shí)別能力,提高模型檢測(cè)平均精度。最后將實(shí)驗(yàn)3 與本文算法綜合分析,在精度近似的情況下召回率比其他實(shí)驗(yàn)都有顯著提升,能有效緩解小目標(biāo)檢測(cè)的漏檢情況,使得模型平均精度得到有效提升。
消融實(shí)驗(yàn)整體證明,相較于基準(zhǔn)模型,本文提出的3 處改進(jìn)點(diǎn)對(duì)精確度和召回率都有所提高,在模型大幅減少計(jì)算量和參數(shù)量的同時(shí)對(duì)網(wǎng)絡(luò)性能提升也有一定幫助。
為了驗(yàn)證優(yōu)化后算法在真實(shí)場(chǎng)景中的檢測(cè)效果,本文挑選一些具有代表性的無(wú)人機(jī)視頻進(jìn)行檢測(cè),檢測(cè)結(jié)果如圖8所示。
圖8(a)和8(b)分別為無(wú)人機(jī)在背景干擾時(shí)的原圖和檢測(cè)圖,圖8(c)和8(d)分別為無(wú)人機(jī)近距離的檢測(cè)圖,圖8(e)和8(f)分別為多架無(wú)人機(jī)遠(yuǎn)距離超小目標(biāo)時(shí)的原圖與檢測(cè)圖,圖8(g)和8(h)分別為較暗環(huán)境下無(wú)人機(jī)的原圖與檢測(cè)圖??梢钥闯觯疚乃惴▽?duì)不同拍攝角度下的復(fù)雜背景和超小目標(biāo)都展現(xiàn)出較為優(yōu)異的檢測(cè)效果,還能有效抑制背景噪聲干擾,一般情況下人眼很難在這些圖中迅速找到無(wú)人機(jī),但通過改進(jìn)后的YOLOv5檢測(cè)模型能夠?qū)@些場(chǎng)景中的無(wú)人機(jī)快速準(zhǔn)確識(shí)別。
當(dāng)前無(wú)人機(jī)缺乏規(guī)范管控,且其目標(biāo)小,速度快,成為目標(biāo)檢測(cè)領(lǐng)域的難點(diǎn)。為提高變電站背景下對(duì)無(wú)人機(jī)的實(shí)時(shí)檢測(cè)能力,本文對(duì)YOLOv5模型的結(jié)構(gòu)改進(jìn),新增一個(gè)大尺度檢測(cè)層,提高模型對(duì)微小目標(biāo)的檢測(cè)能力??紤]到特征在深層網(wǎng)絡(luò)中傳遞容易造成信息丟失的問題,對(duì)小尺度檢測(cè)層改進(jìn)C3 模塊設(shè)計(jì),引入Transformer 編碼器模塊從而增強(qiáng)像素信息之間的關(guān)聯(lián)性。在Neck 網(wǎng)絡(luò)集成入混合注意力模塊,一定程度上提升模型對(duì)于特征篩選能力。實(shí)驗(yàn)結(jié)果表明,本文算法可同時(shí)兼?zhèn)漭p量化、高精度和實(shí)時(shí)性要求,可以更好服務(wù)于變電站安全運(yùn)行場(chǎng)景。