Алгоритм классификации монохромных изображений с использованием нейронных сетей

Вычислительные технологии Том 13, № 2, 2008

Алгоритм классификации монохромных изображений с использованием нейронных сетей

Е. А. ЧЕРНЕЦОВА Российский государственный гидрометеорологический университет

Санкт-Петербург, Россия e-mail: chernetsova@list.ru

A classification algorithm of images, presented as two-dimensional pixel intensity arrays, using neural networks (NN) is discussed. The NN input parameters are physical and geometrical object characteristics. The NN output parameter is probability of an object to belong to a certain image class.

Введение

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

Главной проблемой обработки изображений, представленных в виде массива величин интенсивности пикселей, является то, что пространственные черты изображенных объектов выражены неявно. Выявление пространственных черт объектов заключается в обработке массива пикселей методами, которые позволяют либо выявить контуры объектов, либо определить характеристики областей изображения с одинаковой интенсивностью пикселей. Методы выявления контуров объектов используются в задачах фильтрации, сжатия изображений и включают в себя описание изображения в терминах коэффициентов дискретного косинусоидального преобразования [1], преобразования Фурье [2], вейвлет-преобразования [3]. Если же решается задача классификации изображенных объектов, то необходимо разделение изображения на области, имеющие одинаковые характеристики. Сегментация изображения в этом случае основана на иерархической кластеризации пикселей, когда один пиксель сравнивается со своими пространственными "соседями" и приписывается к тому или иному сегменту по критерию однородности или на основе статистической метрики подобия [4, 5].

Сегментацию изображения, представляющего собой двумерный массив значений ин-тенсивностей пикселей в терминах "оттенки серого", предлагается проводить по критерию однородности пикселей, так как вероятностные распределения значений интенсивности пикселей неизвестны, а любой другой выбор статистической метрики (как это произведено, например, в [5]) исходит, опять же, из близости значений интенсивности. Для определения границ темных объектов выбираются самые темные пиксели в качестве точки старта и затем наращивается область вокруг них с определением границ

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.

пятна, пока соседние пиксели не будут иметь значения оттенка серого, больше некоторого порога [6].

1. Методика сегментации изображения

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

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

(А(Рх) - А(Р2))2 ф б й " "

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

а2

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

ф (А(Рх) - А(Р2))2

му можно несколько видоизменить функцию критерия: ехр-2-.

а2

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

ехр

1

(А(Р1У- А(Р2))2 '

1л

а2

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

Для определения критерия относительной нечеткой связности двух пикселей Р1(х1; у1) и Р2(х2; у2), заданных своими координатами на плоскости х и у, видоизменим критерий:

¡ху

ехр —

ас2р

где К = у (х2 — XI)2 + (у2 — у1)2 — расстояние между двумя пикселями, заданными

2

своими координатами; — среднее значение дисперсии, вычисленном для матрицы координат сравниваемых пикселей

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

МА, Р2) + ¡х,у(Р1, Р2) = 2. При отсутствии связности /¿(РьРг) + /ж,у(Р1, Р2) = 0.

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

2. Определение структуры нейронной сети

После завершения сегментации изображения должна быть произведена классификация изображенных объектов. Алгоритмы классификации базируются в основном на байесовских или статистических решениях. Недостатком этих методов является сложность выработки классификационных правил из-за вовлеченности в этот процесс многих нелинейных и плохо изученных факторов. Эти сложности можно преодолеть при использовании алгоритмов нейронных сетей (НС). Нейронные сети, в отличие от статистических классификаторов, не требуют точно определенного отношения между входным и выходным векторами, так как формируют свои собственные отношения вход-выход из набора данных, используя построение границ решений [7].

Основным элементом для построения НС служит искусственный нейрон [8]. Он традиционно представляется линейной суммой с N входами (каждому из входов ставится в соответствие некоторый весовой коэффициент ш^) и одним выходом, соединенным с нелинейным элементом, реализующим активационную функцию нейрона Р(ж).

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

1. Способность сети к обучению, т. е. возможность научить систему распознавать требуемое количество объектов. Чем больше в сети слоев и нейронов, тем выше ее способности и одновременно с этим потребности в аппаратных ресурсах.

