質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

2回答

1458閲覧

物体検出における False Positive の計上方法について

hikaru397

総合スコア6

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

2グッド

1クリップ

投稿2021/02/11 06:00

編集2021/02/11 06:01

物体検出における False Positive の計上方法が分かりません。

例えば、犬を検出するモデルを用いて、犬を検出した場合、
次のような結果になったとします。

イメージ説明

質問1: 今回、FP の計上方法としては、以下のように、IoU の閾値 を用いていますが、これは誤った方法でしょうか。

FP の計上方法

  • 予測された矩形について、GT の矩形との IoU が閾値未満の場合 → FP
  • 予測された矩形について、GT の矩形との IoU が閾値以上であるが、その GT の矩形との IoU がより高い予測された矩形が他に存在する場合 → FP

質問2: このとき、IoU の閾値が0.5の場合、検出結果は、以下の通りで問題ないでしょうか。

  • GT: 2, TP: 1, FP: 2, FN: 1
  • Precision = TP / TP + FP = 1/3 = 33%
  • Recall = TP / GT = 1/2 = 50%

質問3: また、物体検出における後処理として、NMS (Non-Maximum Suppression)がありますが、
IoU の閾値が0.5の場合、かつ NMS を適用した場合、検出結果は、以下の通りで問題ないでしょうか。

  • GT: 2, TP: 1, FP: 1, FN: 1
  • Precision = TP / TP + FP = 1/2 = 50%
  • Recall = TP / GT = 1/2 = 50%

NMS については、予測された矩形がある程度重なっている場合に、予測スコアが最も高いものを残す方法として、考えています。
NMS を適用する場合、IoU=0.6, Score=0.7の矩形が除去されるとし、
そのため、FP の数が、NMS を適用しない場合と比べて、1だけ少ない結果にしています。

fana, tiitoi👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

質問3: また、物体検出における後処理として、NMS (Non-Maximum Suppression)がありますが、
IoU の閾値が0.5の場合、かつ NMS を適用した場合、検出結果は、以下の通りで問題ないでしょうか。

NMS は重複を削除して最終的なモデルの出力結果を作成するための後処理です。
評価指標の算出は NMS 適用後の結果、残った矩形に対して考えてください。
つまり、質問1、質問2について考えるのは NMS 適用後です。

物体検出で使われる Non Maximum Suppression について

質問1: 今回、FP の計上方法としては、以下のように、IoU の閾値 を用いていますが、これは誤った方法でしょうか。
質問2: このとき、IoU の閾値が0.5の場合、検出結果は、以下の通りで問題ないでしょうか。

イメージ説明

IOU の閾値: 0.5

Prediction

検出矩形ScoreIOU
A0.90.9
B0.70.6
C0.50.4
D0.20

正解矩形
左から a, b

としたとき、以下のように一番スコアが高い矩形から順番に正解、不正解をまず判定します。

  1. 検出矩形 A と一番 IOU が高い正解矩形は a

「iou(A, a) = 0.9 >= 0.5」かつ「a は他の検出矩形と紐付いていない」ので、矩形 A は正解とします。
2. 検出矩形 B と一番 IOU が高い正解矩形は a
「iou(B, a) = 0.6 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は不正解とします。
3. 検出矩形 C と一番 IOU が高い正解矩形は b
「iou(C, b) = 0.4 < 0.5」で IOU が閾値未満なので、不正解とします。
3. 検出矩形 D と一番 IOU が高い正解矩形は a (b でもよい)
「iou(C, a) = 0 < 0.5」で IOU が閾値未満なので、不正解とします。

よって、
正解: A (a)
不正解: B, C, D
検出矩形を結びついてない正解矩形: b

正解の検出矩形が TP なので、TPは1個
不正解の検出矩形が FP なので、FPは3個
正解矩形のうち、検出矩形を結びついてないのが FN なので、FNは1個です。

precision: TP / (TP + FP) = 1 / (1 + 3) = 0.25
recall: TP / (TP + FN) = 1 / (1 + 1) = 0.5

