SkillAgentSearch skills...

Kornia

🐍 Geometric Computer Vision Library for Spatial AI

Install / Use

/learn @kornia/Kornia

README

<div align="center"> <p align="center"> <img width="55%" src="https://github.com/kornia/data/raw/main/kornia_banner_pixie.png" /> </p>

English | 简体中文

<!-- prettier-ignore -->

<a href="https://kornia.readthedocs.io">Docs</a><a href="https://colab.sandbox.google.com/github/kornia/tutorials/blob/master/nbs/hello_world_tutorial.ipynb">Try it Now</a><a href="https://kornia.github.io/tutorials/">Tutorials</a><a href="https://github.com/kornia/kornia-examples">Examples</a><a href="https://kornia.github.io//kornia-blog">Blog</a><a href="https://discord.gg/HfnywwpBnD">Community</a>

PyPI version Downloads star Discord Twitter License

</p> </div>

Kornia is a differentiable computer vision library that provides a rich set of differentiable image processing and geometric vision algorithms. Built on top of PyTorch, Kornia integrates seamlessly into existing AI workflows, allowing you to leverage powerful batch transformations, auto-differentiation and GPU acceleration. Whether you're working on image transformations, augmentations, or AI-driven image processing, Kornia equips you with the tools you need to bring your ideas to life.

📢 Announcement: Kornia is shifting towards end-to-end vision models. We are focusing on integrating state-of-the-art Vision Language Models (VLM) and Vision Language Agents (VLA) to provide comprehensive end-to-end vision solutions.

Key Components

  1. Differentiable Image Processing<br> Kornia provides a comprehensive suite of image processing operators, all differentiable and ready to integrate into deep learning pipelines.
    • Filters: Gaussian, Sobel, Median, Box Blur, etc.
    • Transformations: Affine, Homography, Perspective, etc.
    • Enhancements: Histogram Equalization, CLAHE, Gamma Correction, etc.
    • Edge Detection: Canny, Laplacian, Sobel, etc.
    • ... check our docs for more.
  2. Advanced Augmentations<br> Perform powerful data augmentation with Kornia’s built-in functions, ideal for training AI models with complex augmentation pipelines.
    • Augmentation Pipeline: AugmentationSequential, PatchSequential, VideoSequential, etc.
    • Automatic Augmentation: AutoAugment, RandAugment, TrivialAugment.
  3. AI Models<br> Leverage pre-trained AI models optimized for a variety of vision tasks, all within the Kornia ecosystem.
    • Face Detection: YuNet
    • Feature Matching: LoFTR, LightGlue
    • Feature Descriptor: DISK, DeDoDe, SOLD2
    • Segmentation: SAM
    • Classification: MobileViT, VisionTransformer.
<details> <summary>See here for some of the methods that we support! (>500 ops in total !)</summary>

| Category | Methods/Models | |----------------------------|---------------------------------------------------------------------------------------------------------------------| | Image Processing | - Color conversions (RGB, Grayscale, HSV, etc.)<br>- Geometric transformations (Affine, Homography, Resizing, etc.)<br>- Filtering (Gaussian blur, Median blur, etc.)<br>- Edge detection (Sobel, Canny, etc.)<br>- Morphological operations (Erosion, Dilation, etc.) | | Augmentation | - Random cropping, Erasing<br> - Random geometric transformations (Affine, flipping, Fish Eye, Perspecive, Thin plate spline, Elastic)<br>- Random noises (Gaussian, Median, Motion, Box, Rain, Snow, Salt and Pepper)<br>- Random color jittering (Contrast, Brightness, CLAHE, Equalize, Gamma, Hue, Invert, JPEG, Plasma, Posterize, Saturation, Sharpness, Solarize)<br> - Random MixUp, CutMix, Mosaic, Transplantation, etc. | | Feature Detection | - Detector (Harris, GFTT, Hessian, DoG, KeyNet, DISK and DeDoDe)<br> - Descriptor (SIFT, HardNet, TFeat, HyNet, SOSNet, and LAFDescriptor)<br>- Matching (nearest neighbor, mutual nearest neighbor, geometrically aware matching, AdaLAM LightGlue, and LoFTR) | | Geometry | - Camera models and calibration<br>- Stereo vision (epipolar geometry, disparity, etc.)<br>- Homography estimation<br>- Depth estimation from disparity<br>- 3D transformations | | Deep Learning Layers | - Custom convolution layers<br>- Recurrent layers for vision tasks<br>- Loss functions (e.g., SSIM, PSNR, etc.)<br>- Vision-specific optimizers | | Photometric Functions | - Photometric loss functions<br>- Photometric augmentations | | Filtering | - Bilateral filtering<br>- DexiNed<br>- Dissolving<br>- Guided Blur<br>- Laplacian<br>- Gaussian<br>- Non-local means<br>- Sobel<br>- Unsharp masking | | Color | - Color space conversions<br>- Brightness/contrast adjustment<br>- Gamma correction | | Stereo Vision | - Disparity estimation<br>- Depth estimation<br>- Rectification | | Image Registration | - Affine and homography-based registration<br>- Image alignment using feature matching | | Pose Estimation | - Essential and Fundamental matrix estimation<br>- PnP problem solvers<br>- Pose refinement | | Optical Flow | - Farneback optical flow<br>- Dense optical flow<br>- Sparse optical flow | | 3D Vision | - Depth estimation<br>- Point cloud operations<br> | | Image Denoising | - Gaussian noise removal<br>- Poisson noise removal | | Edge Detection | - Sobel operator<br>- Canny edge detection | | | Transformations | - Rotation<br>- Translation<br>- Scaling<br>- Shearing | | Loss Functions | - SSIM (Structural Similarity Index Measure)<br>- PSNR (Peak Signal-to-Noise Ratio)<br>- Cauchy<br>- Charbonnier<br>- Depth Smooth<br>- Dice<br>- Hausdorff<br>- Tversky<br>- Welsch<br> | | | Morphological Operations| - Dilation<br>- Erosion<br>- Opening<br>- Closing |

