1. Обзор

Начнем с наблюдения: административные документы играют важную роль в качестве инструмента для передачи, хранения и поиска данных.
Действительно, эти административные документы создаются, когда врачи выписывают медицинские квитанции для пациентов, а клерки выставляют счета клиентам. , а также используется в качестве промежуточной меры перед сохранением в цифровой базе данных.
Извлечение информации из этих административных документов обычно требуется широкому кругу профессионалов: врачам, клиентам, финансовым служащим, исследователям, специалистам по продажам. и т. д.
Поскольку существует такой широкий круг пользователей, мы видим, что IE может потребовать очень высокого уровня точности, а также определенного уровня знаний для проверки извлеченной информации.

В Cinnamon мы создаем Flax, он предназначен для извлечения соответствующей информации из этих административных документов:
Flax может точно и эффективно читать медицинские квитанции, счета, страховые бланки и т. Д.
-Процесс, основанный на обучении, который будет обсуждаться в этой серии, Flax можно легко переобучить с помощью небольшого количества аннотированных документов.
Мы надеемся, что, создав этот продукт, врачи и фармацевты смогут потратить больше времени на обучение, исследования и обратно. -Члены офиса тратят больше времени на изучение и извлечение цифровых данных и повышают общую производительность.

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

2. Сканер льна:

Компоненты льна

Мы видели, что в некоторых случаях использования Flax может потребоваться очень высокий уровень точности, когда он используется различными клиентами.
Таким образом, для Flax важно иметь возможность работать с этими различными форматами, макетами и поддержание высокого уровня точности для каждого из форматов.
Наша система Сканер льна в целом может быть разделена на два основных модуля соответственно:

  • Обнаружение объектов документа (DOR) Общие модули, используемые для всех типов документов. Он принимает входные данные как изображения, а также расположение строк текста (макет) и их текстовое содержимое (OCR).
  • Извлечение информации о документе (DIE) Специализированный для задачи модуль, он использовал небольшое количество текстовых строк, расположение и содержание, чтобы определить, какая именно релевантная информация должна быть извлечена.

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

3. Разложение структуры изображения с помощью модулей DOR:

Это частый вопрос, с которым мы сталкиваемся инженеры и исследователи: Почему мы должны сначала разложить изображение документа перед выполнением извлечения информации (IE)?

Действительно, есть соблазн использовать технологии обнаружения объектов, такие как Faster RCNN [2] или YOLO [3], для целостной архитектуры, но мы этого не сделали.

Мы хотим, чтобы обнаружение объектов документа было общим модулем, который работает с любыми документами, поскольку для каждого документа и каждого формата требуется извлечение определенных полей: в медицинских квитанциях требуется название лекарства, в счетах - стоимость товаров и т. Д.
Поэтому он должен иметь промежуточное представление, которое охватывает все это,
после «декомпозиции изображений» цель Задачи состоит в том, чтобы обнаруживать, локализовать и распознавать любые полезные фрагменты информации для дальнейшего извлечения ключевого значения.

Постановка проблемы

Мы определяем распознавание объектов документа следующим образом: для данного документа обнаруживаем все определенные объекты (штампы, таблицы, значки), определенные по их местоположению (x, y, w, h), и все текстовые строки, определенные кортежем (x, y, w, h, text), относящимся к координатам текстовых строк в документах, их ширине, высоте и их текстовому содержанию.

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

Обнаружение макета

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

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

Однако по мере того, как мы прогрессируем и применяем методы увеличения, а также различные функции (разворачивание, усиление контрастов, коррекция ориентации), мы достигли высокопроизводительных модулей (около 0,9 пересечения по сравнению с объединением) в обнаружении важных компонентов, таких как текстовые области, штампы и т. Д. или таблицы внутри изображений документа, даже при различном освещении и фоновых условиях.

OCR

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

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

В Cinnamon мы используем самые современные архитектуры глубокого обучения для достижения максимально возможной производительности и точности в различных условиях.
Помимо вышеупомянутой проблемы с освещением, формами и шрифтами, которая влияет как на макет, так и на распознавание текста, для того, чтобы он действительно обрабатывал реальные случаи, мы также должны иметь дело с рукописным текстом, а также с печатным текстом:

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

