Доклады БГУИР
2011 № 8 (62) УДК 681.327.12.001.362
АЛГОРИТМЫ СЕГМЕНТАЦИИ ДЛЯ ЗАДАЧ ТЕКСТУРНОГО АНАЛИЗА С ПРИМЕНЕНИЕМ МЕТОДА СИНТАКСИЧЕСКОГО ОПИСАНИЯ ТЕКСТУР
Е.Г. БЕВЗ, В.А. ПРЫТКОВ
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 1 ноября 2011
Рассмотрена применимость ряда алгоритмов сегментации, основанных на теории графов и классического алгоритма водоразделов, в задачах текстурного анализа, использующих для построения описания текстуры формальные грамматики. Построены оценочные изображения для получения количественной характеристики эффективности алгоритмов.
Ключевые слова: сегментация, текстура, элемент покрытия, текстурный анализ, формальная грамматика.
Введение
Сегментация изображений и выделение границ объектов (edge detection) играют важную роль в системах компьютерного зрения и применяются в основном для задач распознавания сцен и выделения (определения) объектов. По большому счету, это такой же инструмент, как, например, сортировка, предназначенный для решения более высокоуровневых задач. И поэтому понимание устройства данного класса алгоритмов не будет лишним при построении подобных систем с учетом предъявляемых требований и специфики поставленных задач.
Результатом сегментации изображения является множество сегментов, которые вместе покрывают все изображение, или множество контуров, выделенных из изображения. Все пиксели в сегменте похожи по некоторой характеристике или вычисленному свойству, например по цвету, яркости или текстуре. Соседние сегменты значительно отличаются по этой характеристике [1]. Различные алгоритмы сегментации обладают отличительными особенностями, которые играют свою роль в зависимости от поставленной перед исследователем задачи. В данной статье будет рассмотрена применимость алгоритмов, основанных на теории графов (Efficient Grapf-Based Image Segmentation [2], Pyramid segmentation [3]) и классического алгоритма водоразделов (watershed segmentation [4]) в методе синтаксического описания текстур
[5].
Метод синтаксического описания текстур
Метод синтаксического описания текстур состоит в выделении из текстуры набора связанных компонент, классифицированных по какому-либо свойству с последующим выделением групп. Далее, производя поиск соответствующих компонент на любом другом изображении, происходит детектирование уже известной текстуры. Выделяют 2 стадии: стадия обучения и стадия распознавания. В свою очередь, стадия обучения состоит из следующих этапов:
1. Сегментация. На этом этапе на эталонных текстурах выделяются однородные связные области. Получаем множество X = {Хь Х2, ..., ХЦ} однородных связных областей изображений. В общем случае может использоваться любой алгоритм сегментации, не требующий априорных сведений об изображении.
2. Кластеризация. Множество однородных связных областей всех имеющихся эталонных изображений текстур разбивается на множество классов однородных областей A = {Ab A2, ..., Ag}, A, с X, У A, Af A, n Aj = 0, ii^j. В общем случае может использоваться любой алгоритм кластеризации. Каждой текстуре ставится в соответствие свое множество входящих в нее классов: Ir^ {Ai | A2 | ... | A„}, A, е A, r = 1, 2, ..., L.
3. Построение описания текстур. Для каждой текстуры для каждой ее однородной области выполняется обход контура и строится терминальная цепочка а, = {b1, b2, ..., bk}*, где * обозначает операцию замыкания. Цепочки сворачиваются к правилам вида AJ^B1k1B2k2.Bmkm , которые в дальнейшем заменяются на множество правил, рассмотренных в работе [5].
В результате обучения для каждой текстуры будет построена своя грамматика, которая позволит выполнять на этапе распознавания проверку на точное соответствие входной цепочки заданной грамматике.
В режиме распознавания система состоит из следующих элементов.
1. Сегментация. На этом этапе на исходном изображении выделяются однородные связные области. Получаем множество X = {X'1, X2, ..., XV}. Должен использоваться тот же алгоритм, что и на этапе обучения, с теми же самыми параметрами.
2. Классификация. Для каждого из элементов множество однородных связных областей определяется класс, которому она соответствует: X^A. Должно использоваться множество классов, полученное на этапе обучения. Алгоритм классификации, определяющий способ построения решающих правил, в общем случае может быть любым.
3. Распознавание. Для каждой однородной области входного изображения выполняется обход контура и строится терминальная цепочка а, = {b1, b2, ..., bk}*. Для каждой цепочки, используя стандартные алгоритмы, определяется ее принадлежность той или иной грамматике. Если цепочка принадлежит данной грамматике, то соответствующая ей однородная область составляет текстуру, которая данной грамматикой определяется.
Из описания метода следует набор требований к алгоритму сегментации:
- области должны быть однородны относительно определенных характеристик;
- смежные области должны существенно отличаться по значениям выбранных характеристик, относительно которых они считаются однородными;
- границы каждого сегмента должны быть простыми, пространственно точными.
Сегментация с использованием взвешенного графа
В рассматриваемом алгоритме (Efficient Grapf-Based - EGB) изображение представляется в виде взвешенного графа с вершинами в точках изображения. Вес ребра графа отражает сходство точек в некотором смысле (расстояние между точками по некоторой метрике). Разбиение изображения моделируется разрезами графа. В основу EGB-сегментации положен алгоритм Краскала [6] по построению минимального остовного дерева взвешенного связного неориентированного графа.
Алгоритм хорошо подходит в первую очередь для быстрого выделения крупных объектов от фона и разделения изображения на достаточно крупные объекты, которые ассоциируются именно с объектами, а не с элементами текстуры. Поэтому данный алгоритм неприменим в нашем случае по отношению к получению элементов, составляющих грамматику. Однако алгоритм хорошо подойдет для предобработки изображения для поиска целых областей однородного содержания.
Пирамидальная сегментация
Существует множество пирамидальных алгоритмов сегментации. Их сравнительные характеристики с кратким описанием работы описаны в [3]. В нашем исследовании использовалась модификация пирамидального алгоритма сегментации, реализация которого включена в пакет программной обработки изображения OpenCV.
На комбинированных изображениях на границах раздела наблюдались заметные ошибки сегментации. На рис. 1 представлен результат сегментации данным алгоритмом вблизи границы текстур. Видны «затекания» элементов одной текстуры на другую. Такой результат нега-
тивно скажется на распознавании сопутствующих границе областей. С учетом потенциальных ошибок, связанных с работой алгоритмов классификации и кластеризации, крайне нежелательно использовать сегментацию, дающую такой результат.
Рис. 1. Ошибки в сегментации переходной области
Другой проблемой, которую удалось отметить, является зависимость границы сегментов, удаленных от границы раздела текстур, от характера соседствующей текстуры. На рис. 2 приведены два сегментированных изображения. Одно комбинированное, другое - монотекстурное. Оба изображения обрабатывались одним и тем же алгоритмом с одинаковыми параметрами сегментации.
Рис. 2. Пример сегментированных текстур при одинаковых параметрах сегментации. Приведены результаты сегментации комбинированного изображения (слева) и изображения, состоящего из одной текстуры (справа)
Часть изображения, хорошо демонстрирующая проблему, представлена на рис. 3. Четко прослеживается темная область, которая появилась на комбинированном изображении вследствие интегрального влияния всего изображения на сегментацию из-за особенностей работы пирамидального алгоритма. Соответственно, данный алгоритм неприменим в наших задачах, его использование не представляется возможным.
Рис 3. Увеличенная область текстуры, удаленная от границы раздела текстур (слева) и соответствующая ей область сегментированного изображения одной текстуры (справа)
Сегментация методом водоразделов
Методы наращивания областей эффективны при наличии устойчивой связности внутри отдельных сегментов. Один из самых эффективных методов наращивания областей предполагает выбор стартовых точек либо с помощью оператора (алгоритм центроидного связывания), либо автоматически. Эффективным здесь представляется метод водоразделов, основанный на поиске локальных минимумов с последующей группировкой вокруг них областей по связности. Метод рассматривает только полутоновое изображение. Полутоновое изображение можно воспринимать как некий ландшафт - чем светлее пиксель, тем выше точка поверхности. Задача сегментации сводится к нахождению областей стабильного минимума, отделенных друг от друга областями стабильного максимума. Несмотря на очевидное ограничение на цветные изображения, сегментация их также является возможной, если провести дополнительную обработку (например, разложение по основным базисным оттенкам, либо приведение изображения к градациям серого и т.д.).
На рис. 4 приведен результат обработки изображения текстуры Бродаца, рассмотренной ранее. Участки с подобными интегральными яркостями окрашены в один цвет.
Рис. 4. Результат обработки монотекстуры алгоритмом водоразделов
На рис. 5 приведен пример сегментации комбинированного изображения (слева) и монотекстуры (справа). Видно, что форма сегментов не зависит от изображения в целом, а важны лишь конкретные области на изображении.
Рис. 5. Пример сегментации комбинированного изображения и монотекстуры
Также хочется отметить, что данный алгоритм тоже подвержен ошибкам на границе раздела текстур на комбинированных изображениях. Ожидается, что при использовании метода синтаксического анализа такие ошибки будут являться наиболее значимыми при определении границы раздела текстур.
Заключение
Произведен анализ нескольких широко используемых алгоритмов сегментации с целью выбора подходящего для задач текстурного анализа с использованием описания текстур при помощи формальных грамматик. Приведены результаты сегментации изображений как единичных текстур, так и комбинированных вариантов. В качестве основного алгоритма сегментации для дальнейшей реализации метода синтаксического анализа выбрана сегментация методом водоразделов с первичным применением фильтра c адаптивным порогом. Для увеличения точности сегментации на границе раздела следует производить предобработку с выявлением контуров и, далее, производить поиск элементов покрытия в областях, которые по своим геометрическим размерам наполовину эффективного размера элемента покрытия меньше, чем рассматриваемая область, ограниченная найденным контуром.
SEGMENTATION ALGORITHMS FOR TEXTURE ANALYSIS BASED ON METHOD OF SYNTACTIC DESCRIPTION OF TEXTURE
E.G. BEVZ, V.A. PRYTKOV
Abstract
The applicability of segmentation algorithms based on graph theory (EGB image segmentation, pyramid segmentation) and the classical algorithm of watersheds in problems of texture analysis based on descriptions of texture as formal grammar is discusses.
Литература
1. Shapiro L.G., Stockman G.C. Computer Vision. New Jersey, 2001.
2. Felzenszwalb P.F. [Electronic resource]. Режим доступа: http://people.cs.uchicago.edu/~pff/papers/seg-ijcv.pdf.
3. Marfil R., Molina-Tanco L, Bandera A. et al. // Pattern Recognition. 2006. Vol. 39. P. 1430-1451.
4. Beucher S., Lantuejoul C. [Electronic resource]. Режим доступа: http://cmm.ensmp.fr/~beucher/publi/waters hed.pdf.
5. Прыткое В.А., Барташевич Ю.А., Лукашевич М.М. // Материалы V межд. конф. - форума «Информационные системы и технологии». 2009. Ч. 1. С. 172-175.
6. Kruskal J. B. // Proc. AMS. 1956. Vol 7, №1, P. 48-50.