{
  "id": 5197,
  "title": "Questions about quaternion data",
  "url": "/competitions/multi-modal-gesture-recognition/discussion/5197",
  "author_name": "",
  "post_date": "2013-07-25T04:33:57.107Z",
  "votes": null,
  "comment_count": 4,
  "views": 1326,
  "content": "<p>Hello,</p>\n<p>&nbsp;</p>\n<p>In the description of the quaternion data there is some information missing which I would like clarified:</p>\n<p>&nbsp;</p>\n<p>-First, the quaternion data seems to be assigned to joints.. even though it is meant to be assigned to rigid, extended bodies. &nbsp;For example, what does the 3d orientation of an elbow mean? &nbsp;You can only really talk about the quaternion for the forearm for example. &nbsp;Do these quaternions actually refer to the orientations of nearby bones? &nbsp;Which bones?</p>\n<p>&nbsp;</p>\n<p>-In order to understand exactly what these quaternions mean, we need to know the &quot;base&quot; position for each body part, from which it is rotated to get the quaternion. &nbsp;For example, if you have a hand facing forwards with fingers up, the quaternion depends on whether the base position is e.g. the hand at &quot;rest&quot; pointing down at the person's sides, are something else. &nbsp;What are the base positions for each body part?</p>\n<p>&nbsp;</p>\n<p>Thanks.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>",
  "messages": [
    {
      "id": "27637",
      "postDate": "07/25/2013 04:33:57",
      "content": "<p>Hello,</p>\n<p>&nbsp;</p>\n<p>In the description of the quaternion data there is some information missing which I would like clarified:</p>\n<p>&nbsp;</p>\n<p>-First, the quaternion data seems to be assigned to joints.. even though it is meant to be assigned to rigid, extended bodies. &nbsp;For example, what does the 3d orientation of an elbow mean? &nbsp;You can only really talk about the quaternion for the forearm for example. &nbsp;Do these quaternions actually refer to the orientations of nearby bones? &nbsp;Which bones?</p>\n<p>&nbsp;</p>\n<p>-In order to understand exactly what these quaternions mean, we need to know the &quot;base&quot; position for each body part, from which it is rotated to get the quaternion. &nbsp;For example, if you have a hand facing forwards with fingers up, the quaternion depends on whether the base position is e.g. the hand at &quot;rest&quot; pointing down at the person's sides, are something else. &nbsp;What are the base positions for each body part?</p>\n<p>&nbsp;</p>\n<p>Thanks.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27659",
      "postDate": "07/25/2013 19:06:06",
      "content": "<p>Dear Brian,</p>\n<p>Relative to the first question, the answer is yes. The bones are (stored in the same order in the dataset):</p>\n<p>HipCenter<br>Spine<br>ShoulderCenter<br>Head<br>ShoulderLeft<br>ElbowLeft<br>WristLeft<br>HandLeft<br>ShoulderRight<br>ElbowRight<br>WristRight<br>HandRight<br>HipLeft<br>KneeLeft<br>AnkleLeft<br>FootLeft<br>HipRight<br>KneeRight<br>AnkleRight<br>FootRight</p>\n<p>&nbsp;</p>\n<p>As for the second question I would like to clarify that the bone orientations do not maintain a hierarchical relationship. It is true that often the orientations are represented as hierachical rotation structure, which provides the amount of rotation in 3D space from the parent bone to the child. However, in this dataset we have saved the absolute orientation of each bone regarding the position of the camera. The absolute rotation structure provides the orientatio of a bone in the 3D camera space.&nbsp;</p>\n<p>Feel free to ask any question.</p>\n<p>Greetings,</p>\n<p>&nbsp;</p>\n<p>Miguel Reyes Estany</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27679",
      "postDate": "07/26/2013 05:05:09",
      "content": "<p>Hi Miguel,</p>\n<p>Thanks for your response, I just require a bit more clarification:</p>\n<p>You gave me a list of &quot;bones&quot; whose orientations are stored in the quaternion data. &nbsp;But generally these things are not bones, they are joints! &nbsp;I have no idea what the elbow bone is, for example. &nbsp;The elbow is a point of intersection of two bones, and as such it is a single &quot;point&quot;, without a 3d orientation. &nbsp;What's the 3d object whose orientation is stored under (for example) the elbow slot?</p>\n<p>As to the second point, you say that the quaternions tell us the rotation which is necessary to obtain the orientation of the object, starting from a &quot;fixed camera orientation&quot;. &nbsp;What exactly is this base orientation? &nbsp;Actually, you could clear this up with an example:</p>\n<p>&nbsp;</p>\n<p>What quaternion would you associate with a left hand which is fingers up with palm towards the camera?</p>\n<p>What quaternion would you associate with a right hand which is fingers up with palm towards the camera?</p>\n<p>&nbsp;</p>\n<p>Thanks,</p>\n<p>Brian</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27713",
      "postDate": "07/27/2013 04:14:13",
      "content": "<p>I'm interested how these skeletons are obtained. Thanks.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "27827",
      "postDate": "07/30/2013 09:50:47",
      "content": "<p>Dear Brian,</p>\n<p>Apologize for not having clarified this issue before.&nbsp;Absolute orientation provides the orientation of a bone in 3D camera space. The orientation of a bone is relative to the child joint and the Hip Center joint still contains the orientation of the player/subject.&nbsp;In this case, the orientation of a bone is stored in relation to the child joint and the Hip Center joint still contains the orientation of the player.&nbsp;The rotation of the Hip Center joint provides the absolute orientation of the player in camera space coordinates. This assumes that the player object space has the origin at the Hip Center joint, the y-axis is upright, the x-axis is to the left, and the z-axis faces the camera.</p>\n<p>Below are noted the child joint of each joint:</p>\n<p>&nbsp;</p>\n<p>Spine:&nbsp;HipCenter<br>ShoulderCenter: Spine<br>Head :ShoulderCenter<br>ShoulderLeft: ShoulderCenter<br>ElbowLeft: ShoulderLeft<br>WristLeft: ElbowLeft<br>HandLeft: WristLeft<br>ShoulderRight: ShoulderCenter<br>ElbowRight: ShoulderRight<br>WristRight: ElbowRight<br>HandRight: WristRight<br>HipLeft: HipCenter<br>KneeLeft: HipLeft<br>AnkleLeft: KneeLeft<br>FootLeft: AnkleLeft<br>HipRight: HipCenter<br>KneeRight: HipRight<br>AnkleRight: KneeRight<br>FootRight: AnkleRight</p>\n<p>These are the orientation relationships for each bone (relative to the child joint and the Hip Center joint).&nbsp;These orientations are already calculated in the dataset provided, represented as a quaternion.</p>\n<p>Regarding to your questions, you should use HandRight and HandLeft quaternions.</p>\n<p>Feel free to ask any question.</p>\n<p>Greetings,</p>\n<p>&nbsp;</p>\n<p>Miguel Reyes Estany</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 27659,
      "author_name": "miguelreyesestany",
      "author_url": "",
      "post_date": "07/25/2013 19:06:06",
      "content": "<p>Dear Brian,</p>\n<p>Relative to the first question, the answer is yes. The bones are (stored in the same order in the dataset):</p>\n<p>HipCenter<br>Spine<br>ShoulderCenter<br>Head<br>ShoulderLeft<br>ElbowLeft<br>WristLeft<br>HandLeft<br>ShoulderRight<br>ElbowRight<br>WristRight<br>HandRight<br>HipLeft<br>KneeLeft<br>AnkleLeft<br>FootLeft<br>HipRight<br>KneeRight<br>AnkleRight<br>FootRight</p>\n<p>&nbsp;</p>\n<p>As for the second question I would like to clarify that the bone orientations do not maintain a hierarchical relationship. It is true that often the orientations are represented as hierachical rotation structure, which provides the amount of rotation in 3D space from the parent bone to the child. However, in this dataset we have saved the absolute orientation of each bone regarding the position of the camera. The absolute rotation structure provides the orientatio of a bone in the 3D camera space.&nbsp;</p>\n<p>Feel free to ask any question.</p>\n<p>Greetings,</p>\n<p>&nbsp;</p>\n<p>Miguel Reyes Estany</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27679,
      "author_name": "brianfeldstein",
      "author_url": "",
      "post_date": "07/26/2013 05:05:09",
      "content": "<p>Hi Miguel,</p>\n<p>Thanks for your response, I just require a bit more clarification:</p>\n<p>You gave me a list of &quot;bones&quot; whose orientations are stored in the quaternion data. &nbsp;But generally these things are not bones, they are joints! &nbsp;I have no idea what the elbow bone is, for example. &nbsp;The elbow is a point of intersection of two bones, and as such it is a single &quot;point&quot;, without a 3d orientation. &nbsp;What's the 3d object whose orientation is stored under (for example) the elbow slot?</p>\n<p>As to the second point, you say that the quaternions tell us the rotation which is necessary to obtain the orientation of the object, starting from a &quot;fixed camera orientation&quot;. &nbsp;What exactly is this base orientation? &nbsp;Actually, you could clear this up with an example:</p>\n<p>&nbsp;</p>\n<p>What quaternion would you associate with a left hand which is fingers up with palm towards the camera?</p>\n<p>What quaternion would you associate with a right hand which is fingers up with palm towards the camera?</p>\n<p>&nbsp;</p>\n<p>Thanks,</p>\n<p>Brian</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27713,
      "author_name": "waynezhang",
      "author_url": "",
      "post_date": "07/27/2013 04:14:13",
      "content": "<p>I'm interested how these skeletons are obtained. Thanks.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 27827,
      "author_name": "miguelreyesestany",
      "author_url": "",
      "post_date": "07/30/2013 09:50:47",
      "content": "<p>Dear Brian,</p>\n<p>Apologize for not having clarified this issue before.&nbsp;Absolute orientation provides the orientation of a bone in 3D camera space. The orientation of a bone is relative to the child joint and the Hip Center joint still contains the orientation of the player/subject.&nbsp;In this case, the orientation of a bone is stored in relation to the child joint and the Hip Center joint still contains the orientation of the player.&nbsp;The rotation of the Hip Center joint provides the absolute orientation of the player in camera space coordinates. This assumes that the player object space has the origin at the Hip Center joint, the y-axis is upright, the x-axis is to the left, and the z-axis faces the camera.</p>\n<p>Below are noted the child joint of each joint:</p>\n<p>&nbsp;</p>\n<p>Spine:&nbsp;HipCenter<br>ShoulderCenter: Spine<br>Head :ShoulderCenter<br>ShoulderLeft: ShoulderCenter<br>ElbowLeft: ShoulderLeft<br>WristLeft: ElbowLeft<br>HandLeft: WristLeft<br>ShoulderRight: ShoulderCenter<br>ElbowRight: ShoulderRight<br>WristRight: ElbowRight<br>HandRight: WristRight<br>HipLeft: HipCenter<br>KneeLeft: HipLeft<br>AnkleLeft: KneeLeft<br>FootLeft: AnkleLeft<br>HipRight: HipCenter<br>KneeRight: HipRight<br>AnkleRight: KneeRight<br>FootRight: AnkleRight</p>\n<p>These are the orientation relationships for each bone (relative to the child joint and the Hip Center joint).&nbsp;These orientations are already calculated in the dataset provided, represented as a quaternion.</p>\n<p>Regarding to your questions, you should use HandRight and HandLeft quaternions.</p>\n<p>Feel free to ask any question.</p>\n<p>Greetings,</p>\n<p>&nbsp;</p>\n<p>Miguel Reyes Estany</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "27637": "",
    "27659": "",
    "27679": "",
    "27713": "",
    "27827": ""
  },
  "source": "meta"
}