王懷濟(jì),李廣明,張紅良,申京傲,吳 京
東莞理工學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,廣東 東莞 523808
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)的一個(gè)基本任務(wù),在遙感技術(shù)、醫(yī)學(xué)影像、自動(dòng)駕駛和工業(yè)場(chǎng)景等領(lǐng)域有著廣泛的研究與應(yīng)用[1-10]。目前流行的目標(biāo)檢測(cè)方法分為兩大類(lèi),兩階段目標(biāo)檢測(cè)[11-16]和單階段目標(biāo)檢測(cè)[17-23],兩階段目標(biāo)檢測(cè)保持著更高的精度,單階段目標(biāo)檢測(cè)保持著更快的速度。在實(shí)際應(yīng)用中,使用水平框檢測(cè)目標(biāo)有著局限性,比如在遙感圖像中目標(biāo)呈任意角度擺放,因此,許多旋轉(zhuǎn)目標(biāo)檢測(cè)[24-31]方法被提出。
兩階段目標(biāo)檢測(cè),對(duì)前景和背景進(jìn)行分類(lèi)生成圖像的候選區(qū)域,從這些區(qū)域提取特征,并使用特定類(lèi)別的分類(lèi)器和回歸器進(jìn)行分類(lèi)和回歸獲得類(lèi)別和位置信息,最后的檢測(cè)結(jié)果通過(guò)非極大值抑制(non-maximum suppression,NMS)處理獲得。該方法是基于區(qū)域的目標(biāo)檢測(cè)方法,將檢測(cè)視為一個(gè)分類(lèi)問(wèn)題。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)檢測(cè)中的經(jīng)典結(jié)構(gòu),能實(shí)現(xiàn)對(duì)目標(biāo)有效的檢測(cè),但是兩階段目標(biāo)檢測(cè)耗時(shí)生成大量候選區(qū)域,降低了實(shí)時(shí)性。
單階段目標(biāo)檢測(cè),是實(shí)時(shí)性較強(qiáng)的目標(biāo)檢測(cè)方法。與基于區(qū)域的兩階段方法不同,Redmon等人[17]提出的單階段目標(biāo)檢測(cè)方法YOLO(you only look once),將目標(biāo)檢測(cè)視為一個(gè)回歸問(wèn)題,不需要大量候選框,直接對(duì)輸入圖像中的目標(biāo)位置和目標(biāo)類(lèi)別進(jìn)行回歸預(yù)測(cè),這使得YOLO具有更快的檢測(cè)速度。Liu等人[18]提出的單階段目標(biāo)檢測(cè)方法SSD,在不犧牲太多檢測(cè)精度的情況下達(dá)到實(shí)時(shí)檢測(cè)的效果。YOLO系列[17,20-23]近些年發(fā)展迅速,整體性能上表現(xiàn)優(yōu)秀的YOLOv4[22],以及靈活性更強(qiáng)的YOLOv5,融入了解耦頭和無(wú)錨框等多種元素的Yolox[23]。直至今日,YOLO系列仍是實(shí)時(shí)目標(biāo)檢測(cè)中不可超越的里程碑。
一般的目標(biāo)檢測(cè)方法使用水平框檢測(cè)目標(biāo),在實(shí)際應(yīng)用中有著局限性,比如遙感圖像檢測(cè)中的目標(biāo)在任意方向上擺放,水平目標(biāo)框內(nèi)會(huì)出現(xiàn)過(guò)多背景信息。因此,使用旋轉(zhuǎn)框檢測(cè)目標(biāo)的方法被提出,以檢測(cè)呈任意方向擺放的目標(biāo)。遙感圖像和場(chǎng)景文本圖像是旋轉(zhuǎn)目標(biāo)檢測(cè)方法的主要應(yīng)用場(chǎng)景。在遙感圖像的旋轉(zhuǎn)目標(biāo)檢測(cè)方法中,兩階段方法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í)時(shí)性不強(qiáng),單階段旋轉(zhuǎn)目標(biāo)檢測(cè)方法R3Det(refined single-stage detector with feature refinement for rotating object)[27]在速度超越兩階段目標(biāo)檢測(cè)方法的同時(shí),精度也不落于后。場(chǎng)景文本檢測(cè)中,也有許多高效的兩階段旋轉(zhuǎn)檢測(cè)方法,如R2CNN(rotational region CNN for orientation robust scene text detection)[28]和RRPN(rotation region proposal networks)[29];還有許多單階段旋轉(zhuǎn)檢測(cè)方法,如EAST(an efficient and accurate scene text detector)[30]和TextBoxes++(a single-shot oriented scene text detector)[31]。
遙感圖像目標(biāo)檢測(cè)方法在以下幾種情況下已有一定的研究,但對(duì)目標(biāo)的檢測(cè)仍然困難:
分布不均勻:不同形狀和大小的目標(biāo)數(shù)量分布不均勻,一個(gè)數(shù)據(jù)集中,大部分的目標(biāo)大小和形狀相差不大,而小部分目標(biāo)則向著數(shù)據(jù)集邊緣發(fā)散,這些偏離中心的數(shù)據(jù)難以訓(xùn)練。YOLO設(shè)置1個(gè)中心錨框,YOLOv2[20]中,多錨框比只有一個(gè)中心錨框的YOLO要有更好的效果,YOLOv3、YOLOv4和YOLOv5沿用了YOLOv2的方法,YOLOX(exceeding YOLO series in 2021)等[23,32]則認(rèn)為多個(gè)錨框增加了檢測(cè)頭的復(fù)雜性,降低了檢測(cè)速度,因此在每個(gè)網(wǎng)格中只設(shè)置1個(gè)錨框。但是,YOLOX等并未針對(duì)錨框的生成方法進(jìn)行改進(jìn)。FPN(feature pyramid networks for object detection)[15]使用多尺度訓(xùn)練的方式,在不同特征層對(duì)不同尺度的目標(biāo)進(jìn)行訓(xùn)練,以解決目標(biāo)分布不均勻的問(wèn)題。但是,其主要針對(duì)目標(biāo)大小,目標(biāo)形狀差異帶來(lái)的影響沒(méi)有得到解決。在遙感圖像的目標(biāo)檢測(cè)中,目標(biāo)形狀和大小分布很不均勻,偏離均值中心的真實(shí)目標(biāo)難以檢測(cè),需要覆蓋范圍更廣且相互之間不排斥的錨框才能取得優(yōu)秀的檢測(cè)效果。
排列雜亂和環(huán)境復(fù)雜:自然場(chǎng)景和遙感圖像中的物體排列一般都比較混亂無(wú)序,背景復(fù)雜,難以分辨,對(duì)大目標(biāo)和小目標(biāo)的檢測(cè)都不友好。YOLOv4和YOLOv5中融入了PANet(path aggregation network)[33]結(jié)構(gòu),由自頂向下的特征金字塔FPN和自底向上的特征金字塔PAN組成,F(xiàn)PN層自頂向下傳達(dá)強(qiáng)語(yǔ)義特征,PAN則自底向上傳達(dá)強(qiáng)定位特征。但是,YOLOv4和YOLOv5中,backbone傳達(dá)給PANet頂層的定位特征和底層的語(yǔ)義特征沒(méi)有針對(duì)性。在遙感圖像中,背景復(fù)雜、目標(biāo)排列雜亂,更需要模型關(guān)注小目標(biāo)的語(yǔ)義特征和大目標(biāo)的定位特征。
方向任意和大長(zhǎng)寬比:圖像中的物體在任意方向上擺放,遙感圖像中,常常遇到大長(zhǎng)寬比目標(biāo),其角度稍稍變動(dòng),就會(huì)損失很大的精度,對(duì)長(zhǎng)寬比與角度的要求較為嚴(yán)格。SCRDet和R3Det等方法實(shí)現(xiàn)了旋轉(zhuǎn)框的交并比(intersection over union,IoU)并應(yīng)用于旋轉(zhuǎn)目標(biāo)檢測(cè)。但是,SCRDet和R3Det等方法沒(méi)有考慮到旋轉(zhuǎn)目標(biāo)檢測(cè)中損失函數(shù)的其他要素:長(zhǎng)寬比、角度和中心點(diǎn)距離。
長(zhǎng)寬比和尺寸變化劇烈:遙感圖像中的目標(biāo)尺寸變化劇烈時(shí),不同目標(biāo)的長(zhǎng)寬比差距巨大,難以回歸預(yù)測(cè)所有目標(biāo)。YOLOv5的目標(biāo)框回歸函數(shù)對(duì)比YOLOv4做了改進(jìn),限制了目標(biāo)框?qū)捀呋貧w范圍,使回歸函數(shù)更穩(wěn)定,不易梯度爆炸,在自然場(chǎng)景COCO數(shù)據(jù)集中取得了較好的結(jié)果,但是其將寬和高的回歸范圍限制在4倍范圍內(nèi),導(dǎo)致超出錨框4倍大小的目標(biāo)無(wú)法預(yù)測(cè),對(duì)目標(biāo)尺寸變化劇烈的場(chǎng)景不友好。
為解決以上問(wèn)題,本文提出了一種融合卷積通道注意力的旋轉(zhuǎn)目標(biāo)檢測(cè)方法。主要有以下貢獻(xiàn):(1)針對(duì)非極大值抑制時(shí)分布均勻的錨框會(huì)產(chǎn)生干擾,提出了增加聚類(lèi)簇之間距離的錨框設(shè)計(jì)方法,以解決目標(biāo)分布不均勻的問(wèn)題。(2)對(duì)排列雜亂的目標(biāo)和復(fù)雜的環(huán)境,基于YOLOv5的輕量型網(wǎng)絡(luò)YOLOv5s,設(shè)計(jì)了一種融合卷積通道注意力的網(wǎng)絡(luò)結(jié)構(gòu)(YOLOv5s network with convolutional block channel attention,YOLOv5s-CBCA),增強(qiáng)backbone傳達(dá)給FPN模塊和PAN模塊的語(yǔ)義和定位特征,尤其是語(yǔ)義特征,即,增強(qiáng)小特征圖的定位特征以檢測(cè)復(fù)雜背景下的大目標(biāo),增強(qiáng)大特征圖的語(yǔ)義特征以檢測(cè)復(fù)雜背景下的小目標(biāo)。(3)對(duì)方向任意和大長(zhǎng)寬比的目標(biāo),設(shè)計(jì)了一種包含IoU損失、中心點(diǎn)距離損失、長(zhǎng)寬比損失和角度損失四個(gè)要素的損失函數(shù)(loss function with four elements,LFFE),體現(xiàn)了損失函數(shù)的完備性。(4)對(duì)長(zhǎng)寬比和尺寸變化劇烈的目標(biāo),優(yōu)化了寬高回歸函數(shù),基于數(shù)據(jù)集自適應(yīng)生成寬高回歸范圍(regression function based on data,RFBA)。
在真實(shí)場(chǎng)景中,遙感目標(biāo)檢測(cè)有四個(gè)常見(jiàn)的難點(diǎn)。分布不均勻,如圖1(a)中大型車(chē)分布較少,且定位和語(yǔ)義信息與其他目標(biāo)有極大不同;排列雜亂和復(fù)雜的環(huán)境,圖1(b)中背景十分復(fù)雜,汽車(chē)分布雜亂;方向任意和大長(zhǎng)寬比,圖1(c)中船只呈任意角度擺放,船只長(zhǎng)寬比大于10倍;長(zhǎng)寬比和尺寸變化劇烈,圖1(d)所示,大船的尺寸遠(yuǎn)大于小船,圖1(d)中目標(biāo)長(zhǎng)寬比最小為2倍,圖1(c)中目標(biāo)長(zhǎng)寬比最大足有10倍,長(zhǎng)寬比差距超過(guò)4倍。
圖1 遙感目標(biāo)檢測(cè)難點(diǎn)Fig.1 Difficulties in remote sensing object detection
本文的baseline YOLOv5是目前為止性能較好、速度極快的目標(biāo)檢測(cè)方法。如圖2所示,YOLOv5主要分為輸入端、Backbone、Head和Detect四個(gè)部分。輸入端輸入圖像并做數(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)語(yǔ)義特征,而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
針對(duì)遙感目標(biāo)檢測(cè)的4個(gè)難點(diǎn),本文基于YOLOv5進(jìn)行了4方面的改進(jìn),分別是錨框設(shè)計(jì)、增強(qiáng)網(wǎng)絡(luò)的語(yǔ)義表達(dá)、重構(gòu)損失函數(shù)和優(yōu)化回歸函數(shù)。
在目標(biāo)分布不均勻的數(shù)據(jù)集中,使用特征金字塔結(jié)構(gòu)可以在不同尺度的特征圖上訓(xùn)練不同大小的目標(biāo),但是,均值聚類(lèi)生成的錨框仍是均勻分布的,與不同尺度的特征圖并非對(duì)應(yīng)關(guān)系。本文針對(duì)非極大值抑制造成的均勻分布的錨框相互之間的負(fù)面干擾,提出了增加均值聚類(lèi)簇之間的距離,減少干擾的錨框設(shè)計(jì)方法,錨框與多尺度特征圖相互對(duì)應(yīng),分別檢測(cè)不同尺度的目標(biāo)。
如圖3所示,有3個(gè)錨框回歸預(yù)測(cè)后得到的預(yù)測(cè)框置信度達(dá)到閾值,模型會(huì)從中選擇置信度最大的預(yù)測(cè)框作為最后的預(yù)測(cè)框,計(jì)算它與其他所有預(yù)測(cè)框的IoU,刪除IoU大于閾值的預(yù)測(cè)框。這一過(guò)程中,即使被刪除的預(yù)測(cè)框是優(yōu)秀的,仍然會(huì)被判斷成錨框回歸預(yù)測(cè)的方向是不正確的,這就造成了多個(gè)錨框?qū)Ρ舜说幕貧w預(yù)測(cè)產(chǎn)生負(fù)面的抑制。
圖3 非極大值抑制Fig.3 Non-maximum suppression
根據(jù)以上分析,錨框只回歸預(yù)測(cè)形狀和大小與之對(duì)應(yīng)范圍內(nèi)的目標(biāo),且互相之間不干擾,就會(huì)具有優(yōu)秀的性能。本文提出了增加k-means聚類(lèi)簇之間的距離(k-means,and increase cluster distance,KICD)的錨框設(shè)計(jì)方法。具體實(shí)現(xiàn)為,第一步,初始化k個(gè)隨機(jī)的質(zhì)心(錨框)。第二步,計(jì)算每個(gè)目標(biāo)框與質(zhì)心的距離,劃分每個(gè)目標(biāo)框到距離它最近的質(zhì)心,生成新的聚類(lèi)簇,求取每個(gè)聚類(lèi)簇目標(biāo)框的平均值作為新的質(zhì)心,重復(fù)這一步直到每個(gè)聚類(lèi)簇的平均距離穩(wěn)定不變,且每個(gè)聚類(lèi)簇中目標(biāo)框的數(shù)量分布相對(duì)均勻。第三步,選擇距離所有質(zhì)心最近的質(zhì)心(中心簇的質(zhì)心),和距離它最遠(yuǎn)兩個(gè)質(zhì)心(中心簇位于兩個(gè)簇中間)。即,在k-means聚類(lèi)得到最優(yōu)解后,增加聚類(lèi)簇之間的距離。聚類(lèi)簇距離增加后,在非極大值抑制確定最終預(yù)測(cè)框時(shí),錨框預(yù)測(cè)時(shí)的互相干擾現(xiàn)象減少,降低了檢測(cè)頭預(yù)測(cè)時(shí)的復(fù)雜度,提高了非極大值抑制的計(jì)算速度,3個(gè)錨框與3層特征圖一一對(duì)應(yīng),分別檢測(cè)不同尺度的目標(biāo),有利于分布較少目標(biāo)的檢測(cè)。
聚類(lèi)結(jié)果示例如圖4所示,以HRSC2016訓(xùn)練集為例,當(dāng)k=15時(shí),共有15個(gè)聚類(lèi)簇,每個(gè)聚類(lèi)簇中目標(biāo)框數(shù)量為N,中心簇為C1,C3和C13為距離中心最遠(yuǎn)的兩個(gè)聚類(lèi)簇。
圖4 聚類(lèi)結(jié)果Fig.4 Cluster results
現(xiàn)實(shí)世界數(shù)據(jù)比較復(fù)雜,例如航空數(shù)據(jù),會(huì)引入大量噪聲,易受干擾的噪聲會(huì)淹沒(méi)目標(biāo)信息,使得前景和背景之間的邊界變得模糊[25],YOLOv5所用的網(wǎng)絡(luò)結(jié)構(gòu)并未對(duì)backbone輸出給FPN和PAN的特征進(jìn)行細(xì)致的處理,神經(jīng)網(wǎng)絡(luò)的特征表達(dá)[36]明顯不足。為了增強(qiáng)神經(jīng)網(wǎng)絡(luò)的特征表達(dá),解決背景噪聲問(wèn)題,本文設(shè)計(jì)了融合卷積通道注意力的網(wǎng)絡(luò),利用FPN頂層小特征圖檢測(cè)大目標(biāo)時(shí)需要強(qiáng)定位信息的特性,增強(qiáng)FPN頂層小特征圖的定位特征,以此增強(qiáng)檢測(cè)大目標(biāo)的能力;利用PAN底層大特征圖檢測(cè)小目標(biāo)需要強(qiáng)語(yǔ)義信息的特性,增強(qiáng)PAN底層大特征圖的語(yǔ)義特征,增強(qiáng)小目標(biāo)的檢測(cè)能力。
如圖5所示,本文設(shè)計(jì)的融合卷積通道注意力的網(wǎng)絡(luò),在YOLOv5網(wǎng)絡(luò)的基礎(chǔ)上,backbone傳遞特征給FPN的頂層和PAN的底層時(shí)插入了卷積通道注意力模塊。具體為,分別在第3次和第5次2倍下采樣后,并經(jīng)過(guò)卷積模塊C3增加網(wǎng)絡(luò)深度后,插入卷積通道注意力模塊,將經(jīng)過(guò)注意力加權(quán)的特征圖傳遞給FPN和PAN。卷積通道注意力模塊增強(qiáng)backbone傳達(dá)給FPN頂層特征圖和PAN底層特征圖的語(yǔ)義和定位特征,尤其是語(yǔ)義特征。這一過(guò)程中,卷積通道注意力模塊中的平均池化操作在頂層的小特征圖上對(duì)定位信息的聚合能力強(qiáng)于對(duì)語(yǔ)義信息的聚合能力,增強(qiáng)了小特征圖上的定位特征,有利于檢測(cè)復(fù)雜場(chǎng)景下的大目標(biāo);最大池化操作在底層大特征圖上對(duì)語(yǔ)義信息的聚合能力強(qiáng)于對(duì)定位信息的聚合能力,增強(qiáng)了大特征圖上的語(yǔ)義特征,有利于檢測(cè)復(fù)雜場(chǎng)景下的小目標(biāo)。
圖5 融合卷積通道注意力的網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Network structure fusing convolutional block channel attention
卷積通道注意力模塊,直接插入卷積模塊中,實(shí)現(xiàn)對(duì)特征的注意力加權(quán)。通道注意力模塊如圖6下半部分所示,將輸入的特征圖分別通過(guò)基于寬和高的全局最大池化(對(duì)紋理信息敏感)和全局平均池化(對(duì)背景信息敏感)進(jìn)行池化操作后,分別通過(guò)卷積層處理,在卷積層先通過(guò)1×1卷積降維,ReLU函數(shù)激活,再經(jīng)過(guò)1×1卷積升維。輸出的兩個(gè)特征對(duì)應(yīng)元素加和后,用sigmoid函數(shù)激活,生成通道注意力權(quán)值。卷積通道注意力模塊如圖6上半部分所示,通道注意力模塊直接插入網(wǎng)絡(luò)結(jié)構(gòu)中的卷積模塊中,形成卷積通道注意力模塊。輸入的特征圖通過(guò)通道注意力模塊生成通道注意力權(quán)值,將通道注意力權(quán)值與原輸入的特征圖做張量積運(yùn)算,得到最終的通道注意力加權(quán)特征圖。該模塊自適應(yīng)為每一個(gè)通道生成權(quán)重,在復(fù)雜場(chǎng)景中,該模塊更傾向于分配權(quán)重給一個(gè)蘊(yùn)含了重要特征的通道,神經(jīng)網(wǎng)絡(luò)對(duì)加權(quán)后的特征加以訓(xùn)練,通過(guò)反向傳播不斷調(diào)整網(wǎng)絡(luò)權(quán)重,最終分配給前景和背景通道的權(quán)重會(huì)使得神經(jīng)網(wǎng)絡(luò)將更多的資源放在前景上,可以提高復(fù)雜場(chǎng)景下的目標(biāo)檢測(cè)性能。
圖6 卷積通道注意力模塊Fig.6 Convolutional block channel attention module
水平目標(biāo)檢測(cè)常用的損失函數(shù)是IoU系列[35,37-38]損失函數(shù),但因?yàn)閮尚D(zhuǎn)框交并比并非處處可導(dǎo),不能直接用旋轉(zhuǎn)IoU作為旋轉(zhuǎn)目標(biāo)檢測(cè)的損失函數(shù),SCRDet和R3Det等旋轉(zhuǎn)目標(biāo)檢測(cè)方法對(duì)旋轉(zhuǎn)目標(biāo)檢測(cè)的損失函數(shù)進(jìn)行了重構(gòu),但SCRDet和R3Det等主要關(guān)注預(yù)測(cè)框和真實(shí)框相互之間的覆蓋面積這一要素,對(duì)于角度、長(zhǎng)寬比和中心點(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ù)測(cè)角度的正弦值和余弦值,利用三角函數(shù)正弦余弦定理,使預(yù)測(cè)的正弦值和余弦值的角度相近;反正切函數(shù)控制寬高比的梯度下降;預(yù)測(cè)框和真實(shí)框中心點(diǎn)到圖像左上頂點(diǎn)(0,0)的距離,控制預(yù)測(cè)框和真實(shí)框的中心點(diǎn)坐標(biāo)的距離,α為偏置,方便求導(dǎo)。本文的目標(biāo)框損失函數(shù)LFFE具有一個(gè)優(yōu)秀的旋轉(zhuǎn)目標(biāo)檢測(cè)損失函數(shù)所需的4個(gè)要素:覆蓋面積、旋轉(zhuǎn)角度、寬高比和中心點(diǎn)距離。計(jì)算真實(shí)框和預(yù)測(cè)框的覆蓋面積,是考慮目標(biāo)框的整體,使目標(biāo)框損失整體向著全覆蓋的方向收斂。目標(biāo)框的參數(shù)可以分為三塊,角度參數(shù)、寬高參數(shù)和中心點(diǎn)參數(shù),只有考慮到三塊處于局部的參數(shù)的收斂性,損失函數(shù)在局部上才能快速向著更準(zhǔn)確的方向收斂。覆蓋面積、旋轉(zhuǎn)角度、寬高比和中心點(diǎn)距離同時(shí)存在,更能體現(xiàn)損失函數(shù)的完備性。
式中,總的損失由三部分組成,Lobj、Lcls和Lbox分別是置信度損失函數(shù),類(lèi)別損失函數(shù)和目標(biāo)框損失函數(shù)。λ1、λ2和λ3是控制置信度、回歸和分類(lèi)損失權(quán)重的超參數(shù),默認(rèn)情況下,λ1和λ2設(shè)置為1,λ3設(shè)置為0.05,n是錨框的數(shù)量。置信度損失中,pi是每個(gè)網(wǎng)格預(yù)測(cè)目標(biāo)為正樣本的概率,tobj是每個(gè)網(wǎng)格中的預(yù)測(cè)框與真實(shí)框的IoU,置信度損失是由BCE損失函數(shù)計(jì)算損失。類(lèi)別損失中,pn是每個(gè)類(lèi)別的概率分布,tn是目標(biāo)的標(biāo)簽,類(lèi)別損失是由Binary Cross-Entropy損失函數(shù)計(jì)算損失。目標(biāo)框損失中,pbox和tbox包含預(yù)測(cè)框和真實(shí)框的位置信息,包含預(yù)測(cè)框和真實(shí)框的位置信息,具體包括6個(gè)參數(shù),(x,y,w,h,c,s),分別是中心點(diǎn)坐標(biāo)、寬高和旋轉(zhuǎn)角度的余弦值和正弦值。
式中,SkewIoU是預(yù)測(cè)框和真實(shí)框的面積旋轉(zhuǎn)交并比。偏置α設(shè)置為0.001。
式中,β是權(quán)重參數(shù),設(shè)置為0.11。
如公式(4)所示,YOLOv5的寬高回歸范圍最大是錨框的4倍,當(dāng)目標(biāo)框與錨框相差超過(guò)4倍就難以預(yù)測(cè)。如公式(5)所示,在目標(biāo)框回歸函數(shù)RFBA中,預(yù)測(cè)框?qū)捀呋貧w范圍根據(jù)數(shù)據(jù)集中的最大長(zhǎng)寬比自適應(yīng)生成,a為數(shù)據(jù)集的最大長(zhǎng)寬比為數(shù)據(jù)集最大長(zhǎng)寬比的開(kāi)根號(hào)后取整,本文根據(jù)數(shù)據(jù)自適應(yīng)生成錨框的寬高預(yù)測(cè)范圍限制參數(shù)。
YOLOv5的目標(biāo)框回歸公式:
式中,cx和cy是錨框中心點(diǎn)所在網(wǎng)格的左上頂點(diǎn)坐標(biāo)。錨框的目標(biāo)寬高的初始值為pw和ph。需要做的是從錨框回歸到預(yù)測(cè)框,需要回歸的參數(shù)是真實(shí)寬高與錨框初始寬高的偏移量tw和th,真實(shí)目標(biāo)中心點(diǎn)所在網(wǎng)格左上頂點(diǎn)坐標(biāo)與預(yù)測(cè)框中心點(diǎn)坐標(biāo)的偏移量tx和ty。通過(guò)預(yù)測(cè)的偏移量求預(yù)測(cè)框的中心點(diǎn)坐標(biāo)bx和by,寬高bw和bh。通過(guò)函數(shù)把預(yù)測(cè)的偏移量限制在[0,1],以約束中心點(diǎn)在網(wǎng)格內(nèi),約束預(yù)測(cè)框的寬和高不超過(guò)錨框的4倍。
式中,通過(guò)偏移量tc和ts分別求預(yù)測(cè)框傾斜角度的余弦正弦值bc和bs。
UCAS-AOD數(shù)據(jù)集是中國(guó)科學(xué)院大學(xué)的高清航拍數(shù)據(jù)集,主要有兩個(gè)版本,Version1.0和Version2.0,兩個(gè)版本共計(jì)飛機(jī)圖像1 000張,飛機(jī)樣本7 482個(gè),汽車(chē)圖像510張,汽車(chē)樣本7 114個(gè),反例圖像910張。本文從UCAS數(shù)據(jù)集中挑出1 110張作為訓(xùn)練集,400張作為測(cè)試集。目標(biāo)最大寬高比為8。
HRSC2016數(shù)據(jù)集是由西北工業(yè)大學(xué)發(fā)布的船舶數(shù)據(jù)集,包含兩個(gè)場(chǎng)景的船舶圖像,海上船舶和靠近海岸的船舶,所有的圖片是從六個(gè)著名的港口收集的。訓(xùn)練集、驗(yàn)證集和測(cè)試集分別包括436、181和444張圖像。目標(biāo)最大寬高比為13,長(zhǎng)寬比和尺寸有明顯差異。
訓(xùn)練時(shí),初始學(xué)習(xí)率設(shè)置為0.01,UCAS-AOD數(shù)據(jù)集和HRSC2016數(shù)據(jù)集epochs分別是1 000和1 300。所有實(shí)驗(yàn)在1個(gè)GPU(NVIDIA GeForce RTX 3080 Ti)上完成。
本文使用平均精度mAP作為性能指標(biāo)。所有實(shí)驗(yàn)數(shù)據(jù)和參數(shù)設(shè)置嚴(yán)格一致,baseline為YOLOv5目標(biāo)檢測(cè)方法,但不限制于YOLOv5,是基于YOLOv5加入了兩個(gè)角度參數(shù)的旋轉(zhuǎn)目標(biāo)檢測(cè)方法。
在UCAS-AOD上不同類(lèi)別目標(biāo)的檢測(cè)精度AP和整體性能mAP比較及消融實(shí)驗(yàn)見(jiàn)表1。實(shí)驗(yàn)中選擇kmeans++作為聚類(lèi)方法增加錨框之間間隙的效果不明顯,k-means++與k-means不同的是初始化k個(gè)相互之間最遠(yuǎn)的質(zhì)心,但是當(dāng)均值聚類(lèi)的局部最優(yōu)解等于全局最優(yōu)解時(shí),k-means++迭代更新的結(jié)果仍趨于k-means。與之不同的是,本文的錨框設(shè)計(jì)方法KICD,在實(shí)驗(yàn)中,在聚類(lèi)后從15個(gè)聚類(lèi)簇中選取距離中心簇及距其最遠(yuǎn)的2個(gè)簇(中心簇在這兩個(gè)簇之間),生成3個(gè)錨框,是在聚類(lèi)迭代更新后增加聚類(lèi)簇之間的距離,相對(duì)于baseline,平均精度mAP提升了3個(gè)百分點(diǎn),證明了適當(dāng)增加錨框之間的間隙可以取得更高的精度。本文的網(wǎng)絡(luò)模型YOLOv5s-CBCA是輕量型網(wǎng)絡(luò),只使用YOLOv5s-CBCA時(shí),相對(duì)于baseline,平均精度mAP提升了2.4個(gè)百分點(diǎn),驗(yàn)證了在復(fù)雜場(chǎng)景中該模型的有效性。LFFE損失函數(shù)單獨(dú)使用時(shí),相對(duì)于baseline,平均精度mAP提升1.5個(gè)百分點(diǎn)。在UCAS-AOD數(shù)據(jù)集中自適應(yīng)寬高回歸范圍為錨框的4倍以內(nèi),與YOLOv5相同,單獨(dú)使用時(shí)實(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è)計(jì)方法,RFBA代表改進(jìn)的目標(biāo)框回歸函數(shù),LFFE代表改進(jìn)的目標(biāo)框損失函數(shù),mAP是平均精度。對(duì)號(hào)表示啟用該模塊,空格表示不啟用。
在UCAS-AOD上處理每張圖片的速度及花費(fèi)時(shí)間如表2所示,KICD錨框設(shè)計(jì)方法增大了錨框間隙,有效減少了非極大值抑制計(jì)算時(shí)間。表中,pre代表預(yù)處理過(guò)程花費(fèi)的時(shí)間,inference代表推理過(guò)程花費(fèi)的時(shí)間,NMS代表非極大值計(jì)算的時(shí)間,F(xiàn)PS代表處理每張圖片的平均速度。
表2 在UCAS-AOD上的速度實(shí)驗(yàn)Table 2 Speed experiment on UCAS-AOD
在UCAS-AOD上的訓(xùn)練過(guò)程如圖7所示,Box展示的是訓(xùn)練時(shí)訓(xùn)練集的目標(biāo)框損失下降過(guò)程,Objectness展示的是訓(xùn)練時(shí)訓(xùn)練集的目標(biāo)置信度損失訓(xùn)練下降過(guò)程,Classfication展示的是訓(xùn)練時(shí)訓(xùn)練集的目標(biāo)類(lèi)別損失下降過(guò)程,以上三者每次迭代都要計(jì)算。Precision是訓(xùn)練時(shí)驗(yàn)證集的精度變化過(guò)程,Recall是訓(xùn)練時(shí)驗(yàn)證集的召回率變化過(guò)程,val Box、val Objectness和val Classfication反映的分別是驗(yàn)證集的目標(biāo)框損失、置信度損失和類(lèi)別損失,mAP是訓(xùn)練時(shí)驗(yàn)證集的平均精度,UCAS-AOD中未劃分驗(yàn)證集,因此以測(cè)試集作為驗(yàn)證集使用,以上每項(xiàng)指標(biāo)每迭代100次計(jì)算1次。
圖7 UCAS-AOD上訓(xùn)練過(guò)程Fig.7 Training process on UCAS-AOD
在UCAS-AOD上部分檢測(cè)結(jié)果如圖8所示,展示了復(fù)雜環(huán)境下汽車(chē)和飛機(jī)的旋轉(zhuǎn)目標(biāo)檢測(cè)結(jié)果。
圖8 UCAS-AOD上部分檢測(cè)結(jié)果Fig.8 Some results on UCAS-AOD
雖然在UCAS-AOD上進(jìn)行了消融實(shí)驗(yàn),但是目標(biāo)長(zhǎng)寬比和尺寸差距較小的UCAS-AOD數(shù)據(jù)集難以表現(xiàn)出本文方法的全部?jī)?yōu)勢(shì)。因此,在HRSC2016上進(jìn)行了消融實(shí)驗(yàn),如表3所示。本文使用平均精度mAP作為性能指標(biāo)。所有實(shí)驗(yàn)數(shù)據(jù)和參數(shù)設(shè)置嚴(yán)格一致,baseline為YOLOv5目標(biāo)檢測(cè)方法,但不限制于YOLOv5,是加入了角度參數(shù)的旋轉(zhuǎn)目標(biāo)檢測(cè)方法。
表3 在HRSC2016上的消融實(shí)驗(yàn)Table 3 Ablation experiment on HRSC2016
在HRSC2016上的精度mAP與速度FPS消融實(shí)驗(yàn)如表3所示。在分布較為均勻的數(shù)據(jù)集上,經(jīng)過(guò)kmeans聚類(lèi),遺傳學(xué)習(xí)算法迭代出的9個(gè)錨框相鄰之間大小形狀相似,這樣的9個(gè)錨框放在3層特征圖上會(huì)相互干擾,通過(guò)實(shí)驗(yàn)可以看出每層3個(gè)錨框比每層1個(gè)錨框的方法速度會(huì)降低7 FPS。KICD錨框設(shè)計(jì)方法,相對(duì)于baseline,平均精度mAP提升了3.5個(gè)百分點(diǎn)。YOLOv5s-CBCA是在backbone與FPN和PAN的關(guān)鍵連接節(jié)點(diǎn)加權(quán)語(yǔ)義和定位特征的網(wǎng)絡(luò),實(shí)驗(yàn)中發(fā)現(xiàn),只使用YOLOv5s-CBCA時(shí),相對(duì)于baseline,平均精度提升了4個(gè)百分點(diǎn)。只使用LFFE損失函數(shù),相對(duì)于baseline提升1.9個(gè)百分點(diǎn)。回歸函數(shù)RFBA對(duì)大長(zhǎng)寬比的HRSC2016數(shù)據(jù)集提升明顯較大,在HRSC2016上自適應(yīng)寬高回歸范圍在錨框的9倍以內(nèi),單獨(dú)使用時(shí),提升了20.1個(gè)百分點(diǎn)。整體上,本文的方法平均精度達(dá)到96.3%,F(xiàn)PS達(dá)到了77.5。
在HRSC2016上的訓(xùn)練過(guò)程如圖9所示,只劃分1類(lèi)目標(biāo)不計(jì)算分類(lèi)損失。Precision是訓(xùn)練時(shí)驗(yàn)證集的精度變化過(guò)程,Recall是訓(xùn)練時(shí)驗(yàn)證集的召回率變化過(guò)程,val Box和val Objectness反映的分別是驗(yàn)證集的目標(biāo)框損失和置信度損失,mAP是訓(xùn)練時(shí)驗(yàn)證集的平均精度,以上每項(xiàng)指標(biāo)每迭代100次計(jì)算1次。
圖9 HRSC 2016上訓(xùn)練過(guò)程Fig.9 Training process on HRSC 2016
在HRSC2016上部分檢測(cè)結(jié)果如圖10所示,展示了遙感場(chǎng)景下各種船只的旋轉(zhuǎn)目標(biāo)檢測(cè)結(jié)果。
圖10 HRSC2016上部分檢測(cè)結(jié)果Fig.10 Some results on HRSC2016
實(shí)驗(yàn)結(jié)果表明,在UCAS-AOD和HRSC2016數(shù)據(jù)集中,本文的方法在整體上提高了檢測(cè)效果。
在UCAS-AOD上與YOLOv2、R-DFPN和CFC-Net等做了對(duì)比實(shí)驗(yàn)。在HRSC2016上與R2CNN、RRPN和R3Det等做了對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)從各類(lèi)別精度、平均精度和速度等各方面與最先進(jìn)的旋轉(zhuǎn)目標(biāo)檢測(cè)方法做對(duì)比。
如表4,在UCAS-AOD上與YOLOv2、CFC-Net和CSL方法做了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示這三個(gè)方法,在UCAS-AOD上使用PASCAL VOC 2012計(jì)算方式得到的mAP分別是87.9%、89.5%和95.1%。與其他方法對(duì)比,在UCAS-AOD上本文的方法整體性能達(dá)到最優(yōu),平均精度mAP達(dá)到95.9%。
表4 在UCAS-AOD上與其他方法的對(duì)比Table 4 Comparison with other methods on UCAS-AOD 單位:%
如表5,在HRSC2016上與R2CNN、RRPN和R3Det方法做了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示這三個(gè)方法,在HRSC2016上使用PASCAL VOC 2012計(jì)算方式得到的mAP分別是79.7%、85.6%和96%,得到的FPS最高只有12。與其他方法對(duì)比,在HRSC2016上本文的方法整體性能達(dá)到最優(yōu),平均精度達(dá)到96.3%,檢測(cè)速度FPS達(dá)到了77.5。
表5 在HRSC2016上與其他方法的對(duì)比Table 5 Comparison with other methods on HRSC2016
為了展示本文設(shè)計(jì)的卷積通道注意力模塊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ù)雜場(chǎng)景中搜索重要特征的能力不如單獨(dú)的通道注意力模塊。SE是通道注意力模塊,其考慮到對(duì)重要紋理信息的搜索,但對(duì)位置信息不敏感。本文的CBCA模塊是卷積通道注意力模塊,不但關(guān)注目標(biāo)的位置信息,且更加突出對(duì)重要紋理信息的搜索。在本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)中,CBCA增強(qiáng)大特征圖的語(yǔ)義特征以檢測(cè)小目標(biāo),增強(qiáng)小特征圖的定位特征以檢測(cè)大目標(biāo)。實(shí)驗(yàn)結(jié)果表明,在復(fù)雜場(chǎng)景中,相比CBAM和SE,CBCA模塊與本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)相結(jié)合具有更高的性能。
表6 卷積通道注意力模塊在HRSC2016上的對(duì)比實(shí)驗(yàn)Table 6 Comparison experiment of convolutional block channel attention module on HRSC2016
為了展示本文設(shè)計(jì)的損失函數(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是以近似計(jì)算的方式實(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上與其他方法的對(duì)比Table 7 Comparison of loss function LFFE with other methods on HRSC2016
實(shí)驗(yàn)結(jié)果表明,在UCAS-AOD和HRSC2016數(shù)據(jù)集中,本文方法的表現(xiàn),超過(guò)了近年來(lái)一些代表性的方法,提高了在遙感圖像上的檢測(cè)性能。
本文在HRSC2016數(shù)據(jù)集上與其他方法進(jìn)行了速度上的比較。測(cè)試環(huán)境等條件完全相同的情況下,本文的方法達(dá)到了最優(yōu)的性能,如表5所示,可以看出FPS達(dá)到了77.5,速度相比其他方法至少提升了5.46倍。如表6所示,相比于CBAM和SE方法,本文的CBCA模塊在檢測(cè)速度略微領(lǐng)先。如表7所示,相比于PIoU和IoUSmooth L1,本文的損失函數(shù)LFFE具有完備性,對(duì)位置信息的準(zhǔn)確預(yù)測(cè)使得非極大值抑制的計(jì)算量減少,檢測(cè)速度有所提升。實(shí)驗(yàn)結(jié)果表明,本文的目標(biāo)檢測(cè)方法在遙感圖像目標(biāo)檢測(cè)中具有實(shí)時(shí)性。
本文針對(duì)遙感目標(biāo)檢測(cè)的難點(diǎn),提出了一種端到端的單階段旋轉(zhuǎn)目標(biāo)檢測(cè)方法,適用于形狀大小分布不均勻、背景復(fù)雜、大長(zhǎng)寬比和尺寸變化劇烈的目標(biāo)檢測(cè)。在HRSC2016和UCAS-AOD上的實(shí)驗(yàn)結(jié)果表明,錨框之間有充足的間隙且覆蓋范圍廣,錨框的性能就能得到更好的發(fā)揮;增強(qiáng)復(fù)雜背景下backbone輸出給特征金字塔頂部的定位特征和底部的語(yǔ)義特征,可以提高檢測(cè)效果;旋轉(zhuǎn)目標(biāo)檢測(cè)的目標(biāo)框損失函數(shù)應(yīng)該包括覆蓋面積、中心點(diǎn)距離損失、長(zhǎng)寬比損失和角度損失4個(gè)要素;錨框回歸預(yù)測(cè)范圍可以覆蓋整個(gè)數(shù)據(jù)集,檢測(cè)效果更佳。未來(lái)工作:平衡錨框和錨框回歸范圍之間的關(guān)系,設(shè)計(jì)完全基于目標(biāo)分布的錨框生成方法;平衡模型收斂性與錨框回歸范圍之間的關(guān)系,設(shè)計(jì)曲率函數(shù)回歸寬高,使其兼具YOLOv4和YOLOv5目標(biāo)框回歸函數(shù)的優(yōu)勢(shì)。