コンテンツぞスキップ

によるモデル予枬Ultralytics YOLO

Ultralytics YOLO ゚コシステムず統合

はじめに

機械孊習ず コンピュヌタビゞョンの䞖界では、芖芚デヌタから意味を芋出すプロセスを「掚論」たたは「予枬」ず呌びたす。Ultralytics YOLO11 は、幅広いデヌタ゜ヌスに察する高性胜でリアルタむムの掚論甚に調敎された、predict モヌドずしお知られる匷力な機胜を提䟛したす。



芋るんだ Ultralytics YOLO モデルからカスタムプロゞェクトのアりトプットを抜出する方法。

実䞖界での応甚

補造業 スポヌツ 安党性
車䞡予備品怜出 サッカヌ遞手怜出 萜䞋怜知
車䞡予備品怜出 サッカヌ遞手怜出 萜䞋怜知

なぜ掚論にUltralytics YOLO を䜿うのか

ここでは、様々な掚論ニヌズに察しおYOLO11 の predict モヌドを怜蚎すべき理由を説明する

  • 汎甚性画像、ビデオ、ラむブストリヌムでさえも掚論が可胜。
  • パフォヌマンス 粟床を犠牲にするこずなく、リアルタむムの高速凊理を実珟。
  • 䜿いやすさ盎感的なPython およびCLI むンタヌフェヌスにより、迅速な展開ずテストが可胜。
  • 高いカスタマむズ性様々な蚭定やパラメヌタにより、特定の芁件に応じおモデルの掚論動䜜を調敎するこずができたす。

予枬モヌドの䞻な特城

YOLO11の予枬モヌドは、堅牢で倚甚途に䜿えるように蚭蚈されおいる

  • 耇数のデヌタ゜ヌスの互換性デヌタが個々の画像、画像集、ビデオファむル、たたはリアルタむムのビデオストリヌムのいずれであっおも、予枬モヌドでカバヌできたす。
  • ストリヌミング・モヌド のメモリ効率に優れたゞェネレヌタヌを生成するには、ストリヌミング機胜を䜿う。 Results オブゞェクトを䜿甚したす。これを有効にするには stream=True をプレディクタヌの呌び出しメ゜ッドに远加する。
  • バッチ凊理耇数の画像やビデオフレヌムを䞀括しお凊理できるため、掚論時間がさらに短瞮される。
  • 統合が容易柔軟なAPIにより、既存のデヌタパむプラむンや他の゜フトりェアコンポヌネントず簡単に統合できたす。

Ultralytics YOLO のPython リストを返す。 Results Python オブゞェクトを生成する。 Results オブゞェクトが stream=True は掚論䞭にモデルに枡される

予枬する

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # pretrained YOLO11n model

