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

from random pose parameters to a plausible pose #31

Open
JacobLiu-S opened this issue Aug 24, 2023 · 2 comments
Open

from random pose parameters to a plausible pose #31

JacobLiu-S opened this issue Aug 24, 2023 · 2 comments

Comments

@JacobLiu-S
Copy link

Dear PoseNDF team,
Thanks for your great work!
Recently I met a problem, I run the experiments/sample_poses.py trying to get the closest plausible pose from random pose parameters, by the code here;
And I increase to interations from 100 to 1000, here is what I get:
image
image
the first is the initial pose and the second is after run the code.
My problems are:

  1. if the posendf is a set of all plausible poses, why the optimization can't reach a plausible pose (although it has been improved a lot with respect to the initial one)?
  2. from my understanding, the optimization is try to find a closest point on manifold w.r.t the given pose if the given pose not on manifold, however, since I get such results, does it mean that, the points on the manifold (denoting the underlying pose) are not all plausible?.
  3. And is it possible to directly sample a plausible pose from the manifold without proving a motion file?
    Look forward to your reply!
    Thanks in advance!
@garvita-tiwari
Copy link
Owner

garvita-tiwari commented Aug 24, 2023

if the posendf is a set of all plausible poses, why the optimization can't reach a plausible pose (although it has been improved a lot with respect to the initial one)?

PoseNDF learns a manifold of plausible poses. So ideally given a random pose when you do the projection steps multiple times, you are likely to generate a realistic pose. In the case of completely random pose, this problem is more difficult, especially if such bad poses are not seen during training. The model uploaded in version2 is not trained with such poses. Please follow this random pose projection

from my understanding, the optimization is try to find a closest point on manifold w.r.t the given pose if the given pose not on manifold, however, since I get such results, does it mean that, the points on the manifold (denoting the underlying pose) are not all plausible?.

The learned distance field is not exact, but approximated. e.g. if you predict the distance value of AMASS poses, you will find non-zero small distance, which ideally should be 0. This comes from the fact, that network learns a smoother version of desired manifold. So it might happen aht the project poses, although is better than the input post, is still not realistic.

And is it possible to directly sample a plausible pose from the manifold without proving a motion file?

Yes you can generate pose, by creating a random pose

noisy_pose = torch.rand((batch_size,21,4))
noisy_pose = torch.nn.functional.normalize(noisy_pose,dim=2).to(device=device)

However, this might also result in some bad poses. This is the kind of poses you will get, by random pose projection.

Left: initial pose, RIght: Projected pose(100 steps)

image
image
image

@JacobLiu-S
Copy link
Author

if the posendf is a set of all plausible poses, why the optimization can't reach a plausible pose (although it has been improved a lot with respect to the initial one)?

PoseNDF learns a manifold of plausible poses. So ideally given a random pose when you do the projection steps multiple times, you are likely to generate a realistic pose. In the case of completely random pose, this problem is more difficult, especially if such bad poses are not seen during training. The model uploaded in version2 is not trained with such poses. Please follow this random pose projection

from my understanding, the optimization is try to find a closest point on manifold w.r.t the given pose if the given pose not on manifold, however, since I get such results, does it mean that, the points on the manifold (denoting the underlying pose) are not all plausible?.

The learned distance field is not exact, but approximated. e.g. if you predict the distance value of AMASS poses, you will find non-zero small distance, which ideally should be 0. This comes from the fact, that network learns a smoother version of desired manifold. So it might happen aht the project poses, although is better than the input post, is still not realistic.

And is it possible to directly sample a plausible pose from the manifold without proving a motion file?

Yes you can generate pose, by creating a random pose

noisy_pose = torch.rand((batch_size,21,4)) noisy_pose = torch.nn.functional.normalize(noisy_pose,dim=2).to(device=device)

However, this might also result in some bad poses. This is the kind of poses you will get, by random pose projection.

Left: initial pose, RIght: Projected pose(100 steps)

image image image

Thanks for your clarification! Really appreciate it!

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