Meet YOLO26: next-gen vision AI.

Link to this section設定#

YOLOの設定およびハイパーパラメータは、モデルのパフォーマンス、速度、および精度において重要な役割を果たします。これらの設定は、トレーニング、バリデーション、予測などのさまざまな段階でモデルの動作に影響を与える可能性があります。



Watch: Mastering Ultralytics YOLO: Configuration

Ultralyticsのコマンドは、以下の構文を使用します:

yolo TASK MODE ARGS

各項目の説明:

デフォルトの ARG 値はこのページで定義されており、cfg/default.yaml ファイルから読み込まれます。

Link to this sectionタスク#

Ultralytics YOLOモデルは、以下を含むさまざまなコンピュータビジョンタスクを実行できます:

引数デフォルト説明
task'detect'Specifies the YOLO task: detect for object detection, segment for instance segmentation, semantic for semantic segmentation, classify for classification, pose for pose estimation, and obb for oriented bounding boxes. Each task is tailored to specific outputs and problems in image and video analysis.

タスクガイド

Link to this sectionモード#

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

  • Train: カスタムデータセットでYOLOモデルをトレーニングします。
  • Val: トレーニング済みのYOLOモデルを検証します。
  • Predict: トレーニング済みのYOLOモデルを使用して、新しい画像や動画に対して予測を行います。
  • Export: デプロイ用にYOLOモデルをエクスポートします。
  • Track: YOLOモデルを使用してリアルタイムで物体を追跡します。
  • Benchmark: YOLOエクスポート(ONNX、TensorRTなど)の速度と精度をベンチマークします。
引数デフォルト説明
mode'train'YOLOモデルの動作モードを指定します:モデルトレーニングには train、検証には val、推論には predict、デプロイ用フォーマットへの変換には export、物体追跡には track、パフォーマンス評価には benchmark を使用します。各モードは、開発からデプロイまで、異なる段階をサポートしています。

モードガイド

Link to this sectionトレーニング設定#

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

