PyTorch上の微分可能なコンピュータビジョンライブラリ:画像処理、幾何学ビジョン、データ拡張、特徴量マッチングの演算子はすべてGPUテンソル上でバッチ実行され、多くは逆伝播に対応しており、学習パイプラインに直接組み込むことができます。
スター数 12133(+412 / 24時間)
理由
- 開発者によると、公開されている演算子は1200以上あり、その多くはtorchvisionには存在しないものです:カメラモデルと極線幾何学、最小解法とRANSAC、SIFT / DISK / ALIKED / XFeat / DeDoDe / LoFTR / LightGlueなどの局所特徴量とマッチングなど。1回の呼び出しで画像ごとに異なるパラメータを使用できます
- プロジェクトの方向性は、PyTorchエコシステムにおける微分可能なビジョンおよび幾何学処理の参照実装であり、明確な規約、一貫性テスト、正確なベンチマークを重視しています。READMEには高速な部分(バッチGPU実行では画像ごとのCPU実行であるOpenCVより大幅に速い)と低速な部分(反転やトリミングなどの小規模演算子はtorchvisionより遅く、単一のuint8画像ではOpenCVの方が速い)の両方が記載されています
- 多くの演算子はtorch.compile下で動作し、大量の演算子がONNXへエクスポート可能であり、各演算子のサポート状況はドキュメントで公開されています
使い方
- pip install kornia;例:gaussian_blur2d(x, (9, 9), sigma) において、sigmaは画像ごとに異なる値を持つテンソルとすることができ、AugmentationSequentialは画像、マスク、バウンディングボックス、キーポイントに対して同じランダム変換を同期して適用します
リスク
- 固定パラメータの単純な操作であれば、数行のPyTorchまたはtorchvisionコードで十分です。半精度(FP16)はCPU上で既知の失敗ケースがあり、CUDA / MPS環境での半精度はCIによるカバレッジがありません
- 速度比較の数値は、開発者がRTX 4090上で実施したベンチマークに基づいており、ハードウェアや負荷によって変動します。老舗プロジェクト(2018年開始)ですが、今期初めてランキング入りしました。ライセンスはApache-2.0です