Spaces:
Runtime error
Runtime error
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.Image = None, | |
model_path: gr.Dropdown = None, | |
image_size: gr.Slider = 640, | |
conf_threshold: gr.Slider = 0.25, | |
iou_threshold: gr.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.Image(type="filepath", label="Input Image"), | |
gr.Dropdown(["foduucom/thermal-image-object-detection"], | |
default="foduucom/thermal-image-object-detection", label="Model"), | |
gr.Slider(minimum=320, maximum=1280, default=640, step=32, label="Image Size"), | |
gr.Slider(minimum=0.0, maximum=1.0, default=0.25, step=0.05, label="Confidence Threshold"), | |
gr.Slider(minimum=0.0, maximum=1.0, default=0.45, step=0.05, label="IOU Threshold"), | |
] | |
outputs = gr.Image(type="filepath", label="Output Image") | |
title = "ThermalSense: Object Detection in Thermal Images" | |
description =""" | |
π₯ Unveiling ThermalFoduu: Spot Objects with Thermal Vision! ππΈ Lost your keys in the dark? ποΈπ ThermalFoduu's got you covered! Powered by Foduu AI, our app effortlessly detects objects in thermal images. No more blurry blobs β just pinpoint accuracy! π¦ π― | |
Love the thermal world? Give us a thumbs up! π Questions or suggestions? Contact us at info@foduu. Let's decode the thermal universe together! π§π‘οΈ | |
""" | |
examples = [['samples/1.jpeg', '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.queue().launch(debug=True) | |