比Tiny YOLOv3小8倍,性能提升11個點,4MB的網絡也能做目標檢測

2020-12-13 機器之心Pro

選自arXiv

作者:Alexander Wong等

機器之心編譯

在本文中,來自滑鐵盧大學與 Darwin AI 的研究者提出了名為 YOLO Nano 的網絡,他們通過人與機器協同設計模型架構大大提升了性能。YOLO Nano 大小只有 4.0MB 左右,比 Tiny YOLOv2 和 Tiny YOLOv3 分別小了 15.1 倍和 8.3 倍,性能卻有較為顯著的提升。

連結:https://arxiv.org/abs/1910.01271

目標檢測在計算機視覺領域是一個活躍的研究分支,而深度學習已經成為這一領域最前沿也是最成功的解決方案。但是,在邊緣和行動裝置中廣泛部署神經網絡模型需要大量的計算算力和內存。因此,近來研究領域主要在解決適合以上設備的神經網絡。

本文便是這些研究中的一個,研究者提出了名為 YOLO Nano 的網絡。這一模型的大小在 4.0MB 左右,比 Tiny YOLOv2 和 Tiny YOLOv3 分別小了 15.1 倍和 8.3 倍。在計算上需要 4.57B 次推斷運算,比後兩個網絡分別少了 34% 和 17%。

在性能表現上,在 VOC2007 數據集取得了 69.1% 的 mAP,準確率比後兩者分別提升了 12 個點和 10.7 個點。研究者還在 Jetson AGX Xavier 嵌入式模塊上,用不同的能源預算進行了測試,進一步說明 YOLO Nano 非常適合邊緣設備與移動端。

從兩階段目標檢測開始的故事

目標檢測任務目前有兩種通行的解決方案,一種是兩階段目標檢測,另一種是單階段的。對於兩階段目標檢測,首先需要神經網絡識別目標(如在目標上打上定位框),然後對識別出的目標進行分類。另一種則是單階段,直接使用網絡對目標進行檢測。兩階段的好處在於實現容易,但下遊的分類任務依賴上遊識別定位任務的表現。而單階段方法儘管不需要首先識別目標,但加大了端到端實現目標檢測的難度。

一般而言,兩階段目標檢測方法準確性高,但速度不快;而單階段的檢測器速度快,準確率並達不到最高。不過隨著基於關鍵點的方法越來越流行,單階段不僅快,同時效果也不錯。

在單階段目標檢測方法中,圍繞效率而生的 YOLO 神經網絡是一個非常有趣的存在,我們最常調用的檢測器也是它了。YOLO 可以在 GPU 實現實時目標檢測,而且效果還挺好。

然而,這些網絡架構對於很多邊緣和移動場景而言太大了(例如,YOLOv3 網絡的大小為 240MB),而且因為計算複雜度(YOLOv3 需要多達 65B 的運算量)過高,在這些設備上的推斷速度會很慢。為了解決這些問題,Redmon 等提出了 Tiny YOLO 家族的網絡架構,可以在一定程度上犧牲目標檢測性能,換取模型規模的極大縮小。

本研究中,研究者通過人機協作設計策略(human-machine collaborative design)的方法進行構建。在構建的過程中,首先設計主要的網絡原型,原型基於 YOLO 網絡家族中的單階段目標檢測網絡架構。然後,將原型和機器驅動的設計探索策略結合,創建一個緊湊的網絡。這個網絡是高度定製化的,在模塊級別上有著宏架構(macro-architecture)和微架構(micro-architecture),可用於嵌入式目標檢測任務。

YOLO Nano 設計思路

YOLO Nano 在架構設計的中經過了兩個階段:首先設計一個原型網絡,形成網絡的主要設計架構;然後,使用機器驅動的方法進行探索設計。

原型主體網絡設計

首先是設計主要的網絡原型,研究者創建了一個原始的架構(表示為),用於引導機器進行後續的探索設計。具體而言,研究者設計的網絡基於 YOLO 家族中的單階段目標檢測架構。

YOLO 家族的網絡架構最明顯的特徵是,它們不像基於「候選框」的網絡那樣需要構建一個 RPN,該網絡會生成一系列定位目標的候選邊界框,然後對生成的邊界框進行分類。YOLO 家族的網絡可以直接對輸入的圖像進行處理,然後生成輸出結果。

這樣一來,所有目標檢測的預測都是將一張圖像輸入,直接得到輸出,相比於 RPN 那種需要成百上千次的計算來得到最終結果而言省去了很多計算步驟,這使得 YOLO 家族的網絡在運算上非常快,對於嵌入式目標檢測任務而言也是最合適的。

機器驅動的探索設計

在這一階段,研究者讓機器使用最初的原型網絡、數據和人類提出的設計的要求做為指引,然後機器驅動的探索設計會決定模塊級別的宏架構和微架構,用於最終的 YOLO Nano 網絡。

具體來說,機器驅動的探索設計是通過生成式整合來實現的。這一方法可以決定最優的網絡宏架構和微架構,並符合人類的要求。

生成式整合的總體目標是學習生成式的機器,用於生成符合設計要求、限制等條件的深度神經網絡。決定生成器 G 可以形式化為一個帶約束的最優化問題,即在給定一系列種子 S 的情形下,生成網絡 {N_s|s ∈ S} 以最大化全局性能函數 U。在最大化過程中需要滿足指示函數 1_r(·),1r(·) 被定義來表示人類提出的需求和限制條件。

YOLO Nano 架構設計

了解了 YOLO Nano 的設計思路後,我們再看看它的架構是什麼樣的。如下圖 1 所示,YOLO Nano 主要可以分為三部分,其中會有便捷連接連通不同抽象程度的特徵圖。

圖 1:YOLO Nano 神經網絡架構。注意其中 PEP(x) 表示殘差 PEP 模塊第一個映射層的 x 通道,FCA(x) 表示降維率為 x。

值得注意的是,YOLO Nano 有三種比較高效的模塊,它們共同提升了整體建模的參數效率和運算效率。

殘差映射-擴張-映射宏架構

YOLO Nano 網絡架構第一個非常值得關注的模塊就是殘差映射-擴張—映射(PEP)宏架構(Macro-architecture),它和原來 YOLO 家族的模塊有一些不同。

殘差 PEP 宏架構主要由以下四部分組成:

一個 1*1 卷積的映射層,它將輸入的特徵圖映射到較低維度的張量;一個 1*1 卷積的擴張層,它會將特徵圖的通道再擴張到高一些的維度;一個逐深度(depth-wise)的卷積層,它會通過不同濾波器對不同的擴張層輸出通道執行空間卷積;一個 1*1 卷積的映射層,它將前一層的輸出通道映射到較低維度。

殘差 PEP 宏架構的使用可以顯著降低架構和計算上的複雜度,同時還能保證模型的表徵能力。

全連接注意力宏架構

YOLO Nano 第二個值得注意的模塊是,通過機器驅動設計的探索過程,研究者在神經網絡引入了輕量級的全連接注意力(FCA)模塊。FCA 宏架構由兩個全連接層組成,它們可以學習通道之間的動態、非線性內部依賴關係,並通過通道級的乘法重新加權通道的重要性。

FCA 的使用有助於基於全局信息關注更加具有信息量的特徵,因為它再校準了一遍動態特徵。這可以更有效利用神經網絡的能力,即在有限參數量下儘可能表達重要信息。因此,該模塊可以在修剪模型架構、降低模型複雜度、增加模型表徵力之間做更好的權衡。

宏架構和微架構的異質性

對於第三點,YOLO Nano 不僅在宏架構(PEP 模塊、EP 模塊、FCA 以及各個 3×3 和 1×1 卷積層的多樣化組合)方面存在高度異質性,同樣在獨立特徵表徵模塊和層級這些微架構之間也會存在異質性。

YOLO Nano 架構具有高度異質性的優勢在於,它可以使網絡架構的每個模塊都經過特定的設計,從而在模型架構、計算複雜度和表徵能力之間實現更優的權衡。YOLO Nano 這種架構多樣性還展示了機器驅動設計探索策略和生成式組合一樣靈活,因為人類設計者或其它設計探索方法無法在如此細粒度的層級上自定義架構。

實驗效果

為了研究 YOLO Nano 在嵌入式目標檢測上的性能,研究者在 PASCAL VOC 數據集上檢測了模型大小、目標檢測準確率、計算成本三大指標。為了體現對比,流行的 Tiny YOLOv2 和 Tiny YOLOv3 網絡會作為基線模型。

如下表 1 展示了 YOLO Nano 、Tiny YOLOv2 和 Tiny YOLOv3 的模型大小與準確率。

表 1:緊湊網絡在 VOC 2007 測試集上的目標檢測準確率結果,輸入圖像大小為 416*416,最優結果用加粗展示。

最後,為了探索 YOLO Nano 在現實世界中的性能,尤其是在邊緣設備中的表現,研究者在 Jetson AGX Xavier 嵌入式模塊測試了 YOLO Nano 的推斷速度與能源效率。在 15W 和 30W 能源預算下,YOLO Nano 分別能實現26.9 FPS 和 48.2 的推斷速度。

這些實驗都表明這篇論文提出來的 YOLO Nano 網絡在準確率、模型大小和計算複雜度上提供了非常好的權衡,這種優勢主要是通過人機協作的設計策略獲得的,而且 YOLO Nano 在這種優勢下也非常適合邊緣和行動裝置。

