А.С. Мамедов
аспирант, ассистент кафедры «Информационный и электронный сервис», ФГБОУ ВПО «Поволжский государственный университет сервиса»
ПРИМЕНЕНИЕ НЕЧЕТКОЙ КЛАСТЕРИЗАЦИИ ДЛЯ ДЕТАЛЬНОГО АНАЛИЗА
ЦВЕТНЫХ ИЗОБРАЖЕНИЙ
Аннотация. Проанализированы теоретические и практические аспекты нечеткой кластеризации методом с-средних, в том числе приведен алгоритм сегментации цветных изображений. Рассмотрены подходящие для этого инструменты пакета Image Processing Toolbox. Показано, что представленные средства позволяют проводить детальный анализ изображений.
Ключевые слова: четкая кластеризация, нечеткая кластеризация, метод c-means, Image Processing Toolbox.
A.S. Mamedov, Volga Region State University of Service, Tolyatti
USE OF FUZZY CLUSTERIZATION FOR DETAILED ANALYSIS COLOR IMAGES
Abstract. Are analyzed theoretical and practical aspects of fuzzy clusterization by the method of c-means, including the algorithm for segmentation of color images. Tools of the package Image Processing Toolbox, approaching for this, are considered. Shown, that presented tools allow carry out detailed analysis color images.
Keywords: clear clustering, fuzzy clustering, method of c-means, Image Processing Toolbox.
Не секрет, что вопросы, связанные с безопасностью, в частности, с противоборством терроризму, наркотрафику в настоящее время особенно актуальны. В этом направлении происходит бурный рост научно-технических исследований. В рамках данной проблематики представляется возможным рассмотрение вопроса детального анализа изображений, получаемых, в частности, с камер видеонаблюдения аэро-, авто-, железнодорожных вокзалов, метро и других общественных мест для идентификации лиц. Для расширения возможностей анализа предлагается применение нечеткой кластеризации, позволяющей детализировать интересующие фрагменты изображения.
Эффективным инструментом для работы с изображениями является пакет Image Processing Toolbox. Данное приложение представляет собой расширение пакета прикладных программ Matlab. Image Processing Toolbox поддерживает широкий набор функций обработки изображений, среди которых пространственные преобразования изображений, морфологические операции, скользящая и блочная обработка, линейная фильтрация различными фильтрами, анализ и улучшение изображений, восстановление изображений, удаление «размытостей», обработка области интереса.
Так как любое изображение может быть представлено в виде матриц различной размерности, Matlab идеально подходит для выбранной задачи, поскольку данный пакет в первую очередь предназначен для работы с матрицами.
Image Processing Toolbox работает с четырьмя типами изображений: бинарными, полутоновыми, индексными и полноцветными. Одним из главных достоинств пакета Image Processing Toolbox является возможность анализа каждого пикселя изобра-
жения.
В процессе анализа изображений обязательно возникает необходимость его сегментации, т. е. разделения пикселей изображения по группам в соответствии с определенными признаками. Методы сегментации можно представить как формализацию понятия извлечения объекта из фона или понятий, связанных с градиентом яркости [1].
Развитие методов обработки изображений приводит к возникновению все новых подходов к решению задач сегментации. Например, по-прежнему актуальна проблема разделения соприкасающихся предметов на изображении. Среди задач интеллектуального анализа данных особое место занимают задачи кластеризации. Необходимо отметить, что при решении задач кластеризации наиболее популярны алгоритмы, которые основаны на оптимальном разбиении множества данных на кластеры. Подобные алгоритмы направлены на группировку данных в кластеры таким образом, чтобы целевая функция алгоритма разбиения достигала экстремума (минимума). В связи с этим можно выделить алгоритм с-средних.
При кластеризации алгоритмом с-средних множество X разбивается на подмножества А,, / = 1,с со следующими свойствами:
Ц А = X; (1)
/=1, с
А П А1 = 0, /, ] = 1с, / * У; (2)
0 с А, с X, / = 1с. (3)
В соответствии с условием (1) все объекты должны быть отнесены к определенным кластерам. Условие (2) характеризует тот факт, что каждый объект непременно должен быть соотнесен исключительно с одним кластером. В условии (3) содержится запрет на равенство каждого кластера пустому множеству или совокупности всех объектов. Количество кластеров с е {2,3,...,М -1} определяется до начала работы алгоритма, т. е. алгоритм с-средних можно отнести к типу кластеризации с заданным числом кластеров.
Сформулировать задачу кластеризации гораздо удобнее при наличии характеристической функции, принимающей значение 0 в случае, если данный элемент данных не принадлежит кластеру, и, соответственно, 1, в случае принадлежности элемента кластеру. Использование характеристической функции позволяет дать описание кластерам при помощи следующей матрицы разбиения:
и = [^ ], <рк/ е {0,1}, к = Ш / = 1с, (4)
где к-я строчка матрицы и определяет принадлежность объекта Хк = (хк1,хк,...,хк ) кластерам А1, А2,..., Ас.
Помимо этого, необходимо, чтобы матрица разбиения обладала следующими свойствами:
= 1, к = 1,М; (5)
I=1, С
о < I ^ <м, I = 1ТС. (6)
к=1, М
Чтобы определить качество разбиения применяют так называемый критерий разброса. Данный критерий показывает сумму расстояний от объектов до центра своего кластера. Для евклидова пространства формула для определения критерия разброса имеет следующий вид:
II V - *к|Г, (7)
I=1, С Хк еД
где Л, = {Хр: <рР/ = 1, р = 1, М} - 1-й кластер;
1
V =-.—г I Хк - центр 1-го кластера.
|А| Хк еЛ/
Таким образом, процедура поиска матрицы разбиения и, для которой критерий разброса (7) оказался минимален и представляет задачу кластеризации. Однако если в качестве типа кластеризации выбрано четкое разбиение, оптимальный результат получить существенно сложнее из-за дискретного характера данного подхода. Избежать этой проблемы может алгоритм нечетких с-средних.
Представим матрицу нечеткого разбиения:
Р = [^ ], ^ е [0,1], к = 1М, I = 1С. (8)
В матрице (8) к-я строчка представляет собой степени принадлежности объекта Хк = (х^, Хк2,..., хп) кластерам Д, А2,..., Ас .
Исходя из анализа выражений (4) и (8), можно сделать вывод о том, что матрицы и и Р отличаются лишь тем, что при четкой кластеризации значения степени принадлежности объекта кластеру принадлежат двухэлементному множеству {0,1}, а при нечеткой - интервалу [0,1]. Идентичные (5), (6) условия для матрицы нечеткого разбиения представляют собой следующие выражения:
= 1, к = ш (9)
I=1, С
о <!мк, < М, I = 1С. (10)
к=1, М
Отсутствие проблемы объектов, расположенных на границе кластеров, которым назначают равные степени принадлежности (например, 0,5), является главным преимуществом нечеткой кластеризации. Недостатком нечеткой кластеризации является компликативность работы с объектами, удаленными от центров всех кластеров, так как удаленные объекты мало ассоциируются с каждым из представленных кластеров. Однако нельзя забывать о том, что условие (9) определяет равенство суммы степеней принадлежности 1, независимо от того, удален объект от центра кластера или нет. Решение данной проблемы видится в возможностном разбиении. Данный тип класте-
ризации предполагает, что произвольный объект из заданного множества X непременно должен принадлежать как минимум одному кластеру. Реализовать возможностное разбиение позволяет смягчение условия (9):
3/: Ilk,,, Vk. (11)
Как и в случае с четким разбиением, существует мерило оценки качества нечеткого разбиения - критерий разброса:
ЕЕ (i )| - хк\ |2, (12)
i=1, c k=1, M
Е (i )mXk
где Vj = -m— центры нечетких кластеров;
E (|k, )
k=1, M
m - экспоненциальный вес.
Как уже было отмечено, задача кластеризации заключается в поиске минимального значения критерия разброса, для чего применяют алгоритм fuzzy c-means:
1. Задание параметров алгоритма: с - количество кластеров, е-параметр останова алгоритма и m - экспоненциальный вес.
2. Генерация случайным образом матрицы нечеткого разбиения F в соответствии с условиями (9), (10).
3. Определение центров кластеров в соответствии с формулой
Е I )mXk _
V = мм-,, = 1,
' ЕI )m , ,
k=1, M
4. Вычисление расстояния от объектов множества X до центров представленных кластеров:
йк1 =д/||Хк - V/ !|2, к = 1,М, / = 1, с.
5. Пересчет элементов матрицы нечеткого разбиения для всех к = 1, М, / = 1, с :
1
- если Ок > 0, то цк =-
1
i л \m-1
0.2 Е —
v j=1, cujk J
1, если j = i,
- если Ок = 0, то ик ={ / = 1, с.
[0, если / * /,
II 1|2
6. Проверка условия ||Р - Р *|| <в, где Р * - это матрица нечеткого разбиения
предыдущего этапа алгоритма. В случае выполнения условия - переход к итерации 7, в противном случае - возвращение к итерации 3.
7. Конец алгоритма.
Необходимо отметить, что грамотное определение количества кластеров является важной задачей в случае обращения к алгоритму нечетких с-средних, что весьма
сложно выполнить при отсутствии априорной информации о структуре данных. Для смягчения данного условия можно воспользоваться двумя походами.
1) Принцип максимально возможной отделимости и компактности полученных кластеров, для чего применяют индекс Хей-Бени:
IIК ПК - V I|2
х = -
i=1, c k=1, M
Mmin(||Xk - ЩI2)
i ф j 11 11
(13)
2) Процесс кластеризации должен начинаться при достаточно большом числе кластеров, после чего будет происходить последовательное объединение схожих смежных кластеров.
Рисунок 1 - Цветное изображение с камеры видеонаблюдения
Рисунок 2 - Отображение информации о размещении и значении пикселя изображения
Рисунок 3 - Отображение значений
Рисунок 4 - Детализация фрагмента
пикселей в приложении Pixel Region Tool изображения в приложении Pixel Region Tool
Что касается такого параметра, как экспоненциальный вес m, то он определяет степень нечеткости итоговых кластеров. Таким образом, чем выше значение m, тем
масштабнее размытость нечеткой кластеризации. Как правило, m = 2 [2].
Как уже было отмечено, пакет Image Processing Toolbox предоставляет пользователю достаточно широкие возможности для анализа изображений. Рассмотрим ряд манипуляций с изображением, которые проводятся в данном пакете.
Для анализа изображений используется приложение Image Tool. Проведем процедуру считывания изображения из файла и его визуализацию в данном приложении. В качестве примера было взято изображение с камеры видеонаблюдения (рис.1).
В процессе процедуры анализа может возникнуть необходимость получения информации о координатах определенных пикселей изображения. Рассмотрим следующие методы получения такой информации:
1. Pixel Information tool - визуализирует информацию о координатах и значении пикселей данного изображения, на котором находится курсор.
2. Pixel Region tool - показывает значения пикселей определенного региона, заданного пользователем.
Информация о размещении и значениях конкретных пикселей изображения демонстрируется в нижнем левом углу окна (рис. 2). Данные о пикселях изображения могут быть помещены в буфер для дальнейшего применения.
Рисунок 5 - Использование приложения Distance Tool для оценки расстояния между
пикселями изображения
Значения пикселей выбранного пользователем региона представляются в форме таблицы, которая помещается поверх данного изображения. Приложение Pixel Region tool демонстрирует пиксели с высоким коэффициентом увеличения. Информация о пикселях RGB-изображений представляется в виде комбинации трех чисел, что соответствует каждой цветовой составляющей (рис. 3, 4).
В рамках решения задачи обнаружения и выявления особенностей объекта может потребоваться определение расстояний между пикселями. Это возможно при помощи приложения Distance Tool. На изображении, представленном на рис. 5, виден отрезок с двумя точками и указанным расстоянием между ними.
Рисунок 7 - Исходное изображение в цветовом пространстве L*a*b
Рисунок 6 - Цветное изображение, взятое для процедуры кластеризации
Рассмотрим задачу сегментации цветного изображения при помощи кластеризации по методу с-средних:
1. Загрузка изображения.
2. Трансформирование изображения из цветовой схемы RGB в цветовую схему
L*a*b.
3. Сегментация цветов в пространстве «a*b*» при помощи кластеризации методом с-средних.
4. Соотнесение каждого пикселя изображения с определенной меткой, основываясь на результатах кластеризации.
5. Формирование итогового сегментированного изображения на основе цветного.
Рисунок 8 - Исходное изображение, отмеченное кластерными индексами
Н Figure 1
File Edit View Insert lools Desktop Window Help
ne a ^ ^ |ччо®^ ^- a| □ e| ■ a
объекты, относящиеся к кластеру 1
Рисунок 9 - Объекты изображения, относящиеся к 1-у кластеру
1) Считываем изображение, представленное на рис. 6.
2) Трансформируем данное изображение из цветовой схемы RGB в цветовую схему L*a*b. Для повышения эффективности процесса сегментации важным является возможность визуальной дифференциации цветов, для чего и необходим данный этап. В пространстве L*a*b содержатся сведения об интенсивности «L*», цветности «а*», которое демонстрирует, какой цвет выбран на красно-зеленой оси, цветности «b*», в соответствии с ней определяется цвет на голубо-желтой оси. Параметры «а*» и «b*» включают в себя сведения о цветах. Евклидово расстояние позволяет вычислить разницу между цветами. На рис. 7 представлено исходное изображение после преобразования в цветовое пространство L*a*b.
Рисунок 10 - Объекты изображения, относящиеся ко 2-у кластеру
Рисунок 11 - Объекты изображения, относящиеся к 3-у кластеру
^ Figure 1 1 = 14=) Ы&-1
File Edit View Insert lools Desktop Window Help 4
fe 1 ч ч © ® -m л -1 © | □ щ | ■ о
объекты, относящиеся к кластеру 4
В Figure 1
File Edit View Insert lools Desktop Window Help *
объекты, относящиеся к кластеру 5
и^иЯ 1,1
[jMcTC^HI
ИЙМ«'-^ - ■КШ1
Bpi Наг, НКЦСь'А в v.'
Рисунок 12 - Объекты изображения, Рисунок 13 - Объекты изображения,
относящиеся к 4-у кластеру относящиеся к 5-у кластеру
3) Сегментация цветов в пространстве «а*Ь*» при помощи кластеризации методом с-средних. Базируясь на данных о цветах в пространстве «а*Ь*» каждый пиксель изображения получает значение «а*» или «Ь*». Разделение объектов проводилось по пяти кластерам.
4) Соотнесение каждого пикселя с определенной меткой позволили получить изображение, представленное на рис. 8.
5) Формирование итогового сегментированного изображения на основе цветного. Сформированные метки позволили получить объекты, относящиеся соответственно к 1-у (рис. 9), 2-у (рис. 10), 3-у (рис. 11), 4-у (рис. 12), 5-у (рис. 13) кластерам.
Таким образом, процедура сегментации предоставляет возможность детального анализа изображений, необходимого для определения их атрибутов. Комплексная процедура исследования (с применением более широкого аппарата) позволит фиксировать небольшие смещения или изменения размеров запечатленных на изображении объектов.
Список литературы:
1. Журавель, И.М. Краткий курс теории обработки изображений [Электронный ресурс] / И.М. Журавель (http://matlab.exponenta.ru/ 1тадергосезз/Ьоок2/тЬех^р).
2. Штовба, С.Д. Проектирование нечетких систем средствами МаАаЬ [Текст] / С.Д. Штовба. - М.: Горячая линия - Телеком, 2007. - 288 с.
List of references:
1. Zhuravel, I.M. A short course of theory of image processing [Electronic resource] / I.M. Zhuravel (http://matlab.exponenta.ru/ imageprocess/ book2/index.php).
2. Shtovba, S.D. Design of fuzzy systems by means of Matlab [Text] / S.D. Shtovba. - M.: 2007. -
288.