可以在手機里運行的Detectron2來了:FB官方出品
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
做目標檢測、語義分割,你一定聽說過Detectron2。
作為一個基于PyTorch實現(xiàn)的模塊化目標檢測庫,Detectron2當年剛一開源,就被推上了GitHub趨勢榜第一。
而現(xiàn)在,移動端開發(fā)人員們的福利來了。
Facebook官方正式推出Detectron2的移動版:Detectron2Go(D2Go)。

什么是D2Go
先來看官方介紹:
- PyTorch和Detectron2支持的深度學習工具包
- 最先進的高效移動設備骨干網(wǎng)絡
- 支持端到端模型訓練、量化和部署
- 能輕松導出TorchScript格式
通過D2Go,開發(fā)者可以創(chuàng)建已經(jīng)針對移動設備進行過優(yōu)化的FBNet模型,在移動端高效地執(zhí)行目標檢測、語義分割以及關(guān)鍵點估計等任務。

△D2Go人體關(guān)鍵點估計
那么D2Go具體有哪些優(yōu)勢呢?
實際上,移動端的目標檢測任務主要關(guān)注的有兩點:延遲和準確性。
而如果模型能夠在邊緣設備上獨立運行,不用將數(shù)據(jù)傳至云端進行處理,就能大大的減少延遲。
另外,這也進一步保障了終端用戶的數(shù)據(jù)、隱私安全。
Facebook表示,在實驗測試中,使用D2Go開發(fā)的移動端模型,與基于服務器的模型相比,延遲更低,且準確性損失不大。
如何使用
首先是安裝的部分,需要安裝的有:
PyTorch Nightly
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch-nightly
Detectron2
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
mobile_cv
python -m pip install 'git+https://github.com/facebookresearch/mobile-vision.git'
D2go
git clone https://github.com/facebookresearch/d2go
cd d2go & python -m pip install .
在D2go的GitHub倉庫中,還提供了預訓練模型的推理Demo。
從model_zoo中選擇一個模型,運行demo.py,就可以進行試玩。
以faster_rcnn_fbnetv3a模型為例:
cd demo/
python demo.py —config-file faster_rcnn_fabnetv3a_C4.yaml —input input1.jpg —output output1.jpg
在訓練和評估方面,D2Go本身基于detectron2工具包實現(xiàn),因此在訓練之前,需要按照detectron2的說明設置內(nèi)置數(shù)據(jù)集。
而具體如何用預訓練模型進行推理、訓練一個D2go模型、將模型導出到int8,F(xiàn)acebook也提供了詳細的入門示例。

更多詳情,不妨戳進文末鏈接,親自上手嘗試~
傳送門
開源地址:
https://github.com/facebookresearch/d2go
Facebook博客:
https://ai.facebook.com/blog/d2go-brings-detectron2-to-mobile/