王懷濟(jì),李廣明,張紅良,申京傲,吳 京
東莞理工學(xué)院 計算機(jī)科學(xué)與技術(shù)學(xué)院,廣東 東莞 523808
目標(biāo)檢測是計算機(jī)視覺的一個基本任務(wù),在遙感技術(shù)、醫(yī)學(xué)影像、自動駕駛和工業(yè)場景等領(lǐng)域有著廣泛的研究與應(yīng)用[1-10]。目前流行的目標(biāo)檢測方法分為兩大類,兩階段目標(biāo)檢測[11-16]和單階段目標(biāo)檢測[17-23],兩階段目標(biāo)檢測保持著更高的精度,單階段目標(biāo)檢測保持著更快的速度。在實(shí)際應(yīng)用中,使用水平框檢測目標(biāo)有著局限性,比如在遙感圖像中目標(biāo)呈任意角度擺放,因此,許多旋轉(zhuǎn)目標(biāo)檢測[24-31]方法被提出。
兩階段目標(biāo)檢測,對前景和背景進(jìn)行分類生成圖像的候選區(qū)域,從這些區(qū)域提取特征,并使用特定類別的分類器和回歸器進(jìn)行分類和回歸獲得類別和位置信息,最后的檢測結(jié)果通過非極大值抑制(non-maximum suppression,NMS)處理獲得。該方法是基于區(qū)域的目標(biāo)檢測方法,將檢測視為一個分類問題。R-CNN(regions with CNN features)系列[11-13]、R-FCN(object detection via region-based fully convolutional networks)[14]和oriented R-CNN[16]是兩階段目標(biāo)檢測中的經(jīng)典結(jié)構(gòu),能實(shí)現(xiàn)對目標(biāo)有效的檢測,但是兩階段目標(biāo)檢測耗時生成大量候選區(qū)域,降低了實(shí)時性。
單階段目標(biāo)檢測,是實(shí)時性較強(qiáng)的目標(biāo)檢測方法。與基于區(qū)域的兩階段方法不同,Redmon等人[17]提出的單階段目標(biāo)檢測方法YOLO(you only look once),將目標(biāo)檢測視為一個回歸問題,不需要大量候選框,直接對輸入圖像中的目標(biāo)位置和目標(biāo)類別進(jìn)行回歸預(yù)測,這使得YOLO具有更快的檢測速度。Liu等人[18]提出的單階段目標(biāo)檢測方法SSD,在不犧牲太多檢測精度的情況下達(dá)到實(shí)時檢測的效果。YOLO系列[17,20-23]近些年發(fā)展迅速,整體性能上表現(xiàn)優(yōu)秀的YOLOv4[22],以及靈活性更強(qiáng)的YOLOv5,融入了解耦頭和無錨框等多種元素的Yolox[23]。直至今日,YOLO系列仍是實(shí)時目標(biāo)檢測中不可超越的里程碑。
一般的目標(biāo)檢測方法使用水平框檢測目標(biāo),在實(shí)際應(yīng)用中有著局限性,比如遙感圖像檢測中的目標(biāo)在任意方向上擺放,水平目標(biāo)框內(nèi)會出現(xiàn)過多背景信息。因此,使用旋轉(zhuǎn)框檢測目標(biāo)的方法被提出,以檢測呈任意方向擺放的目標(biāo)。遙感圖像和場景文本圖像是旋轉(zhuǎn)目標(biāo)檢測方法的主要應(yīng)用場景。在遙感圖像的旋轉(zhuǎn)目標(biāo)檢測方法中,兩階段方法RoI Transformer(region of interest transformer)[24]、SCRDet(towards more robust detection for small,cluttered and rotated objects)[25]、CSL(circular smooth label)[26]和oriented R-CNN在精度上表現(xiàn)優(yōu)秀,但它們復(fù)雜的兩階段結(jié)構(gòu)導(dǎo)致實(shí)時性不強(qiáng),單階段旋轉(zhuǎn)目標(biāo)檢測方法R3Det(refined single-stage detector with feature refinement for rotating object)[27]在速度超越兩階段目標(biāo)檢測方法的同時,精度也不落于后。場景文本檢測中,也有許多高效的兩階段旋轉(zhuǎn)檢測方法,如R2CNN(rotational region CNN for orientation robust scene text detection)[28]和RRPN(rotation region proposal networks)[29];還有許多單階段旋轉(zhuǎn)檢測方法,如EAST(an efficient and accurate scene text detector)[30]和TextBoxes++(a single-shot oriented scene text detector)[31]。
遙感圖像目標(biāo)檢測方法在以下幾種情況下已有一定的研究,但對目標(biāo)的檢測仍然困難:
分布不均勻:不同形狀和大小的目標(biāo)數(shù)量分布不均勻,一個數(shù)據(jù)集中,大部分的目標(biāo)大小和形狀相差不大,而小部分目標(biāo)則向著數(shù)據(jù)集邊緣發(fā)散,這些偏離中心的數(shù)據(jù)難以訓(xùn)練。YOLO設(shè)置1個中心錨框,YOLOv2[20]中,多錨框比只有一個中心錨框的YOLO要有更好的效果,YOLOv3、YOLOv4和YOLOv5沿用了YOLOv2的方法,YOLOX(exceeding YOLO series in 2021)等[23,32]則認(rèn)為多個錨框增加了檢測頭的復(fù)雜性,降低了檢測速度,因此在每個網(wǎng)格中只設(shè)置1個錨框。但是,YOLOX等并未針對錨框的生成方法進(jìn)行改進(jìn)。FPN(feature pyramid networks for object detection)[15]使用多尺度訓(xùn)練的方式,在不同特征層對不同尺度的目標(biāo)進(jìn)行訓(xùn)練,以解決目標(biāo)分布不均勻的問題。但是,其主要針對目標(biāo)大小,目標(biāo)形狀差異帶來的影響沒有得到解決。在遙感圖像的目標(biāo)檢測中,目標(biāo)形狀和大小分布很不均勻,偏離均值中心的真實(shí)目標(biāo)難以檢測,需要覆蓋范圍更廣且相互之間不排斥的錨框才能取得優(yōu)秀的檢測效果。
排列雜亂和環(huán)境復(fù)雜:自然場景和遙感圖像中的物體排列一般都比較混亂無序,背景復(fù)雜,難以分辨,對大目標(biāo)和小目標(biāo)的檢測都不友好。YOLOv4和YOLOv5中融入了PANet(path aggregation network)[33]結(jié)構(gòu),由自頂向下的特征金字塔FPN和自底向上的特征金字塔PAN組成,F(xiàn)PN層自頂向下傳達(dá)強(qiáng)語義特征,PAN則自底向上傳達(dá)強(qiáng)定位特征。但是,YOLOv4和YOLOv5中,backbone傳達(dá)給PANet頂層的定位特征和底層的語義特征沒有針對性。在遙感圖像中,背景復(fù)雜、目標(biāo)排列雜亂,更需要模型關(guān)注小目標(biāo)的語義特征和大目標(biāo)的定位特征。
方向任意和大長寬比:圖像中的物體在任意方向上擺放,遙感圖像中,常常遇到大長寬比目標(biāo),其角度稍稍變動,就會損失很大的精度,對長寬比與角度的要求較為嚴(yán)格。SCRDet和R3Det等方法實(shí)現(xiàn)了旋轉(zhuǎn)框的交并比(intersection over union,IoU)并應(yīng)用于旋轉(zhuǎn)目標(biāo)檢測。但是,SCRDet和R3Det等方法沒有考慮到旋轉(zhuǎn)目標(biāo)檢測中損失函數(shù)的其他要素:長寬比、角度和中心點(diǎn)距離。
長寬比和尺寸變化劇烈:遙感圖像中的目標(biāo)尺寸變化劇烈時,不同目標(biāo)的長寬比差距巨大,難以回歸預(yù)測所有目標(biāo)。YOLOv5的目標(biāo)框回歸函數(shù)對比YOLOv4做了改進(jìn),限制了目標(biāo)框?qū)捀呋貧w范圍,使回歸函數(shù)更穩(wěn)定,不易梯度爆炸,在自然場景COCO數(shù)據(jù)集中取得了較好的結(jié)果,但是其將寬和高的回歸范圍限制在4倍范圍內(nèi),導(dǎo)致超出錨框4倍大小的目標(biāo)無法預(yù)測,對目標(biāo)尺寸變化劇烈的場景不友好。
為解決以上問題,本文提出了一種融合卷積通道注意力的旋轉(zhuǎn)目標(biāo)檢測方法。主要有以下貢獻(xiàn):(1)針對非極大值抑制時分布均勻的錨框會產(chǎn)生干擾,提出了增加聚類簇之間距離的錨框設(shè)計方法,以解決目標(biāo)分布不均勻的問題。(2)對排列雜亂的目標(biāo)和復(fù)雜的環(huán)境,基于YOLOv5的輕量型網(wǎng)絡(luò)YOLOv5s,設(shè)計了一種融合卷積通道注意力的網(wǎng)絡(luò)結(jié)構(gòu)(YOLOv5s network with convolutional block channel attention,YOLOv5s-CBCA),增強(qiáng)backbone傳達(dá)給FPN模塊和PAN模塊的語義和定位特征,尤其是語義特征,即,增強(qiáng)小特征圖的定位特征以檢測復(fù)雜背景下的大目標(biāo),增強(qiáng)大特征圖的語義特征以檢測復(fù)雜背景下的小目標(biāo)。(3)對方向任意和大長寬比的目標(biāo),設(shè)計了一種包含IoU損失、中心點(diǎn)距離損失、長寬比損失和角度損失四個要素的損失函數(shù)(loss function with four elements,LFFE),體現(xiàn)了損失函數(shù)的完備性。(4)對長寬比和尺寸變化劇烈的目標(biāo),優(yōu)化了寬高回歸函數(shù),基于數(shù)據(jù)集自適應(yīng)生成寬高回歸范圍(regression function based on data,RFBA)。
在真實(shí)場景中,遙感目標(biāo)檢測有四個常見的難點(diǎn)。分布不均勻,如圖1(a)中大型車分布較少,且定位和語義信息與其他目標(biāo)有極大不同;排列雜亂和復(fù)雜的環(huán)境,圖1(b)中背景十分復(fù)雜,汽車分布雜亂;方向任意和大長寬比,圖1(c)中船只呈任意角度擺放,船只長寬比大于10倍;長寬比和尺寸變化劇烈,圖1(d)所示,大船的尺寸遠(yuǎn)大于小船,圖1(d)中目標(biāo)長寬比最小為2倍,圖1(c)中目標(biāo)長寬比最大足有10倍,長寬比差距超過4倍。

