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

I think there is a wrong! #22

Closed rikyaa closed 2 months ago

rikyaa commented 2 months ago

Training Stage with Concealing Field

if mode != 'test':
    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,)
    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,)

here :*torch.cumprod(1.0 - alpha[..., :-1] + eps, dim=-1) fine_dark[1:]**维度是(4096,64)(128,)没办法相乘的呀?期待你的回答

rikyaa commented 2 months ago

Author I'm very sorry to bother you, your article is very well written but the code you uploaded I double checked still think there is a dimensional mismatch here, looking forward to your answer, hopefully it will solve the confusion I've been having.

cuiziteng commented 2 months ago

您好 感谢关注 您可以print一下看看维度 fine那里的维度也是128 您可以自己跑一下代码 不会报错的

rikyaa commented 2 months ago

batchsize fine wrong image image image image image image

Hello author, your paper is very excellent. I want to make changes to the code. I modified fine_dark for the problem posted earlier, this time I re-downloaded the code and only modified the batchsize.I debugged the code you wrote again, but there is still a problem. I still think that the latitude in else does not match. torch.cumprod(1.0 - alpha[..., :-1] + eps, dim=-1) latitude is (32, 64), and fine_dark[1:] is (192,). This question has puzzled me for a long time, so I wanted to ask you. Did I understand the problem or something else? I look forward to your answer. 作者您好,你的论文很优秀我想对代码做出修改,前面发的问题我修改了fine_dark,这次我重新下载了代码只修改了batchsize我再次调试了你写的代码,还是存在问题,我还是觉得else这里面纬度是不匹配的,这个纬度是(32,64),这里是(192,),这个问题困惑了我很久希望所以想来问问你,是我理解出了问题还是其他的呢,期待您的解答

cuiziteng commented 2 months ago

您好,else这里表示的是通过NeRF的fineMLP, fineMLP最后的输出尺度不是64而是192,我也不清楚您这里是怎么出现的出来(32, 64)这样的情况,理论上讲理应是(32, 192)。为了验证是否是我的代码有问题,我这边重新clone了一下代码,并且重新跑了一遍,完全没有问题,问一下您这里是根据指令跑代码了嘛,还是只是在py文件调试出错呢?

image image image
rikyaa commented 2 months ago

谢谢你的回复,问题已经解决了,代码没有问题,是我修改代码的过程中存在错误,感谢!!!