昨天,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 为基本卷积架构)执行推断:

  1. python2 tools/infer_simple.py \

  2.    --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \

  3.    --output-dir /tmp/detectron-visualizations \

  4.    --image-ext jpg \

  5.    --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 \

  6.    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.

FAIR开源Detectron:整合全部顶尖目标检测算法的更多相关文章

  1. Domain Adaptive Faster R-CNN:经典域自适应目标检测算法,解决现实中痛点,代码开源 | CVPR2018

    论文从理论的角度出发,对目标检测的域自适应问题进行了深入的研究,基于H-divergence的对抗训练提出了DA Faster R-CNN,从图片级和实例级两种角度进行域对齐,并且加入一致性正则化来学 ...

  2. 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN

    参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...

  3. 深度学习笔记之目标检测算法系列(包括RCNN、Fast RCNN、Faster RCNN和SSD)

    不多说,直接上干货! 本文一系列目标检测算法:RCNN, Fast RCNN, Faster RCNN代表当下目标检测的前沿水平,在github都给出了基于Caffe的源码. •   RCNN RCN ...

  4. (四)目标检测算法之Fast R-CNN

    系列博客链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...

  5. 基于模糊Choquet积分的目标检测算法

    本文根据论文:Fuzzy Integral for Moving Object Detection-FUZZ-IEEE_2008的内容及自己的理解而成,如果想了解更多细节,请参考原文.在背景建模中,我 ...

  6. 目标检测算法YOLO算法介绍

    YOLO算法(You Only Look Once) 比如你输入图像是100x100,然后在图像上放一个网络,为了方便讲述,此处使用3x3网格,实际实现时会用更精细的网格(如19x19).基本思想是, ...

  7. AI SSD目标检测算法

    Single Shot multibox Detector,简称SSD,是一种目标检测算法. Single Shot意味着SSD属于one stage方法,multibox表示多框预测. CNN 多尺 ...

  8. 第二十九节,目标检测算法之R-CNN算法详解

    Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmenta ...

  9. 目标检测算法之R-CNN算法详解

    R-CNN全称为Region-CNN,它可以说是第一个成功地将深度学习应用到目标检测上的算法.后面提到的Fast R-CNN.Faster R-CNN全部都是建立在R-CNN的基础上的. 传统目标检测 ...

随机推荐

  1. node.js 调试 eggs launch.json配置信息

    { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linki ...

  2. 20172306 2018-2019-2 《Java程序设计与数据结构》第六周学习总结

    20172306 2018-2019-2 <Java程序设计与数据结构>第六周学习总结 教材学习内容总结 概述(了解一下树的一些概念) 树是一种非线性结构.树由一个包含结点和边的集构成,其 ...

  3. Python学习:经典编程例题

    九九乘法表 ,): ,i+): print(i,'*',j,'=',i*j,end='\t') print() 水仙花数问题描述:100-999之间每个数的立方相加等于原数例如:153=1 ^ 3 + ...

  4. Nginx浅谈

    Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...

  5. Navicat Premium 出现2059错误解决办法

    1,登陆后可查询默认加密规则,键入 use mysql; select user,plugin from user where user ='root'; 解决办法: 1,更新用户密码:ALTER U ...

  6. Jquery源码学习日记(1)

    https://jquery.com/  最新源码下载链接:jquery3.0 135-231定义了一些jquery的通用方法 233-301行定义了一些继承的方法 302-477定义了一些工具类方法 ...

  7. CODEFORCES ROUND #740 ANALYSES BY TEAM:RED & BLACK

    A.Alyona and copybooks Problems: 给你一个数n和代价分别为a, b, c.数量不限的1, 2, 3,求将n凑成4的倍数的最小代价 Analysis: cj:取个模随便凑 ...

  8. U3D一些使用

    1,UGUI Button同时监听点击事件和长按事件:https://blog.csdn.net/yye4520/article/details/80844870

  9. eclipse中设置python的版本

    (mac系统)由于系统的python是内置的,无法直接查找到安装文件,则可在eclipse偏好设置-PyDev - Interpreters-Python Interpreter其右边选择Quick ...

  10. 你可能不知道的web api

    简介 作为前端工作者,我们的工作与web是分不开的,随着HTML5的日益壮大,浏览器自带的webapi也随着增多.本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法.用处以及浏览器 ...