GithubHelp home page GithubHelp logo

Comments (4)

Nicholasli1995 avatar Nicholasli1995 commented on May 13, 2024

Hi. I want to consult something about the coordinate system.
I saw that before evolution, there is a function called to_local(), which "represents the bone vectors in the local coordinate systems"

def to_local(skeleton):

I feel confused about this part. Will the coordinate be converted from camera coordinate to local coordinate? And what's definition of local coordinate and what's the meaning of the conversion?
BTW, it will be my honour if you are willing to provide me with some references.
I am looking forward ton your reply.

Hi, each bone vector is represented in a local coodinate system. A local system is computed based on a 3D skeleton. The conversion is done with the inner product. The meaning of the conversion is: when the 3D pose is expressed in local systems, it is not affected by global rigid transformation. This makes it easier to represent a posture with joint angles.

You can take a look at section 3.1 of the paper, as well as section 7 of the supplementary material (https://arxiv.org/pdf/2006.07778.pdf)

from evoskeleton.

NoLookDefense avatar NoLookDefense commented on May 13, 2024

Thank you. I found that the angle of upper limb is limited by angle_spread

angle_spread = joint_angle_limits['angleSprd']

, and the angle of lower limb is constrained by sepPlane
sepPlane = joint_angle_limits['sepPlane']

But I feel confused about the sepPlane. As shown in the figure, it contains a list of a length 11. Some of them are empty and some of them contain a numpy array in the shape of (121, 61, 4) . In each numpy array, it has some values between [-1, 1], or nan.

I feel extremely confused about this part. The size (121, 61) may mean the quantised result of spherical coordinates, but what about the third dimension 4? Also, what's the physical meaning of the values in each numpy array (like the nan)?

I am looking forward to your reply.

Screenshot 2021-05-30 at 15 05 11

from evoskeleton.

Nicholasli1995 avatar Nicholasli1995 commented on May 13, 2024

Thank you. I found that the angle of upper limb is limited by angle_spread

angle_spread = joint_angle_limits['angleSprd']

, and the angle of lower limb is constrained by sepPlane

sepPlane = joint_angle_limits['sepPlane']

But I feel confused about the sepPlane. As shown in the figure, it contains a list of a length 11. Some of them are empty and some of them contain a numpy array in the shape of (121, 61, 4) . In each numpy array, it has some values between [-1, 1], or nan.

I feel extremely confused about this part. The size (121, 61) may mean the quantised result of spherical coordinates, but what about the third dimension 4? Also, what's the physical meaning of the values in each numpy array (like the nan)?

I am looking forward to your reply.

Screenshot 2021-05-30 at 15 05 11

That is the vector used to define the separate plane. Conditioned on the parent bone orientation, this vector defines which half-sphere is valid. After projecting the bone vector to the separate plane, there is a bounding box as the valid region. The usage is shown here:

def is_valid_local(skeleton_local, return_ang = False):

See Figure 3 and Sec 3.2 of the reference: https://openaccess.thecvf.com/content_cvpr_2015/papers/Akhter_Pose-Conditioned_Joint_Angle_2015_CVPR_paper.pdf for more details.

from evoskeleton.

Nicholasli1995 avatar Nicholasli1995 commented on May 13, 2024

For future Q&A, please use the discussion function here: https://github.com/Nicholasli1995/EvoSkeleton/discussions.
Issues are only used for bug reporting and enhancement.

from evoskeleton.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.