mudler/locate-anything.cpp

Port of Nvidia LocateAnything-3B on ggml

解决的问题

它提供了一种快速、轻量且无依赖的方案,用于运行NVIDIA的LocateAnything-3B模型进行开放词汇物体检测。通过将模型移植到C++和ggml,它在推理时无需Python运行时,使模型能够在CPU和GPU上高效运行。

工作原理

该项目是基于Qwen2.5-3B语言模型、MoonViT视觉塔和2层MLP投影器的视觉语言模型(VLM)的C++17推理移植版本。检测在「token空间」中进行,模型生成0到1000之间的坐标token,随后解码为边界框。支持多种解码模式(混合、慢速和快速),并利用GGUF量化技术在不牺牲检测精度的前提下减小模型体积并提升速度。

适用人群

在Python不可用或需要高性能CPU/GPU推理的环境中,需要基于文本提示(开放词汇)执行物体检测的开发者和研究人员。

主要亮点

  • 高性能:在CPU和GPU上均显著快于官方PyTorch实现。
  • 零Python依赖:推理完全在C++中处理,无需Python运行时。
  • 量化支持:提供多种GGUF量化级别(如q8_0、q4_k),以在内存使用和速度之间取得平衡。
  • 验证的准确性:边界框检测结果与官方NVIDIA实现完全一致或几乎完全一致。
  • 灵活部署:包含CLI工具和C-API,可集成到其他应用(如LocalAI)中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目