相關焦點

  • PPDet:減少Anchor-free目標檢測中的標籤噪聲,小目標檢測提升明顯
    本文首發於AI算法修煉營作者 | SFXiang編輯 | 青暮本文介紹一篇收錄於BMVC2020的論文,這篇論文的主要的思想是減少anchor-free目標檢測中的label噪聲,在COCO小目標檢測上表現SOTA!性能優於FreeAnchor、CenterNet和FCOS等網絡。
  • YOLOV5目標檢測——上手
    對於我來說,這個命名也就是一個代號,不管你叫啥,只要性能牛逼,我就給你點star一、撕逼我們現在回到YOLOV5這個算法上來上圖來自於yoloV5的repo,給出了不同大小v5模型和efficientDet的比較。
  • YOLOv3比原作高10個點,飛槳更新至73個視覺算法、203個預訓練模型
    mAP 10 個點,新增 COCO 最佳檢測模型 CBNet 等。在最新的 PaddleDetection 檢測庫中,飛槳對 YOLOv3 又做了如下改進,使得驗證精度 mAP 再次提高到 43.2%,並且推理速度提升 21%。本次升級還對數據預處理速度持續優化,使得整體訓練速度提升 40%。
  • 目標檢測:Anchor-Free時代
    自從2018年8月CornerNet開始,Anchor-Free的目標檢測模型層出不窮,最近達到了井噴的狀態,宣告著目標檢測邁入了Anchor-Free時代。如果DenseBox能在2015年初就發表,那麼最近幾年目標檢測的發展會不會是另外一番景象呢~兩點貢獻:1.證明單個FCN可以檢測出遮擋嚴重、不同尺度的目標。2.通過多任務引入landmark localization,能進一步提升性能。
  • MatrixNets:可替代FPN,用於目標檢測的可感知比例和長寬比的網絡結構
    FPN的設計可以讓網絡有尺度不變性。小的目標映射到金字塔的較淺層,而較大目標映射到較深層。由於目標的大小相對於該層的下採樣在金字塔層中間幾乎保持一致,因此可以在所有層之間共享單個輸出子網。儘管FPN提供了一種優雅的方式來處理不同大小的目標,但它們並沒有為不同長寬比的目標做針對性的處理。
  • 最新單步目標檢測框架,引入雙向網絡,精度和速度均達到不錯效果
    小目標檢測的難點近來的one-stage探測器的目標是獲得與two-stage相近的檢測精度。儘管在大中型目標上效果較好,但這些探測器在小目標上的性能卻低於預期。例如,當使用一個500×500的輸入時,使用RetinaNet在COCO數據集上, AP為47,但在小目標上,AP只有 14。
  • CVPR 2020 | 可擴展且高效,谷歌提出目標檢測「新標杆」
    在CVPR 2020 論文《EfficientDet:可擴展、高效的目標檢測》中,谷歌研究者們引入了一系列新的可擴展的高效的目標檢測器。EfficientDet 基於此前關於可擴展神經網絡的一項工作EfficientNet,並結合一種新的雙向特徵網絡BiFPN以及新的擴展規則,在比當前最先進的檢測器縮小了9倍以及使用了更少得多的計算量的同時,實現了當前最高的精度。
  • wifi二十年性能提升四千倍?一文看盡wifi現行標準實際性能!
    分析總結不同wifi版本的實際性能以及性能提升的關鍵因素。 wifi二十年性能提升四千倍?一文看盡wifi現行標準實際性能,協議越新越好嗎? wifi協議自1997年誕生以來,經過了802.11b、802.11a、802.11g、802.11ac、802.11ax等多代以性能為主線的協議發展, 性能也從最初的2Mbps提升到了恐怖的9608Mbps,提升了四千倍,研發的力量真是巨大!
  • 阿里含光800 AI處理器高調亮相後,三大場景落地性能比GPU高4-11倍
    阿里雲異構計算產品研發總監龍欣因此,阿里希望通過自研的含光800從硬體到軟體的方案提升性價比。目前在具體的應用中相比GPU有4-11倍性能提升。 含光800在三大AI應用中4-11倍的性能提升 去年含光800發布時給出的數據是,在城市大腦中實時處理杭州主城區交通視頻,需要40顆傳統GPU,延時為
  • NLP攜手Transformer跨界計算機視覺,DETR:目標檢測新範式
    比如,在 COCO 基準上,DETR 需要 500 個 epoch 才能收斂,這比 Faster R-CNN 慢了 10 到 20 倍;DETR 在檢測小物體上性能較差。當今的目標檢測器通常利用了多尺度的特徵,從而小物體可以從高解析度的特徵圖中檢測。但是對於 DETR 來說,高解析度的特徵圖將帶來不可接受的計算複雜度和內存複雜度。
  • 性能提升30%以上,實時實例分割算法SOLOv2實現產業SOTA
    機器之心發布機器之心編輯部如何兼顧目標檢測和語義分割的能力,並實現大幅性能提升?本文介紹了產業SOTA的實時實例分割算法SOLOv2。目標檢測無法精細獲得目標邊界形狀和面積,語義分割無法區分不同目標個體,並分別獲得位置。小夥伴們可能會疑惑,以上動圖展示的實例分割效果顯然兼具了目標檢測和語義分割二者的能力,是通過什麼技術實現的呢?下面給大家介紹的這類相當牛氣的方法:實時實例分割算法 SOLOv2!
  • TinyBERT:模型小7倍,速度快8倍,華中科大、華為出品
    實證研究結果表明,TinyBERT 是有效的,在 GLUE 基準上實現了與 BERT 相當(下降 3 個百分點)的效果,並且模型大小僅為 BERT 的 13.3%(BERT 是 TinyBERT 的 7.5 倍),推理速度是 BERT 的 9.4 倍。
  • 精度45.9%,推理速度72.9FPS,百度飛槳推出工業級目標檢測模型
    ,從而達到大幅提升YOLO目標檢測性能的效果。更優的骨幹網絡: ResNet50vd-DCN骨幹網絡可以說是一個模型的基礎,一個優秀的骨幹網絡會給模型的性能帶來極大的提升。針對YOLOv3,飛槳研發人員使用更加優異的ResNet50vd-DCN 作為模型的骨幹網絡。它可以被分為ResNet50vd和DCN兩部分來看。
  • 針對不同場景設計目標檢測算法
    在基於anchor的目標檢測網絡(Faster RCNN、SSD、YOLO v2&v3等)中,一個至關重要的步驟就是科學的設置anchor,可以說,Anchor設置的合理與否,極大的影響著最終模型檢測性能的好壞。本文,我們將以質樸的語言介紹Anchor導致是什麼,以及如何科學的設置anchor。
  • 華為發布新版MateBook D筆記本:11代酷睿、核顯性能1.6倍提升
    今天下午的發布會上,除了nova 8系列手機之外,華為還推出了升級版的MateBook D14及MateBook D15筆記本,100% sRGB屏,全線升級11代酷睿,核顯性能最多提升1.6倍。華為去年推出了MateBook D系列筆記本,面向主流市場,性價比高,有14及15.6寸兩個版本,去年主要使用了Intel的十代酷睿及AMD銳龍4000U系列處理器。這次的MateBook D14/D15 2021版在原來的基礎上升級,首先是屏幕升級到了100% sRGB色域,依然是1920x1080解析度,亮度柯達300尼特。
  • niko and……推出小巧可愛的彩妝「tiny tiny」恣意妝點個性妝容
    以自然清新又不失流行的獨特風格而深受日系少女喜愛的niko and...今年冬天首次推出彩妝產品系列「tiny tiny」,2020年11月27日已經在日本官網上市嘍!產品種類豐富,唇彩、底妝、眼影、護手霜...等等美妝保養產品應有盡有,滿足各種場合搭配需求,美妝控們快來盡情挑選吧!
  • 獲得Open Images冠軍,商湯TSD目標檢測算法入選CVPR 2020
    隨著深度學習的不斷發展,目標檢測精度的提升愈加困難,一般而言能提升1~2%的mAP(平均準確率)便算是很大的突破了。但是,商湯研究團隊發表的TSD算法提升了難以置信的3~5% mAP!而且是在行業難度最高的數據集Open Images和COCO。
  • 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度...
    Mask R-CNN 可以應用到人體姿勢識別,並且在實例分割、目標檢測、人體關鍵點檢測三個任務都取得了很好的效果。因此,百度深度學習框架 PaddlePaddle 開源了用於目標檢測的 RCNN 模型,從而可以快速構建強大的應用,滿足各種場景的應用,包括但不僅限於安防監控、醫學圖像識別、交通車輛檢測、信號燈識別、食品檢測等等。
  • 他把半個機房濃縮進小盒子 用GPU將資料庫處理性能提升100倍
    據星爵透露,該資料庫與傳統內存資料庫相比,可以將數據處理性能提高30~100倍,同時降低10倍硬體成本、20倍計算能耗。該項目已於去年4月完成天使輪融資,現階段正在進行Pre-A輪融資中。而星爵想做一款基於GPU硬體,應用於人工智慧的新一代OLAIP(On-line Analytical and Intelligent Processing)資料庫系統——Zerone。在星爵看來,基於GPU的OLAIP資料庫很快將會取代傳統OLAP資料庫,原因在於CPU自身處理性能的局限性。