Downloads · 30 days
0
kavayam/s2-phenocnn
s2-phenocnn is a machine learning model from kavayam. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as apache-2.0.
A compact dual-head 1D CNN that predicts crop type (corn, rice, soybean) and phenophase (7 growth stages) from Sentinel-2 satellite time series.
Downloads · 30 days
0
Access
Public
Updated Aug 6, 2026
Repo size
307 KB
Likes
0
Public
Click a slice to open those files.
.pt305 KB · 97%
From the Hugging Face model README
A compact dual-head 1D CNN that predicts crop type (corn, rice, soybean) and phenophase (7 growth stages) from Sentinel-2 satellite time series.
These are the released weights from the ITU 2026 AI and Space Computing Challenge Track 1 entry, which scored 98.23 on the algorithm leaderboard and received a Bronze Award on the combined score.
Code, training pipeline, and full documentation are on GitHub: kavayam/s2-phenocnn. This repository hosts the weights; the GitHub repository is the source of truth for everything else.
The design — classifying directly from gapped series rather than reconstructing missing observations — follows Zhao et al. (2021), Evaluation of Five Deep Learning Models for Crop Type Mapping Using Sentinel-2 Time Series Images with Missing Information, Remote Sensing 13(14):2790 (https://doi.org/10.3390/rs13142790).
| File | Description |
|---|---|
cnn1d_best.pt | Trained weights (73,866 parameters). |
cnn1d_encoders.pkl | Label encoders — required to decode outputs into crop and phenophase names. |
cnn1d_meta.json | Training provenance and the preprocessing configuration inference reads back. |
These three files must stay together. Inference reads the meta sidecar to reconstruct the matching input pipeline; using the weights without it will fail or silently run the wrong preprocessing. Checksums are in the GitHub repository.
The inference and training code, the expected data layout, and worked commands
are in the GitHub repository. In brief:
clone it, place the weights under models/cnn1d/, and run inference on a
Sentinel-2 tile directory.
The 98.23 figure is the competition's own algorithm metric on its own held-out data. It is not a general accuracy figure, and it does not describe performance on other regions, crops, or seasons.
The model was trained on farmland across north-east China, for three crops and
seven rice phenophases. Several parts of the pipeline are specific to that
setting — a spatial voting step, the three-class crop head, and an assumption of
a single growing cycle. The GitHub repository includes a scope document
(docs/SCOPE.md) that sets out what transfers to other data and what does not.
If you plan to use this on your own imagery, read it first.
If you want to retrain on your own data, public Sentinel-2 crop-type datasets such as TimeSen2Crop and Sen4AgriNet are a reasonable starting point; the training pipeline on GitHub documents the expected format.
Apache 2.0. The competition data is not included and is not ours to distribute.
If you use this model, please cite the repository. A CITATION.cff with author
and version details is on GitHub.