Facebook AI Research(FAIR)于今年1月中旬开放了他们的物体检测平台 - Detectron。它具有的独特功能是执行对象分割的能力。它使对象检测更进一步,而不是仅仅在图像周围绘制一个边界框,它实际上可以绘制一个包含该对象的非线性边界。Detectron由Caffe2深度学习框架提供支持,用Python编写。
Detectron平台包括以下算法的实现:
Mask R-CNN
RetinaNet
Faster R-CNN
RPN
Fast R-CNN
R-FCN
Detectron平台可用于开箱即用的一般物体检测。通过稍微修改训练和推理文件,它也可以在您自己的数据集上进行训练。安装:detectron平台目前没有CPU实现,需要GPU。
安装Caffe2并支持CUDA。如果已安装Caffe2,请确保将其更新为包含Detectron模块的版本。
安装Python依赖项和COCO API:
pip install numpy>=1.13 pyyaml>=3.12 matplotlib opencv-python>=3.2 setuptools Cython mock scipy
# 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
python setup.py install --user克隆Detectron存储库并设置Python模块:
# DETECTRON=/path/to/clone/detectron
git clone https://github.com/facebookresearch/detectron $DETECTRON
cd $DETECTRON/lib && make检查Detectron测试是否通过:python2 $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py入门
使用预先训练的模型推断:
我们可以在图像文件或单个文件的目录上运行推理。我们将使用该infer_simple.py模块。在这个例子中,我们使用端到端训练的Mask R-CNN模型和来自model zoo的ResNet-101-FPN backbone 。您可以将实验图像存储在名为input的文件夹中并运行:
python2 tools/infer_simple.py \
--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \
--output-dir /inference/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 \
input/
Detectron将自动从--wts参数指定的URL下载模型。此工具将在指定的目录中输出PDF格式的检测的可视化--output-dir。
训练自己的模型:
这个小小的教程向您展示了如何在COCO上训练模型。该模型将是使用ResNet-50-FPN backbone的端到端训练的Faster R-CNN。对于本教程,我们将使用较短的训练计划和较小的输入图像大小,以便训练和推理相对较快。
python2 tools/train_net.py \
--cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml \
OUTPUT_DIR /path/to/output
输出(models, validation set detections, etc.)将保存在OUTPUT_DIR下。类似地,可以执行多GPU的训练,仅添加一个--multi-gpu-testing标志,指示Detectron在多个GPU上并行推断。
留言与评论(共有 0 条评论) |