Skip to main content

AiTLAS toolbox for EO data.

Project description

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Python 3.12 License: Apache License 2.0 Documentation Status

logo

The AiTLAS toolbox (Artificial Intelligence Toolbox for Earth Observation) includes state-of-the-art machine learning methods for exploratory and predictive analysis of satellite imagery as well as repository of AI-ready Earth Observation (EO) datasets. It can be easily applied for a variety of Earth Observation tasks, such as land use and cover classification, crop type prediction, localization of specific objects (semantic segmentation), etc. The main goal of AiTLAS is to facilitate better usability and adoption of novel AI methods (and models) by EO experts, while offering easy access and standardized format of EO datasets to AI experts which allows benchmarking of various existing and novel AI methods tailored for EO data.

📢 AiTLAS 2.0 is out! 🚀

What's new

New foundation models & adapters

Foundation model RGB S1 S2 L8 DEM
AnySat 🔴 NO 🟢 YES 🟢 YES (no B1, B9, B10) 🟢 YES 🔴 NO
CACo 🟢 YES 🔴 NO 🔴 NO 🔴 NO 🔴 NO
Copernicus-FM 🟢 YES 🔴 NO 🟢 YES 🔴 NO 🔴 NO
CROMA 🔴 NO 🟢 YES 🟢 YES (no B10) 🔴 NO 🔴 NO
DOFA 🟢 YES 🔴 NO 🟢 YES 🔴 NO 🔴 NO
Galileo 🔴 NO 🟢 YES 🟢 YES (no B1, B9, B10) 🔴 NO 🔴 NO
GASSL 🟢 YES 🔴 NO 🔴 NO 🔴 NO 🔴 NO
Panopticon 🔴 NO 🟢 YES 🟢 YES (no B10) 🟢 YES 🔴 NO
Presto 🔴 NO 🟢 YES 🟢 YES (no B1, B9, B10) 🔴 NO 🔴 NO
Prithvi 🔴 NO 🔴 NO 🟢 YES (no B1, B5, B6, B7, B8, B9, B10) 🔴 NO 🔴 NO
SatMAE 🟢 YES 🔴 NO 🟢 YES (no B1, B9, B10) 🔴 NO 🔴 NO
SatMAE++ 🟢 YES 🔴 NO 🟢 YES (no B1, B9, B10) 🔴 NO 🔴 NO
Scale-MAE 🟢 YES 🔴 NO 🔴 NO 🔴 NO 🔴 NO
SeCo 🟢 YES 🔴 NO 🔴 NO 🔴 NO 🔴 NO
TerraFM 🔴 NO 🔴 NO 🟢 YES (no B10) 🔴 NO 🔴 NO
TerraMind 🟢 YES 🟢 YES 🟢 YES 🔴 NO* 🟢 YES

* Can be added as a new modality.

New model architectures

Key improvements & features

  • New build system: Complete migration to uv and pyproject.toml for faster, reproducible builds.
  • Modern infrastructure: Switched to ruff for ultra-fast linting and formatting.
  • Foundation model architecture: Implemented CompositeModel, allowing for dynamic building of backbones, necks, decoders, heads, and data-model adapters.
  • Training: Added Automatic Mixed Precision (AMP), early stopping on NaN loss, and state preservation (LR scheduler/checkpoints) for restarts.
  • Adapters: Implemented specific data-model adapters for foundation models, such as Terramind, AnySat, Galileo, and Panopticon.
  • Examples: Added Jupyter notebook examples for new foundation models and downstream tasks (e.g., change detection).

Breaking changes

  • Minimum Python version is now 3.12.
  • Removed requirements.txt in favor of pyproject.toml dependencies.
  • Namespaced foundation model classes in aitlas.models to resolve implementation collisions.

Getting started

v2.0.0

AiTLAS examples:

v1.0.0

AiTLAS Introduction https://youtu.be/-3Son1NhdDg

AiTLAS Software Architecture: https://youtu.be/cLfEZFQQiXc

