Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Технологии Finereader
Хотя системы оптического распознавания символов существовали в течение долгого времени, их выгоды только сейчас начали по достоинству оценивать. Первые разработки были чрезвычайно дорогостоящими (в терминах программного обеспечения и оборудования), неточны и трудны для использования. За несколько последних лет системы оптического распознавания полностью преобразились. Современное программное обеспечение распознавания символов очень удобно в использовании, обладает высокой точностью и находится на пути к распространению на все виды рабочих сред в массовом масштабе. Типичным представителем данного семейства программ является ABBYY FineReader, технологический процесс которого включает следующие шаги (рис. 4.3): • сканирование исходного документа (страницы); • разметку областей (ручную или автоматическую), требующих различные виды обработки (страницы разворота книги, таблицы, рисунки, колонки текста и пр.); • распознавание — создание и вывод на экран текстового файла (с вставленными рисунками и таблицами, если это необходимо); • контроль правильности (ручной, автоматический, полуавтоматический); • вывод информации в выходной файл в заданном формате (.DOC или.RTF для Word,.XSL для Excel и пр.). Данные, полученные на каждом этапе (изображение, текстовый файл), сохраняются под «общей вывеской» пакета (страницы с номером), что позволяет в любой момент вернуться и повторить разметку, распознавание и пр. Если нет необходимости сохранять цветовую информацию оригинала документа (например, для последующей обработки системами оптического распознавания символов), изображение лучше всего сканировать в режиме grayscale (полутоновое изображение). При этом файл будет занимать одну треть объема сравнительно со сканированием в цвете RGB. Можно использовать также режим штриховой графики (line art), однако при этом часто теряются подробности, существенные для точности последующего процесса распознавания символов. Рассмотрим основные принципы функционирования программного продукта. Принципы IPA (целостности, целенаправленности, адаптивности). Пользователь помещает документ в сканер, нажимает кнопку, и через небольшое время в компьютер поступает электронное изображение, «фотография» страницы. На ней присутствуют все особенности оригинала, вплоть до мельчайших подробностей. Это изображение содержит всю необходимую для OCR-системы информацию об исходном документе. Принцип целостности (integrity), согласно которому объект рассматривается как целое, состоящее из связанных частей. Связь частей выражается в пространственных отношениях между ними, и сами части получают толкование только в составе предполагаемого целого, т. е. в рамках гипотезы об объекте. Принцип целенаправленности (purposefulness): любая интерпретация данных преследует определенную цель. Согласно этому принципу, распознавание представляет собой процесс выдвижения гипотез о целом объекте и целенаправленной их проверки. Принцип адаптивности (adaptability) подразумевает способность системы к самообучению. Полученная при распознавании информация упорядочивается, сохраняется и используется впоследствии при решении аналогичных задач. Преимущество самообучающихся систем заключается в способности «спрямлять» путь логических рассуждений, опираясь на ранее накопленные знания. Вместо полных названий этих принципов часто употребляют аббревиатуру IPA, составленную из первых букв соответствующих английских слов. Преимущества системы распознавания, работающей в соответствии с принципами IРА, очевидны — именно они способны обеспечить максимально гибкое и осмысленное поведение системы. Например, на этапе распознавания символов изображение, согласно принципу целостности, будет интерпретировано как некий объект, только если на нем присутствуют все структурные части этого объекта, и эти части находятся в соответствующих отношениях. Иначе говоря, FineReader не пытается принимать решение, перебирая тысячи эталонов в поисках наиболее подходящего. Вместо этого выдвигается ряд гипотез относительно того, на что похоже обнаруженное изображение, затем каждая гипотеза целенаправленно проверяется. Допуская, что найденный объект может быть буквой «A», FineReader будет искать именно те особенности, которые должны быть у изображения этой буквы. Как и следует поступать, исходя из принципа целенаправленности. Причем проверять, верна ли выдвинутая гипотеза, система будет, опираясь на накопленные ранее сведения о возможных начертаниях символа в распознаваемом документе. Многоуровневый анализ документа (MDA) Подлежащий распознаванию документ часто выглядит заметно сложнее, чем белая страница с черным текстом. Иллюстрации, таблицы, колонтитулы, фоновые изображения — эти элементы, все чаще применяемые для оформления, усложняют структуру страницы. Для того чтобы корректно воспроизводить в электронном виде такие документы, все современные OCR-программы начинают распознавание именно с анализа структуры. Как правило, при этом выделяют несколько иерархически организованных логических уровней. Объект наивысшего Уровня только один — собственно страница, на следующей ступени иерархии располагаются таблица и текстовый блок, и так далее (рис. 4.4). Любой высокоуровневый объект может быть представлен как объектов более низкого уровня: буквы образуют слово, слова — строки и т. д. Поэтому анализ всегда начинается в направлении сверху вниз. Программа делит страницу на объекты, их, в свою очередь, — на объекты низших уровней, и так далее, вплоть до символов. Когда символы выделены и распознаны, начинается обратный процесс — «сборка» объектов высших уровней, который завершается формированием целой страницы. Такая процедура называется многоуровневым анализом документа, или MDA (multilevel document analysis). Очевидно, что программа, допустившая ошибку при распознавании объекта высокого уровня (например, перепутавшая абзац текста с иллюстрацией), почти не имеет шансов корректно завершить процедуру — итоговый электронный документ будет искажен. Риск столкнуться с подобной ситуацией существовал бы и для FineReader, однако он ведет анализ документа несколько иначе. Во-первых, объекты любого уровня FineReader распознает в соответствии с принципами IPА. В первую очередь выдвигаются гипотезы относительно типов обнаруженных объектов, затем они целенаправленно проверяются. При этом система учитывает найденные ранее особенности данного документа, а также сохраняет вновь поступающую информацию (обучается). Допустим, все объекты текущего уровня распознаны. FineReader переходит к детальному анализу одного из них, определенного, к примеру, как текстовый блок. Предположим, вдруг оказывается, что результаты анализа этого блока крайне неубедительны; не удается выделить ни абзацы, ни строки. Повторный анализ позволяет внести коррективы: да, это текст, но наложенный на фоновое изображение. После дополнительной обработки распознавание будет продолжено — и уже без ошибок. Описанная ситуация наглядно иллюстрирует вторую важную особенность используемого в системе FineReader алгоритма MDA: на всех этапах многоуровневого анализа существует возможность обратной связи — результаты анализа на одном из нижних уровней всегда могут повлиять на действия с объектами более высоких уровней. Наличие обратной связи в процедуре MDA дает возможность резко понизить вероятность грубых ошибок, связанных с неверным распознаванием объектов более высоких уровней. Распознавание любого документа производится поэтапно, с помощью процедуры многоуровневого анализа документа (MDA). Деление страницы на объекты низших уровней, вплоть до отдельных символов, распознавание этих символов и «сборку» электронного документа FineReader проводит, опираясь на принципы целостности, целенаправленности и адаптивности (IPA) (рис. 4.5). Распознавание от уровня «страница» до уровня «слово» На первом этапе распознавания система структурирует страницу, выделяет на ней текстовые блоки. Как мы знаем, современные документы часто содержат всевозможные элементы дизайна: иллюстрации, колонтитулы, цветной фон или фоновые изображения, и т. д. Основная задача на данном этапе состоит в том, чтобы отделить текст от иллюстраций и «подложенных» текстур. Все современные системы распознавания начинают процесс «знакомства» с создания черно-белого изображения документа. При этом подлежащее анализу изображение чаше всего цветное или полутоновое (т. е. состоящее из разных оттенков серого цвета, подобно картинке на экране черно-белого телевизора). Любая OCR-система прежде всего преобразует такое изображение в монохромное, состоящее только из черных и белых точек. Процесс преобразования называется бинаризацией, он всегда предшествует детальной обработке распознаваемой страницы. Блок текста, состоящий из строк, должен иметь характерную линейчатую структуру. Разделив этот блок на строки, можем приступать к выделению слов. Однако на практике столь простые варианты встречаются нечасто. Возьмите любой документ, где строки текста наложены на цветной фон, и представьте, как будет выглядеть эта страница в черно-белом варианте. Вокруг каждого символа обнаружатся десятки и сотни «лишних» точек, оставшихся от фона. Работая с таким «загрязненным» текстом, большинство OCR-программ не сможет уверенно распознавать символы, поскольку лишние точки будут искажать очертания букв и даже границы строк, приводя к ошибкам. FineReader не пытается решать задачу бинаризации «в лоб». Принцип целенаправленности диктует иной подход к обнаружению строк в текстовом блоке или слов в строке: они должны быть где-то здесь, надо только суметь их узнать. Для повышения качества поиска FineReader использует процедуры интеллектуальной фильтрации фоновых текстур (рис. 4.6, о) и адаптивной бинаризации (рис. 4.6, б). Первая позволяет уверенно отделять строки текста от сколь угодно сложного фона, вторая — гибко выбирать оптимальные для данного участка параметры бинаризации. Естественно, к этим процедурам система прибегает не всегда, а лишь в тех случаях, когда предварительный анализ указывает на подобную необходимость. В каждом конкретном случае FineReader выбирает подходящий «инструмент», опираясь на информацию, накопленную в процессе анализа документа. Например, идет анализ строки. Система занята поиском объектов уровня «слово». На первый взгляд, проще всего разделить строку на слова по найденным пробелам. Однако первичный анализ показывает, что в конце строки пробелы попадаются заметно чаще, чем в начале. Процедура адаптивной бинаризации исследует яркость фона и насыщенность черного цвета на протяжении всей строки и подбирает оптимальные параметры бинаризации для каждого фрагмента по отдельности. В результате оказывается, что часть символов в конце строки получилась слишком светлой и могла бы быть «потеряна» при обработке обычной OCR-программой, но в результате применения адаптивной бинаризации все слова будут выделены точно. При неправильном выборе параметров бинаризации слово окажется «нечитаемым». Уровни «слово» и «символ». Распознаватели символов (классификаторы) Разделив строку на отдельные слова, FineReader приступает к обработке символов. Разделение слов на символы и собственно распознавание букв, как и все остальные механизмы многоуровневого анализа документа, реализованы в виде составных частей единой процедуры. Это позволяет в полной мере использовать преимущества принципов IPA. Выделенные изображения символов поступают на рассмотрение механизмов распознавания букв, называемых классификаторами. В системе ABBYY FineReader применяются следующие типы классификаторов: растровый, контурный, признаковый, структурный, признаково – дифференциальный и структурно-дифференциальный. Растровый классификатор. Классификатор сравнивает символ с набором эталонов, поочередно накладывая изображения друг на друга. Эталонами в данном случае выступают специально подготовленные изображения; каждое из них объединяет в себе очертания множества вариантов написания того или иного символа. Гипотезы выдвигаются в зависимости от того, с какими эталонами точнее совпало изображение буквы. Сами эталоны строятся методом наложения друг на друга большого количества одних и тех же букв в разных вариантах начертания (рис. 4.7, а). Контурный классификатор. Представляет собой разновидность признакового классификатора. От вышеописанного отличается тем, что признаки вычисляются не по полному изображению символа, а по его контуру (рис. 4.7, б). Этот быстродействующий классификатор предназначен для распознавания текста, набранного декоративными шрифтами (например, стилизованного под готический, старорусский стиль и т. п.). Признаковый классификатор. Аналогичен растровому (выдвигает гипотезы, исходя из степени совпадения параметров символа с эталонными значениями). Оперирует определенными числовыми признаками, такими, например, как длина периметра, количество черных точек в разных областях или вдоль различных направлений и т. п. (рис. 4.7, в). Весьма популярен у разработчиков OCR-систем. В определенных условиях способен работать почти так же быстро, как растровый. Точность работы признакового классификатора во многом зависит от качества признаков, выбранных для каждого символа. Под качеством признаков в данном случае понимается их способность максимально точно, но без избыточной информации охарактеризовать начертание буквы. Структурный классификатор. Первоначально был создан и использовался для распознавания рукописного текста, однако в последнее время применяется и для обработки печатных документов. Этот классификатор проводит структурный анализ символа, раскладывая последний на элементарные составляющие (отрезки, дуги, окружности, точки) и формируя точную схему анализируемого знака (рис. 4.7, г). Затем полученная схема (структурное описание буквы) сравнивается с эталоном. Этот классификатор работает медленнее растрового и признакового, но отличается высокой точностью Более того, он способен «мысленно» восстанавливать не пропечатанные или залитые символы. Признаково-дифференциальный классификатор. Предназначен для различения похожих друг на друга объектов, таких, например, как буква «m» и сочетание «rn». Принципиальное отличие этого классификатора от описанных выше заключается в том что он не анализирует все изображение. Дифференциальный классификатор обращается только к тем частям объекта, где может находиться ключ к правильному ответу. В случае с «m» и «rn» ключом служит наличие и ширина разрыва в месте касания предполагаемых букв. Признаково-дифференциальный классификатор используется во многих системах распознавания символов (рис. 4.7, д). Структурно-дифференциальный классификатор. Аналогичен структурному; был разработан и первоначально применялся для обработки рукописных текстов. Как и признаково-дифференциальный, этот классификатор решает задачи различения похожих объектов, но работает на порядок точнее (за счет анализа структуры) и способен «узнавать» искаженные знаки (рис. 4.7, е). В самых общих чертах процесс обработки символа выглядит так: растровый и признаковый классификаторы анализируют изображение и выдвигают несколько гипотез относительно того, какая буква им представлена. Следует заметить, что при выдвижении каждой гипотезе присваивается определенная оценка (так называемый вес гипотезы). В результате работы растрового и признакового классификаторов система получает список гипотез, отсортированный по весу (т. е. по степени уверенности). Затем, в соответствии с принципами IРА, FineReader приступает к целенаправленной проверке имеющихся гипотез с помощью дифференциального признакового классификатора. В тех случаях, когда требуется различить дна похожих символа (например, «I» и «l»), к анализу подключается дифференциальный структурный классификатор. В самых трудных ситуациях задействуют структурный классификатор. Построив полную схему распознаваемого знака и проанализировав ее на предмет наличия ключевых элементов структуры, этот классификатор изменяет веса гипотез в соответствии с результатами своей работы.
|