🚀 表格單元格圖像手寫文本識別模型
本模型可實現從文本行圖像中進行手寫文本識別。它通過微調國家檔案館的多世紀手寫文本識別模型和微軟的TrOCR模型,使用20世紀30年代芬蘭死亡記錄和人口普查記錄表格中的文本行圖像進行訓練,為表格單元格圖像的手寫文本識別提供了有效的解決方案。
🚀 快速開始
本模型可按以下代碼預測圖像的文本內容。若有可用的GPU,建議在推理時使用。
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_checkpoint = "Kansallisarkisto/tablecell-htr"
line_image_path = "/path/to/textline_image.jpg"
processor = TrOCRProcessor.from_pretrained(model_checkpoint)
model = VisionEncoderDecoderModel.from_pretrained(model_checkpoint).to(device)
image = Image.open(line_image_path).convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values.to(device))
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(generated_text)
從HuggingFace Hub下載的模型會本地保存到 ~/.cache/huggingface/hub/
。
✨ 主要特性
- 該模型經過特定類型表格單元格數據的訓練,能有效識別其中的手寫文本。
- 基於微調的國家檔案館多世紀手寫文本識別模型和微軟TrOCR模型,具有較好的識別能力。
💻 使用示例
基礎用法
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_checkpoint = "Kansallisarkisto/tablecell-htr"
line_image_path = "/path/to/textline_image.jpg"
processor = TrOCRProcessor.from_pretrained(model_checkpoint)
model = VisionEncoderDecoderModel.from_pretrained(model_checkpoint).to(device)
image = Image.open(line_image_path).convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values.to(device))
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(generated_text)
高級用法
目前文檔未提及高級用法相關內容。
📚 詳細文檔
預期用途與限制
- 該模型經過特定類型表格單元格數據的訓練,對其他數據集的泛化能力可能較差。
- 模型的輸入為文本行圖像,不建議使用其他類型的輸入。
訓練數據
模型使用6704張文本行圖像進行訓練,驗證數據集包含836張文本行圖像。
訓練過程
本模型使用NVIDIA RTX A6000 GPU進行訓練,採用以下超參數:
- 訓練批次大小:16
- 訓練輪數:15
- 優化器:AdamW
- 文本序列最大長度:64
其他參數使用默認值(更多信息請見此處)。訓練代碼可在 train_trocr.py
文件中找到。
評估結果
使用驗證數據集的評估結果如下:
驗證損失 |
驗證字符錯誤率(CER) |
驗證單詞錯誤率(WER) |
0.903 |
0.107 |
0.237 |
這些指標使用 Evaluate 庫計算得出。關於CER指標的更多信息可查看此處,關於WER指標的更多信息可查看此處。
🔧 技術細節
本模型基於微調的國家檔案館多世紀手寫文本識別模型和微軟的TrOCR模型,使用特定的表格單元格圖像數據進行訓練。訓練過程中使用了NVIDIA RTX A6000 GPU,並設置了一系列超參數以優化模型性能。評估時採用了常見的損失、字符錯誤率和單詞錯誤率等指標,確保模型的準確性和可靠性。
📄 許可證
本項目採用MIT許可證。
屬性 |
詳情 |
模型類型 |
圖像到文本識別模型 |
訓練數據 |
6704張文本行圖像用於訓練,836張文本行圖像用於驗證 |