0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GitHub nanodet開源移動(dòng)端實(shí)時(shí)的Anchor-free檢測模型,上線僅兩天Star量已經(jīng)超過200

智能感知與物聯(lián)網(wǎng)技術(shù)研究所 ? 來源:通信信號(hào)處理研究所 ? 作者:通信信號(hào)處理研究 ? 2020-12-03 16:06 ? 次閱讀

目標(biāo)檢測一直是計(jì)算機(jī)視覺領(lǐng)域的一大難題,其目標(biāo)是找出圖像中的所有感興趣區(qū)域,并確定這些區(qū)域的位置和類別。目標(biāo)檢測中的深度學(xué)習(xí)方法已經(jīng)發(fā)展了很多年,并出現(xiàn)了不同類型的檢測方法。 目前,深度學(xué)習(xí)目標(biāo)檢測方法主要分為兩大類,分別是兩階段式和單階段式目標(biāo)檢測算法。兩階段式目標(biāo)檢測框架首先生成候選區(qū)域,然后將其分類成不同的目標(biāo)類別,代表模型有 R-CNN、Fast R-CNN 等;單階段式目標(biāo)檢測框架將目標(biāo)檢測任務(wù)視為一個(gè)統(tǒng)一的端到端回歸問題,代表模型有 MultiBox、YOLO、SSD 等。這類框架通常結(jié)構(gòu)更簡單,檢測速度也更快。 深度學(xué)習(xí)目標(biāo)檢測方法還可劃分為 Anchor-base 和 Anchor-free 兩大類,今年又出現(xiàn)了將 Transformer 用于目標(biāo)檢測的嘗試,各種方法百花齊放。但是,在移動(dòng)端目標(biāo)檢測算法上,YOLO 系列和 SSD 等 Anchor-base 的模型一直占據(jù)主導(dǎo)地位。

近日,GitHub 上出現(xiàn)了一個(gè)項(xiàng)目 nanodet,它開源了一個(gè)移動(dòng)端實(shí)時(shí)的 Anchor-free 檢測模型,希望能夠提供不亞于 YOLO 系列的性能,而且同樣方便訓(xùn)練和移植。該項(xiàng)目上線僅兩天,Star 量已經(jīng)超過 200。

項(xiàng)目地址:https://github.com/RangiLyu/nanodet NanoDet 模型介紹 NanoDet 是一個(gè)速度超快和輕量級(jí)的移動(dòng)端 Anchor-free 目標(biāo)檢測模型。該模型具備以下優(yōu)勢:

超輕量級(jí):模型文件大小僅 1.8m;

速度超快:在移動(dòng) ARM CPU 上的速度達(dá)到 97fps(10.23ms);

訓(xùn)練友好:GPU 內(nèi)存成本比其他模型低得多。GTX1060 6G 上的 Batch-size 為 80 即可運(yùn)行;

方便部署:提供了基于 ncnn 推理框架的 C++ 實(shí)現(xiàn)和 Android demo。

模型性能 目前開源的 NanoDet-m 模型在 320x320 輸入分辨率的情況下,整個(gè)模型的 Flops 只有 0.72B,而 yolov4-tiny 則有 6.96B,小了將近十倍。模型的參數(shù)量也只有 0.95M,權(quán)重文件在使用 ncnn optimize 進(jìn)行 16 位存儲(chǔ)之后,只有 1.8mb。 盡管模型非常的輕量,但是它的性能不容小覷。在與其他模型進(jìn)行比較時(shí),項(xiàng)目作者選擇使用 COCO mAP (0.5:0.95) 作為評(píng)估指標(biāo),兼顧檢測和定位的精度,在 COCO val 5000 張圖片上測試,并且沒有使用 Testing-Time-Augmentation。在這種設(shè)置下,320 分辨率輸入能夠達(dá)到 20.6 的 mAP,比 tiny-yolov3 高 4 分,只比 yolov4-tiny 低 1 個(gè)百分點(diǎn)。在將輸入分辨率與 YOLO 保持一致,都使用 416 輸入的情況下,NanoDet 與 yolov4-tiny 得分持平。具體結(jié)果如下表所示:

以上性能基于 ncnn 和麒麟 980 (4xA76+4xA55) ARM CPU 獲得。 此外,項(xiàng)目作者將 ncnn 部署到手機(jī)(基于 ARM 架構(gòu)的 CPU 麒麟 980,4 個(gè) A76 核心和 4 個(gè) A55 核心)上之后跑了一下 benchmark,模型前向計(jì)算時(shí)間只要 10 毫秒左右,而 yolov3 和 v4 tiny 均在 30 毫秒的量級(jí)。在安卓攝像頭 demo app 上,算上圖片預(yù)處理、檢測框后處理以及繪制檢測框的時(shí)間,NanoDet 也能輕松跑到 40+FPS。

