记录mmdetection的安装过程

  • Post author:
  • Post category:其他



mmdetection

是香港中文大学Multimedia Laboratory基于Pytorch开发的物体识别的工具箱。然后讲述一下具体的安装和使用过程防止遗忘。

我是使用

Docker

安装的,十分的方便。

docker build -t mmdetection docker/

然后记录一下关键的几个坑。



修改代码

可能你在安装之前会clone下来mmdetection,但是实际上mmdetection作为一个库被安装在了某个地方,就像numpy这些库一样。所以需要修改代码请找到库的安装位置并修改。



数据准备

准备数据的时候我是使用的

labelme

,然后将标注文件转换成VOC format. 具体的format如下。

mmdetection
├── mmdet
├── tools
├── configs
├── data
│   ├── VOCdevkit
│   │   ├── VOC2007
│   │   │   ├── Annotations
│   │   │   ├── JPEGImages
│   │   │   ├── ImageSets
│   │   │   │   ├── Main
│   │   │   │   │   ├── test.txt
│   │   │   │   │   ├── trainval.txt

但是 labelme转换出来并不是直接就符合这样的格式,因此需要通过下面的代码去进行创建ImageSets目录以及相关文件。

import os  
import random  

if __name__=="__main__":
  
    trainval_percent = 0.80  
    train_percent = 0.80  
    xmlfilepath = 'Annotations'  
    txtsavepath = 'ImageSets/Main'  
    total_xml = os.listdir(xmlfilepath)  
    if not os.path.exists(txtsavepath):
        os.makedirs(txtsavepath)
    
    num=len(total_xml)  
    list=range(num)  
    tv=int(num*trainval_percent)  
    tr=int(tv*train_percent)  
    trainval= random.sample(list,tv)  
    train=random.sample(trainval,tr)  
    
    ftrainval = open('ImageSets/Main/trainval.txt', 'w')  
    ftest = open('ImageSets/Main/test.txt', 'w')  
    ftrain = open('ImageSets/Main/train.txt', 'w')  
    fval = open('ImageSets/Main/val.txt', 'w')  
    
    for i  in list:  
        name=total_xml[i][:-4]+'\n'  
        if i in trainval:  
            ftrainval.write(name)  
            if i in train:  
                ftrain.write(name)  
            else:  
                fval.write(name)  
        else:  
            ftest.write(name)  
    
    ftrainval.close()  
    ftrain.close()  
    fval.close()  
    ftest .close()  



模型训练

模型训练前需要经过一定的修改,

  1. 需要将mmdet/datasets/voc.py里面的Classes 进行修改
  2. 接着需要对config files 进行修改,修改项是 Num classes, Path_root 以及其它相关参数
  3. 将mmdet/core/evaluation/class_name.py里面的classes修改,否则将显示VOC的classes name.

训练命令

python tools/train.py configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py --gpus 1 --work_dir work_dirs

进一步模型训练的命令,请参考

官方文档



版权声明:本文为weixin_38957591原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。