pylabel-project / pylabel

Python library for computer vision labeling tasks. The core functionality is to translate bounding box annotations between different formats-for example, from coco to yolo.
MIT License
321 stars 57 forks source link
annotation-tool bounding-boxes coco computer-vision dataset object-detection yolov5

PyLabel

PyPI     

Documentation Status

  Open In Colab  

PyLabel is a Python package to help you prepare image datasets for computer vision models including PyTorch and YOLOv5. It can translate bounding box annotations between different formats. (For example, COCO to YOLO.) And it includes an AI-assisted labeling tool that runs in a Jupyter notebook. - **Translate:** Convert annotation formats with a single line of code: ``` importer.ImportCoco(path_to_annotations).export.ExportToYoloV5() ``` - **Analyze:** PyLabel stores annotatations in a pandas dataframe so you can easily perform analysis on image datasets. - **Split:** Divide image datasets into train, test, and val with stratification to get consistent class distribution.
- **Label:** PyLabel also includes an image labeling tool that runs in a Jupyter notebook that can annotate images manually or perform automatic labeling using a pre-trained model.

- **Visualize:** Render images from your dataset with bounding boxes overlaid so you can confirm the accuracy of the annotations. ## Tutorial Notebooks See PyLabel in action in these [sample Jupyter notebooks](https://github.com/pylabel-project/samples/):
- [Convert COCO to YOLO](https://github.com/pylabel-project/samples/blob/main/coco2yolov5.ipynb) - [Convert COCO to VOC](https://github.com/pylabel-project/samples/blob/main/coco2voc.ipynb) - [Convert VOC to COCO](https://github.com/pylabel-project/samples/blob/main/voc2coco.ipynb) - [Convert YOLO to COCO](https://github.com/pylabel-project/samples/blob/main/yolo2coco.ipynb) - [Convert YOLO to VOC](https://github.com/pylabel-project/samples/blob/main/yolo2voc.ipynb) - [Import a YOLO YAML File](https://github.com/pylabel-project/samples/blob/main/yolo_with_yaml_importer.ipynb) - [Splitting Images Datasets into Train, Test, Val](https://github.com/pylabel-project/samples/blob/main/dataset_splitting.ipynb) - [Labeling Tool Demo with AI Assisted Labeling](https://github.com/pylabel-project/samples/blob/main/pylabeler.ipynb) Find more docs at https://pylabel.readthedocs.io. ## About PyLabel PyLabel was developed by Jeremy Fraenkel, Alex Heaton, and Derek Topper as the Capstope project for the Master of Information and Data Science (MIDS) at the UC Berkeley School of Information. If you have any questions or feedback please [create an issue](https://github.com/pylabel-project/pylabel/issues). Please let us know how we can make PyLabel more useful.