🚀 高棉语TrOCR光学字符识别系统 📝🇰🇭
本项目是基于microsoft/trocr-base-stage1微调后的版本,专门用于识别高棉语人名。它通过使用高棉语个人姓名的合成图像 - 文本对进行训练。
🚀 快速开始
安装所需的软件包
pip install transformers torch pillow
Python推理示例
import torch
from PIL import Image
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
model = VisionEncoderDecoderModel.from_pretrained("your_username/khmer-trocr-ocr")
processor = TrOCRProcessor.from_pretrained("your_username/khmer-trocr-ocr")
image = Image.open("khmer_name_images/khmer_name_00001.png").convert("RGB")
pixel_values = processor(images=image, return_tensors="pt").pixel_values
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
pixel_values = pixel_values.to(device)
generated_ids = model.generate(pixel_values)
predicted_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print("🔤 预测结果:", predicted_text)
✨ 主要特性
- 特定领域优化:针对高棉语人名识别进行了微调,能更精准地识别高棉语人名。
- 架构先进:采用了VisionEncoderDecoderModel(ViT + RoBERTa)架构,结合了视觉编码和解码能力。
- 支持高棉语:专门为高棉语脚本的光学字符识别任务设计。
📦 安装指南
使用以下命令安装所需的依赖包:
pip install transformers torch pillow
💻 使用示例
基础用法
import torch
from PIL import Image
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
model = VisionEncoderDecoderModel.from_pretrained("your_username/khmer-trocr-ocr")
processor = TrOCRProcessor.from_pretrained("your_username/khmer-trocr-ocr")
image = Image.open("khmer_name_images/khmer_name_00001.png").convert("RGB")
pixel_values = processor(images=image, return_tensors="pt").pixel_values
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
pixel_values = pixel_values.to(device)
generated_ids = model.generate(pixel_values)
predicted_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print("🔤 预测结果:", predicted_text)
📚 详细文档
📌 模型详情
属性 |
详情 |
架构 |
VisionEncoderDecoderModel(ViT + RoBERTa) |
基础模型 |
microsoft/trocr-base-stage1 |
语言 |
高棉语 (km ) |
任务 |
光学字符识别(OCR) — 专门针对高棉语脚本 |
🧠 训练情况
该模型在一个合成的高棉语人名数据集上进行了微调,使用了高棉语Unicode字体(KhmerOS_muol.ttf
)渲染人名。每个图像都与相应的文本标签配对,用于有监督训练。
- 输入:高棉语人名的RGB图像(
512x64
)
- 输出:Unicode高棉语文本
- 数据集:自定义生成的高棉语人名数据集(10,000 + 样本)
- 预处理:使用PIL从文本渲染图像,并与真实标签配对
📊 评估
即将推出 — 使用CER/WER指标在带标签的测试集上进行评估。
✅ 应用场景
📄 许可证
本模型采用Apache - 2.0许可证,可免费用于研究和商业应用。
🤝 致谢