Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fcakyon/labelme2coco
A lightweight package for converting your labelme annotations into COCO object detection format.
https://github.com/fcakyon/labelme2coco
annotation-conversion coco computer-vision deep-learning image-classification instance-segmentation labelme linux machine-learning macos object-detection python semantic-segmentation windows
Last synced: 3 months ago
JSON representation
A lightweight package for converting your labelme annotations into COCO object detection format.
- Host: GitHub
- URL: https://github.com/fcakyon/labelme2coco
- Owner: fcakyon
- License: gpl-3.0
- Fork: true (XCRobert/Labelme2Coco)
- Created: 2020-03-29T09:30:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-20T12:22:40.000Z (7 months ago)
- Last Synced: 2024-07-19T14:51:17.448Z (4 months ago)
- Topics: annotation-conversion, coco, computer-vision, deep-learning, image-classification, instance-segmentation, labelme, linux, machine-learning, macos, object-detection, python, semantic-segmentation, windows
- Language: Python
- Homepage:
- Size: 191 KB
- Stars: 266
- Watchers: 3
- Forks: 67
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
labelme2coco
A lightweight package for converting your labelme annotations into COCO object detection format.
## Convert LabelMe annotations to COCO format in one step
[labelme](https://github.com/wkentaro/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
```python
labelme2coco path/to/labelme/dir
``````python
labelme2coco path/to/labelme/dir --train_split_rate 0.85
``````python
labelme2coco path/to/labelme/dir --category_id_start 1
```### Advanced Usage
```python
# 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)
``````python
# 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")
```