2. Быстродействие, которое достигается уменьшением сложности сети, так как чем меньше нужно аппаратных ресурсов, тем быстрее осуществляется работа НС.

Удовлетворение этих взаимопротиворечивых условий требует решения задачи оптимизации структуры НС. Для решения этой проблемы можно воспользоваться теоремой Хегт-Нильсена [9], которая доказывает представимость функции многих переменных общего вида с помощью двухслойной НС прямого распространения с ограниченными функциями активации сигмоидного вида:

х1 х2 у1 у2

Р

1

1 + ехр

Сигмоидальные функции являются монотонно возрастающими и имеют отличные от нуля производные на всей области определения [0,1]. Эти характеристики обеспечивают правильное функционирование и обучение сети.

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

1. Размер области, на которой наблюдается объект (в квадратных километрах) А.

2. Периметр Р — длина (в километрах) границ объекта.

3. Сложность, определяемая как

Р

С =—=.

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

4. Протяженность 5. Этот параметр получен с помощью метода главных компонент [11] векторов, составляющими которых являются координаты пикселей, принадлежащих объекту. Если А1 и Л2 — два собственных числа, связанных с вычисляемой матрицей ковариации, и А1 > Л2, значение протяженности

5 = ГГГ

Л1 + Л2

5. Стандартное отклонение для объекта — стандартное отклонение (в децибелах) значений интенсивности пикселей, принадлежащих темному объекту.

6. Стандартное отклонение для фона — стандартное отклонение (в децибелах) значений интенсивности пикселей, принадлежащих району, окружающему темный объект.

7. Максимальная контрастность — отличие (в децибелах) между средним значением интенсивности пикселей фона и самым малым значением интенсивности пикселей вне темного объекта.

8. Средняя контрастность — отличие (в децибелах) между средним значением интенсивности пикселей фона и средним значением интенсивности пикселей темного объекта.

9. Максимальный градиент — максимальный граничный градиент (в децибелах) "фон—объект".

10. Средний градиент — средний граничный градиент (в децибелах) "фон-объект".

11. Стандартное отклонение градиента - стандартное отклонение (в децибелах) значений граничного градиента.

Таким образом, в создаваемой нейронной сети имеется 11 входных параметров и нужно определить количество нейронов в скрытом слое. Для задачи извлечения информации из входов с целью обобщения или снижения размерности массива данных необходимо использовать сужающуюся сеть [12]. Число тренировочных примеров должно быть приблизительно равным числу весов сети, умноженному на обратную величину ошибки. Например, для предельной ошибки е = 0.1 необходимо использовать обучающий набор данных в 10 раз больший, чем число весов. Эта зависимость описывается формулой

п >

е

где п — объем обучающего набора данных; — — число весов в сети.

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

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

Так как количество входных и выходных элементов в большинстве случаев определяется задачей, то можно найти выражение, описывающее число весов в терминах числа скрытых единиц в полносвязной однонаправленной сети с одним скрытым слоем:

Л =

го

где г — число входных переменных сети, о — число выходных переменных сети, Л — количество нейронов в скрытом слое.

Таким образом, получаем, что в нейронной сети с одним скрытым слоем, 11 входными переменными и одним выходом, при условии, что количество нейронов в скрытом слое Л < 10, число весов должно быть не менее 110.

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

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

У = Мх) + Ш,

где ^ — функция регрессии; Ш — случайная переменная с нулевым средним и конечной дисперсией.

Пусть имеется набор тренировочных данных, которые могут повторяться. Повторения обеспечат независимую от модели нейронной сети оценку дисперсии шума а2. Обозначим символом М количество различных наборов значений входных переменных нейронной сети, а N — количество повторений вектора входных значений нейронной

сети хк (к =1, М). Тогда ук" — это значение процесса на выходе для ]-го повторения к

входного вектора хк, а

_ 1 N

Ук = жЕ ур"

Ыг ¿=1

к

— среднее процесса на выходе при хк.

Общий размер набора данных для тренировки сети

м

N = £ Ык.

к=1

Рассмотрим ортогональные векторы |ег}г=^м в евклидовом пространстве такие, что:

— первые Ы1 первых компонентов вектора е1 равны единице, а остальные равны нулю;

