Architecture: U-Net with EfficientNet Encoder
import segmentation_models_pytorch as smp
model = smp.Unet(
encoder_name='efficientnet-b4',
encoder_weights='imagenet',
in_channels=3,
classes=1,
)
Loss Function: Combo Loss
Dice + BCE combination outperformed either alone:
loss = 0.5 * bce_loss + 0.5 * (1 - dice_score)
Augmentation Stack (Albumentations)
- RandomResizedCrop, HorizontalFlip, VerticalFlip
- ElasticTransform, GridDistortion
- CLAHE, RandomBrightness
- CoarseDropout (Cutout)
Post-processing
Test-time augmentation (TTA) with 8 flips/rotations added +0.015 Dice.