该脚本将LabelMe输出的JSON格式转换为YOLO系列所需的文本格式。
帮助将 LabelMe Annotation Tool JSON 格式转换为 YOLO 文本文件格式。如果您已经通过 LabelMe 标记了分割数据集,则可以轻松使用此工具来帮助转换为 YOLO 格式数据集。
最新
将数据导出为 yolo 多边形注释(用于 YOLOv5 v7.0 分割)
现在您可以选择标签文本的输出格式。两个可用的替代方案是polygon边界框 ( bbox)。
安装
pip install labelme2yolo
参数说明
--json_dir LabelMe JSON 文件文件夹路径。
--val_size (可选)验证数据集大小,例如 0.2 表示 20% 用于验证。
--test_size (可选)测试数据集大小,例如 0.2 表示测试的 20%。
--json_name (可选)转换单个 LabelMe JSON 文件。
--output_format (可选)标签的输出格式。
--label_list (可选)预先分配的类别标签。
如何使用
1. 转换JSON文件,通过--val_size和--test_size分割训练、验证和测试数据集
将所有 LabelMe JSON 文件放在labelme_json_dir下,然后运行此 python 命令。
labelme2yolo --json_dir /path/to/labelme_json_dir/ --val_size 0.15 --test_size 0.15
脚本会在不同的文件夹下生成YOLO格式的数据集标签和图像,例如,
/path/to/labelme_json_dir/YOLODataset/labels/train/
/path/to/labelme_json_dir/YOLODataset/labels/test/
/path/to/labelme_json_dir/YOLODataset/labels/val/
/path/to/labelme_json_dir/YOLODataset/images/train/
/path/to/labelme_json_dir/YOLODataset/images/test/
/path/to/labelme_json_dir/YOLODataset/images/val/
/path/to/labelme_json_dir/YOLODataset/dataset.yaml
2. 转换JSON文件,按文件夹拆分训练和验证数据集
如果您已经为LabelMe自行拆分了训练数据集和验证数据集,请将这些文件夹放在labelme_json_dir下,例如:
/path/to/labelme_json_dir/train/
/path/to/labelme_json_dir/val/
将所有 LabelMe JSON 文件放在labelme_json_dir下。脚本将按文件夹读取训练和验证数据集。运行这个 python 命令。
labelme2yolo --json_dir /path/to/labelme_json_dir/
脚本会在不同的文件夹下生成YOLO格式的数据集标签和图像,例如,
/path/to/labelme_json_dir/YOLODataset/labels/train/
/path/to/labelme_json_dir/YOLODataset/labels/val/
/path/to/labelme_json_dir/YOLODataset/images/train/
/path/to/labelme_json_dir/YOLODataset/images/val/
/path/to/labelme_json_dir/YOLODataset/dataset.yaml
3. 转换单个JSON文件
将 LabelMe JSON 文件放在labelme_json_dir下,然后运行这个 python 命令。
labelme2yolo --json_dir /path/to/labelme_json_dir/ --json_name 2.json
脚本会在labelme_json_dir下生成 YOLO 格式的文本标签和图像,例如,
/path/to/labelme_json_dir/2.text
/path/to/labelme_json_dir/2.png
来源:https://pypi.org/project/labelme2yolo/