999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

目標檢測模型及其優化方法綜述

2021-07-25 17:49:24蔣弘毅王永娟康錦煜
自動化學報 2021年6期
關鍵詞:分類特征檢測

蔣弘毅 王永娟 康錦煜

目標檢測是指利用計算機工具和相關算法來對現實世界中的對象進行分類和定位的一類計算機視覺技術.

傳統的目標檢測需要手工提取特征[1?3],并針對特定檢測對象設計和訓練分類器.這類方法難以獲得魯棒性強的特征,對外界環境噪聲十分敏感,故在工程應用上具有較大的局限性.

現階段,隨著深度學習技術的不斷發展和硬件設施的不斷進步,基于卷積神經網絡的目標檢測技術發展迅速.以區域卷積神經網絡[4?6](Region convolutinal neural network,R-CNN)系列為代表的兩階段法,與以單階段檢測器[7](Single-shot detector,SSD)和YOLO[8?10](You only look once)系列為代表的單階段法是當前基于卷積神經網絡的目標檢測技術的兩種主流框架.

近年來,不少學者在兩種框架的基礎上對內部的主干網絡、錨點設計、區域特征編碼等子模塊進行了優化改進,有效地提高了目標檢測算法的性能.部分學者還提出了一種基于對象關鍵點的目標檢測框架[11?14],并在各大數據集上取得了驚人的成績.

本文針對近年來目標檢測算法的最新研究進展,從目標檢測框架的子模塊設計優化角度出發,對該領域中一些有啟發性的研究成果進行整理、歸納和分析,并對目標檢測模型的優化思路提出一些建議,以便眾多相關研究者參考和借鑒.

1 基于卷積神經網絡的目標檢測框架

目前,主要使用的目標檢測框架分為兩階段和單階段兩類.兩種框架在結構上(圖1)的最大區別是:兩階段框架通過區域推薦網絡 (Region proposals,RPN)類的子網絡來輔助生成推薦框(Proposals),而單階段框架直接在特征圖上生成候選框.

圖1 主流的目標檢測框架Fig.1 Main object detection framework

輸入的圖片經過由卷積神經網絡組成的主干網絡(Backbone)后,輸出整張圖片的特征圖(Feature map),通過頸部(Neck)連接層對不同尺度的特征圖進行融合,以獲得多尺度的特征.此后,單階段方法一方面對錨點框(Anchor box)進行分類,另一方面直接在不同尺度的特征圖上對正樣本預測邊界框(Bounding box)的位置補償,最后使用非極大值抑制得到檢測結果;兩階段方法先利用區域推薦網絡對錨點框進行分類和回歸得到推薦框,對其進行特征編碼后再做分類和回歸,最后經過非極大值抑制完成對目標的檢測.

傳統上,由于兩階段的目標檢測框架相比于單階段的目標檢測框架多進行了一次分類和回歸,故在檢測的準確率和召回率上都要高出較多.相反,單階段目標檢測框架直接在特征圖上對正例錨點框進行分類和回歸,算法復雜度較小,在檢測速度上有明顯優勢.但近些年來,眾多學者針對兩種框架的各自缺點進行了相應改進,使部分單階段與兩階段模型在檢測性能與速度上的差異逐漸縮小[15?17].

最近,Law 等[11]借鑒人體關鍵點檢測的思路,首次提出了一種基于關鍵點的目標檢測模型Cornernet(圖2),該框架與上述兩類框架的最大區別是:不再通過微調錨點框來對目標進行定位,而是直接對目標關鍵點進行回歸,訓練和預測邊界框的位置和大小.輸入圖片經過卷積網絡提取特征后,輸出兩組熱圖(Heat map)來預測目標邊界框的左上角點和右下角點;每個熱圖有C個(C為類別數)通道,用來預測目標的類別.通過嵌入向量隱式表達兩類角點間的距離,完成對圖上所有預測角點的兩兩匹配,得到最終的目標邊界框.

圖2 CornerNet 框架流程Fig.2 Overall pipeline of CornerNet

除了選取角點作為物體關鍵點進行目標檢測外,Zhou 等[13]將目標中心點作為關鍵點,采用熱圖預測目標中心點,并對邊界框的大小直接進行回歸.與使用角點作為關鍵點相比,該方法無需對關鍵點進行匹配分組,檢測速度有了較大提升.Yang 等[14]通過預測不同物體的多組點對,使模型更充分地學習到相應目標的幾何、語義、姿態等利于檢測任務的特征,有效提高了模型分類與定位的能力.

基于關鍵點的目標檢測框架與單階段檢測框架相比,在檢測速度上幾乎沒有劣勢,而在檢測性能上遠超傳統的單階段檢測框架,甚至比沒有經過優化的兩階段框架還要出色(圖3).同時,其設計思路上非常直接,得到的模型也更為簡潔;擴展性極強,能方便地應用到三維目標檢測、人體姿態估計等其他計算機視覺任務中.

圖3 典型目標檢測算法速度?準確率對比Fig.3 Speed-accuracy comparison of typical object detection algorithms

2 目標檢測框架的子模塊優化

目標檢測框架一般都包含:主干網絡、頸部連接層、錨點、區域特征編碼、分類與定位頭部和損失函數等子模塊.此外,不同模型還有自己獨特的子模塊.對上述子模塊進行合理的優化可以有效地提高目標檢測模型的性能.

2.1 主干網絡與頸部連接層優化

主干網絡子模塊位于輸入層開始到具體的下游任務層前,用于提取目標的不同尺度特征.

早期的基于卷積神經網絡的目標檢測模型(如SSD 模型)大多以VGG 網絡[18]作為主干網絡,該網絡通過對卷積層和池化層進行反復堆疊,提高特征提取和語義表達能力.然而該網絡的層數僅僅只有19 層,提取的特征表達能力有限.若僅通過疊加的方法加深網絡層數,則梯度在網絡中傳遞時很容易出現消失或者爆炸,這反而降低了網絡的性能.

為解決深度網絡梯度消失和爆炸的問題,He等[19]提出了跳連的殘差(ResNet)網絡結構(圖4),它將淺層的特征信息與后面層進行融合,生成新的特征向后傳遞.該方法有效保證了特征信息向深層網絡中傳遞,提高了深層網絡的性能.

圖4 殘差網絡的跳連結構Fig.4 Shortcut structure of ResNet

采用殘差結構增加網絡深度雖然能夠有效提高卷積網絡的性能,但帶來的參數量增加也是成倍的.為此,Xie 等[20]將殘差結構和Inception 結構[21]進行整合(圖5),同時增加網絡的深度和寬度(寬度方向參數共享),在提高網絡性能的同時有效控制了參數量的增長.

圖5 基數為32 的ResNeXt 塊Fig.5 ResNeXt block with 32 cardinality

同一層特征圖的不同通道蘊含的特征信息是不同的,Hu 等[22]對特征圖內不同通道間的特征進行融合(圖6),使模型學習到每個特征通道的重要程度.這種方法顯式地建立了各個通道特征間的關系,有助于更好地提取目標特征.

圖6 特征通道融合的Inception 模塊Fig.6 The schema of SE-Inception module

除了對特征通道間關系進行建模外,特征圖同一通道的不同位置上也存在著緊密聯系.Wang 等[23]顯式地建立了圖上任一點與全局其他位置的關系,提出了圖像自注意力機制的非局部網絡(Non-local network)(圖7).該方法能有效地捕捉不同位置特征的空間聯系,從而增強了目標特征.Cao 等[24]對非局部網絡進行簡化,并同時考慮了特征通道間的關系,使主干網絡在提取目標特征的性能和速度上都有了提高.相似地,Woo 等[25]提出了通道與空間上的卷積注意力模塊,為特征圖上不同通道和不同位置上的特征賦予不同的權重,提高了網絡特征提取的能力.

圖7 非局部網絡塊Fig.7 Block of non-local network

淺層卷積特征的感受野小,缺少足夠的語義信息,但其通常有著較高的分辨率,保留了較多位置信息;深層卷積特征分辨率低,目標位置不夠精確,但其感受野較大,包含了豐富的語義信息.

頸部連接指將上述不同尺度的特征進行融合,目的是生成同時具備高語義信息與精確位置信息的多尺度特征,提高模型對不同尺度目標的檢測能力.

最早將多特征融合技術應用在目標檢測框架上的是特征金字塔網絡(Feature pyramid network,FPN)模型[26].它采用金字塔式的層級結構將殘差網絡中的低分辨率特征層進行上采樣,并與相應尺度的原始特征層進行融合(圖8),輸出信息更多、魯棒性更強的多尺度特征.

