Научная статья на тему 'Метод распознавания текстур на основе синтаксического описания'

Метод распознавания текстур на основе синтаксического описания Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
446
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
текстура / текстурирующий элемент / сегментация / формальные грамматики

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В А. Прытков

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE TEXTURE RECOGNITION METHOD BASED ON SYNTACTIC DESCRIPTION

The texture recognition method based on formal grammar description is proposed. The textural element is considered as set of primitives, and description is constructed by viewing of contours of primitives and by analysis of areas bordering with primitives. The method allows to use simple criteria for segmentation and to build hierarchical textural models. Also it allows to raise accuracy of borders recognition of textural areas

Текст научной работы на тему «Метод распознавания текстур на основе синтаксического описания»

Доклады БГУИР

2008 № 4 (34)

УДК 681.327.12.001.362

МЕТОД РАСПОЗНАВАНИЯ ТЕКСТУР НА ОСНОВЕ СИНТАКСИЧЕСКОГО ОПИСАНИЯ

В.А. ПРЫТКОВ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 1 июля 2008

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

Ключевые слова: текстура, текстурирующий элемент, сегментация, формальные грамматики.

Введение

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

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

В данной работе предлагается описывать текстуру в виде формальной грамматики с помощью структурных примитивов текстонов.

Теоретический анализ

Возьмем за основу определение текстуры [10]: текстура — связная область элементов цифрового изображения с различными яркостями, визуально передающая характер поверхности объекта исходной сцены. Заметим, однако, что текстуру могут формировать не только яркость, но и другие величины, характеризующие цифровое изображение, например цветовой тон. Кроме того, в работах [3, 5] отмечается, что у всех методов описания текстур общим является то, что текстура является свойством соседства.

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

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

Формальная грамматика G определяется через четыре компоненты: G (Т, N Р, S), где Т — терминальный словарь грамматики, представляющий собой множество допустимых символов входной цепочки; N — нетерминальный словарь, представляющий собой множество вспомогательных символов для записи правил вывода, Р — множество правил грамматики, которые в общем случае имеют вид ос—»Р, где а, Ре (ТиЫ)*. т.е. фактически представляют собой произвольную цепочку символов над полным словарем грамматики, 8 — целевой символ, 8еТЧ, из которого выполняется вывод всех цепочек языка, задаваемого грамматикой. Наиболее распространены контекстно-свободные и регулярные грамматики, у которых в левой части правил может находиться ровно один нетерминальный символ. Теория формальных грамматик хорошо проработана и используется, в частности, при проектировании трансляторов.

Формальные грамматики при распознавании текстур не получили широкого применения. Наиболее распространенным является использование их для построения контура однородных областей. Описание двумерного цифрового изображения с помощью аппарата формальных грамматик во многих других случаях сводится к рассуждениям общего вида [11, 12]. Прежде всего такая ситуация связана с одномерностью цепочек формальных грамматик, тогда как для распознавания объектов цифрового изображения требуется возможность формирования двумерных цепочек. Примером работы в данном направлении может служить [13]. Рассмотрим, каким образом формальные грамматики позволяют сохранить свойства текстуры при неполном текстоне.

Методика

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

Рассмотрим пример (рис. 1,а). Здесь текстоном является выделенная прямоугольная область. Причем вариантов его выделения существует достаточно много. В данном случае тек-стон состоит из четырех примитивов, обозначенных символами А, В, С, D (рис. 1,6). Тогда текстуру можно представить в виде связного графа, вершины которого соответствуют примитивам Л^, а дуги соединяют соседние примитивы. Если для каждой вершины выполнить обход ее дуг с учетом их пространственного расположения, например, по часовой стрелке, то получим цепочку, описывающую смежные примитивы. Так, для примитива А цепочкой будет DCDBDCDB. В этом случае текстура фактически описывается множеством правил контекстно-свободной грамматики, соответствующей возможным связям примитивов. Так, для данного примера описание может быть представлено в виде A^DCDBDCDB; B^CDCACDCA; C^BABDBABD; D^ABACABAC; Н'^А' | В' | С' | D'; Н^Н' | Н'Н.

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

