Facebook开源检测工具包 Detectron (by Caffe2)

一. Detectron 特征
        大名鼎鼎的 FAIR 开发的软件包,可以从【github】了解一下。

        个人感觉比较有用的是 基于 ResNet 基础框架的 Faster RCNN和Mask RCNN。

        Detectron 基于 Caffe2(貌似被诟病的不轻),就目前阶段来看,caffe2 还有待于完善(pytorch也是一个意思),其工程化程度远不如 Tensorflow。


二. 安装

  • Caffe2 安装

       遵循常规安装方式,尽量通过源码安装,Follow官方安装教程:【install】

       注:不要从网上搜安装教程,有些作者自己也未必搞的明白。

       可能会遇到一些包未安装的问题,比如 no module named past.builtins ,安装对应包即可:

pip install future --user
  • Detectron 安装
       安装地址:【 github】

       同样 Follow 官网安装:【install】


三. 测试运行

      可以先把模型下载下来,放在 weights(新建)文件下,运行测试例子:

python2 tools/infer_simple.py \
    --cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_1x.yaml \
    --output-dir /tmp/detectron-visualizations \
    --image-ext jpg \
    --wts weights/e2e-models/R-101-FPN-1X-MASK.pkl \
    demo
            其中demo是要分析的图片目录,上面是用于检测的,分割任务可替换参数为:

--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_1x.yaml

-- wts weights/e2e-models/R-101-FPN-1X-MASK.pkl

            执行成功会将结果保存为pdf文件,放在 ouput-dir 下面,效果还是很不错的:

Facebook开源检测工具包 Detectron (by Caffe2)_第1张图片

     有两个地方要注意:

1)配置文件 configs 要和 weights 文件对应;

2)修改 infer_simple.py 代码,避免重新下载权值文件:

assert_and_infer_cfg(False) 

四. 训练数据

      首先安装 networkx 和 enum:

pip install networkx enum
      根据  GETTING_STARTED 提示的步骤训练即可(单个GPU):

python2 tools/train_net.py \
    --cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml \
    OUTPUT_DIR /tmp/detectron-output

你可能感兴趣的:(深度学习)