Распознавание текстурных изображений на основе статистических и фрактальных признаков

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

Библиографические ссылки

1. Марпл-мл. С. Л. Цифровой спектральный анализ и его приложения. М. : Мир, 1990.

2. Никитин Д. А., Ханов В. Х. Синтез рекурсивных цифровых фильтров по импульсной характеристике, определяемой элементарной математической функцией // Цифровая обработка сигналов. 2008. № 3. С. 10-14.

3. Ханов В. Х., Никитин Д. А. Алгоритм анализа числовых последовательностей // Вестник СибГАУ 2006. Вып. 6(13). С. 11-15.

4. Никитин Д. А. Теоремы о существовании и порядках цифровых рекурсивных фильтров с импульсными характеристиками определенной формы // Ин-форм. технологии и мат. моделирование (ИТММ-2009) : материалы VIII Всерос. науч.-практ. конф. с междунар. участием (13-14 нояб. 2009 г.). Ч. 2. Томск, 2009. С. 144-146.

D. A. Nikitin, K. V. Safonov

AUTOMATIC DETECTION OF INTERPOLANT WITH THE FEWEST PARAMETERS

A method that allows, for the initial set of points on a uniform grid, to determine automatically an interpolant with the fewest parameters in the following set offunctions: polynomials, exponential functions, sine, any linear combination of the above functions.

Keywords: interpolation, identification, digital recursive filters.

© Никитин Д. А., Сафонов К. В., 2011

УДК 004.932.2

Н. Ю. Петухов

РАСПОЗНАВАНИЕ ТЕКСТУРНЫХ ИЗОБРАЖЕНИЙ НА ОСНОВЕ СТАТИСТИЧЕСКИХ И ФРАКТАЛЬНЫХ ПРИЗНАКОВ

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

Ключевые слова: текстура, фрактальная размерность, статистические характеристики, нейронная сеть.

В последнее время все большую актуальность приобретают междисциплинарные исследования,

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

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

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

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

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

Наибольшее распространение получил метод покрытий. Сущность его заключается в покрытии фрактального изображения квадратной сеткой размером е ^ 0, но при этом значение е не должно быть слишком малым [2]. Входным изображением является одиночное текстурное изображение, например, изображение дерева, листвы, воды, облаков и т. д. На этапе инициализации задается минимальное и максимальное значение е. Также устанавливается размер шага уменьшения значения е. На этапе обработки осуществляется вычисление фрактальной размерности и вывод результатов. Приведем описание алгоритма по шагам.

1. Начало алгоритма расчета фрактальной размерности методом покрытия эталонами.

2. Задаем максимальный (етах) и минимальный (етт) размеры клетки, по которой высчитывается размерность.

3. Подсчитываем количество клеток, в которые попадает фрактал.

4. Вычисляем значение Пт(^N (е)/^(е)).

5. Если размер клетки е > етт, то возвращаемся к шагу 2, иначе шаг 6.

6. Конец работы алгоритма.

Другой метод покрытия фрактального образования двумерной поверхностью состоит в том, что квантованные значения интенсивности двумерного сигнала должны располагаться между двумя функциями, называемыми верхней и нижней поверхностями [3]. Верхняя поверхность U(x, у, е) содержит множество точек, значения интенсивностей которых всегда по крайней мере на один квантованный уровень превышают интенсивность входного сигнала. Нижняя поверхность W(x, у, е) имеет значения точек, значения интенсивностей которых всегда по крайней мере на один квантованный уровень меньше интенсивности входного изображения А(х, у). В общем случае

U

k ,men

W (i, j, l + 1) =min I W (i, j, l) -1, min ГL (, m, є)!>