— компоненты от Ы1 + 1 до Ы1 + Ы2 вектора е2 равны единице, а остальные равны нулю;

— последние Мм компонентов вектора {е^м равны единице, а остальные равны нулю.

Тогда значение на выходе нейронной сети для всех М наборов значений входных переменных

м_

Урм = £ Уре*-

i=l

Вектор разности между желаемым и действительным значениями на выходе нейронной сети

г = Ур - У,

где у — значение на выходе нейронной сети, прошедшей процедуру подбора весов (параметров), т.е. на выходе модели.

Вектор чистой ошибки на выходе сети

Р = УР - Урм.

Вектор ошибки модели является показателем ее смещения:

т = Урм - У-

Сумму квадратов разностей модели нейронной сети можно записать как

м N _ м _

т'Т = РТР + ттт = Е£ № - Ук )2 + £ М Ы - Ур )2-

ур ар/ / у'•к\ук ар)

к=1j=l к=1

тТт

Если значение ---, где д — число весов, достаточно велико по сравнению со

РТР

значением ---, то данная модель нейронной сети не подходит для решения задачи.

Пусть нулевая гипотеза Н0 состоит в том, что модель несмещенная, т. е. семейство функций, определяемое структурой нейронной сети, содержит регрессию. Если гипотеза Н0 истинна, то отношение

= тТт/

является значением случайной переменной, распределенной по закону Фишера, с М-д и N - М степенями свободы [13]. Решение отвергнуть гипотезу Н0 (модель не подходит) с риском а %, если гипотеза Н0 истинна (ошибка первого рода), принимается, если и > 1м~м(1 - а), где /Д—м — инверсия кумулятивного распределения Фишера.

Если и < /м~м(1 - а), то можно сказать, что выбранная модель является несмещенной, т. е. содержит регрессию.

4. Оценка весов в выбранной структуре нейронной сети

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

1

Р

2 к=1

Минимизация функции стоимости производится с помощью итеративных алгоритмов, например, с помощью алгоритма Левенберга—Маркварта. На i-й итерации известен вектор параметров сети на предыдущем шаге 0i_1, и вектор параметров на текущем шаге вычисляется с помощью формулы

0i = 0i_! +

где

_ df

Zi = d0T |0=6i_1' [Zi]fcj = -d0j-

— матрица-якобиан на i-й итерации; iq — единичная матрица.

Так как якобиан представляет собой матрицу размером M х q , то его вычисление — достаточно затратная процедура по времени и объемам компьютерной памяти, однако в [14] предложен более быстрый способ вычисления якобиана, не влияющий на непрерывность функции f (x,0), заключающийся в том, что производная рассчитывается сразу

k

по всему диапазону изменения входного значения xk.

Если скаляр A равен нулю, формула (7) вырождается в формулу приращения для метода Ньютона, использующего аппроксимированную матрицу Гессе. Если A отлична от нуля, градиент начинает снижаться с малым шагом. При очень больших значениях A получаем метод наискорейшего спуска. Метод Левенберга—Маркварта быстрее и точнее в районе минимума ошибки, он также стремится увеличить скорость обучения настолько, насколько это возможно. Таким образом, A уменьшается после каждого удовлетворительного шага (уменьшение в представленной функции) и увеличивается только тогда, когда на предварительном шаге увеличивается минимизируемая функция. Таким образом, минимизируемая функция всегда будет уменьшаться с каждым шагом алгоритма.

Для достижения минимума функции стоимости нужно проделать несколько процедур минимизации с различными начальными условиями.

Оценка (1 — а) % доверительного интервала для регрессии для любого желаемого значения на входе сети xa дается функцией [15]

f

где tN_q — функция, обратная распределению Стьюдента с (N — q) степенями свободы (если N велико, то распределение Стьюдента близко к гауссовскому); S\J(za)T(zTz)-1za — среднеквадратическое отклонение функции регрессии, оцененной по методу наименьших квадратов.

Не совсем подходящие для решения задачи модели нейронной сети можно исключить посредством оценивания матрицы якобиана z. Плохо обусловленная матрица z служит симптомом того, что некоторые из весов сети бесполезны, что модель нейронной сети слишком сложна или переопределена. Оценивать матрицу z предлагается посредством вычисления отношения k(z) ее самого большого и самого малого сингулярных чисел. Матрица z может считаться плохо определенной, если значение k(zTz) = (k(z))2 < 108. Причем значение k(z) возрастает с увеличением числа нейронов в скрытом слое.

Полезной аппроксимацией k-й отдельной ошибки является выражение

ek re 1 ; k = T,N,

1 — [Pz Jkk

Рис. 1. Алгоритм построения структуры нейронной сети

где рх = г(гтг)-1гт обозначает матрицу ортогональной проекции размером М х N на матрицу якобиан г размером N х д.

Аппроксимированное значение множества отдельных ошибок

N

Ар

— У (ек)2

N к=1

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

Можно сказать, что модель нейронной сети содержит хорошую оценку регрессии, если отношение Ар к ее среднеквадратической ошибке тренировки МБТЕ =

^(Ур - /(хк,вья))2 близко к единице.

Исходя из вышеизложенного, предлагается алгоритм построения нейронной сети, изображенный на рис. 1.

5. Процедура выбора сокращенной модели нейронной сети

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

быть слишком сложной, чтобы обеспечить хорошую оценку дисперсии шума а2 посред-

т

ством члена (N-), где тд обозначает разности модели с д параметрами.

После того, как среди всего множества моделей нейронной сети с помощью теста на пригодность выбрана полная модель, нужно убедиться, что для выполнения регрессии

важны все параметры модели (веса) и все входные переменные. Для определения этого рассмотрим два теста.

Тест № 1

Пусть есть две структуры нейронной сети — полная и сокращенная (отсутствует либо один скрытый нейрон, либо одна входная переменная), т. е. "подмодель" нейронной сети с количеством весов д' < д. Требуется установить, что сокращенная модель также содержит регрессию (гипотеза Н0). Если гипотеза Н0 истинна, то отношение

является значением случайной переменной, распределенной по закону Фишера, с д — д' и N — д степенями свободы, где тд и тд/ обозначают разности полной модели сети (с д весами) и сокращенной модели (с д' весами). Решение отвергнуть гипотезу Н0 с риском а % в то время, когда она верна (ошибка первого рода) принимается,

и

Выбор самой полной модели нейронной сети среди всех моделей-кандидатов, одобренных на первом этапе Тест на пригодность модели

Тест № 1 сокращенной модели

Удаление одного нейрона скрытого слоя

Нет

Да

Тест № 2 сокращенной модели

Удаление "не важной1 входной переменной

.11

Нет

Да

С

Конец

Рис. 2. Алгоритм определения "важных" и "не важных" входных переменных и нейронов скрытого слоя в структуре сети

если и(1) > /Д-^(1 - а), где /Д—Д — инверсия кумулятивного распределения Фишера. Если и(1) > /Д-Д (1-а), можно сказать, что сокращенная модель является несмещенной, т. е. содержит регрессию.

Фишеровский тест использует оценку параметров двух моделей: полной и сокращенной, он полезен для определения использования всех нейронов скрытого слоя, поскольку имеется информация о суммах квадратов разностей на выходах моделей. Однако для определения не важных входных переменных он менее пригоден, так как сокращенная модель еще не проходила процедуру тренировки по методу Левенберга—Маркварта.

Для определения "важных" и "не важных" входных переменных можно использовать тест № 2. Он работает только с полной моделью нейронной сети, определяя, являются ли некоторые из ее параметров нулями, или нет. Этот тест известен как тест Вальда [16].

Тест № 2

Предположим, что модель нейронной сети с д параметрами содержит регрессию, и нужно определить, является ли нулевым набор из р ее параметров, т. е. нужно проверить гипотезу Н0:

авр = 0,

где а(р, д) — сокращенная матрица, в которой выбраны эти р параметров. Например, если это первые р параметров, то матрица а = [гр; 0р,Д_р], где 0р,д_р — нулевая матрица размером (р, д - р) .

Если гипотеза Н0 верна, то

и(2) = (авья )т (а(гт г)-1ат )_1авьв /р = (ав^ )т (а(гт г)-1ат )_1авЬв /р _

гдтгД/ ^ - д) рв2

