LLMDet
LLMDet 是一款荣获 CVPR 2025 亮点论文殊荣的开源目标检测工具,旨在突破传统开放词汇检测器的性能瓶颈。它创新性地引入大型语言模型(LLM)作为“导师”,通过为图像生成详细的区域级和全局描述,让检测器在训练过程中同时学习定位物体与理解语义。这种方法有效解决了现有模型在缺乏大量标注数据时,难以识别未见类别或复杂场景的难题,显著提升了模型的泛化能力和检测精度。
该技术最大的亮点在于构建了名为 GroundingCap-1M 的新数据集,并实现了检测器与大语言模型的协同进化:不仅 LLM 指导检测器变得更强大,优化后的检测器也能反哺多模态大模型,形成互利共赢的闭环。目前,LLMDet 已正式合并至主流的 Transformers 库中,并提供了便捷的 Hugging Face 在线演示,降低了使用门槛。
LLMDet 非常适合计算机视觉领域的研究人员、算法工程师以及希望探索多模态融合技术的开发者使用。无论是需要构建高精度的通用物体识别系统,还是致力于研究开放词汇检测的前沿学术团队,都能从中获得强大的基线模型与技术启发。凭借其卓越的性能表现和开放的生态集成,LLMDet 正成为连接视觉感知与语言理解的重要桥梁。
使用场景
某电商平台的算法团队正致力于构建一个能自动识别海量商品图中长尾类别(如特定款式“复古铆钉包”或稀有“多肉植物”)的智能审核系统。
没有 LLMDet 时
- 冷启动困难:面对从未在训练集中出现的新品类,传统检测器完全无法识别,必须重新收集数千张标注数据并重新训练模型。
- 语义理解缺失:模型只能机械匹配预定义类别 ID,无法理解“带流苏的红色手提包”这类复杂的自然语言描述,导致检索命中率极低。
- 标注成本高昂:为了覆盖更多类别,团队需耗费大量人力进行像素级区域标注,项目上线周期被严重拖延。
- 泛化能力薄弱:对于同一物体的不同形态或罕见视角,模型表现不稳定,漏检率居高不下。
使用 LLMDet 后
- 零样本即时检测:借助大语言模型的监督能力,LLMDet 无需额外训练即可直接检测用户输入的任意新类别名称,实现真正的“开箱即用”。
- 复杂指令精准响应:模型能深度理解图像级详细标题与区域描述的关联,准确框选出符合“阳光下枯萎的仙人掌”等细粒度描述的目标。
- 大幅降低标注依赖:利用 LLM 自动生成的高质量图文对进行协同训练,减少了对昂贵人工区域标注的依赖,数据准备效率提升数倍。
- 开放词汇性能跃升:在 LVIS 等长尾数据集上,LLMDet 展现出远超基线的泛化能力,显著降低了稀有商品的漏检率。
LLMDet 通过引入大语言模型的语义监督,彻底打破了传统目标检测器对封闭类别集的依赖,让视觉系统具备了像人类一样的开放认知与举一反三能力。
运行环境要求
- 未说明
需要 NVIDIA GPU,CUDA 12.1 (基于 pytorch==2.2.1+cu121),显存需求视模型大小而定 (Swin-L 大模型建议高显存)
未说明

