pyg-team / pytorch_geometric

Graph Neural Network Library for PyTorch
https://pyg.org
MIT License
21.05k stars 3.63k forks source link

Is visualizing the FAUST results for correspondence is part of the provided code here? #14

Closed emanhamed closed 6 years ago

rusty1s commented 6 years ago

Hey,

no, it's not. However, you can download the geodesic distances here (16GB!) and load them into PyTorch (100x6890x6890 tensor, which stores the geodesic distances for each vertex pair of each example). For visualization, we transferred the resulting geodesic errors into color codes and added them to the FAUST ply models.

emanhamed commented 6 years ago

How to get these geodesic errors on any new test instance?

janericlenssen commented 6 years ago

Hi, I do not know if I fully get the question. If you are referring to FAUST test examples, then you need the file posted by Matthias. It contains the geodesic distances for each vertex pair in each FAUST example. You just have to look up the error, given a correspondence prediction.

If you talk about other datasets, you would need to compute the geodesic distances yourself. You would also need to train a different model though, because the way it is done in the example is exclusive to the 6890 vertex FAUST examples.

pieris98 commented 11 months ago

Hey,

no, it's not. However, you can download the geodesic distances here (16GB!) and load them into PyTorch (100x6890x6890 tensor, which stores the geodesic distances for each vertex pair of each example). For visualization, we transferred the resulting geodesic errors into color codes and added them to the FAUST ply models.

Hey Matthias, First of all thanks for all your amazing work, creating PyG and Kumo and your contributions in the field!

The link you pointed to above gives a 404 (I also looked at archive.org but no archived versions came up).

Thus, I wanted to ask if there is an alternative link to download the geodesic distances for the FAUST dataset, or alternatively if there's any existing code to calculate them ourselves.

For the latter option, I've seen PyG's geodesic_distance code but I got a bit confused with what is the correct way to do that for FAUST e.g. should I use prediction as src and reference mesh - usually the 0th FAUST training registration mesh train_reg_000.ply - as dst ?

Any pointers from anyone would be immensely helpful!

rusty1s commented 11 months ago

Hey @pieris98, you are right that the above gives a 404. It looks like it got deleted from university server :( Not sure what I can do about this.

You can indeed create them yourself using geodesic_distance, but it takes a while to run. src and dst should be kept empty, and this will generate the geodesic distances for each pair of vertices in your mesh.

pieris98 commented 11 months ago

Hey @pieris98, you are right that the above gives a 404. It looks like it got deleted from university server :( Not sure what I can do about this.

You can indeed create them yourself using geodesic_distance, but it takes a while to run. src and dst should be kept empty, and this will generate the geodesic distances for each pair of vertices in your mesh.

Thanks, Matthias! I'm trying to reproduce the Princeton Benchmark results for different papers.

I'm trying to understand how to do that using the geodesic_distance function. I assume that for inference evaluation I'll have to compute geodesic distances of 1.my prediction mesh, and 2. the ground truth mesh(usually the papers use tr_reg_000.ply as the reference mesh) and then compare these two vertex-wise to check for correctness at a geodesic error threshold.

I'm trying to dive deeper and understand why there isn't a more efficient or GPU parallelizable way to calculate these pairwise geodesic distances (I checked the gdist function used by PyG and also pygeodesic which also relies on a C++ implementation).

Anyways, I'll try to produce a similar tensor file to the deleted one for all FAUST shapes and post it somewhere (if I have storage space).

Thanks again for your response and contributions!