kornia/kornia

🐍 Geometric Computer Vision Library for Spatial AI

解決する問題

Kornia は、微分可能で GPU アクセラレーションが必要なコンピュータビジョンパイプラインを構築する問題を解決します。深層学習では、勾配が逆伝播する必要があるニューラルネットワーク内で画像操作(ぼかし、ワーピング、拡張など)を適用したいことがよくあります。従来の CV ライブラリはそのために設計されていません。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 と幾何のリファレンス実装になるためのロードマップ

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト