コンテンツへスキップ

モデル検証Ultralytics YOLO

Ultralytics YOLO エコシステムと統合

はじめに

Validation is a critical step in the machine learning pipeline, allowing you to assess the quality of your trained models. Val mode in Ultralytics YOLO11 provides a robust suite of tools and metrics for evaluating the performance of your object detection models. This guide serves as a complete resource for understanding how to effectively use the Val mode to ensure that your models are both accurate and reliable.



見るんだ: Ultralytics モードのチュートリアルバリデーション

なぜUltralytics YOLO で検証するのか?

Here's why using YOLO11's Val mode is advantageous:

  • 精度:mAP50、mAP75、mAP50-95のような正確なメトリクスを取得し、モデルを総合的に評価します。
  • 利便性:トレーニング設定を記憶する内蔵機能を活用し、検証プロセスを簡素化。
  • 柔軟性:同じまたは異なるデータセットと画像サイズでモデルを検証します。
  • Hyperparameter Tuning: Use validation metrics to fine-tune your model for better performance.

バル・モードの主な特徴

These are the notable functionalities offered by YOLO11's Val mode:

  • 自動設定:モデルはトレーニングの設定を記憶し、検証を容易にします。
  • マルチメトリックサポート:さまざまな精度メトリクスに基づいてモデルを評価します。
  • CLI およびPython APIを使用しています:コマンドラインインターフェイスまたはPython APIから、検証のお好みに応じてお選びください。
  • データ互換性:トレーニング段階で使用されたデータセットだけでなく、カスタムデータセットでもシームレスに動作します。

チップ

  • YOLO11 models automatically remember their training settings, so you can validate a model at the same image size and on the original dataset easily with just yolo val model=yolo11n.pt または model('yolo11n.pt').val()

使用例

Validate trained YOLO11n model accuracy on the COCO8 dataset. No arguments are needed as the model トレーニング data と引数をモデル属性として使用します。エクスポート引数の完全なリストについては、以下の引数のセクションを参照してください。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

YOLO モデル検証の論拠

YOLO モデルの検証では、いくつかの引数を微調整して評価プロセスを最適化することができます。これらの引数は、入力画像サイズ、バッチ処理、パフォーマンスしきい値などの側面を制御します。以下は、検証設定を効果的にカスタマイズするための、各引数の詳細な内訳です。

議論 タイプ デフォルト 説明
data str None データセット設定ファイルへのパスを指定する(例. coco8.yaml). This file includes paths to validation data, class names, and number of classes.
imgsz int 640 入力画像のサイズを定義します。すべての画像は、処理前にこの寸法にリサイズされます。
batch int 16 バッチあたりの画像数を設定します。使用方法 -1 オートバッチは、GPU メモリの可用性に基づいて自動的に調整されます。
save_json bool False もし Trueそして、さらなる分析や他のツールとの統合のために、結果をJSONファイルに保存します。
save_hybrid bool False もし Trueラベルのハイブリッドバージョンは、元のアノテーションと追加モデルの予測を組み合わせて保存します。
conf float 0.001 検出の最小信頼度閾値を設定する。この閾値以下の信頼度の検出は破棄される。
iou float 0.6 Sets the Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Helps in reducing duplicate detections.
max_det int 300 画像あたりの最大検出数を制限します。密なシーンで過剰な検出を防ぐのに便利です。
half bool True Enables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy.
device str None 検証用デバイスを指定する (cpu, cuda:0など)。CPU またはGPU のリソースを柔軟に利用できる。
dnn bool False もし True, uses the オープンCV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods.
plots bool False に設定した場合 Trueまた、モデルの性能を視覚的に評価するために、予測値とグランドトゥルースのプロットを生成し、保存します。
rect bool False もし True矩形推論をバッチングに使用することで、パディングを減らし、スピードと効率を向上させる可能性がある。
split str val 検証に使うデータセットの分割を決定する (val, testあるいは train).性能評価用のデータセグメントを柔軟に選択できる。

