ProjectSidewalk / ProjectSidewalk/RampNet
Prompt study for the challenger VLMs: image exemplars, elicited confidence, query ensemble
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7
- Forks
- 1
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 7
Description
Motivation
The prompt is the single biggest uncontrolled variable in the model comparison, and right now it's fixed at one untuned setting. Every prompted challenger gets the same zero-shot, text-only prompt (DETECTION_PROMPT in scripts/model_comparison/detectors.py): one definition sentence + a short negative list, temperature 0, single pass, no in-context examples. That's a reasonable prompt; we have no evidence it's a good one, and VLM grounding/counting is notoriously prompt-sensitive.
So the current results measure "these VLMs, with this one prompt" — not the VLMs' capability. Before the paper concludes general models underperform, we should establish how much of the gap is the prompt.
Experiments
- Few-shot image exemplars. Add 2–4 labeled crops to the prompt: real curb ramps and the exact confusers the models keep boxing (driveway apron, painted crosswalk, stairs). A curb ramp is a functional, context-defined class that's hard to pin in words; visual in-context examples are the highest-expected-value lever. Applies to the chat VLMs (Gemini/Qwen), and to Molmo.
- Elicit per-box confidence. Ask the chat VLMs to emit a 0–1 confidence per box. Today they're pinned at one operating point with no PR curve, while OWLv2/GDINO get a tunable sweep — a real structural disadvantage in the comparison. A score gives chat VLMs a PR curve + threshold sweep too, and lets the recall-first framing apply to them.
- Query ensemble for the open detectors (cheap, minutes):
"curb cut","wheelchair ramp at a crosswalk", a multi-query ensemble.--owlv2-query/--gdino-queryalready exist. Tells us whether their ceiling is the query or the model class (docs/model_comparison.mdNext increments #4). - (stretch) Two-stage / CoT and self-consistency — find crossings then ramps; vote over a few samples at T>0 vs one greedy pass.
Fairness constraint (important)
Tuning the prompt on richmond/bend is tuning-on-test — the exact sin docs/model_comparison.md already flags for the threshold sweep. To keep the comparison honest against RampNet's fixed operating point: tune the prompt on a dev split (clovis, once the third-city companion issue lands its GT) and report richmond/bend as a held-out envelope, or pre-register a small prompt set and report best-of-N as an explicit optimistic upper bound.
Cost / mechanics
The prompt is part of the detector signature (_VLMDetector.signature), so each variant invalidates the detection cache and re-bills. Scope it: sweep prompts on one city or a --limit subset first, pick the winner, then run full. Gemini is paid; Qwen/Molmo are cluster GPU-hours (Hyak).
Why it's worth it either way
- A best-of-N few-shot prompt still trails RampNet by ~0.2 F1 → the paper's claim gets much stronger ("we tried hard to make general models work and they still don't").
- It closes the gap → the story changes, and we want to know before a reviewer does.
Refs #39, #20, #35.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in scripts/model_comparison/detectors.py at DETECTION_PROMPT and review the comparison guidance in docs/model_comparison.md, including the existing query flags and threshold-sweep constraints. Define a scoped prompt experiment before implementing the selected variant. Done means results are reported for the dev split and held-out richmond/bend data, with costs and any best-of-N optimism made explicit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100