import gradio as gr import pandas as pd from PIL import Image from torchkeras import plots from torchkeras.data import get_url_img from pathlib import Path from ultralytics import YOLO import ultralytics from ultralytics.yolo.data import utils # Pfad zu Ihrem Modell aktualisieren model = YOLO('2023-05-12-foodAndDrinks.pt') # Pfad zur YAML-Datei aktualisieren yaml_path = '2023-05-12-foodAndDrinks.yaml' class_names = utils.yaml_load(yaml_path)['names'] def detect(img): if isinstance(img,str): img = get_url_img(img) if img.startswith('http') else Image.open(img).convert('RGB') result = model.predict(source=img) if len(result[0].boxes.boxes)>0: vis = plots.plot_detection(img,boxes=result[0].boxes.boxes, class_names=class_names, min_score=0.2) else: vis = img return vis with gr.Blocks() as demo: with gr.Tab("Upload"): gr.Markdown("# foodServed, drinkServed, person, V0.0.10") # Dieser Text wird am Anfang des Tabs angezeigt. # Pfad zu Ihren Demo-Bildern demo_images = ["demoImages/demo01.jpg", "demoImages/demo02.jpg", "demoImages/demo03.jpg", "demoImages/demo04.jpg"] input_img = gr.Image(type='pil') out_img = gr.Image(type='pil') gr.Examples(examples=[[img] for img in demo_images], inputs=[input_img], outputs=[out_img], fn=detect) button = gr.Button("Detect",variant="primary") button.click(detect,inputs=input_img, outputs=out_img) gr.Markdown("## Output") with gr.Tab("Url"): default_url = 'https://i.postimg.cc/0jdbK03h/food-Image.jpg' url = gr.Textbox(value=default_url) button = gr.Button("Detect",variant="primary") gr.Markdown("## Output") out_img = gr.Image(type='pil') button.click(detect, inputs=url, outputs=out_img) gr.close_all() demo.queue() demo.launch()