SoulPerforms's picture
Update app.py
b7559d9 verified
raw
history blame
1.54 kB
# -*- coding: utf-8 -*-
"""app.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1WeNkl1pYnT0qeOTsUFooLFLJ1arRHC00
"""
# %pip install ultralytics -q
# %pip install gradio -q
import cv2
import os
import PIL.Image as Image
import gradio as gr
from huggingface_hub import hf_hub_download
from ultralytics import ASSETS, YOLO
# load trained model
model = YOLO("best.pt")
def predict_image(img, conf_threshold, iou_threshold):
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
current_directory = "/home/user/app/image"
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold")
],
outputs=gr.Image(type="pil", label="Result"),
title="Fire Detection using YOLOv8n on Gradio",
description="Upload images for inference. The Ultralytics YOLOv8n trained model is used for inference.",
examples=[
[os.path.join(current_directory, "fire_image_1.jpg"), 0.25, 0.45],
[os.path.join(current_directory, "fire_image_3.jpg"), 0.25, 0.45],
]
)
if __name__ == '__main__':
iface.launch()