EfficientDet框架詳解 | 目前最高最快最小模型,可擴縮且高效的目標檢測(附源碼下載)


EfficientDet框架詳解 | 目前最高最快最小模型,可擴縮且高效的目標檢測(附源碼下載)

圖片 歡迎關注“ 計算機視覺研究院
圖片

計算機視覺研究院專欄

作者:Edison_G

疫情以來,已經被研究出很多高效高精度的框架,在深度學習領域,模型效率也是越來越重的一個研究課題。不僅僅停留在訓練的提速,現在推理應用的速度更加關鍵。因此,現在很多研究趨勢朝着 更高效更小型化發展
今天應粉絲同學們的要求,再次以詳細說說 EfficientDet框架。

 

圖片

 

圖片

1.摘要模型效率在計算機視覺領域中越來越重要。作者研究了神經網絡結構在目標檢測中的設計選擇,並提出了提高檢測效率的幾個關鍵優化方案。首先提出了一種加權雙向特征金字塔網絡(BiFPN),該網絡能夠方便、快速的進行多尺度特征融合;其次,提出了一種混合縮放方法,可以同時對所有主干網絡、特征網絡以及最后的預測網絡(boxes/classes)的分辨率、深度和寬度進行均勻縮放。特別地,是在單模型和單比例尺的情況下, EfficientDet-D7在52M參數和325B FLOPs的情況下,實現了map在 COCO數據集的最高水平(52.2),比之前最好的檢測器更小,使用更少的FLOPs(325B),但仍然更准確(+0.2% mAP)。2.背景

近年來,在更精確的目標檢測方面取得了巨大的進展;同時,最先進的物體探測器也變得越來越昂貴(消耗)。例如,最新的基於AmoebaNet-based NAS-FPN檢測器[Barret Zoph, Ekin D. Cubuk, Golnaz Ghiasi, Tsung-Yi Lin, Jonathon Shlens, and Quoc V. Le. Learning data aug- mentation strategies for object detection. arXiv preprint arXiv:1804.02767, 2019]需要167M參數和3045B FLOPs(比RetinaNet多30倍)才能達到最先進的精度。大型的模型尺寸和昂貴的計算成本阻止了他們在許多現實世界的應用,如機器人和自動駕駛,其中模型大小和延遲受到高度限制。鑒於這些現實世界的資源約束,模型效率對於目標檢測變得越來越重要。

一個自然的問題是:是否有可能在廣泛的資源約束(例如從3B到300B FLOP)中建立一個具有更高精度和更高效率的可伸縮檢測體系結構? 作者旨在通過系統研究檢測器結構的各種設計選擇來解決這一問題。基於one- stage detector paradigm,研究了主干網絡、特征融合和類/box網絡的設計選擇,並確定了兩個主要挑戰:

挑戰1:高效的多尺度特征融合    自[Tsung-Yi Lin, Piotr Dolla ́r, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. Feature pyramid networks for object detection. CVPR, 2017]引入以來,FPN已被廣泛應用於多尺度特征融合。最近,PANET、NAS-FPN和其他研究開發了更多的跨尺度特征融合網絡結構。在融合不同的輸入特征的同時,大多數以前的工作只是不加區分地總結它們;然而,由於這些不同的輸入特征具有不同的分辨率,我們觀察到它們通常對融合的輸出特征作出不平等的貢獻。為了解決這一問題,作者提出了一個簡單而高效的加權雙向特征金字塔網絡(BiFPN),它引入可學習的權重來學習不同輸入特征的重要性,同時反復應用自頂向下和自底向上的多尺度特征融合。

挑戰2:模型縮放   雖然以前的工作主要依靠更大的主干網絡[如:Joseph Redmon and Ali Farhadi. Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767, 2018;Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. NIPS, 2015]或更大的輸入圖像大小[Kaiming He, Georgia Gkioxari, Piotr Dolla ́r, and Ross Girshick. Mask r-cnn. ICCV, pages 2980–2988, 2017]來獲得更高的精度,但我們觀察到,在考慮精度和效率時,擴展特征網絡和框/類預測網絡也是至關重要的。 在最近的工作[Mingxing Tan and Quoc V. Le. Efficientnet: Rethinking model scaling for convolutional neural networks. ICML, 2019]的啟發下,作者提出了一種目標檢測器的復合縮放方法,它聯合縮放所有主干網絡、特征網絡、框/類預測網絡的分辨率/深度/寬度。

圖片

最后,我們還觀察到,最近引入的Efficientnet比以前使用的主干網獲得了更好的效率。將有效的網絡骨架與作者提出的BiFPN和復合縮放相結合,開發了一個新的目標檢測器集合,稱為EfficientDet,它始終以比以前的目標檢測器更少的參數和FLOPs來獲得更好的精度。在類似的Accuracy約束下,EfficinetDet使用的FLOPS比YOLOv3少28倍,比RetinaNet少30倍,FLOPs比最近基於ResNet的NAS-FPN少19倍。 特別是,在單模型和單一測試時間尺度下,EfficinetDet-D7實現了最先進的52.2AP,具有52M參數和325B FLOPs,在1.5AP的情況下優於預期的最佳檢測器[Barret Zoph, Ekin D. Cubuk, Golnaz Ghiasi, Tsung-Yi Lin, Jonathon Shlens, and Quoc V. Le. Learning data aug- mentation strategies for object detection],同時更小4倍,使用13倍的FLOPs。EfficinetDet檢測器在GPU/CPU上的速度也比以前的檢測器快3倍至8倍。

3.BiFPN

圖片

