Version 0.6.2
This release brings new targets and many improvements.
Builds for PyTorch 1.10.1, 1.10.2, 1.11.0, but no longer 1.6.0. Builds for Python 3.10 but no longer 3.6.
New Features
- MultinomialRaysampler and NDCMultinomialRaysampler replace GridRaysampler and NDCGridRaysampler commit which can sample using the new n_rays input and also bring stratified sampling along rays and direction normalization (also commit
- Function join_cameras_as_batch commit
- Function join_pointclouds_as_batch commit
- Camera batches can be indexed commit and commit
- Meshes.submesh function to take a set of faces from a mesh. commit and commit
- L1 support for KNN and chamfer commit
Bug fixes
- Rasterizer.to broken without cameras commit
- Joining batches of meshes with TexturesAtlas and TexturesUV broke first input meshes’ texture commit
- Transform3D.stack was entirely broken. commit which also added typing.
- The function cameras_from_opencv_projection always created on CPU #1021 commit
- Batching didn’t work for AmbientLights #1043 commit
- Pointclouds.subsample failed on windows #1015 commit
- Fit_textured_meshes tutorial now turns off perspective_correct in the final optimization, to avoid nans. commit
Improvements
- Points_normals much faster through use of symeig workaround commit
- A warning is now printed to console on rasterizer bin overflow commit
Small improvements
- MeshRendererWithFragments and matrix_to_axis_angle made more importable
- FacePointDistance, FacePointDistance and point_mesh_face_distance get min_triangle_area argument commit - default also changed in commit
- Fix for small faces in IoU3D commit
- Lower the epsilon value in the IoU3D commit
- Flexible background color for point compositing commit and commit
- In points_to_volumes, the rescaling of features is now optional. commit
- LinearWithRepeat layer clarified and moved inside PyTorch3D from the NeRF project commit
- HarmonicEmbedding moved inside pytorch3d from projects/nerf. commit and commit
- Invalid default values in Meshes.init removed commit
- Support obj files missing usemtl declarations commit
- CamerasBase.unproject_points typing commit
- Fix for Pointclouds.init in certain cases with None in a list commit
- Consistency validation for sampling_mode in joining TexturesUV commit
- Doc fix for camera space fix from v0.6.1 commit
- Doc fix for renderer pictures commit
- New ndc_grid_sample to handle grid-sampling using our NDC conventions commit
- Fix scatter_ error in cubify on CPU commit
- In Transform3D, fix some dtype inconsistencies commit
- Fixes to make windows builds happier commit
Internal
- Rename pytorch3d.common.types to pytorch3d.common.datatypes commit
- Cleanup in ply_io commit
- A major new feature, a framework for new-view synthesis via modeling neural-network based representations, called implicitron, is work in progress.
- We now use usort not isort for sorting imports.
- Future proofing calls to torch.meshgrid commit and symeig commit also commit. Also future proofing tests for a change to autograd behaviour that inplace operations don’t need to return the same object commit
- Future proofing for the loss of TH headers in pytorch (needed for PyTorch 1.11) commit and commit
- Base class for shaders introduced commit