william1324 commited on
Commit
c5ed0fe
·
verified ·
1 Parent(s): 33df8b4

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from ultralytics import YOLO
3
+
4
+ model = YOLO("best.pt")
5
+
6
+ class_zh = {
7
+ "cardboard": "紙板 / 紙箱類",
8
+ "glass": "玻璃類",
9
+ "metal": "金屬類",
10
+ "paper": "紙類",
11
+ "plastic": "塑膠類",
12
+ "trash": "一般垃圾"
13
+ }
14
+
15
+ def predict_garbage(image):
16
+ results = model.predict(image, verbose=False)
17
+ result = results[0]
18
+
19
+ class_id = result.probs.top1
20
+ confidence = result.probs.top1conf.item()
21
+ class_name = result.names[class_id]
22
+
23
+ chinese_name = class_zh.get(class_name, class_name)
24
+
25
+ output_text = f"""
26
+ 預測類別:{class_name}
27
+
28
+ 中文說明:{chinese_name}
29
+
30
+ 信心分數:{confidence:.4f}
31
+
32
+ 信心百分比:{confidence * 100:.2f}%
33
+ """
34
+
35
+ return output_text
36
+
37
+ demo = gr.Interface(
38
+ fn=predict_garbage,
39
+ inputs=gr.Image(type="pil", label="上傳垃圾圖片"),
40
+ outputs=gr.Textbox(label="模型預測結果"),
41
+ title="AI 垃圾分類影像辨識系統",
42
+ description="使用 YOLOv8 模型辨識垃圾圖片類別,包含 cardboard、glass、metal、paper、plastic、trash 六種類別。"
43
+ )
44
+
45
+ demo.launch()