PPE Attribute — ppe_attr_v20260415

split: test

模型下載

輸入 192×384(H×W),ImageNet normalize;輸出 ppe_logits (4)、hat_logits (5)、vest_logits (3)。推論範例見 README。

PPE mAP
0.926
no_hardhat recall
0.878
hat color acc
0.952
vest color acc
0.988

PPE 四分類

classAPPRF1TPFPFN
has_hardhat0.9910.9650.9680.9663853141127
has_vest0.9400.9210.8890.9054333754
has_harness0.9240.7990.9210.8561176295101
has_heartbeat0.8490.7100.8320.7661596532

Hardhat color

hardhat blue bias — GT 62.4% / Pred 62.2% (Δ -0.2%)

GT\Predbluewhiteyelloworangered
blue245612511
white29687111
yellow145230301
orange412303
red113533

Vest color

GT\Predredyelloworange
red32800
yellow0842
orange2269

Error gallery

has_hardhat — FP (top 20)

has_vest — FP (top 20)

has_harness — FP (top 20)

has_heartbeat — FP (top 20)

Snapshot

{
  "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
    }
  }
}