УДК 681.325.5 А.А. Востриков (канд. техн. наук) С.А. Чернышев ПРИМЕНЕНИЕ МОДЕЛИ НЕЙРОНА К ЗАДАЧАМ ВЫДЕЛЕНИЯ ГРАНИЦ И ШУМОПОДАВЛЕНИЯ В ИЗОБРАЖЕНИИ Проблема применения моделей нейронных сетей для решения трудно формализуемых задач изучается давно. Значительный практический интерес представляет также использование структур на основе модели нейрона для реализации известных алгоритмов. Последнее связано с однородностью базовых вычислительных элементов и, как следствие, возможности более гибкого использования аппаратной части систем. Кроме этого, нейронная сеть при известных исходных данных и данных, полученных в результате их обработки внутри «черного ящика», обучившись способна обеспечить идентичное преобразование информации без необходимости определения алгоритма обработки. Каждый нейрон (рис. 1) характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов – однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов [1]. Рис.1 Общий вид нейрона Каждый синапс характеризуется величиной синаптической связи или ее весом wi, который по физическому смыслу эквивалентен электрической проводимости. Текущее состояние нейрона определяется, как взвешенная сумма его входов: n S xi wi (1) i 1 Наконец выходной сигнал нейрона является функцией его состояния: y = f(s), которая называется активационной и может иметь различный вид [1]. Основной трудностью и, как результат, основным интересом для исследователей в изучении возможности применения нейронных сетей является определение эффективных методов их «обучения». Наиболее перспективным с точки зрения практического применения является метод «обучения через показ». Общими словами, метод «обучения через показ» заключается в «предоставлении» нейронной сети данных, поступающих на вход устройства обработки и данных, которые должны быть получены после обработки, в результате чего должны быть подобраны веса входных сигналов нейронов. В [3] предложена и исследована процедура одношагового «обучения» однослойной нейронной сети, реализующая метод «обучения через показ». По данной процедуре веса входных сигналов находятся из соотношения: w ( S T S E ) 1 S T a , (2) www.ask-lab.com где S – прямоугольная матрица измерений на входе; - коэффициент регулировки; E – единичная матрица; a – вектор выходных сигналов. Конкретные задачи, поставленные и решенные в настоящей работе, сформулированы следующим образом: 1. Выполнить «обучение» модели нейрона на обработку матрицы пикселей двумерного изображения, основываясь на изображениях, полученных при реализации различных алгоритмов выделения границ и шумоподавления. 2. Сравнить результаты обработки одного и того же изображения «обученным» нейроном и соответствующим алгоритмом. 3. Сделать выводы о возможности использования моделей нейронов для задач выделения границ и шумоподавления в изображении или имеющихся ограничениях. Эксперименты проводились с матрицами яркостных составляющих различных изображений. Входным сигналом для нейрона является подматрица размерностью 3 x 3 из исходного двумерного изображения (матрица S в формуле (2) ), вы- ходным сигналом – очередной пиксель изображения, прошедшего фильтрацию, по позиции совпадающего с элементом S1,1. Моделирование выполнялось с использованием пакета MATLAB (в. 7.01 ). Исследуемое направление применения модели нейрона и изложенного выше метода и процедуры «обучения» условно было названо «похищением эвристики алгоритма обработки» из имеющихся исходных данных и результирующих данных. «Обучение» модели нейрона производилось на результатах обработки изображений с использованием следующих известных фильтров [2]: Фильтр Лапласа; Фильтр Собеля; Медианный фильтр; Фильтр Гаусса; Среднеарифметический фильтр. После «обучения» нейрон выполнял повторную обработку исходного изображения, и результаты обработки по оригинальному алгоритму сравнивались с результатом обработки нейроном. Кроме этого, проверялась работоспособность фильтра, реализованного на «обученном» нейроне, по отношению к другим изображениям, отличным от использованного при «обучении». На рис. 2 изображены результаты обработки на примере фильтра Лапласа: рис. 2а – тестовое изображение, рис. 2б – изображение после применения фильтра Лапласа, рис. 2в – результат обработки нейроном, «обученным» изображениями с рис. 2а (информация на входе) и рис. 2б (информация на выходе). Затем без изменения найденного вектора весов синаптических связей была выполнена обработка другого изображения (рис. 3а). Как видно из результата обработки на рис. 3б, функция выделения границ выполняется и для изображений, не применявшихся для «обучения». (б) (а) (в) Рис. 2. Обработка изображения фильтром Лапласа и «обученной» моделью нейрона (а) (б) Рис. 3. Обработка изображения моделью нейрона, «обученного» на другом изображении 2 www.ask-lab.com Идентичная обработка проводилась для всех перечисленных выше фильтров. Рассмотрение результатов экспериментов показало, что модели нейрона не удалось повторить результаты обработки следующих фильтров: Фильтра Собеля; Медианного фильтра. При этом попытка увеличения размерности входной подматрицы и соответственно количества синапсов модели нейрона результат не изменила. На рис. 4в приведено изображение, полученное после обработки моделью нейрона, «обученного» на исходном изображении (рис. 4а) и результирующем изображении после обработки фильтром Собеля (рис. 4б). (а) (б) (в) Рис. 4. Обработка изображения фильтром Собеля и «обученной» моделью нейрона Наконец повторение результатов обработки изображений фильтром Гаусса с использованием нейрона удалось получить при увеличении входной подматрицы до размерности 5 x 5, а также путём повторной обработки изображения исходной моделью нейрона. Помимо выводов о самой возможности применения одиночного нейрона для реализации подобных фильтров при проведении экспериментов были сделаны некоторые дополнительные заключения. В частности, отмечено, что качество «обучения» нейрона существенным образом зависит от сложности обучающего множества, что в данном случае означает равномерность распределения значений яркости в допустимом диапазоне. В качестве примера можно сравнить работу нейрона, «обученного» на искусственно созданном изображении – белый прямоугольник на черном фоне (рис. 5а) – и на фотографии с рис. 2а (в обоих случаях результирующим стало изображение после обработки фильтром Лапласа). После «обучения» нейроны обрабатывали изображение с рис. 5а. Результаты обработки представлены на рис. 5б и 5в соответственно. Сравнение показывает, что функция выделения границ лучше реализуется нейроном, «обученным» на более сложном изображении. (а) (б) (в) Рис. 5. Сравнение результатов обработки нейронами, «обученными» на различных типах изображений Таким образом, показано, что применение модели одиночного нейрона позволяет реализовать некоторые фильтры изображений путём замены вектора весовых коэффициентов и без изменения структуры вычислителя. Дальнейшей целью является проверка возможностей сети нейронов для реализации более сложных алгоритмов обработки, а также возможности комбинирования различных алгоритмов в одной вычислительной структуре, основанной на модели нейрона. Авторы работы благодарят начальника студенческого конструкторского бюро канд. техн. наук, доц. Астапковича А.М. за постановку задачи и помощь при её решении. 3 www.ask-lab.com Библиографический список 1. Шахнов В.А., Власов А.И. Нейрокомпьютеры – архитектура и реализация – М.: Московский Государственный Технический Университет им. Н.Э.Баумана, 2000. – 428 с. 2. Гонсалес Р., Вудс Р. Цифровая обработка изображений – М.: Техносфера, 2006. – 1072 с. 3. Astapkovitch A.M. Оne step learning procedure for neural net control system. In Proc. International forum «Information systems. Problems, perspectives , innovation approaches», SUAI, Saint-Petersburg, 2007. Pp 3-9.