nicolasdonati / DUO-FM

Implementation of CVPR2022 paper: "Deep orientation-aware functional maps: Tackling symmetry issues in Shape Matching".
23 stars 5 forks source link

geodist #6

Closed Zhangyanghao520 closed 1 year ago

Zhangyanghao520 commented 2 years ago

Hello, could you please provide the files in the deogist folder?

nicolasdonati commented 2 years ago

Hi, Thanks for the interest :) I cannot upload geodist files because they are too heavy. I used matlab code from here https://github.com/llorz/SGA19_zoomOut/blob/master/utils/%2BMESH/geodesics_to_all.m but I will try to upload python code for this in coming weeks.

zzifer commented 1 year ago

Hi,May I ask when the file deogist is uploaded

nicolasdonati commented 1 year ago

Hi, A python code to generate geodesic distance matrices is available here: https://github.com/RobinMagnet/pyFM/blob/6d3e59a5155e040502115df6635dfa86f7b47c42/pyFM/mesh/geometry.py#L280 It is (partially) based on Mick Sharp's C++ implementation, which also has python bindings: https://github.com/nmwsharp/potpourri3d

zzifer commented 1 year ago

think you for you reply,and i have a problem.Because scape training set is not provided in your code,i downloaded dataset scape from https://graphics.soe.ucsc.edu/private/data/SCAPE/.But an error occurred at runtime. The error is: Process finished with exit code 139(interrupted by signal 11:SIGSEGV) The reason for the error might be because I used the wrong training set.Could you check it for me。think you

1669184935192 image 1669184587175
zzifer commented 1 year ago

The problem is solved after I convert the ply file to the off file. But a new problem has arisen. IndexError:index 20716 is out of bounds for axis 0 with size 1

nicolasdonati commented 1 year ago

I need more of the error to solve it. The data I used is this: https://nuage.lix.polytechnique.fr/index.php/s/LJFXrsTG22wYCXx

zzifer commented 1 year ago

i love you~mua mua mua~ I can't run code on my current computer. I'll contact you tomorrow

zzifer commented 1 year ago

hi,Thanks for the dataset you provided. Now the program can run correctly.I guess the previous problem was that there was no correspondence between the corres file and the shapes_train file. Here are some of my questions: 1.What do the a and r in the datasets scape_r and scape_a mean? 2.There seems to be a difference between the scape data set I got from https://ai.stanford.edu/~drago/Projects/scape/scape.html and the dataset you use. May I ask how these data have been processed? 3.I got the faust dataset from http://faust.is.tue.mpg.de/, but there are only ply, png and txt files in it. Do I need to convert txt to vts? Or what settings need to be modified?

zzifer commented 1 year ago
cb7338196808fcb173eaf0c559c95bc image image image image
nicolasdonati commented 1 year ago

Ok so for FAUST and SCAPE original shapes, the ground-truth correspondence is 1 to 1 (basically the identity map). For the shapes I provided: FAUST_r and SCAPE_r (r is for re-meshed, as in here), the re-meshing shuffles the vertices so we keep track of this in vts files, which we use to recover the ground-truth map. The take-home message is that for original shapes, you can replace say X.vts by range(0, X.verts.shape[0]).

The _a datasets have been re-meshed by another method (it is detailed in the paper, I think supplementary). _a stands for anisotropic as the purpose of these re-meshed shapes is to create difficult non-regular triangulation to show that some method overfit to triangulation information.

For the third question, I think it is answered in my first point :) I hope that helps !

zzifer commented 1 year ago

Thank you for your enthusiastic answer these days.I will contact you if I have any questions later.I wish you more publications at top conferences!!!