Космос Не Так Прост, Как Кажется

Всем привет! Как вы уже знаете, мы в SE занимаемся распознаванием текста (и не только) на различных документах.

Сегодня мы хотели бы поговорить об еще одной проблеме при распознавании текста на сложном фоне — распознавании пробелов.

В общем, об имени на банковских картах мы поговорим, но сначала пример с «призраком» буквы Е.

Как видите, здесь справа от Д искажения и фон образовали достаточно четкую Е.

Более того, если показать эту ячейку отдельно от всего остального, человек (или нейросеть) уверенно скажет, что буква существует.

Космос не так прост, как кажется

Как вы можете видеть на картинке, мы работаем над оригинальным изображением со сложным фоном, поэтому наши пространства достаточно разнообразны.

На них есть узоры, логотипы и иногда текст. Например, VISA или MAESTRO на картах.

И нас интересуют именно такие «комплексные пространства», а не только белые прямоугольники.

А в наших системах мы рассматриваем специально вырезанные прямоугольники символов [1].



В чем сложность?

Пробел — это символ без каких-либо особенностей.

На сложном фоне, таком как тот, что на изображении, даже человеку может быть трудно различить одно вырезанное пространство.



Космос не так прост, как кажется

С другой стороны, Космос по своей сути отличается от других персонажей.

Если в названии вместо ASIA распознается ABIA, то есть шанс исправить это постобработкой.

Но если там появится АИА, то вряд ли что-то поможет.

Не используемые нами методы

Часто пространства фильтруются с использованием статистики, рассчитанной на основе изображения.

Например, они вычисляют среднее абсолютное значение градиента по картинке или дисперсию интенсивностей пикселей и на основе порогового значения делят картинки на пробелы и буквы.

Однако, как видно из графиков, такие методы не подходят для серых картинок со сложным фоном.

А из-за очевидной корреляции ценностей даже сочетание этих методов не справится.



Космос не так прост, как кажется

И здесь всеми любимая бинаризация не поможет. Например, на этой картинке:

Космос не так прост, как кажется



Так как же можно улучшить узнаваемость?

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

Мы не хотим увеличивать ввод сети распознавания, которая в целом работает хорошо (и распознает много пространств).

Итак, заведем еще одну сеть — более простую.

Новая сеть будет предсказывать, что изображено на картинке: два пробела, две буквы, пробел и буква или буква и пробел.

Соответственно, такая сеть используется вместе с сетью распознавания.

На изображении показаны используемые архитектуры: слева — архитектура сети распознавания, справа — архитектура предлагаемой сети.

Сеть распознавания работает с изображением с одним символом, а новая работает с изображением двойной ширины, содержащим два соседних символа.



Космос не так прост, как кажется



Как насчет тестирования?

Для тестирования у нас было 4320 строк имен, содержащих 130149 символов, из которых 68246 были пробелами.

Начнем с того, что у нас есть два метода.

Основной метод: разрезать строку на символы и распознавать каждый символ индивидуально.

Новый метод: мы также разрежем строку символов, найдем все пробелы новой сеткой, а оставшиеся символы распознаем обычной.

Из таблицы видно, что качество распознавания пробелов, как и общее качество, повышается, но качество распознавания букв несколько снижается.

Пространства Буквы Общий
Основной метод 93.6% 99.8% 96.5%
Новый метод 94.3% 99.6% 96.8%
Однако наша базовая сеть также может распознавать пространства (хотя и хуже, чем хотелось бы).

И мы можем попытаться этим воспользоваться.

Давайте посмотрим на ошибки обоих методов.

А также – от качества нового метода, основанного на ошибках базового и наоборот. Для основного метода:

Пространства Символы Общий
Ошибки базового метода 4392 141 4533
Распознано новым методом 44.7% 29.8% 44.3%
Для нового метода:
Пространства Символы Общий
Ошибки базового метода 3893 241 4134
Распознано новым методом 37.6% 58.9% 38.9%
Из последних трех таблиц видно, что для улучшения системы стоит использовать взвешенную комбинацию сетевых оценок.

При этом посимвольное качество интересно, но построчное качество интереснее.

Качество
Основной метод 96.39%
С новой сетью 96.46%
Комбинация методов 97.07%


Заключение

Пространство — большая проблема на пути к 100% качественному распознаванию документов =) Пример пробелов наглядно показывает, насколько важно смотреть не только на отдельные символы, но и на их сочетания.

Однако не стоит сразу хвататься за большую артиллерию и обучать гигантские сети, обрабатывающие целые строки.

Иногда достаточно еще одной небольшой сети.

Пост подготовлен с использованием материалов доклада Европейской конференции по моделированию ECMS 2015 (Болгария, Варна): Шешкус А.

, Арлазаров В.

Л.

(2015).

Обнаружение пробельных символов на сложном фоне с использованием визуального контекста.

Список использованных источников 1. Чернышова Ю.

С.

, Шешкус А.

В.

, Арлазаров В.

В.

Двухэтапная структура CNN для распознавания текстовых строк в изображениях, полученных камерой, IEEE Access, vol. 8, стр.

32587-32600, 2020 г.

, DOI: 10.1109/ACCESS.2020.2974051. Теги: #Машинное обучение #Алгоритмы #искусственный интеллект #Обработка изображений #распознавание изображений #нейронные сети #ocr #распознавание банковских карт #комбинация алгоритмов

Вместе с данным постом часто просматривают: