1. 06 Jul, 2023 2 commits
    • Emilien Garreau's avatar
      Adapt RayPointRefiner and RayMarcher to support bins. · 3d011a91
      Emilien Garreau authored
      Summary:
      ## Context
      
      Bins are used in mipnerf to allow to manipulate easily intervals. For example, by doing the following, `bins[..., :-1]` you will obtain all the left coordinates of your intervals, while doing `bins[..., 1:]` is equals to the right coordinates of your intervals.
      
      We introduce here the support of bins like in MipNerf implementation.
      
      ## RayPointRefiner
      
      Small changes have been made to modify RayPointRefiner.
      - If bins is None
      
      ```
      mids = torch.lerp(ray_bundle.lengths[..., 1:], ray_bundle.lengths[…, :-1], 0.5)
      z_samples = sample_pdf(
      		mids, # [..., npt]
      		weights[..., 1:-1], # [..., npt - 1]
                     ….
                  )
      ```
      
      - If bins is not None
      In the MipNerf implementation the sampling is done on all the bins. It allows us to use the full weights tensor without slashing it.
      
      ```
      z_samples = sample_pdf(
      		ray_bundle.bins, # [..., npt + 1]
      		weights, # [..., npt]
                     ...
                  )
      ```
      
      ## RayMarcher
      
      Add a ray_deltas optional argument. If None, keep the same deltas computation from ray_lengths.
      
      Reviewed By: shapovalov
      
      Differential Revision: D46389092
      
      fbshipit-source-id: d4f1963310065bd31c1c7fac1adfe11cbeaba606
      3d011a91
    • 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
  2. 03 Oct, 2022 1 commit
    • Darijan Gudelj's avatar
      ImplicitronRayBundle · ad8907d3
      Darijan Gudelj authored
      Summary: new implicitronRayBundle with added cameraIDs and camera counts. Added to enable a single raybundle inside Implicitron and easier extension in the future. Since RayBundle is named tuple and RayBundleHeterogeneous is dataclass and RayBundleHeterogeneous cannot inherit RayBundle. So if there was no ImplicitronRayBundle every function that uses RayBundle now would have to use Union[RayBundle, RaybundleHeterogeneous] which is confusing and unecessary complicated.
      
      Reviewed By: bottler, kjchalup
      
      Differential Revision: D39262999
      
      fbshipit-source-id: ece160e32f6c88c3977e408e966789bf8307af59
      ad8907d3
  3. 25 May, 2022 1 commit
    • Jeremy Reizenstein's avatar
      move targets · 34f648ed
      Jeremy Reizenstein authored
      Summary: Move testing targets from pytorch3d/tests/TARGETS to pytorch3d/TARGETS.
      
      Reviewed By: shapovalov
      
      Differential Revision: D36186940
      
      fbshipit-source-id: a4c52c4d99351f885e2b0bf870532d530324039b
      34f648ed
  4. 21 Mar, 2022 1 commit