常洪彬, 李文舉, 李文輝
(吉林大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 長(zhǎng)春 130012)
航空遙感圖像目標(biāo)檢測(cè)作為遙感圖像分析中的一種基本技術(shù)方法廣泛應(yīng)用于城市規(guī)劃、 土地利用、 交通引導(dǎo)和軍事監(jiān)控等領(lǐng)域[1-3]. 早期的航空遙感圖像目標(biāo)檢測(cè)算法依賴于人工設(shè)計(jì)特征. 文獻(xiàn)[4]基于區(qū)域建議法提取目標(biāo)的潛在區(qū)域; 文獻(xiàn)[5-6]利用滑動(dòng)窗口提取特征, 最后選取得分較高的圖像區(qū)域作為候選區(qū)域; Cheng等[7]利用選擇性搜索法減少滑動(dòng)窗口暴力搜索的時(shí)間消耗, 但算法的復(fù)雜度較高, 難以滿足實(shí)時(shí)性要求. 隨著深度學(xué)習(xí)的發(fā)展, 由海量數(shù)據(jù)驅(qū)動(dòng)的深度學(xué)習(xí)提取到的特征具有更強(qiáng)的語(yǔ)義表示能力, 與人工提取方法相比, 性能有較大提升. 同時(shí), 在神經(jīng)網(wǎng)絡(luò)正向傳輸過程中, 避免了大量窗口的冗余計(jì)算, 提高了檢測(cè)速度. 針對(duì)航空?qǐng)D像的特點(diǎn), 目前已有許多有效提高航空?qǐng)D像目標(biāo)檢測(cè)性能的改進(jìn)方案. 為解決圖像尺度過大的問題, 文獻(xiàn)[8]采用分塊切割的方法將大圖像分割成小圖像, 然后對(duì)每張小圖像分別進(jìn)行后續(xù)的檢測(cè)和識(shí)別, 最后將所有檢測(cè)結(jié)果進(jìn)行拼接. ORSIm方法[9]和FMSSD方法[10]通過引入旋轉(zhuǎn)不變量子模塊, 削弱了卷積神經(jīng)網(wǎng)絡(luò)特征提取對(duì)角度的敏感性, 緩解了方向多樣化對(duì)檢測(cè)的影響; 文獻(xiàn)[11]通過引入淺特征和深特征上采樣提高特征圖像的尺寸, 這類方法雖然改善了小目標(biāo)檢測(cè)的問題, 但也增加了檢測(cè)過程的時(shí)間消耗; Yang等[12]通過引入注意力機(jī)制弱化背景, 增強(qiáng)目標(biāo)信息, 但引入了額外的掩碼計(jì)算, 導(dǎo)致網(wǎng)絡(luò)計(jì)算量增加.
為解決上述問題, 本文提出一種基于注意力機(jī)制的航空?qǐng)D像旋轉(zhuǎn)框目標(biāo)檢測(cè)方法. 以RetinaNet[13]為基線網(wǎng)絡(luò), 提出一個(gè)新的通道語(yǔ)義提取注意力模塊, 用于提取全局語(yǔ)義特征和通道關(guān)系, 突出前景并抑制背景噪聲, 利用特征對(duì)齊方法[14]和改進(jìn)的Fast R-CNN[15]檢測(cè)頭微調(diào)分類和回歸分支, 得到更精確的結(jié)果. 實(shí)驗(yàn)結(jié)果表明, 本文設(shè)計(jì)的模型能有效克服背景復(fù)雜圖像的特點(diǎn), 提高了在航空?qǐng)D像上的目標(biāo)檢測(cè)能力.
本文算法以RetinaNet為基線, 應(yīng)用ResNet-50骨干網(wǎng)絡(luò)和特征金字塔網(wǎng)絡(luò)(feature pyramid networks, FPN)提取基本特征. 由于航空?qǐng)D像中存在大量小目標(biāo), 周圍環(huán)境復(fù)雜, 因此與RetinaNet不同, 本文算法選擇FPN的P2~P6層提高模型對(duì)小目標(biāo)的識(shí)別能力. 為適應(yīng)定向目標(biāo)的檢測(cè), 本文在RetinaNet的基礎(chǔ)上增加了一個(gè)額外的參數(shù)θ∈[-π/4,π/4], 表示包圍盒從水平線到邊框?qū)挾确较虻膴A角. 基本特征圖先利用通道語(yǔ)義提取注意力模塊(channel semantic extracting, CSE)突出前景、 抑制背景噪聲, 再經(jīng)過無(wú)錨點(diǎn)旋轉(zhuǎn)框目標(biāo)檢測(cè)模塊得到粗略的分類分?jǐn)?shù)和包圍盒. 將輸入特征圖和粗糙包圍盒一同作為角度精化模塊(angle refinement module, ARM)的輸入, 再經(jīng)過改進(jìn)的Fast R-CNN檢測(cè)頭模塊得到最終精確的檢測(cè)結(jié)果. 算法網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.

圖1 本文算法網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)[16-20]中特征圖的每個(gè)通道都被視為一個(gè)特征檢測(cè)器, 所以使通道注意力更集中在對(duì)任務(wù)有益的特征提取上能極大提升模型性能. 本文利用特征通道相互關(guān)系生成通道注意力圖, 并對(duì)特征進(jìn)行通道自注意力重分配, 如圖2所示.

圖2 通道語(yǔ)義提取注意力模塊
平均池化廣泛用于聚集空間信息中, 但本文通過實(shí)驗(yàn)證明最大池化能更好地提取圖片的紋理特征, 消除不必要的背景信息. 目前幾乎所有的通道注意力工作都是將輸入特征圖直接聚合成一維的通道注意力圖, 但這樣會(huì)丟失重要的全局信息. 為保留全局語(yǔ)義特征并有效計(jì)算通道注意力, 本文對(duì)輸入特征圖X∈C×H×W, 使用自適應(yīng)最大池化(adaptive max pooling, AMP)下采樣到X′∈C×K×K, 其中K×K表示壓縮后每個(gè)通道的特性圖大小.本文設(shè)K=7.自適應(yīng)最大池化操作Fmax可表示為
X′=Fmax(X).
(1)
為提高模型效率, 本文將壓縮后的特征圖X′進(jìn)行分組卷積操作.與標(biāo)準(zhǔn)卷積操作相比, 分組卷積的參數(shù)量為標(biāo)準(zhǔn)卷積的1/G, 可以用等量參數(shù)生成更多的特征圖, 而特征圖的數(shù)量可反映編碼的信息量.對(duì)于X′中的每組特征Zg∈C/G×K×K, 均有n個(gè)特征圖Xgn, 其中g(shù)n是g組中的第n個(gè)特征映射, 本文使用一個(gè)卷積核對(duì)其進(jìn)行卷積操作, 其長(zhǎng)寬大小與Xgn相同, 以增加特征圖的感受野, 提高模型的全局特征提取能力, 從而生成更高級(jí)的語(yǔ)義信息.卷積結(jié)果定義為

(2)
其中:kgn表示輸入特征圖Xgn的卷積核, 大小為K×K;Mgn∈K×K表示特征圖上的一個(gè)位置;λ為自適應(yīng)超參數(shù), 用于減少與分組卷積相關(guān)的較大值.通過對(duì)比實(shí)驗(yàn), 本文設(shè)λ=0.1K2.之后,Xg經(jīng)過Sigmoid函數(shù)激活, 得到該模塊的最終輸出. CSE通道注意力計(jì)算公式為

(3)
其中σ表示Sigmoid函數(shù),ω表示進(jìn)行卷積核大小為k的分組卷積操作.本文設(shè)分組個(gè)數(shù)G=16.通過映射Φ, 通道具有更廣泛的交互范圍, 并可使用更少的參數(shù)提取到等量的特征, 從而極大提高了模型的檢測(cè)效率.
本文采用無(wú)錨框目標(biāo)檢測(cè)生成粗糙定向包圍盒和分類分?jǐn)?shù).粗糙定向包圍盒包括距離和角度, 分別用d和θ表示, 分類分?jǐn)?shù)用c表示.設(shè)Bk=(xk,yk,wk,hk,θk)是類別為ck的對(duì)象k的真實(shí)邊界框, 其中Bk∈5×C.用xk和yk表示該物體的中心坐標(biāo),wk和hk分別表示寬和高,θk表示包圍盒的旋轉(zhuǎn)角度,C表示類別數(shù).在分類分支中, 對(duì)于每個(gè)位置(x,y), 如果位于真實(shí)框的中心區(qū)域Bδ=(xk,yk,δwk,δhk,θk)中, 則將該位置標(biāo)為正樣本, 其中δ表示中心率.每個(gè)位置與真實(shí)位置之間的距離為


圖3 定向包圍盒
在回歸分支中, 對(duì)于每個(gè)正樣本, 均有dk=(l,t,r,b), 表示從(x,y)到左、 上、 右、 下邊界框的距離,dk=(l,t,r,b)的值計(jì)算公式為

