電腦視覺 - 姿態估計 - 動作辨識實戰

電腦視覺 - 姿態估計 - 動作辨識實戰

電腦不僅能知道「人在哪裡」,還能精準判斷「人在做什麼」!本篇將帶你認識姿態估計 (Pose Estimation) 技術,並以深蹲 (Squat) 動作辨識為案例,拆解從抓取骨架到計算次數的完整 AI 流程。


在前幾天的文章中,我們學習了用 YOLO 找出畫面的車子與人,並用 MOT 追蹤他們的移動軌跡。但如果我們想更進一步,讓 AI 當你的專屬健身教練,糾正你的深蹲姿勢,或是裝在醫院監控老人是否跌倒呢?

這時候,光靠一個框住整個人體的「方形 Bounding Box」是不夠的。我們需要深入人體的關節,這就是電腦視覺中極具魅力的領域:姿態估計 (Pose Estimation)動作辨識 (Action Recognition)


一、 什麼是姿態估計 (Pose Estimation)?

姿態估計 的核心任務,是從影像中找出人體的「關鍵點 (Keypoints)」。通常 AI 會將人體拆解成 17 到 33 個不等的關鍵點(例如:鼻子、左右肩膀、手肘、手腕、臀部、膝蓋、腳踝等)。

要注意的是,這一步**純粹依賴「深度學習 (Deep Learning/CNN)」**來完成。模型透過大量標註過關節位置的圖片進行訓練,學會在各種背景下精準預測出關節的 (X, Y) 座標。

目前業界用來「抓骨架」的主流深度學習框架有:

  1. OpenPose (2017):卡內基梅隆大學 (CMU) 開源的經典神作,是第一個能即時進行多人姿態估計的系統,奠定了整個領域的基礎。
  2. MediaPipe (Google):目前最受歡迎的輕量級框架。它不僅能抓全身骨架,還能抓手指關節 (Hand Tracking) 與臉部網格 (Face Mesh)。因為極度輕量,甚至能直接在手機或網頁瀏覽器上流暢執行。
  3. YOLO-Pose / YOLOv8-Pose:將姿態估計直接整合進 YOLO 的超高速架構中,成為目前工業界在邊緣運算設備上的首選。

二、 實戰拆解:從「抓骨架」到「算深蹲次數」

找出骨架只是第一步,我們的最終目標通常是 「動作辨識」(例如:AI 怎麼知道我正在深蹲?深蹲了幾次?)。

為了讓大家更清楚這兩階段的完美分工,我們可以用以下的 AI Pipeline 流程圖來表示:

Loading Diagram...

接下來,我們用 Python 寫了一支視覺化程式,模擬一個「AI 健身計數器」的完整運作流程:

姿態估計與深蹲辨識

1. Raw Video Frame (原始畫面)

這是攝影機拍到的真實影像。對電腦來說,這只是一堆沒有意義的像素。

2. Pose Estimation (姿態估計)

我們將影像送進如 MediaPipe 等模型。AI 會輸出每個關節的 (X, Y) 座標。我們將這些座標連線起來,就會得到圖中綠色與紅點構成的 虛擬骨架 (Skeleton)。到這一步,AI 知道了你的四肢確切位置。

3. Action Recognition (動作辨識與邏輯)

有了這些精準的 (X, Y) 座標,我們就能寫數學邏輯來判斷動作了! 以「深蹲 (Squat)」為例:

  • 計算角度:我們抓出 臀部 (Hip)膝蓋 (Knee)腳踝 (Ankle) 這三個點的座標,利用高中的三角函數(向量內積)算出「膝蓋的彎曲角度」。
  • 狀態判斷
    • 如果 角度 < 90度 ➡️ 判定為 State: DOWN (深蹲到底)。
    • 如果 角度 > 160度 ➡️ 判定為 State: UP (站直)。
  • 計數邏輯:只要捕捉到狀態從 DOWN 變成 UP,左上角的計數器 (Reps) 就會 +1

三、 動作辨識的三大主流方法

在剛剛的深蹲例子中,我們使用的是第一種方法,但在真實世界的複雜場景中,有以下三種常見的做法:

  1. 幾何規則法 (Heuristics / Angle Calculation): 像剛剛計算膝蓋角度一樣。優點是速度極快、100% 準確(只要骨架抓得準),且不需要訓練數據。適合深蹲、伏地挺身等規則明確的運動。
  2. 機器學習分類器 (Machine Learning Classifiers): 將抓出來的 33 個關節座標,丟給 SVM 或隨機森林 (Random Forest) 等傳統機器學習模型,讓模型自己學會分辨「站立」與「跌倒」的座標分佈差異。
  3. 時序神經網路 (ST-GCN / LSTM): 有些動作(如「揮手」或「走路」)不能只看單一瞬間的照片,必須看連續幾秒的骨架變化。這時會使用能處理時間序列的深度學習模型,來理解連續的動作語意。

四、 總結

Pose Estimation (抓骨架) 加上 Action Recognition (寫邏輯/套模型),是目前電腦視覺最能與人類產生實體互動的技術。從健身 App 自動幫你算次數、AI 體育賽事自動計分、到獨居老人防跌倒警報系統,這套 Pipeline 正悄悄改變著我們的生活方式!