用 Facebook 的 Detectron 平台该怎么检测物体呢?
今年 1 月份,Facebook 对外开源了旗下物体检测平台 Detectron,其基于一个深度学习框架,目前支持大量的机器学习算法。它的开源意味着 Facebook 人工智能实验室在物体检测领域使用的软件,像我们这些普通开发者也能用了,也为我们提供了 TensorFlow 之外的另一款强大工具。Detectron 的其中一个先进功能就是物体掩蔽(object masking),它比物体检测更进一步,不再是围绕图像画出一个简单的边界框,而是画出一个复杂的多边形,比如下图检测“卡戴珊姐妹”的效果:
下面就为大家展示如何使用 Detectron 执行物体检测任务。
安装 Caffe2
第一步就是先安装Caffe2:
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。
安装 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。
网友评论