快速开始
LLMDet:在大型语言模型监督下学习强大的开放词汇目标检测器
这是 LLMDet 的官方 PyTorch 实现。
🎉🎉🎉 我们的论文已被 CVPR 2025 接收为亮点论文✨,祝贺并衷心感谢所有合作作者!
如果您觉得我们的工作有所帮助,请为我们点个赞🌟
更新
- [2026.02.03] 我们发布了首个基于 MLLM 的目标嵌入模型 ObjEmbed。
- [2025.12.16] 我们发布了一系列更先进的模型 WeDetect。
- [2025.08.06] 🔥🔥🔥 LLMDet 已合并到官方
transformers==4.55.0中!安装最新版的transformers即可体验 LLMDet。 - [2025.06.06] 🔥🔥🔥 在 Hugging Face 上新增了 Gradio 演示,您现在可以直接在浏览器中试用 LLMDet。(感谢 Daniel Bourke 的宝贵贡献)
- [2025.04.07] 更新了 Hugging Face 上的演示,并发布了 Hugging Face 检查点。
- [2025.04.04] 我们的论文被选为 CVPR2025 的亮点论文。
- [2025.03.25] 更新了 mmdet 中的演示。
- [2025.02.27] 我们的论文被 CVPR2025 接受。
- [2025.01.31] 发布了代码和论文。
1 引言
近年来,开放词汇目标检测器在丰富的区域级标注数据支持下取得了令人瞩目的性能。在本工作中,我们表明,通过为每张图像生成图像级详细描述,与大型语言模型进行联合训练,可以进一步提升开放词汇目标检测器的性能。为此,我们首先收集了一个数据集 GroundingCap-1M,其中每张图像都配有相关的定位标签和一张图像级详细描述。利用该数据集,我们对开放词汇目标检测器进行了微调,训练目标包括标准的定位损失和描述生成损失。我们借助大型语言模型为每个感兴趣区域生成区域级短描述,并为整张图像生成图像级长描述。在大型语言模型的监督下,最终得到的检测器 LLMDet 显著优于基线模型,展现出更强的开放词汇能力。此外,我们还证明,改进后的 LLMDet 可以反过来构建一个更强大的多模态大模型,实现互利共赢。
2 模型库
| 模型 | APmini | APr | APc | APf | APval | APr | APc | APf |
|---|---|---|---|---|---|---|---|---|
| LLMDet Swin-T only p5 | 44.5 | 38.6 | 39.3 | 50.3 | 34.6 | 25.5 | 29.9 | 43.8 |
| LLMDet Swin-T | 44.7 | 37.3 | 39.5 | 50.7 | 34.9 | 26.0 | 30.1 | 44.3 |
| LLMDet Swin-B | 48.3 | 40.8 | 43.1 | 54.3 | 38.5 | 28.2 | 34.3 | 47.8 |
| LLMDet Swin-L | 51.1 | 45.1 | 46.1 | 56.6 | 42.0 | 31.6 | 38.8 | 50.2 |
| LLMDet Swin-L (chunk size 80) | 52.4 | 44.3 | 48.8 | 57.1 | 43.2 | 32.8 | 40.5 | 50.8 |
注:
- APmini:在 LVIS
minival数据集上评估。 - APval:在 LVIS
val 1.0数据集上评估。 - AP 均为固定 AP。
- 所有检查点和日志均可在 Hugging Face 和 ModelScope 上找到。
- 其他基准测试均使用
LLMDet Swin-T only p5进行。
3 我们的实验环境
注意:其他环境也可能适用。
- pytorch==2.2.1+cu121
- transformers==4.37.2
- numpy==1.22.2(numpy 应低于 1.24,建议使用 1.23 或 1.22 版本)
- mmcv==2.2.0, mmengine==0.10.5
- timm, deepspeed, pycocotools, lvis, jsonlines, fairscale, nltk, peft, wandb
4 数据准备(GroundingCap-1M)
|--huggingface
| |--bert-base-uncased
| |--siglip-so400m-patch14-384
| |--my_llava-onevision-qwen2-0.5b-ov-2
| |--mm_grounding_dino
| | |--grounding_dino_swin-t_pretrain_obj365_goldg_grit9m_v3det_20231204_095047-b448804b.pth
| | |--grounding_dino_swin-b_pretrain_obj365_goldg_v3de-f83eef00.pth
| | |--grounding_dino_swin-l_pretrain_obj365_goldg-34dcdc53.pth
|--grounding_data
| |--coco
| | |--annotations
| | | |--instances_train2017_vg_merged6.jsonl
| | | |--instances_val2017.json
| | | |--lvis_v1_minival_inserted_image_name.json
| | | |--lvis_od_val.json
| | |--train2017
| | |--val2017
| |--flickr30k_entities
| | |--flickr_train_vg7.jsonl
| | |--flickr30k_images
| |--gqa
| | |--gqa_train_vg7.jsonl
| | |--images
| |--llava_cap
| | |--LLaVA-ReCap-558K_tag_box_vg7.jsonl
| | |--images
| |--v3det
| | |--annotations
| | | |--v3det_2023_v1_train_vg7.jsonl
| | |--images
|--LLMDet (code)
- 预训练模型
bert-base-uncased和siglip-so400m-patch14-384直接从 Hugging Face 下载。- 为完全复现我们的结果,请从 Hugging Face 或 ModelScope 下载
my_llava-onevision-qwen2-0.5b-ov-2,该模型是我们早期探索中稍作微调的版本。我们发现原始的llava-onevision-qwen2-0.5b-ov同样可以复现结果,但用户需要先对投影器进行预训练。 - 由于 LLMDet 是基于
mm_grounding_dino微调的,请下载其检查点:swin-t、swin-b、swin-l,用于训练。
- 接地数据(GroundingCap-1M)
coco:可从 COCO 官方网站或 opendatalab 下载。lvis:LVIS 与 COCO 使用相同的图像。您可以从 这里 下载 minival 注释文件,从 这里 下载 val 1.0 注释文件。flickr30k_entities:Flickr30k 图像。gqa:GQA 图像。llava_cap:图像。v3det:V3Det 数据集可从 opendatalab 下载。- 我们生成的 jsonl 文件可在 Hugging Face 或 ModelScope 中找到。
- 对于其他评估数据集,请参考 MM-GDINO。
5 使用方法
5.1 训练
bash dist_train.sh configs/grounding_dino_swin_t.py 8 --amp
5.2 评估
bash dist_test.sh configs/grounding_dino_swin_t.py tiny.pth 8
5.3 演示
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt_tab')
nltk.download('averaged_perceptron_tagger_eng')
nltk.download('stopwords')
- 对于短语接地和指代性表达理解任务,用户应首先下载
nltk包。 - 如果在推理过程中不希望加载 LLM,请将配置中的
lmm=None进行修改。
- 开放词汇目标检测
python image_demo.py images/demo.jpeg \
configs/grounding_dino_swin_t.py --weight tiny.pth \
--text 'apple .' -c --pred-score-thr 0.4
- 短语接地
python image_demo.py images/demo.jpeg \
configs/grounding_dino_swin_t.py --weight tiny.pth \
--text 'There are many apples here.' --pred-score-thr 0.35
- 指代性表达理解
python image_demo.py images/demo.jpeg \
configs/grounding_dino_swin_t.py --weight tiny.pth \
--text 'red apple.' --tokens-positive -1 --pred-score-thr 0.4
5.4 在 Hugging Face 中使用 LLMDet
- LLMDet 现已合并到官方
transformers==4.55.0中。只需几行代码即可使用 LLMDet!
import torch
from transformers import AutoModelForZeroShotObjectDetection, AutoProcessor
from transformers.image_utils import load_image
# 准备处理器和模型
model_id = "iSEE-Laboratory/llmdet_tiny"
device = "cuda" if torch.cuda.is_available() else "cpu"
processor = AutoProcessor.from_pretrained(model_id)
模型 = AutoModelForZeroShotObjectDetection.from_pretrained(model_id).to(device)
# 准备输入
image_url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = load_image(image_url)
text_labels = [["a cat", "a remote control"]]
inputs = processor(images=image, text=text_labels, return_tensors="pt").to(device)
# 运行推理
with torch.no_grad():
outputs = model(**inputs)
# 后处理输出
results = processor.post_process_grounded_object_detection(
outputs,
threshold=0.4,
target_sizes=[(image.height, image.width)]
)
# 获取第一个图像结果
result = results[0]
for box, score, labels in zip(result["boxes"], result["scores"], result["labels"]):
box = [round(x, 2) for x in box.tolist()]
print(f"Detected {labels} with confidence {round(score.item(), 3)} at location {box}")
- 对于使用其他版本的用户,请参阅 hf_readme。
6 许可证
LLMDet 根据 Apache 2.0 许可证发布。更多信息请参阅 LICENSE 文件。
7 参考文献
如果您认为我们的工作对您的研究有所帮助,请考虑引用我们的论文。
@article{fu2025llmdet,
title={LLMDet: Learning Strong Open-Vocabulary Object Detectors under the Supervision of Large Language Models},
author={Fu, Shenghao and Yang, Qize and Mo, Qijie and Yan, Junkai and Wei, Xihan and Meng, Jingke and Xie, Xiaohua and Zheng, Wei-Shi},
journal={arXiv preprint arXiv:2501.18954},
year={2025}
}
8 致谢
我们的 LLMDet 受到众多优秀开源工作的启发,其中包括:
感谢上述项目作者开放其代码和资源!
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。