FANet from scratch
сегментация полипов и пятен листьев
Это веса PyTorch-реализации FANet — сети с feedback attention для биомедицинской сегментации изображений. Автор воспроизвёл архитектуру, лосс и цикл обучения с нуля, без предобученных весов; 7 720 266 параметров, вход 256×256 RGB. Кроме полипов, чекпоинты перенесены на пятна болезней листьев.
🧐 Ключевые особенности
- 🔥 Обучение с нуля: все слои, loss, метрики и test-time refinement написаны на обычном PyTorch.
- 🩺 Чекпоинт Kvasir-SEG: Dice 0.842 на 120 тестовых изображениях по протоколу статьи с 10 раундами уточнения.
- 🍄 Перенос на листья: файнтюн с Kvasir даёт Dice 0.517 на 118 фото LDSD; обучение с нуля — 0.467.
- 👀 Есть вариант, дообученный на 470 фото LDSD: Dice 0.670.
- 📦 В каждом файле лежит state_dict под ключом "model" и аргументы обучения под "args".
🚀 Пример
import torch
from src.model import FANet
ckpt = torch.load("fanet_kvasir_seg_256.pt", map_location="cpu")
model = FANet()
model.load_state_dict(ckpt["model"])
model.eval()
Подробнее
Dice на Kvasir-SEG: 0.842 с Otsu-стартом и 0.900 с пустого старта; в статье — 0.880 при 512×512.Модели обучены по одному разу на настройку, поэтому разница 0.01–0.02 Dice может быть шумом.
Kvasir-чекпоинт выбирали на тестовых изображениях, а Roboflow-модели — всего на 6 валидационных фото.
Только для исследований и курсовых; это не медицинское изделие.








Комментарии