Gil-Simas commited on
Commit
5facf9a
1 Parent(s): ece64b1

updatre readme

Browse files
Files changed (1) hide show
  1. README.md +132 -35
README.md CHANGED
@@ -31,27 +31,127 @@ title: mot-metrics
31
  >>> module = evaluate.load("SEA-AI/user-friendly-metrics")
32
  >>> res = module._calculate(b, max_iou=0.99, recognition_thresholds=[0.3, 0.5, 0.8])
33
  >>> print(res)
34
- {'Sentry_2022_11_PROACT_CELADON_7.5M_MOB_2022_11_25_12_12_39': {'volcanic-sweep-3_02_2023_N_LN1_ep288_TRACKER': {'idf1': 0.9543031226199543,
35
- 'idp': 0.9804381846635368,
36
- 'idr': 0.9295252225519288,
37
- 'recall': 0.9436201780415431,
38
- 'precision': 0.9953051643192489,
39
- 'num_unique_objects': 2,
40
- 'mostly_tracked': 1,
41
- 'partially_tracked': 0,
42
- 'mostly_lost': 1,
43
- 'num_false_positives': 6,
44
- 'num_misses': 76,
45
- 'num_switches': 1,
46
- 'num_fragmentations': 4,
47
- 'mota': 0.9384272997032641,
48
- 'motp': 0.5235835810268012,
49
- 'num_transfer': 0,
50
- 'num_ascend': 1,
51
- 'num_migrate': 0,
52
- 'recognition_0.3': 0.9230769230769231,
53
- 'recognition_0.5': 0.8461538461538461,
54
- 'recognition_0.8': 0.46153846153846156}}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  ```
56
 
57
  ## Metric Settings
@@ -64,22 +164,19 @@ The output is a dictionary containing the following metrics:
64
 
65
  | Name | Description |
66
  | :------------------- | :--------------------------------------------------------------------------------- |
67
- | idf1 | ID measures: global min-cost F1 score. |
68
- | idp | ID measures: global min-cost precision. |
69
- | idr | ID measures: global min-cost recall. |
70
  | recall | Number of detections over number of objects. |
71
  | precision | Number of detected objects over sum of detected and false positives. |
72
- | num_unique_objects | Total number of unique object ids encountered. |
73
- | mostly_tracked | Number of objects tracked for at least 80 percent of lifespan. |
74
- | partially_tracked | Number of objects tracked between 20 and 80 percent of lifespan. |
75
- | mostly_lost | Number of objects tracked less than 20 percent of lifespan. |
76
- | num_false_positives | Total number of false positives (false-alarms). |
77
- | num_misses | Total number of misses. |
78
- | num_switches | Total number of track switches. |
79
- | num_fragmentations | Total number of switches from tracked to not tracked. |
80
- | mota | Multiple object tracker accuracy. |
81
- | motp | Multiple object tracker precision. |
82
- | recognition_0.3 | Recognition rate for a threshold of 0.3 |
83
 
84
  ## Citations
85
 
 
31
  >>> module = evaluate.load("SEA-AI/user-friendly-metrics")
32
  >>> res = module._calculate(b, max_iou=0.99, recognition_thresholds=[0.3, 0.5, 0.8])
33
  >>> print(res)
34
+ ```
35
+ ```
36
+ global:
37
+ ahoy-IR-b2-whales__XAVIER-AGX-JP46_TRACKER:
38
+ all:
39
+ f1: 0.8262651742077881
40
+ fn: 2045.0
41
+ fp: 159.0
42
+ num_gt_ids: 13
43
+ precision: 0.9705555555555555
44
+ recall: 0.7193247323634367
45
+ recognition_0.3: 0.9230769230769231
46
+ recognition_0.5: 0.8461538461538461
47
+ recognition_0.8: 0.46153846153846156
48
+ recognized_0.3: 12
49
+ recognized_0.5: 11
50
+ recognized_0.8: 6
51
+ tp: 5241.0
52
+ area:
53
+ large:
54
+ f1: 0.4053050397877984
55
+ fn: 612.0
56
+ fp: 3872.0
57
+ num_gt_ids: 6
58
+ precision: 0.28296296296296297
59
+ recall: 0.7140186915887851
60
+ recognition_0.3: 0.8333333333333334
61
+ recognition_0.5: 0.8333333333333334
62
+ recognition_0.8: 0.3333333333333333
63
+ recognized_0.3: 5
64
+ recognized_0.5: 5
65
+ recognized_0.8: 2
66
+ tp: 1528.0
67
+ medium:
68
+ f1: 0.7398209644816635
69
+ fn: 1146.0
70
+ fp: 1557.0
71
+ num_gt_ids: 10
72
+ precision: 0.7116666666666667
73
+ recall: 0.7702946482260974
74
+ recognition_0.3: 1.0
75
+ recognition_0.5: 0.8
76
+ recognition_0.8: 0.6
77
+ recognized_0.3: 10
78
+ recognized_0.5: 8
79
+ recognized_0.8: 6
80
+ tp: 3843.0
81
+ small:
82
+ f1: 0.10373582388258838
83
+ fn: 285.0
84
+ fp: 5089.0
85
+ num_gt_ids: 6
86
+ precision: 0.05759259259259259
87
+ recall: 0.5218120805369127
88
+ recognition_0.3: 0.3333333333333333
89
+ recognition_0.5: 0.3333333333333333
90
+ recognition_0.8: 0.16666666666666666
91
+ recognized_0.3: 2
92
+ recognized_0.5: 2
93
+ recognized_0.8: 1
94
+ tp: 311.0
95
+ per_sequence:
96
+ Sentry_2022_12_19_Romania_2022_12_19_17_09_34:
97
+ ahoy-IR-b2-whales__XAVIER-AGX-JP46_TRACKER:
98
+ all:
99
+ f1: 0.8262651742077881
100
+ fn: 2045.0
101
+ fp: 159.0
102
+ num_gt_ids: 13
103
+ precision: 0.9705555555555555
104
+ recall: 0.7193247323634367
105
+ recognition_0.3: 0.9230769230769231
106
+ recognition_0.5: 0.8461538461538461
107
+ recognition_0.8: 0.46153846153846156
108
+ recognized_0.3: 12
109
+ recognized_0.5: 11
110
+ recognized_0.8: 6
111
+ tp: 5241.0
112
+ area:
113
+ large:
114
+ f1: 0.4053050397877984
115
+ fn: 612.0
116
+ fp: 3872.0
117
+ num_gt_ids: 6
118
+ precision: 0.28296296296296297
119
+ recall: 0.7140186915887851
120
+ recognition_0.3: 0.8333333333333334
121
+ recognition_0.5: 0.8333333333333334
122
+ recognition_0.8: 0.3333333333333333
123
+ recognized_0.3: 5
124
+ recognized_0.5: 5
125
+ recognized_0.8: 2
126
+ tp: 1528.0
127
+ medium:
128
+ f1: 0.7398209644816635
129
+ fn: 1146.0
130
+ fp: 1557.0
131
+ num_gt_ids: 10
132
+ precision: 0.7116666666666667
133
+ recall: 0.7702946482260974
134
+ recognition_0.3: 1.0
135
+ recognition_0.5: 0.8
136
+ recognition_0.8: 0.6
137
+ recognized_0.3: 10
138
+ recognized_0.5: 8
139
+ recognized_0.8: 6
140
+ tp: 3843.0
141
+ small:
142
+ f1: 0.10373582388258838
143
+ fn: 285.0
144
+ fp: 5089.0
145
+ num_gt_ids: 6
146
+ precision: 0.05759259259259259
147
+ recall: 0.5218120805369127
148
+ recognition_0.3: 0.3333333333333333
149
+ recognition_0.5: 0.3333333333333333
150
+ recognition_0.8: 0.16666666666666666
151
+ recognized_0.3: 2
152
+ recognized_0.5: 2
153
+ recognized_0.8: 1
154
+ tp: 311.0
155
  ```
156
 
157
  ## Metric Settings
 
164
 
165
  | Name | Description |
166
  | :------------------- | :--------------------------------------------------------------------------------- |
 
 
 
167
  | recall | Number of detections over number of objects. |
168
  | precision | Number of detected objects over sum of detected and false positives. |
169
+ | f1 | F1 score |
170
+ | num_gt_ids | Number of unique objects on the ground truth |
171
+ | fn | Number of false negatives |
172
+ | fp | Number of of false postives |
173
+ | tp | number of true positives |
174
+ | recognized_th | Total number of unique objects on the ground truth that were seen more then th% of the times |
175
+ | recognition_th | Total number of unique objects on the ground truth that were seen more then th% of the times over the number of unique objects on the ground truth|
176
+
177
+ ## How it Works
178
+
179
+ We levereage one of the internal variables of motmetrics ```MOTAccumulator``` class, ```events```, which keeps track of the detections hits and misses. These values are then processed via the ```track_ratios``` function which counts the ratio of assigned to total appearance count per unique object id. We then define the ```recognition``` function that counts how many objects have been seen more times then the desired threshold.
180
 
181
  ## Citations
182