Распознавание изогнутого текста — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Архитектура:)
(Архитектура:)
Строка 144: Строка 144:
  
 
==== Архитектура: ====
 
==== Архитектура: ====
 +
 +
[[file:Tperc arch.png|800px|right|thumb]]
 +
 
Детектор текста использует ResNet и Feature Pyramid Network (FPN) как основу, и реализуется путем одновременного изучения трех задач: многоклассовой семантической сегментации с учетом порядка, регрессии угла и регрессии смещения границ. STM отвечает за объединение детекции и распознания. Для этого STM генерирует доверительные точки и настраивает их позиции, на основе чего "выпрямляет" текст с помощью TPS (Thin-plate splines) для дальнейшего распознавания. В модуле распознавания может использоваться любой sequence-based метод.
 
Детектор текста использует ResNet и Feature Pyramid Network (FPN) как основу, и реализуется путем одновременного изучения трех задач: многоклассовой семантической сегментации с учетом порядка, регрессии угла и регрессии смещения границ. STM отвечает за объединение детекции и распознания. Для этого STM генерирует доверительные точки и настраивает их позиции, на основе чего "выпрямляет" текст с помощью TPS (Thin-plate splines) для дальнейшего распознавания. В модуле распознавания может использоваться любой sequence-based метод.
 
[[file:Tperc arch.png|800px|right]]
 
  
 
==== Точность: ====
 
==== Точность: ====

Версия 18:46, 18 января 2021

Эта статья находится в разработке!

Распознавание текста — важная задача машинного обучения, решение которой позволит получать огромное количество информации из окружающего мира без участия человека. Распознавание изогнутого текста, в частности, одна из проблем, лежащих на пути решения данной задачи.

Людей, работающих в данном направлении, для удобства условно будем называть "исследователями".

Вступление

В решении задачи распознавания текста двумя основными составляющими являются определение области текста и распознавание содержимого области. В сообществе исследователей выделяют три разных вида ориентации текста - horizontal, multi-oriented, curved (усл. горизонтальная, множественная, изогнутая). Очевидно, что правильность определения области текста напрямую влияет на качество работы распознающих моделей. Долгое время распознавание изогнутого текста казалось крайне сложной задачей - до тех пор, пока не появились способы весьма точно определять контуры объектов на изображениях ([см./например] Mask R-CNN). Использование методов сегментации изображения позволяет добиться хороших результатов на существующих датасетах.

Существующие модели и датасеты

Датасеты, способствовавшие исследованиям в области распознавания изогнутого текста:

  • TotalText
  • SCUT-CTW1500

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

Модели только для детекции:

  • TextSnake
  • TextFuseNet
  • PolyPRNet

Модели end-to-end:

  • CRAFTS
  • MANGO
  • Text Perceptron
  • ASTS_Weakly
  • Boundary

Датасеты

TotalText (2017)

Предшествующие TotalText'у датасеты ICDAR'03, '11, '13 и MSRA-TD500 сыграли значимую роль в начале исследований в области распознавания текста. У датасетов ICDAR тексты встречались в единственной ориентации - горизонтальной, и на этом предположении были основаны многие ранние модели. Границы текста они определяли как прямоугольник. Это ограничивало возможности распознавания, и для привлечения внимания исследователей к этой проблеме в 2012 году был представлен датасет MSRA-TD500, включавший в себя большое количество изображений с множественной ориентацией текста (от горизонтальной отличается тем, что область с текстом находится под наклоном или/и в перспективе). Модели были усовершенствованы, и теперь определяли границы как произвольных форм четырёхугольники. Текст же изогнутой формы, несмотря на частоту появления в реальном окружении, практически не появлялся в датасетах (искл. COCO-text и CUTE80, но они не привлекли особого внимания к проблеме). Поэтому справиться с произвольной формой текста многие модели попросту не могли.

Для привлечения внимания к этой проблеме в 2017 году был представлен датасет TotalText, состоящий из 1555 изображений с текстом различной ориентации и содержащий в целом 9330 слов. Отличительной особенностью TotalText является Groundtruth области (или же границ) текста. Groundtruth ("основная истина") - это термин, используемый для обозначения информации, предоставляемой прямым наблюдением (в отличие от информации, предоставляемой предположением). В данном случае под термином groundtruth подразумевается значение, которое в идеале должна предсказать модель. Так, в COCO-Text groundtruth области текста был прямоугольник, а вот в TotalText это был многоугольник, состоящий из множества полигонов.

