劉洪江,王 懋,劉麗華,吳繼冰,黃宏斌
(國防科技大學(xué)信息系統(tǒng)工程重點實驗室,湖南 長沙 410073)
目標(biāo)檢測是計算機視覺研究領(lǐng)域的核心問題之一,其任務(wù)是找出圖像中所有感興趣的目標(biāo),并確定它們的類別和位置。傳統(tǒng)的目標(biāo)檢測方法由區(qū)域選擇、特征提取和分類器分類3個步驟組成,其由于存在區(qū)域選擇策略沒有針對性、時間復(fù)雜度高、手工設(shè)計的特征魯棒性較差等特點,使得檢測效果不理想。自深度學(xué)習(xí)運用到目標(biāo)檢測之后,目標(biāo)檢測技術(shù)取得了巨大的突破,現(xiàn)最矚目的2個方向是以R-CNN(Region-based Convolutional Neural Network)系列[1 - 3]為代表的基于候選框(Region Proposal)的兩階段深度學(xué)習(xí)目標(biāo)檢測算法,和以YOLO(You Only Look Ocnce)系列[4 - 6]為代表的基于回歸方法的單階段深度學(xué)習(xí)目標(biāo)檢測算法。目前基于深度學(xué)習(xí)的目標(biāo)檢測在視頻目標(biāo)實時檢測、人臉識別、行人檢測、車輛檢測、交通標(biāo)識檢測和醫(yī)學(xué)影像識別等領(lǐng)域有廣泛的應(yīng)用。近幾年的研究,產(chǎn)生了大量目標(biāo)檢測的改進算法。這些算法在各類數(shù)據(jù)集上取得的效果逐漸提升,但除缺乏高質(zhì)量標(biāo)注數(shù)據(jù)集外,仍有很多暫未解決的問題,例如,(1)對于遮擋面積較大的目標(biāo)和小目標(biāo)的檢測效果不理想;(2)不能很好地區(qū)分圖像中與目標(biāo)物體外形相似的非目標(biāo)物體;(3)自動駕駛或汽車輔助駕駛等對實時處理能力要求較高的應(yīng)用場景的檢測速度和精度仍較低;(4)基于小樣本訓(xùn)練的檢測模型效果不理想;(5)檢測算法的性能和輕量化檢測模型等關(guān)鍵技術(shù)仍存在挑戰(zhàn)。針對這些問題,研究人員已提出很多專門的優(yōu)化方法,當(dāng)前已有較多關(guān)于深度學(xué)習(xí)目標(biāo)檢測的綜述[7 - 11],也有關(guān)于各種主流目標(biāo)檢測方法對小目標(biāo)檢測性能評估的文獻[12],但針對小目標(biāo)檢測的綜述不多,且隨著方法的不斷創(chuàng)新,許多新的方法在之前的綜述中不曾涉及。本文將圍繞深度學(xué)習(xí)小目標(biāo)檢測技術(shù),首先分析小目標(biāo)檢測的應(yīng)用需求及小目標(biāo)檢測困難的原因,然后論述當(dāng)前各種提升小目標(biāo)檢測效果的方法,最后簡要介紹目標(biāo)檢測常用數(shù)據(jù)集和小目標(biāo)檢測常用數(shù)據(jù)集。
目標(biāo)檢測中一般認(rèn)為物體的尺寸相對于原始圖像的尺寸較小時為小目標(biāo)。部分?jǐn)?shù)據(jù)集對小目標(biāo)有明確的定義,例如,原始圖像尺寸為1024*2048像素的行人數(shù)據(jù)集CityPerson,將高度小于75像素的目標(biāo)定義為小目標(biāo)。數(shù)據(jù)集MS COCO中小目標(biāo)為像素小于32*32的物體。Zhu等[13]在其交通標(biāo)志數(shù)據(jù)集中,將寬度占整個圖像比例小于20%的目標(biāo)定義為小目標(biāo)。而數(shù)據(jù)集CamVid中則將sign symbol,pedestrian,pole和bicyclist定義為小目標(biāo)類別,其它7種類別均定義為大目標(biāo)。另一個數(shù)據(jù)集CityScapes采用同樣的方式,將pole, traffic light, traffic sign, person, rider, motorcycle和bicycle定義為小目標(biāo)類別,其它12種類別均定義為大目標(biāo)。
小目標(biāo)檢測的用途廣泛且起著重要作用,如自動駕駛車輛,需要精確地從圖像中檢測出小目標(biāo);在醫(yī)學(xué)圖像中,需越早越精準(zhǔn)地完成大小可能只有幾個像素的腫塊或者腫瘤的早期檢測;工業(yè)自動檢測中,需要用精準(zhǔn)的小目標(biāo)檢測技術(shù)定位物料表面小的視覺瑕疵;在遙感圖像分析中,汽車、船與房子這些平均一個像素表示0.5~5 m的目標(biāo)都需要被有效地檢測出來。此外,還有諸如小人臉的檢測、小人像的檢測、交通標(biāo)志的檢測、公司logo的檢測、紅外圖像中小目標(biāo)的檢測和風(fēng)能發(fā)電站周邊的鳥群檢測等應(yīng)用,因此非常有必要發(fā)展小目標(biāo)檢測技術(shù)。
小目標(biāo)的覆蓋區(qū)域小,其分辨率低,圖像模糊,攜帶的信息少,位置缺少多樣性,特征(亮度、邊緣信息等)比較淺,表達能力弱。各種目標(biāo)檢測方法對于小目標(biāo)的檢測都不能達到同大目標(biāo)一樣的精度,具體原因有以下幾種。
2.2.1 卷積神經(jīng)網(wǎng)絡(luò)的卷積步幅較大
深度學(xué)習(xí)目標(biāo)檢測使用卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)作為特征提取工具,在CNN中為了增大感受野,會使得CNN中的特征圖(Feature Map)不斷縮小,步幅的值很可能比小目標(biāo)尺寸還大,導(dǎo)致小目標(biāo)在網(wǎng)絡(luò)卷積過程中很難傳遞到后面的深層網(wǎng)絡(luò)中去[14]。
2.2.2 數(shù)據(jù)集的分布情況不理想
當(dāng)前常用的目標(biāo)檢測數(shù)據(jù)集,如MS COCO,其中小目標(biāo)的樣本數(shù)量占比較少,且大目標(biāo)和小目標(biāo)的尺寸差異比較大,為網(wǎng)絡(luò)適應(yīng)目標(biāo)帶來了一定的困難。此外專門的小目標(biāo)數(shù)據(jù)集,如tiny person,其一幅圖像中小目標(biāo)的數(shù)量可能較少,如小于20個,也可能較多,如超過100個,小目標(biāo)密集程度的不同使得很難用統(tǒng)一的方法來提升小目標(biāo)的檢測效果。
2.2.3 模型泛化能力弱
模型通常使用分類數(shù)據(jù)集進行預(yù)訓(xùn)練,而分類數(shù)據(jù)集中物體目標(biāo)通常相對較大,小目標(biāo)檢測數(shù)據(jù)集中的物體目標(biāo)則較小,學(xué)習(xí)到的模型對小目標(biāo)更難有效地泛化,存在較大的域轉(zhuǎn)移現(xiàn)象[15]。
2.2.4 先驗框的設(shè)置欠優(yōu)
首先,一組非常多的先驗框(Anchor Box)中只有一小部分與真實標(biāo)注(Ground Truth)重疊,造成了正負(fù)樣本之間較大的不平衡,降低了訓(xùn)練速度。其次,小目標(biāo)和背景之間的尺寸也不均衡,用較小的感受野去關(guān)注其特征,則很難提取全局語義信息,用較大感受野去關(guān)注背景信息,則小目標(biāo)的特征會丟失信息。同時物體的尺寸變化是連續(xù)的,而Anchor Box的設(shè)定尺寸是離散的。當(dāng)某目標(biāo)的尺寸接近于設(shè)定的Anchor Box大小時,該目標(biāo)附近會產(chǎn)生較多Anchor Box,從而更容易被探測出來。然而,小目標(biāo)的尺寸大小往往與Anchor Box尺寸相差較大,因而附近產(chǎn)生的Anchor Box也較少,從而降低了探測性能。最后,Anchor Box的使用需要許多超參數(shù)和設(shè)計選擇,加大了計算難度[16]。
2.2.5 交并比閾值的設(shè)置欠優(yōu)
小目標(biāo)的候選邊界框(Bounding Box)與Ground Truth之間的交并比IoU(Intersection over Union)較小,IoU閾值的大小直接影響正負(fù)樣本的選取。而且進行目標(biāo)檢測之后選取冗余的Bounding Box時,IoU閾值的大小也會影響最終小目標(biāo)的定位精度[17]。
針對小目標(biāo)檢測困難因素的分析,當(dāng)前有多種不同的應(yīng)對策略,現(xiàn)就各種提升小目標(biāo)檢測性能的方法展開論述。
最初的目標(biāo)檢測方法,是在網(wǎng)絡(luò)的最后一層進行分類預(yù)測(圖1a),由于目標(biāo)的尺度不一,隨著網(wǎng)絡(luò)層數(shù)的增加,小目標(biāo)的特征越來越少,因此這種方法對小目標(biāo)的檢測效果不理想。根據(jù)多尺度的特性對原始圖像進行變換,可形成圖像金字塔,對圖像的Feature Map進行變換,會形成特征金字塔。
Figure 1 Network structure of common object detection methods圖1 常見目標(biāo)檢測方法的網(wǎng)絡(luò)結(jié)構(gòu)
3.1.1 圖像金字塔
針對不同尺度的目標(biāo),可通過對訓(xùn)練圖像上采樣得到多尺度的圖像金字塔(圖1b)。上采樣能夠加強小目標(biāo)的細(xì)粒度特征,并優(yōu)化小目標(biāo)檢測的定位和識別效果,得到了廣泛應(yīng)用[18 - 21]。但是,基于圖像金字塔訓(xùn)練CNN模型對計算機的算力和內(nèi)存都有非常高的要求,在后續(xù)的研究中多是對圖像金字塔加以改進后再使用。Yang等[22]針對不同尺度的人臉檢測,將3個不同尺度的檢測器(10 px~40 px, 40 px~140 px, 140 px~1300 px)集成在同一個網(wǎng)絡(luò)中,每個檢測器只取樣屬于它應(yīng)該處理范圍的尺度,用于取代圖像金字塔,在檢測效率上有所提升。Singh等[23]提出了圖像金字塔尺度歸一化方法SNIP(Scale Normalization for Image Pyramids),通過改進的多尺度訓(xùn)練MST (Multi-Scale Training)來解決尺度不變性的問題。只考慮那些在指定尺度范圍內(nèi)的目標(biāo),對于大尺度的Feature Map,對應(yīng)的區(qū)域生成網(wǎng)絡(luò)RPN(Region Proposal Network)只負(fù)責(zé)預(yù)測被放大的小目標(biāo);對于小尺度的Feature Map,對應(yīng)的RPN只負(fù)責(zé)預(yù)測被縮小的大目標(biāo)。在訓(xùn)練時,每次回傳那些大小在一個預(yù)先指定范圍內(nèi)Region Proposal的梯度,而忽略掉過大或者過小的Region Proposal;在測試時,建立大小不同的圖像金字塔,在每幅圖像上都運行這樣一個檢測器,同樣只保留那些大小在指定范圍內(nèi)的輸出結(jié)果,最終保證網(wǎng)絡(luò)總是在同樣尺度的物體上訓(xùn)練。這種方法彌補了MST雖然包含了各類目標(biāo)的各種尺度,目標(biāo)特征較多,但會出現(xiàn)極大或極小的目標(biāo),影響訓(xùn)練效果的不足。SNIP把一些極端的Region Proposal忽略掉,相對來說只保留了尺度大致一致的Region Proposal參與訓(xùn)練,這樣每個尺度的圖像的每個像素都要參與訓(xùn)練,導(dǎo)致訓(xùn)練過程較慢?;赟NIP,Singh等[24]以適當(dāng)?shù)谋壤幚韈hips(某個圖像的某個尺度上的一系列固定大小及以恒定間隔、排布的小窗,每個小窗都可能包含一個或幾個目標(biāo)。在訓(xùn)練期間每幅圖像生成的chips數(shù)量會根據(jù)場景復(fù)雜度而自適應(yīng)地變化)周圍的上下文區(qū)域,并將chips縮放到相同的尺度進行訓(xùn)練,使用較小尺度的chips進行訓(xùn)練,而不使用尺度較大的金字塔圖像,在一定程度上減少了計算量。
3.1.2 特征金字塔
鑒于使用圖像金字塔進行目標(biāo)檢測具有運算復(fù)雜度高、效率低和實時性差等缺點,且考慮淺層網(wǎng)絡(luò)對小目標(biāo)的檢測更有利,因此特征金字塔方法的使用更為廣泛。最基本的是SSD(Single Shot multiBox Detector)[25]和FPN(Feature Pyramid Networks)[26],后續(xù)許多對特征金字塔的改進策略都是基于這2種方法。SSD在網(wǎng)絡(luò)多個層輸出的Feature Map上進行目標(biāo)分類預(yù)測,大尺度Feature Map(網(wǎng)絡(luò)淺層)用來檢測小目標(biāo),而小尺度Feature Map(網(wǎng)絡(luò)深層)用來檢測大目標(biāo),以同時兼顧大、中、小目標(biāo)的檢測精度,最后綜合得出檢測結(jié)果(圖1c)。Kong等[27]基于SSD,將自底向上的多個Feature Map聯(lián)合,生成特定尺度的特征,經(jīng)由全局注意力模塊[28]和局部重建模塊,在不同的空間和尺度上提取任務(wù)相關(guān)的特征后,再在不同尺度上進行檢測。此結(jié)構(gòu)將底層表示和高層語義特征進行了整合,其結(jié)構(gòu)高度非線性但計算速度更快。Jeong等[29]提出了3種利用特征金字塔中各層之間關(guān)系的方法:(1) 較低層中的特征映射通過Pooling連接到較高層的特征映射,使具有大接收域的分類器網(wǎng)絡(luò)可以豐富目標(biāo)檢測的表示能力;(2)通過反卷積或上采樣將上層的特征映射圖連接到下層特征;(3)同時使用Pooling和反卷積。這種利用特征金字塔中各層之間關(guān)系的方法,改進了SSD不同尺度的Feature Map相互獨立,缺少聯(lián)系,使得同一目標(biāo)在不同尺度上被多次檢測的不足。Zhou等[30]提出了可縮放的目標(biāo)檢測網(wǎng)絡(luò)STDN(Scale-Transferrable Detection Network),在SSD基礎(chǔ)上加入比例轉(zhuǎn)移模塊STM(Scale-Transfer Module),先獲得小尺度的Feature Map,再用尺度轉(zhuǎn)換層通過減少Feature Map的通道個數(shù),來獲得大尺度的Feature Map。STDN在不增加任何參數(shù)和計算量的同時,達到了基于低分率Feature Map獲得高分率Feature Map的效果,最終實現(xiàn)目標(biāo)檢測的正確率和速度的提升。Zhang等[31]基于SSD,利用語義分割強化淺層的特征信息,提出了新的單階段檢測算法,減弱了淺層基本視覺特征對小目標(biāo)檢測性能的影響。
SSD系列的特征金字塔對硬件的需求較高,于是Lin等[26]提出了另一種特征金字塔FPN(Feature Pyramid Networks for object detection)。FPN從底至上利用各個網(wǎng)絡(luò)層對同一尺度圖像不同維度的特征表達結(jié)構(gòu),參考多尺度Feature Map的特征信息,同時兼顧了較強的語義特征和位置特征,可以生成表達能力更強的Feature Map,供下一階段的目標(biāo)檢測使用(圖1d)。多尺度Feature Map是CNN中固有的過渡模塊,堆疊多尺度Feature Map對算法復(fù)雜度的增加微乎其微。Liu等[32]基于FPN,提出了一種新穎的圖像金字塔引導(dǎo)網(wǎng)絡(luò)IPG-Net(Image Pyramid Guidance Network),其中包含1個基于圖像金字塔引導(dǎo)的IPG子網(wǎng)絡(luò)、1個融合模塊和1個基于圖像金字塔的骨干網(wǎng)絡(luò)(Backbone)。IPG-Net使用圖像金字塔來指導(dǎo)Backbone,以學(xué)習(xí)更好的檢測特征,用于為神經(jīng)網(wǎng)絡(luò)模型的每一層提供更充足的空間信息。對于Backbone中的每一層,通過IPG子網(wǎng)絡(luò)計算相應(yīng)層級的圖像金字塔特征,然后使用融合模塊將圖像金字塔特征融合到Backbone中,最終生成特征金字塔,有效地緩解了較深卷積層中的空間信息不足和小目標(biāo)易丟失的問題。Zhao等[33]提出了多層特征金字塔網(wǎng)絡(luò)MLFPN (Multi-Level Feature Pyramid Network),其首先利用特征融合模塊融合淺層特征和深層特征以產(chǎn)生基本特征,為MLFPN提供多級語義信息;其次交替堆疊多個簡化的U形模塊TUM(Thinned U-shape Modules)和特征融合模塊。每個TUM生成具有不同尺度的若干特征圖,特征融合模塊融合了基本特征和前一個TUM的最大輸出特征圖;最后通過比例縮放特征聚合模塊將特征聚合為多級特征金字塔。將MLFPN集成到SSD架構(gòu)中,得到新的模型,更好地進行了特征融合,改進了FPN中每個特征只由網(wǎng)絡(luò)主干中的一層信息構(gòu)成,不同尺度所選的特征不具備代表性(一幅圖像上相同大小的物體,有的本身就很大,而有的是因為物體本身相對遙遠)的不足。Hao等[34]針對多尺度人臉檢測問題,先用全卷積網(wǎng)絡(luò)輸出一個固定維度的尺度直方圖,并計算每個尺度對應(yīng)的置信度,然后利用滑動平均濾波處理直方圖向量可能存在的噪聲,再利用非極大抑制[35]來尋找置信度最高的尺度,最后在這些特定的尺度上對人臉進行檢測。這樣不用在各個尺度下對人臉進行檢測,檢測速度進一步提升。Shen等[36]應(yīng)用門限機制,基于一種能從零開始訓(xùn)練的檢測器DSOD(learning Deeply Supervised Object Detectors from scratch)提出了一種根據(jù)中間層不同尺度動態(tài)調(diào)整監(jiān)督強度的目標(biāo)檢測方法。由于小尺度上的目標(biāo)很容易被細(xì)粒度特征(網(wǎng)絡(luò)低層)檢測到,從低層特征得來的信號應(yīng)該被增強。大尺度上的目標(biāo)很容易被粗粒度特征(網(wǎng)絡(luò)高層)檢測到,從高層特征得來的信號應(yīng)該被增強。通過拼接高層的語義特征和低層的空間特征到單個金字塔層中,來提高檢測效果。通過下采樣將低水平的Feature Map中的信息傳到當(dāng)前層并與當(dāng)前層拼接;通過上采樣將高水平的語義信息傳到當(dāng)前層并與當(dāng)前層拼接,在每個尺度的預(yù)測層中重復(fù)上述拼接操作。這種方法改善了特征金字塔只有一個尺度的特征表達,各層的特征相互獨立,缺少關(guān)聯(lián),以及每層金字塔貢獻出的監(jiān)督信息固定的缺陷。Kim等[37]基于SPP-Net(Spatial Pyramid Pooling in deep convolutional Networks for visual recognition)[38],提出了一種并行特征金字塔網(wǎng)絡(luò),其通過加寬網(wǎng)絡(luò)寬度而不是增加網(wǎng)絡(luò)深度來構(gòu)建,從而提升了大、中、小目標(biāo)的檢測效果。Liu等[39]提出了路徑匯聚網(wǎng)絡(luò),通過自下而上的特征融合路徑,取代FPN中自上而下的路徑,可以增強在較低層中準(zhǔn)確的定位信息流,建立底層特征和高層特征之間的信息路徑,縮短高、低層特征融合的路徑,從而增強整個特征層次架構(gòu)。Li等[40]根據(jù)感受野大小對目標(biāo)檢測的影響,設(shè)計了三叉戟網(wǎng)絡(luò)模塊。對某個特定的網(wǎng)絡(luò)結(jié)構(gòu),只改變不為1*1的卷積核,添加多個并行分支的網(wǎng)絡(luò)結(jié)構(gòu)來兼顧多個尺度,且各個分支共享權(quán)重。在主干網(wǎng)絡(luò)的第1個預(yù)測層,連接語義分割模塊SM(Segmentation Module),將主框架con4_3的輸出和Ground Truth經(jīng)過 SM,再返回到con4_3作為下一層的輸入,以增強特征的語義信息。并將低層的語義分割結(jié)果融合到高層特征信息中,在每個預(yù)測層添加全局激活塊[28],負(fù)責(zé)學(xué)習(xí)通道間的關(guān)系和通道的權(quán)重,增強了特征中重要的成分。Deng等[41]提出了擴展特征金字塔網(wǎng)絡(luò)EFPN(Extended Feature Pyramid Network),它具有專門用于小目標(biāo)檢測的超高分辨率金字塔層。EFPN的頂部由4層金字塔構(gòu)成,用于中型和大型目標(biāo)檢測,底部包含1個特征紋理遷移FTT(Feature Texture Transfer)模塊、1個自上而下的路徑和1個金字塔層,旨在捕獲小目標(biāo)的區(qū)域細(xì)節(jié)。FTT模塊集成EFPN上的相應(yīng)金字塔層中的語義內(nèi)容和區(qū)域紋理,用于超分辨率特征并同時提取可信的區(qū)域細(xì)節(jié)。然后,類似FPN的自頂向下路徑將FTT模塊的輸出向下傳遞,形成最終的擴展金字塔層。擴展的特征金字塔被饋送到后續(xù)的檢測器,以進行進一步的目標(biāo)定位和分類,在計算和存儲上都具有高效性。
在目標(biāo)檢測中,目標(biāo)所在的特征上下文信息對目標(biāo)的識別有很大幫助,比如一般情況下輪船周圍的特征上下文信息是海洋或者港口,人臉周圍的特征上下文信息是頭發(fā)及衣物。Zagoruyko等[42]使用區(qū)域裁剪的方法,在原始的Region Proposal中心位置,裁剪4種不同倍數(shù)(×1,×1.5,×2,×4)的區(qū)域,然后進行RoI(Region of Interest)Pool- ing,將輸出的信息拼接到一起,達到融合上下文信息的效果。Ren等[43]提出了一個循環(huán)滾動卷積結(jié)構(gòu)來漸進地完成尋找合適的上下文信息的任務(wù)。Fu等[44]在SSD結(jié)構(gòu)中添加了反卷積模塊,從而引入空間上下文信息,使網(wǎng)絡(luò)結(jié)構(gòu)成“寬-窄-寬”的沙漏結(jié)構(gòu),增強了特征提取能力,較大提高了小目標(biāo)檢測的準(zhǔn)確率。Samangouei等[45]提出了一種人臉放大網(wǎng)絡(luò),在RPN和RoI Pooling之間加入反卷積,對每個Region Proposal周圍匯集上下文區(qū)域,以方便檢測更精細(xì)的人臉。Bell等[46]在Fast R-CNN基礎(chǔ)上,利用上下文和多尺度信息,提出了一種內(nèi)外網(wǎng)結(jié)構(gòu)。內(nèi)部通過Skip Pooling連接不同卷積層輸出的Feature Map,實現(xiàn)了多尺度特征的融合;外部通過空間遞歸神經(jīng)網(wǎng)絡(luò)整合了上下文信息。Hu等[47]基于“中心凹”描述子(模糊周邊圖像進行編碼),對輸入圖像創(chuàng)建一個粗圖像金字塔(×0.5,×1,×2),將縮放的圖像輸入到CNN中,以便在每個分辨率下預(yù)測模板響應(yīng)。檢測大目標(biāo)時,使用×0.5分辨率的模板,檢測小目標(biāo)時,使用×2分辨率的模板,中間像素的則使用×1分辨率的模板。這種方法模擬人類視覺,獲取了足夠的上下文信息,并采用特定尺度混合檢測器,應(yīng)用于小人臉檢測取得了較好的結(jié)果。而后Attia等[48]深入理解此方法,將其應(yīng)用于圖像中的人數(shù)統(tǒng)計并取得了較高精度。
Faster R-CNN中的RPN,率先使用Anchor Box預(yù)選取目標(biāo),目前大部分目標(biāo)檢測方法都是基于Anchor的,僅少數(shù)目標(biāo)檢測方法不是基于Anchor的。對基于Anchor的目標(biāo)檢測方法,優(yōu)化Anchor Box的設(shè)置策略可有效改善檢測效果。Cai等[49]提出了多尺度卷積神經(jīng)網(wǎng)絡(luò)。在不同層Feature Map上設(shè)計不同尺度的檢測器,使感受野匹配不同尺度的目標(biāo),這些互補的尺度探測器結(jié)合起來產(chǎn)生一個強大的多尺度目標(biāo)探測器,彌補了Faster R-CNN 中RPN在所有的Feature Map都應(yīng)用了多組大小相同的模板,導(dǎo)致模板匹配的規(guī)模不一致的缺陷。Yu等[50]基于圖像金字塔效率太低以及基于Anchor的網(wǎng)絡(luò)較復(fù)雜的原因,提出了一種基于Anchor的級聯(lián)框架,將Anchor Box嵌入到圖像金字塔中。使用一系列Anchor Box來處理小目標(biāo),避免了很大的CNN,在速度和效果上取得了一個不錯的折衷。Chen等[51]通過修改RPN的 Anchor Box尺寸,并重新選擇Feature Map的作用層來改善小目標(biāo)的檢測效果。Sommer等[52,53]都在遙感數(shù)據(jù)集車輛檢測問題上,基于Faster R-CNN,評估了多種Region Proposal方案,通過修改Anchor Box參數(shù),改善了小目標(biāo)檢測效果。Krishna等[54]同樣針對RPN設(shè)置合適尺寸的Anchor Box以提升小目標(biāo)檢測性能。Eggert等[55]對Faster R-CNN中RPN選取Region Proposal的階段進行改進,為選擇合適的Anchor Box尺寸提供了啟發(fā)式方法。Wang等[56]結(jié)合基于Anchor和不基于Anchor的方法來解決人臉檢測任務(wù)中尺度差異大的問題,在網(wǎng)絡(luò)的P3~P5層上添加基于Anchor的分支,在網(wǎng)絡(luò)的P3層插入基于Anchor的分支,用來捕獲那些基于Anchor的方法覆蓋不到的尺度。Yang等[57]提出了一種靈活有效的Anchor Box生成機制MetaAnchor,用于目標(biāo)檢測框架,不同于之前的檢測框架中使用預(yù)先設(shè)定的Anchor Box,MetaAnchor可以從任意自定義的預(yù)設(shè)Box中動態(tài)生成,且MetaAnchor可以適用于任何基于Anchor的目標(biāo)檢測框架。Zhang等[58]改進了基于Anchor的通用檢測框架,提出了新的人臉檢測方法S3FD(Single Shot Scale-invariant Face Detector)。對于網(wǎng)絡(luò)結(jié)構(gòu)中的6個檢測層,使用不同尺度的Square Anchor,考慮人臉的長寬比約為1∶1,S3FD 的Anchor Box僅有1∶1 一種比例。此外在所有檢測層上,Anchor Box的尺寸均為步幅的4倍,滿足傳播間隔相等原則,從而確保圖像中不同尺寸的Anchor Box密度相同,使得不同大小人臉能夠很好地與Anchor Box匹配上。Zhu等[59]針對人臉檢測問題,證實檢測召回率和IoU基本呈現(xiàn)正相關(guān)的關(guān)系,大尺寸人臉的召回率和交并比明顯比小人臉的效果好,為此提出預(yù)期最大重疊分?jǐn)?shù),通過該指標(biāo)來提高Ground Trouth與Anchor Box的IoU,進而提高與小人臉對應(yīng)的Anchor Box被作為正樣本的概率,從而提升檢測到小人臉的可能性。Li等[60]提出一種新穎的端到端可訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)框架,它將語義分割和SSD結(jié)合到一個網(wǎng)絡(luò)中,以檢測自然場景下的多方向文本,用于更好地預(yù)測尺度和長寬比變換較大的文本框,有效緩和了文本檢測時小文本特征太稀疏的問題。
IoU是2個區(qū)域的交并比,目標(biāo)檢測中IoU的閾值如果過高,會導(dǎo)致正樣本質(zhì)量很高但數(shù)量很少,樣本比例不平衡的問題,如果IoU閾值較低,樣本的數(shù)量會增加,但是樣本的質(zhì)量也會下降。Gidaris等[61]將初始的Bounding Box擴大常數(shù)倍后得到搜索區(qū)域,迭代計算搜索區(qū)域的每一行和每一列目標(biāo)邊界的條件概率,分別選擇行和列中2個概率圖的極大值得到目標(biāo)邊界,有效提升了Bounding Box與目標(biāo)的吻合度,與不同的檢測系統(tǒng)結(jié)合,效果都優(yōu)于Bounding Box回歸。Cai等[62]基于Faster R-CNN,設(shè)計了一個級聯(lián)檢測器,用不同的IoU遞進優(yōu)化檢測性能,通過不斷提高IoU的閾值,使得在保證樣本數(shù)量的同時,也能使得樣本的質(zhì)量不下降,最后訓(xùn)練出高質(zhì)量的檢測器。該方法彌補了輸入Region Proposal的 IoU分布需要與篩選的閾值相近才能獲得較好的回歸輸出效果的缺陷(過高會導(dǎo)致過擬合,過低容易誤檢),在小目標(biāo)檢測效果上有著顯著的提升。Liu等[63]基于SSD,同樣采用不斷提升IoU閾值的思想,設(shè)計了一種結(jié)構(gòu)簡單但有效的漸近定位擬合模塊,通過疊加了一系列預(yù)測器,可以逐步演化SSD默認(rèn)的Anchor,在提升定位精度的同時保證算法的速度優(yōu)勢,在行人檢測問題上取得了較好的結(jié)果。
非極大抑制NMS(Non-Maximum Suppression)[35]是在目標(biāo)檢測中對多個Region Proposal進行篩選,得到最佳的物體檢測位置的方法。最初的NMS分為3步:(1)計算出每一個Region Proposal的Bounding Box的面積,得到相應(yīng)的分?jǐn)?shù),然后根據(jù)分?jǐn)?shù)進行排序;(3) 計算其余Bounding Box與當(dāng)前最大分?jǐn)?shù)的Bounding Box的IoU,去除IoU大于設(shè)定的閾值的Bounding Box;(2)重復(fù)上述過程,直至候選Bounding Box為空。 Bodla等[64]基于NMS,提出了Soft-NMS,Soft-NMS不直接將IoU大于閾值的Bounding Box的置信度設(shè)置為0,而是減小置信度,使這些Bounding Box仍然有機會被保留下來,從而避免了優(yōu)良的Bound- ing Box被刪除的情況,提高了mAP(mean Average Precision)。He等[65]認(rèn)為NMS使用分?jǐn)?shù)作為選擇Region Proposal的方法不能選出符合真正目標(biāo)位置的Region Proposal,于是使用標(biāo)準(zhǔn)差來代替分?jǐn)?shù),標(biāo)準(zhǔn)差越小,波動越小,越能代表準(zhǔn)確的定位。Hosang等[66]提出了Conv-NMS,用神經(jīng)網(wǎng)絡(luò)來實現(xiàn)NMS,解決了傳統(tǒng)的NMS因閾值設(shè)置不合理導(dǎo)致結(jié)果不穩(wěn)定的問題。相比于最初的NMS,Conv-NMS可通過學(xué)習(xí)的方法來獲得最佳的輸出。Fang等[67]基于NMS提出了一種平滑NMS,其選擇前k個分?jǐn)?shù)的Bounding Box的平均值,代替最高分?jǐn)?shù)的Bounding Box。Jiang等[16]提出一種用于準(zhǔn)確目標(biāo)定位的全新網(wǎng)絡(luò)架構(gòu),將IoU置信度加入到目標(biāo)檢測的流程中,把定位問題從回歸的方式改為基于優(yōu)化的方式,預(yù)測檢測到的Bounding Box和對應(yīng)的Ground Truth之間的IoU,實現(xiàn)IoU引導(dǎo) NMS的流程,從而防止定位更準(zhǔn)確的邊界框被抑制,有效解決了定位置信度與分類置信度不匹配的問題。
損失函數(shù)是度量神經(jīng)網(wǎng)絡(luò)輸出的預(yù)測值與實際值之間差距的一種方式,常見的損失函數(shù)有最小二乘損失函數(shù)、交叉熵?fù)p失函數(shù)等。不同的目標(biāo)檢測方法,根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)的不同,會適當(dāng)?shù)匦薷膿p失函數(shù)。Chen等[68]通過統(tǒng)計分析發(fā)現(xiàn),大多數(shù)目標(biāo)檢測算法在小目標(biāo)檢測上都有顯著的性能下降,與小目標(biāo)在圖像中出現(xiàn)的比例低、訓(xùn)練階段小目標(biāo)對損失函數(shù)的貢獻小有關(guān)系,于是提出了一種基于訓(xùn)練時反饋、然后提供新數(shù)據(jù)(將圖像拼接起來)的方式改進訓(xùn)練。當(dāng)目標(biāo)對損失的貢獻比例小于一定閾值時,即將拼接的圖像加入下一次迭代的訓(xùn)練集。這種方法幾乎不增加訓(xùn)練時間,但檢測精度提升較明顯。Yu等[69]使用了與DenseBox[70]類似的方法進行人臉檢測,提出了UnitBox。DenseBox使用L2損失對Bounding Box定位,由于大目標(biāo)的L2損失更容易大于小目標(biāo)的L2損失,使得L2損失會使模型在訓(xùn)練過程中更偏向于尺寸更大的物體。UnitBox則使用了一種名為IoU loss的損失函數(shù),其將位置信息作為一個整體進行訓(xùn)練,無論輸入的樣本是什么形式,得到的IoU loss值均介于[0,1],這種歸一化的損失使模型具有更強的處理多尺度圖像的能力,比L2收斂快,而且效果好。Guo等[71]提出了一個新的度量指標(biāo),通過計算不同類別之間鄰邊的長度與周長之比,量化鄰近程度,通過量化空間鄰接項的比率來除去目標(biāo)尺寸引入的偏差,使得小目標(biāo)也能對最終的損失做出貢獻(當(dāng)小目標(biāo)的周長作分母時),彌補了小目標(biāo)的損失對總的損失影響較小的不足。
生成對抗網(wǎng)絡(luò)GAN(Generative Adversarial Network)[72]是近幾年發(fā)展迅猛的深度學(xué)習(xí)分支,網(wǎng)絡(luò)包含生成器網(wǎng)絡(luò)(Generator)和判別器網(wǎng)絡(luò)(Discriminator)2個分支,如圖2所示。Generator用于接收一個隨機噪聲z后生成圖像,Discriminator用于判別一幅圖像是數(shù)據(jù)集中真實的圖像還是Generator生成的圖像。二者是相互博弈的過程,直至Discriminator判別出圖像是真實和生成的概率相等為止。GAN用途廣泛,包括圖像生成、圖像轉(zhuǎn)換、圖像風(fēng)格遷移、圖像修復(fù)和圖像超分辨率等。將GAN與目標(biāo)檢測結(jié)合,對小目標(biāo)檢測有較好的提升效果。使用GAN進行目標(biāo)檢測主要是從圖像的分辨率著手,提高原始圖像的分辨率即為超分辨率SR(Super-Resolution)。
Figure 2 Structure of generative adversarial network圖2 生成對抗網(wǎng)絡(luò)的結(jié)構(gòu)
Noh等[73]提出了一種小目標(biāo)檢測特征超分辨方法,在Faster R-CNN檢測模型的基礎(chǔ)上,引入4個附加組件(SR特征發(fā)生器、SR特征鑒別器、SR目標(biāo)提取器和小預(yù)測器)。SR目標(biāo)提取器在感受野擴展的每一層充分處理相對感受野,用于提取與低分辨率特征相似的高分辨率目標(biāo)特征。SR特征發(fā)生器基于GAN的模型,利用SR目標(biāo)提取器的特征作為目標(biāo),在SR特征鑒別器的引導(dǎo)下生成高分辨率的特征。對SR特征發(fā)生器增強的小Region Proposal,用小預(yù)測器進行分類并計算定位置信度。此方法對小、中、大目標(biāo)的檢測均有增強作用。Bai等[74]采用GAN直接從模糊的低分辨率人臉中生成清晰的高分辨率人臉,然后進行人臉檢測,其中Generator用于生成高分辨率的圖像,包含超分辨率網(wǎng)絡(luò)和細(xì)化網(wǎng)絡(luò)。超分辨率網(wǎng)絡(luò)對小人臉進行小尺度上采樣,在較大尺度上減小偽影,提高上采樣圖像質(zhì)量。細(xì)化網(wǎng)絡(luò)恢復(fù)上采樣圖像中缺失的一些細(xì)節(jié),生成清晰的高分辨率圖像進行分類。Discriminator后有2個分支,分別用于判斷是生成圖像還是真實圖像,以及判斷生成圖像是人臉還是非人臉,從而增強人臉檢測的魯棒性,提升了無約束的環(huán)境下,模糊、側(cè)臉和低分辨率等人臉的檢測效果。Li等[75]提出了一種感知生成式對抗網(wǎng)絡(luò)Perceptual GAN,其挖掘不同尺度目標(biāo)間的結(jié)構(gòu)關(guān)聯(lián),提高小目標(biāo)的特征表示,使之與大目標(biāo)類似。其中,Generator是一個深度殘差特征生成模型,引入低層精細(xì)粒度的特征,將原始的較差的特征轉(zhuǎn)換為高分辨率的特征;Discriminator一方面分辨小目標(biāo)生成的高分辨率特征與真實大目標(biāo)特征,另一方面使用感知損失提升檢測率。Perceptual GAN可以為小目標(biāo)生成類似大目標(biāo)的超分特征,并且具有較高的檢測精度,有效緩解了提高輸入圖像的分辨率會增加運算量,而多尺度特征表示結(jié)果不可控的問題。Rabbi等[76]基于EEGAN[77]和ESRGAN[78]提出一種新的邊緣增強超分辨率生成對抗網(wǎng)絡(luò),用于遙感圖像的小目標(biāo)檢測,并將超分辨率生成對抗網(wǎng)絡(luò)與多種目標(biāo)檢測方法結(jié)合,在與Faster R-CNN結(jié)合時達到了最佳效果。Bai等[79]提出了一種端到端的多任務(wù)生成對抗網(wǎng)絡(luò)MTGAN(Multitasking Triplet GAN)。在MTGAN中,Generator是一個超分辨率網(wǎng)絡(luò),可以更準(zhǔn)確地檢測小模糊圖像。Discriminator是多任務(wù)網(wǎng)絡(luò),將實際圖像與生成的高分辨率圖像區(qū)分開來,同時預(yù)測對象類別并將對象位置進行回歸。此外,為了使Generator恢復(fù)更多細(xì)節(jié)以便于檢測,Discriminator中的分類和回歸損失在訓(xùn)練期間反向傳播到Generator中。在數(shù)據(jù)集MS COCO上進行的大量實驗表明,MTGAN從模糊的小圖像中恢復(fù)清晰的超分辨圖像的有效性,特別是對于小目標(biāo)物體,檢測效果明顯提升。
數(shù)據(jù)增強有助于提高模型的魯棒性,通常數(shù)據(jù)增強的方法有空間變換(水平和垂直翻轉(zhuǎn)、裁剪、旋轉(zhuǎn)、縮放、仿射變換等)、像素變換(添加噪聲、模糊變換)、隨機擦除、圖像混合(Mix up、Cutout、CutMix、Mosaic)和利用GAN生成新圖像等多種方式。而對小目標(biāo)檢測,常規(guī)的數(shù)據(jù)增強方法效果并不理想。Kisantal等[80]提出了2種對小目標(biāo)數(shù)據(jù)增強的方法,即通過包含小目標(biāo)的圖像進行過采樣(可設(shè)置不同的過采樣比例)來解決包含小目標(biāo)的圖像數(shù)量少的問題,以及通過在每個包含小目標(biāo)的圖像中多次復(fù)制粘貼小目標(biāo)來處理小目標(biāo)在整幅圖像中占比太少的問題,并確保復(fù)制目標(biāo)時,不會和已經(jīng)存在的目標(biāo)有任何交疊。這增加了小目標(biāo)位置的多樣性,同時確保這些目標(biāo)出現(xiàn)在正確的上下文中。Zhao等[81]將目標(biāo)隨機調(diào)整亮度和尺寸,然后使用Gao等[82]提出的方法將目標(biāo)融合到背景中,以此增加小目標(biāo)的數(shù)量。
基于深度學(xué)習(xí)的目標(biāo)檢測算法都需要Backbone(AlexNet、VGGNet、ResNet、GoogLeNet等[83])。針對提升小目標(biāo)檢測的效果,除特征金字塔外,還有很多對網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化的方法。Zhao等[78]針對紅外小目標(biāo)檢測,提出一種輕量級卷積神經(jīng)網(wǎng)絡(luò),其由目標(biāo)提取模塊和語義約束模塊組成,目標(biāo)提取模塊是一個輕量級的圖像分割網(wǎng)絡(luò),具有緊湊的操作和靈活的結(jié)構(gòu)參數(shù),以便進行有效的推理,用于從紅外圖像中提取小目標(biāo)。語義約束模塊是一種用于實現(xiàn)高層次分類任務(wù)的多層CNN,用于訓(xùn)練過程中對提取的目標(biāo)圖像進行分類。這能解決類不平衡導(dǎo)致的特征學(xué)習(xí)困難的問題,更好地減少了復(fù)雜背景引起的誤報。Yang等[84]提出了一種三階段級聯(lián)全連接卷積神經(jīng)網(wǎng)絡(luò)。每一級都由一個多尺度的全卷積網(wǎng)絡(luò)生成一個得分圖,該網(wǎng)絡(luò)在不同的位置和不同的尺度上生成分?jǐn)?shù)。每升一級,人臉的Region Proposal數(shù)量和候選區(qū)域面積都會減少,通過逐漸放大臉部來更精確地進行識別,解決了人臉可能位于圖像任意位置和存在不同規(guī)模的問題。Huang等[70]提出的DenseBox除了NMS部分,其余模塊都為全卷積網(wǎng)絡(luò)結(jié)構(gòu),也無需生成Region Proposal,是端到端的單階段模型。對預(yù)處理的圖像(保證人臉和足夠的背景信息下對圖像進行了剪切),采用圖像金字塔,利用上采樣層來保證分辨率相對較高的輸出,同時運用了下采樣使得在處理小目標(biāo)和高度重合的目標(biāo)上有很大的優(yōu)勢。Huang等[85]提出一種密集卷積網(wǎng)絡(luò),將每一層以前饋的方式連接到其它每一層,且每一層要從之前的所有層中獲得額外的輸入,并將其自身的特征圖傳到后續(xù)的所有層中,用來確保網(wǎng)絡(luò)層中各層之間最大的信息流。相比于傳統(tǒng)卷積網(wǎng)絡(luò),這種密集連接模式由于不需要重新學(xué)習(xí)冗余的Feature Map,因此需要的參數(shù)更少。Meng等[86]提出了一種檢測小型交通標(biāo)志的方法,將大圖像分割成固定大小的小圖像,然后輸入基于SSD改進的小目標(biāo)敏感神經(jīng)網(wǎng)絡(luò)中。同時它也用到了圖像金字塔技術(shù),緩解了大圖像輸入網(wǎng)絡(luò)消耗內(nèi)存及小目標(biāo)檢測效果不佳的問題。Cao等[87]針對檢測道路上的汽車和行人等目標(biāo),提出了一種模塊化的輕量級網(wǎng)絡(luò)道路物體檢測模型,其中包含2個基本模塊以進行有效的計算,前一個模塊利用帶有小尺寸濾波器的更多卷積層來減少原始輸入圖像的信息丟失;后一個模塊在常規(guī)卷積層之前使用逐點卷積層,以減少模型大小和計算量,同時確保了檢測精度。Liu等[88]提出了多路徑區(qū)域的卷積神經(jīng)網(wǎng)絡(luò),將深度神經(jīng)網(wǎng)絡(luò)與經(jīng)典學(xué)習(xí)結(jié)合在一起,是一種能同時應(yīng)對大尺寸圖像和小尺寸圖像的兩階段級聯(lián)人臉檢測框架。第1階段是多路徑區(qū)域選取網(wǎng)絡(luò),以3種不同的比例選取臉部,同時利用卷積特征圖的3個并行輸出來預(yù)測多尺度候選臉部區(qū)域。第2階段利用從候選臉部區(qū)域內(nèi)部合并的深層面部特征,以及從圍繞候選臉部區(qū)域的較大區(qū)域合并的深層上下文特征進行分類。Pang等[89]針對遙感圖像中目標(biāo)較小的問題,提出一種帶有自主增強性的神經(jīng)網(wǎng)絡(luò),其由Tiny-Net(一種輕量級的殘差結(jié)構(gòu),能夠從輸入中高效地提取特征)、分類器和探測器組成。每幅圖像會先分塊輸入Tiny-Net進行特征提取,再經(jīng)過注意力機制模塊進行加權(quán)處理,然后經(jīng)過一個二分類器來判斷該圖像是否含有目標(biāo),得到有目標(biāo)的圖像后進行進一步的目標(biāo)探測。同時在圖像進入網(wǎng)絡(luò)之前將其切分成小塊,大尺度的圖像被切割之后會產(chǎn)生大量不包含小目標(biāo)的圖片塊,為了節(jié)省探測時間以及提升探測精度,采用二分類器將這些無目標(biāo)圖像塊過濾掉。針對小目標(biāo),此網(wǎng)絡(luò)從擴大感受野的角度出發(fā),在基礎(chǔ)網(wǎng)絡(luò)提取特征之后,在池化過程中采取多尺度策略,從而達到多尺度融合來擴大感受野的效果。Yang等[90]提出了一種單級小目標(biāo)檢測器,采用較小的下采樣因子來保持準(zhǔn)確的位置信息,并通過在較深的網(wǎng)絡(luò)層中為小目標(biāo)引入新的膨脹殘留塊來保持較高的空間分辨率。此外,作者還提出了兩分支擴張的特征注意模塊,以擴大有效的接受區(qū)域,并為小密度和小分散目標(biāo)檢測提供有效的注意特征圖,提升了遙感圖像中分散或者聚集小物體的檢測效果。Liu等[91]基于SSD引入了感受野模塊RFB(Receptive Field Blcok),進行人類視覺系統(tǒng)的大小和離心率的模擬。RFB前一部分為Inception[92 - 95],使用具有不同內(nèi)核的多分支池化層模擬多種尺寸的群感受野,后一部分的空洞卷積層再現(xiàn)了人類視覺系統(tǒng)中群感受野尺寸與離心率之間的關(guān)系。RFB結(jié)構(gòu)后端會將不同尺寸和比例的卷積層輸出進行連接,達到融合不同特征的目的。RFB不同尺度的特征融合,在擴大感受野的同時,也融合多個尺度的特征,增強了模型對于小目標(biāo)的檢測能力。 Deng等[96]提出了一種基于加權(quán)圖像熵的小目標(biāo)檢測方法,利用多尺度灰度差值對局部熵值進行加權(quán),然后進行自適應(yīng)閾值運算,以提高場景中被干擾目標(biāo)相對于背景的熱強度與小目標(biāo)相似情況下的信噪比,在紅外圖像檢測中取得了較好的結(jié)果。Tang等[97]提出了一個上下文輔助的Single Shot人臉檢測器PyramidBox,用于解決人臉檢測的難題。PyramidBox在Backbone中添加了低層級的特征金字塔網(wǎng)絡(luò)和1個上下文敏感預(yù)測模塊。區(qū)別于FPN自頂向下的結(jié)構(gòu),PyramidBox通過從中間層開始自上而下的結(jié)構(gòu)來構(gòu)建低層級的特征金字塔網(wǎng)絡(luò),其感受野接近于輸入尺寸而不是頂層的一半。上下文敏感預(yù)測模塊在每個金字塔檢測層中作為分支網(wǎng)絡(luò)來得到最后的輸出。PyramidBox可以更好地處理小的、模糊的和部分遮擋的人臉。Gao等[98]利用強化學(xué)習(xí)的思路,不斷放大感興趣區(qū)域進行目標(biāo)檢測,網(wǎng)絡(luò)包含目標(biāo)檢測網(wǎng)絡(luò)R-Net和強化學(xué)習(xí)檢測網(wǎng)絡(luò)Q-Net[99]。R-Net基于Faster R-CNN,對低分辨率圖像進行粗糙目標(biāo)檢測,檢測結(jié)果用于精度增益圖的生成。Q-Net進行精細(xì)的目標(biāo)檢測,將生成的精度增益圖作為輸入,找一個最可能存在目標(biāo)的位置,然后在原始圖像中取相應(yīng)的高分辨率圖像作為網(wǎng)絡(luò)下一次的輸入,進行迭代直到滿足指定結(jié)束條件。Sommer等[100]基于Faster R-CNN,重新設(shè)計了一種Backbone,取代原始網(wǎng)絡(luò)中的VGG-16,專門用于小目標(biāo)檢測,在航拍圖像數(shù)據(jù)集上的檢測效果較Faster R-CNN要好。Liu等[101]提出了一種復(fù)合骨干網(wǎng)絡(luò),通過相鄰Backbone之間的復(fù)合連接,合并功能更強大的Backbone,提高了目標(biāo)檢測器的性能。Hu等[102]針對道路上尺度變化大的車輛檢測問題,提出了一種規(guī)模不敏感的網(wǎng)絡(luò)SINet (Scale-Insensitive Network)。SINet中使用場景感知的RoI池化提取每個區(qū)域的特征并應(yīng)用在CNN的多個層上,得到的池化特征最后加以連接,融合了高層和低層信息。這種方法改進了通常使用的RoI Pooling只是簡單地復(fù)制特征值以符合預(yù)設(shè)特征長度,扭曲了小目標(biāo)的原始結(jié)構(gòu)的缺陷。此外,為了減輕訓(xùn)練不同尺度目標(biāo)物(有很大的類內(nèi)距離)的壓力,SINet有多個分支對應(yīng)于不同尺寸的Region Proposal,將不同分支得到的預(yù)測結(jié)果融合,得到最終的預(yù)測結(jié)果,有效地緩和了不同尺度車輛的類內(nèi)距離通常非常大,使得網(wǎng)絡(luò)難以使用相同權(quán)重表示不同尺度目標(biāo)的不足。
目標(biāo)檢測通常也和其它領(lǐng)域的知識相結(jié)合,且取得了較好的結(jié)果,這些方法對小目標(biāo)檢測效果的提升也有很大的幫助。Yi等[103]提出了一種基于領(lǐng)域知識和直覺知識[104]的循環(huán)注意力網(wǎng)絡(luò),將圖像的特征圖輸入到此網(wǎng)絡(luò)中,以細(xì)粒度的方式提高特征圖的特征表示能力,用學(xué)習(xí)到的領(lǐng)域知識和直覺知識增強對小目標(biāo)的檢測。Ji等[105,106]將Attention[107]引入CNN中,用于顯著目標(biāo)檢測。Hu等[108]也受Attention的啟發(fā),提出了一種Relation Module,在目標(biāo)特征中融合目標(biāo)之間的關(guān)聯(lián)性信息,特別是位置關(guān)系,以此提高檢測效果。Carion等[109]提出了基于Transformer[110]的端到端目標(biāo)檢測,沒有了NMS后處理步驟,也不需要Anchor Box,并取得了比Faster R-CNN更優(yōu)的效果。Yu等[111]提出一種對預(yù)訓(xùn)練數(shù)據(jù)進行尺度匹配的方法,利用外部數(shù)據(jù)集中目標(biāo)尺度的統(tǒng)計直方圖和任務(wù)數(shù)據(jù)集中目標(biāo)尺度的統(tǒng)計直方圖分布相似,把尺度調(diào)整后的外部數(shù)據(jù)集加入訓(xùn)練集以訓(xùn)練算法模型,緩解了用于網(wǎng)絡(luò)預(yù)訓(xùn)練的數(shù)據(jù)集和用于檢測器學(xué)習(xí)的數(shù)據(jù)集之間存在的尺度失配問題,有效改進了小目標(biāo)的檢測效果。Gao等[82]提出了一種紅外圖像小目標(biāo)檢測方法,先將傳統(tǒng)的紅外圖像模型推廣為基于局部Patch構(gòu)造的紅外圖像模型;然后在新模型的基礎(chǔ)上將小目標(biāo)檢測歸結(jié)為低秩稀疏矩陣恢復(fù)的優(yōu)化問題,利用穩(wěn)定的主分量跟蹤有效地解決了該優(yōu)化問題;最后采用一種簡單的自適應(yīng)分割方法對目標(biāo)圖像進行分割,并對分割結(jié)果進行后處理,進一步細(xì)化了分割結(jié)果。Shen等[36]提出了從零開始深度有監(jiān)督學(xué)習(xí)目標(biāo)檢測器。此外還有一些其它領(lǐng)域的知識用于目標(biāo)檢測中,如小樣本學(xué)習(xí)和零樣本學(xué)習(xí)、高階統(tǒng)計表示、網(wǎng)絡(luò)結(jié)構(gòu)搜索和馬爾可夫隨機場等,都是提升小目標(biāo)檢測效果的有力工具。在語義分割、文本檢測等任務(wù)中,對小目標(biāo)提取的技術(shù)也可用于小目標(biāo)檢測當(dāng)中,因此小目標(biāo)的檢測技術(shù)雖然還欠成熟,但改進途徑廣泛,有極大的研究空間。
在計算機視覺領(lǐng)域,有許多公開的數(shù)據(jù)集,以及對這些數(shù)據(jù)進行整理的網(wǎng)站。這些數(shù)據(jù)集按類型劃分,可分為人臉數(shù)據(jù)、行人或其它物種外觀數(shù)據(jù)、醫(yī)學(xué)影像數(shù)據(jù)、遙感數(shù)據(jù)、紅外監(jiān)測數(shù)據(jù)、X-光掃描數(shù)據(jù)、街景數(shù)據(jù)和自動駕駛數(shù)據(jù)等。按研究類型可分為目標(biāo)檢測、目標(biāo)分類、目標(biāo)識別、目標(biāo)跟蹤、語義分割、實例分割、文本檢測、文本識別、顯著性檢測、視頻監(jiān)控、3D檢測和人體姿態(tài)等類別。常用的數(shù)據(jù)集有CIFAR10、Open Images、ImageNet、Tiny Images、CoPhIR、LSUN和COCO等,這些數(shù)據(jù)集包含的類別較多,目標(biāo)尺度變化大。小目標(biāo)存在較多的數(shù)據(jù)集通常為人臉數(shù)據(jù)集、道路交通標(biāo)識數(shù)據(jù)集和遙感圖像數(shù)據(jù)集等。表1和表2為部分小目標(biāo)數(shù)據(jù)集統(tǒng)計。
Table 1 Part of the face data sets information表1 部分人臉數(shù)據(jù)集信息
Table 2 Part of the remote sensing image data sets information表2 部分遙感圖像數(shù)據(jù)集信息
本文全面論述了基于深度學(xué)習(xí)的小目標(biāo)檢測研究現(xiàn)狀,先描述了小目標(biāo)檢測的應(yīng)用場景及重要性,然后分析了小目標(biāo)檢測困難的主要原因。針對這些原因,從多尺度特性、特征上下文信息、Anchor Box的設(shè)置策略、優(yōu)化IoU/NMS及損失函數(shù)、結(jié)合使用GAN方法、圖像增強、優(yōu)化目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu),及其它等多個方面詳細(xì)論述了提升小目標(biāo)檢測效果的方法,最后介紹了當(dāng)前主要的目標(biāo)檢測數(shù)據(jù)集和部分小目標(biāo)檢測數(shù)據(jù)集。
目標(biāo)檢測研究是計算機視覺和模式識別中備受青睞的熱點,當(dāng)前的小目標(biāo)檢測方法正在逐步克服各種困難,但仍需廣大學(xué)者共同努力,朝著更多的研究方向發(fā)展。