ranahanocka / MeshCNN

Convolutional Neural Network for 3D meshes in PyTorch
MIT License
1.61k stars 320 forks source link

Edge features #69

Closed tt-study closed 4 years ago

tt-study commented 4 years ago

Will edge features(the 5-dimensional vector for every edge: the dihedral angle, two inner angles and two edge-length ratios for each face.) be recalculated due to shape update after each pooling?Thank you and look forward to your answer~~

ranahanocka commented 4 years ago

Hi @tt-study ,

The 5-dimensional geometric feature vector is only calculated once as input to the network. In other words, no, it is not recalculated after pooling.

Just as image-CNNs start with a simple 3-dimensional RGB feature vector as input to the network --which is later abstracted to an N-dimensional feature vector with some "deeper" meaning.

In the same "spirit" MeshCNN abstracts the simple 5-dimensional geometric features to a N-dimensional deep feature per-edge, which carries some higher-level semantic meaning.

tt-study commented 4 years ago

Thank you very much for your answer, while I have one more question : Is the mesh information input in the second convolution layer the same as the mesh information in the first convolution layer? In other words, does the information of the mesh change because of the convolution operation and the pooling operation? In mesh_conv.py the code is : def forward(self, x, mesh)

ranahanocka commented 4 years ago

Hi @tt-study ,

Convolution does not change the mesh data-structure, only the features per-edge (i.e., x). Pooling will change the mesh data-structure (i.e., collapse edges) and the edge features.

tt-study commented 4 years ago

Thank you very much