Build Computer Vision Applications Faster with Supervision

Do you feel like every time you start a new computer vision project, you write lots of code that you’ve already written before?

Writing the same code over and over again is exhausting. That’s why we decided to create Supervision, an open-source toolkit for any computer vision project. Whether you want to process a video, draw a detection on a frame, or convert labels from one format to another; we’ve got you covered!

We decided to distribute Supervision under an MIT license, so you can use the library freely in projects you are working on, public or private.

Get Started

Starting your adventure with Supervision is easy. All you have to do is run:

pip install supervision

In case you have any questions, use our documentation, and don’t hesitate to reach out in the Q&A section on our GitHub.

Examples

A well-documented library is a must, but there is nothing better than ready-to-use examples. That’s why we’ve put together some projects to help you familiarize yourself with the Supervision API.

Learn how to use Supervision, YOLOv8, and ByteTrack to count objects crossing the line [code]
Detect and count objects in a polygon zone with YOLOv5 / YOLOv8 / Detectron2 [code]
Use Supervision for real-time video analytics [code]

Roadmap

When we started working on the Supervision library, we decided to build it in public. We wanted to create alongside the community, rather than building a toolkit that only meets the needs of our own team. Here are some exciting but not yet implemented features that you can expect us to deliver in the coming months:

  • Instance Segmentation models support - We have put a lot of work into making the integration of Supervision and object detection models as seamless as possible. In the near future, we want to ensure that all advanced Supervision functionalities such as LineZoneCounter or PolygonZoneCounter work just as well with instance segmentation models.
  • Polygon zone timer - This feature will tell you both how many objects are in a zone as well as how long they have been there.
  • General-purpose label converter - Converting annotation labels between formats is time-consuming and can cause many bugs that are difficult to fix. We aim to save you the trouble and arm you with ready-to-use tools.

Contributing to Supervision

Supervision is an open-source project, and we want to collaborate with community members to build it with us. Don’t feel discouraged if you’re just starting your programming or computer vision journey; contribution does not have to mean dozens of pull requests and thousands of lines of code. Every bug report or feature request is a huge help to us.

We’re excited to see what you build with Supervision! ⭐