Skip to content

Dataset Management Framework, a Python library and a CLI tool to build, analyze and manage Computer Vision datasets.

License

Notifications You must be signed in to change notification settings

openvinotoolkit/datumaro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4d3b307 · Jun 10, 2024
Apr 2, 2024
May 31, 2024
Apr 4, 2024
May 10, 2024
Feb 28, 2024
Dec 15, 2023
Jun 10, 2024
May 22, 2024
Apr 6, 2023
Aug 10, 2023
Aug 19, 2021
Mar 24, 2023
Apr 11, 2023
Apr 16, 2024
May 29, 2024
Sep 4, 2020
May 7, 2024
Jun 7, 2023
Dec 12, 2023
Feb 19, 2024
Mar 10, 2022
Feb 19, 2024
Nov 24, 2021
May 9, 2024
Apr 4, 2024
Jun 7, 2023
Mar 22, 2024
Jan 27, 2023
May 3, 2024
May 3, 2024

Repository files navigation

Dataset Management Framework (Datumaro)

Build status codecov

A framework and CLI tool to build, transform, and analyze datasets.

VOC dataset                                  ---> Annotation tool
     +                                     /
COCO dataset -----> Datumaro ---> dataset ------> Model training
     +                                     \
CVAT annotations                             ---> Publication, statistics etc.

Features

(Back to top)

  • Dataset reading, writing, conversion in any direction.

    Other formats and documentation for them can be found here.

  • Dataset building

    • Merging multiple datasets into one
    • Dataset filtering by a custom criteria:
      • remove polygons of a certain class
      • remove images without annotations of a specific class
      • remove occluded annotations from images
      • keep only vertically-oriented images
      • remove small area bounding boxes from annotations
    • Annotation conversions, for instance:
      • polygons to instance masks and vice-versa
      • apply a custom colormap for mask annotations
      • rename or remove dataset labels
    • Splitting a dataset into multiple subsets like train, val, and test:
      • random split
      • task-specific splits based on annotations, which keep initial label and attribute distributions
        • for classification task, based on labels
        • for detection task, based on bboxes
        • for re-identification task, based on labels, avoiding having same IDs in training and test splits
    • Sampling a dataset
      • analyzes inference result from the given dataset and selects the ‘best’ and the ‘least amount of’ samples for annotation.
      • Select the sample that best suits model training.
        • sampling with Entropy based algorithm
  • Dataset quality checking

    • Simple checking for errors
    • Comparison with model inference
    • Merging and comparison of multiple datasets
    • Annotation validation based on the task type(classification, etc)
  • Dataset comparison

  • Dataset statistics (image mean and std, annotation statistics)

  • Model integration

    • Inference (OpenVINO, Caffe, PyTorch, TensorFlow, MxNet, etc.)
    • Explainable AI (RISE algorithm)
      • RISE for classification
      • RISE for object detection

Check the design document for a full list of features. Check the user manual for usage instructions.

Contributing

(Back to top)

Feel free to open an Issue, if you think something needs to be changed. You are welcome to participate in development, instructions are available in our contribution guide.

Telemetry data collection note

The OpenVINO™ telemetry library is used to collect basic information about Datumaro usage.

To enable/disable telemetry data collection please see the guide.