圖8 FPN 中的金字塔結構Fig.8 Pyramid structure in FPN

為進一步增強融合后的多尺度特征,Pan 等[27]在FPN 的基礎上提出了BFP (Balanced feature pyramids)頸部連接結構.該算法將FPN 提取出的多尺度特征通過線性插值和池化調整到中間尺度大小,并對它們進行加權平均得到整合后的單一尺度特征,再采用非局部網絡[23]加強該特征,最后將其映射回與輸入相同的尺度,用于之后的目標檢測.

FPN 的底部特征層包含較多的位置信息,Liu等[28]在自頂向下的特征金字塔結構的基礎上,又提出了自底向上的特征融合支路(圖9),將底層位置信息傳遞給高層特征,進一步提高了模型的定位精度.

圖9 PANet 中的自底向上金字塔結構Fig.9 Bottom-up pyramid structure in PANet

為充分利用不同層的特征,Zhao 等[29]對FPN 進行堆疊,提出了多層級的FPN 頸部連接結構(圖10).它通過U 型網絡對特征進行編碼?解碼,并從SENet[22]中受到啟發,對不同層間相同尺度的特征通道進行加權拼接,最后利用得到的特征進行多尺度預測.

圖10 M2Det 中的多層級特征金字塔網絡結構Fig.10 Multi-level feature pyramid network in M2Det

Tan 等[30]認為不同尺度的特征層對目標特征的貢獻應該是不同的,并將沒有進行融合的特征層從網絡中剔除,提出了加權融合的雙向特征金字塔結構(圖11),從而進一步優化了不同特征層間的信息傳遞.

圖11 雙向特征金字塔結構Fig.11 Framework of Bi-FPN

除了金字塔式的特征融合方法,Newell 等[31]采用了一種“沙漏式”的網絡結構(圖12),它借鑒殘差網絡的思想,每個經過池化后的特征層與經過上采樣后相同尺度的特征層進行融合,從而將淺層信息傳遞給深層特征,提高深層特征的定位能力.

圖12 沙漏式結構的特征融合Fig.12 Feature fusion based on hourglass structure

無論是金字塔結構還是沙漏結構,都是從高分辨特征圖通過卷積和池化得到低分率特征圖,再從低分辨率特征圖中通過上采樣恢復到高分辨率特征圖.這類編碼?解碼(Encoder-decoder)的方式雖然可以很容易地實現特征融合,但在尺度變換的過程中也無可避免地失去了部分細節,對模型定位性能產生不利.針對上述問題,Sun 等[32]提出了始終保持高分辨率的高分辨率網絡 (High-resolution net,HRNet).它將高分辨率的子網絡作為第一階段,在信息融合時不斷增加低分辨率的特征層以形成更多的階段,并把這些不同尺度的特征層進行反復互連,實現多尺度信息的交換,最終輸出高分辨特征圖(圖13).

圖13 HRNet 的整體網絡結構Fig.13 Overall network structure of HRNet

總之,主干網絡和頸部連接層的優化都是為了獲得更加有利于模型分類與定位的特征,而提取出高信息特征的關鍵在于:

1)主干網絡和頸部連接層應有一定的深度和寬度,充分考慮特征圖內部、不同特征圖間的相互關系,對特征圖在維度、空間以及深度上進行合理建模,從而充分地提取目標特征.

2)為在位置與語義信息之間取得平衡,主干網絡應采用適當的下采樣和上采樣率.通過使用合理的頸部連接結構或空洞卷積[33]等方法,保證輸出的目標特征同時滿足分類與定位的要求.

2.2 錨點設計的優化

錨點是在特征圖上每個網格內生成的具有不同大小、比例的矩形框.單階段檢測框架直接在錨點的基礎上生成目標邊界框;兩階段檢測框架通過微調正例錨點獲得候選框.

最早使用錨點的模型是Faster R-CNN[6].它在區域推薦子網絡特征圖上的每個網格中生成3 種尺度、3 種比例共9 個錨點框(圖14).根據錨點框與相對應實例框的交并比大小來確定其為正樣本或負樣本.對正樣本錨點框進行定位回歸獲得候選框,用于進一步的定位和分類.

圖14 Faster R-CNN 中的錨點示意圖Fig.14 Schematic diagram of anchors in faster R-CNN

不同尺度比例的錨點框適合檢測不同物體.為此,Zhu 等[34]提出了基于步長縮減的錨點框設計策略.高分辨率的特征圖感受野小,用于檢測小尺度目標,故為防止漏檢現象發生,應當縮減錨點框生成的步長來增加錨點框的密度.低分辨率的特征圖感受野大,用于檢測大尺度目標,因而可以適當增大錨點框步長,減少計算復雜度.Xie 等[35]提出了一種維度可分解的區域推薦網絡,他將錨點在維度上進行分解,使用一種錨點字符串(Anchor string)機制來獨立地匹配目標的寬度和高度,從而有效地解決了對比例特殊目標的檢測.

Zhong 等[36]創造性地提出通過訓練讓模型自動調整錨點框,并設計了一條獨立的分支用來預測和調整錨點框的形狀.Wang 等[37]在此基礎上,利用圖像特征來指導錨點框的生成(圖15),將錨點框的生成分為位置預測和形狀預測兩個步驟.通過位置和形狀預測確定相應特征圖的每個網格內是否存在錨點以及錨點框的長寬;再利用可變形卷積[38?39]對特征圖進行修正,以匹配錨點框.這種做法大大減少了錨點的數量,提高了錨點框對目標尺寸變化的適應性.

圖15 基于特征指導的錨點生成模型Fig.15 Anchor generation model based on feature guiding

考慮到基于錨點的方法在分配正負樣本以及處理多尺度問題上的局限性,很多學者提出了無錨點的目標檢測模型.這類模型大多在不同尺度的特征圖上進行像素級的分類和回歸來代替錨點框的功能.Tian 等[40]先計算特征圖上每個點映射回原圖的位置,再根據該位置是否位于相應實例框內進行正負樣本的分配,并且定義中心度來降低實例框邊緣位置預測時的分數權重,從而抑制了低質量預測框對檢測結果的影響,提高了模型的檢測性能.Kong等[41]從人體眼球的中央凹(Fovea)結構中獲得靈感,通過參數調整實例框寬高來確定正負樣本:向物體中心縮放,縮放后框內所有樣本為正樣本點:向物體外擴大,擴大化框外所有樣本為負樣本點(圖16);忽略兩個邊界框范圍內的點.這種做法增加了正負樣本間的差異,有利于分類問題的學習.

圖16 FoveaBox 模型中的標簽分配Fig.16 Label assign in FoveaBox

利用先驗尺度范圍將目標分配給不同特征層的做法,本身就是非最優的.針對該問題,Zhu 等[42]提出了在線特征層選擇機制(圖17):訓練階段,在所有尺度的特征層上進行分類和回歸訓練,通過最小化焦點損失和交并比損失來選擇最佳的特征層;推理階段,直接選擇置信度最高的特征層用于檢測.通過自動選擇最佳特征,該模型有效避免了手工選擇特征層的一些弊端.

圖17 FSAF 模型的在線特征選擇Fig.17 Online feature selection in FSFA

對于尺度適中的目標而言,相鄰特征層間有著相似的特性,將其分給指定一個特征層的做法不夠合理.因而,Zhu 等[43]又在FSAF 模型的基礎上提出了軟分配的方法(圖18),它通過預測目標在不同尺度特征層以及同一特征層不同位置上的損失權重,來考慮特征層之間、同一特征層上不同位置之間的關系,進而計算出訓練時的總損失大小.

圖18 軟分配的層權重預測Fig.18 Weights prediction for soft-selected features

由于正例錨點框給出了目標大致的初始位置和尺寸,降低了模型學習分類和回歸的難度,這對于想要獲得高性能的檢測模型來說是有很大幫助的.然而,基于錨點的檢測方法大多通過錨點框與相應實例框的交并比閾值來確定正負樣本,這對錨點的設計要求非常高.相比之下,無錨點方法對目標先驗知識的要求低,但設計過程相對繁瑣.總之,錨點的設計及優化應遵循以下幾點原則:

1)錨點框的比例、大小范圍應根據具體數據集或任務來確定.當待檢測對象的尺度變化很大時,應采用多尺度的特征圖,設計多尺度的錨點.

2)錨點框生成的密度應保證在不漏檢的前提下盡量小,以減少計算量.對于小目標應增大錨點框生成的密度,而對于大目標可以適當降低密度.

3)錨點框在任何尺度的特征圖上,其中心都要與對應網格的中心盡可能對齊,以保證錨點框從特征圖回到原圖時,不發生位置上的偏移.

