李紅光,于若男,丁文銳
1.北京航空航天大學 無人系統(tǒng)研究院,北京 100191 2.北京航空航天大學 電子信息工程學院,北京 100191
目標檢測結(jié)合了目標定位與目標分類兩大任務,被廣泛應用于人臉識別[1]、行人檢測[2]、自動駕駛[3-4]、智能監(jiān)控[5]等計算機視覺領域,為圖像和視頻的高級語義理解提供有價值的信息。隨著計算機科學技術(shù)的發(fā)展,基于深度卷積神經(jīng)網(wǎng)絡的特征提取技術(shù)被廣泛應用于計算機視覺任務中,目標檢測完成了從基于傳統(tǒng)手工設計特征的檢測方法到基于卷積神經(jīng)網(wǎng)絡的深度學習方法的變遷,隨后基于卷積神經(jīng)網(wǎng)絡的目標檢測算法迅速成為圖像處理領域研究的主流。該方法通過設計各種結(jié)構(gòu)的網(wǎng)絡模型和強大的訓練算法來自適應地學習圖像高級語義信息的表示,完成對目標的分類和定位,在檢測精度和效率方面均有很大的提升,并且對環(huán)境的適應能力較強。
然而,當前的目標檢測算法大多針對于自然場景中分布較為稀疏的中大型目標,如經(jīng)典的兩階段方法[6-8]首先通過選擇性搜索、邊緣檢測、區(qū)域提取網(wǎng)絡等方法生成可能包含目標的候選區(qū)域集合,再利用卷積神經(jīng)網(wǎng)絡對候選區(qū)域做特征提取,進行精確的目標類別估計和邊界框位置回歸,具有高精度的優(yōu)勢,但處理效率低、推斷速度慢,不適用于實時性要求高的檢測任務。單階段方法SSD[9]和YOLO系列算法[10-11]不需要提取目標候選區(qū)域,直接對輸入圖像進行卷積特征提取,在特征圖上進行邊界框的回歸,將目標檢測過程轉(zhuǎn)化為回歸問題處理,具有速度上的優(yōu)勢。這些方法在通用數(shù)據(jù)集上已經(jīng)取得了較好的檢測效果,但對于小目標的檢測仍有一定局限性。小目標在原圖中所占像素數(shù)較少,攜帶的信息十分有限,缺乏紋理、形狀、顏色等外觀信息,經(jīng)過多次下采樣后小目標的分辨率進一步降低,特征信息逐步減弱,檢測難度增大,因此通用的目標檢測器具有對小目標檢測精度低的缺點。
在復雜背景中檢測小目標是圖像分析處理領域的一個重要研究方向,小目標廣泛存在于遠距離拍攝的航空航天影像或視頻監(jiān)控中,利用計算機對捕獲的高質(zhì)量圖像數(shù)據(jù)進行有效分析和處理,識別出不同類別的目標并標注其所在的位置是計算機視覺任務中的基礎問題之一,被廣泛應用于城市智慧交通、物流管理、農(nóng)林業(yè)發(fā)展、公共安全、抗災救災部署等任務場景中,用于精確定位和識別目標,節(jié)省大量人力和時間成本,因此小目標檢測技術(shù)具有重要研究意義和實際應用價值。然而,與自然場景下的圖像相比,遠距離拍攝圖像具有背景復雜度高、目標尺寸小且外觀模糊的問題,基于深度學習的目標檢測技術(shù)對小目標檢測精度較低且對復雜背景下目標適應能力弱,容易發(fā)生漏警和虛警現(xiàn)象,嚴重影響檢測結(jié)果,因此小目標檢測在計算機視覺任務中一直是一個亟待解決的難點問題。
近年來,隨著深度學習理論的不斷發(fā)展及工業(yè)界需求的日益增長,小目標檢測技術(shù)的研究引起了越來越廣泛的關(guān)注,但目前專門針對小目標檢測的算法研究較少,現(xiàn)有的小目標檢測算法一般是在通用目標檢測方法的基礎之上提出一些改進或優(yōu)化策略,通過加深網(wǎng)絡的層數(shù),設計能夠提取到更豐富特征的主干網(wǎng)絡[12-13]、復雜化特征融合過程[14-15]來增強模型對多尺度目標的魯棒性,從而提升對小目標的檢測性能。Faster R-CNN[8]和SSD[9]算法分別作為經(jīng)典的兩階段目標檢測算法和單階段目標檢測算法,在檢測精度與速度上取得了較好的表現(xiàn)?;趦呻A段的方法提出了一些針對小目標問題的改進算法[16-26],基于單階段的改進算法[27-29]主要是通過多尺度特征融合的方式來充分利用富含細節(jié)信息的底層高分辨率特征。此外,生成式對抗網(wǎng)絡[30-32]、數(shù)據(jù)擴充[33-36]等技術(shù)被用于解決小目標檢測問題。
小目標檢測的綜述類文章較少,文獻[37-38]以不同的方式對現(xiàn)有的小目標檢測算法進行歸納總結(jié),表1主要從算法的分類方式上將文獻[37-38]的內(nèi)容與本文進行了對比。文獻[37]從單階段算法、兩階段算法及多階段算法3個方面綜述了小目標檢測的研究現(xiàn)狀及各領域應用情況,文獻[38]從5個不同角度分別介紹了現(xiàn)有的小目標檢測方法。本文以通用目標檢測算法對小目標檢測精度低的主要原因為出發(fā)點,從特征增強、引入上下文信息、錨點框設計、數(shù)據(jù)擴充等8個技術(shù)方向全面地總結(jié)了小目標檢測現(xiàn)有的研究工作,并介紹了小目標檢測在幾個特定場景下的應用,最后對小目標檢測未來的研究方向進行展望。希望這篇綜述為小目標檢測的研究提供可借鑒和參考的思路,對小目標檢測技術(shù)的發(fā)展起到一定的推動作用。
表1 小目標檢測綜述比較
所謂小目標指的是目標成像尺寸較小,通常有兩種定義方式,一種是絕對尺寸大小,在COCO數(shù)據(jù)集[51]中,尺寸小于32×32像素的目標被認為是小目標;另一種是相對尺寸大小,根據(jù)國際光學工程學會定義,小目標為256×256像素的圖像中成像面積小于80像素的目標,即若目標的尺寸小于原圖的0.12%則可以認為是小目標。小目標實例如圖1所示,圖1(a)中區(qū)域標注的人、羊、狗表示常規(guī)尺寸目標,圖1(b)中區(qū)域標注的風箏表示小目標。小目標相比于常規(guī)尺寸目標,在圖像中所占像素數(shù)較少,分辨率較低,特征的表達能力較弱。
圖1 小目標實例
COCO數(shù)據(jù)集作為目標檢測領域常用于測試算法性能的公共數(shù)據(jù)集,圖像場景較為復雜,目標類別豐富、數(shù)量大且尺寸較小。在COCO數(shù)據(jù)集上的測試結(jié)果顯示,小目標的檢測精度通常只有大目標的一半,可見小目標問題影響了檢測器在COCO數(shù)據(jù)集上的整體表現(xiàn),使其在語義理解、樣本發(fā)掘、目標重識別等高級任務中存在諸多問題。因此,小目標檢測是計算機視覺領域中一個富有挑戰(zhàn)性的任務。
基于深度學習的目標檢測算法大多針對于具有一定尺寸或比例的中大型目標,難以適用復雜背景下的小目標檢測。小目標檢測的難點主要體現(xiàn)在以下3個方面:
1)目標尺寸與深度網(wǎng)絡提取特征之間的矛盾。由于自身物理尺寸較小或遠距離拍攝導致待測目標在圖像中的占比很小。且由于池化層的存在,基于CNN的目標檢測算法會使目標信息量進一步減少,導致深層特征對小目標的表達能力較弱,一個24×24像素的目標經(jīng)過4個池化層后只有約1個像素,維度過低,難以檢測。
2)用于算法研究的數(shù)據(jù)集少,且目標尺度分布不均勻。由于小目標的標注需要較高的人工成本,目前還沒有一個專門用于小目標檢測研究的公共大型數(shù)據(jù)集,現(xiàn)有的小目標檢測算法大多基于COCO數(shù)據(jù)集。在COCO數(shù)據(jù)集中,小目標數(shù)量較多,但分布十分不均勻,只有52.3%的圖像中包含小目標,且小目標一般只能在較低交并比(Intersection over Union,IoU)的情況下匹配較少的錨點框,隨著置信度閾值的提高,正確預測的小目標邊界框數(shù)量減少,因此在訓練過程中小目標難以進行充分地學習,導致訓練后的模型更加擬合中大型目標,對小目標的泛化能力較弱、檢測精度較低。
3)相關(guān)算法研究缺乏通用性,難以遷移到其他領域。針對小目標檢測算法的研究大部分在于特定場景下的應用,如在大規(guī)模航空拍攝圖像中檢測地理空間目標、密集場景中識別小人臉、監(jiān)控視頻中識別小人物、自動駕駛識別交通標志和信號燈、醫(yī)學影像處理用于輔助診斷等,檢測任務的多樣性及復雜性導致算法在實際應用中面臨著很大挑戰(zhàn),缺乏通用性,難以遷移到其他應用場景下的小目標檢測任務中。
本節(jié)對現(xiàn)有的小目標檢測算法進行歸納總結(jié),以通用目標檢測算法對小目標檢測精度低的主要原因為出發(fā)點,從8個不同角度介紹了現(xiàn)有的小目標檢測研究方向及相關(guān)算法,并對算法的優(yōu)缺點及性能進行對比分析。
小目標尺寸較小,深度網(wǎng)絡能夠提取到的特征信息十分有限,通過特征增強的方式生成高質(zhì)量的特征表示對小目標檢測至關(guān)重要。特征增強的方式主要包括多尺度特征融合、學習具有大感受野的高分辨率特征、生成超分辨率特征表示及引入注意力機制。
2.1.1 多尺度特征融合
卷積神經(jīng)網(wǎng)絡的多層結(jié)構(gòu)可以自動學習不同層次的圖像特征,低層特征圖保留了圖像邊緣、輪廓、紋理等局部細節(jié)信息,有利于目標定位,高層特征圖則包含更加抽象的語義信息,有利于目標分類,但對細節(jié)的感知能力較差。多尺度特征融合通過自上而下的橫向連接將低層特征與高層特征相互融合,構(gòu)建具有細粒度特征和豐富語義信息的特征表示,融合后的特征具有更強的描述性,有利于小目標的檢測。特征融合的方式主要分為3種:逐元素相加[14,27,52-55]、逐元素相乘[15]、通道連接[16,29,56]。
Lin等[14]提出特征金字塔網(wǎng)絡(Feature Pyramid Networks, FPN),結(jié)構(gòu)如圖2所示。高層特征圖上采樣后與較低層特征圖做元素級別的相加,上采樣操作采用雙線性插值法,這種結(jié)構(gòu)增強了網(wǎng)絡對多尺度特征的提取能力,作為基礎模塊被廣泛應用于各種目標檢測框架中并取得了較大的性能提升;Li等[55]在FPN的基礎上引入注意力機制,高層特征經(jīng)全局池化后對低層特征圖的通道進行加權(quán),以指導不同層級信息之間的融合;Woo等[52]驗證了采用反卷積層代替雙線性插值法對高層特征圖做上采樣具有更好的性能;RefineDet[53]結(jié)合了單階段目標檢測方法和兩階段方法的優(yōu)點,初步生成目標候選區(qū)域并將低層特征與經(jīng)轉(zhuǎn)置卷積處理后的高層特征融合,在提高目標檢測效率的同時增強了對小目標的檢測能力;MDSSD[27]在SSD的基礎上將低層特征圖與高層特征圖做逐元素相加,生成的特征圖用于預測不同尺度的目標;Zhao等[54]將不同層次特征融合為基礎特征,送入多層特征金字塔網(wǎng)絡提取更有代表性的多級多尺度特征,將相同尺度的特征圖進行拼接并引入通道注意力機制以獲得更有效的特征表示。
圖2 FPN結(jié)構(gòu)[14]
DSSD算法[15]在SSD結(jié)構(gòu)的基礎上添加反卷積層用來放大高層特征并恢復圖像細節(jié),將反卷積層的輸出與相同尺度的卷積層特征圖進行逐元素相乘,如圖3所示,有利于突出包含重要信息的目標區(qū)域特征,同時抑制其他無關(guān)信息,增強小目標特征的可區(qū)分性,顯著提高了模型對小目標和密集目標的檢測精度。
圖3 DSSD結(jié)構(gòu)[15]
Bell等[16]在Faster R-CNN的基礎上,提取感興趣區(qū)域在不同抽象層次上的特征,并將多尺度特征與空間遞歸神經(jīng)網(wǎng)絡提取的上下文特征進行通道連接,以增強網(wǎng)絡對小目標的檢測能力;FSSD[29]在SSD算法的基礎上將低層特征圖進行通道連接得到高分辨率基礎特征,再構(gòu)建多尺度特征分別用于檢測不同尺度的目標;Shrivastava等[56]設計一種自上而下的模塊,如圖4所示,網(wǎng)絡自適應地從低層特征圖中提取并篩選細節(jié)信息,與高層信息做通道上連接,集成不同區(qū)域的上下文信息以提高小目標的識別率。
圖4 TDM結(jié)構(gòu)[56]
2.1.2 學習具有大感受野的高分辨率特征
特征分辨率表示前向傳播過程中從輸入圖像到特征圖的下采樣率,感受野表示輸出特征圖上單位像素對應輸入圖像的空間范圍。低分辨率、大感受野的高層特征圖會丟失大量小目標的細節(jié)信息,導致模型對小目標的檢測精度較低,因此學習具有大感受野的高分辨率特征表示有利于增強小目標的細粒度特征表示,同時使檢測器可以從目標周圍區(qū)域感知上下文信息進行推理,對小目標的檢測具有十分重要的意義。
擴張卷積是目前用于同時提高特征分辨率和擴大感受野的主流方法,其主要思想是擴展卷積濾波器并使用稀疏內(nèi)核來實現(xiàn)交替的卷積和池化操作。采用擴張率為r的擴張卷積,可以將K×K卷積核擴張至K+(K-1)(r-1),如圖5所示。擴張卷積避免了池化操作導致特征映射的空間信息丟失的問題,在不增加額外參數(shù)和計算量的情況下擴大了感受野。因此被廣泛應用于目標檢測任務中,以提高小目標的檢測效果。
圖5 擴張卷積
擴張卷積主要分為單擴張率卷積[41,57]和多擴張率卷積[58-59]。文獻[41]提出了一個專門用于目標檢測的主干網(wǎng)絡,通過引入擴張卷積模塊來增大感受野,并保留了較高的空間分辨率,解決了傳統(tǒng)基于圖像分類的卷積神經(jīng)網(wǎng)絡對大尺寸目標定位不準確、對小尺寸目標識別能力差的問題;Li等[57]提出了一個新的人臉檢測框架,通過引入擴張卷積使提取到的特征具有更高的辨識度和魯棒性,提高了模型對小尺寸人臉的檢測性能;Li等[58]設計了3個不同感受野的并行分支用于學習輸入圖像中不同尺度的目標;Zhang和Shen[59]基于FPN結(jié)構(gòu)進行改進,通過融合不同擴張率的特征圖以學習目標多尺度信息,在不增加計算復雜度的情況下提高了檢測精度。
2.1.3 生成超分辨率特征表示
小目標在圖像中所占像素數(shù)少,難以提取到高分辨率有效特征用于目標的定位和識別,因此利用特征超分辨率技術(shù)增強小目標的特征表示,將低分辨率特征表示轉(zhuǎn)換為高分辨率可識別的特征表示,有利于提高模型對小目標的檢測精度。
生成式對抗網(wǎng)絡作為一種常用的特征超分辨率技術(shù)被引入目標檢測任務中,通過縮小同類別、不同尺度目標之間的特征表示差異來增強對小目標的檢測效果。Li等[30]提出感知生成對抗網(wǎng)絡,在網(wǎng)絡學習過程中以底層細粒度特征作為輸入,學習大、小目標之間的殘差表示,并對小目標的高層特征進行補充,生成的超分辨率特征與對應大尺寸目標的特征表示相似,生成器與判別器之間交替優(yōu)化的競爭促使生成器生成可辨別的高分辨率特征表示,從而提升網(wǎng)絡對小尺寸目標的檢測能力;Bai等[31]提出一種基于多任務生成對抗網(wǎng)絡的小目標檢測方法,生成器將模糊的感興趣區(qū)域通過上采樣操作生成超分辨率圖像,判別器為多任務網(wǎng)絡,區(qū)分真實圖像與超分辨率圖像并輸出類別得分和邊界框回歸偏移量;為提高超分辨率特征質(zhì)量,Noh等[32]將上下文信息引入目標提取網(wǎng)絡,通過擴張卷積的方式使生成的高分辨率目標特征與特征提取器生成的低分辨率特征保持相同的感受野大小,避免了感受野不匹配誤導特征超分辨率的生成。
2.1.4 引入注意力機制
受人類視覺系統(tǒng)的啟發(fā),近年來許多研究者將注意力機制引入卷積神經(jīng)網(wǎng)絡中以提高目標檢測的性能。按照注意力作用于特征圖的形式,注意力機制主要分為通道注意力[60]、空間注意力[61]及通道和空間混合注意力[62]。由于小目標通常存在于遠距離拍攝的影像中,背景較為復雜,因此通常在目標檢測任務中引入空間注意力機制[63-66],對目標區(qū)域的特征加以權(quán)重,使特征提取網(wǎng)絡有選擇性地關(guān)注包含重要信息的目標區(qū)域,同時抑制其他無關(guān)信息,降低背景對檢測結(jié)果的影響,從而提高模型對小目標的檢測性能。
ACoupleNet[63]在CoupleNet[44]的基礎上引入注意力機制,通過級聯(lián)的注意力模型逐步提取目標區(qū)域并生成注意力感知的卷積特征來指導特征學習的過程,突出顯示與目標相關(guān)的特征并抑制背景的干擾;為從無人機圖像中檢測小而密集的車輛目標,Li等[64]將自上而下、自下而上的注意力機制相結(jié)合,應用循環(huán)流指導特征提取,使網(wǎng)絡更好地定位在目標特征之上,從而提供高精度的目標檢測;針對遙感圖像背景復雜、目標小的問題,Ying等[66]提出一種基于多尺度的多注意目標檢測法,全局注意力模塊用于整合深層和淺層特征,以緩解深層特征分辨率低而引起的小目標信息丟失的問題。像素特征注意力模塊在像素級別融合細節(jié)信息和全局信息,同時擴大感受野,顯著提高了模型的檢測精度及魯棒性。
小目標尺寸較小,攜帶的特征信息較少,缺乏將其與背景或類似物體區(qū)分開的有效外觀信息,在自然場景下的目標檢測任務中融入目標周圍的上下文信息有利于區(qū)分小目標,豐富特征信息的表達,從而提升模型對小目標的檢測效果。
Chen等[17]采用改進版的候選區(qū)域網(wǎng)絡(RegionProposal Network, RPN)提取小目標的候選區(qū)域,分別將候選區(qū)域和以候選區(qū)域為中心在原圖上裁剪的4倍的上下文區(qū)域作為2個并行卷積神經(jīng)網(wǎng)絡分支的輸入,將提取到的2個區(qū)域特征連接作為最終的特征表示,完成對候選區(qū)域的分類;Cai等[18]提出了多尺度候選區(qū)域提取網(wǎng)絡,使網(wǎng)絡充分學習目標的多尺度信息,同時引入上下文區(qū)域信息,顯著提高了模型對小目標的檢測性能;Zhu等[44]提出的CoupleNet全卷積網(wǎng)絡通過結(jié)合局部信息、全局信息與上下文信息,提高模型對小目標的檢測精度;Guan等[45]提出語義上下文感知網(wǎng)絡,采用金字塔池化以融合不同級別的全局上下文信息,提高對小目標檢測的準確性,并采取最大池化和平均池化交替的應用策略以平衡檢測的準確率和查全率。
基于錨點框的目標檢測算法通過人為定義的先驗錨點框生成可能包含目標的候選框集合,然而,先驗錨點框?qū)Χ喑叨饶繕说倪m應性較弱,特別是對小目標檢測召回率過低。鋪設更加密集的錨點框可以確保較高的召回率,但同時會引入更多的參數(shù)量和計算量,因此選擇合適的錨點框參數(shù)對小目標檢測至關(guān)重要。
Krishna和Jawahar[19]通過數(shù)學公式推導,為小目標確定合適的錨點框尺寸,以提高候選框的定位準確率;Zhang等[67]針對目標特性為不同檢測層設置不同尺寸的錨點框,同時保持不同檢測層錨點框的空間密度一致,并提出尺度補償錨點框匹配策略以增加小目標匹配到的錨點框數(shù)量,一定程度上改善了先驗錨點框?qū)π∧繕穗y以匹配導致的檢測率低的問題;YOLOv2[10]使用K-means 算法對訓練數(shù)據(jù)集目標的真實邊界框進行聚類分析,獲得合適的錨點框尺寸以降低目標定位的優(yōu)化難度;2019年,文獻[20]中提出一種新的錨點框生成策略,通過對圖像語義特征進行分析,預測錨點框的位置和大小,生成一系列動態(tài)的錨點框稀疏集合用于匹配圖像中的目標,對特殊大小和長寬比的目標具有較強的魯棒性,實驗證明該方法在提高了檢測召回率的同時減少了錨點框數(shù)量,從而減少了模型的參數(shù)量。
基于Anchor-free的方法是近年來目標檢測領域的發(fā)展趨勢之一,檢測器不再依賴預先設定的錨點框,而將目標檢測任務轉(zhuǎn)換為關(guān)鍵點[68-70]的估計。Anchor-free方法避免了先驗錨點框?qū)π∧繕诉m應能力弱的問題,同時減少了大量錨點框設定引入的計算量,在航空圖像目標檢測任務中具有良好的表現(xiàn)[34,71-72],擁有廣闊的發(fā)展前景。
由于預訓練數(shù)據(jù)集和用于網(wǎng)絡學習的數(shù)據(jù)集中目標尺寸分布存在較大差異,對預訓練網(wǎng)絡進行微調(diào)將會產(chǎn)生域偏移的現(xiàn)象,為了減輕數(shù)據(jù)集差異對小目標檢測性能造成的影響,研究人員提出了一些新的算法。
Singh和Davis[21]提出了一種基于圖像金字塔的尺寸歸一化(SNIP)算法,如圖6所示,通過引入圖像金字塔來處理不同尺寸的數(shù)據(jù),并在反向傳播時只將和預訓練模型所基于的訓練數(shù)據(jù)尺寸相對應的感興趣區(qū)域或錨點框梯度進行回傳,以減少域偏移帶來的精確度損失;Yu等[46]提出了一種尺度匹配方法,對訓練數(shù)據(jù)集進行尺度變換,使用于檢測器學習的數(shù)據(jù)集與用于網(wǎng)絡預訓練的數(shù)據(jù)集之間目標尺度直方圖分布保持一致,這種方法為小人物目標檢測帶來了顯著的性能提升;Zhu等[47]結(jié)合VGG和ResNet的優(yōu)點設計了適用于小目標檢測的主干網(wǎng)絡Root-ResNet,網(wǎng)絡從零開始訓練,不需要使用預訓練模型,避免了數(shù)據(jù)集之間的尺度差異帶來的精度損失。
圖6 SNIP結(jié)構(gòu)[21]
在兩階段目標檢測算法中ROI Pooling層的作用是根據(jù)候選區(qū)域的位置坐標在特征圖中將不同尺度的區(qū)域池化為固定大小的特征向量,以便進行后續(xù)的分類和回歸。然而,ROI Pooling層的池化操作會對小目標原始結(jié)構(gòu)信息造成破壞,量化操作會導致小目標定位準確度的降低。
Hu等[22]在多層特征圖上使用上下文感知的ROI Pooling操作,使用雙線性反卷積核上采樣,擴大小尺寸候選框的特征區(qū)域,恢復細節(jié)并保持場景不被破壞,有利于更好地提取小目標原始結(jié)構(gòu)的判別性特征;He等[23]使用感興趣區(qū)域?qū)R(ROI Align)策略代替ROI Pooling,取消兩次量化操作,使用雙線性內(nèi)插的方法獲得每個坐標為浮點數(shù)的采樣點上的圖像數(shù)值,避免量化過程中強制性地將浮點坐標轉(zhuǎn)化為整數(shù)坐標產(chǎn)生的位置偏差造成目標定位準確性的降低,如圖7所示。由于小目標受量化誤差的影響較大,因此該方法可以有效地提高小目標的檢測精度。
圖7 ROI Align示意圖
在COCO數(shù)據(jù)集中,包含小目標的圖像數(shù)量較少,且通常小目標只能在IoU較低的情況下匹配單個錨點框,在訓練迭代過程中對總損失的貢獻較小,提供給網(wǎng)絡學習的監(jiān)督信息不足,導致模型對小目標的檢測精度較低,因此通常對訓練數(shù)據(jù)集中的樣本進行數(shù)據(jù)擴充以增加小目標的數(shù)量,提高網(wǎng)絡對小目標的擬合能力。
常見的數(shù)據(jù)擴充方式有旋轉(zhuǎn)、剪裁、縮放、水平翻轉(zhuǎn)等,文獻[33]提出一種新的數(shù)據(jù)擴充方式,在訓練過程中對包含小目標的樣本進行過采樣,增加包含小目標的圖像數(shù)量。此外,將小目標拷貝并在一定范圍內(nèi)進行尺度和角度的隨機變換后粘貼在圖像中不同位置上以增加訓練過程中小目標匹配到的錨點框數(shù)量,并提高小目標位置的多樣性,促使模型更加關(guān)注小目標;文獻[34]提出一種自適應重采樣的數(shù)據(jù)擴充技術(shù),在將小目標進行粘貼的過程中,考慮到背景不匹配問題和尺度不匹配問題,通過語義分割網(wǎng)絡確定粘貼目標的有效位置,獲得了更好的小目標檢測器。
另一種數(shù)據(jù)擴充方式是通過訓練圖像縮放和拼接以改善數(shù)據(jù)集中樣本分布不均衡現(xiàn)象,如圖8 所示。Chen等[35]通過將批處理內(nèi)每4張圖像縮小到相同尺寸,并在空間維度上拼接成常規(guī)尺寸的圖像作為訓練網(wǎng)絡的輸入,分別將大目標縮小成中目標,將中目標縮小成小目標,以均衡數(shù)據(jù)集中不同尺度目標的分布,并在訓練時引入損失統(tǒng)計作為反饋自適應地指導下一個迭代過程中拼接圖的使用;YOLOv4[36]采用的Mosaic數(shù)據(jù)擴充方法允許拼接圖中每張圖像的尺寸不同。
圖8 Stitcher及Mosaic數(shù)據(jù)擴充
由于小目標正負樣本的篩選受定位精度的影響較大導致小目標正負樣本不均衡,且細微的位置偏差容易對檢測結(jié)果造成較大的影響,因此小目標對定位精度要求更高。提高小目標的定位精度常用的方法有兩種:邊界框修正[24-26,73]和設計新的損失函數(shù)[74-76]。
HyperNet[24]將不同層次的特征信息整合歸一化到特殊的空間并進行候選區(qū)域提取,有利于得到高質(zhì)量的目標候選框,有效改善了Faster R-CNN 對小目標定位能力差的缺點;Ghodrati等[25]在候選區(qū)域提取階段采用從粗到細的反向級聯(lián)網(wǎng)絡結(jié)構(gòu),結(jié)合高層特征圖高召回率、低層特征圖定位精準的優(yōu)點,在空間上不斷優(yōu)化以得到定位準確的候選區(qū)域集合;Cai和Vasconcelos[26]提出了級聯(lián)的網(wǎng)絡結(jié)構(gòu),如圖9所示,通過不斷提高每個檢測器界定正負樣本的IoU閾值,使每一個檢測器專注于檢測IoU在某一范圍內(nèi)的候選框,從而使目標定位準確度越來越高,這種結(jié)構(gòu)被廣泛應用于復雜場景下的中小型目標檢測任務中。
圖9 Cascade R-CNN算法[26]
為了避免分類置信度與定位置信度之間的偏差導致在非最大值抑制(Non-Maximum Suppression,NMS)處理過程中將低置信度、高定位精度的檢測框抑制掉,Jiang等[73]設計了IoU-Net結(jié)構(gòu)用于預測真實邊界框與檢測框之間的IoU及IoU引導的NMS算法,并將定位回歸問題轉(zhuǎn)化為優(yōu)化問題以進一步提高定位精度;Yu等[74]使用IoU損失代替?zhèn)鹘y(tǒng)的坐標回歸L2損失以解決用于評價檢測框的定位精度指標IoU與定位損失之間的不等價問題;文獻[75-76]對IoU損失進行優(yōu)化以進一步提高目標的定位精度。
當前先進的高性能目標檢測算法依賴于精確的候選區(qū)域,該方法一般基于固定尺寸的錨區(qū)域訓練一組與類別無關(guān)的回歸量,但稀疏的錨區(qū)域先驗導致生成的候選區(qū)域?qū)π∧繕说倪m應能力較差,而密集的錨區(qū)域需要很大的計算量和推理成本。尺度自適應檢測技術(shù)動態(tài)地放大感興趣區(qū)域,自適應地將小目標放大為大尺寸目標,使之與錨點區(qū)域先驗更好地匹配,并通過細粒度分析提高小目標的檢測性能。
Lu等[48]采用自適應遞歸搜索策略生成一系列可能包含目標的錨點區(qū)域,將圖像劃分為多個子區(qū)域,根據(jù)子區(qū)域特征對縮放指示器大于閾值,即可能包含小目標的區(qū)域進一步細分,并對每個子區(qū)域進行遞歸處理,如圖10所示,該方法會自適應地在小目標周圍生成小錨點區(qū)域,相比于RPN網(wǎng)絡具有更高的召回率。
圖10 自適應遞歸搜索
Bellver等[49]提出一種基于強化學習的圖像分層目標檢測方法,在智能代理的指導下,自上而下地從全局視圖依次聚焦圖像中包含豐富信息的子區(qū)域,進一步減少分析處理的區(qū)域,并為子區(qū)域提取高質(zhì)量描述符代替共享卷積特征;Gao等[50]采取從粗到細的檢測策略,在低分辨率圖像中進行粗略檢測,并動態(tài)選擇感興趣區(qū)域進行放大,在高分辨率子區(qū)域中進行精準的目標定位和分類,通過不斷的迭代過程,使網(wǎng)絡能夠從高分辨率輸入圖像中有效地識別小目標。
本節(jié)從小目標檢測的8個研究方向?qū)ο嚓P(guān)算法的優(yōu)缺點及性能進行對比分析,表2是對各個研究方向的歸納總結(jié)及優(yōu)缺點對比,表3是不同算法在COCO數(shù)據(jù)集上的性能對比。
表2 小目標檢測研究方向及算法優(yōu)缺點對比
在COCO數(shù)據(jù)集中,定義尺寸小于32×32的目標為小目標,尺寸在32×32~96×96像素之間的為中目標,尺寸大于96×96像素的目標為大目標,分別用APS、APM、APL這3個評價指標表示算法對小、中、大型目標的檢測精度。由表3實驗結(jié)果可以看到,基于兩階段目標檢測算法,F(xiàn)aster R-CNN w/FPN[14]相較于Faster R-CNN+++[12],APs值提高了2.6%。相較于典型單階段目標檢測算法SSD512[9],DSSD513[15]的APs值提高了4.0%,F(xiàn)SSD512[29]的APs值提高了5.2%。此外,RefineDet512[53]、M2Det800[54]及TDM[56]均通過多尺度特征融合的方式提升了APs值。學習具有大感受野的高分辨率特征可以顯著提高了小目標的檢測精度,DetNet[41]和TridentNet[58]均采用擴張卷積的方式,解決了特征分辨率與感受野之間的矛盾,APs值分別達到23.6%和23.0%。MTGAN[31]通過多任務方式生成小目標的超分辨率特征表示,將APs值提升至25.15%。CoupleNet[44]將上下文信息融入目標檢測網(wǎng)絡,AcoupleNet[63]進一步引入視覺注意力機制,使APs值由11.6%提高至12.2%?;贏nchor-free的目標檢測方法對各尺度的目標檢測精度均有所提升,特別是對小目標而言。在表3中,SNIP[21]擁有最高的APs值,同時在中大型目標的表現(xiàn)也優(yōu)于其他方法。Stitcher[35]算法通過數(shù)據(jù)擴充的方式改善了小目標在圖像中的分布情況,較大程度地提高了APs值。Cascade R-CNN[26]是一種多階段目標檢測方法,通過逐漸提升定位精度將APs值提升至23.7%。
表3 算法在MS-COCO數(shù)據(jù)集上的檢測性能對比
小目標檢測是目標檢測領域中的一個難點問題,被廣泛用于遙感圖像分析、人臉識別、行人檢測、交通標志和信號燈識別等領域。
小目標在圖像中所占像素數(shù)較少、特征信息不明顯,導致小目標檢測算法在常規(guī)數(shù)據(jù)集上的表現(xiàn)不好,因此針對小目標的應用研究需要建立專門的數(shù)據(jù)集。現(xiàn)有的小目標檢測數(shù)據(jù)集分為兩種:第1種是公共數(shù)據(jù)集,即COCO數(shù)據(jù)集,第2種是各個領域的應用數(shù)據(jù)集,如遙感數(shù)據(jù)集、人臉數(shù)據(jù)集、行人數(shù)據(jù)集及交通標志和信號燈數(shù)據(jù)集等,各領域常用的數(shù)據(jù)集及其主要信息如表4所示。
表4 各領域應用數(shù)據(jù)集
3.1.1 遙感數(shù)據(jù)集
航空遙感圖像一般在距離地面十幾公里外拍攝,覆蓋范圍較廣,輸入圖像像素數(shù)巨大,超過百萬像素,而通常感興趣的目標尺寸較小,為幾十個甚至幾個像素。目標類別的多樣性及拍攝距離的不確定性導致目標尺度差異性較大,且圖像質(zhì)量易受光照、霧霾、陰影等環(huán)境因素的影響,數(shù)據(jù)集的泛化能力較差。
DOTA數(shù)據(jù)集[77]是一個常用的大規(guī)模航空遙感圖像目標檢測數(shù)據(jù)集,包含來自不同傳感器和平臺的2 806張航空影像,尺寸在800×800~4 000×4 000像素范圍內(nèi),使用矩形邊界框標注了不同尺度、方向和形狀的188 282個目標實例;由西北工業(yè)大學標注的NWPU VHR-10數(shù)據(jù)集[78]共計800張圖像,包含10類目標;UCAS-AOD數(shù)據(jù)集[79]僅包含汽車、飛機兩類目標及背景負樣本;VEDAI數(shù)據(jù)集[80]專門用于航空遙感圖像中多類車輛的檢測,共包含3 640個車輛實例。
3.1.2 人臉數(shù)據(jù)集
在人臉檢測任務中,主要存在的問題是人臉在姿態(tài)、表情、尺度、遮擋、光照等方面具有豐富的變化,F(xiàn)DDB[81]是一個被廣泛用于人臉檢測算法評估的數(shù)據(jù)集,來源于美聯(lián)社和路透社的新聞報道圖片;WIDER FACE[82]是目前難度最大、最權(quán)威的人臉檢測公開數(shù)據(jù)集,共標注了393 703張人臉,全面包括了各種難點問題,且包含大量的小人臉;MALF[83]是為評估野外環(huán)境下人臉檢測算法而設計的數(shù)據(jù)庫;MegaFace數(shù)據(jù)集[84]包含一百萬張圖片,共690 000個不同的人,是第1個在百萬規(guī)模級別的面部識別算法測試基準。
3.1.3 行人數(shù)據(jù)集
行人外觀易受穿著、尺度、遮擋、姿態(tài)和視角等影響,Caltech[85]是規(guī)模較大的行人數(shù)據(jù)庫,采用車載攝像頭拍攝,標注了約250 000幀,共2 300 個行人,另外還對矩形框之間的時間對應關(guān)系及其遮擋的情況進行標注;INRIA[86]是目前使用最多的靜態(tài)行人檢測數(shù)據(jù)庫,訓練集有正樣本614張,包含2 416個行人;CityPersons[87]是在Cityspaces數(shù)據(jù)集[88]的基礎上重新標注的行人檢測數(shù)據(jù)集,具有高質(zhì)量的標注信息、豐富的多樣性及較強的跨數(shù)據(jù)集泛化能力。
3.1.4 交通標志和信號燈數(shù)據(jù)集
TT100K[89]是一個大規(guī)模交通標志識別數(shù)據(jù)集,均來自騰訊街景全景圖,它提供了100 000張高分辨率圖像,這些圖像覆蓋了光照強度和天氣條件的巨大變化,其中包含30 000個交通標志實例,共128種標志,是用于交通標志識別的最可靠的基準數(shù)據(jù)集;中國交通標志檢測數(shù)據(jù)集CCTSDB[90]包含圖片近16 000張,交通標志近40 000個;BSTL[91]是目前最大的交通信號燈檢測數(shù)據(jù)集,包含5 000張靜態(tài)圖像和8 200幀視頻圖像,共標注24 000個小型交通信號燈實例。
在不同應用領域,小目標檢測技術(shù)有所不同,但在方法上大多是基于第2節(jié)所述的8個研究方向,本節(jié)將從4個不同領域介紹小目標檢測算法的應用。
3.2.1 遙感圖像目標檢測
如圖11所示,在大規(guī)模遙感圖像地物目標檢測中,針對目標尺寸小、特征弱的特點,研究人員提出一系列算法,如表5所示。Long等[92]提出了一種基于分數(shù)的無監(jiān)督邊界框回歸算法,對NMS得到的檢測結(jié)果進行優(yōu)化,以精確定位圖像中的小尺寸目標;Pang等[93]設計了一個輕量化的殘差網(wǎng)絡Tiny-Net作為主干網(wǎng)絡,采用特征融合的方式獲得小目標的有效特征信息,并使用K-means法為小目標設計合適的錨點框尺寸;李紅艷等[65]以Faster R-CNN算法為基礎,在候選區(qū)域提取階段引入注意力機制,使網(wǎng)絡更關(guān)注目標區(qū)域特征,抑制無關(guān)信息,以適應遙感圖像遠距離拍攝導致的目標尺寸小、背景復雜的特點。
圖11 遙感圖像目標檢測
表5 遙感圖像目標檢測算法所對應的研究方向
3.2.2 人臉檢測
如圖12所示,在視頻拍攝場景中檢測小人臉一般采取引入上下文信息的方式,利用人臉周圍的頭發(fā)、肩膀等信息以更好地定位人臉。SSH[1]是一個多尺度單階段人臉檢測器,不同尺度特征接入的預測模塊通過對上下文信息進行合并,擴大感受野范圍,用于檢測不同尺度的人臉;Hu和Ramanan[94]利用小人臉周圍的信息擴充感受野,以多任務的方式構(gòu)建多尺度檢測器,并對于不同尺度的檢測器采用固定尺寸的感受野大小以有效識別小目標;Tang等[95]引入上下文輔助框架為人臉周圍上下文信息的學習提供監(jiān)督信息,設計底層特征金字塔網(wǎng)絡以更好地融合上下文特征和面部細節(jié)特征,同時引入上下文預測模塊,使用更深、更寬的預測網(wǎng)絡獲得有利于小人臉分類和定位的特征信息,提高最終預測的準確率。
圖12 人臉檢測
3.2.3 行人檢測
行人檢測作為目標檢測的重要分支之一,通常與行人跟蹤、行人重識別等技術(shù)進行結(jié)合對區(qū)域內(nèi)的行人進行檢測、識別、跟蹤,在智能監(jiān)控系統(tǒng)、自動駕駛、步態(tài)識別等領域受到較為廣泛的關(guān)注。如圖13所示,由于遠距離拍攝導致行人尺寸一般較小,在行人檢測任務中需要考慮小目標檢測的問題,相關(guān)算法如表6所示。Zhang等[2]從淺層高分辨率特征圖上進行特征映射提取候選區(qū)域,并采用級聯(lián)的增強森林分類器對候選區(qū)域進行分類;Mao等[96]將額外的通道特征與主干網(wǎng)絡提取的特征進行級聯(lián)以提升檢測器的性能;Liu等[97]采用級聯(lián)的思想,利用不斷提高的IoU閾值訓練多個檢測器,顯著提高了行人檢測精度并保持較高的檢測效率。
圖13 行人檢測
表6 行人檢測算法所對應的研究方向
3.2.4 交通標志和信號燈檢測
近年來,隨著自動駕駛技術(shù)的不斷發(fā)展,車載設備捕獲的視覺信息對導航系統(tǒng)具有重要的指導作用,其中交通標志和信號燈的檢測成為計算機視覺領域的研究熱點,如圖14所示。相關(guān)算法如表7所示。Cheng等[98]使用上下文增強模塊從候選區(qū)域周圍提取區(qū)分性的上下文特征,以增強對小尺寸交通標志的分類準確性;Lu等[99]在生成目標候選區(qū)域階段引入視覺注意力機制,有利于從高分辨率圖像中定位和識別小目標;Li等[30]通過感知生成對抗網(wǎng)絡增強小目標的特征表示,以優(yōu)越的性能實現(xiàn)了在交通標志和行人檢測上的應用。
圖14 交通標志和信號燈檢測
表7 交通標志和信號燈檢測算法所對應研究方向
隨著深度學習理論和方法的發(fā)展,目標檢測算法在通用數(shù)據(jù)集上取得了較好的效果。但小目標檢測仍是一個難題,對其的研究大多是在現(xiàn)有算法的基礎上進行改進和優(yōu)化。對于小目標檢測的未來發(fā)展,有3個研究方向值得探索:
1)設計專用特征提取網(wǎng)絡
現(xiàn)有的目標檢測模型大多是以在ImageNet上預訓練的分類網(wǎng)絡作為主干網(wǎng)絡,分類任務與檢測任務中模型的設計原則不同,且數(shù)據(jù)集間目標尺寸分布的差異性導致小目標檢測存在一定的問題。因此為小目標設計專門的特征提取網(wǎng)絡是未來小目標檢測的重要研究方向之一。
2)建立非強監(jiān)督目標檢測模型
精確的目標邊界框標注信息是強監(jiān)督目標檢測的前提,但由于小目標標注需要大量的人工成本,效率低下,因此通過低成本的標注信息獲得良好的檢測結(jié)果并提升檢測效率是當前的研究熱點。利用弱監(jiān)督學習、小樣本學習、自監(jiān)督學習等方法在標定數(shù)據(jù)缺失的情況下建立非強監(jiān)督檢測模型,完成小目標檢測是未來值得深入研究的方向。
3)引入多任務學習機制
構(gòu)建多任務學習模型,與其他類型任務聯(lián)合學習以獲得更多有利于小目標檢測的信息,并通過多任務學習的參數(shù)共享機制,提升小目標檢測的性能。例如利用語義分割任務捕獲的目標邊緣和上下文信息有助于更好地識別和定位目標;將計數(shù)任務與目標檢測任務相結(jié)合,學習計數(shù)輔助的目標檢測器可以一定程度上消除復雜背景的干擾,避免漏檢。
4)結(jié)合非深度學習方法
針對極限小目標,如5×5像素級別的目標,深度網(wǎng)絡模型可能存在固有缺陷,特征提取階段導致目標有限信息量進一步損失,此時需要考慮深度網(wǎng)絡模型與非深度方法相結(jié)合的思路,例如通過與顯著性檢測、超像素分割等非深度方法相結(jié)合,提取更多有效信息,完成后續(xù)的目標定位與識別任務。
小目標檢測對于圖像分析和處理具有重要意義,但總體來看小目標檢測的研究成果較少,在檢測精度和效率上均有較大的提升空間,是未來目標檢測的重要研究方向。本文從不同角度指出基于深度學習的通用目標檢測算法在小目標檢測中存在的問題,著重歸納總結(jié)了現(xiàn)有的小目標檢測研究在不同技術(shù)方向上取得的成果,并介紹了幾個特定場景下小目標檢測的應用數(shù)據(jù)集和算法,最后對小目標檢測領域未來可深入的研究方向進行展望,希望通過本文的總結(jié)為今后小目標檢測技術(shù)的研究工作提供一定的啟發(fā)和幫助。