科技#pose-detection#computer-vision#mobile-ml#failure-modes

姿態偵測內部解析:從相機到骨架的技術堆疊

卓伊工程師卓伊工程師|2026年6月27日|4 分鐘閱讀
姿態偵測內部解析:從相機到骨架的技術堆疊

手機上的姿態偵測模型,本質上是三個東西穿著一件大衣。一張相機畫面被轉成張量;張量丟進一個小型神經網路,輸出大約二十個身體關鍵點的機率熱圖;第二段把熱圖再轉成 App 可以拿來畫骨架的座標。每一層都有自己的故障模式。光線太差會毀掉第一層的畫面;寬鬆衣物會讓模型混淆;背景太雜會讓追蹤斷掉。

系統(它實際上在做什麼)

姿態偵測接收影像串流,在像素空間中定位身體標誌點——肩膀、手肘、手腕、髖部、膝蓋、腳踝。在行動裝置上,整個管線都在本地執行。相機以每秒三十或六十幀的速度提供畫面,輕量級神經網路預測關節熱圖,解碼器再提取座標。輸出是一副骨架,App 可以用來做健身追蹤、AR 或手勢控制。系統並不理解解剖學;它理解的是,在成千上萬個標記範例中,與身體部位相關的亮度模式。

每一層(感測器/模型/App)

感測器

相機是入口點。它捕捉二維像素陣列,通常採用 VGA 或 720p 解析度以壓低運算量。曝光、白平衡與對焦在畫面送達模型前,由手機的 ISP 處理。跨幀不一致的曝光會偏移關鍵點信心度,快速移動造成的運動模糊會弄糊像素網格。感測器層沒有任何姿態知識;它只提供原始亮度與色度。這一層的任何缺陷都會向上傳播。

模型

行動裝置的姿態模型常採用 MobileNet 主幹,搭配 U-Net 風格的解碼器,或單純的熱圖迴歸頭。編碼器將影像壓縮成特徵圖。解碼器將該特徵圖上採樣,並為每個關鍵點產生一張熱圖——通常有十七到二十一個通道,每個通道都是像素位置上的機率分佈。軟性 argmax 或座標分類步驟再將熱圖轉換為 (x, y) 座標。有些系統,例如 MovePose,會加入轉置卷積上採樣,並使用 SimCC 進行座標預測;其他則依賴多階段修正來改善初步估計。模型在標記了關節的資料集上訓練,學習忽略衣物紋理、遮蔽與背景雜亂——到某個程度為止。

App

App 接收關鍵點座標串流,並建立骨架疊加層。它可能會套用時間平滑來減少抖動,強制執行解剖學限制,例如骨骼長度一致性,或在偵測到特定姿態時觸發事件。App 層是骨架變得可採取行動的地方。它也會浮現錯誤:漂移的腳、消失的手腕、閃爍的手肘。好的 App 會暴露不確定性,而非隱藏它。

邊緣案例(有趣的地方)

當主體面對鏡頭、手臂沒有交叉、光線均勻時,單人姿態估計運作良好。當出現多人、遮蔽或非典型視角時,事情就變得有趣。多人系統必須先偵測個體,再將關鍵點分配給每個人。由下而上的方法先偵測所有關鍵點,再依人分組;由上而下的方法則先偵測邊界框,再對每個人執行單人姿態估計。兩種策略都難以處理重疊的肢體。跨幀追蹤姿態的時間模型可以幫忙,但會引入延遲與記憶體成本。在行動裝置上,預算很緊:使用太多參數的模型會掉幀,而掉幀意味著骨架會卡頓。

什麼會壞掉(以及為什麼知道這些很有用)

姿態偵測以可預測的方式失效。低光源增加感測器雜訊,混淆編碼器的特徵提取。寬鬆或垮垮的衣物改變輪廓,導致模型將關鍵點放在布料摺痕而非關節上。紋理複雜或移動物體多的擁擠背景,可能產生虛假的熱圖峰值。當肢體被遮蔽,模型必須從可見的脈絡推斷其位置;如果脈絡模糊,關鍵點就會消失,或跳到不合理的位置。快速移動帶來運動模糊與大幅幀間位移,打破時間平滑的假設。了解這些故障模式,有助於除錯 App 或解讀骨架輸出。低光源下抖動的骨架不是模型的 bug——那是感測器的限制。側棒式時消失的手肘不是當機——那是訓練集代表性不足的遮蔽案例。只要你知道該看哪裡,系統對自身的不確定性是誠實的。

參考資料

相關文章