如果你想 hack 一套動態捕捉衣

Hao Tseng
6 min readSep 2, 2019

--

圖片取自:How the Teenage Mutant Ninja Turtles look without visual effects

Motion Capture 動態捕捉技術,又稱為 MoCap、動捕技術,是在電影特效製作人類或是生物動作時,不可或缺的技術。以忍者龜:變種世代來說,就是由四位真人演員穿上動捕衣,將身體的動態資訊回傳給 3D 動畫師,將動態資訊套用在忍者龜的模型上,再去做細部的修正,完成最終效果。

動作捕捉技術的起源,最早可以追溯到1999左右,有興趣的朋友可以參考此篇。本篇文章會先專注在現今最常見的兩種動態(動作)捕捉技術及原理,並分享先前專案裡嘗試製作簡易版動態捕捉設備的經驗。

1. 光學動態捕捉

可取得性:★★
價格:★★★★
使用情境:場地空間固定的表演、電影動畫動作後製
備註:需要空間來架設光學感測器

光學式動捕 Optical Motion Capture,是現在最廣泛使用在電影界的技術。比較常見的作法是在演員的臉和身體上黏貼會反光的「標記」,然後在活動場域內架設多台高速攝影機來捕捉這些標記的活動狀態,來計算拼湊出演員的連續動作。相較於其他動捕技術,光學的感測比較穩定,不會受訊號連線等因素干擾,只要被感測者的動作不要遮住身上的標記,即可順利感測。

高速攝影機架設在不同角度,系統能夠有效的去比對和計算出演員的動作並在場域中做定位,所以能夠偵測演員跳躍奔跑等動作,唯一的缺點就是移動場域比較侷限,需要在至少兩台高速攝影機的拍攝範圍內活動。另外,光學技術也能運用在捕捉臉部表情,很細部的肌肉動作都能精準捕捉。

2. 慣性(穿戴)式動態捕捉

可取得性:★★★★
價格:★★ ~ ★★★★
使用情境:戶外演出、運動選手動態紀錄、工廠人員動作紀錄
備註:無法偵測縱向位移 (例如跳躍起來的高度)

乍看之下,與光學式沒什麼不同,都是有好幾個節點在身上,但獲取動作data 的方式是由身上的感應器(sensor)傳回電腦。感應器的原理就跟手機裡的陀螺儀和三軸慣性感測器一樣,可以知道穿戴感應器的人有沒有旋轉傾斜和移動。

這種穿戴式的技術的缺點是無法偵測垂直位移,例如跳躍或是下樓梯等,身上的感測器跟接收的主機為無線連線,有時候會有感測不到及斷線的風險。可是好處是,穿戴式感測器不受任何場域的限制,在比較注重安全的工廠,或是戶外的運動場,如果要使用動態捕捉技術,一定會選用穿戴式,不能使用光學式。目前比較有名的系統為Xsens還有Notch

自己做一組 MoCap設備?

某個專案的緣故,我的夥伴顯清和我需要來自己做一套簡易的動態捕捉設備,這就是一切(苦難)的開始。

首先光學式的動捕馬上排除考慮,以專案的成本和時程(兩個月)來看,開發慣性(感應器)的比較實際。最初的想法就是:每個人身上裝 9個感應器,而每個感應器都由陀螺儀、3軸加速感應器及wifi模組組成。由於是簡易版,節點由一般常見的17個,簡化為9個。

感測器和我的朋友 Gas

軟體方面我們是用遊戲開發軟體 Unity 去做數據串接還有視覺呈現,在確定接到數據後,馬上要確定的就是數據進來是不是正確的!方法就是在場景裡面創幾個 Cube,然後將感應器的數值map到方塊上。

原本角度單位用的是歐拉角,就是單純看轉動角度,但問題馬上就來了,要怎麼讓程式知道在現實世界感應器的上方,跟虛擬場景中的方塊的上方,是同個方向?這時我們才開始研究還有另一個旋轉角度單位叫做 Quaternion 四元數,可以幫助更精準的判別方向。

下一個我們遇到的難點是,校正。由於陀螺儀感測器很敏感,很可能會因為磁場地磁的關係,方位顛倒,所以使用前最好先校正一下數值,確保感應器所認知的東南西北上下跟現實世界的東南西北上下是相同的。這部分也花了我們很多心力,想要設計一個不管怎麼動都不用重新校正的算法。

其實所有的動態捕捉系統,在裝備或是標記都就位後,都會需要一個大約30分鐘的校正過程,來校對穿戴者跟感測機器的位置,或是將身上的感測器對到人體的骨架上。一直在自己嘗試開發後,顯清和我才知道原來這件事情,這、麼、難!舉 Xsens 的動捕衣為例,我們推測身上的 17 個感測器無時無刻都在互傳資料,計算出最正確的方位,互相交叉比對找出感測方位有誤差的那個感應器,並對數據做及時修正。這一點實在太困難,最後我們採取每隔一段時間就校正一次的方式,來解決使用時間長,感測器數據會有誤差的情況。

顯清努力製造 sensor 中

結論

最後我們還是順利的完成這次的 hack,雖然過程很曲折。最大的心得就是一套動捕設備動輒300萬起跳,真的是非常合理!以下是幾點我們認為如果想要自己 hack 一套動捕設備需要注意的事情:

  1. 不只是硬體本身,計算旋轉值和校正的軟體開發也很困難
  2. 感測器數據誤差解決辦法可以從硬體和軟體雙管齊下
  3. 設定的身體節點數越多,捕捉到的動作會越流暢
  4. 不要輕易嘗試
活動現場苦惱校正中

最後分享一段測試影片:

如果有任何問題或想要多交流,我和顯清都樂於回答~

👏 拍手1-5個讓我知道你覺得不錯
👏👏 拍手5個以上讓我知道你覺得很讚讚
👏👏👏 拍手10個以上讓我知道你是我好朋友
歡迎署名轉載分享,如果有相關作品或是案例可分享,也別吝嗇在下面留言哦。

--

--

Hao Tseng

畢業於紐約大學 Interactive Telecommunications Program,現任李奧貝納 - 數位創意指導。喜歡想創意也喜歡動手做,作品看這:https://www.behance.net/haotseng/