You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何针对特定文档训练Tesseract 5 OCR?需额外工具吗?

针对特定文档训练Tesseract 5的实操指引

一、可行性说明

完全可行。针对特定文档训练本质是基于现有模型(你已训练的字体模型或官方预训练模型),用目标文档的标注样本做微调,让模型适配这类文档的版式、字符样式、排版规律,核心工具还是你已经在用的tesstrain,无需额外复杂工具。

二、准备工作

  • 已部署的Tesseract 5及tesstrain(你已具备)
  • 目标文档样本:准备20-50张清晰的目标文档图片(扫描或高清拍照,尽量覆盖不同页码、排版变体)
  • 标注工具:可选LabelImg(可视化标注)或直接用Tesseract自带的makebox生成标注后手动修正

三、分步操作

1. 生成并修正标注文件

对每张目标文档图片生成初始.box标注文件(包含字符坐标和识别文本):

tesseract input_image.png input_base --psm 6 makebox
  • --psm 6:适用于单块连续文本的文档,若目标文档是多列排版,可改用--psm 4
  • 打开生成的input_base.box文件,手动修正识别错误的字符、偏移的坐标,确保每个字符的位置和内容匹配图片

2. 整理训练数据集结构

按照tesstrain的目录规范整理样本:

tesstrain/
├── data/
│   ├── custom_doc.training/
│   │   ├── ground_truth/
│   │   │   ├── img1.box
│   │   │   ├── img1.png
│   │   │   ├── img2.box
│   │   │   ├── img2.png
│   │   │   └── ...

3. 执行微调训练

基于你之前训练好的字体模型(或官方预训练模型如eng.traineddata)启动训练:

cd tesstrain
make training MODEL_NAME=custom_doc START_MODEL=your_trained_font_model \
  TESSDATA_DIR=/usr/share/tesseract-ocr/5/tessdata \
  MAX_ITERATIONS=1500
  • START_MODEL:填写你已训练完成的字体模型名称(需放在tessdata目录下),无自定义字体模型时可填官方模型名(如eng)
  • MAX_ITERATIONS:根据样本量调整,20-50张样本用1000-2000次迭代足够

4. 导出并测试最终模型

训练结束后,将 checkpoint 导出为可直接使用的.traineddata模型:

lstmtraining --stop_training \
  --continue_from tesstrain/data/custom_doc.training/checkpoints/custom_doc_checkpoint \
  --traineddata tesstrain/data/custom_doc/custom_doc.traineddata \
  --model_output custom_doc_final.traineddata

将生成的custom_doc_final.traineddata复制到系统tessdata目录,测试效果:

tesseract test_doc.png output --oem 3 --psm 6 -l custom_doc

四、可选辅助工具

  • 标注效率提升:Ubuntu下可通过sudo apt install labelimg安装可视化标注工具,标注文本区域后转换为.box格式,减少手动修正量
  • 样本增强:若样本数量不足,用imagemagick做简单增强(旋转、缩放、加噪):
convert input.png -rotate 3 rotated.png
convert input.png -resize 110% scaled.png

内容的提问来源于stack exchange,提问作者Umar Syal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 02:23:31