用 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。