mrgloom 242 Жалоба Опубликовано March 19, 2018 Кто то пробовал применять tesseract-ocr не для классического OCR? Например чтение показателей с электронного циферблата, распознавание номеров, распознавание капч, text in the wild? Есть ли какой то смысл его использовать для данных задач? Судя по changelog они сейчас используют LTSM, так почему бы не использовать какой то более популярный фреймвор для DL? https://github.com/tesseract-ocr/tesseract/blob/master/ChangeLog На вскидку не нашел какие шрифты \ словари \ языки поддерживаются, чтобы можно было сразу и наглядно понять. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано March 19, 2018 А чем тут LSTM помочь может? Исходники не смотрел, но он, по идее, должен помогать не для распознавания отдельных символов, а для коррекции слов и предложений. Нет? А для твоей цели важны именно символы. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
idrua 8 Жалоба Опубликовано March 20, 2018 Я пробовал. Нормально распознает, если нормально обучить. БОльшая точность при распознавании отдельных слов или букв, по сравнению со строками текста или предложениями. Отдельная проблема с сегментированием. Иногда контур (Rect) буквы/цифры берется неправильно и нужно исправлять. Т.е. объединить близко расположенные "коробки", понять истинный размер символа и распознать одиночный символ. P.S. Но обучать tesseract очень непростая задача. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
mrgloom 242 Жалоба Опубликовано March 20, 2018 В 19.03.2018 at 21:39, Nuzhny сказал: А чем тут LSTM помочь может? Исходники не смотрел, но он, по идее, должен помогать не для распознавания отдельных символов, а для коррекции слов и предложений. Нет? А для твоей цели важны именно символы. Ну это смотря как применять: 1. Одно дело это неявное моделирование словаря и\или частоты встречающихся соседних букв. 2. Другое это если подавать пиксели столбцами то как раз получаем последовательность, где подпоследовательность столбцов составляет букву. Вот например пример OCR на Keras (CNN+LSTM+CTC loss), где не надо делить на символы вообще, т.е. выборка подается как картинка - строка, так же насколько я понимаю и для seq2seq модели. https://github.com/keras-team/keras/blob/master/examples/image_ocr.py Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах