2018年1月23日,Facebook 开源了自家的物体检测研究平台 Detectron。Detectron 是 Facebook AI 研究的软件系统,实现了最先进的物体检测算法,包括 Mask R-CNN。Detectron 用 Python 编写实现,并由深度学习框架 Caffe2 。
由 Detectron 驱动的算法,为重要计算机视觉任务(比如实例分割)提供了直观的模型,并且在近年来我们社区视觉感知系统所得的空前进步的中发挥了关键作用。训练后的模型可以部署在云端和移动设备上。[来自伯乐在线原网址:http://top.jobbole.com/38535/?utm_source=www.jobbole.com&utm_medium=sidebar-top-news]
Detectron的github主页:https://github.com/facebookresearch/Detectron
部署前注意:
目前detectron只支持gpu+linux 训练与推理
python版本为2.7
以下为部署步骤:
1. 显卡驱动 cuda cudnn安装
笔者的计算机硬件配置与显卡驱动,cuda,cudnn安装请看这里。
2. caffe2安装
请参见我的这篇博文。
3.detectron依赖项安装
Python 依赖项:
pip install numpy pyyaml matplotlib opencv-python>=3.0 setuptools Cython mock
COCO API 安装:
# COCOAPI=/path/to/clone/cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
# Install into global site-packages
make install
# Alternatively, if you do not have permissions or prefer
# not to install the COCO API into global site-packages
python2 setup.py install --user
4.detectron安装
Clone Detectron reposity:
git clone https://github.com/facebookresearch/detectron $DETECTRON
设置 Python 模块:
cd detectron/lib
sudo make
测试 Detectron 安装,如 SpatialNarrowAsOp test:
python2 $DETECTRON/tests/test_spatial_narrow_as_op.py
安装完成后,即可用提供的模型进行推理测试.
5. Detectron 测试
终端输入:
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
输出结果在 --output-dir /tmp/detectron-visualizations \
图像检测路径为detectron/demo
使用resnet101模型,检测方法为mask rcnn,这两个模型文件会自动从--wts参数下载到tmp路径下,大概700MB。
6. COCO Dataset训练
Detectron 通过软链接将 COCO 数据集的 images 和 annotations 链接到路径 lib/datasets/data,如:
ln -s /path/to/coco $DETECTRON/lib/datasets/data/coco
更多关于 COCO 数据集和其它数据集软链接创建方法参考:lib/datasets/data/README.md.
完成以后,即可进行模型训练.