基於深度學習的基準目標檢測及其衍生演算法
程旭, 宋晨, 史金鋼, 周琳, 張毅鋒, 鄭鈺輝.基於深度學習的通用目標檢測研究綜述.電子學報[J], 2021, 49(7): 1428-1438 DOI:10.12263/DZXB.20200570
1 基於深度學習的基準目標檢測模型
基於深度學習的目標檢測方法根據有無區域提案階段劃分為區域提案檢測模型和單階段檢測模型,其最近發展歷程在圖1中畫出。
圖1 基於深度學習的目標檢測模型的發展歷程
1.1 區域提案目標檢測基準模型
區域提案檢測模型將目標檢測任務分為區域提案生成、特徵提取和分類預測三個階段。在區域提案生成階段,檢測模型利用搜索演算法如選擇性搜索(Selective Search,SS)、EdgeBoxes、區域提案網路(Region Proposal Network, RPN)等在影像中搜尋可能包含物體的區域。在特徵提取階段,模型利用深度卷積網路提取區域提案中的目標特徵。在分類預測階段,模型從預定義的類別標籤對區域提案進行分類和邊框資訊預測。
2012年,卷積神經網路AlexNet通過強大的分層特徵學習能力在ImageNet分類任務中奪魁,其分類結果比傳統演算法要好得多。之後Girshirk等基於此提出通用的目標檢測模型RCNN。
受空間金字塔匹配啟發,He等提出空間金字塔池化網路(Spatial Pyramid Pooling Network, SPPNet)解決RCNN模型中固定大小影像輸入的問題。儘管模型能解決固定大小影像輸入的問題並大幅減少檢測時間,但網路輸出特徵需要磁碟存儲且網路不能通過反向傳播更新卷積層參數。Fast RCNN,Faster RCNN解決了該問題。
儘管Faster RCNN運用RPN能有效地縮短檢測時間,但影像中上百個區域提案仍需輸入到區域子網路來分類與坐標回歸,這是模型的計算瓶頸。若直接減少區域子網路的深度則會引起基於分類初始模型與檢測模型的矛盾,因為分類會增加物體的平移不變性而檢測則減少物體的平移不變性。為解決上述問題,代表性的方法有RFCN,Mask RCNN。上述模型的相關資訊在表1中列出。
表1 區域提案目標檢測基準模型
1.2 單階段目標檢測基準模型
雖然區域提案檢測模型保持著高效的檢測效率,但其耗費時間長難以得到實際應用。相較於區域提案檢測模型,單階段檢測模型聯合區域提案和分類預測,輸入整張影像到卷積神經網路中提取特徵,最後直接輸出目標類別和邊框位置資訊。這類代表性的方法有:YOLO,YOLOv2,YOLOv3,YOLOv4,SSD,CornerNet等。
針對YOLO模型中目標定位不準確的問題,Liu等人提出更準確的單階段實時檢測模型SSD(Single Shot MultiBox Detector),其結合YOLO的回歸思想與Faster RCNN的錨框機制。之後DSSD(Deconvolutional Single Shot Detector)用於小目標檢測。然而,錨框機制也存在明顯的缺陷,如正負樣本不平衡、引入過多的超參數而折戟檢測速度與性能等。基於此,研究者提出了無錨框單階段檢測模型,上述模型的相關資訊在表2中列出。
表2 單階段目標檢測基準模型
2 基於深度學習的目標檢測衍生演算法
當前主流的基於深度學習的目標檢測方法可分為檢測部件、數據增強、優化方法和學習策略四個方面。其中檢測部件包含基準模型和基準網路;數據增強包含幾何變換、光學變換等;優化方法包含特徵圖、上下文模型、邊框優化、區域提案方法、類別不平衡和訓練策略六個方面,學習策略涵蓋監督學習、弱監督學習和無監督學習。本節從優化方法和學習策略這兩個大的方面歸納總結了深度學習下基準目標檢測模型的衍生方法。基於深度學習的目標檢測部件及其代表性的檢測方法如圖2所示。
圖2 基於深度學習的目標檢測部件及其代表性的檢測方法
2.1 融合特徵圖的目標檢測模型
特徵圖是影像經過卷積池化層輸出的結果,大多數基準檢測模型只在頂層特徵圖做預測,這在很大程度上限制了模型的性能。為了充分提取特徵資訊,現有檢測模型從三個角度融合淺中深層特徵,分別是:結合多層特徵圖單層預測模型(ION、HyperNet)、分層預測模型(MSCNN、SSD、RFBNet、TridentNet)和結合多層特徵圖多層預測模型(FPN、DSSD、STDN、DetNet、M2Det、FCOS、EfficientDet)。相關模型資訊在表4中列出。
表4 融合特徵圖的目標檢測模型
2.2 結合上下文資訊的目標檢測模型
在物體遮擋、背景資訊雜亂或影像品質不佳的情況下,根據影像的上下文資訊能更有效更精確地檢測。現有的目標檢測模型主要考慮將上下文資訊分為全局上下文資訊(DeepIDNet、ION、CPF)和局部上下文資訊(MR‑CNN、GBDNet、ACCNN、CoupleNet)。相關模型的資訊在表5中列出。
表5 上下文模型和邊框優化模型
2.3 優化邊框定位的目標檢測模型
當前檢測模型在小目標檢測表現不佳的主要原因是定位錯誤偏多,包含定位偏差大和重複預測,因此部分研究著眼於優化邊框定位來提升檢測性能,代表性的模型有MRCNN、Cascade RCNN、Grid RCNN等。此外,一些演算法使用後處理步驟來優化預測框位置,如NMS、Soft‑NMS、Softer‑NMS等。
2.4 高效區域提案的目標檢測模型
區域提案是影像中可能包含物體的區域,它是兩階段檢測模型中性能保障的關鍵。早期的檢測模型DPM使用滑動窗口方法,存在計算複雜度高和定位性能差的問題。RCNN使用SS演算法提取候選區域並利用卷積神經網路提取影像特徵,其檢測效率和性能上均有大幅提高。EdgeBox利用影像中低維線索如顏色、紋理、邊緣、梯度等對其分類,表現出良好的檢測性能。Kuo等人在EdgeBox基礎上提出DeepBox檢測模型,運行速度更快且提案窗口召回率更高。Ren等人提出使用RPN生成候選區域的Faster RCNN檢測模型,在特徵圖上以每個像素點為中心生成三個尺度和三個長寬比總共九個錨框。Ghodrati等人提出DeepProposal檢測模型,使用多個級聯的卷積特徵來生成對象提案再構建逆級聯選擇影像中可能存在的對象位置。
2.5 處理類別不平衡的目標檢測模型
類別不平衡的主要矛盾是負樣本數遠多於正樣本數,導致訓練的深度模型效率低。傳統檢測演算法常用Bootstrapping方法處理此問題,之後RCNN模型使用困難樣本挖掘(Hard Example Mining,HEM)方法來處理。Shrivastava等人在HEM基礎上提出在線困難樣本挖掘方法(Online Hard Example Mining, OHEM),其根據區域提案損失有選擇性地反向傳播負樣本區域更新梯度。最近,Lin等人提出使用Focal Loss的單階段檢測模型RetinaNet,使模型更關注於那些少量的困難樣本。表6總結了類別不平衡處理模型和訓練策略方法。
表6 類別不平衡處理模型和訓練策略方法
2.6 訓練策略
大多數目標檢測模型採取小批量樣本進行訓練,然而小批量樣本訓練存在梯度不穩定、訓練時間長等問題。研究者們提出一些高效的方法解決上述問題,典型的方法有:MegNet,LargeDet,SNIP,SNIPER,DSOD, ScratchDet等。相關訓練策略的資訊在表6中列出。
2.7 基於弱監督學習的目標檢測方法
數據標註的昂貴性和人工標註的主觀性已成為一個棘手的問題。基於弱監督學習的目標檢測方法主要劃分為三類:基於分割的目標檢測方法、基於多示例學習的目標檢測方法和基於深度學習的目標檢測方。這些模型的相關資訊在表7中列出。
表7 基於弱監督學習的通用目標檢測方法
2.8 基於無監督的目標檢測方法
儘管基於弱監督學習的目標檢測方法僅需要影像級別資訊即可訓練,表現出了良好的性能。然而,在現實應用中影像往往沒有標註資訊。目前,基於無監督學習的目標檢測方法大致可分為兩類:基於分割的目標檢測方法和基於領域自適應的目標檢測方法。模型的相關資訊在表8中列出。
表8 基於無監督學習的通用目標檢測方法