Delineate Anything: Resolution-Agnostic Field Boundary Delineation on Satellite Imagery
December 3, 2025 ยท View on GitHub
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.

News
2025/11/17: New paper published Delineate Anything Flow: Fast, Country-Level Field Boundary Detection from Any Source arXiv:2511.13417.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.
๐ Pre-trained Models
| Method | mAP@0.5 | mAP@0.5: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 |
โ๏ธ Environment Setup
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
# optional: pip install torch==2.6.0
pip install -r requirements.txt
To set up the environment on a Windows system:
conda create --prefix=./.conda python=3.11
conda activate ./.conda
conda install -c conda-forge gdal
# optional: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
๐ Inference
๐ก 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.yamlThe 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
License
This project is licensed under the AGPL-3.0 License.
Acknowledgements
This code is based on Ultralytics.
Citation
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},
}
@article{lavreniuk2025delineateanythingflow,
title={Delineate Anything Flow: Fast, Country-Level Field Boundary Detection from Any Source},
author={Mykola Lavreniuk and Nataliia Kussul and Andrii Shelestov and Yevhenii Salii and Volodymyr Kuzin and Sergii Skakun and Zoltan Szantoi},
year={2025},
journal={https://arxiv.org/abs/2511.13417},
}