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

GitHub Repository

Citation

@misc{darkbird2026,
  author = {Arvin Singh},
  title = {Darkbird: Distributed Training Examples},
  year = {2026},
  url = {https://github.com/arvinsingh/Darkbird}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support