4)對于無錨點模型,應該重點關注如何在沒有錨點的情況下更合理地分配與設置正負樣本,以及如何更有效地處理不同尺度物體帶來的多尺度特征,從而促進模型更好地從訓練數據中學習.

2.3 非極大值抑制算法的優化

非極大值抑制在目標檢測中是指模型在前向推理階段,選擇置信度最高的候選框作為檢測結果,而剔除與其交并比大于閾值的周圍所有候選框的一種算法.這種方法對于同一個待檢測對象,可以排除其余非最優的候選結果,避免出現重定位的問題.

非極大值抑制是幾乎所有基于卷積神經網絡的目標檢測模型都使用到的方法.經典的非極大值抑制是直接剔除非最優的候選結果,這種做法在圖像上待檢測目標是非密集的情況下有著出色的效果.而在目標密集的場合,目標之間相互遮擋,屬于同一類的多個目標非常靠近時,非極大值抑制只保留置信度最高的候選框,從而產生漏檢.

為解決上述問題,Bodla 等[44]提出軟抑制(Soft NMS)的算法.它對于前n個置信度大小的非最優候選框通過降低置信度來代替直接剔除的做法:

其中,S表示置信度得分,IoU(M,bi)表示最優候選框M與其余某候選框bi的交并比,Nt表示進行軟抑制的閾值.

從式(1)中可以看出,軟抑制算法認為當非最優候選框與最優候選框之間越接近,則其越有可能是冗余的,置信度分數也越低.經過更新后的置信度若低于正樣本置信度的閾值,則該候選框就被剔除.經過軟抑制后的模型在密集場景下的檢測召回率有了一定的提高.

候選框的置信度與交并比并非強相關,只考慮分類置信度是片面的.He 等[45]在軟抑制算法的基礎上加以改進,同時將定位置信度融入到其中,用來表示當前候選框與實例框重合的可信程度.它對候選框和實例框分別進行建模,并用KL 散度來衡量兩者分布間的距離:

其中,PD(x)表示以實例框中心坐標為均值的狄利克雷分布,Pθ(x)表示已候選框中心坐標為均值,以定位置信度為標準差的高斯分布.

該算法采用類似于集成學習的思想通過訓練得到不同候選框的定位置信度,并以其作為權重,對所有大于非極大值抑制閾值的候選框進行加權求和,得到最終的檢測結果.

與Softer-NMS 思想類似,Jiang 等[46]設計了額外的分支來預測每一個候選框的交并比值大小,再通過類似聚類的規則來更新分類置信度,最終用更新后的置信度來完成非極大值抑制.

除上述方法外,Liu 等[47]設計了一個僅包含卷積層和全連接層的子網絡,用來判斷交并比大于閾值的非最優候選框是否和最優候選框預測的是同一個目標,保留檢測目標不同的非最優候選框,從而有效避免了傳統方法存在的弊端.

針對不同數據集和任務應當設計不同的非極大值抑制算法:當數據集或任務的場景中目標比較稀疏,優化的抑制算法對模型的檢測性能幾乎沒有提升,使用原始的非極大值抑制算法就能比較簡潔地完成目標檢測任務.但在場景復雜、目標密集的情況下,對非極大值抑制算法進行優化能夠有效提升模型的檢測性能.

2.4 交并比算法的優化

交并比是指兩個圖形的交集與并集的比值:

其中,area(?)表示圖形的面積.

交并比用來衡量兩個圖形間的重合度.在目標檢測中,錨點框和相應實例框的交并比決定了其是正樣本還是負樣本;候選框間的交并比值決定是否進行非極大值抑制.

對于目標檢測,傳統的交并比可以很好地表達兩個相交矩形框間的距離.但是,對于不相交的矩形框,交并比始終為0,無法反映它們之間的距離.

為了更一般地表達矩形框間的距離,Rezatofighi 等[48]提出了泛化交并比(Generalized IoU)的概念.它對于任意兩個凸形A、B在空間中尋找包含它們的最小凸形C,則泛化交并比定義為:

從式(4)可以看出,泛化交并比的取值范圍是(?1,1],對于不相交的兩個矩形框,它們中心點間距離越大,泛化交并比越小,這種特性對降低負樣本學習的難度是非常有利的.

交并比閾值決定了正負樣本的劃分結果.當交并比閾值較大時,意味著選取真實正樣本的標準更為嚴苛,則更少的正樣本進行損失函數的計算,這容易引起類別不平衡以及漏檢的問題發生.當交并比閾值較小時,意味著更多的錯誤正樣本會被當作正樣本進行訓練,從而降低模型的檢測性能,為解決這一矛盾,Cai 等[49]提出了多階段變交并比閾值的方法,不同階段設置不同的交并比閾值,滿足不同階段模型的需求(圖19).

圖19 級聯多階段目標檢測模型Fig.19 Cascade stages of object detection model

在前面階段,模型的性能較差,需要通過不斷“試錯”來學習正確的分類和定位;在后面階段,模型的性能有所提升,則可以適當提高正樣本的判斷標準,進一步提升檢測性能.

交并比是目標檢測模型中非常重要的部分,它直接影響著模型的訓練效果和檢測結果.對于交并比算法的設計和優化應注意:

1)交并比值要充分反應候選框與實例框,候選框與候選框之間的距離.

2)交并比閾值應根據訓練過程中模型當前性能,以及相應任務或數據集的樣本分布來確定.

2.5 正負樣本采樣算法的優化

錨點框在大尺度的特征圖上數量較多,大部分負樣本錨點框提供的梯度信息相近,將它們全部用于分類和回歸訓練浪費計算資源和時間,因而需要對所有錨點框進行采樣,只選擇其中部分參與訓練.

由于正例錨點框的數量遠遠小于負例錨點框,直接在全局進行隨機采樣會很容易引起正負訓練樣本不均衡的問題.Faster R-CNN 模型[6]對正樣本和負樣本分別進行隨機采樣,采樣比例為1:1.這種分類采樣的方法較好地解決了類別不均衡的問題,但沒有充分利用負樣本中的錯誤信息來幫助模型訓練.SSD 模型使用了困難負樣本采樣的策略,對負樣本按置信度誤差進行降排序,將置信度較低的困難負樣本用來更新模型.

區別于SSD 模型,Shrivastava 等[50]則根據輸入樣本的損失來在線選擇困難負樣本.他們對兩階段檢測框架進行擴充,設計了另外一個RoI 網絡用來專門計算輸入樣本的損失,并對輸入的損失進行降排序,選擇損失最大的前n個負樣本用于模型的訓練,用輸入損失作為衡量樣本學習難度標準的優勢在于可以同時考慮分類和回歸的困難程度.受到上述研究的啟發,Yu 等[51]采用類似的方法對單階段檢測框架的正負樣本采樣進行了優化.它直接過濾簡單樣本,只對損失值最大的k個樣本進行反向傳播來更新網絡參數.

困難負樣本同樣可以用與實例框的交并比值來表示.Pan 等[27]提出了一種基于交并比值的分級采樣方法.它將交并比值劃分為K個區間,每個區間的候選采樣數為Mk,劃分保證困難負樣本在每個區間均勻分布,數量為N,則采樣方法表示為:

上式采樣方法有效地使參與訓練的樣本分布更接近于困難負樣本的交并比分布,從而提高了困難負樣本被選中的概率.

正負樣本采樣算法設計的關鍵在于如何解決訓練過程中正負樣本數不平衡及困難負樣本難以充分利用這兩個問題.針對不同數據集和任務.上述兩個問題的突出程度有所不同:模型應用的場景越復雜,采樣帶來的問題影響就越嚴重,合理的采樣方法能得到的模型性能收益就越大.

2.6 區域特征編碼方法的優化

對于兩階段的目標檢測框架,區域特征編碼是指將推薦層輸出的推薦框編碼成固定長度向量的過程,其目的是便于后續全連接層或卷積層對目標特征實行進一步的分類和回歸.

在R-CNN 模型[4]中,Girshick 等直接將區域特征從整張圖片上裁剪下來,并通過線性插值將其調整到固定尺寸后送入全連接層中,這種方法使用的特征雖然分辨率很高,但是計算過于耗時.

Fast R-CNN[5]和Faster R-CNN[6]模型中使用了區域特征池化(RoI pooling)的編碼方法,將任意大小的區域特征劃分為固定尺寸的網格(圖20),在網格內采用最大池化提取出唯一的特征傳給后面的全連接層.然而,這種下采樣的方法對小目標檢測效果很不理想,并且使得目標失去了部分的位置信息.為此,He 等[52]又在此基礎上提出了區域特征對齊(RoI align)的編碼方法,用雙線性插值代替了最大池化,保證了區域特征編碼的精度.

