コンテンツへスキップ

構成

YOLO 設定とハイパーパラメータは、モデルのパフォーマンス、スピード、精度に重要な役割を果たします。これらの設定は、トレーニング、検証、予測を含む様々な段階でモデルの動作に影響を与えます。

見る Ultralytics 使いこなすYOLO: コンフィギュレーション



見るんだ: MasteringUltralytics YOLO : コンフィギュレーション

Ultralytics コマンドは以下の構文を使う:

yolo TASK MODE ARGS
from ultralytics import YOLO

# Load a YOLO model from a pre-trained weights file
model = YOLO("yolo11n.pt")

# Run MODE mode using the custom arguments ARGS (guess TASK)
model.MODE(ARGS)

どこでだ:

デフォルト ARG の値はこのページで定義されている。 cfg/defaults.yaml ファイル.

タスク

Ultralytics YOLO モデルは、以下のような様々なコンピュータビジョンタスクを実行することができます:

議論 デフォルト 説明
task 'detect' YOLO タスクを指定する: detect にとって オブジェクト検出, segment セグメンテーションのために、 classify を分類する、 pose ポーズ推定 obb オリエンテッドなバウンディングボックス各タスクは、画像やビデオ解析における特定の出力や問題に合わせて調整されています。

タスクガイド

モード

Ultralytics YOLO モデルは、モデルのライフサイクルの特定の段階に合わせて設計された、さまざまなモードで動作します:

  • 訓練するカスタムデータセットでYOLO モデルを訓練する。
  • Val: 訓練されたYOLO モデルを検証する。
  • 予測する:トレーニングされたYOLO モデルを使って、新しい画像や動画の予測を行う。
  • エクスポートデプロイ用にYOLO モデルをエクスポートします。
  • 追跡:YOLO モデルを使用してリアルタイムでオブジェクトを追跡します。
  • ベンチマーク:YOLO エクスポートONNX、TensorRT)の速度と精度をベンチマークする。
議論 デフォルト 説明
mode 'train' YOLO モデルの動作モードを指定する: train をモデルトレーニングに使用する、 val を検証する、 predict 推論のために、 export デプロイメント形式への変換 track 物体追跡用 benchmark パフォーマンス評価用。各モードは、開発から配備までのさまざまな段階をサポートする。

モードガイド

列車設定

YOLO モデルの学習設定には、モデルのパフォーマンス、スピード、精度に影響を与えるハイパーパラメータと設定が含まれます。主な設定には、バッチサイズ学習率、モメンタム、ウェイト減衰が含まれる。オプティマイザーの選択、損失関数、データセットの構成も学習に影響を与える。最適なパフォーマンスを得るためには、チューニングと実験が重要です。詳細については、Ultralytics エントリポイント関数を参照してください。

議論 タイプ デフォルト 説明
model str None トレーニング用のモデルファイルを指定します。ファイルへのパスを指定します。 .pt 訓練済みモデルまたは .yaml 設定ファイル。モデル構造の定義や重みの初期化に不可欠。
data str None データセット設定ファイルへのパス(例. coco8.yaml).このファイルにはデータセット固有のパラメータが含まれる。 検証データクラス名、クラス数
epochs int 100 学習エポックの総数。各エポックはデータセット全体に対するフルパスを表す。この値を調整することで、トレーニング期間とモデルのパフォーマンスに影響を与えることができる。
time float None 最大トレーニング時間(時間単位)。設定すると epochs 引数を指定することで、指定した期間後にトレーニングを自動的に停止することができます。時間に制約のあるトレーニングシナリオに便利です。
patience int 100 学習を早期に停止する前に、検証メトリクスに改善が見られない場合のエポック数。性能が頭打ちになったときに学習を停止することで、オーバーフィッティングを防ぐことができます。
batch int 16 バッチサイズ3つのモードがある、 batch=16)、GPU メモリ使用率60%の自動モード(batch=-1)、または利用率を指定した自動モード(batch=0.70).
imgsz int または list 640 トレーニングのターゲット画像サイズ。すべての画像は、モデルに入力される前にこの次元にリサイズされます。モデルの精度と計算の複雑さに影響します。
save bool True トレーニングのチェックポイントと最終的なモデルの重みを保存できるようにします。トレーニングの再開やモデルのデプロイに便利です。
save_period int -1 モデルのチェックポイントを保存する頻度をエポックで指定します。値を-1にすると、この機能は無効になります。長いトレーニングセッション中に中間モデルを保存するのに便利です。
cache bool False データセット画像をメモリ上にキャッシュできるようにする (True/ram)、ディスク上(disk)、または無効にする(False).メモリ使用量の増加と引き換えに、ディスクI/Oを削減することでトレーニング速度を向上させる。
device int または str または list None トレーニングに使用する計算デバイスを指定します: シングルGPU (device=0)、マルチGPU(device=0,1)、CPU (device=cpu)、またはアップル・シリコン用のMPS (device=mps).
workers int 8 データロードのためのワーカースレッド数(1スレッドあたり RANK マルチGPU トレーニングの場合)。データの前処理とモデルへの投入速度に影響し、特にマルチGPU セットアップで有用。
project str None トレーニング出力が保存されるプロジェクトディレクトリの名前。異なる実験を整理して保存できるようにする。
name str None トレーニング実行の名前。プロジェクトフォルダ内にサブディレクトリを作成し、そこにトレーニングログと出力を保存します。
exist_ok bool False Trueの場合、既存のproject/nameディレクトリを上書きできる。以前の出力を手動で消去する必要がなく、繰り返し実験するのに便利です。
pretrained bool または str True 事前に訓練されたモデルから学習を開始するかどうかを決定します。ブール値または特定のモデルへの文字列パスを指定し、そこから重みを読み込みます。トレーニングの効率とモデルのパフォーマンスを向上させます。
optimizer str 'auto' トレーニング用オプティマイザーの選択。オプション SGD, Adam, AdamW, NAdam, RAdam, RMSProp など、あるいは auto モデル構成に基づく自動選択。収束速度と安定性に影響します。
seed int 0 トレーニング用のランダムシードを設定し、同じコンフィギュレーションで実行した場合の結果の再現性を確保します。
deterministic bool True 決定論的アルゴリズムの使用を強制し、再現性を確保するが、非決定論的アルゴリズムの制限により、パフォーマンスとスピードに影響を与える可能性がある。
single_cls bool False マルチクラスデータセットのすべてのクラスを1つのクラスとして扱う。バイナリ分類タスクや、分類よりもオブジェクトの存在に注目する場合に便利。
classes list[int] None トレーニングするクラスIDのリストを指定します。トレーニング中に特定のクラスだけを絞り込んでフォーカスするのに便利です。
rect bool False 最小限のパディングのためにバッチ構成を最適化し、矩形学習を可能にする。効率とスピードが向上しますが、モデルの精度に影響を与える可能性があります。
multi_scale bool False 増減によるマルチスケールトレーニングが可能 imgsz 倍まで 0.5 トレーニング中に複数回のトレーニングにより、モデルの精度が向上します。 imgsz 推論中
cos_lr bool False コサイン学習率スケジューラを利用し、エポックにわたってコサイン曲線に従って学習率を調整する。より良い収束のための学習率管理に役立つ。
close_mosaic int 10 トレーニング完了前に安定させるため、最後のNエポックでのモザイクデータ増大を無効にする。0に設定するとこの機能は無効になる。
resume bool False 最後に保存したチェックポイントからトレーニングを再開。モデルの重み、オプティマイザの状態、エポックカウントを自動的にロードし、シームレスにトレーニングを継続。
amp bool True 自動混合精度(AMP)トレーニングが可能になり、メモリ使用量を削減し、精度への影響を最小限に抑えながらトレーニングを高速化できる可能性があります。
fraction float 1.0 学習に使用するデータセットの割合を指定します。実験やリソースが限られている場合に便利です。
profile bool False トレーニング中のONNX とTensorRT 速度のプロファイリングを可能にし、モデル展開の最適化に役立つ。
freeze int または list None モデルの最初のN層、またはインデックスで指定した層をフリーズし、学習可能なパラメータの数を減らす。微調整や転移学習に役立つ。
lr0 float 0.01 初期学習率 SGD=1E-2, Adam=1E-3).この値を調整することは最適化プロセスにとって重要であり、モデルの重みの更新速度に影響する。
lrf float 0.01 初期学習率に対する最終学習率の割合 = (lr0 * lrf)をスケジューラと組み合わせて使用し、時間経過とともに学習率を調整する。
momentum float 0.937 SGDの場合はモメンタム係数、Adamオプティマイザの場合はβ1。過去の勾配を現在の更新に反映させる。
weight_decay float 0.0005 L2正則化項は、オーバーフィッティングを防ぐために大きな重みにペナルティを与える。
warmup_epochs float 3.0 学習率のウォームアップのためのエポック数。低い値から初期学習率まで徐々に学習率を上げていき、早い段階で学習を安定させる。
warmup_momentum float 0.8 ウォームアップ期の初期モメンタムは、ウォームアップ期間中に設定されたモメンタムに徐々に調整される。
warmup_bias_lr float 0.1 ウォームアップフェーズにおけるバイアスパラメータの学習率は、初期エポックにおけるモデル学習を安定させるのに役立つ。
box float 7.5 バウンディングボックスの座標を正確に予測することにどの程度重点を置くかに影響する。
cls float 0.5 全損失関数における分類損失の重みで、他のコンポーネントに対する正しいクラス予測の重要性に影響する。
dfl float 1.5 分布フォーカルロスの重み。YOLO の特定のバージョンで、細かい分類に使用される。
pose float 12.0 ポーズ推定用に学習されたモデルにおけるポーズロスの重み。ポーズキーポイントを正確に予測することに重点が置かれていることが影響している。
kobj float 2.0 ポーズ推定モデルにおけるキーポイントのオブジェクトネス損失の重み、検出信頼度とポーズ精度のバランス。
nbs int 64 ロスを正規化するための公称バッチサイズ。
overlap_mask bool True オブジェクトのマスクをトレーニング用に1つのマスクにマージするか、オブジェクトごとに別々にするかを決定します。オーバーラップの場合、小さいマスクはマージ時に大きいマスクの上に重ねられます。
mask_ratio int 4 セグメンテーションマスクのダウンサンプル比。トレーニング時に使用するマスクの解像度に影響する。
dropout float 0.0 分類タスクにおける正則化のためのドロップアウト率。トレーニング中にユニットをランダムに省略することでオーバーフィッティングを防ぐ。
val bool True トレーニング中に検証を有効にし、別のデータセットでモデルの性能を定期的に評価できるようにする。
plots bool False 予測例だけでなく、訓練と検証のメトリクスのプロットを生成して保存することで、モデルのパフォーマンスと学習の進行に関する視覚的な洞察を提供します。

バッチサイズ設定に関する注意事項

について batch 引数には3つの設定オプションがある:

  • 固定バッチサイズ:バッチあたりの画像数を整数で指定する、 batch=16).
  • オートモード (60%GPU メモリー):用途 batch=-1 CUDA メモリ使用率を約60%に自動調整します。
  • 利用率によるオートモード:端数を設定する(例. batch=0.70) を使用して、指定されたGPU メモリ使用量に基づいて調整します。

鉄道ガイド

設定の予測

YOLO モデルの予測設定には、推論中のパフォーマンス、スピード、精度に影響するハイパーパラメータと設定が含まれる。主な設定には、信頼しきい値、非最大抑制(NMS)しきい値、およびクラス数が含まれます。入力データのサイズ、フォーマット、マスクのような補助機能も予測に影響します。最適なパフォーマンスを得るためには、これらの設定を調整することが不可欠です。

推論引数:

議論 タイプ デフォルト 説明
source str 'ultralytics/assets' 推論のデータソースを指定します。画像パス、ビデオファイル、ディレクトリ、URL、またはライブフィードのデバイスIDを指定できます。幅広いフォーマットとソースをサポートしているため、さまざまなタイプの入力に柔軟に対応できます。
conf float 0.25 検出の最小信頼度しきい値を設定します。この閾値以下の信頼度で検出されたオブジェクトは無視されます。この値を調整することで、誤検出を減らすことができます。
iou float 0.7 Non-Maximum Suppression (NMS)のIntersection Over Union(IoU)しきい値。値が低いほど、重複するボックスが排除されるため検出数が少なくなり、重複を減らすのに便利です。
imgsz int または 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しかし、推論の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 が有効になっている。
stream bool False すべてのフレームを一度にメモリにロードするのではなく、Resultsオブジェクトのジェネレーターを返すことで、長いビデオや多数の画像のメモリ効率的な処理を可能にします。
verbose bool True ターミナルに詳細な推論ログを表示し、予測プロセスに関するリアルタイムのフィードバックを提供するかどうかを制御します。

