1. 程式人生 > >RCNN選擇性搜索(Selective Search)

RCNN選擇性搜索(Selective Search)

位置 形狀 remove 合並 esp 遍歷 行合並 區域 一個

RCNN選擇性搜索(Selective Search)

算法一:分組分類算法

輸入:(圖層顏色)圖片

輸出:對象位置假設集L

Obtain initial regions R = {r1,··· ,rn} using [13]

Initialise similarity set S = 空集

foreach Neighbouring region pair (ri,rj) do //遍歷所有臨近的像素對

  Calculate similarity s(ri,rj)     //計算所有像素對之間的相似度

  S= S∪s(ri,rj)             //把相應的相似度保存在集合S中

while S≠空集 do

  Get highest similarity s(ri,rj) = max(S)          //從集合S中取出相似度最高的像素對

  Merge corresponding regions rt = ri ∪rj         //把兩個像素進行合並

  Remove similarities regarding ri : S = S \ s(ri,r?)      //從集合S中除去和ri有關的相似度

  Remove similarities regarding rj : S = S \ s(r?,rj)      //從集合S中除去和rj有關的相似度

  Calculate similarity set St between rt and its neighbours    //計算rt和臨近像素點的相似度

  S = S∪St                      //將相似度存入集合S中

  R = R∪rt                      //將rt存入集合R中

Extract object location boxes L from all regions in R

優先合並以下四種區域:
- 顏色(顏色直方圖)相近的
- 紋理(梯度直方圖)相近的
- 合並後總面積小的
- 合並後,總面積在其BBOX中所占比例大的

第三條,保證合並操作的尺度較為均勻,避免一個大區域陸續“吃掉”其他小區域。(Get highest similarity s(ri,rj) = max(S)通過此處實現)

例:設有區域a-b-c-d-e-f-g-h。較好的合並方式是:ab-cd-ef-gh -> abcd-efgh -> abcdefgh。
不好的合並方法是:ab-c-d-e-f-g-h ->abcd-e-f-g-h ->abcdef-gh -> abcdefgh。

第四條,保證合並後形狀規則。

例:左圖適於合並,右圖不適於合並。
技術分享

上述四條規則只涉及區域的顏色直方圖、紋理直方圖、面積和位置。合並後的區域特征可以直接由子區域特征計算而來,速度較快。

RCNN選擇性搜索(Selective Search)