Это краткое изложение исследовательской работы Сквозная интерпретация набора данных французских названий улиц.

Это модель, которая принимает несколько снимков знаков просмотра улиц в качестве входных данных и выводит название в формате, который будет напрямую отображаться на картах Google. Полная сквозная модель. Это включает в себя чтение изображения, анализ текста, преобразование текста для стандарта карт Google и объединение текста из нескольких изображений в наиболее точную версию. Довольно интересная проблема и решение. Это один из вдохновляющих документов для модели Tesseract LSTM.

Прежде всего, они превратили транскрипцию дорожных знаков (img в текст) в более простую задачу для модераторов-людей. Они обнаружили уличные знаки с помощью нейронной сети, которая дала ограничивающую рамку уличных знаков. Затем они собрали несколько изображений одного и того же знака, используя геокоординаты захвата изображения. Затем каждое изображение было расшифровано с использованием ocr, recaptcha и человека соответственно. OCR давал основные данные для рекапчи, люди проверяли ввод рекапчи, неверные транскрипции пересылались людям. Они никогда не расшифровывали текст так, как он был показан на изображении, но хотели, чтобы он отображался на Картах Google.

Рекуррентная модель — УЛИЦА

Затем, используя этот набор данных, они обучили модель STREET (рекуррентная сквозная транскрипция StreetView Tensorflow) для сквозной задачи, от использования набора из 4 видов уличного знака в качестве входных данных до расшифровки названия улицы, которое будет использоваться в Карты в качестве вывода.

Си-Эн-Эн

Изображения разбиваются на 4 изображения из одного изображения, применяется 2 свертки с максимальным объединением для уменьшения размеров с 150x150 до 25x25.

Поиск и чтение текста

Ячейки с вертикальным суммированием долгой краткосрочной памяти (LSTM) используются для поиска текстовых строк. Вертикально суммирующий LSTM — это суммирующий LSTM, который сканирует ввод по вертикали. Таким образом, ожидается, что он вычислит вертикальную сводку своих входных данных, которая будет взята из последнего вертикального временного шага.

Выполняются три различных вертикальных обобщения, которые позже объединяются:

  1. Вверх, чтобы найти верхнюю текстовую строку.
  2. Разделите восходящие и нисходящие LSTM с выходными данными, объединенными по глубине, чтобы найти среднюю текстовую строку.
  3. Вниз, чтобы найти нижнюю текстовую строку.

Хотя каждый LSTM с вертикальным суммированием видит одни и те же входные данные и теоретически может суммировать все, что он видит, они организованы таким образом, что им нужно выводить только сводку самой последней просмотренной информации.

Поскольку среднюю линию найти труднее, два LSTM работают в противоположных направлениях. Каждый вывод из слоев CNN передается в отдельный двунаправленный горизонтальный LSTM для распознавания текста. Было показано, что двунаправленные LSTM способны читать текст с высокой точностью. Выходные данные двунаправленных LSTM объединяются в x-измерении, чтобы текстовые строки располагались в порядке чтения.

Нормализация положения персонажа и комбинация отдельных выходных данных

Все четыре входных изображения могут иметь текст, расположенный по-разному, в сети предоставляется возможность перемешивать данные в измерении x, добавляя еще два слоя LSTM — сканирование слева направо и справа налево.

После этого используется однонаправленный LSTM для объединения четырех представлений каждого входного изображения для получения наиболее точного текста. Это слой, который также будет изучать нормализацию регистра заголовков. Отсев 50% при добавлении черно-белого изменения формы для регуляризации.

Окончательная сеть

Первоначально опубликовано на shubham.chaudhary.xyz.