Git Product home page Git Product logo

nerf---'s Introduction

NeRF---

NeRF---: Plus Version of NeRF--, optimize camera poses and NeRF in an end-to-end manner.

Input & Assumptions

  • Images: forward-facing setup
  • Intrinsics: all images are captured with same intrinsic parameters
    • Here is different from original NeRF--, which also optimize intrinsic parameters

Details

  • Learnable Parameters
    • Pose: C2W(CameraToWorld) representation
      • we adopt axis-angle representation for pose, as in NeRF--
    • NeRF: vanilla MLP
      • no hierarchy sampling startegy
      • hidden layer dimension is 128 by default
      • kaiming initialization for MLP
      • vanilla positional encoding
        • PE(XYZ): 3 -> 6L+3 (L=10)
        • PE(Direction): 3 -> 6L+3 (L=4)
  • Training Implementation
    • 128 points along each ray
    • 2 separate Adam optimizer for pose and NeRF respectively
      • initial learning rate: 0.001
      • NeRF's lr decay per 10 epochs by multiplying 0.9954
      • Pose's lr decay per 100 epochs by multiplying 0.9
    • total 10000 epochs
    • batchsize for inference: 40960
    • batchsize for train: TODO

Support Dataset

TODO

  • trying to reimplement vanilla NeRF
    • perturb on ray sampling, meaning of this ?
    • visualize the scene and pose, similar to NeRF++, instant-ngp may also provide a good check
    • learning rate decay
    • add LLFF support
  • use eninops
  • HashNeRF
    • xyz bounding_box and such things, device

STATE

  • June 4. 256 Samples. Using epoch 29. PSNR: 24.966. hidden dim: 128
  • June 6. 256 Samples. Using epoch 29. PSNR: 27.706. hidden dim: 256
    • may be I have not decided a reasonable bound, so PSNR is relative lower than orginal paper(31.42) (near=2, far=6)
  • June 8. 256 Samples. Using epoch 9. PSNR: 27.809. near = 2, far = 6
    • Fluctuation is very high, peak is close to 31, and some outliers are 21
  • June 10. HashNeRF. PSNR: 30.994 Fix a fatal bug and now everything works great. No fluctuation anymore.

NOTES on vanilla NeRF

  • Paper description
    • a batch size of 4096 rays
    • each sampled at Nc=64 coordinates in the coarse volume and Nf =128 additional coordinates in the fine volume
    • Adam optimizer with a learning rate that begins at 5 × 10 −4 and decays exponentially to 5 × 10 −5 over the course of optimization (other Adam hyperparameters are left at default values of 0.9, 0.999, 10-7).
    • The optimization for a single scene typically take around 100– 300k iterations to converge on a single NVIDIA V100 GPU (about 1–2 days)

nerf---'s People

Contributors

leo-frank avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.