diegothomas/Avatar-generation-3DRW2019-

Corrupted model after conversion by Blendshape maker

Closed this issue · 4 comments

Hi Diego,

I am using blendshape maker to transfer blendshapes with different source and avatar 3D model (Other than the models you shared in the repo). I found that it doesn't work with my target model. The transferred neutral model is corrupted somehow. At the beginning, I thought it's because the inaccurate landmark labelling. However, after I relabelled landmarks with greater care, the issue still exists. Do you have any suggestions? The issue is shown as the folloing pictures.
1640400284616-508a12e4-b7b0-48a0-833d-50e12bc600c7
1640499948318-61e3b4b1-dc37-4141-aa46-0206aa937ca2

After refining some landmarks:
1640587325717-5b041f21-4906-4cca-ac39-0d05860f2a49

1640586335020-1373f692-9e53-4c0c-afbc-ec81062e77d3

When I changed the avatar model to oldman model, it works fine. I am wondering is it because maybe blendshape maker just doesn't work for some 3D face model?

Hi Neo1024,

thank you for your interest in our project.
one reason for the deformations maybe the large difference in density of vertices and connectivity between the source and avatar meshes.

You can try to make the source and target meshes to have similar density of vertices around the landmarks.

Best

Thank you for the reply. I managed to transform the source blendshape model I showed here to Mario model, which only has 898 vertices. I guess the density is much lower in Mario compared to 26278 vertices in the source model.

However, I don't know how to efficiently quantify the density of vertices around the landmarks and how to modify those to be on the same level. Any suggestions would be appreciated : ) Sorry for the sequence of questions and thank you agian for your answer

Br

Maybe you can look at the number of vertices around the landmarks in a local patch with fixed size. Then uniformly remove / add vertices in the mesh so that this number becomes similar in source and target mesh.

But if the distribution of points (many points around the eyes, few points in the forehead for example) is very different between the source and target meshes, it becomes a difficult problem.

Thanks! I found the corruption problem only happened onces for the model I posted here, otherwise blendshapeMaker works fine.