kornia/kornia-rs
🦀 Low-level 3D Computer Vision library in Rust
解決する課題
Kornia-rs は、Rust におけるコンピュータビジョンタスクのための高性能かつ低レベルな基盤を提供します。生のカメラデータと PyTorch や TensorRT といった機械学習推論エンジンとの間のギャップを、不要なデータコピーなしでシームレスに埋める、高速でスレッドセーフな画像処理のニーズに応えます。
仕組み
データが存在する場所に基づいて、操作を CPU または NVIDIA GPU に自動的にディスパッチする統一 API を使用します。CPU タスクには SIMD (NEON/AVX2) を、GPU タスクにはカスタム CUDA カーネルを活用することで、リアルタイムパイプラインを実現します。DLPack や CUDA Array Interface などの標準規格を通じてゼロコピーの相互運用性をサポートしており、処理済みのフレームを直接ディープラーニングモデルに渡すことが可能です。
対象ユーザー
このライブラリは、カメラから推論へのパイプライン、ロボティクス、科学的イメージングなど、Rust のメモリ安全性とハードウェアアクセラレーションによる生のパフォーマンスの両方を必要とするリアルタイムコンピュータビジョンアプリケーションを構築する開発者向けに設計されています。
ハイライト
- メモリとスレッドの安全性を確保するために Rust で記述されており、グローバルインタプリタロック (GIL) はありません。
- CPU と GPU の両方の実行を自動的に処理する統一 API。
- PyTorch および TensorRT とのゼロコピー統合。
- V4L2 カメラキャプチャと前処理用の融合 CUDA カーネルにより、リアルタイム処理に対応。
- JPEG (libjpeg-turbo 経由)、PNG、TIFF、WebP を含む幅広い画像フォーマットをサポート。
- Python バインディングが利用可能で、標準およびフリースレッド (free-threaded) Python ビルドの両方をサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト