版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linolzhang/article/details/79244127
一. 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 安装
同样 Follow 官网安装:【install】
扫描二维码关注公众号,回复:
3807857 查看本文章
三. 测试运行
可以先把模型下载下来,放在 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 下面,效果还是很不错的:
有两个地方要注意:
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