Forked from[ greatv/labelme2yolo](https://github.com/greatv/labelme2yolo)
Labelme2YOLOv8 is a powerful tool for converting LabelMe's JSON dataset Yolov8 format. This tool can also be used for YOLOv5/YOLOv8 segmentation datasets, if you have already made your segmentation dataset with LabelMe, it is easy to use this tool to help convert to YOLO format dataset.
- export data as yolo polygon annotation (for YOLOv8 segmentation)
- Existing Structure (YOLOv5 v7.0)
- YOLODataset
- images
- test
- train
- val
- labels
- test
- train
- val
- images
- Updated Structure (YOLOv8)
- YOLOv8Dataset
- test
- images
- labels
- train
-
images
-
labels
-
- val
- images
- labels
- test
pip install labelme2yolov8--json_dir LabelMe JSON files folder path.
--val_size (Optional) Validation dataset size, for example 0.2 means 20% for validation.
--test_size (Optional) Test dataset size, for example 0.2 means 20% for Test.
--json_name (Optional) Convert single LabelMe JSON file.
--output_format (Optional) The output format of label.
--label_list (Optional) The pre-assigned category labels.
1. Converting JSON files and splitting training, validation, and test datasets with --val_size and --test_size
You may need to place all LabelMe JSON files under labelme_json_dir and then run the following command:
python -m labelme2yolov8 --json_dir /path/to/labelme_json_dir/ --val_size 0.15 --test_size 0.15This tool will generate dataset labels and images with YOLO format in different folders, such as
/path/to/labelme_json_dir/YOLOv8Dataset/train/labels/
/path/to/labelme_json_dir/YOLOv8Dataset/test/labels/
/path/to/labelme_json_dir/YOLOv8Dataset/val/labels/
/path/to/labelme_json_dir/YOLOv8Dataset/train/images/
/path/to/labelme_json_dir/YOLOv8Dataset/test/images/
/path/to/labelme_json_dir/YOLOv8Dataset/val/images/
/path/to/labelme_json_dir/YOLOv8Dataset/dataset.yaml
If you have split the LabelMe training dataset and validation dataset on your own, please put these folders under labelme_json_dir as shown below:
/path/to/labelme_json_dir/train/
/path/to/labelme_json_dir/val/
This tool will read the training and validation datasets by folder. You may run the following command to do this:
python -m labelme2yolov8 --json_dir /path/to/labelme_json_dir/This tool will generate dataset labels and images with YOLO format in different folders, such as
/path/to/labelme_json_dir/YOLOv8Dataset/train/labels/
/path/to/labelme_json_dir/YOLOv8Dataset/val/labels/
/path/to/labelme_json_dir/YOLOv8Dataset/train/images/
/path/to/labelme_json_dir/YOLOv8Dataset/val/images/
/path/to/labelme_json_dir/YOLOv8Dataset/dataset.yaml
- install hatch
- Run the following command:
hatch buildlabelme2yolov8 is distributed under the terms of the MIT license.