FASF(CVPR2019)

本篇文章是CVPR2019的一篇Anchor-Free的文章,是一篇很好的Anchor Free的目標檢測的文章,目前基於anchor的目標檢測方法,大多采用不同的level預測不同尺度的instance,而分配規則往往是人爲設計的,這導致anchor的匹配策略可能不是最優的。那有沒有更優的匹配方法?文章從level選取的點進行切入,利用FASF實現不同的instance在不同level的動態分配,實現了level的動態選擇,並且anchor free方法取得了較好的mAP,另外作者設計了anchor free跟anchor-based相結合的方法,進一步提升模型效果,取得了可觀的結果。


論文名稱:Feature Selective Anchor-Free Module for Single-Shot Object Detection

作者:Chenchen Zhu & Yihui He & Marios Savvides

論文鏈接:https://arxiv.org/abs/1903.00621


Back Ground

目標檢測的一個挑戰在於尺度的變化,目前解決問題的方法包括:特徵金字塔、multi-level、anchor boxes等。特徵金字塔以及anchor-based已經取得了不錯的效果。但是存在一定的限制:

  1. 啓發式的特徵選擇。
  2. 重疊的anchor的選擇。

目前基於anchor的目標檢測方法,大多采用不同的level預測不同尺度的instance,而分配規則往往是人爲設計的,這導致anchor的匹配策略可能不是最優的。本文提出了feature selective anchor-free module來解決這個限制。並且FASF可以與anchor-based 分支協同並行工作,提高模型效果。在COCO上,可以達到44.6%的mAP

Feature Selective Anchor Free

Network Architecture

FSAF的結構展示如下圖,作者的實驗是以RetinaNet爲基礎,所以下圖的主幹部分代表的是RetinaNet的FPN結構,同樣的從P3-P7引出subnets進行分類與預測,如下圖所示,P3-P7對應的分辨率1/2l1/2^l

在這裏插入圖片描述

FSAF重點是下圖中引出來的Anchor-Free branch,分類的分支,通過一個3x3的卷積以及sigmoid得到WxHxK的特徵圖,用於預測K個類別,至於迴歸分支,通過一個3x3的卷積以及ReLU得到WxHx4的特徵圖,用於預測每個實例的座標框。

Ground Truth and Loss

首先,如何定義正負樣本呢?如下圖所示,Groud Truth是汽車的藍框,正樣本便是中間圖中白色的部分,當然除了正樣本也不全是負樣本,在正負樣本之間還有一部分忽略樣本,論文中正樣本佔比爲寬度的0.2,忽略部分界限佔比爲寬度的0.5,所以每個level在寬度比例0.2-0.5的一圈是不加入訓練,另外,不同level的界限間的像素也同樣不加入訓練,用公式表示是:(beibel);(bil1,bil+1)(b^{i}_{e}-b^{l}_{e});(b_{i}^{l-1},b_{i}^{l+1})(其實不加入訓練這裏,論文描述的挺複雜,其實計算後發現,就是每層的Ground Truth往外擴一圈),其餘的就爲負樣本。並且如果兩個實例在同一個level重合了,以小的那個爲主。

訓練的時候分類採用的是Focal loss,box迴歸的是邊界的上下左右,這裏使用的是IOU Loss

在這裏插入圖片描述

Online Feature Selection

這部分是本篇文章的精髓所在,如果自動去給不同的instance分配合適的level進行預測呢?
其實答案也很簡單,就如下圖所示,作者分別對不同的level的分支結果求loss,然後選擇loss最小的那個作爲該實例的分支。

在這裏插入圖片描述

Joint Inference and Training

這部分將介紹,如何將anchor-based與anchor-free方法結合起來,如上面圖Figure 4所示。

首先,在訓練的時候,保持anchor-based的分支超參數不變。然後anchor-based與anchor-free的loss進行求和,如下:L=Lab+λ(Lclsaf+Lregaf)L=L^{ab}+\lambda(L_{cls}^{af}+L_{reg}^{af}),其中,λ=0.5\lambda=0.5

在inference的時候,將anchor based得到的box以及anchor free得到的box一起用非極大值一致的方法,得到最終的結果。

實驗

FASF 模塊的效果以及online feature selection的重要性。

下圖是在RetinaNet上使用FASF模塊的效果,可以看出,其實只使用FASF的效果已經要好於RetinaNet了,並且在實驗中可以看出,如果不使用online feature selection 效果也不錯的,但是沒有使用online feature selection效果好,相差了大約10個點。

在這裏插入圖片描述

FASF選擇的level到底怎麼樣?

實驗表明,大部分的檢測框還是遵循原來的設計的,前面的level檢測小目標,後面的level檢測大目標,但是也有特例,就是下圖中紅色框框住的那些就是,level發生了變化。

在這裏插入圖片描述

FASF與SOTA相比較

在這裏插入圖片描述

總結

這篇文章同樣是一篇很好的Anchor Free的目標檢測的文章,文章從level選取的點進行切入,利用Anchor實現不同的instance在不同level的動態分配,設計了FASF方法進行level的動態選擇,並且設計了anchor free跟anchor-based相結合,提升模型效果,取得了可觀的結果。

發佈了68 篇原創文章 · 獲贊 62 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章