圖1 遙感目標(biāo)檢測難點(diǎn)Fig.1 Difficulties in remote sensing object detection
本文的baseline YOLOv5是目前為止性能較好、速度極快的目標(biāo)檢測方法。如圖2所示,YOLOv5主要分為輸入端、Backbone、Head和Detect四個部分。輸入端輸入圖像并做數(shù)據(jù)增強(qiáng),Backbone部分由Focus模塊、Conv模塊、C3模塊和SPP(spatial pyramid pooling)[34]模塊組成。Head部分包含PANet結(jié)構(gòu),F(xiàn)PN自頂向下傳達(dá)強(qiáng)語義特征,而PAN則自底向上傳達(dá)強(qiáng)定位特征。Detect部分包含GIoU(generalized intersection over union)Loss[35]和目標(biāo)框回歸函數(shù)。

圖2 YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of YOLOv5
針對遙感目標(biāo)檢測的4個難點(diǎn),本文基于YOLOv5進(jìn)行了4方面的改進(jìn),分別是錨框設(shè)計、增強(qiáng)網(wǎng)絡(luò)的語義表達(dá)、重構(gòu)損失函數(shù)和優(yōu)化回歸函數(shù)。
在目標(biāo)分布不均勻的數(shù)據(jù)集中,使用特征金字塔結(jié)構(gòu)可以在不同尺度的特征圖上訓(xùn)練不同大小的目標(biāo),但是,均值聚類生成的錨框仍是均勻分布的,與不同尺度的特征圖并非對應(yīng)關(guān)系。本文針對非極大值抑制造成的均勻分布的錨框相互之間的負(fù)面干擾,提出了增加均值聚類簇之間的距離,減少干擾的錨框設(shè)計方法,錨框與多尺度特征圖相互對應(yīng),分別檢測不同尺度的目標(biāo)。
如圖3所示,有3個錨框回歸預(yù)測后得到的預(yù)測框置信度達(dá)到閾值,模型會從中選擇置信度最大的預(yù)測框作為最后的預(yù)測框,計算它與其他所有預(yù)測框的IoU,刪除IoU大于閾值的預(yù)測框。這一過程中,即使被刪除的預(yù)測框是優(yōu)秀的,仍然會被判斷成錨框回歸預(yù)測的方向是不正確的,這就造成了多個錨框?qū)Ρ舜说幕貧w預(yù)測產(chǎn)生負(fù)面的抑制。