Score の閾値を変えれば検出結果が変わるので、各閾値ごとに precision, recall を算出すると PR 曲線が書けますが、物体検出をこれを拡張した mAP (mean average precision) という評価指標が使われることが多いです。

物体検出で使われる評価指標 mAP について解説

投稿2021/02/11 06:09

編集2021/02/11 06:49
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2021/02/11 06:37

(質問に示されている例の上での計算を示された方がわかりやすいような…?)
hikaru397

2021/02/11 06:43 編集

ご回答いただき、ありがとうございます。 上記の表の IoU の欄は、画像の結果と一致していますでしょうか。 検出矩形 Score IoU B 0.7 0.6 C 0.5 0.4 となる気がします。
tiitoi

2021/02/11 06:43 編集

数値間違ってますね、直します
tiitoi

2021/02/11 06:50

TP1個、FP3個、FN1個でたぶんあってると思います。 まだ間違ってたら教えてください
fana

2021/02/11 06:50

便乗質問になりますが, ここで示された スコアが高いものから対応を取っていくというやり方 というのは,標準的な方法として定められている(?)のでしょうか?
hikaru397

2021/02/11 06:53

ありがとうございます。 画像の結果が、NMS適用前だとして、 NMSを適用した場合、 正解: A (a) 不正解: C, D で、下記のような結果になるということでよろしいでしょうか。 GT: 2, TP: 1, FP: 2, FN: 1 Precision = TP / TP + FP = 1/3 = 33% Recall = TP / GT = 1/2 = 50%
tiitoi

2021/02/11 06:54

> fana さん 標準的かどうかはわからないですが、ディープラーニングの物体検出系の論文では Pascal VOC または MSCOCO データセットで定義されている mAP の値を評価指標として出すようになっているのですが、その2つでは、スコアが高いものから判定していくようになっています。
tiitoi

2021/02/11 06:58 編集

> hikaru397 さん はい 閾値0.5でMNSすれば、評価以前にBは削除される前提なので、それで合ってます 正解: A (a) 不正解: C, D 検出矩形を結びついてない正解矩形: b TPは1個 FPは2個 FNは1個 precision: TP / (TP + FP) = 1 / (1 + 2) = 0.33 recall: TP / (TP + FN) = 1 / (1 + 1) = 0.5
fana

2021/02/11 06:59

なるほど,NMSが甘くてBを除外できなかったような場合には,それは FPとしてカウントするのですね.
hikaru397

2021/02/11 07:04 編集

> tiitoiさん 大変分かりやすくご説明いただき、ありがとうございます。 NMS を適用する場合、FPとして計上される矩形が減るため、適合率は上がる可能性があるという認識でよろしいでしょうか。
tiitoi

2021/02/11 07:04

> hikaru397 さん > NMS を適用する場合、再現率が落ちる可能性がありますが、適合率は上がるという認識でよろしいでしょうか。 はい、NMSの閾値上げると「近くに隣接した別々の物体が一方しか検出されない」といったことが起こる可能性があるので、そうなりますね。 いろいろなソースを見ると、0.45 ~ 0.5 あたりに設定してる場合が多いと思います。
hikaru397

2021/02/11 07:07

> tiitoiさん ありがとうございます。適合率を見ながら、NMSの最適な閾値について確認しようと思います。
fana

2021/02/11 07:16

なるほど,私が書いた話だと, > 「近くに隣接した別々の物体が一方しか検出されない」 に関するトレードオフを扱えていないという点で良くないわけか.
guest

0

評価方法としての正当性(?)がどうなのかは不明ですが…

FP の計上方法

  • 予測された矩形について、GT の矩形との IoU が閾値未満の場合 → FP
  • 予測された矩形について、GT の矩形との IoU が閾値以上であるが、その GT の矩形との IoU がより高い予測された矩形が他に存在する場合 → FP

これの後者側を「カウントしない」扱いとしたことがあります.

  • 他の枠が無かった場合には正解になるようなものだから,「間違い」とは言えないだろう
  • でもNMSの具合次第で多重に「正解」がカウントされるのも避けたい

といった感じで.

投稿2021/02/11 06:30

fana

総合スコア11708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問