Оптимальный шрифт для Tesseract? (в частности, оболочка.NET)
Я использую Tesseract как средство для преобразования печатных текстовых документов, снятых моей камерой мобильного телефона, в текст. Результаты не велики. Качество изображения очень хорошее, намного более четкое, чем у факса, но, похоже, очень сложно идентифицировать символы.
Я также попытался имитировать один из этих документов в текстовом редакторе, сделать снимок экрана с окном и запустить его через Tesseract, и результаты были лишь незначительно лучше.
Это наводит меня на мысль, что, вероятно, есть оптимальный шрифт для Tesseract. Я немного погуглил и наткнулся на OCR-A, но для него, видимо, нужна лицензия. Затем я наткнулся на бесплатную альтернативу OCR-A на SourceFourge, но, похоже, она не намного лучше, чем Arial или Courier New.
Есть ли шрифт, который лучше всего работает с Tesseract, или мне нужно сделать что-то еще, чтобы повысить точность распознавания символов?
3 ответа
Я провел эксперимент, чтобы ответить на этот вопрос.
- Создайте документ со случайными 6000 символов из базовых 64 наборов символов (в основном все буквы верхнего и нижнего регистра + цифры).
- Для каждого шрифта в моей системе (ящик Linux) сгенерируйте изображение с одинаковым содержимым
- Отдай это Тессеракту
- Измерьте частоту ошибок / точность
Вот результаты для Tesseract v4.1.1, я привожу самые эффективные шрифты:
- митра
- TeX_Gyre_Bonum
- DejaVu_Serif
- Робото
- Cantarell
См. Также это заключение: https://www.monperrus.net/martin/perfect-ocr-digital-data
Я часто использую tesseract-ocr, и, по моему опыту, только две вещи улучшают его производительность: исходное изображение в формате tiff и физический размер текста в изображении. Следовательно, я запускаю его для изображения и для изображения, размер которого изменен на 200%, 400% и 800%. Для каждого из созданных текстов я подсчитываю количество слов, помеченных как написанные с ошибками, и делаю соответствующий выбор.
Конечно, шрифт влияет на производительность тессеракта, но я не вижу, чтобы это имело отношение к вашей ситуации. Разве вы не застряли на том шрифте, который использовался для создания текстового документа, который вы фотографируете?
Ваш лучший выбор - обучить его тому шрифту, который вы используете.
Я не хочу притворяться, что это легкий процесс, это не так, но он должен работать лучше. Кроме того, большинство программ распознавания текста поддерживают 300 dpi или 600 dpi, поэтому может потребоваться масштабирование.
В Tesseract Github Wiki есть несколько хороших ресурсов по обучению Tesseract.