Install any skill in seconds. Free to start, no credit card required.
Get Started Free →nvidia/tao-generate-referring-expressions
Four-step image referring-expression pipeline: turns images plus KITTI bounding-box labels into region descriptions, scene captions, grounded referring expressions, and (optionally) verified expressions via VLM distillation.
Passed 23 of 24 test cases with the skill, and 6 of 24 without it.
and 20 more in the full report
18 fixed6 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to create a baseline configuration spec file for the auto-labeling pipeline before customizing overrides. Which CLI command generates the default spec files into my results directory?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies running auto_label default_specs. | Missed | Passed |
| Sets module_name to auto_label. | Passed | Passed |
The instructions your model reads when the skill loads.
Generate referring-expression and grounding annotations from images with KITTI-format bounding box labels. A single VLM (Gemini or any OpenAI-compatible endpoint) runs four steps: per-object region descriptions, holistic image captions, grouped grounding expressions tied to bboxes, and an optional double-check verification pass.
Transform (image, KITTI labels) pairs into a unified annotations.jsonl containing rich, grounded referring expressions. The VLM acts as a "teacher" annotator: Steps 0-1 see the image; Step 2 groups Step 0 outputs into grouping phrases with bbox lists; Step 3 (optional) re-examines those bboxes against the image and corrects mismatches.
Step 0: Region expression ──┐
├──▶ Step 2: Grounding expression ──▶ [Step 3: Double check]
Step 1: Image caption ──────┘ (optional)
bbox_2d, type, color, description).Steps 0 and 1 run in parallel within a single thread pool (they only depend on the seed records). Each step writes its own step_<N>_*/annotations.jsonl and skips already-processed images on re-run unless workflow.force_reprocess: true.
When a user wants to run this pipeline, walk through these steps:
data.image_dir, the directory containing .jpg, .jpeg, or .png images.data.kitti_label_dir, the directory containing one .txt label file per image. Each label line must use KITTI format: <type> <truncated> <occluded> <alpha> <bbox_left> <bbox_top> <bbox_right> <bbox_bottom> .... Lines with fewer than 8 fields are silently skipped. Set this even for Step 1-only runs because Steps 0 and 2 require it.annotations.jsonl from a previous run, set data.input_annotations_jsonl to that file instead of seeding from data.image_dir and data.kitti_label_dir.vlm.backend: "gemini"; require GOOGLE_API_KEY (env var or vlm.gemini.api_key).https://inference-api.nvidia.com/v1) — set vlm.backend: "openai"; collect base_url, model_name, and api_key.base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".skills/applications/tao-run-inference-service skill, which stands up a local TAO inference microservice with an OpenAI-compatible API. Before promising a specific model, check skills/applications/tao-run-inference-service/references/service.yaml for valid_network_arch_config_basenames. Once the server is up, collect base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".base_url, model_name, and (optionally) api_key; set vlm.backend: "openai".test cases passed, vs 6 / 24 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.