Views
No views yet
Qwen/Qwen3-VL-8B-Instruct (the base
weights are not redistributed). It is trained by Expert-Grounded Distillation (EGD): a
31B teacher VLM (Google Gemma) generates audit supervision under a prompt calibrated
against authoritative institutional field audits (on-site Road Safety Audits by ARI–BUET
faculty under the World Bank–financed RTIP-II program / LGED), the supervision is
human-reviewed, and this compact student is fine-tuned on a single leakage-free prompt.| Model / setting | Risk QWK | Exact-risk accuracy |
|---|---|---|
| Zero-shot base (Qwen3-VL-8B-Instruct) | 0.077 [0.044, 0.108] | 0.544 |
| EG-ARSA (this adapter) | 0.482 [0.454, 0.510] | 0.717 |
reports/ folder and the paper for the full
evaluation, including the multi-model comparison and human-eval rubric.1import torch
2from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
3from peft import PeftModel
4from PIL import Image
5
6BASE = "Qwen/Qwen3-VL-8B-Instruct"
7LORA = "Thamed-Chowdhury/eg-arsa-qwen3vl-8b-lora"
8
9proc = AutoProcessor.from_pretrained(BASE, trust_remote_code=True)
10model = Qwen3VLForConditionalGeneration.from_pretrained(BASE, dtype=torch.bfloat16, device_map="cuda")
11model = PeftModel.from_pretrained(model, LORA).eval()
12
13SYSTEM = ("You are a road-safety auditor applying the LGED (Local Government Engineering "
14 "Department) 12-category visual audit methodology to road imagery in Bangladesh.")
15# The canonical leakage-free instruction is FULL_AUDIT_INSTRUCTION in
16# prompts/finetune_prompts.py (shipped with the dataset and the code repo).
17INSTRUCTION = "Audit this road image for safety hazards. Return the structured JSON audit."
18
19img = Image.open("road.jpg").convert("RGB")
20msgs = [
21 {"role": "system", "content": [{"type": "text", "text": SYSTEM}]},
22 {"role": "user", "content": [{"type": "image", "image": img},
23 {"type": "text", "text": INSTRUCTION}]},
24]
25text = proc.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
26inputs = proc(text=[text], images=[img], return_tensors="pt").to("cuda")
27out = model.generate(**inputs, max_new_tokens=1024, do_sample=False)
28print(proc.tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))For exact parity with the paper, use the canonicalFULL_AUDIT_INSTRUCTION(full road scene) /SINGLE_HAZARD_INSTRUCTIONfromprompts/finetune_prompts.pyand 1024-px native resolution. See the code repo for the wrapped inference helper (apps/streetview_infer.py) and the evaluation pipeline.
q/k/v/o_proj.tasks_available.skid_resistance (friction) and drainage (wet-weather behaviour) are recoverable only
in obvious cases. All 12 categories are reported; these two score lowest.Qwen/Qwen3-VL-8B-Instruct is governed by its own license; only the adapter
is redistributed here. Because the model was distilled in part from Gemma-generated
supervision (see Data provenance & terms above), use of the model is also subject to
the Gemma Terms of Use and Prohibited Use Policy. The BD-ARSA dataset's annotations are
released under CC BY 4.0 (the street-view imagery is not redistributed).Md Thamed Bin Zaman Chowdhury and Moazzem Hossain. EG-ARSA: An Expert-Grounded Open Model for Visual Road Safety Auditing in Low-Resource Settings. arXiv:2608.23563, 2026. https://arxiv.org/abs/2608.23563
1@article{chowdhury2026egarsa,
2 title = {EG-ARSA: An Expert-Grounded Open Model for Visual Road Safety
3 Auditing in Low-Resource Settings},
4 author = {Chowdhury, Md Thamed Bin Zaman and Hossain, Moazzem},
5 journal = {arXiv preprint arXiv:2608.23563},
6 year = {2026},
7 eprint = {2608.23563},
8 archivePrefix = {arXiv},
9 primaryClass = {cs.CV},
10 doi = {10.48550/arXiv.2608.23563},
11 url = {https://arxiv.org/abs/2608.23563}
12}