# Run batched inference on a list of images
results = model(["image1.jpg", "image2.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("yolo11n.pt")  # pretrained YOLO11n model

# Run batched inference on a list of images
results = model(["image1.jpg", "image2.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

掚論゜ヌス

YOLO11 は、䞋衚に瀺すように、掚論のためにさたざたなタむプの入力゜ヌスを凊理するこずができる。゜ヌスには、静止画像、ビデオ・ストリヌム、さたざたなデヌタ圢匏が含たれる。この衚は、各゜ヌスが匕数 stream=True ✅.ストリヌミングモヌドは、すべおのフレヌムをメモリにロヌドする代わりに結果のゞェネレヌタヌを䜜成するため、ビデオやラむブストリヌムを凊理するのに有益です。

チップ

甹途 stream=True 長い動画や倧きなデヌタセットを凊理する際に、メモリを効率的に管理する。い぀ stream=Falseこの堎合、すべおのフレヌムたたはデヌタポむントの結果がメモリに保存されるため、倧きな入力に察しおすぐに加算され、メモリ䞍足゚ラヌが発生する可胜性がある。これに察しお stream=True ゞェネレヌタヌを䜿甚し、珟圚のフレヌムたたはデヌタポむントの結果のみをメモリに保持するこずで、メモリ消費を倧幅に削枛し、メモリ䞍足の問題を防ぎたす。

゜ヌス 䟋 タむプ 備考
むメヌゞ 'image.jpg' str たたは Path 単䞀の画像ファむル。
URL 'https://ultralytics.com/images/bus.jpg' str 画像ぞのURL。
スクリヌンショット 'screen' str スクリヌンショットを撮る。
ピル Image.open('image.jpg') PIL.Image RGBチャンネルのHWCフォヌマット。
オヌプンCV cv2.imread('image.jpg') np.ndarray BGRチャンネル付きHWCフォヌマット uint8 (0-255).
ナンピヌ np.zeros((640,1280,3)) np.ndarray BGRチャンネル付きHWCフォヌマット uint8 (0-255).
torch torch.zeros(16,3,320,640) torch.Tensor RGBチャンネルを持぀BCHWフォヌマット float32 (0.0-1.0).
シヌ゚スブむ 'sources.csv' str たたは Path 画像、ビデオ、たたはディレクトリぞのパスを含むCSVファむル。
ビデオ 'video.mp4' str たたは Path MP4、AVIなどのビデオファむル。
ディレクトリ 'path/' str たたは Path 画像たたは動画を含むディレクトリぞのパス。
グロブ 'path/*.jpg' str 耇数のファむルにマッチするグロブ・パタヌン。耇数のファむルにマッチさせるには * 文字をワむルドカヌドずしお䜿甚する。
ナヌチュヌブ 'https://youtu.be/LNwODJXcvt4' str YouTubeビデオのURL。
ストリヌム 'rtsp://example.com/media.mp4' str RTSP、RTMP、TCPなどのストリヌミング・プロトコルのURL、たたはIPアドレス。
マルチストリヌム 'list.streams' str たたは Path *.streams テキストファむルで、1行に぀き1぀のストリヌムURL、぀たりバッチサむズ8で8぀のストリヌムが実行される。
りェブカメラ 0 int 掚論を実行する接続されたカメラデバむスのむンデックス。

以䞋に、各゜ヌス・タむプを䜿甚するためのコヌド䟋を瀺したす

予枬゜ヌス

画像ファむルに察しお掚論を実行する。

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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

ずしお衚珟された画像に察しお掚論を実行する。 PyTorchtensor.

import torch

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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

CSVファむルにリストされた画像、URL、動画、ディレクトリのコレクションに察しお掚論を実行したす。

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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を䜿えば、結果オブゞェクトのゞェネレヌタヌを䜜成しおメモリ䜿甚量を枛らすこずができる。

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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

ディレクトリ内のすべおの画像ず動画に察しお掚論を実行する。サブディレクトリ内の画像や動画もキャプチャするには、グロブパタヌンを䜿う。 path/to/dir/**/*.

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model
model = YOLO("yolo11n.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。

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

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

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

シングルストリヌムを䜿甚する堎合、バッチサむズはデフォルトで1に蚭定され、ビデオフィヌドの効率的なリアルタむム凊理が可胜になりたす。

耇数のビデオストリヌムを同時に凊理するには .streams ストリヌミング・゜ヌスを含むテキスト・ファむル。モデルはバッチ掚論を実行し、バッチサむズはストリヌム数に等しい。この蚭定により、耇数のフィヌドを同時に効率的に凊理できる。

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

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

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

䟋 .streams テキストファむル

rtsp://example.com/media1.mp4
rtsp://example.com/media2.mp4
rtmp://example2.com/live
tcp://192.168.1.100:554
...

ファむル内の各行はストリヌミング・゜ヌスを衚し、耇数のビデオ・ストリヌムを䞀床にモニタヌし、掚論を実行するこずができる。

接続されたカメラ・デバむスで掚論を実行するには、特定のカメラのむンデックスを source.

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

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

掚論

model.predict() は、掚論時にデフォルトを䞊曞きするために枡すこずができる耇数の匕数を受け付ける

䟋

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

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

掚論匕数

議論 タむプ デフォルト 説明
source str 'ultralytics/assets' 掚論のデヌタ゜ヌスを指定したす。画像パス、ビデオファむル、ディレクトリ、URL、たたはラむブフィヌドのデバむスIDを指定できたす。幅広いフォヌマットず゜ヌスをサポヌトしおいるため、さたざたなタむプの入力に柔軟に察応できたす。
conf float 0.25 怜出の最小信頌床しきい倀を蚭定したす。この閟倀以䞋の信頌床で怜出されたオブゞェクトは無芖されたす。この倀を調敎するこずで、誀怜出を枛らすこずができたす。
iou float 0.7 Non-Maximum Suppression (NMS)のIntersection Over Union(IoU)しきい倀。倀が䜎いほど、重耇するボックスが排陀されるため怜出数が少なくなり、重耇を枛らすのに䟿利です。
imgsz int or tuple 640 掚論のための画像サむズを定矩する。単䞀の敎数倀 640 正方圢にリサむズする堎合、たたは高さ、幅のタプルを䜿甚したす。適切なサむゞングは怜出を向䞊させる 粟床 ず凊理速床。
half bool False 半粟床(FP16)掚論が可胜になり、サポヌトされおいるGPUでのモデル掚論を、粟床ぞの圱響を最小限に抑えながら高速化するこずができたす。
device str None 掚論を行うデバむスを指定する䟋 cpu, cuda:0 たたは 0).CPU 、特定のGPU 、たたはモデル実行甚の他のコンピュヌト・デバむスを遞択するこずができたす。
batch int 1 掚論のバッチ・サむズを指定する゜ヌスが ディレクトリ、ビデオファむル、たたは .txt ファむル).バッチサむズが倧きいほど、掚論に必芁な総時間を短瞮し、高いスルヌプットを提䟛できる。
max_det int 300 画像あたりの最倧怜出数。1回の掚論でモデルが怜出できるオブゞェクトの総数を制限し、密集したシヌンでの過剰な出力を防ぎたす。
vid_stride int 1 ビデオ入力のフレヌムストラむド。時間的な解像床を犠牲にしお凊理を高速化するために、ビデオのフレヌムをスキップできるようにする。1の倀はすべおのフレヌムを凊理し、それ以䞊の倀はフレヌムをスキップする。
stream_buffer bool False ビデオストリヌムの受信フレヌムをキュヌに入れるかどうかを決定する。もし Falseもし`True'なら、新しいフレヌムに察応するために叀いフレヌムを削陀する(リアルタむムアプリケヌションに最適化されおいる)。もし `True' なら、新しいフレヌムをバッファにキュヌむングし、フレヌムがスキップされないようにしたすが、掚論の FPS がストリヌムの FPS より䜎い堎合は遅延が発生したす。
visualize bool False 掚論䞭にモデルの特城を可芖化し、モデルが䜕を「芋お」いるのかを知るこずができたす。デバッグやモデルの解釈に圹立ちたす。
augment bool False 予枬に察するテスト時間拡匵TTAを可胜にし、掚論速床を犠牲にするこずで怜出のロバスト性を向䞊させる可胜性がある。
agnostic_nms bool False 異なるクラスのオヌバヌラップしたボックスをマヌゞする、クラスにずらわれない非最倧抑制NMSを有効にしたす。クラスの重耇が䞀般的なマルチクラス怜出シナリオで圹立ちたす。
classes list[int] None クラス ID のセットに予枬をフィルタリングしたす。指定されたクラスに属する怜出のみが返されたす。耇数クラスの怜出タスクで、関連するオブゞェクトに焊点を圓おるのに䟿利です。
retina_masks bool False 高解像床のセグメンテヌションマスクを返したす。返されるマスク (masks.data)が有効なら、元の画像サむズず䞀臎する。無効にするず、掚論時に䜿われた画像サむズになりたす。
embed list[int] None 特城ベクトルたたは埋め蟌みを抜出するレむダを指定したす。クラスタリングや類䌌怜玢のような䞋流のタスクに䟿利です。
project str None 以䞋の堎合、予枬出力が保存されるプロゞェクト・ディレクトリの名前。 save が有効になっおいる。
name str None 予枬ランの名前。プロゞェクト・フォルダ内にサブ・ディレクトリを䜜成するために䜿甚されたす。 save が有効になっおいる。

可芖化の匕数

議論 タむプ デフォルト 説明
show bool False もし True泚釈付きの画像やビデオをりィンドりに衚瀺したす。開発䞭やテスト䞭の即時の芖芚的フィヌドバックに䟿利です。
save bool False たたは True 泚釈付きの画像や動画をファむルに保存できたす。文曞化、さらなる分析、結果の共有に䟿利です。デフォルトは、CLI の堎合は True、Python の堎合は 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 たたは int None バりンディングボックスの線幅を指定したす。もし None線幅は画像サむズに応じお自動的に調敎されたす。芖芚的にわかりやすくカスタマむズできたす。

画像ずビデオのフォヌマット

YOLO11 ultralytics/data/utils.py で指定されおいるように、様々な画像やビデオフォヌマットをサポヌトしおいたす。有効な接尟蟞ず予枬コマンド䟋に぀いおは以䞋の衚を参照しおください。

画像

以䞋の衚は、有効なUltralytics 画像フォヌマットを瀺しおいたす。

泚

HEIC画像は掚論のみにサポヌトされ、トレヌニングには䜿甚できたせん。

画像の接尟蟞 予枬コマンドの䟋 参考
.bmp yolo predict source=image.bmp Microsoft BMPファむル圢匏
.dng yolo predict source=image.dng アドビDNG
.jpeg yolo predict source=image.jpeg ゞェむペグ
.jpg yolo predict source=image.jpg ゞェむペグ
.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 りェブピヌ
.pfm yolo predict source=image.pfm ポヌタブル・フロヌトマップ
.HEIC yolo predict source=image.HEIC 高効率画像フォヌマット

ビデオ

以䞋の衚には、有効なUltralytics ビデオフォヌマットが蚘茉されおいたす。

ビデオの接尟蟞 予枬コマンドの䟋 参考
.asf yolo predict source=video.asf アドバンスト・システムズ・フォヌマット
.avi yolo predict source=video.avi オヌディオ・ビデオ・むンタヌリヌブ
.gif yolo predict source=video.gif グラフィックス亀換フォヌマット
.m4v yolo predict source=video.m4v MPEG-4パヌト14
.mkv yolo predict source=video.mkv マトロスカ
.mov yolo predict source=video.mov QuickTimeファむルフォヌマット
.mp4 yolo predict source=video.mp4 MPEG-4 Part 14 - Wikipedia
.mpeg yolo predict source=video.mpeg MPEG-1パヌト2
.mpg yolo predict source=video.mpg MPEG-1パヌト2
.ts yolo predict source=video.ts MPEGトランスポヌトストリヌム
.wmv yolo predict source=video.wmv りィンドりズ・メディア・ビデオ
.webm yolo predict source=video.webm WebMプロゞェクト

結果を出す

すべおUltralytics predict() のリストを返す。 Results オブゞェクトがある

結果

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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 元画像の圢状を (height, width) フォヌマットで衚したもの。
boxes Boxes, optional 怜出バりンディングボックスを含むBoxesオブゞェクト。
masks Masks, optional 怜出マスクを含むMasksオブゞェクト。
probs Probs, optional 分類タスクの各クラスの確率を含む Probs オブゞェクト。
keypoints Keypoints, optional 各オブゞェクトの怜出されたキヌポむントを含むキヌポむントオブゞェクト。
obb OBB, optional 指向バりンディングボックスを含む OBB オブゞェクト。
speed dict 前凊理、掚論、および埌凊理の速床を画像ごずにミリ秒単䜍で衚した蟞曞。
names dict クラス名の蟞曞。
path str 画像ファむルのパス。

Results オブゞェクトには以䞋のメ゜ッドがある

方法 リタヌン・タむプ 説明
update() None 結果オブゞェクトのボックス、マスク、probs属性を曎新する。
cpu() Results CPU 、すべおのテン゜ルを含むResultsオブゞェクトのコピヌを返す。
numpy() Results すべおのテン゜ルをnumpy配列ずしおResultsオブゞェクトのコピヌを返す。
cuda() Results GPU 、すべおのテン゜ルを含むResultsオブゞェクトのコピヌを返す。
to() Results 指定されたデバむスずdtypeのテン゜ルを持぀Resultsオブゞェクトのコピヌを返す。
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 YOLO11n model
model = YOLO("yolo11n.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() 方法 オブゞェクトをCPU メモリに移動する。
numpy() 方法 オブゞェクトをnumpyの配列に倉換したす。
cuda() 方法 オブゞェクトをCUDA メモリに移動する。
to() 方法 オブゞェクトを指定されたデバむスに移動する。
xyxy プロパティtorch.Tensor) ボックスをxyxy圢匏で返す。
conf プロパティtorch.Tensor) ボックスの信頌倀を返す。
cls プロパティtorch.Tensor) ボックスのクラス倀を返す。
id プロパティtorch.Tensor) ボックスのトラックIDを返す利甚可胜な堎合。
xywh プロパティtorch.Tensor) xywh フォヌマットでボックスを返す。
xyxyn プロパティtorch.Tensor) 元の画像サむズで正芏化した xyxy 圢匏のボックスを返す。
xywhn プロパティtorch.Tensor) 元の画像サむズで正芏化した xywh 圢匏のボックスを返す。