可視化の引数:

議論 タイプ デフォルト 説明
show bool False もし True注釈付きの画像やビデオをウィンドウに表示します。開発中やテスト中の即時の視覚的フィードバックに便利です。
save bool False or 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 or int None バウンディングボックスの線幅を指定します。もし None線幅は画像サイズに応じて自動的に調整されます。視覚的にわかりやすくカスタマイズできます。
font_size float None 注釈のテキストフォントサイズ。に設定すると、画像サイズに合わせて自動的に拡大縮小されます。 None.
font str 'Arial.ttf' 可視化のテキスト注釈のフォント名またはパス。
pil bool False 画像をnumpy配列ではなくPIL Imageオブジェクトとして返す。
kpt_radius int 5 ポーズ推定結果を可視化する際のキーポイントの半径。
kpt_line bool True ポーズ推定を視覚化する際、キーポイントを線で結ぶ。
masks bool True 可視化出力にセグメンテーションマスクを表示する。
probs bool True 視覚化に分類確率を含める。
filename str None 注釈付き画像を保存する際のパスとファイル名。 save=True.
color_mode str 'class' インスタンス」や「クラス」など、ビジュアライゼーションのカラーリングモードを指定する。
txt_color tuple[int, int, int] (255, 255, 255) 分類タスク注釈のRGBテキスト色。

予測ガイド

バリデーション設定

YOLO モデルの検証設定には、検証データセットでの性能を評価するためのハイパーパラメータと設定が含まれる。これらの設定は、パフォーマンス、スピード、精度に影響する。一般的な設定には、バッチサイズ、検証頻度、パフォーマンスメトリクスが含まれる。検証データセットのサイズと構成は、特定のタスクとともに、プロセスにも影響する。

議論 タイプ デフォルト 説明
data str None データセット設定ファイルへのパスを指定する(例. coco8.yaml).このファイルには 検証データクラス名、クラス数
imgsz int 640 入力画像のサイズを定義します。すべての画像は、処理前にこの寸法にリサイズされます。サイズを大きくすると、小さなオブジェクトの精度は向上しますが、計算時間が長くなります。
batch int 16 バッチあたりの画像数を設定します。値が高いほどGPU メモリを効率的に利用できますが、より多くのVRAMを必要とします。利用可能なハードウェアリソースに基づいて調整します。
save_json bool False もし Trueさらに分析したり、他のツールと統合したり、COCOのような評価サーバーに提出したりするために、JSONファイルに結果を保存します。
save_hybrid bool False もし Trueラベルのハイブリッドバージョンは、元の注釈と追加モデルの予測を組み合わせて保存します。半教師付き学習やデータセットの強化に役立ちます。
conf float 0.001 検出の最小信頼しきい値を設定する。値が低いほどリコールは高くなるが、誤検出が増える可能性がある。検証時に精度-再現率曲線を計算するために使用する。
iou float 0.6 Non-Maximum SuppressionIntersection Over Unionしきい値を設定します。重複検出の除去を制御します。
max_det int 300 画像あたりの最大検出数を制限する。密度が高いシーンで、過剰な検出を防ぎ、計算リソースを管理するのに便利です。
half bool True 半精度(FP16)計算が可能になり、メモリ使用量が削減され、精度への影響を最小限に抑えながら速度が向上する可能性があります。
device str None 検証用デバイスを指定する (cpu, cuda:0など)。いつ None自動的に最適なデバイスを選択します。カンマ区切りで複数のCUDA デバイスを指定できます。
dnn bool False もし Trueを使用している。 オープンCV ONNX モデル推論のためのDNNモジュール。 PyTorch 推論方法。
plots bool False に設定した場合 Trueまた、モデルの性能を視覚的に評価するために、予測値対グランドトゥルース、混同行列、PR曲線のプロットを生成し、保存します。
rect bool True もし True矩形推論を使用してバッチ処理を行うことで、パディングを減らし、画像を元のアスペクト比で処理することでスピードと効率を向上させる可能性がある。
split str 'val' 検証に使うデータセットの分割を決定する (val, testあるいは train).性能評価用のデータセグメントを柔軟に選択できる。
project str None 検証結果を保存するプロジェクトディレクトリの名前。異なる実験やモデルの結果を整理するのに役立ちます。
name str None 検証実行の名前。プロジェクトフォルダ内にサブディレクトリを作成し、そこに検証ログと出力を保存します。
verbose bool False もし Trueには、クラスごとのメトリクス、バッチの進行状況、追加のデバッグ情報など、検証プロセス中の詳細情報が表示されます。
save_txt bool False もし True検出結果はテキストファイルで保存され、画像ごとに1ファイルずつ保存されるため、さらなる分析、カスタムの後処理、他のシステムとの統合に便利です。
save_conf bool False もし Trueの場合、保存されたテキストファイルに信頼値が含まれる。 save_txt を有効にすると、分析とフィルタリングのためのより詳細な出力が得られる。
save_crop bool False もし True検出されたオブジェクトのトリミング画像を保存し、フォーカスされたデータセットの作成、視覚的検証、または個々の検出のさらなる分析に役立ちます。
workers int 8 データ読み込みのためのワーカースレッド数。値を大きくするとデータの前処理を高速化できるが、CPU 使用率が増加する可能性がある。0に設定するとメインスレッドを使用し、環境によってはより安定します。
augment bool False 検証中にテスト時間拡張(TTA)を可能にし、変換されたバージョンの入力に対して推論を実行することで、推論速度を犠牲にして検出精度を向上させる可能性がある。
agnostic_nms bool False 予測されるクラスに関係なく、重なり合うボックスをマージする、クラスを問わない非最大抑制を有効にします。インスタンスに特化したアプリケーションに便利です。
single_cls bool False 検証時にすべてのクラスを1つのクラスとして扱う。バイナリ検出タスクやクラスの区別が重要でない場合に、モデルの性能を評価するのに便利です。

最適なパフォーマンスを確保し、オーバーフィッティングを検出・防止するためには、入念なチューニングと実験が欠かせない。

バルガイド

エクスポート設定

YOLO モデルのエクスポート設定には、異なる環境で使用するためにモデルを保存またはエクスポートするための設定が含まれます。これらの設定は、パフォーマンス、サイズ、互換性に影響します。主な設定には、エクスポートされるファイル形式(ONNX、TensorFlow SavedModel)、ターゲットデバイス(CPU、GPU)、マスクなどの機能があります。モデルのタスクとエクスポート先環境の制約も、エクスポート処理に影響します。

