Kornia: kornia-3d
3D computer vision and geometry library.
🚀 Overview
kornia-3d focuses on processing 3D data, including point clouds and geometric transformations, and aims to encompass everything 3D, with a roadmap toward richer 3D and map representations for large-scale environments. It provides tools for loading 3D data, performing rigid body transformations, and solving geometric problems like Perspective-n-Point (PnP), point cloud registration, and large-scale mapping
🔑 Key Features
- Point Cloud I/O: Read and write support for standard 3D formats (e.g., PLY, PCD, XYZ).
- Geometric Transforms: Apply rigid body transformations (rotation + translation) to point clouds.
- Lie Algebra Integration: Built on
kornia-algebrafor robust SE(3) and SO(3) manipulations. - Registration: Algorithms like Iterative Closest Point (ICP) for aligning point clouds.
- PnP Solvers: Solve for camera pose given 3D-2D point correspondences.
📦 Installation
Add the following to your Cargo.toml:
[]
= "0.1.0"
🛠️ Usage
Reading a Point Cloud
use ;
🧩 Modules
io: Input/Output for 3D file formats.linalg: Linear algebra utilities.ops: Operations on 3D data processing.pointcloud: Point cloud data structures and operations.pnp: Perspective-n-Point solvers.pose: Pose estimation algorithms.registration: Point cloud alignment (ICP).transforms: Geometric transformations for 3D points.
💡 Related Examples
You can find comprehensive examples in the examples folder of the repository:
pnp_demo: Example of solving the Perspective-n-Point problem.icp_registration: Point cloud registration using ICP.
🤝 Contributing
Contributions are welcome! This crate is part of the Kornia workspace. Please refer to the main repository for contribution guidelines.
📄 License
This crate is licensed under the Apache-2.0 License.