wyysf-98 / GenMM

Apache License 2.0
246 stars 16 forks source link

About locomotion variations #15

Open abassino opened 2 months ago

abassino commented 2 months ago

Hello and congratulation for this amazing work. I have tried to generate some results for locomotion animation using the walk animations from: https://github.com/PeizhuoLi/ganimator/tree/main/data/Xia However, the results (result_from_single_sequence and result_from_two_sequences_proud_and_normal_walk) i get with the default config parameters are not as good as the one shown in your demo video on locomotion (Locomotion). The generated variations, from single sequence and from multiple sequences (proud.bvh and normal.bvh), both contain slowing motion issue in the middle, and also heavy foot sliding issues. There is also an issue with the root joint returning to the start position when use_velo is set to false (result from two sequences with use_velo set to false).

So i would like to know:

  1. what would be your recommendation(s) to properly generate variations for locomotion, from both single and multiple sequences examples?
  2. how to the address the issue or the root returning back to start position when use_velo is set to false?

Thank you in advances! Best regards,

1_walk_normal_use_velo_true 2_walk_proud_and_normal_use_velo_true 3_walk_proud_and_normal_use_velo_false

wyysf-98 commented 2 months ago

Hello, thank you very much for your attention to our work. Our work is not focused on locomotion, but rather on exploring more variations within a complex motion sequence (such as dance) with self-similarity. Locomotion does not have as many transition time points, and the phase features of locomotion are also very important for visual results. Currently, for this type of data like locomotion, I believe we can try the following aspects to achieve better results:

  1. Increasing the Length of Input Sequences: As you mentioned, having input sequences as long as possible, ideally over 500 frames, could be beneficial. This allows our algorithms to identify a sufficient number of transition points to regenerate new motions. To achieve this, you might consider repeating the input motion sequences, concatenating more actions, or collecting longer data.

  2. Adjusting Patch Size and Completeness Parameters: By fine-tuning parameters such as patch size and completeness, we can achieve better results for periodic motions.

Regarding "use_velo," it refers to generating the velocity of the root joint. When this value is set to false, we predict its position in the world coordinate system, as the position of the motion may experience sudden changes. If you want to implement the feature of "returning back to the start position," a simple method may not suffice, because this is related to the path of motion, and as shown in the video, we cannot precisely control the generated path—it is randomly sampled. From your results, it can be observed that if a strict requirement is imposed for the starting and ending positions of the generated action sequence to be identical, a sudden change will occur. This is also another important research direction in the field of motion generation.

I hope my answer has been helpful to you.

abassino commented 2 months ago

Thank you very much for your prompt reply and for the clarification. Regarding the first point to get better results with locomotion in general, i will try to experiment with different hyper-parameters as you suggested. However, it is also worth mentioning that the locomotion examples i used are not periodic (non-loop animation).

On the second point (setting use_velo to false), I think there was misunderstanding. My intention is not to get back to the initial position , but rather to avoid it. Unfortunately the character automatically attempt to get to the initial start position when use_velo is set to false, and even when loop parameter is set to false in the config file. Ideally, the result should be similar to what we get when use_velo is true, with the character keeping moving forward for a walk forward example animation.

Thank you once again for your inputs.

Best regards