Comments 6
Несколько лет назад пробовал дообучить тессеракт на распознание довольно специфичного текста, результаты не порадовали. У меня очень базовое понимание всей этой области, но возникло ощущение, что тессеракт остановился в своём развитии много лет назад и лучше использовать что-то более современное.
Непосредственно распознавание текстовых строк производится их самописной нейронной сетью, основанной на
LSTM
ячейках. Как я понимаю, это всё было очень круто для своего времени (они это реализовали еще до появленияTensorflow,
согласно документации), но сильно устарело по сегодняшним меркам. Нет поддержки GPU, устаревшая архитектура (предполагаю, чтоGRU
или вообще популярные сейчас трансформеры на современныхtensorflow/pytorch
намного обойдут самописнуюLSTM
сеть в тессеракте и по точности и по скорости), сложности с обучением из-за привязки к их скриптам/форматам обучающих данных/C++ коду (т.е. даже напримерtensorboard
для более глубокого отслеживания процесса уже не привязать).Нахождение текста на фото делается классическими алгоритмами CV, которые не очень хорошо работают в сложных условиях. Насколько я помню, по-быстрому прикрученная к проекту модель Advanced EAST (примитивная по сегодняшним меркам) дала намного более качественный поиск текста без необходимости мучиться с бинаризацией и прочим препроцессингом, чем встроенная в сам тессеракт. Менее актуально для обычных сканов документов, чем для фотографий, наверное.
Насколько я вижу, сильно с тех пор в библиотеке ничего не поменялось, если бы понадобилось OCR сейчас - смотрел бы в сторону более современных инструментов, PaddleOCR например.
Согласен, есть более интересные и гораздо современнее модели. По тестам они превосходят тессеракт в показателях. Хоть и не на много. Но тессеракт выигрывает своей простотой в использовании и быстрой настройкой. Буквально одна команда для установки и следующей командой можно пользоваться.
Хотя, если б стояла задача сделать полноценный пайплайн по OCR с нуля, то я выбрал бы для этого TrOCR или PaddleOCR.
Закопайте уже эту стюардессу! )))
Обучал тессеракт на этом шрифте долго и упорно, но результат был всё равно отстойный.
По сравнению с тем распознаванием, который выдавал API от ABBYY.
В общем задачу пришло по-другому решать, через распознавание русского текста не сработало (у ABBYY тоже хватало ошибок, поэтому подход пришлось отклонить)
Я как то скармливал в Tesseract и в ABBY один и тот же текст. Результат был одинаков.
Как я дообучал Tesseract и что из этого получилось