How chen-yang-liu/change-agent works
Change-Agent combines a multi-level remote-sensing change model with an interactive LLM-agent framework. The documented workflow starts with paired pre/post images, produces change masks and descriptive captions, and exposes interactive analysis through CLI and web demos. The model-training path uses LEVIR-MCI data and evaluation metrics; the agent framework supplies language models and executable tools. The README documents capabilities beyond the sampled excerpts, so links between the change model and agent tools are not inferred where their wiring is unverified.
Main entry points: train.py Model training · internlm2_agent.py Agent orchestration · action_executor.py Action executor · predict.py Inference
Components 25
Change interpretation
- CLI demo
Multi_change/try_chat.py - Web demo
Multi_change/web_demo.py - Inference
Multi_change/predict.py - LEVIR-MCI data
Multi_change/data/LEVIR_MCI.py - Caption preprocessing
Multi_change/preprocess_data.py - Feature encoder
Multi_change/model/model_encoder_att.py - SegFormer backbone
Multi_change/model/segformer.py - Task decoder
Multi_change/model/model_decoder.py - Model training
Multi_change/train.py
Interactive agent
- Agent orchestration
lagent-main/lagent/agents/internlm2_agent.py - Agent base
lagent-main/lagent/agents/base_agent.py
Agent framework
- Action executor
lagent-main/lagent/actions/action_executor.py - Image change action
lagent-main/lagent/actions/image_change_interpreter.py - Web search actions
lagent-main/lagent/actions/google_search.py - Python interpreter
lagent-main/lagent/actions/ipython_interpreter.py - IPython sessions
lagent-main/lagent/actions/ipython_manager.py - Language model API
lagent-main/lagent/llms/base_llm.py - vLLM backend
lagent-main/lagent/llms/vllm_wrapper.py
Evaluation
- BLEU scoring
Multi_change/eval_func/bleu/bleu.py - CIDEr scoring
Multi_change/eval_func/cider/cider.py - METEOR scoring
Multi_change/eval_func/meteor/meteor.py - ROUGE scoring
Multi_change/eval_func/rouge/rouge.py
Other components
- User
- Image pair
- Language model service
Connections 26
- User → CLI demo: starts chat
- User → Web demo: uses demo
- CLI demo → Agent orchestration: submits turns
- Web demo → Agent orchestration: submits turns
- User → Inference: provides images
- Image pair → Inference: input pair
- Inference → Feature encoder: extracts features
- Feature encoder → SegFormer backbone: uses backbone
- Inference → Task decoder: predicts tasks
- LEVIR-MCI data → Model training: provides samples
- Caption preprocessing → LEVIR-MCI data: creates caption data
- Model training → Feature encoder: trains model
- Model training → Task decoder: trains model
- Agent orchestration → Agent base: extends
- Agent orchestration → Language model API: queries model
- vLLM backend → Language model API: implements
- Language model API → Language model service: generates text
- Agent orchestration → Action executor: dispatches actions
- Action executor → Image change action: dispatches action
- Action executor → Web search actions: dispatches action
- Action executor → Python interpreter: dispatches action
- Python interpreter → IPython sessions: runs sessions
- Model training → BLEU scoring: evaluates captions
- Model training → CIDEr scoring: evaluates captions
- Model training → METEOR scoring: evaluates captions
- Model training → ROUGE scoring: evaluates captions