圖20 區域特征池化過程Fig.20 Pipeline of RoI pooling

為了更好地解決下采樣帶來的位置信息丟失問題,Dai 等[53]提出了位置敏感的區域特征池化方法,將每個網格作為特征圖的一個通道,通過最大池化的方法選擇出置信度最高的通道作為目標所在的位置信息表示.然而這種位置敏感的區域編碼方法主動放棄了全局信息,編碼后的特征缺失了空間上的關聯.針對此問題,Zhu 等[54]提出將區域特征池化和位置敏感的區域特征池化方法進行融合,從而得到包含全局和局部信息、魯棒性更強的編碼特征.Zhai 等[55]在上述這些方法的基礎上,設計了一種特征選擇子網絡來針對不同大小和長寬比的子區域進行特征學習,并將學習到的特征編碼后送入了后續網絡進行分類和回歸.

區域特征編碼能夠為模型后續的精確分類和回歸帶來很大的幫助.在設計和優化區域特征編碼方法時應注意:

1)使用下采樣方法進行編碼時會丟失區域特征的部分位置信息,為保證位置信息相對完整,應該盡量減少下采樣的使用,或在后續處理時進行相應的補償.

2)編碼時應盡量保留區域特征內的全局信息,避免不同區域特征間的關聯缺失,從而影響模型的檢測性能.

2.7 分類與定位去沖突方法的優化

目標檢測的訓練是同時對物體進行分類和定位的多任務學習過程,但由于分類任務需要位置不敏感的目標特征,而定位任務卻需目標特征對位置敏感,這就導致模型在聯合訓練的過程中很難使兩者同時達到最優,最終影響模型的檢測性能.

在Fast R-CNN[5]與Faster R-CNN[6]模型中,區域特征池化操作破壞了全卷積網絡的平移不變性,從而引入了具有平移變換性的特征,幫助模型進行更好的定位.但是這種做法使得區域級的特征無法在后續網絡中共享計算,降低了模型訓練和推理的速度.針對此問題,R-FCN 模型[53]創建了一個位置敏感的置信度圖,把平移變換特征引入了全卷積的網絡中,保證了特征在網絡中的計算都是可以被共享的,從而大大提高了模型的訓練和推理效率.

對于單階段框架的檢測模型,由于缺少區域特征池化等特征編碼操作,其經過直接回歸后得到的候選框定位位置與用于分類的目標特征是不對齊的(圖21).為解決上述問題,Chen 等[56]在單階段模型的基礎上,利用可變形卷積[38?39]來修正特征層的感受野,并根據回歸得到的候選框位置信息來確定卷積的補償值,以得到對齊后的目標特征,從而實現了候選框位置與目標特征間的匹配.

圖21 目標特征與候選框不對齊Fig.21 Misalignment between feature and box

除了上述方法外,將分類問題與定位問題進行一定程度上的解耦后分別考慮,同樣是緩解兩者沖突問題的有效手段.Cheng 等[57]認為分類與定位任務的沖突是導致檢測模型出現錯誤正例現象的重要原因.對此,他將RPN 網絡輸出的推薦框映射回原圖進行裁剪,再把裁剪后的圖像輸入到新的RCNN 網絡中單獨進行一次分類,得到最終的分類結果.為解決模型兩次分類導致訓練和推理速度過慢的問題,Cheng 等[58]又通過共享兩次分類過程中的淺層特征計算,來對模型進行加速.整個模型的計算流程如圖22.

圖22 DCRv2 模型的檢測流程Fig.22 Overall pipeline of DCRv2

模型定位性能同樣受到分類任務的影響.傳統的非極大值抑制方法只根據目標的分類置信度來決定檢測框的去留,而沒有直接考慮候選框的定位,導致定位精度更高的候選框反而有可能被抑制.對此,He 等[45]通過衡量候選框與實例框位置分布的差異,來重新計算每個候選框的置信度得分;Jiang等[46]預測每個候選框與對應實例框的交并比值作為定位置信度,并用其來引導非極大值抑制.這類方法在本質上通過單獨考慮分類與定位對檢測任務的貢獻,從而緩解了分類置信度與定位精度間不匹配的問題.

分類特征與定位特征不匹配的問題幾乎貫穿目標檢測的整個過程,在設計相關解決方案時需考慮:

1)當前檢測場景或任務下,分類與定位中哪一個指標對模型最終性能的影響更大,從而用不同的權值來考慮兩者的重要性.

2)在不同的檢測模型中,分類與定位產生沖突的方式有所區別,應根據其特點來針對性地考慮緩解兩者矛盾的方法.

2.8 上下文信息建模方法的設計優化

上下文信息建模是指考慮目標物體的周圍環境,通過顯式地建模目標與周圍環境的關系,利用待檢測物體本身之外的信息,來幫助模型對該目標的檢測.根據利用的上下文信息范圍的不同,該方法可以被分為全局上下文建模與局部上下文建模兩類.

全局上下文建模在整張圖像上考慮外部上下文信息,通常的做法是將提取到的外部特征與目標特征進行拼接,然后送入卷積層或全連接層中進行分類與回歸.具有代表性的工作是Bell 等[59]提出的ION 網絡、Ouyang[60]等提出的DeepID 網絡.其中,ION 對內通過跳躍池化(Skip pooling)提取目標不同尺度的特征,對外采用空間遞歸神經網絡(IRNN)來提出目標外的上下文信息,并將兩種特征經過L2歸一化后拼接在一起,送入后續的卷積層與全連接層進行分類與回歸(圖23).而Deepid 網絡則對每一張圖像學習一個類別得分,并將其作為上下文特征與目標特征進行拼接,送入后續的SVM 分類器中進行分類.

圖23 ION 網絡的總體框架Fig.23 Pipeline of ION

局部上下文建模只考慮待檢測目標與周圍環境或其他目標之間的上下文關系,并將其作為線索幫助模型進行推理.Chen 等[61]針對非極大值抑制方法存在的問題,提出了空間記憶網絡(Spatial memory network,SMN)來保留和更新之前檢測到的目標特征,它在每一輪迭代中把上一次的檢測結果作為先驗知識輸入到RPN 網絡中來提升本次檢測的效果,然后將上一記憶單元與新檢測到的目標特征輸入到GRU 網絡中來更新記憶單元(圖24).由于該方法顯式地考慮了不同目標間的關系,在后處理階段無需再進行非極大值抑制就能得到最終的檢測結果.

圖24 SMN 網絡的記憶迭代過程Fig.24 Memory iterations of SMN

考慮到場景信息對不同目標的檢測,以及不同物體對某一目標的檢測做出的貢獻都是不同的,Liu 等[62]提出了基于結構推理的檢測網絡(Structure inference net,SIN),它將檢測任務用圖結構來進行建模(圖25),把經過區域特征編碼和全連接計算的目標特征作為圖的頂點,不同ROI 之間的權重關系及場景信息作為圖的邊,然后通過GRU 網絡(圖的邊為輸入特征,圖的頂點為隱藏層狀態)學習不同目標物體間的關系,最終得到新的特征用于分類和回歸.

圖25 SIN 網絡的檢測流程Fig.25 Pipeline of SIN

為更加直觀地建立不同目標物體間的關系,Hu 等[63]借鑒文獻[64]中的思想,設計了目標關系模塊(Object relation module),它利用圖上所有目標的外觀特征與幾何位置特征,來顯式地計算不同物體與待檢測目標特征的權重關系,再將其與目標原始特征進行疊加,得到新的目標特征,用于最終的分類與回歸.

除了考慮不同目標間的上下文關系外,部分學者還對目標內不同子區域間的關系進行了相關研究.其中,Gidaris 等[65]從推薦框的不同子區域(邊界區域,上下文區域,中心區域等)內提取出不同特征,并將這些特征與原始區域特征進行拼接,得到新的目標特征.考慮到物體間遮擋問題,Zeng 等[66]提出了雙向門卷積網絡(Gated bi-directional CNN,CBDNet),用來在不同子區域特征間傳遞信息,從而篩選出對檢測有幫助的區域內上下文信息,得到更好的目標特征.

總之,上下文信息建模通過顯式地表達不同目標與目標間,目標與場景間的關系,來建立相應模型對周圍場景的視覺理解,提高模型檢測困難目標物體的準確率和召回率,在建立上下文信息模型時應當考慮:

1)上下文信息會影響目標原始的外觀、幾何、位置等自身特征,并非所有場景下使用上下文信息都會對模型檢測性能有提升,需根據相應的檢測任務或數據集來決定是否應用.

2)不同對象提供的上下文信息對檢測當前目標的貢獻是不同的,在利用這些上下信息進行建模時應當分別考慮.

2.9 多尺度預測方法的設計優化

多尺度預測指對于不同尺度的目標用不同分辨率的特征圖進行檢測.區別于特征融合,該預測方法在模型網絡結構上表現為多分支,每個分支的有效感受野[67]大小不同.

在SSD[7]中,模型共有6 個不同分辨率的特征圖對目標進行檢測.其中,大分辨率的特征圖有效感受野小,用于檢測小物體;小分辨率的特征圖有效感受野大,用于檢測大物體.此后,YOLO 系列[8?10]、RetinaNet[68]等經典的單階段檢測模型都采用了類似的預測方法.

多尺度預測在兩階段框架上同樣有著較多的應用.文獻[69?70]都在不同分辨率的特征圖上來進行候選框的選取,以滿足不同尺度大小物體的檢測需求.Singh 等[71]指出將極端尺寸的物體用于模型訓練會導致其檢測性能下降,從而提出了限定訓練樣本尺寸的多尺度訓練和預測的SNIP (Scale normalization for image pyramid)算法.該算法采用圖像金字塔對輸入進行多尺度變換,針對不同尺度的輸入設定樣本的有效尺寸范圍,使模型只從合理尺寸大小(當前輸入尺度下)的樣本中進行梯度計算和參數更新,避免極端大小目標對模型性能的影響,最終到達多尺度訓練與預測的目的(圖26).但是,由于SNIP 模型需要在高分辨率圖上進行多尺度的訓練,所以訓練速度非常慢.為此,Singh 等[72]對模型的圖片輸入進行了預處理,利用正例框選(Positive chip selection)的方法從原圖中提取出多幅不同尺度的低分辨率子圖,用于包含原圖中所有的實例.這種方法大大減少了模型對高分辨率背景區域的計算,提高了模型的訓練速度.

圖26 SNIP 模型的多尺度訓練與預測Fig.26 Multi-scale training and inference of SNIP

為進一步提高模型對小目標的檢測性能,Najibi等[73]標記與小物體(在某一尺度下)有交集的像素作為焦點像素 (Focus pixels),通過連通相鄰的焦點像素形成焦點區域,并采用級聯的方式訓練該區域去預測小目標,從而提高了模型對小目標檢測的準確率和召回率.

多尺度預測方法的本質目的就是使得目標尺度與當前特征圖的有效感受野相匹配.為讓同樣結構的預測分支擁有不同感受野,Li 等[74]借鑒了空洞空間金字塔池化(Atrous spatial pyramid pooling,ASPP)[75]模塊的設計思路,在不同預測分支上使用膨脹率不同的空洞卷積來獲得不同大小的感受野(圖27),并通過支路間的參數共享提升模型的訓練和推理速度,最終取得了較好的檢測效果.

圖27 TridentNet 模型的多尺度預測Fig.27 Multi-scale inference of TridentNet

多尺度預測有效緩解了卷積神經網絡缺少尺度不變性的問題,對檢測模型性能的提升起到了關鍵作用.在設計和優化多尺度預測方法時,應當考慮:

1)利用特征圖進行多尺度預測時,可以通過特征融合等方法來緩解淺卷積層特征提取不充分(如SSD)的問題.

2)多尺度會增加較多的計算量,故在設計相應算法時需要考慮模型訓練與推理的資源和時間消耗,通過參數共享、轉化輸入等技巧來減少計算.

2.10 損失函數的設計優化

損失函數量化了檢測模型在訓練過程中出現的分類和定位等錯誤,為模型的更新提供了方向.大多數目標檢測算法的損失函數由分類損失函數與定位損失函數的加權和求得:

其中,Lcls表示分類損失函數,Lreg表示定位損失函數,λ表示平衡分類損失與定位損失的權重系數.

2.10.1 分類損失函數

分類損失指模型預測目標類別與實例不符帶來的懲罰.在經典的單階段和兩階段檢測框架中,分類損失一般由二分類交叉熵表示:

其中,pi表示由k+1 類softmax 計算出的置信度,N?表示對應類別的樣本數目.

從式中可以看出,當輸出的特征圖某個網格上預測的正確類別置信度越低則相應的損失函數值就越高,從而對模型參數的更新貢獻就越大.

傳統的二分類交叉熵沒有考慮樣本中存在類別不平衡等問題,使得數量眾多的簡單負樣本控制了模型更新的方向,而具有更多信息的正樣本和困難負樣本對梯度的更新幾乎沒有貢獻.針對這個問題,Lin 等[68]提出了焦點損失(Focal loss),它在式(7)基礎上分別為正負樣本、難易樣本添加了權重:

其中,α表示正負樣本間的權重,取值為[0,1].表示難易樣本間的權重,取值為≥0.

上式表明,對于樣本數較少、學習難度大的類別應適當增加其在損數函數中權重,保證所有樣本對模型參數更新的貢獻都是相對平衡的.

焦點損失函數雖然通過調整樣本權重,有效緩解了類別不均問題,但卻沒能顯式地考慮樣本間的關系,并且手工設計的超參難以適用于不同的任務和數據集.針對上述問題,Chen 等[76]提出了基于樣本置信度排序的平均準確率損失(Average precision loss),用樣本間置信度的差值代替原本置信度:

其中,s(bi;θ)表示參數θ為的錨點框bi的置信度.

則平均準確率損失定義為:

其中,H(?)表示單位階躍函數,P表示正樣本,N表示負樣本.

上式中,當負樣本的置信度得分高于正樣本置信度得分時,以正負樣本置信度差值為輸入的單位階躍函數取值為1,從而產生損失.

除了為樣本提供權重的方法外,Li 等[77]從梯度更新角度出發,提出了梯度均衡機制(Gradient harmonizing mechanism).該方法首先定義并計算了梯度模長g=|p ?p?|,其中p為對應類別的置信度,p?為對應實例標簽.如圖28 所示,對于一個收斂的檢測模型,梯度模長很小或很大的樣本數量遠遠多于模長中等的樣本數量.

圖28 不同梯度模長的樣本數量Fig.28 Number of samples with different gradient norm

定義區域內樣本數量與區域大小比值為梯度密度,則:

其中,?表示區間長度,gk表示第k個樣本的梯度.

則梯度均衡機制的分類損失定義為:

其中,LCE表示標準的二分類交叉熵.

從上式可以看出,對于樣本多的梯度模長區間,其在總分類損失中的權重會下降,從而使模型更加均衡地學習不同難度的負樣本,以提高其分類性能.

2.10.2 定位損失函數

定位損失指模型預測目標位置與實例位置不重合帶來的懲罰.在經典的單階段和兩階段檢測框架中,定位損失一般由平滑L1范數來表示:

其中,x表示候選框實際補償與預測補償的差.

平滑L1范數的優點在于對定位誤差的懲罰是線性增長的,這有利于保持訓練過程的平穩.

在目標密集的檢測場景下,模型的輸出結果會很大程度上受到周圍其他目標的影響干擾.為此,Wang 等[78]提出了排斥損失(Repulsion loss),迫使預測框與對應實例框靠近,而增大其與其他實例框和預測框間的距離:

其中,LAttr表示預測框與對應實例框間的距離損失,LRepGT表示預測框與其他實例框間的距離損失,LRepBox表示預測框與周圍其他預測框間的距離損失.α,β為實驗確定的權重常數.

當預測框與對應實例框距離很近,而與其他實例框和預測框的距離很遠時,模型計算得到的定位損失就越小,表明當前模型檢測性能越好.

通常,模型的總損失函數是分類損失與加權定位損失的和.然而,這種通過加權對分類損失和定位損失的權重進行調整的做法會導致模型對定位損失大的樣本更加敏感,影響模型的性能.針對上述問題,Pan 等[27]提出了平衡L1損失,用于降低被過度放大的困難負樣本梯度,適當提高簡單樣本的梯度.文中通過對定位損失梯度的設計來反解定位損失函數:

其中,α、b、γ為實驗確定的常數.

無論是L1損失還是L2損失,都是將各個位置坐標分開來進行獨立的預測.這種對位置的描述方法忽略了各個點之間的聯系,因而并非一定是對位置最直觀的表示.為此,Yu 等[79]提出了基于交并比的定位損失計算方法,直接以預測框和相應實例框的交并比作為判斷定位準確性的依據:

其中,area(?)表示區域面積.

從上式中可以看出,若預測框與實例框交并比越大,則損失函數的值越小,說明模型當前的性能較好.

