File size: 1,509 Bytes
952d1ad
b51fb05
952d1ad
 
fbb9909
b51fb05
952d1ad
fbb9909
b51fb05
 
fbb9909
 
 
69f9057
fbb9909
b51fb05
fbb9909
 
69f9057
fbb9909
69f9057
fbb9909
 
 
69f9057
fbb9909
 
 
 
 
 
 
 
69f9057
fbb9909
 
 
b51fb05
952d1ad
b51fb05
 
 
 
 
 
fbb9909
952d1ad
b51fb05
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import gradio as gr
from ultralytics import YOLO
from PIL import Image

# Pretrained YOLOv8n моделін жүктеу
model = YOLO('yolov8n.pt')

# Қоқыс жәшігін тексеру және дабыл шығару функциясы
def check_trash(img):
    results = model(img)
    detected_bins = []
    detected_trash = []

    for box in results[0].boxes:
        label = results[0].names[int(box.cls.item())]
        conf = box.conf.item()
        if conf < 0.5:
            continue
        if 'bin' in label or 'container' in label:  # Жәшік
            detected_bins.append(label)
        else:  # Қоқыс
            detected_trash.append(label)

    output = []
    # Толы / бос жәшік
    if detected_bins:
        if detected_trash:
            output.append("Жәшік: Толы ✅")
        else:
            output.append("Жәшік: Бос ⚪")
    else:
        output.append("Жәшік табылмады ❌")

    # Сыртқа шыққан қоқыс
    if detected_trash:
        output.append(f"Сыртқа шыққан қоқыс табылды 🚨: {', '.join(detected_trash)}")

    return "\n".join(output)

# Gradio интерфейсі
app = gr.Interface(
    fn=check_trash,
    inputs=gr.Image(type="pil"),
    outputs=gr.Textbox(),
    title="SmartCity Waste Detection",
    description="Қоқыс жәшігін, сыртқа төгілген қоқысты және толық/бос жәшікті анықтайды"
)

app.launch()