DelAny v2 — Toscana Sentinel-2 head v1
This repository packages the Delineate Anything v2 checkpoint adapted for the
Tuscany Sentinel-2 boundary-delineation pipeline.
What was trained
Starting from the official Delineate Anything v2 checkpoint, only the YOLO
segmentation head (top-level layer 23) was trained: 8,323,187 parameters out
of 62,051,411. Backbone layers 0--22 remained frozen.
Training used the geographic Toscana EuroCrops training split. Validation was
used to monitor/select the checkpoint; the held-out test split was never used
for training. The model has one field class (the internal Ultralytics class
name is item; downstream applications should expose it as field).
Required preprocessing
This is not a general raw Sentinel-2 multi-band checkpoint. Build the same
input used at training/inference:
- Select Sentinel-2 2021 acquisitions from June through October.
- Build a cloud-reduced temporal median RGB composite from B04/B03/B02.
- Apply robust 1st--99th percentile normalization to
uint8.
- Pass the result to Ultralytics in BGR channel order.
1from ultralytics import YOLO
2
3model = YOLO("model.pt")
4result = model.predict(s2_seasonal_bgr_uint8, imgsz=512, conf=0.15,
5 retina_masks=True, device=0)[0]
Starting Tuscany settings: imgsz=512, conf=0.15, then remove polygons
smaller than 2,500 m² in a metric CRS.
Files
model.pt: 119 MB Ultralytics segmentation checkpoint.
weights_manifest.json: SHA-256 and exact intended configuration.
INTEGRATION.md: backend/API and georeferencing guidance.
SHA-256 of model.pt:
3490d4afef6cf255bcd5bccb261b394e0526d18b92a55be13ba3e28ef612f07f
Scope and license
The model delineates field boundaries only; it does not classify vineyards,
olives, or other crop types. It derives from Delineate Anything v2 and carries
the upstream AGPL-3.0 license and attribution requirements.