Google Cloud Vision - цифры и цифры OCR

Я пытался реализовать программу OCR с Python, которая читает числа с определенным форматом, XXX-XXX. Я использовал Распознавание текста API Cloud Vision от Google, но результаты были ненадежными. Из 30 высококонтрастных изображений 1280 x 1024 bmp только несколько привели к правильному выходу или, по крайней мере, включили правильный выход в результаты. Программа имеет тенденцию опускать некоторые цифры, выводить на неанглийских языках или прокрадываться в несколько специальных символов.

цель по крайней мере, выводите правильные числа последовательно, не имеет значения, если результаты посыпаны другим мусором. Есть ли способ помочь программе лучше распознавать числа, например, ограничить результаты определенным форматом или только числами?

2 ответов


на данный момент невозможно добавить ограничения или дать конкретный ожидаемый формат номера для запросов API Vision, как уже упоминалось здесь (менеджером проекта Cloud Vision API).

вы также можете проверить все возможные параметры запроса (в ссылка на API), ни один не указывает ничего, чтобы указать формат номера. В настоящее время только варианты:

  • latLongRect: укажите расположение изображение
  • languageHints: указание ожидаемого языка для text_detection (список поддерживаемых языков здесь)

Я предполагаю, что вы уже проверили несколько ответов (с разными включенными областями изображения), чтобы узнать, можете ли вы восстановить текст, используя местоположение разных цифр?

обратите внимание, что API Vision и text_detection не оптимизирован для ваших данных в частности, если у вас будет много аннотированных данных, это также возможность фактически построить свою собственную модель с помощью Tensorflow. это blogpost объясняет настройку системы для обнаружения номерных знаков (с определенным числовым форматом). Весь код доступен на сайте Github и проблема, кажется, очень связана с вашей.


Я не могу сказать вам, почему это работает, возможно, это связано с тем, как язык чтение, o против 0, l против 1 и т. д. Но всякий раз, когда я использую OCR, и я специально ищу номера, я прочитал, чтобы установить язык обнаружения на "Корейский". Он работает исключительно хорошо для меня и сильно повлиял на точность.