首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tesseract微调误差-计算CTC目标失败

Tesseract微调误差-计算CTC目标失败
EN

Stack Overflow用户
提问于 2021-03-21 08:44:12
回答 1查看 548关注 0票数 1

根据指南,我正在尝试对我自己的特定数据进行微调,即tesseract 4.1.1。我希望它能够检测和识别这样的方框中的文本:

我已经生成了许多这样的图像,并对应于这些包含文本边界框的.box文件。为了在这里重现我的问题,我将只使用一张图片显示我的管道。下面是上面图像的.box文件:

代码语言:javascript
运行
复制
0 1804 1659 1858 1813 0
5 1804 1659 1858 1813 0
9 1804 1659 1858 1813 0
9 1266 715 1334 1169 0
7 1266 715 1334 1169 0
8 1266 715 1334 1169 0
3 1266 715 1334 1169 0
6 1266 715 1334 1169 0
8 1266 715 1334 1169 0
0 1266 715 1334 1169 0
5 1266 715 1334 1169 0
3 1266 715 1334 1169 0
2 876 303 930 607 0
7 876 303 930 607 0
2 876 303 930 607 0
8 876 303 930 607 0
2 876 303 930 607 0
2 876 303 930 607 0
8 1671 120 1725 224 0
0 1671 120 1725 224 0
5 300 1278 354 1482 0
2 300 1278 354 1482 0
3 300 1278 354 1482 0
7 300 1278 354 1482 0
7 917 1451 975 1605 0
6 917 1451 975 1605 0
4 917 1451 975 1605 0
1 1058 1310 1132 1716 0
9 1058 1310 1132 1716 0
8 1058 1310 1132 1716 0
7 1058 1310 1132 1716 0
7 1058 1310 1132 1716 0
1 1058 1310 1132 1716 0
8 1058 1310 1132 1716 0
6 1058 1310 1132 1716 0
3 998 76 1070 382 0
4 998 76 1070 382 0
4 998 76 1070 382 0
8 998 76 1070 382 0
3 998 76 1070 382 0
6 998 76 1070 382 0
3 722 548 776 652 0
2 722 548 776 652 0
7 1782 1332 1838 1586 0
7 1782 1332 1838 1586 0
2 1782 1332 1838 1586 0
6 1782 1332 1838 1586 0
2 1782 1332 1838 1586 0
1 714 140 768 244 0
2 714 140 768 244 0
0 220 500 278 754 0
5 220 500 278 754 0
5 220 500 278 754 0
6 220 500 278 754 0
6 220 500 278 754 0
8 1676 1052 1742 1406 0
4 1676 1052 1742 1406 0
5 1676 1052 1742 1406 0
9 1676 1052 1742 1406 0
1 1676 1052 1742 1406 0
2 1676 1052 1742 1406 0
4 1676 1052 1742 1406 0
5 357 161 419 317 0
1 357 161 419 317 0
4 357 161 419 317 0
9 1424 848 1480 952 0
8 1424 848 1480 952 0
0 438 324 498 478 0
6 438 324 498 478 0
9 438 324 498 478 0
8 1503 1246 1559 1700 0
1 1503 1246 1559 1700 0
8 1503 1246 1559 1700 0
5 1503 1246 1559 1700 0
3 1503 1246 1559 1700 0
0 1503 1246 1559 1700 0
5 1503 1246 1559 1700 0
5 1503 1246 1559 1700 0
4 1503 1246 1559 1700 0
8 1553 477 1609 581 0
4 1553 477 1609 581 0
3 527 258 581 512 0
7 527 258 581 512 0
7 527 258 581 512 0
9 527 258 581 512 0
1 527 258 581 512 0
6 1665 1592 1727 1748 0
8 1665 1592 1727 1748 0
3 1665 1592 1727 1748 0
5 595 1362 651 1766 0
9 595 1362 651 1766 0
3 595 1362 651 1766 0
9 595 1362 651 1766 0
4 595 1362 651 1766 0
3 595 1362 651 1766 0
3 595 1362 651 1766 0
1 595 1362 651 1766 0

我还将图像转换为.tiff格式,并将其放在与.box文件相同的目录中。假设目录中有87.tiff87.box

接下来,我使用以下方法生成87.lstmf文件

代码语言:javascript
运行
复制
tesseract 87.tiff 87 lstm.train

接下来,我使用

代码语言:javascript
运行
复制
combine_tessdata -e /usr/share/tesseract-ocr/4.00/tessdata/rus.traineddata lstm_model/rus.lstm

接下来,我创建了包含单行的train.txt文件:87.lstmf

最后,创建bash脚本train.sh

代码语言:javascript
运行
复制
/usr/bin/lstmtraining \
 --model_output output/fine_tuned \
 --continue_from lstm_model/rus.lstm \
 --traineddata /usr/share/tesseract-ocr/4.00/tessdata/rus.traineddata \
 --train_listfile train.txt \
 --eval_listfile train.txt \
 --max_iterations 400\
 --debug_level -1

当我运行它时,我有以下日志:

代码语言:javascript
运行
复制
$ bash train.sh
Loaded file lstm_model/rus.lstm, unpacking...
Warning: LSTMTrainer deserialized an LSTMRecognizer!
Continuing from lstm_model/rus.lstm
Loaded 1/1 lines (1-1) of document 87.lstmf
Loaded 1/1 lines (1-1) of document 87.lstmf
Compute CTC targets failed!
Compute CTC targets failed!
Compute CTC targets failed!
Compute CTC targets failed!

“计算CTC目标失败!”无穷无尽地重复,直到我打断剧本。

我做错什么了?我还关心消息“加载1/1行(1-1)”,因为我在图像上有多个边界框。

EN

回答 1

Stack Overflow用户

发布于 2021-04-28 13:02:53

对于lstm图像的培训,您可能需要使用新的lstm格式的.box文件(可以通过使用lstmbox参数运行tesseract来生成这些文件):TrainingTesseract-4.00,所以在每一行文本之后用一个特殊的行标记它:<tab> <left> <bottom> <right> <top> <page>然后运行lstm.train。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66730334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档