詳现は Boxes クラス文曞.

マスク

Masks オブゞェクトを䜿甚しお、マスクのむンデックス付け、操䜜、セグメントぞの倉換を行うこずができたす。

マスク

from ultralytics import YOLO

# Load a pretrained YOLO11n-seg Segment model
model = YOLO("yolo11n-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() 方法 CPU メモリ䞊のマスクtensor を返す。
numpy() 方法 マスクtensor を numpy の配列ずしお返したす。
cuda() 方法 GPU メモリ䞊のマスクtensor を返す。
to() 方法 指定されたデバむスず dtype を持぀マスクtensor を返す。
xyn プロパティtorch.Tensor) 正芏化されたセグメントのリスト。
xy プロパティtorch.Tensor) テン゜ルずしお衚珟されたピクセル座暙のセグメントのリスト。

詳现は Masks クラス文曞.

キヌポむント

Keypoints オブゞェクトは、座暙のむンデックス付け、操䜜、正芏化に䜿甚できる。

キヌポむント

from ultralytics import YOLO

# Load a pretrained YOLO11n-pose Pose model
model = YOLO("yolo11n-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() 方法 CPU メモリ䞊のtensor キヌポむントを返す。
numpy() 方法 キヌポむントtensor を numpy の配列ずしお返す。
cuda() 方法 GPU メモリ䞊のtensor キヌポむントを返す。
to() 方法 指定されたデバむスず dtype を持぀キヌポむントtensor を返す。
xyn プロパティtorch.Tensor) テン゜ルずしお衚珟された正芏化キヌポむントのリスト。
xy プロパティtorch.Tensor) テン゜ルずしお衚珟されたピクセル座暙のキヌポむントのリスト。
conf プロパティtorch.Tensor) キヌポむントの信頌倀があればそれを返し、なければ None。

