學習筆記 目標檢測演算法 兩階段

2021-10-10 16:17:03 字數 2016 閱讀 3254

兩階段目標檢測演算法:

r-cnn:

1.對影象進行selective search生成1k~2k個候選區域

2.將每個候選區域輸入網路提取特徵

3.將特徵送入每一類的svm分類器中,判讀是否屬於該類

4.使用回歸器精細修正候選框的位置

具體的一些細節:

1.利用selective search 演算法通過影象分割的方法得到一些原始區域。然後使用一些合併策略將這些區域合併,得到乙個層次的區域結構,這些結構就包含可能需要的物體。

2.對每個候選區域使用深度網路提取特徵

將2000個候選區域縮放到227 * 227,接著將候選區域輸入到預先訓練好的alex net獲取2000 * 4096維矩陣

3.將特徵送入每一類的svm分類器,判斷類別

將20004096維特徵與20個svm組成的權值矩陣409620相乘,獲得200020維矩陣,表示每個建議框是每個目標類別的得分。對上述200020維矩陣中的每一列及進行非極大值抑制提出重疊的建議框,得到該列中得分最高的建議框(voc資料集有20類)

(演算法的缺點:1.測試速度慢,selective search演算法提取候選框花費大量時間,候選框之間存在大量重疊,提取特徵操作冗餘。

2.訓練速度慢

3.訓練所需空間大)

fast-r-cnn

1.對輸入的影象進行selective search得到1k~2k個候選區域

2.將影象輸入網路得到特徵圖(feature map),同時將候選區域投影到特徵圖上得到相應的特徵矩陣

3.通過roi pooling將特徵矩陣縮放到7*7尺寸大小的特徵圖,接著將特徵圖展平通過一系列全連線層得到**結果

分類器(輸出n+1個類別的概率(n為檢測目標的類別,1為背景)共n+1個節點)

邊界框回歸器(輸出對應n+1個類別的候選邊界框回歸引數(x,y,h,w)共(n+1)*4個節點)

損失函式:

分類損失函式+邊界框回歸損失函式

分類損失函式:交叉熵

回歸損失函式:smoothl1

1.將影象輸入到網路得到特徵圖

2.將特徵圖輸入到rpn結構生成候選框,將候選框投影到特徵圖上獲得相應的特徵矩陣

3.將每個特徵矩陣通過roi-pooling層縮放到77大小的特徵圖,接著將特徵圖通過一系列的全連線層得到**結果

rnp結構 + fast-r-cnn

rpn結構:

將輸入到backbone得到feature map,在特徵圖上使用33大小的滑動視窗,計算出滑動視窗中心相對於原始影象上的中心點,計算出k個anchor boxes沒滑動乙個位置生成乙個一維的向量,通過兩個全連線層輸出目標概率以及邊界框回歸引數,針對於k個anchor box 相應的會有2k個 sorces 和 4k個coordinates。

anchor box 是規定長寬比大小的框

三種尺度(面積)

三種比例經驗所得

這樣每個位置對應就會有3*3=9anchor

對於zf感受野:171

對於vgg感受野:228

目標檢測演算法

基於深度學習的回歸方法 yolo ssd densebox 傳統目標檢測流程 rcnn解決的就是預先找出圖中目標可能出現的位置,即候選區域,再對這些區域進行識別分類。r cnn 具體步驟如下 步驟二 對該模型做fine tuning 微調 步驟三 特徵提取 步驟四 訓練乙個svm分類器來判斷這個候選...

目標檢測演算法綜述筆記

主要參考兩篇綜述 object detection in 20 years a survey recent advances in deep learning for object detection csdn上有翻譯版,對照這翻譯版,能夠更快的理解,注意如果是菜鳥,最好review三遍,三遍是我從...

目標檢測演算法對比 目標檢測演算法工程落地

覆盤一下在實現檢測演算法落地過程中所經歷的乙個流程 列出幾點重點說明一下 1 網路的選取和調參是關鍵 網路選取 考慮到實際情況的實時性 硬體效能,需考慮參數量較小的檢測網路,更傾向於單階段式的網路 基於yolossd等的多個變體網路 其次基礎特徵提取網路backbone的替換,傳統都是vgg的特徵提...