</details>

Half-Precision Support

| Module | float16 | bfloat16 | Notes | |--------|:-------:|:--------:|-------| | kornia.color | ⚠️ | ⚠️ | Most conversions work for both; FFT-based ops may fail | | kornia.filters | ⚠️ | ⚠️ | Basic filters work; FFT-based ops may fail on CUDA | | kornia.enhance | ⚠️ | ⚠️ | Histogram eq / gamma / ZCA work (linalg ops use cast helpers) | | kornia.morphology | ✅ | ✅ | Pure conv/pool ops; no dtype restrictions | | kornia.augmentation | ⚠️ | ⚠️ | Most ops work; precision-sensitive transforms may be inaccurate | | kornia.geometry.transform | ⚠️ | ⚠️ | Affine/warp/resize work via cast helpers; thin-plate spline may fail | | kornia.geometry.camera | ⚠️ | ⚠️ | Pinhole model and most camera ops work; StereoCamera accepts both | | kornia.geometry.calibration | ❌ | ❌ | Explicitly accepts float32/float64 only (PnP solver) | | kornia.geometry.epipolar | ⚠️ | ⚠️ | SVD/inverse use cast helpers; both dtypes work | | kornia.geometry.homography | ⚠️ | ⚠️ | Uses _torch_svd_cast — both dtypes work via casting | | kornia.geometry.liegroup | ⚠️ | ⚠️ | Most ops work via cast helpers; some linalg paths may fail | | kornia.geometry.solvers | ⚠️ | ⚠️ | Uses _torch_solve_cast — both dtypes work via casting | | kornia.geometry.subpix | ⚠️ | ⚠️ | Soft-argmax works; precision-sensitive ops may be inaccurate | | kornia.losses | ⚠️ | ⚠️ | Photometric losses work; linalg-based losses may not | | kornia.feature | ⚠️ | ⚠️ | Detectors/descriptors work; matching uses manual cdist fallback | | kornia.metrics | ⚠️ | ⚠️ | Pixel-level metrics work; linalg-based metrics may not | | kornia.models | ⚠️ | ⚠️ | Conv-based models work; attention-based models may have dtype mismatches |

✅ Supported   ⚠️ Partial   ❌ Not supported

Test results (commit 6131e98, 2026-03-21):

| Run | Passed | Failed | Skipped | Pass% | |-----|-------:|-------:|--------:|------:| | CPU float32 (baseline) | 7647 | 3 | 3269 | 99.9% | | CUDA float32 (baseline) | 7634 | 3 | 3280 | 99.9% | | CPU float16 | 6866 | 747 | 3306 | 90.1% | | CPU bfloat16 | 6838 | 812 | 3269 | **

View on GitHub
GitHub Stars11.1k
CategoryEducation
Updated6h ago
Forks1.2k

Languages

Python

Security Score

100/100

Audited on Mar 31, 2026

No findings