Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about ROS Message Frame 3D Points #91

Open
epruc opened this issue Dec 11, 2023 · 1 comment
Open

Question about ROS Message Frame 3D Points #91

epruc opened this issue Dec 11, 2023 · 1 comment

Comments

@epruc
Copy link

epruc commented Dec 11, 2023

I just wanted to clarify the components of the ros messgae frame specifically, the geometry_msgs/Point32 point. My assumption is that these are the 3D coordinates of the skeleton points detected by openpose in the x,y,z world coordinate frame and that these points are ordered the same way as openpose, namely

        { 0,      "Nose"},    {13,      "LKnee"}
        { 1,      "Neck"},    {14,     "LAnkle"}
        { 2, "RShoulder"},    {15,       "REye"}
        { 3,    "RElbow"},    {16,       "LEye"}
        { 4,    "RWrist"},    {17,       "REar"}
        { 5, "LShoulder"},    {18,       "LEar"}
        { 6,    "LElbow"},    {19,    "LBigToe"}
        { 7,    "LWrist"},    {20,  "LSmallToe"}
        { 8,    "MidHip"},    {21,      "LHeel"}
        { 9,      "RHip"},    {22,    "RBigToe"}
        {10,     "RKnee"},    {23,  "RSmallToe"}
        {11,    "RAnkle"},    {24,      "RHeel"}
        {12,      "LHip"},    {25, "Background"}

Is this correct?

@ravijo
Copy link
Owner

ravijo commented Dec 12, 2023

@epruc

Is this correct?

Yes. It is correct for the BODY_25 model used in Openpose. The output is utilized for visualization, and these IDs are assigned as shown below:

const std::map<unsigned int, std::string> POSE_BODY_25_BODY_PARTS {
{ 0, "Nose"}, {13, "LKnee"}
{ 1, "Neck"}, {14, "LAnkle"}
{ 2, "RShoulder"}, {15, "REye"}
{ 3, "RElbow"}, {16, "LEye"}
{ 4, "RWrist"}, {17, "REar"}
{ 5, "LShoulder"}, {18, "LEar"}
{ 6, "LElbow"}, {19, "LBigToe"}
{ 7, "LWrist"}, {20, "LSmallToe"}
{ 8, "MidHip"}, {21, "LHeel"}
{ 9, "RHip"}, {22, "RBigToe"}
{10, "RKnee"}, {23, "RSmallToe"}
{11, "RAnkle"}, {24, "RHeel"}
{12, "LHip"}, {25, "Background"}
hand output ordering
src: https://github.com/CMU-Perceptual-Computing-Lab/openpose/raw/master/doc/media/keypoints_hand.png
We are using 5 LINE_STRIP to draw a hand
'''
self.upper_body_ids = [0, 1, 8]
self.hands_ids = [4, 3, 2, 1, 5, 6, 7]
self.legs_ids = [22, 11, 10, 9, 8, 12, 13, 14, 19]

Hope it helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants