回答編集履歴

6

修正

2021/02/11 06:49

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -58,19 +58,19 @@
58
58
 
59
59
  1. 検出矩形 A と一番 IOU が高い正解矩形は a
60
60
 
61
- 「iou(A, a) = 0.9 >= 0.5」かつ「a は他の検出矩形と紐付いていない」ので、矩形 A は正解とします。
61
+ 「iou(A, a) = 0.9 >= 0.5」かつ「a は他の検出矩形と紐付いていない」ので、矩形 A は**正解**とします。
62
62
 
63
63
  2. 検出矩形 B と一番 IOU が高い正解矩形は a
64
64
 
65
- 「iou(B, a) = 0.6 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は不正解とします。
65
+ 「iou(B, a) = 0.6 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は**不正解**とします。
66
66
 
67
67
  3. 検出矩形 C と一番 IOU が高い正解矩形は b
68
68
 
69
- 「iou(C, b) = 0.4 < 0.5」で IOU が閾値未満なので、不正解とします。
69
+ 「iou(C, b) = 0.4 < 0.5」で IOU が閾値未満なので、**不正解**とします。
70
70
 
71
71
  3. 検出矩形 D と一番 IOU が高い正解矩形は a (b でもよい)
72
72
 
73
- 「iou(C, a) = 0 < 0.5」で IOU が閾値未満なので、不正解とします。
73
+ 「iou(C, a) = 0 < 0.5」で IOU が閾値未満なので、**不正解**とします。
74
74
 
75
75
 
76
76
 
@@ -80,13 +80,15 @@
80
80
 
81
81
  不正解: B, C, D
82
82
 
83
+ 検出矩形を結びついてない正解矩形: b
84
+
83
85
 
84
86
 
85
87
  正解の検出矩形が TP なので、TPは1個
86
88
 
87
89
  不正解の検出矩形が FP なので、FPは3個
88
90
 
89
- 正解矩形はすべていずれかの検出矩形と紐付いていので、FNは1個です。
91
+ 正解矩形のうち、検出矩形を結びついていのが FN なので、FNは1個です。
90
92
 
91
93
 
92
94
 

5

修正

2021/02/11 06:49

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -38,9 +38,9 @@
38
38
 
39
39
  | A | 0.9 | 0.9 |
40
40
 
41
- | B | 0.7 | 0.7 |
41
+ | B | 0.7 | 0.6 |
42
42
 
43
- | C | 0.5 | 0.6 |
43
+ | C | 0.5 | 0.4 |
44
44
 
45
45
  | D | 0.2 | 0 |
46
46
 
@@ -62,39 +62,41 @@
62
62
 
63
63
  2. 検出矩形 B と一番 IOU が高い正解矩形は a
64
64
 
65
- 「iou(B, a) = 0.7 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は不正解とします。
65
+ 「iou(B, a) = 0.6 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は不正解とします。
66
66
 
67
67
  3. 検出矩形 C と一番 IOU が高い正解矩形は b
68
68
 
69
- 「iou(C, b) = 0.5 >= 0.5」かつ「b は他の検出矩形と紐付いていい」ので、矩形 C は正解とします。
69
+ 「iou(C, b) = 0.4 < 0.5」 IOU が閾値未満なので、正解とします。
70
70
 
71
+ 3. 検出矩形 D と一番 IOU が高い正解矩形は a (b でもよい)
72
+
71
- 4. 検出矩形 D はいずれの正解矩形との IOU 閾値未満なので不正解とします。
73
+ 「iou(C, a) = 0 < 0.5」で IOU 閾値未満なので不正解とします。
72
74
 
73
75
 
74
76
 
75
77
  よって、
76
78
 
77
- 正解: A (a), C (b)
79
+ 正解: A (a)
78
80
 
79
- 不正解: B, D
81
+ 不正解: B, C, D
80
82
 
81
83
 
82
84
 
83
- 正解の検出矩形が TP なので、TPは2
85
+ 正解の検出矩形が TP なので、TPは1
84
86
 
85
- 不正解の検出矩形が FP なので、FPは2
87
+ 不正解の検出矩形が FP なので、FPは3
86
88
 
87
- 正解矩形はすべていずれかの検出矩形と紐付いているので、FNは0個です。
89
+ 正解矩形はすべていずれかの検出矩形と紐付いているので、FNは1個です。
88
90
 
89
91
 
90
92
 
91
- precision: TP / (TP + FP) = 2 / (2 + 2) = 0.5
93
+ precision: TP / (TP + FP) = 1 / (1 + 3) = 0.25
92
94
 
93
- recall: TP / (TP + FN) = 2 / (2 + 0) = 1
95
+ recall: TP / (TP + FN) = 1 / (1 + 1) = 0.5
94
96
 
95
97
 
96
98
 
97
- 各閾値ごとに precision, recall を算出すると PR 曲線が書けますが、物体検出をこれを拡張した mAP (mean average precision) という評価指標が使われることが多いです。
99
+ Score の閾値を変えれば検出結果が変わるので、各閾値ごとに precision, recall を算出すると PR 曲線が書けますが、物体検出をこれを拡張した mAP (mean average precision) という評価指標が使われることが多いです。
98
100
 
99
101
 
100
102
 

4

修正

2021/02/11 06:47

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -19,6 +19,10 @@
19
19
  > 質問1: 今回、FP の計上方法としては、以下のように、IoU の閾値 を用いていますが、これは誤った方法でしょうか。
20
20
 
21
21
  > 質問2: このとき、IoU の閾値が0.5の場合、検出結果は、以下の通りで問題ないでしょうか。
22
+
23
+
24
+
25
+ ![イメージ説明](2b996857868120a01aea9af55deb1f64.png)
22
26
 
23
27
 
24
28
 

3

修正

2021/02/11 06:41

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -87,3 +87,11 @@
87
87
  precision: TP / (TP + FP) = 2 / (2 + 2) = 0.5
88
88
 
89
89
  recall: TP / (TP + FN) = 2 / (2 + 0) = 1
