Spaces:
Running on Zero
title: Qwen Runner Vision — 12-Task Extraction + Fusion
emoji: 🧩
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 6.20.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: Image → 12-task JSON + fused prompt on ZeroGPU
Qwen Runner Vision — deterministic 12-task extraction + fusion
Stick an image in → get a full JSON readout. This Space showcases the vision
half of qwen-test-runner: a
deterministic-first pipeline that replaces a hallucinating VLM with hand-picked
Apache/MIT specialist models, one per task, then fuses everything into one
relational scene and a byte-deterministic prompt.
It runs the batched extraction structure on ZeroGPU.
What comes out
Per image, the full readout:
- 12 task JSONs — 11 from the specialist/derive engine
(
image_classification,bbox_grounding,ocr_text,data_type_differentiation,data_type_utilization,structural_spatial_awareness,depth_analysis,subject_fixation,segmentation,outline_association,style_structural_awareness) plussemantic_associationfrom the fusion tier — with a per-task schema-validity map. FusedScene— entities (dedup + left-to-right ids), relations, the attribute ownership cascade and the shared basin (uncertainty stored, never guessed), a voted scene block, and a quality/accounting block.prompt_fused— the deterministic natural-language prompt, plusfusion_confidence.- Overlays — detection boxes, SAM mask fills, subject box, outline, and a depth heatmap.
- Download — one row in the production column shape
(
tasks_json,tasks_valid,fused_json,prompt_fused,fusion_confidence,proc_width/height, plusstruct_*/age_auditwhen those toggles are on).
Everything is a toggle
It's a multiple-possibility system: structurer (off / Qwen3.5-0.8B / Qwen3.5-9B for
caption enrichment) · tasks (which to run/show) · vocab (COCO-80 / shapes / custom
phrases) · specialists (OCR, SAM masks, depth on/off) · detection (box/text
thresholds) · fusion (t_own, t_margin, dedup_iou, coord space) · batch
(extract_batch, gdino_batch) · optional age-gate pre-filter.
The core path needs no captions: the fusion attribute-ownership and shared-basin machinery light up when you supply captions and pick a structurer, but entities/relations/scene come from the image alone.
Model ledger (Apache-2.0 — redistributable)
| role | checkpoint |
|---|---|
| detection (hub) | IDEA-Research/grounding-dino-base |
| segmentation | facebook/sam-vit-base |
| depth | depth-anything/Depth-Anything-V2-Small-hf |
| classification / style | google/siglip2-so400m-patch14-384 |
| OCR | EasyOCR |
| structurer (optional) | Qwen/Qwen3.5-0.8B · Qwen/Qwen3.5-9B |
| age gate (optional) | nateraw/vit-age-classifier |
Hardware
Select ZeroGPU in the Space's hardware settings. large (48 GB) is enough for the
default config and the 0.8B structurer; the 9B structurer wants xlarge (96 GB). The
fusion tier is CPU-only (torch-free) and runs off the GPU.
Full-corpus production (streaming an HF dataset → published {src}-fused parquet shards)
runs in Colab via colab/produce_fused_dataset.py — this Space is the interactive showcase.