nehulagrawal's picture
Update app.py
dd4d617
raw
history blame
3.47 kB
import gradio as gr
import torch
from sahi.prediction import ObjectPrediction
from sahi.utils.cv import visualize_object_predictions, read_image
from ultralyticsplus import YOLO, render_result
def yolov8_inference(
image: gr.inputs.Image = None,
model_path: gr.inputs.Dropdown = None,
image_size: gr.inputs.Slider = 640,
conf_threshold: gr.inputs.Slider = 0.25,
iou_threshold: gr.inputs.Slider = 0.45,
):
"""
YOLOv8 inference function
Args:
image: Input image
model_path: Path to the model
image_size: Image size
conf_threshold: Confidence threshold
iou_threshold: IOU threshold
Returns:
Rendered image
"""
model = YOLO(model_path)
model.overrides['conf'] = conf_threshold
model.overrides['iou']= iou_threshold
model.overrides['agnostic_nms'] = False # NMS class-agnostic
model.overrides['max_det'] = 1000
image = read_image(image)
results = model.predict(image)
render = render_result(model=model, image=image, result=results[0])
return render
inputs = [
gr.inputs.Image(type="filepath", label="Input Image"),
gr.inputs.Dropdown(["foduucom/thermal-image-object-detection"],
default="foduucom/thermal-image-object-detection", label="Model"),
gr.inputs.Slider(minimum=320, maximum=1280, default=640, step=32, label="Image Size"),
gr.inputs.Slider(minimum=0.0, maximum=1.0, default=0.25, step=0.05, label="Confidence Threshold"),
gr.inputs.Slider(minimum=0.0, maximum=1.0, default=0.45, step=0.05, label="IOU Threshold"),
]
outputs = gr.outputs.Image(type="filepath", label="Output Image")
title = "ThermalSense: Object Detection in Thermal Images"
description ="""
Tired of playing 'Where's Waldo?' with your thermal images? Look no further! πŸ•΅οΈβ€β™‚οΈπŸ” Our cutting-edge app, powered by the incredible Foduu AI model, has mastered the art of object detection in thermal images. Whether it's locating your lost TV remote in the abyss of your cozy couch or pinpointing the neighborhood cat's stealthy midnight escapades, ThermalFoduu has got your back! πŸ“±πŸ”₯
No more squinting at pixelated blobs – our app skillfully identifies objects with the precision of a hawk eyeing its prey. πŸ¦…πŸŽ― Worried about distinguishing between a warm pizza slice and your sneaky pet lizard? Worry no more! ThermalFoduu's got your back, even in the most 'heated' culinary conundrums. πŸ•πŸ¦Ž
And if you ever find yourself puzzled by the nuances of thermal imagery or craving a deeper dive into the infrared universe, fear not! Our friendly team at Foduu is just an email away. Contact us at info@foduu for all your questions, suggestions, or even if you just want to chat about the latest trends in thermal fashion. πŸ˜ŽπŸ“§
So, if you're ready to unveil the secrets hidden within thermal landscapes, join the ThermalFoduu revolution today! Tap that download button and let the thermal adventure begin! πŸš€πŸŒŒ #ThermalFoduu #HeatSeeker #FoduuMagic
"""
examples = [['samples/1.jpg', 'foduucom/thermal-image-object-detection', 640, 0.25, 0.45], ['samples/2.jpg', 'foduucom/thermal-image-object-detection', 640, 0.25, 0.45]]
demo_app = gr.Interface(
fn=yolov8_inference,
inputs=inputs,
outputs=outputs,
title=title,
description=description,
examples=examples,
cache_examples=True,
theme='huggingface',
)
demo_app.launch(debug=True, enable_queue=True)