vchoutas / torch-mesh-isect

Other
281 stars 72 forks source link

Demo Result Question #10

Closed dihuangcode closed 4 years ago

dihuangcode commented 4 years ago

Hi , @vchoutas

Thanks for your awesome work! I just met some questions about your demo script batch_smpl_untangle.py.

I changed your optimizer from SGD to Adam, and set lr to 0.001, which is a normal configuration. The reason I did this is to optimize faster, since I noticed your original SGD version change little poses even after a lot of optimization.

In most cases, the loss started around 0.00003, then reduced to 0.00001

My questions are as follows :

  1. even when the loss is 0.00000, there are still obvious collision. Is it normal ?
  2. Why we can't remove all collision. Even 10000 steps later and the meshes change a lot, there are still collisions. But since there are only collision loss and a little reg_loss, the script should solve all collision.

I guess they are the result of imperfection loss from Capturing Hands in Action using Discriminative Salient Points and Physics Simulation, but I am not quite sure.

Following is 10000 steps result.

image

dihuangcode commented 4 years ago

Another question,

You said The module can be used also for inter-penetrations of different meshes - for this the easiest and naive approach (without additional bookkeeping) is to fuse all meshes in a single mesh and treat inter-penetrations as self-penetrations.

I did some experiments according your suggestion, and found the same problem.

In this case, I didn't change optimizer and learning rate. The loss started around 0.00005, then reduced to 0.00003, after 10000 steps.

initial meshes: Selection_135

meshes after 10000 steps optimization: Selection_136

plot them in one image, red meshes are new meshes: image

My questions:

  1. Why still collision exist even after 10000 steps optimization.
  2. In above images, you can see hands of two people move to the same direction, which is obviously bad for optimizing collision between people. Do you know why?

Thanks a lot ! : )

vchoutas commented 4 years ago

@Yedis In general, some collisions (e.g. armpit-upper arm) cannot be removed, since SMPL does not model contact-based deformation. In your first example the poses look completely unnatural, so the inter-penetrations make sense. In the second example, which variables are you using for the optimization? Pose and shape(betas)? Did you also include body translation? This would be the easiest thing to change to resolve the collisions between the two individuals.

xiaobaozi1996 commented 4 years ago

How to solve inter-penetrations of different meshes, could you please give a detail description? Thanks in advance~