昨天,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. VirtualBox CentOS7 Mini 安装增强工具

    安装相关依赖 # yum install vim gcc kernel kernel-devel bzip2 -y # reboot 点击虚拟机菜单栏 => 设备 => 安装增强功能 # ...

  2. python11 装饰器与闭包

    一.装饰器定义 本质:一种函数,为其他函数增加新功能 原则: 1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 需要技能:装饰器=高阶函数+函数嵌套+闭包 二.高阶函数 定义:函数接收的参 ...

  3. Java获取请求主机真实ip

    一般情况下 getRemoteAddr()是可以正常使用的,代码如下: public String getIpAdress(HttpServletRequest request) { ip = req ...

  4. matplotlib 中文显示问题

    matplotlib 默认显示不了中文,如果想显示中文,通过下面代码设置: import matplotlib #指定默认字体 matplotlib.rcParams['font.sans-serif ...

  5. Atcoder Beginner Contest 070 D - Transit Tree Path

    题意:n个点,n-1条边,组成一个无向的联通图,然后给出q和k,q次询问,每次给出两个点,问这两个点之间的最短距离但必须经过k点. 思路:我当时是用优化的Dijkstra写的(当天刚学的),求出k点到 ...

  6. 图解HTTP第十章

    Web 的攻击技术 1>在客户端即可篡改请求 2>针对 Web 应用的攻击模式 3>因输出值转义不完全引发的安全漏洞 [1]跨站脚本攻击 [2]SQL 注入攻击 [3]OS 命令注入 ...

  7. Mysql双主互备+keeplived高可用架构(部分)

    一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...

  8. Jmeter多用户利用集合点瞬压并发测试

    在测试一些限时秒杀类似的接口时,需要模拟多用户同时一瞬间访问接口,我们这里简单模拟多用户同时访问百度. 1.首先打开Jmeter,在测试计划下添加线程组. 2.在线程组下添加HTTP请求. 3.在HT ...

  9. 关于get和post请求的区别

    1.标准答案 GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET请求会被浏览器主动cache,而POST不会,除非手动设 ...

  10. 开发HR人事考试系统介绍

    确定好需要开发的模块以及功能 一套人事考试系统主要模块: 1)组织管理:公司部门成员信息 2)人事管理:人事信息,离职管理,职务管理,岗位管理: 3)考勤管理:班次设置,停工放假,假日设置,刷卡记录, ...