/labelme2coco

A lightweight package for converting your labelme annotations into COCO object detection format.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

labelme2coco

downloads pypi version ci fcakyon twitter

A lightweight package for converting your labelme annotations into COCO object detection format.

teaser

Convert LabelMe annotations to COCO format in one step

labelme is a widely used is a graphical image annotation tool that supports classification, segmentation, instance segmentation and object detection formats. However, widely used frameworks/models such as Yolact/Solo, Detectron, MMDetection etc. requires COCO formatted annotations.

You can use this package to convert labelme annotations to COCO format.

Getting started

Installation

pip install -U labelme2coco

Basic Usage

labelme2coco path/to/labelme/dir
labelme2coco path/to/labelme/dir --train_split_rate 0.85
labelme2coco path/to/labelme/dir --category_id_start 1

Advanced Usage

# import package
import labelme2coco

# set directory that contains labelme annotations and image files
labelme_folder = "tests/data/labelme_annot"

# set export dir
export_dir = "tests/data/"

# set train split rate
train_split_rate = 0.85

# set category ID start value
category_id_start = 1

# convert labelme annotations to coco
labelme2coco.convert(labelme_folder, export_dir, train_split_rate, category_id_start=category_id_start)
# import functions
from labelme2coco import get_coco_from_labelme_folder, save_json

# set labelme training data directory
labelme_train_folder = "tests/data/labelme_annot"

# set labelme validation data directory
labelme_val_folder = "tests/data/labelme_annot"

# set path for coco json to be saved
export_dir = "tests/data/"

# set category ID start value
category_id_start = 1

# create train coco object
train_coco = get_coco_from_labelme_folder(labelme_train_folder, category_id_start=category_id_start)

# export train coco json
save_json(train_coco.json, export_dir+"train.json")

# create val coco object
val_coco = get_coco_from_labelme_folder(labelme_val_folder, coco_category_list=train_coco.json_categories, category_id_start=category_id_start)

# export val coco json
save_json(val_coco.json, export_dir+"val.json")