劉星,陳堅,楊東方,賀浩,李永飛
(火箭軍工程大學,陜西 西安 710025)
空對地目標檢測具有視場范圍大、自主性要求高的特點,一直以來是軍事和民用領域的研究熱點[1-4]。在空對地目標檢測領域,通過空中無人平臺(unmanned aerial vehicle,UAV)搭載的視覺傳感器獲取地面圖像信息,并從中檢測感興趣地面目標(車輛、飛機等),該功能在諸多軍事和民用領域中均具有較大的應用前景。例如,在軍事領域,空對地目標檢測能夠直接應用于戰地偵查、戰場態勢分析、空對地目標打擊、對敵目標跟蹤等任務之中;在民用領域,空對地觀測也能夠直接應用于地面交通監控、大型自然災情分析、農牧業生態管理、人員搜救等任務之中。早期的對地目標檢測大多集中在傳統計算機視覺和圖像處理的框架之內,為了實現對目標的特征描述,尺度不變特征[5](scale invariant feature transform,SIFT)、方向梯度直方圖特征[6](histogram of oriented gradient,HOG)、快速魯棒特征[7](speeded up robust features,SURF)等多種人工設計特征發揮了重要的作用。
近年來,隨著大數據和高性能計算硬件的發展,基于深度學習的目標檢測技術在各類檢測挑戰任務中取得了巨大成功,深度學習作為目標檢測的一種首選方案,得到了越來越多的關注。典型的深度學習目標檢測算法包括基于區域建議卷積神經網絡(RCNN)[8-10]的分步檢測算法和以YOLO(you only look once)[11]、SSD(single shot multiBox detector)[12]為代表的回歸檢測算法。其中RCNN框架的典型代表Faster R-CNN[10]通過利用多任務損失優化和區域建議網絡(region proposal network,RPN)成功實現了端到端訓練,使得在普通共性任務需求下的目標檢測技術在檢測功能方面逐漸趨于完善。后續的YOLO,SSD等方法都是在檢測精度和檢測效率,以及小目標檢測方面,進行進一步的提升。YOLO算法將檢測框的提取過程直接用回歸網絡來訓練和預測,因此可以顯著提升目標檢測的執行速度,為實時檢測任務提供了重要的參考,但作為代價,該方法的檢測精度會受到削弱,尤其是在面對遠視距小目標的檢測任務時誤檢率明顯增高。SSD算法將Faster R-CNN的錨點(anchor)思想引入,在多個特征尺度上進行邊框預測,提升了檢測精度,對小目標檢測效果也有顯著提升。
得益于卷積神經網絡強大的特征提取和表示能力,目前深度學習在傳統目標檢測領域已經有了成熟的應用條件。但在空對地場景下,目標成像尺寸小,觀測視角單一。空中飛行平臺對地成像往往視距較遠,視場較大,此時感興趣目標區域在圖像中往往很小,檢測視角以單一俯視為主;此外,空對地成像受環境干擾影響較大。目標檢測受到不同光照、疑似干擾(場景中的一些疑似目標結構)、背景遮擋(城市中的樹木、建筑陰影等)等自然情況影響,檢測特征不明顯。此時,直接使用傳統的深度學習目標檢測方法,往往會出現明顯的錯檢和漏檢問題。而對于某些空對地檢測任務而言,例如高危場景的目標檢測,災情分析、空對地精確打擊等,這種錯誤是不能容忍的。
為此,本文從空對地序貫圖像的尺度(目標框所占像素大小)信息著手,利用同類目標在某次序貫成像過程中的尺度一致性,以及目標和場景的依賴關系,提出了尺度輔助的空對地目標自主檢測新方法,通過引入改進的邊框回歸損失函數,并在檢測后端結合目標尺度信息,將貝葉斯理論[13]和深度學習目標檢測進行結合,有效提高了檢測精度和魯棒性。
鑒于深度學習在目標檢測領域的實際表現,本文仍然以典型深度學習框架為基礎,基于當前最新的SSD目標檢測模型,開展空對地目標檢測技術的研究。SSD算法的基本結構如圖1所示。
該算法屬于一步檢測算法,在YOLO基礎上引入Faster R-CNN的anchor檢測機制,分別在不同特征層上提取目標特征信息。SSD的結構主要由兩部分組成,前端以VGG16作為特征提取網絡,后端加上額外的特征層用來在多特征和多尺度上獲取預測框。每類目標總共產生8 732個不同尺度大小的先驗框,然后把先驗框與標記框進行匹配,將與標記框有最大交并比和交并比超過給定閾值的先驗框視為正例。這些匹配到的正例進行邊框的回歸計算。這種多尺度多特征的目標檢測過程大大提升了算法的準確性,實時性也得到了很好保證。
SSD模型的多任務損失函數定義如下:

圖1 SSD目標檢測模型[12]Fig.1 Object detection model of SSD

(1)

目標分類采用softmax損失函數:
(2)
式中:c指目標類別;0代表背景類。
邊框回歸損失采用L1范數:
(3)

本文首先將SSD用于常規視場目標檢測過程,由于常規視場角度多,目標特征信息豐富,利用SSD算法進行檢測效果較好,能夠適應目標尺度的劇烈變化,如圖2所示。
然而,在進行空對場景實時檢測中發現,由于訓練數據視角單一,大量樣本提供的目標描述信息往往非常有限。另外,SSD采用L1范數進行邊框回歸,這種損失優化重點考慮的是預測框的4個坐標值分別與標記框4個坐標值的距離盡可能的接近。優化過程雖然使預測框接近標記框,但4個坐標值的獨立計算,導致預測框極易產生形變,導致最終的預測結果邊框尺度發生劇烈變化,如圖3所示。

圖2 常規視場下的目標檢測結果Fig.2 Object detection results in the normal field of view

圖3 無人機航拍檢測圖像Fig.3 Aerial image of drones
對此,本文首先將檢測函數優化目標從4個坐標值轉化為邊框的交并比(IOU),即預測框與標記框的交集(I)和并集(U)的比值。考慮到0≤IOU≤1,該文將邊框回歸損失看作以IOU為輸入的交叉熵損失:
Lloc(l,g)=-pln(IOU)-(1-p)ln(1-IOU).
(4)
由于期望的輸出IOU=1和p(IOU=1)=1,式(4)可以簡化為
Lloc(l,g)=-ln(IOU).
(5)
(6)

(7)
目標檢測是在目標分類的基礎上進一步找到目標的位置,并且位置信息通常以方形框表示。在實際測試中,應用場景轉為空對地視角,檢測精度開始下降,并且出現許多錯檢。分析這類現象,一方面源于空對地視場訓練數據不足和檢測模型本身對小目標檢測性能不好導致漏檢等原因,另一方面受到背景噪聲信息的干擾,將出現許多錯檢現象。通過觀察空對地場景下的目標發現,在較大視距情況下,同一高度相同目標尺度變化不劇烈。在利用深度學習算法在實時空對地目標檢測過程中,在受到例如城市這類復雜背景環境干擾,常常將一些尺度較大或較小物體錯檢為目標。基于深度學習的目標檢測過程沒有將物體的尺度信息(這里指檢測框的面積)考慮進來,例如在實際空對地檢測過程中,將一些受到環境噪聲干擾的建筑物誤認為車輛,將樹木誤認為行人,如圖4所示。錯檢目標的面積尺度遠遠大于正常目標尺度。于是考慮在改進邊框回歸損失函數后,將尺度信息引入目標檢測過程,在檢測后端結合樸素貝葉斯思想,將類別尺度限制在該視場下的特定范圍,超過這個范圍可以視為錯檢,利用先驗信息更好的輔助目標檢測。

圖4 空對地檢測產生誤檢結果Fig.4 Air-to-ground detection producesfalse positive results
SSD在進行目標檢測時,預測過程利用softmax函數(式(8))計算出每類概率后,利用最大后驗概率(式(9))得出最終分類結果。
(8)

(9)

(10)
式中:r={Ac1,Ac2,…,Acm}為類別平均尺度;m為類別總數。基于樸素貝葉斯推導,得出了最終的尺度信息輔助目標檢測的算法:
(11)

(12)
式中:Aci為該視場下目標類別i的平均尺度。在飛行初期對序貫圖不同幀時刻同類目標的目標尺度進行采樣,通過聚類方式初始化得出。其后,Aci平均尺度采用滑動平均算法進行動態更新。整個過程如圖5所示。
圖5中σ為尺度容納因子,不同目標尺度容納因子大小不同,對于真實尺度變化不大的目標(例如人)尺度容納因子越小,即對尺度越敏感;真實尺度變化較大的目標(例如:船舶、大船和小船尺度變化范圍大)尺度容納因子越大,即對尺度越不敏感(圖5b))。同時注意到尺度容納因子與檢測目標種類豐富度成反比,即隨著數據集目標種類的不斷豐富(例如當目標由船舶細分為游艇、郵輪),各類尺度容納因子會逐漸縮小。
網絡課堂的教學模式可以使用家長管理系統,即學生在觀看網絡視頻中不能操作其他界面,或是長時間沒有對電腦進行操作時,實施相應的鎖屏辦法。要求學生必須通過完整的網絡課堂學習而取得相應的網絡教學學分。

