Mean Average Precision (mAP)がコンピュータビジョンモデルをどのように評価するかを学びましょう。IoU、精度、再現率を探り、今日、Ultralytics YOLO26でmAPを計算してください。
Mean Average Precision (mAP) は、コンピュータビジョンモデルの性能を評価するために広く使用される包括的な指標であり、特にobject detectionやinstance segmentationのようなタスクで用いられます。単純な精度が単に画像が正しく分類されているかを確認するだけであるのに対し、mAPはモデルがオブジェクトをどれだけうまく見つけ、それらの周りにbounding boxをどれだけ正確に配置するかを評価します。このため、YOLO26のような最先端のアーキテクチャを以前の世代と比較するための主要なベンチマークとなっています。すべてのクラスにおける精度と再現率のトレードオフを要約することで、mAPはモデルの実世界シナリオにおける堅牢性を反映する単一のスコアを提供します。
mAPを計算するには、まず検出品質を定義する3つの基礎概念を理解する必要があります。
計算は、特定のクラス(例:「人」、「車」、「犬」)ごとに平均適合率(AP)を算出することから始まります。これは、様々な信頼度閾値における適合率と再現率をプロットしたPrecision-Recall曲線の下の面積を求めることで行われます。Mean Average Precisionにおける「Mean」は、単に学習データ内の全カテゴリにわたってこれらのAPスコアを平均化することを指します。
COCOデータセットなどの標準的な研究ベンチマークでは、主に2つのバリエーションが報告されています。
AccuracyとmAPを区別することが重要です。Accuracyは画像全体に対する単一のラベルが出力される画像分類に適していますが、オブジェクトの空間的位置や背景クラスを考慮しないため、物体検出では不十分です。同様に、F1-Scoreが単一の信頼度閾値における適合率と再現率の調和平均を提供するのに対し、mAPはすべての信頼度レベルにわたるパフォーマンスを統合し、モデルの安定性についてより全体的な視点を提供します。
安全性と効率性が最優先される環境では、高いmAP 極めて重要である。
現代のフレームワークは、これらのメトリクスの計算を簡素化します。
検証 フェーズ。以下の例は、モデルをロードし、mAPを計算する方法を示しています。 ultralytics Python パッケージ。
from ultralytics import YOLO
# Load the YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Validate the model on a dataset to compute mAP
# This runs inference and compares predictions to ground truth
metrics = model.val(data="coco8.yaml")
# Print mAP@50-95 (map) and mAP@50 (map50)
print(f"mAP@50-95: {metrics.box.map:.3f}")
print(f"mAP@50: {metrics.box.map50:.3f}")
モデルデプロイの前にmAPを理解し最適化することは非常に重要です。このプロセスを効率化するために、Ultralytics Platformは、トレーニング中にmAP、損失曲線、およびその他のKPIの自動追跡を提供し、開発者が進捗を視覚化し、本番環境に最適なモデルチェックポイントを選択できるようにします。
未来の機械学習で、新たな一歩を踏み出しましょう。