diegoroyo / mitsuba2-transient-nlos

Code for "Non-line-of-sight transient rendering" - Transient path tracing and non-line-of-sight capture simulation for Mitsuba 2
Other
25 stars 5 forks source link

Hello author, I am a sophomore student and I am honored to have read your article on 'Non-line-of-sight transient rendering. #3

Open min-yang5 opened 9 months ago

min-yang5 commented 9 months ago

"I didn't understand how to deploy this project. Can you provide guidance on that?". The mitsuba2-transient-nlos and mitsuba2, what are the differences between them?"

diegoroyo commented 9 months ago

Thanks for your interest on the project. mitsuba2-transient-nlos is basically mitsuba2 with some extra code that adds functionality to simulate time-resolved renders which work well for NLOS capture setups.

To deploy this project, you will need to compile the code. You can follow the same instructions as for mitsuba2: https://mitsuba2.readthedocs.io/en/latest/src/getting_started/compiling.html. We have tested mitsuba2-transient-nlos in Linux.

Then, to execute mitsuba2-transient-nlos, you have two options:

min-yang5 commented 8 months ago

Hello! It seems like you've set up Mitsuba2 Transient NLOS and the tal library successfully. However, when you execute the rendering command "tal render nlos-z," you encounter an error. I hope the author can provide some advice.

(daopython) dao@dao-virtual-machine:~/anaconda3/envs/daopython/bin$ tal render /home/dao/tal/examples/render-reconstruct/nlos-z Traceback (most recent call last): File "/home/dao/anaconda3/envs/daopython/bin/tal", line 8, in sys.exit(main()) File "/home/dao/anaconda3/envs/daopython/lib/python3.10/site-packages/tal/main.py", line 133, in main render_nlos_scene(config_file, args) File "/home/dao/anaconda3/envs/daopython/lib/python3.10/site-packages/tal/render/init.py", line 30, in render_nlos_scene render.render_nlos_scene(config_path, args) File "/home/dao/anaconda3/envs/daopython/lib/python3.10/site-packages/tal/render/render.py", line 56, in render_nlos_scene mitsuba_backend.set_variant(scene_config['mitsuba_variant']) File "/home/dao/anaconda3/envs/daopython/lib/python3.10/site-packages/tal/render/mitsuba2_transient_nlos.py", line 55, in set_variant raise AssertionError( AssertionError: Variant llvmrgb is not supported. It must start with "scalar"

diegoroyo commented 8 months ago

You should look in your nlos-z/nlos-z.yaml file. Search for this line:

mitsuba_variant: llvm_rgb

You should change it to:

mitsuba_variant: scalar_rgb

Hope it helps. If you have any further questions feel free to ask.

min-yang5 commented 8 months ago

"Thank you for your response. I have some questions I'd like to ask the author。

I downloaded the test file you provided (testz.yaml) and executed it using the command (tal render /home/dao/tal-example1/testz.yaml). It generated the scene files (nlos_scene.xml, steady_scene.xml), but at the same time, an error occurred. Here is the specific error message:" RuntimeError: ​[FileStream] "/home/dao/tal-example1/20231221-105905/partial/testz_back_view.exr": I/O error while attempting to open file: No such file or directory

1,Why wasn't an HDF5 file generated? How can I obtain it? 2,When I use the Mitsuba command (mitsuba steady_scene.xml), it generates an EXR file, but when I try to convert it to a JPG file, there is no image? 3,What is the estimated rendering time for completing an NLOS scene?

Certainly, please go ahead and provide the detailed error message in the form of an image.

屏幕截图 2023-12-21 110258 屏幕截图 2023-12-21 152218

diegoroyo commented 8 months ago

The problem is that tal executed mitsuba, but mitsuba returned an error code 255. The files in the logs folder should contain more information of what the error 255 is about.

Note that the yaml file you downloaded probably needs a obj file to load. You can check out one example here: https://github.com/diegoroyo/tal/blob/67462fd079ef2fcfdc6c4d951dd3f55f79648ce4/examples/render-reconstruct/nlos-z/nlos-z.yaml#L106. Read the whole file for more information.

Have you downloaded that Z.obj file? If you run tal like tal render testz.yaml, you should put the Z.obj file in the same folder as testz.yaml. You can download Z.obj here: https://nas-graphics.unizar.es/s/mitsuba2-transient-nlos-example

If the errors persist, please upload your yaml file and the logs folder for next time.

min-yang5 commented 8 months ago

Hello, I've tried again a few times and still encountered errors. I've uploaded the log and YAML files to my project. Could you please check all the files?(https://github.com/min-yang5/tal-render

屏幕截图 2023-12-23 165603

The content displayed in the log is as follows. terminating with uncaught exception of type std::runtime_error: ​[Profiler] profiler_start(): failure in setitimer(): Invalid argument

Looking forward to your response again.