• 沒有找到結果。

建立各肢節local座標系間之階層幾何轉換關係

3、 人體模型定義

3.2. 建立各肢節local座標系間之階層幾何轉換關係

以兩個肢節L 、0 L1為例,依圖 3-1、3-2 定義出各肢節(Limb)的 local 座標系,並將 各肢節中的所有 Vertex V ,都定義在各自的 local 座標系中;而i L 、0 L1local 座標系的原 點就是 jointJ 、0 J1

J 0

V (Root Object) 0

圖 3-2 L1的 local 座標系(JointJ1為其原點,V1為其肢節的末端點)

定義 Neutral Pose(t=0 時),各肢節 local 座標系間樹狀架構之幾何轉換關係,在每個 parent 肢節與其 child 肢節之間,都各定義一組 constant transformation(可能包含 rotation 及 translation 用來表示 child 肢節的 local 座標系與 parent 肢節的 local 座標系之間的相對 關係);Root 肢節則會與 global 座標系有一組 transformation 用來表示 Root 肢節的 local 座標系與 global 座標系之間的相對關係。如此就將每個 child 肢節都定義在其 parent 肢 節上。圖 3-3、3-4 表示如何將兩肢節V 、0 V1依序表示在其 parent 肢節的 local 座標系上:

圖 3-3 將L1local 座標系移至上一層父系L0的 local 座標系 V1

V 0

V1的 local 座標系

V 的 local 座標系 0

T1

J1

V1

圖 3-4 將 Root 的L0移至上一層的 global 座標系(其 child 肢節L1隨之一起移)

如圖 3-3、3-4 所示,其肢節向量定義在各自的 local 座標系中分別可表示為V 、0 V1, 令 parent 肢節與其 child 肢節之間的 constant transformation 分別為T 、0 T1

在未旋轉時,其之間的階層性關係表示如下圖:

圖 3-5 未旋轉時,各肢節的階層性關係圖

肢節點V 中的資訊 0 T0

肢節點V1中的資訊 T1

Global 座標系 Global 座標系

T 0

V1

V0

V 的 local 座標系 0

V1的 local 座標系

若要將V 、0 V1表示在 global 座標系中,則可寫為:

global

V0 =T .0 V 0

global

V1 =T .0 T1V1

若要對肢節V 、0 V1分別旋轉θ0、θ1角度,則分別在其各自的 local 座標系中,依 fixed-angle rotation 旋轉θ0、θ1角度,旋轉時是旋轉 local 座標系中的所有物體,並不改變 local 座 標系本身;表示其階層性關係如下圖:

圖 3-6 經過旋轉時,各肢節的階層性關係圖

再以圖 3-7、3-8 說明肢節點V 、0 V1分別旋轉θ0、θ1 肢節點V 中的資訊 0

T0

肢節點V1中的資訊 T1

Global 座標系

R0

R1

先對肢節點V 旋轉0 θ0

圖 3-7 肢節點V0在其 local 座標系中旋轉θ0

V 表示在 global 座標系中,則可寫為: 0

global

V0 =T .0 R00).V 0

其中R00).V 表示將肢節點0 V 在其本身的 local 座標系中做 fixed-angle rotation0 R00)。 因此仍表示在V 本身的 local 座標系中。 0

再經過 transformation T 將旋轉後的0 V 表示在 global 座標系中, 0 寫為T .0 R00).V 。 0

旋轉θ0

V 的 local 座標系 0

V0

Global 座標系 T 0

再對肢節點V1旋轉θ1

圖 3-8 肢節點V1在其 local 座標系中旋轉θ1

V1表示在 global 座標系中,則可寫為:

global

V1 =T .0 R00).T1R11).V1

其中R11).V1表示將V1在其本身的 local 座標系中做 fixed-angle rotationR11)。 因此仍表示在V1本身的 local 座標系中。

再經過 transformation T1將旋轉後的V1表示在V 的 local 座標系中, 0 寫為T1R11).V1

V 再對其 local 座標系中的所有物體(包含0 V1)做 fixed-angle rotationR00)。 寫為R00).T1R11).V1

再經過 transformation T 將0 V1表示在 global 座標系中,

寫為T .0 R00).T1R11).V1

V1

V1的 local 座標系 旋轉θ0

V 的 local 座標系 0

V0

Global 座標系 T 0

旋轉θ 1

若每個 joints 都是 1-DOF,若肢節V 、0 V1,再分別旋轉θ0、 ′

