python 分离YOLO格式图片数据标注文件为训练集、验证集,并复制到对应文件夹

将yolo格式数据集转换为coco格式数据集 实操将YOLO格式数据集转换为COCO格式 阅读详情

用的时候看注释即可

以下代码作用

  1. 同级目录下创建datasets 包含 训练集、验证集
  2. 随机将 train_rate80%数据分为训练集、100%-train_rate20%分为验证集 并复制到对应文件夹
import numpy as np
import os
from shutil import copy2
import random

# ---------配置文件 需要确定
orgin_path='..\\'
orgin_image_path = orgin_path+'images'
orgin_label_path = orgin_path+'YOLO'
train_rate = 0.8
support_suffix = ['.tiff', '.png', '.jpg']

# ---------配置文件
path = r'datasets'  # dataset root dir
train = r'images/train'  # train images (relative to 'path')
val = r'images/val'  # val images (relative to 'path')
train_label = r'labels/train'  # train images (relative to 'path')
val_label = r'labels/val'  # val images (relative to 'path')

# 以下代码作用 
# 1. 同级目录下创建datasets 包含 训练集、验证集
# 2. 随机将 train_rate*80%数据分为训练集、100%-train_rate*20%分为验证集 并复制到对应文件夹


train_path = f'{path}/{train}'
val_path = f'{path}/{val}'
train_label_path = f'{path}/{train_label}'
val_label_path = f'{path}/{val_label}'


def check_file(path_data):
    if not os.path.exists(path_data):
        os.makedirs(path_data)


check_file(train_path)
check_file(val_path)
check_file(train_label_path)
check_file(val_label_path)

all_data = os.listdir(orgin_image_path)  # (图片文件夹)
all_data_img = []
for i in all_data:
    suffix_str = '.' + i.split('.')[-1:][0]
    if suffix_str in support_suffix:
        all_data_img.append(i)
num_all_data = len(all_data_img)
print("分离图片总数: " + str(num_all_data))
# 随机下标
index_list = list(range(num_all_data))
print(index_list)
random.shuffle(index_list)
print(index_list)
num = 0
for i in index_list:
    fileName = os.path.join(orgin_image_path, all_data_img[i])
    # 获取后缀名称 包括 .
    suffix_str = '.' + all_data_img[i].split('.')[-1:][0]
    yolo_label = all_data_img[i][:-len(suffix_str)] + ".txt"
    yolo_label_file = os.path.join(orgin_label_path, yolo_label)
    if num < num_all_data * train_rate:
        copy2(fileName, train_path)
        copy2(yolo_label_file, train_label_path)
    else:
        copy2(fileName, val_path)
        copy2(yolo_label_file, val_label_path)
    num += 1
print("finished!")
labelme标注的json文件转yolo格式 labelme标注的json文件是在数据标注时产生,不能直接应用于模型训练。各大目标检测训练平台或项目框架均有自己的数据格式要求,通常为voc、coco或yolo格式。由于yolov8项目比较火热,故此本博文详细介绍将json格式标注转化为yolo格式的过程及其代码。 阅读详情

相关推荐

VOC、COCO、YOLO标注格式实战:从数据标注到模型训练的全流程解析

本文详细解析了VOC、COCO、YOLO三种主流目标检测标注格式的特点与转换技巧,从数据标注到模型训练的全流程实战指南。通过对比XML、JSON和TXT格式的差异,提供标注工具选择、数据集划分、格式转换代码及训练前检查等实用技巧,帮助开发者高效处理目标检测任务。

weixin_29053073的博客 356

yolo数据集 划分训练集验证集测试集

【代码】yolo数据集 划分训练集验证集测试集。

weixin_46135327的博客 635

手把手入门YOLO到改进优化教程 | 【P2基础篇】数据标注+环境搭建+模型训练

本节以 YOLO自定义目标检测训练为主线,带你从零开始完成 数据标注 → 环境搭建 → 模型训练 → 结果的流程。使用labelImg制作符合YOLO格式的自定义数据集。在Windows基于 Python + Conda 创建独立虚拟环境,安装 PyTorch + CUDA + ultralytics,配置 PyCharm 运行环境。本节不仅使用自定义数据集进行演示,同时也用公开数据集训练 YOLO,查看训练日志与可视化结果(PR、P/R/F1 曲线等)等。

嵌入式阿齐Archie 2万+

【yolov5】将标注好的数据集进行划分(附完整可运行python代码)

python下的yolov5数据集划分

freezing_00的博客 2万+

