在计算机视觉与多模态学习领域,我们长期面临一个核心挑战:如何让机器像人类一样进行空间感知与推理?传统基于语言描述的中间推理(如"图中有一只猫在沙发上")存在根本性缺陷——文字无法精确表达空间关系,导致模型在需要精确定位的任务中表现不佳。这正是Artemis框架要解决的关键问题。
结构化视觉推理的创新性体现在三个维度:
关键突破:人类视觉认知研究表明,大脑在处理复杂场景时,首先建立空间优先级图谱(PPC区),然后才进行语义关联。Artemis通过结构化表示模拟了这一认知过程。
Artemis选择Qwen2.5-VL-3B作为基础模型,主要基于其出色的多模态对齐能力。我们进行了以下关键改造:
输入输出结构调整:
推理过程格式化:
python复制<think>
{"label": "dog", "bbox": [125,80,320,380]},
{"label": "frisbee", "bbox": [280,120,350,200]}
</think>
<answer>
The dog is chasing the frisbee at [280,120,350,200]
</answer>
采用Group Relative Policy Optimization (GRPO)算法,其奖励函数包含三个关键组件:
| 奖励类型 | 计算方式 | 权重 |
|---|---|---|
| 格式奖励 | 检查 |
0.3 |
| 答案奖励 | GIoU(预测框,真值框) × 标签相似度(ROUGE-1) | 0.4 |
| 推理过程奖励 | Σ[w(Bj)·IoU(ˆB,B)·1(sim(ˆC,C)>0.9)] (关键对象权重η=0.8) | 0.3 |
其中匈牙利算法用于预测框与真值框的最优匹配,确保奖励分配的公平性。
构建Artemis-RFT数据集时,我们发现了几个影响性能的关键因素:
冷启动数据比例:
标注转换规则:
python复制def convert_grounding(ann):
reasoning_objects = []
for obj in ann["objects"]:
if obj["is_key"]: # 关键对象标记
weight = 0.8
else:
weight = 0.2/(len(ann["objects"])-1)
reasoning_objects.append({
"label": obj["category"],
"bbox": obj["bbox"],
"weight": weight
})
return reasoning_objects
渐进式训练策略:
关键超参数:
实测发现:batch size超过128会导致奖励信号不稳定,这是GRPO的特性决定的
| 问题现象 | 根本原因 | 解决方案 |
|---|---|---|
| 边界框坐标溢出图像边界 | 回归头未做sigmoid约束 | 输出层添加Sigmoid激活 |
| 同一物体重复预测 | 匈牙利匹配阈值过高 | 将τ_IoU从0.9降至0.8 |
| 小物体检测率低 | ViT下采样率过高 | 使用高分辨率分支(1024px输入) |
| 跨域泛化能力弱 | 冷启动数据单一 | 添加5%合成数据(CAD渲染图) |
在RefCOCOg验证集上的消融实验证明:
虽然绝对提升看似不大,但在高IoU阈值(@95)下差异显著:
在MATHGLANCE几何题上的零样本表现:
markdown复制问题:证明两条线段垂直
模型推理过程:
<think>
{"label": "line_AB", "bbox": [120,150,380,150]},
{"label": "line_CD", "bbox": [250,80,250,220]}
</think>
<answer>
线段AB(水平)与CD(垂直)夹角90度,故垂直
</answer>
关键突破:传统方法在此任务上准确率<5%,而Artemis达到24.2%
在PCB缺陷检测中的迁移应用:
实测结果:
部署优化技巧:
标注工具链:
bash复制# 自动化标注辅助脚本
python generate_hints.py \
--image_dir ./inputs \
--output_dir ./hints \
--model artemis_3b \
--threshold 0.7
经过实际项目验证,这套方法在智能零售货架盘点系统中,将SKU识别准确率从82%提升至91%,同时减少了70%的标注成本。这种结构化表示的最大优势在于其可解释性——每个决策都有明确的视觉证据支持,这在医疗、自动驾驶等高风险领域尤为重要。