Contents
This release contains the LoRA adapter, auxiliary selection head, and the visual-merger state used by the selected checkpoint.
The inference code loads them on Qwen/Qwen3-VL-8B-Instruct at revision 0c351dd01ed87e9c1b53cbc748cba10e6187ff3b.
The visual encoder and merger remain frozen during training.
This is one directly trained checkpoint, not an average of checkpoints.
Use and reproduce
See SelectGround for installation, the exact training recipe, direct inference, LCR, and evaluation of all three benchmarks.
python infer.py --model ruotian/SelectGround-8B --image screenshot.png --instruction "Click the Save button"
python infer.py --model ruotian/SelectGround-8B --image screenshot.png --instruction "Click the Save button" --lcr
Output point is in original-image pixels. normalized_point uses 0–1000 coordinates.
Generation is greedy, uses at most 32 tokens, and preserves the image aspect ratio under an 8,847,360-pixel budget.
Training starts from the pinned backbone with seed 20260625 and uses ClickContrast.
The repository provides the deterministic SFT-plus-selection-loss command used to reproduce a directly trained checkpoint with comparable performance.