模型:

microsoft/dit-base

英文

文档图像转换器(基础模型)

文档图像转换器(DiT)模型在IIT-CDIP(Lewis等人,2006)数据集上进行了预训练,该数据集包含4200万个文档图像。它是由Li等人在文章中引入的,并于 this repository 首次发布。请注意,DiT与 BEiT 的架构相同。

免责声明:发布DiT的团队没有为这个模型编写模型卡,因此这个模型卡是由Hugging Face团队编写的。

模型描述

文档图像转换器(DiT)是一种基于变压器编码器模型(类似BERT)的预训练模型,它以自监督的方式在大量图像上进行了预训练。模型的预训练目标是基于遮挡的补丁从离散VAE(dVAE)的编码器中预测视觉令牌。

将图像呈现给模型时,以固定大小的补丁序列(分辨率为16x16)的形式进行,这些补丁被线性嵌入。在将序列馈送到变压器编码器的层之前,还会添加绝对位置嵌入。

通过预训练模型,它学习了图像的内部表示,可以用于提取对下游任务有用的特征:例如,如果您有一组带标签的文档图像数据集,可以在预训练的编码器之上放置一个线性层来训练标准分类器。

预期用途和限制

您可以使用原始模型将文档图像编码为向量空间,但它主要用于在任务上进行微调,例如文档图像分类、表格检测或文档布局分析。查看 model hub 以寻找您感兴趣的任务上进行微调的版本。

使用方法

以下是如何在PyTorch中使用此模型:

from transformers import BeitImageProcessor, BeitForMaskedImageModeling
import torch
from PIL import Image

image = Image.open('path_to_your_document_image').convert('RGB')

processor = BeitImageProcessor.from_pretrained("microsoft/dit-base")
model = BeitForMaskedImageModeling.from_pretrained("microsoft/dit-base")

num_patches = (model.config.image_size // model.config.patch_size) ** 2
pixel_values = processor(images=image, return_tensors="pt").pixel_values
# create random boolean mask of shape (batch_size, num_patches)
bool_masked_pos = torch.randint(low=0, high=2, size=(1, num_patches)).bool()

outputs = model(pixel_values, bool_masked_pos=bool_masked_pos)
loss, logits = outputs.loss, outputs.logits

BibTeX条目和引用信息

@article{Lewis2006BuildingAT,
  title={Building a test collection for complex document information processing},
  author={David D. Lewis and Gady Agam and Shlomo Engelson Argamon and Ophir Frieder and David A. Grossman and Jefferson Heard},
  journal={Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval},
  year={2006}
}