рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди: Gradio & Ultralytics YOLOv8 ЁЯЪА
рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп
рдпрд╣ Gradio рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ Ultralytics YOLOv8 рдХреЛ рдЧрдврд╝рдирд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдереНрд░реЗрд╢реЛрд▓реНрдб рдФрд░ рдЗрдВрдЯрд░рд╕реЗрдХреНрд╢рди-рдУрд╡рд░-рдпреВрдирд┐рдпрди (IoU) рдереНрд░реЗрд╢реЛрд▓реНрдб рдЬреИрд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП Gradio рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?
- рдЙрдкрднреЛрдХреНрддрд╛ - рдЕрдиреБрдХреВрд▓ рдЗрдВрдЯрд░рдлреЗрд╕: Gradio рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреЛрдбрд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдкрд╣рдЪрд╛рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рдордВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕рдорд╛рдпреЛрдЬрди: рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ IoU рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдЬреИрд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдордХреНрдЦреА рдкрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рддрддреНрдХрд╛рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред
- рд╡реНрдпрд╛рдкрдХ рдкрд╣реБрдБрдЪ: Gradio рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдХреЛрдИ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдкреНрд░рджрд░реНрд╢рдиреЛрдВ, рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдФрд░ рддреНрд╡рд░рд┐рдд рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рдмрди рдЬрд╛рддрд╛ рд╣реИред
Gradio рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
- рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ: рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рдлрд╛рдЗрд▓ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП 'рдЕрдкрд▓реЛрдб рдЗрдореЗрдЬ' рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:
- рдХреЙрдиреНрдлрд┐рдбреЗрдВрд╕ рдереНрд░реЗрд╢реЛрд▓реНрдб: рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реНрддрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд▓рд╛рдЗрдбрд░ред
- IoU рдереНрд░реЗрд╢реЛрд▓реНрдб: рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IoU рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд▓рд╛рдЗрдбрд░ред
- рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ: рдкрддрд╛ рд▓рдЧрд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЙрдирдХреЗ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ
- рдирдореВрдирд╛ рдЫрд╡рд┐ 1: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреЗ рд╕рд╛рде рдмрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ред
- рдирдореВрдирд╛ рдЫрд╡рд┐ 2: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЦреЗрд▓ рдЫрд╡рд┐ рдкрд░ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ред
рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг
рдпрд╣ рдЦрдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ Python рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ Gradio рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ Ultralytics YOLOv8 рдХреЛ рдЧрдврд╝рдирд╛ред рд╡рд░реНрдЧреАрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ, рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ, рд╡рд┐рднрд╛рдЬрди рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolov8n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts and plots labeled objects in an image using YOLOv8 model with adjustable confidence and IOU thresholds."""
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
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="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLOv8n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()
рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
img |
Image |
рд╡рд╣ рдЫрд╡рд┐ рдЬрд┐рд╕ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред |
conf_threshold |
float |
рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд╣рд▓реАрдЬред |
iou_threshold |
float |
рдСрдмреНрдЬреЗрдХреНрдЯ рдкреГрдердХреНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЪреМрд░рд╛рд╣реЗ-рдУрд╡рд░-рдпреВрдирд┐рдпрди рдереНрд░реЗрд╕рд╣реЛрд▓реНрдбред |
Gradio рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШрдЯрдХ
рдШрдЯрдХ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
рдЫрд╡рд┐ рдЗрдирдкреБрдЯ | рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред |
рд╕реНрд▓рд╛рдЗрдбрд░реНрд╕ | рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ IoU рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред |
рдЫрд╡рд┐ рдЖрдЙрдЯрдкреБрдЯ | рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред |
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2024-02-01, рдЕрджреНрдпрддрдиреНрдп: 2024-05-18
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (3), рд░рд┐рдЬрд╡рд╛рди рдореБрдирд╡реНрд╡рд░ (1)