季長清,高志勇,秦 靜,汪祖民
(1.大連大學(xué) 物理科學(xué)與技術(shù)學(xué)院,遼寧 大連 116622;2.大連大學(xué) 信息工程學(xué)院,遼寧 大連 116622;3.大連大學(xué) 軟件工程學(xué)院,遼寧 大連 116622)
隨著近些年航空技術(shù)和無人機(jī)巡航技術(shù)的快速發(fā)展[1],航空圖像中的目標(biāo)檢測任務(wù)作為航空領(lǐng)域中最具挑戰(zhàn)的任務(wù)之一,吸引了諸多目標(biāo)檢測領(lǐng)域研究者的關(guān)注,隨著航空影像數(shù)據(jù)質(zhì)量的提升,圖像數(shù)據(jù)的檢測面臨著以下2個問題:① 圖像的空間分辨率不斷提高,圖像中的目標(biāo)數(shù)據(jù)也越來越多,圖像場景結(jié)構(gòu)越來越復(fù)雜,密集檢測較為困難;② 圖像中不同比例尺度的目標(biāo)樣本具有不同的紋理特征,且待檢測目標(biāo)通常以任意方向顯示[2]。本文的研究內(nèi)容將沿著上述2個問題展開。
伴隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,可以將基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的目標(biāo)檢測算法大致分為2類[3]:端到端的一階段檢測方法和二階段檢測方法。二階段檢測方法需要預(yù)先生成區(qū)域建議框,然后再對區(qū)域建議框進(jìn)行后處理,最后進(jìn)行回歸和分類,該類方法得到的目標(biāo)準(zhǔn)確度較高,但識別速度相對較低,比如Faster R-CNN[4]、Mask RCNN[5]等。不同于二階段檢測方法,一階段檢測方法無需生成區(qū)域建議框,而是直接使用CNN對圖像數(shù)據(jù)進(jìn)行處理,在提取的特征圖上回歸檢測結(jié)果。比如YOLO系列算法[6-9]等,但該類算法對小目標(biāo)檢測并不友好,在處理密集的目標(biāo)時,產(chǎn)生的最后結(jié)果通常會覆蓋過多的圖像背景或相鄰的目標(biāo)區(qū)域。以上目標(biāo)檢測算法模型在訓(xùn)練過程中均使用水平框標(biāo)注的形式,如分別標(biāo)注目標(biāo)左上角、右下角的坐標(biāo)或者標(biāo)注水平目標(biāo)框的中心點坐標(biāo)并同時記錄水平目標(biāo)框的寬度和高度,因此在實現(xiàn)模型推理時無法有效地解決航空旋轉(zhuǎn)目標(biāo)角度偏移的問題。
受益于自然語言處理[10]的發(fā)展,該領(lǐng)域中的Transformer結(jié)構(gòu)被用于解決計算機(jī)視覺任務(wù)。2020年谷歌提出了Vision Transformer模型,它在ImageNet-1K[11]的測試集上取得了88.55%的準(zhǔn)確率,刷新了該榜單上的紀(jì)錄,該模型避免了深度卷積神經(jīng)網(wǎng)絡(luò)帶來的網(wǎng)絡(luò)退化等問題[12]。由于現(xiàn)有的航空圖像分辨率較高、像素點多,因此Vision Transformer模型基于全局自注意力的特征提取方式帶來了大量的計算,非常耗費計算資源。隨后出現(xiàn)的Swin Transformer[13]模型很好地緩解了以上問題,該模型的主要思想是將具有很強(qiáng)建模能力的Transformer結(jié)構(gòu)和重要的視覺信號先驗知識結(jié)合起來,構(gòu)筑了具有層級結(jié)構(gòu)的主干網(wǎng)絡(luò),這使得Swin Transformer在特征提取的任務(wù)中達(dá)到了較好的效果,表明了Transformer結(jié)構(gòu)在計算機(jī)視覺領(lǐng)域中具有獨特的優(yōu)勢。DETR[14]模型首先把Transformer方法應(yīng)用到目標(biāo)檢測領(lǐng)域,但沒能解決航空圖像中旋轉(zhuǎn)目標(biāo)檢測的問題。DN-DETR[15]模型在DETR的基礎(chǔ)上改良了DETR收斂緩慢以及二分圖分配不穩(wěn)定的問題,但仍不能實現(xiàn)旋轉(zhuǎn)目標(biāo)的檢測。
結(jié)合以上問題及Transformer結(jié)構(gòu)的啟發(fā)[16-18],本文從端到端檢測的思路出發(fā)并結(jié)合Box Boundary-Aware Vectors的檢測方式[19-20]設(shè)計了一個基于Transformer的一階段旋轉(zhuǎn)目標(biāo)檢測器,主要工作是:使用了全局注意力機(jī)制的Transformer結(jié)構(gòu)搭建特征提取網(wǎng)絡(luò),避免了過深卷積層帶來的網(wǎng)絡(luò)退化問題;使用了多層特征融合的思路去獲得最終的特征圖,充分利用了淺層與深層的特征;使用回歸的方式直接得出了目標(biāo)的旋轉(zhuǎn)角度。
由CNN構(gòu)建的目標(biāo)檢測模型存在著一些問題,比如隨著卷積層數(shù)量的增加,特征圖上單個位置對應(yīng)的局部感受野會隨之?dāng)U大,過大的局部感受野不利于小尺寸目標(biāo)的檢測;堆疊過多的卷積層無法更好地提取特征,網(wǎng)絡(luò)模型存在退化問題等。所以本文提出了基于Transformer結(jié)構(gòu)的旋轉(zhuǎn)目標(biāo)檢測網(wǎng)絡(luò),稱為TF-BBAVectors,模型如圖1所示,主要包括由Transformer結(jié)構(gòu)組成的主干特征提取網(wǎng)絡(luò)和BBAVectors預(yù)測模塊2個部分。對于主干特征網(wǎng)絡(luò),本文使用層級式的設(shè)計方式,結(jié)合Swin Transformer模塊并采用2∶2∶18∶2的比例構(gòu)建主干特征提取網(wǎng)絡(luò)。在預(yù)測模塊中,分別預(yù)測目標(biāo)的熱力圖(Heatmap)、中心點偏移量(Offset)、邊界框類型(Orientation)和邊界框參數(shù)(Box Parameters)。
為了更好地使用到淺層特征的位置細(xì)節(jié)信息,在模型構(gòu)建時使用了多特征層融合的策略[21],分別使用了Swin Transformer模塊的輸出特征,與通過雙線性插值實現(xiàn)上采樣的特征圖進(jìn)行融合,用以實現(xiàn)更精確的目標(biāo)檢測。
圖1 TF-BBAVectors模型Fig.1 TF-BBAVectors model
使用改進(jìn)后的Swin Transformer模型充當(dāng)特征提取的主干網(wǎng)絡(luò)。最重要的改進(jìn)表現(xiàn)在Patch Merging層,改進(jìn)后的模型獲取了每一次下采樣產(chǎn)生的一維特征向量,并且新的Patch Merging層根據(jù)實驗設(shè)置的批量大小將一維特征向量重新分解成二維平面圖像,這樣做可以達(dá)到類似CNN逐層擴(kuò)大感受野的效果[22],便于在此基礎(chǔ)上更好地把握圖像的多尺度特征生成新的特征圖。
由于航空圖像的分辨率非常高,所以在設(shè)計模型時使用了窗口多頭自注意力機(jī)制(Windows Multi-Head Self-Attention,W-MSA)的方式將圖像劃分成多個不相交的區(qū)域,使得全局性的多頭自注意力機(jī)制只在每個獨立的區(qū)域內(nèi)進(jìn)行[13]。這樣的計算方式利用了CNN局部性的先驗知識,即同一個物體的不同部位或是語義相近的不同物體在圖像上大概率會出現(xiàn)在相連的地方。所以即使是在獨立的小區(qū)域內(nèi)做自注意力計算,也足以滿足視覺任務(wù)的需要。
相對于Transformer中直接對整個特征圖進(jìn)行多頭自注意力機(jī)制的方式,使用W-MSA的方式在提取特征時能夠大大減少計算量,尤其是在淺層存在較大特征圖的時候。但由于隔絕了不同區(qū)域之間的信息傳遞,使得Transformer失去了全局建模的能力,所以模型構(gòu)建時也使用了窗口轉(zhuǎn)移多頭自注意力機(jī)制(Shifted Windows Multi-Head Self-Attention,SW-MSA)的方式,這種特征提取的方式能夠讓信息在相鄰的區(qū)域中進(jìn)行傳遞[13]。使用這2種模塊組合構(gòu)建的Swin Transformer單元可以讓模型在進(jìn)行特征的提取時不僅能關(guān)注到圖像中的每一個像素點,還能降低計算的復(fù)雜程度。這種全局性的注意力機(jī)制讓模型能夠很好地處理密集、小目標(biāo)的問題,可以較好地提取圖像中的目標(biāo)信息。
由于高分辨率航空圖像中的目標(biāo)尺度變化范圍較大,比如較大尺度的飛機(jī)和較小尺度的船舶。如果直接使用主干網(wǎng)絡(luò)提取的特征圖,并在同一特征圖下對不同尺度的目標(biāo)進(jìn)行興趣區(qū)域的目標(biāo)特征提取時會造成較大的目標(biāo)損失。融合不同尺度的特征是提高檢測性能的一個重要手段,本文模型也像ResNet[23]、FPN[24]和YOLO[6-9]系列算法一樣使用了特征融合的方式去構(gòu)建。
如圖1所示,通過殘差連接的方式,將雙線性插值上采樣得到的深層特征和淺層特征結(jié)合起來。這樣做既保留了圖像的淺層位置細(xì)節(jié)信息又使用了高層特征圖的語義特征,避免了僅使用最后低分辨率特征圖帶來的幾何信息表征能力弱、缺乏空間幾何特征細(xì)節(jié)的缺點。
此時模型可以進(jìn)一步處理通過該策略得到的特征圖來解決傾斜目標(biāo)的問題。在實驗部分,本文對此特征融合策略做出了相應(yīng)的論證。特征融合的方式如圖2所示。
圖2 特征融合的方式Fig.2 Feature fusion method
模型的預(yù)測模塊用來處理目標(biāo)的傾斜問題。熱力圖用來檢測航空圖像中傾斜目標(biāo)的中心點,特征圖的通道數(shù)對應(yīng)類別數(shù),每個通道的映射通過一個Sigmoid函數(shù)傳遞。特定中心點的預(yù)測熱力圖值被視為物體檢測的置信度。訓(xùn)練熱力圖時,為了減少高斯凸起內(nèi)部點的損失和避免該項損失函數(shù)帶來的梯度爆炸問題,此次實驗使用了新的損失函數(shù)來訓(xùn)練這個熱力圖:
(1)
由于在熱力圖中選取的中心點坐標(biāo)都為整數(shù),從輸入圖像到輸出熱力圖按比例縮小一個像素點坐標(biāo)時會生成一個浮點數(shù),將特征圖上的點映射回原輸入圖像時會造成較大的精度誤差,所以通過預(yù)測偏移圖補(bǔ)償量化浮動中心點和整數(shù)中心點之間的差異。需要預(yù)測的偏移量o表示為:
(2)
式中:cx、cy分別為下采樣s倍后的坐標(biāo)值。
為了得到帶方向的包圍框用以標(biāo)記任意方向的目標(biāo),使用邊界框邊緣感知向量的方法[20]預(yù)測了6個邊界框邊緣感知向量t、r、b、l、w、h。其中前4個向量分別分布在笛卡爾坐標(biāo)系的4個象限中,所有的旋轉(zhuǎn)物體共用一個坐標(biāo)系,這樣的方式可以高效地利用特征圖中共同的信息,有利于提升模型的泛化能力。帶方向的包圍框的表示方式如圖3所示,圖3中包圍框的參數(shù)定義為:Box=[t,r,b,l,w,h],其中w、h是外接水平包圍框的寬和高。獲得的邊界框邊緣感知向量可以很好地表示出目標(biāo)的傾斜方向。
圖3 帶方向的包圍框的表示方式Fig.3 Representation of an oriented bounding box
為了評估旋轉(zhuǎn)目標(biāo)檢測模型TF-BBAVectors對密集小目標(biāo)的檢測效果,在DOTA1.0多目標(biāo)數(shù)據(jù)集[25]上展開研究,DOTA1.0數(shù)據(jù)集包含多種實例密度不同的圖像,特別是小目標(biāo)高度聚集的圖像,該數(shù)據(jù)集中大小為1~50 pixel的小目標(biāo)占比約為57%,這為驗證本模型對密集小目標(biāo)的檢測效果提供了幫助。DOTA1.0數(shù)據(jù)集由2 806 張航空圖像組成,總共包含188 282個用水平包圍框及旋轉(zhuǎn)包圍框標(biāo)注的實例目標(biāo)。本文采用該數(shù)據(jù)集旋轉(zhuǎn)包圍框的標(biāo)注形式,選取了飛機(jī)(Plane,PL)、船(Ship,SH)、小型車輛(Small-Vehicle,SV)和大型車輛(Large-Vehicle,LV)4類數(shù)據(jù),共計訓(xùn)練圖像 944張,測試圖像291張。具體的數(shù)據(jù)分布信息如表1所示。
表1 部分DOTA1.0數(shù)據(jù)集各類別分布Tab.1 Distribution of partial DOTA1.0 dataset by class
該4類數(shù)據(jù)基本涵蓋了人們?nèi)粘I钪惺褂玫慕煌üぞ?將模型應(yīng)用于交通領(lǐng)域,對處理交通問題具有深刻的意義。此次實驗在Windows 10操作系統(tǒng)下,采用NVIDIA RTX 3080Ti顯卡在PyTorch1.6.0深度學(xué)習(xí)框架下展開。
TF-BBAVectors模型選用的性能評價指標(biāo)主要是均值平均精度(mean Average Precision,mAP),實驗使用該評價指標(biāo)來反映檢測精度。AP(Average Precision,AP)值為準(zhǔn)確率(Precision,P)以及召回率(Recall,R)構(gòu)成的P-R曲線的面積。具體的計算公式為:
(3)
(4)
(5)
(6)
式中:TP(True Positive)為模型正確檢測到的正樣本數(shù)量,FP(False Positive)為模型錯誤檢測到的正樣本數(shù)量,FN(False Negative)為模型錯誤檢測到的負(fù)樣本數(shù)量,c為所有目標(biāo)類別的數(shù)量。
2.3.1 對比實驗分析
TF-BBAVectors模型在DOTA1.0航空影像數(shù)據(jù)集上的實驗結(jié)果分析如下。
表2為不同模型對DOTA1.0數(shù)據(jù)集中4個類別的檢測結(jié)果,本文選取了6種較為典型的航空旋轉(zhuǎn)目標(biāo)檢測器與本模型進(jìn)行對比。其中,二階段旋轉(zhuǎn)目標(biāo)檢測方法R-DFPN[26]與R2CNN[27]為了降低旋轉(zhuǎn)包圍框的回歸難度,均設(shè)置了較多的錨框規(guī)格,在航空旋轉(zhuǎn)目標(biāo)檢測任務(wù)上取得了一定的效果。R-DFPN模型為了保持圖像語義和空間信息的完整性,提出了多尺度感興趣區(qū)域?qū)R的概念。通過密集連接FPN[24]為所有尺度構(gòu)建了高級語義特征圖,增強(qiáng)了特征傳播,強(qiáng)調(diào)了特征重用[28]。同時設(shè)計了旋轉(zhuǎn)錨框的策略來預(yù)測物體的最小外接矩形,減少了冗余檢測區(qū)域,提高了召回率。R2CNN模型是基于Faster R-CNN架構(gòu)搭建的。首先,使用區(qū)域建議網(wǎng)絡(luò)生成圍繞不同方向目標(biāo)的水平框。其次,對于區(qū)域建議網(wǎng)絡(luò)選出的每個水平框提取不同集合大小的特征,利用級聯(lián)特征,采用多尺度池化來提取長寬比信息,同時預(yù)測目標(biāo)的置信度、水平框和傾斜最小區(qū)域框。最后,采用傾斜的非極大值抑制(Non-Maximum Suppression,NMS)算法來得到檢測結(jié)果[29]。IENet[30]是基于FCOS模型[31]搭建的一種無錨框的算法模型,將自注意力機(jī)制引入視覺任務(wù)中,利用基于自注意機(jī)制的IE模塊作為特征交互模塊,并在幾何變換的基礎(chǔ)上根據(jù)水平檢測框?qū)崿F(xiàn)了傾斜目標(biāo)的檢測,達(dá)到了較為先進(jìn)的分類精度。但是仍存在像素點目標(biāo)重疊的問題,極有可能會造成目標(biāo)的漏檢。通過與表2中6種算法模型的對比可以發(fā)現(xiàn),提出的TF-BBAVectors模型在mAP值上均存在不同程度的提高,與二階段檢測算法R-DFPN和R2CNN相比分別提升了12.69%以及 11.41%。與一階段檢測算法IENet相比,本模型在SH的檢測上提升了12.97%的檢測精度,在LV的檢測上提高了8.65%的檢測精度,總體上本文模型的mAP值提升了1%。本文方法在DOTA1.0數(shù)據(jù)集的4類數(shù)據(jù)上取得了不錯的檢測效果,有效地證實了TF-BBAVectors模型在航空目標(biāo)檢測任務(wù)上的可靠性與實用性。
表2 DOTA1.0數(shù)據(jù)集上不同檢測算法的結(jié)果Tab.2 Results of different detection algorithms on DOTA1.0 dataset
圖4展示了TF-BBAVectors模型在DOTA1.0數(shù)據(jù)集中不同場景下的部分檢測結(jié)果,通過觀察可以發(fā)現(xiàn),針對目標(biāo)較小、密集性強(qiáng)、背景復(fù)雜的問題,如圖4(a)和圖4(b)部分所示的船、車輛檢測,本文檢測算法能很好地處理圖像中的密集小目標(biāo),在能夠很好地適應(yīng)不同的檢測背景的同時,也能顯示出船、車輛的??糠较颉a槍λ綑z測算法忽略目標(biāo)角度信息,不利于目標(biāo)精確定位的問題,如圖4(c)中部分所示的飛機(jī)檢測,本文算法可以很好地應(yīng)對不同的目標(biāo)傾斜角度,能夠精準(zhǔn)地標(biāo)記出目標(biāo)位置。綜上所述,本文方法在DOTA1.0數(shù)據(jù)集的多類別目標(biāo)檢測上達(dá)到了較好的檢測效果,可以較為準(zhǔn)確地標(biāo)記出目標(biāo)的位置和傾斜方向。
2.3.2 消融實驗分析
為了驗證TF-BBAVectors模型使用特征融合策略的有效性,在DOTA1.0數(shù)據(jù)集的4類數(shù)據(jù)上做了一個消融實驗,“√”表示使用了特征融合策略,“×”表示未使用特征融合策略,結(jié)果如表3所示。
通過表3中每一列目標(biāo)的檢測精度對比可以發(fā)現(xiàn),與以直接上采樣得到較大特征圖的方式構(gòu)建模型相比,在使用特征融合策略利用淺層特征圖構(gòu)建模型時,該目標(biāo)檢測模型可以取得較好的檢測效果。表明僅在最后特征圖下對不同尺度的目標(biāo)進(jìn)行提取興趣區(qū)域時造成的損失較大,進(jìn)一步說明了本文方法的有效性。2種構(gòu)建方式搭建的模型在PL、SH、SV、LV的檢測上分別相差13.33%、72.3%、42.25%、63.55%,mAP相差47.86%。
2種策略的對比如圖5所示。從圖5的對比中可以明顯地看出本文實驗所采用策略的有效性,圖5(a)中的檢測效果相對較好,圖5(b)中存在較多漏檢目標(biāo),這進(jìn)一步證明了使用特征融合策略搭建的模型更能適應(yīng)航空圖像中目標(biāo)的形態(tài)特征,性能更優(yōu)異,具有一定的優(yōu)勢。
(a)使用特征融合策略的檢測結(jié)果
2.3.3 SSDD+數(shù)據(jù)集上的實驗分析
由于使用的部分DOTA1.0數(shù)據(jù)集的類別分布不均衡,造成本文模型在部分類別的檢測上未能達(dá)到理想的結(jié)果,本文在擁有單一、小目標(biāo)類別的SSDD+數(shù)據(jù)集上驗證了TF-BBAVectors的有效性。
在2017年發(fā)布的SSDD+數(shù)據(jù)集[34]是用于合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)圖像檢測任務(wù)的數(shù)據(jù)集,包含有不同分辨率、比例、海況的 1 160張SAR圖像,總計船舶目標(biāo)2 456個。該數(shù)據(jù)集采用旋轉(zhuǎn)框的標(biāo)注形式,并在實驗中將數(shù)據(jù)的標(biāo)注形式統(tǒng)一為DOTA1.0格式,使該數(shù)據(jù)集可以適用于傾斜目標(biāo)的檢測。
實驗按照8∶2的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集。除了比較二階段檢測算法R-DFPN以外,本文模型還比較了另一些改進(jìn)的一階段目標(biāo)檢測算法,結(jié)果如表4所示。
通過表4可以發(fā)現(xiàn),TF-BBAVectors模型的檢測效果超過了部分二階段檢測算法,比一階段檢測算法BBAVector更為優(yōu)秀,與之相比,mAP值高出了0.7%。通過以上幾組實驗充分驗證了TF-BBAVectors模型在不同場景下的魯棒性和有效性。
表4 SSDD+數(shù)據(jù)集上不同檢測算法的結(jié)果Tab.4 Results of different detection algorithms on SSDD+ dataset
本文設(shè)計了一種基于層級式Transformer網(wǎng)絡(luò)的一階段航空圖像旋轉(zhuǎn)目標(biāo)檢測模型TF-BBAVectors。模型使用了端到端構(gòu)造目標(biāo)檢測器的思路,在Transformer網(wǎng)絡(luò)基礎(chǔ)上,針對航空圖像的特性,利用BBAVectors模型的檢測方式對提取的圖像特征進(jìn)行處理,即采用邊界框邊緣感知向量描述目標(biāo)位置,實現(xiàn)了對任意方向目標(biāo)的準(zhǔn)確定位。模型巧妙地使用了特征融合網(wǎng)絡(luò)的思想,并改進(jìn)了損失函數(shù)的設(shè)計,進(jìn)一步提升了網(wǎng)絡(luò)的檢測性能。在DOTA1.0數(shù)據(jù)集和SSDD+數(shù)據(jù)集上的實驗結(jié)果已經(jīng)初步表明,該模型在密集檢測、小尺度目標(biāo)檢測方面具有一定的優(yōu)勢,能夠很好地完成航空圖像中的旋轉(zhuǎn)目標(biāo)檢測任務(wù),具有一定的應(yīng)用價值。在下一步的工作中,將繼續(xù)對網(wǎng)絡(luò)進(jìn)行優(yōu)化,進(jìn)一步提升模型的檢測性能,設(shè)計出基于Transformer的具有高效率、高性能、高實時性的遙感目標(biāo)探測器。