Supervisely Ecosystem 🆕

📚 This guide explains how to use Supervisely with YOLOv5 🚀.

🔥 About Supervisely

You can think of Supervisely as an Operating System available via Web Browser to help you solve Computer Vision tasks. The idea is to unify all the relevant tools that may be needed to make the development process as smooth and fast as possible.

More concretely, Supervisely includes the following functionality:

  • Data labeling for images, videos, 3D point cloud and volumetric medical images (dicom)

  • Data visualization and quality control

  • State-Of-The-Art Deep Learning models for segmentation, detection, classification and other tasks

  • Interactive tools for model performance analysis

  • Specialized Deep Learning models to speed up data labeling (aka AI-assisted labeling)

  • Synthetic data generation tools

  • Instruments to make it easier to collaborate for data scientists, data labelers, domain experts and software engineers

One challenge is to make it possible for everyone to train and apply SOTA Deep Learning models directly from the Web Browser. To address it, we introduce an open sourced Supervisely Agent. All you need to do is to execute a single command on your machine with the GPU that installs the Agent. After that, you keep working in the browser and all the GPU related computations will be performed on the connected machine(s).

Prerequisites

You should connect computer with GPU to your Supervisely account. If you already have Supervisely Agent running on your computer, you can skip this step.

Several tools have to be installed on your computer:

Once your computer is ready just add agent to your team and execute automatically generated running command in terminal. Watch how-to video:

SLY_EMBEDED_VIDEO_LINK

🎉 YOLO v5 Apps Collection

YOLOv5 is one of the best available detectors. And we are proud to announce its full integrtion into Supervisely Ecosystem. To learn more about how to use every app, please go to app’s readme page (links are provided). Just add the apps to your team to start using them.

https://i.imgur.com/az5sqvk.png

YOLOv5 Collection consists of the following apps:

  1. Train YOLOv5 - start training on your custom data. Just run app from the context menu of your project, choose classes of interest, train/val splits, configure training metaparameters and augmentations, and monitor training metrics in realtime. App automatically converts all labels to rectangles. All training artifacts including model weights will be saved to Team Files and can be easily downloaded.

    https://i.imgur.com/RkVzrLC.png
  2. Serve YOLOv5 - serve model as Rest API service. You can run pretrained model, use custom model weights trained in Supervisely as well as weights trained outside (just upload weights file to Team Files). Thus other apps from Ecosystem can get predictions from the deployed model. Also developers can send inference requiests in a few lines of python code.

    https://i.imgur.com/DVONwK8.png
  3. Apply NN to images project - app allows to play with different inference options and visualize predictions in real time. Once you choose inference settings you can apply model to all images in your project to visually analise predictions and perform automatic data pre-labeling.

    https://i.imgur.com/M2Tp8lE.png
  4. NN Image Labeling - integrate any deployd NN to Supervisely Image Labeling UI. Configure inference settings and model output classes. Press Apply button (or use hotkey) and detections with their confidences will immediately appear on the image.

    https://i.imgur.com/hYEucNt.png
  5. Convert Supervisely to YOLO v5 format - export labeled images project in yolov5 compatible format.

    https://i.imgur.com/9cfB1m0.png
  6. Convert YOLO v5 to Supervisely format - import images and yolov5 annotatons to Supervisely.

    https://i.imgur.com/roiJIE8.png

For Developers

  • you can use sources of Serve YOLOv5 app as example of how to prepare weights, initialize model and apply it to a folder with images (or to images URLs)

  • This apps collection is based on the original YOLOv5 release v5.0. Once a next official release is available, all apps will be synchronized with it and also released with the new versions. Before running any app you can choose what version to use. Also Supervisely Team will pull updates from original master branch from time to time.

Contact & Questions & Suggestions

  • for technical support please leave issues, questions or suggestions to original YOLOv5 repo with the prefix [Supervisely]. Our team will try to help.

  • also we can chat in slack channel