УДК 004.932
СЕГМЕНТАЦИЯ ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ РЕКУРРЕНТНОЙ НЕЙРОННОЙ СЕТИ
В.Б. Немировский, А.К. Стоянов
Томский политехнический университет E-mail: [email protected]; [email protected]
Рассматривается возможность применения одномерного точечного отображения для сегментации изображений. В связи с сегментацией обсуждаются вопросы расчёта параметров нейронов рекуррентной сети, реализующей такое отображения. Приводятся результаты экспериментов по многошаговой сегментации.
Ключевые слова:
Изображение, пиксель, точечные отображения, неподвижные точки, сегментация.
Key words:
Image, pixel, point map, critical point, segmentation.
Введение
Для решения различных задач обработки изображений широко используется их сегментация. Под сегментацией понимается разбиение изображения на ряд областей со схожими характеристиками пикселей. Результатом является множество сегментов (областей), полностью покрывающих исходное изображение. Предполагается, что области соответствуют реальным объектам (или их частям).
Методы сегментации можно разделить на два класса: автоматические - не требующие взаимодействия с пользователем и интерактивные - применяющие пользовательский ввод непосредственно в процессе работы [1, 2]. В статье рассматривается разработка метода сегментации, относящегося к первому классу. Методы этого класса делятся на две категории [1-3]: методы, базирующиеся на информации либо о контурах, либо об областях.
Методы первой категории используют для сегментации априорную информацию о контурах объектов [2], которая всегда есть в задачах анализа сцен, поиска объектов на изображении и некоторых других задачах. Методы этой группы узко специализированы для каждой конкретной задачи и не являются объектом нашего интереса.
Методы второй категории делят изображение на области в соответствии с совпадением некоторых характеристик пикселей изображения (интенсивности, цветовых каналов, текстуры и т. д.) [3, 4]. При этом априорная информация о свойствах областей отсутствует, но на само разбиение изображения накладываются некоторые условия (например, однородность областей по яркости или цвету). Методы сегментации, относящиеся к этой категории, универсальны и применимы к любым изображениям. Существует большое количество методов сегментации, использующих разные подходы к формированию однородных областей [1]. Одним из распространенных подходов является применение для этих целей кластеризации (различные модификации метода к-средних [2, 5]). Отметим, что основной проблемой применения метода к-сред-них является необходимость наличия априорной
информации для выбора числа кластеров [2, 4, 5], что ограничивает широкое использование кластеризации для сегментации изображений.
Таким образом, существует потребность в разработке методов сегментации изображений, основанных на кластеризации, и свободных от указанного выше недостатка. Таким решением этой задачи может быть использование кластеризации, осуществляемой нейронной сетью. Использование для кластеризации рекуррентной нейронной сети [6] не требует (в отличие от к-средних) никакой предварительной информации о числе кластеров. Кроме того, достоинствами любой искусственной нейронной сети является распределенная параллельная обработка информации, способность к самонастройке и подавлению шумов.
Целью данной работы является исследование возможности применения кластеризации, выполняемой рекуррентной нейронной сетью, и разработка на основе этого исследования метода сегментации полутоновых изображений.
Кластеризация значений на одном нейроне
Для кластеризации множества М-мерных данных рекуррентной нейронной сетью в состав входного слоя сети включают М нейронов. Каждый нейрон обрабатывает все значения какого-то одного из М признаков, характеризующих вектор данных из исходного множества [6]. Отдельное значение одного такого признака является входным сигналом для нейрона. В рассматриваемой нами рекуррентной сети для каждого входного нейрона вводится локальная обратная связь, соединяющая выход нейрона с его входом. Эта обратная связь реализует процесс одномерного отображения величины х входного сигнала на активационной функции нейрона, которая описывается выражением
/(х) =:------т~-----в ’ (1)
1 + ехр(-ах + в) '
где а - коэффициент наклона; а>0, в - величина смещения; л - коэффициент увеличения, л>0. Одномерное отображение величины х входного сигнала на активационной функции описывается ите-
рационным соотношением х„+1=Дх„), где «=1,2,3...
- номер итерации. После нескольких итераций отображаемая величина сигнала достигает устойчивой неподвижной точки, значение которой х* определяется из нелинейного уравнения Дх*)=х*. В численных расчётах значение х* определяется с некоторой заданной точностью е.
Динамика работы такого нейрона проанализирована в [6], и мы не будем касаться подробностей. Отметим лишь те из деталей анализа, которые проясняют механизм кластеризации для некоторого множества М-мерных данных.
Для кластеризации параметры а и в выбирают так, чтобы диапазон величин всех входных сигналов [хт|п,хтах], отображаемых на одном нейроне, располагался между значениями неустойчивой точки отображения х1* и одной из двух устойчивых точек х2*. Процесс отображения разбивает диапазон величин входных сигналов на ряд интервалов. Интервалы обладают следующими свойствами: величины, принадлежащие одному интервалу, в результате отображения сходятся к устойчивой точке х2* за одно и то же число итераций. Таким образом, величины входных сигналов группируются по степени их близости. Мерой близости является количество итераций, нужное для достижения устойчивой точки с заданной степенью точности е. Точки, попавшие в один интервал, относятся, согласно выбранной мере, к одному кластеру. Таким образом, каждый из входных нейронов кластеризует множество значений одного из Мпризнаков исходных данных. Вся же сеть в целом выделяет кластеры во всех признаках, что и даёт возможность кластеризации элементов множества М-мерных данных.
В рассматриваемой сети возможен расчёт параметров активационной функции отдельного нейрона. Он основан на том, что при отображении любого значения на некоторой функции неподвижные (устойчивые и неустойчивые) точки лежат на пересечении графика функции и биссектрисы прямого угла [7]. В нашем случае такой функцией является сигмоида, которая описывается ур. (1), и её параметры а и в можно получить, решая систему уравнений
х* = /(х*,а,в,л), I = 1,2. (2)
Значения х{ связаны со значениями границ диапазона [хт|П,хт„! соотношениями х1*=хтк-51 и х2*=хгаах+52, где |51|<<1 и |52|<<1. Система уравнений (2) решается относительно а и в лишь в случае, если коэффициент увеличения л задан заранее. В предположении известности л решение системы
(2) имеет вид:
а =-
1
- 1п
(л- х* ) х2 (л- х2 ) х*
в = ах* + 1п
(3)
Очевидно, что любое изменение л управляет значениями а и в, и, следовательно, меняет форму
активационной функции, оставляя неизменными положения неустойчивой и устойчивой точек отображения. В свою очередь, параметры а и в определяют условия сходимости отображения входных значений, что, в конечном счете, и создаёт возможность управления процессом кластеризации данных.
Экспериментально было установлено [6], что наилучшая кластеризация входных значений одного нейрона наступает при значении л, которое находится в окрестности тах|ЛН|, где АН - изменение энтропии, соответствующее изменению Л. Энтропия отображения Н подсчитывается для данного л по формуле Шеннона
н = -^Р -1 °ё2Й.
I
Здесь ргЫ/Ы; N1 - количество значений входного сигнала, входящих в г-й кластер (т. е. множество значений соответствующего признака, сходящихся к устойчивой точке за одно и то же число итераций); N - общее количество всех значений сигнала. Суммирование ведётся по количеству кластеров, образовавшихся при отображении на активационной функции с параметрами а и в, соответствующими текущему значению л. Смысл критерия выбора л становится понятным, если вспомнить, что энтропия даёт нам среднее значение информации, приходящееся на один элемент изучаемой системы (в нашем случае таким элементом является любой заполненный из образовавшихся кластеров). Следовательно, тах|ЛН| показывает наибольший прирост средней информации на один кластер, получаемый за счёт изменения значения л. Поскольку энтропия Нсвязана со степенью хаотичности системы, то этот прирост обусловлен переходом системы из менее упорядоченного состояния в более упорядоченное. Зная значения л, соответствующие такому переходу, можно выбрать то из них, которое приводит к большей упорядоченности отображения, то есть лучшему (при данном выборе параметров а и в) набору кластеров.
Многошаговая сегментация
Будем считать, что исходное изображение представлено в полутоновой серой шкале. Выделение однородных по яркости областей (сегментация) в этом случае фактически сводится к кластеризации значений всего одной характеристики (признака) - яркости. Это означает, что обработка всего изображения может осуществляться в рекуррентной сети с одним входным нейроном (М=1). В то же время обычное представление изображения - двумерная матрица. Такое представление естественным образом предполагает использование сети со многими входами (М>1) для распараллеливания процесса обработки. Применение такой рекуррентной сети для кластеризации в нашем случае возможно, если модифицировать сеть, рассмотренную в [6], таким образом, чтобы у всех нейронов входного слоя была бы одна и та же ак-
тивационная функция с одинаковыми значениями параметров. Тогда обработка всех яркостей изображения входным слоем сети математически будет эквивалентна их обработке на одном нейроне, что можно использовать при программном моделировании сети. Параметры а и р активационной функции этого нейрона определяются по методике, описанной в предыдущем разделе. Границам диапазона значений входных сигналов нейрона [■Хип, хшш] соответствует минимальная и максимальная яркости пикселей изображения. На основе этих граничных значений по формулам (3) вычисляются а и р.
Сам процесс сегментации, рассматриваемый в этой статье, требует некоторых дополнительных пояснений, приведённых ниже.
Пусть Л меняется дискретно от Л до некоторого ЛкоНеч. Из ур. (3) ясно, что лв>х2*>х1*. Каждому значению лб[лв,Лконеч], /'=1,2,... при отображении соответствует своя последовательность итераций, разбивающая диапазон яркостей изображения на ряд интервалов с одинаковыми свойствами (т. е. кластеров). В зависимости от распределения значений яркостей, часть этих интервалов заполнится, а часть останется пустыми. В целом, всей совокупности значений л соответствует некоторое конечное множество разбиений диапазона.
Процесс кластеризации предполагает нахождение оптимального по некоторому критерию значения Лош, которое обеспечивает наилучшее выделение кластеров. Пусть таким критерием является шах|А#| энтропии распределения, получаемого в результате отображения, разбивающего диапазон яркостей на ряд кластеров. Тогда полученное разбиение обеспечивает максимальную упорядоченность распределения яркостей изображения для данного Лот по всем выделенным кластерам. Выполним теперь для каждого заполненного кластера следующую процедуру - усредним его яркости и полученным средним заменим все значения, входящие в кластер. Энтропия распределения не изменится, а результатом будет сегментированное изображение, поскольку в нём множество разных исходных яркостей пикселей разделено на несколько подмножеств, объединяющих в себе близкие яркости пикселей.
Повторим описанный выше процесс кластеризации для нового распределения яркостей после усреднения. Для этого распределения нужно искать новое Лопг Действительно, для некоторого Л в повторном процессе разбиения может быть кластер, включающий в себя, по крайней мере, два или более значения яркости нового распределения. Это означает, что возможно объединение яркостей для этого кластера, т. е. дальнейшее упорядочивание распределения яркостей.
На рис. 1, а, схематично представлено распределение значений яркости изображения для лош до их усреднения в пределах кластера (верхняя часть рис. 1, а) и после усреднения с последующей заменой всех текущих значений кластера (нижняя часть рис. 1, а). Энтропия в обоих случаях неизменна и равна 1,89 бита. На рис. 1, б, представлено распределение для некоторого значения лЛош при повторном процессе. Энтропия, соответственно, равна 1,24 бита. Иными словами, новое распределение более упорядочено.
Таким образом, используя последовательно в роли исходного изображения результат предыдущей его сегментации, можно получить ряд сегментированных изображений с последовательно снижающейся энтропией. Назовём такой процесс многошаговой сегментацией изображения. При этом энтропия изображения может служить критерием качества сегментации.
При реализации многошагового процесса возникает вопрос о его сходимости к устойчивому сегментированному изображению (энтропия которого не меняется). Ответ на этот вопрос дали экспериментальные исследования.
Экспериментальные результаты
Для проверки возможности получения сегментации в многошаговом процессе были проведены экспериментальные исследования на основе созданной программы, реализующей описанный выше алгоритм. Исследования проводились на полутоновых изображениях (серая шкала).
Яркости X /-го пикселя изображения приводились к диапазону [у1, я+й] использованием линейной нормировки (числа у1 и /2 лежат в единичном интервале; яркости изображения Хшпи Хшх1 не равны):
•-І XI 2 о * 1 1 • 1 Xз !-• X4 X5
4 1 . 6 1 . 21 31
XI X2 Xз а X4 X5
4 I * • , ' 1 6І. .2 1 •— 3| •,
X 1 X 2
X 3
X 4
б
X 5
X 6
Мі
Рис. 1. Распределение значений яркостей по кластерам для разных гпр. Цифрами указано количество значений, попавших в интервал [х, хк+], к=1,2,..,5
2
4
6
3
X _ X
X = у? —------+ у,.
- ' 2 х ___х
тах тт
Здесь х! - приведённое значение яркости пикселя. В эксперименте для нормировки использовались значения 71=0,025; 72=0,20 в одном варианте и 71=0,01; 72=0,20 - в другом. Затем в изображении отыскивались минимальное и максимальное значения нормированных яркостей пикселей, которые использовались для определения параметров а и р. Значения а и в определялись для заданного л в соответствии с (3). Значение ш,и последовательно задавалось в диапазоне хшш+Н<л<1 с постоянным шагом к. Для каждого л подсчитывалась энтропия Н распределения яркостей изображения. Таким образом, получалась последовательность значений энтропии, зависящая от величины л, в которой затем определялся шах|АН|. Величина л0, соответствующая найденному максимуму, использовалась в дальнейшем для определения границ кластеров в яркостях пикселей изображения.
В соответствии с описанными выше особенностями процесса сегментации далее яркости пикселей изображения группировались по выделенным
кластерам, после чего близкие яркости, попавшие в один кластер, заменялись средним значением всех яркостей по этому кластеру. Таким образом, уменьшалось количество градаций яркости по сравнению с их числом в исходном изображении. Преобразованная шкала градаций использовалась для формирования матрицы пикселей нового изображения. Описанная последовательность действий выполнялась до тех пор, пока энтропия для нового изображения, полученного на очередном текущем шаге процесса, не становилась равной энтропии изображения, исходного для этого шага.
На рис. 2 и 3 приведены результаты, иллюстрирующие процесс многошаговой сегментации для разных изображений и условий нормировки яркостей пикселей.
Хорошо видно, что результаты отдельных шагов сегментации дают дополнительную информацию об объектах обрабатываемого изображения, позволяя, в зависимости от задачи, изучить структуру этих объектов с различной степенью детализации. Вид сегментированного изображения определяется тем шагом процесса, на котором оно было получено, и слабо зависит от условий нормировки ярко-
а
РЯНЩ 1
1 Л " 1
1 *.... I. * . ,,.
Рис. 2. Многошаговая сегментация рентгенограммы сварного шва: а) исходное изображение, взятое из [1]; б) шаг 1, Н=4,31 бита; в) шаг 4, Н=2,92 бита; г) шаг 6, Н=2,41 бита; (у=0,200, у2=0,025) д) шаг 1, Н=3,76 бита; е) шаг 3, Н=2,92 бита; ж) шаг7, Н=1,86 бита (у=0,20, у2=0,01)
д е ж
Рис. 3. Многошаговая сегментация аэрофотоснимка лесного пожара: а) исходное изображение; б) шаг 1, И=3,05 бита; в) шаг 2, И=2,10 бита; г) шаг 3, И=1,87бита; (у=0,200, у2=0,025) д) шаг 1, И=2,53бита; е) шаг 2, И=1,87бита; ж) шаг 3, И=1,20 бита (у =0,20, 72=0,01)
стей исходного изображения. В этом легко убедиться, сравнивая изображения с одинаковой энтропией (рис. 2, в и е).
Многошаговая сегментация завершается при условии равенства энтропий изображений предыдущего и текущего шагов процесса. Шаг завершения сегментации в эксперименте был равен 8 для рентгенограммы и 6 для аэрофотоснимка. Причём на последних шагах сегментированные изображения в каждом из рассмотренных случаев визуально почти не различались, несмотря на разные значения их энтропии.
Таким образом, многошаговая сегментация может быть использована для изучения с различной степенью детализации структуры объекта, представленного на исходном изображении.
Выводы
1. Рекуррентная нейронная сеть, основанная на одномерных отображениях, позволяет выделить в изображении кластеры близких значений яркости, что даёт возможность сегментировать изображение. Используя многошаговый
процесс сегментации, можно получить сегментированное изображение с энтропией, минимально возможной для данного распределения исходных яркостей.
2. Экспериментально показано уменьшение энтропии распределения яркостей на каждом шаге сегментации и сходимость многошаговой сегментации за конечное число шагов при четко выраженном выделении сегментов изображения. Результат сегментации зависит только от параметров линейной нормировки диапазона яркостей изображения на единичный диапазон.
3. Обработанные изображения одного и того же объекта, обладающие равной энтропией при разных параметрах одномерного отображения, визуально слабо различаются.
4. Установлено, что параметры нейрона входного слоя, обеспечивающие отображение входных значений яркости и успешную их сегментацию, можно рассчитать.
Работа выполнена в рамках государственного задания
«Наука».
СПИСОК ЛИТЕРАТУРЫ
1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2005. - 1072 с.
2. Skarbek W., Koschan A. Colour image segmentation - a survey // Techn. Rep. 94-32. - Technical University Berlin. 1994. URL: http://iristown.engr.utk.edu/~koschan/paper/coseg.pdf (дата обращения: 09.04.2012).
3. Malik J., Belongie S., Leung Т., Shi J. Contour and texture analysis for image segmentation // International Journal of Computer Vision. - 2001. - V. 43. - № 1. - P. 7-27.
4. Форсайт Д., Попе Д. Компьютерное зрение. Современный подход. - М.: Вильямс, 2004. - 928 с.
5. Lucchese L., Mitra S. Color image segmentation: A state-of-the-art survey // Proc. of the Indian National Science Academy (INSA-A). - 2001. - V. 67. - №2. - P. 207-221.
6. Стоянов А.К. Применение рекуррентной нейронной сети для решения задачи кластеризации // Известия Томского политехнического университета. - 2009. - Т 315. - № 5. - С. 144-149.
7. Малинецкий ГГ. Математические основы синергетики. - М.: Изд-во ЛКИ, 2007. - 312 с.
Поступила 11.04.2012 г.
УДК 004.652.8:004.825
ДИАГНОСТИКА МОДЕЛЕЙ БАЗ ДАННЫХ НА ОСНОВЕ ПРОДУКЦИОННОЙ СИСТЕМЫ
А.А. Мицель, В.Д. Сибилев, И.А. Красиков
Томский государственный университет систем управления и радиоэлектроники E-mail: [email protected]
Представлена логическая структура и механизм работы проектируемой автоматизированной системы проверки моделей баз данных. Приведена формализация базы знаний продукционной системы искусственного интеллекта, используемая в синтаксическом анализе моделей баз данных. Рассмотрены примеры логического вывода на основе знаний, представленных в формализованной базе знаний продукционной системы искусственного интеллекта.
Ключевые слова:
База данных, синтаксические ошибки, семантические ошибки, логическая модель, метаданные, модель «сущность-связь», продукционная система, база знаний, правило-продукция.
Key words:
Database, syntax errors, semantic errors, loglc model, metadata, model «entity-relationship», production system, knowledge base, ru-le-production.
Введение
Диагностика моделей баз данных на сегодняшний день является одной из важнейших задач, стоящих перед проектировщиком баз данных (БД), от выполнения которой зависит будущее всей разрабатываемой информационной системы. Процесс проектирования модели БД представляет собой логически сложную, трудоемкую задачу, требующую от проектировщика знания семантического моделирования БД и навыков в работе с инструментальными средствами построения моделей БД, называемых CASE-системами (Computer Aided Software/System Ingineering).
В настоящее время специалистов в области проектирования БД готовят практически во всех вузах и иных учебных заведениях нашей страны, однако уровень знаний выпускаемых специалистов в данной области зачастую оставляет желать лучшего. Низкий уровень знаний проектировщиков БД проявляется в отсутствии навыка выделять объекты описываемой предметной области (ПО), формулировать законы взаимодействия объектов ПО друг с другом, строить на их основе модели БД, которые в конечном итоге сводятся к физическим БД. В таких моделях БД зачастую наблюдаются
различного рода аномалии обновления данных, их избыточность, утеря данных, либо в БД могут иметь место данные, не несущие никакой смысловой нагрузки. Перечисленные ошибки относятся к так называемым ошибкам нормализации БД, которые можно не допускать на этапе построения модели БД, владея методологией построения моделей БД и соблюдая применяемые к ним правила нормализации. В проектировании БД принят стандарт IDEF1X, который широко используется, начиная с 1993 г и по сегодняшний день [1]. В стандарте IDEF1X четко и однозначно описаны все синтаксические правила построения моделей БД, на которых базируется большинство СА8Е-систем, однако знания методологии IDEF1X для успешного построения схем БД недостаточно, проектировщику необходимо также выявлять все функциональные зависимости (ФЗ) сущностей, вытекающие из делового регламента описываемой ПО. Правила нормализации БД, подробно описанные в книге [2], могли бы помочь студентам избежать большинства ошибок еще на этапе проектирования модели БД.
Данная статья является продолжением работ [3, 4], в которых: