Mean Average Precision (mAP)
Mean Average Precision (mAP) がどのようにコンピュータビジョンモデルを評価するかを学びます。IoU、精度(precision)、再現率(recall)を探り、Ultralytics YOLO26 で mAP を計算してみましょう。
Mean Average Precision (mAP) は、computer vision モデルのパフォーマンス、特に object detection や instance segmentation などのタスクを評価するために広く使用されている包括的な指標です。画像が正しく分類されているかを確認するだけの単純な精度とは異なり、mAP は、モデルがオブジェクトをどれだけうまく見つけるか、およびその周囲の bounding box をどれだけ正確に配置するかを評価します。これにより、YOLO26 などの最先端アーキテクチャを過去の世代と比較するための主要なベンチマークとなります。すべてのクラスにわたる適合率と再現率のトレードオフをまとめることで、mAP は実際のシナリオにおけるモデルの堅牢性を反映する単一のスコアを提供します。
mAPの構成要素#
mAPを算出するには、まず検出品質を定義する3つの基礎概念を理解する必要があります。
- Intersection over Union (IoU): これは、予測されたボックスと ground truth アノテーションの間の空間的な重なりを測定します。これは 0 から 1 の範囲の比率です。予測は、IoU が 0.5 や 0.75 などの特定の閾値を超える場合にのみ、「True Positive」と見なされることがよくあります。
- Precision: この指標は、「モデルが検出したと主張したすべてのオブジェクトのうち、実際に正しかったものの割合はどれくらいか?」という疑問に答えます。高い適合率は、モデルが生成する false positives が非常に少ないことを意味します。
- Recall: この指標は、「画像内に実際に存在するすべてのオブジェクトのうち、モデルが発見できたものの割合はどれくらいか?」と問いかけます。高い再現率は、モデルが偽陰性を避け、オブジェクトを見逃すことがめったにないことを示します。
計算方法#
計算は、特定のクラス(例:「person」、「car」、「dog」)ごとに Average Precision (AP) を計算することから始まります。これは、さまざまな confidence 閾値における適合率と再現率をプロットする Precision-Recall Curve の下側の面積を求めることによって行われます。Mean Average Precision の「Mean」は、単に training data 内のすべてのカテゴリにわたってこれらの AP スコアを平均化することを指します。
COCO dataset などの標準的な研究ベンチマークでは、主に 2 つのバリエーションが報告されることがよくあります。
-
mAP@50: これはIoUが0.50以上であれば検出を正解とみなします。これは寛容な指標です。
-
mAP@50-95: これは、0.05 刻みで 0.50 から 0.95 までの IoU 閾値で計算された mAP の平均です。この厳格な指標は、高い localization accuracy を達成するモデルに報酬を与えます。
mAPと関連指標の比較#
mAP を Accuracy と区別することが重要です。精度は、出力が画像全体に対する単一のラベルである image classification に適していますが、オブジェクトの空間的位置や背景クラスを考慮しないため、オブジェクト検出では失敗します。同様に、F1-Score は単一の信頼度閾値における適合率と再現率の調和平均を提供しますが、mAP はすべての信頼度レベルにわたってパフォーマンスを統合し、モデルの安定性のより総合的なビューを提供します。
実社会での応用#
高いmAPスコアは、安全性と効率性が最優先される環境において極めて重要です。
- Autonomous Vehicles: 自動運転技術において、安全性は、高い再現率(何も見落とさないこと)と高い適合率(ファントムブレーキの回避)で歩行者や交通標識を検出することに依存しています。mAP は、知覚システムがこれらのニーズのバランスを効果的に取ることを保証します。
- Medical Image Analysis: X 線写真の腫瘍や骨折を特定する際、放射線科医は AI in healthcare に頼って潜在的な問題をフラグ付けします。高い mAP スコアは、モデルが医師を誤警報で圧倒することなく異常を確実にハイライトし、正確な診断を促進することを示しています。
Ultralyticsを使用したmAPの測定#
近代的なフレームワークにより、validation フェーズ中のこれらの指標の計算が簡素化されます。次の例は、ultralytics Python パッケージを使用してモデルをロードし、mAP を計算する方法を示しています。
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 の理解と最適化は、model deployment の前に不可欠です。このプロセスを合理化するために、Ultralytics Platform は、トレーニング中の mAP、損失曲線、およびその他の KPI の自動追跡を提供し、開発者が進捗状況を視覚化して本番環境に最適なモデルチェックポイントを選択できるようにします。






