劉天穎,李文根,關(guān)佶紅
(同濟大學 計算機科學技術(shù)系,上海 201804)
遙感圖像多指通過人造衛(wèi)星等對地面觀測得到的圖像,優(yōu)點是能在非常短的時間內(nèi)獲取大空間范圍的數(shù)據(jù)。光學遙感是遙感中的一個分支,主要通過可見光、近紅外及短波紅外等傳感器進行觀測。由此得到的遙感圖像分為可見光遙感圖像、紅外遙感圖像以及高光譜圖像等,其中可見光遙感圖像是應(yīng)用最為廣泛的遙感圖像之一。目標檢測是光學遙感圖像的一個熱門應(yīng)用,它要求從圖像中檢測出感興趣的物體,例如船舶、飛機、車輛、建筑、耕地及水體等,在判斷物體類別的同時給出其在圖像中的位置。
早期,由于衛(wèi)星圖像的空間分辨率較低,研究者們無法檢測到較小的物體,因此主要致力于提取某一區(qū)域的地理空間屬性,如森林、湖泊等。近年來,光學遙感技術(shù)發(fā)展迅速,一些新型光學遙感衛(wèi)星相繼發(fā)射成功,獲取的圖像空間分辨率可以達到亞米級,能夠提供非常精細的空間和紋理信息,這使得檢測獨立的目標個體成為可能。在受益于高質(zhì)量數(shù)據(jù)的同時,光學遙感圖像的目標檢測也面臨新的挑戰(zhàn):圖像背景變得更加復雜,目標的尺度變化劇烈,小目標的數(shù)目變得更多等。這些挑戰(zhàn)使得光學遙感圖像的目標檢測更易出現(xiàn)誤檢、漏檢。
在海量高分辨率遙感圖像數(shù)據(jù)的支持下,大量光學遙感圖像相關(guān)的目標檢測技術(shù)涌現(xiàn)出來,而其中基于深度學習的技術(shù)更是發(fā)展迅速,取得了非常不錯的檢測效果。因此,系統(tǒng)性總結(jié)領(lǐng)域內(nèi)發(fā)展情況的綜述文獻就變得很重要。此前已有一些早期的相關(guān)工作,它們對一些特定類別的目標檢測技術(shù)進行了總結(jié),如Wang等[1]聚焦于圖像中的船只檢測,Mayer[2]則致力于檢測建筑,而Mena等[3]專注于道路提取。此外,也有一些較新的多類別目標檢測綜述,如Cheng等[4]介紹了多種目標類別的檢測技術(shù)。但是由于時間限制未能包含現(xiàn)在應(yīng)用非常廣泛的基于深度學習的技術(shù);Li等[5]總結(jié)了深度學習給光學遙感圖像的目標檢測帶來的影響,提出了一個新的大型光學遙感圖像目標檢測數(shù)據(jù)集,不過對相關(guān)技術(shù)分析不夠;李曉斌等[6]從現(xiàn)代目標檢測器的算法流程出發(fā)對相關(guān)技術(shù)進行了梳理,但是文中深度學習相關(guān)的方法仍然比較缺乏。與以上相關(guān)工作不同,本文著重梳理和分析近年來深度學習對光學遙感圖像目標檢測技術(shù)的影響,對基于深度學習的檢測方法進行了分類分析。
從發(fā)展歷史來看,面向光學遙感圖像的目標檢測技術(shù)發(fā)展離不開通用目標檢測技術(shù)的發(fā)展。因此,本文首先簡要介紹通用目標檢測技術(shù)的發(fā)展脈絡(luò),然后歸納總結(jié)基于深度學習的光學遙感圖像目標檢測方法,最后分析目前仍存在的問題,并對未來可能的發(fā)展趨勢做出了展望。
現(xiàn)有通用目標檢測模型可以分為傳統(tǒng)模型和深度學習模型兩大類,傳統(tǒng)模型通過手工設(shè)計和提取圖像特征進行目標檢測,而深度學習模型通過自動學習數(shù)據(jù)特征進行目標檢測。
最早期的目標檢測主要是基于模板匹配技術(shù)的模型和基于簡單結(jié)構(gòu)的模型,能夠處理一些空間位置關(guān)系較為簡單的物體。之后的主流方法經(jīng)歷了基于幾何表示的方法和基于外觀特征的統(tǒng)計分類方法,例如神經(jīng)網(wǎng)絡(luò)[7]、SVM[8]以及Adaboost[9]等。20世紀90年代之后,目標檢測有了突破性的進展,兩個里程碑分別是尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Feature Transform,SIFT)[10]和深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[11],前者革新了傳統(tǒng)方法,后者則引領(lǐng)了深度學習的熱潮。從SIFT算法開始,局部特征描述符受到了研究者的青睞,此后出現(xiàn)了許多相關(guān)的工作,例如Haar-like特征[12]及梯度直方圖(Histogram of Gradients,HOG)[13]等。這些局部特征通常會經(jīng)過簡單的級聯(lián)或者特征池編碼器集成,例如空間金字塔匹配(Spatial Pyramid Matching,SPM)[14]及Fisher矢量(Fisher Vector)[15]等。之后提出的DPMs模型(Deformable Part based Models)[16]達到了傳統(tǒng)目標檢測模型的巔峰,連續(xù)取得了2007—2009年VOC[17]檢測比賽的冠軍。該方法是一種基于部件的檢測方法,對目標的形變具有很強的魯棒性,成為了眾多機器視覺算法的核心部分。
傳統(tǒng)方法雖然取得了不錯的檢測效果,但是往往設(shè)計得較為復雜,且缺乏提取圖像高層次語義特征的能力,這限制了模型的檢測精度。
2012年深度卷積神經(jīng)網(wǎng)絡(luò)AlexNet[11]在圖像分類領(lǐng)域獲得巨大成功,證明了深度學習模型的可行性。之后目標檢測領(lǐng)域的學者也開始積極探索深度學習方法,由此誕生了基于深度學習的經(jīng)典目標檢測模型R-CNN[18]。該方法使用手工方法生成可能存在目標的候選區(qū)域,再對其進行篩選和調(diào)整,將目標檢測問題轉(zhuǎn)化為了分類和回歸問題,使之可以被深度神經(jīng)網(wǎng)絡(luò)訓練。R-CNN的性能大幅優(yōu)于其他傳統(tǒng)目標檢測模型,開創(chuàng)了基于深度學習目標檢測的時代。緊跟其后的工作,YOLO[19]去掉生成候選區(qū)域的步驟,直接對原圖進行回歸和分類,犧牲了一定精度,但大大加快了檢測速度。以上兩種方法后來發(fā)展為現(xiàn)代目標檢測的兩大分支:兩階段模型和一階段模型,它們的框架分別如圖1(a)和圖1(b)所示,可以看出最大的區(qū)別是有無候選區(qū)域生成的步驟。兩階段模型以R-CNN系列為代表,包括Fast R-CNN[20]、Faster R-CNN[21]、Mask R-CNN[22]等;一階段模型則以YOLO系列(YOLO v2[23]、YOLO v3[24]等)和SSD系列(SSD[25]、DSSD[26]等)為代表。值得一提的是,F(xiàn)aster R-CNN[21]提出了錨點(Anchor)機制用于自動生成目標候選區(qū)域,此方法相比于傳統(tǒng)的生成方法速度和性能都有很大提升,之后不僅被兩階段模型廣泛采用,也在一階段模型中證明了有效性。因此,之后的目標檢測模型基本上都采用了錨點這一機制。其他具有重要影響的研究成果還包括解決多尺度檢測問題的FPN[27]和解決正負樣本不平衡問題的RetinaNet[28]等。
錨點機制雖然被廣泛應(yīng)用,但是也存在一些缺點,如不同形狀特點的目標需要針對性地設(shè)計一些超參數(shù),并且該機制會產(chǎn)生許多不包含目標的負樣本框,從而導致嚴重的正負樣本不平衡問題。針對這些問題,CornerNet[29]將目標邊界框解構(gòu)為左上角和右下角兩個點,擺脫了錨點的限制,提出了一種無錨點(Anchor-Free)方法,其框架如圖1(c)所示。之后許多學者也在這方面進行了研究,由此誕生了一系列的Anchor-Free模型,例如CenterNet[30]、FCOS[31]和ExtremeNet[32]等,都取得了比較不錯的效果。雖然Anchor-Free方法受到了研究者們的青睞,但是目前還無法取代基于Anchor的方法,在很長的一段時間里二者會是共存的關(guān)系。
圖1 基于深度學習的目標檢測模型框架比較Fig.1 Comparison among deep learning based object detection model frameworks
光學遙感圖像的主要特點包括空間跨度大(單張圖像可覆蓋超過64 km2[33]、目標尺度差異大(小目標居多)且方向任意。這些特點導致通用目標檢測算法難以直接應(yīng)用在光學遙感圖像上,需要對算法進行針對性的設(shè)計和優(yōu)化。本文先介紹目前已有的光學遙感圖像目標檢測數(shù)據(jù)集,然后對各類基于深度學習的檢測方法的優(yōu)缺點進行分析比較。現(xiàn)有基于深度學習的檢測方法大致可以按照檢測步驟分為四類,分別是基于人工提取候選區(qū)域的方法、基于候選區(qū)域生成網(wǎng)絡(luò)的方法、基于回歸的方法和其他方法。表1總結(jié)了這些類別方法的特點。
公共數(shù)據(jù)集是支撐領(lǐng)域發(fā)展一個很重要的基石,能夠讓研究者們方便地對不同算法進行比較。在過去的十幾年中,涌現(xiàn)出了一批用于光學遙感圖像目標檢測的數(shù)據(jù)集,表2對它們進行了一個對比,包括數(shù)據(jù)集規(guī)模、檢測的目標類別數(shù)目及標注方式等。
表2 光學遙感圖像目標檢測公共數(shù)據(jù)集比較Tab.2 Comparison among publicly available optical remote sensing image datasets for object detection
在這些公共數(shù)據(jù)集中,TAS、ORIDS和DLR 3K Vehicle用于檢測車輛。其中TAS和ORIDS屬于較早期的數(shù)據(jù)集,圖像分辨率普遍較低,TAS使用水平框標注;而ORIDS開始使用旋轉(zhuǎn)框標注;DLR 3K Vehicle則是2015年提出的數(shù)據(jù)集,規(guī)模更大、分辨率更高,圖像寬度達到了5 616像素。SZTAKI-INRIA用于檢測建筑物,包含6個不同國家和城市。HRSC2016用于檢測船只,包括海上及碼頭等各種場景,且船只型號、大小及形狀等變化大。UCAS-AOD則用于檢測飛機和車輛兩種高價值目標。VEDAI包含9種目標類別,均為交通工具。以上這些數(shù)據(jù)集對于檢測的目標類別都比較有針對性,而其他數(shù)據(jù)集則包含更加多樣化的目標類別。NWPU VHR-10是被廣泛使用的數(shù)據(jù)集之一,圖像分為高分辨率和超高分辨率(Very High Resolution,VHR)圖像2種。RSOD類別數(shù)目較少但是每一類的規(guī)模都有所提升。DOTA是目前最為廣泛采用的數(shù)據(jù)集之一,也是最有挑戰(zhàn)性的數(shù)據(jù)集之一。同時使用水平框和旋轉(zhuǎn)框標注,且規(guī)模比之前的任一數(shù)據(jù)集都要更加龐大,包含各種方向、大小的目標。DIOR數(shù)據(jù)集是最新提出的一個光學遙感圖像目標檢測數(shù)據(jù)集,比DOTA數(shù)據(jù)集規(guī)模更大,且目標類別數(shù)是目前最多的,使用水平框標注。研究者可根據(jù)需要選取不同的數(shù)據(jù)集。
R-CNN[18]獲得成功后,許多學者開始嘗試將該框架應(yīng)用到光學遙感圖像的目標檢測中來。R-CNN采用選擇性搜索算法(Selective Search)[44]生成目標候選區(qū)域,這是一種人工提取候選區(qū)域的方法。在傳統(tǒng)圖像處理中,一般用窮舉法或者滑動窗口來得到一系列可能出現(xiàn)物體的候選框。由于物體大小不同,需要采用許多不同大小的滑窗,這顯然是一個復雜度很高、效率低下的方法。而選擇性搜索算法先使用基于圖的方法對圖像進行分割,然后使用貪心策略對相似度最高的區(qū)域進行合并,直到最后合并為整張圖。這實際上是一個自底向上的過程,產(chǎn)生的候選框數(shù)目遠少于滑動窗口法,且能擁有很高的召回率。得到候選區(qū)域后,R-CNN將目標檢測問題轉(zhuǎn)換為對候選框的分類和回歸問題,能夠使用深度學習方法進行訓練。
R-CNN直接應(yīng)用到光學遙感圖像目標檢測,面臨的問題之一是物體的旋轉(zhuǎn)問題。這一問題在自然場景圖像中并不明顯。但是,由于光學遙感圖像俯視視角成像,物體可以在地面呈現(xiàn)出各個方向,這會對模型的學習造成一定的影響。RICNN[45]針對該問題引入了可學習的旋轉(zhuǎn)不變層,在目標函數(shù)中加入正則化約束使得物體旋轉(zhuǎn)前后的特征盡可能一致,從而有效地實現(xiàn)了旋轉(zhuǎn)不變性。RIFD-CNN[46]的思路是在CNN學習到的的特征上加上一個正則化器和Fisher描述符,通過設(shè)計新的目標函數(shù)達到這一目的。RIFD-CNN不僅可以應(yīng)用在R-CNN中,還可以加入到其他的檢測模型,如Faster R-CNN[21]等。R-CNN的另一個問題是小目標的精確定位問題,小目標的檢測在通用目標檢測領(lǐng)域中是一個難點。光學遙感圖像由于空間分辨率高使得目標往往更小,這一問題更加突出。USB-BBR算法[47]提出了一種無監(jiān)督的打分機制,能夠優(yōu)化邊界框回歸,在小目標檢測上獲得了一定的精度提升。其他基于R-CNN的相關(guān)工作還有海豹檢測[48]和大區(qū)域檢測[49]等。
雖然基于R-CNN框架的工作在當時取得了不錯的成績,但是人工提取候選區(qū)域的方法是制約整個模型性能的關(guān)鍵點之一。在后續(xù)Faster R-CNN提出利用CNN自動生成候選區(qū)域后,這一類方法便很少被使用了。
候選區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN)是Faster R-CNN[21]提出來的用于自動生成候選區(qū)域的方法。它對主干網(wǎng)絡(luò)提取的特征圖使用一個n×n的滑動窗口生成候選區(qū)域,每一個滑動位置生成k個不同大小和寬高比的預(yù)測框,每一個預(yù)測框?qū)?yīng)一個錨點。由于該方法使用了共享卷積層,相比于選擇性搜索方法速度大大提升,在精度上也有一定提升。此外,候選區(qū)域生成網(wǎng)絡(luò),可以方便地插入到目標檢測流程中,使得目標檢測模型成為端到端的模型,得到廣泛應(yīng)用。此后,在光學遙感圖像的目標檢測領(lǐng)域也誕生了許多基于該方案的技術(shù),表3給出了各方法的對比。
該類方法一般針對要檢測的目標形狀特點重新優(yōu)化錨點框的參數(shù)設(shè)置,如AVPN[50]等,這也是其弊端之一,即不同的應(yīng)用場景都需要人為地設(shè)計對應(yīng)特點的錨點框來達到更好的結(jié)果。另外,早期檢測方法多使用水平框檢測。但是,旋轉(zhuǎn)框慢慢發(fā)展成主流,因為研究者發(fā)現(xiàn)在許多場景中水平框會包含大量不屬于目標的信息,給檢測帶來很大困難。相比于水平框,旋轉(zhuǎn)框因為多了旋轉(zhuǎn)角而變得更加復雜,需要對模型進行專門的設(shè)計。最初許多模型都是在RPN的基礎(chǔ)上加入旋轉(zhuǎn)角度,從而生成旋轉(zhuǎn)的候選區(qū)域,如R^3-Net[51]、R^2PN[52]等。這些方法雖然有效,但是會大大增加計算量,RoI Transformer[53]針對該問題進行了優(yōu)化,它仍然使用RPN產(chǎn)生水平框的候選區(qū)域,但是添加了一個可學習的空間變換機制以將水平框轉(zhuǎn)變成旋轉(zhuǎn)框,僅僅增加了少量的計算量,就取得了非常不錯的結(jié)果。而GlidingVertex[54]則提出了一種全新的旋轉(zhuǎn)框定義方式,在每個對應(yīng)的側(cè)邊上滑動水平邊界框的頂點,以準確地描述多方位的對象。APE[55]同樣提出了一種新的旋轉(zhuǎn)框表示方式,角度由周期不同的兩個二維周期向量表示,并且該向量隨形狀變化而連續(xù)。此外,還有一些學者注意到模型在訓練過程中存在的旋轉(zhuǎn)靈敏度誤差問題[56],該問題會導致模型訓練不穩(wěn)定,甚至影響檢測精度。SCR-Det[57]設(shè)計了一種新的損失函數(shù)來緩解該問題,但仍未從根本上解決。后續(xù)工作中,CSL[58]將角度回歸問題轉(zhuǎn)換成了分類問題,這是一個比較成功的嘗試,但仍有較大的改進空間。除了一般性的問題之外,還有一些學者致力于研究復雜背景干擾問題[59]及小目標檢測問題[60]等。
目前,由于基于候選區(qū)域生成網(wǎng)絡(luò)的方法具有較高精度,它仍是光學遙感圖像目標檢測的主流。
表3 基于候選區(qū)域生成網(wǎng)絡(luò)的光學遙感圖像目標檢測方法比較Tab.3 Comparison among region proposal network based (RPN) object detection methods in optical remote sensing images
雖然基于候選區(qū)域生成網(wǎng)絡(luò)的方法因為其精度高占據(jù)著主流,但基于回歸的方法也取得了一些進步。該類方法去除了生成候選區(qū)域這一步驟,將目標檢測問題簡化為回歸問題,雖然精度上有所損失,但是更加高效。Oriented-SSD[76]和DRBox[72]都是在SSD[25]的基礎(chǔ)上加入了旋轉(zhuǎn)特性以適應(yīng)目標的角度變化。DRBox還通過實驗分析了水平框相較于旋轉(zhuǎn)框檢測的一些不足之處。Liu等[77]為了解決近海密集船只監(jiān)測問題,基于YOLO v2[23]使用旋轉(zhuǎn)框檢測,因為水平框難以將密集排列的船只分離。YOLT[33]旨在從大范圍的遙感圖像中快速檢測感興趣目標,借鑒YOLO的思想設(shè)計了新的檢測模型,檢測速度能夠達到0.5 km2/s以上。R3Det[78]為了解決基于回歸的方法特征未對齊的問題,設(shè)計了一個特征細化模塊,通過特征插值實現(xiàn)特征重構(gòu)和對齊,精度有了很大的提升。
除了上述提到的三類方法外,還有一些方法跳出了這些基本檢測框架。例如,Yu等[79]提出了一種超像素分割策略,在分割后的結(jié)果上應(yīng)用深度玻爾茲曼機得到其特征表示,然后構(gòu)建了一組多尺度霍夫森林得到具有旋轉(zhuǎn)不變性的物體中心點。SVDNet[80]使用奇異值分解網(wǎng)絡(luò)得到候選區(qū)域,然后使用線性SVM分類器得到檢測結(jié)果。雖然這些模型非常新穎,但是訓練過程比較復雜。Qu等[81]致力于解決數(shù)據(jù)標注成本高昂的問題,提出了一種新的基于不確定性的主動學習方法。這種方法能夠選擇訓練集中具有更豐富信息的圖像進行訓練,在只利用其中一小部分的圖像時也能夠得到高性能的檢測器。而隨著Anchor-Free方法在通用目標檢測領(lǐng)域涌現(xiàn),也有一些學者開始嘗試將其應(yīng)用到光學遙感圖像的目標檢測中。IENet[82]借鑒了FCOS[31],在其結(jié)構(gòu)上添加了一條分支用于預(yù)測角度,并使用交并比引導模型學習。O^2-DNet[83]和P-RSDet[84]則是基于關(guān)鍵點的策略,前者用中心點加上兩條中線表示旋轉(zhuǎn)框,后者則將坐標系轉(zhuǎn)換到極坐標系,在此基礎(chǔ)上可通過中心點和旋轉(zhuǎn)角及半徑來構(gòu)成一個旋轉(zhuǎn)框。
深度學習在2012年之后在許多領(lǐng)域得到了廣泛應(yīng)用,基于深度學習的目標檢測算法如雨后春筍般涌現(xiàn),現(xiàn)在已經(jīng)發(fā)展得較為成熟,但距離人類水平還有很遠的距離。光學遙感圖像目標檢測領(lǐng)域基于深度學習的方法起步相對較晚,大部分方法都是在通用目標檢測器上進行修改,但在近兩年也涌現(xiàn)了一些優(yōu)秀模型。通過分析現(xiàn)有基于深度學習的光學遙感圖像的目標檢測方法,我們認為目前仍存在以下問題:
小目標檢測該問題一直都是整個目標檢測領(lǐng)域的難點,主要原因在于其包含的信息少,在模型推斷過程中信息會大量丟失甚至完全丟失,導致檢測效果非常差。而光學遙感圖像往往空間分辨率高,目標相對更小,因此這一問題更加嚴重。解決這一問題的關(guān)鍵在于盡可能減少小目標的信息丟失,并能夠使用一些方法擴充其信息表示。
旋轉(zhuǎn)不變性不同于自然場景中的物體,由于視角的特殊性,旋轉(zhuǎn)對于光學遙感圖像中的物體影響非常大?,F(xiàn)在廣泛采用的是用于提取特征的卷積神經(jīng)網(wǎng)絡(luò),其在旋轉(zhuǎn)不變性方面表現(xiàn)較差,一般采用數(shù)據(jù)增強的方式生成不同旋轉(zhuǎn)角度的圖像來緩解這一問題,但是目前的檢測模型在旋轉(zhuǎn)角度的預(yù)測精度上仍然有較大的進步空間。
缺少全面的大規(guī)模數(shù)據(jù)集雖然DOTA與DIOR數(shù)據(jù)集已經(jīng)是規(guī)模較為龐大的數(shù)據(jù)集了,但是還無法與通用目標檢測領(lǐng)域的權(quán)威數(shù)據(jù)集COCO等比肩。此外,數(shù)據(jù)集的全面性也有待提升。一個規(guī)模大、全面的數(shù)據(jù)集能夠極大地推動領(lǐng)域的發(fā)展,它不僅能為模型的訓練提供充足的數(shù)據(jù)支持,也能為各個模型的評估和比較提供客觀公正的平臺。
從以上問題,可以窺見未來光學遙感圖像目標檢測技術(shù)的一些發(fā)展趨勢。整體來說,研究者仍然可以跟進通用目標檢測領(lǐng)域的最新進展,并在其基礎(chǔ)上針對光學遙感圖像的特點進行改進。對于小目標問題來說,超分辨率是目前一個比較熱的研究點,而圖像中物體的關(guān)系建模也是一個研究趨勢,可以結(jié)合這兩類技術(shù)尋求突破。由于全面且大規(guī)模的數(shù)據(jù)集仍然緊缺,且標注工作量巨大,基于半監(jiān)督、無監(jiān)督的方法也會是未來發(fā)展的一大趨勢。此外,研究者應(yīng)該不僅僅滿足于在已有的經(jīng)典目標檢測模型上改進,而是分析光學遙感圖像,并在此基礎(chǔ)上設(shè)計能夠貼合其特點的算法模型??偠灾?,光學遙感圖像目標檢測模型會朝著實時、輕量、高效的方向不斷發(fā)展。