- MMDetection V3x 的框架概述
MMDetection 是一个目标检测工具箱,包含丰富的目标检测、实例分割、全景分割方法以及相关的组件和模块,下面是它的整体框架:
MMDetection由7个主要部分组成,api、结构、数据集、模型、引擎、评估和可视化(apis, structures, datasets, models, engine, evaluation and visualization)
apis为模型推理提供高级 API。
structures提供数据结构,如 bbox、mask 和 DetDataSample。
数据集支持用于对象检测、实例分割和全景分割的各种数据集。
transforms包含很多有用的数据增强转换。
采样器定义了不同的数据加载器采样策略。
模型是检测器最重要的部分,包含检测器的不同组件。
detectors定义了所有的检测模型类。
data_preprocessors用于预处理模型的输入数据。
backbones包含各种骨干网络。
necks包含各种颈部组件。
dense_heads包含执行密集预测的各种检测头。
roi_heads包含从 RoI 预测的各种检测头。
seg_heads包含各种分段头。
losses包含各种损失函数。
task_modules提供检测任务的模块。例如分配器、采样器、框编码器和先验生成器。
layers提供了一些基本的神经网络层。
引擎是运行时组件的一部分。
runner为MMEngine 的runner提供扩展。
schedulers提供用于调整优化超参数的调度程序。
optimizers提供优化器和优化器包装器。
hooks提供跑步者的各种钩子。
evaluation为评估模型性能提供了不同的指标。
可视化用于可视化检测结果。
- MMDetection V3x 环境搭建
Step 1.创建conda虚拟环境并激活。
conda create -n mmdetection python=3.7 -y #创建环境
conda activate mmdetection #激活环境
Step 2.安装 PyTorch ,例如
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch #安装 PyTorch and torchvision (官方)
#如果网不好,可以这样安装
pip3 install torch==1.8.2+cu102 torchvision==0.9.2+cu102 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#验证是否安装成功
>>> import torchvision
>>> import torch
>>> import.__version__
File "<stdin>", line 1
import.__version__
^
SyntaxError: invalid syntax
>>> torch.__version__
'1.8.2+cu102'
Step 3.使用MIM安装MMEngine和MMCV。
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0rc1"
注意:在 MMCV-v2.x 中,mmcv-full重命名为mmcv,如果你想安装mmcv没有 CUDA ops,你可以使用安装精简版。mim install "mmcv-lite>=2.0.0rc1"
Step 4.安装 MMDetection
#从源码安装:
git clone https://github.com/open-mmlab/mmdetection.git -b 3.x
# "-b 3.x" means checkout to the `3.x` branch.
cd mmdetection
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without reinstallation.
Step 5.验证安装
Step 1.我们需要下载配置文件和检查点文件
mim download mmdet --config yolov3_mobilenetv2_8xb24-320-300e_coco --dest .
Step 2.验证推理演示
python demo/image_demo.py demo/demo.jpg yolov3_mobilenetv2_8xb24-320-300e_coco.py yolov3_mobilenetv2_320_300e_coco_20210719_215349-d18dff72.pth --device cpu --out-file result.jpg