圖3 非極大值抑制Fig.3 Non-maximum suppression
根據(jù)以上分析,錨框只回歸預(yù)測形狀和大小與之對應(yīng)范圍內(nèi)的目標(biāo),且互相之間不干擾,就會具有優(yōu)秀的性能。本文提出了增加k-means聚類簇之間的距離(k-means,and increase cluster distance,KICD)的錨框設(shè)計方法。具體實(shí)現(xiàn)為,第一步,初始化k個隨機(jī)的質(zhì)心(錨框)。第二步,計算每個目標(biāo)框與質(zhì)心的距離,劃分每個目標(biāo)框到距離它最近的質(zhì)心,生成新的聚類簇,求取每個聚類簇目標(biāo)框的平均值作為新的質(zhì)心,重復(fù)這一步直到每個聚類簇的平均距離穩(wěn)定不變,且每個聚類簇中目標(biāo)框的數(shù)量分布相對均勻。第三步,選擇距離所有質(zhì)心最近的質(zhì)心(中心簇的質(zhì)心),和距離它最遠(yuǎn)兩個質(zhì)心(中心簇位于兩個簇中間)。即,在k-means聚類得到最優(yōu)解后,增加聚類簇之間的距離。聚類簇距離增加后,在非極大值抑制確定最終預(yù)測框時,錨框預(yù)測時的互相干擾現(xiàn)象減少,降低了檢測頭預(yù)測時的復(fù)雜度,提高了非極大值抑制的計算速度,3個錨框與3層特征圖一一對應(yīng),分別檢測不同尺度的目標(biāo),有利于分布較少目標(biāo)的檢測。
聚類結(jié)果示例如圖4所示,以HRSC2016訓(xùn)練集為例,當(dāng)k=15時,共有15個聚類簇,每個聚類簇中目標(biāo)框數(shù)量為N,中心簇為C1,C3和C13為距離中心最遠(yuǎn)的兩個聚類簇。

圖4 聚類結(jié)果Fig.4 Cluster results
現(xiàn)實(shí)世界數(shù)據(jù)比較復(fù)雜,例如航空數(shù)據(jù),會引入大量噪聲,易受干擾的噪聲會淹沒目標(biāo)信息,使得前景和背景之間的邊界變得模糊[25],YOLOv5所用的網(wǎng)絡(luò)結(jié)構(gòu)并未對backbone輸出給FPN和PAN的特征進(jìn)行細(xì)致的處理,神經(jīng)網(wǎng)絡(luò)的特征表達(dá)[36]明顯不足。為了增強(qiáng)神經(jīng)網(wǎng)絡(luò)的特征表達(dá),解決背景噪聲問題,本文設(shè)計了融合卷積通道注意力的網(wǎng)絡(luò),利用FPN頂層小特征圖檢測大目標(biāo)時需要強(qiáng)定位信息的特性,增強(qiáng)FPN頂層小特征圖的定位特征,以此增強(qiáng)檢測大目標(biāo)的能力;利用PAN底層大特征圖檢測小目標(biāo)需要強(qiáng)語義信息的特性,增強(qiáng)PAN底層大特征圖的語義特征,增強(qiáng)小目標(biāo)的檢測能力。
如圖5所示,本文設(shè)計的融合卷積通道注意力的網(wǎng)絡(luò),在YOLOv5網(wǎng)絡(luò)的基礎(chǔ)上,backbone傳遞特征給FPN的頂層和PAN的底層時插入了卷積通道注意力模塊。具體為,分別在第3次和第5次2倍下采樣后,并經(jīng)過卷積模塊C3增加網(wǎng)絡(luò)深度后,插入卷積通道注意力模塊,將經(jīng)過注意力加權(quán)的特征圖傳遞給FPN和PAN。卷積通道注意力模塊增強(qiáng)backbone傳達(dá)給FPN頂層特征圖和PAN底層特征圖的語義和定位特征,尤其是語義特征。這一過程中,卷積通道注意力模塊中的平均池化操作在頂層的小特征圖上對定位信息的聚合能力強(qiáng)于對語義信息的聚合能力,增強(qiáng)了小特征圖上的定位特征,有利于檢測復(fù)雜場景下的大目標(biāo);最大池化操作在底層大特征圖上對語義信息的聚合能力強(qiáng)于對定位信息的聚合能力,增強(qiáng)了大特征圖上的語義特征,有利于檢測復(fù)雜場景下的小目標(biāo)。

圖5 融合卷積通道注意力的網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Network structure fusing convolutional block channel attention
卷積通道注意力模塊,直接插入卷積模塊中,實(shí)現(xiàn)對特征的注意力加權(quán)。通道注意力模塊如圖6下半部分所示,將輸入的特征圖分別通過基于寬和高的全局最大池化(對紋理信息敏感)和全局平均池化(對背景信息敏感)進(jìn)行池化操作后,分別通過卷積層處理,在卷積層先通過1×1卷積降維,ReLU函數(shù)激活,再經(jīng)過1×1卷積升維。輸出的兩個特征對應(yīng)元素加和后,用sigmoid函數(shù)激活,生成通道注意力權(quán)值。卷積通道注意力模塊如圖6上半部分所示,通道注意力模塊直接插入網(wǎng)絡(luò)結(jié)構(gòu)中的卷積模塊中,形成卷積通道注意力模塊。輸入的特征圖通過通道注意力模塊生成通道注意力權(quán)值,將通道注意力權(quán)值與原輸入的特征圖做張量積運(yùn)算,得到最終的通道注意力加權(quán)特征圖。該模塊自適應(yīng)為每一個通道生成權(quán)重,在復(fù)雜場景中,該模塊更傾向于分配權(quán)重給一個蘊(yùn)含了重要特征的通道,神經(jīng)網(wǎng)絡(luò)對加權(quán)后的特征加以訓(xùn)練,通過反向傳播不斷調(diào)整網(wǎng)絡(luò)權(quán)重,最終分配給前景和背景通道的權(quán)重會使得神經(jīng)網(wǎng)絡(luò)將更多的資源放在前景上,可以提高復(fù)雜場景下的目標(biāo)檢測性能。

