Summary: bin_size should be 0 not -1 for naive rasterization. See https://github.com/facebookresearch/pytorch3d/issues/1129
Reviewed By: patricklabatut
Differential Revision: D35077115
fbshipit-source-id: b81ff74f47c78429977802f7dcadfd1b96676f8c
Summary: Attempt to reduce nvcc trouble on windows by (1) avoiding flag for c++14 and (2) avoiding `torch/extension.h`, which introduces pybind11, in `.cu` files.
Reviewed By: patricklabatut
Differential Revision: D34969868
fbshipit-source-id: f3878d6a2ba9d644e87ae7b6377cb5008b4b6ce3
Summary: Using the API from D35012121 everywhere.
Reviewed By: bottler
Differential Revision: D35045870
fbshipit-source-id: dab112b5e04160334859bbe8fa2366344b6e0f70
Summary: We often want to iterate over frames in the sequence in temporal order. This diff provides the API to do that. `seq_to_idx` should probably be considered to have `protected` visibility.
Reviewed By: davnov134
Differential Revision: D35012121
fbshipit-source-id: 41896672ec35cd62f3ed4be3aa119efd33adada1
Summary:
Fixes required for MC rasterisation to work.
1) Wrong number of channels for background was used (derived from points dimensions, not features dimensions;
2) split of the results on the wrong dimension was done;
3) CORE CHANGE: blending in alpha compositor was assuming RGBA input.
Reviewed By: davnov134
Differential Revision: D34933673
fbshipit-source-id: a5cc9f201ea21e114639ab9e291a10888d495206
Summary: Fix assumption that face indices are signed in the PLY file, as reported in #1104.
Reviewed By: nikhilaravi
Differential Revision: D34892598
fbshipit-source-id: a8b23bfac1357bdc11bbbf752098319142239804
Summary: As noticed in https://github.com/facebookresearch/pytorch3d/issues/1098 , it would be useful to make this more available.
Reviewed By: nikhilaravi
Differential Revision: D34752526
fbshipit-source-id: 5a127bd557a0cd626f36bf194f22bc0a0a6a2436
Summary: As reported in https://github.com/facebookresearch/pytorch3d/pull/1100, a rasterizer couldn't be moved if it was missing the optional cameras member. Fix that. This matters because the renderer.to calls rasterizer.to, so this to() could be called even by a user who never sets a cameras member.
Reviewed By: nikhilaravi
Differential Revision: D34643841
fbshipit-source-id: 7e26e32e8bc585eb1ee533052754a7b59bc7467a
Summary: As reported in https://github.com/facebookresearch/pytorch3d/pull/1100, _num_faces_per_mesh was changing in the source mesh in join_batch. This affects both TexturesUV and TexturesAtlas
Reviewed By: nikhilaravi
Differential Revision: D34643675
fbshipit-source-id: d67bdaca7278f18a76cfb15ba59d0ea85575bd36
Summary: A scalar background color is not meant to be allowed for the point renderer. It used to be ignored with a warning, but a recent code change made it an error. It was being used, at least in the black (value=0.0) case. Re-enable it.
Reviewed By: nikhilaravi
Differential Revision: D34519651
fbshipit-source-id: d37dcf145bb7b8999c9265cf8fc39b084059dd18
Summary:
1. changed IsInsideTriangle in geometry_utils to take in min_triangle_area parameter instead of hardcoded value
2. updated point_mesh_cpu.cpp and point_mesh_cuda.[h/cu] to adapt to changes in geometry_utils function signatures
3. updated point_mesh_distance.py and test_point_mesh_distance.py to modify _C. calls
Reviewed By: bottler
Differential Revision: D34459764
fbshipit-source-id: 0549e78713c6d68f03d85fb597a13dd88e09b686
Summary: There are cases where importing pytorch3d seems to fail (internally at Meta) because of a clash between the builtin types module and ours, so rename ours.
Reviewed By: patricklabatut
Differential Revision: D34426817
fbshipit-source-id: f175448db6a4967a9a3f7bb6f595aad2ffb36455
Summary:
Run the circleci tests with a non depracated circleci image. Small fix for PyTorch 1.7.
We no longer need to manually install nvidia-docker or the CUDA driver.
Reviewed By: patricklabatut
Differential Revision: D34426816
fbshipit-source-id: d6c67bfb0ff86dff8d8f7fe7b8801657c2e80030
Summary: Small fix by adjusting the area `eps` to account for really small faces when computing point to face distances
Reviewed By: bottler
Differential Revision: D34331336
fbshipit-source-id: 51c4888ea46fefa4e31d5b0bb494a9f9d77813cd
Summary: Lower the epsilon value in the IoU3D calculation to fix small numerical issue from GH#1082
Reviewed By: bottler
Differential Revision: D34371597
fbshipit-source-id: 12443fa359b7755ef4ae60e9adf83734a1a295ae
Summary: Refactor ply_io to make it easier to add new features. Mostly taken from the starting code I attached to https://github.com/facebookresearch/pytorch3d/issues/904.
Reviewed By: patricklabatut
Differential Revision: D34375978
fbshipit-source-id: ec017d31f07c6f71ba6d97a0623bb10be1e81212
Summary: Fix tests which depended on output tensors being identical to input ones, which now fail in main PyTorch branch because of some change in autograd. The functions still work in-place.
Reviewed By: patricklabatut
Differential Revision: D34375817
fbshipit-source-id: 295ae195f75eab6c7abab412c997470d8de8add1
Summary: Use the newer eigh to avoid deprecation warnings in newer pytorch.
Reviewed By: patricklabatut
Differential Revision: D34375784
fbshipit-source-id: 40efe0d33fdfa071fba80fc97ed008cbfd2ef249
Summary:
Modified the compositor background color tests to account for either a 3rd or 4th channel. Also replaced hard coding of channel value with C.
Implemented changes to alpha channel appending logic, and cleaned up extraneous warnings and checks, per task instructions.
Fixes https://github.com/facebookresearch/pytorch3d/issues/1048
Reviewed By: bottler
Differential Revision: D34305312
fbshipit-source-id: 2176c3bdd897d1a2ba6ff4c6fa801fea889e4f02
Summary:
Add a test for Transform3d.stack, and make it work with composed transformations.
Fixes https://github.com/facebookresearch/pytorch3d/issues/1072 .
Reviewed By: patricklabatut
Differential Revision: D34211920
fbshipit-source-id: bfbd0895494ca2ad3d08a61bc82ba23637e168cc
Summary: Move this simple layer from the NeRF project into pytorch3d.
Reviewed By: shapovalov
Differential Revision: D34126972
fbshipit-source-id: a9c6d6c3c1b662c1b844ea5d1b982007d4df83e6
Summary:
When there is no "usemtl" statement in the .obj file use material from .mtl if there is one.
https://github.com/facebookresearch/pytorch3d/issues/1068
Reviewed By: bottler
Differential Revision: D34141152
fbshipit-source-id: 7a5b5cc3f0bb287dc617f68de2cd085db8f7ad94
Summary: Implements a utility function to convert from 2D coordinates in Pytorch3D NDC space to the coordinates in grid_sample.
Reviewed By: shapovalov
Differential Revision: D33741394
fbshipit-source-id: 88981653356588fe646e6dea48fe7f7298738437
Summary: D33970393 (e9fb6c27e3) ran an inference to add some typing. Remove some where it was a bit too confident. (Also fix some pyre errors in plotly_vis caused by new mismatch.)
Reviewed By: patricklabatut
Differential Revision: D34004689
fbshipit-source-id: 430182b0ff0b91be542a3120da6d6b1d2b247c59
Summary: Fix the base class annotation for unproject_points.
Reviewed By: patricklabatut
Differential Revision: D33281586
fbshipit-source-id: 1c34e8c4b30b359fcb9307507bc778ad3fecf290
Summary: Migrate away from NDCGridRaysampler and GridRaysampler to their more flexible replacements.
Reviewed By: patricklabatut
Differential Revision: D33281584
fbshipit-source-id: 65f8702e700a32d38f7cd6bda3924bb1707a0633
Summary: Add --no-cache and --no-index to all commands which try to download wheels from S3, to avoid hitting pypi.
Reviewed By: nikhilaravi
Differential Revision: D33507975
fbshipit-source-id: ee796e43cc1864e475cd73c248e9900487012f25
Summary:
Function to join a list of cameras objects into a single batched object.
FB: In the next diff I will remove the `concatenate_cameras` function in implicitron and update the callsites.
Reviewed By: nikhilaravi
Differential Revision: D33198209
fbshipit-source-id: 0c9f5f5df498a0def9dba756c984e6a946618158
Summary:
convert_to_tensors_and_broadcast had a special case for a single input, which is not used anywhere except fails to do the right thing if a TensorProperties has only one kwarg. At the moment AmbientLights may be the only way to hit the problem. Fix by removing the special case.
Fixes https://github.com/facebookresearch/pytorch3d/issues/1043
Reviewed By: nikhilaravi
Differential Revision: D33638345
fbshipit-source-id: 7a6695f44242e650504320f73b6da74254d49ac7
Summary: PyTorch 1.7.0 was in Oct 2020 and 1.7.1 was in Dec 2020. We shouldn't need older than them, maybe not even 1.7.0.
Reviewed By: patricklabatut
Differential Revision: D33507967
fbshipit-source-id: d3de09c20c44870cbe5522705f2293acc0e62af3
Summary:
The following snippet should work in more cases.
point_cloud = Pointclouds(
[pcl.points_packed() for pcl in point_clouds],
features=[pcl.features_packed() for pcl in point_clouds],
)
We therefore allow features and normals inputs to be lists which contain some (but not all) Nones.
The initialization of a Pointclouds from empty data is also made a bit better now at working out how many feature channels there are.
Reviewed By: davnov134
Differential Revision: D31795089
fbshipit-source-id: 54bf941ba80672d699ffd5ac28927740e830f8ab
Summary: Quick script to list tests to help completion of test command.
Reviewed By: patricklabatut
Differential Revision: D33279584
fbshipit-source-id: acb463106d311498449a14c1daf52434878722bf
Summary: Since coarse rasterization on cuda can overflow bins, we detect when this happens for memory safety. See https://github.com/facebookresearch/pytorch3d/issues/348 . Also try to print a warning.
Reviewed By: patricklabatut
Differential Revision: D33065604
fbshipit-source-id: 99b3c576d01b78e6d77776cf1a3e95984506c93a
Summary: Fix https://github.com/facebookresearch/pytorch3d/issues/1015. Stop relying on the fact that the dtype returned by np.random.choice (int64 on Linux, int32 on Windows) matches the dtype used by pytorch for indexing (int64 everywhere).
Reviewed By: patricklabatut
Differential Revision: D33428680
fbshipit-source-id: 716c857502cd54c563cb256f0eaca7dccd535c10