MMdetection 介绍
MMdetection 是商汤科技和香港中文大学开源的一个基于 Pytorch
实现的深度学习目标检测工具箱,支持 Faster-RCNN,Mask-RCNN,Fast-RCNN
等主流的目标检测框架,现在又加入 Cascade-RCNN、SSD 以及其他一系列目标检测框架。
基本的系统环境
ubuntu 18.04
Cuda 9.0 + Cudnn 7.0.5
Python3.6
可以选择 conda 或 pip3 安装,我个人习惯 pip3 安装
sudo apt-get install pip3
Pytorch 环境安装,依赖 torch 1.1 版本或更高
pip3 install torch==1.1
pip3 install torchvision
可能会包含一些需要的以来包,自行安装,如果基于 conda 基本的包都集成安装, 例如
pip3 install h5py
...
安装 cpython
pip3 install Cython
安装 mmcv
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install .
使用 mmdetection 训练自己的 VOC 数据
目录结构
mmdetection
├── mmdet
├── tools
├── configs
├── data #手动创建data、VOCdevkit、VOC2007、Annotations、JPEGImages、ImageSets、Main这些文件夹
│ ├── VOCdevkit
│ │ ├── VOC2007
│ │ │ ├── Annotations #把test.txt、trainval.txt对应的xml文件放在这
│ │ │ ├── JPEGImages #把test.txt、trainval.txt对应的图片放在这
│ │ │ ├── ImageSets
│ │ │ │ ├── Main
│ │ │ │ │ ├── test.txt
│ │ │ │ │ ├── trainval.txt
修改 class_names.py
修改 /mmdetection/mmdet/core/evaluation/class_names.py 中的 voc_classes,
将其改为要训练的数据集的类别名称。
修改 voc.py
修改mmdetection/mmdet/datasets/voc.py 下的类别,如果只有一个类,要加上一个逗号,否则将会报错
修改配置文件
修改 /mmdetection/configs/ 目录下的配置文件,这里比较多,以其中一个为例
cascade_rcnn_r50_fpn_1x.py, 修改 num_classes, 修改 data_type, data_root,
imgs_per_gpu = 1, 训练的图像路径等,可详细参考下面的网址
http://www.freesion.com/article/5564134964/#1__51
修改 mmdet/datasets/loader/build_loader.py
修改 batch_size
训练
python3 tools/train.py configs/cascade_rcnn_r50_fpn_1x.py