AiTLAS in a nutshell: https://www.youtube.com/watch?v=lhDjiZg7RwU

AiTLAS examples:

Installation

AiTLAS requires Python 3.12. While you can use standard pip, we highly recommend uv for significantly faster installations. This will automatically handle all dependencies defined in pyproject.toml.

Option 1: Install from PyPI (recommended)

The easiest way to install AiTLAS is directly via PyPI:

uv pip install aitlas

Option 2: Install from the source

  • Clone the AiTLAS repository
git clone https://github.com/biasvariancelabs/aitlas.git
  • Go to the folder where you cloned the repo

  • Install using uv

uv pip install .
  • Or, for developers (editable mode)
uv pip install -e .
  • Verify the installation
python -c "import aitlas; print(f'AiTLAS version: {aitlas.__version__}')"
  • Running AiTLAS
python -m aitlas.run configs/example_config.json

Note: You will have to download the datasets from their respective source. You can find a link for each dataset in the respective dataset class in aitlas/datasets/ or use the AiTLAS Semantic Data Catalog


Citation

For attribution in academic contexts, please cite our work 'AiTLAS: Artificial Intelligence Toolbox for Earth Observation' published in Remote Sensing (2023) link as

@article{aitlas2023,
AUTHOR = {Dimitrovski, Ivica and Kitanovski, Ivan and Panov, Panče and Kostovska, Ana and Simidjievski, Nikola and Kocev, Dragi},
TITLE = {AiTLAS: Artificial Intelligence Toolbox for Earth Observation},
JOURNAL = {Remote Sensing},
VOLUME = {15},
YEAR = {2023},
NUMBER = {9},
ARTICLE-NUMBER = {2343},
ISSN = {2072-4292},
DOI = {10.3390/rs15092343}
}

The AiTLAS Ecosystem

AiTLAS: Benchmark Arena

An open-source benchmark framework for evaluating state-of-the-art deep learning approaches for image classification in Earth Observation (EO). To this end, it presents a comprehensive comparative analysis of more than 500 models derived from ten different state-of-the-art architectures and compare them to a variety of multi-class and multi-label classification tasks from 22 datasets with different sizes and properties. In addition to models trained entirely on these datasets, it employs benchmark models trained in the context of transfer learning, leveraging pre-trained model variants, as it is typically performed in practice. All presented approaches are general and can be easily extended to many other remote sensing image classification tasks.To ensure reproducibility and facilitate better usability and further developments, all of the experimental resources including the trained models, model configurations and processing details of the datasets (with their corresponding splits used for training and evaluating the models) are available on this repository.

repo: https://github.com/biasvariancelabs/aitlas-arena

paper: Current Trends in Deep Learning for Earth Observation: An Open-source Benchmark Arena for Image Classification , ISPRS Journal of Photogrammetry and Remote Sensing, Vol.197, pp 18-35

Semantic Data Catalog of Earth Observation (EO) datasets (beta)

A novel semantic data catalog of numerous EO datasets, pertaining to various different EO and ML tasks. The catalog, that includes properties of different datasets and provides further details for their use, is available here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aitlas-2.0.0.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aitlas-2.0.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file aitlas-2.0.0.tar.gz.

File metadata

  • Download URL: aitlas-2.0.0.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aitlas-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1b278ff55b8c3b196d7ad1cfcb3ffaa725246befb5262d68105705f841b5b1c0
MD5 34d69fcce76be36f69b9c4dd96398d64
BLAKE2b-256 3816ad0ad895d30d981d62e1718303fc8e01c6c151a56af0621e184a50caddd4

See more details on using hashes here.

File details

Details for the file aitlas-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: aitlas-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aitlas-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 185e84d62d8e7a109082ee37844524eb674ae313e1c3421af0bdefdd606f29a3
MD5 763fb2a3a68ab4e1d143c771154b057c
BLAKE2b-256 ee5fcd787c88d6d3c027c4cbf15e4dd5c287a46dc02414ed2a9cac392bd836e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page