YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

平均平均精度mAP

Mean Average Precision (mAP)がコンピュータビジョンモデルをどのように評価するかを学びましょう。IoU、精度、再現率を探り、今日、Ultralytics YOLO26でmAPを計算してください。

Mean Average Precision (mAP) は、コンピュータビジョンモデルの性能を評価するために広く使用される包括的な指標であり、特にobject detectioninstance segmentationのようなタスクで用いられます。単純な精度が単に画像が正しく分類されているかを確認するだけであるのに対し、mAPはモデルがオブジェクトをどれだけうまく見つけ、それらの周りにbounding boxをどれだけ正確に配置するかを評価します。このため、YOLO26のような最先端のアーキテクチャを以前の世代と比較するための主要なベンチマークとなっています。すべてのクラスにおける精度と再現率のトレードオフを要約することで、mAPはモデルの実世界シナリオにおける堅牢性を反映する単一のスコアを提供します。

mAP構成要素

mAPを計算するには、まず検出品質を定義する3つの基礎概念を理解する必要があります。

  • Intersection over Union (IoU): これは、予測ボックスとground truthアノテーション間の空間的な重なりを測定します。0から1までの範囲の比率です。予測は、IoUが0.5や0.75などの特定のしきい値を超えた場合にのみ「真陽性」と見なされることがよくあります。
  • 適合率: この指標は、「モデルがdetectしたと主張するすべてのオブジェクトのうち、実際に正しかったのはどのくらいの割合ですか?」という問いに答えます。適合率が高いほど、モデルが生成する偽陽性が非常に少ないことを意味します。
  • Recall: この指標は、「画像内に実際に存在するすべてのオブジェクトのうち、モデルが検出した割合はどれくらいですか?」と問いかけます。高いリコールは、モデルが偽陰性を回避し、オブジェクトを見逃すことがめったにないことを示します。

計算手法

計算は、特定のクラス(例:「人」、「車」、「犬」)ごとに平均適合率(AP)を算出することから始まります。これは、様々な信頼度閾値における適合率と再現率をプロットしたPrecision-Recall曲線の下の面積を求めることで行われます。Mean Average Precisionにおける「Mean」は、単に学習データ内の全カテゴリにわたってこれらのAPスコアを平均化することを指します。

COCOデータセットなどの標準的な研究ベンチマークでは、主に2つのバリエーションが報告されています。

  1. mAP@50: IoUが少なくとも0.50である場合、detectが正しいと見なされます。これは寛容なメトリックです。
  2. mAP@50-95: これは、IoUしきい値0.50から0.95まで0.05刻みで計算されたmAPの平均です。この厳密なメトリックは、高い位置特定精度を達成するモデルを評価します。

mAPと関連メトリクス

AccuracyとmAPを区別することが重要です。Accuracyは画像全体に対する単一のラベルが出力される画像分類に適していますが、オブジェクトの空間的位置や背景クラスを考慮しないため、物体検出では不十分です。同様に、F1-Score単一の信頼度閾値における適合率と再現率の調和平均を提供するのに対し、mAPはすべての信頼度レベルにわたるパフォーマンスを統合し、モデルの安定性についてより全体的な視点を提供します。

実際のアプリケーション

安全性と効率性が最優先される環境では、高いmAP 極めて重要である。

  • 自律走行車: 自律走行技術において、安全性は、高いrecall(見逃しがないこと)と高いprecision(誤ったブレーキの回避)で歩行者や交通標識をdetectすることに依存します。mAPは、知覚システムがこれらのニーズを効果的にバランスさせることを保証します。
  • Medical Image Analysis: X線画像における腫瘍や骨折を特定する際、放射線科医はヘルスケアAIに依存して潜在的な問題を指摘します。高いmAPスコアは、モデルが誤警報で医師を圧倒することなく、信頼性高く異常を強調表示することを示し、正確な診断を促進します。

Ultralyticsによる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の自動追跡を提供し、開発者が進捗を視覚化し、本番環境に最適なモデルチェックポイントを選択できるようにします。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。