0

I would like to ask if anyone knows how to convert/combine x,y,z euler angles into ONE value? Is there any function for this? I've searched but I found the conversion into matrices or quaternions, but these output more than one value (i.e. rotations and vector). Am I correct?

I'm trying to input data to SPSS for statistical analysis for gesture recognition, and I insert for each joint 3 columns (x,y,z rotation) but I want to have ONE column for each joint and hence ONE value in order to analyze and classify them correctly.. Any suggestions?

Thank you very much! With regards

  • If you get no useful answers and you wish to start from somewhere, check out this article: http://stackoverflow.com/questions/919612/mapping-two-integers-to-one-in-a-unique-and-deterministic-way Try to live with the hashing/bijective mapping cost, and prepare to have a HUGEINT type in a pocket. – Dyin Nov 12 '13 at 09:45
  • Mapping nD to 1D, through dovetailing or Hilbert curves or what-have-you, will produce numbers which are utterly useless for classification. – Sneftel Nov 12 '13 at 09:46

1 Answers1

-2

Rotation data is three-dimensional, not one-dimensional. There are certainly ways to boil the data down to one number (take its CRC32, for instance), but they will lose information and lead to poor classification accuracy.

Why do you want only one scalar column for each joint? It's not at all unusual to have multiple "features" associated with a single "thing". Try it out -- euler angles aren't great for classification, but the multidimensionality is intrinsic to your data, and not something to run away from.

Sneftel
  • 40,271
  • 12
  • 71
  • 104
  • This is not an answer! – Dyin Nov 12 '13 at 09:45
  • How so? I've told the OP that (a) he could use CRC32 for this, and (b) not to do it. – Sneftel Nov 12 '13 at 09:50
  • Well just to clarify, of course I don't want to have poor classification and for this reason I consider that I have to do something with my data (rotations). Also the system that I use for recording uses gimbal lock three-dimensional mechanism and I tried to insert only one rotation, for example x rotations for each joint but the gestures depends crucially on all the three-dimensions..I don't know if you understood what I'm trying to say..Thank you very much! – user2982529 Nov 12 '13 at 09:59
  • One thing you might consider is boiling it down to one dimension, by considering each joint rotation in terms of its parent joint, discarding the twist axis, and keeping only the cosine of the residual rotation. You might also consider using positions (instead of rotations) as the input to your classification system. That requires more work to register and align the points properly, but I've found that it's a more reliable representation for classifying gross motion than parent-relative joint angles are. – Sneftel Nov 12 '13 at 10:39
  • Well I tried the second one without success, so could you please send me more information of how to proceed with the first one, the parent-relative joint? There is a hierarchical structure between the joints but how do I start with what you proposed? I'm novice in statistics..is there any function through spss or do I have to do something before inserting my data? Thank you once more! – user2982529 Nov 12 '13 at 10:56
  • I'm not familiar with SPSS, but I assume it would be a postprocess. Basically, considering each limb as a line segment, all you want to keep is the cosine of the angle between the two line segments meeting at a joint; that is, the dot product of their direction vectors. Another option would be the computing the joint angle with respect to a particular global axis (probably towards the camera). – Sneftel Nov 12 '13 at 10:59