目標檢測中的RPN區域提取演算法

2021-09-26 02:00:17 字數 1460 閱讀 1857

用已知尺寸的視窗遍歷整個影象,生成很多子影象,漫無目的的搜尋。

selective search在rcnn和fast rcnn中用到,它的具體做法是將影象分割成很多小的區域,計算區域之間的相似度(顏色、紋理等等),結合各尺度結果,進行融合,形成大一些的region。具體參見

本文主要講解的是region proposal network,rpn是faster rcnn的核心,它的本質是基於滑窗的無類別obejct檢測器,影象每個位置有多種型別的anchor boxes(region proposal),用這些region proposal 訓練 faster rcnn,分類和框回歸通過梯度下降反向傳播調節網路引數,重新生成region proposal,再繼續訓練faster rcnn,不斷重複這個過程。

1、anchor

anchor就是feature map上的乙個畫素,以該anchor為中心,可以生成k種anchor boxes(region proposal),每個anchor boxes有著不同的寬高比和縮放比,**中使用的3種寬高比是(1:2,1:1,2:1),3種縮放比是(128,256,512),因此每個anchor產生9個anchor boxes。

2、rpn網路結構由三部分組成:

(1)頭部:生成anchor

(2)中部, 分類分支(cls) 和 邊框回歸分支(bbox reg) 分別對這堆anchor進行各種計算:

( two stage型的檢測演算法在rpn 之後 還會進行 再一次 的 分類任務 和 邊框回歸任務,以進一步提公升檢測精度)

(3)尾部:通過對 兩個分支的結果進行彙總,來實現對anchor的 初步篩除(先剔除越界的anchor,再根據cls結果通過nms演算法去重)和 初步偏移(根據bbox reg結果),此時輸出的都改頭換面叫 proposal 了。

3、rpn生成這麼多的region proposal,如何去除質量不好的呢?

(1)nms:計算候選框和真實框的交並比,設定閾值threshold為0.7,只保留threshold>0.7的region proposal,這樣可以減少anchor boxes的數量。

(2)框回歸:使得anchor boxes的位置更接近真實值。

4、rpn分類分支,只需要判斷候選區域是否含有物體,而不必判斷是哪類物體,如何判斷region proposal中是否含有物體呢?

方法就是,在訓練的時候,用ground-truth bounding box做對比,若候選框與任意gt-box的iou>0.7,就認為是positive anchors,同時該gt-box的位置引數就是box regression任務的標籤。若與任意gt-box的iou<0.3,就認為是negative anchors,介於0.3和0.7之間的,丟棄。

目標檢測時的區域合併

在目標檢測過程中,可能會遇到這樣的情況 乙個目標被標記為多個區域。如果乙個目標被標記為多個區域,後續的跟蹤很容易出現跟錯 跟丟,這個情形在自動檢測場和是很避諱的。以下提供乙個避免的方法 通過一些條件判斷,可以將本為同一目標的區域辨識,前文應該講過判斷方法。中心距離在閾值範圍內 兩個區域存在交集 包含...

目標檢測中的example mining

目標檢測,一般分為2個部分,定位和分類,example mining是選擇出特定樣本來計算損失函式 從實際問題出發hard example應該就是指定位較困難或分類較困難或者兩者都困難的候選框。ssd的caffe中支援negative mining和hard example mining,當shar...

目標檢測中region proposal的作用

首先我們明確乙個定義,當前主流的object detection框架分為1 stage和2 stage,而2 stage多出來的這個stage就是regional proposal過程,明確這一點後,我們繼續講。regional proposal的輸出到底是什麼?我們首先看一下以faster r c...