‹ Demo 主頁方法實證
實驗於 2026-08-04 真實實驗數據・非模擬

方法實證:三支代表影片的完整證據鏈

在蓋標註系統之前,先用真實課程素材回答一個問題:「從影片自動算出動作標註草稿」這條路走不走得通。本頁所有畫面與數字都是實際跑出來的結果——與互動 Demo 的模擬畫面不同。

我們做了什麼

六步處理鏈,全程在單機(Apple M5 Pro)完成,無外部算力。
① 取得影片課程 API 依 courseId 回 HLS 串流,ffmpeg 直拉 480p 全片三支共 66 分鐘
② 2D 姿勢估計MediaPipe pose_landmarker_full 逐幀 33 關鍵點+可見度118,544 幀・約 137 fps
③ 身體座標正規化原點=髖中心、尺度=肩寬——鏡頭遠近不影響數值ADR-0010
④ motionEnvelope關鍵點速度合量=「此刻動得多用力」;含可見度閘控+尖刺裁剪一階量穩健通道
⑤ 節拍與靜止20 秒滑窗正規化自相關(ACF)抓節拍;低能量比例算靜止ADR-0015
⑥ 地面真相對照依偵測結果回原片抽幀,肉眼驗證「數字=畫面」本頁蒙太奇
對應設計文件:《影片標註系統架構設計》§1.2 共用描述子(一階量穩健通道為主路徑)、§4 離線處理管線;《系統架構決策紀錄》ADR-0010(共用描述子序列)、ADR-0015(MAF 由影片推導——本實驗直接檢驗其核心假設)。

三支代表影片

設計文件要求 CYCLIC/HOLD/FLOW 三種動作結構型態各一支——這是動作的「結構分類」(怎麼動),不是運動項目分類。
CYCLIC 循環銀髮族健康操19.8 分鐘・courseId 1742178…1251
反覆節奏動作(踏步、拍手、側踢)——評分看「節拍跟上沒、次數對不對」。挑它因為節奏最明確。
HOLD 靜態維持初階瑜珈體位法 1(英雄1&英雄2)20.2 分鐘・courseId 1742191…1191
進入姿勢→撐住→離開——評分看「撐住的區間與穩定度」。英雄式是教科書等級的靜態維持。
FLOW 連續流動太極藝術體驗課25.8 分鐘・courseId 1742804…1321
連續緩慢、不重複的動作串——評分看「流程走到哪、轉折對不對」。清單中唯一太極主分類課程。

指標與圖表怎麼讀

下面三個證據區共用同一組指標與同一種圖表版式——先看懂這一卡,三區都能自己讀。
五張數據卡:
幀偵測率——AI 有在畫面中抓到人的比例(幀=每秒 30 張的單張畫面);越高代表資料越少空洞
處理速度 fps——電腦每秒能分析幾張畫面;30 fps=與播放同速(實時),越高越省時間
腕關鍵點平均可見度——AI 對「手腕在哪」的信心分數(0–1);手腕=學員未來戴 B20 手環的位置,是最關鍵的關鍵點
週期段節拍中位數——規律段落偵測到的動作頻率中位數(Hz=每秒次數;1 Hz≈跟著 60 拍/分的音樂一拍一動)
具週期性的窗比例——全片切成 20 秒觀察窗後,呈現規律重複的窗佔比;三種課程型態主要靠它分家
三聯圖(三張共用 X 軸=影片時間・秒,垂直對齊=同一瞬間):
上排 motionEnvelope(動作強度)——Y=那一刻全身動得多用力(相對值);高=激烈、低平=沒動、規律鋸齒=重複動作
中排 腕可見度——Y=0–1 信心分數;往下的深谷=遮擋瞬間,就是標註 UI 該標黃/紅、請人多看一眼的位置
下排 節拍軌——Y=每個 20 秒窗的動作頻率(Hz);點的顏色=periodicity(週期性強度,越亮越確定);亮點連成水平帶=一段穩定節奏的動作
自相關(ACF)圖:把訊號跟「平移 lag 秒後的自己」比相似度(Y 軸 1=完全重合)。動作每 T 秒重複一次,lag=T 處就會出現高峰——主峰位置=偵測週期;半週期處的次峰=左右對稱動作的諧波,正是 UI 要保留「格點平移+人工確認」的原因。

證據一:CYCLIC — 銀髮族健康操

