Faster rnn中anchor的理解

2021-09-24 23:52:12 字數 1591 閱讀 2150

第一篇學習記錄部落格。

主要寫一下自己對faster rcnn中anchor機制的理解,便於以後查閱。

因為最近在看cvpr2019的anchor-free的fsaf,核心即anchor,對這個理解不透徹,所以回來搞搞清楚。

水平有限,有什麼錯誤,希望大家指正。

一、rcnn→fast rcnn→faster rcnn

rcnn:用selective search 方法直接在影象上畫框框(region proposal:理解為區域提名,就是提名這個框框裡可能有目標),然後對每個框框內的影象提取特徵,再把特徵送入svm分類器進行分類(看看這個框框裡的目標是哪一類),再使用回歸器對這個框框的位置進行修正。

fast rcnn:嫌棄rcnn太慢太慢了,每個框框都提一遍特徵,但是很多框框有重疊啊!這樣就等於做了很多重複計算。那對整個影象提完特徵再在特徵圖上畫框框豈不是更好?於是在sspnet上改進,做了classification和regression,端到端進行訓練。但是畫框框(proposal)還是用selective search方法。

faster rcnn:就是把proposal的過程也交給了cnn!也就是region proposal network(rpn)

二、faster rcnn

feature maps送入rpn

那麼rpn如何產生proposal呢?

看下面這張圖

在feature map上做3*3的卷積,每個卷積都有個中心位置,就是sliding window的藍點。這個藍點可以在原影象(image)中找到對應的點(即anchor)。以anchor為中心,我們設定3種比例、3種規模來確定anchor box,就是9種anchor box(在這裡是k=9)!也就是說feature map上,做一次卷積(以乙個點為中心),得到256維的向量,這個256維的向量(代表了原圖上的9個anchor box內的影象特徵),再通過cls layer和reg layer。通過cls layer,卷積得到2k=18維的向量,即代表9個anchor box是前景、背景的概率。通過reg layer,卷積得到4k=36維的向量,即代表9個anchor box regression的centerx,centery,w,d。

再過一遍整個過程:

feature map 13*13*256→13*13個 1*1*256,每個1*1*256代表9個proposal,13*13的feature map共產生13*13*9個proposal~

每個1*1*256→cls layer(1*1*256*18)→得到1*1*18的特徵向量(代表9個proposal是前景、背景的概率)

每個1*1*256→reg layer(1*1*256*36)→得到1*1*36的特徵向量(代表9個proposal的centerx,centery,w,d)

個人理解,有錯誤拜託大家指正,謝謝。

linux中 中括號 中的判斷引數

源自 http www.diybl.com course 6 system linux linuxjs 20081117 151774.html b file 若檔案存在且是乙個塊特殊檔案,則為真 c file 若檔案存在且是乙個字元特殊檔案,則為真 d file 若檔案存在且是乙個目錄,則為真 e...

從HIVE中中查詢

從hive資料庫查詢文件 by ymd 拼接sql語句 string sql select from doc file where contains name wildcard 拼接名稱查詢語句 if stringutils.isnoneempty unstructuredbean.getname ...

Spring中classpath中萬用字元號的使用

說明 無萬用字元,必須完全匹配 classpath user base beans.xml 說明 匹配零個或多個字串 只針對名稱,不匹配目錄分隔符等 例如 user a base beans.xml user b base beans.xml 但是不匹配 user base beans.xml cl...