ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

МодСль прСдсказания с Ultralytics YOLO

Ultralytics YOLO ЭкосистСма ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ ΠΌΠΈΡ€Π΅ машинного обучСния ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния процСсс извлСчСния смысла ΠΈΠ· Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… называСтся "Π²Ρ‹Π²ΠΎΠ΄" ΠΈΠ»ΠΈ "прСдсказаниС". Ultralytics YOLOv8 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ€Π΅ΠΆΠΈΠΌ прСдсказания, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ источников Π΄Π°Π½Π½Ρ‹Ρ….



Π‘ΠΌΠΎΡ‚Ρ€ΠΈ: Как ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ultralytics YOLOv8 Model для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π‘ΠΏΠΎΡ€Ρ‚ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ запасных частСй для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ футболистов ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ падСния людСй
ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ запасных частСй для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ футболистов ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ падСния людСй

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ultralytics YOLO для Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²?

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π΅Π±Π΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌ прСдсказаний YOLOv8 для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, связанных с ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ:

  • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: БпособСн Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΏΠΎ изобраТСниям, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΠΆΠΈΠ²Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для высокоскоростной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° для точности.
  • ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования: ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятныС интСрфСйсы Python ΠΈ CLI для быстрого развСртывания ΠΈ тСстирования.
  • Высокая Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ: Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… Π² соотвСтствии с Ρ‚Π²ΠΎΠΈΠΌΠΈ спСцифичСскими трСбованиями.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности Ρ€Π΅ΠΆΠΈΠΌΠ° Predict Mode

Π Π΅ΠΆΠΈΠΌ прСдсказаний YOLOv8 отличаСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ:

  • Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с нСсколькими источниками Π΄Π°Π½Π½Ρ‹Ρ…: НСваТно, Π² ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ прСдставлСны Ρ‚Π²ΠΎΠΈ Π΄Π°Π½Π½Ρ‹Π΅ - Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, - Ρ€Π΅ΠΆΠΈΠΌ прСдсказаний обСспСчит тСбя всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ.
  • Π Π΅ΠΆΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ вСщания: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ экономящий ΠΏΠ°ΠΌΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Results ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹. Π’ΠΊΠ»ΡŽΡ‡ΠΈ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, установив stream=True Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΡ‚ΠΎΡ€Π°.
  • ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ большС ускоряСт врСмя Π²Ρ‹Π²ΠΎΠ΄Π°.
  • Integration Friendly: Π›Π΅Π³ΠΊΠΎ интСгрируйся с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ благодаря Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ API.

МодСли Ultralytics YOLO Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ список Python Results ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΠ»ΠΈ экономящий ΠΏΠ°ΠΌΡΡ‚ΡŒ Python-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Results ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° stream=True пСрСдаСтся ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎ врСмя вычислСния:

ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΠΉ

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(['im1.jpg', 'im2.jpg'])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename='result.jpg')  # save to disk
from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(['im1.jpg', 'im2.jpg'], stream=True)  # return a generator of Results objects

# Process results generator
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename='result.jpg')  # save to disk

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ для Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²

YOLOv8 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… источников для Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. Π‘Ρ€Π΅Π΄ΠΈ источников - статичныС изобраТСния, Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ источник Π² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° stream=True βœ…. Π Π΅ΠΆΠΈΠΌ стриминга Π²Ρ‹Π³ΠΎΠ΄Π΅Π½ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ ΠΆΠΈΠ²Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ создаСт Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² вмСсто Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСх ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

НаконСчник

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ 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 ΠŸΡƒΡ‚ΡŒ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, содСрТащСй изобраТСния ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.
glob βœ… 'path/*.jpg' str Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ шаблон для сопоставлСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ * символ Π² качСствС подстановочного Π·Π½Π°ΠΊΠ°.
YouTube βœ… 'https://youtu.be/LNwODJXcvt4' str URL-адрСс Π²ΠΈΠ΄Π΅ΠΎΡ€ΠΎΠ»ΠΈΠΊΠ° Π½Π° YouTube.
ΠΏΠΎΡ‚ΠΎΠΊ βœ… 'rtsp://example.com/media.mp4' str URL для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ RTSP, RTMP, TCP, ΠΈΠ»ΠΈ IP-адрСс.
ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ βœ… 'list.streams' str ΠΈΠ»ΠΈ Path *.streams тСкстовый Ρ„Π°ΠΉΠ» с ΠΎΠ΄Π½ΠΈΠΌ URL-адрСсом ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° строку, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 8 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΏΡ€ΠΈ batch-size 8.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для использования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° источников:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ прСдсказаний

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define path to the image file
source = 'path/to/image.jpg'

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ содСрТимому Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ экрана Π² Π²ΠΈΠ΄Π΅ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define current screenshot as source
source = 'screen'

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΏΠΎ URL.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define remote image or video URL
source = 'https://ultralytics.com/images/bus.jpg'

# Run inference on the source
results = model(source)  # list of Results objects

Запусти Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python Imaging Library (PIL).

from PIL import Image
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Open an image using PIL
source = Image.open('path/to/image.jpg')

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, считанном с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenCV.

import cv2
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Read an image using OpenCV
source = cv2.imread('path/to/image.jpg')

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, прСдставлСнном Π² Π²ΠΈΠ΄Π΅ массива numpy.

import numpy as np
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Create a random numpy array of HWC shape (640, 640, 3) with values in range [0, 255] and type uint8
source = np.random.randint(low=0, high=255, size=(640, 640, 3), dtype='uint8')

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, прСдставлСнном Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅Π½Π·ΠΎΡ€Π° PyTorch.

import torch
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Create a random torch tensor of BCHW shape (1, 3, 640, 640) with values in range [0, 1] and type float32
source = torch.rand(1, 3, 640, 640, dtype=torch.float32)

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, URL, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², пСрСчислСнных Π² CSV-Ρ„Π°ΠΉΠ»Π΅.

import torch
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define a path to a CSV file with images, URLs, videos and directories
source = 'path/to/file.csv'

# Run inference on the source
results = model(source)  # list of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ stream=TrueΠ’Ρ‹ моТСшь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Results, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define path to video file
source = 'path/to/video.mp4'

# Run inference on the source
results = model(source, stream=True)  # generator of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ Π²Ρ‹Π²ΠΎΠ΄ для всСх ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ изобраТСния ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ шаблон glob, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ path/to/dir/**/*.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define path to directory containing images and videos for inference
source = 'path/to/dir'

# Run inference on the source
results = model(source, stream=True)  # generator of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎ всСм изобраТСниям ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ с * пСрсонаТи.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define a glob search for all JPG files in a directory
source = 'path/to/dir/*.jpg'

# OR define a recursive glob search for all JPG files including subdirectories
source = 'path/to/dir/**/*.jpg'

# Run inference on the source
results = model(source, stream=True)  # generator of Results objects

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈ ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ с YouTube. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ stream=TrueΠ’Ρ‹ моТСшь ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Results, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Π²ΠΈΠ΄Π΅ΠΎ.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Define source as YouTube video URL
source = 'https://youtu.be/LNwODJXcvt4'

# Run inference on the source
results = model(source, stream=True)  # generator of Results objects

Выполняй Π²Ρ‹Π²ΠΎΠ΄Ρ‹ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… источниках ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ вСщания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ RTSP, RTMP, TCP ΠΈ IP-адрСса. Если нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² *.streams тСкстовый Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ вычислСниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 8 ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ 8, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ 1.

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Single stream with batch-size 1 inference
source = 'rtsp://example.com/media.mp4'  # RTSP, RTMP, TCP or IP streaming address

# Multiple streams with batched inference (i.e. batch-size 8 for 8 streams)
source = 'path/to/list.streams'  # *.streams text file with one streaming address per row

# Run inference on the source
results = model(source, stream=True)  # generator of Results objects

АргумСнты для ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

model.predict() ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π²ΠΎ врСмя создания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Run inference on 'bus.jpg' with arguments
model.predict('bus.jpg', save=True, imgsz=320, conf=0.5)

АргумСнты для ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ:

АргумСнт Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ОписаниС
source str 'ultralytics/assets' Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ источник Π΄Π°Π½Π½Ρ‹Ρ… для Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Π²ΠΈΠ΄Π΅ΠΎΡ„Π°ΠΉΠ»Ρƒ, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, URL ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ устройства для прямых трансляций. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈ источников, Ρ‡Ρ‚ΠΎ позволяСт Π³ΠΈΠ±ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
conf float 0.25 УстанавливаСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€ΠΎΠ³ увСрСнности для обнаруТСния. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π½ΠΈΠΆΠ΅ этого ΠΏΠΎΡ€ΠΎΠ³Π°, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Настройка этого значСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний.
iou float 0.7 ΠŸΠΎΡ€ΠΎΠ³ Intersection Over Union (IoU) для нСмаксимального подавлСния (NMS). Π‘ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ значСния приводят ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ количСства ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Π·Π° счСт устранСния ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ…ΡΡ боксов, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ количСства Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ².
imgsz int or tuple 640 ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния для Π²Ρ‹Π²ΠΎΠ΄Π°. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ Ρ†Π΅Π»Ρ‹ΠΌ числом 640 для измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (высота, ΡˆΠΈΡ€ΠΈΠ½Π°). ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ обнаруТСния ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
half bool False Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ (FP16), Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… графичСских процСссорах с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ влияниСм Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.
device str None Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ устройство для ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, cpu, cuda:0 ΠΈΠ»ΠΈ 0). ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ CPU, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ GPU ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами для выполнСния ΠΌΠΎΠ΄Π΅Π»ΠΈ.
max_det int 300 МаксимальноС количСство ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, допустимоС для ΠΎΠ΄Π½ΠΎΠ³ΠΎ изобраТСния. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ модСль ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Π²ΠΎΠ΄, прСдотвращая Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΏΠ»ΠΎΡ‚Π½Ρ‹Ρ… сцСнах.
vid_stride int 1 ΠŸΡ€ΠΎΠΏΡƒΡΠΊ ΠΊΠ°Π΄Ρ€ΠΎΠ² для Π²ΠΈΠ΄Π΅ΠΎΠ²Ρ…ΠΎΠ΄ΠΎΠ². ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°Π΄Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π·Π° счСт сниТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. ΠŸΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ 1 обрабатываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€, ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… значСниях ΠΊΠ°Π΄Ρ€Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.
stream_buffer bool False ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΊΠ°Π΄Ρ€Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊΠ° (True), ΠΈΠ»ΠΈ Ссли модСль Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ самый послСдний ΠΊΠ°Π΄Ρ€ (False). ПолСзно для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
visualize bool False АктивируСт Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ особСнностСй ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎ врСмя Π²Ρ‹Π²ΠΎΠ΄Π°, давая прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ "Π²ΠΈΠ΄ΠΈΡ‚" модСль. ПолСзно для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
augment bool False Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тСстирования (TTA) для прСдсказаний, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ обнаруТСния Ρ†Π΅Π½ΠΎΠΉ сниТСния скорости Π²Ρ‹Π²ΠΎΠ΄Π°.
agnostic_nms bool False Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ диагностируСмоС классом нСмаксимальноС ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ (NMS), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ боксы Ρ€Π°Π·Π½Ρ‹Ρ… классов. ПолСзно Π² сцСнариях многоклассового обнаруТСния, Π³Π΄Π΅ часто происходит ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ классов.
classes list[int] None Π€ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ прСдсказания ΠΏΠΎ Π½Π°Π±ΠΎΡ€Ρƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² классов. Π‘ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ обнаруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ классам. ПолСзно для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Π² многоклассовых Π·Π°Π΄Π°Ρ‡Π°Ρ… обнаруТСния.
retina_masks bool False Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ маски сСгмСнтации высокого Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ качСство масок для Π·Π°Π΄Π°Ρ‡ сСгмСнтации, обСспСчивая Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΡƒΡŽ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
embed list[int] None ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ слои, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΈΠ»ΠΈ вкраплСния. ПолСзно для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ кластСризация ΠΈΠ»ΠΈ поиск сходства.

АргумСнты для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

