apchenstu / mvsnerf

[ICCV 2021] Our work presents a novel neural rendering approach that can efficiently reconstruct geometric and neural radiance fields for view synthesis.
MIT License
672 stars 84 forks source link

build_rays from each view? #37

Open violetamenendez opened 2 years ago

violetamenendez commented 2 years ago

Hi,

I am a bit confused about this line of code: https://github.com/apchenstu/mvsnerf/blob/6e0111188ff92b13229482a95a2fb4eaddbc2971/utils.py#L177

Is this intended to go through all the views except the reference view? Assuming that V is 3 (views 0, 1 and 2) and reference view is 0, then it should give you view 1 and 2. Therefore it should be range(V-2,V) (or range(1,V) to generalise to any number of views).

Please, correct me if my understanding is wrong. Thank you!

violetamenendez commented 2 years ago

Edit: I have realised that intrinsics tensor has been squeezed so if the batch is 1 then it doesn't have that dimension. But I still don't understand what the for loop is for :-) A bit of guidance much appreacited!

On this same topic, the following line is:

https://github.com/apchenstu/mvsnerf/blob/6e0111188ff92b13229482a95a2fb4eaddbc2971/utils.py#L178

According to my understanding, and to the documentation string of the function, intrinsics is of shape [N,V,3,3]. https://github.com/apchenstu/mvsnerf/blob/6e0111188ff92b13229482a95a2fb4eaddbc2971/utils.py#L154

Does this mean that i is actually supposed to be the batch, and not the V?

Impuuuuuu commented 2 years ago

Hi,

I am a bit confused about this line of code:

https://github.com/apchenstu/mvsnerf/blob/6e0111188ff92b13229482a95a2fb4eaddbc2971/utils.py#L177

Is this intended to go through all the views except the reference view? Assuming that V is 3 (views 0, 1 and 2) and reference view is 0, then it should give you view 1 and 2. Therefore it should be range(V-2,V) (or range(1,V) to generalise to any number of views).

Please, correct me if my understanding is wrong. Thank you!

same confuse with you

apchenstu commented 2 years ago

Hi, thanks, the V generally is 4, so the for i in range(V-1,V): would only return 3, i.e., the target view, we are sampling rays under the target view, the source views would be 0-2.