CVPR 2017的FPN指出了不同層之間特征融合的重要性,並且以一種比較簡單,Heuristic的方法把底層的特征乘兩倍和淺層相加來融合。之后人們也試了各種別的融合方法,比如PANet先從底向上連,再自頂向下連回去;NAS-FPN通過搜索找到一種不規則的連接結構。總之上述都是一些人工各種連接的設計,包含Conv,Sum,Concatenate,Resize,Skip Connection等候選操作。很明顯使用哪些操作、操作之間的順序是可以用NAS搜的。進入Auto ML時代之后,NAS-FPN在前,搜到了一個更好的 neck部分的結構。
  • PANet效果好於FPN和NAS-FPN,計算代價也更高;
  • 如果一個結點本身沒有融合的特征,那么對以特征融合為目標的結構貢獻就不大,所以PANet中移除了P3,P7的中間結點;

     

    圖片

  • 同一尺度的輸入和輸出又加了一個連接,因為計算量不大,得到上圖(d);
  • 上圖(d)中虛線框內作為一層,會重復多次以得到high-level feature fusion。

加權融合

當融合具有不同分辨率的特征時,一種常見的方法是首先將它們調整到相同的分辨率,然后對它們進行融合。金字塔注意網絡[Hanchao Li, Pengfei Xiong, Jie An, and Lingxue Wang. Pyramid attention networks. BMVC, 2018]引入全局自注意上采樣來恢復像素定位,在[Golnaz Ghiasi, Tsung-Yi Lin, Ruoming Pang, and Quoc V. Le. Nas-fpn: Learning scalable feature pyramid architecture for object detection. CVPR, 2019]中進一步研究。以前的所有方法都一視同仁地對待所有輸入特性。 然而,我們觀察到,由於不同的輸入特征具有不同的分辨率,它們通常對輸出特征的貢獻是不平等的。 為了解決這個問題,作者建議為每個輸入增加一個額外的權重,並讓網絡學習每個輸入特性的重要性。 基於這一思想,考慮了三種加權融合方法。

① Unbounded fusion

 

圖片

我們發現一個尺度可以達到與其他方法相當的精度,以最小的計算成本。然而,由於標量權重是無界的,它可能會導致訓練不穩定。因此,作者采用權重歸一化來約束每個權重的值范圍。

② Softmax-based fusion

圖片

 

一個直觀的想法是將softmax應用於每個權重,這樣所有權重都被歸一化為一個值范圍為0到1的概率,表示每個輸入的重要性。然而,如下文的ablation研究所示,額外的Softmax導致GPU硬件的顯著減速。 為了最小化額外的延遲成本,作者進一步提出了一種快速融合方法。

 

③ Fast normalized fusion

圖片

同樣,每個歸一化權重的值也在0到1之間,但由於這里沒有Softmax操作,所以效率要高得多。ablation研究表明,這種快速融合方法與基於Softmax的融合具有非常相似的學習行為和准確性,但在GPU上運行速度高達30%(如下表6)。

圖片

最終BiFPN集成了雙向跨尺度連接和快速歸一化融合。作為一個具體的例子,描述了上圖(d)所示的BiFPN在level 6的兩個融合特征。

圖片

圖片

4.EfficientDet

圖片

Compound Scaling

 

backbone: 

作者重用了EfficientNet-B0到B6的相同寬度/深度縮放系數,因此可以輕松地重用ImageNet預訓練的檢查點。

BiFPN network:

作者將線性增加BiFPN深度(#layers),因為深度需要四舍五入為整數。對於BiFPN寬度(#channels),將BiFPN寬度指數增長,類似於EfficientNet。在值列表{1.2、1.25、1.3、1.35、1.4、1.45}上,並選擇最佳值1.35作為寬度尺度因子。BiFPN的寬度和深度通過以下公式縮放:

圖片

 

Box/class prediction network:

作者將它們的寬度固定為與BiFPN相同,但使用方程線性增加深度:

圖片

 

Input image resolution:

由於在BiFPN中使用了特征level3-7,所以輸入分辨率必須可分2^7=128,所以作者用方程線性地增加分辨率:

圖片

在具有不同φ的方程之后,作者開發了EfficientDet-D0(φ=0)到D7(φ7),如下表所示,其中D7與D6相同,但分辨率較高。值得注意的是,作者的縮放是基於啟發式的,可能不是最優的,但這種簡單的縮放方法可以顯著提高效率,相比下圖中的其他單維縮放方法。

圖片

圖片

實踐 | 目前最快精度最高檢測框架(EfficientDet)

圖片 圖片© THE END 我們開創“ 計算機視覺協會 ”知識星球一年有余,也得到很多同學的認可,我們定時會推送實踐型內容與大家分享,在星球里的同學可以隨時提問,隨時提需求,我們都會及時給予回復及給出對應的答復。

圖片

如果想加入我們“ 計算機視覺研究院 ”,請掃二維碼加入我們。我們會按照你的需求將你拉入對應的學習群!
計算機視覺研究院主要涉及深度學習領域,主要致力於人臉檢測、人臉識別,多目標檢測、目標跟蹤、圖像分割等研究方向。研究院接下來會不斷分享最新的論文算法新框架,我們這次改革不同點就是,我們要着重” 研究 “。之后我們會針對相應領域分享實踐過程,讓大家真正體會 擺脫理論 的真實場景,培養愛動手編程愛動腦思考的習慣!



圖片

掃碼關注我們

公眾號 : 計算機視覺研究院

掃碼回復:efficientdet,獲取下載鏈接

閱讀 1135
 
寫下你的留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM