Записки сисадмина
Алексей Никипольский
Воскресенье, 28.04.2024, 17:58
 
Меню
Настройка windows XP [38]
тонкости настройки, скрытые возможности
Программирование [8]
Нюансы, примеры, мои наработки и прочая полезная информация
Защита [28]
Компьютера, данных, интернет соединений и прочая полезная информация по защите
Обзор новинок [15]
Новинки ПО и железа
Обмен опытом [20]
Заработок в сети [9]
Все виды заработка в сети интернет, обзор, анализ, рекомендации
Распознование [10]
Все о методах и способах распознавания графической информации. Взлом капчи, методы и способы анализа...
Электронные книги [4]
По PHP CSS SQL PERL программированию Всё что есть в свободном доступе в интернете на разных ресурсах.
WEB программирование [9]
Всё о программировании WEB PHP Java PERL HTTP HTML и т.п.
Взлом [6]
методика взлома, примеры взлома, способы защиты от взлома
Онлайн сервисы [2]
Полезные сервисы онлайн
Администрирование [27]
Опыт системного администрирования
Статистика
Календарь
«  Март 2011  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Главная » 2011 » Март » 15 » Распознавание атрибутов текстовых символов ( О.А. Славин )
14:04
Распознавание атрибутов текстовых символов ( О.А. Славин )

Распознавание атрибутов текстовых символов ( О.А. Славин)

 

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

 

1. Постановка задачи

 

Возможности
и качество распознавания систем ввода документов в компьютер определяется
несколькими характеристиками: как качеством распознавания структуры страницы
[1] и символов текста, так и признаками найденных элементов. В этой статье
будет рассказано об определении атрибутов символов текста, принятых в
большинстве современных средств подготовки документов. Речь пойдет о признаках
курсивности, жирности, серифности (см. рис. 1), которые можно задать в любом
текстовом редакторе формата
RTF.

 

Курсивный   Серифный
          Жирный  

Прямой        Бессерифный  Светлый

Рис. 1. Примеры
атрибутов шрифта

 

Существует
несколько целей определения атрибутов. Самая очевидная из них – это снабжение
найденными атрибутами  результатов
распознавания образа страницы для обеспечения сходства с оригиналом [2].
Другой, не менее важной задачей является классификация изображений одноименных
символов, что является  упрощающим
фактором для проведения кластеризации  в
многопроходной системе распознавания с самообучением [3]. Этапы распознавания
представлены на рисунке 2, атрибуты текстовых символов используются перед
каждым этапом обучения предшествующим проходом распознавания.

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

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

2.
Определение курсивности шрифта

 Вначале
рассмотрим алгоритмы определения атрибута курсивности (
italic).

 а)         курсивный шрифт    курсивный шрифт

 б)         шрифт "облик  шрифт "облик”

Рис. 3. Примеры истинного курсива (а) и «облика» (б) 

Понятие
курсива  происходит от одноименного
типографского шрифта, содержащего наклонные символы.  Поворотное преобразование курсива устраняет
наклон символов. Различают истинный курсив (
cursive), начертания букв которого не могут быть приведены поворотом
к начертаниям соответствующих прямых букв, и «облик» (
oblique), приводимый поворотом к прямому начертанию (см. примеры на
рис. 3.). Для всех типов курсива возможно нахождение наклона, выпрямление
отдельных символов и слов и использование характеристик наклона или
выпрямленных образов для улучшения распознавания. Документы, содержащие
реальную текстовую информацию, отличающуюся от декоративных надписей и
авангардных текстов, чаще всего включают в себя курсивные символы, сгруппированные
в слова, что олицетворяет отделение курсивных слов или больших текстовых блоков
от остального текста. Разумеется, при современной легкости создания печатных
документов возможны произвольные сочетания прямых и курсивных образов,
например, «СМЕСЬ», но мы будем считать
такие сочетания нехарактерными, а в качестве наименьшей единицы курсива
рассматривать слово.

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

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

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

Рассматривается линейное
представление образа[6]  символа,
обладающего односвязным образом, состоящее из набора линий

L1 = {B1, E1,
S1, I11, … , I1N1}

L2 = {B2, E2,
S2, I21, 
, I2N2}

Lk = {Bk, Ek,
Sk, Ik1, … , IkNk}

где       k          - число
линий, описывающих растр

            Bi , Ei  - признак наличия свободного
начала и свободного конца в
i-ой линии

            Si         - номер