圖6 卷積通道注意力模塊Fig.6 Convolutional block channel attention module
水平目標(biāo)檢測常用的損失函數(shù)是IoU系列[35,37-38]損失函數(shù),但因?yàn)閮尚D(zhuǎn)框交并比并非處處可導(dǎo),不能直接用旋轉(zhuǎn)IoU作為旋轉(zhuǎn)目標(biāo)檢測的損失函數(shù),SCRDet和R3Det等旋轉(zhuǎn)目標(biāo)檢測方法對旋轉(zhuǎn)目標(biāo)檢測的損失函數(shù)進(jìn)行了重構(gòu),但SCRDet和R3Det等主要關(guān)注預(yù)測框和真實(shí)框相互之間的覆蓋面積這一要素,對于角度、長寬比和中心點(diǎn)距離等要素不關(guān)注。
如公式(1)~(3)所示,本文的損失函數(shù)改進(jìn)在于目標(biāo)框損失函數(shù)部分。如公式(2)所示,目標(biāo)框損失函數(shù)LLFFE中,LSmooth-L1函數(shù)作為損失函數(shù)中的穩(wěn)定器,-ln(1-SkewIoU)作為常數(shù)因子控制函數(shù)的梯度下降;分別預(yù)測角度的正弦值和余弦值,利用三角函數(shù)正弦余弦定理,使預(yù)測的正弦值和余弦值的角度相近;反正切函數(shù)控制寬高比的梯度下降;預(yù)測框和真實(shí)框中心點(diǎn)到圖像左上頂點(diǎn)(0,0)的距離,控制預(yù)測框和真實(shí)框的中心點(diǎn)坐標(biāo)的距離,α為偏置,方便求導(dǎo)。本文的目標(biāo)框損失函數(shù)LFFE具有一個優(yōu)秀的旋轉(zhuǎn)目標(biāo)檢測損失函數(shù)所需的4個要素:覆蓋面積、旋轉(zhuǎn)角度、寬高比和中心點(diǎn)距離。計算真實(shí)框和預(yù)測框的覆蓋面積,是考慮目標(biāo)框的整體,使目標(biāo)框損失整體向著全覆蓋的方向收斂。目標(biāo)框的參數(shù)可以分為三塊,角度參數(shù)、寬高參數(shù)和中心點(diǎn)參數(shù),只有考慮到三塊處于局部的參數(shù)的收斂性,損失函數(shù)在局部上才能快速向著更準(zhǔn)確的方向收斂。覆蓋面積、旋轉(zhuǎn)角度、寬高比和中心點(diǎn)距離同時存在,更能體現(xiàn)損失函數(shù)的完備性。
式中,總的損失由三部分組成,Lobj、Lcls和Lbox分別是置信度損失函數(shù),類別損失函數(shù)和目標(biāo)框損失函數(shù)。λ1、λ2和λ3是控制置信度、回歸和分類損失權(quán)重的超參數(shù),默認(rèn)情況下,λ1和λ2設(shè)置為1,λ3設(shè)置為0.05,n是錨框的數(shù)量。置信度損失中,pi是每個網(wǎng)格預(yù)測目標(biāo)為正樣本的概率,tobj是每個網(wǎng)格中的預(yù)測框與真實(shí)框的IoU,置信度損失是由BCE損失函數(shù)計算損失。類別損失中,pn是每個類別的概率分布,tn是目標(biāo)的標(biāo)簽,類別損失是由Binary Cross-Entropy損失函數(shù)計算損失。目標(biāo)框損失中,pbox和tbox包含預(yù)測框和真實(shí)框的位置信息,包含預(yù)測框和真實(shí)框的位置信息,具體包括6個參數(shù),(x,y,w,h,c,s),分別是中心點(diǎn)坐標(biāo)、寬高和旋轉(zhuǎn)角度的余弦值和正弦值。
式中,SkewIoU是預(yù)測框和真實(shí)框的面積旋轉(zhuǎn)交并比。偏置α設(shè)置為0.001。
式中,β是權(quán)重參數(shù),設(shè)置為0.11。
如公式(4)所示,YOLOv5的寬高回歸范圍最大是錨框的4倍,當(dāng)目標(biāo)框與錨框相差超過4倍就難以預(yù)測。如公式(5)所示,在目標(biāo)框回歸函數(shù)RFBA中,預(yù)測框?qū)捀呋貧w范圍根據(jù)數(shù)據(jù)集中的最大長寬比自適應(yīng)生成,a為數(shù)據(jù)集的最大長寬比為數(shù)據(jù)集最大長寬比的開根號后取整,本文根據(jù)數(shù)據(jù)自適應(yīng)生成錨框的寬高預(yù)測范圍限制參數(shù)。
YOLOv5的目標(biāo)框回歸公式:
式中,cx和cy是錨框中心點(diǎn)所在網(wǎng)格的左上頂點(diǎn)坐標(biāo)。錨框的目標(biāo)寬高的初始值為pw和ph。需要做的是從錨框回歸到預(yù)測框,需要回歸的參數(shù)是真實(shí)寬高與錨框初始寬高的偏移量tw和th,真實(shí)目標(biāo)中心點(diǎn)所在網(wǎng)格左上頂點(diǎn)坐標(biāo)與預(yù)測框中心點(diǎn)坐標(biāo)的偏移量tx和ty。通過預(yù)測的偏移量求預(yù)測框的中心點(diǎn)坐標(biāo)bx和by,寬高bw和bh。通過函數(shù)把預(yù)測的偏移量限制在[0,1],以約束中心點(diǎn)在網(wǎng)格內(nèi),約束預(yù)測框的寬和高不超過錨框的4倍。
式中,通過偏移量tc和ts分別求預(yù)測框傾斜角度的余弦正弦值bc和bs。
UCAS-AOD數(shù)據(jù)集是中國科學(xué)院大學(xué)的高清航拍數(shù)據(jù)集,主要有兩個版本,Version1.0和Version2.0,兩個版本共計飛機(jī)圖像1 000張,飛機(jī)樣本7 482個,汽車圖像510張,汽車樣本7 114個,反例圖像910張。本文從UCAS數(shù)據(jù)集中挑出1 110張作為訓(xùn)練集,400張作為測試集。目標(biāo)最大寬高比為8。
HRSC2016數(shù)據(jù)集是由西北工業(yè)大學(xué)發(fā)布的船舶數(shù)據(jù)集,包含兩個場景的船舶圖像,海上船舶和靠近海岸的船舶,所有的圖片是從六個著名的港口收集的。訓(xùn)練集、驗(yàn)證集和測試集分別包括436、181和444張圖像。目標(biāo)最大寬高比為13,長寬比和尺寸有明顯差異。
訓(xùn)練時,初始學(xué)習(xí)率設(shè)置為0.01,UCAS-AOD數(shù)據(jù)集和HRSC2016數(shù)據(jù)集epochs分別是1 000和1 300。所有實(shí)驗(yàn)在1個GPU(NVIDIA GeForce RTX 3080 Ti)上完成。
本文使用平均精度mAP作為性能指標(biāo)。所有實(shí)驗(yàn)數(shù)據(jù)和參數(shù)設(shè)置嚴(yán)格一致,baseline為YOLOv5目標(biāo)檢測方法,但不限制于YOLOv5,是基于YOLOv5加入了兩個角度參數(shù)的旋轉(zhuǎn)目標(biāo)檢測方法。
在UCAS-AOD上不同類別目標(biāo)的檢測精度AP和整體性能mAP比較及消融實(shí)驗(yàn)見表1。實(shí)驗(yàn)中選擇kmeans++作為聚類方法增加錨框之間間隙的效果不明顯,k-means++與k-means不同的是初始化k個相互之間最遠(yuǎn)的質(zhì)心,但是當(dāng)均值聚類的局部最優(yōu)解等于全局最優(yōu)解時,k-means++迭代更新的結(jié)果仍趨于k-means。與之不同的是,本文的錨框設(shè)計方法KICD,在實(shí)驗(yàn)中,在聚類后從15個聚類簇中選取距離中心簇及距其最遠(yuǎn)的2個簇(中心簇在這兩個簇之間),生成3個錨框,是在聚類迭代更新后增加聚類簇之間的距離,相對于baseline,平均精度mAP提升了3個百分點(diǎn),證明了適當(dāng)增加錨框之間的間隙可以取得更高的精度。本文的網(wǎng)絡(luò)模型YOLOv5s-CBCA是輕量型網(wǎng)絡(luò),只使用YOLOv5s-CBCA時,相對于baseline,平均精度mAP提升了2.4個百分點(diǎn),驗(yàn)證了在復(fù)雜場景中該模型的有效性。LFFE損失函數(shù)單獨(dú)使用時,相對于baseline,平均精度mAP提升1.5個百分點(diǎn)。在UCAS-AOD數(shù)據(jù)集中自適應(yīng)寬高回歸范圍為錨框的4倍以內(nèi),與YOLOv5相同,單獨(dú)使用時實(shí)驗(yàn)結(jié)果與baseline相同。整體上,本文的方法在UCAS-AOD上平均精度mAP達(dá)到95.9%。

