# v2yWdtc

v2yWdtc 是我无聊编写的一款将 VOC 格式转换为 YOLO 格式的工具,它的构成非常简单,尽管如此它很强大,它可以辅助你分析你的数据集是否有异常的数据,同时针对空标签还有过滤功能。

  • 快速转换:一键将 VOC 格式标签转换为 YOLO 格式。
  • 数据预检测:统计数据集,辅助你发现异常标签或标注问题。
  • 空标签过滤:自动过滤空标签,保证训练数据质量。
  • 简单易用:无需复杂配置,几步操作即可完成数据预处理。

# 开源地址 - ⭐!

v2yWdtc:https://github.com/735690757/v2yWdtc

# 项目结构

目录 / 文件 核心职能说明
Annotations/ 原始标签存放地。通常存放标准的 XML 格式文件,包含目标类别和边界框坐标。
Imagesets/ 数据集索引中心。存放 train.txt , val.txt , test.txt 等。之前的报错正是因为程序无法在此找到这些索引文件。
JPEGImages/ 原始图像库。存放所有训练和测试用的图片( .jpg 格式)。
Tools/ 数据诊断工具箱。包含用于分析数据集质量的脚本(如 check.py 检查完整性, cbox.py 分析边界框分布)。
images_tag.py 标签处理模块。可能涉及图像标注的自动化处理或类别名称映射。
imgsWlabels.py 数据分发引擎。负责根据索引文件将图片和转换后的标签文件分发到指定的训练 / 验证文件夹中。
main.py 项目总入口。一键化操作的控制台,通过调用其他模块完成全流程转换。
voc_to_yolo.py 格式转换核心。执行最关键的 XML 到 TXT 归一化转换逻辑。
v1

# train 与 val 模式、trainval 模式

切换模式只需要修改 main.py 的此处:

v1

# train 与 val 模式(0 模式)(默认模式)

在这种模式下,数据集被分为三个部分:训练集、验证集、测试集,这种模式的特点是:训练集和验证集是分开的,避免数据泄露,确保模型的泛化能力。

# trainval 模式(1 模式)

在 trainval 模式下,训练集和验证集被合并为一个整体的数据集,模型在整个 trainval 数据集上进行训练和验证。这种模式通常用于特定的任务,例如数据量不大时,可以通过合并训练集和验证集来提升训练集的多样性和大小。

# 使用方法

  1. 将图片数据放在 JPEGImages 下
  2. 将 xml 放在 Annotation 下
  3. 执行主函数
  4. ok 了就

# 执行过程

v1

# 结果文件

v1

紫色输出结果是图片(训练、验证、测试)和标签(训练、验证、测试)

白色输出结果是这样的索引记录格式:

v1

# 参考开源脚本

https://github.com/JieZzzoo/Data_Trans

更新于

请我喝[茶]~( ̄▽ ̄)~*

KarryLiu 微信支付

微信支付

KarryLiu 支付宝

支付宝