議論 タイプ デフォルト 説明
format str 'torchscript' エクスポートされるモデルのターゲットフォーマット。 'onnx', 'torchscript', 'engine' TensorRT)などがある。それぞれのフォーマットは、異なる 配備環境.
imgsz int または tuple 640 モデル入力に必要な画像サイズ。正方形画像の場合は整数値(例:、 640 640×640の場合)またはタプル (height, width) 具体的な寸法については
keras bool False のKerasフォーマットへのエクスポートを可能にする。 TensorFlowSavedModel TensorFlow サービングと API との互換性を提供します。
optimize bool False TorchScriptエクスポート時にモバイルデバイス向けの最適化を適用し、モデルサイズを縮小して推論パフォーマンスを向上させる可能性があります。NCNN フォーマットやCUDA デバイスとは互換性がありません。
half bool False FP16(半精度)量子化を有効にし、モデルサイズを縮小し、サポートされているハードウェアでの推論を高速化する可能性があります。ONNXINT8量子化またはCPUエクスポートとは互換性がありません。
int8 bool False INT8量子化を有効にすることで、モデルをさらに圧縮し、主にエッジデバイスに対して、最小限の精度損失で推論を高速化します。TensorRT使用する場合、学習後の量子化(PTQ)を実行します。
dynamic bool False ONNX、TensorRT 、OpenVINO エクスポートでダイナミックな入力サイズを可能にし、さまざまなサイズの画像を柔軟に扱えるようになりました。自動的に True TensorRT INT8で使用する場合。
simplify bool True でのONNX エクスポートのモデルグラフを簡素化する。 onnxslim推論エンジンとの互換性が向上し、パフォーマンスが向上する可能性がある。
opset int None ONNX オペセットのバージョンを指定します。 ONNXパーサーとランタイムの互換性のために指定します。設定されていない場合は、サポートされている最新のバージョンを使用します。
workspace float または None None の最大ワークスペース・サイズをGiB単位で設定する。 TensorRT 最適化を行い、メモリ使用量とパフォーマンスのバランスをとる。使用方法 None TensorRT 、デバイスの最大値まで自動で割り当てられる。
nms bool False サポートされている場合(「エクスポート形式」を参照)、エクスポートされたモデルに非最大抑制(NMS)を追加し、検出の後処理効率を向上させます。end2endモデルでは使用できません。
batch int 1 エクスポートモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードに設定されます。エッジTPU 輸出の場合、これは自動的に1に設定される。
device str None エクスポートするデバイスを指定:GPU (device=0)、CPU (device=cpu)、アップル・シリコン用MPS (device=mps)またはDLA forNVIDIA Jetson (device=dla:0 または device=dla:1).TensorRT エクスポートは、自動的にGPU使用します。
data str 'coco8.yaml' への道 データセット 設定ファイル(デフォルト: coco8.yaml)、INT8量子化校正に不可欠である。INT8を有効にして指定しない場合、デフォルトのデータセットが割り当てられる。

綿密なコンフィギュレーションにより、エクスポートされたモデルはユースケースに最適化され、ターゲット環境で効果的に機能します。

輸出ガイド

ソリューション設定

Ultralytics Solutionsのコンフィギュレーション設定は、オブジェクトカウント、ヒートマップ作成、ワークアウト追跡、データ分析、ゾーン追跡、キュー管理、地域ベースのカウントなどのタスク用にモデルをカスタマイズする柔軟性を提供します。これらのオプションにより、特定のニーズに合わせた正確で有用な結果を簡単に調整することができます。

議論 タイプ デフォルト 説明
model str None Ultralytics YOLO モデルファイルへのパス。
region list [(20, 400), (1260, 400)] カウント領域を定義する点のリスト。
show_in bool True ビデオストリームにインカウントを表示するかどうかを制御するフラグ。
show_out bool True ビデオストリームにアウトカウントを表示するかどうかを制御するフラグ。
analytics_type str line グラフの種類、 line, bar, areaあるいは pie.
colormap int cv2.COLORMAP_JET ヒートマップに使用するカラーマップ。
json_file str None すべての駐車座標データを含むJSONファイルへのパス。
up_angle float 145.0 アップ」ポーズの角度基準値。
kpts list[int, int, int] [6, 8, 10] ワークアウトのモニタリングに使用されるキーポイントのリスト。これらのキーポイントは、腕立て伏せ、懸垂、スクワット、腹筋運動などのエクササイズで、肩、肘、手首などの体の関節や部位に対応しています。
down_angle float 90.0 ダウン」ポーズの角度基準値。
blur_ratio float 0.5 ぼかしの強さのパーセンテージを調整します。 0.1 - 1.0.
crop_dir str "cropped-detections" 切り取られた検出を保存するためのディレクトリ名。
records int 5 セキュリティアラームシステムで電子メールをトリガするための総検出数。
vision_point tuple[int, int] (50, 50) VisionEye Solutionを使用して、ビジョンが物体を追跡し、パスを描画する点。
tracker str 'botsort.yaml' 使用するトラッキングアルゴリズムを指定する、 bytetrack.yaml または botsort.yaml.
conf float 0.3 検出の信頼しきい値を設定します。低い値ではより多くのオブジェクトを追跡できますが、誤検出を含む可能性があります。
iou float 0.5 重複検出をフィルタリングするためのIoU(Intersection over Union)しきい値を設定します。
classes list None クラス・インデックスによって結果をフィルタリングする。例えば classes=[0, 2, 3] は指定されたクラスのみを追跡する。
verbose bool True トラッキング結果の表示をコントロールし、トラッキングされたオブジェクトのビジュアル出力を提供します。
device str None 推論を行うデバイスを指定する(例. cpu, cuda:0 または 0).CPU 、特定のGPU 、またはモデル実行用の他のコンピュート・デバイスを選択することができます。
show bool False もし True注釈付きの画像やビデオをウィンドウに表示します。開発中やテスト中の即時の視覚的フィードバックに便利です。
line_width None or int None バウンディングボックスの線幅を指定します。もし None線幅は画像サイズに応じて自動的に調整されます。視覚的にわかりやすくカスタマイズできます。

