Tesseract训练新字体

最近工作需要,要对特定字体准确识别,用官方下载的eng识别库,错误率比较高,不能满足要求,所以就踏上了训练字库的征程,我说下我寻找的几种训练方法

注意: Tesseract-OCR 和 Tesseract 不是同一个东西

1. Tesseract-OCR手动训练,需要自己生成或收集样本图片,然后用jTessBoxEditor手动纠正识别错误的地方,然后敲命令生成各种文件,总体来说太慢太麻烦,容易出错,效果不佳

2. 仍然是Tesseract-OCR训练,这次智能化一点了,采用LSTM技术,可以自动训练,无需图片,无需手动纠错,但是要自己提供训练样本的TXT(要识别的文字,字符等),然后敲命令生成训练文件,但是效果不好,出错概率较大,不能满足生产需要。

3. 使用 Tesseract 训练,训练步骤和Tesseract-OCR的LSTM几乎一样,不同的是,样本采用官方提供的训练样本,而且有大佬提供的训练脚本,训练起来方便多了。效果也比前2种方法好,比官方自带的eng训练包好很多

总结:训练可能一样,但是训练样本同样重要,合理的样本能事半功倍

下面就只看最简单最有效的训练方法Tesseract LSTM训练(Windows)

准备工作

1. 下载并编译Tesseract,本文末尾提供了已经编译好的Tesseract,大家可自行下载

2. 配置Tesseract/bin到环境变量

3. 下载训练需要的脚本程序,本文后面也会提供下载地址

4. 准备好你要训练的字体样本

5. 将待训练的字体文件拷贝到tesstrain/fonts路径下,tesstrain.sh支持同时训练多个字体文件。

6. 将待训练的字体所属语言相关文件拷贝到tesstrainsh-win/langdata_lstm下。例如本文训练的字库属于英语,将langdata_lstm/eng该文件夹下所有文件下载并放在tesstrainsh-win/langdata_lstm/eng路径下。假如您需要训练简体中文,则在tesstrainsh-win/langdata_lstm路径下新建chi_sim文件夹,将langdata_lstm/chi_sim下所有文件下载并放在tesstrainsh-win/langdata_lstm/chi_sim路径下。

7. 将待训练的字体的基础字库拷贝到路径tesstrainsh-win/tessdata下,本文该路径下的文件为tesstrainsh-win/tessdata/eng.traineddata,这里的.traineddata需要从github/tesseract-ocr/tessdata_best项目中下载。

8. 将lstm.train拷贝至路径tesstrainsh-win/tessdata/configs下。该文件在tesseract的安装路径下C:/Program Files/tesseract/tessdata/configs。我在tesstrainsh-win中已准备好该文件,但我的是Tesseract4.1版本,如果您使用的是其他版本的训练工具,建议该文件版本也保持一致,在安装路径下找到该文件拷贝到路径tesstrainsh-win/tessdata/configs下覆盖现有文件即可。

9. tesstrainsh-win项目下的tesstrain.sh、tesstrain_utils.sh、language-specific.sh这三个文件是从Tesseract源码(Tesseract/src/training)拷贝而来,是Tesseract4.1的release版本。如果您使用的是其他版本的训练工具,建议这三个文件版本也保持一致。在源码路径下找到这三个文件并拷贝到路径tesstrainsh-win下覆盖现有文件即可。

10. 从langdata_lstm下载radical-stroke.txt并拷贝至路径tesstrainsh-win/langdata_lstm下。我在tesstrainsh-win已准备好该文件,radical-stroke.txt已有2年未更新,目前有LSTM的Tesseract版本应该均通用。

开始训练

上面我们已经做好了准备工作,下来我们开始训练

1. 管理员身份打开命令提示符(cmd.exe),进入tesstrainsh-win所在路径。

2. 执行  sh tesstrainDone.sh,提示没有sh命令的请用git的命令窗口进行

然后就等待训练完成,训练也不需要太长时间

训练完成后,输出文件在output文件夹下面,也可以利用sh eval.sh命令进行训练结果评估

参考文献:Train Tesseract LSTM with tesstrain.sh on Windows - LiveZingy

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baoolong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值