Skip to content

ultralytics/JSON2YOLO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Ultralytics logo

πŸš€ Introduction

Welcome to the JSON2YOLO repository! This toolkit is designed to help you convert datasets in JSON format, particularly those following the COCO (Common Objects in Context) standards, into the YOLO format. The YOLO format is widely recognized for its efficiency in real-time object detection tasks.

This conversion process is essential for machine learning practitioners looking to train object detection models using frameworks compatible with the YOLO format, such as Ultralytics YOLO. Our code is flexible and designed to run across various platforms including Linux, macOS, and Windows.

Ultralytics Actions Ultralytics Discord Ultralytics Forums Ultralytics Reddit

πŸ“’ Important Update: The JSON2YOLO project is now integrated into the main Ultralytics package at https://github.com/ultralytics/ultralytics. The standalone scripts in this repository are no longer being actively updated. For the latest functionality, please use the new convert_coco() method described in our updated data converter documentation.

βš™οΈ Requirements

To get started with JSON2YOLO, you'll need a Python environment running version 3.8 or later. Additionally, you'll need to install all the necessary dependencies listed in the requirements.txt file. You can install these dependencies using the following pip command in your terminal:

pip install -r requirements.txt # Installs all the required packages

πŸ’‘ Usage

JSON2YOLO functionality is now part of the main ultralytics Python package. To use the converter, first install the package:

pip install ultralytics

You can then easily convert COCO JSON datasets to YOLO format using the convert_coco method. Here's an example using keypoint annotations:

from ultralytics.data.converter import convert_coco

convert_coco(
    labels_dir="path/to/labels.json",
    save_dir="path/to/output_dir",
    use_keypoints=True,
)

This method processes your JSON file, converts annotations (bounding boxes and keypoints), and saves the labels in YOLO format (.txt files) within the specified directory. For more details, refer to our dataset format documentation.

πŸ“š Citation

If you find our tool useful for your research or development, please consider citing it:

DOI

🀝 Contribute

We welcome contributions from the community! Whether you're fixing bugs, adding new features, or improving documentation, your input is invaluable. Take a look at our Contributing Guide to get started. Also, we'd love to hear about your experience with Ultralytics products. Please consider filling out our Survey. A huge πŸ™ and thank you to all of our contributors!

Ultralytics open-source contributors

©️ License

Ultralytics offers two licensing options to accommodate diverse needs:

  • AGPL-3.0 License: Ideal for students and enthusiasts, this OSI-approved open-source license promotes collaboration and knowledge sharing. See the LICENSE file for details.
  • Enterprise License: Designed for commercial use, this license permits seamless integration of Ultralytics software and AI models into commercial products and services, bypassing the open-source requirements of AGPL-3.0. For commercial inquiries, please contact us through Ultralytics Licensing.

πŸ“¬ Contact Us

For bug reports, feature requests, and contributions, please visit GitHub Issues. For broader questions and discussions about this project and other Ultralytics initiatives, join our vibrant community on Discord!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

Packages

No packages published

Contributors 7

Languages