引数タイプデフォルト説明
modelstrNoneトレーニング用のモデルファイルを指定します。.pt事前学習済みモデルまたは.yaml設定ファイルのいずれかへのパスを受け付けます。モデル構造の定義や重みの初期化に不可欠です。
datastrNoneデータセット設定ファイル(例:coco8.yaml)へのパスです。このファイルには、トレーニングおよび検証データへのパス、クラス名、クラス数など、データセット固有のパラメータが含まれています。
epochsint100トレーニングエポックの合計数です。各エポックはデータセット全体を一度通過することを意味します。この値を調整すると、トレーニング期間とモデルのパフォーマンスに影響を与える可能性があります。
timefloatNone最大トレーニング時間を時間単位で指定します。設定された場合、これはepochs引数を上書きし、指定された期間後に自動的にトレーニングを停止させます。時間制限のあるトレーニングシナリオで有用です。
patienceint100検証メトリクスの改善が見られない場合に、トレーニングを早期終了するまでのエポック数です。パフォーマンスが停滞したときにトレーニングを停止することで、過学習を防ぐのに役立ちます。
batchintまたはfloat16バッチサイズには3つのモードがあります。整数として設定(例:batch=16)、GPUメモリ使用率60%の自動モード(batch=-1)、または指定した使用率(batch=0.70)の自動モードです。
imgszint640トレーニングのターゲット画像サイズです。画像は指定された値と等しい辺を持つ正方形にリサイズされます(rect=Falseの場合)。YOLOモデルではアスペクト比が保持されますが、RT-DETRでは保持されません。モデルの精度と計算複雑性に影響します。
saveboolTrueトレーニングチェックポイントと最終的なモデルの重みの保存を有効にします。トレーニングの再開やモデルのデプロイに役立ちます。
save_periodint-1エポック単位で指定された、モデルチェックポイントを保存する頻度です。-1は、この機能を無効にします。長時間トレーニング中に中間モデルを保存するのに役立ちます。
cacheboolFalseデータセット画像のメモリ内キャッシュ(True/ram)、ディスク上キャッシュ(disk)を有効にするか、または無効(False)にします。ディスクI/Oを減らすことでメモリ使用量が増える代わりにトレーニング速度を向上させます。
deviceintstr、またはlistNoneトレーニングに使用する計算デバイスを指定します:単一GPU(device=0)、複数GPU(device=[0,1])、CPU(device=cpu)、Apple Silicon用MPS(device=mps)、Huawei Ascend NPU(device=npuまたはdevice=npu:0)、または最もアイドル状態のGPU自動選択(device=-1)や複数のアイドルGPU(device=[-1,-1])です。
workersint8データ読み込み用のワーカー・スレッド数(マルチGPUトレーニングの場合はRANKごと)。データ前処理とモデルへの入力速度に影響し、マルチGPU設定で特に有効です。
projectstrNoneトレーニング出力が保存されるプロジェクトディレクトリの名前です。異なる実験を整理して保存できます。
namestrNoneトレーニングランの名前です。プロジェクトフォルダ内にサブディレクトリを作成し、トレーニングログと出力を保存するために使用されます。
exist_okboolFalseTrueの場合、既存のプロジェクト/名前ディレクトリの上書きを許可します。以前の出力を手動で消去する必要なく、反復的な実験を行うのに便利です。
pretrainedboolまたはstrTrue事前学習済みの重みからトレーニングを開始するかどうかを決定します。ブール値、または読み込む重みへのパスを示す文字列を指定できます。pretrained=Falseは、モデルのアーキテクチャを維持しつつ、ランダムに初期化された重みからトレーニングを開始します。
optimizerstr'auto'トレーニングに使用するオプティマイザーの選択です。SGDMuSGDAdamAdamaxAdamWNAdamRAdamRMSProp、またはモデル構成に基づいた自動選択のautoが含まれます。収束速度と安定性に影響します。
seedint0トレーニングの乱数シードを設定し、同じ設定での実行において結果の再現性を保証します。
deterministicboolTrue決定論的アルゴリズムの使用を強制し、再現性を保証しますが、非決定論的アルゴリズムの制限によりパフォーマンスや速度に影響を与える可能性があります。
verboseboolTrueトレーニング中の詳細な出力を有効にし、進捗バー、エポックごとの指標、および追加のトレーニング情報をコンソールに表示します。
single_clsboolFalseトレーニング中、マルチクラスデータセット内のすべてのクラスを単一のクラスとして扱います。二値分類タスクや、分類よりも物体の存在に焦点を当てる場合に有効です。
classeslist[int]Noneトレーニングに使用するクラスIDのリストを指定します。トレーニング中に特定のクラスのみを抽出して焦点を当てる場合に便利です。
rectboolFalse最小パディング戦略を有効にします。バッチ内の画像は共通のサイズになるよう最小限にパディングされ、長辺が imgsz と等しくなります。効率と速度は向上しますが、モデルの精度に影響する可能性があります。
multi_scalefloat0.0各バッチで imgszmulti_scale の +/- の範囲(例: 0.25 なら 0.75x から 1.25x)でランダムに変化させ、モデルのストライドの倍数に丸めます。0.0 にするとマルチスケールトレーニングは無効になります。
cos_lrboolFalseコサイン 学習率 スケジューラを利用し、エポック全体でコサイン曲線に従って学習率を調整します。より良い収束のために学習率を管理するのに役立ちます。
close_mosaicint10トレーニング完了前の最後の N エポックでモザイク データ拡張 を無効にし、トレーニングを安定させます。0 に設定するとこの機能は無効になります。
resumeboolFalse最後に保存されたチェックポイントからトレーニングを再開します。モデルの重み、オプティマイザの状態、およびエポック数を自動的に読み込み、シームレスにトレーニングを継続します。
ampboolTrue自動 混合精度 (AMP) トレーニングを有効にします。メモリ使用量を削減し、精度への影響を最小限に抑えつつトレーニングを高速化できる可能性があります。
fractionfloat1.0トレーニングに使用するデータセットの割合を指定します。フルデータセットの一部でトレーニングできるため、実験やリソースが限られている場合に便利です。
profileboolFalseトレーニング中の ONNX および TensorRT の速度プロファイリングを有効にします。モデルのデプロイメントを最適化する際に役立ちます。
freezeint または listNoneモデルの最初の N 層、またはインデックスで指定された層を凍結し、トレーニング可能なパラメータ数を減らします。ファインチューニングや 転移学習 に便利です。
lr0float0.01初期学習率(例: SGD=1E-2, Adam=1E-3)。この値を調整することは最適化プロセスにおいて重要であり、モデルの重みが更新される速度に影響を与えます。
lrffloat0.01初期学習率に対する最終的な学習率の割合(lr0 * lrf)。スケジューラと組み合わせて時間をかけて学習率を調整するために使用されます。
momentumfloat0.937SGD のモメンタム係数、または Adam オプティマイザ の beta1。現在の更新において過去の勾配をどの程度反映させるかに影響します。
weight_decayfloat0.0005L2 正則化 項。過学習を防ぐために大きな重みにペナルティを課します。
warmup_epochsfloat3.0学習率ウォームアップを行うエポック数。トレーニング初期に学習率を低い値から初期学習率まで徐々に増加させ、学習を安定させます。
warmup_momentumfloat0.8ウォームアップフェーズの初期モメンタム。ウォームアップ期間中に設定されたモメンタムまで徐々に調整されます。
warmup_bias_lrfloat0.1ウォームアップフェーズ中のバイアスパラメータに対する学習率。初期エポックでのモデル学習の安定化を助けます。
boxfloat7.5損失関数 におけるボックス損失成分の重み。バウンディングボックス 座標の正確な予測にどれだけ重点を置くかに影響します。
clsfloat0.5全損失関数における分類損失の重み。他の成分に対する、正しいクラス予測の重要性に影響します。
cls_pwfloat0.0逆クラス頻度を使用してクラス不均衡に対処するためのクラス重み付けの累乗値。0.0 はクラス重み付けを無効にし、1.0 は完全な逆頻度重み付けを適用します。0 から 1 の値は部分的な重み付けを提供します。
dflfloat1.5分布焦点損失(Distribution Focal Loss)の重み。特定の YOLO バージョンで詳細な分類に使用されます。
posefloat12.0姿勢推定のためにトレーニングされたモデルにおける姿勢損失の重み。姿勢キーポイントの正確な予測に対する重点に影響します。
kobjfloat1.0姿勢推定モデルにおけるキーポイント物体性損失(keypoint objectness loss)の重み。検出の信頼性と姿勢精度のバランスをとります。
rlefloat1.0姿勢推定モデルにおける残差対数尤度推定損失(residual log-likelihood estimation loss)の重み。キーポイント配置の精度に影響します。
anglefloat1.0OBB モデルにおける角度損失の重み。指向性バウンディングボックスの角度予測の精度に影響します。
nbsint64損失正規化のための名目バッチサイズ。
overlap_maskboolTrue物体マスクをトレーニングのために単一のマスクにマージするか、各物体ごとに分離したままにするかを決定します。重なりがある場合、マージ中に小さいマスクがより大きいマスクの上に重ねられます。
mask_ratioint4セグメンテーションマスクのダウンサンプル比率。トレーニング中に使用されるマスクの解像度に影響します。
dropoutfloat0.0分類タスクにおける正則化のためのドロップアウト率。トレーニング中にユニットをランダムに省略することで過学習を防ぎます。
valboolTrueトレーニング中のバリデーションを有効にし、別のデータセットでモデルパフォーマンスを定期的に評価できるようにします。
plotsboolTrueトレーニングおよびバリデーションの指標、ならびに予測例のプロットを生成して保存し、モデルのパフォーマンスと学習の進捗状況を視覚的に把握できるようにします。
compileboolまたはstrFalsePyTorch 2.x の torch.compile グラフコンパイルを backend='inductor' で有効にします。True"default"False → 無効、または "default""reduce-overhead""max-autotune-no-cudagraphs" などの文字列モードを受け入れます。非対応の場合は警告と共に Eager モードにフォールバックします。
max_detint300トレーニングのバリデーションフェーズ中に保持される最大物体数を指定します。
バッチサイズ設定に関する注意

batch引数には、3つの構成オプションがあります:

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

トレーニングガイド

Link to this section予測設定#

YOLOモデルの予測設定には、推論時のパフォーマンス、速度、および精度に影響を与えるハイパーパラメータや構成が含まれます。重要な設定には、信頼度しきい値、Non-Maximum Suppression (NMS)しきい値、クラス数があります。入力データのサイズ、フォーマット、およびマスクなどの補足機能も予測に影響します。これらの設定をチューニングすることは、最適なパフォーマンスを得るために不可欠です。

推論引数:

引数タイプデフォルト説明
sourcestrint、または NoneNone推論のデータソースを指定します。画像パス、動画ファイル、ディレクトリ、URL、またはライブフィードのデバイスIDを指定可能です。省略された場合は警告がログに記録され、モデルは組み込みのデモアセット(ultralytics/assets、またはOBB用のデモURL)を使用します。幅広いフォーマットとソースをサポートしており、さまざまなタイプの入力に柔軟に対応できます。
conffloat0.25検出の最小信頼度しきい値を設定します。このしきい値を下回る信頼度で検出された物体は無視されます。この値を調整することで、誤検出(偽陽性)を減らすことができます。
ioufloat0.7Non-Maximum Suppression (NMS)のIntersection Over Union (IoU) しきい値です。値を小さくすると、重なったボックスが排除され、検出数が減少します。重複を減らすのに役立ちます。
imgszintまたはtuple640Letterbox target. An integer gives a square N×N; a tuple gives (height, width). With rect=True, the actual tensor may be smaller than this target due to minimum-rectangle padding. Use rect=False for a fixed size. See Fixed shape vs minimum rectangle.
rectboolTrueTrueの場合、可能な限り最小矩形パディングを使用します(同じ形状のバッチおよびサポートされているバックエンドの場合)。Falseの場合は、常に完全な imgsz にパディングします。固定形状と最小矩形を参照してください。
halfboolFalse精度 (FP16) 推論を有効にします。これにより、精度への影響を最小限に抑えつつ、サポートされているGPUでのモデル推論を高速化できます。
devicestrNone推論に使用するデバイスを指定します(例: cpucuda:00npu、または npu:0)。ユーザーは、CPU、特定のGPU、Huawei Ascend NPU、またはその他のコンピューティングデバイスを選択してモデルを実行できます。
batchint1推論のバッチサイズを指定します(ソースがディレクトリ、動画ファイル、または .txt ファイルの場合のみ動作します)。バッチサイズを大きくするとスループットが向上し、推論に必要な合計時間を短縮できます。
max_detint300画像ごとに許可される検出の最大数です。単一の推論でモデルが検出できる物体の合計数を制限し、高密度なシーンでの過剰な出力を防ぎます。
vid_strideint1動画入力のフレームストライドです。動画のフレームをスキップすることで、時間解像度と引き換えに処理を高速化できます。値が1の場合はすべてのフレームを処理し、値が大きいほどフレームをスキップします。
stream_bufferboolFalse動画ストリームで受信したフレームをキューに入れるかどうかを決定します。Falseの場合は、新しいフレームを処理するために古いフレームが破棄されます(リアルタイムアプリケーション用に最適化)。Trueの場合は新しいフレームをバッファにキューイングするためフレームがスキップされませんが、推論FPSがストリームFPSより低い場合は遅延が発生します。
visualizeboolFalse推論中にモデルの特徴の可視化を有効にし、モデルが「何を見ているのか」についての洞察を提供します。デバッグやモデルの解釈に役立ちます。
augmentboolFalse予測にテスト時オーグメンテーション (TTA) を有効にし、推論速度と引き換えに検出の堅牢性を向上させる可能性があります。
agnostic_nmsboolFalseクラスにとらわれないNon-Maximum Suppression (NMS)を有効にし、異なるクラスの重なり合うボックスをマージします。クラスの重なりが一般的なマルチクラス検出シナリオで役立ちます。エンドツーエンドモデル(YOLO26, YOLOv10)の場合、これは同じ検出結果が複数のクラスラベル(IoU=1.0の重複)で表示されるのを防ぐのみで、異なるボックス間でのIoUしきい値に基づく抑制は行いません。
classeslist[int]NoneクラスIDのセットに基づいて予測をフィルタリングします。指定されたクラスに属する検出結果のみが返されます。マルチクラス検出タスクにおいて、関連する物体に焦点を当てるのに役立ちます。
retina_masksboolFalse高解像度のセグメンテーションマスクを返します。有効にすると、返されるマスク(masks.data)は元の画像サイズと一致します。無効にすると、推論中に使用された画像サイズになります。
embedlist[int]None特徴ベクトルまたは埋め込み表現を抽出するレイヤーを指定します。クラスタリングや類似性検索などの後続タスクに役立ちます。
projectstrNonesaveが有効な場合に予測出力が保存されるプロジェクトディレクトリの名前。
namestrNone予測実行の名前。saveが有効な場合に予測出力が保存されるプロジェクトフォルダー内のサブディレクトリを作成するために使用されます。
streamboolFalseすべてのフレームを一度にメモリに読み込むのではなく、Resultsオブジェクトのジェネレータを返すことで、長時間の動画や多数の画像に対してメモリ効率の良い処理を可能にします。
verboseboolTrueターミナルで詳細な推論ログを表示するかどうかを制御し、予測プロセスに関するリアルタイムのフィードバックを提供します。
compileboolまたはstrFalsePyTorch 2.x の torch.compile グラフコンパイルを backend='inductor' で有効にします。True"default"False → 無効、または "default""reduce-overhead""max-autotune-no-cudagraphs" などの文字列モードを受け入れます。非対応の場合は警告と共に Eager モードにフォールバックします。
end2endboolNoneNMSフリーの推論(YOLO26, YOLOv10)をサポートするYOLOモデルのエンドツーエンドモードを上書きします。Falseに設定すると、従来のNMSパイプラインを使用して予測を実行でき、さらに iou 引数を利用できるようになります。詳細については、エンドツーエンド検出ガイドを参照してください。

