nerfstudio icon indicating copy to clipboard operation
nerfstudio copied to clipboard

Add temporal distortion and D-NeRF model

Open JulianKnodt opened this issue 3 years ago • 4 comments

Rather than recreate an entire new model, blend Dynamic-NeRF into the existing vanilla nerf model. It also adds a temporal distortion which can be applied in the middle of the Vanilla NeRF pipeline.

Not sure whether the best way to incorporate this approach is to use this, or if it makes sense to incorporate a way to add distortion directly into each model. This should be possible to add into TensoRF directly without modification (and also so I don't have to wait so long for convergence of the model), and am curious what the results of that would be like. If wanted, I can make changes to add a flag for that instead of creating an entirely separate model.

JulianKnodt avatar Oct 22 '22 08:10 JulianKnodt

This should be ready for review! I know y'all busy but just wanted to bump it in case you missed it. I should also probably join the discord or smth so I can directly ask what the desired outcome state of this kind of thing would be.

I do need to check convergence, but any comments on the code structure would be appreciated.

JulianKnodt avatar Nov 03 '22 19:11 JulianKnodt

This should be ready for review! I know y'all busy but just wanted to bump it in case you missed it. I should also probably join the discord or smth so I can directly ask what the desired outcome state of this kind of thing would be.

Feel free to ping me on the discord server.

tancik avatar Nov 03 '22 21:11 tancik

This should be ready for review again, but really I should post pictures of convergence first.

JulianKnodt avatar Nov 07 '22 06:11 JulianKnodt

image Picture of it slowly converging (albeit artifacts but I'm not sure if they're present in the original approach)

I also noticed if I zoom out very far, nothing will appear because outside of the cameras' viewpoints the temporal distortion is not well defined. I may include a component for AABB checks unless it would be outside of the scope.

JulianKnodt avatar Nov 08 '22 01:11 JulianKnodt

Image from Tensorboard: (Ground Truth, Coarse, Fine) image image

Copy-Paste from D-NeRF paper image

Eval Images Metrics/fine_psnr of current implementations Eval Images Metrics_fine_psnr

Currently the results of this implementation on the Lego D-NeRF dataset appear to be better, not sure exactly why, but could be because of the fourier features instead of positional encoding.

JulianKnodt avatar Nov 15 '22 19:11 JulianKnodt

@tancik I still don't have permissions to do so, I think it's probably collaborators on the repo or members of the org who have permissions

image

JulianKnodt avatar Nov 15 '22 21:11 JulianKnodt