90
+
91
+
92
+
93
+ 各閾値ごとに precision, recall を算出すると PR 曲線が書けますが、物体検出をこれを拡張した mAP (mean average precision) という評価指標が使われることが多いです。
94
+
95
+
96
+
97
+ **[物体検出で使われる評価指標 mAP について解説](https://pystyle.info/how-to-calculate-object-detection-metrics-map/)**

2

修正

2021/02/11 06:31

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -1 +1,89 @@
1
+ > 質問3: また、物体検出における後処理として、NMS (Non-Maximum Suppression)がありますが、
2
+
3
+ > IoU の閾値が0.5の場合、かつ NMS を適用した場合、検出結果は、以下の通りで問題ないでしょうか。
4
+
5
+
6
+
7
+ NMS は重複を削除して最終的なモデルの出力結果を作成するための後処理です。
8
+
9
+ 評価指標の算出は NMS 適用後の結果、残った矩形に対して考えてください。
10
+
11
+ つまり、質問1、質問2について考えるのは NMS 適用後です。
12
+
13
+
14
+
15
+ **[物体検出で使われる Non Maximum Suppression について](https://pystyle.info/opencv-non-maximum-suppression/)**
16
+
17
+
18
+
19
+ > 質問1: 今回、FP の計上方法としては、以下のように、IoU の閾値 を用いていますが、これは誤った方法でしょうか。
20
+
21
+ > 質問2: このとき、IoU の閾値が0.5の場合、検出結果は、以下の通りで問題ないでしょうか。
22
+
23
+
24
+
25
+ IOU の閾値: 0.5
26
+
27
+
28
+
29
+ Prediction
30
+
31
+ | 検出矩形 | Score | IOU |
32
+
33
+ |------|-------|-----|
34
+
35
+ | A | 0.9 | 0.9 |
36
+
37
+ | B | 0.7 | 0.7 |
38
+
39
+ | C | 0.5 | 0.6 |
40
+
41
+ | D | 0.2 | 0 |
42
+
43
+
44
+
45
+ 正解矩形
46
+
47
+ 左から a, b
48
+
49
+
50
+
51
+ としたとき、以下のように一番スコアが高い矩形から順番に正解、不正解をまず判定します。
52
+
53
+
54
+
55
+ 1. 検出矩形 A と一番 IOU が高い正解矩形は a
56
+
57
+ 「iou(A, a) = 0.9 >= 0.5」かつ「a は他の検出矩形と紐付いていない」ので、矩形 A は正解とします。
58
+
59
+ 2. 検出矩形 B と一番 IOU が高い正解矩形は a
60
+
61
+ 「iou(B, a) = 0.7 >= 0.5」ですが、「a はすでに A と紐付いている」ので、矩形 B は不正解とします。
62
+
63
+ 3. 検出矩形 C と一番 IOU が高い正解矩形は b
64
+
65
+ 「iou(C, b) = 0.5 >= 0.5」かつ「b は他の検出矩形と紐付いていない」ので、矩形 C は正解とします。
66
+
67
+ 4. 検出矩形 D はいずれの正解矩形との IOU も閾値未満なので不正解とします。
68
+
69
+
70
+
71
+ よって、
72
+
1
- 間違っていたので回答を修します
73
+ 解: A (a), C (b)
74
+
75
+ 不正解: B, D
76
+
77
+
78
+
79
+ 正解の検出矩形が TP なので、TPは2個
80
+
81
+ 不正解の検出矩形が FP なので、FPは2個
82
+
83
+ 正解矩形はすべていずれかの検出矩形と紐付いているので、FNは0個です。
84
+
85
+
86
+
87
+ precision: TP / (TP + FP) = 2 / (2 + 2) = 0.5
88
+
89
+ recall: TP / (TP + FN) = 2 / (2 + 0) = 1

1

修正

2021/02/11 06:29

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -1,43 +1 @@
1
- > 質問1: 今回、FP の計上方法としては、以下のように、IoU の閾値 を用いていますが、これは誤った方法でしょうか。
2
-
3
- > 質問2: このとき、IoU の閾値が0.5の場合、検出結果は、以下の通りで問題ないでしょうか。
4
-
5
-
6
-
7
- 質問の前提が False Positive があるものとなっていますが、物体検出において検出しないのが正解である矩形は多数あるので、そもそも False Positive は定義しないのが普通です。
8
-
9
-
10
-
11
- 一方、TP、FP、FN は定義されます。物体検出の評価でよく使われているのは Pascal VOC 形式の mAP です。
12
-
13
-
14
-
15
- 1. クラスごとに TP、FP、FN の数を数えて、AP (average precision) を計算する。
16
-
17
- 2. 全クラスの平均をとって、mAP (mean average precision) とする。
18
-
19
-
20
-
21
- 具体的な算出方法は下記参考にてください。
1
+ 間違っていたので回答修正ます
22
-
23
-
24
-
25
- **[物体検出で使われる評価指標 mAP について解説](https://pystyle.info/how-to-calculate-object-detection-metrics-map/)**
26
-
27
-
28
-
29
-
30
-
31
- > 質問3: また、物体検出における後処理として、NMS (Non-Maximum Suppression)がありますが、
32
-
33
- IoU の閾値が0.5の場合、かつ NMS を適用した場合、検出結果は、以下の通りで問題ないでしょうか。
34
-
35
-
36
-
37
- mAP は評価指標を算出前に最終的なモデルの出力結果を作成するための後処理です。
38
-
39
- 評価指標の算出は NMS 適用後の結果、残った矩形に対して行えばよいです。
40
-
41
-
42
-
43
- **[物体検出で使われる Non Maximum Suppression について](https://pystyle.info/opencv-non-maximum-suppression/)**