如何用Facebook的免费平台Detectron进行物体检测?

用 Facebook 的 Detectron 平台该怎么检测物体呢?python

今年 1 月份,Facebook 对外开源了旗下物体检测平台 Detectron,其基于一个深度学习框架,目前支持大量的机器学习算法。它的开源意味着 Facebook 人工智能实验室在物体检测领域使用的软件,像咱们这些普通开发者也能用了,也为咱们提供了 TensorFlow 以外的另外一款强大工具。Detectron 的其中一个先进功能就是物体掩蔽(object masking),它比物体检测更进一步,再也不是围绕图像画出一个简单的边界框,而是画出一个复杂的多边形,好比下图检测“卡戴珊姐妹”的效果:git

下面就为你们展现如何使用 Detectron 执行物体检测任务。github

安装 Caffe2算法

第一步就是先安装Caffe2:api

git clone --recursive https://github.com/caffe2/caffe2.git &&cdcaffe2make&&cdbuild && sudomakeinstallpython-c'from caffe2.python import core'2>/dev/null &&echo"Success"||echo"Failure"框架

注:要有英伟达 GPU 和 CUDA,才能使用 Detectron。dom

安装 COCO API机器学习

git clone https://github.com/cocodataset/cocoapi.gitcdcocoapi/PythonAPImakeinstall工具

克隆仓库学习

成功安装 Caffe2 后,须要克隆 Detectron 的仓库 :

git clone https://github.com/facebookresearch/Detectron.git &&cdDetectron

安装所需的依赖:

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

建立 Python 模块:

cdlib &&make&&cd..

建立推断(inference)

如今咱们只需使用以下命令,对仓库中的 demo 照片进行物体检测:

python tools/infer_simple.py \

--cfg configs/12_2017_baselines/e2e_mask_rcnn_R-101-FPN_2x.yaml \

--output-dir demo/output \--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

而后你就能在 Detectron/demo/output 目录下发现一张 PDF 格式的照片输出。

若是想测试你本身的照片,只需往 Detectron/demo 目录中添加 JPG 文件。最好让照片像素在 600-800px 之间,这样效果最佳。

总的来看,Detectron 对通常物体无论是进行检测仍是掩蔽,都有不错的表现。若是你想玩转除了 TensorFlow 以外的其它物体检测平台,不妨试试 Detectron。

相关文章
相关标签/搜索