v0.2.0
版本发布时间: 2020-04-27 10:22:26
facebookresearch/pytorch3d最新发布版本:v0.7.7(2024-06-27 19:32:25)
Changelog
New Features
- Pointclouds Datastructure | https://github.com/facebookresearch/pytorch3d/commit/767d68a3af16b22f70dde29537334a51f98c75d6
- Support for batches of pointclouds with additional helper methods e.g.
get_bounding_boxes
- Support for batches of pointclouds with additional helper methods e.g.
- Pointclouds rendering | https://github.com/facebookresearch/pytorch3d/commit/53599770dd642f0bc59a6554bd7c46e4a8044334
- C++, CUDA and Python implementations of Pointcloud rendering with heterogeneous pointclouds. Exposed via Rasterizer, Renderer and Compositor Pytorch Classes with 3 types of Compositors available. A jupyter notebook tutorial has also been added.
- Umeyama - estimate a rigid motion between two sets of corresponding points. | https://github.com/facebookresearch/pytorch3d/commit/e5b1d6d3a3614749d2ddcae9b42e50869c8266a2
- Weighted Umeyama | https://github.com/facebookresearch/pytorch3d/commit/e37085d9990bf94c7fcee6a9df5dc8db35391608
- Iterative Closest Point Algorithm | https://github.com/facebookresearch/pytorch3d/commit/8abbe22ffbc306b7be0e2e09ba1ce167430f2c7f
- Efficient PnP algorithm to Fit 2D to 3D correspondences under perspective assumption | https://github.com/facebookresearch/pytorch3d/commit/04d8bf6a435da136331cdb33be3f5cf85a678e2c
- Pointcloud normal estimation | https://github.com/facebookresearch/pytorch3d/commit/365945b1fd097a4eed391843408c31e86f8592cb
- Supports batches of pointclouds
- Also available on the
Pointclouds
datastructure as a methodestimate_normals
- Point to Mesh distances | https://github.com/facebookresearch/pytorch3d/commit/487d4d6607a60a8be7135b334137985f40953a92
- Python, C++ and Cuda implementations of Point to Triangle Face, Face to point algorithms including array versions
- K nearest neighbors
- Multiple KNN methods for pointclouds based on the input parameters | https://github.com/facebookresearch/pytorch3d/commit/870290df345873492d88f70b942893cd3b5deb87
- KNN with heterogeneous pointclouds (i.e different numbers of points) | https://github.com/facebookresearch/pytorch3d/commit/01b5f7b228378b6d12eaa78b86fb5215d6b4eec7
- Autograd wrapper for KNN including backward pass for distances | https://github.com/facebookresearch/pytorch3d/commit/b2b0c5a4426bb907517452a6fe643eda39dd73c8
-
knn_points
function to return the neighbor points and distances -
knn_gather
function to allow gathering of additional features based on the knn indices
-
Updates to existing Operators
- Chamfer loss support for heterogeneous pointclouds | https://github.com/facebookresearch/pytorch3d/commit/790eb8c4020994a673033cc9b1fe92caad6281ac
- Support for chamfer loss for two batches of pointclouds where each pointcloud in the batch can have different numbers of points
- Vert align for pointcloud objects | https://github.com/facebookresearch/pytorch3d/commit/f25af9695999133667ee76734c3139465b445a6a
- Cameras
-
unproject_points
function to convert from screen to world coordinates | https://github.com/facebookresearch/pytorch3d/commit/365945b1fd097a4eed391843408c31e86f8592cb -
look_at_transform
update to enable specifying theeye
(camera center) directly | https://github.com/facebookresearch/pytorch3d/commit/2480723adf1ce8a5cfca5c190f5fba7a48549f75
-
-
Transforms3D
update to allow init ofTransforms3D
class with a custom matrix | https://github.com/facebookresearch/pytorch3d/commit/90dc7a08568072375fe9f7ecc3201618fba86287 - Mesh Rendering update to enable back face culling in rasterization - this is available as a
cull_backfaces
boolean setting inraster_settings
| https://github.com/facebookresearch/pytorch3d/commit/4bf30593ffc5488a03c75a16dd118013f5d0eb5e - Mesh loading - update to
load_obj
to support loading textures as per face textures [following the approach from SoftRasterizer]. There is a new boolean argument called 'create_texture_atlasfor the
load_obj` function to enable this | https://github.com/facebookresearch/pytorch3d/commit/c9267ab7af0f72217a1ee1a0b37941a5c8fdb325 -
join_meshes_as_batch
method to create a batch of meshes from a list of Meshes objects | https://github.com/facebookresearch/pytorch3d/commit/b64fe5136002b94caaaa97720b19fc8b3ba8da3c
Bug Fixes
-
nan
check in sample points from meshes | https://github.com/facebookresearch/pytorch3d/commit/6c48ff6ad9005cfc03704c77531a4a25d1c8d843 - Texturing function reshape/view fixes | https://github.com/facebookresearch/pytorch3d/commit/5d3cc3569a03f44647857243efd0d80588a6785b
-
SfMPerspectiveCameras
projection matrix - add the principal points after the perspective divide | https://github.com/facebookresearch/pytorch3d/commit/677b0bd5aecb3069e3e8d4de41656f786cfa4312 - Enable cuda kernels to be laucnhed on any GPU (not just the default) | https://github.com/facebookresearch/pytorch3d/commit/c3d636dc8c68cb2fd36b32d8dcc4bad27e2a551b
Breaking changes
- Nearest neighbors implementation has been entirely removed - use KNN instead. | https://github.com/facebookresearch/pytorch3d/commit/3794f6753fd773fcc5a527c5ce2ce1fd2783f4c2
- There are some changes to the interface of chamfer_distance to cope with heterogenous point clouds. | https://github.com/facebookresearch/pytorch3d/commit/790eb8c4020994a673033cc9b1fe92caad6281ac
- The function
join_meshes
has been renamed tojoin_meshes_as_batch
| https://github.com/facebookresearch/pytorch3d/commit/b64fe5136002b94caaaa97720b19fc8b3ba8da3c