yolov8 / docs /ko /modes /predict.md
ChelseaTang2023
added
ebdcee1

A newer version of the Gradio SDK is available: 5.35.0

Upgrade
metadata
comments: true
description: >-
  YOLOv8 ์˜ˆ์ธก ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์‹ญ์‹œ์˜ค. ์ด๋ฏธ์ง€, ๋น„๋””์˜ค ๋ฐ ๋ฐ์ดํ„ฐ ํ˜•์‹๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ถ”๋ก  ์†Œ์Šค์—
  ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.
keywords: Ultralytics, YOLOv8, ์˜ˆ์ธก ๋ชจ๋“œ, ์ถ”๋ก  ์†Œ์Šค, ์˜ˆ์ธก ์ž‘์—…, ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋“œ, ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ, ๋น„๋””์˜ค ์ฒ˜๋ฆฌ, ๋จธ์‹  ๋Ÿฌ๋‹, AI

Ultralytics YOLO๋กœ ๋ชจ๋ธ ์˜ˆ์ธก

Ultralytics YOLO ์ƒํƒœ๊ณ„์™€ ํ†ตํ•ฉ

์†Œ๊ฐœ

๋จธ์‹  ๋Ÿฌ๋‹ ๋ฐ ์ปดํ“จํ„ฐ ๋น„์ „์˜ ์„ธ๊ณ„์—์„œ ์‹œ๊ฐ์  ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ณผ์ •์„ '์ถ”๋ก ' ๋˜๋Š” '์˜ˆ์ธก'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Ultralytics YOLOv8๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ์˜ ๊ณ ์„ฑ๋Šฅ, ์‹ค์‹œ๊ฐ„ ์ถ”๋ก ์„ ์œ„ํ•ด ๋งž์ถคํ™”๋œ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ธ ์˜ˆ์ธก ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.



์‹œ์ฒญ: Ultralytics YOLOv8 ๋ชจ๋ธ์—์„œ ์ถœ๋ ฅ์„ ์ถ”์ถœํ•˜์—ฌ ๋งž์ถค ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•.

์‹ค์ œ ์‘์šฉ ๋ถ„์•ผ

์ œ์กฐ์—… ์Šคํฌ์ธ  ์•ˆ์ „
์ฐจ๋Ÿ‰ ์˜ˆ๋น„ ๋ถ€ํ’ˆ ํƒ์ง€ ์ถ•๊ตฌ ์„ ์ˆ˜ ํƒ์ง€ ์‚ฌ๋žŒ ๋„˜์–ด์ง ํƒ์ง€
์ฐจ๋Ÿ‰ ์˜ˆ๋น„ ๋ถ€ํ’ˆ ํƒ์ง€ ์ถ•๊ตฌ ์„ ์ˆ˜ ํƒ์ง€ ์‚ฌ๋žŒ ๋„˜์–ด์ง ํƒ์ง€

์˜ˆ์ธก ์ธํผ๋Ÿฐ์Šค๋ฅผ ์œ„ํ•ด Ultralytics YOLO ์‚ฌ์šฉํ•˜๊ธฐ

๋‹ค์Œ์€ YOLOv8์˜ ์˜ˆ์ธก ๋ชจ๋“œ๋ฅผ ๋‹ค์–‘ํ•œ ์ถ”๋ก  ์š”๊ตฌ ์‚ฌํ•ญ์— ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค:

  • ๋‹ค์–‘์„ฑ: ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์‹ฌ์ง€์–ด ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์ถ”๋ก ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ: ์ •ํ™•์„ฑ์„ ํฌ์ƒํ•˜์ง€ ์•Š๊ณ  ์‹ค์‹œ๊ฐ„, ๊ณ ์† ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ํŽธ์˜์„ฑ: ๋น ๋ฅธ ๋ฐฐํฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ์ง๊ด€์ ์ธ Python ๋ฐ CLI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ๋„์˜ ์‚ฌ์šฉ์ž ์ •์˜: ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ๋ชจ๋ธ์˜ ์ถ”๋ก  ํ–‰๋™์„ ์กฐ์œจํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์„ค์ • ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ธก ๋ชจ๋“œ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