АргумСнт Π’ΠΈΠΏ По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ОписаниС
show bool False Если TrueΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² ΠΎΠΊΠ½Π΅. ПолСзно для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ тСстирования.
save bool False ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ изобраТСния ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² Ρ„Π°ΠΉΠ». ПолСзно для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.
save_frames bool False ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎ сохраняй ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ПолСзно для извлСчСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ»ΠΈ для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π΄Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
save_txt bool False Π‘ΠΎΡ…Ρ€Π°Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ обнаруТСния Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅, слСдуя Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ [class] [x_center] [y_center] [width] [height] [confidence]. ПолСзно для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами Π°Π½Π°Π»ΠΈΠ·Π°.
save_conf bool False Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ Π² сохранСнныС тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ для постобработки ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°.
save_crop bool False Бохраняй ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ изобраТСния ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ПолСзно для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ создания Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.
show_labels bool True ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обнаруТСния Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
show_conf bool True ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π±Π°Π»Π» увСрСнности для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обнаруТСния рядом с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ. Π”Π°Π΅Ρ‚ прСдставлСниС ΠΎ стСпСни увСрСнности ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обнаруТСния.
show_boxes bool True РисуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НСобходим для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ опрСдСлСния мСстополоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° изобраТСниях ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€Π°Ρ….
line_width None or int None ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π»ΠΈΠ½ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ. Если NoneΠ¨ΠΈΡ€ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ автоматичСски рСгулируСтся Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° изобраТСния. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ настройку для наглядности.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

YOLOv8 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ultralytics/data/utils .py. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½ΠΈΠΆΠ΅, Π³Π΄Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ допустимыС суффиксы ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄-прСдсказатСлСй.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ допустимыС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ultralytics.

Буффиксы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Predict Бсылка
.bmp yolo predict source=image.bmp Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² Microsoft BMP
.dng yolo predict source=image.dng Adobe DNG
.jpeg yolo predict source=image.jpeg JPEG
.jpg yolo predict source=image.jpg JPEG
.mpo yolo predict source=image.mpo ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с нСсколькими ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ
.png yolo predict source=image.png ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Π°Ρ сСтСвая Π³Ρ€Π°Ρ„ΠΈΠΊΠ°
.tif yolo predict source=image.tif Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° изобраТСния Ρ‚Π΅Π³Π°
.tiff yolo predict source=image.tiff Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° изобраТСния Ρ‚Π΅Π³Π°
.webp yolo predict source=image.webp WebP
.pfm yolo predict source=image.pfm ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΎΠ²

Π’ΠΈΠ΄Π΅ΠΎ

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π²ΠΈΠ΄Π΅ΠΎ Ultralytics.

Буффиксы для Π²ΠΈΠ΄Π΅ΠΎ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Predict Бсылка
.asf yolo predict source=video.asf Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… систСм
.avi yolo predict source=video.avi Audio Video Interleave
.gif yolo predict source=video.gif Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ
.m4v yolo predict source=video.m4v MPEG-4 Part 14
.mkv yolo predict source=video.mkv ΠœΠ°Ρ‚Ρ€ΠΎΡΠΊΠ°
.mov yolo predict source=video.mov Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² QuickTime
.mp4 yolo predict source=video.mp4 MPEG-4 Part 14 - ВикипСдия
.mpeg yolo predict source=video.mpeg MPEG-1 Part 2
.mpg yolo predict source=video.mpg MPEG-1 Part 2
.ts yolo predict source=video.ts Вранспортный ΠΏΠΎΡ‚ΠΎΠΊ MPEG
.wmv yolo predict source=video.wmv Windows Media Video
.webm yolo predict source=video.webm ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ WebM

Π Π°Π±ΠΎΡ‚Π° с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ

ВсС Ultralytics predict() Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ список Results ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Run inference on an image
results = model('bus.jpg')  # list of 1 Results object
results = model(['bus.jpg', 'zidane.jpg'])  # list of 2 Results objects

Results ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹:

