1. 17 10月, 2023 2 次提交
  2. 22 9月, 2023 1 次提交
  3. 20 9月, 2023 1 次提交
  4. 05 9月, 2023 1 次提交
  5. 26 8月, 2023 1 次提交
  6. 15 8月, 2023 1 次提交
    • Haritha Jayasinghe's avatar
      add None option for chamfer distance point reduction (#1605) · d84f274a
      Haritha Jayasinghe 创作于
      Summary:
      The `chamfer_distance` function currently allows `"sum"` or `"mean"` reduction, but does not support returning unreduced (per-point) loss terms. Unreduced losses could be useful if the user wishes to inspect individual losses, or perform additional modifications to loss terms before reduction. One example would be implementing a robust kernel over the loss.
      
      This PR adds a `None` option to the `point_reduction` parameter, similar to `batch_reduction`. In case of bi-directional chamfer loss, both the forward and backward distances are returned (a tuple of Tensors of shape `[D, N]` is returned). If normals are provided, similar logic applies to normals as well.
      
      This PR addresses issue https://github.com/facebookresearch/pytorch3d/issues/622.
      
      Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/1605
      
      Reviewed By: jcjohnson
      
      Differential Revision: D48313857
      
      Pulled By: bottler
      
      fbshipit-source-id: 35c824827a143649b04166c4817449e1341b7fd9
      d84f274a
  7. 20 7月, 2023 1 次提交
  8. 14 7月, 2023 2 次提交
    • Jeremy Reizenstein's avatar
      attempt to fix readthedocs · 57f6e792
      Jeremy Reizenstein 创作于
      Summary:
      Something's wrong with recommonmark/CommonMark/six, let's see if this fixes it.
      
      https://readthedocs.org/projects/pytorch3d/builds/21292632/
      
      ```
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/envs/latest/lib/python3.11/site-packages/sphinx/config.py", line 368, in eval_config_file
          execfile_(filename, namespace)
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/envs/latest/lib/python3.11/site-packages/sphinx/util/pycompat.py", line 150, in execfile_
          exec_(code, _globals)
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/checkouts/latest/docs/conf.py", line 25, in <module>
          from recommonmark.parser import CommonMarkParser
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/envs/latest/lib/python3.11/site-packages/recommonmark/parser.py", line 6, in <module>
          from CommonMark import DocParser, HTMLRenderer
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/envs/latest/lib/python3.11/site-packages/CommonMark/__init__.py", line 3, in <module>
          from CommonMark.CommonMark import HTMLRenderer
        File "/home/docs/checkouts/readthedocs.org/user_builds/pytorch3d/envs/latest/lib/python3.11/site-packages/CommonMark/CommonMark.py", line 18, in <module>
          HTMLunescape = html.parser.HTMLParser().unescape
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: 'HTMLParser' object has no attribute 'unescape'
      ```
      
      Reviewed By: shapovalov
      
      Differential Revision: D47471545
      
      fbshipit-source-id: 48e121e20da535b3cc46b6bd2393d28869067b8b
      57f6e792
    • Jeremy Reizenstein's avatar
      update wheel scripts · 2883a07b
      Jeremy Reizenstein 创作于
      Summary: New versions of cuda etc. I haven't committed recent changes to this for a while
      
      Reviewed By: shapovalov
      
      Differential Revision: D47396136
      
      fbshipit-source-id: d6c27f5056fa8f4a74a628fa1d831159000acf55
      2883a07b
  9. 13 7月, 2023 3 次提交
    • Jeremy Reizenstein's avatar
      switch to readthedocs.yaml · 6462aa60
      Jeremy Reizenstein 创作于
      Summary: This is needed from september 2023. As a side effect, implicitron docs should build better because typing.get_args exists etc.
      
      Reviewed By: shapovalov
      
      Differential Revision: D47363855
      
      fbshipit-source-id: a954c5b81b1e5a4435fca146a11aea0d2ca96f45
      6462aa60
    • Roman Shapovalov's avatar
      Read depth maps from OpenXR files · d851bc31
      Roman Shapovalov 创作于
      Summary:
      Blender uses OpenEXR to dump depth maps, so we have to support it.
      OpenCV requires to explicitly accepth the vulnerabilities by setting the env var before exporting.
      We can set it but I think it should be user’s responsibility.
      OpenCV error reporting is adequate, so I don’t handle the error on our side.
      
      Reviewed By: bottler
      
      Differential Revision: D47403884
      
      fbshipit-source-id: 2fcadd1df9d0efa0aea563bcfb2e3180b3c4d1d7
      d851bc31
    • Roman Shapovalov's avatar
      Fix: tensor vs array type correctness · 8164ac40
      Roman Shapovalov 创作于
      Summary:
      For fg-masking depth, we assumed np.array but passed a Tensor; for defining the default depth_mask, vice versa.
      
      Note that we change the intended behaviour for the latter, assuming that 0s are areas with empty depth. When loading depth masks, we replace NaNs with zeros, so it is sensible. It is not a BC change as that branch would crash if executed. Since there was no reports, I assume no one cared.
      
      Reviewed By: bottler
      
      Differential Revision: D47403588
      
      fbshipit-source-id: 1094104176d7d767a5657b5bbc9f5a0cc9da0ede
      8164ac40
  10. 06 7月, 2023 5 次提交
    • Emilien Garreau's avatar
      Avoid to keep in memory lengths and bins for ImplicitronRayBundle · 9446d91f
      Emilien Garreau 创作于
      Summary:
      Convert ImplicitronRayBundle to a "classic" class instead of a dataclass. This change is introduced as a way to preserve the ImplicitronRayBundle interface while allowing two outcomes:
      - init lengths arguments is now a Optional[torch.Tensor] instead of torch.Tensor
      - lengths is now a property which returns a `torch.Tensor`. The lengths property will either recompute lengths from bins or return the stored _lengths. `_lenghts` is None if bins is set. It saves us a bit of memory.
      
      Reviewed By: shapovalov
      
      Differential Revision: D46686094
      
      fbshipit-source-id: 3c75c0947216476ebff542b6f552d311024a679b
      9446d91f
    • Emilien Garreau's avatar
      Adapt RayPointRefiner and RayMarcher to support bins. · 3d011a91
      Emilien Garreau 创作于
      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 创作于
      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 创作于
      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 创作于
      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
  11. 05 7月, 2023 1 次提交
  12. 16 6月, 2023 5 次提交
  13. 14 6月, 2023 4 次提交
  14. 13 6月, 2023 2 次提交
  15. 07 6月, 2023 1 次提交
  16. 26 5月, 2023 1 次提交
  17. 24 5月, 2023 1 次提交
  18. 22 5月, 2023 1 次提交
    • Roman Shapovalov's avatar
      Serialising dynamic arrays in SQL; read-only SQLite connection in SQL Dataset · d2119c28
      Roman Shapovalov 创作于
      Summary:
      1. We may need to store arrays of unknown shape in the database. It implements and tests serialisation.
      
      2. Previously, when an inexisting metadata file was passed to SqlIndexDataset, it would try to open it and create an empty file, then crash. We now open the file in a read-only mode, so the error message is more intuitive. Note that the implementation is SQLite specific.
      
      Reviewed By: bottler
      
      Differential Revision: D46047857
      
      fbshipit-source-id: 3064ae4f8122b4fc24ad3d6ab696572ebe8d0c26
      d2119c28
  19. 19 5月, 2023 1 次提交
    • Jeremy Reizenstein's avatar
      resources fix · ff80183f
      Jeremy Reizenstein 创作于
      Summary: I don't know why RE tests sometimes fail here, but maybe it's a race condition. If that's right, this should fix it.
      
      Reviewed By: shapovalov
      
      Differential Revision: D46020054
      
      fbshipit-source-id: 20b746b09ad9bd77c2601ac681047ccc6cc27ed9
      ff80183f
  20. 17 5月, 2023 1 次提交
    • Roman Shapovalov's avatar
      Refactor: FrameDataBuilder is more extensible. · b0462598
      Roman Shapovalov 创作于
      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
  21. 14 5月, 2023 1 次提交
    • Virendra Kumar Pathak's avatar
      Softly deprecate the get_str=False flag. · d08fe6d4
      Virendra Kumar Pathak 创作于
      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
  22. 10 5月, 2023 2 次提交
    • Jeremy Reizenstein's avatar
      version 0.7.4 · 297020a4
      Jeremy Reizenstein 创作于
      Summary: version number
      
      Reviewed By: shapovalov
      
      Differential Revision: D45704549
      
      fbshipit-source-id: d63867f305b07c30ed9ea104f1494d23710fdbb7
      297020a4
    • Jeremy Reizenstein's avatar
      builds for PyTorch 2.0.1; drop 1.9 · 062e6c54
      Jeremy Reizenstein 创作于
      Summary: Drop support for PyTorch 1.9.0 and 1.9.1.
      
      Reviewed By: shapovalov
      
      Differential Revision: D45704329
      
      fbshipit-source-id: c0fe3ecf6a1eb9bcd4163785c0cb4bf4f5060f50
      062e6c54
  23. 09 5月, 2023 1 次提交
    • Roman Shapovalov's avatar
      Fix: FrameDataBuilder working with PathManager · c80180c9
      Roman Shapovalov 创作于
      Summary: In refactoring, we lost path manager here, which broke manifold storage. Fixing this.
      
      Reviewed By: bottler
      
      Differential Revision: D45574940
      
      fbshipit-source-id: 579349eaa654215a09e057be57b56b46769c986a
      c80180c9