КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
Ш
ip
УДК 004.932
ПРИМЕНЕНИЕ МЕТОДА ЭКСТРЕМАЛЬНОГО ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ ДЛЯ КЛАССИФИКАЦИИ ОБЛАСТЕЙ ИЗОБРАЖЕНИЯ
Д.Д. ЮДИН В.З. МДГЕРГУТ
Белгородский государственный технологический университет им. В.Г. Шухова
e-mail:
yuddim@yandex.ru valerymag @ пт. ги
При создании систем технического зрения для промышленных приложений, работающих в режиме реального времени, важно применение эффективных методов распознавания изображений. В статье рассмотрен способ классификации областей изображения, основанный на обучении нейронной сети прямого распространения с помощью метода экстремального обучения (ELM, Extreme Learning Machine). Определено количество нейронов скрытого слоя нейронной сети, обеспечивающее максимальную точность классификации на тестовой выборке и приемлемую точность на обучающей выборке. Произведено сравнение с методом опорных векторов (SVM), вероятностной нейронной сетью (PNN), методом обратного распространения ошибки для двухслойной нейронной сети и радиальнобазисной сетью, которое показало преимущество классификации с применением метода экстремального обучения как по быстродействию, так и по точности.
Ключевые слова: метод экстремального обучения, нейронные сети, классификация, области изображения, распознавание.
При создании систем технического зрения для промышленных приложений, работающих в режиме реального времени, важно применение эффективных методов распознавания изображений. Задача распознавания изображений может, в частности, заключаться в их классификации изображений на основе определенных требований, причем изображения, относящиеся к одному классу образов, должны обладать относительно высокой степенью близости [1]. При классификации изображение или область изображения может рассматриваться как совокупность вычисляемых признаков, которые требуется отобразить на множество классов (образов). Существует ряд задач распознавания, где изображение описывается как структурная модель, на элементы которой накладываются определенные связи [2].
Задача классификации эффективно решается с применением аппарата искусственных нейронных сетей [3], при этом важен выбор наиболее подходящей архитектуры сети и метода обучения.
В настоящей статье рассматривается вопрос классификации малых областей изображения для обеспечения корректной сегментации изображения, выполняемой в реальном масштабе времени.
Изображение размером С/х V разбивается на малые области размером МхМ, каждой из которых необходимо сопоставить один из нескольких классов, присутствующих на изображении. В частном случае, на рис. 1 представлена фотография процесса обжига во вращающейся цементной печи, на которой необходимо выделять четыре типа (класса) областей: «факел», «материал», «футеровка», «корпус и горелка печи» [4]. В данной задаче будут рассматриваться именно изображения процесса обжига в печах, характеризующихся отсутствием четко выраженных контуров и высокой зашумленностью.
В общем виде постановка задачи выглядит как/: Р —> Т- требуется решить задачу классификации, то есть поставить в соответствие вектору признаков Р номер класса Т области изображения.
Вектор признаков Р, по которому требуется осуществить классификацию, для данной задачи имеет четыре составляющие Р = [Р1, Р-, Р'л, Р4], которые представляют собой текстурные характеристики областей изображения [4]:
К-1 К-1
1) Автокорреляция — Р1 = ЕЕ ('Ж/ ■
;=0 ]=0
где К - количество градаций яркости изображения, Р^ — матрица смежности, с1 - расстояние между точками при подсчете матрицы смежности.
К-1 К-1
2) тень - р2 = ,
;=0 О
где /л - математическое ожидание элементов матрицы .
М-1М-1
3) Интенсивность - Р 3 =777 ЕЕ /('»»>
м /=0 у=о
гдеД1,_/) - яркость пикселя в точке Ц,]) области изображения размером МхМ.
К-1( 1 М-1М-1 ^
4) Вариация -Р4 = ^
g=0
м
,=о ]=0
где С(д) - количество пикселей с яркостью д.
V
Рис. 1. Пример исходного изображения, требующего классификации областей
Ш
ІцІ
В рассматриваемой задаче номер класса Т области изображения может принимать значения от 1 до 4-х: номеру 1 соответствует область изображения типа «факел», номеру 2 - область «материал», номеру з - область «футеровка», номеру 4 - область «корпус и горелка печи». В данном случае удобно номер класса Т представить в виде вектора Y, имеющего четыре составляющих, каждая из которых соответствует одному из классов и представляют собой вещественное число из диапазона [о, 1]. При этом номер класса Т вычисляется как номер составляющей вектора Y, имеющей максимальное значение
r = argmax(7'). (l)
i
В качестве классификатора в данной работе применяется трехслойная нейронная сеть с одним скрытым слоем (SLFN), обучаемая с помощью современного метода экстремального обучения [5] (ELM, Extreme Learning Machine).
Метод экстремального обучения (ELM) позволяет без итерационной процедуры обучить трехслойную нейронную сеть с одним скрытым слоем, в данном случае, имеющим сигмоидальную функцию активации G и выходным слоем, выдающим взвешенную сумму своих входов [5].
Структура классификатора для общего случая представлена на рис. 2.
L скрытых нейронов к выходных
тп входных нейронов
[0,1|
Yji [0, 1|
Yj2
сз
g
L-
оЗ
[0.1|
Yjt
Ъ
Рис. 2. Структура нейронной сети, обучаемой методом экстремального обучения
Обучение классификатора происходит за счет подачи N заранее подготовленных примеров, для каждого из которых задана пара векторов (Р/, У/),_/ = 1,..., где Р, -j-й входной вектор признаков, содержащий тп = 4 составляющих, описанных выше, а У/ -j-и выходной вектор классов с к = 4 составляющими.
Входные векторы признаков образуют матрицу входных значений Р классификатора, имеющую размерность Ыхтп, тп - количество водных нейронов:
Р =
Выходные векторы классов образуют матрицу выходных значений У классификатора, имеющую размерность Л/хк, к — количество выходных нейронов:
Л • Р •• 1 \т
л_ Рт ■ Р • 1 Nm_
N хт
Ш
|р
7 =
1 1 ~Уц ■ 1 •4* X,
л. /дп • V ■■ 1 м- _
N к
Матрица входных весов нейронов скрытого слоя ги представлена следующим об-
разом:
Чі •
_и'і_ _и’и • І § *
м> =
где - вектор входных весов 1-го нейрона скрытого СЛОЯ, І = 1, ..., Ь, Ь — количество нейронов скрытого слоя.
В случае применения метода экстремального обучения входные веса и>у и порог Ь; для каждого 1-го нейрона скрытого слоя задаются с помощью генератора случайных величин:
= гапёот(-1...1),
= гапёот(0...1).
Матрица выходных весов нейронов скрытого слоя ¡3, имеющая размерность Ьхк:
А1 ••• А*
Р =
А
Рь
А
ы
А
Ьк
Ьхк
(2)
где [Зі - вектор выходных весов 1-ГО нейрона скрытого СЛОЯ, І = 1, ..., Ь.
Выходной вектор У/ вычисляется как
ь
У) = +*,),; = !, 2, ...,ЛГ,
1=1
или в матричном виде
Г=нр, (3)
где Н - матрица выходных значений нейронов скрытого слоя, имеющая размерность ЫхЬ, Ы— количество примеров, Ь - количество нейронов скрытого слоя:
'О^^+Ъ^ ... (Х^'Р'+Ь,)
н =
•V I
1РМ+Ь1) ... 0(м?ьРм+Ьь)_ где функция С является сигмоидальной функцией:
СО ,.Р. + Ъ,) =------ -------.
1 + ехр(у\)/^ + /г)
Обучение сети заключается в вычислении матрицы выходных весов нейронов скрытого слоя ¡3 по формуле:
/3=Н+¥, (4)
где Н+ =(НТН) 1 //7 — псевдообратная матрица (матрица Мура-Пенроуза) для случая невырожденной матрицы Н.
Из теории матриц [6] известно, что выражение (4) является наилучшим приближенным решением уравнения (3) по методу наименьших квадратов, что позволяет избежать локальных минимумов при обучении сети.
Когда нейронная сеть обучена, т.е. по формуле (4) найдена матрица выходных весов нейронов скрытого слоя ¡3, при подаче на вход сети вектора признаков Р, не содержавшегося в обучающей выборке, выходной вектор вычисляется на основе (2). Затем по формуле (1) вычисляется номер класса Т, к которому относится входной вектор.
ЬУ-ГП
гдта
При появлении новых обучающих примеров и при возникновении необходимости переобучить сеть снова формируется входная матрица Р, выходная матрица У и по формуле (4) пересчитывается матрица выходных весов нейронов скрытого слоя ¡3. Необходимо отметить, что при большом количестве обучающих примеров, требуется вычисление псевдообратной матрицы большого размера, однако эту операцию позволяют эффективно производить существующие библиотеки алгоритмов линейной алгебры, например ЬАРАСК [7]. В зависимости от задачи можно также ограничивать количество обучающих примеров.
Точность классификации находится как процент правильно классифицированных примеров:
•100%, 5)
где Л”' - количество неправильно классифицированных примеров (для которых неверно вычислен номер класса Т), N — общее число примеров.
За оценку точности вычисления выходной матрицы можно также принять среднеквадратическое отклонение полученной выходной матрицы У* от эталонной выходной матрицы У, задаваемой обучающей выборкой из N примеров:
а^±-(Г-ГУ. 6)
Рассмотрим для примера работу классификатора основанного на методе экстремального обучения на обучающей выборке, входные векторы признаков Р, которой имеют две составляющие {Р1, Р2}. Данные векторы признаков необходимо отнести к одному из двух классов Т = {1, 2}. При этом рассматривалась нейронная сеть с двумя входными нейронами, 30-ю нейронами скрытого слоя с сигмоидальной функцией активации и 2-мя выходными нейронами с линейной функцией активации.
На рис. з - рис. 5 представлены результаты работы классификатора на разных обучающих выборках. Примеры отмеченные «крестом» относятся к классу 1, отмеченные «кружком» - к классу 2.
Для линейно разделимой обучающей выборки, представленной на рис. за, точность работы классификатора, вычисленная по формуле (5) составила 100%, величина среднеквадратического отклонения, найденная в соответствии с (6), равна 0,0322.
Для обучающей выборки, представленной на рис. 4а, требующей нелинейного разделения на классы, точность работы классификатора составила 98,41% , среднеквадратическое отклонение -0,3518.
а) ^ ^ б) ^
Рис. 3. Результат работы классификатора на линейно разделимой обучающей выборке: а - обучающая выборка, б - результат классификации с применением метода
экстремального обучения
Сі) и б)
Рис. 4. Результат работы классификатор на линейно неразделимой обучающей выборке: а - обучающая выборка, б - результат классификации с применением метода
экстремального обучения
Для случая повышенной зашумленности обучающей выборки (рис. 5) точность классификации снижается и составляет 91,43%, среднеквадратическое отклонение -0,5731-
+ + V +
О
о о °
о
О <ь
Z+ - °
о
°° +° 8° ° О о
О О '
+ -н-■ + ° о о о О о
+# О + 6 ь
++ + + О
+ ++++ О +
° + + + + + %
+ + ■Н-
о <Р
о
Ло о
<9 °° о О о
+о <в
о о ,
о
+ о о
+ + + +
о о°
о
О Со
2,0 о °
о О
<р
о
+ -И-
+ + -н-
+
++ +
+\ ++
+ #
о
+
о °о 0 °С °<9 о О О
о О о о о +
<9 о о о Q О
о Оо
+++ + + + о °о о о
++++ + + + о о
+ + + + -Ц- * + о f г»1
О 0 1 0 2 0.3 0 4 0 5 0.6 0 7 0 8 0.9
0 2 0 3 0 4 0 5 0 6 0 7 0 8
О 9
Р
О
О 7
+
О
О
+
+
О 6
о
о
о
о
о
о
О 5
+
0 4
а з
+
О 2
0.1
0 1
а) б)
Рис. 5. Результат работы классификатора на обучающей выборке с повышенной зашумленностью: а - обучающая выборка, б - результат классификации с применением метода экстремального обучения
При решении задачи классификации областей изображения входным изображением является фотография процесса обжига размером 800x600 пикселей, оно разбивается на области размером 20x20 пикселей, таким образом, имеется 1200 областей изображения. Объем обучающей выборки составляет боо областей изображения, объем тестовой выборки - также боо областей.
Скрытый слой имеет 30 нейронов с сигмоидальной функцией активации. Такое количество нейронов обеспечивает для данной структуры сети и метода обучения максимальную точность классификации на тестовой выборке и приемлемую точность на обучающей выборке - соответственно 90,5% и 92,33%, что показано на рис. 6.
Работа сети, обучаемая методом экстремального обучения (ELM), с помощью пакета MATLAB сопоставлена с функционированием нейронных сетей, обучаемых другими широко применяемыми способами: методом опорных векторов (SVM) [8], вероятностной нейронной сетью (PNN), методом обратного распространения ошибки (ВР) для двухслойной нейронной сети и радиально-базисной сетью [9] (таблица). Необходимо отметить, что обучение нейронной сети на основе метода экстремального обучения пре-
восходит другие способы, как по быстродействию, так и по точности классификации и на обучающей, и на тестовой выборке.
Точность классификации
1
0,95
0.9
0,85
о,я
0,75
0,7
0,65
0,6
0,55
0,5
0,45
0,4
0,35
—Точность классификации на обучающей выборке — •— Точность классификации на тестовой выборке
НО 120 130 140
Число нейронов скрытого слоя
Рис. 6. Точность классификации при разном количестве нейронов скрытого слоя в нейронной сети, обучаемой с помощью метода экстремального обучения
Таблица
Сравнение методов классификации областей изображения
№ пп Метод Точность классификации на обучающей выборке, % Точность классификации на тестовой выборке, % Время обучения, мс
1 Метод экстремального обучения (ELM) 92,33 90,5 7,8
2 Метод опорных векторов (SVM) 89,83 88,5 15,6
3 Вероятностная нейронная сеть (PNN) 90,5 89,67 31,2
4 Метод обратного распространения ошибки (ВР) 89,67 88,33 483,6
5 Радиально-базисная сеть 91,33 89Д7 499,2
Время обучения получено с применением пакета MATLAB и указано для компьютера с четырехъядерным процессором Intel Core i5-2500S с частотой 2,7 ГГц, ОЗУ 4 Гб, с установленной 64-разрядной операционной системой Windows 7.
Результат классификации областей изображения процесса обжига с применением методом экстремального обучения нейронной сети приведен на рис. 7, для наглядности выбраны только три признака (текстурные характеристики), рассмотренных выше {Р\ Р2, Р+}.
♦ А" »лгг / I»
О К. 1мт 2 » Митерии. I»
♦ К пт 3 »Футер*ка«
А’ 1всс 4 "Корпус и горе »« лгмц»
♦ Клвсс / »Ф*1к<4и
О А.1вгг «Материи.!»
• А*.шгг .< "Футгромыа»
К пт 4 "Корни м юрелКШ печи»
Рис. 7. Результат работы классификатора: а - обучающая выборка, б - результат классификации с применением метода экстремального обучения нейронной сети
Полученная классификация областей изображения приводит к сегментации изображения процесса обжига, представленной на рис. 8.
сI) ^ б)
Рис. 8. Результат классификации областей изображения: а - эталонная классификация областей изображения размером 20x20 пикселей на классы: 1- факел, 2 - материал,
3 - футеровка, 4 - корпус и горелка печи, б - результат классификации с применением метода экстремального обучения
Таким образом, рассматриваемый классификатор на основе метода экстремального обучения обеспечивает приемлемое качество разбиения областей изображения на классы и высокое быстродействие, что делает его привлекательным для решения задач классификации в составе систем технического зрения, работающих в режиме реального времени. Кроме того рассмотренный метод может быть применен для распознавания изображений в системах технического зрения мобильных роботов, что позволяет повысить живучесть мобильного робота за счет распознавания и оценки визуальной информации об окружающей среде [ю].
Работа выполнена в рамках гранта № А-27/12 Программы стратегического развития БГТУ им. В.Г. Шухова на 2012-2016 г.г. (№ 2011-ПР-146) и гранта РФФИ № 12-07-9752б-р_центр_а.
Литература
1. Методы компьютерной обработки изображений / Под ред. В.А. Сойфера. — 2-е изд., испр. - М.: ФИЗМАТЛИТ, 2003. - 784 с.
2. Визильтер Ю.В. Желтов С.Ю., Бондаренко А.В., Осоков М.В., Моржин А.В. Обработка и анализ изображений в задачах машинного зрения: Курс лекций и практических занятий. - М.: Физматкнига, 2010. - 672 с.
3. Haykin S. Neural Networks and Learning Machines. - 3rd ed. - Prentice Hall, 2009. - 906 p.
4. Юдин Д.А., Магергут В.З. Применение текстурного анализа для сегментации видеоизображений процесса обжига // Сб. трудов XXV Междунар. науч. конф. ММТТ-25: в ю т. Т. 4, Харьков: Национ. техн. ун-т «ХПИ», 2012 - С. 59-63.
5. G.-B. Huang, et al., Extreme learning machine: Theory and applications. Neurocomputing, vol. 70, pp. 489-501, 2006.
6. Гантмахер Ф. P. Теория матриц. - 5-е изд. - М.: ФИЗМАТЛИТ, 2004. - 560 с.
7. LAPACK — Linear Algebra PACKage - 2012. - Режим доступа:
http://www.netlib.org/lapack/
8. С.-С. Chang, C.-J. Lin. LIBSVM - A Library for Support Vector Machines -Режим доступа: http://www.csie.ntu.edu.tw/ ~cjlin/libsvm/.
9. Медведев B.C., Потемкин В.Г. Нейронные сети. MATLAB 6 / Под общ. ред. к.т.н. В.Г. Потемкина. - М.: ДИАЛОГ-МИФИ, 2002. - 496 с.
ю. Рубанов В.Г. Системный подход к проектированию управляемых мобильных логистических средств, обладающих свойством живучести // Научные ведомости БелГУ. Серия: История, Политология, Экономика, Информатика. - 2011. - №1 (96). - Вып. 17/1. - С. 176-187.
APPLICATION OF EXTREME LEARNING MACHINES FOR CLASSIFICATION OF IMAGE AREAS
In creation machine vision systems for industrial applications, working in real time, it is important to use effective methods of image recognition. This article describes a method of classification of an image areas, based on a learning feedforward neural network with extreme learning machine (ELM). Determined the number of neurons in the hidden layer of the neural network that provides the highest classification accuracy on a test set and an acceptable accuracy for the training set. Made a comparison of the method with support vector machines (SVM), probabilistic neural network (PNN), error back-propagation for two-layer neural network and radial-basic network. It shows the advantage of the method of classification using the extreme learning machine as on computational speed, and accuracy.
BA. YUDIN VJ. MAGERGUT
Belgorod State Technological University named after V.G. Shukhov
e-mail:
yuddim@yandex.ru
valerymag@nm.ru
Ш
ip
Keywords: extreme learning machines, neural networks, classification, image area, recognition.