可視化の引数:

引数タイプデフォルト説明
showboolFalseTrueの場合、注釈付きの画像や動画をウィンドウに表示します。開発やテスト中の即時的な視覚フィードバックに役立ちます。
saveboolFalse or True注釈付きの画像や動画のファイルへの保存を有効にします。ドキュメント化、詳細な分析、結果の共有に役立ちます。CLI使用時はデフォルトでTrue、Python使用時はFalseになります。
save_framesboolFalse動画を処理する際、個々のフレームを画像として保存します。特定のフレームを抽出する場合や、詳細なフレームごとの分析に役立ちます。
save_txtboolFalse[class] [x_center] [y_center] [width] [height] [confidence] のフォーマットに従って、検出結果をテキストファイルに保存します。他の分析ツールとの統合に役立ちます。
save_confboolFalse保存されるテキストファイルに信頼度スコアを含めます。後処理や分析で利用可能な詳細情報を強化します。
save_cropboolFalse検出された物体のクロップ画像を保存します。データセットのオーグメンテーション、分析、特定の物体に特化したデータセットの作成に役立ちます。
show_labelsboolTrue視覚的出力において各検出のラベルを表示します。検出されたオブジェクトを即座に理解するのに役立ちます。
show_confboolTrue各検出の信頼度スコアをラベルと一緒に表示します。各検出に対するモデルの確信度を把握できます。
show_boxesboolTrue検出された物体の周囲にバウンディングボックスを描画します。画像や動画フレーム内での物体の視覚的な特定と場所の把握に不可欠です。
line_widthint or NoneNoneバウンディングボックスの線の太さを指定します。Noneの場合、線の太さは画像サイズに基づいて自動的に調整されます。明瞭さのための視覚的なカスタマイズが可能です。

予測ガイド

Link to this section検証設定#

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

