参考 ultralytics/data/loaders.py
注
このファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ ultralytics/data/loaders .py にあります。もし問題を発見したら、Pull Request🛠️ を投稿して修正にご協力ください。ありがとうございました!
ultralytics.data.loaders.SourceTypes
dataclass
ultralytics.data.loaders.LoadStreams
RTSP、RTMP、HTTP、TCPストリームに対応。
属性:
名称 | タイプ | 説明 |
---|---|---|
sources |
str
|
ビデオストリームのソース入力パスまたはURL。 |
vid_stride |
int
|
デフォルトは1。 |
buffer |
bool
|
入力ストリームをバッファリングするかどうか。 |
running |
bool
|
ストリーミングスレッドが実行中かどうかを示すフラグ。 |
mode |
str
|
リアルタイムキャプチャを示す「stream」に設定。 |
imgs |
list
|
各ストリームの画像フレームのリスト。 |
fps |
list
|
各ストリームのFPSのリスト。 |
frames |
list
|
各ストリームの総フレームのリスト。 |
threads |
list
|
各ストリームのスレッドのリスト。 |
shape |
list
|
各ストリームの形状のリスト。 |
caps |
list
|
各ストリームの cv2.VideoCapture オブジェクトのリスト. |
bs |
int
|
処理のバッチサイズ。 |
方法:
名称 | 説明 |
---|---|
__init__ |
ストリーム・ローダーを初期化する。 |
update |
デーモンスレッドでストリームフレームを読む。 |
close |
ストリームローダーを閉じ、リソースを解放する。 |
__iter__ |
クラスのイテレータ・オブジェクトを返します。 |
__next__ |
処理用のソースパス、変換後の画像、および元の画像を返します。 |
__len__ |
ソース・オブジェクトの長さを返す。 |
ソースコード ultralytics/data/loaders.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
|
__init__(sources='file.streams', vid_stride=1, buffer=False)
インスタンス変数を初期化し、一貫性のある入力ストリーム形状をチェックする。
ソースコード ultralytics/data/loaders.py
__iter__()
__len__()
__next__()
処理用のソースパス、変換後の画像、元の画像を返します。
ソースコード ultralytics/data/loaders.py
close()
ストリームローダーを閉じ、リソースを解放する。
ソースコード ultralytics/data/loaders.py
update(i, cap, stream)
ストリームを読む i
フレームをデーモンスレッドで使用する。
ソースコード ultralytics/data/loaders.py
ultralytics.data.loaders.LoadScreenshots
YOLOv8 スクリーンショットデータローダー。
このクラスは、YOLOv8 で処理するためのスクリーンショット画像の読み込みを管理します。
との使用に適しています。 yolo predict source=screen
.
属性:
名称 | タイプ | 説明 |
---|---|---|
source |
str
|
どの画面をキャプチャするかを示すソース入力。 |
screen |
int
|
キャプチャする画面番号。 |
left |
int
|
画面キャプチャ領域の左座標。 |
top |
int
|
スクリーンキャプチャエリアのトップ座標。 |
width |
int
|
画面キャプチャ領域の幅。 |
height |
int
|
画面キャプチャ領域の高さ。 |
mode |
str
|
リアルタイムキャプチャを示す「stream」に設定。 |
frame |
int
|
キャプチャしたフレームのカウンタ。 |
sct |
mss
|
スクリーンキャプチャオブジェクト |
bs |
int
|
バッチサイズ。 |
monitor |
dict
|
モニター設定の詳細。 |
方法:
名称 | 説明 |
---|---|
__iter__ |
イテレータオブジェクトを返します。 |
__next__ |
次のスクリーンショットをキャプチャして返す。 |
ソースコード ultralytics/data/loaders.py
__init__(source)
ソース = [screen_number left top width height] (pixels).
ソースコード ultralytics/data/loaders.py
__iter__()
__next__()
mssスクリーンキャプチャ:スクリーンから生のピクセルをnp配列として取得します。
ソースコード ultralytics/data/loaders.py
ultralytics.data.loaders.LoadImagesAndVideos
YOLOv8 画像/ビデオデータローダー。
このクラスは、YOLOv8 用の画像およびビデオデータの読み込みと前処理を管理します。このクラスは 単一の画像ファイルや動画ファイル、画像や動画のパスリストなど、さまざまな形式からの読み込みをサポートしています。
属性:
名称 | タイプ | 説明 |
---|---|---|
files |
list
|
画像とビデオファイルのパスのリスト。 |
nf |
int
|
ファイル(画像と動画)の総数。 |
video_flag |
list
|
ファイルがビデオ(True)か画像(False)かを示すフラグ。 |
mode |
str
|
現在のモード、「イメージ」または「ビデオ」。 |
vid_stride |
int
|
ビデオフレームレートのストライド。デフォルトは1。 |
bs |
int
|
バッチサイズ。このクラスでは 1 に設定される。 |
cap |
VideoCapture
|
OpenCV用のビデオキャプチャオブジェクト。 |
frame |
int
|
ビデオのフレームカウンター。 |
frames |
int
|
ビデオの総フレーム数。 |
count |
int
|
反復のためのカウンタ。 |
方法:
名称 | 説明 |
---|---|
_new_video |
与えられたビデオパスに対して,新しい cv2.VideoCapture オブジェクトを作成します. |
ソースコード ultralytics/data/loaders.py
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 |
|
__init__(path, batch=1, vid_stride=1)
Dataloader を初期化し、ファイルが見つからない場合は FileNotFoundError を発生させます。
ソースコード ultralytics/data/loaders.py
__iter__()
__len__()
__next__()
次の画像またはビデオフレームを、それらのパスおよびメタデータとともに返します。
ソースコード ultralytics/data/loaders.py
ultralytics.data.loaders.LoadPilAndNumpy
バッチ処理のためにPILとNumpy配列から画像をロードする。
このクラスは、PIL形式とNumpy形式の両方からの画像データの読み込みと前処理を管理するために設計されています。 基本的な検証やフォーマット変換を行い、画像が下流の処理に必要なフォーマットになっていることを確認します。 であることを保証します。
属性:
名称 | タイプ | 説明 |
---|---|---|
paths |
list
|
画像のパスまたは自動生成されたファイル名のリスト。 |
im0 |
list
|
Numpy配列として格納された画像のリスト。 |
mode |
str
|
デフォルトは「image」。 |
bs |
int
|
の長さに相当する。 |
方法:
名称 | 説明 |
---|---|
_single_check |
単一の画像を検証し、Numpy配列にフォーマットする。 |
ソースコード ultralytics/data/loaders.py
__init__(im0)
PILとNumpy Dataloaderを初期化する。
ソースコード ultralytics/data/loaders.py
__iter__()
__len__()
__next__()
バッチパス、画像、処理済み画像、None、''を返します。
ultralytics.data.loaders.LoadTensor
torch.Tensor データから画像を読み込む。
このクラスは、さらなる処理のために、PyTorch テンソルからの画像データのロードと前処理を管理する。
属性:
名称 | タイプ | 説明 |
---|---|---|
im0 |
Tensor
|
画像を含む入力tensor 。 |
bs |
int
|
の形状から推測されるバッチサイズ。 |
mode |
str
|
現在のモード。 |
paths |
list
|
画像のパスまたはファイル名のリスト。 |
count |
int
|
反復のためのカウンタ。 |
方法:
名称 | 説明 |
---|---|
_single_check |
入力を検証し、場合によっては修正するtensor 。 |
ソースコード ultralytics/data/loaders.py
__init__(im0)
Tensor Dataloader を初期化します。
__iter__()
__len__()
ultralytics.data.loaders.autocast_list(source)
異なる型のソースのリストをnumpy配列またはPILイメージのリストにマージします。
ソースコード ultralytics/data/loaders.py
ultralytics.data.loaders.get_best_youtube_url(url, use_pafy=True)
指定されたYouTube動画から最高画質のMP4動画ストリームのURLを取得します。
この関数は、pafyまたはyt_dlpライブラリを使用してYouTubeからビデオ情報を抽出します。そして を見つけ、このビデオストリームの URL を返します。
パラメーター
名称 | タイプ | 説明 | デフォルト |
---|---|---|---|
url |
str
|
YouTubeビデオのURL。 |
必須 |
use_pafy |
bool
|
pafyパッケージを使う。デフォルト=True、そうでなければyt_dlpパッケージを使う。 |
True
|
リターンズ
タイプ | 説明 |
---|---|
str
|
最高品質のMP4ビデオストリームのURL、または適切なストリームが見つからない場合はNone。 |