kornia/kornia

🐍 Geometric Computer Vision Library for Spatial AI

它解决了什么问题

Kornia 解决了构建需要可微分和 GPU 加速的计算机视觉流水线的问题。在深度学习中,您通常希望在神经网络内部应用图像操作(如模糊、扭曲或增强),而梯度需要反向传播。传统的计算机视觉库并非为此设计。Kornia 提供了数百个可微分的图像处理和几何视觉算子,可直接插入 PyTorch,因此您可以训练模型来学习变换或理解图像。

它是如何工作的

Kornia 构建在 PyTorch 之上。每个算子都实现为 PyTorch 模块或函数,因此它开箱即用地支持自动微分、批处理和 GPU 加速。该库组织为多个模块,如滤波器、颜色转换、几何(单应性、相机模型、对极几何)、增强序列、特征检测和匹配以及深度学习层。它还包括用于人脸检测、特征匹配和分割等任务的预训练模型。最近的添加包括 ONNX 模型链接和基于 Stable Diffusion 的溶解操作。该项目还有一个明确的测试和一致性框架,跟踪各模块的半精度(float16/bfloat16)支持和 CUDA 行为。

适用人群

Kornia 适用于使用 PyTorch 从事计算机视觉和深度学习的研究人员和工程师。它适合任何需要在神经网络训练循环中使用可微分图像变换、几何操作、增强流水线或预训练视觉模型的人。

亮点

  • 超过 500 个可微分操作,涵盖滤波、颜色、几何、形态学、增强等
  • 与 PyTorch 无缝集成:自动微分、批处理和 GPU 加速
  • 预训练模型包括 YuNet(人脸检测)、LoFTR 和 LightGlue(特征匹配)、SAM(分割)和 Vision Transformers
  • 高级增强流水线:序列、基于补丁、视频和自动方法,如 AutoAugment 和 RandAugment
  • 支持 ONNX 链接和导出模型
  • 广泛的半精度(float16/bfloat16)测试基础设施,带有已知失败清单以跟踪支持
  • 开源,并有一个路线图,旨在成为 PyTorch 生态系统中可微分 CV 和几何的参考实现

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目