圖5 尺度輔助流程圖Fig.5 Scale module
由于預測是基于已檢測到的目標,因此P(c)=1,最終網絡的softmax預測函數為
(13)
整個預測模型構成如圖6所示,首先SSD網絡對視頻進行逐幀檢測;其后經過尺度信息庫對檢測目標類別進行搜索,如果庫中無該類別尺度信息,則進行尺度初始化,如果信息庫中有該類別尺度信息,則進行滑動平均,動態更新該類平均尺度;其后對該類別進行尺度輔助建模,并進行貝葉斯推斷,最終得出檢測結果。

圖6 尺度輔助目標檢測模型示意圖Fig.6 Schematic diagram of scale-assisted object detection model
本次實驗所用空對地數據集包括公開數據集和自制數據集2部分。其中公開數據集主要來自3K Vehicles[14],自制數據集利用大疆無人機進行航拍采集。數據集目標類別包括轎車、貨車、行人、艦船這4類,共計10 000張。標注采用Pascal VOC[15]格式。實驗平臺基于ubuntu16.04操作系統,顯卡采用Nvidia GTX1080(11G)。
本文基于Pascal VOC2010[15]驗證標準,采用平均正確率(average precision,AP)和精度(mean average precision,mAP)指標。其中AP值表示pr曲線與橫軸的積分面積:

(14)
精度的定義為多個類別的平均AP:
(15)
SSD檢測模型訓練采用adam[16]優化算法和遷移學習策略。因為COCO[17]數據集檢測類別多,復雜干擾多,小目標數量多,因此利用原始SSD檢測模型在COCO數據集訓練下獲得的預訓練權值作為模型初始化參數有利于空對地模型。對實驗室整理搜集制作的數據集進行200輪訓練輪數后(如圖7所示),最終得到的驗證精度為87.5%,如表1所示。
將訓練得到的模型在圖片驗證集上進行驗證,從實際效果可以看出,該邊框回歸損失函數使得目標檢測框擬合標記框更好,更緊湊。

圖7 驗證精度曲線Fig.7 Verification accuracy curve

模型精度(%)平均交并比(IOU)(%)汽車卡車行人傳統SSD84.986.387.684.1本文方法87.593.195.391.4
從實驗效果看出,通過改進邊框損失函數,將獨立優化邊框4個坐標值改為整體優化目標框,使得邊框回歸結果更加緊密,尺度一致性好(如圖8,9所示),能更好反映目標的真實尺度,為尺度約束輔助模型提供準確依據。

圖8 改進邊框回歸損失函數檢測效果Fig.8 Improved locate regression loss function detection effect

圖9 實際視頻檢測汽車對比Fig.9 Comparison of actual video detection
其后利用尺度約束輔助目標檢測算法對原始視頻再次進行實驗,SSD算法實時檢測速度為20 fps。當檢測到新目標(汽車)后,利用之后的10幀目標尺度數據進行初始聚類,并將聚類后得到汽車的初始平均尺度,并將尺度信息存入尺度信息庫,當遇到尺度信息庫沒包含的目標(卡車)類別時,再次對產生目標后的10幀尺度數據進行初始聚類。本視頻最終得到表2所示的尺度信息庫數據。當空基無人平臺進行智能巡航時,動態更新目標信息庫平均尺度數據。
將SSD目標檢測出的檢測框面積尺度信息與先驗聚類和滑動平均獲得的尺度信息庫信息進行判斷得出尺度概率值,其后利用樸素貝葉斯推斷對SSD目標檢測結果進行決策判斷。
在空對地這一特殊視場中,由于目標視場占比小,容易受到背景信息干擾,將大樹檢測為行人,將房屋檢測為卡車,將人群檢測為汽車(如圖10a))所示)。從實驗結果可以看出,通過利用尺度約束輔助傳統深度學習目標檢測模型,該方法能夠有效降低空對地目標檢測的錯檢率,如圖10b)所示。實驗結果也證明了本文所提出的方法,能夠為無人空中平臺更好執行空對地任務提供重要支撐。

表2 本文涉及的不同目標尺度描述參數Table 2 Different target scale description parametersinvolved in this paper

圖10 原始SSD檢測與尺度輔助效果對比Fig.10 Comparison of original SSD and scale assistance
空對地目標受成像視距影響,成像尺寸小,觀測視角單一。同時受環境干擾影響較大,不同光照、疑似干擾(場景中的一些疑似目標的結構)、背景遮擋(比如城市中的樹木、建筑陰影等)等自然情況影響,使得檢測特征不明顯,存在大量的錯檢情況,無法保證實際應用的可靠性。本文結合SSD目標檢測提出一種尺度約束輔助的序貫圖像空對地目標檢測算法。首先改進了邊框回歸損失優化函數,其次在目標檢測末端添加決策推斷過程,利用尺度信息,對檢測結果進行判斷,有效降提高了檢測的魯棒性。