ソリューションガイド

オーグメンテーションの設定

YOLO モデルのロバスト性とパフォーマンスを向上させるためには、学習データに可変性を導入し、モデルが未知のデータに対してより良く汎化できるようにするデータ補強技術が不可欠です。以下の表は、各補強手法の目的と効果の概要である:

議論 タイプ デフォルト レンジ 説明
hsv_h float 0.015 0.0 - 1.0 画像の色相をカラーホイールの数分の一だけ調整し、色のばらつきを導入します。異なる照明条件でのモデルの一般化を助けます。
hsv_s float 0.7 0.0 - 1.0 画像の彩度をほんの少し変化させ、色の濃さに影響を与えます。異なる環境条件をシミュレートするのに便利です。
hsv_v float 0.4 0.0 - 1.0 画像の値(明るさ)を小数で変更し、さまざまな照明条件下でモデルがうまく機能するようにします。
degrees float 0.0 -180 - +180 指定した度数の範囲内で画像をランダムに回転させ、さまざまな向きのオブジェクトを認識するモデルの能力を向上させます。
translate float 0.1 0.0 - 1.0 画像を水平方向と垂直方向に画像サイズの数分の一だけ平行移動させ、部分的に見える物体を検出する学習に役立てる。
scale float 0.5 >=0.0 ゲイン係数で画像をスケーリングし、カメラから異なる距離にある物体をシミュレートする。
shear float 0.0 -180 - +180 画像を指定した角度で切断し、物体を異なる角度から見たときの効果を模倣する。
perspective float 0.0 0.0 - 0.001 画像にランダムな透視変換を適用し、3D空間のオブジェクトを理解するモデルの能力を高める。
flipud float 0.0 0.0 - 1.0 指定された確率で画像を上下反転させ、対象物の特性に影響を与えることなくデータのばらつきを大きくする。
fliplr float 0.5 0.0 - 1.0 左右対称のオブジェクトを学習したり、データセットの多様性を高めたりするのに役立つ。
bgr float 0.0 0.0 - 1.0 指定した確率で画像チャンネルをRGBからBGRに反転させます。誤ったチャンネル順序に対するロバスト性を高めるのに役立ちます。
mosaic float 1.0 0.0 - 1.0 4枚のトレーニング画像を1枚に合成し、異なるシーンの構成やオブジェクトの相互作用をシミュレート。複雑なシーンの理解に高い効果を発揮。
mixup float 0.0 0.0 - 1.0 2つの画像とそのラベルをブレンドし、合成画像を作成します。ラベルノイズや視覚的なばらつきを導入することで、モデルの汎化能力を高める。
copy_paste float 0.0 0.0 - 1.0 オブジェクトのインスタンスを増やしたり、オブジェクトのオクルージョンを学習したりするのに便利です。セグメンテーションラベルが必要です。
copy_paste_mode str 'flip' - のオプションの中からコピーペースト増強法を選択する。"flip", "mixup").
auto_augment str 'randaugment' - 事前に定義された補強ポリシー(randaugment, autoaugment, augmix)、視覚的特徴を多様化することで分類タスクを最適化する。
erasing float 0.4 0.0 - 0.9 分類トレーニング中に画像の一部をランダムに消去し、モデルが認識のためにあまり目立たない特徴に集中するよう促す。
crop_fraction float 1.0 0.1 - 1.0 中心の特徴を強調し、オブジェクトのスケールに適応し、背景の乱れを軽減するために、分類画像をそのサイズのほんの一部に切り取ります。

