Системы распознавания текстов (OCR-системы)
Наименование параметра | Значение |
Тема статьи: | Системы распознавания текстов (OCR-системы) |
Рубрика (тематическая категория) | Технологии |
Общая характеристика и функциональные возможности программы Adobe PhotoShop
PhotoShop - это программа профессиональных дизайнеров и всех, кто связан с обработкой графических изображений. Она позволяет производить обработку и коррекцию изображений, введенных в компьютер с внешних источников (сканера, цифрового фотоаппарата или цифровой видеокамеры), ᴛ.ᴇ. работает с растровой (оцифрованной) графикой.
PhotoShop имеет много готовых дополнений, предназначенных для создания спецэффектов, а также точнейшие инструменты ручной подстройки изображения.
Основными характеристиками PhotoShop являются:
1. Возможность создания многослойного изображения, при этом каждый слой может редактироваться отдельно и перемещаться относительно других слоев. Конечное изображение можно сохранить как в ʼʼмногослойномʼʼ виде (формат PSD), так и соединить все слои в один, переведя в один из стандартных форматов (JPG, GIF и др.)
2. Широкие возможности по работе с цветами: работа с разными цветовыми режимами (к примеру, просматривать и редактировать картинку можно как в режиме RGB, так и в CMYK); наличие инструментов для тончайшей регулировки цветов (причем параметры каждого цвета можно регулировать отдельно).
3. Внедренные возможности векторного редактирования.
4. Наличие нескольких десятков инструментов для рисования и вырезания контуров изображения, а также профессиональных инструментов для выделения и редактирования отдельных участков изображения.
5. Богатейшие возможности совмещения изображений и работы с текстурами.
6. Наличие множества разнообразных фильтров и спецэффектов (от простых, позволяющих настраивать резкость изображения, до весьма экзотических, позволяющих создавать 3-х мерные объёмные объекты из двухмерных фото, имитировать эффекты взрывов, сигаретного дыма и т.п.), возможность подключения дополнительных плагинов.
7. Поддержка файлов нескольких десятков графических программ, собственные файлы формата общего для платформ IBM PC и Mac.
8. Наличие инструментов для работы с текстом, возможность добавления текста в любой участок изображения (поверх картинки), изменения формы текста и др.
9. Возможность многоступенчатой отмены внесенных изменений (с помощью специальной панели ʼʼИсторияʼʼ).
Любая сканированная информации представляет собой графический файл (картинку). Следовательно, отсканированный текст невозможно редактировать без специального перевода в текстовый формат. Этот перевод можно осуществить с помощью систем оптического распознавания символов (optical character recognition - OCR).
Для получения электронной (готовой к редактированию) копии печатного документа программе OCR крайне важно выполнить ряд операций, среди которых можно выделить следующие:
1. Сегментация - полученная со сканера ʼʼкартинкаʼʼ разбивается на сегменты (текст отделяется от графики, ячейки таблиц разделяются на отдельные куски и т.д.).
2. Распознавание - текст переводится из графической формы в обычную текстовую.
3. Проверка орфографии и правка - внутренняя система проверки орфографии проверяет и корректирует работу системы распознавания (спорные слова и символы выделяются цветом, пользователю сообщается о ʼʼнеуверенно распознанных символахʼʼ)
4. Сохранение - запись распознанного документа в файл нужного формата для дальнейшего редактирования в соответствующей программе.
Перечисленные выше операции в большинстве OCR-систем могут выполняться как в автоматическом (с помощью программы-мастера), так и в ручном режиме (по отдельности).
Современные OCR-системы распознают тексты, набранные различными шрифтами; корректно работают с текстами, содержащими слова на нескольких языках; распознают таблицы и рисунки; позволяют сохранять результат в файле текстового или табличного формата и др.
В качестве примера OCR-систем можно привести CuneiForm от фирмы Cognitive и FineReader от ABBYY Software.
OCR-системаFineReader выпускается в различных версиях (Sprint, Home Edition, Professional Edition, Corporate Edition, Office) и все они, от самой простой до самой мощной, имеют очень удобный интерфейс, а также (в зависимости от модификации) имеют ряд достоинств, которые выделяют их среди аналогичных программ.
К примеру, FineReader Professional Edition (FineReader Pro) обладает следующими функциональными возможностями:
§ поддерживает почти двести языков (даже древние языки и популярные языки программирования);
§ распознает графику, таблицы, документы на бланках и т.п.;
§ полностью сохраняет все особенности форматирования документов и их графическое оформление;
§ для текстов, в которых используются декоративные шрифты или встречаются специальные символы (к примеру, математические), предусмотрен режим ʼʼРаспознавание с обучениемʼʼ, в результате работы которого создается эталон символов, встречающихся в тексте, для дальнейшего использования при распознавании;
Системы распознавания текстов (OCR-системы) - понятие и виды. Классификация и особенности категории "Системы распознавания текстов (OCR-системы)" 2017, 2018.
Системы распознавания текста или OCR-системы (Optical Character Recognition) предназначены для автоматического ввода документов в компьютер. Это может быть страница книги, журнала, словаря, какой-то документ - все, что угодно, что было уже напечатано, и должно быть преобразовано обратно в электронную форму.
OCR-системы распознают текст и различные его элементы (картинки, таблицы) с электронного изображения. Изображение получается обычно путем сканирования документа и реже - его фотографированием. Поступившее изображение обрабатывается алгоритмом OCR-программы, выделяются области текста, изображений, таблиц, отделяется мусор от нужных данных.
На следующем этапе каждый символ сравнивается со специальным словарем символов, и если находится соответствие, то этот символ считается распознанным. В итоге вы получаете набор распознанных символов, то есть искомый текст.
Современные OCR-системы представляют собой достаточно сложные программные решения. Ведь текст может быть замусорен, искажен, загрязнен, и программа должна это учитывать и уметь правильно обрабатывать такие ситуации. Кроме того, современные OCR-системы позволяют также получить копию печатного документа в электронном виде с сохранением форматирования, стилей, размеров текста и видов шрифтов и т.д.
Описание OCR-процедуры
1. Предварительная обработка изображения.
2. Распознание объектов высших уровней.
3. Распознание символов
4. Структурирование гипотез. Словарная проверка.
5. Синтез электронного документа.
Большинство программ оптического распознавания текста (OCR Optical Character Recognition) работают с растровым изображением, которое получено через факс-модем, сканер, цифровую фотокамеру или другое устройство. На первом этапе OCR должен разбить страницу на блоки текста, основываясь на особенностях правого и левого выравнивания и наличия нескольких колонок. Затем распознанный блок разбивается на строки. Несмотря на кажущуюся простоту, это не такая очевидная задача, так как на практике неизбежны перекос изображения страницы или фрагментов страницы при сгибах. Даже небольшой наклон приводит к тому, что левый край одной строки становится ниже правого края следующей, особенно при маленьком межстрочном интервале. Врезультате возникает проблема определения строки, к которой относится тот или иной фрагмент изображения. Например, для букв j, Й, ё при небольшом наклоне уже сложно определить, к какой строке относится верхняя (отдельная) часть символа (в некоторых случаях ее можно принять за запятую или точку).
Потом строки разбиваются на непрерывные области изображения, которые, как правило, соответствуют отдельным буквам; алгоритм распознавания делает предположения относительно соответствия этих областей символам; а затем делается выбор каждого символа, в результате чего страница восстанавливается в символах текста, причем, как правило, в соответствующем формате. OCR-системы могут достигать наилучшей точности распознавания свыше 99,9% для чистых изображений, составленных из обычных шрифтов. На первый взгляд такая точность распознавания кажется идеальной, но уровень ошибок все же удручает, потому что, если имеется приблизительно 1500 символов на странице, то даже при коэффициенте успешного распознавания 99,9% получается одна или две ошибки на страницу. Втаких случаях на помощь приходит метод проверки по словарю. То есть, если какого-то слова нет в словаре системы, то она по специальным правилам пытается найти похожее. Но это все равно не позволяет исправлять 100% ошибок, что требует человеческого контроля результатов.
54. Microsoft Word – мощный текстовый процессор (текст. процессор выполняет более сложные операции чем редакторы - перенос слов, операции форматирования), предназначенный для выполнения всех процессов обработки текста.
В настоящее время наиболее широко распространён. Входит в комплект интегрированного пакета Microsoft Office. Основное назначение–создание и редактирование текстовых документов. Обладает широкими возможностями. Программа удобна для работы с большими документами благодаря имеющимся в ней средствам создания указателей, оглавлений, колонтитулов, иерархических заголовков и т.п.
1.Возможности текстового процессора Word простираются от набора, до проверки орфографии, вставки в текст графики в стандарте *.pcx или *.bmp, музыкальные модули в формате *.wav.,распечатки текста. Размещение в документе графических объектов, таблиц, диаграмм, гиперссылок, автоматизации обработки документов, использование стилей; списков, полей Word; создание макросов; подготовка текста к изданию (создание оглавления, алфавитного указателя, сносок, примечаний); работа над текстом совместно нескольких пользователей, генерация документов методом слияния, использование шаблонов и др. Он работает с многими шрифтами с любым из 21 языка мира. Наличие макетов текстов и шаблонов. Word обеспечивает поиск заданного фрагмента текста, замену его на указанный фрагмент, удаление, копирование во внутренний буфер. Наличие закладки в тексте позволяет быстро перейти к заложенному месту в тексте. Word позволяет включать в текст базы данных. Можно установить пароль. Word позволяет открывать много окон для одновременной работы с несколькими текстами. Microsoft Word (часто - MS Word, WinWord или просто Word) - текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов. Выпускается корпорацией Microsoft в составе пакета Microsoft Office. Первая версия была написана Ричардом Броди (Richard Brodie) для IBM PC, использующих DOS, в 1983 году.
Текстовый редактор – это программа предназначенная для создания и обработки текстов.
Четыре группы редакторов:
1. Редакторы для печати текста.
2. Текстовые процессоры для создания составных документов, т.е. документов составляющих из текстов таблиц, рисунков, графиков.
3. Программы для верстки текстов (в типографском деле)
4. Редакторы для создания научных текстов
Режимы работы редактора Word:
· Обычный режим – используется для печатания текстовой информации
· Режим разметки страницы
· Режим структуры документа – система разбивки документа на части. Предназначен для работы с большими текстами и имеющие ряд заголовков, подзаголовков.
· Режим Web-документ
Ввод и редактирование текста:
1. Не печатать пробел в начале предложения. Пробел считается символом.
2. Нельзя нажимать клавишу ввод для перехода на новую строку. Но обязательно нажимать ввод при новом абзаце.
3. Перед символами « .,:!? » нельзя ставить пробел, после символов обязательно ставить пробел.
4. Нужно сначала выделить текст, а потом лишь выполнять какую-то работу.
Форматирование документа включает:
1. Форматирование страницы
2. Форматирование абзаца
3. Символы
4. форматирование таблицы
5. форматирование рисунка.
Создание документа.
В текстовом редакторе MS Word используется два метода создания нового документа:
1. На основе готового шаблона
2. На основе существующего документа.
Второй метода роще, но первый методически более корректен. При создании документа на основе существующего документа открывают существующий документ, сохраняют его под новым именем, затем выделяют в ем все содержимое и удаляют все, после этого мы имеем пустой документ, имеющий собственное имя и сохраняющий все настройки, ранее принятые для исходного документа.
В состав Word включен широкий набор средств автоматизации, упрощающих выполнение типичных задач. Большинство из них в том или ином виде было представлено и в предыдущих версиях редактора, но теперь возможности автоматизации стали значительно шире. К таким средствам относятся:
Авто-замена, позволяющая автоматически исправлять типичные ошибки при вводе;
Авто-заполнение (или авто-текст), с помощью, которой можно автоматически продолжить ввод слова или фрагмента текста после ввода нескольких первых буки (теперь редактор с самого начала имеет некоторую базу таких заготовок);
Автоматическая проверка правописания включает в себя проверку орфографии и грамматики. Пользователь имеет возможность отключить любой из видов проверки или вообще провести проверку лишь после завершения ввода всего документа;
Microsoft Office
Автоматическое создание и предварительный просмотр стилей;
Авто-формат при вводе, предназначенный для автоматического форматирования документа непосредственно при вводе или после его завершения;
Помощник, предназначенный для того, чтобы автоматически давать советы и предоставлять справочные сведения, которые могут понадобиться по ходу выполнения задачи.
Например, если Помощник решит, что вы собираетесь приступить к созданию письма, то он предложит запустить Мастер писем.
В Word имеются средства, упрощающие работу с таблицами, границами (обрамлением) и заливкой:
С помощью мыши можно рисовать таблицы различной формы (отдельные ячейки таблицы могут иметь любую ширину и высоту). Границу ячейки, строки или столбца таблицы легко можно удалить, это дает тот же эффект, что и объединение ячеек. В Word можно объединять любые соседние ячейки как по горизонтали, так и по вертикали;
Содержимое ячеек таблицы можно выравнивать по верхнему или нижнему краю либо по середине ячейки. Текст внутри ячеек можно расположить вертикально (с поворотом на 90 градусов);
В состав Word включено более 150 различных типов границ, которые помогут украсить любой документ и оформить его профессионально;
В Word предлагается набор графических средств, с помощью которых можно обогатить и украсить текст и рисунки путем добавления объема, теней, текстурных и прозрачных заливок, авто-фигур.
Графический редактор Microsoft Office предоставляет большой набор инструментов для рисования. Для украшения текста и рисунков предлагается более 100 настраиваемых авто-фигур, 4 вида заливки (многоцветная градиентная, узорная, прозрачная и рисунком), и также добавление тени и объема.
Перечень возможностей Microsoft Word
Редактирование текста осуществляется с помощью следующих функций:
§ выделение, копирование и вставка нужного фрагмента текста;
§ вставка объектов, не являющихся текстом в формате Microsoft Word (например, включение в текст графических изображений, электронных таблиц и графиков, звуков, видеоизображений и т.д.);
§ вставка в документ номеров страниц, даты и времени, сносок, специальных символов и пр.;
§ возможность нахождения, перехода, замены нужного слова текста, строки, раздела, страницы и пр.;
§ возможность повтора или отмены последнего действия, произведенного с текстом;
§ расширенные возможности форматирования документа. В отличие от Word Pad, Word допускает выравнивание документа по обоим краям, многоколоночную верстку;
§ использование стилей для быстрого форматирования документа.
Кроме перечисленных возможностей программа предлагает некоторый набор сервисных функций, таких как:
§ проверка орфографии и грамматики, в том числе фоновая - по мере введения текста;
§ подбор синонимов слов (пункт меню «Тезаурус»);
§ расстановка переносов в тексте документа;
§ определение статистических данных документа (число символов, слов, строк, абзацев, страниц);
§ работа с макросами и шаблонами документов.
Также в программе имеется большой набор функций по работе с таблицами и графикой, объемная система помощи (справочная система) и многое, многое другое.
Похожая информация.
Секреты сканирования на ПК Леонтьев Б К
Глава 16. OCR - системы
OCR - системы
Так называемые системы оптического распознавания символов (Optical Character Recognition - OCR) предназначены для автоматического ввода печатных материалов в компьютер, при этом сам процесс подобного ввода проходит в три этапа:
Сканирование.
Обработка.
Целостное целенаправленное адаптивное распознавание.
Из книги Linux From Scratch автора Бикманс ГерардГлава 5. Подготовка системы LFS Вступление В этой главе мы скомпилируем и установим минимальную Linux-систему. Эта система будет располагать инструментами, необходимыми для сборки окончательной системы LFS в следующей главе.Файлы, скомпилированные в данной главе, будут
Из книги Секреты сканирования на ПК автора Леонтьев Б КГлава 16. OCR - системы Так называемые системы оптического распознавания символов (Optical Character Recognition - OCR) предназначены для автоматического ввода печатных материалов в компьютер, при этом сам процесс подобного ввода проходит в три этапа: Сканирование. Обработка.
Из книги Собираем компьютер своими руками автора Ватаманюк Александр ИвановичГлава 5 Операционные системы Для чего предназначена операционная система Популярные операционные системы Выбор операционной системы Программное обеспечение
Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна ЮрьевнаГлава 4 Системы координат Ввод координат Когда программа AutoCAD запрашивает точку, команда ожидает ввода координат какой-либо точки текущего рисунка. В AutoCAD может быть включен контроль лимитов рисунка, осуществляемый командой LIMITS. В этом случае, если введенная точка
Из книги AutoCAD 2009. Начали! автора Соколова Татьяна ЮрьевнаГлава 3 Системы координат Ввод координат Ввод координат в AutoCAD может осуществляться двумя способами:? непосредственно с клавиатуры, путем указания численных значений;? с использованием графического маркера (курсора), который движется по экрану с помощью устройства
Из книги SAP R/3 Системное администрирование автора Хагеман Сигрид Из книги Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 автора Дайлип НаикГлава 6 Файловые системы Файловая система обеспечивает работу важнейших функций; основные из них перечислены ниже.Поддержка целостности данных и предоставление пользователю необходимых возможностей для создания, удаления, чтения и записи файлов.Предоставление
Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале ВивекГЛАВА 3 Выбор ERP-системы Системы SAP для средних и малых предприятий Большинство компаний, которые внедрят системы Планирования ресурсов предприятия (ERP) в новом тысячелетии, будут средними и малыми предприятиями. Средними и малыми предприятиями обычно считаются компании
Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко ИванГлава 14 Экспертные системы Экспертная система - это программа, которая ведет себя подобно эксперту в некоторой проблемной области. Она должна иметь способность к объяснению своих решений и тех рассуждений, на основе которых эти решения были приняты. Часто от экспертной
Из книги Windows Vista. Трюки и эффекты автора Зозуля ЮрийГлава 10 Администрирование системы Ограничения доступа к файлам и борьба с ними Управление жесткими дисками Средства диагностики системы Новые возможности администрирования с помощью групповой политики Автоматизация выполнения заданий с помощью
Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна ЮрьевнаГлава 12 Восстановление системы Решение проблем, связанных с загрузкой Windows Vista Работа со средствами восстановления на установочном DVD Восстановление системы с помощью образа дискаWindows Vista является достаточно надежной операционной системой, но и она не
Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна ЮрьевнаГлава 4 Системы координат Ввод координат Динамический ввод координат Декартовы и полярные координаты Формирование точек методом «направление – расстояние» Определение трехмерных координат Правило правой руки Ввод трехмерных декартовых координат Ввод цилиндрическихГЛАВА 5: ПРИМЕНЕНИЕ СИСТЕМЫ 1. ОБРАБОТКАПримите решение, что находится в ваших «Входящих».Сколько раз в день разгребать входящие? Творческим личностям
Из книги автораГлава 12 Мониторинг системы Первоначальная задача администратора - установить систему, правильно распределить права доступа и настроить все необходимые сервисы. После этого многие из них складывают ручки и начинают гонять монстров по коридорам виртуального мира Doom3.
Любой современный человек, постоянно работающий с документами, время от времени задает себе злободневный вопрос: зачем повторно набирать текст, если ранее это уже кто-то сделал? У многих пользователей такая регулярно повторяющаяся задача вызывает раздражение с примесью обиды за то, что приходится бессмысленно дублировать чью-то работу. Естественно, разработчики программного обеспечения не могли остаться равнодушными к столь типичной ситуации, ликвидация которой к тому же обещала солидные прибыли. Так были созданы системы известные в России как системы оптического распознавания текста , а в англоговорящих странах - как OCR .
Сегодня область применения программного обеспечения OCR существенно расширилась: вначале оно применялось преимущественно в финансово-банковской сфере, решая специфические задачи автоматизации по вводу анкетных и опросных данных, но сегодня OCR -программы применяются уже повсеместно для работы с любыми документами. Трудно переоценить значение OCR-систем, превратившихся в такой необходимый софт и для офисного, и для домашнего компьютера.
Давайте кратко пройдемся по всем основным на рынке OCR -системам и выделим главные и характерные для них особенности.
Перед тем как начать рассмотрение OCR -систем, давайте сначала хотя бы минимально приведем их классификацию для удобства дальнейшего рассмотрения. На данный момент выделяют OCR -системы (Optical character recognition, OCR ) , а также ICR -системы (I ntelligent C haracter R ecognition, ICR ). Несколько упрощая суть отличий между ними, можно считать, что ICR -системы - это следующее поколение в развитии OCR -систем.В ICR гораздо более активно и серьёзно используются возможности искусственного интеллекта, в частности, ICR -системы часто используются для распознавания рукописных текстов, декоративных непостоянных шрифтов, а также, как самый яркий пример, преодолению тех же систем по защите от спам-ботов - каптч (captcha ). Третий, пока ещё только теоретический уровень качества распознавания текста, это IWR (Intelligent word recognition, IWR), в которой считываются и распознаются не отдельные символы/точки, а считываются и распознаются связные фразы целиком.
Существует несколько систем, причисляющих себя к категории ICR . Это, преждевсего, FineReader, OmniPage Professional, Readiris Corporate, Type Reader Desktop. Давайте сравним их всех и рассмотрим возможные альтернативы.
Известные отечественные продукты
Зарубежные продукты
Три других известных продукта, получившие малое распространение на территории СНГ в силу полного отсутствия представителей и маломальского маркетинга на этих бескрайних кириллических территориях, но известные на Западе и достойные хотя бы краткого упоминания, хотя бы потому, что также позиционируют себя как продукты ICR-класса. В нише некириллического распознавания они вполне могут составить здоровую конкуренцию даже лидеру рынка - FineReader.
Первый их них, это пакет от компании I.R.I.S. Group, представляет собой очень серьёзный OCR -продукт. Достаточно сказать, что начиная с c ентября 2006 года технология от компании I .R .I .S . была лицензирована и используется в продуктах Adobe systems . Согласно внутреннему тестированию самой Adobe эта технология оказалось самой удачной из всех рассмотренных на рынке.
Нужно отметить, что это удачное стороннее решение “похоронило” свою собственную разработку Adobe - родного OCR -движка, - которая поставлялась многие годы в рамках решения , и вот теперь новый OCR Adobe доступен в виде отдельного в другие популярные продукты Acrobat . Последняя версия Readiris v12 поддерживает все версии Windows и MacOS X , а всего поддерживается работа с более чем 120 языками.
Следующая крупная разработка от американской компании - . Этот движок разработан в тесном сотрудничестве с Университетом Невада в Лас-Вегасе. Этот движок распространяется по миру сразу во многих формах, начиная от интегрирования его в крупные западные системы документооборота (D ocument I maging M anagement, DIM), и заканчивая участием во многих американских программах по автоматической обработке форм (F orms P rocessing S ervices, FPS).
Например, в 2008 году газета Los Angeles Times после собственного тестирования ведущих мировых OCR выбрала для своего внутреннего использования как раз именно TypeReader. Хочется заметить, что данный продукт доступен как в традиционном десктопном исполнении (Windows , MacOS , Linux ), в виде корпоративного web -сервиса, так и в форме облачного арендуемого приложения, способного обрабатывать любые объемы распознаваемого текста в очень короткие сроки.
Бесплатные OCR-решения
Интересный собственный движок развивает и Google . - это первоначально закрытый коммерческий OCR -движок который создала Hewlett -Packard , работая над ним в промежутке между 1985 и1995 годами. Но после закрытия проекта и прекращения его развития, HP выпустило его код как open source в 2005 году. Разработку сразу подхватила Google , лицензируя уже свой продукт под свободной лицензией Apache . На данный момент Tesseract считается одним из самых точных и качественных бесплатных движков из всех существующих.
Нужно при этом четко представлять, что Tesseract - это классическая OCR для “сырой” обработки текста, т.е. в нем нет ни графической оболочки для удобного управления процессом,ни многих других дополнительных функций. Это обычная консольная утилита (есть версии для Windows , MacOS , Linux ), на вход которой подается изображение в формате TIFF , а на выходе Tesseract выдает “чистый текст”. При этом никакого анализа компоновки текста или стилей оформления здесь не производится, это процесс распознавания в его простейшей форме.
Для большего удобства работы, в качестве графического фронтенда, с этим движком можно использовать многие утилиты, например известные или . Но все же хочется отметить, что качество бесплатного C uneiForm/OpenOCR немного превосходит показатели Tesseract , хотя во многом это полностью аналогичные продукты.
Кроме бесплатного Tesseract ещё стоит упомянуть и . SimpleOCR очень достойное решение для OCR , и хотя оно не развивается уже с 2008 года, но оно как минимум ничем не уступает Tesseract . Продукт бесплатен для любого некоммерческого использования, и поставляется для Windows всех версий. Из сильных минусов - поддержка только двух языков: английского и французского.
Кроме традиционных десктоповых бесплатных решений, существует множество альтернативных онлайновых сервисов, бесплатно предлагающих OCR качество распознавания существенно ниже их коммерческих аналогов. Для успешного решениябизнес задач (и других серьёзных повседневных задач) лучше ориентироваться на коммерческие системы ICR -класса, которые были рассмотрены в первой половине этой статьи.
Материал из Техническое зрение
Задача распознавания текстовой информации при переводе печатного и рукописного текста в электронную форму является одной из важнейших составляющих любого проекта, имеющего целью автоматизацию документооборота или внедрение безбумажных технологий. Вместе с тем эта задача является одной из наиболее сложных и наукоемких задач полностью автоматического анализа изображений. Даже человек, читающий рукописный текст, в отрыве от контекста, делает в среднем около $4${\%} ошибок. Между тем, в наиболее ответственных приложениях OCR необходимо обеспечивать более высокую надежность распознавания (свыше 99{\%}) даже при плохом качестве печати и оцифровки исходного текста.
В последние десятилетия, благодаря использованию современных достижений компьютерных технологий, были развиты новые методы обработки изображений и распознавания образов, благодаря чему стало возможным создание таких промышленных систем распознавания печатного текста, как например, FineReader, которые удовлетворяют основным требованиям систем автоматизации документооборота. Тем не менее, создание каждого нового приложения в данной области по-прежнему остается творческой задачей и требует дополнительных исследований в связи со специфическими требованиями по разрешению, быстродействию, надежности распознавания и объему памяти, которыми характеризуется каждая конкретная задача.
Типовые проблемы, связанные с распознаванием символов.
Имеется ряд существенных проблем, связанных с распознаванием рукописных и печатных символов. Наиболее важные из них следующие:
- разнообразие форм начертания символов;
- искажение изображений символов;
- вариации размеров и масштаба символов.
Каждый отдельный символ может быть написан различными стандартными шрифтами, например (Times, Gothic, Elite, Courier, Orator), а также - множеством нестандартных шрифтов, используемых в различных предметных областях. При этом различные символы могут обладать сходными очертаниями. Например, "U" и "V", "S" и "5", "Z" и "2", "G" и "6".
Искажения цифровых изображений текстовых символов могут быть вызваны:
- шумами печати, в частности, непропечаткой (разрывами слитных черт символов), "слипанием" соседних символов, пятнами и ложными точками на фоне вблизи символов и т. п.;
- смещением символов или частей символов относительно их ожидаемого положения в строке;
- изменением наклона символов;
- искажением формы символа за счет оцифровки изображения с "грубым" дискретом;
- эффектами освещения (тени, блики и т. п.) при съемке видеокамерой.
Существенным является и влияние исходного масштаба печати. В принятой терминологии масштаб $10$, $12$ или $17$ означает, что в дюйме строки помещаются $10$, $12$ или $17$ символов. При этом, например, символы масштаба $10$ обычно крупнее и шире символа масштаба $12$.
Система оптического распознавания текста (OCR), должна выделять на цифровом изображении текстовые области, выделять в них отдельные строки, затем - отдельные символы, распознавать эти символы и при этом быть нечувствительной (устойчивой) по отношению к способу верстки, расстоянию между строками и другим параметрам печати.
Структура систем оптического распознавания текстов.
Системы OCR состоят из следующих основных блоков, предполагающих аппаратную или программную реализацию:
- блок сегментации (локализации и выделения) элементов текста;
- блок предобработки изображения;
- блок выделения признаков;
- блок распознавания символов;
- блок постобработки результатов распознавания.
Эти алгоритмические блоки соответствуют последовательным шагам обработки и анализа изображений, выполняемым последовательно.
Сначала осуществляется выделение $\textit{текстовых областей, строк}$ и разбиение связных текстовых строк на отдельные $\textit{знакоместа}$, каждое из которых соответствует одному текстовому символу.
После разбиения (а иногда до или в процессе разбиения) символы, представленные в виде двумерных матриц пикселов, подвергаются сглаживанию, фильтрации с целью устранения шумов, нормализации размера, а также другим преобразованиям с целью выделения образующих элементов или численных признаков, используемых впоследствии для их распознавания.
Распознавание символов происходит в процессе сравнения выделенных характерных признаков с эталонными наборами и структурами признаков, формируемыми и запоминаемыми в процессе обучения системы на эталонных и/или реальных примерах текстовых символов.
На завершающем этапе смысловая или контекстная информация может быть использована как для разрешения неопределенностей, возникающих при распознавании отдельных символов, обладающих идентичными размерами, так и для корректировки ошибочно считанных слов и даже фраз в целом.
Методы предобработки и сегментации изображений текстовых символов.
Предобработка является важным этапом в процессе распознавания символов и позволяет производить сглаживание, нормализацию, сегментацию и аппроксимацию отрезков линий.
Под $\textit{сглаживанием}$ в данном случае понимается большая группа процедур обработки изображений, многие из которых были рассмотрены в главе $3$ данной книги. В частности, широко используются морфологические операторы $\textit{заполнения}$ и $\textit{утончения}$. $\textit{Заполнение}$ устраняет небольшие разрывы и пробелы. $\textit{Утончение}$представляет собой процесс уменьшения толщины линии, в которой на каждом шаге области размером в несколько пикселов ставится в соответствие только один пиксел "утонченной линии". Морфологический способ реализации подобных операций на базе операторов расширения и сжатия Серра был описан в главе $3.2$.
Там же описан и специальный алгоритм бинарной фильтрации изображений текстовых символов, получивший название $\textit{стирание бахромы}$. Под "бахромой" здесь понимаются неровности границ символа, которые мешают, во-первых, правильно определить его размеры, а во-вторых, искажают образ символа и мешают его дальнейшему распознаванию по контурному признаку.
$\textit{Геометрическая нормализация}$ изображений документов подразумевает использование алгоритмов, устраняющих наклоны и перекосы отдельных символов, слов или строк, а также включает в себя процедуры, осуществляющие нормализацию символов по высоте и ширине после соответствующей их обработки.
Процедуры $\textit{сегментации}$ осуществляют разбиение изображения документа на отдельные области. Как правило, прежде всего необходимо отделить печатный текст от графики и рукописных пометок. Далее большинство алгоритмов оптического распознавания разделяют текст на символы и распознают их по отдельности. Это простое решение действительно наиболее эффективно, если только символы текста не перекрывают друг друга. Слияние символов может быть вызвано типом шрифта, которым был набран текст, плохим разрешением печатающего устройства или высоким уровнем яркости, выбранным для восстановления разорванных символов.
Дополнительное разбиение текстовых областей и строк на $\textit{слова}$ целесообразно в том случае, если слово является состоятельным объектом, в соответствии с которым выполняется распознавание текста. Подобный подход, при котором единицей распознавания является не отдельный символ, а целое слово, сложно реализовывать из-за большого числа элементов, подлежащих запоминанию и распознаванию, но он может быть полезен и весьма эффективен в конкретных частных случаях, когда набор слов в кодовом словаре существенно ограничен по условию задачи.
Под $\textit{аппроксимацией отрезков линий}$ понимают составление графа описания символа в виде набора вершин и прямых ребер, которые непосредственно аппроксимируют цепочки пикселов исходного изображения. Данная аппроксимация осуществляется для уменьшения объема данных и может использоваться при распознавании, основанном на выделении признаков, описывающих геометрию и топологию изображения.
Признаки символов, используемые для автоматического распознавания текста.
Считается, что выделение признаков является одной из наиболее трудных и важных задач в распознавании образов. Для распознавания символов может быть использовано большое количество различных систем признаков. Проблема заключается в том, чтобы выделить именно те признаки, которые позволят эффективно отличать один класс символов от всех остальных в данной конкретной задаче.
Ниже описан ряд основных методов распознавания символов и соответствующих им типов признаков, вычисляемых на основе цифрового изображения.
Сопоставление изображений и шаблонов.
Эта группа методов основана на непосредственном сравнении изображений тестового и эталонного символов. При этом вычисляется $\textit{степень сходства}$ между образом и каждым из эталонов. Классификация тестируемого изображения символа происходит по методу ближайшего соседа. Ранее мы уже рассматривали методы сравнения изображений в разделе 4.2, а именно - методы корреляции и согласованной фильтрации изображений.
С практической точки зрения эти методы легко реализовать, и многие коммерческие системы OCR используют именно их. Однако при "лобовой" реализации корреляционных методов даже небольшое темное пятнышко, попавшее на внешний контур символа, может существенно повлиять на результат распознавания. Поэтому для достижения хорошего качества распознавания в системах, использующих сопоставление шаблонов, применяются другие, специальные способы сравнения изображений.
Одна из основных модификаций алгоритма сравнения шаблонов использует представление шаблонов в виде набора логических правил. Например, символ
0000000000 |
000aabb000 |
00aeeffb00 |
0ae0000fb0 |
0ae0ii0fb0 |
0ae0ii0fb0 |
0ae0000fb0 |
0cg0000hd0 |
0cg0jj0hd0 |
0cg0jj0hd0 |
0cg0000hd0 |
00cgghhd00 |
000ccdd000 |
0000000000 |
может быть распознан как "ноль", если: (не менее $5$ символов "a" являются "1" или не менее $4$ символов $\text{"e"} = \text{"1"}$) И (не менее $5$ символов "b" являются "1" или не менее $4$ символов $\text{"f"} = \text{"1"}$) И (не менее $5$ символов "c" являются "1" или не менее $4$ символов $\text{"g"} = \text{"1"}$) И (не менее $5$ символов "d" являются "1" или не менее $4$ символов $\text{"h"} = \text{"1"}$) И (по крайней мере $3$ символа "i" являются "0") И (по крайней мере $3$ символа "j" являются "0").
Статистические характеристики.
В данной группе методов выделение признаков осуществляется на основе анализа различных по статистических распределений точек. Наиболее известные методики этой группы используют $\textit{вычисление моментов}$ $\textit{и подсчет пересечений}$.
$\textit{Моменты различных порядков}$ с успехом используются в самых различных областях машинного зрения в качестве дескрипторов формы выделенных областей и объектов (см. раздел 4.1). В случае распознавания текстовых символов в качестве набора признаков используют значения моментов совокупности "черных" точек относительно некоторого выбранного центра. Наиболее общеупотребительными в приложениях такого рода являются построчные, центральные и нормированные моменты.
Для цифрового изображения, хранящегося в двумерном массиве, $\textit{построчные моменты}$ являются функциями координат каждой точки изображения следующего вида: $$ m_{pq} =\sum\limits_{x=0}^{M-1} {\sum\limits_{y=0}^{N-1} {x^py^qf(x,y)} } , $$ где $p,q \in \{0,1,\ldots ,\infty \}$; $M$ и $N$ являются размерами изображения по горизонтали и вертикали и $f(x,y)$ является яркостью пиксела в точке $\langle x,y\rangle$ на изображении.
$\textit{Центральные моменты}$ являются функцией расстояния точки от центра тяжести символа: $$ m_{pq} =\sum\limits_{x=0}^{M-1} {\sum\limits_{y=0}^{N-1} {(x-\mathop x\limits^\_)^p(y-\mathop y\limits^\_)^qf(x,y)} } , $$ где $x$ и $y$ "с чертой" - координаты центра тяжести.
$\textit{Нормированные центральные моменты}$ получаются в результате деления центральных моментов на моменты нулевого порядка.
Следует отметить, что строковые моменты, как правило, обеспечивают более низкий уровень распознавания. Центральные и нормированные моменты более предпочтительны вследствие их большей инвариантности к преобразованиям изображений.
В $\textit{методе пересечений}$ признаки формируются путем подсчета того, сколько раз и каким образом произошло пересечение изображения символа с выбранными прямыми, проводимыми под определенными углами. Этот метод часто используется в коммерческих системах благодаря тому, что он инвариантен к дисторсии и небольшим стилистическим вариациям написания символов, а также обладает достаточно высокой скоростью и не требует высоких вычислительных затрат. На рис. 1 показано эталонное изображение символа $R$, система секущих прямых, а также вектор расстояний до эталонных векторов. На рис. 2 представлен пример реального изображения
Пример формирования набора пересечений для эталонного изображения символа $R$
Пример формирования набора пересечений для реального изображения символа $R$
Пример формирования зонного описания для эталонного изображения символа $R$
Пример формирования зонного описания для реального изображения символа $R$; $K = 0{,}387$
символа $R$. Цветом (см. цветную вклейку) также помечена строка, соответствующая ближайшему соседу.
$\textit{Метод зон}$ предполагает разделение площади рамки, объемлющий символ, на области и последующее использование плотностей точек в различных областях в качестве набора характерных признаков. На рис. 3 показано эталонное изображение символа $R$, а на рис. 4 - реальное изображение символа $R$, полученное путем сканирования изображения документа. На обоих изображениях приводятся разбиение на зоны, пиксельные веса каждой зоны, а также вектор расстояний до эталонных векторов эталонных символов. Цветом помечена строка, соответствующая найденному ближайшему соседу.
В методе $\textit{матриц смежности}$ в качестве признаков рассматриваются частоты совместной встречаемости "черных" и "белых" элементов в различных геометрических комбинациях. Метод $\textit{характеристических мест}$ (characteristic-loci) использует в качестве признака число раз, которое вертикальный и горизонтальный векторы пересекают отрезки линий для каждой светлой точки в области фона символа.
Существует также множество других методов данной группы.
Интегральные преобразования.
Среди современных технологий распознавания, основанных на преобразованиях, выделяются методы, использующие Фурье-дескрипторы символов, а также частотные дескрипторы границ.
Преимущества методов, использующих преобразования Фурье - Меллина, связаны с тем, что они обладают инвариантностью к масштабированию, вращению и сдвигу символа. Основной недостаток этих методов заключается в нечувствительности к резким скачкам яркости на границах, к примеру, по спектру пространственных частот сложно отличить символ "O" от символа "Q" и т. п. В то же время, при фильтрации шума на границах символа, это свойство может оказаться полезным.
Анализ структурных составляющих.
Структурные признаки обычно используются для выделения общей структуры образа. Они описывают геометрические и топологические свойства символа. Проще всего представить идею структурного распознавания символа текста применительно к задаче автоматического считывания почтовых индексов. В таких "трафаретных" шрифтах положение каждого возможного отрезка-штриха заранее известно, и один символ отличается от другого не менее чем наличием или отсутствием целого штриха. Аналогичная задача возникает и в случае контроля простых жидкокристаллических индикаторов. В таких системах выделение структурных составляющих сводится к анализу элементов заранее известного трафарета (набора отрезков, подлежащих обнаружению).
В системах структурного распознавания более сложных шрифтов часто используемыми признаками также являются штрихи, применяемые для определения следующих характерных особенностей изображения: $\textit{концевых точек}$, $\textit{точек пересечения отрезков}$, $\textit{замкнутых циклов}$, а также их положения относительно рамки, объемлющей символ. Рассмотрим, например, следующий способ структурного описания символа. Пусть матрица, содержащая утонченный символ, разделена на девять прямоугольных областей (в виде сетки $33$), каждой из которых присвоен буквенный код от "A" до "I". Символ рассматривается как набор штрихов. При этом штрих, соединяющий некоторые две точки в начертании символа, может являться линией (L) или кривой (C). Штрих считается $\textit{отрезком (дугой)}$ $\textit{кривой}$, если его точки удовлетворяют следующему выражению $$ \left| \frac {1}{n} \sum\limits_{i=1}^n \frac {ax_i +by_i +c}{\sqrt{a^2+b^2}} \right| >0{,}69, $$ в противном случае считается, что это $\textit{прямолинейный отрезок}$. В данной формуле $\langle x_{i},y_{i}\rangle$ является точкой, принадлежащей штриху; $ax+by+c=0$ - уравнение прямой, проходящей через концы штриха, коэффициент $0{,}69$ получен опытным путем. Далее символ может быть описан набором своих отрезков и дуг. Например, запись \{"ALC", "ACD"\} означает наличие прямой, проходящей из области "A" в область "C", и кривой, проходящей из области "A" в область "D" соответственно.
Основное достоинство структурных методов распознавания определятся их устойчивостью к сдвигу, масштабированию и повороту символа на небольшой угол, а также - к возможным дисторсиям и различным стилевым вариациям и небольшим искажениям шрифтов.
Классификация символов.
В существующих системах OCR используются разнообразные алгоритмы $\textit{классификации}$, то есть отнесения признаков к различным классам. Они существенно различаются в зависимости от принятых наборов признаков и применяемой по отношению к ним стратегии классификации.
Для признаковой классификации символов необходимо, в первую очередь, сформировать набор эталонных векторов признаков по каждому из распознаваемых символов. Для этого на стадии $\textit{обучения}$ оператор или разработчик вводит в систему OCR большое количество образцов начертания символов, сопровождаемых указанием значения символа. Для каждого образца система выделяет признаки и сохраняет их в виде соответствующего $\textit{вектора признаков}$. Набор векторов признаков, описывающих символ, называется $\textit{классом}$, или $\textit{кластером}$.
В процессе эксплуатации системы OCR может появиться необходимость расширить сформированную ранее базу знаний. В связи с этим некоторые системы обладают возможностью $\textit{дообучения}$ в реальном режиме времени.
Задачей собственно $\textit{процедуры классификации}$ или $\textit{распознавания}$, выполняемой в момент предъявления системе тестового изображения символа, является определение того, к какому из ранее сформированных классов принадлежит вектор признаков, полученный для данного символа. Алгоритмы классификации основаны на определении степени близости набора признаков рассматриваемого символа к каждому из классов. Правдоподобие получаемого результата зависит от выбранной метрики пространства признаков. Наиболее известной метрикой признакового пространства является традиционное Евклидово расстояние
$$ D_j^E = \sqrt{\sum\limits_{i=1}^N {(F_{ji}^L -F_i^l)^2}}, $$ где $F_{ji}^L$ - $i$-й признак из $j$-го эталонного вектора; $F_i^l $ - $i$-й признак тестируемого изображения символа.
При классификации по методу $\textit{ближайшего соседа}$ символ будет отнесен к классу, вектор признаков которого наиболее близок к вектору признаков тестируемого символа. Следует учитывать, что затраты на вычисления в таких системах возрастают с увеличением количества используемых признаков и классов.
Одна из методик, позволяющих улучшить метрику сходства, основана на статистическом анализе эталонного набора признаков. При этом в процессе классификации более надежным признакам отдается больший приоритет: $$ D_j^E =\sqrt{\sum\limits_{i=1}^N {w_i (F_{ji}^L -F_i^l)^2}}, $$
Где $w_{i}$ - вес $i$-го признака.
Другая методика классификации, требующая знания априорной информации о вероятностной модели текста, основана на использовании формулы Байеса. Из правила Байеса следует, что рассматриваемый вектор признаков принадлежит классу "$j$", если отношение правдоподобия $\lambda $ больше, чем отношение априорной вероятности класса $j$ к априорной вероятности класса $i$.
Постобработка результатов распознавания.
В ответственных системах OCR качество распознавания, получаемое при распознавании отдельных символов, не считается достаточным. В таких системах необходимо использовать также контекстную информацию. Использование контекстной информации позволяет не только находить ошибки, но и исправлять их.
Существует большое колличество приложений OCR, использующих глобальные и локальные позиционные диаграммы, триграммы, $n$-граммы, словари и различные сочетания всех этих методов. Рассмотрим два подхода к решению этой задачи: $\textit{словарь}$ и $\textit{набор бинарных матриц}$, аппроксимирующих структуру словаря.
Доказано, что словарные методы являются одними из наиболее эффективных при определении и исправлении ошибок классификации отдельных символов. При этом после распознавания всех символов некоторого слова словарь просматривается в поисках этого слова, с учетом того, что оно, возможно, содержит ошибку. Если слово найдено в словаре, это не говорит об отсутствии ошибок. Ошибка может превратить одно слово, находящееся в словаре, в другое, также входящее в словарь. Такая ошибка не может быть обнаружена без использования смысловой контекстной информации: только она может подтвердить правильность написания. Если слово в словаре отсутствует, считается, что в слове допущена ошибка распознавания. Для исправления ошибки прибегают к замене такого слова на наиболее похожее слово из словаря. Исправление не производится, если в словаре найдено несколько подходящих кандидатур для замены. В этом случае интерфейс некоторых систем позволяет показать слово пользователю и предложить различные варианты решения, например, исправить ошибку, игнорировать ее и продолжать работу или внести это слово в словарь. Главный недостаток в использовании словаря заключается в том, что операции поиска и сравнения, применяющиеся для исправления ошибок, требуют значительных вычислительных затрат, возрастающих с увеличением объема словаря.
Некоторые разработчики с целью преодоления трудностей, связанных с использованием словаря, пытаются выделять информацию о структуре слова из самого слова. Такая информация говорит о степени правдоподобия $\textit{n-грамм}$ (символьных последовательностей, например, пар или троек букв) в тексте, которые также могут быть глобально позиционированными, локально позиционированными или вообще непозиционированными. Например, степень достоверности непозиционированной пары букв может быть представлена в виде бинарной матрицы, элемент которой равен 1 тогда и только тогда, когда соответствующая пара букв имеется в некотором слове, входящем в словарь. Позиционная бинарная диаграмма $D_{ij}$ является бинарной матрицей, определяющей, какая из пар букв имеет ненулевую вероятность возникновения в позиции $\langle i,j\rangle$. Набор всех позиционных диаграмм включает бинарные матрицы для каждой пары положений.