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:GPU 加速されたデータ拡張パイプライン(例:RandAugment)。
  • Geometry:カメラキャリブレーション、ステレオビジョン、3D 変換ツール。
  • AI Models:顔検出、特徴マッチング(LoFTR、LightGlue)、セグメンテーション(SAM)用の事前学習モデルを統合。

Who it’s for

PyTorch を使用し、微分可能なフレームワーク内で複雑な画像操作をトレーニングや推論に組み込みたいコンピュータビジョンの AI 研究者や開発者向けに設計されています。

Highlights

  • Differentiable Operators:自動微分をサポートする 500 以上の演算子。
  • GPU Acceleration:PyTorch とシームレスに統合され、高性能処理を実現。
  • Multi-framework Support:Ivy を介して TensorFlow、JAX、NumPy と互換性あり。
  • Half-Precision Support:float16 と bfloat16 をサポートし、メモリと速度を最適化。
  • End-to-End Vision:Vision Language Models(VLM)や Vision Language Agents(VLA)との統合に重点を置く。