模型:
microsoft/trocr-base-handwritten
TrOCR模型在 IAM dataset 上进行了微调。它是由Li等人在 this repository 中提出的,并在 this repository 首次发布。
声明:发布TrOCR的团队未为此模型编写模型卡片,因此此模型卡片是由Hugging Face团队编写的。
TrOCR模型是一个编码器-解码器模型,由图像Transformer作为编码器和文本Transformer作为解码器组成。图像编码器的权重是从BEiT的权重初始化而来,而文本解码器则是从RoBERTa的权重初始化而来。
将图像作为固定大小的补丁序列(分辨率为16x16)呈现给模型,然后将其线性嵌入。在将序列馈送到Transformer编码器的层之前,还会添加绝对位置嵌入。接下来,Transformer文本解码器会自回归地生成标记。
您可以使用原始模型对单行文本图像进行光学字符识别(OCR)。查看 model hub 以查找您感兴趣的任务上进行微调的版本。
以下是如何在PyTorch中使用此模型的方法:
from transformers import TrOCRProcessor, VisionEncoderDecoderModel from PIL import Image import requests # load image from the IAM database url = 'https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg' image = Image.open(requests.get(url, stream=True).raw).convert("RGB") processor = TrOCRProcessor.from_pretrained('microsoft/trocr-base-handwritten') model = VisionEncoderDecoderModel.from_pretrained('microsoft/trocr-base-handwritten') pixel_values = processor(images=image, return_tensors="pt").pixel_values generated_ids = model.generate(pixel_values) generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
@misc{li2021trocr, title={TrOCR: Transformer-based Optical Character Recognition with Pre-trained Models}, author={Minghao Li and Tengchao Lv and Lei Cui and Yijuan Lu and Dinei Florencio and Cha Zhang and Zhoujun Li and Furu Wei}, year={2021}, eprint={2109.10282}, archivePrefix={arXiv}, primaryClass={cs.CL} }