自定义控件三部曲视图篇(六)——RecyclerView系列之三自定义LayoutManager

前言:把握生命里的每一分钟,全力以赴我们心中的梦,不经历风雨 怎么见彩虹,没有人能随随便便成功 在第一篇中已经讲过,LayoutManager主要用于布局其中的Item,在LayoutManager中能够对每个Item的大小,位置进行更改,将它放在我们想要的位置,在很多优秀的效果中,都是通过自定义LayoutManager来实现的,比如: 可以看到这些效果都非常棒,通过这一节的学习,大...

启舰 1万+

Windows 11 24H2 外接显卡坞兼容性实测:3步解决USB设备失效

本文详细解析了Windows 11 24H2系统下外接显卡坞导致USB设备失效的问题,并提供了三步终极解决方案:驱动预解压与手动更新、电源管理设置调整、优化的设备连接顺序。通过雷电3接口的兼容性优化,帮助用户解决键盘鼠标卡死等常见问题,提升外接显卡坞的稳定性与性能。

weixin_31714129的博客 592

用python实现划分自定义划分训练集,测试集和验证集

用于yolo分配训练集测试集以及验证集。

mumuemhaha的博客 2158

新能源充电桩充电枪口标准

建立的标准确保了新能源汽车充电的安全性、兼容性和效率,促进了新能源汽车产业的发展。

网络安全的研究者、新能源行业的追求者 4689

【深度学习】使用python划分数据集为训练集和验证集和测试集并放在不同的文件夹(转载)

———————————————— 版权声明:本文为优快云博主「jinzi_a」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/jinzi_a/article/details/115199187?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_

universe_R的博客 2034

【图像大模型】RIFE实战:如何通过中间流估计实现4K视频的实时插帧优化

本文深入解析了基于深度学习的RIFE视频插帧算法,重点探讨其核心的中间流估计技术如何实现高效精准的帧生成。通过实战教程,详细介绍了针对4K视频的实时处理优化方案,包括环境配置、参数调优及性能瓶颈分析,帮助用户利用消费级显卡将低帧率视频转化为流畅的高帧率体验。

weixin_29093017的博客 457

Wireshark时间分析实战:精准调试网络延迟与时间同步问题

本文深入探讨了Wireshark在网络延迟与时间同步问题分析中的核心应用。通过实战案例,详细讲解了如何设置时间显示格式、利用时间参考点量化关键路径延迟,以及运用时间平移功能校正错位时间轴。掌握这些时间分析技巧,能帮助网络工程师精准定位隐藏于数据包时序中的性能瓶颈与故障根源。

weixin_29290963的博客 262

yolov3-tiny训练自己的数据集TF2实现

yolov3-tiny训练自己的数据集TF2实现简介YOLOv3-tiny网络结构图环境条件源码获取项目结构准备数据相关配置训练测试Window系统下测试图片测试视频测试摄像头测试Jetson Nano下测试图片测试视频测试摄像头测试 简介 YOLOv3是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。而YOLOv3-tiny是YOLOv3的简化版。 YOLOv3-tiny网络结构图 layer filters size inp

FriendshipTang的博客 987

UE实现贴地线(SurfaceLine)效果

UnrealEngine实现贴地线效果

专注GIS开发 4572

yolo数据标注

本文介绍了构建YOLO模型数据集的完整流程。首先通过OpenCV将视频逐帧提取为JPG图片,详细说明了Python抽帧代码的实现方法,包括视频信息获取、间隔抽帧和保存等操作。然后使用LabelImg工具对图片进行标注,重点讲解了YOLO格式标注的具体步骤:包括训练集/验证集7:3比例划分、标注工具设置、物体框选和标签命名等操作。最后指出需要将标注生成的.txt文件分别存入train和val文件夹,完成数据集准备工作。整个流程涵盖了从视频处理到标注生成的关键步骤,为后续模型训练提供了规范化的数据准备方案。

2402_89279061的博客 1923

ARFoundation系列讲解 - 24 锚点

一、添加平面检测和平面可视化 请参考 ARFounnation快速入门-08平面检测 案例 二、添加射线检测 1.在AR Session Origin 组件上添加ARRaycastManager 脚本

a451319296的博客 4877

HFSS 3D Layout仿真PCB操作说明

本文介绍一种特别适合PCB这种叠层结构的仿真软件,HFSS 3D Layout既有操作的简便性,又有同3D软件仿真所有的精确性,仿真速度上又比3D软件快很多。

sinat_15150363的博客 3938

