Chactún multiclass detector

Mask R-CNN R50-FPN that detects three classes of ancient Maya feature — building, platform, aguada — in airborne lidar relief visualisations of the central Yucatán Peninsula.

Trained on the Chactún ML-ready dataset (Kokalj et al. 2023), on the ECML PKDD 2021 discovery challenge's own training split. Full experimental record, including four claims that later measurement refuted, in benjbritton/geoai-detection.

What this is for

Candidate generation, not a census. The catalogue this model produces is a probabilistic candidate layer for landscape survey. Individual detections should be treated accordingly — see Limitations.

Input specification — read this before using it on other data

The model was trained on a specific rendering, and it is only as portable as that rendering is reproducible. Three bands at 0.5 m:

band visualisation stretch
1 sky-view factor, 5 m radius, 16 directions linear 0.7 – 1.0
2 positive openness, same geometry linear 68° – 93°
3 slope inverted greyscale, linear 0° – 50°

These are the general-terrain settings from Table 3 of Kokalj et al. 2023. Applying a different stretch to the same physical quantities produces a representation the model has not seen, and performance degrades in ways that are not obvious from the output. Matching band statistics is not the same as applying the same stretch function — that was measured, and it was worse than doing nothing.

Results

Evaluated on the challenge's held-out split (tiles 1765–2093). Single seed.

metric value
segm AP 44.63
segm AP50 69.31
segm AP75 49.17
building / platform / aguada 42.39 / 55.25 / 36.24
semantic IoU (challenge convention) 0.794

For context, the published leaderboard field on that split runs 0.811–0.834 semantic IoU. Those entries are five-fold ensembles with pseudo-labeling and test-time augmentation; this is a single model. A semantic-segmentation baseline trained at matched compute scores 0.809, which locates most of the difference in the instance-versus-semantic formulation rather than in training effort.

Operating point matters more than AP for survey use. Pooled over all 2,094 tiles, at score 0.05 the detector recalls 92% of annotated structures at 188 false positives per km²; at 0.50, 75% recall at 32 FP/km². Choose against the cost of a field visit, not against the metric.

How it was trained

Mask R-CNN R50-FPN, COCO-pretrained, detectron2. The one intervention that moved the problem was D4 augmentation — the eight symmetries of a square — worth +4.16 AP over the control across five-fold cross-validation, 95% CI [+2.70, +5.61], positive on every fold, and replicated at +4.17 on this split.

It is valid here because these three bands are computed isotropically, so a rotation is label-preserving. It would not be valid on hillshade, where a fixed illumination azimuth is baked into the pixels.

Four model-side interventions were tested and came in within noise: shifted anchors, a cascade head, 960 px input, and repeat-factor oversampling. Their confidence intervals all contain zero.

Limitations

  • Aguada is band-limited, not underlearned. These three bands emphasise raised features; an aguada is a depression, and it differs from background by about two counts where a building differs by 45–60. The dataset's own authors used a fourth visualisation (local dominance) by hand to trace aguada edges. More training data will not fix this; a different band would.
  • Karst ambiguity. Weathered limestone outcrops and rejollada margins resemble informal non-rectilinear platforms. This constrains manual interpretation equally.
  • Resolution envelope roughly 0.33–1 m once tiling is handled by ground extent rather than pixel count. Aguada is the first casualty of coarse data.
  • Validation optimism. Chactún tiles resemble one another closely enough that every validation tile has a near-twin in training under any partition. The dataset carries no georeferencing, so a spatially blocked split is not possible — that is deliberate geomasking by the dataset authors, to protect undocumented sites from looting.
  • Single seed for the figures above. The cross-validated numbers carry intervals; these do not.

Attribution and licence

Weights released CC BY 4.0, matching the training data.

Kokalj, Ž., Somrak, M., et al. (2023). Machine learning-ready remote sensing data for Maya archaeology. Scientific Data 10:558. https://doi.org/10.1038/s41597-023-02455-x

If you use this model, cite the dataset. The code is MIT; the weights inherit CC BY 4.0 from the data.

Files

file
model_final.pth detectron2 checkpoint, 351 MB
config.yaml the training config, layered on the model-zoo base
inference.py minimal example: load, run on a 3-band tile, write GeoJSON

The GeoJSON follows the coordinate space of the input and records which it used, as coordinate_space. A georeferenced raster gives map coordinates in its own CRS. The Chactun tiles are ungeoreferenced by design, so they give pixel coordinates, and the script says so when it runs.

Downloads last month
7
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support