Рукописные символы: их гораздо труднее распознать, чем печатные символы, поскольку у людей разные стили почерка.

Сетевая архитектура:

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

Поскольку входом для Document Object Recognition (DOR) является изображение, CNN используется для автоматического преобразования этого изображения в набор карт характеристик. Проходя через слои свертки, визуальные подсказки агрегируются в каждой из карт функций, где последняя вынуждена выводить маску расположения текстовых строк. В рамках этого блога мы сосредоточимся только на наиболее типичном компоненте изображения документа - текстовых строках. Этот процесс называется сегментацией текстовых строк.
Для конкретной архитектуры сверточных сетей AR-UNET представляет собой сложную архитектуру для задачи сегментации:

  • AR-UNET: Традиционно UNet (бумага) - это популярная нейронная сеть с двумя разными путями, образующими U-образную форму: один путь используется для сжатия, а другой - для восстановления визуальной информации. Остаточное внимание-Unet (бумага), принадлежащее семейству Unet, имеет новые остаточные связи (бумага), а также механизм внимания (бумага) для сосредоточения внимания на интересных регионах. Эта архитектура представлена ​​в статье Двухэтапный метод обнаружения текстовых строк в исторических документах для выполнения локализации текстовых строк.
  • AR-UNET используется в нашей системе благодаря его способности эффективно обрабатывать многомасштабные изображения документов. Изображения документов уменьшаются до различных версий, и все они передаются в сеть для агрегирования взаимной информации, обучения и выполнения попиксельной классификации изображения с 3 классами: базовые линии, разделитель и другие.

После применения сегментации (определения макета) к изображениям мы ожидаем получить расположение текстовых полей. Но это все еще только карты функций (мы можем видеть это как стопку изображений), чтобы преобразовать их в текстовое представление, необходимо выполнить процесс оптического распознавания символов (OCR). Здесь на помощь приходит сверточная рекуррентная нейронная сеть (CRNN).

  • Сверточная рекуррентная нейронная сеть (CRNN): чтобы преобразовать часть замаскированного изображения в текстовое представление, CRNN (бумага) используется для распознавания символов. Эта архитектура представляет собой композицию как CNN, так и RNN вместе со специальным конечным слоем, использующим вероятностную модель для прогнозирования символов, называемую временной классификацией Connectionist.

Рассматривая каждый скользящий прямоугольник в последовательности функций, потенциально содержащей один символ, RNN будет изучать связь между этими последовательностями в обоих направлениях: вперед и назад. Наконец, предсказание символа затем проходит через вероятностную модель CTC, чтобы вычислить показатель достоверности всей потенциальной последовательности, которая может существовать в изображении документа, а затем определить окончательные правильные последовательности символов. Полный поток архитектуры CRNN проиллюстрирован на следующем изображении:

4. Выводы:

В этой первой статье мы рассмотрели обзор Flax Scanner. Мы также перечислили некоторые проблемы, с которыми может столкнуться решение, и обсудили некоторые из многообещающих решений этих проблем в компонентах Document Object Recognition. Для получения дополнительной информации о других компонентах и ​​нашей системе мы надеемся увидеть вас в следующих публикациях в блоге.

Использованная литература:

[1] Грюнинг, Т., Лейферт, Г., Штраус, Т., Майкл, Дж., И Лабан, Р. (2018). Двухэтапный метод определения текстовой строки в исторических документах. Https://doi.org/10.1007/s10032-019-00332-1

[2] Рен, С., Хе, К., Гиршик, Р., и Сан, Дж. (2017). Более быстрый R-CNN: к обнаружению объектов в реальном времени с помощью региональных сетей. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39 (6), 1137–1149. Https://doi.org/10.1109/TPAMI.2016.2577031

[3] Редмон Дж., Диввала С., Гиршик Р. и Фархади А. (2016). Вы смотрите только один раз: Единое обнаружение объектов в реальном времени. Труды конференции IEEE Computer Society по компьютерному зрению и распознаванию образов, 2016-декабрь, 779–788. Https://doi.org/10.1109/CVPR.2016.91

— — — —

Автор: Зед, стажер, исследователь искусственного интеллекта

Команда консультантов: Марк, Тони, Эйс, Сонни и Чинг-Тинг Ву.