DeepLabV3+ Face Segmentation
DeepLabV3+ from scratch and pretrained backbone trained on CelebAMask-HQ for face parsing (19 classes).
Available Models
| Variant | File | mIoU | Epochs | Description |
|---|---|---|---|---|
| Pretrained | checkpoint_pretrained.pt |
72.72% | 100 | ImageNet/COCO pretrained backbone |
| From Scratch | checkpoint_scratch.pt |
75.36% | 200 | Trained entirely from scratch |
Model Description
- Architecture - DeepLabV3+ (for pretrained - ResNet-101 backbone)
- Classes - 19 (background, skin, nose, eyes, eyebrows, ears, mouth, lips, hair, hat, earrings, necklace, neck, cloth)
- Input Size - 256×256
- Hardware - 3 nodes × 2 V100-16GB GPUs (6 GPUs total)
Usage
import torch
from models.segmentation import DeepLabV3Wrapper
model = DeepLabV3Wrapper(num_classes=19, pretrained=False, aux_loss=True)
# Choose checkpoint: "checkpoint_pretrained.pt" or "checkpoint_scratch.pt"
state_dict = torch.load("checkpoint_scratch.pt", map_location="cpu")
if "model_state_dict" in state_dict:
state_dict = state_dict["model_state_dict"]
new_state_dict = {k.replace("module.", ""): v for k, v in state_dict.items()}
model.load_state_dict(new_state_dict, strict=False)
model.eval()
output = model(image_tensor)
pred = output['out'].argmax(dim=1)
Training Code
Citation
@misc{darkbird2026,
author = {Arvin Singh},
title = {Darkbird: Distributed Training Examples},
year = {2026},
url = {https://github.com/arvinsingh/Darkbird}
}
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support