NanoDet 和 yolov4-tiny 的性能對(duì)比。 最后,該項(xiàng)目提供了 Android demo、C++ demo 和 Python demo。NanoDet 在安卓端的目標(biāo)檢測結(jié)果如下所示:

NanoDet 方法 NanoDet 是一種 FCOS 式的單階段 anchor-free 目標(biāo)檢測模型,它使用 ATSS 進(jìn)行目標(biāo)采樣,使用 Generalized Focal Loss 損失函數(shù)執(zhí)行分類和邊框回歸(box regression)。 據(jù)項(xiàng)目作者介紹,該項(xiàng)目的主要目的是希望開源一個(gè)移動(dòng)端實(shí)時(shí)的 Anchor-free 檢測模型,能夠提供不亞于 YOLO 系列的性能,并且方便訓(xùn)練和移植。為此,他參考了以下研究: 最終得到的 NanoDet 模型架構(gòu)如下:

損失函數(shù) 項(xiàng)目作者想要實(shí)現(xiàn)一個(gè) FCOS 式的 anchor-free 目標(biāo)檢測模型,但將 FCOS 輕量化處理時(shí),由于 FCOS 的 centerness 分支在輕量級(jí)的模型上很難收斂,模型效果不如預(yù)期。 最終,NanoDet 使用了李翔等人提出的 Generalized Focal Loss 損失函數(shù)。該函數(shù)能夠去掉 FCOS 的 Centerness 分支,省去這一分支上的大量卷積,從而減少檢測頭的計(jì)算開銷,非常適合移動(dòng)端的輕量化部署。

圖源:https://arxiv.org/pdf/2006.04388.pdf 檢測頭輕量化 找到合適的損失函數(shù)后,如何使其在輕量級(jí)模型上發(fā)揮作用呢? 首先需要優(yōu)化的是檢測頭。 FCOS 系列使用了共享權(quán)重的檢測頭,即對(duì) FPN 出來的多尺度 Feature Map 使用同一組卷積預(yù)測檢測框,然后每一層使用一個(gè)可學(xué)習(xí)的 Scale 值作為系數(shù),對(duì)預(yù)測出來的框進(jìn)行縮放。

圖源:https://openaccess.thecvf.com/content_ICCV_2019/papers/Tian_FCOS_Fully_Convolutional_One-Stage_Object_Detection_ICCV_2019_paper.pdf 這么做的好處是能夠?qū)z測頭的參數(shù)量降低為不共享權(quán)重狀態(tài)下的 1/5。這對(duì)于光是檢測頭就擁有數(shù)百通道卷積的大模型來說非常有用,但是對(duì)于輕量化模型來說,共享權(quán)重檢測頭并沒有很大的意義。由于移動(dòng)端模型推理由 CPU 執(zhí)行計(jì)算,共享權(quán)重并不會(huì)帶來推理過程的加速,而且在檢測頭非常輕量的情況下,共享權(quán)重使其檢測能力進(jìn)一步下降,因此項(xiàng)目作者認(rèn)為選擇對(duì)每一層特征使用一組卷積比較合適。 同時(shí),F(xiàn)COS 系列在檢測頭上使用了 Group Normalization(GN)作為歸一化方式,GN 對(duì)比 BN(Batch Normalization)有很多好處,但是卻有一個(gè)缺點(diǎn):BN 在推理時(shí)能夠?qū)⑵錃w一化的參數(shù)直接融合進(jìn)卷積中,可以省去這一步計(jì)算,而 GN 則不行。為了能夠節(jié)省歸一化操作的時(shí)間,項(xiàng)目作者選擇將 GN 替換為 BN。 FCOS 的檢測頭使用了 4 個(gè) 256 通道的卷積作為一個(gè)分支,也就是說在邊框回歸和分類兩個(gè)分支上一共有 8 個(gè) c=256 的卷積,計(jì)算量非常大。為了將其輕量化,項(xiàng)目作者首先選擇用深度可分離卷積替換普通卷積,并且將卷積堆疊的數(shù)量從 4 個(gè)減少為 2 組。在通道數(shù)上,將 256 維壓縮至 96 維,之所以選擇 96,是因?yàn)樾枰獙⑼ǖ罃?shù)保持為 8 或 16 的倍數(shù),能夠享受到大部分推理框架的并行加速。 最后,項(xiàng)目作者借鑒了 YOLO 系列的做法,將邊框回歸和分類使用同一組卷積進(jìn)行計(jì)算,然后 split 成兩份。最終得到的輕量化檢測頭如下圖所示:

