anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Answers typed questions about satellite image patches from all 12 Sentinel-2 bands, returning a probability for each option without writing text. A Qwen3.5-0.8B fine-tune for Earth observation researchers.
EarthJev is a kit in the Research category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install -U huggingface_hub hf download dBenf/EarthJev
EarthJev is a small vision language model for Earth observation, from a team at the University of Naples Federico II. You give it a Sentinel-2 L2A patch with all 12 bands and a question with fixed options. It returns a probability for every option and never generates free text, so each answer is one of the options you declared.
Researchers and developers who classify satellite imagery and want fast, calibrated answers to fixed questions about a patch.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Earth observation | Remote sensing researchers | Ask land cover questions about Sentinel-2 patches | Asking which land cover class covers most of a patch |
| Environmental monitoring | Analysts who track land use | Check for features such as urban fabric across many patches | Asking whether a patch contains any urban area |
| Machine learning research | Developers who study efficient models | Compare its speed and accuracy with larger generative models | Timing answers per image against a generative baseline |
Skip it if you need free text descriptions, or if your imagery has only the three colour bands.
It runs in Python with transformers and torch, from a clone of the project repository. The files download on Windows, macOS or Linux.
| Use case | Who | What they get back |
|---|---|---|
| Land cover questions | Researchers | A probability for each land cover class |
| Yes or no checks | Analysts | A probability for yes and for no |
| Batch question answering | Developers | Several answers about one patch from one image encoding |
You need Python, a GPU is not named as a requirement, and the model folder.
pip install -U huggingface_hub hf download dBenf/EarthJev
Load the model from its folder, pass a 12 band array and a set of typed questions, and read the probabilities. The array stacks the 12 Sentinel-2 L2A bands, from B01 up to B12, along its first axis.
import numpy as np
from earthjev_infer import EarthJev
model = EarthJev.load(".") # this folder (downloaded with huggingface_hub.snapshot_download)
s2 = np.load("examples/S2A_MSIL2A_20170701T093031_N9999_R136_T35VPK_37_55.npy") # [12, 120, 120] uint16
answers = model.predict(s2, {
"dominant": {"type": "choice", "instructions": "Which land-cover class covers most of this patch?",
"criteria": {"artificial": "Artificial surfaces.", "agricultural": "Agricultural areas.",
"forest": "Forest and seminatural areas.", "wetlands": "Wetlands.",
"water": "Water bodies."}},
"urban": {"type": "noul", "instructions": "Is there any urban fabric in this patch?"},
})
print(answers["dominant"]) # a probability for every option| Tool | What it does |
|---|---|
| EarthJev.load | Loads the model from the downloaded folder |
| model.predict | Takes the band array and typed questions, and returns a probability per option |
You pass a 12 band patch and ask which land cover class covers most of it, with five options. The model returns a probability for each of the five, such as one for forest and one for water, and no generated text.
If you are new to this, Sentinel-2 is a satellite that images the Earth in many bands. Start with the example patch in the repository and read the probabilities for the two sample questions.
If you know the field, the model reads the logits of the option letters at one position, so every answer is valid and questions on one patch share one image encoding. The first vision layer was widened from 3 to 12 channels. The authors report calibration temperatures fitted on validation questions.
Of three training runs, the authors kept the one with the best validation accuracy, 85.63 percent over 36,698 questions. In the card's tests it was several times faster than generative models of similar accuracy.
| Model | Accuracy percent | Milliseconds per question |
|---|---|---|
| EarthJev | 86.0 | 19.9 |
| Qwen3.5-0.8B, generative | 86.8 | 134.7 |
| InternVL3-2B, LoRA | 87.1 | 84.5 |
Answers typed questions about satellite image patches from all 12 Sentinel-2 bands, returning a probability for each option without writing text. A Qwen3.5-0.8B fine-tune for Earth observation researchers.
Made by dBenf on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.
What it is: EarthJev is a small vision language model for Earth observation, from a team at the University of Naples Federico II. You give it a Sentinel-2 L2A patch with all 12 bands and a question with fixed options. It returns a probability for every option and never generates free text, so each answer is one of the options you declared.
Who it suits: Researchers and developers who classify satellite imagery and want fast, calibrated answers to fixed questions about a patch.
Industry | Who uses it | How they use it | Example
Earth observation | Remote sensing researchers | Ask land cover questions about Sentinel-2 patches | Asking which land cover class covers most of a patch
Environmental monitoring | Analysts who track land use | Check for features such as urban fabric across many patches | Asking whether a patch contains any urban area
Machine learning research | Developers who study efficient models | Compare its speed and accuracy with larger generative models | Timing answers per image against a generative baseline
Skip it if you need free text descriptions, or if your imagery has only the three colour bands.
Where to use it: It runs in Python with transformers and torch, from a clone of the project repository. The files download on Windows, macOS or Linux.
Use case | Who | What they get back
Land cover questions | Researchers | A probability for each land cover class
Yes or no checks | Analysts | A probability for yes and for no
Batch question answering | Developers | Several answers about one patch from one image encoding
How to set it up: You need Python, a GPU is not named as a requirement, and the model folder.
pip install -U huggingface_hub
hf download dBenf/EarthJev
How to use it: Load the model from its folder, pass a 12 band array and a set of typed questions, and read the probabilities. The array stacks the 12 Sentinel-2 L2A bands, from B01 up to B12, along its first axis.
import numpy as np
from earthjev_infer import EarthJev
model = EarthJev.load(".") # this folder (downloaded with huggingface_hub.snapshot_download)
s2 = np.load("examples/S2A_MSIL2A_20170701T093031_N9999_R136_T35VPK_37_55.npy") # [12, 120, 120] uint16
answers = model.predict(s2, {
"dominant": {"type": "choice", "instructions": "Which land-cover class covers most of this patch?",
"criteria": {"artificial": "Artificial surfaces.", "agricultural": "Agricultural areas.",
"forest": "Forest and seminatural areas.", "wetlands": "Wetlands.",
"water": "Water bodies."}},
"urban": {"type": "noul", "instructions": "Is there any urban fabric in this patch?"},
})
print(answers["dominant"]) # a probability for every option
Tool | What it does
EarthJev.load | Loads the model from the downloaded folder
model.predict | Takes the band array and typed questions, and returns a probability per option
Example: You pass a 12 band patch and ask which land cover class covers most of it, with five options. The model returns a probability for each of the five, such as one for forest and one for water, and no generated text.
For newcomers and experts: If you are new to this, Sentinel-2 is a satellite that images the Earth in many bands. Start with the example patch in the repository and read the probabilities for the two sample questions.
If you know the field, the model reads the logits of the option letters at one position, so every answer is valid and questions on one patch share one image encoding. The first vision layer was widened from 3 to 12 channels. The authors report calibration temperatures fitted on validation questions.
12 band patch and typed question
One image encoding is shared
Option letter logits are read
A probability per option returns
Good to know: Of three training runs, the authors kept the one with the best validation accuracy, 85.63 percent over 36,698 questions. In the card's tests it was several times faster than generative models of similar accuracy.
Title: Card test on CORINE questions
Model | Accuracy percent | Milliseconds per question
EarthJev | 86.0 | 19.9
Qwen3.5-0.8B, generative | 86.8 | 134.7
InternVL3-2B, LoRA | 87.1 | 84.5
Download its files with Hugging Face's command line:
pip install -U huggingface_hub
hf download dBenf/EarthJev
Then follow the usage in its model card. Nothing in this kit runs by itself.
README.md 6 KB
Listed Hugging Face models in the same category that share the most tags with this one.
| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
|---|---|---|---|---|---|
| EarthJev This page | 159 | 2 | 1.1B | apache-2.0 | |
| MANTA-27BShares calibration · decision-model · transformers | 46 | 4 | 27.5B | apache-2.0 | |
| Qwen-Drive-1.0-4BShares visual-question-answering · image-text-to-text · transformers | 7,740 | 259 | 4.5B | apache-2.0 | |
| Qwen-Image-BenchShares qwen3_5 · image-text-to-text · transformers | 20,875 | 116 | 27.4B | apache-2.0 | |
| NV-Reason-CTShares qwen3_5 · image-text-to-text · transformers | 5,524 | 94 | 5.3B | openmdw-1.1 | |
| Qwen3.5-0.8B-weight-space-programmingShares qwen3_5 · image-text-to-text · transformers | 4,374 | 137 | 873M | apache-2.0 |
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
AbdomenAtlas · Kit
Detects and outlines tumors in 9 organs on CT scans, trained with the R-Super method that learns from radiology reports. A research model for medical imaging g…
zimmerk4 · Kit
Plays the full game Getting Over It from the bottom to the end with a small trained policy network that learned inside a JAX physics simulator. For reinforceme…
yuji-nozawa · Kit
Pretrained vision transformer checkpoints in three sizes from a research paper on training attention heads to focus on image regions. For researchers who extra…