博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Facebook Detectron物体检测研究平台实践
阅读量:6360 次
发布时间:2019-06-23

本文共 3333 字,大约阅读时间需要 11 分钟。

1月23日,Facebook 开源了自家的物体检测研究平台 Detectron。Detectron 是 Facebook AI 研究的软件系统,实现了最先进的物体检测算法,包括 Mask R-CNN。Detectron 用 Python 编写实现,并由深度学习框架 Caffe2 (Caffe2应该类似Brain++,内部使用)。

bQaL_fyqwiqk0302090
Detectron 的由来

2016 年 7 月,Detectron 项目正式启动,旨在创建一个基于 Caffe2 的快速灵活的物体检测系统,当时处于早期 alpha 开发。经过一年半的发展,Detectron 已成熟,并支持很多内部项目,比如:Mask R-CNN 和 Focal Loss for Dense Object Detection。这 2 个项目分部拿到了 ICCV 2017 的 Marr Prize 和 Best Student Paper 奖。

由 Detectron 驱动的算法,为重要计算机视觉任务(比如实例分割)提供了直观的模型,并且在近年来我们社区视觉感知系统所取得的空前进步的中发挥了关键作用。

除了研究,许多 Facebook 团队使用 Detectron 平台来培训各种应用的定制模型,包括增强现实和社区完整性。 一旦接受培训,这些模型可以部署在云端和移动设备上。[来自伯乐在线原网址:

Detectron的github主页:
根据readme的引导我们先安装caffe2框架:
这里我们用python2.7
先安装必要的python包:

sudo apt-get updatesudo apt-get install -y --no-install-recommends \      build-essential \      cmake \      git \      libgoogle-glog-dev \      libgtest-dev \      libiomp-dev \      libleveldb-dev \      liblmdb-dev \      libopencv-dev \      libopenmpi-dev \      libsnappy-dev \      libprotobuf-dev \      openmpi-bin \      openmpi-doc      protobuf-compiler \      python-dev \      python-pip                          sudo pip install \      future \      numpy \      protobuf      sudo apt-get install -y --no-install-recommends libgflags-dev

接着配置cuda环境,由于caffe2已经能用cuda9.0所以我们用的环境是cuda9.0和cudnn7.0(这里提醒一下,对于GTX1060MAXQ的笔记本建议安装CUDA9.0,对于1080ti卡,虽然安装能安装CUDA8.0,跑caffe也能跑,但跑tensorflow时会发生一些莫名其妙的错误,这里建议安装CUDA9.0,各个框架对CUDA9.0的支持也都差不多了)

在网址:
下载cuda.deb文件(虽然网上说deb安装会有问题,用.run,但笔者安装时没有问题)
执行:

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.debsudo apt-key add /var/cuda-repo-
/7fa2af80.pubsudo apt-get updatesudo apt-get install cuda

再在英伟达网站上找到cudnnV7.0(英伟达cudnn下载链接经常崩溃,可以到百度上搜一下,百度网盘里也有)

tar -zxvf cudnn-9.0-linux-x64-v7.tgzsudo cp cuda/include/cudnn.h /usr/local/cuda/include/sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -dsudo chmod a+r /usr/local/cuda/include/cudnn.hsudo chmod a+r /usr/local/cuda/lib64/libcudnn*

在终端中输入

nvcc -v

若无错则说明配置正确

下载caffe2

git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2

编译安装

makecd buildsudo make install

在~/.bashrc添加环境变量:

export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build

测试是否安装成功

cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

如果出现success则说明加载成功

对GPU进行测试:

python -m caffe2.python.operator_test.relu_op_test

如果出现

gputest
则说明GPU支持成功
接下来安装Detectron需要的一些python库

pip install numpy pyyaml matplotlib opencv-python>=3.0 setuptools Cython mock

安装 COCO API

COCOAPI提供微软COCO数据集Matlab, Python和Lua的API接口.

git clone https://github.com/cocodataset/cocoapi.git cd cocoapi/PythonAPImakepython setup.py install

接下来进行Detectron的安装

git clone https://github.com/facebookresearch/detectron.gitcd detctron/libmake

测试是否安装成功

cd testspython test_spatial_narrow_as_op.py

如果出现

detectron
则说明安装成功
先拿facebook训练好的模型来跑一个example,在Detectorn目录下运行:

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

便会开始下载模型 总共会下载两个170多兆的,一个400多兆的在/tmp目录下,建议下载完后保存在其他目录

结果如下:
原图:
24274813513_0cfd2ce6d0_k
识别效果:
_
又出来mask-rcnn 突然发现类似行人检测的毕设好简单
此处应有猫:
timg

_

关于mask-rcnn的论文将在之后分享,解析
timg_jpeg

转载地址:http://skdma.baihongyu.com/

你可能感兴趣的文章