by Mykola Lavreniuk, Nataliia Kussul, Andrii Shelestov, Bohdan Yailymov, Yevhenii Salii, Volodymyr Kuzin, Zoltan Szantoi
Delineate Anything is a resolution-agnostic deep learning framework for accurate agricultural field boundary detection from satellite imagery. Trained on the 22M+ instances in the FBIS-22M dataset, Delineate Anything sets a new SOTA by accurately delineating individual agricultural field boundaries across diverse satellite resolutions and geographic regions.
2025/09/07: 🚀🚀🚀 Autobounds released for convenient field boundary detection with Delineate-Anything, directly in the browser!
👉 Demo Video | Live App.2025/08/30: 🚀🚀 Our paper on Delineate-Anything accepted at ECAI 2025 🎉.2025/07/07: 🚀 Delineate-Anything integrated into the TorchGeo library.
| Method | [email protected] | [email protected]:0.95 | Latency (ms) | Size | Download |
|---|---|---|---|---|---|
| Delineate Anything S | 0.632 | 0.383 | 16.8 | 17.6 MB | Download |
| Delineate Anything | 0.720 | 0.477 | 25.0 | 125 MB | Download |
To set up the environment on a Linux system:
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
source ~/miniconda3/bin/activate
conda install -c conda-forge gdal
pip install torch==2.6.0
pip install -r requirements.txtTo set up the environment on a Windows system:
conda create --prefix=./.conda python=3.11
conda activate ./.conda
conda install -c conda-forge gdal
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt💡 Try the Colab demo first, no installation needed, or run locally if you prefer full control.
-
Place your RGB images in the
data/images/folder. If available, also include the corresponding land cover map in thedata/masks/(Three Sentinel-2 sample images and a land cover map are provided for testing.) -
Run the inference script:
python delineate.py -b batch_sample.yaml
The vectorized field boundaries will be saved as a GeoPackage in:
data/delineated/ -
(Optional) To shift the resulting vector geometries:
Shift using image pixels:
python shift.py -i PATH_TO_SRC_GPKG -o PATH_TO_DST_GPKG -s PATH_TO_SAMPLE_IMAGE -x SHIFT_PIXELS_X -y SHIFT_PIXELS_YShift using spatial units (SRS):
python shift.py -i PATH_TO_SRC_GPKG -o PATH_TO_DST_GPKG -x SHIFT_UNITS_X -y SHIFT_UNITS_Y
ℹ️ Tip: For advanced settings, refer to the instructions in delineation_config_guide.md
This project is licensed under the AGPL-3.0 License.
This code is based on Ultralytics.
If you find our work useful in your research, please consider citing it:
@article{lavreniuk2025delineateanything,
title={Delineate Anything: Resolution-Agnostic Field Boundary Delineation on Satellite Imagery},
author={Mykola Lavreniuk and Nataliia Kussul and Andrii Shelestov and Bohdan Yailymov and Yevhenii Salii and Volodymyr Kuzin and Zoltan Szantoi},
year={2025},
journal={arXiv preprint arXiv:2504.02534},
}