第三章 整合感測器於上肢姿態擷取與動作追蹤
3.2 動態規劃
由於影像處理的速度較慢,當手臂動態擺動時,利用影像將無法即時的判 斷手臂動作,故在此納入動作辨識演算法,並以三軸加速度計為基礎,影像處 理輔助達到手臂動作的正確判斷,分為以下步驟:(1)訊號取樣、(2)特徵變換、
(3)計算動作序列之最長共同子序列、(4)動作相似度判斷、(5)影像輔助。
Step 1: 訊號取樣
動作辨識採用三軸加速度計 ADXL335,由前面章節 2.3.2 的介紹,可知其 輸出透過 Jennic 微控制器經由 ZigBee IEEE802.15.4 無線網路傳輸至電腦端,
取得 X、Y、Z 三軸的電壓變化,進而得到三軸各自加速度值,其範圍為±3G,
利用此數位訊號取樣,可進行下一步之特徵變換。
Step 2: 特徵變換
由訊號取樣得到X、Y、Z三軸的正負加速度值,將此三維數值所表示的一 連串動作利用笛卡兒座標系中卦限的範圍,變換至一維的動作序列,如圖 3-12 所示,目的將X、Y、Z三軸的瞬間狀態轉換至一維狀態空間,即是將一連串的 動作,變成一段序列,再依序列比對的相似性,判斷相似程度,以方便分析,
如圖 3-13 為一實際手臂上下擺動的部分轉換數值。
圖 3-12 卦限與三軸加速度值對應座標
圖 3-13 三軸加速度計轉換至一維狀態空間
Step 3: 計算動作序列之最長共同子序列
得到一連串的動作序列數值,可表示X、Y、Z三軸的特徵也可以得到動作 狀態的順序,針對此順序性的比對,且為了判斷的即時性,需要運算簡單且快 速的動態規劃演算法,本研究採用 D.S. Hirschberg 所提出的最長共同子序列演 算法 (Longest Common Subsequence; LCS) ,來計算動作序列相似的程度,可 以滿足動態辨識的功能。
LCS是一種針對序列順序性的辨識演算法,常應用在不同領域中做相似度 的比對,像是生物學上做測量序列相似度及語言訊號處理等等,其定義如式(3-10)所示。
LCS(Xi, Yj) {
0 if i 0 or j 0 LCS(Xi−1, Yj−1) 1 if xi yj Max (LCS(Xi, Yj−1), LCS(Xi−1, Yj)) if xi ≠ yj
(3-10)
28
欲求得兩序列X1 ~ Xm與Y1 ~ Yn之最長共同子序列,需將X及Y序列轉變為 二維陣列,再將兩兩元素做比對以累積 共同子序列的長度。以設定之序列 1234(m=4)與 13243(n=5)及 1324314(n=7)兩序列比對的情形為例,圖 3-14 為計 算過程與結果,並由式(3-10)可得知最長共同子序列長度之數值分別為 3 與 4, matching rate 分別為 3/4=75%與 4/4=100%。因此,得到此相似度的比率數值,
便可依據不同的應用,自行設定門檻值,達到動作辨識的功能。
Step 5: 影像輔助
由上一階段得到手臂運動趨勢的正確率,但因三軸加速度計為與地面 G 值 得到相對之加速度值,故在同一水平下的運動無法正確的辨識,如圖 3-15、3-16 所示,由三軸加速度計的動態辨識在手臂張開擺動與手臂向前擺動,將會視 為相同的結果,故此部分納入 3.1 節所提出之影像處理技術,來輔助確定上肢 運動區域的範圍,以提升動態辨識的正確性。
圖 3-15 手臂張開的上下擺動
圖 3-16 手臂向前的上下擺動
30