Update README.md to enhance features and add examples - #2065
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request enhances the README.md documentation by adding comprehensive feature highlights, usage examples for key functionalities, and improving formatting consistency. The changes make the documentation more accessible and informative for users.
- Added "Key Features" and "Why Supervision?" sections to highlight the library's capabilities and value proposition
- Introduced practical code examples for tracking, line zones, polygon zones, and metrics
- Converted embedded media links to labeled hyperlinks for cleaner presentation
- Consolidated HTML formatting for social media icons
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## 🌟 Key Features | ||
| - 🚀 **Model Agnostic**: Connectors for Ultralytics YOLO, Transformers, MMDetection, Roboflow Inference & more ([docs](https://supervision.roboflow.com/latest/detection/core/#detections)) | ||
| - 🎨 **25+ Annotators**: Box, Label, Mask, Trace, HeatMap, Icon, Blur, Pixelate, Halo & many others ([docs](https://supervision.roboflow.com/latest/detection/annotators/)) | ||
| - 🏃♂️ **Object Tracking**: ByteTracker & more for multi-object tracking ([docs](https://supervision.roboflow.com/latest/trackers/byte_tracker/)) | ||
| - 📏 **Line & Polygon Zones**: Count/filter objects crossing lines or in polygons | ||
| - 📊 **Metrics**: mAP, Precision, Recall, F1 Score ([docs](https://supervision.roboflow.com/latest/metrics/mean_average_precision/)) | ||
| - 🗂️ **Datasets**: Load, split, convert (COCO, YOLO, Pascal VOC, etc.) ([docs](https://supervision.roboflow.com/latest/datasets/core/)) | ||
| - 🔧 **Utils**: NMS/IoU filters, geometry primitives, drawing helpers | ||
|
|
||
| ## 🚀 Why Supervision? | ||
| - ⏱️ **Accelerate Development**: Ready-to-use utilities for annotations, tracking, zones, metrics – skip boilerplate code. | ||
| - 🤖 **Model Agnostic**: Integrates seamlessly with YOLO, Transformers, MMDetection, Roboflow Inference & more. | ||
| - ⚡ **Lightweight**: Minimal deps (numpy, opencv), no ML frameworks needed, optimized for speed. | ||
| - 🏗️ **Production-Ready**: Robust, battle-tested tools used in Roboflow products. | ||
| - 📚 **Rich Ecosystem**: 25+ annotators, full docs, tutorials, notebooks, active Discord ([join here](https://discord.gg/GbfgXGJ8Bk)). |
There was a problem hiding this comment.
This feels very AI generated. Let's remove all the emojis other than ones in headers. All headers were lower case, so lets keep things consistant.
There was a problem hiding this comment.
I put all emojis there on purpose; it makes the reading nicer
but fine to make it boring text again :)
There was a problem hiding this comment.
it is fine to write it just once
| ### 🏃♂️ tracking | ||
| Track objects across frames with state-of-the-art trackers like ByteTrack. | ||
|
|
||
| ```python | ||
| import supervision as sv | ||
|
|
||
| byte_tracker = sv.ByteTracker() | ||
| tracks = byte_tracker.update_with_detections(detections=detections) | ||
| ``` | ||
| Use `sv.IdAnnotator()` to visualize track `id`. | ||
|
|
||
| ### 📏 line zone | ||
| Count objects crossing a line. | ||
|
|
||
| ```python | ||
| line_zone = sv.LineZone(start=sv.Point(0, 0), end=sv.Point(640, 640)) | ||
| line_zone_annotator = sv.LineZoneAnnotator() | ||
|
|
||
| line_zone.trigger(detections=detections) | ||
| annotated_frame = line_zone_annotator.annotate(scene=image, line_counter=line_zone) | ||
| ``` |
There was a problem hiding this comment.
Tracking is still here, but with next release of trackers that will add ByteTracker, we plan to deprecate ByteTracker from supervision.
| annotated_frame = line_zone_annotator.annotate(scene=image, line_counter=line_zone) | ||
| ``` | ||
|
|
||
| ### 🔶 polygon zone |
There was a problem hiding this comment.
let's not go to hard on emojis + keep things consistant ### headers don't have emojis
There was a problem hiding this comment.
it is fine to write it just once
| annotated_frame = polygon_zone_annotator.annotate(scene=image, polygon_zone=polygon_zone) | ||
| ``` | ||
|
|
||
| ### 📊 metrics |
There was a problem hiding this comment.
let's not go to hard on emojis + keep things consistant ### headers don't have emojis
There was a problem hiding this comment.
it is fine to write it just once
| **We write your reusable computer vision tools.** Whether you need to load your dataset from your hard drive, draw detections on an image or video, or count how many detections are in a zone. You can count on us! 🤝 | ||
|
|
||
| ## 🌟 Key Features | ||
| - 🚀 **Model Agnostic**: Connectors for Ultralytics YOLO, Transformers, MMDetection, Roboflow Inference & more ([docs](https://supervision.roboflow.com/latest/detection/core/#detections)) |
There was a problem hiding this comment.
Let's alweays put Roboflow Inference as #1 when we list frameworks and libraries like this.
|
|
||
| ## 🚀 Why Supervision? | ||
| - ⏱️ **Accelerate Development**: Ready-to-use utilities for annotations, tracking, zones, metrics – skip boilerplate code. | ||
| - 🤖 **Model Agnostic**: Integrates seamlessly with YOLO, Transformers, MMDetection, Roboflow Inference & more. |
There was a problem hiding this comment.
Let's alweays put Roboflow Inference as #1 when we list frameworks and libraries like this.
|
This is a strong direction. A few high level notes:
|
|
Okay, as it seems you requested changes or negated the purpose of this PR, I'll close it. However, please suggest some other improvements to the README so the user can see the value of this package, as it is missing right now.
It could be for you, as you know the package, but for anyone else, if I dont see the value early in the readme, I just leave and find something else. The features serve as content, you also dont complain that the book has a chapter listed in content and later in the body... |
This pull request significantly improves the
README.mdby making the documentation more user-friendly and informative. The main enhancements include the addition of a "Key Features" section, new code examples for core functionalities, improved demo links, and minor formatting updates for clarity and consistency.Documentation improvements:
Demo and formatting updates: