🤖 給 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]+)_\[(?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]+)_\[(?P<cam>.*?)\]_(?P<date>\d{8}|UNKNOWN)_(?P<seq>\d{3})$。JS 端把 ?P< 換成 ?< 即可。日期 8 碼、編號 3 碼從右邊錨定,括號內鏡頭名稱可任意內容。
- 廠商:全大寫英文代號,權威來源 = projects.db 的 code 欄(12 筆)+ 合法特例 PUBLIC / UNKNOWN。此表仍為強制規則。
- 鏡頭名稱直接抄 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 區分。
- 不確定真實廠商 → 填 UNKNOWN,不要造詞(如 INTERNAL)—— 造詞讓未來 trace 死路、汙染統計。
- 舊 5 段格式(<廠商>_<場域>_<CHxx>_<日期>_<編號>)規範見 naming_spec/,過渡期並存;既存 task 改名後續施做,解析器過渡期含 [ 走新 regex、否則走舊 regex;全面遷移後舊規範移除。
合法範例
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-102CPC_[HEIGHT]_20260601_001 — 中油 · 無 ISMS 鏡頭 · 工安類別 tag 高處PUBLIC_[FASDD]_UNKNOWN_001 — 開源資料集 FASDD · 日期不明RAIVISION_[AIGEN]_20260601_001 — 自家合成資料
⚠ 命名規範以本檔為準。廠商代號權威來源仍是 projects.db;場域/鏡頭不再寫進 task 名,改由報表階段 ISMS join 取回。不要憑記憶裡的舊 5 段內容回答。
📌 本頁是新規範(v2)· 與舊規範完全分開
新規範,所有新建 CVAT task 一律套用。舊 5 段格式 <廠商>_<場域>_<鏡頭>_<日期>_<編號> 規範見 naming_spec/(過渡期並存,待既存 task 全面遷移後移除)。
取代:https://cvat-reports.pages.dev/naming_spec/ (舊 5 段格式)
<廠商>_[<ISMS鏡頭名稱>]_<YYYYMMDD>_<NNN>
解析 regex
^(?P<vendor>[A-Z]+)_\[(?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)。
| 欄位 | 規則 | 範例 |
| 廠商 | 全大寫英文代號(權威來源 projects.db 的 code 欄,12 筆);合法特例 PUBLIC / UNKNOWN | JUJIA / SINON / CPC |
| 鏡頭名稱 | 方括號 [] 框住;內容 = ISMS cameraCode 原樣(允許底線/連字號/中文,禁止字元 ])。無 ISMS 來源 → 填來源 tag(見下節) | [jujia_A1] / [吳濁流] / [TC-1-102] |
| 日期 | YYYYMMDD(拍攝/生成日優先,無 metadata 退回上傳日;真不明才 UNKNOWN) | 20260601 |
| 編號 | 3 位零填補;同三元組(廠商 + 鏡頭名稱 + 日期)遞增 001 起 | 001 / 002 |
Train / Val / Test 拆分
- 不進 task 名 → 走 CVAT 既有 subset 欄位
- 若刻意拆成 3 個獨立 task 作為三套資料集 → 用編號 001 / 002 / 003 區分
- 不要把 _Train / _Val / _Test 當後綴加在名後(舊格式)
- 同支影片不可重複抽幀,避免資料汙染
2. 鏡頭名稱欄(方括號)
新格式的核心。鏡頭名稱直接取 ISMS cameraCode 原樣、用方括號框住,因此不需要任何每廠商的場域/鏡頭對照表。
- 一律用方括號 [] 框住,例 [jujia_A1]。
- 內容 = ISMS cameraCode 原樣,不做正規化、不轉拼音、不補零。底線 / 連字號 / 中文都允許。
- 唯一禁止字元:右括號 ](會破壞解析)。若 ISMS 名稱含 ](目前未見),需個案處理。
- 取 cameraCode(穩定機器 ID),不取可變的中文顯示名。
- 無 ISMS 鏡頭實體的來源 → 改填來源 tag(見下表),不要硬湊或造鏡頭名。
無 ISMS 來源 → 來源 tag
| Tag | 使用時機 | 範例 |
[<dataset>] | 開源資料集,廠商欄 = PUBLIC,括號放資料集名 | PUBLIC_[FASDD]_UNKNOWN_001 |
[AIGEN] | AI 生成 / 合成資料(跨 project 通用) | 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-05-21 · 12 筆
| 中文 | 代號 | Type |
| 中油 | CPC | client |
| 興農 | SINON | client |
| 思維 | GREENIDEAS | client |
| 西門子 | SIEMENS | client |
| 寶佳 | JUJIA | client |
| 宏全 | HONCHUAN | client |
| 火化場 | CREMATORY | client |
| 愛烙達 | IRODA | client |
| 清潔隊 | SANITATION | client |
| 新東陽 | HSINTUNGYANG | client |
| 弗克司 | FOX | client |
| Rai Vision | RAIVISION | internal |
特例(不進 DB)
| 中文 | 代號 | 用法 |
| 公開資料 | PUBLIC | 開源 / open dataset;非付費廠商,不入 projects 表 |
| 未知 | UNKNOWN | 廠商欄資訊不明時填,非廠商實體 |
別名
| 別名 | 對應廠商 | 用法 |
jujia | 寶佳 JUJIA | ISMS / iSeek 系統內鏡頭名用小寫 jujia(如 jujia_A1);廠商欄一律寫大寫 JUJIA,括號內鏡頭名保留 ISMS 原樣 |
使用規則
- 權威來源:projects.db 的 code 欄。
- 合法特例:PUBLIC、UNKNOWN。
- 未登錄代號禁止直接使用:付費客戶先寫入 projects.db;不確定真實廠商一律 UNKNOWN,不要造詞。
5. 新舊格式過渡
- 新建 task 一律套用本 v2 新格式。
- 舊 5 段格式既存 task 暫不改名(規範見 naming_spec/);全面改名後續施做。
- 解析器過渡期同時吃兩格式:task 名含 '[' → 新 regex;否則 → 舊 <VENDOR>_<SITE>_<CHxx>_<DATE>_<NNN> regex。
- 舊規範文件 naming_spec/ 過渡期保留;既存 task 全面遷移完成後直接移除。
6. 完整範例
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
CPC_[HEIGHT]_20260601_001 # 中油 · 無 ISMS 鏡頭 · 工安類別 tag 高處
PUBLIC_[FASDD]_UNKNOWN_001 # 開源資料集 FASDD · 日期不明
RAIVISION_[AIGEN]_20260601_001 # 自家合成資料