Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import pipeline | |
from PIL import Image, ImageDraw | |
checkpoint = "google/owlvit-base-patch32" | |
detector = pipeline(model=checkpoint, task="zero-shot-object-detection") | |
def detect_and_visualize_objects(image): | |
# Convert the image to RGB format | |
image = image.convert("RGB") | |
# Process the image using the object detection model | |
predictions = detector( | |
image, | |
candidate_labels=["human face", "rocket"], | |
) | |
# Draw bounding boxes and labels on the image | |
draw = ImageDraw.Draw(image) | |
if len(predictions) == 0: | |
draw.text((10, 10), "Object not found in image", fill="red") | |
else: | |
for prediction in predictions: | |
box = prediction["box"] | |
label = prediction["label"] | |
score = prediction["score"] | |
xmin, ymin, xmax, ymax = box.values() | |
draw.rectangle((xmin, ymin, xmax, ymax), outline="red", width=1) | |
draw.text((xmin, ymin), f"{label}: {round(score, 2)}", fill="white") | |
# Return the annotated image | |
return image | |
# Define the Gradio interface | |
image_input = gr.inputs.Image(type="pil") | |
image_output = gr.outputs.Image(type="pil") | |
iface = gr.Interface( | |
fn=detect_and_visualize_objects, | |
inputs=image_input, | |
outputs=image_output, | |
title="Space and War Missile Detection System", | |
description="Detect objects in an image using a pre-trained model and visualize the results." | |
) | |
# Launch the Gradio interface | |
iface.launch(debug=True) | |