Тест № 2 удобно использовать для определения важных для структуры создаваемой нейронной сети входных переменных, так как он не требует тренировки всех подмоделей с меньшим числом входов. Тест № 2 неудобен для определения "важных" и "не важных" нейронов скрытого слоя в структуре нейронной сети, так как его пришлось бы проводить для каждого нейрона скрытого слоя.

Таким образом, после выбора самой большой модели нейронной сети предлагается провести тест на ее пригодность, а затем с использованием тестов № 1 и 2 определить "важные" и "не важные" входные переменные и нейроны скрытого слоя, как показано на рис. 2.

6. Результаты

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

Структура нейронной сети 11-8-1 показала лучшие характеристики как по точности классификации нефтяных пятен и ветровых сликов на радиолокационном изображении морской поверхности, так и по времени обучения (около 15000 обучающих циклов). Для обнаружения нефтяных пятен достаточно разрешение 100 х 100 м. Распределение входных переменных нейронной сети по степени важности для работы нейронной сети представлено в таблице.

Рис. 3. Схема проведения экперимента

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

загрязнений

Уровень значимости Наименование характеристики сегмента изображения

Стандартное отклонение градиента

1 Средняя контрастность

Максимальный градиент

Стандартное отклонение для фона

Сложность

2 Стандартное отклонение для объекта

