【mmdetection小目标检测教程】四、修改配置文件,训练专属于你的目标检测模型

这篇具有很好参考价值的文章主要介绍了【mmdetection小目标检测教程】四、修改配置文件,训练专属于你的目标检测模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在前面我们已经搭建了环境、完成了高分辨率图片切分成小图,本文将介绍如何使用mmdetection配置文件训练检测模型


mmdetection小目标检测系列教程:
一、openmmlab基础环境搭建(含mmcv、mmengine、mmdet的安装)
二、labelimg标注文件voc格式转coco格式
三、使用sahi库切分高分辨率图片,一键生成coco格式数据集
四、修改配置文件,训练专属于你的目标检测模型
五、使用mmdet和mmcv的api进行图像/视频推理预测,含异步推理工作

1.数据准备

首先先确保数据已经准确就绪,数据集结构如下:

.
├── ./CITATION.cff
├── ./configs
├── ./data
│   ├── ./data/slice
│   │   ├── ./data/slice/annotations
│   │   ├── ./data/slice/annotations
│   │   │   ├── ./data/slice/annotations/instances_train2017.json
│   │   │   └── ./data/slice/annotations/instances_val2017.json
│   │   ├── ./data/slice/train2017
│   │   │   ├── ./data/slice/train2017/1.jpg
│   │   │   ├── ./data/slice/train2017/2.jpg
│   │   └── ./data/slice/val2017
│   │   │   ├── ./data/slice/val2017/1.jpg
│   │   │   ├── ./data/slice/val2017/2.jpg
├── ./demo
├── ./docker
├── ./docs
├── ./LICENSE
├── ./MANIFEST.in
├── ./mmdet
├── ./mmdet.egg-info
├── ./model-index.yml
├── ./projects
├── ./pytest.ini
├── ./README.md
├── ./README_zh-CN.md
├── ./requirements
├── ./requirements.txt
├── ./resources
├── ./setup.cfg
├── ./setup.py
├── ./tests
├── ./tools

2.修改类别

在mmdetection中,一共需要修改两处类别,分别是mmdet/datasets/coco.pymmdet/evaluation/functional/class_names.py

(1)第一处修改

进入mmdet/datasets/coco.py,找到15行的METAINFO,将其注释掉,并且新增为自己的类别,替换为下面的代码;我这里是四个类,分别是(‘1’, ‘5’, ‘12’, ‘16’),并且需要将下面的’palette’也进行适当的修改,这个是不同类别框的颜色,只要保持数量和类别数量一致即可

    METAINFO = {
        'classes':
            ('1', '5', '12', '16'),
        # palette is a list of color tuples, which is used for visualization.
        'palette':
            [(220, 20, 60), (119, 11, 32), (0, 0, 142), (0, 0, 230), ]
    }

替换后截图
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉

(2)第二处修改

进入mmdet/evaluation/functional/class_names.py,找到69行的coco_classes,将其注释掉,将下面的代码进行替换

def coco_classes():
    return [
        '1', '5', '12', '16'
    ]

替换后截图
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉

3.修改config文件

mmdetection提供了非常丰富的目标检测算法,算法列表如下,算法详情可以去mmdetection的github查看:mmdetection的github链接

在开始算法配置之前,首先需要明确我们即将要使用哪一种算法,我这里以yolox为例进行配置;进入config/yolox文件夹,里面有一个metafile.yaml的文件,这个就是不同深度网络的简介,包括训练显存占用、训练轮次、使用的数据集、最终的准确率、权重文件等,更方面进行精度复现;其次是README.md和各种不同深度的网络配置

mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
这里我选择yolox_l为例

(1)总包

首先我们进入yolox_l_8xb8-300e_coco.py这个文件,这个文件的第一行指向了我们接下来要去的路——同级目录下的yolox_s_8xb8-300e_coco.py,mmdetection中所有的配置文件均采用继承的方法进行,因此找到第一行就知道接下去去哪些文件进行配置了;下面几行不需要修改
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉

(2)分包1

接着我们进入yolox_s_8xb8-300e_coco.py文件,第一行指向的是上层目录下的__base__文件下的两个子文件,一会我们再去找
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
找到第39行,这里我们需要将num_classes修改为自己的类别数量,我这里是4
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
接着我们需要修改数据集的根目录,在70行的位置进行修改
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
在117行和118行需要修改训练集的标注文件路径和图像文件路径
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
在141行和147行需要修改batch_size,在155行和156行修改验证集的标注文件路径和图像文件路径
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
在176行需要修改自己的学习率,可以根据线性缩放原则进行修改:按照公式 lr_new = lr_default * (batch_size_new * GPU_number_new) / (batch_size_default * GPU_number_default) 调整学习率
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
至此,这个文件的修改已经基本完成了

(3)分包2

进入上层目录的__base__/schedules/schedule_1x.py文件进行修改(一般在文件最前),这个文件基本不需要作太多的修改,可以根据自己情况修改一些参数
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉

(4)分包3

进入上层目录的__base__/default_runtime.py文件进行修改,这个文件也是根据自身情况进行适当修改
mmdetection修改模型,mmdetection小目标检测,目标检测,深度学习,计算机视觉
至此,配置文件的修改已经基本结束了

4.训练模型

(1)单卡训练

打开终端,输入下述命令开始训练

python tools/train.py configs/yolox/yolox_l_8xb8-300e_coco.py --auto-scale-lr --work-dir work_dirs/yolox_l --amp

其中,第一个参数就是总包py文件,--auto-scale-lr是学习率自适应,--work-dir指定存放checkpoint和log文件的位置,--amp使用自动精度训练,避免显存溢出

