FSAF 讓網路自己決定例項輸出層

2021-09-24 20:10:02 字數 1817 閱讀 5941

目標檢測系列文章

yolo v1原理:

yolo v2原理:

yolo v3原理:

ssd原理:

foveabox:

fcos:

fsaf:

1.fsaf簡介

全稱為:feature selective anchor-free module。為包含fpn的單階段檢測框架增加乙個fsaf模組,從而由網路自己選擇哪個層來**哪個例項。

2.傳統一階段檢測框架(含fpn)是如何進行例項選擇的?

如下圖所示,樣本輸入到檢測框架之後,會根據樣本中的bounding box和fpn中每乙個層的anchors求iou,與哪個anchor的iou最大,那麼那個anchor所在的層用來**該例項。下圖中的汽車例項和p4層的第乙個anchor的iou最大(紅色實線框),那麼就由p4來負責汽車例項的輸出。

由於每一層的anchor是預先根據經驗設定的,然後通過與anchor的iou決定哪一層來**例項,實際上也是根據經驗來決定由哪一層來**該例項,所以是基於啟發式的。那麼這種基於啟發式的,經驗性的選擇是最優的嗎?能否使用網路自己來決定哪個例項由哪個層來輸出?

3.fsaf模組架構圖

為了讓網路自己決定由哪一層來輸出例項,引入了fsaf模組,結構如下圖所示:

這是**中的原圖,可能不是很清晰,下面這個是我根據自己的理解繪製的fsaf模組的架構圖。以p4特徵輸出為例,兩個藍色的子網路為原來的anchor based的子網路,乙個負責輸出類別,維度是h*w*k*a(k是類別數,a是anchor數),另乙個負責輸出四個點的位置偏移。fsaf模組在原來的兩個分支結構中各增加乙個小的分支,同樣的,乙個輸出類別,乙個輸出位置偏移資訊。由於沒有使用anchor,所以輸出的類別維度為h*w*k。

4.fsaf模組如何選擇例項?

通過上面的講解,fasf模組實際上也是乙個完整的物體框**子網路,它能輸出例項的類別和偏移量,本質上就是乙個檢測子網路。但是它的特點是非常輕量級。那麼fsaf模組是如何根據這兩個新增加的分支來決定某個例項由哪個feature map來負責輸出呢?答案是根據loss值的大小。同樣先看**中的圖:

下面是我根據理解繪製的圖:

當乙個訓練樣本輸入到網路的時候,首先通過各個特徵圖的fsaf模組求出該特徵圖下對應的ground truth例項分類loss以及回歸loss,並對兩個loss求和,作為最終的loss。然後判斷哪個loss最小,例如上圖中的p3層的fsaf模組的loss最小,那麼就由p3層來負責對該訓練樣本中汽車例項的訓練。

5.總結:

fsaf實際上是增加了乙個非常輕量級的檢測子網路來輔助重量級的anchor based檢測模組來決定目標例項由哪個特徵圖來**。由於fsaf模組是anchor free的,所以它的選擇完全是自發的,是根據網路學習到的。效果也比原來的anchor求iou這種啟發式的方式要好。

讓別人自己決定別人的生活

an optimist sees the rose a pessimist the thorn.樂觀的人看到玫瑰,悲觀的人只看到它的刺。在社會發展的程序中,個人的力量是渺小的。個人的影響力是有限的,人的一生影響最多的是他的朋友和親人。這種影響有利有害,可小可大 而且往往事務是兩方面的,你以為你在幫助...

網路讓我迷失了自己

你知道我為什麼說網路讓我迷失了自己嗎?或許你聰明的話已猜中了,若是你還沒猜出來的話,那也沒關係,下面就讓我來告訴你吧!因為在生活當中的情感上面,我受到了很大的打擊,所以我就選擇了網路。我騙自己說只要通過網路,我就可以把這失敗的感情徹徹底底忘記,但是我錯了,我的選擇是我這生中最可悲最可笑的了。雖然把那...

快樂由你自己決定

什麼是快樂?各有各的說法,或許誰也說不清楚。那麼,怎樣才算快樂?有人或許說知足常樂,有人或許說愛情使人快樂,有人或許說家庭帶來快樂,有人或許說有錢就快樂。有人或許從來就沒快樂過 總覺得時運不濟,煩惱無休無止,終日憂心忡忡。我說,快樂是一種心態,是一種對生活的正確態度,快樂由自己決定。無論任何人,無論...