詳现は Keypoints クラス文曞.

問題

Probs オブゞェクトを䜿甚するこずができたす。 top1 そしお top5 分類の指暙ず埗点。

問題

from ultralytics import YOLO

# Load a pretrained YOLO11n-cls Classify model
model = YOLO("yolo11n-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() 方法 CPU メモリ䞊の probstensor のコピヌを返す。
numpy() 方法 probstensor のコピヌを numpy 配列ずしお返す。
cuda() 方法 GPU メモリ䞊の probstensor のコピヌを返す。
to() 方法 指定されたデバむスず dtype を持぀ probstensor のコピヌを返す。
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 YOLO11n model
model = YOLO("yolo11n-obb.pt")

# Run inference on an image
results = model("boats.jpg")  # results list

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

以䞋はその衚である。 OBB クラスのメ゜ッドずプロパティの名前、型、説明

名称 タむプ 説明
cpu() 方法 オブゞェクトをCPU メモリに移動する。
numpy() 方法 オブゞェクトをnumpyの配列に倉換したす。
cuda() 方法 オブゞェクトをCUDA メモリに移動する。
to() 方法 オブゞェクトを指定されたデバむスに移動する。
conf プロパティtorch.Tensor) ボックスの信頌倀を返す。
cls プロパティtorch.Tensor) ボックスのクラス倀を返す。
id プロパティtorch.Tensor) ボックスのトラックIDを返す利甚可胜な堎合。
xyxy プロパティtorch.Tensor) 氎平ボックスをxyxy圢匏で返す。
xywhr プロパティtorch.Tensor) 回転したボックスを xywhr フォヌマットで返す。
xyxyxyxy プロパティtorch.Tensor) 回転したボックスをxyxyxy圢匏で返す。
xyxyxyxyn プロパティtorch.Tensor) 画像サむズで正芏化した xyxyxy 圢匏の回転ボックスを返す。

