‹ 回總覽
系統全貌・2026-08 更新 首批三支課程 .maf 已產出並通過全數檢核

這套系統在做什麼?
從課程影片,到評分引擎的「參考答案」

一頁看懂:我們為什麼做這件事、生產線上有哪五站、每一站解決什麼問題,以及首批實際產出的成果。

為什麼做這件事

三句話講完目的。
1終局場景學員戴著單腕穿戴裝置跟課程影片運動,裝置要即時評估「跟得如何」——節奏對不對、姿勢有沒有保持住、動作有沒有做滿。
2缺的那塊:參考答案裝置只看得到手腕,要評分就必須先知道「這支影片的第幾秒到第幾秒在做什麼、用什麼標準比對」。這份參考答案,就是每支課程一份的加密 .maf 檔。
3為什麼要一條生產線60 支課程影片,純人工逐秒標註既不現實也標不準(時間結構要到毫秒級)。所以:機器先打草稿、人只做判斷與拍板、程式把關品質、最後加密輸出。

生產線五站

每支影片都走同一條線;三支代表課程已完整走過一輪。
1
媒體準備已完成
把影片收進來,準備好一切後續要用的素材。
從課程串流取得原片,轉出複核用的輕量代理影片、逐秒縮圖、音軌;並抽樣核對時間軸沒有偏移——所有時間戳都以原片第一幀為原點,這一站不過關,後面全部不算數。
入:課程串流出:原片+代理影片+縮圖+音軌+時基核對紀錄
各項素材是為什麼、怎麼做的
原片+數位指紋時間的唯一基準。評分要對到毫秒,任何轉檔都可能動到時間軸——所以原片保留,並記錄「數位指紋」(SHA-256 雜湊:把整支影片的位元組算成一個固定長度代碼,內容改動一個位元組、代碼就完全不同)。這個指紋會寫進 .maf 標頭,日後任何人都能對原片重算比對,證明參考檔對應的就是這支影片、影片沒被調包。
複核代理影片原片太重,拖時間軸會卡。轉一支輕量版(480p、每 0.5 秒一個可跳轉點),複核時逐秒來回拖動也順。
逐秒縮圖整支影片每秒截一格、拼成縮圖牆——時間軸上滑過去就看得到畫面,不必真的播放。這是複核速度的關鍵。
音軌(備而未用)管線自動從串流抽出獨立的聲音軌道並存檔。目前的流程還沒有用到它——先抽出來備著,讓之後的功能(口令與字幕輔助、編輯器的聲音波形)不必回頭重新取片。
時基抽驗抽五個時間點,比對原片與代理影片的畫面指紋,確認轉檔沒讓時間軸偏移——只要偏了,整支擋下重做,不進下一站。
2
批次分析 — 機器打草稿已完成
機器看完整支影片,產出一份「標註草稿」。
偵測人體骨架 → 轉成運動訊號 → 自動把影片切成段落,並替每段猜一個評分方式:節拍型(跟著節奏反覆的動作)、保持型(定住不動的姿勢)、流動型(連續轉換的動作),同時估出節奏、靜止區間、轉換點。
入:原片出:候選草稿(切段+機制+節奏)+波形資產
機器是怎麼打草稿的(五步)
① 偵測骨架逐幀找出人體關鍵點(肩、肘、腕、髖……),整支影片每一幀都留下骨架座標。
骨架偵測疊圖
實際偵測結果:骨架關鍵點疊在原始畫面上(銀髮族健康操)。
② 換算運動訊號把關鍵點的移動速度合成一條「全身活動量」曲線,並清掉鏡頭切換、偵測失誤造成的雜訊尖刺。曲線高=動得多、低=接近靜止。
全身活動量曲線
整支影片的活動量曲線(真實資料):暖身、主訓練、伸展的起伏一目了然。
③ 自動切段+④ 判定評分方式活動量型態明顯改變的地方(動起來了、停下來了、節奏變了)作為段落候選邊界;然後每段看「週期性強不強、靜止比例高不高」,猜它是節拍型、保持型還是流動型——都不像的(片頭、講解、休息)標為疑似非評分。下圖就是機器對整支影片打出的草稿。
自動切段與機制判定
機器草稿實例:灰直線=候選切點,色塊=各段判定的評分方式(真實資料,人工複核前)。
⑤ 逐段細算節拍型估節奏與預期次數(下圖:從訊號的自我重複規律讀出節奏)、保持型找靜止區間、流動型找轉換點——這些就是草稿的內容,連同波形一起交給下一站。
節拍自相關分析
節奏怎麼估:訊號和自己「錯開一段時間」比對,重複性最強的錯開量就是一個動作循環的長度(真實資料)。
草稿的定位機器先把整支影片初步標過一遍,接著由下一站的人工複核逐段確認與修正——用「機器初標+人工複核」的雙層流程,確保最後出檔的內容是可信的。
3
人工複核 — 人來拍板首批以工程工具執行・正式編輯器開發中
對照畫面逐段檢查草稿,錯的改掉、缺的補上,人做最後決定。
複核者逐段對照影片畫面:修正段落邊界(精修到秒級)、改判評分機制、為每個動作命名、填入強度期待。首批實測證明這一關不可省——機器草稿被人工修正了一大半:背景音樂的節拍會誤導節奏估計、靜態姿勢被誤判成節拍動作、自動切的邊界常落在動作中間。
入:候選草稿+影片畫面出:定案標註(每段機制/邊界/動作名/強度)
首批的複核決定全部留有逐段書面理由(決策表),可追溯、可重演。
4
MAF 編譯 — 組檔加密已完成
把定案標註組成正式的 .maf 參考檔。
依定案標註組出檔案三區:明文的來源與授權標頭(不用金鑰就能驗明正身)、加密的段落區(時間結構)、加密的動作詞彙區(每個動作的比對參考資料)。內容以 AES-256-GCM 加密,金鑰另行遞交、不隨檔案散佈。
入:定案標註出:.maf + 覆蓋率報告(不需金鑰即可讀)
檔案怎麼組、怎麼加密、鑰匙在哪
檔案結構——逐欄看(真實檔案,可展開)下面就是健康操那份 .maf 的實際結構與真實值:明文標頭誰都能讀,內容區沒有金鑰打不開。點各區展開。
📄 course-17421781954041251.mafJSON・三區
"provenance" —— 明文標頭:不需金鑰即可讀11 欄
"schema_version""0.9.2-draft"檔案格式版本——載入端不認得的版本直接拒載
"source_video_hash""sha256:d1d624a4…78a5b2"原片數位指紋——可對原片逐位元重算比對
"generator_version""…0.2.1-2d-baseline.gb06016f"產生器版本(含程式碼版號)——判斷既有檔要不要重編
"vocabulary_version""UNVERSIONED"動作詞彙版本——詞彙庫定案前為未定版
"canonical_sample_rate"25描述子取樣率(Hz)——寫死,防時基漂移
"coordinate_semantics""GRAVITY_ALIGNED_…_V1"座標語意版本(重力對齊)
"human_review_status""DRAFT"人工複核狀態:草稿 → 已複核 → 已核可
"created_at""2026-08-12T22:04:29+08:00"產檔時間
"license_id""aswt-eval-2026-001"授權識別
"valid_until""2027-02-08T22:04:29+08:00"授權期限——逾期載入端可拒收
"hmac""hmac-sha256:97fa0921…"出廠封條——授權金鑰的簽章(見下方流程第 5 步)
"payload" —— 加密信封5 欄
"algorithm""AES-256-GCM"加密演算法——寫死,不做協商
"key_id""aswt-maf-2026-08-k1"指名用哪把內容金鑰(不含金鑰本身)
"iv""YO32CfVKoIeHCKBq"一次性隨機參數——同一把金鑰下絕不重複
"ciphertext""PuTHwomMo7…"(32,764 字元)密文——段落區+詞彙區整塊加密的結果
"auth_tag""1PswOdaq2E+fHuAAiqH/mQ=="驗證標籤——內容被動過一個位元組就解不開
🔓 解密後內容(需內容金鑰才看得到)2 區
"segments" —— 段落區,依時間排列31 段・展開看其中一段(真實)
"segment_id""seg-021"段落編號(8:37.5–9:09.5「拍手臂」)
"start_ms" / "end_ms"517500 / 549500起訖時間(毫秒,以原片第一幀為原點)
"mechanism""BEAT_MATCH"評分方式=節拍型:比節奏與次數
"action_id" / "variant_id""arm-tap" / "base"引用詞彙區的哪個動作
"tempo_hz" / "expected_reps"0.773 / 25節奏(次/秒)與這一段的預期次數
"wrist_observability""HIGH"單腕視角下這個動作好不好觀測
"intensity_target""LIGHT"強度期待——複核者的專業判斷,未填不得出檔
"intensity_weight"0.0329課程層級彙總時的相對權重
"recovery_expected"false是否為恢復/緩和段
"descriptor_confidence"{"cycleTemplate": 0.6, "motionEnergyRms": 0.6}這一段各比對項的標註信心
"vocabulary" —— 動作詞彙區28 個動作・展開看其中一個(真實)
"action_id" / "variant_id""arm-tap" / "base"動作識別:拍手臂
"supported_wrist_side""BOTH"左右腕通用
"template_version""0.1.0"模板版本
"cycle_template"[0.8609, 0.2906, 0.215, …]×32一個動作循環的形狀模板(16 個相位點 × 垂直/水平兩通道)
"descriptors"cycleTemplate(0.6)+ motionEnergyRms(0.4)參與比對的項目、容差與權重——驗證狀態全為 PROVISIONAL(尚未跨域實證)
加密流程——一步一步對照上面的結構看:每一步的產物就是信封裡的一個欄位。
1
組內容段落區+詞彙區組成一份 JSON,序列化成位元組——這就是要保護的內容本體。
入:定案標註出:明文位元組
2
產生一次性參數每次封裝隨機產生 12 位元組的 IV;同一把金鑰下絕不重複——重複使用會破壞這種加密的安全前提,所以驗證器把它列為硬檢核。
出:iv = "YO32CfVKoIeHCKBq"
3
AES-256-GCM 加密用內容金鑰把明文位元組加密。同時把「明文標頭」綁進驗證範圍——日後標頭被改過一個字(例如把授權期限改長),內容就再也解不開。
入:明文位元組+內容金鑰+標頭出:ciphertext
4
產生驗證標籤加密的同時算出一枚 16 位元組標籤;解密端會逐位元驗證內容沒被動過——這就是「改過就會被發現」的機制。
出:auth_tag
5
簽出廠封條換另一把「授權金鑰」,對「標頭+密文」整體計算簽章,寫回標頭的 hmac 欄——證明這份檔案連同授權欄位是我們簽發的,整份調包也會被驗出。
入:標頭+密文+授權金鑰出:hmac
鑰匙在哪兩把金鑰、職責分離,都以檔案形式存於標註端金庫(不入版控、不放本站)。下面的「指紋」是金鑰檔的 SHA-256 前 12 碼——只能核對「是不是同一把」,無法反推金鑰本身。
內容金鑰aswt-maf-2026-08-k1指紋 c4c6bf16b9c5交付時另通道遞交評分端
授權金鑰指紋 4caf30cea866不遞交・僅簽發用
覆蓋率報告怎麼看(真實內容的閱讀視圖)下面是健康操那份 coverage 報告的內容渲染——它是明文,拿到檔案的人不需要金鑰就能先做這三件事:①看檢核列,任一 FAIL=檔案不可用,「未執行」要說得出原因;②對照覆蓋率與被跳過的段落是否合理;③看警告清單,逐條確認。
coverage-17421781954041251.json(銀髮族健康操)
82.0%評分覆蓋
31評分段
28動作詞彙
14/15檢核通過*
0警告
非評分段落(不進評分、以時間空隙表達)時間
片頭與開場講解0:00–0:28
講解/轉場帶 × 7 段合計約 2:50
收尾講解與片尾卡19:31–19:46
強度分佈:LIGHT 16 段/MODERATE 15 段(分佈健康——若整支課程全填同一強度,驗證器會發警告)。
*唯一未執行的檢核=批次金鑰參數交叉比對(需要多份檔案一起驗才有意義,單檔情境誠實標示「未執行」而非假裝通過)。
示範檔下載(真實交付物)加密版 .maf 任何人可下載驗明正身、沒金鑰解不開;「明文草稿」是同一次編譯的未加密對照版——正式流程中屬內部稽核件、不隨檔散佈,此處為方便對照理解而提供示範。
5
驗證 — 不過就不出檔已完成
程式把關:15 項檢核任一不過,就不產出檔案。
結構合規、時間軸完整覆蓋、引用一致、明密文一致、驗章與解密、來源影片逐位元核對……獨立驗證器交付前後都能重跑;沒執行到的檢核會誠實標示「未執行」,不會偽裝成通過。
入:.maf出:驗證通過的交付檔+檢核報告
15 項檢核在驗什麼、依據哪裡來
結構合規整份檔案逐欄位對照雙方共同維護的格式契約(JSON Schema)。依據:契約文件。
時間軸完整所有時間戳落在片長內、段落依序不重疊;空隙必須對應「宣告過的非評分段落」。依據:設計文件的時基要求。
必填把關每段的強度期待、恢復期待屬教練專業判斷,未填不得出檔。依據:設計文件「專業判斷欄位不得為空」。
引用一致段落引用的每個動作必須存在於詞彙區;明文標頭與加密內容的詞彙版本必須一致。依據:設計文件驗證器要求。
加密完整性加密不只讓人看不懂,還要「改過就會被發現」:解密時逐位元驗證內容沒被動過(驗證標籤)、明文標頭綁在驗證範圍內(改標頭=解不開)、出廠封條要用第二把金鑰才簽得出來(防整份調包)、同一金鑰的一次性參數不得重複(重複會破壞加密安全)。任一不符,一律拒絕載入。依據:AES-GCM 認證加密的安全前提。
來源一致檔內記錄的來源影片指紋,可對原片逐位元重新計算比對。依據:設計文件的溯源要求。
禁區檢查檔內任何位置不得出現絕對心率數值——心率屬個人資料,執行時才由使用者端解析。依據:設計文件的資料邊界。
誠實回報因故沒執行到的檢核(例如沒有金鑰)標示「未執行」,絕不偽裝成通過。

設計原則:方便,而且安全

一條讓複核省力,兩條讓產出可信。
方便:機器先過一遍,人來確認複核者面對的不是空白影片,而是已切好段、估好節奏的草稿——逐段確認或修正即可,操作成本大幅降低。
安全:量測不良,就不寫入標記訊號品質不足時(側面鏡頭、動作太小),系統寧可標示「不可測」,也不寫入沒有依據的數字——評分端拿到的每個數值都有量測根據。
安全:檢核不過,就不產出檔案15 項檢核任一失敗即拒絕出檔;內容加密、金鑰分離管理,檔案被竄改立即驗出。

首批成果(真實數據)

三支代表課程完整走完五站,全數通過驗證。
課程型態段落評分段評分覆蓋動作詞彙
銀髮族健康操節拍型為主403182.0%28
初階瑜珈體位法 1保持型為主311867.6%7
太極藝術體驗課混合型261882.3%15
誠實邊界:首批狀態為 DRAFT(工程複核,未經標註團隊二審);所有比對參考值標記 PROVISIONAL(尚未經跨域實證,評分端自動降權);非評分段落(片頭尾、講解、轉場)以時間空隙表達並逐條記錄於覆蓋率報告。