( k,men j

где п - локальная область сконструированной «поверхности» размерами к х т точек.

Две функции из выражения (1) формируют покрытие толщиной 2е. Для двумерного сигнала площадь «поверхности» есть объем, занятый покрытием и деленный на величину 2е. Площадь «поверхности» интенсивности А(е) в пределах скользящего окна Я рассчитывается вычитанием точки за точкой нижней «поверхности» из верхней «поверхности» с дальнейшим суммированием по всему окну Я:

А

г, jeЯ

Фрактальная размерность рассчитывается по наклону зависимости log A(l) как функция log є. Значение D, полученное из выражения (2), находится в ожидаемом диапазоне от 2 до 3, при котором D = 2 соответствует плоской поверхности. Приведем алгоритм расчета фрактальной размерности.

1. Начало алгоритма расчета фрактальной размерности методом покрытия двумерной поверхностью.

2. Задаем значение є - толщину покрытия.

3. Строим поверхность по формуле (1).

4. Вычисляем площадь поверхности A (є) по формуле (2).

5. Строим график log A (є).

6. Определяем фрактальную размерность по наклону log є.

7. Конец алгоритма.

Алгоритмическая реализация расчета статистических показателей текстуры. Так как различные фрактальные образования с одинаковой размерностью могут иметь резко различающуюся текстуру, вычисляются статистические характеристики и лакунарность. Статистические характеристики определяются по гистограмме яркости всего изображения или его локальной области. Вычисление статистических характеристик позволяет охарактеризовать текстуру области как гладкую, грубую, зернистую. Пусть z - случайная величина, соответствующая яркости элементов изображения, а p(zi), i = 0, 1, 2, ..., Q - 1 -ее гистограмма, где Q - число уровней яркости. Центральный момент порядка n случайной величины z определяется по формуле

Q-1 f Q-1 Y

н-n (z) = X zt -Xzip(zi) p(zi).

i=0 V i=0 у

Для описания текстуры особенно важен второй момент, т. е. дисперсия a2(z) = |a2(z). Она является мерой яркостного контраста и может быть использована для построения дескрипторов относительной гладко -сти. Так, величина

R = 1 -1,

1/

равна 0 для областей постоянной яркости и приближается к 1 для больших значений о2^). Поскольку для полутоновых изображений с уровнями яркости от 0 до 255 значения дисперсии оказываются большими, дисперсию целесообразно нормировать до интервала изменения [0, 1]. Для этого необходимо разделить дисперсию о2^) на величину -1)2. Эмпирическим путем выяснено, что статистики второго порядка и выше являются более важными показателями. Имеются дополнительные характеристики текстуры. Так, «однородность» текстуры находится по формуле й-1

5=Х р2 (^),

1=0

а средняя энтропия определяется как

в-1

Е = Х Р (21 )10§2р (2г ).

1=0

Поскольку все значения р^) находятся в интервале [0,1] и их сумма равна 1, то величина 5 достигает максимума для изображения, все элементы которого имеют одинаковую яркость (максимально однородное изображение), и уменьшается по мере роста яркост-ных различий. Энтропия характеризует изменчивость яркости изображения: она, наоборот, равна 0 для области постоянной яркости и максимальна в случае равновероятных значений.

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

Приведем алгоритм расчета статистических характеристик, считая входное изображение текстурой одного вида.

1. Начало алгоритма вычисления статистических показателей текстуры.

2. Строим гистограмму яркости изображения.

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

4. Выводим и сохраняем полученные статистические характеристики.

5. Строим матрицу смежности пикселей с равными или близкими значениями яркости. Выводим матрицу смежности.

6. Конец алгоритма.

