专栏首页机器之心资源 | 整合全部顶尖目标检测算法:FAIR开源Detectron

资源 | 整合全部顶尖目标检测算法: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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 入门 | 完全云端运行:使用谷歌CoLaboratory训练神经网络

    机器之心
  • 资源 | 生成对抗网络新进展与论文全集

    选自GitHub 参与:蒋思源、吴攀 生成对抗网络(GAN)是近段时间以来最受研究者关注的机器学习方法之一,深度学习泰斗 Yann LeCun 就曾多次谈到 这...

    机器之心
  • 矩阵相乘在GPU上的终极优化:深度解析Maxas汇编器工作原理

    在从事深度学习框架的实现工作时,了解到 Nervana 有一个称为 Maxas 的汇编代码生成器项目,可以生成性能超过 nVidia 官方版本的矩阵相乘的 GP...

    机器之心
  • 遇见requestAnimationFrame

    今天,在读javascript异步编程的js事件深入理解部分的时候,了解到了requestAnimationFrame 这个api,在这里记录一下。 原文: s...

    吴裕超
  • 684. 缺少的字符串分解到vector中借助find函数

    先把两个字符串都分解到vector中,以空格为标志,然后在借助find函数来找出两个vector中不同的单词。

    和蔼的zhxing
  • Web设计快速入门

    在基本顺利完成功能的基础上,就需要考虑美观的问题了,在眼球经济的当下,一个面向用户的产品,如果没有好的UI,那么它就是不合格的。这部分内容算是初出茅庐,会持续更...

    用户1216676
  • python开发_python代码风格(coding style)

    Hongten
  • 斯坦福大学怎样讲“情感分析”

    大数据文摘
  • 四分钟解析比特币白皮书

    目前互联网上的金融交易大部分完全通过第三方服务完成,其中主要是Visa,Mastercard,Paypal和其他银行机构。这种制度的核心基础是信任。我们相信这些...

    庹阳
  • 使用移动环境传感器的智能手机健康评估(CS CY)

    心理健康和整体健康是社会日益关注的问题。环境因素会导致精神疾病,并有能力影响一个人的健康。这项研究提出了一个基于智能手机的健康评估系统,并检查了个人环境和健康是...

    用户7495559

扫码关注云+社区

领取腾讯云代金券