Tesseract5.0LSTM训练中文字库流程完整版
参考csdn上几乎所有教程后,在自己的多次努力下完成了LSTM下的中文训练。
第一步 安装tesseract和jTessBoxEditor
csdn已有详细教程,不再赘述
https://blog.csdn.net/qq_31112205/article/details/100159963
第二步 生成box文件
首先使用jTessBoxEditor的merge tiff工具将多张图片合并为一张tiff
合并tiff
生成tiff文件,注意格式:<语言名.字体名.版本号>
生成lstmbox文件
命令行输入:
tesseract chi.chi.exp0.tif chi.chi.exp0 -l chi_sim --psm 6 lstmbox
3.矫正字符
使用jTessBoxEditor矫正字符,
矫正后效果如下
4.生成lstmf文件用于lstm训练
命令行输入代码如下:
tesseract chi.chi.exp0.tif chi.chi.exp0 -l chi_sim --psm 6 lstm.train
5.提取lstm文件
从https://github.com/tesseract-ocr/tessdata_best下载所需语言的.traineddataw文件,放入文件夹,命令行输入如下:
combine_tessdata -e chi_sim.traineddata chi_sim.lstm
6.lstm训练
创建chi_sim.training_files.txt文件,文件中写入.lstmf文件路径
输入如下指令开始训练(不要有换行符):
lstmtraining --debug_interval -1 --max_iterations 100 --continue_from="F:\tesseract\chi_sim.lstm" --model_output="F:\tesseract\trainingoutput\" --train_listfile="F:\tesseract\chi_sim.training_files.txt" --traineddata="F:\tesseract\chi_sim.traineddata"
训练参数意义:
--model_output 模型训练输出的路径
--continue_from 训练从哪里开始,这里指定从第4步中提取的eng.lstm文件。也可从之前训练生成的阶段文件output_checkpoint开始。
--train_listfile 指定上一步创建的chi_sim.training_files.txt文件路径。
--traineddata 第4步中下载的.traineddata文件的路径。
--debug_interval 当值为-1时,训练结束,会显示训练的一些结果参数,此参数可略去。
--max_iterations 指明训练遍历次数。也可以使用这个参数:–target_error_rate 0.01 训练至错误率低于0.01%终止。
7.合并训练结果为.traineddata文件
命令行输入:
lstmtraining --stop_training --continue_from="F:\tesseract\trainingoutput\_checkpoint" --traineddata="F:\tesseract\chi_sim.traineddata" --model_output="F:\tesseract\chi.traineddata"
–stop_training 默认要有
–continue_from 上一步生成的output_checkpoint文件路径
–traineddata 第5步中下载的已有.traineddata文件的路径
–model_output chi.traineddata 输出的路径和文件名
8.将生成的.traineddata文件放入字库路径中
9.前后结果对比
原图片
训练前识别结果
训练后识别结果
10.参考文章
1.https://blog.csdn.net/Hu_helloworld/article/details/100923215
2.https://blog.csdn.net/qq_30110069/article/details/98742701
3.https://blog.csdn.net/baiyang10010/article/details/103646380
4.https://blog.csdn.net/qq_19313495/article/details/102977915