nmwsharp / diffusion-net

Pytorch implementation of DiffusionNet for fast and robust learning on 3D surfaces like meshes or point clouds.
https://arxiv.org/abs/2012.00888
MIT License
408 stars 51 forks source link

Incorporating mesh level properties #3

Open asadabbas09 opened 3 years ago

asadabbas09 commented 3 years ago

Thanks for sharing your awesome work.

I'm trying to work with inputs that have the following shapes:

mesh coordinates: x, y, z mesh level scalar parameters: e.g: A=10, B=12, C=150, D=20

I changed scalar parameters to vectors using np.full and stacked them with x, y, z vertices to make a 7 Dim input C_in

x_in = torch.stack([x,y,z, A, B, C, D]

It works fine but I was wondering if that is the right way or is there a better way to include mesh level input parameters.

Because with my current implementation I'm not sure if the network is able to capture the effects of A,B,C,D on the output and seems like a waste of computational power.

nmwsharp commented 3 years ago

Hi, very glad to hear you are interested!

This sounds like pretty a good way to include mesh-level input parameters to me. You want them to be inputs to each of the pointwise MLPs, and this accomplishes that. The added computational cost should be small, since it only makes the first linear layer slightly larger.