Rank #10 · Daily · Multimedia
Kornia: Differentiable Geometric Computer Vision for Spatial AI
The geometry toolbox torchvision doesn't have: batched, GPU-resident, and differentiable end to end.
What it does
Kornia provides differentiable image processing and geometric vision on top of PyTorch. According to the README:
- 1,200+ public operators, most with no torchvision equivalent: camera models, epipolar geometry, minimal solvers and RANSAC, feature detection, description, and matching, edges, morphology, and color spaces such as Lab and Bayer.
- Per-sample parameters in one batched call. For example, a
(B, 2)sigma for blur or(B, 3, 3)matrices forwarp_perspective. From 0.9.1, some parameter checks run on-device to avoid host syncs. - Batched minimal solvers. For example,
find_fundamental(..., method="7POINT")over(B, 7, 2)samples. - Geometry-consistent augmentation, Lie groups and rotations, homographies, and warping and sampling.
- Shipped models (LoFTR, LightGlue, DISK, DeDoDe, SAM) remain maintained, plus ONNX model chaining.
Project direction. Kornia aims to be the reference implementation and executable specification for differentiable CV and geometry in PyTorch, prioritizing conventions, conformance tests, and honest benchmarks over API growth. The model zoo is frozen for expansion: new VLM/VLA integrations need a named maintainer sponsor.
Who it's for
Robotics, SLAM, AR, and 3D-vision engineers, and ML researchers who need geometry inside the training graph, for example for self-supervised pose, differentiable warping losses, or GPU augmentation pipelines.
Stars / language / license
12,132 stars · Python · Apache-2.0
Data verified: 2026-11-03 09:04 Asia/Shanghai (GitHub API get_repository + README get_file_contents)
Trending note: +412 stars today (Trending selection captured 09:02 Asia/Shanghai)
Category tags
Multimedia · computer-vision · geometry · PyTorch · robotics · spatial-AI · differentiable
How it differs from similar projects
torchvision overlaps mainly on resizing, cropping, flipping, color jitter, and blur, and applies one parameter per call. OpenCV has very broad coverage but isn't differentiable and runs mostly on the CPU from a PyTorch perspective. PyTorch3D focuses on meshes and rendering, while Kornia focuses on image-space and multi-view geometry. For spatial AI and robotics, Kornia's focus on its core and on conformance testing (rather than adding more model wrappers) is the main reason to choose it.