需求
原文地址
https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00
参考地址:https://blog.csdn.net/panbiao1999/article/details/74638749
介绍:
tesseract4.0集成了基于神经网络的识别引擎,比之前的版本准确率有显著的提高,
对于复杂语言的训练比传统tesseract更快
神经网络训练需要更多的数据而且训练速度也要慢很多,
针对拉丁系语言,已有的数据模型已经训练了大约40万文本行,大约4500种字体,
其他语种没有这么多字体,但也经过了大量文本行的训练。
相比与传统的训练需要几分钟到几小时,tesseract4.0的训练需要几天到几周的时间。
即使4.0版本已经有了大量的训练,但是为了解决特定的问题,还是需要重新训练。
训练的几种方法:
1.微调:在已经训练好的语言包的基础上,额外训练自己添加的数据。
这种方式适合和原有语言包比较接近的,一些比较不常用的字体就不行了
2.替换top layer(或者任意多层layer):用新的数据重新训练top layer(或者任意多层)
当微调不能解决问题时,这种方法是最好的选择。
重新训练top layer 很可能对整个训练不会有太大的影响,保证真个训练的完整性
3.从头开始训练:这是个令人望而生畏的任务,除非你非常有信心,同时有充足的训练集
否则的话,你只能得到一个过拟合的神经网络(训练很大,但处理实际数据很差)
上面几种听起来不同,但实际的训练步骤是完全一致的。
除了命令行执行的命令之外,非常容易同时进行上面几种训练
PS:旧的识别引擎还保留,但在将来版本会删除
训练准备:
了解神经网络对了训练参数的理解有帮助,对于tesseract4.0的训练可以不需要任何神经网络的背景知识
开始训练之前推荐阅读
1.https://github.com/tesseract-ocr/tesseract/wiki/NeuralNetsInTesseract4.00
2.https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality (强烈建议阅读)
需要安装的lib
sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev
系统要求,推荐是linux(mac也许可以,window不确定)
4核CPU最好,足够的内存,不支持GPU