Средняя контрастность

Протяженность

Размер области, на которой наблюдается объект

3 Периметр

Максимальная контрастность

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

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

[1] Chang H.S., Kang K. A compressed domain scheme for classifying block edge patterns // IEEE Trans. Image Process. 2005. Vol. 14, N 2. P. 145-151.

[2] Moody A., Johnson D.M. Johnson Land-surface phonologies from AVHRR using the discrete Fourier transform // Remote Sens. Environ. 2001. Vol. 75. P. 305-323.

[3] Xu Y., Weaver J.B., Healy D.M. Wavelet transform domain filters: A spatially selective noise filtration technique // IEEE Trans. Image Process. 1994. Vol. 3, N 6. P. 747-757.

[4] Chang Y.-L., Li X. Adaptive image region growing // IEEE Trans. Image Process. 1994. Vol. 3, N 6. P. 868-872.

[5] Lee S., Crawford M.M. Unsupervised multistage image classification using hierarchical clustering with a bayesian similarity measure // IEEE Trans. Image Process. 2005. Vol. 14, N 3. P. 313-321.

[6] Hu Q., Hou Z., Nowinski W.L. Supervised range-constrained thresholding // IEEE Trans. Image Process. 2006. Vol. 15, N 1. P. 228-240.

[7] Оссовский С. Нейронные сети для обработки информации: пер. с польск. М.: Финансы и статистика, 2004. 496 с.

[8] УОССЕРМАН Ф. Нейрокомпьютерная техника: теория и практика: пер.с англ. М.: Мир, 1992.

[9] Hecht-Nielsen R. Theory of the back propagation neural network // Int. Joint Conf. on Neural Networks, Sheraton Washington Hotel, Washington D.C. June 18-22, 1989. Vol. 1. P. 593-606.

[10] НЕЙРОКОМПЬЮТЕРЫ в системах обработки изображений / Под ред. А.И. Галушкина. М.: Радиотехника, 2003. 192 с.

[11] Глинский В.В., Ионин В.Г. Статистический анализ. М.: Инфра-М, 2002. 323 с.

[12] Swingler К. Applying neural networks: A practical guide. L.: Academic Press, 1996. 300 р.

[13] White H. Learning in artificial neural networks: A statistical perspective // Neural Comput. 1989. Vol. 1. P. 425-464.

[14] Wilanowski B.M., Iplikci S., Kaynak O., Efe M. An algorithm for fast convergence in training // Neural Networks. 2001. Vol. 1. P. 1778-1782.

[15] Rivals I., Personnaz L. Construction of confidence intervals for neural networks based on least scuares estimation // Neural Networks. 2000. Vol. 13. P. 80-90.

[16] Anders U., Korn O. Model selection in neural networks // Neural Networks. 1999. Vol. 12. P. 309-323.

Поступила в редакцию 5 июня 2007 г.