16-825 Assignment 3

Duc Doan

Q0. Transmittance Calculation

fig1

solution

Q1. Differentiable Volume Rendering

1.3. Ray sampling

vis_grid vis_rays

1.4. Point sampling

1.4

1.5. Volume rendering

part1 gif 1.5. depth

Q2. Optimizing a basic implicit volume

q2 gif

Optimized box:

Q3. Neural Radiance Field

q3 gif

Q4. NeRF extras - View Dependence

Materials Materials highres
q4 mat q4 mat highres

Trade-offs between increased view dependence and generalization quality:

Q5. Sphere tracing

q5

Implementation: the core logic is simply to walk along the ray directions with an amount equal to the SDF distance. The points are initialized at the near plane. The mask is computed by checking if the distance is less than a threshold (1e-5). If the mask value is True for a point, it is no longer updated. After max_iters, the mask is AND-ed with another mask that checks if the points are within the far plane.

Q6. Optimizing a Neural SDF

Input Output
q6i q6o

MLP architecture: very similar to NeRF

Eikonal loss: defined following [1]

eikonal

Hyperparameters: default values in points_surface.yaml

Q7. VolSDF

VolSDF trained with default hyperparameters:

q7 q7 geometry

Architecture: similar to NeRF

SDF to density using the Cumulative Distribution Function (CDF) of the Laplace distribution:

I think my chosen alpha and beta values had a good balance. With smaller beta, I see a lot of holes in the geometry because of the difficulty in optimization. With larger beta, the small details like the wheels at the back or the teeth disappear.

Q8. Neural surface extras - fewer training views

Both VolSDF and NeRF trained with the same 10 views:

VolSDF NeRF
q8v q8n

The NeRF rendering shows some artifacts for a few frames while VolSDF's rendering does not. I think NeRF might have overfitted to these small number of views, making it unable to generalize well to unseen views. VolSDF, as expected, handles this few-view case quite well because it actually learns the 3D structure as compared to view-dependent rendering of NeRF.