表1 在UCAS-AOD上的消融實(shí)驗(yàn)Table 1 Ablation experiment on UCAS-AOD 單位:%
如表1所示,YOLOv5s-CBCA代表改進(jìn)的主干網(wǎng)絡(luò),KICD代表改進(jìn)的錨框設(shè)計方法,RFBA代表改進(jìn)的目標(biāo)框回歸函數(shù),LFFE代表改進(jìn)的目標(biāo)框損失函數(shù),mAP是平均精度。對號表示啟用該模塊,空格表示不啟用。
在UCAS-AOD上處理每張圖片的速度及花費(fèi)時間如表2所示,KICD錨框設(shè)計方法增大了錨框間隙,有效減少了非極大值抑制計算時間。表中,pre代表預(yù)處理過程花費(fèi)的時間,inference代表推理過程花費(fèi)的時間,NMS代表非極大值計算的時間,F(xiàn)PS代表處理每張圖片的平均速度。

表2 在UCAS-AOD上的速度實(shí)驗(yàn)Table 2 Speed experiment on UCAS-AOD
在UCAS-AOD上的訓(xùn)練過程如圖7所示,Box展示的是訓(xùn)練時訓(xùn)練集的目標(biāo)框損失下降過程,Objectness展示的是訓(xùn)練時訓(xùn)練集的目標(biāo)置信度損失訓(xùn)練下降過程,Classfication展示的是訓(xùn)練時訓(xùn)練集的目標(biāo)類別損失下降過程,以上三者每次迭代都要計算。Precision是訓(xùn)練時驗(yàn)證集的精度變化過程,Recall是訓(xùn)練時驗(yàn)證集的召回率變化過程,val Box、val Objectness和val Classfication反映的分別是驗(yàn)證集的目標(biāo)框損失、置信度損失和類別損失,mAP是訓(xùn)練時驗(yàn)證集的平均精度,UCAS-AOD中未劃分驗(yàn)證集,因此以測試集作為驗(yàn)證集使用,以上每項(xiàng)指標(biāo)每迭代100次計算1次。

