Falah's picture
update
e81fde2
raw
history blame
2.51 kB
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((100, 100), "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")
articles = [
gr.Article(
title="Introduction to Text Generation",
content="Text generation is the process of creating natural language text using computational methods. It is a subfield of natural language processing and has applications in various domains such as chatbots, language translation, and creative writing.",
),
gr.Article(
title="GPT-2 Model",
content="GPT-2 (Generative Pre-trained Transformer 2) is a state-of-the-art language model developed by OpenAI. It is trained on a massive amount of text data and can generate coherent and contextually relevant text based on a given prompt.",
),
gr.Article(
title="How to Use",
content="To generate text, simply enter a prompt in the text input box and click the 'Generate' button. The model will then generate multiple text outputs based on the prompt. You can experiment with different prompts to see how the generated text changes.",
),
]
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.",
article=articles
)
# Launch the Gradio interface
iface.launch(debug=True)