(2)多卡训练

打开终端,输入下述命令开始训练

./dist_train.sh configs/yolox/yolox_l_8xb8-300e_coco.py 2

其中,第一个参数仍是总包py文件,第二个参数是使用的gpu块数文章来源地址https://www.toymoban.com/news/detail-543219.html

到了这里,关于【mmdetection小目标检测教程】四、修改配置文件,训练专属于你的目标检测模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用MMDetection进行目标检测、实例和全景分割

    MMDetection 是一个基于 PyTorch 的目标检测开源工具箱,它是 OpenMMLab 项目的一部分。包含以下主要特性: 支持三个任务 目标检测(Object Detection)是指分类并定位图片中物体的任务 实例分割(Instance Segmentation)是指分类,分割图片物体的任务 全景分割(Panoptic Segmentation)是统一

    2024年02月07日
    浏览(59)
  • 基于MMdetection框架的目标检测研究-6.混淆矩阵绘制

    文章背景: 当我们训练完模型后,我们需要用训练后的模型对正负样本图片进行目标检测测试,这时候我们需要算模型在新的数据集上的检测效果(精度、过杀率、漏检率,准确度等),这时候使用测试后的结果绘制成混淆矩阵,可以很方便的帮助我们呈现和理解模型的泛化能

    2024年02月17日
    浏览(44)
  • Paddlepaddle使用自己的VOC数据集训练目标检测(0废话简易教程)

    笔者使用的是自己的数据集 其中 xml文件内容如下: 另外新建一个createList.py文件: 一个data2tarin.py文件: 运行以上两个脚本,结果如图: 新建label_list.txt文件,内容如下,为标签文件: 内容如下: 主要修改num_classes以及dataset_dir和anno_path 主要修改第一行 七 推理 修改yolov3.

    2024年02月21日
    浏览(39)
  • 【OpenMMLab AI实战营第二期】目标检测与MMDetection

    目标检测的基本范式 划窗 使用卷积实现密集预测 锚框 多尺度检测与FPN 单阶段无锚框检测器选讲 RPN YOLO、SSD Focal Loss与RetinaNet FCOS YOLO系列选讲 什么是目标检测 目标检测:给定一张图片,用矩形框框出所有感兴趣物体同时预测物体类别 目标检测与图像分类区别 图像分类通常

    2024年02月08日
    浏览(52)
  • 3D目标检测框架 MMDetection3D环境搭建 docker篇

    本文介绍如何搭建3D目标检测框架,使用docker快速搭建MMDetection3D的开发环境,实现视觉3D目标检测、点云3D目标检测、多模态3D目标检测等等。 需要大家提前安装好docker,并且docker版本= 19.03。 1、下载MMDetection3D源码 https://github.com/open-mmlab/mmdetection3d  git clone https://github.com/ope

    2024年02月08日
    浏览(44)
  • AI实战营第二期 第五节 《目标检测与MMDetection》——笔记6

    MMDetection 是一个基于 PyTorch 的目标检测开源工具箱。它是 OpenMMLab 项目的一部分。是目前应用最广的算法库 主分支代码目前支持 PyTorch 1.6 以上的版本。代码链接:https://gitee.com/open-mmlab/mmdetection。 模块化设计。MMDetection 将检测框架解耦成不同的模块组件,通过组合不同的模块

    2024年02月08日
    浏览(35)
  • 【MMDetection3D】基于单目(Monocular)的3D目标检测入门实战

    本文简要介绍单目(仅一个摄像头)3D目标检测算法,并使用MMDetection3D算法库,对KITTI(SMOKE算法)、nuScenes-Mini(FCOS3D、PGD算法)进行训练、测试以及可视化操作。   单目3D检测,顾名思义,就是只使用一个摄像头采集图像数据,并将图像作为输入送入模型进,为每一个感兴

    2024年02月03日
    浏览(45)
  • 【利用MMdetection3D框架进行单目3D目标检测(smoke算法】

    mmdetection3d是OpenMMLab开发的3D目标检测开源工具箱,里面包含了许多经典的3D目标检测算法,包含了单目3D目标检测、多目3D目标检测、点云3D目标检测、多模态3D目标检测等各个方向。我们只需要把相应的算法权重下载下来,并调用相应接口即可进行检测。 mmdetection3d的安装需要

    2024年02月13日
    浏览(46)
  • 【深度学习】YOLOv8训练过程,YOLOv8实战教程,目标检测任务SOTA,关键点回归

    https://github.com/ultralytics/ultralytics 官方教程:https://docs.ultralytics.com/modes/train/ 更建议下载代码后使用 下面指令安装,这样可以更改源码,如果不需要更改源码就直接pip install ultralytics也是可以的。 这样安装后,可以直接修改yolov8源码,并且可以立即生效。此图是命令解释: 安

    2024年02月10日
    浏览(57)
  • 【3】使用YOLOv8训练自己的目标检测数据集-【收集数据集】-【标注数据集】-【划分数据集】-【配置训练环境】-【训练模型】-【评估模型】-【导出模型】

    云服务器训练YOLOv8-新手教程-哔哩哔哩 🍀2023.11.20 更新了划分数据集的脚本 在自定义数据上训练 YOLOv8 目标检测模型的步骤可以总结如下 6 步: 🌟收集数据集 🌟标注数据集 🌟划分数据集 🌟配置训练环境 🌟训练模型 🌟评估模型 随着深度学习技术在计算机视觉领域的广泛

    2023年04月15日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包