This release includes several very significant bug fixes and performance improvements as well as some new features for rendering, dataloading and visualization. Please read the breaking changes carefully and update your code accordingly for this new PyTorch3D version.
Breaking changes
This commit changes the cameras objects and will affect you if (a) you use a cameras object with non-square images, (b) you call the transform_points_screen method, (c) you initialise a cameras object in screen space, i.e. you have been specifying image_size. See here for more details on the changes and how to update your code.
The functions random_rotations, random_rotation and random_quaternions no longer have a potentially confusing requires_grad parameter. | commit
The call pytorch3d.loss.mesh_laplacian_smoothing.laplacian_cot(meshes) should now be pytorch3d.ops.cot_laplacian(meshes.verts_packed(), meshes.faces_packed()) | commit
New deprecations
The function so3_exponential_map deprecated in favor of new function so3_exp_map | commit
New features
Cameras can be defined and used regardless of coordinate system conventions. They can be defined in NDC or screen space and are converted appropriately to interface with the PyTorch3D renderers according to their conventions | commit
The standard mesh laplacian calculation has been added and now all three laplacians (standard, cot, norm) live in pytorch3d.ops.laplacian_matrices | commit
Fix to cotcurv method of the mesh_laplacian_smoothing | commit
When a Transform3D is constructed without specifying the device but with tensor data input (e.g. a rotation matrix), it will now default to the device of the tensor. | commit
Fix to frustrum culling when z_clip_value=None | commit
Fix to mesh rendering when frustrum culling culls everything | commit
Mesh renderer stability with very small faces | commit
Transform3d.to() now works to change dtype without changing device | commit
Multiple issues with shape broadcasting in lighting, shading and blending | commit
Rendering a nonsquare image when the H and W are not integer multiples commit
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pytorch3d from 0.2.0 to 0.5.0.
Release notes
Sourced from pytorch3d's releases.
... (truncated)
Commits
4046677
version 0.5.0addbe49
update tutorials for new prebuilt version4d2c060
update INSTALL.md for next release5ecce83
PyTorch 1.4 compat55aaec4
Dailyarc lint --take BLACK
0c32f09
NDC/screen cameras API fix, compatibility with renderer9a14f54
Fix circular import5eec5e2
remove type error suppressions in nerf_data_modulee794d06
Improving RayBundle docstrings1872e02
path_manager in obj_ioDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)