SCUT-CTW1500 (2017)

SCUT-CTW1500 должен был привлечь внимание к той же проблеме, что и TotalText. Они были опубликованы практически одновременно (TotalText 27 октября 2017, а SCUT-CTW1500 6 декабря 2017). Вероятно, они разрабатывались независимо друг от друга - авторы SCUT-CTW1500 утверждали, что они являются первооткрывателями полигонального подхода, хотя TotalText был опубликован немного раньше. Позднее авторы TotalText добавили ссылку на SCUT-CTW1500 в качестве дополнения к своему датасету. SCUT-CTW1500 включает в себя 1500 изображений (1000 для обучения, 500 для проверки), на которых содержится более 10 тысяч областей с текстом, и на каждом изображении как минимум один раз встречается изогнутый текст. Здесь, как и в TotalText, groundtruth - фигура, состоящая из нескольких полигонов. Оба этих датасета (а точнее, модели, обученные на них) стали прорывом - они первые начали использовать полигональный groundtruth.

В 2021 году TotalText и SCUT-CTW1500 уже не используются как два независимых датасета. Датасет ArT объединил их в себе и стал самым большим датасетом изогнутого текста.

Модели для детекции

TextSnake (2018)

Краткое описание и особенности

TextSnake представляет текст в виде области текста (линия, обводящая текcт по периметру), делящейся внутри в виде последовательности кругов разного радиуса, расположенных всегда строго в центре области текста.

TextSnakeRepresentation.png

Архитектура

TextSnake использует сверточную нейронную сеть, подробная архитектура которой представлена на изображении:

TextSnakeArchitecture.png

Точность

F-мера:

  • TotalText: 78.4
  • CTW1500: 75.6

TextFuseNet (2020)

Краткое описание и особенности

Основной особенностью TextFuseNet является выделение бóльшего количества признаков и их слияние для более точного определения текстовых областей. TextFuseNet опирается на Mask R-CNN и Mask TextSpotter и рассматривает детекцию текста как задачу сегментации. Но отличительной особенностью данной модели является выделение признаков на трёх уровнях: буквенном, словесном и глобальном.

Архитектура

Tfn arch.png

Общая архитектура TextFuseNet представлена выше. Для получения глобального представления используется семантическая сегментация. Далее, с помощью Mask R-CNN в ветвях Detection и Mask определяются признаки на буквенном и словесном уровнях. Для слияния уровней используется модуль multi-path fusion (представлено снизу), что позволяет TextFuseNet изучать более дифференцированное представление и выдавать более точные результаты детекции текста.

Tfn mpf.png

Точность

F-мера:

  • Total-Text: 87.1
  • CTW1500: 86.6

PolyPRNet

Краткое описание и особенности

Отличительной чертой PolyPRNet является способ представления текста. Для области с текстом модель определяет центральную линию как полином степени n. Эта центральная линия определяет общую форму и плавность текста. Для её построения используется набор k путевых точек, расположенных на медиальной оси текстовой области (полиномиальная центральная линия должна максимально точно проходить путевые точки). Для описания таких локальных свойств, как ширина линии (т.е. высота текста) и ориентация, используется набор m линий широты. Линия широты пересекается с центральной линией, и описывается с помощью параметров xi, yi, la, lb и θi, где xi и yi - координаты начала линии широты, la и lb - длина различных частей линии, θi - угол линии широты относительно оси y. Геометрическая модель текстовой области состоит из центральной линии {an, an-1,.. a0} и параметров {xi, yi, lai, lbi, θi} линий широты.

Pprnet text.png

Архитектура

PolyPRNet использует двухступенчатую структуру на основе R-CNN. Схема архитектуры представлена ниже. На первой стадии используется ResNet50 и Feature Pyramid Network (FPN), чтобы получить карты признаков из исходного изображения. Далее используется сеть RPN для формирования набора предложенных областей текста. На второй стадии используется модуль R-CNN с ветками регрессии границы (bounding box regression) и классификации, чтобы точнее локализовать предложенные области. Так же используется модуль Polynomialbased shape Parameter Regression (PPR), чтобы вывести форму и направление потенциального текстового кандидата.

Pprnet arch.png

Точность

F-мера:

  • Total-Text: 84.6%
  • CTW1500: 83.4%

Модели end-to-end

CRAFTS (2020)

CRAFTS — это полноценный end-to-end фреймворк, способный не только к детекции, но и к распознаванию. Его часть, отвечающая за детекцию, показывает наилучшие результаты, так же, как и часть, отвечающая за распознавание без словаря.

Архитектура

CRAFTS состоит из трех слоев: слоя детекции, коммуникации и распознавания. Данные, проходя через три этих этапа, на выходе представляют собой готовый end-to-end результат в качестве распознанных слов.

CraftsArchitectureFull.png

Для детекции CRAFTS использует ResNet50 остаточную сверточную нейронную сеть для первичной обработки изображения. На основе полученного результата определяется направление и границы сначала областей текста, а затем отдельных символов в них. На выходе получается изображение с размеченными областями текста, а внутри них размеченные ориентированные конейнеры с символами. Данные представляются в виде таблицы признаков.

CraftsArchitecture2.png


Слой коммуникации принимает таблицу признаков и преобразовывает ее для дальнейшей передачи в слой распознавания. Это происходит в два этапа: сначала очищение текста, потом корректировка признаков.

Очищение текста по сути своей является корректировкой символьных полигонов. Они выпрямляются и сглаживаются, обтекая символы. Эти преобразования происходят в три этапа трансформации сплайнов с малой шириной. Для трансформации используется 20 контрольных точек. Также на этом этапе при необходимости применяется 2D-полиномиальное сглаживание для достижения еще более точной формы полигона.

Полученный результат позволяет составить откорректированную таблицу признаков, ориентированную посимвольно (на каждый символ устанавливается точка внимания). Этот этап является ключевым по двум причинам. Во-первых, скорректированная таблица сама по себе облегчает работу рекогнайзеру, что значительно повышает его эффективность. Во-вторых, на данном этапе через откорректированную таблицу слой детекции и слой распознавания становятся зависимыми друг от друга. Это позволяет ошибке распознавания повлиять на работу слоя детекции. Такая связь оказывает внушительное влияние на качество обучения и, как следствие, на качество модели.

CraftsLossFlow.png

Процесс распознавания состоит из трех частей: извлечение признаков, моделирование последовательности и непосредственно распознавание. Успех этапа распознавания во многом зависит от правильно расставленных точек внимания. Если они смещены или утеряны, то корректное распознавание практически невозможно.

CraftsRecognition.png


Точность

TotalText:

  • F-мера детекции: 87.4
  • F-мера E2E без словаря: 78.7

MANGO (2021)

Краткое описание и особенности

Архитектура

Точность

TextPerceptron (2020)

Краткое описание и особенности:

Text Perceptron - это E2E модель, состоящая из трёх частей: модуль детекции, Shape Transform Module (STM, "модуль трансформации формы") и модуль распознавания текста. Модуль детекции описывает текстовую область с помощью четырёх субобластей: центр, начало, конец и вертикальная (верх/низ) область. Это сделано для упрощения определения направления чтения. STM необходим для устранения несовместимости между модулем детекции и модулем распознавания. Модуль распознавания генерирует итоговую символьную последовательность. Каждый этап может влиять на предшествующий ему этап, сигнализируя соответствующему модулю о необходимости дополнительной настройки.

Tperc sch.png

Архитектура:

Tperc arch.png

Детектор текста использует ResNet и Feature Pyramid Network (FPN) как основу, и реализуется путем одновременного изучения трех задач: многоклассовой семантической сегментации с учетом порядка, регрессии угла и регрессии смещения границ. STM отвечает за объединение детекции и распознания. Для этого STM генерирует доверительные точки и настраивает их позиции, на основе чего "выпрямляет" текст с помощью TPS (Thin-plate splines) для дальнейшего распознавания. В модуле распознавания может использоваться любой sequence-based метод.

Точность:

F-мера:

  • Total-Text (Detection): 85.2%
  • Total-Text (E2E, без словаря): 69.7%
  • Total-Text (E2E, со словарём): 78.3%

ASTS_Weakly (2019)

Краткое описание и особенности

Архитектура

Точность

Boundary (2019)

Краткое описание и особенности

Архитектура

Точность