Кроме статистических характеристик для отличия текстур Б. Мандельброт [4] ввел специальный термин «заполнение», или «лакунарность» (1асипаггу для описания характеристик фракталов, имеющих одинаковые фрактальные размерности, но различный внешний вид или текстурные показатели. Было предложено несколько альтернативных способов определения заполнения, самый известный из которых имеет вид

л = ((м/(м) -

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

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

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

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

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

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

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

значим выходной сигнал нейрона к как ук(п), примем, что этот сигнал является единственным выходом нейронной сети. Сравним полученный выходной сигнал ук(п) с эталонным сигналом й(п), в результате чего получим сигнал ошибки ек(п):

вк(п) = йк(п) - Ук(п).

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

Е(п) = ек2(п)/2,

где Е(п) - текущее значение энергии ошибки. Пошаговая корректировка синаптических весов нейрона к продолжается до тех пор, пока нейронная сеть не достигнет устойчивого состояния. Рассмотренный процесс является обучением, основанном на коррекции ошибок. Минимизация функции стоимости Е(п) выполняется по так называемому дельта-правилу, или правилу Видроу-Хоффа. Обозначим переменной ^фг) текущее значение синаптического веса нейрона к, соответствующего элементу х,(п) вектора х(п) на шаге приближения п. В соответствии с дельтаправилом изменение Дм>кз(п), применяемое к синаптическому весу 'Мщ, задается выражением

Дм^п) = цек(пЦ(п),

где п - параметр скорости обучения (некоторая положительная константа).

Вычислив величину изменения синаптического веса Дм>к(п), можно определить его значение для следующего шага приближения

Мк

Перепишем выражение (3) как

М,(п) = ^[м/п + 1)], где 2~х - оператор единичной задержки элемента памяти нейронной сети.

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

И* п10

чп! \СК>уп,1

“12

In 7 " ЛОЛ

Рис. 1. Нейронная сеть прямого распространения

Таблица 1

Входы и выходы нейронной сети

Входы/Выходы Название

Вход 1 Фрактальная размерность

Вход 2 Средняя яркость

Вход 3 Дисперсия

Вход 4 Гладкость

Вход 5 Третий момент

Вход 6 Однородность

Вход 7 Энтропия

Выход Тип текстуры, выход

Реализация алгоритмов и результаты экспериментальных исследований. Разработка программного комплекса TextureFeatures v.1.0 проводилась в среде программирования Code Gear C++ Builder 2007. Программный комплекс включает четыре модуля: главный модуль Main.cpp; модуль расчета статистических характеристик Stat.cpp; модуль расчета фрактальных показателей Fract.cpp; модуль вспомогательных функций ImageCol.hpp.

В главном модуле Main.cpp реализован графический интерфейс и структура меню программы. Модуль расчета статистических характеристик Stat.cpp содержит функцию расчета статистических показателей для описания изображения. Модуль Stat.cpp использует гистограмму яркости изображения, которая рассчитывается вспомогательным модулем и передается в функцию Get_Stat(int *gist). Функция возвращает шесть значений характеристик с плавающей запятой. Модуль расчета фрактальных показателей Fract.cpp выполняет четыре основных функции: покрытие изображения эталонами, покрытие изображения поверхностями, вычисление фрактальной размерности и вычисление показателя лакунарности. Модуль вспомогательных функций выполняет перевод изображения в бинарное и полутоновое, а также рассчитывает гистограммы изображения по яркости. Все модули непосредственно связаны с главным модулем и функционируют по командам из главного меню.

Тестирование проводилось на персональном компьютере, имеющем следующую конфигурацию: процессор Intel Corel 2 DUO 2.26 GHz; ОЗУ 2024 Mb; видеокарта Ati Radeon HD 3470 512 Mb. Для тестирования использовались две базы с естественными текстурами: Textures Library Forrest (400 изображений) и Brodatz (110 изображений). Также был реализован m-файл в программном обеспечении MatLab 2008b, вычисляющий фрактальную размерность методом покрытий квадратной сеткой и файл для расчета статистических характеристик. Данные по расчетам фрактальных показателей с помощью программного продукта TextureFeatures v. 1.0 и с использованием среды MatLab 2008b представлены в табл. 2.

По результатам тестирования видно, что текстуры с разными фрактальными образованиями имеют в основном разную фрактальную размерность. Фрак-

талы текстур «трава» имеют ФР, равную 2,6256, «облака» - 2,6421, «вода» - 2,6001, «кора дерева» -2,7198, «дерево» - 2,69584, «куст» - 2,65438. В ходе экспериментов было обнаружено, что некоторые фрактальные образования имеют почти одинаковую размерность, для чего рассчитывались показатели лакунарности (см. табл. 2) и статистические характеристики. Статистические характеристики позволяют определить характер текстуры (гладкая, грубая, периодическая). К грубой текстуре относятся изображения «дерево» и «куст», к периодической текстуре -изображения «кора дерева» и «трава», к гладкой текстуре - изображение «вода».

Экспериментальные исследования, проведенные с помощью разработанного программного комплекса TextureFeatures v. 1.0 и полученные с применением пакета MatLab 2008b, показали, что расхождения при расчете фрактальных показателей составляют около 2...4 %, что существенно не влияет на полученные результаты.

Нейронная сеть была построена и обучена с помощью программы Neural Network Wizard 1.7. В тестовой выборке было подано на входы нейронной сети по 50 эталонов каждого вида текстуры. Пример рассчитанных весовых коэффициентов синапсов на основе тестовой выборки представлен в табл. 3.

Таблица 2

Результаты расчета фрактальных показателей текстурных изображений с помощью программного продукта TextureFeatures v. 1.0 и среды MatLab 2008b

Текстура Фрактальная размерность TextureFeatures v.1.0 Фрактальная размерность MatLab 2008b Показатель лакунарности TextureFeatures v.1.0

«Трава» 2,627 1 2,625 6 0,910 34

«Облако» 2,643 9 2,642 1 0,756 73

«Вода» 2,603 681 2,600 1 0,934 82

«Кора дерева» 2,721 743 2,719 8 0,891 21

«Дерево» 2,697 814 2,695 84 0,873 49

«Куст» 2,658 424 2,654 38 0,859 32

Таблица З

Пример весовых коэффициентов синапсов

n00 no1 no2 no3 n04 no5 n06 n07 no8 n09

Int 1 0,774 5 -0,195 3 -1,300 0 -1,301 7 -0,262 7 2,606 1 -0,039 3 -0,134 3 2,871 4 -0,457 7

Int 2 0,352 1 0,558 4 1,132 6 0,688 8 -0,077 8 0,046 0 0,656 5 0,525 2 -0,261 3 0,662 8

Int 3 0,086 0 0,518 1 0,128 0 0,007 7 0,344 0 0,469 0 0,692 5 0,688 7 1,103 1 0,612 2

Int 4 0,926 2 0,549 8 1,332 3 1,974 9 1,468 7 -0,780 2 1,207 0 0,944 7 -1,291 3 1,034 8

Int 5 0,826 0 0,622 8 0,547 8 0,602 9 0,105 9 1,527 0 0,490 1 0,006 7 1,432 5 0,676 9

Int 6 0,193 5 0,442 5 0,239 8 1,100 0 0,062 0 0,362 7 0,090 9 0,689 1 0,620 1 0,956 2

Int 7 0,918 8 0,515 9 0,852 0 0,773 3 1,194 3 0,425 6 0,377 9 0,501 0 0,703 8 0,923 4

const 0,592 9 0,602 4 0,093 1 0,190 1 0,335 2 0,746 5 0,480 3 -0,072 9 0,469 5 0,377 0

n10 nn n12 n13 n14 n15 n16 n17 n18 n19

n00 0,733 2 0,588 3 0,109 4 0,520 9 0,510 9 0,902 0 0,917 1 -0,341 7 0,219 7 0,286 4

no1 0,040 2 1,005 3 0,976 2 0,156 6 0,504 5 0,668 1 0,317 1 0,334 7 -0,322 0 0,588 2

no2 -0,064 9 0,629 4 0,623 3 0,365 6 0,823 3 0,594 1 0,763 2 1,760 7 0,477 5 0,185 0

no3 -0,226 3 0,965 6 0,521 1 0,719 2 0,751 1 0,678 1 0,364 9 1,936 6 0,925 1 0,486 0

n04 0,091 4 0,062 1 0,340 9 0,577 7 0,621 8 0,457 8 0,626 6 0,874 2 0,793 5 0,730 7

no5 0,519 6 0,438 4 0,762 8 0,066 6 0,717 9 0,932 5 0,720 0 -3,119 1 -1,246 8 -0,294 8

n06 0,078 0 0,785 5 0,995 9 0,072 6 0,768 5 0,488 2 0,604 6 0,379 9 0,143 8 0,486 9

n07 0,041 4 0,893 1 0,197 1 0,050 6 0,921 0 0,361 0 1,005 1 0,432 4 0,218 4 0,014 7

no8 1,069 8 0,190 3 0,680 6 0,656 8 0,458 1 0,542 2 0,813 0 -3,655 4 -2,118 5 -0,089 4

n09 0,567 6 0,597 0 0,742 2 0,912 0 0,581 7 0,378 0 0,802 6 0,379 5 0,512 8 0,354 5

const 0,939 4 0,579 6 0,954 6 -0,011 4 0,407 4 0,881 5 0,800 4 -0,644 1 -0,223 0 0-3412

out 0,764 3 0,218 0 0,565 1 -0,538 0 -0,122 4 0,418 7 0,591 6 -8,333 8 -3,312 8 -0,839 9

out

const 0,315 9

Рис. 2. Диаграмма верного и ложного распознавания

По диаграмме точности распознавания различных классов текстур с помощью трехслойной нейронной сети прямого распространения на основе обучающей выборки видно, что процент верно распознанных текстур составил 79.. .93 %, а ложного - 7 и 21 % (рис. 2).

Таким образом, разработанный программный комплекс Texture Recognition v. 1.0 позволяет оценивать основные фрактальные и статистические показатели текстур ландшафтных изображений. Для повышения точности распознавания необходимо произвести обучение нейронной сети с большим количеством образцов.

Библиографические ссылки

1. Gonzalez R. C., Woods R. E. Digital image processing. New Jersey : Prentice-Hall, 2002.

4. Mandelbrot B. B. The Fractal Geometry of Nature. N. Y. : Freeman, 1982.

2. Петухов Н. Ю. Реализация метода покрытий для расчета фрактальной размерности ландшафтных изображений // Тез. докл. 11 междунар. конф. «Цифровая обработка сигналов и ее применение». Ч. 2. М., 2009. С. 393-396.

3. Потапов А. А. Фракталы в радиофизике и радиолокации: топология выборки. М. : Унив. кн., 2005.

N. Yu. Petukhov

ANALYSIS AND RECOGNITION OF TEXTURAL IMAGES ON THE BASIS OF STATISTICAL AND FRACTAL FEATURES

An algorithm of recognition of textural images by means of a neural network of direct distribution is considered. Fractal dimensions calculation methods, by the method of coating a surface with master plates and method of coating a fractal structure with two-dimensional surface, are considered. Algorithm of calculation of statistical descriptors is presented, along with the results of the experiments carried out.

Keywords: texture, fractal dimension, statistical characteristics, a neural network.

© Петухов Н. Ю., 2011