データセットとタスクの要件に合わせて、これらの設定を調整します。異なる値で実験することで、最良のモデル性能のための最適なオーグメンテーション戦略を見つけることができます。

ロギング、チェックポイント、プロット設定

YOLO モデルをトレーニングする際には、ロギング、チェックポイント、プロット、ファイル管理が重要である:

  • ロギングTensorBoardのようなライブラリを使用するか、ファイルに書き込むことによって、モデルの進捗を追跡し、問題を診断する。
  • チェックポイント:一定間隔でモデルを保存し、トレーニングを再開したり、異なるコンフィギュレーションを試すことができます。
  • プロットする:matplotlibやTensorBoardのようなライブラリを使って、パフォーマンスやトレーニングの進捗状況を可視化する。
  • ファイル管理:チェックポイント、ログファイル、プロットなど、トレーニング中に生成されたファイルを整理し、アクセスや分析を容易にします。

これらの側面を効果的に管理することで、進捗状況を把握し、デバッグや最適化を容易にすることができる。

議論 デフォルト 説明
project 'runs' トレーニング実行を保存するルートディレクトリを指定します。各ランは個別のサブディレクトリに保存されます。
name 'exp' 実験名を定義する。未指定の場合、YOLO 実行のたびにこの名前をインクリメントする(例、 exp, exp2)を上書きしないようにする。
exist_ok False 既存の実験ディレクトリを上書きするかどうかを決定する。 True は上書きを許可する; False それを防ぐ。
plots False トレーニングプロットと検証プロットの生成と保存を制御します。設定項目 True ロスカーブのようなプロットを作成する、 精度-リコール カーブ、そしてパフォーマンスの視覚的な追跡のためのサンプル予測。
save False トレーニングのチェックポイントと最終的なモデルの重みを保存できるようにします。設定値 True を使用してモデルの状態を定期的に保存し、トレーニングの再開やモデルの展開を可能にします。

よくあるご質問

トレーニング中のYOLO モデルのパフォーマンスを向上させるには?

バッチサイズ学習率、モメンタム、ウェイト減衰などのハイパーパラメータをチューニングしてパフォーマンスを向上させる。データ増強設定を調整し、適切なオプティマイザを選択し、早期停止や混合精度などのテクニックを使用します。詳細はTrain Guideを参照してください。

YOLO モデルの精度を左右する重要なハイパーパラメーターとは?

精度に影響する主なハイパーパラメータには以下のものがある:

  • バッチサイズbatch):より大きなサイズはトレーニングを安定させることができるが、より多くのメモリを必要とする。
  • 学習率lr0):レートが小さいほど微調整は可能だが、収束は遅い。
  • モメンタム (momentum):勾配ベクトルを加速し、振動を和らげる。
  • 画像サイズimgsz):サイズを大きくすると精度は向上するが、計算負荷は増大する。

あなたのデータセットとハードウェアに基づいてこれらを調整してください。詳しくはTrain Settingsをご覧ください。

YOLO モデルをトレーニングする際の学習率はどのように設定するのですか?

学習率(lr0)が重要である。 0.01 SGDまたは 0.001 にとって アダム・オプティマイザ.メトリクスを監視し、必要に応じて調整する。コサイン学習率スケジューラ(cos_lr)またはウォームアップ(warmup_epochs, warmup_momentum).詳細は 鉄道ガイド.

YOLO モデルのデフォルトの推論設定は?

デフォルト設定は以下の通り:

  • 信頼しきい値conf=0.25):検出の最小信頼度。
  • IoUしきい値(iou=0.7):について ノンマキシマムサプレッション(NMS).
  • 画像サイズimgsz=640):入力画像のサイズを変更します。
  • デバイスdevice=None):CPU またはGPU選択します。

完全な概要については、Predict SettingsおよびPredict Guideを参照してください。

なぜYOLO モデルを使った混合精度トレーニングを使うのか?

混合精度 トレーニングamp=True)は、FP16とFP32を使用することで、メモリ使用量を削減し、トレーニングを高速化します。これは最新のGPUにとって有益で、精度を大きく落とすことなく、より大きなモデルと高速な計算を可能にします。詳細は 鉄道ガイド.

📅作成:1年前 ✏️更新しました 6日前

コメント