CVAT Task 命名規則 v2 · ISMS 鏡頭主軸(乾淨版)
產出 2026-08-25(v2.6 · 廠商表:甲山林與陞訊合併為 SHENGHSUN(使用者 2026-08-25 裁定兩者為同一間公司)。projects.db id 20 的 code 由中文「陞訊」改為 SHENGHSUN;id 19「甲山林」保留為別名列(stage=alias)不刪除,其歷史 code「甲山林」不再是合法代號。廠商表 20 → 19 筆,中文 code 自此歸零。CVAT 上 49 個 甲山林_ task 已由 data 全數改名 SHENGHSUN_(0 失敗 0 撞名 0 殘留),全站 522 個 SHENGHSUN_ task / 35,141 幀自此對得上白名單 —— 在此之前 SHENGHSUN 從未登錄,任何以 projects.code 當白名單的稽核工具都會把它們判成無法對應。同時明文化白名單口徑「只取 stage != alias 的列」,並修正 ai_summary 與廠商欄位規則裡停留在 13 筆的過時數字。格式 / 解析 regex 不變。)· 機器版:spec.json
🤖 給 AI / Claude agent 的摘要
若你是 agent,請只讀本區塊,或改讀完整機器版 spec.json —— 不要逐段爬整頁。
完整機器可讀版(結構化 JSON):
· 線上:https://cvat-reports.pages.dev/naming_spec_v2/spec.json
· 本機(Claude Code 直接讀,免連網):C:\reports_maker\_naming_spec_v2_data.json
命名格式
<廠商>_[<ISMS鏡頭名稱>]_<YYYYMMDD>_<NNN>
解析 regex(右錨點 + 括號分隔)
^(?P<vendor>[A-Z]+(?:-AI)?)_\[(?P<cam>.*?)\]_(?P<date>\d{8}|UNKNOWN)_(?P<seq>\d{3})$
必讀規則(完整版見 spec.json)
- 格式:<廠商>_[<ISMS鏡頭名稱>]_<YYYYMMDD>_<NNN>,例 JUJIA_[jujia_A1]_20260601_001。所有新建 CVAT task 一律套用。
- 鏡頭名稱用方括號 [] 框住,內容直接取 ISMS cameraCode 原樣(允許底線 / 連字號 / 中文;唯一禁止字元:右括號 ])。不再切『場域 + CHxx』兩欄,廢除每廠商場域/鏡頭對照表。
- 解析(右錨點 + 括號分隔,Python re 命名群組):^(?P<vendor>[A-Z]+(?:-AI)?)_\[(?P<cam>.*?)\]_(?P<date>\d{8}|UNKNOWN)_(?P<seq>\d{3})$。JS 端把 ?P< 換成 ?< 即可。日期 8 碼、編號 3 碼從右邊錨定,括號內鏡頭名稱可任意內容。
- 廠商:全大寫英文代號,權威來源 = projects.db 的 code 欄「stage != alias」的列(19 筆)+ 合法特例 PUBLIC / UNKNOWN。此表仍為強制規則。中文 code 已全數消滅(v2.6 起)—— 甲山林/陞訊都改用 SHENGHSUN。
- -AI 後綴(v2.2 起):<廠商代號>-AI = 該廠商場域的 AI 生成資料,例 FOX-AI_[TC-1-102]_20260529_001。括號內仍放真實 ISMS cameraCode(生成資料模擬的鏡頭場景)。與 [AIGEN] 區分:綁定特定廠商鏡頭場域 → 廠商-AI + 真實 cameraCode;無對應廠商鏡頭的泛用合成資料 → 廠商原樣 + [AIGEN]。
- 鏡頭名稱直接抄 ISMS cameraCode(穩定機器 ID),不要用可被改的中文顯示名 —— 否則 ISMS 改名一次 task 身分就對不上。
- 場域 / 位置 / model 等 metadata 不再寫進 task 名 → 報表階段以 task → ISMS(cameraCode 對應)join 取回(cams_v1 的 isms_to_cvat_key 已是此模式)。
- 非 ISMS 來源(無鏡頭實體)括號內填來源 tag:[UNKNOWN](真不明)/ [<dataset>](vendor=PUBLIC 的開源集)/ [AIGEN](AI 合成)/ [pool-<source>](訓練池)/ CPC 影片用工安類別 [HEIGHT]、[CONFINED]。
- 日期:YYYYMMDD,拍攝/生成日優先,無 metadata 退回上傳日;真不明才填 UNKNOWN。
- 編號:3 位零填補,同三元組(廠商 + 鏡頭名稱 + 日期)從 001 遞增。
- Train/Val/Test:不進 task 名 → 走 CVAT subset 欄位;刻意拆 3 個獨立 task → 用編號 001/002/003 區分。
- subset 合法取值(v2.4 起封閉列舉,四種,大小寫敏感):Train / Validation / Test / Rejected。Rejected = 判定不可用的廢批(留作證據、絕不進訓練集),例 GEN003 興農 152-1 脫裝備驗證批良率 1/10、9/10 有幻覺人物 → task 13994/13995 設 Rejected。廢因寫 CVAT bug_tracker。
- 訓練切分程式必須用白名單(subset in ('Train','Validation','Test')),不可用黑名單(subset != 'Test' 之類)—— 黑名單會把 Rejected 的廢批撈進訓練集。空字串 / Unlabeled / 小寫變體都不是合法取值,一律當『未指定』,不得視為可訓練。
- 不確定真實廠商 → 填 UNKNOWN,不要造詞(如 INTERNAL)—— 造詞讓未來 trace 死路、汙染統計。
- 舊 5 段格式(<廠商>_<場域>_<CHxx>_<日期>_<編號>)規範見 naming_spec/,過渡期並存;既存 task 改名後續施做,解析器過渡期含 [ 走新 regex、否則走舊 regex;全面遷移後舊規範移除。
- 【格式封閉】(v2.5,使用者裁決)名稱只有 4 段:<廠商>_[<ISMS cameraCode>]_<YYYYMMDD>_<NNN>。regex 以 $ 錨定在 3 位序號之後,序號之後不得有任何欄位。沒有第 5 段、沒有選用尾欄、沒有狀態後綴。放不進這 4 段的 metadata 就是放不進去 —— 放 CVAT bug_tracker 或該部門自己的台帳,不要塞進名稱。
- 【變更控制】(v2.5,使用者裁決)規範本身要改,一律先問使用者。任何部門不得自行新增欄位、改 regex、加後綴,或另開本地規則副本。要改就改 _naming_spec_v2_data.json 後重 build + deploy,本檔是唯一真相來源;反推 regex、照記憶回答、或在別處另立一份規則都是錯的作法。
- 【個案裁決 1】生成批次代號(GEN001 / FTGEN02 這類)不進 task 名。批次代號放 CVAT bug_tracker 或 train 自己的台帳。不合規實例:SHENGHSUN-AI_[CH06]_20260806_GEN001(把 GEN001 塞在序號欄)。
- 【個案裁決 2】AI 生成資料一律用 v2.2 已定義的 <廠商代號>-AI(如 FOX-AI、SINON-AI),不得另造 -SYNTH 或其他後綴;無對應廠商鏡頭的泛用合成資料才用 [AIGEN] tag。
合法範例
JUJIA_[jujia_A1]_20260601_001 — 寶佳 · ISMS 鏡頭 jujia_A1 · 2026-06-01 · 第1筆SINON_[151-11]_20260601_001 — 興農 · ISMS 鏡頭 151-11GREENIDEAS_[吳濁流]_20260601_001 — 思維 · ISMS 中文鏡頭名直接入括號FOX_[TC-1-102]_20260601_001 — 弗克司 · ISMS cameraCode TC-1-102FOX-AI_[TC-1-102]_20260529_001 — 弗克司場域 AI 生成資料 · -AI 後綴 · 括號仍放真實 cameraCode(raicvat5090 PPE task 實例)SKYSHARP_[民雄後門禁]_20260521_001 — 天銳國際 · ISMS 中文鏡頭名 民雄後門禁CPC_[HEIGHT]_20260601_001 — 中油 · 無 ISMS 鏡頭 · 工安類別 tag 高處PUBLIC_[FASDD]_UNKNOWN_001 — 開源資料集 FASDD · 日期不明RAIVISION_[AIGEN]_20260601_001 — 自家合成資料
⚠ 命名規範以本檔為準。廠商代號權威來源仍是 projects.db;場域/鏡頭不再寫進 task 名,改由報表階段 ISMS join 取回。不要憑記憶裡的舊 5 段內容回答。格式是封閉的(4 段,序號後不得有任何欄位),規範本身的變更一律先問使用者 —— 任何部門不得自行加欄位 / 改 regex / 加後綴 / 另開本地規則副本(見治理節)。
📌 本頁是新規範(v2)· 與舊規範完全分開
新規範,所有新建 CVAT task 一律套用。舊 5 段格式 <廠商>_<場域>_<鏡頭>_<日期>_<編號> 規範見 naming_spec/(過渡期並存,待既存 task 全面遷移後移除)。
取代:https://cvat-reports.pages.dev/naming_spec/ (舊 5 段格式)
<廠商>_[<ISMS鏡頭名稱>]_<YYYYMMDD>_<NNN>
解析 regex
^(?P<vendor>[A-Z]+(?:-AI)?)_\[(?P<cam>.*?)\]_(?P<date>\d{8}|UNKNOWN)_(?P<seq>\d{3})$
適用範圍:所有新建 CVAT task 一律套用本 4 段格式。下游 cvat-reports / reports_maker fetch 階段以上方右錨點 + 括號分隔 regex 解欄位。過渡期須同時相容舊 5 段格式(task 名含 '[' → 新 regex,否則 → 舊 <VENDOR>_<SITE>_<CHxx>_<DATE>_<NNN> regex)。
🔒 格式封閉
格式是封閉的(v2.5,使用者裁決):名稱就是這 4 段,不多不少。regex 以 $ 錨定在 3 位序號之後,因此序號之後不得有任何欄位 —— 沒有選用尾欄、沒有批次代號欄、沒有狀態後綴。要加欄位必須先問使用者並改本規範,見第 6 節。
| 欄位 | 規則 | 範例 |
| 廠商 | 全大寫英文代號(權威來源 projects.db 的 code 欄,取 stage != alias 的列,19 筆);合法特例 PUBLIC / UNKNOWN。可加 -AI 後綴 = 該廠商場域的 AI 生成資料(v2.2 起,括號內仍放真實 cameraCode) | JUJIA / SINON / FOX-AI |
| 鏡頭名稱 | 方括號 [] 框住;內容 = ISMS cameraCode 原樣(允許底線/連字號/中文,禁止字元 ])。無 ISMS 來源 → 填來源 tag(見下節) | [jujia_A1] / [吳濁流] / [TC-1-102] |
| 日期 | YYYYMMDD(拍攝/生成日優先,無 metadata 退回上傳日;真不明才 UNKNOWN) | 20260601 |
| 編號 | 3 位零填補;同三元組(廠商 + 鏡頭名稱 + 日期)遞增 001 起 | 001 / 002 |
Train / Val / Test 拆分
- 不進 task 名 → 走 CVAT 既有 subset 欄位(合法取值見第 5 節,v2.4 起封閉列舉)
- 若刻意拆成 3 個獨立 task 作為三套資料集 → 用編號 001 / 002 / 003 區分
- 不要把 _Train / _Val / _Test 當後綴加在名後(舊格式)
- 同支影片不可重複抽幀,避免資料汙染
- 廢批 / 不可用批次同樣不進 task 名 → subset 設 Rejected(第 5 節);不要加 _REJECT 之類的名稱後綴
2. 鏡頭名稱欄(方括號)
新格式的核心。鏡頭名稱直接取 ISMS cameraCode 原樣、用方括號框住,因此不需要任何每廠商的場域/鏡頭對照表。
- 一律用方括號 [] 框住,例 [jujia_A1]。
- 內容 = ISMS cameraCode 原樣,不做正規化、不轉拼音、不補零。底線 / 連字號 / 中文都允許。
- 唯一禁止字元:右括號 ](會破壞解析)。若 ISMS 名稱含 ](目前未見),需個案處理。
- 取 cameraCode(穩定機器 ID),不取可變的中文顯示名。
- 無 ISMS 鏡頭實體的來源 → 改填來源 tag(見下表),不要硬湊或造鏡頭名。
無 ISMS 來源 → 來源 tag
| Tag | 使用時機 | 範例 |
[<dataset>] | 開源資料集,廠商欄 = PUBLIC,括號放資料集名 | PUBLIC_[FASDD]_UNKNOWN_001 |
[AIGEN] | AI 生成 / 合成資料且無對應廠商鏡頭(跨 project 通用)。若是模擬特定廠商場域鏡頭的 AI 生成資料 → 不用此 tag,改在廠商代號加 -AI 後綴、括號放真實 cameraCode(見廠商節) | RAIVISION_[AIGEN]_20260601_001 |
[pool-<source>] | 訓練資料池(多廠商混合;結構解法仍待設計) | UNKNOWN_[pool-cppe5]_20260601_001 |
[HEIGHT] / [CONFINED] | 中油 CPC 影片,無 ISMS 鏡頭實體,用工安類別代之 | CPC_[HEIGHT]_20260601_001 |
[UNKNOWN] | 以上皆不適用且鏡頭/來源真的不明(不要造詞) | SINON_[UNKNOWN]_20260601_001 |
3. 場域 / 位置改由 ISMS join 取回
舊格式把『場域 + 鏡頭 CH』寫進 task 名,因此要維護每廠商的對照表。新格式只在 task 名保留『廠商 + ISMS 鏡頭 ID』當外鍵,其餘 metadata 在 ISMS。
- task 名 = 指向 ISMS 鏡頭的外鍵(廠商 + cameraCode)。
- 場域 / 樓層 / 位置 / production model 等 metadata 全在 ISMS,報表階段以 cameraCode join 取回。
- cams_v1 報表的 isms_to_cvat_key() 已是此模式(ISMS↔CVAT join)。
- 好處:單一真相來源(ISMS),不必在 task 名 + 對照表各存一份,也不必維護每廠商場域/CH 對照表。
4. 廠商代號(仍為強制規則)
權威來源:C:\Users\User\.claude\data\projects.db table projects(欄位 id, name, code, type, stage) 2026-08-25 · 19 筆
| 中文 | 代號 | Type |
| 喬福泡棉 | CHIAOFU | client |
| 喬福醫療器材 | CHIAOFUMED | client |
| 建堡營造 | CHIENPO | client |
| 中油 | CPC | client |
| 火化場 | CREMATORY | client |
| 弗克司 | FOX | client |
| 思維 | GREENIDEAS | client |
| 華周工業 | HCI | client |
| 宏全 | HONCHUAN | client |
| 翔大 | HSIANGTA | client |
| 新東陽 | HSINTUNGYANG | client |
| 愛烙達 | IRODA | client |
| 寶佳 | JUJIA | client |
| Rai Vision | RAIVISION | internal |
| 清潔隊 | SANITATION | client |
| 西門子 | SIEMENS | client |
| 興農 | SINON | client |
| 天銳國際 | SKYSHARP | client |
| 陞訊數據科技股份有限公司(原「甲山林」) | SHENGHSUN | client |
特例(不進 DB)
| 中文 | 代號 | 用法 |
| 公開資料 | PUBLIC | 開源 / open dataset;非付費廠商,不入 projects 表 |
| 未知 | UNKNOWN | 廠商欄資訊不明時填,非廠商實體 |
別名
| 別名 | 對應廠商 | 用法 |
jujia | 寶佳 JUJIA | ISMS / iSeek 系統內鏡頭名用小寫 jujia(如 jujia_A1);廠商欄一律寫大寫 JUJIA,括號內鏡頭名保留 ISMS 原樣 |
甲山林 | 陞訊數據科技股份有限公司 SHENGHSUN | 2026-08-25 使用者裁定:甲山林與陞訊數據科技是同一間公司,一律用 SHENGHSUN。CVAT 上 49 個 甲山林_ 開頭的 task 已全數改名(橫跨 p1/p2/p10/p11/p12,0 失敗 0 撞名 0 殘留)。projects.db id 19「甲山林」保留為別名列(stage=alias)供日後查詞,其 code 欄的歷史值「甲山林」不是合法代號。同一裁定下 id 20 的 code 由中文「陞訊」改為 SHENGHSUN —— 中文「陞訊」同樣不再是合法代號,且從未有 task 用過。 |
使用規則
- 權威來源:projects.db 的 code 欄,且**只取 stage != 'alias' 的列**(別名列保留是為了查歷史詞的去向,不是合法代號)。
- 合法特例:PUBLIC、UNKNOWN。
- 未登錄代號禁止直接使用:付費客戶先寫入 projects.db;不確定真實廠商一律 UNKNOWN,不要造詞。
- -AI 後綴(v2.2 起):<廠商代號>-AI = 該廠商場域的 AI 生成資料(如 FOX-AI、IRODA-AI、GREENIDEAS-AI)。後綴只能接在已登錄代號之後,不是新廠商、不入 projects.db;括號內仍放真實 ISMS cameraCode。
5. subset 欄位(合法取值封閉列舉)
資料集切分與廢批狀態都不進 task 名,走 CVAT 既有的 subset 欄位。v2.4 起本節明文列舉 subset 的合法取值,且為封閉集合 —— 不在表內的值一律視為未指定,不得當成可訓練資料。取值大小寫敏感,一律照表中字面。
| 取值 | 使用時機 | 進訓練集 |
Train | 訓練集 | 可訓練 |
Validation | 驗證集(寫全字 Validation,不要寫 Val) | 可訓練 |
Test | 測試集 | 可訓練 |
Rejected | 廢批 / 判定不可用的批次:要留作證據、可查可稽核,但絕不能進訓練集。廢因寫在 CVAT bug_tracker free text | 不可訓練 |
⚠ Rejected(廢批)
Rejected 是 v2.4 新增(使用者 2026-08-19 裁決)。實例:GEN003 興農 152-1 脫裝備驗證批,train 判定不可用 —— 良率 1/10,9/10 出現原圖沒有的幻覺人物;raicvat5090 p12 的 task 13994(SINON-AI_[152-1]_20260818_001)與 13995(SINON-AI_[152-1]_20260818_002)現為 subset=Rejected。task 名維持完全合規、不加任何狀態後綴:狀態是 CVAT 欄位,不是命名欄位。
使用規則
- 合法取值只有 Train / Validation / Test / Rejected 四種,大小寫敏感。
- 廢批一律 subset=Rejected,並在 bug_tracker 寫明廢因(人看的理由)。名稱不加 _REJECT 之類後綴 —— 命名規範沒有狀態欄,也不會有。
- 訓練切分程式一律用白名單過濾:subset in ('Train','Validation','Test')。禁止用黑名單(如 subset != 'Test')—— 黑名單會把 Rejected 與未指定的 task 一起撈進訓練集。
- 判定廢批但還沒改 subset 的期間是實害風險:只寫 bug_tracker 沒有用,程式不讀 free text。判定當下就要改 subset。
- Rejected 的 task 不刪除、不改名、不搬 project —— 留作證據就是它的用途。
- 要新增第五種取值須改本檔並重 build,不要在各自的程式或本地規則檔另立取值。
現況的非合法取值(不在封閉集合內)
以下是 raicvat5090 p12 現況存在、但不屬於合法取值的 subset 值(清點日 2026-08-19:Test 1563 / Train 1540 / Validation 909 / 空 222 / 小寫變體各 8 / Rejected 2 / Unlabeled 1)。本節只定義它們該怎麼解讀與收斂,既存 task 的實際清理由 data 排程,本規範不追溯強制。
| 現況值 | 語意 | 處置 |
(空字串) | 未指定切分。CVAT 建 task 沒填 subset 時的預設狀態 | 視為未指定 → 不可訓練。要進訓練集前必須先指派 Train / Validation / Test |
Unlabeled | CVAT 內建的預設 subset 名,不是本規範的語意值 | 等同未指定 → 不可訓練。新建 task 不要沿用;既存者收斂為空字串或指派正式取值 |
小寫變體(train / validation / test …) | 大小寫寫錯的合法值 | 不合規但語意明確 → 正規化為表定大小寫。程式比對不要自行 lower(),以免掩蓋問題 |
6. 格式封閉性與規範變更控制
本節由使用者 2026-08-19 裁決加入。前面幾節講「名稱怎麼寫」,本節講「規範本身怎麼改」—— 這兩件過去只有前者寫下來,導致有部門在缺乏權威依據時自行反推規則、自造欄位。
一、格式是封閉的
- 名稱只有 4 段:<廠商>_[<ISMS cameraCode>]_<YYYYMMDD>_<NNN>。不多不少。
- 解析 regex 以 $ 錨定在 3 位序號之後 —— 這是刻意的封閉,不是還沒寫完的開放結尾。
- 序號之後不得有任何欄位:沒有選用尾欄、沒有批次代號欄、沒有狀態後綴、沒有第 5 段。
- 放不進這 4 段的 metadata 就是放不進去。改放 CVAT bug_tracker(人看的自由文字)或該部門自己的台帳。
- 這是規範的核心設計:名稱只放指向 ISMS 的外鍵(廠商 + cameraCode),其餘 metadata 在報表階段 join 取回。為單一欄位破例就是在拆這個設計。
二、規範本身的變更需經使用者同意
- 規範要改,一律先問使用者。不是先改再說、不是「順手處理」。
- 任何部門不得自行新增欄位、改解析 regex、加後綴,或另開一份本地規則副本。
- 唯一真相來源是 C:\reports_maker\_naming_spec_v2_data.json(歸 ops)。同意後改本檔 → 重跑 _naming_spec_v2_build_html.py → deploy,人看的 index.html 與機器版 spec.json 都由本檔產生。
- 不要從下游程式的 regex 反推規則(如 cvat-ops/naming_audit/analyze.py)—— 下游是規範的消費者,不是來源,反推會把實作漏洞當成規則。
- 不要憑記憶回答命名規則。本機直接讀本檔,或讀線上 spec.json。
- 需求提出方式:寫進 _org/inbox/ops/ 的 memo,由 ops 帶到使用者裁決。不確定歸屬就標 TODO,不要猜。
個案裁決
| 日期 | 議題 | 裁決 |
| 2026-08-19 | 生成批次代號(GEN001 / FTGEN02 這類) | 不進 task 名稱。 train 圖片生成管線(服務 8180)的文件要求「產出上 CVAT 時 task 名帶批次代號以維持來源可追溯」,但這與封閉格式衝突。批次代號改放 CVAT bug_tracker 或 train 自己的台帳;可追溯性由該台帳負責,不由 task 名負責。不合規實例:SHENGHSUN-AI_[CH06]_20260806_GEN001(把 GEN001 塞在序號欄;另註 SHENGHSUN 亦不在 projects.db 廠商表內)。 |
| 2026-08-19 | AI 生成資料的表示法 | 一律用 v2.2 已定義的 <廠商代號>-AI,不得另造 -SYNTH 之類後綴。 綁定特定廠商鏡頭場域的 AI 生成資料 → <廠商代號>-AI + 真實 cameraCode(如 FOX-AI_[TC-1-102]_20260529_001、SINON-AI_[152-1]_20260818_001)。無對應廠商鏡頭的泛用合成資料 → 廠商原樣 + [AIGEN] tag。規範早已涵蓋此情境,新造後綴屬於未經同意的自行擴充。 |
為什麼有這一節
背景:2026-08-18 data/cvat-ops 在未讀權威來源的情況下,從下游 analyze.py 的 regex 反推規則、另開本地規則檔,並自造 -SYNTH 廠商後綴、批次代號欄、_REJECT 狀態欄三個不存在的欄位,事後全數撤回。撤回是對的;本節的用意是讓下一次不必靠事後撤回 —— 先問。
7. 新舊格式過渡
- 新建 task 一律套用本 v2 新格式。
- 舊 5 段格式既存 task 暫不改名(規範見 naming_spec/);全面改名後續施做。
- 解析器過渡期同時吃兩格式:task 名含 '[' → 新 regex;否則 → 舊 <VENDOR>_<SITE>_<CHxx>_<DATE>_<NNN> regex。
- 舊規範文件 naming_spec/ 過渡期保留;既存 task 全面遷移完成後直接移除。
8. 完整範例
JUJIA_[jujia_A1]_20260601_001 # 寶佳 · ISMS 鏡頭 jujia_A1 · 2026-06-01 · 第1筆
SINON_[151-11]_20260601_001 # 興農 · ISMS 鏡頭 151-11
GREENIDEAS_[吳濁流]_20260601_001 # 思維 · ISMS 中文鏡頭名直接入括號
FOX_[TC-1-102]_20260601_001 # 弗克司 · ISMS cameraCode TC-1-102
FOX-AI_[TC-1-102]_20260529_001 # 弗克司場域 AI 生成資料 · -AI 後綴 · 括號仍放真實 cameraCode(raicvat5090 PPE task 實例)
SKYSHARP_[民雄後門禁]_20260521_001 # 天銳國際 · ISMS 中文鏡頭名 民雄後門禁
CPC_[HEIGHT]_20260601_001 # 中油 · 無 ISMS 鏡頭 · 工安類別 tag 高處
PUBLIC_[FASDD]_UNKNOWN_001 # 開源資料集 FASDD · 日期不明
RAIVISION_[AIGEN]_20260601_001 # 自家合成資料