MMTracking项目安装指南:从环境配置到验证测试
前言
MMTracking是OpenMMLab生态中专注于视频目标跟踪与检测的开源工具箱,基于PyTorch框架开发。本文将详细介绍如何从零开始搭建MMTracking开发环境,包括硬件要求、软件依赖、安装步骤以及验证方法。
系统要求
在开始安装前,请确保您的系统满足以下基本要求:
操作系统:
- Linux (推荐Ubuntu 16.04或更高版本)
- macOS
- Windows (部分功能可能受限)
硬件要求:
- NVIDIA显卡 (建议显存≥4GB)
- CUDA计算能力≥3.5
软件依赖:
- Python 3.6+
- PyTorch 1.3+
- CUDA 9.2+ (如果从源码编译PyTorch,CUDA 9.0也可兼容)
- GCC 5+
- MMCV (计算机视觉基础库)
- MMDetection (目标检测基础库)
版本兼容性
MMTracking与MMCV、MMDetection存在严格的版本依赖关系,错误的版本组合可能导致运行异常。以下是主要版本的兼容性对照表:
| MMTracking版本 | 所需MMCV版本 | 所需MMDetection版本 | |---------------|--------------------|---------------------| | master分支 | mmcv-full≥1.3.17, <2.0.0 | ≥2.19.1, <3.0.0 | | 0.14.0 | mmcv-full≥1.3.17, <2.0.0 | ≥2.19.1, <3.0.0 | | 0.13.0 | mmcv-full≥1.3.17, <1.6.0 | ≥2.19.1, <3.0.0 | | ... | ... | ... |
建议根据实际需求选择稳定的版本组合,避免使用不兼容的版本。
详细安装步骤
1. 创建并激活conda环境
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
2. 安装PyTorch和torchvision
根据官方文档安装与CUDA版本匹配的PyTorch:
# 示例:CUDA 10.1环境
conda install pytorch==1.5 cudatoolkit=10.1 torchvision -c pytorch
重要提示:确保编译CUDA版本与运行时CUDA版本一致,可通过nvcc --version
和torch.version.cuda
命令验证。
3. 安装VOT评估工具(可选)
如需进行VOT Challenge评估,建议先安装vot-toolkit以避免潜在的numpy版本冲突:
pip install vot-toolkit
4. 安装MMCV-full
推荐使用预编译包安装:
# 格式:pip install mmcv-full -f {CUDA版本}/{PyTorch版本}/index.html
pip install mmcv-full -f cu102/torch1.10/index.html
版本说明:MMCV-full通常基于PyTorch 1.x.0编译,但一般兼容1.x.1版本。
5. 安装MMDetection
使用pip直接安装:
pip install mmdet
如需自定义修改,可从源码安装:
git clone mmdetection仓库
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e .
6. 安装MMTracking
克隆仓库并安装:
git clone mmtracking仓库
cd mmtracking
pip install -r requirements/build.txt
pip install -v -e .
7. 安装额外评估依赖
根据需求选择安装:
- MOTChallenge评估:
pip install TrackEval
- LVIS评估:
pip install lvis-api
- TAO评估:
pip install tao
一键安装脚本
以下是为CUDA 10.1环境准备的一键安装脚本:
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -y
pip install vot-toolkit # 可选
pip install mmcv-full -f cu101/torch1.6.0/index.html
pip install mmdet
git clone mmtracking仓库
cd mmtracking
pip install -r requirements/build.txt
pip install -v -e .
pip install TrackEval lvis-api tao
环境验证
安装完成后,可通过运行示例脚本验证安装是否成功:
- MOT任务验证:
python demo/demo_mot_vis.py configs/mot/deepsort/sort_faster-rcnn_fpn_4e_mot17-private.py --input demo/demo.mp4 --output mot.mp4
- 视频目标检测(VID)验证:
python demo/demo_vid_vis.py configs/vid/fgfa/fgfa_faster_rcnn_r50_dc5_1x_imagenetvid.py --input demo/demo.mp4 --output vid.mp4
- 单目标跟踪(SOT)验证:
python demo/demo_sot_vis.py configs/sot/siamese_rpn/siamese_rpn_r50_20e_lasot.py --input demo/demo.mp4 --output sot.mp4
成功运行后将生成对应的结果视频文件。
常见问题解答
Q1: 安装过程中出现版本冲突错误怎么办? A1: 仔细检查MMTracking、MMCV和MMDetection的版本兼容性表,确保使用推荐的版本组合。
Q2: 如何在不同版本的MMTracking间切换? A2: 训练和测试脚本会自动修改PYTHONPATH以使用当前目录的代码。如需使用环境中的默认版本,可移除脚本中的PYTHONPATH修改语句。
Q3: 为什么推荐使用mmcv-full而不是mmcv? A3: mmcv-full包含所有CUDA算子,支持完整的MMTracking功能,而mmcv是纯CPU版本,功能有限。
通过以上步骤,您应该已经成功搭建了MMTracking的开发环境。接下来可以开始探索视频目标跟踪与检测的各种算法和应用场景。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考