引数タイプデフォルト説明
datastrNoneデータセット設定ファイル(例: coco8.yaml)へのパスを指定します。このファイルには検証データへのパスが含まれている必要があります。
imgszint640入力画像のサイズを定義します。すべての画像は処理前にこの寸法にリサイズされます。サイズを大きくすると小さな物体の精度が向上する可能性がありますが、計算時間が増加します。
batchint16バッチあたりの画像数を設定します。値を大きくするとGPUメモリをより効率的に活用できますが、より多くのVRAMが必要です。利用可能なハードウェアリソースに基づいて調整してください。
save_jsonboolFalseTrueの場合、さらなる分析、他のツールとの統合、またはCOCOなどの評価サーバーへの提出のために、結果をJSONファイルに保存します。
conffloat0.001検出の最小信頼度しきい値を設定します。値を小さくすると再現率は向上しますが、誤検出が増える可能性があります。精度-再現率曲線を計算するために検証中に使用されます。OBB検証では、メモリ使用量を削減するためにデフォルトで 0.01 となっています。
ioufloat0.7Sets the Intersection Over Union threshold for Non-Maximum Suppression. Controls duplicate detection elimination.
max_detint300画像ごとの最大検出数を制限します。高密度なシーンで過剰な検出を防ぎ、計算リソースを管理するのに役立ちます。
halfboolFalse精度 (FP16) 計算を有効にします。これにより、メモリ使用量が削減され、精度への影響を最小限に抑えつつ速度が向上する可能性があります。
devicestrNone検証に使用するデバイスを指定します(cpucuda:0npunpu:0 など)。Noneの場合、利用可能な最適なデバイスが自動的に選択されます。カンマで区切ることで複数のCUDAデバイスを指定できます。
dnnboolFalseTrueの場合、ONNXモデル推論にOpenCV DNNモジュールを使用し、PyTorch 推論メソッドの代替手段を提供します。
plotsboolTrueTrueに設定すると、予測値と正解データの比較プロット、混同行列、PR曲線を生成・保存し、モデルの性能を視覚的に評価できます。
classeslist[int]None評価対象のクラスIDのリストを指定します。評価中に特定のクラスのみを抽出したり、注目したりする場合に便利です。
rectboolTrueTrueの場合、バッチ処理に矩形推論(rectangular inference)を使用し、パディングを減らすことで、画像の元のアスペクト比を維持しつつ、速度と効率が向上する可能性があります。
splitstr'val'検証に使用するデータセット分割(valtest、またはtrain)を決定します。性能評価のためのデータセグメント選択に柔軟性を持たせます。
projectstrNone検証結果が保存されるプロジェクトディレクトリの名前です。異なる実験やモデルの結果を整理するのに役立ちます。
namestrNone検証実行の名前です。プロジェクトフォルダ内にサブディレクトリを作成し、そこに検証ログと出力が保存されます。
verboseboolTrueTrueの場合、クラスごとのメトリクス、バッチの進捗状況、デバッグ用の追加情報など、検証プロセス中の詳細情報を表示します。
save_txtboolFalseTrueの場合、検出結果をテキストファイルとして保存します(画像1枚につき1ファイル)。さらなる分析やカスタムの後処理、他システムとの統合に役立ちます。
save_confboolFalseIf True, includes confidence values in the saved text files when save_txt is enabled, providing more detailed output for analysis and filtering.
workersint8データ読み込み用のワーカースレッド数です。値を大きくするとデータの前処理は高速化されますが、CPU使用率が増加する可能性があります。0に設定するとメインスレッドが使用され、環境によってはより安定します。
augmentboolFalse検証時にテスト時拡張(TTA)を有効にします。入力データの変換版に対しても推論を実行することで、推論速度と引き換えに検出精度が向上する可能性があります。
agnostic_nmsboolFalseクラス非依存のNon-Maximum Suppressionを有効にします。これは、予測されたクラスに関係なく重複するボックスをマージします。インスタンス重視のアプリケーションに便利です。エンドツーエンドモデル(YOLO26、YOLOv10)では、これにより同じ検出が複数のクラスラベルで表示されること(IoU=1.0の重複)のみを防ぎ、異なるボックス間でのIoU閾値ベースの抑制は行いません。
single_clsboolFalse検証時にすべてのクラスを単一のクラスとして扱います。バイナリ検出タスクの性能評価や、クラスの区別が重要ではない場合に役立ちます。
visualizeboolFalse画像ごとに正解データ、真陽性、偽陽性、偽陰性を可視化します。デバッグやモデルの解釈に役立ちます。
show_labelsboolTruevisualize=Trueの際に、検証の可視化でクラスラベルを表示します。一致やエラーをすっきりと確認したい場合はFalseに設定してください。
show_confboolTruevisualize=Trueの際に、検証の可視化で信頼度スコアを表示します。一致やエラーをすっきりと確認したい場合はFalseに設定してください。
compileboolまたはstrFalsePyTorch 2.x の torch.compile グラフコンパイルを backend='inductor' で有効にします。True"default"False → 無効、または "default""reduce-overhead""max-autotune-no-cudagraphs" などの文字列モードを受け入れます。非対応の場合は警告と共に Eager モードにフォールバックします。
end2endboolNoneNMSフリー推論をサポートするYOLOモデル(YOLO26、YOLOv10)のエンドツーエンドモードを上書きします。Falseに設定すると、従来のNMSパイプラインを使用して検証を実行でき、さらにiou引数を利用可能になります。

最適な性能を確保し、過学習を検出・防止するためには、慎重な調整と実験が不可欠です。

検証ガイド

Link to this sectionエクスポート設定#