Атрибут Π’ΠΈΠΏ ОписаниС
orig_img numpy.ndarray ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ массива numpy.
orig_shape tuple ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° изобраТСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (высота, ΡˆΠΈΡ€ΠΈΠ½Π°).
boxes Boxes, optional ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Boxes, содСрТащий ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ обнаруТСния.
masks Masks, optional ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Masks, содСрТащий маски обнаруТСния.
probs Probs, optional ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Probs, содСрТащий вСроятности ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса для Π·Π°Π΄Π°Ρ‡ΠΈ классификации.
keypoints Keypoints, optional ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Keypoints, содСрТащий ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
obb OBB, optional ΠžΠ±ΡŠΠ΅ΠΊΡ‚ OBB, содСрТащий ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ.
speed dict Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ скоростСй прСпроцСсса, Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ постпроцСсса Π² миллисСкундах Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
names dict Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ ΠΈΠΌΠ΅Π½ классов.
path str ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Results Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹:

ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ОписаниС
update() None Обнови Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ box, masks ΠΈ probs ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Results.
cpu() Results Π’Π΅Ρ€Π½ΠΈ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Results со всСми Ρ‚Π΅Π½Π·ΠΎΡ€Π°ΠΌΠΈ Π² памяти процСссора.
numpy() Results Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Results со всСми Ρ‚Π΅Π½Π·ΠΎΡ€Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ массивов numpy.
cuda() Results Π’Π΅Ρ€Π½ΠΈ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Results со всСми Ρ‚Π΅Π½Π·ΠΎΡ€Π°ΠΌΠΈ Π² памяти GPU.
to() Results Π’Π΅Ρ€Π½ΠΈ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Results с Ρ‚Π΅Π½Π·ΠΎΡ€Π°ΠΌΠΈ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ устройствС ΠΈ dtype.
new() Results Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Results с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡƒΡ‚Π΅ΠΌ ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
plot() numpy.ndarray ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠ» Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² обнаруТСния. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив numpy с Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
show() None ПокаТи Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° экранС.
save() None Π‘ΠΎΡ…Ρ€Π°Π½ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² Ρ„Π°ΠΉΠ».
verbose() str Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ строку ΠΆΡƒΡ€Π½Π°Π»Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ задания.
save_txt() None Π‘ΠΎΡ…Ρ€Π°Π½ΠΈ прСдсказания Π² txt-Ρ„Π°ΠΉΠ».
save_crop() None Π‘ΠΎΡ…Ρ€Π°Π½ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ прСдсказания Π² save_dir/cls/file_name.jpg.
tojson() str ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Results докумСнтация ΠΏΠΎ классам.

ΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ

Boxes ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксации, манипуляций ΠΈ прСобразования ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹.

ΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Run inference on an image
results = model('bus.jpg')  # results list

# View results
for r in results:
    print(r.boxes)  # print the Boxes object containing the detection bounding boxes

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° для Boxes ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства класса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΈ описаниС:

Имя Вип ОписаниС
cpu() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ процСссора.
numpy() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² массив numpy.
cuda() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ CUDA.
to() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ устройство.
xyxy Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xyxy.
conf Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ящиков.
cls Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ значСния классов ящиков.
id Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚Ρ€Π΅ΠΊΠΎΠ² ΠΊΠΎΡ€ΠΎΠ±ΠΎΠΊ (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ).
xywh Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xywh.
xyxyn Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xyxy, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ исходного изобраТСния.
xywhn Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xywh, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ исходного изобраТСния.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Boxes докумСнтация ΠΏΠΎ классам.

Маски

Masks ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксации, манипулирования ΠΈ прСобразования масок Π² сСгмСнты.

Маски

from ultralytics import YOLO

# Load a pretrained YOLOv8n-seg Segment model
model = YOLO('yolov8n-seg.pt')

# Run inference on an image
results = model('bus.jpg')  # results list

# View results
for r in results:
    print(r.masks)  # print the Masks object containing the detected instance masks

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° для Masks ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства класса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΈ описаниС:

Имя Вип ОписаниС
cpu() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ маски tensor Π² памяти процСссора.
numpy() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ маски tensor Π² Π²ΠΈΠ΄Π΅ массива numpy.
cuda() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ маски tensor Π² памяти GPU.
to() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ маски tensor с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ устройством ΠΈ dtype.
xyn Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Бписок Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСгмСнтов, прСдставлСнных Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ².
xy Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Бписок сСгмСнтов Π² ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…, прСдставлСнных Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ².

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Masks докумСнтация ΠΏΠΎ классам.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹

Keypoints ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксации, манипулирования ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹

from ultralytics import YOLO

# Load a pretrained YOLOv8n-pose Pose model
model = YOLO('yolov8n-pose.pt')

# Run inference on an image
results = model('bus.jpg')  # results list

