Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/autodistill/autodistill-efficient-yolo-world
EfficientSAM + YOLO World base model for use with Autodistill.
https://github.com/autodistill/autodistill-efficient-yolo-world
efficientsam yolo-world zero-shot-object-detection zero-shot-segmentation
Last synced: about 2 months ago
JSON representation
EfficientSAM + YOLO World base model for use with Autodistill.
- Host: GitHub
- URL: https://github.com/autodistill/autodistill-efficient-yolo-world
- Owner: autodistill
- Created: 2024-02-16T20:46:15.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-21T09:29:27.000Z (10 months ago)
- Last Synced: 2024-02-21T10:37:42.028Z (10 months ago)
- Topics: efficientsam, yolo-world, zero-shot-object-detection, zero-shot-segmentation
- Language: Python
- Homepage: https://docs.roboflow.com
- Size: 5.86 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Autodistill EfficientYOLOWorld Module
This repository contains the code supporting the EfficientYOLOWorld base model for use with [Autodistill](https://github.com/autodistill/autodistill).
EfficientYOLOWorld is a combination of two models:
1. YOLO-World, a zero-shot object detection model, and;
2. EfficientSAM, an image segmentation model.This model runs EfficientSAM on each bounding box region generated by YOLO-World. This allows you to retrieve both the bounding box and the segmentation mask for each object of interest in an image.
Read the full [Autodistill documentation](https://autodistill.github.io/autodistill/).
Read the [EfficientYOLOWorld Autodistill documentation](https://autodistill.github.io/autodistill/base_models/efficient_yolo_world/).
## Installation
To use EfficientYOLOWorld with autodistill, you need to install the following dependency:
```bash
pip3 install autodistill-efficient-yolo-world
```## Quickstart
```python
from autodistill_efficient_yolo_world import EfficientYOLOWorld
from autodistill.detection import CaptionOntology
import cv2
import supervision as sv# define an ontology to map class names to our EfficientYOLOWorld prompt
# the ontology dictionary has the format {caption: class}
# where caption is the prompt sent to the base model, and class is the label that will
# be saved for that caption in the generated annotations
# then, load the model
base_model = EfficientYOLOWorld(ontology=CaptionOntology({"book": "book"}))# predict on an image
result = base_model.predict("bookshelf.jpeg", confidence=0.1)image = cv2.imread("bookshelf.jpeg")
mask_annotator = sv.MaskAnnotator()
annotated_frame = mask_annotator.annotate(
scene=image.copy(),
detections=result,
)sv.plot_image(annotated_frame)
base_model.label("./context_images", extension=".jpeg")
```## License
EfficientSAM is licensed under an [Apache 2.0 license](EFFICIENT_SAM_LICENSE).
YOLO-World is licensed under a [GPL-3.0 license](YOLO_WORLD_LICENSE).
## 🏆 Contributing
We love your input! Please see the core Autodistill [contributing guide](https://github.com/autodistill/autodistill/blob/main/CONTRIBUTING.md) to get started. Thank you 🙏 to all our contributors!