kornia/kornia-rs
🦀 Low-level 3D Computer Vision library in Rust
解决的问题
Kornia-rs 为 Rust 中的计算机视觉任务提供了高性能、底层的基石。它解决了对快速、线程安全的图像处理的需求,能够无缝连接原始相机数据与 PyTorch 或 TensorRT 等机器学习推理引擎,且无需进行不必要的数据拷贝。
工作原理
它使用统一的 API,根据数据所在位置自动将操作分发到 CPU 或 NVIDIA GPU。通过利用 SIMD (NEON/AVX2) 进行 CPU 任务,以及使用自定义 CUDA 内核进行 GPU 任务,它实现了实时流水线。它通过 DLPack 和 CUDA Array Interface 等标准支持零拷贝互操作性,允许将处理后的帧直接传递给深度学习模型。
适用对象
该库专为构建实时计算机视觉应用的开发者设计,例如从相机到推理的流水线、机器人技术或科学成像,这些应用既需要 Rust 的内存安全性,也需要硬件加速处理的原始性能。
亮点
- 使用 Rust 编写,具备内存和线程安全性,且没有全局解释器锁 (GIL)。
- 统一的 API,可自动处理 CPU 和 GPU 执行。
- 与 PyTorch 和 TensorRT 的零拷贝集成。
- 支持实时 V4L2 相机采集,并具备用于预处理的融合 CUDA 内核。
- 支持多种图像格式,包括 JPEG (通过 libjpeg-turbo)、PNG、TIFF 和 WebP。
- 提供 Python 绑定,支持标准和自由线程 (free-threaded) Python 构建。
相关
- 项目
- 项目
- 项目
- 项目
- 项目