split: test
輸入 192×384(H×W),ImageNet normalize;輸出 ppe_logits (4)、hat_logits (5)、vest_logits (3)。推論範例見 README。
| class | AP | P | R | F1 | TP | FP | FN |
|---|---|---|---|---|---|---|---|
| has_hardhat | 0.991 | 0.965 | 0.968 | 0.966 | 3853 | 141 | 127 |
| has_vest | 0.940 | 0.921 | 0.889 | 0.905 | 433 | 37 | 54 |
| has_harness | 0.924 | 0.799 | 0.921 | 0.856 | 1176 | 295 | 101 |
| has_heartbeat | 0.849 | 0.710 | 0.832 | 0.766 | 159 | 65 | 32 |
hardhat blue bias — GT 62.4% / Pred 62.2% (Δ -0.2%)
| GT\Pred | blue | white | yellow | orange | red |
|---|---|---|---|---|---|
| blue | 2456 | 1 | 25 | 1 | 1 |
| white | 2 | 968 | 71 | 1 | 1 |
| yellow | 14 | 52 | 303 | 0 | 1 |
| orange | 4 | 1 | 2 | 30 | 3 |
| red | 1 | 1 | 3 | 5 | 33 |
| GT\Pred | red | yellow | orange |
|---|---|---|---|
| red | 328 | 0 | 0 |
| yellow | 0 | 84 | 2 |
| orange | 2 | 2 | 69 |
{
"created_at": "2026-04-15T07:04:14.876751+00:00",
"projects": [
13,
17
],
"padding": 0.12,
"tasks_used": [
{
"id": 2114,
"name": "1103_Demo中油驗證1",
"subset": "Train",
"frames_used": 8
},
{
"id": 2115,
"name": "1103_Demo中油驗證3-train",
"subset": "Train",
"frames_used": 18
},
{
"id": 2116,
"name": "1103Demo-2025-10-22_02-25-21-A-val",
"subset": "Validation",
"frames_used": 33
},
{
"id": 2117,
"name": "1103Demo-2025-10-22_02-25-21-B-val-1.mp4",
"subset": "Validation",
"frames_used": 40
},
{
"id": 2118,
"name": "1103Demo-2025-10-27_02-05-45-test",
"subset": "Test",
"frames_used": 26
},
{
"id": 2119,
"name": "1103Demo-2025-10-27_02-09-45-train",
"subset": "Train",
"frames_used": 30
},
{
"id": 2120,
"name": "2025-10-28-harhatcolor2025-10-28_train",
"subset": "Train",
"frames_used": 52
},
{
"id": 2121,
"name": "2025-10-28-harhatcolor2025-10-28_val",
"subset": "Validation",
"frames_used": 14
},
{
"id": 2122,
"name": "2025-12-17_13-51-45_train",
"subset": "Train",
"frames_used": 10
},
{
"id": 2123,
"name": "2025-12-17_13-51-45_val",
"subset": "Validation",
"frames_used": 2
},
{
"id": 2124,
"name": "2025-12-17_15-11-13_Val",
"subset": "Validation",
"frames_used": 4
},
{
"id": 2125,
"name": "2025-12-18_09-18-14_2_test",
"subset": "Test",
"frames_used": 16
},
{
"id": 2126,
"name": "2025-12-18_09-18-14_2_test1",
"subset": "Test",
"frames_used": 57
},
{
"id": 2127,
"name": "2025-12-18_09-18-14_2_test2",
"subset": "Test",
"frames_used": 9
},
{
"id": 2128,
"name": "2025-12-18_09-18-14_test",
"subset": "Test",
"frames_used": 10
},
{
"id": 2129,
"name": "2025-12-18_09-41-14_Test",
"subset": "Test",
"frames_used": 5
},
{
"id": 2130,
"name": "2025-12-22_09-31-32_train",
"subset": "Train",
"frames_used": 119
},
{
"id": 2131,
"name": "2025-12-22_09-31-32_train2",
"subset": "Train",
"frames_used": 34
},
{
"id": 2132,
"name": "2025-12-22_09-31-32_train3",
"subset": "Train",
"frames_used": 119
},
{
"id": 2133,
"name": "2025-12-22_09-31-32_val",
"subset": "Validation",
"frames_used": 18
},
{
"id": 2134,
"name": "2025-12-22_10-01-32_people_train_001",
"subset": "Train",
"frames_used": 21
},
{
"id": 2135,
"name": "2025-12-22_10-01-32_people_train2",
"subset": "Train",
"frames_used": 6
},
{
"id": 2136,
"name": "2025-12-22_10-01-32_people_val_001",
"subset": "Validation",
"frames_used": 3
},
{
"id": 2137,
"name": "2025-12-26_13-20-19_train",
"subset": "Train",
"frames_used": 81
},
{
"id": 2138,
"name": "2025-12-26_13-20-19_train2",
"subset": "Train",
"frames_used": 23
},
{
"id": 2139,
"name": "2025-12-26_13-20-19_val",
"subset": "Validation",
"frames_used": 12
},
{
"id": 2140,
"name": "2025-12-31_13-43-40_tain2",
"subset": "Train",
"frames_used": 8
},
{
"id": 2141,
"name": "2025-12-31_13-43-40_train",
"subset": "Train",
"frames_used": 29
},
{
"id": 2142,
"name": "2025-12-31_13-43-40_val",
"subset": "Validation",
"frames_used": 5
},
{
"id": 2143,
"name": "2025080_0_Test",
"subset": "Test",
"frames_used": 33
},
{
"id": 2144,
"name": "20250806_01_val",
"subset": "Validation",
"frames_used": 2
},
{
"id": 2145,
"name": "20250806_02_Train",
"subset": "Train",
"frames_used": 10
},
{
"id": 2146,
"name": "切圖_紅色背心_1_test",
"subset": "Test",
"frames_used": 38
},
{
"id": 2147,
"name": "切圖_紅色背心_1_train",
"subset": "Train",
"frames_used": 139
},
{
"id": 2148,
"name": "切圖_紅色背心_1_val",
"subset": "Validation",
"frames_used": 76
},
{
"id": 2149,
"name": "切圖_黃色背心_1_test",
"subset": "Test",
"frames_used": 8
},
{
"id": 2150,
"name": "切圖_黃色背心_1_train",
"subset": "Train",
"frames_used": 40
},
{
"id": 2151,
"name": "切圖_黃色背心_1_val",
"subset": "Validation",
"frames_used": 10
},
{
"id": 2152,
"name": "安全帽顏色_test",
"subset": "Test",
"frames_used": 89
},
{
"id": 2153,
"name": "安全帽顏色_train",
"subset": "Train",
"frames_used": 962
},
{
"id": 2154,
"name": "安全帽顏色_train2",
"subset": "Train",
"frames_used": 38
},
{
"id": 2155,
"name": "安全帽顏色_val",
"subset": "Validation",
"frames_used": 170
},
{
"id": 2156,
"name": "無安全帽_test",
"subset": "Test",
"frames_used": 8
},
{
"id": 2157,
"name": "無安全帽+安全背心顏色_train",
"subset": "Train",
"frames_used": 60
},
{
"id": 2158,
"name": "無裝備_test",
"subset": "Test",
"frames_used": 11
},
{
"id": 2159,
"name": "無裝備_train",
"subset": "Train",
"frames_used": 26
},
{
"id": 2160,
"name": "無裝備_val",
"subset": "Validation",
"frames_used": 9
},
{
"id": 2161,
"name": "ai_blueharhat_1_test",
"subset": "Test",
"frames_used": 20
},
{
"id": 2162,
"name": "ai_blueharhat_1_train",
"subset": "Train",
"frames_used": 72
},
{
"id": 2163,
"name": "ai_blueharhat_1_val",
"subset": "Validation",
"frames_used": 11
},
{
"id": 2164,
"name": "ai_blueharhat_2_test",
"subset": "Test",
"frames_used": 16
},
{
"id": 2165,
"name": "ai_blueharhat_2_train",
"subset": "Train",
"frames_used": 56
},
{
"id": 2166,
"name": "ai_blueharhat_2_val",
"subset": "Validation",
"frames_used": 9
},
{
"id": 2167,
"name": "oil_2026-01-16_train",
"subset": "Train",
"frames_used": 32
},
{
"id": 2168,
"name": "oil_2026-01-16_val",
"subset": "Validation",
"frames_used": 8
},
{
"id": 2169,
"name": "oil1_2026-01-20_train",
"subset": "Train",
"frames_used": 46
},
{
"id": 2170,
"name": "oil1_2026-01-20_val",
"subset": "Validation",
"frames_used": 12
},
{
"id": 2171,
"name": "oil2-高處-2025-10-21-train",
"subset": "Train",
"frames_used": 35
},
{
"id": 2172,
"name": "oil2-高處-2025-10-21-val",
"subset": "Validation",
"frames_used": 11
},
{
"id": 2173,
"name": "oil3-高處-2026-01-08-test",
"subset": "Test",
"frames_used": 38
},
{
"id": 2174,
"name": "oil3-高處-2026-01-08-test2.mp4",
"subset": "Test",
"frames_used": 23
},
{
"id": 2175,
"name": "oil3-高處-2026-01-08-test3.mp4",
"subset": "Test",
"frames_used": 40
},
{
"id": 2176,
"name": "oil3-高處-2026-01-29-train1.mp4",
"subset": "Train",
"frames_used": 62
},
{
"id": 2177,
"name": "oil3-高處-2026-01-29-train2.mp4",
"subset": "Train",
"frames_used": 62
},
{
"id": 2178,
"name": "oil3-高處-2026-01-29-val.mp4",
"subset": "Validation",
"frames_used": 13
},
{
"id": 2179,
"name": "oil3-高處-2026-01-30-train.mp4",
"subset": "Train",
"frames_used": 117
},
{
"id": 2180,
"name": "oil3-高處-2026-02-02-test.mp4",
"subset": "Test",
"frames_used": 24
},
{
"id": 2181,
"name": "oil3-高處-2026-02-02-train.mp4",
"subset": "Train",
"frames_used": 81
},
{
"id": 2182,
"name": "oil3-高處-2026-02-02-val-1.mp4",
"subset": "Validation",
"frames_used": 68
},
{
"id": 2183,
"name": "oil3-高處-2026-02-02-val-2.mp4",
"subset": "Validation",
"frames_used": 87
},
{
"id": 2184,
"name": "oil3-高處-2026-02-03_10-05-29-test",
"subset": "Test",
"frames_used": 14
},
{
"id": 2185,
"name": "oil3-高處-2026-02-03_10-05-29-train.mp4",
"subset": "Train",
"frames_used": 23
},
{
"id": 2186,
"name": "oil3-高處-2026-02-03_10-05-29-val",
"subset": "Validation",
"frames_used": 11
},
{
"id": 2187,
"name": "oil3-高處-2026-02-04-val.mp4",
"subset": "Validation",
"frames_used": 64
},
{
"id": 2188,
"name": "oil3-高處-2026-02-05-test.mp4",
"subset": "Test",
"frames_used": 67
},
{
"id": 2189,
"name": "oil3-高處-2026-02-09-test.mp4",
"subset": "Test",
"frames_used": 16
},
{
"id": 2190,
"name": "oil3-高處-2026-02-12-val.mp4",
"subset": "Validation",
"frames_used": 90
},
{
"id": 2191,
"name": "oil3-高處-2026-02-13-test.mp4",
"subset": "Test",
"frames_used": 8
},
{
"id": 2192,
"name": "oil3-高處-2026-02-25-test.mp4",
"subset": "Test",
"frames_used": 278
},
{
"id": 2193,
"name": "oil5-2026-02-09-重要-4-val.mp4",
"subset": "Validation",
"frames_used": 123
},
{
"id": 2194,
"name": "oil5-2026-02-09-重要-5-train.mp4",
"subset": "Train",
"frames_used": 250
},
{
"id": 2195,
"name": "oil5-2026-02-09-重要-6-test.mp4",
"subset": "Test",
"frames_used": 139
},
{
"id": 2196,
"name": "oil5-高處-2026-01-19_08-43-52-test",
"subset": "Test",
"frames_used": 6
},
{
"id": 2197,
"name": "oil5-高處-2026-01-19_09-13-54-train",
"subset": "Train",
"frames_used": 18
},
{
"id": 2198,
"name": "oil5-高處-2026-01-19_13-57-53-val",
"subset": "Validation",
"frames_used": 25
},
{
"id": 2199,
"name": "raitest-train",
"subset": "Train",
"frames_used": 23
},
{
"id": 2200,
"name": "raitrain",
"subset": "Train",
"frames_used": 29
},
{
"id": 2201,
"name": "raival",
"subset": "Validation",
"frames_used": 18
},
{
"id": 2336,
"name": "oil3-高處-2026-02-04-train",
"subset": "Train",
"frames_used": 66
},
{
"id": 2337,
"name": "oil3-高處-2026-02-03-train.mp4",
"subset": "Train",
"frames_used": 209
},
{
"id": 2629,
"name": "iseek_2026-03-27_cpc-正式鏡頭5號",
"subset": "Train",
"frames_used": 21
},
{
"id": 2630,
"name": "iseek_2026-03-30_cpc-正式鏡頭2號",
"subset": "Validation",
"frames_used": 4
},
{
"id": 2631,
"name": "iseek_2026-03-30_cpc-正式鏡頭5號",
"subset": "Validation",
"frames_used": 9
},
{
"id": 2632,
"name": "iseek_2026-03-31_cpc-正式鏡頭2號",
"subset": "Train",
"frames_used": 6
},
{
"id": 3178,
"name": "iseek_2026-04-13_cpc5號-高處作業",
"subset": "Train",
"frames_used": 49
},
{
"id": 2073,
"name": "oil5-侷限-2026-01-30-test.mp4",
"subset": "Test",
"frames_used": 213
},
{
"id": 2074,
"name": "oil5-侷限-2026-01-26-1-train.mp4",
"subset": "Train",
"frames_used": 178
},
{
"id": 2075,
"name": "oil5-侷限-2026-01-30-train.mp4",
"subset": "Train",
"frames_used": 294
},
{
"id": 2076,
"name": "oil5-侷限-2026-01-30-val.mp4",
"subset": "Validation",
"frames_used": 87
},
{
"id": 2077,
"name": "oil5-侷限-2026-01-29-1-val.mp4",
"subset": "Validation",
"frames_used": 91
},
{
"id": 2078,
"name": "1127-進場.mp4",
"subset": "Train",
"frames_used": 70
},
{
"id": 2079,
"name": "2025-10-21_01-07-51-A.mov",
"subset": "Train",
"frames_used": 22
},
{
"id": 2080,
"name": "2025-10-21_01-07-51-B_val",
"subset": "Validation",
"frames_used": 27
},
{
"id": 2081,
"name": "2025-11-05_01-14-33_Test",
"subset": "Test",
"frames_used": 17
},
{
"id": 2082,
"name": "2025-11-05_01-14-33_Train",
"subset": "Train",
"frames_used": 48
},
{
"id": 2083,
"name": "2025-11-05_01-54-35_Test",
"subset": "Test",
"frames_used": 12
},
{
"id": 2084,
"name": "2025-11-05_01-54-35_Train",
"subset": "Train",
"frames_used": 59
},
{
"id": 2085,
"name": "2025-11-11_06-20-16-1.mp4",
"subset": "Train",
"frames_used": 100
},
{
"id": 2086,
"name": "2025-11-11_06-20-16-2_val",
"subset": "Validation",
"frames_used": 45
},
{
"id": 2087,
"name": "2025-11-11_06-20-16-3.mp4",
"subset": "Test",
"frames_used": 127
},
{
"id": 2088,
"name": "2025-11-21_00-43-16_Test",
"subset": "Test",
"frames_used": 102
},
{
"id": 2089,
"name": "2025-11-21_00-43-16_Train2",
"subset": "Train",
"frames_used": 56
},
{
"id": 2090,
"name": "2025-11-21_02-03-17_train",
"subset": "Train",
"frames_used": 65
},
{
"id": 2091,
"name": "2025-11-26_01-48-08-Train.mp4",
"subset": "Train",
"frames_used": 33
},
{
"id": 2092,
"name": "2025-11-26_02-08-08-1-Test.mp4",
"subset": "Test",
"frames_used": 63
},
{
"id": 2093,
"name": "2025-11-26_02-08-08-2-Train.mp4",
"subset": "Train",
"frames_used": 79
},
{
"id": 2094,
"name": "2025-11-26_02-28-08-1-Train.mp4",
"subset": "Train",
"frames_used": 49
},
{
"id": 2095,
"name": "2025-11-26_06-00-00-1-Train.mp4",
"subset": "Train",
"frames_used": 41
},
{
"id": 2096,
"name": "安全帽顏色_1_val",
"subset": "Validation",
"frames_used": 89
},
{
"id": 2097,
"name": "安全帽顏色_test",
"subset": "Test",
"frames_used": 38
},
{
"id": 2098,
"name": "安全帽顏色_train",
"subset": "Train",
"frames_used": 962
},
{
"id": 2099,
"name": "安全帽顏色_val",
"subset": "Validation",
"frames_used": 170
},
{
"id": 2100,
"name": "局限人1",
"subset": "Validation",
"frames_used": 81
},
{
"id": 2101,
"name": "局限人2",
"subset": "Validation",
"frames_used": 119
},
{
"id": 2102,
"name": "無安全帽+背心顏色_train",
"subset": "Train",
"frames_used": 60
},
{
"id": 2103,
"name": "無安全帽test",
"subset": "Test",
"frames_used": 8
},
{
"id": 2106,
"name": "frame_PNG_Test",
"subset": "Test",
"frames_used": 84
},
{
"id": 2107,
"name": "frame_PNG_Train",
"subset": "Train",
"frames_used": 271
},
{
"id": 2108,
"name": "frame_PNG_Validation",
"subset": "Validation",
"frames_used": 32
},
{
"id": 2109,
"name": "oil4-2025-10-15_01-02-06_Train",
"subset": "Train",
"frames_used": 21
},
{
"id": 2110,
"name": "oil4-2025-10-15_01-03-04_Train",
"subset": "Train",
"frames_used": 50
},
{
"id": 2111,
"name": "PPE-test",
"subset": "Test",
"frames_used": 47
},
{
"id": 2627,
"name": "iseek_2026-03-27_cpc-正式鏡頭2號",
"subset": "Train",
"frames_used": 7
},
{
"id": 2628,
"name": "iseek_2026-03-30_cpc-正式鏡頭2號",
"subset": "Train",
"frames_used": 40
}
],
"tasks_excluded": [],
"total_person_crops": 29668,
"label_stats": {
"split": {
"train": 18709,
"val": 5825,
"test": 5134
},
"has_hardhat": {
"1": 23206,
"0": 6462
},
"hardhat_color": {
"yellow": 2789,
"NONE": 6462,
"blue": 13573,
"white": 5594,
"orange": 476,
"red": 774
},
"has_vest": {
"0": 25030,
"1": 4638
},
"vest_color": {
"NONE": 25030,
"yellow": 2126,
"red": 1375,
"orange": 1137
},
"has_harness": {
"1": 7379,
"0": 22289
},
"has_heartbeat": {
"0": 28681,
"1": 987
}
}
}