【mmdetection】使用coco数据集训练后结果可视化

本文介绍了使用mmdetection V2.11版本的cascade-rcnn和faster-rcnn模型,基于COCO数据集进行训练后的结果可视化过程,包括Loss曲线、P-R曲线、mAP参数、fps、acc曲线的可视化,并解释了相关参数的意义。
摘要由CSDN通过智能技术生成

一.开始

本文使用的是mmdetection=V2.11的cascade-rcnn、faster-rcnn模型,使用的数据集是coco数据集,记录训练结果可视化的过程。并且记录训练过程中参数含义

二.可视化代码

  • 以下操作都是在mmdetection根目录下进入到open-mmlab环境中进行的

1. Loss曲线

  • –work_dirs设置自己模型得到的log.json文件,
    –out后面是保存的位置以及文件名字,可以保存为jpg/png等格式,
    –key后面可以跟更多参数,但这些参数要在json文件里面有的
python tools/analysis_tools/analyze_logs.py plot_curve ./work_dirs/cascade_rcnn_r50_fpn_1x_coco/20210510_140522.log.json --keys loss --out ./plot_result/1.png
  • 输出结果:在这里插入图片描述

2. P-R曲线

  • 进行P-R曲线可视化前,需要先使用test.py生成pkl文件
    –out后面可以加路径,不然直接生成再项目根路径下
python tools/test.py configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py work_dirs/cascade_rcnn_r50_fpn_1x_coco/latest.pth --out results.pkl
  • 在根目录下创建一个PR.py文件,输入以下代码
# =========================================================
# @purpose: plot PR curve by COCO API and mmdet API
# @date:   2020/12
# @version: v1.0
# @author: Xu Huasheng
# @github: https://github.com/xuhuasheng/mmdetection_plot_pr_curve
# =========================================================

import os
import mmcv
import numpy as np
import matplotlib.pyplot as plt

from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval

from mmcv import Config
from mmdet.datasets import build_dataset

MODEL = "cascade_rcnn"
MODEL_NAME = "cascade_rcnn_r50_fpn_1x_coco"

CONFIG_FILE = f"configs/{MODEL}/{MODEL_NAME}.py"
RESULT_FILE = f"results.pkl"

def plot_pr_curve(config_file, result_file, metric="bbox"
  • 56
    点赞
  • 342
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 34
    评论
mmdetection是一个基于PyTorch的目标检测工具包,它提供了丰富的数据增强方式来增加训练数据的多样性。要可视化mmdetection中的数据增强效果,你可以按照以下步骤进行操作: 1. 在mmdetection的配置文件中找到数据增强的部分。通常在`configs`文件夹下的对应任务的配置文件中可以找到,比如`configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py`。 2. 在配置文件中找到`train_pipeline`,这是用于训练时的数据增强操作序列。其中包含了一系列的数据增强操作,比如随机裁剪、随机翻转、颜色变换等。 3. 在训练代码中找到数据加载部分,一般在`tools/train.py`文件中。在数据加载部分,你可以找到用于加载训练数据的代码。 4. 在数据加载代码中,找到`transforms.Compose`函数,这是用于将一系列数据增强操作组合成一个可执行的函数。 5. 你可以在加载数据之前,将数据增强操作传入`transforms.Compose`函数中。然后,在训练过程中,你可以使用`imshow`等函数来将经过数据增强后的图像可视化出来。 下面是一个示例代码片段,展示了如何在mmdetection可视化数据增强效果: ```python from mmdet.datasets.pipelines import Compose from mmdet.datasets.builder import build_dataset # 加载配置文件 cfg = mmcv.Config.fromfile('configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py') # 构建数据集对象 dataset = build_dataset(cfg.data.train) # 获取训练数据增强操作序列 transforms = dataset.pipeline.transforms # 创建Compose对象 transform = Compose(transforms) # 随机选择一张图片进行可视化 img, _ = dataset[0] transformed_img = transform(img, None) # 使用imshow函数可视化原始图像和经过数据增强后的图像 import matplotlib.pyplot as plt plt.subplot(1, 2, 1) plt.imshow(img) plt.title('Original Image') plt.subplot(1, 2, 2) plt.imshow(transformed_img) plt.title('Transformed Image') plt.show() ``` 你可以根据自己的需求修改代码中的路径和参数,以适应你的数据集和配置文件。这样,你就可以在mmdetection可视化数据增强效果了。希望对你有帮助!
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鸠控

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值