圖7 UCAS-AOD上訓(xùn)練過程Fig.7 Training process on UCAS-AOD
在UCAS-AOD上部分檢測結(jié)果如圖8所示,展示了復(fù)雜環(huán)境下汽車和飛機(jī)的旋轉(zhuǎn)目標(biāo)檢測結(jié)果。

圖8 UCAS-AOD上部分檢測結(jié)果Fig.8 Some results on UCAS-AOD
雖然在UCAS-AOD上進(jìn)行了消融實(shí)驗(yàn),但是目標(biāo)長寬比和尺寸差距較小的UCAS-AOD數(shù)據(jù)集難以表現(xiàn)出本文方法的全部優(yōu)勢。因此,在HRSC2016上進(jìn)行了消融實(shí)驗(yàn),如表3所示。本文使用平均精度mAP作為性能指標(biāo)。所有實(shí)驗(yàn)數(shù)據(jù)和參數(shù)設(shè)置嚴(yán)格一致,baseline為YOLOv5目標(biāo)檢測方法,但不限制于YOLOv5,是加入了角度參數(shù)的旋轉(zhuǎn)目標(biāo)檢測方法。

表3 在HRSC2016上的消融實(shí)驗(yàn)Table 3 Ablation experiment on HRSC2016
在HRSC2016上的精度mAP與速度FPS消融實(shí)驗(yàn)如表3所示。在分布較為均勻的數(shù)據(jù)集上,經(jīng)過kmeans聚類,遺傳學(xué)習(xí)算法迭代出的9個錨框相鄰之間大小形狀相似,這樣的9個錨框放在3層特征圖上會相互干擾,通過實(shí)驗(yàn)可以看出每層3個錨框比每層1個錨框的方法速度會降低7 FPS。KICD錨框設(shè)計方法,相對于baseline,平均精度mAP提升了3.5個百分點(diǎn)。YOLOv5s-CBCA是在backbone與FPN和PAN的關(guān)鍵連接節(jié)點(diǎn)加權(quán)語義和定位特征的網(wǎng)絡(luò),實(shí)驗(yàn)中發(fā)現(xiàn),只使用YOLOv5s-CBCA時,相對于baseline,平均精度提升了4個百分點(diǎn)。只使用LFFE損失函數(shù),相對于baseline提升1.9個百分點(diǎn)。回歸函數(shù)RFBA對大長寬比的HRSC2016數(shù)據(jù)集提升明顯較大,在HRSC2016上自適應(yīng)寬高回歸范圍在錨框的9倍以內(nèi),單獨(dú)使用時,提升了20.1個百分點(diǎn)。整體上,本文的方法平均精度達(dá)到96.3%,F(xiàn)PS達(dá)到了77.5。
在HRSC2016上的訓(xùn)練過程如圖9所示,只劃分1類目標(biāo)不計算分類損失。Precision是訓(xùn)練時驗(yàn)證集的精度變化過程,Recall是訓(xùn)練時驗(yàn)證集的召回率變化過程,val Box和val Objectness反映的分別是驗(yàn)證集的目標(biāo)框損失和置信度損失,mAP是訓(xùn)練時驗(yàn)證集的平均精度,以上每項(xiàng)指標(biāo)每迭代100次計算1次。

圖9 HRSC 2016上訓(xùn)練過程Fig.9 Training process on HRSC 2016
在HRSC2016上部分檢測結(jié)果如圖10所示,展示了遙感場景下各種船只的旋轉(zhuǎn)目標(biāo)檢測結(jié)果。

圖10 HRSC2016上部分檢測結(jié)果Fig.10 Some results on HRSC2016
實(shí)驗(yàn)結(jié)果表明,在UCAS-AOD和HRSC2016數(shù)據(jù)集中,本文的方法在整體上提高了檢測效果。
在UCAS-AOD上與YOLOv2、R-DFPN和CFC-Net等做了對比實(shí)驗(yàn)。在HRSC2016上與R2CNN、RRPN和R3Det等做了對比實(shí)驗(yàn)。實(shí)驗(yàn)從各類別精度、平均精度和速度等各方面與最先進(jìn)的旋轉(zhuǎn)目標(biāo)檢測方法做對比。
如表4,在UCAS-AOD上與YOLOv2、CFC-Net和CSL方法做了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示這三個方法,在UCAS-AOD上使用PASCAL VOC 2012計算方式得到的mAP分別是87.9%、89.5%和95.1%。與其他方法對比,在UCAS-AOD上本文的方法整體性能達(dá)到最優(yōu),平均精度mAP達(dá)到95.9%。

表4 在UCAS-AOD上與其他方法的對比Table 4 Comparison with other methods on UCAS-AOD 單位:%
如表5,在HRSC2016上與R2CNN、RRPN和R3Det方法做了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示這三個方法,在HRSC2016上使用PASCAL VOC 2012計算方式得到的mAP分別是79.7%、85.6%和96%,得到的FPS最高只有12。與其他方法對比,在HRSC2016上本文的方法整體性能達(dá)到最優(yōu),平均精度達(dá)到96.3%,檢測速度FPS達(dá)到了77.5。

