AquaGuard red-tide detector
ResNet-18 для раннего предупреждения красных приливов
Дообученная ResNet-18 классифицирует тайлы Sentinel-2 и оценивает вероятность вредоносного цветения водорослей. Модель сделана для AquaGuard — системы раннего предупреждения вокруг опреснительных станций Катара, где около 99% питьевой воды зависит от таких установок. Проект собран на Qai × Hugging Face Hackathon в Дохе 5–7 ноября 2026 года.
✨ Ключевые особенности
- 🌍 На входе — тайл Sentinel-2 L2A 256×256 с 10 каналами; на выходе softmax по двум классам: цветение / не цветение.
- ✅ Дообучена от AMFITRITE ResNet-18; в репозитории лежат веса,
split.json,metrics.jsonи чекпоинты по эпохам. - 📌 Leak-free split: тайлы из одного измерения или одной даты в радиусе 4 км не попадают в разные выборки — всего 1 235 групп.
- 🔥 Исправлен сдвиг +1000 в значениях пикселей для сцен Sentinel-2, обработанных после 25 января 2022 года.
- 💻 Обучение шло на Hugging Face Jobs с NVIDIA T4 и стоило около $2 из кредита команды.
💻 Пример
import torch, timm
from huggingface_hub import hf_hub_download
model = timm.create_model("resnet18", pretrained=False, num_classes=2, in_chans=10)
weights = hf_hub_download("relghali/team-203-aquaguard", "aquaguard_hab_resnet18.pth")
model.load_state_dict(torch.load(weights, map_location="cpu"))
model.eval()
# bloom_probability = torch.softmax(model(x), dim=1)[:, 1]
Подробнее
F1 0.87 на 414 отложенных тайлах — leak-free тест с исправленным сдвигом яркости.На сэмпле из 200 тайлов модель поймала 15 из 16 цветений: recall 0.94.
Полный пайплайн на 200 тайлах воспроизводится на CPU ноутбука примерно за 10 минут.
В приложении AquaGuard сейчас работает исходная опубликованная модель; здесь — дообученные веса и метрики.
Это скрининг кандидатов для операторов, финальное решение остаётся за людьми.








Комментарии