θ1 角度,由於肢節各自的 旋轉都在其 local 座標系中進行,肢節的 local 座標系是不會改變的,因此肢節永遠是對 同一個轉軸旋轉,

原本已經過θ0V 表示在 global 座標系中,可寫為: 0

global

V0 =T .0 R00).V 0

其中R00).V 表示將0 V 在其本身的 local 座標系中做 fixed-angle rotation0 R00)。 因此仍表示在V 本身的 local 座標系中。 0

若再旋轉 ′

θ1 ,可表示為:

global

V0 =T .0 R00′).R00).V 0

其中R00′).R00)可合併為 00′+θ0) R

寫為V0global=T .0 00′+θ0)

RV 0

同理,

原本已經過θ0、θ1旋轉的V1表示在 global 座標系中,可寫為:

global

V1 =T .0 R00).T1R11).V1

其中R11).V1表示將V1在其本身的 local 座標系中做 fixed-angle rotationR11), 因此仍表示在V1本身的 local 座標系中;R00).(T1R11).V1)表示在V 本身的 local0 座標系中對所有物體做 fixed-angle rotationR00),因此這個旋轉仍表示在V 本身的 local0 座標系中。

因此若再旋轉θ0、 ′

θ1 ,可表示為:

global

V1 =T .0 R00′).R00).T1R11′).R11).V1 其中R00′).R00)可合併為 00′+θ0)

RR11′).R11)可合併為 11′+θ1) R

寫為V1global=T .0 00′+θ0)

RT111′+θ1)

RV1

由此可見先旋轉θ0、θ1再旋轉θ0、 ′

θ1 與一次旋轉θ00、θ1+ ′

θ1 是等價的。

欲依據上述方法定義一個完整的人體在 Neutral Pose 下各肢節 local 座標系及樹狀架構。

定義 Neutral Pose 為:

當各個肢節 t=0 時未對 joint 做旋轉(即角度為 0)之前的相互幾何關係圖,稱為人體 肢節的 Neutral Pose。由此一圖可看出每個肢節與其上一層次父系座標系的 constant transform matrix 為何。

再考慮由於資料是經由影像處理所得來,因此資料的準確性是有限的,而身體輪廓 較好判斷的點只有頭、手、腳這些端點是較為準確的,因此把這些端點當做是人體模型 中的 End-Effector 或是 Root;而除了這些點以外的點就較難用影像處理來判斷了,因此 就取幾個比較重要的關節做為 Root 到 End-Effector 之間的端點,並有 1DOF 與 3DOF 的 關節,以表示人體正確的動作,並使求解的複雜度不至於太高,且認為內部的關節點較 難定位,因此只考慮以人體的端點做 Root,又認為人體至少需靠單腳站立,而踩地的該 腳位置固定,因而制定了如圖 3-9、3-10 分別以左腳和右腳為 Root 的人體肢節模型,有 11 個關節點共 21 個關節自由度、4 個 End-effectors。

圖 3-9、3-10 就是本論文所定義的自然姿勢(neutral pose)時(t=0),各肢節的 local 座標系 及樹狀架構圖。

圖 3-9 以左腳為 Root 的人體模型自然姿勢

Rheel_x

Rhip_y Rhip_z x z

在關節點的自由度是 3DOF 時,為了配合 Jacobian matrix 中的每個 element 僅考慮一個 轉軸對 End-effector 位置的影響,本論文將 3-DOF 拆成 3 個 1-DOF 的座標系及其之間的 constant transform matrix = I

並且將 x-dof 與 y-dof 的肢節向量設為 0

只有 z-dof 的肢節向量是此 3DOF 肢節的肢節向量

以 Lheel 為例;hierarchical tree 順序為 Lheel_xÆLheel_yÆLheel_z 就是分別以 Lheel 肢節 local 座標系中 x、y、z 軸為轉軸的三個肢節。

如圖 3-11 所示:

Lheel_x Lknee

Lheel_y y

z Lheel_z

x

y

z x

y

z x

0 0

圖 3-11 3DOF 的肢節拆成 3 個 1DOF 的肢節之示意圖

各肢節對其 local 座標系原點的 joint 做 1-DOF 旋轉的表示式如下:

T[‧]為 Transformation,R(‧)為 Rotation。

以某一個 3-DOF 肢節node 所拆成的三個肢節i node -x-dof、i node -y-dof、i node -z-dof 為i

)] 1

相關文件