Comments 11
Там ведь в самом конце об этом говорится
У Tesseract с распознаванием чисел всё не так хорошо и просто, как с текстами. Даже на простых шрифтах рекомендуемые твики и black-/whitelist далеко не всегда срабатывают.
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'D:\\Tesseract-OCR\\tesseract.exe'
result = pytesseract.image_to_string(image, lang='eng', \
config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')
print(result)
На выходе:
'27021994'
Картинку даже не пришлось resize.
Причины следующие:
1) Пример обрезка картинки даты рождения, в этом случае, представлен для примера одного из возможных наблюдений. На самом деле наш тестовый сет куда более искаженный, ввиду того, что у разных мобильных устройств может быть свое разрешение камеры. На старых мобилках, например, качество отснятого изображения может быть куда хуже, чем на новых. Cнимки с камеры ноутбука также часто имеют плохое качество. Документ может быть грязным сам по себе и вносить шум, он также может быть поцарапан или склеен после повреждения и тп. Помимо этого есть классические эффекты blur, дисторсии, фокусировки и многое другое.
2)Следующий важный аргумент — нам необходимо было деплоить модели и всю логику на мобилки. Размер Tesseract в районе 28 мегабайт. Ввиду таких ограничений нам нужно было уложиться в размер меньше мегабайта, а желательно и еще меньшего порядка, чтобы попутно увеличить скорость работы алгоритма, так как решение было сделано с расчетом, в том числе, и на мобильные устройства старых годов выпуска, которые не всегда имеют вшитые GPU.
3) На нашем тестовом сете пробовали прогонять как Tesseract, так и наши обученные модели. Результат, к примеру, на модели предсказывающей цифры, следующий: Tesseract(куда ниже 70% accuracy) vs Our_Model(в районе 94%). Еще раз повторюсь, что тестовый сет был зачастую искаженный, чтобы учесть больше разных кейсов.
Спасибо за Ваш интерес и вопросы.
2.Как вам удалось собрать модель с весами меньше мегабайта?
Классный проект, интересно было почитать вашу историю успеха!
Очень интересно, много ли времени заняло создание решения и сколько человек было в команде? Если, конечно, можете рассказать :)
Добрый день ! Не сразу заметил уведомления(улетели в спам в почте). Спасибо за Ваш отзыв и за то, что уделили время на прочтение статьи! Как таковых точных рамок по уделенному времени на проект сложно просчитать ввиду того, что его итеративно развивали(в том числе это продолжается и сейчас), улучшая при этом подходы, которые были ранее имплементированы в компонентах проекта. Помимо этого, если всплывают какие-то ошибки в распознавании, есть необходимость в тех.поддержке. По поводу команды- работало также несколько человек(до недавнего времени над проектом в части CV занимались от 2 до 4 человек(периодически отвлекаясь и на другие проекты) , в основном ML инженеры.
Помогите прочитать, что здесь написано? (OCR)