楊文濤,張維光
(西安工業(yè)大學(xué) 光電工程學(xué)院,西安 710021)
基于機(jī)載平臺(tái)的空對(duì)地觀測(cè)目標(biāo)識(shí)別技術(shù)是一種不斷發(fā)展的軍民兩用技術(shù)。民用技術(shù)已成功應(yīng)用于防災(zāi)減災(zāi)、農(nóng)田管理、大區(qū)域工業(yè)監(jiān)控等領(lǐng)域。軍用技術(shù)已成功應(yīng)用于大區(qū)域防務(wù)、敵對(duì)目標(biāo)識(shí)別等領(lǐng)域??諏?duì)地觀測(cè)由于被觀察目標(biāo)離機(jī)載平臺(tái)較遠(yuǎn),目標(biāo)在圖像數(shù)據(jù)中所占像素點(diǎn)有限,表現(xiàn)出弱小目標(biāo)的特征。有的應(yīng)用領(lǐng)域目標(biāo)在圖像數(shù)據(jù)中所占像素個(gè)數(shù)小于10*10,目標(biāo)的色彩、紋理及型狀等特征在目標(biāo)識(shí)別過程中難以提取。加之空對(duì)地觀測(cè)以大地為背景,背景事物的隨機(jī)性較大,目標(biāo)與背景之間相互關(guān)聯(lián)關(guān)系不高,目標(biāo)識(shí)別的難度較大。國(guó)內(nèi)外弱小目標(biāo)識(shí)別技術(shù)根據(jù)是否使用神經(jīng)網(wǎng)絡(luò)可以分為非神經(jīng)網(wǎng)絡(luò)技術(shù)和神經(jīng)網(wǎng)絡(luò)技術(shù)兩大類。非神經(jīng)網(wǎng)絡(luò)的弱小目標(biāo)識(shí)別技術(shù)主要利用背景建模和目標(biāo)在圖像序列之間的關(guān)聯(lián)特征關(guān)系實(shí)現(xiàn)目標(biāo)識(shí)別。背景建模目標(biāo)識(shí)別技術(shù)典型技術(shù)有基于高斯背景的目標(biāo)識(shí)別技術(shù),應(yīng)用高斯混合模型對(duì)其背景進(jìn)行建模,分辨出圖像前景和背景來實(shí)現(xiàn)對(duì)弱小目標(biāo)的識(shí)別[1],但該方法對(duì)弱小目標(biāo)識(shí)別準(zhǔn)確率較低?;谀繕?biāo)圖像關(guān)聯(lián)特征的目標(biāo)識(shí)別技術(shù),鐘小莉等人[2]研究了利用離焦模糊圖像序列對(duì)弱小目標(biāo)進(jìn)行自動(dòng)檢測(cè),采用了小波分解的方法對(duì)圖像進(jìn)行分解,通過縮減小波系數(shù),濾除弱小目標(biāo)復(fù)雜背景的噪聲,完成動(dòng)態(tài)聚類的目標(biāo)檢測(cè),該方法的檢測(cè)效率雖然較好,但是對(duì)于相似背景下的弱小目標(biāo)檢測(cè)精度較低。張素等人采用時(shí)空域圖像塊模型求解圖像目標(biāo),最終實(shí)現(xiàn)弱小目標(biāo)的識(shí)別[3],但該方法對(duì)于像素尺寸為10*10以下的的弱小目標(biāo)依然存在識(shí)別精度低的問題?;谏窠?jīng)網(wǎng)絡(luò)的弱小目標(biāo)識(shí)別方法可以分為分類回歸神經(jīng)網(wǎng)絡(luò)技術(shù)和深度學(xué)習(xí)目標(biāo)識(shí)別技術(shù)兩大類。分類回歸神經(jīng)網(wǎng)絡(luò)技術(shù)對(duì)于多目標(biāo)識(shí)別與跟蹤精度不高,適用性不強(qiáng),Z.Huang等人[4]提出了改進(jìn)的分類回歸深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)小目標(biāo)進(jìn)行識(shí)別,但該方法容易造成弱小目標(biāo)分類識(shí)別率低、實(shí)時(shí)性低的問題?;谏疃葘W(xué)習(xí)的目標(biāo)識(shí)別方法可以為分雙階段和單階段兩種。雙階段深度學(xué)習(xí)網(wǎng)絡(luò)可以實(shí)現(xiàn)目標(biāo)的高精度識(shí)別與跟蹤,但因基運(yùn)算量較大,目標(biāo)識(shí)別系統(tǒng)實(shí)時(shí)性較低,K.He等人[5]在提出的雙階段R-CNN算法基礎(chǔ)上設(shè)計(jì)了一種空間金字塔池化層,使得該網(wǎng)絡(luò)不僅克服了多尺度提取、弱小目標(biāo)特征表達(dá)能力的缺點(diǎn),并且解決了在卷積神經(jīng)網(wǎng)絡(luò)中只能限制輸入固定大小的情況,但是由于增加網(wǎng)絡(luò)結(jié)構(gòu)存在著檢測(cè)目標(biāo)速度慢的問題。單階段深度學(xué)習(xí)目標(biāo)識(shí)別方法的典型代表是系列You Only Look Once(YOLO)[6]及其衍生模型,可以實(shí)現(xiàn)目標(biāo)的快速識(shí)別。對(duì)于實(shí)時(shí)性要求較高的應(yīng)用領(lǐng)域yolo方法,通過開發(fā)提升網(wǎng)絡(luò)目標(biāo)識(shí)別準(zhǔn)確率的新型模塊與單元,可以實(shí)現(xiàn)對(duì)多目標(biāo)的高精度高速檢測(cè)與識(shí)別。
針對(duì)機(jī)載平臺(tái)計(jì)算資源有限條件下空對(duì)地觀高精度高速目標(biāo)識(shí)別與跟蹤技術(shù)需求,本文選用YOLOv5m網(wǎng)絡(luò)模型為研究對(duì)象,通過增加小目標(biāo)檢測(cè)層,提高對(duì)弱小目標(biāo)的檢測(cè)能力;在原始的特征融合網(wǎng)絡(luò)(FPN,feature pyramid network)+ (PAN, pyramid attention network)結(jié)構(gòu)的結(jié)合下,使用4個(gè)降采樣特征圖作為該網(wǎng)絡(luò)的輸入,減小下采樣后特征圖的感受野;在后處理端選用DIoU-NMS代替?zhèn)鹘y(tǒng)非極大值抑制NMS,選用DIoU_Loss代替YOLOV5m的GIoU_Loss,加快邊界框回歸速率,提高定位精度,以提升網(wǎng)絡(luò)對(duì)所占圖像像素個(gè)數(shù)小于10*10弱小目標(biāo)的識(shí)別能力,并完成了對(duì)比實(shí)驗(yàn)分析。
YOLO算法是一種單階段(One-stage)算法典型的代表之一,該算法可以直接從圖片生成位置和類別,Yolov5算法是在YOLOv4的基礎(chǔ)上進(jìn)行了改進(jìn),是一系列在Common Objects in Context(COCO)數(shù)據(jù)集預(yù)訓(xùn)練的對(duì)象檢測(cè)架構(gòu)和模型。YOLOv5到目前截至一共發(fā)布了4種版本的目標(biāo)檢測(cè)網(wǎng)絡(luò)模型,分別是YOLOv5的s、m、l和x模型網(wǎng)絡(luò),網(wǎng)絡(luò)深度的大小決定了提取和融合特征的能力,而網(wǎng)絡(luò)的寬度的大小則決定了特征提取的學(xué)習(xí)能力,其中YOLOv5s的深度最淺、寬度更窄,網(wǎng)絡(luò)的速度更快,但是它的精度最低,后面3種模上不斷加深、加寬[7],在隨著深度和寬度的增加,多目標(biāo)識(shí)別的精度就會(huì)越高,識(shí)別的速度也會(huì)隨之降低。在機(jī)載平臺(tái)上,由于計(jì)算資源有限,目標(biāo)檢測(cè)速度低,所以為了達(dá)到速度和精度綜合的情況下,選擇了YOLOv5m模型。
YOLOv5m模型網(wǎng)絡(luò)的改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)總體來說主要有4部分[8],如圖1所示。
圖1 改進(jìn)YOLOv5m網(wǎng)絡(luò)結(jié)構(gòu)圖
其中這4部分的功能結(jié)構(gòu)如下:
輸入端(Input):馬賽克圖像數(shù)據(jù)增強(qiáng)、自適應(yīng)圖像縮小放大和自適應(yīng)錨框計(jì)算。
主干網(wǎng)絡(luò)(BackBone):Focus結(jié)構(gòu)、CSP(Cross stage partial)結(jié)構(gòu)和SPP(Spatial Pyramid Pooling )模塊。
網(wǎng)絡(luò)的頸部(Neck):FPN+PAN結(jié)構(gòu)。
預(yù)測(cè)輸出端(Prediction):DIoU_Loss、DIoU_NMS。
1)馬賽克數(shù)據(jù)增強(qiáng)(Mosaic)。YOLOV5一般會(huì)在輸入端對(duì)圖片有3種增強(qiáng)數(shù)據(jù)的方式:圖片的縮小放大、圖片的顏色空間調(diào)整和馬賽克數(shù)據(jù)增強(qiáng)。其中馬賽克數(shù)據(jù)增強(qiáng)(Mosaic)是通過將4張訓(xùn)練圖像進(jìn)行隨機(jī)方式的縮放、裁剪和分布等方法進(jìn)行組合成為一張圖像,這樣會(huì)提升對(duì)弱小目標(biāo)的檢測(cè)效果[9],結(jié)合這4種圖像彼此不同的上下文信息,豐富了圖像檢測(cè)目標(biāo)的背景,這使得網(wǎng)絡(luò)檢測(cè)弱小目標(biāo)范圍增大,加快收斂速度,增強(qiáng)算法模型的魯棒性[10],其原理如圖2所示。
圖2 Mosaic數(shù)據(jù)增強(qiáng)
2)自適應(yīng)錨框計(jì)算。預(yù)定義邊框,就是在訓(xùn)練之前提前設(shè)置的一些邊框,在訓(xùn)練過程中,用真實(shí)的邊框與預(yù)定義邊框之間的偏移來形成(也就是我們打下的標(biāo)簽)訓(xùn)練樣本,在YOLO系列中,可以針對(duì)數(shù)據(jù)集設(shè)置初始的錨框(Anchor)。在對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的過程中,網(wǎng)絡(luò)首先輸出預(yù)測(cè)錨框,接著將預(yù)測(cè)錨框和GroundTruth錨框進(jìn)行比較,計(jì)算loss,然后通過反向更新,迭代網(wǎng)絡(luò)優(yōu)化參數(shù)。在YOLOv3和YOLOv4版本中,設(shè)置初始Anchor的大小都是通過程序使用K-means算法得到,而在YOLOv5整體代碼中,將此功能的算法放入到了代碼中,經(jīng)過每次訓(xùn)練數(shù)據(jù)集的時(shí)候,算法會(huì)自動(dòng)計(jì)算該數(shù)據(jù)集得到最合適的Anchor尺寸,即最佳錨框值[11],該功能也可以在相應(yīng)代碼中設(shè)置超參數(shù)進(jìn)行關(guān)閉。
3)Focus模塊。Focus模塊在圖像進(jìn)入到主干網(wǎng)絡(luò)之前,先對(duì)圖像進(jìn)行切片操作[12]如圖3所示,在每張圖像中間隔一個(gè)像素提取一個(gè)值,從左到右,從上到下遍布完整張圖片,操作后結(jié)果獲得4個(gè)圖像,這4張圖像相互間互補(bǔ),切片操作后使得信息完全沒有缺失,通道空間包含了信息的寬和高,因此通道擴(kuò)大了4倍,這樣,拼接出來得到的圖片將原來圖片的RGB三個(gè)通道經(jīng)過擴(kuò)充增加到了12個(gè)通道,再進(jìn)行卷積操作后,最終結(jié)果獲得了二倍下采樣的特征圖像。Focus結(jié)構(gòu)的優(yōu)點(diǎn)在于雖然它的計(jì)算量和參數(shù)量降低,但是經(jīng)過下采樣后信息沒有缺失,在保持精度不變的同時(shí),提高了弱小目標(biāo)的檢測(cè)速率。
圖3 切片操作原理
4)SPP模塊。SPP模塊應(yīng)用于主干網(wǎng)絡(luò)后,在使用類似1*1、5*5、9*9、13*13的最大池化的方法后,最后結(jié)合起這些不同的特征圖,此模塊既可以使主干特征的接受范圍增加,擴(kuò)大了感受野范圍,而且將最重要的上下文信息特征進(jìn)行了顯著的分開[13],提高復(fù)雜背景下弱小目標(biāo)的識(shí)別率。
Neck層網(wǎng)絡(luò)的作用是為了提高提取融合圖像的特征的能力,F(xiàn)PN+PAN結(jié)構(gòu)使得特征提取的能力增加,起著承上啟下的關(guān)鍵環(huán)節(jié),其中FPN[14]特征金字塔結(jié)構(gòu)是經(jīng)過top-down的順序結(jié)構(gòu),利用最高層的強(qiáng)語義將信息特征傳遞下來,再通過上采樣將高、低層特征信息進(jìn)行信息特征融合,從而產(chǎn)生即將預(yù)測(cè)的特征圖像。PAN結(jié)構(gòu)是設(shè)計(jì)在FPN結(jié)構(gòu)后面的金字塔中,經(jīng)過了down-top的路徑增強(qiáng),PAN所在的特征金字塔采用了下采樣的方法,對(duì)準(zhǔn)確定位信息進(jìn)行傳遞。
在原始的特征融合網(wǎng)絡(luò)FPN+PAN結(jié)構(gòu)的結(jié)合下,將76*76、38*38、19*19共3個(gè)不同的特征圖進(jìn)行融合,輸出3種不同的結(jié)果,如圖4,現(xiàn)在在此基礎(chǔ)上使用4個(gè)降采樣特征圖作為該網(wǎng)絡(luò)的輸入,使得下采樣后的特征圖感受野減小,F(xiàn)PN層通過自頂向下的結(jié)構(gòu)表達(dá)了強(qiáng)語義信息特征的功能,而PAN結(jié)構(gòu)所在的特征金字塔通過自底向上的結(jié)構(gòu)表達(dá)了強(qiáng)定位信息特征的功能,兩者結(jié)合提高了特征融合提取的能力,讓模型學(xué)習(xí)到更多的學(xué)習(xí)特征,提高對(duì)弱小目標(biāo)的識(shí)別精度,改進(jìn)的neck層特征融合網(wǎng)絡(luò)如圖5所示。
圖4 FPN+PAN結(jié)構(gòu)圖
圖5 改進(jìn)的特征融合網(wǎng)絡(luò)
2.2.1 改進(jìn)的Bounding box損失函數(shù)
目標(biāo)檢測(cè)算法的損失函數(shù)總體是由兩部分分類損失函數(shù)和邊界框回歸損失函數(shù)組成,一般常用的回歸損失函數(shù)有IoU_Loss、GIoU_Loss、DIoU_Loss、CIoU_Loss這4種,IoU表示目標(biāo)真實(shí)框與預(yù)測(cè)框的交集與兩者并集之比,IoU的損失函數(shù)表示為:
(1)
式中,A為真實(shí)框與預(yù)測(cè)框的交集,B為真實(shí)框與預(yù)測(cè)框的并集,IoU損失函數(shù)雖然得到的預(yù)測(cè)框受真實(shí)邊界框尺寸影響小,魯棒性較好,但是也存在缺點(diǎn),當(dāng)預(yù)測(cè)框與真實(shí)框不相交的時(shí)候,這時(shí)IoU=0時(shí),預(yù)測(cè)效果最差,該損失函數(shù)就不可行了。
GIoU的損失函數(shù)表示為:
(2)
式中,C為目標(biāo)預(yù)測(cè)框與實(shí)際框的最小外接矩形,GIoU損失函數(shù)是在IoU損失函數(shù)上的基礎(chǔ)上多考慮了一個(gè)因素,GIoU不僅考慮到了檢測(cè)框和目標(biāo)框之間的重疊面積,并且還關(guān)注了其他區(qū)域的非重合部分,因此可以更好的反映預(yù)測(cè)框與目標(biāo)框的重合度,而且增加了兩者相交尺度的衡量方式。但是也存在缺點(diǎn),如果預(yù)測(cè)框存在于真實(shí)框的內(nèi)部,并且?guī)追N預(yù)測(cè)框的大小一致,即C-B值相同,就出現(xiàn)了無法區(qū)分預(yù)測(cè)框相對(duì)位置的情況,這時(shí)該損失函數(shù)就失去了效果。
DIoU的損失函數(shù)表示為:
(3)
式中,D為目標(biāo)預(yù)測(cè)框與實(shí)際框內(nèi)部最小外接矩形C之間的對(duì)角線距離值,E為目標(biāo)預(yù)測(cè)框的中心點(diǎn)與實(shí)際框內(nèi)部中心點(diǎn)間的距離值,而DIoU損失函數(shù)則是在GIoU損失函數(shù)的基礎(chǔ)上再次進(jìn)行了優(yōu)化,DIoU不但考慮了兩者的重疊面積還同時(shí)考慮了兩者間的中心點(diǎn)距離,當(dāng)出現(xiàn)了預(yù)測(cè)框在真實(shí)框內(nèi)部,兩者有交集的情況下,考慮了中心點(diǎn)距離后,就加快邊界框的回歸速率,使得DIoU_Loss收斂的速度加快。但是如果預(yù)測(cè)框和實(shí)際框沒有交集,而預(yù)測(cè)框的大小不相等,預(yù)測(cè)框的中心點(diǎn)位置即使一樣,也會(huì)出現(xiàn)E值相等,這時(shí)根據(jù)DIoU_Loss公式,損失函數(shù)相等,損失函數(shù)就失去了效果。
CIoU的損失函數(shù)表示為:
(4)
式中,ν為一個(gè)影響因子,在DIoU損失函數(shù)的基礎(chǔ)上多增加了一個(gè)因素,即預(yù)測(cè)框與實(shí)際框長(zhǎng)寬的比值。這樣綜合下來CIoU損失函數(shù)總共有3種因素,分別為預(yù)測(cè)框與實(shí)際框的交集區(qū)域、兩者中心點(diǎn)距離和兩者長(zhǎng)寬比,但是由于CIoU損失函數(shù)多添加了一個(gè)影響因子,所以就會(huì)影響收斂速度[15]。
綜上所述,考慮到預(yù)測(cè)框回歸的速度和精度綜合的情況下,該實(shí)驗(yàn)在輸出層選擇用DIoU_Loss代替GIoU_Loss作為邊界框回歸損失函數(shù),加快邊界框回歸的速率以及提高定位精度,加快對(duì)弱小目標(biāo)的檢測(cè)速率。
2.2.2 NMS 非極大值抑制改進(jìn)
非極大值抑制中,一般用IoU指標(biāo)來表示抑制重復(fù)多余的檢測(cè)框[16],在眾多影響因素當(dāng)中,重疊面積的影響最大,在弱小目標(biāo)部分被遮擋的情況下,經(jīng)常會(huì)造成錯(cuò)誤的抑制。在目標(biāo)檢測(cè)完成后,對(duì)于很多目標(biāo)框,要進(jìn)行篩選,留下一個(gè)框,所以通常需要進(jìn)行NMS非極大值抑制操作。非極大值抑制的原理就是通過分類器首先得到多個(gè)邊界框以供選擇,并且得到關(guān)于邊界框中屬于類別的概率值,將得到的概率值進(jìn)行排序,選擇出最高的概率所在的框,用別的框與此框做比較,最終將無用框刪掉,留下一個(gè)類別可能性最高的框[17]。在目標(biāo)檢測(cè)的時(shí)候,有的目標(biāo)相互遮擋或被其他物體遮擋,不同目標(biāo)的檢測(cè)框距離太近,經(jīng)過NMS非極大值抑制操作后,檢測(cè)框也會(huì)被去除,就會(huì)導(dǎo)致識(shí)別失敗。選擇DIoU-NMS操作,將DIoU作為傳統(tǒng)NMS抑制的準(zhǔn)則,在此抑制準(zhǔn)則中不僅考慮了真實(shí)框與預(yù)測(cè)框的交集區(qū)域還考慮了兩者內(nèi)部的中心點(diǎn)距離,這樣可以使得過濾的準(zhǔn)確度更加提高,DIOU_NMS操作對(duì)于一些互相遮擋的小目標(biāo),會(huì)有很好的識(shí)別效果,所以選用DIOU_NMS代替?zhèn)鹘y(tǒng)的NMS,提高對(duì)于弱小目標(biāo)互相之間的遮擋或者被其它物體遮擋的識(shí)別率。
空對(duì)地觀測(cè)情況下檢測(cè)目標(biāo)像素尺寸基本都在10*10以下,而YOLOv5的下采樣倍數(shù)比較大,在深層次的特征圖很難學(xué)習(xí)到小目標(biāo)的特征信息。所以該算法對(duì)于小目標(biāo)檢測(cè)效果不好,在原始YOLOv5模型中只有3種不同的檢測(cè)層,輸入圖像尺寸為608*608時(shí),大的檢測(cè)層為76*76的特征圖可以檢測(cè)8*8以上像素的目標(biāo),中等檢測(cè)層為38*38的特征圖可以檢測(cè)16*16以上像素的目標(biāo),小的檢測(cè)層為19*19的特征圖可以檢測(cè)32*32以上像素的目標(biāo),所以在本次改進(jìn)中提出增加小目標(biāo)檢測(cè)層,增加了更大的檢測(cè)層為152*152的特征圖可以對(duì)4*4以上像素的目標(biāo)進(jìn)行檢測(cè),對(duì)淺層特征圖和深層特征圖拼接后進(jìn)行檢測(cè),使得空對(duì)地觀測(cè)下10*10以下像素的弱小目標(biāo)有著很好的檢測(cè)效果,提出的多尺度檢測(cè)結(jié)構(gòu)如圖6所示。
圖6 多尺度檢測(cè)結(jié)構(gòu)
該實(shí)驗(yàn)的數(shù)據(jù)集是利用建模的方法得到空對(duì)地觀測(cè)下的弱小目標(biāo)視頻,然后編寫程序?qū)σ曨l進(jìn)行指定大小、指定幀數(shù)間隔的方式獲得大量的數(shù)據(jù)集圖像,數(shù)據(jù)集準(zhǔn)備好之后,選擇Labelimg標(biāo)注圖像軟件工具對(duì)原始圖像數(shù)據(jù)集進(jìn)行打標(biāo)簽操作,首先將設(shè)置數(shù)據(jù)集標(biāo)注為voc標(biāo)簽格式,保存為xml文件,數(shù)據(jù)集中包含了目標(biāo)的名字、大小以及存放的位置,統(tǒng)一圖片格式,制作圖像標(biāo)注,最后將標(biāo)簽封裝到樣本中后,將其序列化。由于YOLOv5模型需要的數(shù)據(jù)集標(biāo)簽格式為txt文件,通過轉(zhuǎn)化代碼腳本,將xml文件轉(zhuǎn)換為YOLOv5所需要的txt文件。在標(biāo)注數(shù)據(jù)集的時(shí)候,要將數(shù)據(jù)集和打好的標(biāo)簽對(duì)應(yīng)起來,在目標(biāo)檢測(cè)圖像分類的數(shù)據(jù)集中,只需要標(biāo)注圖片中所含目標(biāo)以及目標(biāo)的類別即可。
數(shù)據(jù)集標(biāo)注好之后,對(duì)模型進(jìn)行初始設(shè)置,修改數(shù)據(jù)配置文件和模型配置文件,搭建好YOLOv5m模型環(huán)境,根據(jù)自己的電腦性能,設(shè)置好訓(xùn)練適應(yīng)的參數(shù),本文選擇遷移學(xué)習(xí)的方法對(duì)該數(shù)據(jù)集進(jìn)行訓(xùn)練,遷移學(xué)習(xí)是一種深度學(xué)習(xí)策略,將已經(jīng)在大量數(shù)據(jù)集上訓(xùn)練好的模型遷移到我們的小規(guī)模針對(duì)新型目標(biāo)的數(shù)據(jù)集,然后對(duì)數(shù)據(jù)集進(jìn)行新模型的預(yù)訓(xùn)練[18-20],使得最終訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對(duì)新型目標(biāo)有著很好的檢測(cè)效果,因此使用yolov5m.pt這個(gè)預(yù)訓(xùn)練權(quán)重作為初始網(wǎng)絡(luò)權(quán)重對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,由于該預(yù)訓(xùn)練權(quán)重之前在超大的數(shù)據(jù)集上訓(xùn)練得到的權(quán)重文件,基于此,用此預(yù)訓(xùn)練權(quán)重直接訓(xùn)練該數(shù)據(jù)集即車以及飛機(jī)等,可以提高網(wǎng)絡(luò)的學(xué)習(xí)和優(yōu)化,增加泛化能力,使得改進(jìn)的YOLOv5m模型具有很好的魯棒性,訓(xùn)練結(jié)果如圖7所示,訓(xùn)練完成后,各項(xiàng)數(shù)值變化基本趨于平穩(wěn)狀態(tài)。
圖7 訓(xùn)練參數(shù)變化圖
訓(xùn)練結(jié)束后,在runs/train文件夾下會(huì)自動(dòng)生成訓(xùn)練結(jié)果,其中包括模型權(quán)重、混淆矩陣、PR曲線等。將權(quán)重文件路徑修改為訓(xùn)練好的best權(quán)重文件路徑,改進(jìn)前后的模型對(duì)弱小多目標(biāo)檢測(cè)結(jié)果如圖8所示,可以看到圖(a)使用原YOLOv5m算法進(jìn)行檢測(cè),出現(xiàn)了漏檢和錯(cuò)檢的結(jié)果,將旁邊的建筑物錯(cuò)檢測(cè)成了飛機(jī),并且將圖中的飛機(jī)沒有檢測(cè)出來,而圖(b)使用改進(jìn)的算法進(jìn)行檢測(cè),成功將圖中的弱小目標(biāo)飛機(jī)和車全部檢測(cè)出來,保證改進(jìn)算法后穩(wěn)定并且準(zhǔn)確的檢測(cè)效果。
圖8 目標(biāo)檢測(cè)結(jié)果圖
對(duì)于遮擋后的目標(biāo)檢測(cè)結(jié)果分別如圖9所示,可以看到圖(a)使用原YOLOv5m算法進(jìn)行檢測(cè),依然出現(xiàn)了漏檢的情況,被低空飛行的飛機(jī)遮擋下的車沒有檢測(cè)出來,而圖(b)使用改進(jìn)算法進(jìn)行檢測(cè),可以將飛機(jī)遮擋下的車成功準(zhǔn)確的識(shí)別出來,圖(c)使用原YOLOv5m算法進(jìn)行檢測(cè),看到圖(d)中被樹遮擋后的車沒有檢測(cè)出來,而圖(d)使用改進(jìn)算法進(jìn)行檢測(cè),可以將樹木遮擋下的車成功的檢測(cè)出來。
圖9 遮擋后的目標(biāo)檢測(cè)結(jié)果圖
均值平均精度(mAP, mean average precision)經(jīng)常作為目標(biāo)檢測(cè)中衡量檢測(cè)精度的指標(biāo)。將正樣本正確的劃分為正例的數(shù)量為TP(true positives),將負(fù)樣本正確地劃分為負(fù)例的數(shù)量為TN(true negatives),將正樣本錯(cuò)誤的劃分為負(fù)例的數(shù)量為FN(false negatives),將負(fù)樣本錯(cuò)誤的劃分為正例的數(shù)量為FP(false positives),精確率(precision)為P,反映了所有檢測(cè)出的目標(biāo)中檢測(cè)正確的概率,精確率(P)的公式為:
(5)
召回率(recall)為R,表示所有正樣本中正確識(shí)別的概率,召回率(R)的公式為:
(6)
一般用精確率(P)為縱坐標(biāo)、召回率(R)為橫坐標(biāo),在坐標(biāo)軸上繪制曲線圖,單類目標(biāo)檢測(cè)的平均精度(AP,average precision)即為該曲線圖與坐標(biāo)軸圍成的面積,全部類別目標(biāo)AP的平均值即為均值平均精度(mAP)。
實(shí)驗(yàn)結(jié)果表明,通過對(duì)比3種算法實(shí)驗(yàn)后得到該數(shù)據(jù)集中每個(gè)類別的平均精度(AP)如表1所示,本文改進(jìn)的算法得到的每個(gè)類別的平均精度(AP)均高于另外兩種算法。
表1 平均精度指標(biāo)對(duì)比結(jié)果
對(duì)比3種算法對(duì)該數(shù)據(jù)集的均值平均精度(mAP),證明實(shí)驗(yàn)改進(jìn)算法的有效性,在交并比閾值為0.5的情況下,經(jīng)改進(jìn)算法檢測(cè),mAP達(dá)到了89.7%,算法性能指標(biāo)對(duì)比如表2所示。
表2 算法性能結(jié)果對(duì)比
從3種算法的結(jié)果性能對(duì)比可知,本文研究的改進(jìn)算法精確率均高于另外兩種算法,改進(jìn)算法精確率比原YOLOv5m算法提升了3.3%,使用原始SSD算法在該數(shù)據(jù)集檢測(cè)得到均值平均精度(mAP)值為68.0%,使用原始YOLOv5m算法檢測(cè)mAP為85.6%,本文改進(jìn)算法檢測(cè)后mAP值為89.7%,與原始YOLOv5m算法相比,均值平均精度(mAP)值提高了4.1%,其中在對(duì)車的檢測(cè)平均精度(AP)上,改進(jìn)算法相對(duì)原始YOLOv5m算法提高了11.6%,這是因?yàn)閷?duì)地觀測(cè)情況下,車的目標(biāo)像素很小,增加的小目標(biāo)檢測(cè)層對(duì)弱小目標(biāo)有著很好的檢測(cè)效果,但是由于網(wǎng)絡(luò)改進(jìn)后網(wǎng)絡(luò)結(jié)構(gòu)變得復(fù)雜,使得檢測(cè)圖片時(shí)間相對(duì)于原始YOLOv5m算法增加了8 ms,但是仍然可以達(dá)到實(shí)時(shí)的效果。
由實(shí)驗(yàn)結(jié)果可知,使用本文改進(jìn)算法可顯著提升識(shí)別準(zhǔn)確率,對(duì)一些漏檢和錯(cuò)檢的目標(biāo)依然可以檢測(cè)出來,并且對(duì)于空對(duì)地觀測(cè)下被葉簇遮擋的弱小目標(biāo)和目標(biāo)之間的遮擋有著更準(zhǔn)確的識(shí)別,目標(biāo)檢測(cè)算法的mAP指標(biāo)達(dá)到89.7%,實(shí)現(xiàn)對(duì)地觀測(cè)下像素小于10*10弱小目標(biāo)的識(shí)別任務(wù),使得該算法對(duì)多目標(biāo)識(shí)別有著更好的魯棒性。
針對(duì)空對(duì)地觀測(cè)環(huán)境下弱小目標(biāo)和遮擋目標(biāo)識(shí)別效果差等問題,本文研究了YOLOv5m算法,并對(duì)其進(jìn)行改進(jìn),在原YOLOv5m網(wǎng)絡(luò)中增加一個(gè)新的小目標(biāo)檢測(cè)層實(shí)現(xiàn)了4個(gè)檢測(cè)結(jié)構(gòu)對(duì)不同大小尺寸目標(biāo)的識(shí)別,提高對(duì)弱小目標(biāo)的檢測(cè)能力,其次在后處理端部分,使用DIoU_Loss代替GIoU_Loss作為邊界框回歸損失函數(shù)、DIOU_NMS代替?zhèn)鹘y(tǒng)的nms,加快邊界框回歸的速率以及提高定位精度,提高對(duì)于遮擋目標(biāo)的識(shí)別率。在實(shí)驗(yàn)中利用建模的方式建立了對(duì)地觀測(cè)下的弱小目標(biāo)數(shù)據(jù)集,通過實(shí)驗(yàn)結(jié)果性能表明,本文研究改進(jìn)算法得到目標(biāo)檢測(cè)的均值平均精度mAP達(dá)到89.7%,實(shí)現(xiàn)了網(wǎng)絡(luò)對(duì)所占圖像像素個(gè)數(shù)小于10*10弱小目標(biāo)的高精度識(shí)別,證明了本文所研究方法的有效性,但是由于改進(jìn)的算法使得網(wǎng)絡(luò)結(jié)構(gòu)更加復(fù)雜,降低了檢測(cè)速率,在之后的研究中將考慮對(duì)網(wǎng)絡(luò)模型進(jìn)行剪枝處理,輕量化網(wǎng)絡(luò)結(jié)構(gòu),提升檢測(cè)目標(biāo)的速率。