我目前的流程是这样的
我使用 Azure-Kinect SDK v1.41 附带的 k4arecorder 录制了两个 MKV 视频。
在第一个中,该人处于 T 姿势,在第二个中,他们正在做一些动作。
然后,我使用 Microsoft/Azure-Kinect-Samples/body-tracking-samples 中的 offline_processor 将这两个视频转换为 JSON 对象。对于每一帧,JSON 包含 x、y、z 位置,其中 z 相对于相机位置,y+ 指向下方以及每个关节的四元数方向
对于 T-Pose json 对象,我提取了 T-Pose 完美的 1 帧位置和旋转。然后,我将此 JSON 对象解析为两个位置和方向的 pandas 数据帧。方向被转换成欧拉角。
对于第二个“运动”Json 对象,我将其解析为另外两个 pandas 数据帧。在第一个中,每一帧是一行,列的形式是
joint_1.x, joint_1.y, joint_1.z ... joint_n.x, joint_n.y, joint_n.z
在方向矩阵中,每一行也是一个框架,列是格式
joint_1.z, joint_1.y, joint_1.x ... joint_n.z, joint_n.y, joint_n.x
我想知道的是:
如何从所有坐标都在全局空间中的这 4 个矩阵转到 BVH 文件。我尝试了许多解决方案,但都失败了。
我在此过程中缺少一些基本逻辑,如果有人可以提供帮助,我将不胜感激。任何语言的任何代码解决方案也值得赞赏