Mask R-CNN详解和安装
Detectron是Facebook的物體檢測平臺,今天宣布開源,它基于Caffe2,用Python寫成,這次開放的代碼中就包含了Mask R-CNN的實現(xiàn)。
除此之外,Detectron還包含了ICCV 2017最佳學(xué)生論文RetinaNet,Ross Girshick(RBG)此前的研究Faster R-CNN和RPN、Fast R-CNN、以及R-FCN的實現(xiàn)。
Detectron的基干(backbone)網(wǎng)絡(luò)架構(gòu)包括ResNeXt{50,101,152}、ResNet{50,101,152}、FPN和VGG16。
同時,Facebook還發(fā)布了70多種ImageNet-1k預(yù)訓(xùn)練模型的性能基準,包括用用1、2塊GPU時,上述各種基干架構(gòu)和檢測算法相結(jié)合做區(qū)域建議、遮罩檢測以及人體關(guān)鍵點檢測的訓(xùn)練時間、推理時間等。
要使用Detectron,你需要先配置英偉達GPU(是的,它還不支持CPU)、Linux系統(tǒng)和Python2,還要安裝Caffe2和COCO API。然后,三步裝上Detectron:
Clone Detectron:
# DETECTRON=/path/to/clone/detectron git clone https://github.com/facebookresearch/detectron $DETECTRON設(shè)置Python模塊:
cd $DETECTRON/lib && make檢查Detectron的測試通過:
python2 $DETECTRON/tests/test_spatial_narrow_as_op.py這樣,就足夠用預(yù)訓(xùn)練模型做推理了。
如果要用Detectron來訓(xùn)練自己的檢測模型,就需要先確保能通過符號鏈接lib/datasets/data找到數(shù)據(jù)集,然后用CMake創(chuàng)建定制的運算符庫:
cd $DETECTRON/lib && make ops并檢查這些運算符的測試通過:
python2 $DETECTRON/tests/test_zero_even_op.pyFacebook還貼心地寫了份上手教程,教你用預(yù)訓(xùn)練的Mask R-CNN來做物體檢測。
如果要在本地圖像上運行,只需要使用infer_simple.py工具,運行:
python2 tools/infer_simple.py \--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \--output-dir /tmp/detectron-visualizations \--image-ext jpg \--wts https://s3-us-west-2.amazonaws.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \demo就能得到如下圖所示的輸出。
如果要在COCO數(shù)據(jù)集上做推理,需要運行:
python2 tools/test_net.py \--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \TEST.WEIGHTS https://s3-us-west-2.amazonaws.com/detectron/35861858/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml.02_32_51.SgT4y1cO/output/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \NUM_GPUS 1上面這個例子,用了端到端預(yù)訓(xùn)練的Mask R-CNN,在一塊GPU上運行。如果要使用多個GPU,需要在第二行之后添加 —multi-gpu-testing \ 并更改最后的NUM_GPUS數(shù)量。
截至量子位發(fā)稿,Detectron在GitHub上放出7小時,已經(jīng)收獲738顆星標、101次Fork。
RBG在Facebook上發(fā)帖介紹說,這個項目2016年7月啟動,想要基于Caffe 2構(gòu)建一個快速、靈活的物體檢測系統(tǒng),至今已經(jīng)一年半的時間。Detectron系統(tǒng)本來是Facebook內(nèi)部使用的,我們前面提到的Mask R-CNN和RetinaNet背后,都由Detectron提供支持。
除了RBG之外,Ilija Radosavovic、Georgia Gkioxari、Piotr Dollar和何愷明也參與了Detectron項目。
在Facebook內(nèi)部,Detectron不僅用于研究,還用來為增強現(xiàn)實、商業(yè)誠信等方面的應(yīng)用訓(xùn)練定制化的模型。這些模型訓(xùn)練完成后可以部署在云端或者移動設(shè)備上,由Caffe2運行時提供支持。
RBG說,Facebook將Detectron平臺開源出來,是想要加速世界各地實驗室的研究,推動物體檢測的進展。
Now go forth and create algorithms to detect all of the things!
想用Detectron搞物體檢測算法,你可能要用到下面這些鏈接:
Detectron開源代碼:
https://github.com/facebookresearch/Detectron
相關(guān)物體檢測論文:
Mask R-CNN
https://arxiv.org/abs/1703.06870
RetinaNet
https://arxiv.org/abs/1708.02002
Faster R-CNN和RPN
https://arxiv.org/abs/1506.01497
Fast R-CNN
https://arxiv.org/abs/1504.08083
R-FCN
https://arxiv.org/abs/1605.06409
性能基準和Model ZOO:
https://github.com/facebookresearch/Detectron/blob/master/MODEL_ZOO.md
另外,你們可能還想去RBG大神的FB帖子底下表達一波感謝(以及質(zhì)問開源代碼為何拖了這么久):
https://www.facebook.com/ross.girshick/posts/10159910213745261
轉(zhuǎn)載于:https://www.cnblogs.com/Anita9002/p/8335710.html
總結(jié)
以上是生活随笔為你收集整理的Mask R-CNN详解和安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql常用基础命令操作实战
- 下一篇: SSH-keygen参数说明