目标检测小脚本:数据集划分(代码片段)

zstar-_ zstar-_     2022-12-06     229

关键词:

需求内容

之前写了一篇【目标检测】YOLOv5跑通VOC2007数据集里面写了个脚本是将xml标注格式转换称Yolo格式,同时读取数据集划分。
在训练自己的数据时,我发现没有现成的数据集划分文件,于是就写了这个小脚本来读取文件名,并划分成train/val/test三个文件。

需求实现

完整脚本:

import os
import random

img_path = './image/'
img_list = os.listdir(img_path)
train_ratio = 0.8  # 训练集比例
val_ratio = 0.1  # 验证集比例
shuffle = True  # 是否随机划分


def data_split(full_list, train_ratio, val_ratio, shuffle=True):
    n_total = len(full_list)
    train_set_num = int(n_total * train_ratio)
    val_set_num = int(n_total * val_ratio)
    if shuffle:
        random.shuffle(full_list)
    train_set = full_list[:train_set_num]
    val_set = full_list[train_set_num:(train_set_num + val_set_num)]
    test_set = full_list[(train_set_num + val_set_num):]
    return train_set, val_set, test_set


if __name__ == '__main__':
    train_set, val_set, test_set = data_split(img_list, train_ratio, val_ratio, shuffle=True)

    with open('train.txt', 'w') as f:
        for img_name in train_set:
            f.write(img_name.split('.png')[0] + '\\n')

    with open('val.txt', 'w') as f:
        for img_name in val_set:
            f.write(img_name.split('.png')[0] + '\\n')

    with open('test.txt', 'w') as f:
        for img_name in test_set:
            f.write(img_name.split('.png')[0] + '\\n')

读取图片数据:

划分后的数据:

笔记2:yolov5训练自己的目标检测模型_创建并划分数据集(代码片段)

 目标检测---数据集格式转化及训练集和验证集划分_didiaopao的博客-CSDN博客1、 我们经常从网上获取一些目标检测的数据集资源标签的格式都是VOC(xml格式)的,而yolov5训练所需要的文件格式是yolo(txt格式)的,这里就需要对x... 查看详情

目标检测小脚本:根据xml文件统计类别数(代码片段)

问题场景搜到一个目标检测数据集,但是别人没有详细说明到底有多少类别以及各类别名称,这时候就需要查询xml的标注文件来获取这两个信息。脚本代码importxml.etree.ElementTreeasETimportnumpyasnpimportosif__name__=='__main_... 查看详情

matlab深度学习采用fasterr-cnn实现车辆目标检测(代码片段)

本文展示了如何使用MATLAB训练FasterR-CNN目标检测器,实现对车辆的检测。本例使用一个包含295张图像的小标记数据集。每个图像包含一个或两个已标记的车辆目标。一个小的数据集对于探索FasterR-CNN训练过程是有用的,但... 查看详情

matlab深度学习采用fasterr-cnn实现车辆目标检测(代码片段)

本文展示了如何使用MATLAB训练FasterR-CNN目标检测器,实现对车辆的检测。本例使用一个包含295张图像的小标记数据集。每个图像包含一个或两个已标记的车辆目标。一个小的数据集对于探索FasterR-CNN训练过程是有用的,但... 查看详情

目标检测yolov5跑通voc2007数据集(修复版)(代码片段)

前言在【目标检测】YOLOv5跑通VOC2007数据集一文中,我写了个脚本来提取VOC中Segmentation划分好的数据集,但是经过观察发现,这个train.txt中仅有209条数据,而VOC2007的图片有9963张,这意味着大量的图片被浪费ÿ... 查看详情

目标检测小脚本:yolo标签可视化(代码片段)

需求分析在下载别人标注好的目标检测数据集时,我突然想到一个问题:怎么直观得看别人标注的是否正确呢?于是我想到了可以利用opencv将标注数据还原到原图上。更具体的说,指定图片和标签文件夹,批... 查看详情

目标检测小脚本:批量png转jpg(代码片段)

需求在使用YOLO时,发现需要的image需要的是jpg格式,而现有的数据集是png格式。于是需要一个小脚本来进行批量转换代码看到有人已经做了相关工作,于是在此基础上稍作修改,完成需求。importosfromPILimportImagedirna... 查看详情

目标检测yolov5跑xview数据集/小样本检测策略实验(代码片段)

前言在YOLOv5的6.1版本新出了xView.yaml数据配置文件,提供了遥感数据集xView的检测方法。此篇就使用YOLOv5来试跑xView数据集,并对一些小样本检测的策略进行消融实验。xView数据集下载:https://github.com/zstar1003/Dataset数据... 查看详情

商品检测数据集训练目标检测数据集与标记(代码片段)

目标检测数据集与标记学习目标1.常用目标检测数据集2.pascalvoc数据集介绍3.XML4.数据集标记工具介绍4.1介绍4.2安装5.商品数据集标记5.1需求介绍5.2标记6.总结学习目标目标了解常用目标检测数据集了解数据集构成了解数据集标记的... 查看详情

目标检测yolov5跑通visdrone数据集(代码片段)

...据集VisDrone和遥感数据集xView,这反映了官方也是在小目标检测中在偷偷发力。这篇博文就来记录如何用YOLOv5跑通VisDrone数据集。数据集我已上传到网盘里,有需要的读者可以进行下载:https://pan.baidu.com 查看详情

目标检测小脚本:根据xml批量复制jpg图片(代码片段)

问题场景在使用LabelImg标注完目标检测的数据之后,由于很多样本是负例(没有目标的样本),将其输入到模型中意义不大,因此需要进行剔除。那么实现思路就是根据xml的名称来筛选对应的jpg图片。文件结构如图,... 查看详情

voc数据集目标检测(代码片段)

最近在做与目标检测模型相关的工作,很多都要求VOC格式的数据集.PASCALVOC挑战赛(ThePASCALVisualObjectClasses)是一个世界级的计算机视觉挑战赛,PASCAL全称:PatternAnalysis,StaticalModelingandComputationalLearning,是一个由欧盟资助的网络组织。... 查看详情

coco_01数据集介绍coco目标检测分割数据集格式(代码片段)

文章目录1COCO数据集介绍2COCO数据集目标检测和分割格式2.1images2.2categories2.3annotations参考1COCO数据集介绍COCO数据集是常用的目标检测和分割数据集,可以用于分类、目标检测、分割以及人体关键点检测等任务,这里我们重... 查看详情

目标检测yolo+dota:小样本检测策略(代码片段)

前言之前在使用YOLOv5跑xView数据集时,发现准确率还是非常低的。在网上冲浪时,我发现了一种小样本检测策略:那就是把大分辨率的图片分割成小块进行训练,然后再输入大图进行检测。那么本篇博文就使用DOTA... 查看详情

动手学cv-目标检测入门教程2:voc数据集(代码片段)

3.2目标检测数据集VOC本文来自开源组织DataWhale🐳CV小组创作的目标检测入门教程。对应开源项目《动手学CV-Pytorch》的第3章的内容,教程中涉及的代码也可以在项目中找到,后续会持续更新更多的优质内容,欢迎... 查看详情

动手学cv-目标检测入门教程2:voc数据集(代码片段)

3.2目标检测数据集VOC本文来自开源组织DataWhale🐳CV小组创作的目标检测入门教程。对应开源项目《动手学CV-Pytorch》的第3章的内容,教程中涉及的代码也可以在项目中找到,后续会持续更新更多的优质内容,欢迎... 查看详情

深度学习目标检测:yolov5实现车辆检测(含车辆检测数据集+训练代码)(代码片段)

深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录YOLOv5实现车辆检测(含车辆检测数据集+训练代码)1.前言2.车辆检测数据集说明(1)车辆检测数据集(2)自定义数据集3.基于YOLOv5... 查看详情

深度学习目标检测:yolov5实现车辆检测(含车辆检测数据集+训练代码)(代码片段)

深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录YOLOv5实现车辆检测(含车辆检测数据集+训练代码)1.前言2.车辆检测数据集说明(1)车辆检测数据集(2)自定义数据集3.基于YOLOv5... 查看详情