1. 程式人生 > >深度學習(七)object detection

深度學習(七)object detection

ali 深度學習 深度 p s 安防系統 eat reference res sea

目標檢測(object detection)的基本思路: 檢測(detection)+ 定位(localization)

目標檢測在很多場景有用,如無人駕駛和安防系統。

  • 傳統方法

  特征提取算法(如:haar特征,HOG特征)+分類器(如:svm)

  • 深度學習方法
    • R-CNN (Regions with CNN features) 基於卷積神經網絡特征的區域方法

Selective Search to Extract Regions + CNN提取特征 + SVM分類

技術分享圖片

主要步驟:

(1) 輸入測試圖像

(2) 利用selective search算法在圖像中提取2000個左右的region proposal。

(3) 將每個region proposal縮放(warp)成227x227的大小並輸入到CNN,將CNN的fc7層的輸出作為特征。

(4) 將每個region proposal提取到的CNN特征輸入到SVM進行分類。

    • Fast-RCNN

去掉了單獨SVM分類的部分,直接用CNN的網絡實現分類

Fast R-CNN在整個圖片上使用CNN,然後對特征映射使用“興趣區域” (Region of Interest, RoI) 池化,最後使用前饋網絡進行分類和回歸。

技術分享圖片

主要步驟:

(1)在圖像中確定約1000-2000個候選框 (使用選擇性搜索)

(2)對整張圖片輸進CNN,得到feature map

(3)找到每個候選框在feature map上的映射patch,將此patch作為每個候選框的卷積特征輸入到SPP layer和之後的層

(4)對候選框中提取出的特征,使用分類器判別是否屬於一個特定類

(5)對於屬於某一特征的候選框,用回歸器進一步調整其位置

    • Faster-RCNN

Faster-RCNN添加了區域提案網絡 (Region Proposal Network, RPN),擺脫了選擇性搜索算法,並可以做到端到端的訓練。

RPNs的任務是基於objectness分數輸出對象,然後用RoI池化 (RoI Pooling) 和完全連接層分類。 技術分享圖片 主要步驟:

(1)對整張圖片輸進CNN,得到feature map

(2)卷積特征輸入到RPN,得到候選框的特征信息

(3)對候選框中提取出的特征,使用分類器判別是否屬於一個特定類

(4)對於屬於某一特征的候選框,用回歸器進一步調整其位置

    • SSD

SSD算法是一種直接預測目標類別和bounding box的多目標檢測算法。與faster rcnn相比,該算法沒有生成 proposal 的過程,這就極大提高了檢測速度。

技術分享圖片

  • 代碼實踐

Reference:https://blog.csdn.net/f290131665/article/details/81012556

深度學習(七)object detection