Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

評価指標

物体検出モデルの評価に使われる代表的な指標をまとめる。ここで扱うIoU・NMS・mAPは、Two-stage・One-stage・Anchor-free・Transformer系のいずれのパラダイムでも共通して使われる基礎的な概念。

IoU(Intersection over Union)

IoU(Intersection over Union、和集合に対する共通部分の割合) は、2つの矩形領域 A,BA, B がどれだけ重なっているかを表す指標。

IoU(A,B)=∣A∩B∣∣A∪B∣\mathrm{IoU}(A, B) = \frac{|A \cap B|}{|A \cup B|}

IoU∈[0,1]\mathrm{IoU} \in [0, 1] で、完全に一致すれば1、重なりがなければ0になる。物体検出では

  • 予測ボックスと正解ボックスが「同じ物体を指しているか」の判定(例:IoU≥0.5\mathrm{IoU} \geq 0.5 なら正検出とみなす)

  • 後述のNMSにおける重複ボックスの判定

  • 後述のFaster R-CNNのアンカーへのラベル付け

など、検出パイプラインのあらゆる箇所で使われる最も基本的な指標。

<Figure size 400x400 with 1 Axes>

NMS(Non-Maximum Suppression)

物体検出モデルは通常、1つの物体に対して多数の重複したボックスを予測する(後述のスライディングウィンドウ/アンカー/グリッドベースの手法では特に顕著)。NMS(Non-Maximum Suppression、非最大値抑制) は、この重複した検出結果から最も確からしい1つだけを残すための後処理アルゴリズム。

アルゴリズム

  1. 検出結果を信頼度スコア sis_i の降順に並べる

  2. 最もスコアが高いボックス bb を採用し、出力集合に加える

  3. 残りのボックスのうち、bb とのIoUが閾値 τ\tau 以上のもの(=bb と同じ物体を指していると判断されるもの)を除去する

  4. 残ったボックスに対して2〜3を繰り返す

τ\tau(典型的には 0.5 程度)は、どこまでの重なりを「同じ物体」とみなすかを決めるハイパーパラメータ。

keep indices: [np.int64(0), np.int64(3), np.int64(1)]
<Figure size 800x400 with 2 Axes>

mAP(mean Average Precision)

物体検出モデルの精度を単一の数値で比較するための指標。以下の順に定義していく。

適合率と再現率

IoUがある閾値以上(例:0.5)の予測を正検出(True Positive, TP)、そうでない予測を誤検出(False Positive, FP)、検出できなかった正解を検出漏れ(False Negative, FN)として、

Precision=TPTP+FP,Recall=TPTP+FN\mathrm{Precision} = \frac{TP}{TP + FP}, \qquad \mathrm{Recall} = \frac{TP}{TP + FN}

Average Precision(AP)

信頼度スコアの閾値を変化させながら(=スコアの高い予測から順に採用していきながら)Precision-Recall曲線を描き、その曲線の下側面積として1クラス分のAPを定義する。

AP=∫01p(r) dr\mathrm{AP} = \int_0^1 p(r)\, dr

実務上は、Recallを一定間隔(PASCAL VOC以前は11点、それ以降は全点)でサンプリングし、各Recall水準以上でのPrecisionの最大値(interpolated precision)を積分近似することが多い。

mAP

mAP=1∣C∣∑c∈CAPc\mathrm{mAP} = \frac{1}{|C|} \sum_{c \in C} \mathrm{AP}_c

全クラス CC にわたってAPを平均したものがmAP。代表的なベンチマークでの定義の違い:

ベンチマークmAPの定義
PASCAL VOCIoU閾値 0.5 における mAP(mAP@0.5\mathrm{mAP}@0.5)
MS COCOIoU閾値 0.5〜0.95 を 0.05 刻みで変化させた mAP の平均(mAP@[.5:.95]\mathrm{mAP}@[.5:.95])

COCOのmAPはIoU閾値を厳しくしたケースも平均に含めるため、ボックスの位置精度もより強く評価される。

<Figure size 500x400 with 1 Axes>
References
  1. Everingham, M., Van Gool, L., Williams, C. K. I., Winn, J., & Zisserman, A. (2009). The Pascal Visual Object Classes (VOC) Challenge. International Journal of Computer Vision, 88(2), 303–338. 10.1007/s11263-009-0275-4