天天看點

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

文章目錄

  • EfficientNet
    • 核心問題
    • compound scaling method
  • EfficientDet

EfficientNet和EfficientDet是2020年新出來的圖像分類和目标檢測算法,抽出空來讀了一下,這裡做一下記錄。

EfficientNet

論文全稱:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

發表刊物:2019ICML

核心問題

本文解決的一個核心問題是:給定計算資源的前提下,在不變動網絡結構的情況下,如何最大化的提升網絡的能力。首先文章給出了幾種提升網絡能力的方法,如下圖:

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

(a) \text{(a)} (a)baseline,确定網絡的結構

(b) \text{(b)} (b)增加卷積核的channel數,也就是增加每個feature map的channel數

(c) \text{(c)} (c)增加網絡的深度,增加卷積層的數量,可以擴大感受野,更好地提取進階特征

(d) \text{(d)} (d)提高輸入的分辨率,也就增加每個feature map的大小

(e) \text{(e)} (e)本文提出融合 (b)(c)(d) \text{(b)(c)(d)} (b)(c)(d)方法

本文将上述目标,表示成的數學形式如下:

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

compound scaling method

數學形式可以表達如此:

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

上述表達的意義了解如下:

  1. ϕ = 0 \phi = 0 ϕ=0時, d = w = r = 1 d=w=r=1 d=w=r=1,也就是baseline的網絡。文章中用自動搜尋網絡結構的方式搜出來一個高效的網絡結構。
  2. ϕ = 1 \phi = 1 ϕ=1時,depth擴充為 α \alpha α倍,width(也就是channel數量)擴充為 β \beta β倍,輸入的resolution擴充為 γ \gamma γ倍。depth擴充 α \alpha α倍,導緻的計算量擴充 α \alpha α倍。width擴充為 β \beta β倍,也就是卷積核輸入輸出的channel都擴充 β \beta β倍,那麼卷積核數量和channel數都擴充為 β \beta β倍,是以計算量提升 β 2 \beta ^{2} β2倍。resolution擴充 γ \gamma γ倍,圖像和feature map都擴充 γ 2 \gamma ^ {2} γ2倍。是以綜上,計算量擴充 α ⋅ β 2 ⋅ γ 2 \alpha \cdot \beta ^{2} \cdot \gamma ^ {2} α⋅β2⋅γ2倍。所需的計算空間也是如此。而要求 α ⋅ β 2 ⋅ γ 2 \alpha \cdot \beta ^{2} \cdot \gamma ^ {2} α⋅β2⋅γ2約等于2,是以 ϕ = 1 \phi = 1 ϕ=1意味着計算能力和計算空間都變為2倍。确定 α \alpha α, β \beta β, γ \gamma γ則是用grid search來進行的。
  3. ϕ = n \phi = n ϕ=n時,意味着,計算能力和計算空間都擴充 2 n 2^n 2n倍。仍然可以用grid search來進行搜尋,但搜尋空間過于大,是以文本采用的方式是隻搜尋 ϕ = 1 \phi = 1 ϕ=1時的 α \alpha α, β \beta β, γ \gamma γ,然後保持 α \alpha α, β \beta β, γ \gamma γ不變。

由上述方法,給定一個搜尋出來的baseline的網絡結構,然後通過對width,depth和resolution的擴充,擴充出來一組網絡。效果如下:自然是強的飛起

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

EfficientDet

論文全稱:EfficientDet: Scalable and Efficient Object Detection

發表刊物:2020CVPR

了解了EfficientNet,那麼以EfficientNet作為backbone,也可以生成一組針對于2D目标檢測的網絡,這就是EfficientDet。那麼有了backbone,detection head如何做呢?

本文提出了BiFPN,改自NAS-FPN,文中解釋的intuition很簡單,在文中3.3.2中解釋。然後再對不同尺度的特征圖融合的時候,加了權重。BiFPN的width,depth的增長,文中也給出了規則。resolution的增長,不同于efficientNet,但也是逐漸增長的。這部分中,其增長模式沒有過多的介紹其中的内涵,有的是搜出來的,有的就是定位線性增長。這也是本文被诟病的地方,超參數量多,而且解釋不夠。但文本作為單階段的檢測網絡,效果也是杠杠的。效果如下:

【論文閱讀】【2D目标檢測】EfficientNet和EfficientDetEfficientNetEfficientDet

強是真滴強!

繼續閱讀