1
\$\begingroup\$

I need to develop an application where a user (physiotherapist) will perform a movement in front of the Kinect, I'll write the data for the movement in the database and then the patient will try to imitate this motion. The system will calculate the similarity between the movement recorded and executed.

My first idea is to store the position of the recorded points and then compare them in the execution time to the patient's movement. I know that this approach is too simple, however, because I imagine that in people of different sizes the skeleton is recognized differently, so the comparison is not reliable.

My question is about the best way to compare a saved motion with a movement executed (on the fly).

\$\endgroup\$
2
  • \$\begingroup\$ I'm doing a really similar project to this , did you have any success with it ? \$\endgroup\$
    – user27341
    Mar 12, 2013 at 16:12
  • \$\begingroup\$ yes @Ben, in fact some bugs needs to be solved, but my project works fine. If you need, i will help you. By now, read my questions on stack overflow stackoverflow.com/users/256925/ewerton?tab=questions \$\endgroup\$
    – Ewerton
    Mar 12, 2013 at 19:46

2 Answers 2

3
\$\begingroup\$

You can calibrate the Kinect before using it. Like letting the patient stretch his arms, stand straight, just let him do some predefined poses. From this data you can calculate his skeleton and then use relative data to compare it.

Another possible way would be to focus on angles at the joints. This may be a bit more unrelated to body size, but I don´t know if this can provide all the information you need.

\$\endgroup\$
3
  • \$\begingroup\$ Yes, this is the two aproaches ive ended up, but um can decide how is better. Iam thinking os create a "Normalized skeleton", record the movements based on the normalized skeleton and after, compare it with the normalized skeleton. In fact this sounds a good idea, but a have no idea how to start to develop this "normalized skeleton". \$\endgroup\$
    – Ewerton
    Oct 4, 2012 at 23:06
  • \$\begingroup\$ I think the idea of angles good too, but i projected the interface to physioterapist to choose the "joints of interest". If i use the angles aproach, i will need to change it. I think the angle can be a complimentary information to joints information. \$\endgroup\$
    – Ewerton
    Oct 4, 2012 at 23:10
  • \$\begingroup\$ mybe this helps: embedded101.com/Blogs/JamesYWilson/tabid/70/entryid/167/… \$\endgroup\$
    – floAr
    Oct 5, 2012 at 22:45
0
\$\begingroup\$

I would see this answer on SO which explains both the algorithms, code, and theory for how to do this, along with an example project.

\$\endgroup\$
3
  • \$\begingroup\$ this question was asked by me, too, and actualy this doesnt explain how to handle different skeleton sizes, or, if is better to record the joints positions or the angle between joints. \$\endgroup\$
    – Ewerton
    Oct 8, 2012 at 12:34
  • \$\begingroup\$ I think that floAr's answer explains that, and it is some pretty basic code (although a large amount of it) \$\endgroup\$
    – Kinected
    Oct 9, 2012 at 1:03
  • \$\begingroup\$ @Ewerton also the example project has the bones adjust to the current skeleton, not skewing data \$\endgroup\$
    – Kinected
    Oct 13, 2012 at 4:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .