首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从论文到测试:Facebook Detectron开源项目初探

从论文到测试:Facebook Detectron开源项目初探

作者头像
企鹅号小编
发布2018-02-02 17:36:28
9360
发布2018-02-02 17:36:28
举报
文章被收录于专栏:人工智能人工智能

机器之心专栏

作者:陈惠婵

从 RCNN 到 Faster RCNN,再到最近的 FPN 和获得 ICCV Best Paper 的 Mask RCNN,深度学习在物体检测中以绝对优势从众多机器学习算法中脱引而出。大家对 Facebook 的计算机视觉研究项目的开源期盼已久,经过 1 年多的漫长等待,今天 Facebook 终于开源了 Detectron,Detectron 开源项目使用 caffe2 和 python 接口。实现了 10 多篇计算机视觉最新的成果。下面我们简单介绍一下 Detectron 所实现的论文。并且对 Detectron 进行初次测试,我们会在随后的博客中更新我们自己测试得到的 Detectron 训练模型和速度标准。

Fast RCNN、Faster RCNN、RFCN、FPN、RetinaNet

Detectron 实现了物体检测的标准模型,并且添加了 Feature Pyramid Network 和 RetinaNet 等 state-of-the-art 的物体检测模型。FPN 是 two-stage 检测的 state-of-the-art,RetinaNet 是 one-stage 的 best-performing 模型,并且也是 ICCV 的 best student paper。

ResNet,ResNeXt

Detectron 实现了 Residual Network 和 ResNeXt 等基础的神经网络结构。ResNext 使用 depthwise convolution 的技术大大降低了参数,并且保证了分类结果。

Human-object Interaction Detection

物体检测可以得到 bounding box 如图(a),Human-object interaction 通过预测不同的 bounding box 之间的概率密度可以学习不同 bounding box 之间的关系。如图(c),人和刀之间的关系是切(cut)。

Mask RCNN

Mask RCNN 通过改进 Faster RCNN 可以实现 7 FPS 的 instance segmentation 和关键点检测,并且超过当时的所有方法。Mask RCNN 在 COCO 和 CITYSCAPES 数据集上面取得了好的结果。Mask RCNN 的示意图如下。

Training Imagenet in one hour

本篇论文发现了 large batch 可以大大的提升分类网络的收敛速度,通过把 batch size 从 256 提升到 8192,将训练时间从几周降低到了 1 个小时,大大提升了神将网络的训练速度。

CVPR 2018 投稿论文:Learning to segment everything

收集 mask rcnn 的标注十分昂贵,在 cityscapes 上面一张图的标注需要 1 个小时。这篇论文提出了 weight transfer 的办法来分割所有的物体,免去了收集分割数据的巨大时间和金钱耗费。本篇论文使用 bounding box detection branch 的权重来预测 mask branch 的权重来实现此目的。

Non Local Neural Convolution

Convolution Neural Network 只能够传递邻域的信息,本篇论文参照 non local means 和 self attention 的方法设计出了 non local convolution,从而能够捕捉到非邻域的信息。如下图,中心点可以捕捉到非邻域的重要信息。

Detectron 框架初探

要使用 Detectron 框架需要安装 caffe2,caffe2 的安装请参照 caffe2 官网。然后参照 INSTALL.md 安装 Detectron,Detectron 提供了方便的测试和添加 op 功能。添加 op 具体参照 test_zero_even_op.py。

Detectron 框架包含 config,demo,lib,tests 和 tools 等文件夹。Config 包含着各个模型的训练和测试参数,lib 是 detectron 的核心文件夹,例如 data loader,model builder,operator definition 和 utils(学习率等非核心函数)。

Detectron 安装

Caffe2 安装,参照网址 https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile

核心命令:

Detectron 安装,参照 https://github.com/facebookresearch/Detectron/blob/master/INSTALL.md

Detectron 测试

使用 Mask RCNN FPN ResNet 50 进行测试,命令如下:

在 Titan X 上面测试速度:

Detectron 框架训练

在 COCO 数据集上面使用 FPN ResNet50 进行 Faster RCNN 训练

使用命令 :

输出如下:

Memory 占用如下:

总结

Detecrton 框架给予 caffe2 和 python 接口,caffe2 对 Multi-GPU 和分布式训练提供了很好的支持,GPU 现存的利用率也大大提升,并且对很多 state-of-the-art 的方法提供了很好的 baseline 实现。相信 Detectron 框架会在未来的 computer vision 领域大放异彩。

安装小提示 1:

方法: sudo pip install future

安装小提示 2:

caffe2 安装之后需要将 caffe2 添加到 PYTHONPATH 和 LD_LIBRARY_PATH 路径

nano ~/.bashrc

输入:

本文为机器之心专栏,转载请联系原作者获得授权。

✄------------------------------------------------

本文来自企鹅号 - 机器之心媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 机器之心媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档