kornia/kornia

🐍 Geometric Computer Vision Library for Spatial AI

What it solves

Kornia 提供一个可微分的计算机视觉库,允许图像处理和几何视觉算法直接集成到深度学习流水线中。它消除了在非可微分库(如 OpenCV)与深度学习框架之间切换的需求,使视觉任务能够使用自动微分和 GPU 加速。

How it works

基于 PyTorch 构建,Kornia 将视觉算子实现为可微分模块。这使得梯度可以在图像变换、滤波和几何操作中传播。它支持批量变换,并提供完整的工具套件,包括:

  • Image Processing:可微分滤波器(Gaussian、Sobel)、颜色转换和形态学操作。
  • Augmentations:复杂的数据增强流水线(例如 RandAugment),支持 GPU 加速。
  • Geometry:相机标定、立体视觉和 3D 变换工具。
  • AI Models:集成预训练模型,用于人脸检测、特征匹配(LoFTR、LightGlue)和分割(SAM)。

Who it’s for

此库面向从事计算机视觉的 AI 研究者和开发者,特别是使用 PyTorch、需要在可微分框架内执行复杂图像操作进行训练或推理的人群。

Highlights

  • Differentiable Operators:超过 500 个支持自动微分的算子。
  • GPU Acceleration:与 PyTorch 无缝集成,提供高性能处理。
  • Multi-framework Support:通过 Ivy 兼容 TensorFlow、JAX 和 NumPy。
  • Half-Precision Support:支持 float16 和 bfloat16,优化内存和速度。
  • End-to-End Vision:将重点转向集成视觉语言模型(VLM)和视觉语言代理(VLA)。