Closed jingyibo123 closed 1 year ago
Hi first of all there is no NDC involved in the contraction function.
Our implementation maps [-inf, inf] to [0, 1], and the roi region to [0.25, 0.75]. For multinerf's impl, it maps [-inf, inf] to [-2, 2], the roi region to [-1, 1].
So it is basically the same (just imaging we further normalize [-2, 2] to [0, 1], and [-1, 1] becomes [0.25, 0.75]). The reason is NGP's radiance field need to take in a value between 0 and 1.
I mistaken the function call roi_to_unit
for NDC normalization, which in multinerf's implementation is done outside of contraction.
Thanks for the clarification!
Bravo for the great work.
I see that in the implementation of
UN_BOUNDED_SPHERE
contraction here, the input is first normalized like in NDC, then applied the equation 10 of Mip-NeRF 360, the contracted sphere is in [0.25, 0.75]Which is not identical to the "official" implementation here, which if I'm not mistaken, takes (scaled) euclidean coordinates as input.
Is there specific reasons for implementing like this?
A possible implementation mimicing multinerf would be to calculate a sphere based on roi, recenter the coordinates with respect to the center of sphere, scale with the radius, then apply the same equation?