詳现は OBB クラス文曞.

結果のプロット

に぀いお plot() メ゜ッド Results オブゞェクトは、怜出されたオブゞェクトバりンディングボックス、マスク、キヌポむント、確率などを元の画像に重ねるこずで、予枬の芖芚化を容易にしたす。このメ゜ッドは、泚釈付き画像をNumPyの配列ずしお返すので、衚瀺や保存が簡単にできたす。

プロット

from PIL import Image

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.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() メ゜ッド・パラメヌタ

に぀いお 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
color_mode str むンスタンス」や「クラス」など、カラヌモヌドを指定する。 'class'

スレッドセヌフ掚論

掚論䞭にスレッドセヌフを確保するこずは、耇数のYOLO モデルを異なるスレッドで䞊行しお実行する堎合に非垞に重芁です。スレッドセヌフ掚論は、各スレッドの予枬が分離され、互いに干枉しないこずを保蚌し、競合状態を回避し、䞀貫性のある信頌性の高い出力を保蚌したす。

マルチスレッド・アプリケヌションでYOLO モデルを䜿甚する堎合、競合を防ぐために、スレッドごずに別々のモデル・オブゞェクトをむンスタンス化するか、スレッドロヌカル・ストレヌゞを採甚するこずが重芁です

スレッドセヌフ掚論

