多尺度特徵學習才是目標檢測精髓

前景回顧

如果想詳細知道上集我們具體說了多尺度特徵的重要性及其發展,請點選下方連結,查閱相關內容:

多尺度深度特徵(上):多尺度特徵學習才是目標檢測精髓(乾貨滿滿,建議收藏)

多尺度特徵學習才是目標檢測精髓

SSD框架

多尺度特徵學習才是目標檢測精髓

ASPP網路

多尺度特徵學習才是目標檢測精髓

Cascaded

我們“計算機視覺研究院”還分享了更多與目標檢測相關的乾貨及實踐內容,有興趣的同學可以檢視歷史訊息,也可以從下方部分連結中進入:

CVPR21小樣本檢測:蒸餾&上下文助力小樣本檢測(程式碼已開源)

ICCV 2021:煉丹師的福音,訓練更快收斂的絕佳方案(附原始碼)

ICCV2021目標檢測:用圖特徵金字塔提升精度(附論文下載)

Pad-YoloV5:在便攜終端上實時檢測不再是難題

高斯YoloV3目標檢測(文中供原始碼連結)

Yolo輕量級網路,超輕演算法在各硬體可實現工業級檢測效果(附原始碼)

不再只有Yolo,現在輕量級檢測網路層出不窮(框架解析及部署實踐)

2

新框架

那我們現在接著上一期的繼續說多尺度深度特徵學習。

多尺度特徵學習才是目標檢測精髓

上一期我們得出的結論是:淺層和深層的特徵對於目標識別和定位起著必不可少的作用。為了有效地利用檢測到的特徵資訊,應考慮另一約束條件,以防止特徵被改變或覆蓋。

新框架提出了一種創新的目標檢測器,它利用在高階層中學習到的深層特徵。與較早層產生的特徵相比,深層特徵更擅長表達語義和上下文資訊。所提出的深度特徵學習方案將重點從具有細節的具體特徵轉移到具有語義資訊的抽象特徵。它透過構建

多尺度深度特徵學習網路 (MDFN)

不僅考慮單個目標和區域性上下文,還考慮它們之間的關係。MDFN透過將資訊平方和立方初始模組引入高層來有效地檢測目標,它採用引數共享來提高計算效率。

多尺度特徵學習才是目標檢測精髓

MDFN透過整合多邊界框、多尺度和多層次技術提供多尺度目標檢測器。儘管MDFN採用了一個具有相對較小基礎網路(VGG-16)的簡單框架,但與具有更深或極寬的宏觀層次結構的具有更強特徵提取能力的那些相比,它獲得了更好或具有競爭力的檢測結果。所提出的技術在KITTI、PASCAL VOC和COCO資料集上進行了廣泛的評估,在KITTI上取得了最佳結果,在PASCAL VOC和COCO上取得了領先的效能。這項研究表明,

深層特徵

提供了突出的語義資訊和各種上下文內容,這

有助於其在檢測小目標或被遮擋目標方面的卓越效能

。此外,MDFN 模型計算效率高,在精度和速度之間取得了很好的平衡。

Deep feature learning inception modules

多尺度特徵學習才是目標檢測精髓

深度特徵學習初始模組捕獲來自基礎網路的直接輸出。新框架的基本初始模組透過啟用多尺度感受野來充分利用深度特徵圖。在每個模組中,透過1×1過濾直接利用來自前一層的輸出特徵資訊。然後進行3×3、5×5和7×7過濾以啟用特徵圖上的各種感受野,從而在相應的輸入影象上捕獲不同範圍的場景。

研究者在實踐中僅使用1×1和3×3濾波器實現多尺度濾波,以儘量減少引數數量。為高層構建了兩種型別的冪運算初始模組:一種是資訊方初始模組,另一種是資訊立方初始模組,如上圖所示。透過為不同的過濾器分配權重來構建這兩個模組:在以下等式中給出:

多尺度特徵學習才是目標檢測精髓

上表達式實際上可以分別透過以下資訊平方和三次運算來近似。

多尺度特徵學習才是目標檢測精髓

Parameter Sharing:

透過共享引數,可以有效地實現所提出的資訊平方和立方初始模組。例如,透過從5×5單元的第一個3×3過濾器中提取輸出並將其與3×3過濾單元的並行輸出連線起來,在3×3和5×5過濾單元之間共享引數。然後,3×3過濾操作的輸出通道數量隱式加倍,而過濾器集僅使用一次,如上圖(b)中的紅色箭頭所示。這種引數共享可以進一步用於cubic inception模組,如上圖(c)所示。3×3濾波操作的輸出分別來自3×3、5×5和7×7濾波單元,如上圖(c)中三個紅色箭頭所示。同樣,5×5濾波操作的輸出分別來自5×5和7×7濾波單元,如兩個綠色箭頭所示。

Multi-Scale object detection scheme

在新框架模型中,給每個給定位置k個邊界框,計算c類分數和每個邊界框四個頂點相對於預設邊界框的四個偏移量。最終,為特徵圖內的每個位置提供了總共k(c + 4)個過濾器。因此,每個尺寸為m×n的特徵圖的輸出數量應為k(c + 4)mn。已證實,使用各種預設的框形狀將有助於為單髮網絡預測框的任務,從而提高了目標定位和分類的準確性。 研究者採用這種多邊界框技術作為多尺度方案的第一個屬性。

多尺度特徵學習才是目標檢測精髓

深度特徵學習起始模組被應用在四個連續的高階層單元中。這四個層單元將其輸出深度特徵直接傳輸到最終預測層,這將資訊傳輸完全縮短。

從訓練的角度來看,這些縮短的連線使網路的輸入和輸出彼此更接近,這有益於模型的訓練。高階層和最終預測層之間的直接連線緩解了梯度消失的問題,並增強了特徵傳播。另一方面,四個高階層單元的序列透過語義和上下文資訊獲取兩種方式最大化了深度特徵提取和表示的能力。首先,它使後三個高層從先前的較低層獲取上下文資訊。其次,同一級別的層可以提供不同範圍的上下文資訊,以及可以在當前層輸出中自然構建的更精確的語義表達。這個過程是多尺度方案的第二個特性。

研究者使用多尺度過濾器來啟用各種大小的感受野,以增強語義和上下文資訊的提取。要注意的另一個方面是要素圖的大小。在大多數網路中,特徵圖的大小會隨著深度的增加而逐漸減小。這考慮到系統的記憶體有限以及功能的比例不變。因此,由於其輸入特徵圖的解析度比在較早的層中產生的解析度小得多,因此在網路深處接受的多尺度濾波器將具有較少的計算負擔。這抵消了濾波操作增加帶來的計算負擔。這是擬議的多尺度方案的第三個特性。

Layer structure of deep inception module

多尺度特徵學習才是目標檢測精髓

提出了兩種深度特徵學習網路體系結構,分別成為MDFN-I1和MDFN-I2。 它們都具有四個high-level deep feature Inception單元。

3

實驗及視覺化

Average precision(%) on KITTI validation set

多尺度特徵學習才是目標檢測精髓

多尺度特徵學習才是目標檢測精髓

多尺度特徵學習才是目標檢測精髓

from left to right, represent the results from SSD, MDFN-I1 and MDFN-I2

PASCAL VOC2007 test detection results

多尺度特徵學習才是目標檢測精髓

Detection results on COCO test-dev

多尺度特徵學習才是目標檢測精髓

多尺度特徵學習才是目標檢測精髓

從上往下分別是SSD、MDFN-I1和MDFN-I2檢測結果

基於作者提出的框架,在pytorch框架中實現了作者的基本思想,在COCO資料集中簡單訓練,最終結果比SSD結果好一點