# View results
for r in results:
    print(r.keypoints)  # print the Keypoints object containing the detected keypoints

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° для Keypoints ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства класса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΈ описаниС:

Имя Вип ОписаниС
cpu() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ tensor Π² памяти процСссора.
numpy() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ tensor Π² Π²ΠΈΠ΄Π΅ массива numpy.
cuda() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ tensor Π² памяти GPU.
to() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ tensor с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ устройством ΠΈ dtype.
xyn Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Бписок Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, прСдставлСнных Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ².
xy Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Бписок ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…, прСдставлСнных Π² Π²ΠΈΠ΄Π΅ Ρ‚Π΅Π½Π·ΠΎΡ€ΠΎΠ².
conf Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, Ссли ΠΎΠ½ΠΈ доступны, ΠΈΠ½Π°Ρ‡Π΅ - Π½Π΅Ρ‚.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Keypoints докумСнтация ΠΏΠΎ классам.

Probs

Probs ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксации, получСния top1 ΠΈ top5 Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΠΈ Π±Π°Π»Π»Ρ‹ классификации.

Probs

from ultralytics import YOLO

# Load a pretrained YOLOv8n-cls Classify model
model = YOLO('yolov8n-cls.pt')

# Run inference on an image
results = model('bus.jpg')  # results list

# View results
for r in results:
    print(r.probs)  # print the Probs object containing the detected class probabilities

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства для Probs класс:

Имя Вип ОписаниС
cpu() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию probs tensor Π² памяти процСссора.
numpy() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию probs tensor Π² Π²ΠΈΠ΄Π΅ массива numpy.
cuda() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию probs tensor Π² памяти GPU.
to() ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ копию probs tensor с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ устройством ΠΈ dtype.
top1 Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (int) ИндСкс Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ 1 класса.
top5 Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (list[int]) Π˜Π½Π΄Π΅ΠΊΡΡ‹ 5 Π»ΡƒΡ‡ΡˆΠΈΡ… классов.
top1conf Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π£Π²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠΏ-1 класс.
top5conf Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) ΠšΠΎΠ½Π΄ΠΈΡ†ΠΈΠΈ 5 Π»ΡƒΡ‡ΡˆΠΈΡ… классов.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Probs докумСнтация ΠΏΠΎ классам.

OBB

OBB ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для индСксации, манипулирования ΠΈ прСобразования ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹.

OBB

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n-obb.pt')

# Run inference on an image
results = model('bus.jpg')  # results list

# View results
for r in results:
    print(r.obb)  # print the OBB object containing the oriented detection bounding boxes

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° для OBB ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства класса, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΈ описаниС:

Имя Вип ОписаниС
cpu() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ процСссора.
numpy() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² массив numpy.
cuda() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ CUDA.
to() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ устройство.
conf Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ящиков.
cls Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ значСния классов ящиков.
id Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚Ρ€Π΅ΠΊΠΎΠ² ΠΊΠΎΡ€ΠΎΠ±ΠΎΠΊ (Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ).
xyxy Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xyxy.
xywhr Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xywhr.
xyxyxyxy Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’Π΅Ρ€Π½ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xyxyxyxy.
xyxyxyxyn Π‘ΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (torch.Tensor) Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Ρ‹Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ xyxyxyxy, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ изобраТСния.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² OBB докумСнтация ΠΏΠΎ классам.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

The plot() ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Results ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ прСдсказаний, накладывая ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ, маски, ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ вСроятности) Π½Π° исходноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ массива NumPy, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π§Π΅Ρ€Ρ‡Π΅Π½ΠΈΠ΅

from PIL import Image
from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO('yolov8n.pt')

# Run inference on 'bus.jpg'
results = model(['bus.jpg', 'zidane.jpg'])  # results list

# Visualize the results
for i, r in enumerate(results):
    # Plot results image
    im_bgr = r.plot()  # BGR-order numpy array
    im_rgb = Image.fromarray(im_bgr[..., ::-1])  # RGB-order PIL image

    # Show results to screen (in supported environments)
    r.show()

    # Save results to disk
    r.save(filename=f'results{i}.jpg')

plot() ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

The plot() ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для настройки Π²Ρ‹Π²ΠΎΠ΄Π°:

АргумСнт Π’ΠΈΠΏ ОписаниС По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
conf bool Π’ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ достовСрности обнаруТСния. True
line_width float Π¨ΠΈΡ€ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ изобраТСния, Ссли None. None
font_size float Π Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° тСкста. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ изобраТСния, Ссли None. None
font str НазваниС ΡˆΡ€ΠΈΡ„Ρ‚Π° для тСкстовых Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ. 'Arial.ttf'
pil bool Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° PIL Image. False
img numpy.ndarray ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для чСрчСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ссли None. None
im_gpu torch.Tensor Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с GPU-ускорСниСм для Π±ΠΎΠ»Π΅Π΅ быстрого прорисовывания маски. Π€ΠΎΡ€ΠΌΠ°: (1, 3, 640, 640). None
kpt_radius int Радиус для нарисованных ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ. 5
kpt_line bool Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ линиями. True
labels bool Π’ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ классов Π² Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. True
boxes bool НалоТи ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°ΠΌΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. True
masks bool НалоТитС маски Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. True
probs bool Π’ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ вСроятности. True
show bool ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. False
save bool Π‘ΠΎΡ…Ρ€Π°Π½ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ», ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ filename. False
filename str ΠŸΡƒΡ‚ΡŒ ΠΈ имя Ρ„Π°ΠΉΠ»Π° для сохранСния Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния, Ссли save это True. None

БСзопасноС для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ потокобСзопасности Π²ΠΎ врСмя Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ нСсколько ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLO Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ…. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ прСдсказания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ условий Π³ΠΎΠ½ΠΊΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΡ€ΠΈ использовании ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLO Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ локальноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹:

БСзопасноС для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Π½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΡƒΠΉ ΠΎΠ΄Π½Ρƒ модСль Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° для потокобСзопасного Π²Ρ‹Π²ΠΎΠ΄Π°:

from ultralytics import YOLO
from threading import Thread

def thread_safe_predict(image_path):
    """Performs thread-safe prediction on an image using a locally instantiated YOLO model."""
    local_model = YOLO("yolov8n.pt")
    results = local_model.predict(image_path)
    # Process results


# Starting threads that each have their own model instance
Thread(target=thread_safe_predict, args=("image1.jpg",)).start()
Thread(target=thread_safe_predict, args=("image2.jpg",)).start()

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ прСдставлСниС ΠΎ потокобСзопасном ΡƒΠΌΠΎΠ·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ YOLO ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ руководству YOLO Thread-Safe Inference Guide. Π’ этом руководствС Ρ‚Ρ‹ найдСшь всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π±Π΅ΡΠΏΠ΅Ρ€Π΅Π±ΠΎΠΉΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚Π²ΠΎΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ вСщания for-пСтля

Π’ΠΎΡ‚ скрипт Python , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ OpenCV (cv2) ΠΈ YOLOv8 , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс ΠΈΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€Π°Ρ…. Π­Ρ‚ΠΎΡ‚ скрипт ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ ΡƒΠΆΠ΅ установил Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (opencv-python ΠΈ ultralytics).

ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€-Π»ΡƒΠΏ

import cv2
from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Open the video file
video_path = "path/to/your/video/file.mp4"
cap = cv2.VideoCapture(video_path)

# Loop through the video frames
while cap.isOpened():
    # Read a frame from the video
    success, frame = cap.read()

    if success:
        # Run YOLOv8 inference on the frame
        results = model(frame)

        # Visualize the results on the frame
        annotated_frame = results[0].plot()

        # Display the annotated frame
        cv2.imshow("YOLOv8 Inference", annotated_frame)

        # Break the loop if 'q' is pressed
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # Break the loop if the end of the video is reached
        break

# Release the video capture object and close the display window
cap.release()
cv2.destroyAllWindows()

Π­Ρ‚ΠΎΡ‚ скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прСдсказания Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄Ρ€Π΅ Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠΊΠ½ΠΎ. Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΆΠ°Π² 'q'.



Боздано 2023-11-12, ОбновлСно 2024-05-03
Авторы: glenn-jocher (18), UltralyticsAssistant (1), Burhan-Q (1), plashchynski (1), tensorturtle (1), AyushExel (1), Laughing-q (1)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