Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/autodistill/autodistill-grounded-edgesam
EdgeSAM model for use with Autodistill.
https://github.com/autodistill/autodistill-grounded-edgesam
autodistill edgesam grounded-multimodal-model image-segmentation
Last synced: about 2 months ago
JSON representation
EdgeSAM model for use with Autodistill.
- Host: GitHub
- URL: https://github.com/autodistill/autodistill-grounded-edgesam
- Owner: autodistill
- License: other
- Created: 2023-12-12T16:09:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-11T07:24:37.000Z (7 months ago)
- Last Synced: 2024-06-11T08:46:03.381Z (7 months ago)
- Topics: autodistill, edgesam, grounded-multimodal-model, image-segmentation
- Language: Python
- Homepage: https://docs.autodistill.com
- Size: 13.7 KB
- Stars: 22
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Autodistill Grounded EdgeSAM Module
This repository contains the code supporting the Grounded EdgeSAM base model for use with [Autodistill](https://github.com/autodistill/autodistill).
[EdgeSAM](https://github.com/chongzhou96/EdgeSAM), introduced in the "EdgeSAM: Prompt-In-the-Loop Distillation for On-Device Deployment of SAM" paper, is a faster version of the Segment Anything model.
Grounded EdgeSAM combines [Grounding DINO](https://blog.roboflow.com/grounding-dino-zero-shot-object-detection/) and EdgeSAM, allowing you to identify objects and generate segmentation masks for them.
Read the full [Autodistill documentation](https://autodistill.github.io/autodistill/) to learn more about Autodistill.
## Installation
To use Grounded EdgeSAM with autodistill, you need to install the following dependency:
```bash
pip3 install autodistill-grounded-edgesam
```## Quickstart
```python
from autodistill_clip import CLIP# define an ontology to map class names to our GroundingDINO 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
from autodistill_grounded_edgesam import GroundedEdgeSAM
from autodistill.detection import CaptionOntology
from autodistill.utils import plot
import cv2# define an ontology to map class names to our GroundedSAM 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 = GroundedEdgeSAM(
ontology=CaptionOntology(
{
"person": "person",
"forklift": "forklift",
}
)
)# run inference on a single image
results = base_model.predict("logistics.jpeg")plot(
image=cv2.imread("logistics.jpeg"),
classes=base_model.ontology.classes(),
detections=results
)# label a folder of images
base_model.label("./context_images", extension=".jpeg")
```## License
This repository is released under an [S-Lab License 1.0](LICENSE) 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!