https://github.com/overeasy-sh/overeasy
Orchestrate zero-shot computer vision models
https://github.com/overeasy-sh/overeasy
agent agents artificial-intelligence computer-vision llms open-source vision-framework
Last synced: 9 months ago
JSON representation
Orchestrate zero-shot computer vision models
- Host: GitHub
- URL: https://github.com/overeasy-sh/overeasy
- Owner: overeasy-sh
- License: mit
- Created: 2024-04-21T19:29:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T12:30:36.000Z (almost 2 years ago)
- Last Synced: 2025-09-02T14:19:20.818Z (10 months ago)
- Topics: agent, agents, artificial-intelligence, computer-vision, llms, open-source, vision-framework
- Language: HTML
- Homepage: https://docs.overeasy.sh/
- Size: 46.5 MB
- Stars: 396
- Watchers: 7
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🥚 Overeasy
Create powerful zero-shot vision models!
Overeasy allows you to chain zero-shot vision models to create custom end-to-end pipelines for tasks like:
- 📦 Bounding Box Detection
- 🏷️ Classification
- 🖌️ Segmentation (Coming Soon!)
All of this can be achieved without needing to collect and annotate large training datasets.
Overeasy makes it simple to combine pre-trained zero-shot models to build powerful custom computer vision solutions.
## Installation
It's as easy as
```bash
pip install overeasy
```
For installing extras refer to our [Docs](https://docs.overeasy.sh/installation/installing-extras).
## Key Features
- `🤖 Agents`: Specialized tools that perform specific image processing tasks.
- `🧩 Workflows`: Define a sequence of Agents to process images in a structured manner.
- `🔗 Execution Graphs`: Manage and visualize the image processing pipeline.
- `🔎 Detections`: Represent bounding boxes, segmentation, and classifications.
## Documentation
For more details on types, library structure, and available models please refer to our [Docs](https://docs.overeasy.sh).
## Example Usage
> Note: If you don't have a local GPU, you can run our examples by making a copy of this [Colab notebook](https://colab.research.google.com/drive/1Mkx9S6IG5130wiP9WmwgINiyw0hPsh3c?usp=sharing#scrollTo=L0_U27WJaTNO).
Download example image
```bash
!wget https://github.com/overeasy-sh/overeasy/blob/73adbaeba51f532a7023243266da826ed1ced6ec/examples/construction.jpg?raw=true -O construction.jpg
```
Example workflow to identify if a person is wearing a PPE on a work site:
```python
from overeasy import *
from overeasy.models import OwlV2
from PIL import Image
workflow = Workflow([
# Detect each head in the input image
BoundingBoxSelectAgent(classes=["person's head"], model=OwlV2()),
# Applies Non-Maximum Suppression to remove overlapping bounding boxes
NMSAgent(iou_threshold=0.5, score_threshold=0),
# Splits the input image into images of each detected head
SplitAgent(),
# Classifies the split images using CLIP
ClassificationAgent(classes=["hard hat", "no hard hat"]),
# Maps the returned class names
ClassMapAgent({"hard hat": "has ppe", "no hard hat": "no ppe"}),
# Combines results back into a BoundingBox Detection
JoinAgent()
])
image = Image.open("./construction.jpg")
result, graph = workflow.execute(image)
workflow.visualize(graph)
```
### Diagram
Here's a diagram of this workflow. Each layer in the graph represents a step in the workflow:

The image and data attributes in each node are used together to visualize the current state of the workflow. Calling the `visualize` function on the workflow will spawn a Gradio instance that looks like [this](https://overeasy-sh.github.io/gradio-example/Gradio.html).
## Support
If you have any questions or need assistance, please open an issue or reach out to us at help@overeasy.sh.
Let's build amazing vision models together 🍳!