VOC与YOLO数据格式的相互转换,附详细代码

环境windows 10 64位python 3.7labelImg图片标注这里使用开源工具 labelImg 对图片进行标注,导出的数据集格式为PASCAL VOC,待数据标注完成后,可...

4009

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【YOLO标签转换】JSON格式标签转换为YOLO格式标签详细教程(附完整代码)

在目标检测任务中,YOLO(You Only Look Once)是一种非常流行的算法。YOLO将目标检测问题转换为回归问题,从而大大提升了检测速度。YOLO格式是一种简洁的数据标注格式,通常用于训练和评估YOLO模型。本文将详细介绍如何将标注数据从JSON格式转换为YOLO格式,并附上详细的Python代码实现。

m0_59197405的博客 5127

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

目标检测-AnyLabeling标注格式转换成YOLO格式

Anylabel可以极大的增加数据的标注效率,但是其标注格式如何能转换成YOLO标注格式,具体内容如下所示。关于AnyLabeling的其它详细介绍如下链接所示Github链接。

张飞飞的博客 3784

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

yolo目标检测数据集标注及格式介绍

本篇文章介绍yolo目标检测数据集的一般格式,及如何借助labelimg标注软件对图片进行标注。最后对数据集进行划分,并将数据集组织为ultralytics框架可用的目录结构,使数据集能够利用ultralytics框架对yolo3、yolo5、yolo8、yolo9、yolo10等进行训练。

qq_42681787的博客 3万+

目标检测数据标注指南:如何将VOC/COCO格式转换为YOLO所需的txt格式

本文详细介绍了如何将VOC/COCO格式的目标检测标注数据转换为YOLO所需的TXT格式。通过解析XML和JSON文件,进行坐标转换与归一化处理,将绝对坐标转换为YOLO格式的中心点归一化坐标,并提供了完整的Python脚本实现,帮助开发者高效完成数据格式迁移。

t8u9v0的博客 611

快速实现YOLO格式.txt文件转换为PascalVOC格式.xml文件

标注数据的时候格式选择错了但又不想重新再标一次怎么办,这篇文章3分钟解决你的问题! 之前我用 LabelImg (下载以及用法见 https://github.com/tzutalin/labelImg) 标图片时格式选错了,于是写了个脚本将YOLO格式的.txt文件转换为PascalVOC格式的.xml文件。其实就是将.txt中的坐标转换一下,再对照着PascalVOC格式产生的.xml文件加入相应的标签生成.xml文件就OK了。 先看一下我的.txt文件格式 转换完成后的.xml文件格式 下面是完整

weixin_43720657的博客 2686

目标检测数据标注:COCO与VOC格式对比及YOLO转换实战

在计算机视觉领域,目标检测是核心任务之一,其性能很大程度上取决于数据标注质量。数据标注格式作为模型训练的基础,直接影响数据处理流程的效率。常见的VOC格式采用XML存储,结构直观但冗余较大;而COCO格式使用JSON,更适合大规模数据集。理解这两种格式的差异及转换方法(特别是转换为YOLO格式)是实际工程中的关键技能。通过Python脚本实现格式自动转换,结合albumentations等工具进行数据增强时保持标注同步,能显著提升目标检测项目的开发效率。本文以实战角度,详解数据标注的最佳实践与常见问题解决方

weixin_34068198的博客 351

【工具分享】VOC数据集格式与YOLO的格式转换方法

简单明了的voc格式介绍,复置可用的转换脚本

hzg19930513的博客 1474

如何用labelimg标注yolo数据集,并利用工具自动划分数据集

本文详细介绍了YOLO数据集标注与划分的完整流程。首先使用LabelImg工具进行图像标注,通过创建矩形框和类别命名生成YOLO格式的.txt标注文件,每个文件包含归一化处理的坐标和尺寸信息。随后提供Python脚本解决方案,可自动按照自定义比例划分训练集、验证集和测试集,并生成YOLO训练所需的dataset.yaml配置文件。整个过程从数据标注到预处理实现自动化,为计算机视觉任务的数据准备提供了高效便捷的工作流程。文中还展示了基于PyQt5封装的GUI工具,使数据集划分操作更加直观可视化。

weixin_55010563的博客 485

口罩检测——数据准备(2)

数据准备

weixin_43828944的博客 3514
上一篇: By not providing “Findncnn.cmake“ in CMAKE_MODULE_PATH this project has asked CMake to find
下一篇: Python 简单的通用设置配置文件
子言慕雨
博客等级 码龄9年 15粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值