Closed wonjunior closed 9 months ago
Hi, thanks for your exploratory experiments! Can you give me more details about your experiments? For example:
I did notice you sent me an email several days ago. We can discuss your questions here or via private emails, depending on which one you prefer.
Best, Haian
Hi Haian,
Thank you for your reply! Concerning the motivation behind this test, I was trying to have a minimal example to find out the limiting factor that prevented TensoIR from predicting (very) glossy materials (in other words material rendered in Blender with a roughness of 0
).
Answering to 2., I optimize TensoIR on this glossy ball scene, then perform novel-view rendering, after the decomposition has been inferred and volume rendering is done (all 800x800 maps are constructed), I overwrite the roughness to values such as 0
or 0.2
to see what is the produced render.
So for r=0
, I would expect a very shiny object reflecting the environment (just as seen in the gt above), and something slightly blurrier for 0.2
. Trying to analyze the result obtained on r=0.2
, could it be an issue with how the SG is obtained, and the illumination computed?
I
Hi Haian, Thank you for your reply! Concerning the motivation behind this test, I was trying to have a minimal example to find out the limiting factor that prevented TensoIR from predicting (very) glossy materials (in other words material rendered in Blender with a roughness of
0
).Answering to 2., I optimize TensoIR on this glossy ball scene, then perform novel-view rendering, after the decomposition has been inferred and volume rendering is done (all 800x800 maps are constructed), I overwrite the roughness to values such as
0
or0.2
to see what is the produced render.So for
r=0
, I would expect a very shiny object reflecting the environment (just as seen in the gt above), and something slightly blurrier for0.2
. Trying to analyze the result obtained onr=0.2
, could it be an issue with how the SG is obtained, and the illumination computed?
I see.
I think there are two key reasons that cause TensoIR's bad performance on very glossy materials:
I personally think that Reason 1 is more important. Happy to continue this conversation.
Hi, thank you so much for your detailed answer. I ran the relighting code with IS from the ground truth env map and the highlight showed up much better.
I looked into importance sampling you in your relightning script. You use a pdf derived solely from the intensity (scaled by the solid angle). Do you think rendering glossy objects would require a more advanced sampling, as in NeRO for example, where they do cosine-weighted and NDF sampling for diffuse and specular components, respectively?
Other than that, I still am puzzled as to why all reflections disappear when the roughness value is lower than 0.05
. I checked the rendering equations but they match the analytical formulae...
For the first question, I agree a more advanced sampling is necessary, but you may need to try different sampling methods and observe their results. A sampling method that works well for rendering may not work well for inverse rendering reconstruction.
For the second question, I think the problem is still the sampling. Maybe you can try the lighting intensity importance sampling in the relighting script when setting the roughness value to be very low.
Thank you again for this insightful research project and for providing us with the source code.
I was trying to track down an issue related to glossy estimation. I did a simple test where I optimize a glossy scene and then render novel views by setting the roughness value (after volume rendering is done) such that every 800x800 pixels has a roughness of
0
. I tried other values but it seems that values lower than0.5
cause issues. Below, I am showing results for differentr
values:I did an ablation for
r=0.2
, the strange highlights seem to be coming from the directly lit specular component:Do you know why there happens to be artefacts for
r=0.2
; whiler=0
looks very matte? Let me know if I overlooked something.