10. Саганенко Г.И., Каневский Е.А. Боярский К.К. Контексты эмпирического познания в социологии и возможности программы ВЕГА // Телескоп. - 2008. - № 6. - С. 43-55.
Боярский Кирилл Кириллович
Каневский Евгений Александрович
Санкт-Петербургский государственный университет информационных технологий, механики и оптики, кандидат физ.-мат. наук, доцент, boyarin9@yandex.ru Санкт-Петербургский экономико-математический институт РАН, кандидат технических наук, вед. научный сотрудник, kanev@emi.nw.ru
УДК 515.142.33
ГРАФОВАЯ МОДЕЛЬ КАК СРЕДСТВО ОПИСАНИЯ БИНАРНЫХ ШТРИХОВЫХ ИЗОБРАЖЕНИЙ
М.В. Стержанов
Описывается методика представления штриховых бинарных изображений в виде планарного нагруженного графа. Предлагается алгоритм построения графовой модели, основанный на кодировании изображения в виде концов серий. Результат работы может быть использован при векторизации растра, в системах классификации изображений и поиска шаблонов изображения. Ключевые слова: бинарный растр, КЬБ-кодирование, планарный псевдограф.
Введение
Растровое изображение представляет собой прямоугольную матрицу, значение элемента которой (пикселя) соответствует его яркости. В бинарном изображении каждый пиксель окрашен в белый (фон) либо в черный (изображение) цвет. Под штриховыми изображениями будем понимать бинарные изображения, каждый объект которых представлен совокупностью линий, имеющих относительно одинаковую толщину на всем протяжении [1]. Примерами штриховых изображений являются технические чертежи, планы зданий, электросхемы.
При сканировании широкоформатных чертежей получается растровое изображение большого размера, что накладывает определенные ограничения на применяемые алгоритмы обработки. В частности, необходима структура данных, которая будет обеспечивать компактное хранение изображения, сохраняя его топологию. Рассмотрим сильные и слабые стороны некоторых методов представления растровой информации. Операция утоньшения, впервые рассмотренная в [2], позволяет представить объекты на растре линиями единичной ширины. Скелетизированное изображение сохраняет топологию, однако оно чувствительно к шуму, места соединений обрабатываются не всегда корректно. Некоторые алгоритмы скелетизации не сохраняют связность. Алгоритмы выделения контуров можно условно разбить на две группы: отслеживающие и сканирующие. Недостатком контурного препарата является то, что по нему трудно построить топологию исходного изображения. Граф смежности линий является удобным способом представления изображения, состоящего из большого числа горизонтальных или вертикальных отрезков [3]. Однако такая структура не хранит информацию о местах соединения, что, безусловно, является серьезным недостатком.
В данной работе предлагается представление каждого объекта изображения в виде планарного нагруженного ориентированного псевдографа, в котором все ребра суть прямолинейные отрезки или дуги кривых, а вершины - точки на плоскости, являющиеся концами отрезков или точками сочленения нескольких отрезков.
Используемая терминология
Под серией будем понимать последовательность отсчетов, имеющих одинаковое значение [4]. В зависимости от ориентации серия может быть горизонтальной или вертикальной. Серия однозначно определяется с помощью четырех значений: d - направление (вертикальное или горизонтальное); pos - номер столбца (строки) матрицы изображения, которому принадлежит серия; beg - номер строки (столбца) матрицы изображения, которому принадлежит первый пиксель серии; end - номер строки (столбца) матрицы изображения, которому принадлежит последний пиксель серии.
Две серии A и B называются смежными, если выполняются условия(1)-(4):
A.d = B.d, (1)
IA.pos - B.pos = 1, (2)
A.beg < B.end +1, (3)
A.end > B.beg -1. (4)
Под путем из серии A к серии B будем понимать последовательность серий Л=Л\, A2,..., An=B, таких, что A¡ является смежной с Ai+1 для 1 < i < n -1.
Рассмотрим две смежные серии. Они находятся в отношении «родитель-потомок», причем серию с меньшим значением pos будем называть родительской, а серию с большим значением pos - дочерней. Серия будет называться нормальной, если она имеет ровно одного родителя и ровно одного потомка. В противном случае серия является особой. Под начальной будем понимать серию, не имеющую родителей, под конечной - не имеющую потомков. Под серией слияния будем понимать серию, имеющую более одного родителя, а под серией ветвления - серию, имеющую более одного потомка.
Под полосой будем понимать связное множество нормальных серий. Полной полосой будем называть полосу, которая не является подмножеством другой полосы. Полоса представляет отдельную «ветвь» изображения. Полоса может содержать строго одну серию из столбца изображения, т.е. в полосе отсутствуют случаи ветвления и слияния серий. Под длиной полосы будем понимать количество серий, которые образуют полосу. Под весом полосы будем понимать суммарное число отсчетов ее серий. Если квадрат длины полосы больше ее веса, то полоса закрывается.
Скелетной кривой (СКР) в непрерывном пространстве является либо линейный скелет, либо средняя ось, сохраняющие топологические или геометрические признаки [5]. СКР задается множеством из N целочисленных точек pnt0,pnt1,...,pntN-1 и имеет
характеристику ширины. На атрибуты СКР задаются следующие ограничения:
N > 3; (5)
|pnt.x¿+1 - pnt.x] < 1, i = (0,1,...,N - 2); (6)
\pnt.yi+2 - pnt.y\ < 4, i = (0,1,..., N - 3). (7)
Закрытием полосы является формирование СКР по центральным точкам серий полосы (рис. 1). Серии, образовавшие СКР, удаляются из полосы. Посредством СКР представляются только те серии полосы, чьи центральные точки соответствуют условиям (5)-(7).
Рассмотрим полную полосу S. Серии, являющиеся родительской и дочерней по отношению к первой и последней сериям S соответственно, назовем краевыми. Обозначим краевые серии через E1 и E2. Узловыми будем называть серии, к которым прикрепляются СКР при закрытии полосы. Если краевая серия является начальной или конечной, то она является узловой. В этом случае узловая серия «сужается» до центральной точки. Пусть краевая серия E1 будет серией слияния или ветвления. Рассмотрим путь
Е1Е2. Тогда узловой будет серия Е1+„. В данном случае размеры серии не изменяются. Такой выбор узловых серий сохраняет топологию соединения.
а) б) в)
Рис. 1. Пример закрытия полос: а) узловые серии являются краевыми; б) узловые серии слева отличаются от краевых; в) полная полоса не может быть представлена
одной СКР из-за нарушения условия 7
Пусть имеется полная полоса 5, состоящая из п серий Я. Общее число отсчетов серий полосы 5 равняется т. После закрытия она представляется кривой С Вычисляются следующие морфологические свойства: площадь как количество пикселей, соответствующих полосе, длина как евклидово расстояние между центрами узловых серий, ширина Ж - по формуле
т
W = ■
Z
Л
1+
R .beg + R .end - (R-1 .beg + R-1 .end)
2
Вычисление характеристик объектов
Каждый столбец матрицы изображения представляется упорядоченным по возрастанию координат списком серий. Изображение хранится в виде массива списков серий (МСС). Первый элемент МСС соответствует самому левому столбцу изображения, содержащему черный пиксель, а последний элемент МСС - самому правому столбцу изображения, содержащему черный пиксель. Если столбец матрицы изображений не содержит черных пикселей, то соответствующее значение элемента МСС равно нулю.
Выделим связные компоненты (СК) изображения. Благодаря RLE-кодированию возможно использование эффективного алгоритма [6]. Его основная идея заключается в том, что метка СК ассоциируется не с отдельным пикселем, а с серией. Однако для больших изображений размер таблицы эквивалентности является фактором, снижающим производительность. Для нахождения СК изображений большого размера применяем методику «разделяй и властвуй». Основываясь на работе [7], разделим изображение на NxN частей, для каждой части применим алгоритм [6], затем выполним процедуру слияния. Каждая СК соответствует объекту на изображении и будет представлена псевдографом. Некоторые характеристики объектов могут быть легко вычислены на основе представления в виде МСС.
Площадь характеризует общие размеры объекта и вычисляется как сумма всех пикселей СК, умноженная на горизонтальный и вертикальный масштабные коэффициенты. В соответствии с формами представления объектов различают несколько способов вычисления площади. Простую площадь иногда называют сетевой (net area). Выпуклая площадь (convex area) - это площадь многоугольника, вершины которого соответствуют выступам объекта. Под полной площадью (filled area) понимают площадь заполненного объекта.
Основная ось (major axis) соответствует максимальной линии, которую можно провести через объект. В работе [8] доказывается эффективность нахождения основной оси в кодированном концами серий изображении. Производной характеристикой от основной оси является ортогональная ось, которая определяется как максимальная линия внутри объекта, проходящая перпендикулярно основной оси.
Из топологических характеристик, описывающих форму объекта, вычисляются число Эйлера, характеризующее вложенность объектов внутри измеряемого, и количество дыр (holes), или отверстий, внутри объекта.
С помощью RLE-кодирования могут быть легко вычислены текстурные характеристики. Несмотря на широкое применение термина «текстура», для него нет точного определения [9]. Часто под текстурой понимают повторяемость фрагментов изображения. Следовательно, наличие какой-либо периодичности является текстурной характеристикой объекта. Мы вычисляем горизонтальный и вертикальный интерцепты [10].
Полученные характеристики описывают объект в целом. В процессе построения графовой модели будут вычислены характеристики, относящиеся к элементам СК.
Построение графовой модели бинарного растра
Выполним частичную скелетизацию СК, скан-проход которой заключается в следующем. Изображение сканируется по вертикали, анализируется связность смежных серий и выделяются полосы. Найденные полосы закрываются. После вертикального сканирования изображение поворачивается на 90°, снова выполняется скан-проход, затем изображение поворачивается в исходное положение (рис. 2). Очевидно, что алгоритм частичной скелетизации инвариантен по отношению к поворотам объектов изображения на угол, кратный 90°.
Kill...... \jf ¡у
К К К
Рис. 2. Пример работы алгоритма частичной скелетизации
В результате двух скан-проходов прямолинейные отрезки СК заменяются скелетными кривыми (СКР). Группы серий, которые не были заменены СКР на процедуре частичной скелетизации, представляют собой области соединений (например, X, T, Y -типа). Из области соединения (ОС) исходят СКР, аппроксимирующие относительно прямолинейные участки. Для каждой СКР, исходящей из ОС, получим вектор направления, построенный по ее начальным точкам. Найдем точку пересечения векторов направлений ОС и соединим ее отрезками с начальными точками СКР. Пометим точки растра, через которые проходят эти отрезки, флагом, затем применим параллельный алгоритм утоньшения для ОС, который не будет удалять помеченные флагом пиксели. Таким способом обеспечивается корректная обработка соединений.
На следующем шаге анализом последовательности серий единичной ширины выделим группы серий, удовлетворяющие условиям (5)-(7). Заменим эти серии с помощью СКР. В данном случае СКР будет являться альтернативным способом представления последовательности пикселей единичной толщины. Перейдем к построению графо-
вой модели. По координатам узловых серий (т.е. серий, которые указывают на СКР) сформируем множество вершин V. По точкам СКР построим ребра. Каждая СКР была прикреплена к двум сериям, которые преобразовались в вершины, следовательно, можно найти вершины, из которых исходят ребра.
Вектора направлений
Пиксели,
помеченные флагом
б
Рис. 3. Обработка соединений: а - исходное изображение; б - результат частичной скелетизации; в - ОС, белым показаны точки соединения; г - результат скелетизации
В результате вышеописанных действий каждая СК изображения представляется нагруженным ориентированным планарным псевдографом [11], вершинам которого соответствуют концевые и узловые точки отрезков СК, а ребрам - сами отрезки СК, представленные в форме СКР. Независимые подходы к описанию и построению графовых моделей были предложены в [8, 12-14].
Псевдограф G задается парой G=(V, Е), где V - множество вершин; Е - мультимножество ребер, каждое из которых соединяет две вершины из V, причем изображения ребер из Е на плоскости не пересекаются, поэтому (V, Е) представляет собой пла-нарный граф. Каждое ребро имеет важные характеристики (длина, ширина, элонгация), которые могут быть использованы при последующем создании векторной модели. Графовая модель является компактной формой представления СК изображения. Она описывает топологию СК, связи между отрезками СК (ОСК) и позволяет осуществлять эффективное нахождение графических примитивов.
Под мультиточкой будем понимать точку пересечения как минимум трех отрезков [8]. Нахождение мультиточек является важной задачей при распознавании образов. Вершины графа, из которых исходит более трех ребер, являются мультиточками.
По графовой модели могут быть получены следующие характеристики:
а) для отдельной СК - выделение петли на изображении СК; количество ОСК; длина каждого ОСК; общая длина всех ОСК; средняя длина всех ОСК; максимальная и минимальная длина ОСК; средняя элонгация всех ОСК; максимальная и минимальная элонгация ОСК; средняя ширина всех ОСК; максимальная и минимальная ширина ОСК.
б) для изображения - количество объектов; количество ОСК всех объектов; суммарное, среднее, максимальное и минимальное значение параметров СК.
Граф может быть преобразован в более компактную форму гиперграфа [15], гиперребра которого состоят из ребер, соединяющих вершины степени 1 и 2 исходного графа (см. рис. 4).
.. /
Рис. 4. Исходное изображение и вершины гиперграфа
а
в
г
Заключение
Эффективный метод представления растрового изображения должен обеспечивать достаточную степень сжатия информации и в то же время позволять обрабатывать изображение напрямую в кодированной форме. Например, векторизация часто осуществляется для изображений большого размера, и разбиение изображения на фрагменты с последующей «сшивкой» является источником ошибок.
В статье предложено использование графовой модели как средства хранения и описания структуры растра. Достоинством подхода является простота реализации и достаточно высокое быстродействие. Разработана модификация алгоритма нахождения СК, созданная специально для обработки изображений большого размера. Благодаря кодированию концов серий построение скелета осуществляется быстрее, чем при использовании классических методов попиксельного анализа. Также решается проблема обработки соединений. Кроме того, в процессе построения графовой модели вычисляются важные геометрические, топологические и текстурные характеристики объектов. Исходная СК может быть реконструирована анализом графа. Недостатком подхода является неполное описание площадных объектов. Полученная графовая модель может быть успешно применена при векторизации планов зданий, технических чертежей [16].
Литература
1. Семенков О.И., Абламейко С.В., Берейшик В.И., Старовойтов В.В. Обработка и отображение информации в растровых графических системах. - Минск: Наука и техника, 1989. - 183 с.
2. Blum H. A transformation for extracting new descriptors of shape // Models for the Perception of Speech and Visual Form (W.Wathen-Dunn, ed.). - Cambridge MA: MIT Press, 1967. - Р. 362-380.
3. Pavlidis T. A minimum storage boundary tracing and its application to automatic inspection // IEEE Trans. Systems, Man, and Cybernetics. - January 1978. - № 8(1). - Р. 66-69.
4. Абламейко С.В., Лагуновский Д.М. Обработка изображений: технология, методы, применения. Учебное пособие. - Мн.: Амалфея, 2000. - 304 с.
5. Klette G. Topologic, Geometric, or Graph-Theoretic Properties of. Skeletal Curves. PhD dissertation, Groningen Univ., 2007.
6. Linda G. Shapiro Connected Component Labeling and Adjacency Graph Construction. -1996. - V. 1. - № 31. - Р. 293.
7. Jung-Me P., Carl G. Looney, Hui-Chuan C. Fast Connected Component Labeling Algorithm Using a Divide and Conquer Technique // CATA 2000 Conference on Computers and Their Applications, Dec. 2000. - Р. 373-376.
8. Zenzo S. Di, Cinque L., Levialdi S. Run-based algorithms for binary image analysis and processing // IEEE Transactions on Pattern Analysis and Machine Intelligence. - January 1996. - V. 18. - № 1. - Р. 83-89.
9. Старовойтов В.В. Локальные геометрические методы цифровой обработки и анализа изображений. - Мн: ИТК НАН Беларуси, 1997. - 282 с.
10. Абламейко С.В., Недзьведь А.М. Обработка оптических изображений клеточных структур в медицине. - Мн: ОИПИ НАН Беларуси, 2005. - 155 с.
11. Харари Ф. Теория графов. - М.: Мир, 1973.
12. Садыков С.С., Кан В.Н., Самандаров И.Р. Методы выделения структурных признаков изображений. - Фан: Ташкент, 1990.
13. Костюк Ю.Л., Новиков Ю.Л. Графовые модели цветных растровых изображений высокого разрешения // Вестник ТГУ. - 2002. - № 275. - С. 153-160.
14. Burge M., Kropatsch W.G. A minimal line property preserving representation of line images // Computing. - 1999. - Volume 62. - Issue 4. - Р. 355-368.
15. Berge C., Ed. Graphs and Hypergraphs. - American Elsevier, New York, 1973.
16. Стержанов М.В. Векторизация бинарного растра, кодированного длинами серий // Тезисы докладов МНТК, посв. 45-летию МРТИ-БГУИР. - С. 145-146.
Стержанов Максим Валерьевич - Белорусский государственный университет информатики и
радиоэлектроники, аспирант, accept@bk.ru
УДК 004.021, 004.32.2
РАНДОМИЗИРОВАННЫЙ МЕТОД ОПРЕДЕЛЕНИЯ КОЛИЧЕСТВА КЛАСТЕРОВ НА МНОЖЕСТВЕ ДАННЫХ
Д.С. Шалымов
Рассмотрен новый непараметрический метод устойчивой кластеризации на основе рандомизированного алгоритма стохастической аппроксимации с искусственными возмущениями на входе. Описаны особенности, которые обеспечивают сходимость при почти произвольных (не обязательно гауссовых, но ограниченных по абсолютному значению) помехах. Предлагаемый метод может быть использован в задаче on-line кластеризации для динамически изменяющихся данных. Эффективность демонстрируется примерами. Ключевые слова: кластеризация, устойчивость кластеризации, рандомизированные алгоритмы, стохастическая аппроксимация, пробное возмущение, on-line алгоритмы.
Введение
Кластеризацией является объединение данных в группы по схожим признакам. Она используется при решении многочисленных задач интеллектуальной обработки данных, в том числе при распознавании образов, машинном обучении, выработке стратегий управления и т.д.
Одной из наиболее сложных задач кластерного анализа является определение количества кластеров, которое получают за счет применения алгоритмов устойчивой кластеризации [1]. Несмотря на кажущееся многообразие, до сих пор не было найдено универсального алгоритма, который был бы эффективным для данных различной природы. Большинство существующих методов основано на индексах, сравнивающих степени «разброса» данных внутри кластеров и между кластерами [2], на расчете значений эвристических характеристик (функций устойчивости), показывающих соответствие назначенных кластеров для выборочных элементов множества [3], на статистиках, определяющих наиболее вероятное решение [4], либо на оценивании плотностей распределений [5]. Чаще всего эти методы либо настроены для конкретных специфических данных, либо требуют определенных предположений о своих параметрах. Кроме того, вычислительная сложность известных алгоритмов кластеризации существенно растет при увеличении мощности исследуемого множества. Также большинство таких алгоритмов недостаточно математически обосновано. Снять эти трудности позволяет использование рандомизированных алгоритмов [6].
В статье предлагается новый непараметрический индексный метод устойчивой кластеризации, основанный на использовании рандомизированного алгоритма типа стохастической аппроксимации (РАСА). Существенная особенность данного алгоритма заключается в том, что при небольших вычислительных затратах на каждой итерации обеспечивается сходимость при почти произвольных помехах. Предлагаемый метод прост в реализации, оказывается эффективным как для искусственно сгенерированных данных с заранее известными свойствами, так и для данных, взятых из реальных практических задач.