检测器 - PyTorch的检测器
(免责声明:这项工作正在进行中,并不具备检测器的所有功能。目前仅支持推理和评估 - 无需培训)(新闻:现在支持FPN和ResNet-101!)
此代码允许使用一些Detectron模型通过PyTorch从Facebook AI Research进行对象检测。
它目前支持:
它支持带或不带FPN的ResNet-50/101型号。来自caffe2的预训练模型可以导入并在PyTorch上使用。
示例使用ResNet-101和FPN屏蔽R-CNN。
评估
边界框评估和实例分割评估都经过测试,产生与Detectron caffe2模型相同的结果。下面的这些结果是使用PyTorch代码计算的:
| 型号| 盒子AP | 掩膜AP | 型号id | --- | --- | --- | --- | | fast_rcnn_R-50-C4_2x | 35.6 | | 36224046 | | fast_rcnn_R-50-FPN_2x | 36.8 | | 36225249 | | e2e_faster_rcnn_R-50-C4_2x | 36.5 | | 35857281 | | e2e_faster_rcnn_R-50-FPN_2x | 37.9 | | 35857389 | | e2e_mask_rcnn_R-50-C4_2x | 37.8 | 32.8 | 35858828 | | e2e_mask_rcnn_R-50-FPN_2x | 38.6 | 34.5 | 35859007 | | e2e_mask_rcnn_R-101-FPN_2x | 40.9 | 36.4 | 35861858 |
训练
培训代码是实验性的。请参阅train_fast.py
快速R-CNN培训。它似乎工作,但很慢。
安装
首先,克隆repo,git clone --recursive https://github.com/ignacio-rocco/detectorch
以便您也克隆Coco API。
该代码可以与Python 3下的PyTorch 0.3.1或PyTorch 0.4(master)一起使用。建议使用Anaconda。其他所需的包裹
火炬(conda install torchvision -c soumith
)
opencv(conda install -c conda-forge opencv
)
cython(conda install cython
)
matplotlib(conda install matplotlib
)
scikit-image(conda install scikit-image
)
忍者(conda install ninja
)(仅限Pytorch 0.4)
此外,您需要构建Coco API和RoIAlign层。见下文。
编译Coco API
如果你克隆了这个回购,git clone --recursive
你应该也克隆了cocoapi lib/cocoapi
。用以下内容编译:
cd lib/cocoapi/PythonAPImake install
编译RoIAlign
RoIAlign图层是从caffe2版本转换而来的。每个PyTorch版本有两种不同的实现:
cd lib/cppcuda_cffi./make.sh
快速开始
检查演示笔记本。