GET3D icon indicating copy to clipboard operation
GET3D copied to clipboard

no lfd feature calculated using compute_lfd_feat_multiprocess.py

Open yuefeng21 opened this issue 2 years ago • 5 comments

Hi there, I've been testing the evaluation metrics using 2 example dataset which contains 2 ground truth obj, and 20 generated obj.

It seems that

Step 4: We first generat the Light Field feature for each object by running

python compute_lfd_feat_multiprocess.py --gen_path PATH_TO_THE_MODEL_PREDICTION --save_path PATH_FOR_LFD_OUTPUT_FOR_PRED

only create null files like mesh_q4_v_1.8.art, mesh_q8_v1.8.art, etc.

Then when I try to run the compute_lfd scripts: using python compute_lfd.py --split_path PATH_TO_TEST_SPLIT --dataset_path PATH_FOR_LFD_OUTPUT_FOR_GT --gen_path PATH_FOR_LFD_OUTPUT_FOR_PRED --save_name results/our/lfd.pkl I got Segmentation fault (core dumped) when loading the data. https://github.com/nv-tlabs/GET3D/blob/6fda9cd15ab78e88db3ba00766df489a3ce88b41/evaluation_scripts/compute_lfd.py#L25

Is the data supposed to be null? or it should be the calculated lfd feature? I've roughly checked the align_mesh() function in lfd_me.py but it seems that I couldn't find a line of code that actually write lfd feature to the created null files: mesh_q4_v_1.8.art, mesh_q8_v1.8.art, etc.

Appreciate your help!

yuefeng21 avatar Oct 27 '22 21:10 yuefeng21

Hi,

The output from compute_lfd_feat_multiprocess.py should be the calculated lfd features. In this line of code , it will call a compiled lib 3DAlignment to calculate the feature an save it.

To help debug this, can you try to set --n_process to 0 when calling the function compute_lfd_feat_multiprocess.py and show me some error messages? It seems the function doesn't run properly and couldn't generate the lfd features.

SteveJunGao avatar Oct 27 '22 21:10 SteveJunGao

I already set --n_process to 0, and there is no error message.

yuefeng21 avatar Oct 27 '22 21:10 yuefeng21

What's under 'self.temp_path.with_suffix("").as_posix()'? Should those be mesh_q4_v_1.8.art, mesh_q8_v1.8.art.etc?

yuefeng21 avatar Oct 27 '22 21:10 yuefeng21

When I try to use the '../light-field-distance/build/lib/lfd/Executable/Distance' and feed 2 mesh obj.path to the command process = subprocess.Popen(['./3DAlignment', 'Original/obj/110920150452/mesh', 'Original/obj/110920150452/mesh'], cwd=run_dir, stdin=subprocess.PIPE, stdout=subprocess.PIPE,stderr=subprocess.PIPE, ) it output the similarity number. But when I call the ./3DAlignment file and feed 1 mesh obj path. it outputs nothing.

yuefeng21 avatar Oct 27 '22 22:10 yuefeng21

I do have some error when I try to recompile the scipts in /light-field-distance

/light-field-distance$ bash compile.sh
gcc -g -I. -I./fftw -c Main.c -o Main.o
In file included from Main.c:1:
glut.h:138:10: fatal error: GL/glu.h: No such file or directory
  138 | #include <GL/glu.h>
      |          ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:26: Main.o] Error 1
gcc -g -I. -I./fftw -c Main.c -o Main.o
In file included from Main.c:1:
glut.h:138:10: fatal error: GL/glu.h: No such file or directory
  138 | #include <GL/glu.h>
      |          ^~~~~~~~~~
compilation terminated.

yuefeng21 avatar Oct 27 '22 22:10 yuefeng21