论文下载地址:点击这里
商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学最近开源了一个基于Pytorch实现的深度学习目标检测工具箱mmdetection,支持Faster-RCNN,Mask-RCNN,Fast-RCNN等主流的目标检测框架,后续会加入Cascade-RCNN以及其他一系列目标检测框架。
相比于Facebook开源的Detectron框架,作者声称mmdetection有三点优势:performance稍高、训练速度稍快、所需显存稍小。
安装mmdetection
- Linux(不正式支持Windows)
- Python 3.5或以上版本
- PyTorch 1.1或更高版本
- CUDA 9.0或更高
- NCCL 2
- GCC 4.9或更高
- mmcv
已经测试了以下版本的操作系统和软件:
- 操作系统:Ubuntu 16.04 / 18.04 and CentOS 7.2
- CUDA:9.0 / 9.2 / 10.0 / 10.1
- NCCL:2.1.15 / 2.2.13 / 2.3.7 / 2.4.2
- GCC(G ++):4.9 / 5.3 / 5.4 / 7.3
安装mmdetection
1. 创建一个conda虚拟环境并激活它
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
2. 按照官方说明安装PyTorch和Torchvision,例如:
conda install pytorch torchvision -c pytorch
3. 克隆mmdetection存储库
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
4. 安装mmdetection(其他依赖库将自动安装)
pip install mmcv
python setup.py develop # or "pip install -v -e ."
注意:
- git commit id将在步骤d中写入版本号,例如0.6.0 + 2e7045c。该版本还将保存在经过训练的模型中。建议您每次从github提取一些更新时都运行步骤d。如果修改了C ++ / CUDA代码,则此步骤为强制性的。
- 按照上述说明,mmdetection将安装在
dev
模式下,对代码进行的任何本地修改都将生效,而无需重新安装它(除非您提交了一些提交并希望更新版本号)。 - 如果要使用
opencv-python-headless
而不是opencv-python
,可以在安装MMCV之前先安装它。
另一种安装方式:Docker
我们提供了一个Dockerfile来构建映像:
# build an image with PyTorch 1.1, CUDA 10.0 and CUDNN 7.5
docker build -t mmdetection docker/
准备数据集
建议将数据集根符号链接到$MMDETECTION/data
。如果您的文件夹结构不同,则可能需要更改配置文件中的相应路径。
mmdetection
├── mmdet
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── annotations
│ │ ├── train2017
│ │ ├── val2017
│ │ ├── test2017
│ ├── cityscapes
│ │ ├── annotations
│ │ ├── train
│ │ ├── val
│ ├── VOCdevkit
│ │ ├── VOC2007
│ │ ├── VOC2012
必须使用城市景观脚本工具箱将城市景观注释转换为COCO格式。我们计划提供一个易于使用的转换脚本。目前,我们建议您遵循maskrcnn-benchmark工具箱中提供的说明。使用此脚本时,所有图像都必须移到同一文件夹中。在linux系统上,例如,可以使用以下方法对训练图像进行处理:
cd data/cityscapes/
mv train/*/* train/
从零开始的安装脚本
这是一个完整的脚本,用于使用conda设置mmdetection并链接数据集路径。
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlabconda install -c pytorch pytorch torchvision -y
conda install cython -y
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .mkdir data
ln -s $COCO_ROOT data
参考
https://mmdetection.readthedocs.io/en/latest/INSTALL.html#install-mmdetection