🚀 泰語TrOCR模型
泰語TrOCR模型是一個針對泰語和英語的光學字符識別(OCR)任務進行微調的模型。它基於TrOCR架構,結合了視覺變換器編碼器和基於Electra的文本解碼器,能高效處理手寫文本行圖像,在資源受限的環境中也能實現高精度的字符識別。
🚀 快速開始
泰語TrOCR是TrOCR基礎手寫模型的微調版本,專為泰語和英語的光學字符識別(OCR)而設計。這個多語言模型能夠熟練處理這兩種語言的手寫文本行圖像,採用TrOCR架構,結合了視覺變換器編碼器和基於Electra的文本解碼器。泰語TrOCR設計緊湊、輕量級,針對資源受限環境進行了高效部署優化,同時在字符識別方面實現了高精度。
- 編碼器:TrOCR基礎手寫模型
- 解碼器:Electra Small(使用泰語語料庫訓練)
✨ 主要特性
- 多語言支持:支持泰語和英語兩種語言的手寫文本識別。
- 高效輕量:設計緊湊,適合在資源受限的環境中部署。
- 高精度識別:在多種文檔類型上的字符錯誤率(CER)較低。
📦 安裝指南
本模型基於transformers
庫,你可以使用以下命令安裝所需依賴:
pip install transformers requests pillow
💻 使用示例
基礎用法
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import requests
processor = TrOCRProcessor.from_pretrained('openthaigpt/thai-trocr')
model = VisionEncoderDecoderModel.from_pretrained('openthaigpt/thai-trocr')
url = 'your_image_url_here'
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
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]
print(generated_text)
📚 詳細文檔
模型性能比較
本節詳細介紹了開源的泰語TrOCR模型與其他廣泛使用的OCR系統(即EasyOCR和Tesseract)的性能比較。下表根據平均字符錯誤率(CER)突出了它們在各種文檔類型上的各自性能。
文檔類型 |
泰語TrOCR |
EasyOCR |
Tesseract |
手寫文檔 |
0.190034 |
0.410738 |
1.032375 |
PDF文檔 |
0.057597 |
0.085937 |
0.761595 |
PDF文檔(英 - 泰雙語) |
0.053968 |
0.308075 |
1.061107 |
真實文檔 |
0.147440 |
0.293482 |
0.915707 |
場景文本 |
0.134182 |
0.390583 |
2.408704 |
調整後均值 |
0.123600 |
0.298474 |
1.269101 |
⚠️ 重要提示
測試數據集(https://huggingface.co/datasets/openthaigpt/thai-ocr-evaluation )僅包含104張圖像,這可能會限制這些結果的普遍性。我們正在增加測試數據集的數量。
關鍵見解
- 字符錯誤率(CER):該指標評估模型錯誤預測字符的百分比。CER越低,性能越好。如表所示,泰語TrOCR在所有文檔類型上始終優於EasyOCR和Tesseract,平均CER顯著更低,使其成為比較中最準確的模型。
- 模型性能:泰語TrOCR模型在處理PDF文檔(僅泰語文本和英 - 泰雙語)方面特別有效,並且在讀取場景文本和手寫內容方面比競爭模型有顯著改進。
- Tesseract的侷限性:需要注意的是,在本次比較中,Tesseract一次僅支持單語言輸入。為了進行本次基準測試,它僅在泰語設置下進行了測試,這可能導致其CER值較高。
- 評估數據集來源:評估數據集來自openthaigpt/thai-ocr-evaluation。
📄 許可證
本項目採用Apache 2.0許可證。
💰 贊助

👨💻 作者
- Suchut Sapsathien (suchut@outlook.com)
- Jillaphat Jaroenkantasima (autsadang41@gmail.com)