lietorch  by princeton-vl

PyTorch library for 3D transformation groups

created 4 years ago
786 stars

Top 45.5% on sourcepulse

GitHubView on GitHub
Project Summary

LieTorch generalizes PyTorch to support 3D transformation groups like SO3 and SE3, enabling differentiable operations on these groups for computer vision tasks. It targets researchers and engineers working with 3D geometry, offering a PyTorch-native way to handle rotations, translations, and scaling within deep learning pipelines.

How It Works

LieTorch represents 3D transformations as multi-dimensional tensors, similar to torch.Tensor. It implements group operations (exponential map, logarithm map, inverse, multiplication, action on points) directly within the tangent space of each group element. This approach allows for automatic differentiation of complex group compositions, crucial for tasks like pose graph optimization and 3D registration.

Quick Start & Requirements

  • Installation: pip install git+https://github.com/princeton-vl/lietorch.git or clone recursively and run python setup.py install.
  • Prerequisites: CUDA >= 10.1, PyTorch >= 1.8. For examples: OpenCV, Open3D.
  • Setup Time: Installation from source may take up to 10 minutes.
  • Links: Examples

Highlighted Details

  • Supports SO3 (rotation), RxSO3 (rotation+scaling), SE3 (rotation+translation), and Sim3 (rotation+translation+scaling).
  • Provides differentiable operations: exp, log, inv, mul, adj, act, matrix, vec, InitFromVec.
  • Enables tangent space backpropagation for efficient gradient computation on group elements.
  • Includes examples for Pose Graph Optimization, Deep SE3/Sim3 Registration, and RGB-D SLAM/VO.

Maintenance & Community

  • Adapted from Sophus library for Lie group implementations.
  • No explicit community links (Discord/Slack) or roadmap mentioned in the README.

Licensing & Compatibility

  • License not explicitly stated in the README. Compatibility for commercial use or closed-source linking is undetermined.

Limitations & Caveats

The README does not specify the license, which is critical for commercial adoption. Community support channels and a clear roadmap are also absent, potentially indicating limited ongoing development or support.

Health Check
Last commit

2 months ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
30 stars in the last 90 days

Explore Similar Projects

Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), and
6 more.

pytorch3d by facebookresearch

0.2%
9k
PyTorch3D is a PyTorch library for 3D deep learning research
created 5 years ago
updated 1 week ago
Feedback? Help us improve.