TwinPose

TwinPose 說明

Go to TwinPose Page

Table of Contents

[TOC]


What is TwinPose

TwinPose 是一個將人體舞蹈姿態通過影像辨識轉換成機械手臂的模擬編輯器,提供使用者簡單易懂的介面,以設計與機械手臂交互的舞蹈或姿勢。此專案結合了影片播放、姿態檢測、機器人模擬與數據管理功能,適合用於教學、研究或創意設計。


Features

1. 影片播放與控制

2. 姿態檢測與角度計算

3. 機器人模擬

4. 數據管理

5. 數據導出與導入

6. 自定義群組與角度映射

7. 鍵盤快捷鍵


How to Use

1. 影片播放與控制

  1. 點擊「+ Select Video」按鈕上傳影片。
  2. 使用進度條快速定位影片時間。
  3. 點擊播放畫面或按下 Space 鍵播放/暫停影片。
  4. 使用方向鍵 快速調整影片進度。
    • 將鼠標移動至「Scatter」上會懸浮出時間間隔長度設定框
    • 當中的時間長度為移動時的單位長度
  5. 點擊「Restart」按鈕重置影片至起始位置。

2. 姿態檢測

  1. 啟用「Pose Detection」選項進行姿態檢測。
  2. 若要啟用鏡頭,點擊「Camera」 按鈕啟用即時檢測。
  3. 檢測結果將顯示於畫面上,包括左上角的人體關節角度與右上角的手臂關節映射。
  4. 點擊「Flip Cam」按鈕切換鏡像模式。
  5. 點擊「Update」按鈕可以更新姿態辨識結果,當姿態未能準確辨識時,可多次點擊該按鈕。

3. 機械手臂模擬

  1. 選擇右側的機械手臂模型,模擬捕捉到的動作。
    • Hiwin 1476Hiwin 1621 兩款機械手臂可選擇。
  2. 使用滑桿或數字輸入框調整機械手臂關節角度。
  3. 在右側畫面空白處點擊滑鼠左右任意鍵拖動視角。
  4. 鼠標移動至機械手臂各關節上使關節反紅,點擊滑鼠左鍵拖動關節。
  5. 啟用「Play Animation」選項播放機器人動作動畫。
    • 需有兩張以上(不同時間點)動畫卡片「關鍵幀」被新增時才能啟用。
  6. 啟用「Loop Animation」選項,讓動畫循環播放。
  7. 點擊「Home」按鈕將機器手臂關節重置為初始位置。
  8. 啟用「Link to Robot」選項可實時渲染姿態辨識的結果於機械手臂。
    • 需先啟用「Pose Detection」。
  9. 點擊「Lock」 按鈕鎖定模擬視角。

4. 數據管理

  1. 點擊「Capture」按鈕捕捉當前姿態數據,並生成對應的卡片。
    • 需先啟用「Pose Detection」。
  2. 點擊卡片上的時間輸入框,修改數據時間並自動更新排序。
    • 修改時間在按下 Enter 後會自動重新排序卡片以符合時序。
  3. 點擊卡片上的「X」按鈕刪除該數據。
  4. 使用 Del 鍵可刪除所選卡片。
  5. 拖動卡片改變順序,時間將自動更新至前張卡片的時間。
  6. 點擊「Copy」按鈕複製貼上所選卡片。
  7. 點擊「Clear」按鈕清空所有數據。
  8. 點擊「Refresh」按鈕更新所有卡片順序及所選卡片中的資訊。
  9. 點擊「Refresh All」按鈕更新所有卡片順序及所有卡片中的資訊。
    • 該功能通常用於將舊版的存檔更新成新版存檔。

5. 數據導出與導入

  1. 點擊「Export」按鈕,將數據保存為 JSON 檔案。
  2. 點擊「Code Editor」 按鈕,開啟 HRS 程式碼編輯框,並生成程式碼。
    • 點擊「Code Editor」標題欄的任意處隱藏編輯框。
    • 點擊「Download」 下載程式碼。
  3. 點擊「Import」按鈕,選擇 JSON 檔案導入數據。
  4. 啟用「Local Save」開關,自動保存數據至本地瀏覽器存儲。
    • 重新整理畫面,或是關閉瀏覽器後返回仍可保存設置與數據。
    • 如有版本更新,建議先「Export」設定,並關閉該功能後並於重新整理按鈕上右鍵選擇第三選項「Empty Cache and Hard Reload」。

6. 自定義群組與關節映射

  1. 點擊「Human+」+ 按鈕開啟關節映射設定頁面。
  2. 「Angle Projections」欄位共 A1~A6 六軸關節。
    • 點擊任意關節進入編輯映射模式。
    • 關節欄位中的數字對應右側人像各關節數值。
    • 點擊右側白底任意位置可清除關節設定。
    • 按照順序選擇三組關節節點可產生關節角。
    • 按照順序選擇四組關節節點可產生兩組骨架,關節角為其對應夾角(強制 3D)。
    • 2D/3D 選項為影像中空間的計算方式。
      • 2D:影片所呈現之直接夾角。
      • 3D:影片中換算成三維空間之夾角。
    • 點擊「Mirror」會基於人體左右對稱之關節選擇最大角度輸出。
    • 點擊「update」更新關節設定。
      • 在點擊「update」前,所有更改皆不會儲存。
  3. 關節映射鎖
    • 鎖定關節實時映射,被鎖定的關節不會映射,通常用於調試關節映射參數。
    • 使用方法如下:
      • 單擊鎖定
      • 雙擊反鎖定
      • 長按僅鎖定
      • 右鍵全取消鎖定
  4. 在右側下方輸入群組名稱,點擊「Add」按鈕新增關節映射群組。
    • 點擊群組以選擇,輸出映射會跟隨所選群組之設定。
    • 新增之卡片會顯示群組名稱。
    • 雙擊群組名稱以修改群組名稱。
    • 單擊刪除鍵 X 詢問是否刪除。
    • 雙擊刪除鍵 X 直接刪除。
  5. 關節映射設定的拉動條,可快速調整映射關係。
    • 人體手臂圖示:人體關節姿態角度範圍。
    • 機械手臂圖示:機械手臂關節角度範圍。
    • 數字框可直接調整上下限的大小。
    • 拉動條可快速調整映射關係。

Keyboard Shortcuts

快捷鍵 功能
Space 播放/暫停影片
M 靜音/取消靜音
+ 增加音量
- 減少音量
快退
快進
Delete 刪除當前選中的數據卡片
Tab 新增數據卡片 (自動移動到下一個時間點)
P 啟用/停用動畫播放
ArrowUp 選擇上一張數據卡片
ArrowDown 選擇下一張數據卡片

Developer

Nick Chung