строки в растре первого интервала
i-ой линии

            Iij         - j-ый интервал i-ой линии, состоящий из начальной и конечной координат.

Надежным
механизмом детекции курсива является нахождение наклона геометрических
элементов, иногда называемых графемами [10], образа символа. В качестве таковых
в линейном представлении образа выбираются линии, которые имеют достаточную
высоту и большая часть интервалов которых имеет сходные длины. Такие линии мы
будем называть колоннами. Примером
колонн являются вертикальные элементы букв «ИНП». Алгоритм селекции колонн, в
том числе, обладающих наклоном, с помощью линейного представления состоит в
анализе максимумов гистограммы длин интервалов (
yi,xi,di) ,

где      yi – смещение
интервала относительно верхней границы символа,

xi - смещение интервала относительно
левой границы символа,

di - ширина интервала,

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

S(Q)=S xi – (H-yi)·Q + wi/2

где H – высота образа, и решается задача максимизации сумм S(Q) в зависимости от тангенса угла наклона Q, например, методом наименьших
квадратов. Угол наклона, при котором середины интервалов  колонны дают максимальную сумму, то есть
наиболее близки друг к другу, является наклоном колонны.

Существование
в образе символа нескольких колонн, характеризуемых различными наклонами,
требует анализа значений наклонов. Алфавиты кириллицы и латиницы содержат буквы,
обладающие различными с точки зрения нахождения наклона «колоннами». Некоторые
символы, например, «
IllT1HГFZИПШ»,
обладают колонными, наклон которых определяется надежно, в символах «
YJDKMWДЖ» колонны могут найтись в зависимости от типа
начертаний этих букв и параметров селекции колонн. Заметим, что образы символов
с найденными наклонами колонн подразделяются на несколько групп. Имеется в виду
группа, в которой с помощью наклона можно принять решение о курсивности образа,
например, для символов «
IllT1H», группу, в которой наклон не имеет отношения к
курсиву, например, «
Z».  Существует группа символов, наклон линейных
элементов которых может быть принят во внимание как второстепенное соображение,
например, в буквах «ОС», некоторых начертаний можно найти линии с наклоном,
помогающем принять решение о курсивности нескольких соседних образов. Можно
говорить о курсивообразующем, некурсивообразующем и нейтральном классах символов.

Также как и
детектор распознавания, детектор наклона ориентирован на нахождение курсива в
слове, посредством обработки статистик наклонов букв из различных с точки
зрения определения курсива групп символов, и обобщении характеристических
наклонов в пределах группы образов, составляющих слово. Более того, оправдана
гипотеза о наличии небольшого числа характеристических наклонов в пределах
одного фрагмента текста. Для работы детектора наклона необходимо
предварительное распознавание символов для разбиения образов по группам для
накопления статистик наклонов. Обратим внимание на то обстоятельство, что
ошибки, не изменяющие класс символа с точки зрения определения курсива, не
влияют на работу детектора наклона, например, ошибки родственных символов «ИНП»
не мешают нахождения характеристических наклонов этих букв.

Детекторы
курсива распознаванием и наклоном удачно дополняют друг друга. Недостаток
нахождения наклона состоит в том,  что
наклон может быть найден не для всех букв, а значит и не для всех слов, а
недостатком детектора распознавания является трудность нахождения собственно
наклона, необходимого для последующего использования в распознавании.
Комбинирование двух детекторов позволяет повысить точность селекции курсивных
слов до 97-98%.

Курсивные
слова с найденным наклоном могут подвергаться нормализации в целях улучшения
распознавания. Нормализация образа состоит в пересчете растра, состоящим в
переходе в систему координат с новым базисом (см. рис. 4), определенным углом
наклона к вертикали
Q образа,
следующим образом

i' = i

j’ = i · sin(Q) + j·cos(Q)                                                                                           (1)

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

Необходимость
выпрямления курсивных образов, а точнее последовательностей курсивных символов,
объясняется наличием эмпирических описаний геометрии распознаваемых символов.
Существуют механизмы, работа которых упрощается в случае нормализации по
наклону обрабатываемых образов. Механизм определения точек разрезания в схеме
сегментации печатных символов может быть существенно упрощен в предположении,
что допустимые отрезки разрезания вертикальны, или, что фиксация
невертикального отрезка разрезания является исключительной ситуацией [5].
Другим алгоритмом, существенно упрощающимся нормализацией образа по наклону
являются дискриминаторы, являющиеся механизмами компенсации  ошибок алгоритмов распознавания представлений
образов[1], и проводящие исследования геометрии исходных образов. Например,
дискриминатор «ИПН», предполагающий наличие двух вертикальных колонн и сбор
детальной информации в зоне между колоннами, в случае невертикальных колонн был
бы вынужден либо ограничивать размеры зоны между колоннами, либо провести
исследования колонн, равноценные вычислению их наклона. Групповое же вычисление
наклона проводится более точно, нежели индивидуальный анализ образа, и
освобождает алгоритм дискриминации от дополнительных исследований. Необходимо
отметить, что из-за различных начертаний курсивных образов (см. пример на рис.
5) может потребоваться создание нового дискриминатора курсивных образов,
который работает только на надежно выделенных и выпрямленных курсивных
символах,  не конфликтует с аналогичным
дискриминатором прямого образа.

Учитывая
вышесказанное о курсиве и выпрямлении, целесообразно использовать трехэтапное
детектирование курсива. Первый вызов детектора происходит перед схемой
сегментации символов и использует некоторое первичное распознавание символов
строки. Его результаты улучшают функционирование разрезания символов во время
сегментации и повышают качество работы дискриминаторов. Второй вызов происходит
после сегментации на первом проходе, уточнение выделения курсивных слов
обеспечивает сохранение уточненных признаков в материале для обучения. После
кластеризации, учитывающей атрибут курсивности, построенный метод кластерного
наложения позволяет адаптироваться к шрифтам на распознаваемой странице и
извлекать признак курсивности из эталонов. Третий вызов происходит перед
сегментацией слов на втором проходе и опирается на признаки курсивности или отсутствия
курсивности в эталонах, перераспознающих образы, составляющие слова в строке
символов. Использование трехпроходной схемы детекции курсива позволяет
определять курсив с точность 99.5% на текстах среднего качества.
 

3.      Определение
других атрибутов шрифта
 

Аналогичным
образом осуществляется определение других атрибутов шрифта. Для различения
серифных и бессерифных образов (см. рис. 1) могут использоваться распознавание
наложением [6,7], нейронные сети [8] и геометрические признаки-разделители,
производящие поиск и оценку серифов в верхней и нижней зонах «колонн». В
детекторе жирных и светлых образов (см. рис. 1) помимо аналогичных распознающих
механизмов участвует анализ толщин линий в линейном представлении образа. В
обоих случаях происходит распространение характерных величин признаков
серифности и жирности на все буквы в слове и учет признаков при обучении. После
кластеризации атрибуты серифности и жирности могут быть уточнены за счет
использования атрибутов из надежно собранных кластеров, которые перераспознают
образы, для которых на первом проходе определение атрибутов было ненадежно.

Из других
характеристик шрифтов упомянем признак «узкого шрифта», получаемый в процессе
анализа пропорций символов в строке и признак подчеркивания, наследуемый из линий,
выделенных алгоритмом [9]. Примеры узкого шрифта  и подчеркивания приведены на рис. 6.

УЗКИЙ ШРИФТ                          NARROW FONT

НОРМАЛЬНЫЙ ШРИФТ     NORMAL
FONT

ПОДЧЕРКНУТЫЙ ШРИФТ  UNDERLINED FONT 

4.     
Заключение 

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

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

О.А. Славин

Рекомендую Вам также почитать:


  • Печать из терминальной сессии. Архитектура печати в Windows
  • Начало в системном администрировании, эникейство
  • Угроза от пакетов внутренней маршрутизации
  • Что можно узнать по IP адресу
  • Внимание - ЛОХОТРОНЫ
  • Брандмауэры сетевого уровня
  • Список лучших конструкторов сайтов
  • Как вывести баннер на форуме Ucoz в первом сообщении темы
  • Windows XP и Windows Vista – более быстрый поиск файлов
  • С++Builder всякие полезности

  • Загрузить, скачать Распознование, Распознавание атрибутов текстовых символов ( О.А. Славин ) бесплатно.
    Скачать Распознавание атрибутов текстовых символов ( О.А. Славин ) бесплатно
    Распознавание атрибутов текстовых символов ( О.А. Славин ) бесплатно и без регистрации.

    При копировании материала указывайте источник

    Распознавание атрибутов текстовых символов ( О.А. Славин ) download free


    Категория: Распознование | Просмотров: 3945 | Добавил: Никипольский-Алексей | Рейтинг: 0.0/0
    Всего комментариев: 0
    avatar
    Мои услуги на Kwork
    Like It


    Copyright Алексей Никипольский © 2009 - 2024