2d关键点转bvh fbx

本文使用的方法是把关键点转换成3d关键点,然后再使用脚本转换成bvh。bvh转fbx可以直接使用blender转。

环境准备

  1. MotionBERT(2D关键点转换到3D关键点)
  2. AlphaPose(提取2D关键点)。
  3. 转换脚本,https://github.com/TnoobT/pose2bvh/tree/main

步骤

  1. 安装好AlphaPose,使用其中的脚本提取关键点,结果会保存到alphapose-results.json中。2d关键点转bvh fbx_第1张图片
  2. 使用MotionBERT把关键点转换成h36m格式的3D pose,使用如下脚本转换,结果默认保存到res/X3D.npy。2d关键点转bvh fbx_第2张图片
  3. 使用转换脚本,生成bvh
import numpy as np
from pathlib import Path
from bvh_skeleton import *

bvh_file = 'pose2bvh/out/' + 'test.bvh'
# numpy array with shape (..., 3)
pose3d_world = np.load('res/X3D.npy')
h36m_skel = h36m_skeleton.H36mSkeleton()
channels, header = h36m_skel.poses2bvh(pose3d_world, output_file=bvh_file)
  1. bvh转fbx,直接使用blender转换
    2d关键点转bvh fbx_第3张图片

你可能感兴趣的:(人工智能)