(5)
為得到高質(zhì)量的旋轉(zhuǎn)框, 本文應(yīng)用角度精化模塊(ARM)進(jìn)行特征對(duì)齊, 以精細(xì)化粗糙包圍盒結(jié)果, 如圖4所示.

圖4 角度精化模塊
ARM的輸入是輸入特征和預(yù)測(cè)的粗糙包圍盒. 與標(biāo)準(zhǔn)的二維卷積不同, 對(duì)于一個(gè)在特征圖Y上位置p∈{0,1,…,H-1}×{0,1,…,W-1}的對(duì)齊卷積計(jì)算公式為

(6)
其中W表示卷積權(quán)重,X表示輸入特征,r表示正則網(wǎng)格中的向量R={(-1,-1),(-1,0),…,(0,1),(1,1)},o∈O是在偏移域O中對(duì)于每個(gè)位置p的偏移程度.對(duì)于每個(gè)粗糙包圍盒B=(x,y,w,h,θ)和r∈, 樣本位置可定義為

(7)
其中s表示特征圖的步長(zhǎng),Θ=(cosθ,-sinθ,sinθ,cosθ)T表示旋轉(zhuǎn)矩陣.在位置p的偏移域計(jì)算公式為

(8)
通過計(jì)算得到在位置p的卷積特征X(p), 并在任意方向上提取更精確的卷積特征, 用以精細(xì)化粗糙包圍盒.對(duì)于每個(gè)粗糙包圍盒, 本文采樣9個(gè)點(diǎn)(即3行3列), 以獲得通道為18的偏移字段(即9個(gè)點(diǎn)的水平和垂直偏移).角度精化操作在偏移場(chǎng)計(jì)算中是一個(gè)速度延遲可忽略不計(jì)的輕卷積層.最后, 本文使用兩個(gè)1×1卷積分別生成分類和回歸圖, 用于識(shí)別對(duì)象并細(xì)化定向包圍盒.
本文使用改進(jìn)的Fast R-CNN檢測(cè)頭預(yù)測(cè)分類分?jǐn)?shù)并得到最終的回歸包圍盒. 在該模塊中, 輸入特征圖經(jīng)過兩個(gè)全連接層(fully connected layers, FC)映射到一個(gè)特征向量中, 并分成分類分支和回歸分支. 分類分支通過一個(gè)全連接層預(yù)測(cè)分類分?jǐn)?shù); 回歸分支中, 除在Fast R-CNN中的(x,y,w,h)邊界框外, 本文還增加了另一個(gè)參數(shù)θ進(jìn)行角度的回歸, 即回歸的邊界框表示為(x,y,w,h,θ), 其中θ∈[-π/4,π/4], 以便得到旋轉(zhuǎn)的包圍盒, 回歸分支與分類分支類似, 即經(jīng)過一個(gè)全連接層得到最終的回歸結(jié)果.利用該模塊可預(yù)測(cè)出更精確的分類分?jǐn)?shù)和定向包圍盒.
由于定向包圍盒的角度處于對(duì)稱區(qū)間, 本文直接使用真實(shí)角度作為目標(biāo)訓(xùn)練角度分支, 因此, 本文算法的損失函數(shù)可表示為

(9)

本文實(shí)驗(yàn)使用預(yù)訓(xùn)練的ResNet-50模型進(jìn)行初始化. 對(duì)于FPN(P2~P6)中的每層, 將對(duì)應(yīng)的歸一化因子設(shè)為{16,32,64,128,256}. 無(wú)錨框目標(biāo)檢測(cè)模塊中的中心率δ設(shè)為0.2. 實(shí)驗(yàn)使用NVIDIA RTX 2080 Ti進(jìn)行訓(xùn)練和測(cè)試. 在數(shù)據(jù)集DOTA上進(jìn)行多尺度實(shí)驗(yàn), 首先將原始圖像大小調(diào)整為3個(gè)尺度, 分別為0.5,1.0,2.0, 然后將這3個(gè)尺度的圖像全部裁剪為1 024×1 024大小, 步長(zhǎng)為200, 訓(xùn)練12個(gè)epoch. 模型使用SGD(stochastic gradient descent)優(yōu)化器, 初始學(xué)習(xí)率設(shè)為0.005, 每個(gè)衰減步驟的學(xué)習(xí)率為0.1倍. 權(quán)重衰減是0.000 1, 動(dòng)量參數(shù)為0.9. 非極大值抑制(non-maximum suppression, NMS)閾值設(shè)為0.8.
為更好地評(píng)估改進(jìn)后的網(wǎng)絡(luò)模型, 采用目標(biāo)檢測(cè)領(lǐng)域中通用的平均精度均值(mean average-precision, mAP)作為評(píng)價(jià)指標(biāo). 在目標(biāo)檢測(cè)中, 通常會(huì)有3種檢測(cè)結(jié)果: 正確檢測(cè)框(true positives, TP); 誤檢框(false positives, FP); 漏檢框(false negatives, FN). 針對(duì)這3種情況, 為驗(yàn)證目標(biāo)檢測(cè)算法的性能, 采用準(zhǔn)確率(Precision)和召回率(Recall)檢驗(yàn)標(biāo)準(zhǔn). 準(zhǔn)確率和召回率的計(jì)算公式為

