昨天,Facebook AI 研究院(FAIR)開源了 Detectron,業內最佳水平的目標檢測平台。
昨天,Facebook AI 研究院(FAIR)開源了 Detectron,業內最佳水平的目標檢測平台。據介紹,該項目自 2016 年 7 月啟動,構建於 Caffe2 之上,目前支持大量機器學習算法,其中包括 Mask R-CNN(何愷明的研究,ICCV 2017 最佳論文)和 Focal Loss for Dense Object Detection,(ICCV 2017 最佳學生論文)。Facebook 稱,該工具包已被應用與公司內部很多團隊應用於各類應用中,一旦訓練完成,這些計算機視覺模型可被部署在雲端或移動設備上。
項目地址:https://github.com/facebookresearch/Detectron
Detectron
Detectron 是 Facebook AI Research 實現頂尖目標檢測算法(包括 Mask R-CNN)的軟件系統。該系統是基於 Python 和深度學習框架 Caffe 2 而構建的。
在 FAIR 實驗室,Detectron 目前已經支持很多研究項目的實現,包括:
-
Feature Pyramid Networks for Object Detection (https://arxiv.org/abs/1612.03144)
-
Mask R-CNN (https://arxiv.org/abs/1703.06870)
-
Detecting and Recognizing Human-Object Interactions (https://arxiv.org/abs/1704.07333)
-
Focal Loss for Dense Object Detection (https://arxiv.org/abs/1708.02002)
-
Non-local Neural Networks (https://arxiv.org/abs/1711.07971)
-
Learning to Segment Every Thing (https://arxiv.org/abs/1711.10370)
-
Data Distillation: Towards Omni-Supervised Learning (https://arxiv.org/abs/1712.04440)
Mask R-CNN 輸出示例
簡介
Detectron 的目標是為目標檢測研究提供高質量、高性能的代碼庫,它靈活的特性可以支持快速實現和驗證新研究。Detectron 目前包含以下目標檢測算法的實現:
-
Mask R-CNN (https://arxiv.org/abs/1703.06870)—Marr Prize at ICCV 2017
-
RetinaNet (https://arxiv.org/abs/1708.02002)—Best Student Paper Award at ICCV 2017
-
Faster R-CNN (https://arxiv.org/abs/1506.01497)
-
RPN (https://arxiv.org/abs/1506.01497)
-
Fast R-CNN (https://arxiv.org/abs/1504.08083)
-
R-FCN (https://arxiv.org/abs/1605.06409)
這些目標檢測算法主要使用以下卷積網絡架構:
-
ResNeXt{50,101,152} (https://arxiv.org/abs/1611.05431)
-
ResNet{50,101,152} (https://arxiv.org/abs/1512.03385)
-
Feature Pyramid Networks (https://arxiv.org/abs/1612.03144) (with ResNet/ResNeXt)
-
VGG16 (https://arxiv.org/abs/1409.1556)
在這些目標檢測算法中,我們比較熟悉的就是 Mask R-CNN,它是在 Faster R-CNN 上的擴展,即在用於邊界框識別的分支上添加了一個並行的分支以預測目標掩碼。該方法能夠有效地檢測圖像中的目標,同時還能為每個實例生成一個高質量的分割掩碼。而在 RetinaNet 中,研究者提出了全新的 Focal Loss 方法,並集中於稀疏、困難樣本中的訓練,避免了訓練過程中可能出現的大量負面因素。該論文的研究者表示,當使用 Focal Loss 進行訓練時,RetinaNet 可以達到此前一步檢測器的速度,同時准確性高於業內最佳的兩步檢測器。除了這兩個在 ICCV 2017 大為出彩的目標檢測算法外,其它如 Fast R-CNN 和 R-FCN 等都是十分優秀和經典的目標檢測方案。
在卷積網絡架構中,值得注意的是特征金字塔型網絡(FPN),它主要融合了多層特征而改進了 CNN 的特征提取方式。它利用了 CNN 固有的多尺度、多層級的金字塔結構去構建特征金字塔網絡,並使用一種自上而下的 Skip Connector 在所有尺度上構建高級語義特征圖。
上述的檢測算法和 CNN 架構在目標檢測任務上都有非常好的效果,他們基本上展現了該領域最優的水平。而 Detectron 包含了這些算法和架構的一大組基線結果和已訓練模型,我們可以直接下載它們。例如下圖是 RetinaNet 的基線結果與對應的模型下載地址,它同時還提供了訓練和推斷過程中的有用數據。
我們粗略統計了一下,該項目有 70 多個不同設定的預訓練模型。因此 Detectron 基本上已經是最目前包含最全與最多目標檢測算法的代碼庫了。此外,該項目也提供了安裝指南,包括 Caffe 2 和 COCO 數據集。值得注意的是,該代碼庫用的是 Python 2,它還需要 NVIDIA GPU、Linux 系統和其它一些標准的 Python 數值計算包。
-
模型庫與基線結果:https://github.com/facebookresearch/Detectron/blob/master/MODEL_ZOO.md
-
安裝指導:https://github.com/facebookresearch/Detectron/blob/master/INSTALL.md
最后,Detectron 還提供了一個文檔以展示如何使用該研究工具。例如我們在圖像文件目錄執行推斷,我們可以直接使用 infer.simple.py 工具。在下面的案例中,我們使用了一個端到端已訓練的 Mask R-CNN 模型(以 ResNet-101-FPN 為基本卷積架構)執行推斷:
-
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
更多詳細的使用文檔請查看:https://github.com/facebookresearch/Detectron/blob/master/GETTING_STARTED.md。
參考文獻
-
Data Distillation: Towards Omni-Supervised Learning. Ilija Radosavovic, Piotr Dollár, Ross Girshick, Georgia Gkioxari, and Kaiming He. Tech report, arXiv, Dec. 2017.
-
Learning to Segment Every Thing. Ronghang Hu, Piotr Dollár, Kaiming He, Trevor Darrell, and Ross Girshick. Tech report, arXiv, Nov. 2017.
-
Non-Local Neural Networks. Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Tech report, arXiv, Nov. 2017.
-
Mask R-CNN. Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross Girshick. IEEE International Conference on Computer Vision (ICCV), 2017.
-
Focal Loss for Dense Object Detection. Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollár. IEEE International Conference on Computer Vision (ICCV), 2017.
-
Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour. Priya Goyal, Piotr Dollár, Ross Girshick, Pieter Noordhuis, Lukasz Wesolowski, Aapo Kyrola, Andrew Tulloch, Yangqing Jia, and Kaiming He. Tech report, arXiv, June 2017.
-
Detecting and Recognizing Human-Object Interactions. Georgia Gkioxari, Ross Girshick, Piotr Dollár, and Kaiming He. Tech report, arXiv, Apr. 2017.
-
Feature Pyramid Networks for Object Detection. Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
-
Aggregated Residual Transformations for Deep Neural Networks. Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, and Kaiming He. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
-
R-FCN: Object Detection via Region-based Fully Convolutional Networks. Jifeng Dai, Yi Li, Kaiming He, and Jian Sun. Conference on Neural Information Processing Systems (NIPS), 2016.
-
Deep Residual Learning for Image Recognition. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.
-
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Conference on Neural Information Processing Systems (NIPS), 2015.
-
Fast R-CNN. Ross Girshick. IEEE International Conference on Computer Vision (ICCV), 2015.