用途:把成对的(图像,caption)转成逐图接地标注,包含清洗后的caption、带字符跨度的指代表达,以及每个表达对应的像素空间边界框。单个VLM(Gemini或任何OpenAI兼容端点)同时承担两步,作为“教师”标注器,用于生成指代表达与接地模型的训练数据。
主要能力:Step 0 表达抽取——VLM在查看图像的同时清洗caption,抽取出指代表达及字符跨度;Step 1 短语接地——针对每张图的每个表达返回像素边界框与置信分数。步骤可通过workflow.steps单独选择(完整["0","1"]、仅抽取["0"]、仅接地["1"],后者依赖step 0已产出的结果)。每步对每个样本写入检查点,重跑时跳过已处理记录;设workflow.force_reprocess: true可忽略检查点从头处理。
使用方式:输入为单个JSONL,每行含image_path(绝对或相对,相对时按data.image_root解析)与caption,可选image_id及宽高(缺失时默认1920×1080用于框裁剪)。先任选VLM端点:Gemini(vlm.backend: "gemini",需GOOGLE_API_KEY或vlm.gemini.api_key);NIM、TAO推理微服务、vLLM或自定义OpenAI兼容端点(vlm.backend: "openai",需收集base_url、model_name及可选api_key);自托管服务未启动时,资料给出对应skill或references指引先拉起服务。然后在TAO Toolkit容器(nvcr.io/nvidia/tao/tao-toolkit:6.26.3-pyt)内通过auto_label CLI运行:
auto_label generate -e /path/to/spec.yaml
results_dir=/results
image_grounding.data.input_jsonl=/data/captions.jsonl
image_grounding.data.image_root=/data/images
image_grounding.vlm.gemini.api_key=$GOOGLE_API_KEY
可用auto_label default_specs results_dir=/results module_name=auto_label生成默认spec,并设autolabel_type: "image_grounding";所有字段支持Hydra点号覆盖。
输出:results_dir下step_0_expression_extraction/annotations.jsonl(含cleaned_caption与expressions[],每项有text、expression_id、char_span、noun_chunk、空instances[])、step_1_grounding/annotations.jsonl(instances[]填入bbox:[x1,y1,x2,y2]像素坐标、score∈[0,1]、bbox_id)、results_dir/annotations.jsonl(末步副本)及step_<N>_*/.ckpt/<sample_id>.json检查点。
建议先小规模试跑5-10张图检查两步输出质量,必要时换更强模型(如gemini-2.5-pro)或提高media_resolution/max_output_tokens后以force_reprocess=true重跑,满意后再扩展至全量。限制:需TAO Toolkit容器与至少一个支持图像输入的VLM端点;并行度受API速率限制;文档未提供收费、价格或效果指标。