YOLOv8์˜ ์˜ˆ์ธก ๋ชจ๋“œ๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์†Œ์Šค ํ˜ธํ™˜์„ฑ: ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐœ๋ณ„ ์ด๋ฏธ์ง€, ์ด๋ฏธ์ง€ ์ปฌ๋ ‰์…˜, ๋น„๋””์˜ค ํŒŒ์ผ ๋˜๋Š” ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ์˜ ํ˜•ํƒœ๋กœ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์˜ˆ์ธก ๋ชจ๋“œ๊ฐ€ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋“œ: Results ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ ์ƒ์„ฑ์ž๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ธก๊ธฐ์˜ ํ˜ธ์ถœ ๋ฉ”์„œ๋“œ์—์„œ stream=True๋กœ ์„ค์ •ํ•˜์—ฌ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: ๋‹จ์ผ ๋ฐฐ์น˜์—์„œ ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€ ๋˜๋Š” ๋น„๋””์˜ค ํ”„๋ ˆ์ž„์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ถ”๋ก  ์‹œ๊ฐ„์„ ๋”์šฑ ๋‹จ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  • ํ†ตํ•ฉ ์นœํ™”์ : ์œ ์—ฐํ•œ API ๋•๋ถ„์— ๊ธฐ์กด ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๊ธฐํƒ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ultralytics YOLO ๋ชจ๋ธ์€ Python Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜, ์ถ”๋ก  ์ค‘ stream=True๊ฐ€ ๋ชจ๋ธ์— ์ „๋‹ฌ๋  ๋•Œ Results ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ Python ์ƒ์„ฑ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค:

!!! ์˜ˆ์‹œ "์˜ˆ์ธก"

=== "`stream=False`๋กœ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜"
    ```python
    from ultralytics import YOLO

    # ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')  # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ

    # ์ด๋ฏธ์ง€ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฐฐ์น˜ ์ถ”๋ก  ์‹คํ–‰
    results = model(['im1.jpg', 'im2.jpg'])  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜

    # ๊ฒฐ๊ณผ ๋ฆฌ์ŠคํŠธ ์ฒ˜๋ฆฌ
    for result in results:
        boxes = result.boxes  # bbox ์ถœ๋ ฅ์„ ์œ„ํ•œ Boxes ๊ฐ์ฒด
        masks = result.masks  # ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋งˆ์Šคํฌ ์ถœ๋ ฅ์„ ์œ„ํ•œ Masks ๊ฐ์ฒด
        keypoints = result.keypoints  # ์ž์„ธ ์ถœ๋ ฅ์„ ์œ„ํ•œ Keypoints ๊ฐ์ฒด
        probs = result.probs  # ๋ถ„๋ฅ˜ ์ถœ๋ ฅ์„ ์œ„ํ•œ Probs ๊ฐ์ฒด
    ```

=== "`stream=True`๋กœ ์ƒ์„ฑ์ž ๋ฐ˜ํ™˜"
    ```python
    from ultralytics import YOLO

    # ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')  # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ

    # ์ด๋ฏธ์ง€ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฐฐ์น˜ ์ถ”๋ก  ์‹คํ–‰
    results = model(['im1.jpg', 'im2.jpg'], stream=True)  # Results ๊ฐ์ฒด์˜ ์ƒ์„ฑ์ž ๋ฐ˜ํ™˜

    # ๊ฒฐ๊ณผ ์ƒ์„ฑ์ž ์ฒ˜๋ฆฌ
    for result in results:
        boxes = result.boxes  # bbox ์ถœ๋ ฅ์„ ์œ„ํ•œ Boxes ๊ฐ์ฒด
        masks = result.masks  # ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๋งˆ์Šคํฌ ์ถœ๋ ฅ์„ ์œ„ํ•œ Masks ๊ฐ์ฒด
        keypoints = result.keypoints  # ์ž์„ธ ์ถœ๋ ฅ์„ ์œ„ํ•œ Keypoints ๊ฐ์ฒด
        probs = result.probs  # ๋ถ„๋ฅ˜ ์ถœ๋ ฅ์„ ์œ„ํ•œ Probs ๊ฐ์ฒด
    ```

