Downloads · 30 days
14
1% of all-time downloads
nevernever69/dit-doclaynet-segmentation
dit-doclaynet-segmentation is a image segmentation model from nevernever69. Use it for the image segmentation task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as mit.
This model is a fine-tuned version of microsoft/dit-base for document layout semantic segmentation on the DocLayNet dataset (small subset: nevernever69/small-DocLayNet-v1.1). It segments scanned document images into 1…
Downloads · 30 days
14
1% of all-time downloads
All-time downloads
1.5K
Public
Parameters
163M
650 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors650 MB · 100%
From the Hugging Face model README
nevernever69/dit-doclaynet-segmentationThis model is a fine-tuned version of microsoft/dit-base for document layout semantic segmentation on the DocLayNet dataset (small subset: nevernever69/small-DocLayNet-v1.1). It segments scanned document images into 11 layout categories such as title, paragraph, table, and footer.
| ID | Label | Color |
|---|---|---|
| 0 | Background | Black |
| 1 | Title | Red |
| 2 | Paragraph | Green |
| 3 | Figure | Blue |
| 4 | Table | Yellow |
| 5 | List | Magenta |
| 6 | Header | Cyan |
| 7 | Footer | Dark Red |
| 8 | Page Number | Dark Green |
| 9 | Footnote | Dark Blue |
| 10 | Caption | Olive |
microsoft/dit-basenevernever69/small-DocLayNet-v1.1fp16) on GPUThe model shows promising results on a validation subset, capturing distinct document elements with clear boundaries. Overlay visualizations confirm precise semantic segmentation of dense and sparse regions in historical and modern documents.
from transformers import AutoImageProcessor, BeitForSemanticSegmentation
from PIL import Image
import torch
# Load model
model = BeitForSemanticSegmentation.from_pretrained("nevernever69/dit-doclaynet-segmentation")
image_processor = AutoImageProcessor.from_pretrained("nevernever69/dit-doclaynet-segmentation")
# Load and preprocess image
image = Image.open("your-image.png").convert("RGB")
inputs = image_processor(images=image, return_tensors="pt").to("cuda")
# Inference
model.to("cuda").eval()
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
upsampled = torch.nn.functional.interpolate(logits, size=image.size[::-1], mode="bilinear", align_corners=False)
mask = upsampled.argmax(dim=1).squeeze().cpu().numpy()
Created by Never @nevernever69.
Feel free to open issues or discuss improvements on the Hugging Face hub.
If you use this model in your work, please consider citing:
@misc{never2025doclaynetseg,
author = {Never},
title = {Document Layout Segmentation using DiT-base fine-tuned on DocLayNet},
year = {2025},
howpublished = {\url{https://huggingface.co/nevernever69/dit-doclaynet-segmentation}}
}