然而上述損失函數值在預測框和實例框交并比值很小時趨于無窮,不利于數值穩定.Tychsen-Smith等[80]提出了帶上界的交并比損失(以預測框橫坐標為例):

其中,bt表示實例框,x表示預測框中心位置橫坐標,wt表示實例框寬度,Δx表示預測框與實例框中心橫坐標的差.

上式損失值在預測框與實例框交并比值為0 時是常數,從而有效避免了數值溢出的問題.

2.10.3 其他損失函數

除了目標的類別和位置外,一些檢測模型同時需要預測其他特定模塊的輸出.例如,文獻[37]中對錨點框生成的位置及形狀進行預測,設計了錨點框損失函數;文獻[11]中對特征圖上所有左上角點與右下角點的配對進行預測,設計了配對組合損失函數;文獻[42]中對最佳尺度的特征層進行預測,設計了特征層選擇的損失函數.

由于這類損失函數都是針對特定的目標檢測算法而設計,不具備一般性,故在此不做具體闡述.

總之,損失函數決定了模型參數的更新方向,從而很大程度上影響模型最終的檢測性能.損失函數的設計優化應注意:

1)損失函數在定義域內應是連續可微的.

2)對于分類損失函數,應當考慮不同類別樣本對參數更新的貢獻,保證模型對各類樣本學習都足夠充分.

3)對于定位損失函數,應當選取位置表示能力較強且優化難度較低的決策變量,并根據具體任務與數據集做合理的修正.

4)對于端到端的訓練過程,總損失函數是由各類損失函數加權求和構成的,其權重大小應當根據具體任務或數據集,通過實驗的方法來確定.

2.11 特定場景下的檢測模型優化

在不同場景與任務下,由于模型檢測對象的差異,相應的目標檢測架構也會有較大區別.

2.11.1 自然場景下的文本檢測模型優化

自然場景下的文本檢測任務中,文本框通常具有多方向、極端長寬比、形狀不規則等特定問題.因而無法直接套用通用目標檢測模型.

針對上述問題,Ma 等[81]在Faster R-CNN 基礎上,設計了預測文本傾斜角度的RPN 網絡,來實現多方向的文本檢測.Liao 等[82]在SSD 模型的基礎上,通過修改卷積核尺寸以適應長文本的檢測,并將回歸水平預測框修改為回歸四邊形框的角點,來實現傾斜文本的檢測.Zhou 等[83]繼承DenseBox[84]的檢測思想,在多尺度融合的特征圖上進行像素級的文本檢測,預測每個像素到四個邊界的距離以及旋轉角度,得到最終的檢測結果.

某些情況下不同文本的間距很小,語義分割難以將其完全分開.Deng 等[85]提出使用實例分割來解決該問題,它借助FCN 網絡進行像素級預測,分別得到文本和鏈接的二分類,使用正鏈接去連接鄰近的正文本像素,得到文本實例分割的結果.為提高對彎曲文本的檢測性能,Xie 等[86]在Mask RCNN 的基礎上多一個分支做文字語義分割,并把語義分割的中間特征和檢測分支特征進行融合,用語義分割的結果作為注意力,對實例特征再進行一次計算,得到最終的分類得分.這種做法顯著提高了Mask R-CNN 模型對不規則形狀文本的檢測精度,取得了很好的效果.除了自頂向下的實例分割方法外,Wang 等[87]采用一種漸進尺度擴展網絡來實現文本間緊挨情況下的檢測,它以FPN 為基礎架構,用多支路來表示不同核的分割結果,再通過漸進式擴展算法不斷擴大文本核,直到相鄰核之間發生擴展沖突,得到最精細的文本檢測結果.

2.11.2 航拍圖像下的檢測模型優化

航拍圖像下的目標占像素小、密集、多方向,其數據集[88?89]與通用場景下的圖像數據差距較大,因而通用模型在航拍圖像上難以取得良好的檢測效果.

為提高對航拍圖像下小目標檢測的召回率,Yang 等[90]采用提高特征圖分辨率(或減少錨點框步長)的方法使更多的小目標匹配到正樣例,并通過不同層級間的特征融合,以及空間與通道上的注意力機制來增強不同尺度目標的特征,來進一步區分前景與背景.

考慮到航拍角度的特殊性,獲得旋轉不變的目標特征是尤為關鍵的.Ding 等[91]利用一個全連接層從水平區域框中學習到旋轉區域框,并通過旋轉位置敏感模塊(Rotated position sensitive RoI Align)來從該框中獲得旋轉不變的目標特征,用于后續的分類與回歸.

直接回歸方向邊界框的角度需要一些復雜的規則來保證角度計算不出現歧義,這加大了模型學習的難度.對此,Qian 等[92]提出了八參數的旋轉損失,它采用基于向量叉積(Cross-product)的計算方法來得到四邊形邊界框的回歸計算順序,從而來消除角度計算時出現的歧義問題.Zhu 等[93]不直接回歸方向框的旋轉角度,而是用角度分別為90°與180°的兩個不同周期的周期向量(Periodic vectors)來隱式地表達邊界框的方向,這種方法生成的標簽數據能夠省去復雜的規則描述,從而更加簡單與合理地表示了帶方向的標注框.

2.11.3 遮擋環境下的行人檢測模型優化

行人之間相互遮擋是密集人群檢測的一大難點.被遮擋行人的特征受到周圍行人的影響,導致檢測中出現假正例與漏檢的問題.為此,一些行人檢測數據集[94?95]提供了更有針對性的數據標注,來幫助解決行人遮擋問題.

Pang 等[96]利用標注中的遮擋信息設計了基于掩碼的空間注意力機制模塊(Mask-guided attention),來幫助模型更加專注于行人未被遮擋部分的特征,從而有效緩解了周圍其他特征對行人檢測的干擾.Zhang 等[97]等針對遮擋問題,在Faster RCNN 模型的基礎上提出用基于遮擋敏感的區域特征編碼來代替原始模型中的相應操作,它將行人分成五個部分后分別進行區域特征編碼,并根據不同部分的遮擋程度來加權組合這些特征,得到對遮擋敏感的行人特征并用于后續的檢測.Liu 等[98]借鑒FCN 與DCN 的思想,采用位置敏感的可變形卷積池化來增加模型特征編碼的靈活性,讓模型更多地從行人可見部分中學習相應特征,避免其他物體的遮擋干擾.

除了使用注意力機制外,部分學者從損失函數的角度來解決遮擋問題.Wang 等[78]與Zhang 等[97]都通過縮小候選框與相應實例框距離,增大與實例框和候選框距離,來緩解候選框間距離太近導致后處理困難的問題.

在密集場景下,傳統的非極大值抑制方法處理候選框會很容易出現漏檢與假正例問題.對此,Liu等[99]針提出了自適應的非極大值抑制算法.它首先在兩階段模型上增加人群密度估計分支,得到該區域的人群密度大小,然后根據該值動態地調整非極大值抑制的閾值,從而較好解決了遮擋下的候選框后處理問題.

綜上所述,對于特定場景下的檢測模型進行優化時應注意:

1)數據集的選擇非常重要.專業數據集往往比通用數據集的標注信息更具針對性,因而能更好地幫助檢測模型的設計、訓練與測試.

2)不同任務對檢測模型的要求不同,應根據當前任務的特殊性與難點來針對性地優化模型.

3 實驗結果對比與分析

本文在COCO 2017 數據集上對上述各種改進的模型進行實驗和比較,結果見表1 與表2 (注:RResNet,X-ResNeXt,HR-HRNet,D-DarkNet,HGHourglass.++表示使用了多尺度、水平翻轉等策略).

表1 各檢測模型的性能對比Table 1 Performance comparison of different object detection models

表2 部分檢測模型的速度、顯存消耗、參數量與計算量對比(基于Titan Xp)Table 2 Speed,VRAM consumption,parameters and computation comparison of some object detection models (on Titan Xp)

對比表中的數據進行分析后可以看出:

1)相同檢測框架下不同主干網絡的模型檢測性能差別很大,主干網絡越深則相應模型檢測性能越好,頸部連接結構引入的特征融合操作,對檢測效果提升明顯.使用通道、空間注意力與全局上下文后,模型的檢測準確率進一步提升.由此表明深層、多尺度、全局的特征對模型檢測起到了重要的作用.

2)錨點的設計對模型檢測性能有較大影響,根據目標幾何特征來設計或自適應生成相應尺寸的錨點框能有效提高模型的檢測精度.無錨點檢測模型作為新興研究方向也有著比較出色的性能,但其涉及像素級的計算過程,因而顯存占用相對較多.

3)在高交并比的評價標準下,改進的非極大值抑制算法能使模型檢測準確率有所提升.這表明非最優的候選框中也包含對模型檢測有利的信息,對其進行充分利用可以提高模型對困難樣本的檢測性能.

4)變交并比閾值能幫助模型從粗到細地調整候選框的分類與定位,解決模型當前性能與正負樣本的交并比閾值不匹配問題,有效地提高模型整體的檢測性能,但同時也引入了更多的計算量.

5)對正負樣本進行合理采樣能緩解檢測中的類別不均問題,提高模型訓練的有效性,從而幫助模型更快地學習到目標特征,提高檢測精度.

6)對比不同區域特征編碼方法可以看到,精確的局部位置信息以及全局信息對于兩階段模型獲得表達能力強的編碼特征都是很重要的.

7)通過特征對齊或者解耦的方法,來解決分類與定位的特征不匹配問題,可以有效避免任務間相互影響,幫助模型更有效地進行多任務學習.

8)上下文建??紤]全局與周圍目標的信息,來提取出包含上下文信息的目標特征,實驗結果表明該方法能夠有效提高模型(特別是當主干網絡較淺時)對困難樣本的檢測效果.

9)尺度變化對模型檢測性能的影響比較嚴重.對不同尺度目標采用不同有效感受野大小的特征圖去檢測,能顯著地提高目標在實際場景下的檢測性能.但是由于這類模型需要進行不同尺度上的特征計算,在訓練/推理速度、顯存消耗、計算量上有較為明顯的短板.

10)針對特定問題進行合理優化后的損失函數可以更直接地去表達和解決目標檢測中存在的正負、難易樣本不均,目標遮擋嚴重,定位精度不高等難題,從而在幾乎不增加模型復雜度的情況下提高模型的檢測性能.

4 展望

除了對目標檢測模型的各種子模塊進行優化外,近些年來該領域也出現了一些新興的研究方向.

4.1 基于神經算法搜索的模塊優化

神經算法搜索(NAS)是一種在給定搜索空間中搜索最優模型架構的自動學習算法.基于強化學習的NAS 算法,通過設計RNN 控制器來進行架構搜索,利用子模型在搜索空間中的準確度作為獎勵信號,來更新其參數.在反復的訓練過程中,控制器就能逐漸學會生成更好的模型架構.

NAS 在計算機視覺領域最早的應用成果是NAS-Net[101].它借鑒了ResNet、Inception 等主流網絡重復堆疊的思想,通過RNN 控制器來預測分類網絡的結構,并利用驗證集上的準確率來更新RNN 控制器的參數,最終得到了分類網絡的基本堆疊單元.實驗表明,該方法得到的分類網絡在分類性能上有較大優勢.

目標檢測與圖像分類的任務不同,因而NASNet 架構對于檢測來說不是最優的.針對該問題,曠視[102]首次提出了用于自動搜索物體檢測器主干網絡方法.為降低搜索過程中的時間與資源消耗,研究人員將網絡權重的訓練與結構搜索進行解耦,先在ImageNet 數據集上進行預訓練,再在檢測數據集上微調參數,最后進行網絡結構的搜索.搜索過程采用遺傳算法來進行架構的更新,收斂后得到的DetNAS 主干網絡模型性能超越了絕大部分的手工網絡結構.

最近,Google Brain 又將NAS 應用在特征金字塔的搜索上,得到了NAS-FPN[103]架構.它利用融合單元(Merging cells)組建起基本的特征金字塔結構和所有可能的特征層組合,構造出算法的搜索空間.從最終收斂的結果來看(圖29),底層向上傳遞信息的特征融合次數較多,這表明精確的位置信息對模型檢測準確率提升的有較大作用.

圖29 NAS 搜索收斂后的FPN 架構Fig.29 NAS-FPN framework after convergence

為提高NAS 方法的搜索速度和效率,降低計算資源的消耗,Wang 等[104]采用無錨點的FCOS 模型作為搜索對象,并限定了卷積操作的搜索空間,分別對特征金字塔和預測頭部的結構進行了搜索,搜索結果表明可變形卷積與拼接操作對于提升特征金字塔的性能非常關鍵,而可變形卷積+1×1 卷積的結構在預測頭部上取得了性能和計算量上的最佳平衡.

為搜索更為復雜的目標檢測模型架構,并在更大的數據集上進行搜索驗證,降低NAS 方法的計算和時間開銷[105]是非常必要的,也是該研究領域未來發展的重要方向.

4.2 少樣本的目標檢測

目前,主流的檢測模型都是在大量數據樣本下訓練得到的,這些模型在面對少樣本的情況會出現嚴重的過擬合,性能大大降低.而少樣本的目標檢測(Few-shot object detection)正是針對少量訓練數據提出的一類檢測任務.

少樣本學習在目標檢測領域主要有元學習(Meta learning)與度量學習(Metric learning)兩類.元學習則注重訓練模型少樣本的學習能力,使模型能夠從少量樣本中提取出有用的特征;度量學習通過度量支撐樣本與測試樣本間的特征距離來進行目標的分類.

許多少樣本學習[106?109]模型都是在兩階段模型的基礎上通過替換RPN 網絡和檢測頭部來實現的.其中,Karlinsky 等[106]在Faster-RCNN 模型的基礎上,用子網絡替換原始模型中的分類支路(圖30),提出了端到端的少樣本學習框架,它將區域編碼后的特征送入度量嵌入模塊計算出嵌入特征向量,再計算該向量與每個類別的表征向量的距離,來得到每個ROI 區域的類別后驗概率.在少樣本測試時,用支撐樣本計算出的表征向量替代訓練過程中的表征向量,從而獲得新類別的表征,并用于類別后驗概率的計算,得到最終的分類結果.

圖30 RepMet 模型的訓練與推理流程Fig.30 Training and inference pipeline of RepMet

Fan 等[107]提出了注意力機制的RPN 網絡(圖31),用來過濾與支撐樣本類別不符的物體,并為每個不同類別的支撐樣本單獨建立多關系頭部(Multi-relation head)來對查詢樣本和支撐樣本進行匹配,得到最終的檢測結果.

圖31 基于注意力機制RPN 與多關系頭部的少樣本檢測Fig.31 Attention-RPN and multi-relation head based few-shot detection

雖然上述模型都實現了端到端的少樣本檢測,但其并沒考慮少樣本下的定位問題.對此,Kang 等[110]提出了一種新的檢測框架,它包括元特征學習與特征權重調整兩個部分.給定一個查詢樣本和一組新類支撐樣本,特征學習器從查詢樣本中提取出元特征,權重調整模塊捕獲支撐樣本的全局特征,并將其用于調整查詢樣本的元特征,從而查詢樣本的元特征能夠有效地使用支撐樣本提供的分類與定位信息,最終獲得查詢樣本的分類與定位結果.

少樣本檢測是克服實際工程中數據樣本缺乏問題的重要方法之一.當下,大多數相關模型在檢測推理中使用的查詢樣本類別較少,并對少樣本下目標定位問題的研究不多,這都是該方法在投入實際工程前需要解決的問題.

4.3 領域自適應的目標檢測

目標檢測通常假定訓練數據與測試數據服從相同的分布,然而在實際工程中并非總是如此,這種分布上的不匹配會導致模型在實際場景應用中產生顯著的性能下降.領域自適應便是為了解決該問題而出現的新興研究方向.

領域自適應的目標檢測主要分為有監督與無監督兩類.有監督方法[111?113]生成或利用少量的目標域 (Target domain)標簽來微調網絡模型,消除與源域(Source domain)間的差異.無監督方法[114?116]采用對抗訓練的方式,來訓練領域判別器以最小化源域與目標域間的分布差異.

Ionue 等[111]采用CycleGAN[117]將源域數據分布變換為目標域數據分布,并在其上進行訓練來對檢測模型進行微調.接著用微調后的檢測器對目標域圖像進行檢測,選取最高概率的結果作為目標圖像的偽標注,并用這些偽標注進一步對模型進行微調,得到最終的檢測模型.

Kim 等[113]同時從有監督與無監督方法中受到啟發,通過CycleGAN 生成與源域共享標簽的中間域圖像,三個域圖像同時輸入到模型進行多類別的域判別器訓練,進而得到多個域間不變的目標特征,用于后續的分類與回歸.

Chen 等[114]首次提出無監督的領域自適應目標檢測,它在Faster R-CNN 模型的基礎上,同時訓練圖像級與實例級的域判別器(圖32),采用對抗訓練的方法:最小化域分類損失得到最佳域判別器,最大化該判別器分類誤差,來對齊源域與目標域,從而得到域不變的目標特征,提高模型在目標域的檢測性能.

圖32 基于Faster R-CNN 的域適應分支Fig.32 Domain adaptive branch based on faster R-CNN

淺層特征與高層特征包含的信息是不同的.Saito 等[115]分別選取淺層特征與高層特征在源域與目標域上做不同程度的對齊:底層特征使用交叉熵損失做強對齊,高層特征使用Focal loss 做弱對齊,最終得到更適合于目標域檢測的特征.

領域自適應的目標檢測對提升模型在實際場景(如惡劣天氣條件)下泛化能力的幫助很大,是未來檢測模型能在更一般環境下得到成功應用的關鍵技術.

4.4 輕量化的目標檢測

為實現目標檢測模型在嵌入式設備或移動端設備的落地,減少模型推理的計算和時間開銷是至關重要的.

Google 提出的MobileNets 系列[118?120]是專門為移動端設計的輕量級網絡,它用深度分離卷積來代替傳統卷積,并修改輸入與輸出層的結構,來大大降低了模型計算量;用倒置殘差模塊和線性瓶頸層來減輕低維度上非線性變換造成的信息丟失,最終得到了在計算資源受限下具備較高檢測性能的網絡模型.

除了MobileNets 系列外,Zhang 等[121?122]設計了基于組卷積(Group convolution)優化的ShuffleNet,它針對組卷積輸出的通道信息表示能力差的問題,提出了通道間的混洗操作,來促進不同通道間的特征信息傳遞,在保證計算量幾乎不變的條件下,有效增強了每個輸出通道的特征表示能力.Zhang 等[123]提出了主從組卷積的計算方法,通過主組卷積減少卷積計算量,從卷積來融合不同分組間的目標特征,并采用稀疏化卷積核、量化卷積核權重等方法來進一步壓縮網絡模型的大小.

Qin 等[124]在ShuffleNet 上進行改進,通過增大淺層特征的通道數和感受野,來獲得更有效的目標特征,并加入上下文信息增強模塊和空間注意力模塊來進一步促進多特征的融合,從而在保證高速推理的同時提升模型的檢測精度.

另外,部分學者還通過模型剪枝的方法來降低檢測推理的計算量.Zhang 等[125]在YOLOV3 模型的基礎上,通過對每一輪訓練后的模型進行評估,來剪枝尺度因子較小的通道,不斷降低模型的復雜度,最終得到與原模型檢測性能相近,但推理速度更快的新模型.

在移動端與嵌入式端應用越發廣泛的背景下,降低模型計算開銷以實現在這些設備上的部署是大勢所趨,也是未來目標檢測領域研究的熱點.

4.5 弱監督下的目標檢測

實例級的數據標注是一項昂貴、費時費力的工作,甚至在某些場合下是難以做到的.而弱監督的目標檢測從只提供圖像級(Image-Level)的標注信息中來學習對目標的分類與定位.由于缺少實例框標注,弱監督下的目標檢測需要根據圖像特征來進行定位.

Bilen 等[126]通過選擇搜索(Selective search)的方法來獲得大量候選框,再利用分類階段和檢測階段分別得到每個候選框的類別概率與每個候選框對特定目標的檢測貢獻率,兩者的內積作為各區域的得分,最后根據得分來確定檢測結果.然而,WSDDN 模型的損失函數是非凸函數,往往收斂到局部極小值,相應的一些優化方法[127?130]被提出用來解決該問題.Yang 等[131]在文獻[128]的基礎上將多實例學習過程(Multi-instance learning)與模型訓練過程連接成一個可端到端訓練的網絡,并引入了空間注意力機制來獲得更具有判別性的特征.Wan等[132]提出一種基于最小熵隱變量的弱監督模型,它通過優化局部最小熵模型來估計偽標簽(Pseudoobjects)和困難負例,并充分利用這些信息來最小化學習過程中的隨機性,從而進一步提高模型的定位能力.

Zhou 等[133]從目標的語義信息角度出發,利用全局池化來得到每個特征層對每一類別物體的權重值,并以此對特征圖進行線性加權,獲得的高響應區域就是目標所在區域.然而,這種方式很容易導致模型只對目標最具有辨別力的部分進行檢測,從而降低定位的精度.對此,Zhang 等[134]提出了對抗互補學習的策略,它通過交替訓練兩個不同的分類器,得到互補的目標特征來進行拼接,由此避免了上述問題,提高了模型的定位能力.Choe 等[135]在訓練過程中隨機生成掩碼來遮擋目標整體范圍內最顯著的特征,來引導模型學習目標完整的區域特征,從而有效解決了目標定位誤差較大的問題.

在數據標注成本越發昂貴的背景下,弱監督目標檢測的低廉成本使其受到了更多研究人員的關注.如何進一步縮小弱監督檢測模型與通用檢測模型間的性能差距,是未來該方向的研究重點.

5 結語

本文歸納分析了目標檢測模型的子模塊優化方法,并對目標檢測領域未來發展的方向進行了展望,從中得出了以下結論:

1)不同的檢測場景與任務對模型性能的要求不同,應根據具體場景與任務特點對模型做相應的改進,并在專業數據集上對其進行訓練與測試.

2)主干網絡和頸部連接層的結構優化能夠抽取更好的目標特征,因而幾乎在任何場景、對任何模型的檢測性能提升都是非常有利的.

3)當檢測場景中目標分布密集,相互遮擋問題嚴重時,非極大值抑制算法和交并比算法的優化能夠有效緩解目標漏檢的問題,從而提升模型對密集目標的檢測性能.

4)當檢測場景相對復雜,背景嘈雜時,正負樣本采樣算法和損失函數設計的優化能提升模型從各類訓練樣本中學習的效果,進而提高模型對困難目標的檢測效果.

5)目標檢測領域在未來將圍繞更優的檢測性能與更好的工程落地兩個不同方向,從自動化、輕量化、域適應、少樣本、弱監督等角度展開進一步深入研究.

猜你喜歡
分類特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分類算一算
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
主站蜘蛛池模板: 午夜性刺激在线观看免费| 女人18一级毛片免费观看| 曰韩人妻一区二区三区| 成人日韩欧美| 亚洲综合九九| 国产99精品久久| 免费99精品国产自在现线| 欧美成人看片一区二区三区| 亚洲国产天堂久久综合226114| 91麻豆精品视频| 国内毛片视频| 日韩人妻精品一区| 欧美中文字幕在线视频| 精品亚洲麻豆1区2区3区| 国产午夜无码片在线观看网站| 国产亚洲精久久久久久无码AV| 欧美日本一区二区三区免费| 国产拍在线| 国产精品美人久久久久久AV| 少妇露出福利视频| 99久久亚洲综合精品TS| 五月婷婷综合色| 精品福利视频网| 国产不卡一级毛片视频| 777国产精品永久免费观看| 999国产精品永久免费视频精品久久| 国产福利小视频在线播放观看| 亚洲大尺码专区影院| 欧美成在线视频| 色天堂无毒不卡| 五月综合色婷婷| 久久久久夜色精品波多野结衣| 国产午夜精品鲁丝片| 99视频国产精品| 日韩精品欧美国产在线| 五月天综合婷婷| 欧美成人看片一区二区三区| 漂亮人妻被中出中文字幕久久| 亚洲精品国产精品乱码不卞| 啊嗯不日本网站| 日本国产在线| 色天天综合久久久久综合片| 国产成人永久免费视频| 中文字幕伦视频| 四虎亚洲国产成人久久精品| 2021天堂在线亚洲精品专区| 亚洲系列无码专区偷窥无码| 国产色网站| 伊人久久久久久久| www亚洲天堂| 亚洲综合亚洲国产尤物| 亚洲中文在线看视频一区| 日韩欧美亚洲国产成人综合| 亚洲av成人无码网站在线观看| 精品午夜国产福利观看| 日本成人精品视频| 久久亚洲国产一区二区| 成人小视频网| 又粗又硬又大又爽免费视频播放| 国内黄色精品| 在线a网站| 91口爆吞精国产对白第三集| 老司国产精品视频| 成人免费网站久久久| 亚洲一区第一页| 亚洲精品少妇熟女| 国产成+人+综合+亚洲欧美| 亚洲国产天堂在线观看| a色毛片免费视频| 国产97色在线| 在线免费无码视频| 99re66精品视频在线观看| 九色视频一区| 国产精品女人呻吟在线观看| 九九久久精品免费观看| 国模极品一区二区三区| 亚洲色婷婷一区二区| 国产黄视频网站| 久久美女精品| 精品久久国产综合精麻豆 | 国产第一页免费浮力影院| 无码视频国产精品一区二区|