{
  "id": 683625,
  "title": ".npy structure",
  "url": "/competitions/motion-s-hierarchical-text-to-motion-generation-for-sign-language/discussion/683625",
  "author_name": "",
  "post_date": "2026-03-21T10:32:20.302668700Z",
  "votes": 1,
  "comment_count": 2,
  "views": 0,
  "content": "<p>Could you elaborate, please, are you using Motion-X format for presenting 668 features in .npy files? If no, can u provide the script how you got the features from SMPL-X parameters. Thanks in advance!</p>",
  "messages": [
    {
      "id": "3425816",
      "postDate": "03/21/2026 10:32:20",
      "content": "<p>Could you elaborate, please, are you using Motion-X format for presenting 668 features in .npy files? If no, can u provide the script how you got the features from SMPL-X parameters. Thanks in advance!</p>",
      "rawMarkdown": "Could you elaborate, please, are you using Motion-X format for presenting 668 features in .npy files? If no, can u provide the script how you got the features from SMPL-X parameters. Thanks in advance!",
      "votes": null
    },
    {
      "id": "3426779",
      "postDate": "03/23/2026 07:51:55",
      "content": "<p>We did not use Motion-X format. We first converted the SMPL-X parameters to BVH using the same logic as this smpl2bvh script, extracting rotations and root translation from the .npz/.pkl files and writing them into a BVH skeleton with 55 joints. We then stitched per-word BVH clips into per-sentence BVH files with smooth blending at transitions, and ran a HumanML3D-style feature extraction pipeline:</p>\n<p>Forward kinematics → global joint positions\nFloor alignment (character placed on ground plane)\nForward-direction extraction + Gaussian smoothing\nRoot rotation canonicalization (all poses face Z+)\nFeature concatenation:\n4D root - angular velocity (1D) + X/Z linear velocity (2D) + height (1D)\n330D rotations - all 55 joints in 6D continuous rotation representation (Zhou et al. 2019)\n165D positions - root-invariant joint positions (55 × 3)\n165D velocities - frame-to-frame joint velocities (55 × 3)\n4D foot contacts - binary contact labels for left/right ankle and foot\nTotal: 4 + 330 + 165 + 165 + 4 = 668</p>",
      "rawMarkdown": "We did not use Motion-X format. We first converted the SMPL-X parameters to BVH using the same logic as this smpl2bvh script, extracting rotations and root translation from the .npz/.pkl files and writing them into a BVH skeleton with 55 joints. We then stitched per-word BVH clips into per-sentence BVH files with smooth blending at transitions, and ran a HumanML3D-style feature extraction pipeline:\n\nForward kinematics → global joint positions\nFloor alignment (character placed on ground plane)\nForward-direction extraction + Gaussian smoothing\nRoot rotation canonicalization (all poses face Z+)\nFeature concatenation:\n4D root - angular velocity (1D) + X/Z linear velocity (2D) + height (1D)\n330D rotations - all 55 joints in 6D continuous rotation representation (Zhou et al. 2019)\n165D positions - root-invariant joint positions (55 × 3)\n165D velocities - frame-to-frame joint velocities (55 × 3)\n4D foot contacts - binary contact labels for left/right ankle and foot\nTotal: 4 + 330 + 165 + 165 + 4 = 668",
      "votes": null
    },
    {
      "id": "3430293",
      "postDate": "03/28/2026 07:36:52",
      "content": "<p>Thank you for providing this information!</p>",
      "rawMarkdown": "Thank you for providing this information!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3426779,
      "author_name": "antonygithinji",
      "author_url": "",
      "post_date": "03/23/2026 07:51:55",
      "content": "<p>We did not use Motion-X format. We first converted the SMPL-X parameters to BVH using the same logic as this smpl2bvh script, extracting rotations and root translation from the .npz/.pkl files and writing them into a BVH skeleton with 55 joints. We then stitched per-word BVH clips into per-sentence BVH files with smooth blending at transitions, and ran a HumanML3D-style feature extraction pipeline:</p>\n<p>Forward kinematics → global joint positions\nFloor alignment (character placed on ground plane)\nForward-direction extraction + Gaussian smoothing\nRoot rotation canonicalization (all poses face Z+)\nFeature concatenation:\n4D root - angular velocity (1D) + X/Z linear velocity (2D) + height (1D)\n330D rotations - all 55 joints in 6D continuous rotation representation (Zhou et al. 2019)\n165D positions - root-invariant joint positions (55 × 3)\n165D velocities - frame-to-frame joint velocities (55 × 3)\n4D foot contacts - binary contact labels for left/right ankle and foot\nTotal: 4 + 330 + 165 + 165 + 4 = 668</p>",
      "votes": null,
      "replies": [
        {
          "id": 3430293,
          "author_name": "maksimrazantsau",
          "author_url": "",
          "post_date": "03/28/2026 07:36:52",
          "content": "<p>Thank you for providing this information!</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "3425816": "Could you elaborate, please, are you using Motion-X format for presenting 668 features in .npy files? If no, can u provide the script how you got the features from SMPL-X parameters. Thanks in advance!",
    "3426779": "We did not use Motion-X format. We first converted the SMPL-X parameters to BVH using the same logic as this smpl2bvh script, extracting rotations and root translation from the .npz/.pkl files and writing them into a BVH skeleton with 55 joints. We then stitched per-word BVH clips into per-sentence BVH files with smooth blending at transitions, and ran a HumanML3D-style feature extraction pipeline:\n\nForward kinematics → global joint positions\nFloor alignment (character placed on ground plane)\nForward-direction extraction + Gaussian smoothing\nRoot rotation canonicalization (all poses face Z+)\nFeature concatenation:\n4D root - angular velocity (1D) + X/Z linear velocity (2D) + height (1D)\n330D rotations - all 55 joints in 6D continuous rotation representation (Zhou et al. 2019)\n165D positions - root-invariant joint positions (55 × 3)\n165D velocities - frame-to-frame joint velocities (55 × 3)\n4D foot contacts - binary contact labels for left/right ankle and foot\nTotal: 4 + 330 + 165 + 165 + 4 = 668",
    "3430293": "Thank you for providing this information!"
  },
  "source": "meta"
}