资源 | 整合全部顶尖目标检测算法:FAIR开源Detectron

选自FAIR

机器之心整理

参与:蒋思源、李泽南

昨天,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.

本文为机器之心整理,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-01-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏梦里茶室

TensorFlow 深度学习笔记 从线性分类器到深度神经网络

Limit of Linear Model 实际要调整的参数很多 ? 如果有N个Class,K个Label,需要调整的参数就有(N+1)K个 Linear...

30990
来自专栏WOLFRAM

随机三维图像中可以找到多少动物和阿尔普物形?

34460
来自专栏机器之心

教程 | 详解如何使用Keras实现Wassertein GAN

选自Deeply Random 机器之心编译 参与:晏奇、李泽南 在阅读论文 Wassertein GAN 时,作者发现理解它最好的办法就是用代码来实现其内容。...

509100
来自专栏大数据挖掘DT机器学习

深度学习、图像识别入门,从VGG16卷积神经网络开始

51940
来自专栏PPV课数据科学社区

机器学习系列:(四)从线性回归到逻辑回归

从线性回归到逻辑回归 在第2章,线性回归里面,我们介绍了一元线性回归,多元线性回归和多项式回归。这些模型都是广义线性回归模型的具体形式,广义线性回归是一种灵活的...

56460
来自专栏杂七杂八

机器学习分类

机器学习通常分为四类 监督学习 无监督学习 半监督学习 强化学习 监督学习 监督学习是从标记的训练数据来推断一个功能的机器学习任务。在监督学习中,每个实例都是由...

37260
来自专栏大数据文摘

手把手 | OpenAI开发可拓展元学习算法Reptile,能快速学习(附代码)

15430
来自专栏用户3246163的专栏

2.3 模型相关

covariance stationary:一个时间序列,均值,方差,协方差不随时间而变化 上面的模型都和两维度有关: 1. 数据相互关联的程度 2. 稳定性

20920
来自专栏自学笔记

The Optimization of the Adaboost and Gradient Boosted Decision Tree

再回到我们上篇文章讲到的Adaboost算法,我们要从Adaboost算法推导出GBDT。首先回顾一下上篇文章的Adaboost,主要思想就是把弱分类器集中起来...

10720
来自专栏大数据挖掘DT机器学习

数据处理的统计学习(scikit-learn教程)

Scikit-learn 是一个紧密结合Python科学计算库(Numpy、Scipy、matplotlib),集成经典机器学习算法的Python模块。 一、统...

62350

扫码关注云+社区

领取腾讯云代金券