till-onethousand commited on
Commit
3da3694
·
1 Parent(s): 080a611
Files changed (1) hide show
  1. app.py +40 -8
app.py CHANGED
@@ -1,12 +1,44 @@
1
  import gradio as gr
 
2
 
3
- def greet(name, intensity):
4
- return "Hello, " + name + "!" * int(intensity)
5
 
6
- demo = gr.Interface(
7
- fn=greet,
8
- inputs=["text", "slider"],
9
- outputs=["text"],
10
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
- demo.launch(share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import PIL.Image as Image
3
 
4
+ from ultralytics import ASSETS, YOLO
 
5
 
6
+ model = None
7
+
8
+
9
+ def predict_image(img, conf_threshold, iou_threshold, model_name):
10
+ """Predicts objects in an image using a YOLOv8 model with adjustable confidence and IOU thresholds."""
11
+ model = YOLO(model_name)
12
+ results = model.predict(
13
+ source=img,
14
+ conf=conf_threshold,
15
+ iou=iou_threshold,
16
+ show_labels=True,
17
+ show_conf=True,
18
+ imgsz=640,
19
+ )
20
+
21
+ for r in results:
22
+ im_array = r.plot()
23
+ im = Image.fromarray(im_array[..., ::-1])
24
 
25
+ return im
26
+
27
+
28
+ iface = gr.Interface(
29
+ fn=predict_image,
30
+ inputs=[
31
+ gr.Image(type="pil", label="Upload Image"),
32
+ gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
33
+ gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
34
+ gr.Radio(choices=["yolo11n", "yolo11s", "yolo11n-seg", "yolo11s-seg", "yolo11n-pose", "yolo11s-pose"], label="Model Name", value="yolo11n"),
35
+ ],
36
+ outputs=gr.Image(type="pil", label="Result"),
37
+ title="Ultralytics Gradio Application 🚀",
38
+ description="Upload images for inference. The Ultralytics YOLO11n model is used by default.",
39
+ examples=[
40
+ [ASSETS / "bus.jpg", 0.25, 0.45, "yolo11n.pt"],
41
+ [ASSETS / "zidane.jpg", 0.25, 0.45, "yolo11n.pt"],
42
+ ],
43
+ )
44
+ iface.launch(share=True)