深入浅出:mmdetection和mmyolo在ubuntu和windows系统下的安装指南

发布时间:2024年01月16日


一、前言

在当前的人工智能和计算机视觉领域,目标检测技术已成为一项核心技术,广泛应用于自动驾驶、视频监控、医学图像分析等多个领域。mmdetection和mmyolo是这一领域的两个重要工具,基于深度学习算法,提供了强大且灵活的目标检测功能。本博客旨在为对深度学习和目标检测感兴趣的读者提供一个关于如何在Windows和Ubuntu系统上安装和配置mmdetection和mmyolo的指南。无论是深度学习的研究人员、工程师,还是对AI技术有浓厚兴趣的学生,都可以从本文中获得有价值的信息。接下来,我们将详细介绍这两个工具的安装过程,包括所需的系统环境、步骤指南以及可能遇到的问题和解决方案。


二、安装mmdetection

首先进入mmdetection官方github。点击Readme.md中的installation链接。页面上有比较完整的安装指南。安装方法同时适用于windows系统和ubuntu系统。具体整理如下:

前期准备工作

  1. 下载安装Miniconda或者Anaconda
    这块比较简单,不详细介绍了。
  2. 创建conda环境并激活
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
  1. 安装pytorch和torchvision
    官网建议用conda安装,效果不好,用pytorch官网命令安装就好。
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

安装

  1. 使用MIM安装MMEngine和MMCV.
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"

注意:在 MMCV-v2.x 中,mmcv-full 已重命名为 mmcv,如果想安装不带 CUDA 操作的 mmcv,可以使用 mim install “mmcv-lite>=2.0.0rc1” 来安装 lite 版本。

  1. 安装MMDetection.
  • 如果需要在mmdetection直接进行开发,使用源码安装
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .
# -v表示详细或更多输出
# -e表示以可编辑模式安装项目,
# 因此,对代码所做的任何本地修改都将生效,无需重新安装。
  • 如果使用mmdet 作为依赖项或第三方包,使用 MIM 安装
mim install mmdet

验证

  1. 下载config文件预训练checkpoint文件.
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .

注意,要在根目录下运行

完成后,在当前文件夹中找到两个文件 rtmdet_tiny_8xb32-300e_coco.py 和 rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth。

1 验证推理案例

  • 验证源码安装情况
python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu

在 ./outputs/vis 文件夹中看到一个新图像 demo.jpg,其中在汽车、长凳等上绘制了边界框。
2. 验证MIM安装情况

from mmdet.apis import init_detector, inference_detector

config_file = 'rtmdet_tiny_8xb32-300e_coco.py'
checkpoint_file = 'rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth'
model = init_detector(config_file, checkpoint_file, device='cpu')  # or device='cuda:0'
inference_detector(model, 'demo/demo.jpg')

按照官方的说法,运行这个python脚本将会看到 DetDataSample 列表,预测位于 pred_instance 中,指示检测到的边界框、标签和分数。实际运行的情况有小错误,应该是版本的问题,具体待查。

三、安装mmyolo

首先进入mmdetection官方github。在Readme.md中的有比较完整的安装指南。不要像mmdetection一样点installation,那里面的有问题。安装方法同时适用于windows系统和ubuntu系统。具体整理如下:

前期准备工作

  1. 下载安装Miniconda或者Anaconda
    同mmdetectdion,不多介绍
  2. 创建conda环境并激活

注意在创建环境时指定特定的pytorch和torchvision版本,太新的可能不行。

conda create -n mmyolo python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
conda activate mmyolo

安装

  1. 使用MIM安装MMEngine和MMCV.
pip install openmim
mim install "mmengine>=0.6.0"
mim install "mmcv>=2.0.0rc4,<2.1.0"
mim install "mmdet>=3.0.0,<4.0.0"
  1. 安装MMYolo
  • 如果需要在mmyolo直接进行开发,使用源码安装
git clone https://github.com/open-mmlab/mmyolo.git
cd mmyolo
# Install albumentations
pip install -r requirements/albu.txt
# Install MMYOLO
mim install -v -e .
  • 如果使用mmyolo作为依赖项或第三方包,使用 MIM 安装
mim install mmyolo

验证

验证部分案例,来自mmyolo的installation

  1. 下载config文件预训练checkpoint文件.
mim download mmyolo --config yolov5_s-v61_syncbn_fast_8xb16-300e_coco --dest .

注意,要在根目录下运行

完成后,在当前文件夹中找到两个文件 rtmdet_tiny_8xb32-300e_coco.py 和 rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth。

1 验证推理案例

  • 验证源码安装情况
python demo/image_demo.py demo/demo.jpg \
                          yolov5_s-v61_syncbn_fast_8xb16-300e_coco.py \
                          yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth

在 ./outputs/vis 文件夹中看到一个新图像 demo.jpg,上面绘制了边界框。
2. 验证MIM安装情况

from mmdet.apis import init_detector, inference_detector

config_file = 'yolov5_s-v61_syncbn_fast_8xb16-300e_coco.py'
checkpoint_file = 'yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth'
model = init_detector(config_file, checkpoint_file, device='cpu')  # or device='cuda:0'
inference_detector(model, 'demo/demo.jpg')

这个就不作尝试,仅供参考。

四、总结

在本博客中,我们首先介绍了mmdetection和mmyolo的背景和主要应用领域,为读者提供了这两个流行的目标检测框架的概览。随后,我们详细讨论了在Windows和Ubuntu系统上安装mmdetection和mmyolo的过程,包括从源代码安装和使用pip安装两种方法。通过这些步骤,读者应该能够在自己的环境中顺利安装mmdetection和mmyolo。正确的安装确保了这些工具能够高效运行,从而使研究人员和开发者能够专注于模型的构建和优化,而不是环境配置的问题。希望本博客能够帮助对目标检测技术感兴趣的读者,无论是在学术研究还是工业应用中,都能有效地利用mmdetection和mmyolo这两个强大的工具。未来,我们还将继续探讨这些框架的高级用法和最佳实践,以进一步提升在目标检测领域的工作效率和效果。

文章来源:https://blog.csdn.net/m0_51661400/article/details/135630502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。