GLAD-Net: Global-Local Adaptive Fusion and Cross-Stage Distillation for Cross-Level Multi-Scale Medical Image Segmentation
Paper: http://poster-openaccess.com/files/ICIC2025/3943.pdf
GLAD-Net/
├── README.md
├── requirements.txt
├── scripts/
│ ├── train.py
│ └── eval.py
├── src/
│ └── icic/
│ ├── data/
│ │ └── isic.py
│ ├── models/
│ │ ├── blocks.py
│ │ ├── fpn.py
│ │ └── network.py
│ ├── training/
│ │ ├── losses.py
│ │ ├── metrics.py
│ │ └── trainer.py
│ └── utils/
│ ├── checkpoint.py
│ └── seed.py
└── efficient-kan/ # 本地依赖(KAN 实现)
在目录执行:
conda create -n glad python==3.10 -y
conda activate glad
pip install -r requirements.txt代码默认使用 ISIC 风格命名:
- 图像:
xxx.jpg - 掩码:
xxx_segmentation.png
示例:
data/
├── train_images/
│ ├── ISIC_0000000.jpg
│ └── ...
├── train_masks/
│ ├── ISIC_0000000_segmentation.png
│ └── ...
├── val_images/
└── val_masks/
如果不提供验证集目录,脚本会按 --train-split 从训练集切分验证集。
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python scripts/train.py \
--train-image-dir /path/to/train_images \
--train-mask-dir /path/to/train_masks \
--val-image-dir /path/to/val_images \
--val-mask-dir /path/to/val_masks \
--output-dir outputs/gladnet \
--epochs 100 \
--batch-size 8输出文件:
outputs/gladnet/best.pt:按验证集 Dice 最优模型outputs/gladnet/last.pt:最后一个 epochoutputs/gladnet/history.json:训练日志
CUDA_VISIBLE_DEVICES=0 PYTHONPATH=src python scripts/eval.py \
--image-dir /path/to/val_images \
--mask-dir /path/to/val_masks \
--checkpoint outputs/gladnet/best.pt评估会输出:loss / accuracy / sensitivity / specificity / dice / iou。
src/icic/models/network.py:主网络GLADNetsrc/icic/models/blocks.py:GLAM、SKM、CMSFsrc/icic/models/fpn.py:CSCA(Channel-Spatial Collaborative Attention)src/icic/training/losses.py:GLADNetHybridLoss(Focal + Dice)src/icic/data/isic.py:数据加载与增强