YOLOモデルのエクスポート設定には、さまざまな環境で使用するためのモデルの保存やエクスポート設定が含まれます。これらの設定は性能、サイズ、互換性に影響を与えます。主な設定には、エクスポートするファイル形式(例:ONNX、TensorFlow SavedModel)、ターゲットデバイス(例:CPU、GPU)、およびマスクなどの機能があります。モデルのタスクや宛先環境の制約もエクスポートプロセスに影響します。

引数タイプデフォルト説明
formatstr'torchscript'エクスポートモデルのターゲット形式です('onnx''torchscript''engine' (TensorRT) など)。各形式により、異なるデプロイ環境との互換性が確保されます。
imgszintまたはtuple640Desired image size for the model input. Can be an integer for square images (e.g., 640 for 640×640) or a tuple (height, width) for specific dimensions.
kerasboolFalseTensorFlow SavedModel形式へのエクスポートを有効にし、TensorFlow ServingやAPIとの互換性を提供します。
optimizeboolFalseTorchScriptへのエクスポート時にモバイルデバイス向けの最適化を適用し、モデルサイズの削減や推論性能の向上が期待できます。NCNN形式やCUDAデバイスとは互換性がありません。DEEPXの場合、コンパイラの最適化レベルが上がり、推論レイテンシの削減とコンパイル時間の増加が発生します。
halfboolFalseFP16(半精度)量子化を有効にし、モデルサイズを削減し、サポートされているハードウェアでの推論を高速化する可能性があります。INT8量子化やCPUのみのエクスポートとは互換性がありません。ONNXなど特定の形式でのみ利用可能です。
int8boolFalseActivates INT8 quantization, further compressing the model and speeding up inference with minimal accuracy loss, primarily for edge devices. When used with TensorRT, performs post-training quantization (PTQ).
dynamicboolFalseTorchScript、ONNX、OpenVINO、TensorRT、CoreMLエクスポートにおいて動的な入力サイズを許可し、さまざまな画像寸法を扱う柔軟性を高めます。
simplifyboolTrueonnxslimを使用してONNXエクスポート用のモデルグラフを簡素化し、推論エンジンとの性能向上や互換性を改善します。
opsetintNoneSpecifies the ONNX opset version for compatibility with different ONNX parsers and runtimes. If not set, uses the latest supported version.
workspacefloatまたはNoneNoneSets the maximum workspace size in GiB for TensorRT optimizations, balancing memory usage and performance. Use None for auto-allocation by TensorRT up to device maximum.
nmsboolFalseサポートされている場合(エクスポート形式を参照)、エクスポートされたモデルにNon-Maximum Suppression (NMS)を追加し、検出後の処理効率を向上させます。エンドツーエンドモデルでは利用できません。
batchint1エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートモデルが同時に処理する最大画像数を指定します。Edge TPUエクスポートの場合、これは自動的に1に設定されます。
devicestrNoneエクスポート先のデバイスを指定します:GPU(device=0)、CPU(device=cpu)、Appleシリコン向けMPS(device=mps)、Huawei Ascend NPU(device=npuまたはdevice=npu:0)、またはNVIDIA Jetson向けDLA(device=dla:0またはdevice=dla:1)。TensorRTエクスポートは自動的にGPUを使用します。
datastr'coco8.yaml'Path to the dataset configuration file, essential for INT8 quantization calibration. If not specified with INT8 enabled, coco8.yaml will be used as a fallback for calibration.
fractionfloat1.0INT8量子化キャリブレーションに使用するデータセットの割合を指定します。フルデータセットのサブセットでキャリブレーションができるため、実験やリソースが限られている場合に役立ちます。INT8を有効にして指定しない場合は、フルデータセットが使用されます。
end2endboolNoneNMSフリー推論をサポートするYOLOモデル(YOLO26、YOLOv10)のエンドツーエンドモードを上書きします。Falseに設定すると、モデルを従来型NMSベースの後処理パイプラインと互換性のある形でエクスポートできます。詳細はエンドツーエンド検出ガイドを参照してください。

適切な設定を行うことで、エクスポートされたモデルがそのユースケースに最適化され、ターゲット環境で効果的に機能することを保証します。

エクスポートガイド

Link to this sectionソリューション設定#

Ultralytics Solutionsの設定は、物体カウント、ヒートマップ作成、ワークアウト追跡、データ分析、ゾーン追跡、キュー管理、領域ベースのカウントなどのタスク向けにモデルをカスタマイズする柔軟性を提供します。これらのオプションにより、特定のニーズに合わせて正確で有用な結果を容易に調整できます。

引数タイプデフォルト説明
modelstrNoneUltralytics YOLOモデルファイルへのパス。
regionlist'[(20, 400), (1260, 400)]'計数領域を定義する点のリスト。
show_inboolTrue動画ストリームに流入数を表示するかどうかを制御するフラグ。
show_outboolTrue動画ストリームに流出数を表示するかどうかを制御するフラグ。
analytics_typestr'line'グラフのタイプ(linebararea、または pieなど)。
colormapintcv2.COLORMAP_DEEPGREENヒートマップに使用するカラーマップ。
json_filestrNoneすべての駐車場の座標データを含むJSONファイルへのパス。
up_anglefloat145.0「アップ(上)」ポーズの角度しきい値。
kptslist[int]'[6, 8, 10]'ワークアウトの監視に使用される3つのキーポイントインデックスのリスト。これらのキーポイントは、腕立て伏せ、懸垂、スクワット、腹筋運動などのエクササイズにおいて、肩、肘、手首などの体の関節や部位に対応します。
down_angleint90「ダウン(下)」ポーズの角度しきい値。
blur_ratiofloat0.5ぼかし強度の割合を調整します(範囲 0.1 - 1.0)。
crop_dirstr'cropped-detections'切り抜かれた検出結果を保存するためのディレクトリ名。
recordsint5セキュリティ警報システムでメールをトリガーするための検出合計数。
vision_pointtuple[int, int](20, 20)VisionEyeソリューションを使用して、ビジョンが物体を追跡しパスを描画する地点。
sourcestrNone入力ソースへのパス(ビデオ、RTSPなど)。Solutionsコマンドラインインターフェース(CLI)でのみ使用可能です。
figsizetuple[int, int](12.8, 7.2)ヒートマップやグラフなどの分析チャートの図サイズ。
fpsfloat30.0速度計算に使用される1秒あたりのフレーム数。
max_histint5速度や方向の計算において、物体ごとに追跡する過去のポイントの最大数。
meter_per_pixelfloat0.05ピクセル距離を現実世界の単位に変換するために使用されるスケーリング係数。
max_speedint120視覚オーバーレイにおける最高速度制限(アラートで使用)。
datastr'images'類似検索に使用される画像ディレクトリへのパス。
imgszint640モデル推論のための入力画像サイズ。

ソリューションガイド

Link to this section拡張(オーギュメンテーション)設定#

データ拡張技術は、学習データに多様性をもたらし、未知のデータに対してモデルがより適切に汎化できるようにすることで、YOLOモデルの堅牢性と性能を向上させるために不可欠です。以下の表は、各拡張引数の目的と効果を概説しています。

引数タイプデフォルトサポートされているタスク範囲説明
hsv_hfloat0.015detect, segment, pose, obb, classify0.0 - 1.0色相環の割合で画像の色相を調整し、色の多様性をもたらします。さまざまな照明条件下でモデルが汎化するのを助けます。
hsv_sfloat0.7detect, segment, pose, obb, classify0.0 - 1.0画像の彩度を割合で変更し、色の強さに影響を与えます。さまざまな環境条件をシミュレートするのに役立ちます。
hsv_vfloat0.4detect, segment, pose, obb, classify0.0 - 1.0画像の明度(明るさ)を割合で修正し、モデルがさまざまな照明下で良好に機能するように支援します。
degreesfloat0detect, segment, pose, obb0.0 - 180画像を特定の角度範囲内でランダムに回転させ、さまざまな向きのオブジェクトを認識するモデルの能力を向上させます。
translatefloat0.1detect, segment, pose, obb0.0 - 1.0画像を画像サイズの割合で水平および垂直に移動させ、部分的にしか見えないオブジェクトの検出学習を支援します。
scalefloat0.5detect, segment, pose, obb, classify0 - 1ゲイン係数によって画像を拡大縮小し、カメラからの距離が異なるオブジェクトをシミュレーションします。
shearfloat0detect, segment, pose, obb-180 - +180画像を特定の角度でせん断(傾斜)させ、異なる角度から見たオブジェクトの効果を模倣します。
perspectivefloat0detect, segment, pose, obb0.0 - 0.001画像にランダムな遠近法変換を適用し、3D空間におけるオブジェクトを理解するモデルの能力を強化します。
flipudfloat0detect, segment, pose, obb, classify0.0 - 1.0指定された確率で画像を上下反転させ、オブジェクトの特性に影響を与えることなくデータのバリエーションを増加させます。
fliplrfloat0.5detect, segment, pose, obb, classify0.0 - 1.0指定された確率で画像を左右反転させます。対称的なオブジェクトの学習やデータセットの多様性向上に役立ちます。
bgrfloat0detect, segment, pose, obb0.0 - 1.0指定された確率で画像のチャンネルをRGBからBGRに反転させます。誤ったチャンネル順序に対する堅牢性を高めるのに役立ちます。
mosaicfloat1detect, segment, pose, obb0.0 - 1.04つのトレーニング画像を1つに結合し、異なるシーン構成やオブジェクトの相互作用をシミュレーションします。複雑なシーンの理解に非常に効果的です。
mixupfloat0detect, segment, pose, obb0.0 - 1.02つの画像とそのラベルをブレンドして合成画像を作成します。ラベルノイズと視覚的バリエーションを導入することで、モデルの汎化能力を向上させます。
cutmixfloat0detect, segment, pose, obb0.0 - 1.02つの画像の一部を組み合わせて、領域を明確に維持したまま部分的なブレンドを作成します。オクルージョン(遮蔽)のシナリオを作成することでモデルの堅牢性を強化します。
copy_pastefloat0segment0.0 - 1.0画像間でオブジェクトをコピー&ペーストして、オブジェクトのインスタンスを増加させます。
copy_paste_modestrflipsegment-使用する copy-paste 戦略を指定します。オプションには 'flip' および 'mixup' があります。
auto_augmentstrrandaugmentclassify-視覚的な多様性を高めてモデルパフォーマンスを向上させるために、定義済みの拡張ポリシー('randaugment''autoaugment'、または 'augmix')を適用します。
erasingfloat0.4classify0.0 - 1.0トレーニング中に画像領域をランダムに消去し、モデルがより明白でない特徴に注目するように促します。
augmentationslist``detect, segment, pose, obb-高度なデータ拡張のためのカスタムAlbumentations変換(Python APIのみ)。特殊な拡張ニーズのために変換オブジェクトのリストを受け入れます。

