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

УДК 004.93

ФУНКЦИЯ ПАРНОГО СРАВНЕНИЯ СКЕЛЕТНЫХ ГРАФОВ, ЗАДАННЫХ ЦЕПОЧКАМИ ПРИМИТИВОВ

О.А. Кушнир, О.С. Середин

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

Ключевые слова: бинарное растровое изображение, скелетный граф, цепочка примитивов, функция парного сравнения, парное выравнивание, динамическое программирование.

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

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

р(ш', ш''') < р(ш', ш'') + р(ш'', ш'''), р(ш', ш'') = р(ш'', ш'), р(ш', ш'') > 0, р(ш, ш) = 0, где ш',ш'',ш''',шей,Q - множество сравниваемых объектов; р - расстояние между ними в метрическом пространстве.

Лучше, если эта процедура будет порождать евклидову метрику, т.е. матрица K, составленная из значений -р2(ш',ш''), будет условно положительно определена:

X!J-i ,ооi)cjcj > 0 для всех cx,...,cN е М таких, что = 0.

Это даст возможность погрузить множество объектов в линейное пространство, благодаря чему можно применять для сравнения метод потенциальных функций, например, SVM.

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

Чтобы сравнить два скелетных графа, предпринимаются следующие шаги:

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

2) разработка на основе полученных описаний процедуры парного выравнивания цепочек, аналогичной выравниванию символьных последовательностей;

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

Описание скелета через цепочку примитивов

Для решения задачи сравнения форм объектов используется непрерывный подход к скелетизации, изложенный в [3], поскольку он позволяет вычислить более точное скелетное описание фигуры, а также потому, что в дальнейших экспериментах предполагается задействовать значения радиусов максимальных окружностей, вписанных в фигуру, для получения более гибкой меры сравнения при одинаковых скелетных топологиях. На рис. 1 показаны две фигуры и их скелеты после предобработки.

Рис. 1. Примеры бинарных изображений и соответствующих им скелетов

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

мер, та, которая имеет наименьшие координаты по оси X и У . Длина инцидентного ей терминального ребра, а также угол между этим ребром и следующим по обходу скелета составляют один примитив. Длины и углы необходимо нормировать, т.е. каждый компонент примитива является числом на интервале [0...1]. Предварительно скелет проходит обработку: регуляризацию и аппроксимацию ребер. Такой способ описания скелета и подробный алгоритм вычисления был предложен в [4].

Следует отметить, что примитивы в цепочке следуют один за другим и изменение их взаимного расположения невозможно. Однако возможно применить к цепочке операцию циклического сдвига. Эта операция не меняет описываемого скелета, но изменяет начало обхода скелетного графа. Воспользуемся этим свойством и изменим цепочку, полученную методом [4]: перенесем последний примитив в голову цепочки. Таким образом, обход скелета будет начинаться не с терминальной вершины, а с инцидентной ей по терминальному ребру. Это изменение позволяет оставить «целым» терминальное ребро, с которого начинается обход, что обеспечит более корректное выравнивание. Первое рассмотренное при обходе скелета терминальное ребро теперь описывается первым и вторым примитивом в цепочке.

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

Парно-сепарабельная функция для поиска выравнивания

Опишем более подробно само понятие парного выравнивания (элайнмента) и способ его построения.

Пусть задано множество примитивов О. Каждый примитив является двухкомпонетным вектором со = {/,а}, где / - нормированная длина текущего ребра графа, а - нормированный угол между текущим и следующим ребрами. Также имеются две последовательности примитивов (соответствующие двум скелетам), в общем случае разной длины, между которыми надо найти различие. Обозначим одну из них как базовую В, вторую - как ссылочную М. Будем обозначать элементы базовой цепочки как еО, а ссылочной - как где N - число элементов в по-

следовательности В, К - число элементов в последовательности М :

М: гх,...,гк = {^а,} {/2?а2}...{1к,ак} е О.

Примеры базовой и ссылочной цепочек для скелетов изображений, приведенных на рис. 1 (базовая соответствует первому скелету, ссылочная - второму):

- базовая цепочка В

{0,3; 1}{0,3; 0,25}{0,29; 1}{0,29; 0,36}{0,31; 0,25}{0,39; 1}{0,39; 0,28} {0,17; 0,35}{0,29; 1}{0,29; 0,25}{0,3; 1}{0,3; 0,4}{0,17; 0,47}{0,31; 0,39};

- ссылочная цепочка К

{0,299; 1}{0,299; 0,25}{0,299; 1}{0,299; 0,38}{0,48; 0,38} {0,29; 1}{0,29; 0,25}{0,29; 1}{0,29; 0,38}{0,48; 0,38}.

Ссылочная цепочка расширяется путем введения дополнительных символов g ="-", т.е. пропусков (gap), которые являются вспомогательными элементами, принадлежащими множеству Q, g eQ. Для того чтобы расширить ссылочную цепочку, необходимо учитывать следующее свойство, определяемое алгоритмом построения последовательности примитивов: два соседних в цепочке примитива, первый из которых имеет значение нормированного угла равным 1 (т.е. 360°), составляют одно терминальное ребро. Данное свойство последовательности примитивов определяется алгоритмом ее построения. Следовательно, между такой парой в расширенной ссылочной цепочке вводить пропуск нельзя, иначе возможны случаи неверного сопоставления терминального ребра с частью нетерминального ребра. Такие случаи назовем «разрывом» единого терминального ребра. Между остальными элементами цепочки вводится пропуск.

В результате получаем расширенную ссылочную цепочку Е длиной K, состоящую из элементов e1,...,eк eQ. Пример расширенной ссылочной цепочки для цепочки М:

-{0,299; 1}{0,299; 0,25}-{0,299; 1}{0,299; 0,38}-{0,48; 0,38} -{0,29; 1}{0,29; 0,25}-{0,29; 1}{0,29; 0,38}-{0,48; 0,38}- .

Каждый элемент базовой цепочки ссылается на один элемент расширенной ссылочной цепочки. Несколько элементов базовой цепочки могут ссылаться на один и тот же элемент расширенной ссылочной цепочки.

Вектором ссылок будем называть вектор z = {zt}, t = 1,...,N, где N -

число элементов в базовой последовательности. Значение zt e{1,...,K}, где

K - количество элементов расширенной ссылочной цепочки, будет определять номер элемента расширенной ссылочной цепочки, на который ссылается t -й элемент базовой последовательности.

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

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

расположения. Такая функция р(ю', ю") в простейшем случае может иметь вид

р(ю', ю") = (I1 ")2 + (а'-а")2. Применяя понятие абсолютной ссылки, функцию р(ю ', ю ") можно представить как

() = р(ю", ю ' X

где X е{1,..., Щ, г, е{1,..., К}.

Используя узловую функцию, можно записать

N

,=1

Далее введем функцию связи между элементами последовательностей примитивов. Критерий J(z) зависит от значений переменных вектора ссылок. Каждая такая ссылка должна обязательно указывать на некий существующий элемент в ссылочной цепочке. Это значит, что переменные могут принимать значения из некоторого ограниченного диапазона целых чисел, который определяется длиной расширенной ссылочной цепочки: е{1,...,К}.

Кроме того, ссылки не должны пересекаться, то есть не должны нарушать порядок следования элементов. Если ссылка указывает на некоторый элемент ссылочной последовательности, то последующая ссылка должна обязательно указывать на этот или любой последующий элемент, но ни в коем случае на предыдущий: ^ < .

Равенство ^ = 2/+1 может быть только в том случае, если обе ссылки указывают на пропуск в расширенной ссылочной цепочке. Пропуск штрафуется положительной величиной с. Случаи нарушения вышеперечисленных условий будем штрафовать величиной, равной да. Таким образом, функция связи примет вид

У,(^ 2 ) =

да,

да

2 < 2-1

2 = 2-1 Л * 8 c, = _1 Л = 8

а 2 _ =1Л * 8 Л ^ * 8

0,5с ^ _ =1,

а 2 _ = 2 Л * 8 Л * 8

0,5с ^ _ = 2, (2 _ 2

где X е{2,...,N}.

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

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

N N

3(г) = X V(^) + (^ ^) .

¿=1 ;=2

Чтобы минимизировать ее, необходимо использовать процедуру динамического программирования [7].

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

Таблица 1

Вектор ссылок, парный элайнмент и иллюстрация найденных

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

z Базовая цепочка Ссылочная цепочка Сравниваемые скелеты

2 { 0,3 1} { 0,299 1} Ь

3 { 0,3 0,25} { 0,299 0,25}

5 { 0,29 1} { 0,299 1}

6 { 0,29 0,36} { 0,299 0,38}

8 { 0,31 0,25} { 0,48 0,38}

9 { 0,39 1} -

9 { 0,39 0,28} -

9 { 0,17 0,35} -

10 { 0,29 1} { 0,29 1}

11 { 0,29 0,25} { 0,29 0,25}

13 { 0,3 1} { 0,29 1}

14 { 0,3 0,4} { 0,29 0,38}

15 { 0,17 0,47} -

16 { 0,31 0,39} { 0,48 0,38}

При с = 0,1 получено значение целевой функции для рассматриваемых фигур 3 (г) = 0,877.

Определение функции парного сравнения цепочек примитивов

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

желательно, чтобы искомая функция обладала свойствами евклидовой метрики.

В качестве такой функции было предложено использовать критериальную функцию 3 (г), которая будет являться функцией различия (мерой различия) между двумя выровненными последовательностями примитивов, элайнмент которых задается конкретными значениями вектора г = },^ = {1,...,Щ, где 21 е{1,...,К}. Для двух абсолютно идентичных последовательностей (одной и той же цепочки примитивов) значение этой функции будет равно нулю.

Однако эксперименты на достаточно большом количестве изображений показали, что одно из требований метрики р(ю ', ю "') <р(ю" , ю ") + р(ю ", ю "') - неравенство треугольника - выполняется не для всех значений параметра с. Следовательно, функция 3(г) метрикой не является, хотя и может рассматриваться как мера различия двух изображений (см. следующий раздел).

Эксперименты

Для экспериментов была взята база тестовых изображений, состоящая из трех классов (1 - класс четырехконечных звезд, 2 - пятиконечных, 3 - шестиконечных), в каждом классе по 23 изображения. Примеры изображений для трех классов и их скелеты показаны на рис. 2.

2

3

4

5 6 7 8

9 10

11

12

Рис. 2. Пример изображений трех классов звезд для проведения экспериментов

Для 12 изображений на рис. 2 была построена матрица мер различия для каждой пары фигур при с = 0,8. Результат показан в табл. 2. Значения, соответствующие одному и тому же классу, выделены заливкой.

Таблица 2

Матрица мер различия для каждой пары фигур при с = 0,8

№ 1 2 3 4 5 6 7 8 9 10 11 12

1 0 0,047 0,312 0,500 5,799 5,892 5,782 5,812 11,761 11,73 11,763 12,134

2 0,047 0 0,192 0,377 5,658 5,857 5,675 5,67 11,658 11,676 11,648 12,064

3 0,312 0,192 0 0,043 5,819 5,713 5,718 5,803 11,756 11,722 11,755 12,078

4 0,500 0,377 0,043 0 6,022 5,725 5,846 6,016 11,942 11,858 11,95 12,174

5 5,799 5,658 5,819 6,022 0 0,51 0,083 ~0 5,675 5,76 5,636 5,721

6 5,892 5,857 5,713 5,725 0,51 0 0,305 0,517 6,018 5,846 6,027 5,797

7 5,782 5,675 5,718 5,846 0,083 0,305 0 0,089 5,703 5,696 5,666 5,648

8 5,812 5,67 5,803 6,016 ~0 0,517 0,089 0 5,678 5,765 5,639 5,726

9 11,761 11,658 11,756 11,942 5,675 6,018 5,703 5,678 0 0,043 5,414 0,047

10 11,73 11,676 11,722 11,858 5,76 5,846 5,696 5,765 0,043 0 5,388 0,001

11 11,763 11,648 11,755 11,95 5,636 6,027 5,666 5,639 5,414 5,388 0 4,863

12 12,134 12,064 12,078 12,174 5,721 5,797 5,648 5,726 0,047 0,001 4,863 0

Стоит отметить, что при проведении экспериментов для двух абсолютно идентичных изображений (одной и той же цепочки примитивов) значение меры, как и полагалось, равно нулю, что отображено нулями на главной диагонали матрицы. Это касается и случая, когда два изображения отличаются только углом поворота фигуры или почти не имеют отличий, кроме поворота (ср., например, изображения 10 и 12). Чтобы функция различия могла идентифицировать их как одинаковые изображения, был реализован механизм циклических сдвигов в цепочке примитивов одного из изображений. Этот механизм позволяет рассмотреть все варианты обхода скелета в зависимости от начального терминального ребра, а также позволяет найти минимальный из критериев 3(г) в случае, если скелеты фигур похожи, но начальные терминальные вершины для обхода были выбраны разные. Например, можно сказать, что при сравнении фигур 10 и 12 в результате циклического сдвига будет найдена цепочка не для изначальной

фигуры 10, а для фигуры, повернутой на 90° (рис. 3).

* *

Рис. 3. Иллюстрация результата процедуры циклического сдвига

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

сификации был использован метод к-ближайших соседей (к = 3). В качестве обучающей выборки от каждого вида (3 вида по 23 изображения) было взято по 7 объектов; в качестве тестовой выборки - все 69 объектов, включая вошедшие в обучающую. Параметр штрафа с = 0,8.

В ходе эксперимента удалось получить следующие результаты:

1-й класс (четырехконечная звезда) - 100 % верно распознанных,

2-й класс (пятиконечная звезда) - 95,65 % верно распознанных,

3-й класс (шестиконечная звезда) - 95,65 % верно распознанных.

Если изменять параметр штрафа, например, взять с = 0,1, то результат распознавания для 3-го класса ухудшится: 91,3 % верно распознанных объектов. При увеличении параметра, например, до с = 5 результат классификации уже не улучшается. Следовательно, необходимо научиться подбирать оптимальный параметр штрафа, который, возможно, будет зависеть от конкретной прикладной задачи.

Выводы

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

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

Для дальнейшего исследования ставятся следующие задачи:

1) разработать эффективную в вычислительном смысле процедуру учета цикличности описаний цепочек примитивов;

2) предложить другой способ построения функции отношения между парой цепочек примитивов, опирающейся на вектор ссылок;

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

Работа выполнена при поддержке грантов РФФИ 10-07-00489-а, 12-07-92000-ННС а.

Список литературы

1. Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. СПб: Невский диалект; БХВ-Петербург, 2003. 654 с.

2. Макарова Е.Ю. Классификация лекарственных растений по форме листа на основе скелетного представления // Математические методы распознавания образов: 15-я Всероссийская конференция, г. Петрозаводск. Сборник докладов. М.: МАКС Пресс, 2011. С. 412 - 415.

3. Местецкий Л.М. Непрерывная морфология бинарных изображений: фигуры, скелеты, циркуляры. М.: ФИЗМАЛИТ, 2009. 288 с.

4. Рогов А.А., Быстров М.Ю. Структурное распознавание бинарных изображений с использованием скелетов // Математические методы распознавания образов: 15-я Всероссийская конференция, г. Петрозаводск. Сборник докладов. М.: МАКС Пресс, 2011. С. 420 - 423.

5. Середин О.С. Линейные методы распознавания образов на множествах объектов произвольной природы, представленных попарными сравнениями. Общий случай // Известия ТулГУ. Естественные науки. Вып. 1. Тула: Изд-во ТулГУ, 2012. С. 141-152.

6. Neuhaus M., Bunke H. Edit-distance based kernel for structural pattern classification // Pattern Recognition 39 (2006). P. 1852 - 1863.

7. Optimization techniques on pixel neighborhood graphs for image processing. Graph-Based Representations in Pattern Recognition (J.-M. Jolion and W.G. Kropatsch, ed.) / V.V. Mottl [et al.] // Computing, Supplement 12. Wien: Springer-Verlag, 1998. P. 135-145.

Кушнир Олеся Александровна, магистрант, kushnir-olesya@,rambler. ru, Россия, Тула, Тульский государственный университет,

Середин Олег Сергеевич, канд. физ.-мат. наук, доц., oseredin@yandex.ru, Россия, Тула, Тульский государственный университет

A PAIR-WISE COMPARISON FUNCTION FOR SKELETON MATCHING BASED ON PRIMITIVE SEQUENCES ALIGNMENT

O.A. Kushnir, O.S. Seredin

The article is devoted to the problem of searching a function for binary images skeletons matching. The method of pair-wise primitive sequences comparison based on procedure of optimal alignment is suggested. A target dissimilarity function is proposed according to found alignment.

Key words: binary image, skeleton, primitive sequence, pair -wise comparison function, pair-wise alignment, dynamic programming.

Kushnir Olesya Alexandrovna, master, kushnir-olesya@rambler.ru, Russia, Tula, Tula State University,

Seredin Oleg Sergeevich, candidate of physico-mathematical sciences, docent, oseredin@yandex. ru, Russia, Tula, Tula State University.

УДК 004.93

МОДЕЛИ ПРЕДСТАВЛЕНИЯ ОБЪЕКТОВ В ПРОСТРАНСТВЕ ЦВЕТОВЫХ КОМПОНЕНТ ПРИ АНАЛИЗЕ ИЗОБРАЖЕНИЙ

А.О. Ларин, О.С. Середин

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

Ключевые слова: одноклассовая классификация, пиксельные классификаторы, метод описания данных опорными векторами, детектирование огня, поиск пламени.

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