А' ^ DCDBDCDB | CDBDCDBD | БВБСБВБС СБВБСБВБС|БВБСБВБСБ|ВБСБВБСБВ;

В' ^ CDCACDCA | DCACDCAC | CACDCACD БСЛСБСЛСБ|СЛСБСЛСБС|ЛСБСЛСБСЛ;

С' ^ BABDBABD | ABDBABDB | BDBABDBA ЛВБВЛВБВЛ | ВБВЛВБВЛВ | БВЛВБВЛВБ;

D' ^ АВАСАВАС | ВАСАВАСА | АСАВАСАВ ВЛСЛВЛСЛ | ЛСЛВЛСЛВ | СЛВЛСЛВЛ; Н' ^ А' | В' | С' | D'; Н ^ Н' | Н'Н.

| ВБСБВБСБ | ACDCACDC

DBABDBAB САВАСАВА

| БСБВБСБВБ | | CDCACDCAC | | BABDBABDB | | АВАСАВАС |

Рис. 1. Представление текстуры как совокупности примитивов: а) исходная текстура

с выделенным текстоном; б) разбиение на примитивы; в) пример примитива, входящего

в описание нескольких грамматик

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

Процесс текстурной сегментации будет представлять собой совокупность следующих

шагов:

а) выделение на изображении связных областей, соответствующих примитивам описаний текстур;

б) определение для каждого примитива принадлежности той или иной грамматике, соответствующей одной из текстур;

в) принятие решения о принадлежности примитива, если он входит в описание нескольких грамматик.

Первый шаг представляет собой классический вариант сегментации по однородным областям. Критерии однородности могут быть достаточно простыми, поскольку нет необходимости учитывать однородность на уровне текстуры в целом. На самом деле на этом шаге нет необходимости и выполнять построение графа, поскольку для этого необходимо выполнить обход контура примитива и анализ смежных с контуром пикселей. Но, выполняя обход, можно сразу формировать входную цепочку и определять ее принадлежность одной из грамматик. Обозначим: "а" — пиксель, принадлежащий примитиву А, "Ь" — примитиву В и т.д. Пиксель, не принадлежащий примитивам данной текстуры, обозначим как Тогда для выполнения разбора в грамматику достаточно добавить правила:

Л ^ аЛ | а | авЛ | ав | в; В ^ ЬВ | Ь | ЬвВ | Ьв | в; С ^ сС | С | свС | 08 | в; б ^ аБ | а | авБ | ав | в.

|

|

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

Второй шаг выполняется тривиальным образом с использованием хорошо проработанного аппарата формальных грамматик, поскольку построенная грамматика принадлежит к классу контекстно-свободных. Ниже определены компоненты предложенной грамматики G (Т, N Р, S) в обобщенном виде:

T={al, a2, ..., ап, g}, где ai соответствует контурным пикселям примитивов Аь Л2, ..., ап; g соответствует контурным пикселям любой иной области, не принадлежащей множеству примитивов грамматики;

К=1Ч0и]'Ч1и{8", 8}, где 1Ч:)={А',. А'2. ..., А'п}, причем А'; соответствует примитиву, для которого выполняется обход, а ^={ЛЬ Л2, ..., Ап}, причем Ai соответствует примитиву A'i, когда А; является смежным для текущего примитива.

Р={р | УА';е]Чо, УВ^ь А\->В1В2...Вк | Вз.ВкВ! ... | В^.ВкВ! | В2...

...ВкВ^з ВкВ1...Вк.1Вк}и{Ч | УВ^: В^Ь^ | ^ | Ь^ | Ь^ | §}и{Н^А"1 | А\ А'п; Н^Н" | Н'Н};

8=И.

ТекстV]) а А Текстура В Текст \-р а А Текстура В

Примитив Примитив

а) б)