์ถ”๋ก  ์†Œ์Šค

YOLOv8์€ ์•„๋ž˜ ํ‘œ์— ํ‘œ์‹œ๋œ ๋ฐ”์™€ ๊ฐ™์ด ์ถ”๋ก ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ž…๋ ฅ ์†Œ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์—๋Š” ์ •์  ์ด๋ฏธ์ง€, ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ, ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ํ‘œ๋Š” ๋˜ํ•œ ๊ฐ ์†Œ์Šค๋ฅผ 'stream=True' โœ…์™€ ํ•จ๊ป˜ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ๋ชจ๋“œ๋Š” ๋น„๋””์˜ค๋‚˜ ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ชจ๋‘ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  ๊ฒฐ๊ณผ์˜ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์–ด ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

!!! Tip "ํŒ"

๊ธด ๋น„๋””์˜ค๋‚˜ ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ 'stream=True'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 'stream=False'์ผ ๋•Œ๋Š” ๋ชจ๋“  ํ”„๋ ˆ์ž„ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด, ์ž…๋ ฅ์ด ํฌ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์˜ค๋ฅ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์—, 'stream=True'๋Š” ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ํ”„๋ ˆ์ž„ ๋˜๋Š” ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์˜ ๊ฒฐ๊ณผ๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์œ ์ง€ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ํฌ๊ฒŒ ์ค„์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ์ธ์ˆ˜ ์œ ํ˜• ๋น„๊ณ 
์ด๋ฏธ์ง€ 'image.jpg' str ๋˜๋Š” Path ๋‹จ์ผ ์ด๋ฏธ์ง€ ํŒŒ์ผ.
URL 'https://ultralytics.com/images/bus.jpg' str ์ด๋ฏธ์ง€ URL.
์Šคํฌ๋ฆฐ์ƒท 'screen' str ์Šคํฌ๋ฆฐ์ƒท์„ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.
PIL Image.open('im.jpg') PIL.Image HWC ํ˜•์‹์œผ๋กœ RGB ์ฑ„๋„์ด ์žˆ์Šต๋‹ˆ๋‹ค.
OpenCV cv2.imread('im.jpg') np.ndarray HWC ํ˜•์‹์œผ๋กœ BGR ์ฑ„๋„์ด ์žˆ๊ณ  uint8 (0-255) ์ž…๋‹ˆ๋‹ค.
numpy np.zeros((640,1280,3)) np.ndarray HWC ํ˜•์‹์œผ๋กœ BGR ์ฑ„๋„์ด ์žˆ๊ณ  uint8 (0-255) ์ž…๋‹ˆ๋‹ค.
torch torch.zeros(16,3,320,640) torch.Tensor BCHW ํ˜•์‹์œผ๋กœ RGB ์ฑ„๋„์ด ์žˆ๊ณ  float32 (0.0-1.0) ์ž…๋‹ˆ๋‹ค.
CSV 'sources.csv' str ๋˜๋Š” Path ์ด๋ฏธ์ง€, ๋น„๋””์˜ค ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” CSV ํŒŒ์ผ.
๋น„๋””์˜ค โœ… 'video.mp4' str ๋˜๋Š” Path MP4, AVI ๋“ฑ๊ณผ ๊ฐ™์€ ํ˜•์‹์˜ ๋น„๋””์˜ค ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ โœ… 'path/' str ๋˜๋Š” Path ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.
๊ธ€๋กœ๋ธŒ โœ… 'path/*.jpg' str ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์ผ์น˜ํ•˜๋Š” ๊ธ€๋กœ๋ธŒ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. '*' ๋ฌธ์ž๋ฅผ ์™€์ผ๋“œ์นด๋“œ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”.
YouTube โœ… 'https://youtu.be/LNwODJXcvt4' str YouTube ๋น„๋””์˜ค์˜ URL์ž…๋‹ˆ๋‹ค.
์ŠคํŠธ๋ฆผ โœ… 'rtsp://example.com/media.mp4' str RTSP, RTMP, TCP ๋˜๋Š” IP ์ฃผ์†Œ์™€ ๊ฐ™์€ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”„๋กœํ† ์ฝœ์˜ URL์ž…๋‹ˆ๋‹ค.
๋ฉ€ํ‹ฐ-์ŠคํŠธ๋ฆผ โœ… 'list.streams' str ๋˜๋Š” Path ์ŠคํŠธ๋ฆผ URL์ด ํ–‰๋‹น ํ•˜๋‚˜์”ฉ ์žˆ๋Š” *.streams ํ…์ŠคํŠธ ํŒŒ์ผ์ด๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด 8๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์€ ๋ฐฐ์น˜ ํฌ๊ธฐ 8์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” ๊ฐ ์œ ํ˜•์˜ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค:

