TrOCR(Transformer-based Optical Character Recognition)是微软提出的一种端到端基于 Transformer 架构的光学字符识别(OCR)模型,由预训

TrOCR(Transformer-based Optical Character Recognition)是微软提出的一种端到端基于 Transformer 架构的光学字符识别(OCR)模型,由预训练的图像 Transformer 编码器(如 DeiT)和文本 Transformer 解码器(如 RoBERTa 或 UniLM)组成,用于文本识别任务 。其架构将图像调整为 384×384 分辨率,分割成 16×16 的 patches 后输入图像 Transformer,解码器则生成词片级文本序列,无需 CNN 或 RNN,也无需外部语言模型 。

TrOCR 的优势包括:

  • 端到端流程:结合文本检测和识别,无需复杂前后处理 。
  • 多语言支持:预训练模型支持英语、法语、德语等,可针对其他语言微调 。
  • 鲁棒性:对字体、方向、背景噪声变化具有鲁棒性,适用于手写体、印刷体甚至弯曲文本(通过微调) 。

使用示例(基于 Hugging Face):

from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image

processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-handwritten")
image = Image.open("handwritten_note.jpg").convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(f"提取文本:{text}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值