经典数据集介绍-数据集制作-YOLOv5参数释义

本文介绍了经典目标检测数据集VOC和COCO,讲解了数据集制作过程,包括使用Roboflow进行数据标注,并详细解析了YOLOv5的detect.py和train.py关键参数,如iou-thres、resume、noautoanchor、evolve等,探讨了训练优化策略。
摘要由CSDN通过智能技术生成


此笔记根据 小土堆教学视频所作笔记,内容详细,不枯燥,推荐给想学习目标检测的同学们,以下个人笔记供大家参考,若有误,还望指正!

目标检测:位置+类别
人脸检测:人脸-目标
文字检测:文字-目标
主流的目标检测,都是以矩阵框的形式进行输出的
语义分割,如下图所示,可以达到更高的精度
img

VOC数据集介绍

有VOC 2007、VOC 2012

官网:VOC数据集

请添加图片描述

For VOC2012 the majority of the annotation effort was put into increasing the size of the segmentation and action classification datasets, and no additional annotation was performed for the classification/detection tasks. The list below summarizes the differences in the data between VOC2012 and VOC2011.
VOC2007为例:

请添加图片描述

Annotations:包括了xml文件,描述了图片的各种信息,特别是目标的位置坐标
ImaggeSets:主要关注Main文件夹的内容,里面的文件包括了不同类别目标的训练/验证数据集图片名称

请添加图片描述

例如:1表示图片中有飞机,-1表示无飞机
JPEGImages:原图片
SegmentationClass/Object:用于语义分割

COCO数据集介绍

请添加图片描述

常用的数据集为COCO2017
官网:COCO2017数据集

制作数据集

数据集制作详解

  1. 自己获得数据集–人工标注
  2. 自己获取数据集–半人工标注(对标注好的数据集进行微调)
  3. 仿真数据集(GAN,数字图像处理的方式)(效果可能不太好)
使用 Roboflow
Collect Images
  1. Training on images similar to the ones it will see in the wild is of the utmost importance. collect a wide variety of images from the same configuration as you will ultimately deploy your project.
  2. start from a public dataset to train your initial model and then sample images from the wild during inference to improve your dataset and model iteratively.
Create Labels
  1. Roboflow Annotate is a simple web-based tool for managing and labeling your images with your team and exporting them in YOLOv5’s annotation format.

    Whether you label your images with Roboflow or not, you can use it to convert your dataset into YOLO format, create a YOLOv5 YAML configuration file, and host it for importing into your training script.

  2. 在线网站:数据集制作(makesense)

步骤:

添加标注类别

请添加图片描述

请添加图片描述

添加好类别后,在图片上选择需要识别的内容框选,然后在右边选择标签类别,当全部标记好以后,在Actions/Export Annotations导出标注,以下为xml的文件 格式内容,包含了filename、path、以及图片信息,object物体(标签,以及识别物体的坐标矩形框)等

请添加图片描述

导出的YOLO则为txt格式,内容如下,第一个0/1/2等表示类目,第二第三为物体中心的坐标,第四第五为宽度高度

  • One row per object
  • Each row is class x_center y_center width height format.
  • Box coordinates must be in normalized xywh format (from 0 - 1)(归一化). If your boxes are in pixels, divide x_center and width by image width, and y_center and height by image height.
  • Class numbers are zero-indexed (start from 0).

请添加图片描述

请添加图片描述

可以选择AI标注,会提示你未创建的标签创建,并在图片上自动框选物体,点击即可。

  1. 多人在线标注

网址:数据集制作(cvat)(需要开VPN使用)

请添加图片描述

创建好task,添加标签,加载图片后提交。

请添加图片描述

可以将项目分配给某些人

请添加图片描述

可以选择自动识别的功能

选择Detectors,模型选择YOLO v3,其中,该模型可以识别许多内容,例如选择cat(3)后将会自动识别框选,如果识别为cat,将会标注为自己的标签类别,即(4)

请添加图片描述

导出类型多,支持COCO类型
可以看到,当用Pychram打开json文件时,会只出现在一行上,我们可以按两次shift,然后选择Action(操作)输入reformat code,就会把代码调成json数据格式

手动准备数据集
  1. Create dataset.yaml

根据后续需要的内容进行修改:

只需要修改数据集的yaml即可,其他不要作修改

the dataset config file that defines

1) the dataset root directory path and relative paths to train / val / test image directories (or *.txt files with image paths),

**3)**a list of class names#注意标签顺序,不可颠倒

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128  # dataset root dir
train: images/train2017  # train images (relative to 'path') 128 images
val: images/train2017  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes
nc: 80  # number of classes
names: [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值