/DLTA-AI

Data Labeling, Tracking and Annotation with AI

Primary LanguagePythonGNU General Public License v3.0GPL-3.0


Data Labeling, Tracking and Annotation with AI

DLTA-AI is the next generation of annotation tools, integrating the power of Computer Vision SOTA models to Labelme in a seamless expirence and intuitive workflow to make creating image datasets easier than ever before

User Guide Youtube Channel Discord Server PyPI - Downloads GitHub release (latest by date including pre-releases) GitHub issues GitHub last commit GitHub License

gif_main

Installation 🛠️ | Segment Anything 🪄 | Model Selection 🤖 | Segmentation 🎨 | Object Tracking 🚗 | Export 📤 | Other Features 🌟| Contributing 🤝| Acknowledgements🙏| Resources 🌐 | License 📜

🚀 DLTA-AI is currently participating in KWoC23, Join our discord server to have a great winter of code with us ❄️⛄

Installation 🛠️

After creating a new environment, installing Pytorch to it, you can install DLTA-AI using pip

pip install DLTA-AI

and run it using

DLTA-AI

Check the Installation section in User Guide for more details, different installation options and solutions for common issues.

Segment Anything 🪄

DLTA-AI takes the Annotation to the next level by integrating lastest Meta models Segment Anything (SAM) to support zero-shot segmentation for any class

SAM can be used also to improve the quality of Segmentation, even inaccurate polygons around the object is enough to be segmented correctly

SAM doesn't only work for Segmentation tasks, it's build in the video mode to support Object Tracking as well for any class

Segment Anything

Model Selection 🤖

For model selection, DLTA-AI provides the Model Explorer to utilize the power of the numerous models in mmdetection and ultralytics YOLOv8 as well as the models of SAM

the to give the user the ability to compare, download and select from the library of models

Model Explorer

Segmentation 🎨

Using the models from the Model Explorer, DLTA-AI provides a seamless expirence to annotate single image or batch of images, with options to select classes, modify threshold, and full control to edit the segmentation results.

Segmentation

and as mentioned before, **SAM** is fully integrated in DLTA-AI to provide zero-shot segmentation for any class, and to improve the quality of segmentation

Object Tracking 🚗

Built on top of the segmentation and detection models, DLTA-AI provides a complete solution for Object Tracking, with 5 different models for tracking

To import DLTA-AI have options for video navigation, tracking settings and different visualization options with the ability to export the tracking results to a video file

Beside this, DLTA-AI provides a completely new way to modify the tracking results, including edit and delete propagation across frames

Object Tracking

Beside automatic tracking models, DLTA-AI provides different methods of interpolation and filling gaps between frames to fix occlusions and unpredicted behaviors in a semi-automatic way

Interpolation

Export 📤

For Instance Segmentation, DLTA-AI provides to option to export the segmentation to standard COCO format, and the results of tracking to MOT format, and a video file for the tracking results with desired visualization options e.g., show id, bbox, class name, etc.

Export

DLTA-AI provides also the ability to add user-defined or custom export formats that can be used for any purpose, once the user defines his own format, it will be available in the export menu.

Other Features 🌟

  • Threshold Selection (Confidence and IoU)
  • Select Classes (from 80 COCO classes) with option to save default classes
  • Track assigned objects only
  • Merging models (Run both models and merge the results)
  • Show Runtime Type (CPU/GPU)
  • Show GPU Memory Usage
  • Video Navigation (Frame by Frame, Fast Forward, Fast Backward, Play/Pause)
  • Light / Dark Theme Support (syncs with OS theme)
  • Fully Customizable UI (drag and drop, show/hide)
  • OS Notifications (for long running tasks)
  • using orjson for faster json serialization
  • additional script (external) to evaluate the results of segmentation (COCO)
  • additional script (external) to extract frames from a video file for future use
  • User shortcuts and preferences settings

Contributing 🤝

DLTA-AI is an open source project and contributions are very welcome, specially in this early stage of development.

You can contribute in many ways:

  • Create an issue Reporting bugs 🐞 or suggesting new features 🌟 or just give your feedback 📝

  • Create a pull request to fix bugs or add new features, or just to improve the code quality, optimize performance, documentation, or even just to fix typos

  • Review pull requests and help with the code review process

  • Spread the word about DLTA-AI and help us grow the community 🌎, by sharing the project on social media, or just by telling your friends about it

Acknowledgements 🙏

This tool is part of a Graduation Project at Faculty of Engineering, Ain Shams University under the supervision of:

we want also to thank our friends who helped us with testing, feedback and suggestions:

Resources 🌐

License 📜

DLTA-AI is released under the GPLv3 license.