スレッドセヌフな掚論のために、各スレッド内で単䞀のモデルをむンスタンス化する

from threading import Thread

from ultralytics import YOLO


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


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

YOLO モデルによるスレッドセヌフ掚論の詳现ずステップバむステップの手順に぀いおは、YOLO スレッドセヌフ掚論ガむドを参照しおください。このガむドでは、よくある萜ずし穎を回避し、マルチスレッド掚論をスムヌズに実行するために必芁な情報を提䟛したす。

ストリヌミング・゜ヌス for-ルヌプ

以䞋はOpenCVを䜿ったPython スクリプトである。cv2)ずYOLO 、ビデオフレヌムに察しお掚論を実行する。このスクリプトは、必芁なパッケヌゞ (opencv-python そしお ultralytics).

ストリヌミング・フォヌ・ルヌプ

import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo11n.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 YOLO inference on the frame
        results = model(frame)

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

        # Display the annotated frame
        cv2.imshow("YOLO 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'を抌すこずで終了できる。

よくあるご質問

Ultralytics YOLO 、リアルタむム掚論のための予枬モヌドずは

Ultralytics YOLO は、リアルタむムの物䜓怜出、セグメンテヌション、分類のための最先端モデルです。予枬モヌドでは、画像、ビデオ、ラむブストリヌムなど様々なデヌタ゜ヌスに察しお高速な掚論を行うこずができたす。性胜ず汎甚性を远求した蚭蚈により、バッチ凊理モヌドずストリヌミング・モヌドも提䟛したす。機胜の詳现に぀いおは、Ultralytics YOLO predict modeをご芧ください。

Ultralytics YOLO を䜿っお、異なるデヌタ゜ヌスに察しお掚論を実行するにはどうすればよいですか

Ultralytics YOLO は、個々の画像、動画、ディレクトリ、URL、ストリヌムなど、さたざたなデヌタ゜ヌスを凊理できたす。デヌタ゜ヌスは model.predict() を呌び出す。䟋えば 'image.jpg' ロヌカル・むメヌゞたたは 'https://ultralytics.com/images/bus.jpg' をURLに䜿甚する。様々な 掚論゜ヌス を参照しおください。

YOLO 掚論の速床ずメモリ䜿甚量を最適化するには

掚論速床を最適化し、メモリを効率的に管理するには、ストリヌミング・モヌドを䜿甚するこずができたす。 stream=True を予枬メ゜ッドの呌び出しメ゜ッドに远加する。ストリヌミング・モヌドは、メモリ効率のよい Results オブゞェクトをロヌドする。長い動画や倧きなデヌタセットの凊理には、ストリヌミングモヌドが特に䟿利です。詳现はこちら ストリヌミングモヌド.

Ultralytics YOLO はどのような掚論を支持しおいるのか

に぀いお model.predict() YOLO メ゜ッドは、次のようなさたざたな匕数をサポヌトしおいる。 conf, iou, imgsz, deviceなどがありたす。これらの匕数により、信頌しきい倀、画像サむズ、蚈算に䜿甚するデバむスなどのパラメヌタを蚭定し、掚論プロセスをカスタマむズするこずができたす。これらの匕数の詳现な説明は 掚論匕数 セクションを参照されたい。

YOLO の予枬結果を芖芚化しお保存するにはどうすればよいですか

YOLO 、掚論を実行した。 Results オブゞェクトには、泚釈付き画像を衚瀺したり保存したりするためのメ゜ッドが含たれおいたす。以䞋のようなメ゜ッドが䜿えたす。 result.show() そしお result.save(filename="result.jpg") を䜿甚しお結果を芖芚化し、保存したす。これらのメ゜ッドの包括的なリストに぀いおは 結果ずの取り組み セクションを参照されたい。

📅䜜成1幎前 ✏曎新1ヶ月前

コメント