高明明,李沅洲,馬 雷,南敬昌,周芊邑
〈圖像處理與仿真〉
YOLOv5-LR:一種遙感影像旋轉(zhuǎn)目標(biāo)檢測模型
高明明1,李沅洲1,馬 雷2,南敬昌1,周芊邑3
(1. 遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105;2. 中國科學(xué)院自動化研究所,北京 100190;3. 遼寧工程技術(shù)大學(xué) 電氣與控制工程學(xué)院,遼寧 葫蘆島 125105)
真實遙感圖像中,目標(biāo)呈現(xiàn)任意方向分布的特點,原始YOLOv5網(wǎng)絡(luò)存在難以準(zhǔn)確表達目標(biāo)的位置和范圍、以及檢測速度一般的問題。針對上述問題,提出一種遙感影像旋轉(zhuǎn)目標(biāo)檢測模型YOLOv5-Left-Rotation,首先利用Transformer自注意力機制,讓模型更加注意感興趣的目標(biāo),并且在圖像預(yù)處理過程中采用Mosaic數(shù)據(jù)增強,對后處理過程使用改進后的非極大值抑制算法Non-Maximum Suppression。其次,引入角度損失函數(shù),增加網(wǎng)絡(luò)的輸出維度,得到旋轉(zhuǎn)矩形的預(yù)測框。最后,在網(wǎng)絡(luò)模型的淺層階段,增加滑動窗口分支,來提高大尺寸遙感稀疏目標(biāo)的檢測效率。實驗數(shù)據(jù)集為自制飛機數(shù)據(jù)集CASIA-plane78和公開的艦船數(shù)據(jù)集HRSC2016,結(jié)果表明,改進旋轉(zhuǎn)目標(biāo)檢測算法相比于原始YOLOv5網(wǎng)絡(luò)的平均精度提升了3.175%,在吉林一號某星推掃出的大尺寸多光譜影像中推理速度提升了13.6%,能夠盡可能地減少冗余背景信息,更加準(zhǔn)確檢測出光學(xué)遙感圖像中排列密集、分布無規(guī)律的感興趣目標(biāo)的區(qū)域。
遙感圖像;滑動窗口;注意力機制;旋轉(zhuǎn)目標(biāo)檢測;YOLOv5
目標(biāo)檢測任務(wù)一直是計算機視覺的核心問題,它的目的是對圖像中的目標(biāo)進行定位。就遙感而言,目標(biāo)檢測是一項與各種應(yīng)用密切相關(guān)的關(guān)鍵任務(wù),例如,農(nóng)作物收獲分析、資源地理制圖、軍事航海、情報偵察、災(zāi)害管理、交通規(guī)劃等[1-2]。由于其應(yīng)用的廣泛性,遙感圖像有著各種感興趣的對象,這些對象中自身存在任意方向旋轉(zhuǎn)、多尺度、小目標(biāo)、密集分布等情形,因此,研究目標(biāo)檢測算法如何適應(yīng)當(dāng)前大量多樣化的遙感數(shù)據(jù),具有重大的研究意義和應(yīng)用價值[3-4]。
近年來,深度學(xué)習(xí)的進展為目標(biāo)檢測和定位提供了突破。在文獻[5]中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNNs)已經(jīng)取代了傳統(tǒng)的目標(biāo)檢測算法,增加網(wǎng)絡(luò)深度使得它可以檢測具有復(fù)雜背景的遙感圖像中的小物體[6]。基于CNN的目標(biāo)檢測算法主要分為兩類,第一類是兩階段目標(biāo)檢測算法,如SPP-Net[7]、Faster R-CNN[8-9]等。這種類型的方法非常準(zhǔn)確,但是檢測速度非常慢。第二類算法直接將圖像輸入到網(wǎng)絡(luò)中來預(yù)測物體的類別和位置信息,省去了區(qū)域檢測過程,轉(zhuǎn)化為回歸問題,從而大幅提高了算法的檢測速度,這種類型常見算法包括SSD[10]、YOLO[11-14]系列等[15]。然而,上述適用于自然場景圖像進行多分類的目標(biāo)檢測算法,當(dāng)遇到當(dāng)前大量多樣化的遙感數(shù)據(jù)時,檢測性能難以滿足實際需求。
面對自然場景圖像,原始的YOLOv5網(wǎng)絡(luò)在眾多優(yōu)秀的檢測方法中表現(xiàn)突出,目標(biāo)檢測邊框為水平矩形框,但由于在真實的遙感圖像中,目標(biāo)呈現(xiàn)任意方向分布的特點,采用與坐標(biāo)軸平行的一般矩形框,難以準(zhǔn)確表達檢測目標(biāo)的位置和范圍[16]。遙感圖像具有超大的圖像尺寸[17],整幅遙感影像尺寸往往可達20000×20000以上,對于現(xiàn)階段的計算硬件資源,針對常規(guī)圖像的深度學(xué)習(xí)目標(biāo)檢測算法無法直接處理大尺寸的遙感圖像,因此普遍采用帶有重疊區(qū)域的滑動窗口切割法,將圖片切割成尺寸合適的子圖[18],這樣無疑加大了網(wǎng)絡(luò)的計算量,導(dǎo)致檢測速度明顯下降。
針對上述問題,本文在YOLOv5的基礎(chǔ)上進行模型改進,首先采用旋轉(zhuǎn)矩形框的表示方式,應(yīng)用Transformer自注意力模塊[19]來增強網(wǎng)絡(luò)對目標(biāo)與圖像背景的區(qū)分能力[20],引入角度損失函數(shù),增加旋轉(zhuǎn)參數(shù),使結(jié)果更緊湊地框選出目標(biāo)。再對數(shù)據(jù)進行預(yù)處理通過Mosaic方法進行數(shù)據(jù)增強,隨機縮放增加小目標(biāo),讓網(wǎng)絡(luò)的魯棒性更好。采用K-Means方法進行聚類得到預(yù)設(shè)錨框的長度和寬度。其次,本文在網(wǎng)絡(luò)淺層階段,增加滑動窗口,來提高大尺寸遙感稀疏目標(biāo)的檢測效率,在保證檢測精度的前提下,進一步來提高檢測的速度。最后,提出旋轉(zhuǎn)檢測網(wǎng)絡(luò)YOLOv5-LR,以飛機數(shù)據(jù)集CASIA-plane78和艦船數(shù)據(jù)集HRSC2016[21]作為實驗數(shù)據(jù),測試網(wǎng)絡(luò)性能[22]。
旋轉(zhuǎn)檢測網(wǎng)絡(luò)YOLOv5-LR結(jié)構(gòu)如圖1所示。首先,對Backbone網(wǎng)絡(luò)CSPDarkNet53添加Transformer自注意力模塊,只增加了少量參數(shù),就可以增強網(wǎng)絡(luò)對目標(biāo)與圖像背景的區(qū)分能力。其次,由于卷積神經(jīng)網(wǎng)絡(luò)具有強大的特征表示能力和回歸能力,在進行多層的卷積操作之后,可以進行更深層次的特征提取,并且卷積神經(jīng)網(wǎng)絡(luò)具有旋轉(zhuǎn)不變性,所以本文認(rèn)為經(jīng)過多層網(wǎng)絡(luò)后能夠提取到目標(biāo)的角度信息。因此在Detect層,引入一個旋轉(zhuǎn)角度參數(shù),通過構(gòu)造新的角度損失函數(shù)對模型進行約束,使得YOLOv5-LR能夠完成較為精準(zhǔn)的旋轉(zhuǎn)目標(biāo)檢測。最后,本文在YOLOv5網(wǎng)絡(luò)特征提取與特征融合階段之間,增加CBS卷積模塊、全局平均匯聚層以及單層Conv卷積,構(gòu)成判斷滑動窗口分支,可以有效進行提前判讀、加快檢測速度。
圖1 YOLOv5-LR的網(wǎng)絡(luò)結(jié)構(gòu)
當(dāng)在人工處理一張光學(xué)遙感圖像時,通常會自然地關(guān)注到你感興趣目標(biāo)(艦船、飛機等),并且會忽略掉一些背景信息(完全是海面、市區(qū)房屋建筑的部分等),例如,當(dāng)人們想要在一個白色書架里尋找一些書本,目光主要會停留在書本上面,而后面的白色書架是帶有什么花紋信息則往往不會被注意到。因此,人類利用視覺系統(tǒng)觀察世界時,對每一個位置的注意力分布是不相同的。由于人類的注意力是有限的,為了節(jié)省這種資源,人們在面對自己感興趣的目標(biāo)時,會投入更多的注意力,而對自己想要尋找的目標(biāo)以外的事物會投入較少的注意力。研究者將人類這種現(xiàn)象模擬到機器學(xué)習(xí)中,“注意力機制”因此誕生。
Transformer模型最初是應(yīng)用在文本數(shù)據(jù)上的,現(xiàn)在已經(jīng)推廣到各種深度學(xué)習(xí)的任務(wù)中。它完全基于注意力機制,沒有任何卷積層或循環(huán)神經(jīng)網(wǎng)絡(luò)層,與先前循環(huán)神經(jīng)網(wǎng)絡(luò)實現(xiàn)輸入表示的自注意力機制(self-attention)相比,更加輕量化。本文將第9層C3模塊中的Bottleneck替換為Transformer塊,相比于傳統(tǒng)的Transformer結(jié)構(gòu),僅僅使用了Encoding部分。這樣做的好處是告知模型哪里更需要關(guān)注,并賦予其較大權(quán)重,而不存在目標(biāo)的背景區(qū)域就賦予一個更小的權(quán)重,讓模型像人類視覺一樣注意到感興趣的目標(biāo),同時在接下來引入判斷滑動窗口分支時,也會起到一個結(jié)合全局信息的作用。
原始的YOLOv5面對自然場景下的目標(biāo)表現(xiàn)良好,檢測結(jié)果呈水平矩形框。但由于光學(xué)遙感圖像是從空對地進行拍攝,目標(biāo)的形狀、方向有任意分布的特點,使用水平矩形框難以精準(zhǔn)地對目標(biāo)的位置信息進行描述。例如,以-平面作為圖像邊框的坐標(biāo)軸,則水平矩形框與坐標(biāo)軸平行,若目標(biāo)邊緣與坐標(biāo)軸之間的夾角較大,則水平矩形框的冗余信息也較大,此時如果采用旋轉(zhuǎn)矩形框,冗余信息則明顯減少,如圖2所示。因此,本文引入角度損失函數(shù),增加一個旋轉(zhuǎn)角度參數(shù),使得檢測結(jié)果更加緊湊地框選出目標(biāo)。
水平矩形框的參數(shù)包括檢測框的中心點的橫、縱坐標(biāo),以及高度、寬度4個參數(shù),通常表示為(,,,)。旋轉(zhuǎn)檢測方法即使用帶有角度的旋轉(zhuǎn)包圍盒,框選感興趣對象進行目標(biāo)檢測,相比一般水平矩形框,新增一個方向角度參數(shù),使用五參數(shù)表示法(,,,,)。但由于旋轉(zhuǎn)角度定義的方式非唯一,五參數(shù)表示法主要分為OpenCV定義法和長邊定義法兩類,如圖3所示。
圖2 水平矩形框(a)與旋轉(zhuǎn)矩形框(b)示意圖
圖3 旋轉(zhuǎn)框定義法。(a) OpenCV定義法;(b)長邊定義法
遙感圖像具有超大的圖像尺寸,而檢測器所感興趣區(qū)域的分布相對于整幅圖像極其稀疏,當(dāng)前主流目標(biāo)檢測器想要對整幅遙感圖像進行檢測,普遍采用對圖像進行切片操作或使用滑動窗口掃描整幅圖像。為了避免絕大部分窗口僅包含簡單背景,卻浪費大量計算資源,導(dǎo)致檢測速度降低,本文嘗試在網(wǎng)絡(luò)模型的淺層階段,增加滑動窗口分支。例如,窗口內(nèi)全部是海面、云霧,本文認(rèn)為這類滑動窗口是易于和含有目標(biāo)的圖像區(qū)分的,即易于被分類網(wǎng)絡(luò)所區(qū)分的。因此通過滑動窗口分支,圖像可以在進入模型深層階段之前被判斷是否含有目標(biāo)或是否屬于簡單背景,如圖4所示,如果當(dāng)存在感興趣區(qū)域的概率大于給定閾值,則圖像順利進入模型深層階段,當(dāng)其概率小于給定閾值,則跳出模型網(wǎng)絡(luò)。
本文引入的滑動窗口分支主要由3個子模塊組成,其結(jié)構(gòu)如圖5所示,首先加入YOLOv5網(wǎng)絡(luò)中特征提取的基礎(chǔ)組件,由卷積層(convolution)、批量規(guī)范化層(Batch normalization)以及激活函數(shù)(Sigmoid weighted Liner Unit),其主要作用為對模型Backbone提取的特征進行通道降維。其次加入全局平均池化層(Global Average Pooling Layer),對上一個模塊提取的特征信息進行空間降維。最后,添加一個普通卷積層,它相當(dāng)于一個全連接層,對池化操作后的特征信息進行提取,Sigmoid整理后,得到最終的輸出結(jié)果,即代表滑動窗口內(nèi)存在目標(biāo)的概率大小。
圖4 模型滑動窗口分支流程
圖5 滑動窗口分支結(jié)構(gòu)
在深度學(xué)習(xí)中,需要可視化一個模型的優(yōu)劣程度,因此通常會定義出一個函數(shù),并希望通過各種優(yōu)化策略把它下降到最低點,即損失函數(shù)。
YOLOv5的損失主要由3部分組成:首先是分類損失,采用的是二值交叉熵?fù)p失(Binary Cross Entropy Loss)。分類損失函數(shù)公式如式(1)所示:
其次是置信度損失,仍使用二值交叉熵?fù)p失,公式如式(2)所示:
最后是定位損失,采用CIoU損失函數(shù)。CIoU公式本文不再贅述,定位損失函數(shù)如式(3)所示。
為了得到旋轉(zhuǎn)矩形框來更加緊湊地框選出目標(biāo),本文增加一個旋轉(zhuǎn)角度參數(shù),引入角度損失函數(shù)ang,使得總體損失值對處理真實目標(biāo)矩形框的位置、大小和旋轉(zhuǎn)角度變得敏感起來。由于光學(xué)遙感數(shù)據(jù)集大多數(shù)采用四點式(,,,)標(biāo)注方式,或八點式(1,1,2,2,3,3,4,4)標(biāo)注方式,沒有直接給出角度信息,本文可利用點位坐標(biāo)來自動計算真實矩形框的角度。先回歸,再預(yù)測目標(biāo)矩形框的寬高與中心點坐標(biāo),再將矩形框進行一定角度的旋轉(zhuǎn),來逼近真實目標(biāo)矩形框的位置。因此本文設(shè)計角度損失函數(shù)采用L2范數(shù)損失函數(shù),如式(4)所示:
本文針對預(yù)先判斷感興趣區(qū)域的滑動窗口分支,定義滑動窗口損失函數(shù)如式(5)所示:
所以在訓(xùn)練過程中,總損失函數(shù)由分類損失、置信度損失、定位損失、角度損失以及滑動窗口損失組成,總損失函數(shù)如式(6)所示:
式中:cla、conf、loc、ang、slid均為可調(diào)節(jié)的權(quán)重參數(shù),用于平衡不同 loss之間的重要度。
本文實驗使用的光學(xué)遙感數(shù)據(jù)集為實驗室自制飛機數(shù)據(jù)集CASIA-plane78[23]和公開的艦船數(shù)據(jù)集HRSC2016。CASIA-plane78數(shù)據(jù)由國產(chǎn)自主產(chǎn)權(quán)系列衛(wèi)星拍攝,從多景超高分辨率圖像中切取機場部分,最終制作尺寸為4096pixel×4096pixel,包含多種成像條件的機場圖像,共計534幅。數(shù)據(jù)集細分為28類,帶有具體型號的飛機目標(biāo)。由于圖像分辨率較高,不加入滑動窗口分支訓(xùn)練時,無法直接輸入到目標(biāo)檢測器進行訓(xùn)練預(yù)測,所以將數(shù)據(jù)集切片處理,保留500的重疊區(qū)域,以1024pixel×1024pixel進行滑動窗口切割,最終制作訓(xùn)練集包含10495幅含有目標(biāo)的圖像,1350幅簡單背景圖像,制作驗證集4437幅圖像,測試集共計3820幅圖像。
HRSC2016數(shù)據(jù)集是公開的光學(xué)遙感艦船檢測數(shù)據(jù)集,包含有1061幅從Google地球收集的遙感圖像。由于其像素大小分布差異較大,本文在構(gòu)建數(shù)據(jù)集時使用數(shù)據(jù)增強來擴充樣本的數(shù)量,并統(tǒng)一將圖像的尺寸調(diào)整為1024pixel×1024pixel,并最終生成1125幅圖像組成的訓(xùn)練集以及780幅圖像組成的測試集。
目標(biāo)檢測中常見的性能評估指標(biāo)有:精確率(Precision)、召回率(Recall)、平均精度均值(mAP)、速度評估指標(biāo)(FPS)等。
精確率又稱查準(zhǔn)率,指模型預(yù)測的所有目標(biāo)中預(yù)測正確的比例,可評估預(yù)測的準(zhǔn)不準(zhǔn)。召回率又稱查全率,指所有真實目標(biāo)中,模型預(yù)測正確的目標(biāo)比例,可評估預(yù)測的全不全。精確率與召回率的計算如式(7):
式中:TP為預(yù)測正確的矩形框數(shù)量,即真樣本。FP作為非目標(biāo)但預(yù)測為目標(biāo)的數(shù)量,即假樣本。FN為真實目標(biāo)漏檢的數(shù)量。而AP為精確率-召回率曲線p(r)與坐標(biāo)軸所圍成的面積,衡量的是學(xué)習(xí)出來的模型在每個類別上的好壞,其值越高則代表算法在該數(shù)據(jù)集上的表現(xiàn)越好。平均精度均值(mAP)就是取所有類別上AP的平均值,表示的是學(xué)習(xí)出的模型在所有類別上的好壞。AP公式如式(8)所示:
速度評估指標(biāo)FPS常用來衡量目標(biāo)檢測模型的運行速度,它的數(shù)值大小表示的是在每秒鐘能夠推理的圖像的數(shù)量。通常視頻播放速度為24FPS,因此目標(biāo)檢測算法想要滿足高速實時性的要求,運行速度就要達到至少24FPS。
本文所有實驗在Ubuntu20.04.2LTS系統(tǒng)下進行,使用深度學(xué)習(xí)框架pytorch1.10.1,CUDA版本為11.4,顯卡為四塊NVIDIA GeForce RTX 3090。模型訓(xùn)練的迭代次數(shù)設(shè)置為500,Batch size設(shè)置為64。初始學(xué)習(xí)率為0.01,在訓(xùn)練過程中采用余弦退火策略動態(tài)調(diào)整,動量設(shè)置為0.937,權(quán)重衰減率設(shè)為0.0005。
本文算法在YOLOv5網(wǎng)絡(luò)的基礎(chǔ)上進行改進。在CASIA-plane78數(shù)據(jù)集上對Faster R-CNN、YOLOv4、YOLOv5以及本文改進后的算法YOLOv5-LR對FPS以及mAP進行對比,數(shù)據(jù)如表1所示。可以看出,相較于其他網(wǎng)絡(luò),本文模型在檢測速度、以及檢測精度有比較優(yōu)秀的表現(xiàn)。原始YOLOv5網(wǎng)絡(luò)雖然檢測速度最快,但是檢測精度相較于本文模型較低。本文提出改進算法YOLOv5-LR在保證了檢測速度相差不大,滿足實時檢測的需求,mAP值提升了3.42%。
表1 CASIA-plane78數(shù)據(jù)集不同檢測方法對比
除此之外,通過對CASIA-plane78數(shù)據(jù)集的大量測試結(jié)果進行觀察,發(fā)現(xiàn)在用滑動窗口掃描整幅圖像,且滑動窗口附有重疊區(qū)域的情況下,當(dāng)感興趣目標(biāo)恰好落在重疊區(qū)域時候,感興趣目標(biāo)會被檢測器多次檢測到,并誤將一個物體當(dāng)成了兩個物體。這樣會使同一個感興趣目標(biāo)被多個矩形框重疊框選。經(jīng)過分析,本文認(rèn)為檢測器在檢測的后處理部分的非極大值抑制算法(Non Maximum Suppression,NMS)不夠準(zhǔn)確,僅僅通過設(shè)置閾值來保留置信度最高的矩形框,剔除其他與該框重疊的矩形框。通常情況下,閾值被定義為某一個數(shù)值,它常與置信度最高的矩形框與其他各個矩形框的重疊面積進行比較,即兩個框之間的IoU大于閾值則后者為冗余框。
圖6為改進前后部分檢測結(jié)果對比圖,其中,第一行為原始YOLOv5檢測結(jié)果;第二行為改進算法YOLOv5-LR檢測結(jié)果。可以看出原始網(wǎng)絡(luò)在排列密集、分布無規(guī)律的小型飛機目標(biāo),會出現(xiàn)漏檢,一個目標(biāo)被檢測為多個目標(biāo)的情況,如圖6(a1)、(a2)和(a3);使用改進后的YOLOv5-LR沒有發(fā)生多檢、漏檢的情況如圖6(b1)、(b2)和(b3)。YOLOv5對于排列密集的大型目標(biāo)很不友好,檢測得到的矩形框由于相互之間重疊情況較多、檢測矩形框的內(nèi)部冗余背景較大,使得觀察結(jié)果較為困難,且會出現(xiàn)誤檢的現(xiàn)象如圖6(a4)。而改進后的YOLOv5-LR算法引入角度損失函數(shù),增加一個旋轉(zhuǎn)角度參數(shù),在這種情況下,能夠更加緊湊地框選出密集大型目標(biāo)如圖6(b4),檢測結(jié)果更為簡單明了。
以上方法存在以下問題,例如,對重疊區(qū)域進行合并檢測結(jié)果時,兩個大小不同的矩形框框選同一個感興趣區(qū)域,如圖7(a)所示,且矩形框的位置關(guān)系為大框包含小框,然而IoU正好小于閾值,檢測器不會自動刪除某一個矩形框,而是都保留了下來,但顯然其中一個是冗余框。如果僅僅將閾值調(diào)小,檢測器會過濾掉其中一個矩形框,那個矩形框一定是兩框之中置信度較小的矩形框。重要的是不能確定置信度較小的矩形框也是在包含關(guān)系中較小的那一個矩形框。這樣意味著僅僅過濾置信度較小的矩形框也許會將大的、包含整個目標(biāo)的矩形框給刪除掉,留下一個小的、僅僅包含目標(biāo)部分區(qū)域的矩形框,如圖7(b)所示。
因此,本文對后處理部分的非極大值抑制算法NMS進行改進,增加一項過濾冗余框的規(guī)則,即在滑動窗口的重疊區(qū)域里,如果出現(xiàn)上述大框包含小框的情況,優(yōu)先去刪除較小的矩形框,保留包含范圍較大的矩形框。由于這種做法是在檢測過程的后處理部分,不會影響網(wǎng)絡(luò)對本身就存在重疊的目標(biāo)進行檢測的精度,并且在整幅圖像對應(yīng)的滑動窗口的重疊區(qū)域中,能夠保留更完整的目標(biāo),同時會解決“多檢”的情況。如圖7(c)所示。改進后的非極大值抑制算法NMS已應(yīng)用到Y(jié)OLOv5-LR,效果如圖7(d)所示。
為了體現(xiàn)本文改進YOLOv5的有效性,針對長寬比更大的艦船數(shù)據(jù)集HRSC2016進行了目標(biāo)檢測算法性能比較,與目前現(xiàn)有旋轉(zhuǎn)目標(biāo)檢測算法以及原始YOLOv5進行了對比,如表2所示,本文改進算法YOLOv5-LR相比于原始YOLOv5的檢測精度提升了2.93%。
圖6 數(shù)據(jù)集CASIA-plane78不同方法的檢測結(jié)果。(a) YOLOv5算法;(b)改進后YOLOv5-LR算法
圖7 不同NMS結(jié)果對比。(a)原檢測結(jié)果;(b)調(diào)整NMS閾值結(jié)果;(c)改進NMS;(d)YOLOv5-LR結(jié)果
表2 HRSC2016數(shù)據(jù)集不同檢測方法對比
圖8展示了原始YOLOv5及改進算法YOLOv5-LR的檢測效果。第一行為原始YOLOv5檢測結(jié)果;第二行為改進算法YOLOv5-LR檢測結(jié)果。如圖8(a1)所示,當(dāng)艦船目標(biāo)的邊界長、寬,相對于光學(xué)圖像的邊界較為平行的時候,原始網(wǎng)絡(luò)檢測結(jié)果良好,冗余背景信息不多但依舊存在。在改進網(wǎng)絡(luò)檢測結(jié)果圖8(b1)中,在矩形框范圍內(nèi)盡可能剔除不必要的背景信息,針對這種情況檢測效果提升不大,但在光學(xué)遙感圖像的拍攝中,艦船目標(biāo)不可能總是平行于整幅圖像的邊界,由于這種隨機性的存在,原始網(wǎng)絡(luò)僅僅在這種情況下表現(xiàn)良好,并不能體現(xiàn)算法的適用性。
當(dāng)艦船目標(biāo)分布密集且艦船較大,原始YOLOv5會出現(xiàn)定位不準(zhǔn)確、漏檢的情況,如圖8(a2)、(a3)和(a4)。本文發(fā)現(xiàn),造成漏檢嚴(yán)重的情況是因為艦船目標(biāo)相對于其他目標(biāo),長寬比較大,因此使用正矩形框選目標(biāo)后,目標(biāo)常位于矩形框的對角線處,而對角線兩側(cè)包含大量冗余背景信息,這樣會使得整個矩形框的范圍比較大,在面對密集排列目標(biāo)時,一個已經(jīng)包含整個目標(biāo)的矩形框會覆蓋另一個目標(biāo)的部分區(qū)域,這樣使得本來另一個目標(biāo)的矩形框與該矩形框的IoU值比較大,導(dǎo)致非極大值抑制算法NMS的錯殺。由于目標(biāo)密集,多個目標(biāo)的多尺度檢測框重疊區(qū)域較大,因此僅調(diào)小NMS的閾值可能造成更多的漏檢,調(diào)大閾值可能造成更多的誤檢、多檢。改進算法YOLOv5-LR,利用自注意力機制增強了網(wǎng)絡(luò)對目標(biāo)與背景的辨別能力,增加角度損失函數(shù),來使得矩形框具備角度參數(shù),讓檢測結(jié)果更加緊湊地框選出目標(biāo)、剔除冗余信息,有效解決遙感圖像因目標(biāo)排列密集、尺度變化多樣導(dǎo)致的漏檢、定位不準(zhǔn)確的問題。
本文引入的滑動窗口分支,在大尺寸光學(xué)遙感圖像稀疏目標(biāo)場景中,對輸入圖像使用提前判讀操作。當(dāng)滑動窗口是不存在感興趣目標(biāo)(艦船、飛機等)的簡單背景滑窗,不去進行復(fù)雜的深層網(wǎng)絡(luò)檢測任務(wù)。實驗表明,與原始YOLOv5網(wǎng)絡(luò)相比,YOLOv5-LR引入的滑動窗口分支,對大尺寸光學(xué)遙感圖像的推理速度明顯優(yōu)于對先對圖像進行切割、小尺寸圖像逐個進行檢測、合并檢測結(jié)果的大尺寸光學(xué)遙感圖像的傳統(tǒng)檢測步驟。
常見的光學(xué)遙感圖像數(shù)據(jù)集,如本文使用的HRSC2016是對原始遙感圖像進行了切割,只保留了部分感興趣區(qū)域制作為數(shù)據(jù)集樣本。而整幅遙感影像尺寸往往可達20000×20000以上,當(dāng)前公開的遙感圖像數(shù)據(jù)集較少,本文引入滑動窗口分支的實驗基于吉林一號某星推掃出的大尺寸多光譜影像。本文對12景光學(xué)遙感圖像進行測試,在YOLOv5-LR未加入滑動窗口分支前對整幅圖像的推理時間為24705ms,在加入滑動窗口分支后推理時間縮短至21336ms,在推理精度不降低的情況下,推理速度提升了13.6%,如圖9展示了大尺寸光學(xué)遙感圖像的旋轉(zhuǎn)目標(biāo)檢測的部分結(jié)果。
圖8 大尺寸光學(xué)遙感圖像的旋轉(zhuǎn)目標(biāo)檢測的部分結(jié)果
(a) YOLOv5算法 (b)改進后YOLOv5-LR算法(a) YOLOv5 algorithm (b) Improved YOLOV5-LR algorithm
本文提出了基于改進YOLOv5的遙感旋轉(zhuǎn)目標(biāo)檢測算法YOLOv5-LR。首先利用Transformer自注意力機制增強網(wǎng)絡(luò)對目標(biāo)與圖像背景的區(qū)分能力,引入旋轉(zhuǎn)角度參數(shù),使得原檢測網(wǎng)絡(luò)選取目標(biāo)的正矩形,變?yōu)榘嵌葏?shù)的旋轉(zhuǎn)矩形框,并對圖像后處理部分的非極大值抑制算法NMS進行改進。其次,本文嘗試在網(wǎng)絡(luò)模型的淺層階段,增加滑動窗口分支,來提高大尺寸遙感稀疏目標(biāo)的檢測效率,在保證檢測精度的同時,進一步提高檢測速度。
實驗表明,本算法在CASIA-plane78和HRSC2016數(shù)據(jù)集上取得良好的表現(xiàn),與原始YOLOv5網(wǎng)絡(luò)相比在精度上有所提升,增強了冗余背景信息的剔除能力,有效解決遙感圖像因目標(biāo)排列密集、尺度變化多樣導(dǎo)致的多檢、漏檢、定位不準(zhǔn)確的問題。在遙感圖像方面,YOLOv5-LR的旋轉(zhuǎn)檢測框更適合擬合目標(biāo)形態(tài),不僅保持了先進檢測算法的精度,同時實現(xiàn)了更快的檢測速度。引入滑動窗口分支之后,對于大尺寸光學(xué)遙感圖像的推理速度有所提升,但是對于不包含簡單背景的大尺寸光學(xué)遙感圖像來說,引入滑動窗口分支可能會導(dǎo)致推理速度更慢。因此,研究如何更高效地對大尺寸光學(xué)遙感圖像進行檢測,并基于旋轉(zhuǎn)框來自動區(qū)分目標(biāo)首尾將是本文后續(xù)研究的一個方向。
[1] ZHANG X, CHEN G, LI X, et al. Multi-oriented rotation-equivariant network for object detection on remote sensing images[J]., 2022, 19: 1-5.
[2] WANG Yi, Syed M A B, Mahrukh K, et al. Remote sensing image super-resolution and object detection: Benchmark and state of the art[J]., 2022, 197: 116793.
[3] XI Y Y, JI L Y, YANG W T, et al. Multitarget detection algorithms for multitemporal remote sensing data[J]., 2022, 60: 1-15.
[4] WANG Y Q, MA L, TIAN Y. State-of-the-art of ship detection and recognition in optical remotely sensed imagery[J]., 2011, 37(9): 1029-1039.
[5] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks [J]., 2017, 60(6): 84-90.
[6] WANG W, FU Y, DONG F, et al. Semantic segmentation of remote sensing ship image via a convolutional neural networks model[J]., 2019, 13(6): 1016-1022.
[7] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]., 2015, 37(9): 1904-1916.
[8] REN S, HE K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]., 2017, 39(6): 1137-1149.
[9] FANG F, LI L, ZHU H, et al. Combining faster r-cnn and model-driven clustering for elongated object detection[J]., 2020, 29: 2052-2065.
[10] LIU W, Anguelov D, Erhan D, et al. SSD: single shot multibox detector[C]//, 2016: 21-37.
[11] Redmon J, Divvala S, Girshick R, et al. You Only Look Once: unified, real time object detection[C]//, 2017: 6517-6525.
[12] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger[C]//, 2017: 6517-6525.
[13] Redmon J, Farhadi A. Yolov3: An incremental improvement[C]//, 2018, arXiv:1804.0276.
[14] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4:Optimal Speed and Accuracy of Object Detection [C]//, 2020. arXiv: 2004.10934.
[15] ZHU Wentao, LAN Xianchao, LUO Huanlin, et al. Remote sensing aircraft target detection based on improved faster R-CNN[J]., 2022, 49(6A): 378-383.
[16] LI D, ZHANG J. Rotating target detection for tarpaulin rope based on improved YOLOv5[C]// 5th(ICAIBD), 2022: 299-303.
[17] YANG X, YANG J R, YAN J C, et al. SCRDet: Towards more robust detection for small, cluttered and rotated objects[C]//2019(ICCV), 2019: 8232-8241.
[18] WANG B R, LI M. A structure to effectively prepare the data for sliding window in deep learning[C]//6th(ICSIP), 2021: 1025-2018.
[19] Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16×16 words: transformers for image recognition at scale[J/OL]., 2010, https://arxiv.org/abs/2010.11929.
[20] LAN Lingxiang, CHI Mingmin. Remote sensing change detection based on feature fusion and attention network[J]., 2022, 49(6): 193-198.
[21] LIU Z, WANG H, WENG L, et al. Ship rotated bounding box space for ship extraction from high-resolution optical satellite images with complex backgrounds[J]., 2017, 13(8): 1074.
[22] LI Y, LI M, LI S, et al. Improved YOLOv5 for remote sensing rotating object detection[C]//6th(CCISP), 2021: 64-68.
[23] Institute of Automation. Chinese Academy of Sciences Remote sensing artificial intelligence algorithm competition platform[EB/OL]. https://www.rsaicp.com/portal/dataDetail?id=34.
YOLOv5-LR: A Rotating Object Detection Model for Remote Sensing Images
GAO Mingming1,LI Yuanzhou1,MA Lei2,NAN Jingchang2,ZHOU Qianyi3
(1.,,125105,;2.,,100190,;3.,,125105,)
In a real remote sensing image, the target is distributed in any direction and it is difficult for the original YOLOv5 network to accurately express the location and range of the target and the detection speed is moderate. To solve these problems, a remote sensing image rotating target detection model, YOLOv5-Left-Rotation, was proposed. First, the transformer self-attention mechanism was used to make the model pay more attention to the targets of interest. In addition, Mosaic data were enhanced in the image preprocessing, and the improved Non-Maximum Suppression algorithm was used in post-processing. Second, an angle loss function was introduced to increase the output dimensions of the network, and the prediction box of the rotating rectangle was obtained. Finally, in the shallow stage of the network model, a sliding window branch was added to improve the detection efficiency of large-sized remote sensing sparse targets. The experimental datasets were the self-made aircraft dataset CASIA-plane78 and the public ship dataset HRSC2016. The results show that the average accuracy of the improved rotating target detection algorithm is improved by 3.175% compared with that of the original model, and the reasoning speed is improved by 13.6% in a large multispectral image swept by a Jilin-1 satellite. It can optimally reduce the redundant background information and more accurately detect the densely arranged and irregularly distributed areas of objects of interest in optical remote sensing images.
remote sensing images, sliding window, attention mechanism, rotating object detection, YOLOv5
TP391
A
1001-8891(2024)01-0043-09
2022-11-18;
2022-12-30.
高明明(1980-),女,博士,副教授,博士生導(dǎo)師,中國電子學(xué)會會員,主要研究方向為:人工智能、智能感知、微波毫米波技術(shù)等。
李沅洲(1999-),男,碩士,碩士研究生,主要研究方向為遙感圖像處理和目標(biāo)識別。E-mail:yuanzhou.li@foxmail.com
國家自然科學(xué)基金青年科學(xué)基金(61701211);遼寧省應(yīng)用基礎(chǔ)研究計劃項目(2022JH2/101300275);遼寧省應(yīng)用基礎(chǔ)研究計劃項目(22-1083);北京市科技計劃項目(Z201100005820010)。