CoolFace
Modelpublic

5ch4um1/lfm2.5-vrsbench-EUROSAT-terrain-lora-450m

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes148downloads
Model Card

LFM2.5-VL-450M VRSBench + EuroSAT Terrain Expert

Model Description

This is a fine-tuned version of LiquidAI's LFM2.5-VL-450M vision-language model, specialized for satellite terrain classification. The model was trained in two stages:

  1. 1.VRSBench Training: Base training on VRSBench dataset
  2. 2.EuroSAT Fine-tuning: Additional training on EuroSAT land cover classification dataset

The model can classify satellite images into 10 land cover classes: AnnualCrop, Forest, HerbaceousVegetation, Highway, Industrial, Pasture, PermanentCrop, Residential, River, SeaLake.

Training Details

Stage 1: VRSBench Pre-training

  • —Base Model: LFM2.5-VL-450M
  • —Dataset: VRSBench
  • —Epochs: 1
  • —Method: LoRA (r=16, alpha=32)

Stage 2: EuroSAT Fine-tuning

  • —Base Model: VRSBench-trained model
  • —Dataset: EuroSAT (27,000 satellite images, 64x64 RGB)
  • —Training Samples: 21,600
  • —Epochs: 2
  • —Method: LoRA (r=16, alpha=32)
  • —Hardware: Local training (no Ray/distributed)

Evaluation Results

EuroSAT Test Set (5,400 images)

ModelAccuracy
Base VRSBench Model~10% (random baseline)
VRSBench + EuroSAT (this model)97.52%

The model achieves near-perfect classification accuracy on EuroSAT, demonstrating significant improvement over the base VRSBench model.

Usage

With llama.cpp

bash
# Download Q4_K_M quantized version (recommended)
wget https://huggingface.co/5ch4um1/lfm2.5-vrsbench-EUROSAT-terrain-lora-450m/resolve/main/lfm2.5-vrsbench-terrain-expert-450m-q4_k_m.gguf

# Run inference
./llama-cli -m lfm2.5-vrsbench-terrain-expert-450m-q4_k_m.gguf \
  --image satellite_image.jpg \
  -p "What type of terrain is shown in this satellite image? Choose from: AnnualCrop, Forest, HerbaceousVegetation, Highway, Industrial, Pasture, PermanentCrop, Residential, River, SeaLake."

With Transformers

python
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image

model = AutoModelForVision2Seq.from_pretrained(
    "5ch4um1/lfm2.5-vrsbench-EUROSAT-terrain-lora-450m",
    torch_dtype="auto",
    device_map="auto"
)
processor = AutoProcessor.from_pretrained("5ch4um1/lfm2.5-vrsbench-EUROSAT-terrain-lora-450m")

image = Image.open("satellite_image.jpg")
prompt = "What type of terrain is shown in this satellite image? Choose from: AnnualCrop, Forest, HerbaceousVegetation, Highway, Industrial, Pasture, PermanentCrop, Residential, River, SeaLake."

inputs = processor(text=prompt, images=image, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=20)
print(processor.decode(outputs[0], skip_special_tokens=True))

GGUF Quantizations

VersionSizeDescription
F16679 MBFull precision (16-bit)
Q8_0362 MB8-bit quantization
Q4KM219 MB4-bit quantization (recommended for most use cases)

Model Sources

Limitations

  • —The model is specialized for EuroSAT land cover classes and may not generalize to other satellite image classification tasks without additional training.
  • —Images should be similar to EuroSAT format (RGB, overhead satellite view).
  • —The model works best with 64x64 pixel images as used in training.

Training Environment

  • —Framework: Transformers + PEFT (LoRA)
  • —Hardware: Local GPU (CUDA)
  • —Training Scripts: Available in the cookbook repository