cuiziteng / Aleth-NeRF

🌕 [AAAI 2024] Aleth-NeRF: Illumination Adaptive NeRF with Concealing Field Assumption (Low-light enhance / Exposure correction + NeRF)
Apache License 2.0
76 stars 5 forks source link

关于alpha #24

Closed rikyaa closed 1 week ago

rikyaa commented 1 month ago

图片 作者您好,代码为仔细研究好几个月,我在进行代码调试的时候,想问一下*alpha = 1.0 - torch.exp(-density[..., 0] dists) 这一行显示的alpha(4096,193) 当我打断点调试if的时候:
if i_level == 0: accum_prod_dark = torch.cat([torch.ones_like(alpha[..., :1] coarse_dark[0]), torch.cumprod(1.0 - alpha[..., :-1] + eps, dim=-1) coarse_dark[1:]], dim=-1,)
然后这里的alpha是(4096,65),alpha[..., :-1] 是(4096,64) 当我打断点调试else的时候: else: accum_prod_dark = torch.cat([torch.ones_like(alpha[..., :1]) fine_dark[0], torch.cumprod(1.0 - alpha[..., :-1] + eps, dim=-1) fine_dark[1:]], dim=-1,) 这里的alpha是(4096,193),alpha[..., :-1] 是(4096,192)** 为什么if和else里的alpha会变化呢,想了很久没找到原因,应该是我对代码不深入把,期待您的回复

cuiziteng commented 1 month ago

Hello, 这里是通过i_level来控制NeRF的两组MLP, i_level == 0的时候是coarse MLP,对应维度64,else的时候是fine MLP,对应维度192.