(10)

(11)
mAP是檢測(cè)出所有類別的平均準(zhǔn)確率再取平均值得到的結(jié)果. 在檢測(cè)過程中, 計(jì)算出每個(gè)預(yù)測(cè)框的準(zhǔn)確率和召回率, 并得到點(diǎn)(P,R), 將每次得到的R值作為閾值, 當(dāng)R大于閾值時(shí), 計(jì)算對(duì)應(yīng)的最大準(zhǔn)確率, 通過計(jì)算這些準(zhǔn)確率的平均值得到AP, 最后將所有類別的AP取平均值, 得到mAP.
數(shù)據(jù)集DOTA共有2 806張航拍圖像, 包含不同場(chǎng)景大小分辨率從800×800到4 000×4 000的圖像, 包括15個(gè)類別的188 282個(gè)實(shí)例. 其標(biāo)記方法是一個(gè)由4個(gè)點(diǎn)決定任意形狀和方向的四邊形, 可應(yīng)用于水平包圍盒(HBB)和定向包圍盒(OBB)的檢測(cè)任務(wù). 數(shù)據(jù)集DOTA的類別為: 平面(PL)、 橋梁(BR)、 港口(HA)、 田徑場(chǎng)(GTF)、 小型車輛(SV)、 大型車輛(LV)、 環(huán)形交叉路(RA)、 游泳池(SP)、 船舶(SH)、 足球場(chǎng)(SBF)、 網(wǎng)球場(chǎng)(TC)、 籃球場(chǎng)(BC)、 儲(chǔ)油罐(ST)、 棒球場(chǎng)(BD)和直升機(jī)(HC).
數(shù)據(jù)集DOTA目標(biāo)上的檢測(cè)結(jié)果如圖5所示. 在數(shù)據(jù)集DOTA上, 將本文模型與其他定向檢測(cè)器的性能進(jìn)行比較, 結(jié)果列于表1. 為排除主干網(wǎng)絡(luò)對(duì)結(jié)果的影響, 從而體現(xiàn)模型結(jié)構(gòu)的有效性, 本文所有對(duì)比模型都將Resnet-50和FPN作為特征提取網(wǎng)絡(luò). 由表1可見, 本文方法的mAP達(dá)到77.71%, 在橋梁類、 大型車輛類和環(huán)形交叉路類等分類中, 本文方法比其他方法AP約提升8%, 在田徑場(chǎng)類和港口類中, AP提升9%以上, 足球場(chǎng)類甚至約提升18%.

表1 不同算法在數(shù)據(jù)集DOTA上的結(jié)果
綜上所述, 本文提出了一種基于注意力機(jī)制的航空?qǐng)D像旋轉(zhuǎn)框目標(biāo)檢測(cè)模型, 用于航空和遙感圖像中的定向目標(biāo)檢測(cè). 首先設(shè)計(jì)了一種新的通道語(yǔ)義提取注意力模塊, 該模塊能自適應(yīng)地獲取大尺度圖像的全局信息并學(xué)習(xí)通道之間的關(guān)系, 抑制背景, 增強(qiáng)對(duì)前景對(duì)象的特征提取, 提高模型在復(fù)雜背景中的檢測(cè)能力; 然后用無(wú)錨框目標(biāo)檢測(cè)模塊以較少的計(jì)算量預(yù)測(cè)出粗略的分類分?jǐn)?shù)和包圍盒; 最后經(jīng)過角度精化模塊和改進(jìn)的Fast R-CNN檢測(cè)頭, 通過特征對(duì)齊方法調(diào)整包圍盒的角度, 并經(jīng)過分類回歸分支預(yù)測(cè)出精確的分類分?jǐn)?shù)和定向包圍盒. 本文方法在公共航空數(shù)據(jù)集DOTA上達(dá)到了77.71%的平均檢測(cè)精度, 較其他航空?qǐng)D像目標(biāo)檢測(cè)模型相比精度優(yōu)勢(shì)明顯, 并獲得了比基線方法更好的效果.