Get the human body part label from OpenNI rather than skeleton joint?

172 views
Skip to first unread message

Tsung

unread,
Sep 25, 2012, 3:14:23 AM9/25/12
to openn...@googlegroups.com
Hi, all,
Since OpenNI can provide us the human skeleton joints and user labels using some generator, now I am wondering if I could get the pixel label about the body part? So I could directly recognize which part of the depth image pixels are belonging to the arm or leg...I am not so familiar with that, hope one could give me some advice.

Best wishes
Thanks , Tsung

Tayyab

unread,
Sep 25, 2012, 5:29:45 PM9/25/12
to openn...@googlegroups.com
hi,
you get the pixel labelling only whether its a foreground or a background. Like for user 1 each pixel will be numbered 1 and 0 for the background. You dont get labellings for different parts of the body. 

Cheers
Tayyab

Tsung

unread,
Sep 26, 2012, 1:15:43 AM9/26/12
to openn...@googlegroups.com
Hi, Tayyab,
Thanks for your reply. But I am wondering how the OpenNI deduced the skeleton joint from the depth map ? I know Kinect SDK use a machine learning method for matching the user part to a large already known database, and then deduced the user skeleton joint and user label.

Dan

unread,
Sep 26, 2012, 4:57:35 PM9/26/12
to openn...@googlegroups.com
The NITE skeleton algorithms aren't publically documented to my knowledge.

A simple way to determine which pixels are which might be the following:
  • For each bone, construct a line segment between the two joints.
  • For each pixel, compute the distance to each bone.
  • Associate each pixel with the bone the shortest distance away.

This would work well for all limb chains. It would break down a bit with pixels in the torso. Off the top of my head, I can think of a number of good heuristics such as having a distance limit around each bone which can be much bigger for the torso. That's still not perfect though.

dba

Reply all
Reply to author
Forward
0 new messages