Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no lfd feature calculated using compute_lfd_feat_multiprocess.py #52

Open
yuefeng21 opened this issue Oct 27, 2022 · 5 comments
Open

no lfd feature calculated using compute_lfd_feat_multiprocess.py #52

yuefeng21 opened this issue Oct 27, 2022 · 5 comments

Comments

@yuefeng21
Copy link

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.

result = load_data.run(os.path.join(f, 'mesh'))

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!

@SteveJunGao
Copy link
Collaborator

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.

@yuefeng21
Copy link
Author

yuefeng21 commented Oct 27, 2022

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

@yuefeng21
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants