MALUNet 路 CVC-ClinicDB (Polyp Segmentation)
Lightweight U-shape segmentation network adapted from jcruan519/MALUNet and trained on CVC-ClinicDB for binary polyp segmentation in colonoscopy frames.
Model
- Architecture: MALUNet (DGA + IEA + CAB + SAB)
- Channels:
[8, 16, 24, 32, 48, 64],split_att="fc",bridge=True - Input: RGB, 256脳256
- Output: single-channel sigmoid mask (1 = polyp)
- Parameters: ~0.18 M
Training
- Dataset: CVC-ClinicDB (612 paired image/mask frames)
- Split: 80% train / 20% val (seeded by filename,
seed=42) - Loss: BCE + Dice
- Optimizer: AdamW,
lr=1e-3,weight_decay=1e-2 - Schedule: CosineAnnealingLR,
T_max=50,eta_min=1e-5 - Augmentations: random h/v flip, random rotation
- Epochs: 150
Usage
import torch
from huggingface_hub import hf_hub_download
from infer import load_model, predict_mask # infer.py from this repo
from PIL import Image
model = load_model("YOUR_USERNAME/malunet-cvc")
mask = predict_mask(model, Image.open("polyp.png"))
Image.fromarray(mask).save("mask.png")
infer.py and models/malunet.py are bundled in this repo so you can
also clone it and run inference without the original training code.
Limitations
- Trained on CVC-ClinicDB only (612 frames, single source). Generalization to other colonoscopy systems / patient populations is unverified.
- Not a medical device. Research / demo use only.