表5 在HRSC2016上與其他方法的對比Table 5 Comparison with other methods on HRSC2016
為了展示本文設(shè)計的卷積通道注意力模塊CBCA的優(yōu)越性,在HRSC2016數(shù)據(jù)集上與CBAM和SE做了橫向?qū)Ρ葘?shí)驗(yàn)。如表6,本文所有的模塊均已使用,將CBCA模塊替換為CBAM和SE模塊,進(jìn)行橫向?qū)Ρ葘?shí)驗(yàn)。CBAM是一種通道注意力與空間注意力串聯(lián)的注意力模塊,在復(fù)雜場景中搜索重要特征的能力不如單獨(dú)的通道注意力模塊。SE是通道注意力模塊,其考慮到對重要紋理信息的搜索,但對位置信息不敏感。本文的CBCA模塊是卷積通道注意力模塊,不但關(guān)注目標(biāo)的位置信息,且更加突出對重要紋理信息的搜索。在本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)中,CBCA增強(qiáng)大特征圖的語義特征以檢測小目標(biāo),增強(qiáng)小特征圖的定位特征以檢測大目標(biāo)。實(shí)驗(yàn)結(jié)果表明,在復(fù)雜場景中,相比CBAM和SE,CBCA模塊與本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合具有更高的性能。

表6 卷積通道注意力模塊在HRSC2016上的對比實(shí)驗(yàn)Table 6 Comparison experiment of convolutional block channel attention module on HRSC2016
為了展示本文設(shè)計的損失函數(shù)的優(yōu)越性,在HRSC2016數(shù)據(jù)集上與PIoU和IoU-Smooth L1做了橫向?qū)Ρ葘?shí)驗(yàn)。如表7,本文所有的模塊均已使用,將本文的損失函數(shù)LFFE替換為PIoU和IoU-Smooth L1,進(jìn)行橫向?qū)Ρ葘?shí)驗(yàn)。損失函數(shù)PIoU是以近似計算的方式實(shí)現(xiàn)了旋轉(zhuǎn)框的IoU。損失函數(shù)IoU-Smooth L1是以Smooth L1控制梯度的下降方向,IoU控制梯度的下降大小。PIoU和IoU-Smooth L1主要考慮到的要素是覆蓋面積。本文的損失函數(shù)LFFE考慮到了覆蓋面積、寬高比、中心點(diǎn)距離和角度損失,考慮要素更全面。實(shí)驗(yàn)結(jié)果表明,相比PIoU和IoU-Smooth L1,損失函數(shù)LFFE具有更高的性能。

表7 損失函數(shù)LFFE在HRSC2016上與其他方法的對比Table 7 Comparison of loss function LFFE with other methods on HRSC2016
實(shí)驗(yàn)結(jié)果表明,在UCAS-AOD和HRSC2016數(shù)據(jù)集中,本文方法的表現(xiàn),超過了近年來一些代表性的方法,提高了在遙感圖像上的檢測性能。
本文在HRSC2016數(shù)據(jù)集上與其他方法進(jìn)行了速度上的比較。測試環(huán)境等條件完全相同的情況下,本文的方法達(dá)到了最優(yōu)的性能,如表5所示,可以看出FPS達(dá)到了77.5,速度相比其他方法至少提升了5.46倍。如表6所示,相比于CBAM和SE方法,本文的CBCA模塊在檢測速度略微領(lǐng)先。如表7所示,相比于PIoU和IoUSmooth L1,本文的損失函數(shù)LFFE具有完備性,對位置信息的準(zhǔn)確預(yù)測使得非極大值抑制的計算量減少,檢測速度有所提升。實(shí)驗(yàn)結(jié)果表明,本文的目標(biāo)檢測方法在遙感圖像目標(biāo)檢測中具有實(shí)時性。
本文針對遙感目標(biāo)檢測的難點(diǎn),提出了一種端到端的單階段旋轉(zhuǎn)目標(biāo)檢測方法,適用于形狀大小分布不均勻、背景復(fù)雜、大長寬比和尺寸變化劇烈的目標(biāo)檢測。在HRSC2016和UCAS-AOD上的實(shí)驗(yàn)結(jié)果表明,錨框之間有充足的間隙且覆蓋范圍廣,錨框的性能就能得到更好的發(fā)揮;增強(qiáng)復(fù)雜背景下backbone輸出給特征金字塔頂部的定位特征和底部的語義特征,可以提高檢測效果;旋轉(zhuǎn)目標(biāo)檢測的目標(biāo)框損失函數(shù)應(yīng)該包括覆蓋面積、中心點(diǎn)距離損失、長寬比損失和角度損失4個要素;錨框回歸預(yù)測范圍可以覆蓋整個數(shù)據(jù)集,檢測效果更佳。未來工作:平衡錨框和錨框回歸范圍之間的關(guān)系,設(shè)計完全基于目標(biāo)分布的錨框生成方法;平衡模型收斂性與錨框回歸范圍之間的關(guān)系,設(shè)計曲率函數(shù)回歸寬高,使其兼具YOLOv4和YOLOv5目標(biāo)框回歸函數(shù)的優(yōu)勢。