๋ํํ ๊ฐ์ฒด ๊ฐ์ง: Gradio & Ultralytics YOLO11 ๐
๋ํํ ๊ฐ์ฒด ๊ฐ์ง ์๊ฐ
์ด Gradio ์ธํฐํ์ด์ค๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํํ ์ ์๋ ์์ฌ์ด ๋ํํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. Ultralytics YOLO11 ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ํํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ์ ๋ขฐ ์๊ณ๊ฐ ๋ฐ ๊ต์ฐจ์ ๊ฐ ๊ฒฐํฉ(IoU) ์๊ณ๊ฐ๊ณผ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์กฐ์ ํ์ฌ ์ค์๊ฐ ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
Watch: ๋ค์๊ณผ์ ๋ผ๋์ค ํตํฉ Ultralytics YOLO11
๋ฌผ์ฒด ๊ฐ์ง์ Gradio๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
- ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค: Gradio๋ ์ฌ์ฉ์๊ฐ ์ฝ๋ฉ ์์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ํ์ง ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ ์ ์๋ ๊ฐ๋จํ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.
- ์ค์๊ฐ ์กฐ์ : ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ๊ณผ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฆ์ ์กฐ์ ํ ์ ์์ด ํ์ง ๊ฒฐ๊ณผ์ ๋ํ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ ๋ฐ ์ต์ ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ํญ๋์ ์ ๊ทผ์ฑ: Gradio ์น ์ธํฐํ์ด์ค๋ ๋๊ตฌ๋ ์ก์ธ์คํ ์ ์์ด ๋ฐ๋ชจ, ๊ต์ก ๋ชฉ์ ๋ฐ ๋น ๋ฅธ ์คํ์ ์ํ ํ๋ฅญํ ๋๊ตฌ์ ๋๋ค.
๋ผ๋์ค ์ค์น ๋ฐฉ๋ฒ
์ธํฐํ์ด์ค ์ฌ์ฉ ๋ฐฉ๋ฒ
- ์ด๋ฏธ์ง ์ ๋ก๋: '์ด๋ฏธ์ง ์ ๋ก๋'๋ฅผ ํด๋ฆญํ์ฌ ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํ ์ด๋ฏธ์ง ํ์ผ์ ์ ํํฉ๋๋ค.
- ๋งค๊ฐ๋ณ์๋ฅผ ์กฐ์ ํฉ๋๋ค:
- ์ ๋ขฐ๋ ์๊ณ๊ฐ: ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํ ์ต์ ์ ๋ขฐ ์์ค์ ์ค์ ํ๋ ์ฌ๋ผ์ด๋์ ๋๋ค.
- IoU ์๊ณ๊ฐ: ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ IoU ์๊ณ๊ฐ์ ์ค์ ํ๋ ์ฌ๋ผ์ด๋์ ๋๋ค.
- ๊ฒฐ๊ณผ ๋ณด๊ธฐ: ๊ฐ์ง๋ ๊ฐ์ฒด์ ํด๋น ๋ ์ด๋ธ์ด ํฌํจ๋ ์ฒ๋ฆฌ๋ ์ด๋ฏธ์ง๊ฐ ํ์๋ฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก ์์
- ์ํ ์ด๋ฏธ์ง 1: ๊ธฐ๋ณธ ์๊ณ๊ฐ์ ์ฌ์ฉํ ๋ฒ์ค ๊ฐ์ง.
- ์ํ ์ด๋ฏธ์ง 2: ๊ธฐ๋ณธ ์๊ณ๊ฐ์ ์ฌ์ฉํ ์คํฌ์ธ ์ด๋ฏธ์ง์์์ ๊ฐ์ง.
์ฌ์ฉ ์
์ด ์น์ ์์๋ Ultralytics YOLO11 ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ Gradio ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ Python ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ถ๋ฅ ์์ , ํ์ง ์์ , ์ธ๋ถํ ์์ ๋ฐ ํค ํฌ์ธํธ ์์ ์ ์ง์ํฉ๋๋ค.
import gradio as gr
import PIL.Image as Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO11 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 YOLO11n 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 |
์ค๋ธ์ ํธ ๋ถ๋ฆฌ๋ฅผ ์ํ ๊ต์ฐจ ์ค๋ฒ ์ ๋์จ ์๊ณ๊ฐ์ ๋๋ค. |
๋ผ๋์ค ์ธํฐํ์ด์ค ๊ตฌ์ฑ ์์
๊ตฌ์ฑ ์์ | ์ค๋ช |
---|---|
์ด๋ฏธ์ง ์ ๋ ฅ | ๊ฐ์งํ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํฉ๋๋ค. |
์ฌ๋ผ์ด๋ | ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ์ ์กฐ์ ํฉ๋๋ค. |
์ด๋ฏธ์ง ์ถ๋ ฅ | ํ์ง ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค. |
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ํด Gradio๋ฅผ Ultralytics YOLO11 ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
Gradio๋ฅผ Ultralytics YOLO11 ๊ฐ์ฒด ๊ฐ์ง์ ํจ๊ป ์ฌ์ฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:
- Gradio๋ฅผ ์ค์นํฉ๋๋ค: ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํฉ๋๋ค.
pip install gradio
. - ์ธํฐํ์ด์ค ์์ฑ: Python ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ์ฌ Gradio ์ธํฐํ์ด์ค๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฌธ์์์ ์ ๊ณต๋ ์ฝ๋ ์์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ ๋ก๋ ๋ฐ ์กฐ์ : ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ Gradio ์ธํฐํ์ด์ค์์ ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ์ ์กฐ์ ํ์ฌ ์ค์๊ฐ ๋ฌผ์ฒด ๊ฐ์ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ์ธ์.
๋ค์์ ์ฐธ๊ณ ํ ์ ์๋ ์ต์ํ์ ์ฝ๋ ์ค๋ํซ์ ๋๋ค:
import gradio as gr
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
def predict_image(img, conf_threshold, iou_threshold):
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
)
return results[0].plot() if results else None
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 YOLO11",
description="Upload images for YOLO11 object detection.",
)
iface.launch()
Ultralytics YOLO11 ๊ฐ์ฒด ๊ฐ์ง์ Gradio๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ด์ ์ด ์๋์?
Ultralytics YOLO11 ๊ฐ์ฒด ๊ฐ์ง๋ฅผ ์ํด Gradio๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ด์ ์ด ์์ต๋๋ค:
- ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค: Gradio๋ ์ฌ์ฉ์๊ฐ ์ฝ๋ฉ ์์ ์์ด ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ํ์ง ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ ์ ์๋ ์ง๊ด์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ค์๊ฐ ์กฐ์ : ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ๊ณผ ๊ฐ์ ํ์ง ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํ๊ณ ๊ทธ ํจ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ ๊ทผ์ฑ: ์น ์ธํฐํ์ด์ค๋ ๋๊ตฌ๋ ์ก์ธ์คํ ์ ์์ด ๋น ๋ฅธ ์คํ, ๊ต์ก ๋ชฉ์ ๋ฐ ๋ฐ๋ชจ์ ์ ์ฉํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์ ํ์ธํ ์ ์์ต๋๋ค.
๊ต์ก ๋ชฉ์ ์ผ๋ก Gradio์ Ultralytics YOLO11 ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋์?
์, Gradio์ Ultralytics YOLO11 ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๊ต์ก ๋ชฉ์ ์ผ๋ก ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค. Gradio์ ์ง๊ด์ ์ธ ์น ์ธํฐํ์ด์ค๋ฅผ ํตํด ํ์๊ณผ ๊ต์ก์๋ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์์ด๋ Ultralytics YOLO11 ๊ฐ์ ์ต์ฒจ๋จ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๊ณผ ์ฝ๊ฒ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ์ด ์ค์ ์ ๋ค์ํ ๋งค๊ฐ๋ณ์๊ฐ ๊ฐ์ง ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ์ฆ๊ฐ์ ์ธ ์๊ฐ์ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ฌผ์ฒด ๊ฐ์ง ๋ฐ ์ปดํจํฐ ๋น์ ์ ์ฃผ์ ๊ฐ๋ ์ ์์ฐํ๋ ๋ฐ ์ด์์ ์ ๋๋ค.
YOLO11 ์ ๋ํ Gradio ์ธํฐํ์ด์ค์์ ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ์ ์กฐ์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
YOLO11 ์ Gradio ์ธํฐํ์ด์ค์์ ์ ๊ณต๋ ์ฌ๋ผ์ด๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ขฐ๋ ๋ฐ IoU ์๊ณ๊ฐ์ ์กฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์๊ณ๊ฐ์ ์์ธก ์ ํ๋์ ๊ฐ์ฒด ๋ถ๋ฆฌ๋ฅผ ์ ์ดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค:
- ์ ๋ขฐ๋ ์๊ณ๊ฐ: ๋ฌผ์ฒด ๊ฐ์ง๋ฅผ ์ํ ์ต์ ์ ๋ขฐ ์์ค์ ๊ฒฐ์ ํฉ๋๋ค. ์ฌ๋ผ์ด๋ํ์ฌ ํ์ํ ์ ๋ขฐ๋๋ฅผ ๋์ด๊ฑฐ๋ ๋ฎ์ถฅ๋๋ค.
- IoU ์๊ณ๊ฐ: ๊ฒน์น๋ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํ ๊ต์งํฉ ์๊ณ๊ฐ์ ์ค์ ํฉ๋๋ค. ์ด ๊ฐ์ ์กฐ์ ํ์ฌ ๊ฐ์ฒด ๋ถ๋ฆฌ๋ฅผ ์ธ๋ถํํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋งค๊ฐ๋ณ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋งค๊ฐ๋ณ์ ์ค๋ช ์น์ ์ ์ฐธ์กฐํ์ธ์.
Gradio์ ํจ๊ป Ultralytics YOLO11 ์ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ค์ฉ์ ์ธ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋์?
Ultralytics YOLO11 ๊ณผ Gradio๋ฅผ ๊ฒฐํฉํ ์ค์ ์ ์ฉ ์ฌ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ค์๊ฐ ์ค๋ธ์ ํธ ๊ฐ์ง ๋ฐ๋ชจ: ๊ฐ์ฒด ๊ฐ์ง๊ฐ ์ค์๊ฐ์ผ๋ก ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ฃผ๋ ๋ฐ ์ด์์ ์ ๋๋ค.
- ๊ต์ก์ฉ ๋๊ตฌ: ๊ต์ก ํ๊ฒฝ์์ ๋ฌผ์ฒด ๊ฐ์ง ๋ฐ ์ปดํจํฐ ๋น์ ๊ฐ๋ ์ ๊ฐ๋ฅด์น๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
- ํ๋กํ ํ์ ๊ฐ๋ฐ: ํ๋กํ ํ์ ๊ฐ์ฒด ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ณ ํ ์คํธํ๋ ๋ฐ ํจ์จ์ ์ ๋๋ค.
- ์ปค๋ฎค๋ํฐ ๋ฐ ๊ณต๋ ์์ : ํผ๋๋ฐฑ ๋ฐ ํ์ ์ ์ํด ์ปค๋ฎค๋ํฐ์ ๋ชจ๋ธ์ ์ฝ๊ฒ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ ์ฌํ ์ฌ์ฉ ์ฌ๋ก์ ์๋ Ultralytics ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์ ๋ณด๋ฅผ ๋ฌธ์์ ์ ๊ณตํ๋ฉด Ultralytics YOLO11 ์ ์ฌ์ฉ์ฑ๊ณผ ์ ๊ทผ์ฑ์ ํฅ์์์ผ ๋ชจ๋ ์์ค์ ์ฌ์ฉ์๊ฐ ๋ณด๋ค ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.