99.0%幀偵測率
138.8 fps處理速度(4.6× 實時)
0.87腕關鍵點平均可見度
0.993 Hz週期段節拍中位數
41%具週期性的窗比例
原片與骨架疊圖對照
原片(左)vs 2D 骨架疊圖(右)——弓箭蹲伸展動作,骨架準確貼合;被軀幹遮住的手臂正確地「不亂畫」(可見度閘控生效)。橘點=手腕,就是未來要對應 B20 手環的位置。
motionEnvelope 與節拍軌
全片 motionEnvelope(上)/腕可見度(中)/節拍軌(下)——運動段的波形呈規律振盪;節拍軌在主運動段穩定聚在 1.0 Hz 帶(亮色點=高週期性)。講解與休息段沒有節拍,正確地測不到。
最佳窗 ACF
最佳週期窗的自相關——橘色節拍格點與波峰逐拍對齊;ACF 在偵測週期處有明確峰值。這就是標註 UI「節拍格點疊波形」小圖的真實資料版。
一個週期抽幀
地面真相:一個偵測週期(1.00 秒)內等距 5 幀——首尾兩幀同相位,中間反相。畫面字卡的動作名與偵測節拍一拍一動吻合。
判讀:節拍偵測在真實素材上成立,精度遠優於 M0 閘門「頻率誤差中位數 <10%」的量級。CYCLIC 段的 tempo_hz/expected_reps 自動候選可行。

證據二:HOLD — 初階瑜珈體位法

98.8%幀偵測率
137.7 fps處理速度
0.82腕可見度
81.7%靜止比例(全場最高)
18%具週期性的窗比例(全場最低)
hold 蒙太奇
地面真相:低活動窗內每 4 秒抽 1 幀(跨 16 秒)——單腳平衡式在五幀裡幾乎一模一樣。「envelope 低平=正在 hold」成立,這就是 hold 起訖自動候選的依據。
hold envelope
全片波形——與健康操完全不同的面貌:長段低平(維持姿勢)夾著短暫爬升(換姿勢)。低平段=hold 候選、爬升段=ENTER/EXIT,結構清晰可切。
hold 骨架對照
原片 vs 骨架——瑜珈姿勢的追蹤品質。寬鬆衣物與側身姿勢會讓腕可見度略降(0.82 vs 健康操 0.87),這正是標註 UI 信心度三色要標黃、請人多看一眼的段落。
判讀:HOLD 的訊號特徵(高靜止比、低週期性)與 CYCLIC 清楚分離;靜止偵測可直接支撐 hold_intervals 自動候選。

證據三:FLOW — 太極藝術體驗課

95.8%幀偵測率
135.4 fps處理速度
0.90腕可見度
66.8%靜止比例
25%具週期性的窗比例
flow 蒙太奇
地面真相:連續流動窗內每 3 秒抽 1 幀——每一幀姿勢都不同、又都是緩慢演進,沒有重複循環。這就是 FLOW 的定義:評分不看節拍,看「流程推進與轉折」。
flow envelope
全片波形——介於兩者之間的第三種面貌:低頻連續起伏、少有清晰週期、也不像 HOLD 長段死平。速度低點(波谷)就是 boundary 候選的來源。
flow 骨架對照
原片 vs 骨架——太極的緩慢大動作追蹤穩定,腕可見度反而是三支中最高(0.90)。偵測率略低(95.8%)來自片頭片尾的無人畫面,屬正常。
判讀:FLOW 呈現獨立的第三種訊號面貌。boundary 自動候選(速度低點)有訊號基礎,但如文件預期,是三型態中最需要人工複核的。

三種型態,三種訊號面貌

同一條管線、同一組指標,三種動作結構自動呈現可區分的特徵——這就是「kind 自動判別」(文件 §4 segment 候選)的可行性證據。
指標CYCLIC 健康操HOLD 瑜珈FLOW 太極判讀
具週期性的窗比例41%18%25%CYCLIC 顯著最高——節拍是它的簽名
靜止比例66%82%67%HOLD 顯著最高——長段不動是它的簽名
週期段節拍集中度1.0 Hz 緊聚散亂散亂只有 CYCLIC 有穩定、可信的節拍
幀偵測率99.0%98.8%95.8%三支皆足夠;教學影片是 pose 理想場景
腕平均可見度0.870.820.90單腕對應的關鍵點品質全數可用
誠實邊界:本實驗是「影片端單邊」驗證——證明影片可以穩定算出這些描述子與候選。「影片端與 B20 手環端算出的描述子是否一致」屬 M0 跨域驗證,需要 B20 實機同步錄製,尚未執行。另:週期段節拍存在半週期諧波歧義(左右對稱動作),由每課程的搜索頻帶+標註 UI 的格點平移/人工確認解決——設計文件已內建此機制,本實驗印證其必要性。

工程結論