周建亭,宣士斌,王 婷
1.廣西民族大學 電子信息學院,南寧 530006
2.廣西民族大學 人工智能學院,南寧 530006
3.廣西混雜計算與集成電路設計分析重點實驗室,南寧 530006
隨著無人機領域快速發(fā)展,在城市交通監(jiān)控、光纜巡檢等諸多應用場景中需要對無人機航拍圖像進行目標檢測。無人機航拍圖像是通過無人機上搭載的攝像裝置采集到的圖像[1]。目標檢測是計算機視覺中的基礎任務,無人機航拍圖像目標檢測比自然場景圖像目標檢測面臨著更多問題,仍然是計算機視覺領域中具有挑戰(zhàn)性的任務。無人機航拍圖像成像距離遠、視場大[2],圖像具有場景復雜、小目標多、目標分布密集且不均勻、尺寸較大的特點。因此,無人機航拍圖像目標檢測不僅要解決物體光照、尺度的劇烈變化的問題,還要處理好檢測速度慢、小目標檢測難、遮擋物體檢測難、背景復雜下檢測準確率低的問題。
經(jīng)典的目標檢測算法大都是基于手工設計的特征[3],隨著深度學習技術的發(fā)展,卷積神經(jīng)網(wǎng)絡展現(xiàn)出了比手工設計的特征提取方法更卓越的可拓展性和特征提取能力。Faster RCNN[4]提出了區(qū)域提議網(wǎng)絡,實現(xiàn)了端到端(end-to-end)和接近實時的目標檢測,是典型的基于候選區(qū)域的目標檢測算法。RetinaNet[5]針對前景、背景樣本不平衡問題提出了焦點損失(focal loss),在保持高檢測速度的同時獲得了較高的準確率。在上述通用目標檢測方法的基礎上,還需要針對無人機航拍圖像的特點來設計檢測算法。
與自然場景圖像相比,無人機航拍圖像尺寸大、分辨率高且目標不均勻分布,因此直接對原圖的所有區(qū)域進行同等重要程度的目標檢測會出現(xiàn)檢測速度慢的問題。Yang等[6]基于目標分布不均勻的特點,采用從粗糙到精細(coarse-to-fine)的策略,提出了對可能包含小目標的區(qū)域進行搜索的方法;GLSAN[7]提出自適應區(qū)域選擇策略與超分辨率網(wǎng)絡來對特定區(qū)域放大后檢測,實現(xiàn)了較好的檢測效果,但仍存在需要預設超參數(shù)、未能突破對圖像角落建模先驗限制的問題。
無人機航拍圖像中的小目標比例高、密集分布的不同類別物體間的區(qū)分度低,導致模型難以準確檢測小目標和遮擋物體。將原圖放大后進行檢測能提高檢測準確率但是會極大地增加計算量。對此,劉英杰等[8]利用級聯(lián)多閾值檢測器,并融合不同上采樣方法得到的特征信息來增強對小目標特征的表達能力,能更準確地定位小目標。周陽等[9]通過設置多條特征融合路徑,來緩解小目標采樣丟失位置信息的問題,降低了對小目標的漏檢率。針對目標檢測中的遮擋問題,張勝虎等[10]從數(shù)據(jù)驅動的方法出發(fā)構建了遮擋數(shù)據(jù)集,并通過按遮擋比例引入衰減權重的方式來選擇高質(zhì)量的正樣本參與模型訓練,得到了不同遮擋比例對遮擋性能影響情況的量化分析結果。Zhang 等[11]提出一種能讓預測候選框更接近真實目標框的聚合損失函數(shù),在行人檢測任務上提高了對遮擋行人的檢測準確率,但是對設置的閾值比較敏感。
針對無人機航拍圖像中的背景復雜下檢測準確率低這一問題,張瑞倩等[12]利用改進的多尺度空洞卷積擴大對特征的感受野,提高了對復雜場景下的目標的檢測能力。自然語言處理任務中的Transformer 模型能夠利用長距離上下文信息,解決長序列的遺忘現(xiàn)象[13]。Vaswani 等[14]在Transformer 基礎上提出的ViT 模型,通過建立空間上長距離依賴來解決卷積核感受野有限的問題,在圖像分類任務中取得了良好效果。為了降低Transformer 模型的計算復雜度,Liu 等[15]提出了基于窗口注意力機制的Swin Transformer模型,能夠在與卷積網(wǎng)絡計算復雜度接近的情況下更好地對場景建模。
DDETR[16]是基于Transformer 的目標檢測算法,能充分利用整張圖像的語義信息,提出的可變形注意力模塊,降低了計算復雜度并提高了對小目標的檢測準確率。但是DDETR 的骨干網(wǎng)絡采用殘差網(wǎng)絡提取特征,難以提取到理想的全局性信息。DDETR也沒有考慮物體的遮擋情況、缺少對低層次特征的利用,容易漏檢無人機航拍圖像中的小目標。受此啟發(fā),在標準DDETR模型基礎上,提出一種融合目標遮擋信息的改進DDETR 無人機目標檢測算法,提高了對遮擋物體的檢測準確率,改善了復雜背景下模型的檢測效果。主要貢獻如下:
(1)設計遮擋程度估計模塊,通過對目標的遮擋程度估計來輔助模型進行目標檢測,提高模型對同類別的未被遮擋目標、部分遮擋目標、嚴重遮擋目標的特征信息的學習,進而輔助模型對目標的分類與定位。
(2)引入基于注意力機制的Swin Transformer 進行特征提取,來緩解DDETR 模型中殘差網(wǎng)絡提取到的卷積特征圖語義信息不足的問題,并利用全局特征提高對復雜場景的理解。
(3)增加對低層次特征的使用,保留更多細節(jié)信息,緩解低層視覺信息丟失嚴重的問題,構建了有更豐富信息的多層次特征。
Swin Transformer具有良好的特征學習能力與長距離建模能力,因此本文在標準DDETR 中引入Swin Transformer 來替換標準DDETR 中的殘差網(wǎng)絡,從而能更好地提取圖像中的高層語義特征。Transformer 模型中的注意力分為自注意力與交叉注意力,分別對應查詢與鍵相同、不同時進行的加權聚合過程。Swin Transformer 在Transformer 的基礎上利用偏移窗口(shifted windows)機制,通過將自注意力計算限制在不重疊的局部窗口內(nèi),并允許跨窗口之間的信息融合,使模型對不同尺寸的圖像有著線性計算復雜度。
Swin Transformer 模型由四個結構相同的子階段順序組成,每個子階段中都有兩個連續(xù)堆疊的Swin Transformer 基本塊,分別包含窗口多頭自注意力(window based multi-head self-attenstion,W-MSA)和偏移窗口多頭自注意力(shifted window based multi-head self-attention,SW-MSA)操作。在每個子階段中先將特征分塊并線性嵌入,然后進行窗口注意力計算操作,最后產(chǎn)生不同尺寸的特征圖。
DDETR 利用可變形卷積[17]實現(xiàn)局部稀疏采樣策略,用ResNet-50 作為骨干網(wǎng)絡,將ResNet 輸出的多階段特征C3,C4,C5,經(jīng)頸部網(wǎng)絡進行特征通道壓縮后得到特征X3,X4,X5,并對特征X5下采樣得到特征X6,對多尺度特征X3,X4,X5,X6進行位置編碼后送入可變形Transformer。
其中,LN為層正則化,MLP為多層感知機。
在MSDeformAttn計算過程中,記多尺度特征x中的所有位置為參考點集合p,第l層特征向量xl上的第q個參考點為pq,pq對應特征向量為xq,只在其位置附近取K個采樣點,其中第k個采樣點在第m個注意力頭中對應的位置偏移量為Δpmlqk。將參考點與采樣點進行相似性計算,加權融合后得到特征x′。對應公式如下:
與多尺度可變形自注意力只選擇若干個采樣點不同,多頭自注意力將查詢(query)中的每個位置都與全部位置對應的特征向量進行注意力計算。多頭自注意力計算公式如下式:
為了更好建模圖像中復雜場景,提高對密集分布、遮擋嚴重的目標的檢測能力。與標準DDETR 不同,改進DDETR 構建了建模能力更好的Swin-T 特征提取網(wǎng)絡,并設計了能提高低層次特征比例的特征映射模塊,提出了能處理遮擋問題的遮擋程度估計模塊。改進DDETR模型的總體網(wǎng)絡結構如圖1,特征提取網(wǎng)絡由四階段堆疊的Swin Transformer與特征映射模塊構成;檢測網(wǎng)絡包括預測分支和可變形Transformer,可變形Transformer由堆疊的編碼器塊和解碼器塊構成。
圖1 改進DDETR模型結構Fig.1 Architecture of improved deformable DETR
在改進DDETR模型中,首先利用Swin Transformer從原圖中提取多尺度特征C2、C3、C4、C5,用特征映射模塊得到有更多低層次信息的特征P2、P3、P4、P5。然后將多尺度特征展平后的特征向量x送入編碼器中進行信息聚合得到多尺度嵌入特征向量其由多尺度特征圖上每個位置經(jīng)過編碼器計算后對應的特征向量組成。用編碼器后的輔助預測分支內(nèi)的分類模塊估計每個位置存在物體的可能性,從多尺度嵌入特征向量中選擇包含物體可能性最高的前n個位置,其中n為單張圖片中最多能夠包含的物體個數(shù),由這些位置對應的嵌入特征向量構成物體查詢向量z。將物體查詢向量在編碼器中解碼得到最終的物體查詢嵌入向量,最后預測分支根據(jù)物體查詢嵌入向量進行分類、定位與遮擋程度預測。
改進DDETR 引入基于偏移窗口注意力機制的Swin Transformer替代ResNet來對復雜場景進行建模,構建更豐富語義信息的特征圖。因為標準DDETR目標檢測模型采用ResNet 為特征提取網(wǎng)絡,卷積核的感受野小于Transformer 感受野,無法更好地提取圖像的高層次語義信息,在復雜的無人機航拍圖像中難以對復雜場景進行長距離的推理。
為了避免特征提取網(wǎng)絡復雜度過高,采用Swin-T結構的Swin Transformer進行特征提取,Swin-T與ResNet-50具有相近復雜度,其中的基本塊結構如圖2所示。在Swin-T特征提取網(wǎng)絡內(nèi),輸入圖像會在四個階段中計算后依次產(chǎn)生不同分辨率和通道數(shù)的特征圖。在每個階段計算時,先對上一階段的特征進行塊切分與線性嵌入,然后送入若干個堆疊的Swin Transformer基本塊中處理,在每個Swin Transformer塊的內(nèi)部按照如下公式計算:
圖2 兩個連續(xù)的Swin Transformer基本塊結構Fig.2 Two successive Swin Transformer blocks
其中,W-MSA為窗口多頭自注意力,SW-MSA為偏移窗口多頭自注意力,與zl分別為第l個(偏移)窗口多頭注意力模塊和多層感知機模塊輸出的特征。經(jīng)過Swin-T對輸入圖像進行特征提取后,就得到了4個尺度的多尺度特征圖C2、C3、C4、C5,第i個階段產(chǎn)生的特征圖記作表示特征圖通道數(shù),H與W表示輸入圖像的高寬。
標準DDETR模型主要針對自然場景下的COCO數(shù)據(jù)集進行目標檢測,而自然場景中的中小目標占比明顯低于航拍圖像,因此標準DDETR 受低層次特征不足的影響對中小目標檢測準確率低。COCO 數(shù)據(jù)集將像素值面積小于32×32 的目標定義為小目標,在32×32 至96×96 之間的目標定義為中等目標,其余目標為大目標。從表1 可以看到VisDrone 航拍數(shù)據(jù)集小目標和大目標比例分別比COCO 數(shù)據(jù)集高0.18、低018,且Vis-Drone數(shù)據(jù)集中90%以上的目標都是中小目標,與COCO數(shù)據(jù)集的目標分布情況存在明顯差異。
表1 VisDrone與COCO數(shù)據(jù)集中目標的尺度分布情況Table 1 Scales distribution of objects in VisDrone and COCO data sets
所以,在改進DDETR的特征提取網(wǎng)絡中,提出特征映射模塊增加對Swin-Transformer 中的特征圖C2的使用,不對C5特征圖進行下采樣,提高構建后的多尺度特征中低層次特征占比,將最低下采樣倍率從8降低到4,保留特征圖的更多細節(jié)信息。標準DDETR 只采用ResNet 中的C3、C4、C5層次特征,沒有使用低層次特征圖C2,這導致DDETR模型中的特征圖的最低下采樣倍率過高,丟失了原圖中的大量細節(jié)特征。特征映射模塊的結構如圖3,在特征映射模塊中用1×1 卷積操作對不同通道的信息進行聚合,并對不同通道數(shù)的特征圖C2、C3、C4、C5采用相同個數(shù)的卷積核,得到具有相同特征維度的多尺度特征P2、P3、P4、P5,從而保持在Transformer中嵌入維度一致。
圖3 特征映射模塊Fig.3 Features mapping module
物體被遮擋后的信息會影響到模型對物體分類和定位的準確性,無人機航拍數(shù)據(jù)集內(nèi)中、小目標多,目標分布密集,物體間的遮擋情況較為嚴重。在VisDrone航拍數(shù)據(jù)集物體被遮擋的程度分為未被遮擋、部分遮擋、嚴重遮擋三類,在數(shù)據(jù)集中分別占比43%、49%、8%,即被遮擋的物體在所有物體中占比一半以上。VisDrone數(shù)據(jù)集中的圖像標注示例如圖4,其中不同顏色的邊界框表示不同類別的物體,邊界框上方數(shù)字0、1、2分別表示該物體未被遮擋、部分遮擋、嚴重遮擋。圖中密集分布的物體間遮擋情況較為嚴重,因此有必要對物體的遮擋程度進行估計分類,從而使模型關注到物體的遮擋情況。
圖4 VisDrone數(shù)據(jù)集圖像標注示例Fig.4 Annotated image example in VisDrone dataset
為此設計了包含遮擋程度預測的預測分支,并在DDETR中的編碼器后添加了輔助預測分支A0,在解碼器塊D1、D2、D3、D4、D5后分別添加了與A0相同結構的輔助預測分支A1、A2、A3、A4、A5。從而在對物體查詢向量解碼過程中利用到物體的遮擋信息,添加遮擋情況估計模塊后的可變形Transformer的結構如圖5。預測分支與輔助預測分支都由遮擋程度估計模塊、類別預測模塊、位置預測模塊組成,彼此權值不共享,分別產(chǎn)生遮擋程度、類別、位置預測結果遮擋程度估計模塊、類別預測模塊分別由全連接層L1、L2構成,位置預測模塊由全連接層L3、L4構成。預測分支Ai根據(jù)嵌入的特征向量z進行預測,物體遮擋程度預測模塊采用輸入維度為d、輸出維度為3的全連接層實現(xiàn),預測分支Ai的計算公式如下:
圖5 融合遮擋信息的可變形TransformerFig.5 Deformable Transformer that incorporates occlusion information
其中,φ為常用的ReLU激活函數(shù)。
其中,λcls、λbox、λocc分別設置為2.0、5.0、0.5。計算目標框之間損失的函數(shù)Lbox由通用交并比(generalized intersection-over-union,GIoU)損失和邊界框L1范數(shù)損失構成。
改進DDETR 將遮擋程度的預測作為分類問題處理,為了避免嚴重遮擋的物體被其他遮擋程度的物體主導,采用焦點損失(Focal loss)衡量遮擋程度預測結果的分類誤差。焦點損失對應公式如下:
其中,αt和γ為控制對難樣本聚焦程度的超參數(shù)。
采用VisDrone無人機目標檢測數(shù)據(jù)集,數(shù)據(jù)集由無人機在不同高度、位置、時間拍攝,有城區(qū)、郊區(qū)、公園、道路等諸多場景。數(shù)據(jù)集共10 209 張圖像,在訓練集、驗證集和測試集中分別有6 471、548、3 190 張圖像,包括行人、人、三輪車、汽車、貨車、卡車、三輪車、帶棚三輪車、公交車、摩托車共計10 類目標,按照人是否處于行走姿勢將人細分為行人和人兩個類別。圖6(a)展示了數(shù)據(jù)集中各類別目標的數(shù)量分布,可以看到其中的各類別物體數(shù)量分布不均衡。無人機拍攝圖像拍攝場景中的小目標多,數(shù)據(jù)集中大部分圖像包含多個密集分布的物體,圖6(b)為數(shù)據(jù)集中單幅圖像內(nèi)目標個數(shù)分布情況,可以看出大部分圖像中的目標個數(shù)在20以上。
圖6 VisDrone中的目標類別與個數(shù)分布Fig.6 Distribution of category and number of objects in VisDrone
為了評估不同方法的性能,采用微軟COCO數(shù)據(jù)集中評價標準。主要比較AP、AP50、AP75分值,其中AP表示10個在0.5至0.95交并比閾值下的平均精度均值,AP50與AP75分別表示交并比閾值為0.5 和0.75 時的平均準確率,APS、APM、APL分值分別表示對小目標、中等目標、大目標的AP值。
在Linux系統(tǒng)Ubuntu 20.04版本上搭建了深度學習實驗環(huán)境,主要采用Pycharm 集成開發(fā)環(huán)境與Python,以及MMdetection[18]開源目標檢測工具箱作為基本的開發(fā)框架。在華為服務器2288H V5 平臺上進行實驗,CPU 為Intel Xeon Silver 4114,顯卡為48 GB 顯存的NVIDIA Quadro RTX8000,內(nèi)存256 GB。軟件環(huán)境為PyTorch1.8.1、Python3.7.13、Cuda 11.4。
在訓練過程中,為了使模型收斂更快,實驗中利用DDETR 中Transformer 在COCO 數(shù)據(jù)集上的預訓練權重,初始化改進DDETR 模型的參數(shù)。基本參數(shù)設置如下:訓練周期為60 個epoch,默認批次大小為1,采用AdamW優(yōu)化器,學習率設置為0.000 2,權重衰減設置為0.000 1,將骨干網(wǎng)絡的學習率縮小為模型整體學習率的0.1 倍,學習率規(guī)劃策略采用線性衰減策略,在第40 個epoch 衰減為0.000 02,DDETR 模型中的單張圖像中的最大目標數(shù)設置為200,其他超參數(shù)采用MMDetection中的默認設置。采用多尺度訓練與自動增強策略對圖像進行預處理,使圖像短邊在{480,512,544,576,608,640,672,704,736,768,800}中、長邊不超過1 333像素,并進行隨機裁剪處理、隨機水平翻轉。在測試過程中,輸入圖像尺寸最短邊縮放到800像素,并保證最長邊不超過1 333像素,不采用測試增強。
通過比較在不同情況下模型的檢測精度,來驗證不同改進方法的有效性,實驗結果見表2。實驗1 為標準DDETR模型,實驗2添加了遮擋程度估計模塊,有助于提高對嚴重遮擋目標的檢測精度,使檢測精度提高了0.8 個百分點。實驗2 與實驗1 檢測結果對比見圖7,可以看到融合遮擋信息的模型能夠檢測到標準DDETR漏檢的目標,對物體遮擋程度的估計也基本與標注信息一致。實驗3中采用了Swin-T結構的特征提取網(wǎng)絡,比實驗1 的檢測精度提高了1.3 個百分點,能夠在復雜場景下充分利用語義信息和全局特征,改善了檢測效果。實驗4 中增加了對低層次特征的使用,與實驗3 相比檢測精度提高了1.3 個百分點,提高了低層次特征信息的比例,考慮到了無人機航拍圖像中小目標多的特點。實驗5 增加了遮擋程度估計模塊、低層次特征使用、Swin-T特征提取網(wǎng)絡,利用了圖像復雜場景的語義信息以及低層次特征中的細節(jié)信息,并融合語義信息、估計了物體的遮擋程度,有效提高了模型檢測能力,比標準DDETR模型的平均檢測精度提高了3.3個百分點。
表2 在VisDrone數(shù)據(jù)集上的消融實驗Table 2 Ablation study on VisDrone 單位:%
圖7 檢測結果對比圖Fig.7 Comparison of detection results
改進DDETR 與標準DDETR 在各個類別物體上的檢測精度結果如表3。結果表明,改進DDETR 模型與DDETR 模型相比準確率提高了3.3 個百分點,在行人、人類別上的檢測準確率分別增加了5.6、3.4 個百分點,增加對底層特征的利用提高了行人和人類別小目標的檢測準確率;在汽車、貨車、公交車類別上的檢測準確率分別提高了4.4、4.6、4.3個百分點,遮擋信息估計模塊提高了這些易被遮擋物體的檢測準確率;在其他的較為稀少的類別如自行車、卡車、帶棚三輪車、摩托車、三輪車類別上分別提升了1.2、1.5、0.8、3.6、3.0 個百分點,改進后的特征提取網(wǎng)絡能更好提取到圖像中的語義信息并結合全局特征,有助于對此類物體的檢測。
表3 改進前后算法平均精度均值(AP)對比Table 3 Comparison between base model and improved Deformable DETR
為了驗證改進DDETR 算法的有效性,在表4 中比較了每種算法在VisDrone 數(shù)據(jù)集上的平均檢測精度。改進DDETR模型的檢測速度低于改進YOLOv5s,但是改進DDETR 比改進YOLOv5s 的檢測準確率提高了10個百分點;在具有相近水平檢測準確率的模型中,改進DDETR 也較好地平衡了檢測準確率與檢測速度,改進DDETR的準確率和檢測速度都高于QueryDet模型。表4所列實驗結果表明改進后的DDETR模型達到了32.3%的AP與32.5%的AP75分值,檢測準確率超過絕大多數(shù)主流方法。與基于ResNet-50 骨干網(wǎng)絡的GLSAN 模型相比,改進后的DDETR模型中的Swin-T結構的骨干網(wǎng)絡與其具有相近的計算復雜度;與YOLOv5s算法相比,所提方法檢測速度有所欠缺但檢測精度更高;與基于ResNeXt-152 實現(xiàn)采用區(qū)域搜索策略的DERN 算法相比,所提模型且方法更為簡單,不用分階段訓練子網(wǎng)絡。
表4 本文方法與主流方法在VisDrone數(shù)據(jù)集上對比Table 4 Comparison of this method with other SOTA methods on VisDrone dateset
改進DDETR 算法與標準DDETR 算法的檢測結果對比見圖8??梢钥吹綐藴蔇DETR存在由于遮擋嚴重導致的漏檢現(xiàn)象,沒能檢測出存在遮擋情況的區(qū)域A、B中的物體,改進DDETR 則能夠檢測出物體并正確預測對應的遮擋程度。標準DDETR存在將部分背景識別為前景物體的誤檢現(xiàn)象,改進DDETR 能充分利用場景中的語義信息和低層次特征信息提高對小目標的分辨能力,降低誤檢率。標準DDETR 模型由于未考慮物體的遮擋情況所以還存在對遮擋物體檢測置信度低的問題,對區(qū)域C中的物體檢測結果較差。改進DDETR則能對物體遮擋程度進行估計,以更高的置信度檢測出了區(qū)域C中的遮擋物體。
圖8 改進前后算法在不同場景下的檢測結果Fig.8 Detection results of original algorithm and improved algorithm in different scenes
改進DDETR能夠通過遮擋程度估計模塊估計物體的遮擋程度,提高對遮擋物體的檢測能力;更好地利用低層次特征中的細節(jié)信息,提高對與背景相似的小物體的辨別能力,降低對物體的誤檢率;改進后的特征提取網(wǎng)絡能更好地利用語義信息,有效融合全局特征與局部特征,檢測精度更高。
融合遮擋信息的改進DDETR 算法改進了標準DDETR 算法的結構,通過改進后的特征提取網(wǎng)絡和提出的遮擋程度估計模塊提高了對語義信息、細節(jié)信息、遮擋信息的利用,基于標準DDETR構建了改進DDETR算法,在VisDrone 數(shù)據(jù)集上實現(xiàn)了32.3%的平均準確率,相比標準DDETR算法提高了3.3個百分點。改進后的特征提取網(wǎng)絡能夠更好地利用到圖像中復雜的語義信息,對低層次特征的充分利用提高了對小目標的檢測準確率,遮擋程度估計模塊考慮到了物體的遮擋情況,提高了無人機目標檢測的準確率。下一步將考慮利用圖像中物體之間的相關關系,并優(yōu)化網(wǎng)絡結構,繼續(xù)提高無人機航拍圖像目標檢測的速度和精度。