摘 要:為了提高YOLOv5模型對無人機遙感圖像的檢測性能,本文進行了研究,該模型的主要問題是對小目標的漏檢率和誤檢率較高。通過理論分析,發(fā)現(xiàn)其Anchor機制具有一定的優(yōu)化空間,改進策略為使用NWD損失函數(shù)代替IoU損失函數(shù)。在性能仿真階段,對比了4種基準模型的特點,將YOLOv5s模型與改進后的模型進行對比,對無人機遙感圖像進行檢測。結(jié)果顯示,改進后的YOLOv5模型在準確度、召回率、多類別平均精確度方面均優(yōu)于改進前。
關(guān)鍵詞:YOLOv5;無人機遙感圖像檢測算法;Anchor機制改進;網(wǎng)絡(luò)結(jié)構(gòu)改進
中圖分類號:TP 391" " " " 文獻標志碼:A
YOLOv5是一種應(yīng)用廣泛的圖像檢測算法模型,它能夠識別無人機遙感圖像中的人、物及環(huán)境信息,但該模型的性能存在不足,難以準確識別圖像中較小的檢測目標。鑒于此,研究過程旨在確定影響算法性能的原因,并進行改進。
1 YOLOv5模型在圖像檢測中的應(yīng)用
1.1 YOLOv5模型基本原理
1.1.1 YOLOv1~YOLOv4模型發(fā)展過程
YOLOv5模型由YOLOv1~YOLOv4模型發(fā)展而來,因此繼承了前4種算法模型的基本原理。YOLOv1模型將整個圖形作為輸入,利用網(wǎng)絡(luò)將圖形劃分為若干區(qū)域,在此基礎(chǔ)上進行預(yù)測和歸類,從而對特定目標進行檢測。區(qū)域劃分的本質(zhì)是將圖像切割成正方形的格柵,如果在某個格柵中出現(xiàn)物體的影像,就預(yù)測其邊界框,并計算反映物體是否存在以及物體類別的Score[1]。雖然該算法的檢測速度較快,但也有一定的局限性,例如難以檢測小目標,在每個格柵中只能預(yù)測2個物體。
YOLOv2模型是在YOLOv1模型的基礎(chǔ)上進行改進的,其 引入了批量歸一化處理、Anchor機制,并且將YOLOv1中的原有的網(wǎng)絡(luò)結(jié)構(gòu)改為Darknet-19。與YOLOv1模型相比,YOLOv2模型在保持圖像目標檢測速度不變的情況下,提高了檢測精度。
YOLOv3模型以YOLOv2模型為基礎(chǔ),改進措施為將Darknet-19網(wǎng)絡(luò)結(jié)構(gòu)升級為Darknet-53,使模型具備多尺度檢測的能力。在圖像分類中,將YOLOv2的Softmax(歸一化指數(shù)函數(shù))更換為邏輯回歸方法。與YOLOv2模型相比,該算法對圖像目標的檢測速度和精度均顯著提高。
YOLOv4模型在YOLOv3模型的基礎(chǔ)上對網(wǎng)絡(luò)結(jié)構(gòu)進行優(yōu)化,利用CSPDarknet53網(wǎng)絡(luò)替換Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)。YOLOv3模型的主干網(wǎng)絡(luò)采用Relu激活函數(shù),在YOLOv4模型中,改用Mish激活函數(shù)。與YOLOv3模型相比,YOLOv4模型的優(yōu)點為可進行反向求導(dǎo),并且提取上下文特征。
1.1.2 YOLOv5模型介紹
YOLOv5模型在YOLOv4模型的基礎(chǔ)上進行優(yōu)化,其優(yōu)勢為進一步加快了圖像中目標物體的檢測速度。YOLOv5模型由輸入端、檢測端、頸部和主干網(wǎng)絡(luò)4個部分組成。在輸入端,繼續(xù)使用YOLOv4模型的Mosaic數(shù)據(jù)增強,從4張不同的圖像中各裁剪一部分,再組成一個新圖片,實現(xiàn)了單次傳入4張訓(xùn)練圖片。在主干網(wǎng)絡(luò)方面,YOLOv5模型將CSP結(jié)構(gòu)和Focus結(jié)構(gòu)整合在一起,實現(xiàn)切片[2]。模型提取目標特征的關(guān)鍵是頸部能夠產(chǎn)生特征金字塔。為了確保目標檢測的精度,在YOLOv5模型中引入了損失函數(shù),該函數(shù)包括3種損失量,分別為分類損失、位置損失和置信度損失,3種損失的占比分別為40%、30%、30%。位置損失的計算原理為GIoU(Generalized IoU),該評價標準建立在IoU(Intersection over Union)的基礎(chǔ)上。另外兩種損失均采用BCE loss損失函數(shù)。以GIoU計算位置損失為例,相應(yīng)的計算過程如公式(1)所示。
(1)
式中:B為預(yù)測框,Bgt為實際框;B∪Bgt為二者的并集;C為最小矩形區(qū)域,并且要求該區(qū)域必須包括預(yù)測框和真實框;IoU=(B∩Bgt)/(B∪Bgt)。
1.2 YOLOv5模型在圖像檢測中的局限性
YOLOv5模型作為一種目標檢測技術(shù),在實際應(yīng)用中存在一定的局限性,主要體現(xiàn)在以下3個方面。
當(dāng)被檢測目標的特征不明顯或者目標物較小時,算法模型的檢測精度難以保證,容易出現(xiàn)誤檢或者漏檢。
在圖像中除了待檢測目標外,通常還有較多的背景噪聲,受其干擾,算法模型有可能弱化目標的特征信息,該問題在小目標檢測中很常見。
YOLOv5模型的網(wǎng)絡(luò)結(jié)構(gòu)有可能丟失小目標的特征。
1.3 YOLOv5算法改進
1.3.1 調(diào)整輸入圖像大小
對于無人機遙感圖像,研究人員通過調(diào)整輸入圖像的大小來優(yōu)化網(wǎng)絡(luò)。YOLOv5默認的輸入尺寸是640px×640px,但是針對高分辨率的圖像,可以嘗試使用更大的輸入尺寸,如1024px×1024px,以便網(wǎng)絡(luò)能夠更好地捕捉細節(jié)信息。在模型訓(xùn)練中,可以調(diào)整批量大小以適應(yīng)更大尺寸的圖像。
1.3.2 引入多尺度處理
多尺度處理是通過引入不同分辨率的特征圖,來處理不同尺寸的目標??梢哉{(diào)整網(wǎng)絡(luò)的結(jié)構(gòu)以引入或改進特征金字塔網(wǎng)絡(luò)(FPN)或者類似的結(jié)構(gòu),以便更好地融合不同尺度的信息。在模型訓(xùn)練過程中,研究人員需要調(diào)整特征金字塔網(wǎng)絡(luò)中各個尺度特征圖之間的連接方式和權(quán)重,以優(yōu)化多尺度信息的融合效果。
1.3.3 引入注意力機制
注意力機制可以幫助網(wǎng)絡(luò)集中關(guān)注重要的區(qū)域,對于無人機圖像中變化較大,或信息量豐富的區(qū)域尤為重要??梢酝ㄟ^引入注意力機制模塊,如SENet來增強網(wǎng)絡(luò)對關(guān)鍵區(qū)域的感知能力。
1.3.4 增加深度或?qū)挾?/p>
增加網(wǎng)絡(luò)的深度或?qū)挾?,可以有效提高網(wǎng)絡(luò)的表達能力,但也會增加計算復(fù)雜度。可以通過增加殘差塊的數(shù)量或者擴展模型的通道數(shù)來調(diào)整網(wǎng)絡(luò)的深度或?qū)挾?。在實驗中,需要根?jù)性能和計算資源的平衡進行參數(shù)調(diào)整,可能需要對深度、寬度以及其他層次的參數(shù)進行調(diào)優(yōu)。
1.3.5 優(yōu)化損失函數(shù)
YOLOv5的損失函數(shù)包括目標檢測、分類和坐標回歸損失??梢詫Σ煌糠值臋?quán)重進行調(diào)整,以便更加關(guān)注對小目標或遠距離目標的檢測。此外,根據(jù)具體場景和數(shù)據(jù)集的特點,研究人員需要調(diào)整不同損失函數(shù)的權(quán)重,以平衡不同部分對整體算法性能的影響。
2 基于改進YOLOv5的無人機遙感圖像檢測算法
2.1 Anchor機制存在的問題
YOLOv5模型作為一種圖像檢測技術(shù),需要解決小目標檢測問題,Anchor機制是主要的應(yīng)對策略。該機制根據(jù)目標物的尺度及其長寬比來切割相關(guān)的圖像區(qū)域,以此提高模型的學(xué)習(xí)效率,同時減少框與框間的重疊干擾。但Anchor機制本身也存在以下的局限性。1)錨框值取值問題。錨框值包括框的尺度(大?。┖烷L寬比,其取值結(jié)果會影響算法的檢測精度和效率。YOLOv5模型利用K-means算法確定錨框值,但可能出現(xiàn)局部收斂,導(dǎo)致不能獲得全局最優(yōu)解。2)小目標錨框計算問題。算法模型在訓(xùn)練階段會生成數(shù)量較多的錨框,并且要對錨框進行分類,判斷真實框與錨框間的偏差。通過IoU計算的標簽對錨框進行分類。當(dāng)被檢測目標較小時,會顯著影響IoU閾值的計算結(jié)果,進而干擾標簽分配和錨框分類。
2.2 Anchor機制的改進策略
IoU對圖像中小目標的位置偏移過于敏感,容易造成算法檢測精度不高,因此使用NWD損失函數(shù)代替IoU,NWD損失函數(shù)有以下應(yīng)用原理。
無人機遙感圖像中存在較多的小目標物體,而物體大多具有不規(guī)則性,因此在一個標準的邊界框內(nèi)通常包括背景信息和目標物的信息,前者集中在邊界上,后者位于邊界框的中心。針對邊界框建立二維高斯分布,由于目標位于邊界框的中心,因此為中心像素設(shè)置最高權(quán)重,并且權(quán)重從中心向四周遞減[3]。
將邊界框記為R,則有R=(cx,cy,w,h),其中cx、cy分別為邊界框中心點的橫、縱坐標,w為邊界框的寬度,h為邊界框的高度。將R擬合成二維高斯分布N(μ,Σ),其中μ=[cx cy]T,Σ的計算過程如公式(2)所示。
(2)
NWD是歸一化的Wasserstein距離,將邊界框A和邊界框B分別為A=(cxa,cya,wa,ha),B=(cxb,cyb,wb,hb),則兩個邊界框的二階Wasserstein距離如公式(3)所示。
(3)
式中:Na、Nb分別為邊界框A、B的二維高斯分布;W22(Na,Nb)為二階Wasserstein距離單位;cxa、cya為第一個邊界框的中心點坐標;wa,ha為第一個邊界框的寬度和高度;cxb、cyb為第二個邊界框的中心點坐標;wb、hb為第二個邊界框的寬度和高度。原模型中的IoU為一個介于0~1的比例關(guān)系,因此要對W22(Na,Nb)進行歸一化處理,c為2個分布的質(zhì)心,使其落在(0,1)[4]。經(jīng)歸一化處理之后,可得到公式(4)。
(4)
2.3 性能仿真
2.3.1 仿真環(huán)境及評價指標
2.3.1.1 搭建仿真環(huán)境
仿真過程采用Python語言編寫算法的程序代碼,操作系統(tǒng)為Windows10,計算機主頻為2.6GHz,內(nèi)存為32G。訓(xùn)練算法時需要使用可編程的GPU,型號為NVIDIA GeForce RTX 3060。
2.3.1.2 性能評價指標
性能評價階段的主要指標包括精確率P、召回率R、IoU為0.5時的多類別平均精確度(記為mAP@.5)以及IoU按照0.05步長從0.5升至0.95的多類別平均精確度(記為mAP@.5:.95)。
精確率P的計算方法為P=TP/(TP+FP),召回率R=TP/(TP+FN)。將正樣本預(yù)測結(jié)果為正記為TP(True Positive),負樣本預(yù)測結(jié)果為正記為FP( Positive),負樣本預(yù)測結(jié)果為負記為FN( Negative)。從精確率和召回率的含義可知,前者越高,后者越低。
平均精確度(Average Precision,AP)的計算方法如公式(5)所示。
AP=∫01F(x)dx" (5)
式中:x為橫坐標;F(x)為x點對應(yīng)的縱坐標[5];mAP為每個類對應(yīng)AP的平均值,該指標用于評價多類標簽的平均預(yù)測精度,mAP的計算方法如公式(6)所示。
(6)
式中:QR為分類的數(shù)量;q為某個具體類別的編號;AP(q)為類別q對應(yīng)的平均精確度。
2.3.2 試驗數(shù)據(jù)集選取
無人機航拍數(shù)據(jù)采用VisDrone2019機器學(xué)習(xí)數(shù)據(jù)集,該數(shù)據(jù)集包括10209張靜態(tài)圖像,全部為無人機攝像頭在不同高度、不同方位、不同距離捕獲的影像,圖片中的內(nèi)容包括環(huán)境信息、物體信息以及人物信息等。從中隨機選取7028張圖片,將6479張圖片作為算法模型的訓(xùn)練數(shù)據(jù)集,剩余的549張圖片作為模型的測試數(shù)據(jù)集。由于改進的Anchor機制主要用于提高模型對無人機遙感影像中小目標的檢測能力,因此從照片中選取10種較小的目標觀測對象,包括行人、公共汽車、面包車、自行車以及摩托車等。另外,所有圖片均在真實場景下拍攝,因此存在較多的干擾因素,例如低光照、下雨和大霧。
2.3.3 YOLOv5基準模型選型
YOLOv5是一系列算法模型的統(tǒng)稱,由YOLOv5s、YOLOv5x、YOLOv5m以及YOLOv5l組成,為了選取最具代表性的基準模型,先使用訓(xùn)練數(shù)據(jù)集訓(xùn)練和測試以上4種模型的目標檢測效果,從中選擇最優(yōu)模型,作為YOLOv5的基準模型。
2.3.3.1 參數(shù)設(shè)置及預(yù)熱學(xué)習(xí)
在大規(guī)模訓(xùn)練前,先通過Warm-Up預(yù)熱學(xué)習(xí)策略評估4種基準模型的基本特性,預(yù)測學(xué)習(xí)僅迭代3次,得到的結(jié)果見表1。其中深度是網(wǎng)絡(luò)通道的系數(shù),寬度為是指網(wǎng)絡(luò)中BottleneckCSP結(jié)構(gòu)模塊的層縮放系數(shù),層數(shù)和參數(shù)數(shù)量用于表征模型的復(fù)雜程度,每秒千兆浮點運算次數(shù)為模型對GPU造成的負擔(dān),從中可基本判斷4種基準模型的運行特點。
2.3.3.2 基準模型在無人機遙感圖像檢測中的性能對比
分別運用4種YOLOv5基準模型檢測無人機遙感圖像中的小目標,模型訓(xùn)練的迭代次數(shù)為1000次,并計算相應(yīng)的性能評價指標,結(jié)果見表2。從中可知,4種基準模型的精確率P和召回率R較為接近,都達到了較高的水平,不同條件下的平均準準確率依次提高,但模型訓(xùn)練時長卻成倍增加。因此在兼顧性能和檢測速度的情況下,將YOLOv5s模型作為代表性的基準模型。
2.3.4 基準模型與改進模型的性能對比
將YOLOv5s模型作為對照組,利用NWD代替IoU,從而優(yōu)化YOLOv5s模型的Anchor機制,將優(yōu)化后的模型記為YOLOv5+NWD,使用訓(xùn)練數(shù)據(jù)進行1000次模型迭代訓(xùn)練。再利用兩種模型檢測549張遙感圖片組成的無人機測試數(shù)據(jù)集,結(jié)果見表3。改進后的YOLOv5模型的精確度、召回率、使用IoU閾值為0.5時的平均精度這三個性能指標均明顯提高,2種算法模型的每秒千兆浮點運算次數(shù)保持一致,僅檢測耗時略有提高[6]。與性能提高效果相比,檢測耗時的小幅度提高可以忽略。
3 結(jié)語
YOLOv5是一種重要的圖像檢測算法模型,能夠識別無人機遙感圖像中的人、車輛、道路以及其他環(huán)境信息。根據(jù)現(xiàn)有的研究和使用情況,該模型存在一定的局限性,在小目標檢測中缺乏足夠的準確性。針對該問題進行優(yōu)化,使用MWD損失計算方法代替原模型的IoU計算方法,從而優(yōu)化模型的Anchor機制。經(jīng)過性能仿真試驗,改進模型的精確度、多類別檢測平均精確度以及召回率均明顯改善,達到了提高性能的目的。
參考文獻
[1]路琪,于元強,許道明,等.改進YOLOv5的小型旋翼無人機目標檢測算法[J].計算機科學(xué),2023,50(增刊2):212-219.
[2]李甜,林貴敏,施文灶,等.改進YOLOv5s無人機航拍圖像目標檢測[J].閩江學(xué)院學(xué)報,2023,44(5):51-62.
[3]陳范凱,李士心.改進Yolov5的無人機目標檢測算法[J].計算機工程與應(yīng)用,2023,59(18):218-225.
[4]傅強,盧志偉,潘磊.CC-YOLOv5:改進的YOLOv5用于無人機航拍圖像目標檢測[J].現(xiàn)代計算機,2023,29(7):16-22.
[5]王建楠,呂勝濤,牛健.基于改進YOLOv5的無人機檢測方法[J].光學(xué)與光電技術(shù),2022,20(5):48-56.
[6]奉志強,謝志軍,包正偉,等.基于改進YOLOv5的無人機實時密集小目標檢測算法[J].航空學(xué)報,2023,44(7):251-265.