これらの各設定は、検証プロセスにおいて重要な役割を果たし、YOLO モデルのカスタマイズ可能で効率的な評価を可能にします。特定のニーズやリソースに応じてこれらのパラメータを調整することで、精度と性能の最適なバランスを達成することができます。

引数によるバリデーションの例

以下の例では、Python とCLI のカスタム引数を使用したYOLO モデルの検証を紹介します。

from ultralytics import YOLO

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

# Customize validation settings
validation_results = model.val(data="coco8.yaml", imgsz=640, batch=16, conf=0.25, iou=0.6, device="0")
yolo val model=yolo11n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0

よくあるご質問

How do I validate my YOLO11 model with Ultralytics?

To validate your YOLO11 model, you can use the Val mode provided by Ultralytics. For example, using the Python API, you can load a model and run validation with:

from ultralytics import YOLO

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

# Validate the model
metrics = model.val()
print(metrics.box.map)  # map50-95

また、コマンドラインインターフェイス(CLI)を使うこともできます:

yolo val model=yolo11n.pt

さらにカスタマイズするには、次のようなさまざまな引数を調整できます。 imgsz, batchそして conf Python とCLI の両方のモードで。をチェックする。 YOLO モデル検証の論拠 セクションを参照のこと。

What metrics can I get from YOLO11 model validation?

YOLO11 model validation provides several key metrics to assess model performance. These include:

  • mAP50(IoU閾値0.5における平均平均精度)
  • mAP75(IoU閾値0.75における平均平均精度)
  • mAP50-95(0.5~0.95の複数のIoUしきい値にわたる平均精度)

Python API を使用すると、以下のようにこれらのメトリクスにアクセスできます:

metrics = model.val()  # assumes `model` has been loaded
print(metrics.box.map)  # mAP50-95
print(metrics.box.map50)  # mAP50
print(metrics.box.map75)  # mAP75
print(metrics.box.maps)  # list of mAP50-95 for each category

完全なパフォーマンス評価のためには、これらの指標をすべて見直すことが極めて重要である。詳細については、「バル・モードの主な特徴」を参照。

Ultralytics YOLO を検証に使用する利点は何ですか?

Ultralytics YOLO を検証に使用すると、いくつかの利点がある:

  • Precision: YOLO11 offers accurate performance metrics including mAP50, mAP75, and mAP50-95.
  • 利便性:モデルは学習設定を記憶しているため、検証は簡単です。
  • 柔軟性:同一または異なるデータセットや画像サイズに対して検証できます。
  • ハイパーパラメータのチューニング:検証メトリクスは、より良いパフォーマンスのためにモデルを微調整するのに役立ちます。

これらの利点により、モデルが徹底的に評価され、優れた結果を得るために最適化されることが保証されます。これらの利点については、 Ultralytics YOLO で検証する理由をご覧ください。

Can I validate my YOLO11 model using a custom dataset?

Yes, you can validate your YOLO11 model using a custom dataset. Specify the data argument with the path to your dataset configuration file. This file should include paths to the validation data, class names, and other relevant details.

Python の例:

from ultralytics import YOLO

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

# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map)  # map50-95

CLI を使った例:

yolo val model=yolo11n.pt data=path/to/your/custom_dataset.yaml

バリデーション中のカスタマイズ可能なオプションについては、引数を使ったバリデーションの例を参照してください。

How do I save validation results to a JSON file in YOLO11?

検証結果をJSONファイルに保存するには save_json 引数 True を実行する。これはPython API とCLI の両方で行うことができる。

Python の例:

from ultralytics import YOLO

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

# Save validation results to JSON
metrics = model.val(save_json=True)

CLI を使った例:

yolo val model=yolo11n.pt save_json=True

この機能は、さらなる分析や他のツールとの統合に特に役立ちます。詳細については、 YOLO モデル検証の引数をチェックしてください。


📅 Created 11 months ago ✏️ Updated 10 days ago

コメント