mmtracking使用指南

Introduction

mmtracking是基于pytorch的综合感知工具箱,可以用来完成视频目标检测、单目标/多目标跟踪,视频分割等任务。
官方网址:mmtracking-dev-1.x

Installation

电脑配置:cuda 11.1 + NVIDIA V100
mmtraking版本:dev-1.x(从github上dev-1.x branch下载)
官方安装教程
实测有效指令:

conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install mmengine==0.1.0
pip install mmcv==2.0.0rc1 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9/index.html
pip install mmdet==3.0.0rc0
cd .\Desktop\mmtracking-1.x
pip install -r requirements/build.txt
pip install -v -e .
pip install git+https://github.com/JonathonLuiten/TrackEval.git
pip uninstall mmcls
pip install mmcls==1.0.0rc0
python demo/demo_mot_vis.py configs/mot/deepsort/deepsort_faster-rcnn_r50_fpn_8xb2-4e_mot17halftrain_test-mot17halfval.py --input demo/demo.mp4 --output mot.mp4

注意事项:

  1. 不同mmcv版本对cuda和torch版本有不同要求,请参考官方文档
  2. 按照官网代码安装后mmcls可能版本过高,需要卸载后安装1.0.0rc0版本
  3. mot evaluate工具需要从github上面git代码,有可能要配置全局代理。参考指令:git config --global http.proxy 127.0.0.1:xxx(代理端口)
  4. 官网代码demo指令中文件名错误需要更改

Train a new detector on custom dataset

官方教程

  1. 准备数据集:mmtracking仅支持coco格式的数据集,所以需要把自己的数据集标注形式改为coco格式,在./tools/dataset_converters/文件夹下官方已经提供了一些其他数据集转换为coco格式的代码。处理好后的数据集应该是如下格式:
|——dataset
|        |——annotations
|                 |——annotations.json(coco格式)
|        |——images
|				 |——001.jpg
|                ...
|                |——xxx.jpg
  1. 修改配置文件
    查询配置文件的命令:
python ./tools/misc/print_config.py ./configs/det/xxx.py(配置文件名)

mmtrakcing的配置文件逻辑:在./configs/文件夹下包括不同部分的配置文件,例如在./configs/det/文件夹下是检测器的配置文件,而在./configs/tracktor/文件夹下是跟踪算法的配置文件。所有的配置文件可以采用继承的方法继承其他配置文件的配置,继承方法是在py文件中加入

_base_=['./configs/xxx']

例如上述代码表示该文件继承./configs/_base_文件夹。官方教程给出了配置文件的命名规则。建议在det/文件夹下新建自己的配置文件,继承原有的配置文件后修改。
3. 训练代码
注意:官方给出的代码部分调用的模块已经不能使用,例如set_random_seed方法已经移到mmengine中。

import os.path as osp
import mmengine
from mmengine.runner import set_random_seed, Runner
from mmengine.utils import mkdir_or_exist

cfg = mmengine.Config.fromfile('./configs/det/xxx.py')  #配置文件路径
#修改配置
cfg.data_root = 'data/xxx'  #数据集路径
cfg.train_dataloader.batch_size = 1
cfg.train_dataloader.dataset.data_root = 'data/xxx/'
cfg.train_dataloader.dataset.ann_file = 'annotations/xxx.json' #标注文件路径
cfg.train_dataloader.dataset.data_prefix = dict(img='images/') #图片数据文件夹名称
cfg.train_dataloader.dataset.metainfo = dict(CLASSES=('’,)) #数据集类别
cfg.test_dataloader = cfg.test_cfg = cfg.test_evaluator = None
cfg.model.roi_head.bbox_head.num_classes = 7 #根据自己的数据集修改
cfg.val_dataloader = cfg.val_cfg = cfg.val_evaluator = None
cfg.visualizer.name = 'mot_visualizer'
cfg.work_dir = './trainMyDetector'  #训练结果保存的位置
cfg.randomness = dict(seed=0, deterministic=False)
cfg.gpu_ids = range(1)
print(f'Config:\n{cfg.pretty_text}')  #打印最终的配置文件

mkdir_or_exist(osp.abspath(cfg.work_dir))
runner = Runner.from_cfg(cfg)
runner.train()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值