FPN 層改進(jìn) 目前針對(duì) FPN 的改進(jìn)有許多,如 EfficientDet 使用了 BiFPN,YOLO v4 和 v5 使用了 PAN,除此之外還有 BalancedFPN 等等。BiFPN 雖然性能強(qiáng)大,但是堆疊的特征融合操作會(huì)導(dǎo)致運(yùn)行速度降低,而 PAN 只有自上而下和自下而上兩條通路,非常簡潔,是輕量級(jí)模型特征融合的好選擇。 原版的 PAN 和 YOLO 系列中的 PAN 都使用了 stride=2 的卷積進(jìn)行大尺度 Feature Map 到小尺度的縮放。而該項(xiàng)目出于輕量化的考慮,選擇完全去掉 PAN 中的所有卷積,只保留從骨干網(wǎng)絡(luò)特征提取后的 1x1 卷積來進(jìn)行特征通道維度的對(duì)齊,上采樣和下采樣均使用插值來完成。與 YOLO 使用的 concatenate 操作不同,項(xiàng)目作者選擇將多尺度的 Feature Map 直接相加,使整個(gè)特征融合模塊的計(jì)算量變得非常小。 最終得到的極小版 PAN 結(jié)構(gòu)非常簡單:

NanoDet 使用的超輕量 PAN(圖源:https://zhuanlan.zhihu.com/p/306530300) 骨干網(wǎng)絡(luò) 項(xiàng)目作者選擇使用 ShuffleNetV2 1.0x 作為骨干網(wǎng)絡(luò),他去掉了該網(wǎng)絡(luò)的最后一層卷積,并且抽取 8、16、32 倍下采樣的特征輸入到 PAN 中做多尺度的特征融合。整個(gè)骨干模型使用了 Torchvision 提供的代碼,能夠直接加載 Torchvision 上提供的 imagenet 預(yù)訓(xùn)練權(quán)重,對(duì)加快模型收斂起到很大幫助。 目前,項(xiàng)目作者已將 Pytorch 訓(xùn)練代碼、基于 NCNN 的 Linux 和 Windows C++ 部署代碼以及 Android 攝像頭 Demo 全部開源,并在 Readme 中提供了詳細(xì)教程,參見項(xiàng)目 GitHub 主頁。

責(zé)任編輯:PSY

原文標(biāo)題:1.8M超輕量目標(biāo)檢測模型NanoDet,比YOLO跑得快,上線兩天Star量超200

文章出處:【微信公眾號(hào):通信信號(hào)處理研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 檢測模型
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7320
  • 移動(dòng)端
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    4418
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    471

    瀏覽量

    16466

原文標(biāo)題:1.8M超輕量目標(biāo)檢測模型NanoDet,比YOLO跑得快,上線兩天Star量超200

文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    騰訊混元大模型開源成績斐然,GitHub Star數(shù)近1.4萬

    內(nèi)外部技術(shù)的開源共享,旨在促進(jìn)技術(shù)創(chuàng)新與生態(tài)發(fā)展。 據(jù)悉,騰訊混元大模型已經(jīng)在多個(gè)模態(tài)上實(shí)現(xiàn)了開源,包括語言大模型、文生圖大
    的頭像 發(fā)表于 12-26 10:30 ?219次閱讀

    AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測模型

    的是百度的Picodet模型,它是一種基于深度卷積網(wǎng)絡(luò)(DNN)的輕量級(jí)目標(biāo)檢測模型,具有非常高的檢測精度,可以在低算力設(shè)備進(jìn)行實(shí)時(shí)
    發(fā)表于 12-19 14:33

    ADS1299用一個(gè)頻率為1Hz的正弦波來作為模擬輸入信號(hào),當(dāng)峰峰值超過10mV是就已經(jīng)滿量程了,為什么?

    我這兩天遇到一個(gè)問題,麻煩您幫我解答一下。謝謝!下面為您描述我的問題: 我選擇ADS1299的芯片,PGA放大到24倍,按照用戶手冊上Vref為4.5V,按照下面的公式計(jì)算出1個(gè)LSB為
    發(fā)表于 12-13 06:22

    騰訊混元大模型上線開源文生視頻能力

    近日,騰訊宣布其混元大模型正式上線,并開源了一項(xiàng)令人矚目的能力——文生視頻。該大模型參數(shù)量高達(dá)130億,支持中英文雙語輸入,為用戶提供了更為便捷和多樣化的視頻生成體驗(yàn)。 據(jù)官方介紹,騰
    的頭像 發(fā)表于 12-04 14:06 ?163次閱讀

    國家管網(wǎng)集團(tuán)與華為聯(lián)合打造“管網(wǎng)”大模型

    近日,國家管網(wǎng)集團(tuán) “管網(wǎng)”大模型正式上線應(yīng)用?!肮芫W(wǎng)”大模型基于華為算力底座和技術(shù)棧,打造“管網(wǎng)制度流程+數(shù)據(jù)+IT+大模型”體系,構(gòu)建具有管網(wǎng)特色的大
    的頭像 發(fā)表于 12-04 11:07 ?339次閱讀

    MediaTek移動(dòng)平臺(tái)賦能騰訊會(huì)議側(cè)AI人像分割模型

    MediaTek 與騰訊會(huì)議聯(lián)合優(yōu)化的側(cè) NPU 虛擬背景功能,已在搭載 MediaTek 璣旗艦芯的終端正式上線。作為雙方初次開展的軟硬件生態(tài)合作,此次聯(lián)合優(yōu)化旨在充分利用
    的頭像 發(fā)表于 11-29 15:30 ?208次閱讀

    尊界S800預(yù)定火爆,兩天超2000臺(tái)

    近日,鴻蒙智行官方宣布,華為與江淮汽車攜手打造的高端轎車——尊界S800,自啟動(dòng)預(yù)定以來,迅速獲得了市場的熱烈反響。據(jù)統(tǒng)計(jì),僅在開放預(yù)訂的頭兩天內(nèi),這款備受矚目的車型就已經(jīng)收獲了超過
    的頭像 發(fā)表于 11-29 11:26 ?858次閱讀

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人臉檢測實(shí)驗(yàn)

    6. 支持種padding方式,分別為任意填充和取最近值7. 支持在輸入圖像行高超過256時(shí),自動(dòng)對(duì)卷積結(jié)果進(jìn)行抽樣,保留奇數(shù)行奇數(shù)列結(jié)果8. 支持卷積參數(shù)、批歸一化參數(shù)、激活參數(shù)配置,AI加速器
    發(fā)表于 11-13 09:37

    GitHub Copilot引入多模型支持

    近日,據(jù)外媒報(bào)道,GitHub正在為其代碼完成和編程工具Copilot引入多模型支持。這一舉措將為開發(fā)者提供更加靈活和多樣化的選擇。 在近日舉辦的GitHub Universe大會(huì)上,GitH
    的頭像 發(fā)表于 10-31 11:49 ?526次閱讀

    GitHub推出GitHub Models服務(wù),賦能開發(fā)者智能選擇AI模型

    8月2日,全球領(lǐng)先的代碼托管平臺(tái)GitHub宣布了一項(xiàng)重大創(chuàng)新——GitHub Models服務(wù)的正式推出。該服務(wù)被定位為AI時(shí)代的工程師助手,旨在幫助全球超過1億的GitHub用戶輕
    的頭像 發(fā)表于 08-02 15:39 ?601次閱讀

    tcp方式連接不了服務(wù)器了,服務(wù)器代碼還能開源嗎?

    是在維護(hù)服務(wù)器嗎?已經(jīng)兩天了。http方式還可以連接上,就tcp的方式不行了.服務(wù)器代碼能開源嗎?讓我們自己搭建服務(wù)器用。
    發(fā)表于 07-15 06:53

    RT-Thread 新里程碑達(dá)成——GitHub Star 破萬!

    RT-Thread實(shí)時(shí)操作系統(tǒng)開源項(xiàng)目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實(shí)時(shí)操作系統(tǒng)在業(yè)界
    的頭像 發(fā)表于 07-04 08:35 ?485次閱讀
    RT-Thread 新里程碑達(dá)成——<b class='flag-5'>GitHub</b> <b class='flag-5'>Star</b> 破萬!

    AI新工具DUSt3R走紅GitHub秒完成3D重建驚艷網(wǎng)友

    近日,一款名為DUSt3R的AI新工具在微軟旗下的GitHub平臺(tái)上引發(fā)了廣泛關(guān)注。這款神奇的工具張圖片和秒鐘的時(shí)間,便能完成精確的3D重建,且無需額外測量任何數(shù)據(jù)。
    的頭像 發(fā)表于 03-08 14:02 ?1185次閱讀

    百度開源DETRs在實(shí)時(shí)目標(biāo)檢測中勝過YOLOs

    這篇論文介紹了一種名為RT-DETR的實(shí)時(shí)檢測Transformer,是第一個(gè)實(shí)時(shí)目標(biāo)檢測
    的頭像 發(fā)表于 03-06 09:24 ?1614次閱讀
    百度<b class='flag-5'>開源</b>DETRs在<b class='flag-5'>實(shí)時(shí)</b>目標(biāo)<b class='flag-5'>檢測</b>中勝過YOLOs

    地平線正式開源Sparse4D算法

    地平線將業(yè)內(nèi)領(lǐng)先的純視覺自動(dòng)駕駛算法——Sparse4D系列算法開源,推動(dòng)行業(yè)更多開發(fā)者共同參與到自動(dòng)駕駛、稀疏感知等前沿技術(shù)方向的探索中。目前,Sparse4D算法已在GitHub
    的頭像 發(fā)表于 01-23 10:18 ?787次閱讀