Instructions to use Davidup1/GeoChrono with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Davidup1/GeoChrono with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-VL-4B-Instruct") model = PeftModel.from_pretrained(base_model, "Davidup1/GeoChrono") - Notebooks
- Google Colab
- Kaggle
GeoChrono
GeoChrono is a multimodal large language model (MLLM) tailored for long-term remote sensing interpretation. Given an image sequence spanning multiple years and a text prompt, GeoChrono generates a response through spatio-temporal reasoning — tracing, memorizing, and reasoning about the long-term evolution of geographic entities.
GeoChrono is introduced in the paper GeoChrono: Benchmarking and Rethinking Long-Term Temporal Understanding in Remote Sensing (accepted at ACM MM 2026 🔥), together with the ChronoBench benchmark and the ChronoInstruct instruction-tuning dataset.
- 📦 Code: https://github.com/IntelliSensing/GeoChrono
- 📊 Data (ChronoBench & ChronoInstruct): https://huggingface.co/datasets/Davidup1/GeoChrono-Data
Model Architecture
GeoChrono comprises four core components: i) a Visual Encoder that extracts per-frame visual features, ii) a Vision-Language Projector that maps visual representations into the language embedding space, iii) a Temporal Trajectory Encoder (TempEnc) that models per-location temporal evolution to strengthen the perception of land-cover change history, and iv) a Large Language Model (LLM) that performs multimodal reasoning and generates the textual response.
TempEnc leverages the physical prior that each geographic parcel remains spatially fixed while its semantics evolve: it decouples the spatio-temporal feature volume into per-location temporal trajectories via three stages — Spatial Context Aggregation (a lightweight 3×3 depthwise convolution), Hybrid Temporal Attention (dual-stream bidirectional + causal self-attention along the temporal axis), and Semantic Focusing (text-guided cross-attention that suppresses task-irrelevant temporal information).
The companion Coarse-to-Fine Token Compressor (C2FComp) leverages prompt text embeddings to assess the task relevance of each spatial region, selectively preserving full-resolution fine tokens for salient areas while condensing the static background into compact coarse representations — reducing visual tokens by over 56% while retaining 94.6% of the full model's performance. C2FComp is available in the code repository.
Training
GeoChrono is built upon Qwen3-VL-4B-Instruct. During training, the Vision Encoder and Vision-Language Projector are frozen; TempEnc is randomly initialized and fully fine-tuned, while the LLM backbone is tuned with LoRA (r=32, α=64, on q_proj/k_proj/v_proj/o_proj). TempEnc adopts a single-layer attention architecture. The model is trained for one epoch on ChronoInstruct (104K samples) using 4 NVIDIA H100 80GB GPUs. All images are fed at a fixed 1024×1024 resolution.
Repository Contents
| File | Description |
|---|---|
adapter_model.safetensors / adapter_config.json |
LoRA adapter for the Qwen3-VL-4B-Instruct LLM backbone |
ottc_weights.pt / ottc_config.json |
TempEnc weights and configuration (ottc is the internal codename of TempEnc) |
tokenizer.json, preprocessor_config.json, ... |
Tokenizer and processor files (identical to the base model) |
Usage
GeoChrono requires the custom TempEnc injection code from the GitHub repository — it cannot be loaded with vanilla transformers + peft alone:
git clone https://github.com/IntelliSensing/GeoChrono.git
Follow the inference / evaluation instructions in the repository README: the base model is Qwen/Qwen3-VL-4B-Instruct, on top of which the LoRA adapter is applied and the TempEnc module (ottc_weights.pt) is injected into the model forward pass.
Results on ChronoBench
GeoChrono achieves state-of-the-art performance on ChronoBench, surpassing the leading commercial MLLMs by over 20% and reaching human-level accuracy on several sub-tasks:
| Method | LCP | TR | LTM | STR | OA |
|---|---|---|---|---|---|
| Human | 97.04 | 89.78 | 91.73 | 95.56 | 92.28 |
| Gemini-3-Flash | 65.51 | 61.38 | 47.52 | 59.89 | 57.48 |
| GPT-5.4 | 43.53 | 67.57 | 39.21 | 50.42 | 56.29 |
| Qwen3-VL-32B | 43.76 | 57.88 | 24.06 | 47.23 | 46.73 |
| DVLChat-4B | 47.74 | 34.21 | 22.91 | 40.59 | 44.07 |
| GeoChrono (ours) | 88.65 | 83.03 | 68.10 | 72.92 | 78.34 |
(LCP: Land Cover Perception, TR: Temporal Recognition, LTM: Long-Term Memory, STR: Spatio-Temporal Reasoning, OA: Overall Accuracy. All values in %.)
GeoChrono also generalizes to unseen distributions: under zero-shot settings it reaches 72.9 / 42.1 / 35.7 on the three DVL-Bench sub-tasks and 59.2 on CDVQA, outperforming all remote sensing domain baselines.
License
This model is released under the Apache License 2.0. The base model Qwen3-VL-4B-Instruct is subject to its own license.
Citation
If you find GeoChrono useful, please cite our paper GeoChrono: Benchmarking and Rethinking Long-Term Temporal Understanding in Remote Sensing. The BibTeX entry will be provided here once the arXiv preprint is released — stay tuned.
Contact
For questions or feedback, please open a discussion or contact liyujie2003@bupt.edu.cn.
- Downloads last month
- 43
Model tree for Davidup1/GeoChrono
Base model
Qwen/Qwen3-VL-4B-Instruct