!!! ์˜ˆ์‹œ "์˜ˆ์ธก ์†Œ์Šค"

=== "์ด๋ฏธ์ง€"
    ์ด๋ฏธ์ง€ ํŒŒ์ผ์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # ์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ ์ •์˜
    source = 'path/to/image.jpg'

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "์Šคํฌ๋ฆฐ์ƒท"
    ํ˜„์žฌ ์Šคํฌ๋ฆฐ ์ฝ˜ํ…์ธ ๋ฅผ ์Šคํฌ๋ฆฐ์ƒท์œผ๋กœ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # ํ˜„์žฌ ์Šคํฌ๋ฆฐ์ƒท์„ ์†Œ์Šค๋กœ ์ •์˜
    source = 'screen'

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "URL"
    URL์„ ํ†ตํ•ด ์›๊ฒฉ์œผ๋กœ ํ˜ธ์ŠคํŒ…๋˜๋Š” ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # ์›๊ฒฉ ์ด๋ฏธ์ง€๋‚˜ ๋™์˜์ƒ URL ์ •์˜
    source = 'https://ultralytics.com/images/bus.jpg'

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "PIL"
    Python Imaging Library (PIL)๋กœ ์—ด๋ฆฐ ์ด๋ฏธ์ง€์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    from PIL import Image
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # PIL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์—ด๊ธฐ
    source = Image.open('path/to/image.jpg')

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "OpenCV"
    OpenCV๋กœ ์ฝ์€ ์ด๋ฏธ์ง€์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    import cv2
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # OpenCV๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ์ฝ๊ธฐ
    source = cv2.imread('path/to/image.jpg')

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "numpy"
    numpy ๋ฐฐ์—ด๋กœ ํ‘œํ˜„๋œ ์ด๋ฏธ์ง€์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    import numpy as np
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # ๋ฌด์ž‘์œ„ numpy ๋ฐฐ์—ด ์ƒ์„ฑ, HWC ํ˜•ํƒœ (640, 640, 3), ๊ฐ’ ๋ฒ”์œ„ [0, 255], ํƒ€์ž… uint8
    source = np.random.randint(low=0, high=255, size=(640, 640, 3), dtype='uint8')

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```

=== "torch"
    PyTorch ํ…์„œ๋กœ ํ‘œํ˜„๋œ ์ด๋ฏธ์ง€์—์„œ ์ถ”๋ก ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    ```python
    import torch
    from ultralytics import YOLO

    # ์‚ฌ์ „ ํ›ˆ๋ จ๋œ YOLOv8n ๋ชจ๋ธ ๋กœ๋“œ
    model = YOLO('yolov8n.pt')

    # ๋ฌด์ž‘์œ„ torch ํ…์„œ ์ƒ์„ฑ, BCHW ํ˜•ํƒœ (1, 3, 640, 640), ๊ฐ’ ๋ฒ”์œ„ [0, 1], ํƒ€์ž… float32
    source = torch.rand(1, 3, 640, 640, dtype=torch.float32)

    # ์†Œ์Šค์—์„œ ์ถ”๋ก  ์‹คํ–‰
    results = model(source)  # Results ๊ฐ์ฒด์˜ ๋ฆฌ์ŠคํŠธ
    ```