1. 09 Aug, 2024 1 commit
  2. 05 Mar, 2024 1 commit
  3. 29 Nov, 2023 1 commit
  4. 06 Jul, 2023 3 commits
    • Emilien Garreau's avatar
      Add blurpool following MIPNerf paper. · 5910d81b
      Emilien Garreau authored
      Summary:
      Add blurpool has defined in [MIP-NeRF](https://arxiv.org/abs/2103.13415).
      It has been added has an option for RayPointRefiner.
      
      Reviewed By: shapovalov
      
      Differential Revision: D46356189
      
      fbshipit-source-id: ad841bad86d2b591a68e1cb885d4f781cf26c111
      5910d81b
    • Emilien Garreau's avatar
      Add integrated position encoding based on MIPNerf implementation. · ccf860f1
      Emilien Garreau authored
      Summary: Add a new implicit module Integral Position Encoding based on [MIP-NeRF](https://arxiv.org/abs/2103.13415).
      
      Reviewed By: shapovalov
      
      Differential Revision: D46352730
      
      fbshipit-source-id: c6a56134c975d80052b3a11f5e92fd7d95cbff1e
      ccf860f1
    • Emilien Garreau's avatar
      Add utils to approximate the conical frustums as multivariate gaussians. · 29b8ebd8
      Emilien Garreau authored
      Summary:
      Introduce methods to approximate the radii of conical frustums along rays as described in [MipNerf](https://arxiv.org/abs/2103.13415):
      
      - Two new attributes are added to ImplicitronRayBundle: bins and radii. Bins is of size n_pts_per_ray + 1. It allows us to manipulate easily and n_pts_per_ray intervals. For example we need the intervals coordinates in the radii computation for \(t_{\mu}, t_{\delta}\). Radii are used to store the radii of the conical frustums.
      
      - Add 3 new methods to compute the radii:
         - approximate_conical_frustum_as_gaussians: It computes the mean along the ray direction, the variance of the
            conical frustum  with respect to t and variance of the conical frustum with respect to its radius. This
            implementation follows the stable computation defined in the paper.
         - compute_3d_diagonal_covariance_gaussian: Will leverage the two previously computed variances to find the
           diagonal covariance of the Gaussian.
         - conical_frustum_to_gaussian: Mix everything together to compute the means and the diagonal covariances along
           the ray of the Gaussians.
      
      - In AbstractMaskRaySampler, introduces the attribute `cast_ray_bundle_as_cone`. If False it won't change the previous behaviour of the RaySampler. However if True, the samplers will sample `n_pts_per_ray +1` instead of `n_pts_per_ray`. This points are then used to set the bins attribute of ImplicitronRayBundle. The support of HeterogeneousRayBundle has not been added since the current code does not allow it. A safeguard has been added to avoid a silent bug in the future.
      
      Reviewed By: shapovalov
      
      Differential Revision: D45269190
      
      fbshipit-source-id: bf22fad12d71d55392f054e3f680013aa0d59b78
      29b8ebd8
  5. 16 Jun, 2023 1 commit
    • Jeremy Reizenstein's avatar
      lints · f68371d3
      Jeremy Reizenstein authored
      Summary: simple
      
      Reviewed By: shapovalov
      
      Differential Revision: D46438865
      
      fbshipit-source-id: 0f41cb3ddd7e7aca4513267d33299531f7e8d373
      f68371d3
  6. 14 Jun, 2023 1 commit
  7. 17 May, 2023 1 commit
    • Roman Shapovalov's avatar
      Refactor: FrameDataBuilder is more extensible. · b0462598
      Roman Shapovalov authored
      Summary:
      This is mostly a refactoring diff to reduce friction in extending the frame data.
      
      Slight functional changes: dataset getitem now accepts (seq_name, frame_number_as_singleton_tensor) as a non-advertised feature. Otherwise this code crashes:
      ```
      item = dataset[0]
      dataset[item.sequence_name, item.frame_number]
      ```
      
      Reviewed By: bottler
      
      Differential Revision: D45780175
      
      fbshipit-source-id: 75b8e8d3dabed954a804310abdbd8ab44a8dea29
      b0462598
  8. 14 May, 2023 1 commit
    • Virendra Kumar Pathak's avatar
      Softly deprecate the get_str=False flag. · d08fe6d4
      Virendra Kumar Pathak authored
      Summary: We don't want to use print directly in stats.print() method. Instead this method will return the output string to the caller.
      
      Reviewed By: shapovalov
      
      Differential Revision: D45356240
      
      fbshipit-source-id: 2cabe3cdfb9206bf09aa7b3cdd2263148a5ba145
      d08fe6d4
  9. 24 Mar, 2023 1 commit
    • Emilien Garreau's avatar
      Add the OverfitModel · 813e941d
      Emilien Garreau authored
      Summary:
      Introduces the OverfitModel for NeRF-style training with overfitting to one scene.
      It is a specific case of GenericModel. It has been disentangle to ease usage.
      
      ## General modification
      
      1. Modularize a minimum GenericModel to introduce OverfitModel
      2. Introduce OverfitModel and ensure through unit testing that it behaves like GenericModel.
      
      ## Modularization
      
      The following methods have been extracted from GenericModel to allow modularity with ManyViewModel:
      - get_objective is now a call to weighted_sum_losses
      - log_loss_weights
      - prepare_inputs
      
      The generic methods have been moved to an utils.py file.
      
      Simplify the code to introduce OverfitModel.
      
      Private methods like chunk_generator are now public and can now be used by ManyViewModel.
      
      Reviewed By: shapovalov
      
      Differential Revision: D43771992
      
      fbshipit-source-id: 6102aeb21c7fdd56aa2ff9cd1dd23fd9fbf26315
      813e941d
  10. 27 Jan, 2023 1 commit
    • Jeremy Reizenstein's avatar
      Make Module.__init__ automatic · 9540c290
      Jeremy Reizenstein authored
      Summary: If a configurable class inherits torch.nn.Module and is instantiated, automatically call `torch.nn.Module.__init__` on it before doing anything else.
      
      Reviewed By: shapovalov
      
      Differential Revision: D42760349
      
      fbshipit-source-id: 409894911a4252b7987e1fd218ee9ecefbec8e62
      9540c290
  11. 23 Jan, 2023 2 commits
    • Roman Shapovalov's avatar
      Cleaning up camera difficulty · d561f191
      Roman Shapovalov authored
      Summary: We don’t see much value in reporting metrics by camera difficulty while supporting that in new datasets is quite painful, hence deprecating training cameras in the data API and ignoring in evaluation.
      
      Reviewed By: bottler
      
      Differential Revision: D42678879
      
      fbshipit-source-id: aad511f6cb2ca82745f31c19594e1d80594b61d7
      d561f191
    • David Novotny's avatar
      render_flyaround allow forwarding args from visualize_reconstruction · 1de2d0c8
      David Novotny authored
      Summary: Allows to send kwargs to render_flyaround from visualize_reconstruction
      
      Reviewed By: bottler, shapovalov
      
      Differential Revision: D41157683
      
      fbshipit-source-id: 74d8d7de4e991a31b14e72d76de5efdb8ab4b2c5
      1de2d0c8
  12. 16 Jan, 2023 1 commit
    • Jeremy Reizenstein's avatar
      rendered_mesh_dataset improvements · b7e3b7b1
      Jeremy Reizenstein authored
      Summary: Allow choosing the device and the distance
      
      Reviewed By: shapovalov
      
      Differential Revision: D42451605
      
      fbshipit-source-id: 214f02d09da94eb127b3cc308d5bae800dc7b9e2
      b7e3b7b1
  13. 08 Dec, 2022 1 commit
  14. 30 Nov, 2022 1 commit
    • David Novotny's avatar
      Readme updates · 5add065f
      David Novotny authored
      Summary:
      Running:
      - clearly points users to experiment.py/visualize_reconstruction.py
      Reproducing:
      - Adds NeRF training on Blender
      - Adds CO3Dv2 configs
      
      Reviewed By: bottler
      
      Differential Revision: D41534315
      
      fbshipit-source-id: e85f5f1eafed8c35c9e91d748a04f238509cf8ec
      5add065f
  15. 28 Nov, 2022 1 commit
  16. 25 Nov, 2022 1 commit
  17. 08 Nov, 2022 1 commit
    • Roman Shapovalov's avatar
      Fix: visualisation with Enums fields in Configurables · 719c33a7
      Roman Shapovalov authored
      Summary:
      Enum fields cause the following to crash since they are loaded as strings:
      ```
      config = OmegaConf.load(autodumped_cfg_file)
      Experiment(**config)
      ```
      
      It would be good to come up with the general solution but for now just fixing the visualisation script.
      
      Reviewed By: bottler
      
      Differential Revision: D41140426
      
      fbshipit-source-id: 71c1c6b1fffe3b5ab1ca0114cfa3f0d81160278f
      719c33a7
  18. 07 Nov, 2022 1 commit
    • Jeremy Reizenstein's avatar
      allow dots in param_groups · 7be49bf4
      Jeremy Reizenstein authored
      Summary:
      Allow a module's param_group member to specify overrides to the param groups of its members or their members.
      Also logging for param group assignments.
      
      This allows defining `params.basis_matrix` in the param_groups of a voxel_grid.
      
      Reviewed By: shapovalov
      
      Differential Revision: D41080667
      
      fbshipit-source-id: 49f3b0e5b36e496f78701db0699cbb8a7e20c51e
      7be49bf4
  19. 02 Nov, 2022 1 commit
    • David Novotny's avatar
      CO3Dv2 multi-category extension · e4a32981
      David Novotny authored
      Summary:
      Allows loading of multiple categories.
      Multiple categories are provided in a comma-separated list of category names.
      
      Reviewed By: bottler, shapovalov
      
      Differential Revision: D40803297
      
      fbshipit-source-id: 863938be3aa6ffefe9e563aede4a2e9e66aeeaa8
      e4a32981
  20. 31 Oct, 2022 1 commit
  21. 23 Oct, 2022 3 commits
    • Jeremy Reizenstein's avatar
      yaml test fix · ca588633
      Jeremy Reizenstein authored
      Summary: Yaml bool case fix
      
      Reviewed By: shapovalov
      
      Differential Revision: D40623031
      
      fbshipit-source-id: 29b2fba171c2cbebfa03834e38b614d07275c997
      ca588633
    • Jeremy Reizenstein's avatar
      voxel_grid_implicit_function · 74754bbf
      Jeremy Reizenstein authored
      Reviewed By: shapovalov
      
      Differential Revision: D40622304
      
      fbshipit-source-id: 277515a55c46d9b8300058b439526539a7fe00a0
      74754bbf
    • Jeremy Reizenstein's avatar
      replicate_last_interval in raymarcher · 611aba9a
      Jeremy Reizenstein authored
      Summary: Add option to flat pad the last delta. Might to help when training on rgb only.
      
      Reviewed By: shapovalov
      
      Differential Revision: D40587475
      
      fbshipit-source-id: c763fa38948600ea532c730538dc4ff29d2c3e0a
      611aba9a
  22. 22 Oct, 2022 1 commit
    • Jeremy Reizenstein's avatar
      make visdom optional · ff933ab8
      Jeremy Reizenstein authored
      Summary: Make Implicitron run without visdom installed.
      
      Reviewed By: shapovalov
      
      Differential Revision: D40587974
      
      fbshipit-source-id: dc319596c7a4d10a4c54c556dabc89ad9d25c2fb
      ff933ab8
  23. 18 Oct, 2022 1 commit
    • Jeremy Reizenstein's avatar
      different learning rate for different parts · fe5bdb2f
      Jeremy Reizenstein authored
      Summary:
      Adds the ability to have different learning rates for different parts of the model. The trainable parts of the implicitron have a new member
      
             param_groups: dictionary where keys are names of individual parameters,
                  or module’s members and values are the parameter group where the
                  parameter/member will be sorted to. "self" key is used to denote the
                  parameter group at the module level. Possible keys, including the "self" key
                  do not have to be defined. By default all parameters are put into "default"
                  parameter group and have the learning rate defined in the optimizer,
                  it can be overriden at the:
                      - module level with “self” key, all the parameters and child
                          module s parameters will be put to that parameter group
                      - member level, which is the same as if the `param_groups` in that
                          member has key=“self” and value equal to that parameter group.
                          This is useful if members do not have `param_groups`, for
                          example torch.nn.Linear.
                      - parameter level, parameter with the same name as the key
                          will be put to that parameter group.
      
      And in the optimizer factory, parameters and their learning rates are recursively gathered.
      
      Reviewed By: shapovalov
      
      Differential Revision: D40145802
      
      fbshipit-source-id: 631c02b8d79ee1c0eb4c31e6e42dbd3d2882078a
      fe5bdb2f
  24. 03 Oct, 2022 2 commits
    • Darijan Gudelj's avatar
      load whole dataset in train loop · 37bd280d
      Darijan Gudelj authored
      Summary: Loads the whole dataset and moves it to the device and sends it to for sampling to enable full dataset heterogeneous raysampling.
      
      Reviewed By: bottler
      
      Differential Revision: D39263009
      
      fbshipit-source-id: c527537dfc5f50116849656c9e171e868f6845b1
      37bd280d
    • Darijan Gudelj's avatar
      Enable mixed frame raysampling · c311a4cb
      Darijan Gudelj authored
      Summary:
      Changed ray_sampler and metrics to be able to use mixed frame raysampling.
      
      Ray_sampler now has a new member which it passes to the pytorch3d raysampler.
      If the raybundle is heterogeneous metrics now samples images by padding xys first. This reduces memory consumption.
      
      Reviewed By: bottler, kjchalup
      
      Differential Revision: D39542221
      
      fbshipit-source-id: a6fec23838d3049ae5c2fd2e1f641c46c7c927e3
      c311a4cb
  25. 22 Sep, 2022 1 commit
    • Jeremy Reizenstein's avatar
      foreach optimizers · 209c160a
      Jeremy Reizenstein authored
      Summary: Allow using the new `foreach` option on optimizers.
      
      Reviewed By: shapovalov
      
      Differential Revision: D39694843
      
      fbshipit-source-id: 97109c245b669bc6edff0f246893f95b7ae71f90
      209c160a
  26. 08 Sep, 2022 1 commit
    • Jeremy Reizenstein's avatar
      visualize_reconstruction fixes · 6e25fe8c
      Jeremy Reizenstein authored
      Summary: Various fixes to get visualize_reconstruction running, and an interactive test for it.
      
      Reviewed By: kjchalup
      
      Differential Revision: D39286691
      
      fbshipit-source-id: 88735034cc01736b24735bcb024577e6ab7ed336
      6e25fe8c
  27. 07 Sep, 2022 1 commit
    • Jeremy Reizenstein's avatar
      hydra fix · 90b758f7
      Jeremy Reizenstein authored
      Summary: Workaround for oddity with new hydra.
      
      Reviewed By: davnov134
      
      Differential Revision: D39280639
      
      fbshipit-source-id: 76e91947f633589945446db93cf2dbc259642f8a
      90b758f7
  28. 06 Sep, 2022 1 commit
    • David Novotny's avatar
      Rename and move render_flyaround into core implicitron · c79c954d
      David Novotny authored
      Summary:
      Move the flyaround rendering function into core implicitron.
      The unblocks an example in the facebookresearch/co3d repo.
      
      Reviewed By: bottler
      
      Differential Revision: D39257801
      
      fbshipit-source-id: 6841a88a43d4aa364dd86ba83ca2d4c3cf0435a4
      c79c954d
  29. 01 Sep, 2022 1 commit
  30. 30 Aug, 2022 1 commit
    • David Novotny's avatar
      CO3Dv2 trainer configs · 1163eaab
      David Novotny authored
      Summary:
      Adds yaml configs to train selected methods on CO3Dv2.
      
      Few more updates:
      1) moved some fields to base classes so that we can check is_multisequence in experiment.py
      2) skip loading all train cameras for multisequence datasets, without this, co3d-fewview is untrainable
      3) fix bug in json index dataset provider v2
      
      Reviewed By: kjchalup
      
      Differential Revision: D38952755
      
      fbshipit-source-id: 3edac6fc8e20775aa70400bd73a0e6d52b091e0c
      1163eaab
  31. 19 Aug, 2022 1 commit
    • David Novotny's avatar
      Blender config fixes · 597bc7c7
      David Novotny authored
      Summary: Fixes the blender synthetic configs.
      
      Reviewed By: kjchalup
      
      Differential Revision: D38786095
      
      fbshipit-source-id: 6d0784ced41a3f2904f074221108cdb56bd20e7f
      597bc7c7
  32. 18 Aug, 2022 1 commit
    • Jeremy Reizenstein's avatar
      remove stray "generic_model_args" references · fdaaa299
      Jeremy Reizenstein authored
      Summary:
      generic_model_args no longer exists. Update some references to it, mostly in doc.
      
      This fixes the testing of all the yaml files in test_forward pass.
      
      Reviewed By: shapovalov
      
      Differential Revision: D38789202
      
      fbshipit-source-id: f11417efe772d7f86368b3598aa66c52b1309dbf
      fdaaa299
  33. 15 Aug, 2022 1 commit
  34. 10 Aug, 2022 1 commit
    • Jeremy Reizenstein's avatar
      implicitron readme updates · 1cd0cbff
      Jeremy Reizenstein authored
      Summary: add link in main readme
      
      Reviewed By: kjchalup
      
      Differential Revision: D38560053
      
      fbshipit-source-id: 0814febb67d0580394cfa2664e49e31ff7254bd4
      1cd0cbff