データセットとタスクの要件を満たすようにこれらの設定を調整してください。異なる値を試すことで、最高のモデル性能を得るための最適な拡張戦略を見つけることができます。

拡張ガイド

Link to this sectionロギング、チェックポイント、プロットの設定#

YOLOモデルを学習する際、ロギング、チェックポイント、プロット、およびファイル管理は重要です:

  • ロギング: TensorBoardのようなライブラリを使用したり、ファイルに書き込んだりして、モデルの進捗状況を追跡し、問題を診断します。
  • チェックポイント: モデルを定期的に保存し、学習を再開したり、異なる構成で実験したりします。
  • プロット: MatplotlibやTensorBoardのようなライブラリを使用して、性能や学習の進捗状況を可視化します。
  • ファイル管理: 学習中に生成されたチェックポイント、ログファイル、プロットなどのファイルを整理し、アクセスと分析を容易にします。

これらの側面を効果的に管理することで、進捗状況の追跡が容易になり、デバッグや最適化も簡素化されます。

引数デフォルト説明
projectNone学習実行結果を保存するためのルートディレクトリを指定します。未指定の場合、結果はruns/<task>に保存されます。各実行は個別のサブディレクトリに保存されます。
nameNone実験名を定義します。未指定の場合、YOLOはモード名を使用し、上書きを避けるために実行ごとにインクリメントします(例:traintrain-2)。
exist_okFalse既存の実験ディレクトリを上書きするかどうかを決定します。Trueは上書きを許可し、Falseは防止します。
plotsTrue学習および検証のプロットの生成と保存を制御します。Trueに設定すると、損失曲線、精度-再現率曲線、サンプル予測などのプロットが作成され、性能を視覚的に追跡できます。
saveTrue学習のチェックポイントと最終モデルの重みの保存を有効にします。Trueに設定すると、モデルの状態が定期的に保存され、学習の再開やモデルのデプロイが可能になります。

Link to this sectionカスタム構成ファイル#

保存されたYAMLを読み込むことで、引数を直接渡さずに一連の設定を再利用できます。cfg引数はdefault.yamlの値よりも優先されますが、併せて渡された追加引数はさらに高い優先順位を持ちます。

引数デフォルト説明
cfgNonedefault.yamlのエントリを置き換えるYAMLファイルへのパスです。CLIでの活用例についてはデフォルト構成ファイルの上書きを参照してください。

Link to this sectionよくある質問 (FAQ)#

Link to this section学習中にYOLOモデルの性能を向上させるにはどうすればよいですか?#

バッチサイズ学習率、モメンタム、重み減衰(ウェイトディケイ)などのハイパーパラメータを調整して性能を向上させます。データ拡張設定を調整し、適切なオプティマイザを選択し、早期終了や混合精度などの手法を使用してください。詳細は学習ガイドを参照してください。

Link to this sectionYOLOモデルの精度に影響を与える重要なハイパーパラメータは何ですか?#

精度に影響を与える主なハイパーパラメータは以下の通りです:

  • バッチサイズ (batch): サイズを大きくすると学習は安定しますが、より多くのメモリが必要になります。
  • 学習率 (lr0): 小さい値は微調整に適していますが、収束が遅くなります。
  • モメンタム (momentum): 勾配ベクトルを加速させ、振動を抑制します。
  • 画像サイズ (imgsz): 大きいサイズは精度を向上させますが、計算負荷が増加します。

データセットとハードウェアに合わせてこれらを調整してください。学習設定で詳細を学べます。

Link to this sectionYOLOモデル学習の学習率をどのように設定すればよいですか?#

The learning rate (lr0) is crucial; start with 0.01 for SGD or 0.001 for Adam optimizer. Monitor metrics and adjust as needed. Use cosine learning rate schedulers (cos_lr) or warmup (warmup_epochs, warmup_momentum). Details are in the Train Guide.

Link to this sectionYOLOモデルのデフォルト推論設定は何ですか?#

デフォルト設定には以下が含まれます:

  • 信頼度閾値 (conf=0.25): 検出に必要な最小信頼度。
  • IoU閾値 (iou=0.7): Non-Maximum Suppression (NMS)用。
  • 画像サイズ (imgsz=640): 入力画像のサイズを変更します。
  • デバイス (device=None): CPU、GPU、Apple MPS、またはHuawei Ascend NPU(npu)を選択します。

概要については、推論設定および推論ガイドを参照してください。

Link to this sectionなぜYOLOモデルで混合精度学習を使用するのですか?#

混合精度学習(amp=True)は、FP16とFP32を使用してメモリ使用量を削減し、学習を高速化します。最新のGPUに適しており、精度を大幅に低下させることなく、より大きなモデルや高速な計算が可能です。学習ガイドで詳細を確認してください。

コメント