Текст \1) а А Текстура В ТекстVI) а А Текстура В

в) г)

Рис. 2. Принятие решения о принадлежности примитива: а) большая часть контура примитива граничит с одной из текстур; 6) примитив равноценно граничит с несколькими текстурами; в) принятие решения в случае а; г) принятие решения в случае б

Третий шаг проиллюстрирован на рис. 1,в. Здесь представлена иная текстурная область, в которой присутствуют еще два примитива — Е и F. Однако область, выделенная тонкой линией, может рассматриваться и как фрагмент ранее рассмотренной текстуры. Соответственно требуется принять решение, к какой текстуре его следует отнести. Очевидным решающим правилом, использующим количество пикселей g примитива для каждого типа текстур, не исключающим возможности применения и иных правил, будет следующее (рис. 2):

- если примитив граничит преимущественно с одной и той же текстурой, он считается принадлежащим ей (решение принимается по минимальному количеству пикселей g);

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

Экспериментальная часть

Для эксперимента были выбраны две текстуры, представленные на рис. 3,а и б соответственно. Вторая текстура отличается наличием темно-серых вертикальных и горизонтальных полос. Они были объединены, как показано на рис. 3,г (это же изображение является эталонным результатом). Изображение после объединения представлено на рис. 3,в. Результат обработки с использованием предложенного метода — на рис. 3Д

г) д)

Рис. 3. Экспериментальные результаты: а-б) исходные текстуры; в) обрабатываемый фрагмент; г) эталонное распознавание; д) результат обработки

Результаты и их обсуждение

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

Предложенный метод имеет несколько путей дальнейшего развития.

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

Заключение

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

THE TEXTURE RECOGNITION METHOD BASED ON SYNTACTIC

DESCRIPTION

V.A. PRYTKOV Abstract

The texture recognition method based on formal grammar description is proposed. The textural element is considered as set of primitives, and description is constructed by viewing of contours of primitives and by analysis of areas bordering with primitives. The method allows to use simple criteria for segmentation and to build hierarchical textural models. Also it allows to raise accuracy of borders recognition of textural areas.

Литература

1. HaralickR.M., Shanmugan K., Dinstein I. // IEEE Trans. Syst. Man. Cybern. 1973. Vol. 3. P. 610-621.

2. Laws K.L. Textured Image Segmentation. PhD thesis. Los Angeles, 1980.

3. Jain A.K., Karu K. // Image Analysis and Processing: 8th International Conferences. Lecture notes in computer science. 1995. Vol. 974. P. 3-10.

4. Noriega L., Westland S. // Pattern Recognition and Information Processing: Proc. of 6th Intern. Conf. Minsk, 2001. P. 121-125.

5. Zhou F., Feng J., Shi Q. // Pattern Recognition and Information Processing: Proc. of 6th Intern. Conf. Minsk, 2001. P. 41-45.

6. Абламейко С.В., Лагуновский Д.М. Обработка изображений: технология, методы, применение. Минск, 2000.

7. Козырев С.А. // Распознавание образов и анализ изображений: Науч.-техн. конф. стран СНГ. Минск, 1993. С. 202-204.

8. Моттль В.В., МучникИ.Б., Иванова Т.О., Блинов А.Б. // Обозрение прикладной и промышленной математики. 1996. Т. 3, вып. 1. C. 104-108.

9. Мишулина О.А., Вин Тхей // IX Всерос. науч.-техн. конф. "Нейроинформатика-2007": Сб. науч. трудов. М., 2007. Ч.1. С. 146-157.

10. Старовойтов В.В. Локальные геометрические методы цифровой обработки и анализа изображений. Минск, 1997.

11. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М., 2006.

12. Форсайт Д., Понс Ж. Компьютерное зрение. Современный подход. М., 2004.

13. СулейменовЕ.Р. // Математические методы распознавания образов: Докл. 9-й Всерос. конф. М., 1999. С. 230-231.

i Надоели баннеры? Вы всегда можете отключить рекламу.