qwen-caption-array / README.md
AbstractPhil's picture
Update README.md
5b9f834 verified
|
Raw
History Blame Contribute Delete
3.41 kB
metadata
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) plus semantic_association from 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, plus fusion_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, plus struct_*/age_audit when 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.