Skip to content

目标检测 · 视觉语言模型 · 融合

TianWen 天问

面向 检测器–VLM 融合 的通用训练框架

  • Peifu Zhang 1

1 西安电子科技大学

Apache 2.0 Python 3.9 – 3.12 PyTorch Lightning Hydra
目标检测器 YOLO · RT-DETR · DINO 视觉语言模型 Qwen2-VL · InternVL3 融合 蒸馏 · 特征 · 决策 更精准的检测 + 更丰富的语义
一个框架,三种融合策略 — 可插拔的检测器与 VLM。

摘要

一个框架,统一检测器 × VLM

TianWen 是一个模块化、可扩展的训练框架, 通过可组合的融合策略,把目标检测模型与视觉语言模型 (VLM) 结合起来以提升检测性能。 它把检测器和 VLM 当作可互换的积木:任何注册过的检测器 —— YOLOv8、YOLOv11、RT-DETR、RF-DETR 或 Grounding-DINO —— 都可以与任意注册过的 VLM(Qwen2-VL 或 InternVL3)在同一条训练管线下配对。

三种融合策略覆盖了实用的设计空间:知识蒸馏(VLM 当老师)、特征融合 (把 VLM 特征注入检测器的 backbone / neck / head)、以及 决策融合 (VLM 校验并精修检测器输出)。配置完全分层(Hydra 驱动),训练运行在 PyTorch Lightning 之上并支持多 GPU;每个组件通过插件式注册表登记,新模型或新融合模式只需一个装饰器即可接入。

方法

三种融合策略

TianWen 把"检测器–VLM 耦合"当成一个设计空间。根据你的延迟预算、数据规模、能负担的监督形式, 挑一个最合适的策略。

01 Strategy 1

知识蒸馏

VLM 当老师,检测器当学生

VLM 输出软监督信号 —— 特征图、logits 或响应分布 —— 用以指导轻量检测器。学生在不付出 VLM 推理代价的前提下,继承其语义表达能力。

featurelogitresponse
fusion:
  type: distillation
  distill_mode: feature
  temperature: 4.0
  alpha: 0.5
02 Strategy 2

特征融合

把 VLM 特征注入检测器

在检测器的 backbone / neck / head 三个层级,通过 cross-attention、adapter 或拼接的方式融入 VLM 的视觉特征。检测器保持速度,VLM 贡献语义。

backboneneckhead
fusion:
  type: feature_fusion
  fusion_level: neck
  fusion_type: cross_attention
03 Strategy 3

决策融合

VLM 校验和精修检测结果

检测器先给出候选框,VLM 作为验证者接受、重打分或重新分类每个框。适合检测器速度快、VLM 在边缘样本上判断准确的场景。

binaryconfidencereclassify
fusion:
  type: decision_fusion
  verification_mode: confidence
  score_adjustment: 0.3

可插拔模型

开箱即用的检测器与 VLM

每个模型都通过装饰器注册;新增一个模型只需要写一个包装类、加一行注册代码。

检测器

  • YOLOv8

    实时

    无锚框

  • YOLOv11

    实时

    最新版

  • RT-DETR

    Transformer

    端到端

  • RF-DETR

    Transformer

    Roboflow

  • Grounding-DINO

    开放词汇

    零样本

视觉语言模型

  • Qwen2-VL

    阿里

    多模态

  • InternVL3

    OpenGVLab

    高分辨率

快速开始

从克隆到第一次训练

bash install
# 克隆并以可编辑模式安装
git clone https://github.com/Hollis36/TianWen.git
cd TianWen
pip install -e .

# 可选扩展
pip install -e ".[dev]"      # 开发工具
pip install -e ".[rfdetr]"   # RF-DETR 支持
bash train.sh
# 使用预定义实验进行训练
python tools/train.py experiment=yolov8_qwen_distill

# 命令行组合各种策略
python tools/train.py \
    detector=yolov8 \
    vlm=qwen_vl \
    fusion=distillation \
    train.learning_rate=1e-4 \
    train.batch_size=16
bash infer.sh
# 单张图片推理
python tools/demo.py \
    --checkpoint path/to/checkpoint.ckpt \
    --image path/to/image.jpg \
    --output result.jpg

# 快速基准测试
python tools/benchmark.py --quick

架构

配置入,模型出

Hydra 配置 分层 · 可组合 detector/ vlm/ fusion/ dataset/ experiment/ 训练引擎 PyTorch Lightning 回调 · 多 GPU · 日志 检测器 tianwen/detectors/* 视觉语言模型 tianwen/vlms/* 融合策略 tianwen/fusions/* 所有模块通过 @REGISTRY 装饰器注册 — 即插即用。
分层配置流入 Lightning 训练器,分发给可插拔模块。

结果

基准测试

基准结果 — 即将公布

COCO 与领域基准上的对比表(纯检测器 vs 各融合策略)、延迟–精度曲线、消融实验,将在最终训练完成后填入此处。

方法mAP@50mAP@50:95FPS
仅检测器 — 待补充 —
+ 知识蒸馏 — 待补充 —
+ 特征融合 — 待补充 —
+ 决策融合 — 待补充 —

引用

如果 TianWen 对你有帮助

正式 preprint 与 BibTeX 将随论文发布。在此之前,请引用项目主页:

BibTeX
@misc{zhang2026tianwen,
  title  = {TianWen: A Universal Training Framework for Detection-VLM Fusion},
  author = {Zhang, Peifu},
  year   = {2026},
  note   = {Project page: https://hollis36.github.io/tianwen-project-page/},
  url    = {https://github.com/Hollis36/TianWen}
}