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

Что такое OCR?

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

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

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

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

Современные сценарии использования OCR

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

  • Подтверждение парковки. Города и поселки используют мобильное распознавание текста, чтобы автоматически проверять, припаркованы ли автомобили в соответствии с городскими правилами. Инспекторы парковки могут использовать мобильное устройство с оптическим распознаванием символов для сканирования номерных знаков транспортных средств и проверять в онлайн-базе данных, разрешено ли им парковаться.
  • Сканирование документов с мобильных устройств. Различные мобильные приложения позволяют пользователям делать фотографии документа и преобразовывать их в текст. Эта задача OCR более сложна, чем традиционные сканеры документов, потому что фотографии имеют непредсказуемые углы изображения, условия освещения и качество текста.
  • Управление цифровыми активами (DAM) - программное обеспечение Управление цифровыми активами помогает организовать мультимедийные активы, такие как изображения, видео и анимации. Ключевым аспектом систем DAM является возможность поиска в мультимедийных материалах. Запуская OCR для загруженных изображений и видеокадров, DAM может сделать мультимедийные данные доступными для поиска и обогатить их значимыми тегами.

Подпишитесь на Deep Learning Weekly и присоединяйтесь к более чем 14 000 ваших коллег. Еженедельный доступ к последним новостям индустрии глубокого обучения, исследованиям, библиотекам кода, руководствам и многому другому.

3 модели OCR с глубоким обучением

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

Для обнаружения символов и слов на изображениях вы можете использовать стандартные модели глубокого обучения, такие как Mask RCNN, SSD или YOLO. Однако модели глубокого обучения, которые хорошо распознают объекты на изображениях (например, животных или транспортных средств), могут столкнуться с трудностями при идентификации текстовых символов и могут работать хуже, чем унаследованные алгоритмы OCR, описанные выше.

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

Сверточно-рекуррентная нейронная сеть (CRNN)

Подход CRNN определяет слова в три этапа:

  1. Стандартная сверточная нейронная сеть (CNN) - первый слой разбивает изображение на элементы и делится на «столбцы характеристик».
  2. Эти столбцы передаются в ячейку глубокой двунаправленной долгосрочной краткосрочной памяти (LSTM), которая обеспечивает последовательность, определяющую отношения между символами.
  3. Выходные данные ячейки LSTM передаются на уровень транскрипции, который принимает последовательность символов, включая избыточные символы, и использует вероятностный подход для очистки выходных данных.

Модель повторяющегося внимания (RAM)

Модель RAM основана на идее, что когда человеческому глазу представлена ​​новая сцена, определенные части изображения привлекают его внимание. Глаз сначала фокусируется на этих «проблесках» информации и получает информацию от них.

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

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

Внимание-OCR

Attention-OCR - это проект OCR, доступный на TensorFlow, и изначально он был разработан для решения проблемы субтитров к изображениям. Он структурирован как CRNN, за которым следует декодер внимания.

Во-первых, модель использует сверточные сетевые слои для извлечения функций изображения. Он кодирует эти функции в строки и передает их в RNN, за которым следует механизм внимания, заимствованный из модели машинного перевода Seq2Seq. Декодер на основе внимания используется для предсказания текста во входном изображении.

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

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

  • MNIST - хорошо известная задача компьютерного зрения, в которой отображается один рукописный символ за раз, который может быть одной из 10 цифровых цифр (0–9). MNIST считается простой задачей для моделей классификации нейронных сетей.
  • SVHN - набор данных номеров домов в просмотре улиц, извлеченный из просмотра улиц Google. Цифры разных форм и стилей написания; однако номер дома всегда находится посередине изображения, поэтому распознавание текста не требуется.
  • Набор текстовых данных просмотра улиц (SVT) - более сложная задача оптического распознавания текста, включающая изображения на открытом воздухе с шумом, артефактами изображения и проблемами освещения. Изображения в этом наборе данных обычно не могут быть обработаны устаревшими алгоритмами распознавания текста.

Заключение

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

  • Сверточно-рекуррентная нейронная сеть (CRNN) работает в слоях, которые разбивают изображения на столбцы, выявляют отношения между символами и затем выдают результаты.
  • Модель повторяющегося внимания (RAM) обеспечивает высокий уровень точности за счет «взгляда» на изображение с разных точек зрения, а затем определения результата.
  • А модель OCR внимания строится на CRNN, добавляя декодер, основанный на внимании. При реализации модели вы можете использовать стандартные наборы данных, такие как MNIST, SVHN и SVT, в качестве отправной точки или руководящих принципов для создания собственного набора данных.

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

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

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.