LocateAnything – 英伟达推出的视觉语言定位模型
LocateAnything,由英伟达倾力打造,是一款革新性的视觉语言定位模型。它运用了前沿的并行框解码技术,使得用户仅需输入自然语言指令,便能在图像中精确锁定并勾勒出目标物体。该模型功能强大,不仅支持对画面中多个目标的识别,还能精准定位图形用户界面(GUI)中的各种元素,甚至能够进行光学字符识别(OCR)文本的检测,以及实现点级的精细指向。在硬件方面,LocateAnything在H100上达到了惊人的12.7 BPS推理速度,远超同类产品,并在LVIS等权威基准测试中斩获SOTA(State-of-the-Art)的优异成绩。其卓越性能使其在机器人操作、文档智能化处理以及自动驾驶等多个领域展现出巨大的应用潜力。
LocateAnything的核心能力概览
- 语义驱动的精准定位:能够根据用户输入的自然语言描述,在图像中准确地找出并框选出指定的特定目标。
- 密集多目标识别:支持在同一幅图像中同时检测并识别多种类别的物体,并生成详尽的边界框集合。
- 图形界面元素识别:能够识别并精确定位用户界面中的交互式组件,如按钮、文本输入框等,并支持输出点坐标。
- 文本区域检测与识别:能够定位图像中的文本区域,支持对文档、场景文字以及表格结构的识别。
- 点级精确定位:支持输出精确的点坐标,满足对目标进行细粒度指向的需求。
- 智能混合推理模式:默认采用高速并行处理模式以提升效率,在遇到复杂或易混淆的场景时,能够智能切换到更为稳健的串行模式。
LocateAnything的内在驱动力
- 并行框解码(PBD)技术:该模型将每一个边界框或定位点视为一个的单元,在单次前向计算中一次性预测出完整的坐标集
(x1,y1,x2,y2),而非传统模型逐个 token 串行生成的方式。 - 先进的模型架构:LocateAnything采用了Moon-ViT视觉编码器来捕捉图像的原始分辨率特征,并通过一个双层MLP投影器将其映射,最终输入到Qwen2.5语言解码器中进行定位推理。
- 结构化输出机制:模型输出的定位结果以结构化的语义块、框块、负样本块和结束块的形式呈现,并通过
<box>、<ref>等特殊 token 来组织和表征定位信息。 - 灵活的混合推理模式:模型在默认情况下会启用快速并行模式(MTP)以最大化处理吞吐量。当检测到格式异常或存在空间歧义时,它能够无缝地自动回退到更为精确的串行模式(NTP)。
- 纠正性重解码策略:如果在并行解码过程中发现边界框结构存在畸形或坐标出现冲突,模型会自动丢弃问题区域,并基于已验证的前缀信息,通过NTP模式重新生成修正后的结果。
LocateAnything的上手指南
- 环境搭建:首先,从GitHub克隆Eagle项目仓库,进入
Embodied目录,然后执行pip install -e .命令以完成必要的依赖库安装。 - 模型加载:导入
LocateAnythingWorker类并实例化,接着加载Hugging Face上的nvidia/LocateAnything-3B预训练模型权重。 - 目标检测实操:调用
detect()方法,传入待处理的图像以及一个包含目标类别名称的列表(例如["person", "car"]),模型将返回所有匹配目标的边界框坐标。 - 短语指代定位:使用
ground_multi()方法,输入图像和一段描述性文本(例如"people wearing red shirts"),模型将定位出符合语义描述的特定目标。 - 文本区域检测:调用
detect_text()方法,模型将自动识别图像中的所有文本区域,并输出相应的边界框集合。 - GUI元素定位:通过
ground_gui()方法可以定位界面元素。若将output_type参数设置为"point",则可以输出点坐标而非边界框。 - 点级精确指向:使用
point()方法,输入图像和描述,即可获取指定目标的精确单点坐标,适用于需要细粒度指向的任务。 - 批量推理加速:配置
la_flash运行时,并将batch_utils/添加到PYTHONPATH环境变量中。随后,调用detect_batch()方法,即可同时处理多组图像-查询对,实现批量推理。 - 结果数据解析:从输出结果中提取
<box>标签内的整数坐标(范围为0-1000),将其除以1000后,即可映射到原始图像的实际像素尺寸。 - 模型微调与适配:准备JSONL格式的数据集,使用
torchrun工具启动全量微调脚本。或者,可以选择运行LoRA脚本,仅微调投影器和低秩适配层,保持主干模型不变。
LocateAnything的突出优势
- 极致的速度表现:在单张H100 GPU上可实现12.7 BPS的推理速度,比Qwen3-VL快约10倍,比Rex-Omni快约2.5倍。
- 卓越的精度水平:在LVIS、M6Doc、ScreenSpot-Pro、DocLayNet等多个权威基准测试中均达到了业界领先的性能。
- 高度的通用性与统一性:单一模型即可胜任检测、定位、GUI、OCR、布局分析等多种任务,无需针对不同场景切换专用模型。
- 保证几何一致性:并行解码技术能够有效保留边界框内部坐标的几何耦合关系,避免了串行生成可能导致的结构畸变问题。
- 显著的显存优化:通过
la_flash运行时,在A100等消费级/数据中心GPU上,峰值显存占用可从35GB大幅降低至11GB。
LocateAnything的获取途径
- 官方项目页面:https://research.nvidia.com/labs/lpr/locate-anything/
- GitHub代码库:https://github.com/NV/**Eagle**/tree/main/Embodied
- HuggingFace模型托管:https://huggingface.co/nvidia/LocateAnything-3B
- 详细技术白皮书:https://research.nvidia.com/labs/lpr/locate-anything/LocateAnything.pdf
LocateAnything与竞品比较分析
| 对比维度 | LocateAnything-3B | Rex-Omni |
|---|---|---|
| 研发机构 | NVIDIA 英伟达 | 开源社区 |
| 产品定位 | 通用视觉语言定位与检测模型 | 通用视觉定位与理解模型 |
| 核心解码技术 | 并行框解码(PBD),单次前向预测完整边界框 | 串行/混合坐标 token 生成 |
| 推理速度(H100) | 12.7 BPS | 约 5.0 BPS |
| 速度对比 | 基准 | 慢约 2.5 倍 |
| LVIS 精度(F1@Mean) | 50.7 | 46.9 |
| COCO 精度(F1@Mean) | 54.7 | 52.9 |
| Dense200 精度 | 58.7 | 58.3 |
| DocLayNet 文档精度 | 76.8 | 70.7 |
| M6Doc 文档精度 | 70.1 | 55.6 |
| TotalText(OCR) | 43.3 | 40.6 |
| HumanRef 指代定位 | 68.8 | 65.4 |
LocateAnything的广阔应用前景
- 机器人与具身智能:赋能机器人实现更高级的视觉感知能力,能够根据语言指令精确地定位并操作目标物体。
- 文档智能解析:能够自动识别并框选出文档中的各种结构化元素,如标题、表格、段落、印章等,极大地提升文档处理效率。
- GUI自动化测试:能够精准定位界面中的按钮、输入框等交互元素,为自动化测试和机器人流程自动化(RPA)提供强大支持。
- 自动驾驶场景感知:在复杂的街景图像中,能够密集地检测车辆、行人、交通标志等,并输出高精度的边界框信息。
- 零售与仓储物流:通过简单的语言描述,能够快速定位货架上的特定商品或仓库中的目标包裹,优化库存管理和物流效率。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...


