Mask R-CNN详解和安装
Detectron是Facebook的物体检测平台,今天宣布开源,它基于Caffe2,用Python写成,这次开放的代码中就包含了Mask R-CNN的实现。
除此之外,Detectron还包含了ICCV 2017最佳学生论文RetinaNet,Ross Girshick(RBG)此前的研究Faster R-CNN和RPN、Fast R-CNN、以及R-FCN的实现。
Detectron的基干(backbone)网络架构包括ResNeXt{50,101,152}、ResNet{50,101,152}、FPN和VGG16。
同时,Facebook还发布了70多种ImageNet-1k预训练模型的性能基准,包括用用1、2块GPU时,上述各种基干架构和检测算法相结合做区域建议、遮罩检测以及人体关键点检测的训练时间、推理时间等。
要使用Detectron,你需要先配置英伟达GPU(是的,它还不支持CPU)、Linux系统和Python2,还要安装Caffe2和COCO API。然后,三步装上Detectron:
Clone Detectron:
# DETECTRON=/path/to/clone/detectron
git clone https://github.com/facebookresearch/detectron $DETECTRON
设置Python模块:
cd $DETECTRON/lib && make
检查Detectron的测试通过:
python2 $DETECTRON/tests/test_spatial_narrow_as_op.py
这样,就足够用预训练模型做推理了。
如果要用Detectron来训练自己的检测模型,就需要先确保能通过符号链接lib/datasets/data找到数据集,然后用CMake创建定制的运算符库:
cd $DETECTRON/lib && make ops
并检查这些运算符的测试通过:
python2 $DETECTRON/tests/test_zero_even_op.py
Facebook还贴心地写了份上手教程,教你用预训练的Mask R-CNN来做物体检测。
如果要在本地图像上运行,只需要使用infer_simple.py工具,运行:
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
就能得到如下图所示的输出。
如果要在COCO数据集上做推理,需要运行:
python2 tools/test_net.py \--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \TEST.WEIGHTS 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 \NUM_GPUS 1
上面这个例子,用了端到端预训练的Mask R-CNN,在一块GPU上运行。如果要使用多个GPU,需要在第二行之后添加 —multi-gpu-testing \ 并更改最后的NUM_GPUS数量。
截至量子位发稿,Detectron在GitHub上放出7小时,已经收获738颗星标、101次Fork。
RBG在Facebook上发帖介绍说,这个项目2016年7月启动,想要基于Caffe 2构建一个快速、灵活的物体检测系统,至今已经一年半的时间。Detectron系统本来是Facebook内部使用的,我们前面提到的Mask R-CNN和RetinaNet背后,都由Detectron提供支持。
除了RBG之外,Ilija Radosavovic、Georgia Gkioxari、Piotr Dollar和何恺明也参与了Detectron项目。
在Facebook内部,Detectron不仅用于研究,还用来为增强现实、商业诚信等方面的应用训练定制化的模型。这些模型训练完成后可以部署在云端或者移动设备上,由Caffe2运行时提供支持。
RBG说,Facebook将Detectron平台开源出来,是想要加速世界各地实验室的研究,推动物体检测的进展。
Now go forth and create algorithms to detect all of the things!
想用Detectron搞物体检测算法,你可能要用到下面这些链接:
Detectron开源代码:
https://github.com/facebookresearch/Detectron
相关物体检测论文:
Mask R-CNN
https://arxiv.org/abs/1703.06870
RetinaNet
https://arxiv.org/abs/1708.02002
Faster R-CNN和RPN
https://arxiv.org/abs/1506.01497
Fast R-CNN
https://arxiv.org/abs/1504.08083
R-FCN
https://arxiv.org/abs/1605.06409
性能基准和Model ZOO:
https://github.com/facebookresearch/Detectron/blob/master/MODEL_ZOO.md
另外,你们可能还想去RBG大神的FB帖子底下表达一波感谢(以及质问开源代码为何拖了这么久):
https://www.facebook.com/ross.girshick/posts/10159910213745261
转载于:https://www.cnblogs.com/Anita9002/p/8335710.html
Mask R-CNN详解和安装相关推荐
- 第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI
第二篇supervisor集群管理工具cesi安装详解-如何安装supervisor-cesiwebUI 介绍 安装 解压 安装依赖 修改配置 注册为系统服务 启动 登录一下,发现报错了 解决方法 介 ...
- Git客户端图文详解如何安装配置GitHub操作流程攻略
Git客户端图文详解如何安装配置GitHub操作流程攻略 软件应用 爱分享 3个月前 (08-15) 8896浏览 0评论 Git介绍 分布式 : Git版本控制系统是一个分布式的系统, 是用来 ...
- python如何安装matplotlib_详解python安装matplotlib库三种失败情况
(可能只有最后一句命令有用,可能全篇都没用) (小白方法,可能只适用于本人情况) 安装matplotlib时,出现的三种失败情况 1.read timed out 一开始我在pycharm终端使用pi ...
- 第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor
第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor 环境 准备 安装python3.7.4 问题 解决方法 安装supervisor 配置supervisor服务 启 ...
- 详解VMware12安装Mac OS X 10.11
有不懂的地方可以留言,知道哪里错的必会回答 文章来源:https://www.jb51.net/article/105034.htm 系统文件来源:https://zhidao.baidu.com/q ...
- 即兴操作:详解Linux安装GCC方法-------------------------这操作很简单搞一波试试看
详解Linux安装GCC方法 起锅烧油先准备七个包配置文件以便于查看 上传http-2.4.25.tar.gz软件包到/opt目录下 解压压缩包 修改配置文件 修改配置文件并启动服务 inux中访问h ...
- Android Studio 安装详解及安装过程中出现的问题解决方案
Android Studio 安装详解及安装过程中出现的问题解决方案 一,Android Studio安装包下载, 首先到官网下载,就是去Android Studio中文社区官网下载你的平台需要的安装 ...
- IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)
这篇文章主要介绍了IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装),本文通过截图给大家展示的非常详细,需要的朋友可以参考下 目录 1.在线安装: 2.离线安装: IDEA安装阿里巴 ...
- 【教程】详解VS2010安装流程
[教程]详解VS2010安装流程 原文网址链接为:http://jingyan.baidu.com/article/4e5b3e195b838991901e24e5.html VS2010全称&quo ...
- Windows系统Git安装教程(详解Git安装过程)
Windows系统Git安装教程(详解Git安装过程) 今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助! 获取Git安装程序 到Git官网下载,网站地址: ...
最新文章
- 图像转文字(分类识别等),文字转图片,实际需要的过程
- 处理xmpp 离线信息,
- python 商城api编写_Python实现简单的API接口
- TCPDUMP/LIBPCAP 3-PCAP 中文手册(1)
- java 浏览器 爬虫_java 网络编程-爬虫+模拟浏览器
- 【原创】一个简单的StreamInsight样例分析:MarketMonitor
- react diff算法剖析总结
- android sdk下载慢的解决方法
- html验证码 按住向右滑动,js实现滑动滑块验证登录
- DFT与DTFT的区别?
- 基于卷积自编码网络结构的图像修复
- 石灰墙上的这种污渍怎么去掉?黑色灰色的
- JS实现注册登录发送短信验证码动态显示60S倒计时完整案例
- 霖呆呆的近期面试128题汇总(含超详细答案)
- Elasticsearch教程(4) High Level REST Client API 查询 聚合 分组
- 在线json服务器,json服务器
- 用Javascript开发《三国志曹操传》-零部件开发(二)-让目标人物移动
- Datart(达芬奇)sql关键字处理
- 泰山OFFICE技术讲座:重新研究了中英文间隔,提出了柳氏中英文间隔计算公式
- TEMPUS FUGIT: 2
热门文章
- 使用C++实现多张BMP图片转换为YUV动画----附加淡入淡出转场(逐渐变明变暗),及垂直滑像转场(逐行渐变)
- SLAM 学习与开发经验分享
- ubuntu16.04安装ROS
- 国产操作系统进入被彻底抛弃的时代
- 【C语言】C语言实现面向对象编程之多态
- 【Linux】一步一步学Linux——gzip命令(63)
- 【Centos】Centos7.5取消自动锁屏功能
- c程序隐藏linux,linux 下隐藏进程的一种方法
- nafxcw.lib与LIBCMT.lib在vs2008中链接冲突解决方案
- 前端三种消息框alert,confirm,prompt