TwinPose 說明
Go to TwinPose Page
Table of Contents
[TOC]
What is TwinPose
TwinPose 是一個將人體舞蹈姿態通過影像辨識轉換成機械手臂的模擬編輯器,提供使用者簡單易懂的介面,以設計與機械手臂交互的舞蹈或姿勢。此專案結合了影片播放、姿態檢測、機器人模擬與數據管理功能,適合用於教學、研究或創意設計。
Features
1. 影片播放與控制
- 影片上傳與播放: 支援上傳影片進行播放,並提供進度條與播放控制功能。
- 播放控制: 快速調整音量、快進/倒退,並支援重啟影片。
- 進度條標記: 可在進度條上添加標記,快速定位特定時間點。
2. 姿態檢測與角度計算
- 姿態檢測: 使用 MediaPipe BlazePose 模型進行人體姿態檢測。
- 角度計算: 計算人體關節角度,並支援即時檢測與影片檢測。
- 鏡像模式: 支援鏡像模式,反轉角度方向。
3. 機器人模擬
- 動作映射: 將檢測到的角度映射到機器人模型,模擬動作。
- 模型切換: 支援多種機器人模型切換。
- 關節控制: 提供滑桿與數字輸入框調整機器人關節角度。
- 動畫播放: 支援動畫播放與循環播放功能。
4. 數據管理
- 數據捕捉: 捕捉並保存姿態數據,並以卡片形式顯示。
- 數據編輯: 支援數據的編輯、刪除、排序與清空。
- 自動排序: 根據時間自動排序數據卡片。
5. 數據導出與導入
- 數據導出: 將捕捉的數據導出為 JSON 格式或程式碼檔案。
- 數據導入: 支援從 JSON 檔案導入數據。
- 本地存儲: 自動保存數據至本地瀏覽器存儲。
6. 自定義群組與角度映射
- 群組管理: 支援自定義角度群組與映射範圍。
- 群組切換: 提供群組管理功能,方便切換與編輯。
7. 鍵盤快捷鍵
How to Use
1. 影片播放與控制
- 點擊「+ Select Video」按鈕上傳影片。
- 使用進度條快速定位影片時間。
- 點擊播放畫面或按下
Space
鍵播放/暫停影片。
- 使用方向鍵
←
或 →
快速調整影片進度。
- 將鼠標移動至「Scatter」上會懸浮出時間間隔長度設定框
- 當中的時間長度為移動時的單位長度
- 點擊「Restart」按鈕重置影片至起始位置。
2. 姿態檢測
- 啟用「Pose Detection」選項進行姿態檢測。
- 若要啟用鏡頭,點擊「Camera」
按鈕啟用即時檢測。
- 檢測結果將顯示於畫面上,包括左上角的人體關節角度與右上角的手臂關節映射。
- 點擊「Flip Cam」按鈕切換鏡像模式。
- 點擊「Update」按鈕可以更新姿態辨識結果,當姿態未能準確辨識時,可多次點擊該按鈕。
3. 機械手臂模擬
- 選擇右側的機械手臂模型,模擬捕捉到的動作。
- 有
Hiwin 1476
與 Hiwin 1621
兩款機械手臂可選擇。
- 使用滑桿或數字輸入框調整機械手臂關節角度。
- 在右側畫面空白處點擊滑鼠左右任意鍵拖動視角。
- 鼠標移動至機械手臂各關節上使關節反紅,點擊滑鼠左鍵拖動關節。
- 啟用「Play Animation」選項播放機器人動作動畫。
- 需有兩張以上(不同時間點)動畫卡片「關鍵幀」被新增時才能啟用。
- 啟用「Loop Animation」選項,讓動畫循環播放。
- 點擊「Home」按鈕將機器手臂關節重置為初始位置。
- 啟用「Link to Robot」選項可實時渲染姿態辨識的結果於機械手臂。
- 點擊「Lock」
按鈕鎖定模擬視角。
4. 數據管理
- 點擊「Capture」按鈕捕捉當前姿態數據,並生成對應的卡片。
- 點擊卡片上的時間輸入框,修改數據時間並自動更新排序。
- 修改時間在按下 Enter 後會自動重新排序卡片以符合時序。
- 點擊卡片上的「X」按鈕刪除該數據。
- 使用
Del
鍵可刪除所選卡片。
- 拖動卡片改變順序,時間將自動更新至前張卡片的時間。
- 點擊「Copy」按鈕複製貼上所選卡片。
- 點擊「Clear」按鈕清空所有數據。
- 點擊「Refresh」按鈕更新所有卡片順序及所選卡片中的資訊。
- 點擊「Refresh All」按鈕更新所有卡片順序及所有卡片中的資訊。
5. 數據導出與導入
- 點擊「Export」按鈕,將數據保存為 JSON 檔案。
- 點擊「Code Editor」
按鈕,開啟 HRS 程式碼編輯框,並生成程式碼。
- 點擊「Code Editor」標題欄的任意處隱藏編輯框。
- 點擊「Download」
下載程式碼。
- 點擊「Import」按鈕,選擇 JSON 檔案導入數據。
- 啟用「Local Save」開關,自動保存數據至本地瀏覽器存儲。
- 重新整理畫面,或是關閉瀏覽器後返回仍可保存設置與數據。
- 如有版本更新,建議先「Export」設定,並關閉該功能後並於重新整理按鈕上右鍵選擇第三選項「Empty Cache and Hard Reload」。
6. 自定義群組與關節映射
- 點擊「Human+」
+
按鈕開啟關節映射設定頁面。
- 「Angle Projections」欄位共 A1~A6 六軸關節。
- 點擊任意關節進入編輯映射模式。
- 關節欄位中的數字對應右側人像各關節數值。
- 點擊右側白底任意位置可清除關節設定。
- 按照順序選擇三組關節節點可產生關節角。
- 按照順序選擇四組關節節點可產生兩組骨架,關節角為其對應夾角(強制 3D)。
- 2D/3D 選項為影像中空間的計算方式。
- 2D:影片所呈現之直接夾角。
- 3D:影片中換算成三維空間之夾角。
- 點擊「Mirror」會基於人體左右對稱之關節選擇最大角度輸出。
- 點擊「update」更新關節設定。
- 關節映射鎖
- 鎖定關節實時映射,被鎖定的關節不會映射,通常用於調試關節映射參數。
- 使用方法如下:
- 在右側下方輸入群組名稱,點擊「Add」按鈕新增關節映射群組。
- 點擊群組以選擇,輸出映射會跟隨所選群組之設定。
- 新增之卡片會顯示群組名稱。
- 雙擊群組名稱以修改群組名稱。
- 單擊刪除鍵
X
詢問是否刪除。
- 雙擊刪除鍵
X
直接刪除。
- 關節映射設定的拉動條,可快速調整映射關係。
- 人體手臂圖示:人體關節姿態角度範圍。
- 機械手臂圖示:機械手臂關節角度範圍。
- 數字框可直接調整上下限的大小。
- 拉動條可快速調整映射關係。
Keyboard Shortcuts
快捷鍵 |
功能 |
Space |
播放/暫停影片 |
M |
靜音/取消靜音 |
+ |
增加音量 |
- |
減少音量 |
← |
快退 |
→ |
快進 |
Delete |
刪除當前選中的數據卡片 |
Tab |
新增數據卡片 (自動移動到下一個時間點) |
P |
啟用/停用動畫播放 |
ArrowUp |
選擇上一張數據卡片 |
ArrowDown |
選擇下一張數據卡片 |
Developer
Nick Chung