【mmdetection实践】(一)构建自己的数据集

本文介绍了在mmdetection中构建自定义数据集的方法,主要分为两种方式:按照COCO数据集格式和定义新的Dataset类。通过分析COCODataset的使用,重点讲述了如何继承CustomDataset并重写`load_annotations`和`get_ann_info`方法来创建自己的数据集。实践中,建议遵循官方教程,避免直接修改COCODataset,确保数据集转换和训练的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理论知识

按照官网所说,构建自己的数据集有两种方法,自己的数据时COCO数据集的格式或者自己定义个数据集的格式。

按照COCO数据集的格式

这种方式要求数据按照COCO数据集的格式组织,COCO数据集的详细解释参考另一篇博客,主要是annotations中的json文件的内容需要注意。

接下来我们看一下mmdetection是如何调用数据集的,首先看一下训练的config文件中对数据集的定义部分:其中定义了dataset_type时COCODataset的类型,然后定义了COCO数据集的位置,train_pipeline定义了读取图片过程中的操作(包括读取,归一化,增广),data定义了train、val、test的具体位置。

# ./configs/faster_rcnn_r50_fpn_1x.py
# dataset settings

# dataset settings
dataset_type = 'CocoDataset'
data_root = './data/coco/'
img_norm_cfg = dict(
    mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
train_pipeline = [
    dict(type='LoadImageFromFile'),
    dict(type='LoadAnnotations', with_bbox=True),
    dict(type='Resize', img_scale=(1333, 800), keep_ratio=True),
    dict(type='RandomFlip', flip_ratio=0.5),
    dict(type='Normalize', **img_norm_cfg),
    dict(type='Pad', size_divisor=32),
    dict(type='DefaultFormatBundle')
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值