Концепция и типы OCR (оптическое распознавание символов) сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Концепция и типы OCR (оптическое распознавание символов)

1. Введение

1.1 Фон

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

1.2 Мотивация

Как и многие другие языки, Bangla также может извлечь выгоду из технологии OCR, тем более что это седьмой по распространенности язык в мире, а число говорящих составляет около 300 миллионов человек. Англоговорящая демография наиболее распространена в Бангладеш, индийских штатах Западная Бенгалия, Ассам, Трипура, Андаманские и Никобарские острова, а также в постоянно растущей диаспоре в Соединенном Королевстве (Великобритания), Соединенных Штатах (США), Канаде, Среднем – Восток, Австралия, Малайзия и т. Д. Таким образом, прогресс в цифровом использовании языка бангла является тем, что отвечает интересам многих стран.

2. Фоновое исследование

2,1 OCR

OCR – это краткая форма для оптического распознавания символов. Это технология преобразования изображений печатного / рукописного текста в машиночитаемый, то есть в цифровой формат. Несмотря на то, что в наши дни OCR в основном сосредоточены на оцифровке текстов, более ранние OCR были аналоговыми. Первый оптический распознаватель в мире, как полагают, был изобретен американским изобретателем Чарльзом Кэри, который использовал систему передачи изображений, использующую мозаику фотоэлементов. Более поздние изобретения были сфокусированы на сканировании документов, чтобы произвести больше копий или преобразовать их в телеграфный код, и затем цифровой формат постепенно стал более популярным. В 1966 году лаборатория IBM Rochester разработала IBM 1287, первый сканер, способный считывать рукописные числа. Первый коммерческий OCR был представлен в 1977 году корпорацией Caere. OCR начал распространяться в режиме онлайн как услуга (WebOCR) в 2000 году на различных платформах с помощью облачных вычислений.

2.2 Типы распознавания текста

На основе своего метода OCR можно разделить на два типа:

     

  • Онлайновое распознавание текста (не путать с «онлайн» в интернет-технологиях) включает в себя автоматическое преобразование текста, как он написан на специальном цифровом преобразователе или КПК, где датчик фиксирует движения кончика ручки, а также переключение ручки вверх / вниз. Этот вид данных известен как цифровые чернила и может рассматриваться как цифровое представление почерка. Полученный сигнал преобразуется в буквенные коды, которые можно использовать в компьютерах и приложениях для обработки текста.
  •  

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

3. Bangla OCR

3.1 Существующие исследования

До сих пор большинство успешных исследований в оптическом распознавании текста на языке Bangla проводилось для печатного текста, хотя исследователи постепенно начинают осваивать рукописный текст. Санчес и Пал * предложили классический линейный подход для непрерывного распознавания рукописного текста на языке бангла, основанный на скрытых марковских моделях и n-граммовых моделях. Они использовали как LM на основе слов (модель языка), так и LM на основе символов для своего эксперимента и нашли лучшие результаты с LM на основе слов.

Garain, Mioulet, Chaudhuri, Chatelain и Paquet * разработали рекуррентную модель нейронной сети для распознавания рукописного бангла на уровне персонажа. Они использовали распознаватель на основе BLSTM-CTC для набора данных, состоящего из 2338 рукописных строк Bangla без ограничений, что в сумме составляет около 21000 слов. Вместо горизонтальной сегментации они выбрали вертикальную сегментацию, классифицирующую слова на «полуорто-слоги». Их эксперимент дал точность 75,40% без какой-либо последующей обработки.

Хаснат, Чоудхури и Хан * разработали OCR на основе тессеракта для сценария Bangla, который они использовали в печатном документе. Они достигли максимальной точности 93% на чистых печатных документах и ​​наименьшей точности на 70% для изображения на экране. Очевидно, что это очень чувствительно к изменениям в буквенных формах и не очень выгодно для использования в бенгальском распознавании рукописного символа.

Чоудхури и Рахман * предложили оптимальную настройку нейронной сети для распознавания рукописных чисел Bangla, которая состояла из двух слоев свертки с активацией Tanh, одного скрытого слоя с активацией Tanh и одного выходного слоя с активацией softmax. Для распознавания 9 числовых символов Bangla они использовали набор данных из 70000 выборок с частотой ошибок от 1,22% до 1,33%.

Purkayastha, Datta и Islam * также использовали сверточную нейронную сеть для распознавания рукописных символов Bangla. Они первыми работают над составными рукописными символами Bangla. Их эксперимент по распознаванию также включал цифровые символы и алфавиты. Они достигли 98,66% точности по цифрам и 89,93% точности почти по всем бенгальским символам (80 классов).

3.2 Существующие проекты

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

BanglaOCR * – это OCR с открытым исходным кодом, разработанный Hasnat, Chowdhury и Khan *, который использует механизм Google Tesseract для распознавания символов и работает с печатными документами, как описано в разделе 3.1

Puthi OCR aka GIGA Text Reader – кроссплатформенное приложение Bangla OCR, разработанное компанией Giga TECH. Это приложение работает на печатных документах, написанных на бангла, английском и хинди. Версия приложения для Android доступна для бесплатной загрузки, но версия для ПК и корпоративная версия требуют оплаты.

Chitrolekha * – это еще одно OCR на Bangla, использующее Google Tesseract и Open CV Image Library. Приложение является бесплатным и, возможно, раньше было доступно в Google Play Store, но в настоящее время (по состоянию на 15.07.2018) оно больше не доступно.

i2OCR * – это многоязычный OCR, поддерживающий более 60 языков, включая Bangla.

3.3 Ограничения

Многие из существующих OCR Bangla имеют серьезные ограничения, такие как

     

  • Сегментация: для разделения отдельных символов / форм используются два типа сегментации – горизонтальные и вертикальные. OCR распознавания рукописного текста, использующие горизонтальную сегментацию, не очень эффективны в текстах на языке Bangla.
  •  

  • Скорописные формы: многим OCR удалось распознать индивидуально написанные цифры или символы Bangla, но при обработке текстов с помощью скорописных форм Bangla они не дают положительных результатов.
  •  

  • Различия в формах. Народный метод написания символов в значительной степени различается от человека к человеку, тем более что у Bangla много форм из-за кар и сложных букв. Пока не разработана система распознавания текста, способная распознавать все эти формы почерком.

4. Предлагаемая методология и реализация

4.1 Deep CNN

Глубокая CNN расшифровывается как Глубокая Сверточная Нейронная Сеть.

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

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

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

CNN состоит из нескольких слоев, таких как

     

  • Сверточный слой. Это базовая единица CNN, где происходит большинство вычислений. CNN состоит из нескольких сверточных и пулирующих (подвыборочных) слоев, за которыми могут следовать полностью соединенные слои. Входной сигнал для сверточного слоя представляет собой изображение m x m x r, где m – высота и ширина изображения, а r – количество каналов. Сверточный слой будет иметь k фильтров (или ядер) размером n x n x q, где n меньше, чем размер изображения, а q может быть таким же, как количество каналов r или меньше, и может варьироваться для каждого ядра. Размер фильтров приводит к локально связанной структуре, каждый из которых свернут с изображением для создания k карт характеристик размером m − n + 1.
  •  

  • Уровень объединения: каждая карта объектов затем подвергается дополнительной выборке, как правило, со средним или максимальным пулированием по p x p смежным областям, где p находится в диапазоне от 2 для небольших изображений (например, MNIST) и обычно не больше 5 для более крупных входных данных. Чередование сверточных слоев и объединенных слоев для уменьшения пространственного измерения карт активации, что приводит к меньшей общей вычислительной сложности. Некоторые общие операции объединения: максимальное объединение, среднее объединение, стохастическое объединение *, спектральное объединение *, пространственное объединение пирамид * и многоуровневое упорядоченное объединение в пул *.
  •  

  • Полностью связанный слой. В этом слое нейроны полностью связаны со всеми нейронами в предыдущем слое, как обычная нейронная сеть. Здесь рассуждения высокого уровня. Поскольку нейроны не являются одномерными, другой сверточный слой не может присутствовать после этого слоя. В некоторых архитектурах полностью подключенный уровень заменен, как в «Network In Network» (NIN) *, на глобальный средний уровень пула. f (x) = max (0, x)
  •  

  • Уровень потерь: последний полностью связанный уровень называется уровнем потерь, поскольку он вычисляет потери или ошибки между правильным и фактическим выходом. Softmax loss – это часто используемая функция потерь. Он используется для прогнозирования одного класса из K взаимоисключающих классов. Для SVM (Support Vector Machine) используется потеря шарнира, а для регрессии к реальным значениям меток может использоваться евклидова потеря. Некоторые распространенные архитектуры CNN включают LeNet, AlexNet, GoogleNet, VGGNet и т. Д. В настоящее время LeNet является наиболее популярным.

4.2 Почему Deep CNN

Как упоминалось в некоторой степени в разделе 4.1, глубокие CNN оказались особенно эффективными в компьютерном зрении. Это открывает новые возможности в распознавании рукописного ввода, поскольку это также тип технологии компьютерного зрения. Deep CNN уже успешно используется для обработки рукописных символов Bangla с лучшими результатами, чем другие методы *, хотя он не охватывает весь спектр письменных форм Bangla. Поскольку Bangla – это язык с огромным количеством сложных буквенных форм, глубокий CNN эффективен, поскольку для его изучения не требуется, чтобы функции были определены заранее.

4.3 Данные эксперимента

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

4.4 Обучение и признание

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

Зарегистрируйся, чтобы продолжить изучение работы

    Поделиться сочинением
    Ещё сочинения
    Нет времени делать работу? Закажите!

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