maskrcnn训练⾃⼰的数据集_深度学习⽬标检测⼯具箱
python入门教程网盘mmdetection,训练⾃⼰的。。。
⼀、简介
商汤科技(2018 COCO ⽬标检测挑战赛冠军)和⾹港中⽂⼤学最近开源了⼀个基于Pytorch实现的深度学习⽬标检测⼯具箱mmdetection,⽀持Faster-RCNN,Mask-RCNN,Fast-RCNN等主流的⽬标检测框架,后续会加⼊Cascade-RCNN以及其他⼀系列⽬标检测框架。vector方法
相⽐于Facebook开源的Detectron框架,作者声称mmdetection有三点优势:performance稍⾼、训练速度稍快、所需显存稍⼩。
在哪个网站可以免费做广告我很早就听说了这个⼯具箱,但是⼀直没有开源。现在总算是开源了,于是就迫不及待地测试⼀下这个框架的效果。下⾯将记录⼀下我的测试过程,已经期间所遇到的⼀些坑。
2019.05.26更新了⽹盘⾥的demo.py⽂件,现在的demo应该可以匹配官⽅的最新代码了。
2019.02.22上传多个mmdetection模型,检测器包括Faster-RCNN、Mask-RCNN、RetinaNet,backbone包括Resnet-50、Resnet-101、ResNext-101,⽹盘链接:mmdetection(密码:dpyl)
⼆、安装教程
本⼈的系统环境:
Ubuntu 16.04
Cuda 9.0 + Cudnn 7.0.5
Python 3.6 (mmdetection要求Python版本需要3.4+)
Anaconda 3 (可选)
这⾥推荐⼤家使⽤Anaconda,可以⽐较⽅便的创建Python虚拟环境,避免不同的Python库之间产⽣冲突。在安装mmdetection之前,需要安装以下⼏个依赖库:
PyTorch 1.1 (Pytorch 0.4.1的版本需要切换branch,在clone了mmdetection的git之后需要git checkout pytorch-0.4.1) Cython
mmcv
下⾯是我的安装和测试步骤,以Anaconda 3为例。
1. 使⽤conda创建Python虚拟环境(可选)
conda create -n mmdetection python=3.6
source activate mmdetection
这样就创建了名为mmdetection的Python3.6环境,并且在terminal中激活。如果不需要虚拟环境,则将下⽂的conda install改为pip install
benevolent2. 安装PyTorch 1.1
conda install pytorch=1.1 -c pytorch
安装好以后,进⼊Python环境,输⼊以下代码测试是否安装成功,不报错则说明安装成功
import torch
3. 安装Cython
conda install cython
4. 安装mmcv
git clone github/open-mmlab/mmcv.git
cd mmcv
pip install .
注意pip install 后⾯有个点,别漏了
5. 安装mmdetection
git clone github/open-mmlab/mmdetection.git
activitiesandjustification什么意思cd mmdetection
./compile.sh
python setup.py install
到此,我们就完成了mmdetection及其依赖库的安装
6. 测试Demo 将下⽅的代码写⼊py⽂件,并存放到mmdetection⽂件夹⽬录下,然后运⾏。该代码的功能是检测图⽚中的⽬标,测试模型是官⽅给出的Faster-RCNN-fpn-resnet50的模型,运⾏代码会⾃动下载模型。由于模型是存储在亚马逊云服务器上,速度可能会稍慢,如果下载失败可以通过我的⽹盘链接mmdetection(密码:dpyl)进⾏下载,存放到mmdetection⽂件夹⽬录下,然后修改下⽅代码的相关部分
from
### 7. 准备⾃⼰的数据 mmdetection⽀持coco格式和voc格式的数据集,下⾯将分别介绍这两种数据集的使⽤⽅式 - coco数据集 官⽅推荐coco数据集按照以下的⽬录形式存储,以coco2017数据集为例
mmdetection
├── mmdet
├── tools
├── configs
├── data
│├── coco
││├── annotations
││├── train2017
││├── val2017
││├── test2017
mvc模型主要负责推荐以软连接的⽅式创建data⽂件夹,下⾯是创建软连接的步骤
cd mmdetection
mkdir data
ln -s $COCO_ROOT data
其中,$COCO_ROOT需改为你的coco数据集根⽬录 - voc数据集 与coco数据集类似,将voc数据集按照以下的⽬录形式存储,以
VOC2007为例
mmdetection
├── mmdet
├── tools
├── configs
├── data
│├── VOCdevkit
││├── VOC2007
│││├── Annotations
│││├── JPEGImages
│││├── ImageSets
││││├── Main
│││││├──
│││││├──
同样推荐以软连接的⽅式创建
cd mmdetection
mkdir data
ln -s $VOC2007_ROOT data/VOCdevkit
其中,$VOC2007_ROOT需改为你的VOC2007数据集根⽬录
如果需要标注⾃⼰的数据,推荐使⽤LabelImg⼯具标注,然后需要修改mmdet/datasets/voc.py⽂件中的CLASSES为你⾃⼰的类别
### 8. 训练
官⽅推荐使⽤分布式的训练⽅式,这样速度更快,如果是coco训练集,修改CONFIG_FILE中的pretrained参数,改为你的模型路径,然后运⾏下⽅代码
./tools/dist_train.sh <CONFIG_FILE> <GPU_NUM> [optional arguments]
mmdetection官⽅代码已更新,⽬前已⽀持voc格式的数据集,不再需要⾃⼰修改
如果不想采⽤分布式的训练⽅式,或者你只有⼀块显卡,则运⾏下⽅的代码
python tools/train.py <CONFIG_FILE> --gpus <GPU_NUM> --work_dir <WORK_DIR>
⾄此,如果⼀切顺利的话,你的模型应该就开始训练了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论