GET3D
GET3D copied to clipboard
no lfd feature calculated using compute_lfd_feat_multiprocess.py
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!
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.
I already set --n_process to 0, and there is no error message.
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?
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.
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.