Computer vision annotations with Dash

Hello community,

I’m excited to share a new project to support computer vision annotations with dash. dash_annotate_cv is a Python Dash library for computer vision annotation tasks. It exposes reusable AIO components in a library format as well as a CLI tool for computer vision annotations.

I was heavily inspired for this project by the article on image annotations in the dash doc pages.

Examples:

readme_gif_image_labels

Example of whole-image label annotations

readme_gif_bboxs

Example of bounding box annotations

Supported tasks:

  • Annotation of images (whole image labels)
  • Annotating multiple labels per image
  • Annotating bounding boxes including labels
  • Support for COCO format

Roadmap for future tasks:

  • Support for more annotation formats: YOLO, etc.
  • Support for image segmentation tasks.
  • Support for skeleton annotation tasks.
  • Annotating video events
  • Annotating video tags

Note: this library is not meant for production usage. It is meant to be used for quick prototyping and testing of annotation tasks.

You can check out the GitHub page above to get started. I also wrote more background info on Medium.

The is the first larger project I’ve worked on in dash after using it religiously for a while - let me know what you think :slight_smile: Happy to hear how to improve, or suggestions for features.

Thanks!

4 Likes

Thank you for sharing the component on the forum, in addition to LinkedIn, @oernst.

This is a useful Dash component. I’m sure the community would benefit from knowing about it. I’m going to add it to our community component index.

It’s interesting to hear about the initiative to support annotation of bounding boxes and basic tagging capability with dash plugin. Congratulations for the same!

But why not provide integration with current already popular open source mature tools such as labelimg/cvat and or work with companies collaborating with Universities or research institutes such as Labellerr, Labelbox etc.

Will that not be a much more scalable approach?