【物体検出】評価指標を解説 – IoU、mAP、Dice係数、適合率、再現率、

AI/データサイエンス

前回記事で、物体検出タスクの全体像(画像分類、物体検出、セグメンテーションの違い等)を示しました。

【ディープラーニング】物体検出、セマンティックセグメンテーション、インスタンスセグメンテーションとは何か
前回まで説明したCNNをベースに、今回から物体検出、セマンティックセグメンテーション、インスタンスセグメンテーションについて説明します。

今回は、物体検出タスクでよく使われる評価指標について紹介します。

スポンサーリンク

IoU

IoU(Intersection over Union)物体検出において、予測されたバウンディングボックス真のバウンディングボックス(正解データ)がどれだけ一致しているかを評価するための指標です。具体的には、予測と真実のバウンディングボックスの重なった部分(Intersection)を、それらがカバーする全領域(Union)で割ったものがIoUです。

分子のIntersectionは具体的には以下の通り、与えられた正解(Ground Truth BB)と予測(Predicted BB)の重なっている紫色の部分です。論理集合でいえば”AND”に該当します。

分母のUnionは具体的には以下の通り、与えられた正解(Ground Truth BB)と予測(Predicted BB)のどちらかが存在している黄色の部分です。論理集合で言えば”OR”に該当します。

仮に黄色のエリアが1000pixel、紫が250pixelとしたら、IoUは250/1000=0.25となります。

スポンサーリンク

適合率と再現率

IoUと似て非なる評価の方法として、適合率と再現率が挙げられます。適合率と再現率の詳細については以下を参照ください。

適合率を計測する場合の分子と分母は以下のようになります。

再現率を計測する場合の分子と分母は以下のようになります。

mAP

mAP (mean Average Precision):物体検出タスクの性能評価指標で、各クラスごとの平均精度AP(Average Precision)を平均(mean)したものです。APというのは補完適合率加重平均です。まずはこの点から説明します。

まずはPR曲線を用意します。PR曲線(Precision-Recall curve)は、横軸に再現率、縦軸に適合率を取り、各予測における値の変化をプロットします。

補完適合率というのは、”ある再現率に対する適合率は、その再現率よりも大きな再現率で発生する適合率の中で最大のもので置き換える“というものです。上の例で言えば、再現率0.6に対する適合率0.65はその再現率よりも大きい0.7で発生する適合率0.8で置き換えることができます。

補完適合率は以下のオレンジのようになります。

APは補完適合率の加重平均の為、上の場合は以下の計算式になります。

AP = (1.00 + 1.00 + 0.80 + 0.80 + 0.40)/5 = 0.8

このAPを、全てのクラス(犬、猫、人間 etc…)について計算した後、それらの平均を取ったものが、mAPです。

Dice係数

Dice係数(またはDice Similarity Coefficient、DSC)は、2つのサンプルの類似度を計算するために使用される統計的な指標です。主に画像セグメンテーションのようなタスクで、予測結果と真のラベル(Ground Truth)との間の一致度を測定するために使用されます。

Dice係数はGround Truth(T) とPrediction(P)の2つの集合の類似度を計算するための指標で、以下のように定義されます:

Dice = 2*|T ∩ P| / (|T| + |P|)

ここで、|T ∩ P|はIoUにおけるIntersectionと同じと理解してください。|T||P|はそれぞれのエリアの大きさです。この指標は、IoUと似ているようで異なる指標です。

IoUは上述の通り、以下の分子と分母を使って計算されます。

混合行列でいうなら、IoU=TP / (TP + FN + FP)です。

それに対して、Dice係数は Dice = 2*TP / {(TP+FN) + (TP + FP)}です。上述の適合率{TP/(TP+FN)}と再現率{TP/(TP+FP)}を足した数値でもあります。

Dice係数は、必ずIoUと同じがそれ以上の大きい数字となります。仮にGround Truth のエリアが800pixel、Predicion のエリアが700pixel、Intersectionが250pixel、Unionが1000pixelとしたら、としたら、IoUは250/1000=0.25ですが、

Diceは500/(800+900)=0.2941です。Diceは、IoUの2つの領域の面積の差が大きいほど値が小さく評価されてしまう点を補正するような働きがあります。

コメント

タイトルとURLをコピーしました