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

Minor questions about AxisLayerFK #5

Closed
walsvid opened this issue Apr 24, 2023 · 1 comment
Closed

Minor questions about AxisLayerFK #5

walsvid opened this issue Apr 24, 2023 · 1 comment

Comments

@walsvid
Copy link

walsvid commented Apr 24, 2023

Hi @lixiny , thanks for your great work! I have some minor questions about AxisLayerFK.

  1. Could you please explain the abbr. in axislayer.py (e.g. TMPL_R_p_a)? What is the full namep and a.

  2. The thumb of the AxisAdaptiveLayer initially selected (1,1,1) as the basis of manual selection for subsequent orthogonalization. Does this choice affect the overall local basis of the final Anatomy?

  3. I noticed that the plausibility of AxisLayerFK output depends on the local coordinate frames of AxisAdaptiveLayer. AxisAdaptiveLayer is constructed based on pose==0, shape==0. Does the shape affect the positional relationship of MANO's fingers in the rest pose? For example, very extreme big hands or small hands. Will the gap between the basis obtained by initializing with shape=0 and the actual anatomy basis(with shape!=0) affect the rationality of the local euler angle output by AxisLayerFK?

@lixiny
Copy link
Owner

lixiny commented Apr 28, 2023

Thanks for your interest in our work!

  1. The MANO model has provide a set of coordinate basis. Our contribution is to define a transformation from the MANO predefined local basis to the local basis corresponding to anatomical relations. This transformation is independent of the pose and is therefore solved only once, for the zero pose and mean shape. It can then be used as a fixed value, denoted as TMPL_R_p_a in the AxisLayerFK module (where "p" is an abbreviation for "predefined" and "a" is an abbreviation for "anatomy").
    With this transformation, we can decompose the rotation of the child in relation to the parent in any pose into the rotations of [the child in relation to the anatomy frame] and of [the anatomy frame in relation to the parent's predefined frame] (constant). We supervise the rotation of [the child in relation to the anatomy frame] to prevent abnormal twisting rotations (e.g., rotations around the (1,0,0) twist axis).

  2. The direction of the upper axis of the thumb, (1,1,1), was determined using empirical knowledge and may not align precisely with anatomy. However, the design of our loss mechanism was intended to serve as a complementary constraint during the process of optimizing pose, and this design is satisfactory for our needs.

  3. We acknowledge that the basis obtained through this method may not be appropriate for extreme shapes. As an intuitive workaround, we propose modifying the initialization function of the AxisLayerFK module to replace the tmpl_shape parameter with the shape obtained from network prediction or ground truth, while retaining all other components of the function.

Lixin.

@lixiny lixiny pinned this issue Apr 28, 2023
@lixiny lixiny closed this as completed May 19, 2023
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