2_基於深度學習的目標檢測識別算法

目前能夠將現有的基於深度學習的目標檢測與識別算法大體分爲如下三大類算法

  • 基於區域建議的目標檢測與識別算法,如R-CNN, Fast-R-CNN, Faster-R-CNN;
  • 基於迴歸的目標檢測與識別算法,如YOLO, SSD;
  • 基於搜索的目標檢測與識別算法,如基於視覺注意的AttentionNet,基於強化學習的算法

1、基於區域建議的目標檢測與識別算法

  這類算法的主要步驟是:網絡

  • 首先使用選擇性搜索算法(Selective Search,SS)、Bing、EdgeBoxes這些目標候選區域生成算法生成一系列候選目標區域;
  • 而後經過深度神經網絡提取目標候選區域的特徵;
  • 最後用這些特徵進行分類,以及目標真實邊界的迴歸;

  目前此類算法比較知名的有R-CNN, Fast-R-CNN, Faster-R-CNN三種方法。從順序上,Fast-R-CNN針對R-CNN的不足作了改進,而Faster-R-CNN對Fast-R-CNN作了改進,三者在非實時水平上,精度和速度明顯改善。學習

  一、R-CNN

  R-CNN,Fast-R-CNN的做者同爲Ross Girshick。測試

  R-CNN的工做流程spa

  ⦁ 首先用選擇性搜索算法(Selective Search,SS)提取1k-2k個候選區域設計

  ⦁ 使用深度卷積神經網絡提取每個候選區的深度特徵blog

  ⦁ 訓練SVM分類器來對這些特徵進行分類圖片

  ⦁ 最後經過邊界迴歸算法從新定位目標邊界框深度學習

 

  Selective Search對算法的貢獻:此前,在一些傳統的目標識別算法中,使用的是滑動窗口進行候選區提取,這樣會致使在一章圖片中會產生高達百萬個候選區,而在R-CNN中,使用選擇性搜索算法,每次提取的候選區大概只有1k到2k可能包含物體的區域。工作流

  使用深度CNN提取建議區域的特徵時,須要注意的是,有些網絡對輸入圖片的大小有要求,如Alex-net要求輸入的圖片尺寸爲227像素*227像素的大小。所以,由SS提取獲得的候選區的尺寸大小不一,須要在輸入神經網絡以前調整大小。經過深度CNN提取特徵後,每一個目標候選區域相應獲得一個4096維的特徵向量。

  以上獲得了每一個候選區域的特徵向量,接下來使用SVM分類器對特徵進行分類。


  相對與傳統的方法,R-CNN的主要優點有:
  ⦁ 使用深度學習方法提取深度特徵,而不是使用人爲設計,所以提升了任務精度。
  ⦁ 採用區域建議提取可能目標,而不是使用滑動窗口的方式取檢測目標,這樣減小了沒必要要的候選區。
  ⦁ 加入了邊界迴歸的策略來進一步提升檢測精度

  不足之處

  雖然相對於傳統的目標檢測與識別算法,R-CNN在公共數據集上的準確率有着突破性的進展,如在PASCAL VOC的準確率從35.1%提高到了53.7%,可是R-CNN也有必定的侷限性。目標候選區的重疊使得CNN特徵提取的計算中有着很大的冗餘,着很大程度上限制了檢測速度。針對這個缺點將R-CNN升級爲Fast-R-CNN。
  R-CNN主要存在如下三個不足之處:

  • 整個模型分爲多個步驟,包括Selective Search提取候選區,訓練CNN提取深度特徵,訓練SVM進行分類沒訓練邊框迴歸器。
  • 測試時間長,因爲每張圖片要處理大量的目標候選框
  • 訓練時所需空間大,花費時間多,R-CNN訓練時處理每一張圖片所有resize到227*227分辨率的圖像候選框(爲了不圖像扭曲嚴重,中間能夠採起一些技巧減小圖像扭曲),並輸入網絡中,這使得處理每一章圖片所使用的空間大,同時整個模型須要訓練CNN, SVM分類器,以及目標邊框迴歸器,從而致使訓練時間花費不少。

  二、Fast-R-CNN

  (待續)

相關文章
相關標籤/搜索