Некоторые алгоритмы обработки изображений и их реализация на нейросетях

НЕКОТОРЫЕ АЛГОРИТМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ И ИХ РЕАЛИЗАЦИЯ НА НЕЙРОСЕТЯХ

И.Н. Айзенберг Ужгородский государственный университет

Аннотация

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

Ключевые слова: обработка изображений, нейросети, комплекснозначные нейроны.

1. Введение

Клеточные нейросети (CNN), введенные в [1], являются отличным аппаратом для решения различных задач обработки и распознавания изображений. CNN - это двумерный массив нейроэлементов размерности N x M. Каждый нейрон в такой сети соединен только с нейронами из своей ближайшей (n x m) окрестности. Такая конструкция сети очень удобна для реализации алгоритмов фильтрации в пространственной области. Существует целый ряд подобных применений непрерывных CNN (CCNN) [1]. Дискретные CNN (DTCNN), введенные в [2-3], ориентированы на решение задач обработки изображений, описываемых с помощью булевых пороговых функций. Функциональные возможности CNN могут быть расширены путем использования в качестве базовых иных типов нейронов. Алгоритмы, описываемые при помощи не пороговых булевых функций, не могут

быть реализованы на DTCNN, но их можно реализовать на CNN из универсальных логических элементов (универсальных булевских нейронов) - CNN-UBN, которые были впервые рассмотрены в [4-5]. С другой стороны, CCNN и DTCNN не в полной мере позволяют использовать возможности нелинейной фильтрации, хотя некоторые нелинейные фильтры на них реализованы (реализация ряда фильтров исследована в [6]). CNN на многозначных нейронах (CNN-MVN) является отличным средством для реализации многозначных нелинейных фильтров (MVF) [7]. MVF эффективны для фильтрации гаус-совского, равномерного, смешанного (с импульсной составляющей) и даже спекл шумов, а также для усиления высоких и средних частот (с целью выделения деталей). В то же самое время другие свойства многозначных нейроэлементов (MVN), рассмотренные в [8-9] - возможность реализации на одном

нейроне любой частично-определенной многозначной функции, быстро сходящийся алгоритм обучения, могут быть использованы при разработке ней-росети для распознавания изображений. Подобные сети предлагались в [8-10], но их возможности были ограниченными. Здесь будет предложена новая сеть из МУК, предназначенная для решения задачи распознавания изображений путем анализа низкочастотной части ортогонального спектра. В [8] было рассмотрено применение МУК для экстраполяции временных рядов. Здесь мы рассмотрим проблему повышения разрешающей способности путем экстраполяции ортогонального спектра в область более высоких частот при помощи предсказания соответствующих коэффициентов на МУК.

2. Многозначные и универсальные булевские нейроэлемент

2.1. Математическая модель

Мы рассмотрим здесь два типа нейронов: универсальный булевский (ИВК), реализующий произвольную булеву функцию от п переменных и многозначный нейрон (МУК), реализующий полностью определенные пороговые и частично определенные функции к-значной логики (здесь к >0 в общем случае положительное целое. Заметим, что никаких вычислительных проблем не возникает при к порядка 16384). Итак, основная идея состоит в представлении булевых и к-значных функций от п переменных при помощи п+1 комплекснозначных весов Wo, Wl, . . . , wn:

Г(Х1,...,Хп) = Р^0 + + ... +

где X1,..., X п - переменные, от которых зависит функция и Р - активирующая функция. Для многозначного нейрона:

Р(ъ) = ехр(12 П/к),

{{ 2п(] + 1)/к > а^(ъ) > 2П/к

с целочисленным выходом:

Р(ъ) = Ь

й 2п()+ 1)/к > а^(ъ) > 2П/к '

где ]=0,1,...,к-1 - значения к-значной логики, 1 - мнимая единица, ъ = w0 + w1x1 + wnxn- взвешенная сумма, arg(z) - аргумент комплексного числа ъ. (значения функции и переменные кодируются комплексными числами, являющимися корнями к-ой степени из единицы: вJ = ехр(12пj / к), j е [0, к - 1], иными словами значения к-значной логики представляются корнями к-ой степени из единицы: j ^ в -1). Формулы (2а-Ь) иллюстрируется на Рис. 1.

2) Для универсального булевского нейрона:

где т - положительное целое 4п > т > 0 , j - неотрицательное целое 0 < j < т, ъ = w0 + w1x1 + wnxn

- взвешенная сумма, а^(ъ) - аргумент комплексного числа ъ. Переменные и функция принимают значения в множестве {1,-1}. Формула (2Ь) иллюстрируется на Рис.2. Впервые идея подобного представления многозначных функций была предложена в [11]. Ее дальнейшее развитие позволило предложить аналогичный подход для булевых [4,5,12].

Р(ъ) = вк-2

Рис. 1. Определение активирующей функции многозначного нейрона.

Р( ъ) = (-1)^

й

Р(ъ) = 1

Рис. 2. Определение активирующей функции универсального булевского нейрона.

Главные преимущества МУК и иВК по сравнению с другими типами нейронов (Хопфилда, Чуа, многоуровневый персептрон, элемент, основанный на свойствах радиально-базисных функций (см. [12]) ), являются: значительно более высокие функциональные возможности и существование быстро сходящихся алгоритмов обучения. Высокие функциональные возможности означают, что на единственно взятом иВК можно реализовать любые (а не только пороговые) булевы функции любого числа переменных, а на для единственно взятого МУК и заданной многозначной функции всегда можно найти такое к, что данная функция будет реализована на одном нейроне.

2.2. Алгоритмы обучения МУЫ и ПВЫ

Алгоритмы обучения, которые мы будем использовать здесь, были недавно рассмотрены в [13]. Поэтому мы ограничимся сейчас очень кратким изложением, необходимым для понимания последующих результатов. Очевидно, если взвешенная сумма попадает в "неправильный" сектор на комплексной плоскости (см. Рис. 1, 2), алгоритм обучения состоит в коррекции весов таким образом, чтобы взвешенная сумма попала в один из секторов, соответствующих правильному выходному значению (для иБЫ), либо в сектор, строго соответствующий ожидаемому выходному значению (для МУЫ). В [45,11] был предложен алгоритм обучения с корректирующим множителем. Он сводится к следующей процедуре коррекции:

Wm+1 = Wm+ CeqX ,

где Wm и Wm

текущий и последующий весовые

векторы, X - вектор входных сигналов нейрона (комплексно-сопряженный), ю - коэффициент коррекции, е- первообразный корень т-той или к-той степени из единицы, С - масштабный коэффициент, q - номер "правильного" (ожидаемого) сектора, ю выбирается из соображений, что взвешенная сумма ъ = ^^^ 0 + тс^ + wnxn должна переместиться как можно ближе к "правильному" сектору (или должна сразу попасть в него ) после шага обучения, определяемого (3). Для иВЫ выбор ю основан на следующем соображении. Если взвешенная сумма попала в "неправильный" сектор, то оба соседних к нему сектора будут "правильными", и двигаться следует именно в тот, к которому текущее значение взвешенной суммы ближе. Для МУЫ, в случае попадания в неправильный сектор, двигаться нужно в единственно в данном случае "правильный" сектор номер q. Sq в обоих случаях соответствует правой границе "правильного" сектора (см. Рис. 1-2). Этот алгоритм обучения быстрее сходится для достаточно небольших тик (т<20, к<4096), но и при произвольных т и к для достаточно гладких функций. Другой алгоритм обучения, рассмотренный в [8, 13-14] быстрее сходится при больших т и к. Он основан на известном правиле "коррекция ошибки", которое для комплекснозначных нейронов выглядит так:

Wm+1 = Wm+C(£q- X

где и Wm+1 - текущий и последующий весовые векторы, X - вектор входных сигналов нейрона (комплексно-сопряженный), е- первообразный корень т-той, либо к -ой степени из единицы (т и к берутся из (2) ), С -масштабный коэффициент, q -номер "правильного" сектора на комплексной плоскости, 8 - номер "неправильного" сектора, в который попало текущее значение взвешенной суммы. Для МУЫ q должно равняться ожидаемому выходному значению. Для иВЫ q выбирается на каждом шаге

из тех же соображений, что в алгоритме (3): если взвешенная сумма попадает в неправильный сектор номер s, ее следует направить в левый (s+1) -ый, или правый (s-1) -ый соседний сектор в зависимости от того, к какому из них текущее значение взвешенной суммы оказалось ближе.

3. Обработка изображений на клеточных нейросетях из UBN и MVN

3.1. CNN-MVN и CNN-UBN

Мы будем использовать обычную для CNN схему (каждый нейрон соединен только с нейронами из ближайшей к нему прямоугольной (квадратной) окрестности), предложенную в [1], но с UBN, или MVN в качестве базовых нейронов сети. Фрагмент CNN размерности 3 x 5 с локальными соединениями в окне 3 x 3 показан на Рис. 3. Динамика каждого нейрона описывается следующим соотношением:

Yi j(t+1)= P К +£ W jx'r j(t)]

где У у - выход нейрона, Ш,1 - веса, соответствующие

т- тому входу 1 >ого нейрона, X, - т-тый вход у-того нейрона, Р - активирующая функция нейрона (2), ^ означает, что, как обычно в клеточной сети, каж-

г

дый нейрон соединен только с нейронами из своей ближайшей г-окрестности.

(i, j) Л

J

Рис. 3. CNN 3 x 5 с локальными 3x3 соединениями.

3.2. Многозначная фильтрация и ее реализация на CNN-MVN Проблема фильтрации изображения в пространственной области сводится к замене текущего значения яркости Bj в ij-ом пикселе значением

Bj ,которое лучше с некоторой точки зрения. Пусть B е {0,1,...,255} - значение яркости. Рассмотрим множество корней k-той степени из единицы (k=256). Мы можем поставить в соответствие значению яркости B корень из единицы

= exp(i2 п B/k) = Y

Таким образом, мы получим взаимнооднозначное отображение B ^ ев .

r

Двумерный многозначный фильтр (МУР) определяется следующим нелинейным преобразованием [7]:

B, = P (Wo+ X

w

klYkl )

i - n< k <i+n j-m <l< j + m

где Р - это функция (2а-Ь), У связан с В соотношением (6), 1,] - координаты фильтруемого пиксела, п х т - апертура фильтра, - коэффициенты фильтра (комплексные в общем случае). Очевидно, что, (7) задает класс фильтров, каждый из которых определяется набором весовых коэффициентов

Следует отметить, что без нелинейной функции Р и комплексного сложения (если У будет также заменен соответствующим В), а также при действительных и неотрицательных весовых коэффициентах (7) сведется к хорошо известной низкочастотной линейной фильтрации в пространственной области. Таким образом, нелинейности, вносимые комплексным сложением и функцией Р принципиальны, очень важны и дают, как будет показано ниже, замечательный эффект. Заметим, что из соотношений (2а-Ь), (5) и (7) следует, что многозначные фильтры могут быть легко реализованы на клеточной нейросети из многозначных нейронов.

Специальным случаем МУТ является фильтр, также определяемый (7), но одновременно соединяемый с ранговым фильтром. Тем самым мы получим рангово-многозначный фильтр (КОМУГ), для которого в (7) будут браться лишь слагаемые, удовлетворяющие ранговому критерию. Иначе говоря, КОМУГ - это ранговый фильтр [14], в котором значения сигнала преобразованы в комплексную форму в соответствии с (6), действительное сложение заменено комплексным и функция Р, определяемая формулой (2а) применяется к вычисленной взвешенной сумме:

Bj = P

i-n<k<i+n j-m<l<j+

(Взвешивающий ROMVF получится путем соединения фильтра(7) с ранговым критерием [14]).

Проблема реализации MVF на CNN - MVN сводится к нахождению соответствующих наборов весов. Мы рассмотрим здесь наборы весов, определяющие трех представителей семейства фильтров (7). Первый из этих наборов очень эффективен для собственно фильтрации шума. Два других набора решают задачу выделения деталей путем коррекции высоких и средних пространственных частот. Отметим, что мы рассмотрим здесь только действительные веса (но оперирующие с сигналами, преобразованными в комплексную форму в соответствии с (6)).

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

эвристических соображений обеспечения мягкого сглаживания высоких частот:

П 1 А

W0 = C; W =

1

где C - константа (может быть равна нулю), w22 - параметр. Чтобы удалить шум, содержащий импульсную компоненту, следует рекомендовать W22=1. Чтобы фильтровать гауссовский, равномерный, либо спекл-шум (возможно в ходе итеративного процесса) наилучший диапазон значений для W22 следующий: 1<W22 <10 (большие значения обеспечивают более надежное сохранение не сглаженными границ деталей на изображении). CNN - MVN с локальным окном 3x3 реализует фильтр, определяемый набором весов (9). Рассмотрим пример применения MVF для фильтрации сложного неоднородного шума.

Рис. 4a представляет исходное изображение, на Рис. 4b представлено то же изображение, но искаженное гауссовским шумом с нулевым средним и импульсным шумом с динамическим диапазоном [0, 255] и искажением 10%. Результат фильтрации набором весов (9) (W22 =1) представлен на Рис. 4c. Результат фильтрации при помощи ROMVF (8) (окрестность по ближайшим по рангу отсчетам, ранг равен 8) представлен на Рис 4d. Результат чисто ранговой фильтрации (апертура 3x3, окрестность по ближайшим по рангу отсчетам, ранг равен 8) представлен на Рис. 4e для сравнения. Очевидно, что границы на изображении гораздо лучше сохраняются при помощи MVF и ROMVF. В Таблице 1 для сравнения эффективности фильтрации приводятся некоторые объективные числовые характеристики (максимальное отношение сигнал/шум (S/N), оценка дисперсии шума (ND), среднеквадратичное отклонение от оригинала (MSD) ), подтверждающие, что MVF и ROMVF гораздо более эффективны, чем ранговый фильтр (ROF).

Возможность решения задачи коррекции частот при помощи линейной фильтрации в пространственной области была обоснована в [15]. Реализация соответствующих фильтров на CCNN исследована в [13, 16]. Коррекция (усиление) частот очень эффективно решает задачу выделения деталей, размеры которых равны апертуре фильтра, либо меньше. Следующий линейный фильтр был предложен для решения задачи в [15]:

B(i, j) = G iB(i, j) + G2(B(i, j) - Bm)+ ОзБт + c

Таблица 1. Сравнение MVF, ROMVF и ROF на тестовом изображении "Lena", искаженном шумом (Рис. 4b).

Изобр. Lena Lena+ шум ROF ROMVF MV F

S/N 57.0 35.3 47.9 48.8 48.4

ND (ст) 62.1 491.8 15.1 8.2 12.0

MSD 0 24.6 16.7 13.9 14.3

w

22

m

e)

Рис. 4. Многозначная фильтрация: (а) исходное изображение; (Ь) исходное изображение, искаженное гауссовским шумом с нулевым средним и импульсным шумом с искажением 10%; (с) многозначная фильтрация по набору весов (9); (й) ран-гово-многозначная фильтрация; (е) ранговая фильтрация (для сравнения).

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

отсчет B(i,j); B(i,j) и B(i, у) значения яркости (у)-того пиксела до и после обработки соответственно, 01; О3 - коэффициенты, определяющие коррекцию низких частот, О2 определяет коррекцию высоких частот, с -

константа, влияющая на яркость фона после обработки. Апертура фильтра (10) должна быть приблизительно равна размерам деталей, которые следует выделить. Как было показано выше, МУТ, определяемые формулами (6) - (7), можно рассматривать как своеобразное обобщение линейных низкочастотных фильтров. Учитывая, что фильтр (10) - линейный, его естественно также несложно обобщить на случай МУТ\ Действительно, из (10), принимая во внимание (6) и (7), мы получаем следующий фильтр для глобальной коррекции частот:

у а, 1)=р

с +

У (к,1)е«,у

,

и следующий фильтр для коррекции только высоких частот.

с+

У (к ,1 )еЯ,1

где - локальное окно вокруг пиксела У(у); У(у) и У(г, у) являются значениями яркости в (у)-том пикселе до и после обработки соответственно, коэффициенты О1, О3 определяют коррекцию низких частот, О2 определяет коррекцию высоких частот, О - корректирующий коэффициент (в (12) ), с - константа. Из (11) и (12) легко получить наборы весов для их реализации на СЫЫ-МУЫ. Фильтр, определяемый соотношением (11) может быть реализован на СЫЫ-МУЫ при помощи следующего набора весов:

"0 = С; " =

О3 -О-

О3

" О 2 ^

О1 + О3 .

О3-О2

О3 -О2

Чтобы усилить средние пространственные частоты и соответственно выделить детали приблизительно размера п х т, апертура фильтра и здесь должна быть в точности равна п х т. Таким образом, матрица " должна быть в точности той же размерности. Рекомендуемые значения весовых параметров следующие: 0 < 01;03 < 1, 5 <02 < 14. Фильтр, определяемый соотношением (12), может быть реализован следующим набором весов размерности (3 х 3) (апертура (3 х 3) - наиболее эффективная для данного фильтра):

= С; "=

(-0.5 -0.5 -0.5 ^22 -0.5 -0.5

-0.5 ^

-0.5

-0.5

где С - константа (может быть равна нулю), ^22 - параметр. Рекомендуемые значения для веса ^22 следующие: 6<^22<14. ^22=6 соответствует более жесткому и ^22=14 соответствует более мягкому усилению высоких частот. Замечание, касающееся реализации. Функция (2) не определена в нуле, однако взвешенная сумма в (7) и (8), хотя и с вероятностью близкой к нулю, но может быть равной нулю. В этом случае целесообразно использовать вес для избежания подобной ситуации. Отметим также, что во избежание инверсии "белое" - "черное" (0-255) к в (2а-Ь) можно взять чуть больше, чем 256, например 264-280, однако подобная ситуация также - редкий случай. Кроме того, для избежания той же инверсии можно пользоваться

дополнительной проверкой: если В.. - В.] > к /2 , то

оставляем Ву = В у, т.е., в этом случае яркость в рассматриваемой точке не изменится. Но принципиаль-

ной необходимости в этом нет, поскольку это также редчайший случай. Преимущества коррекции частот при помощи МУР иллюстрируются на Рис. 5.

Рис. 5 Коррекция частот (выделение деталей): (а) оригинал; (Ь) коррекция при помощи МУЖ (фильтр (12), набор весов (14) ); (с) - коррекция при помощи линейного фильтра (10).

Главное преимущество МУР-коррекции (по сравнению с линейным фильтром, определяемым (10) ) является сохранение общего динамического диапазона наряду с одновременным усилением локальных контрастов. Линейный фильтр (10), являясь отличным аппроксиматором соответствующего фильтра в частотной области, и, имея вычислительную простоту, тем не менее не лишен недостатка: линейность предопределяет недостаточную коррекцию, либо (и чаще всего) наоборот, слишком сильную, в результате чего происходит смещение динамического диапазона изображения к краю (белому, либо черному) и какие-то важные мелкие детали могут остаться невидимыми. На Рис. 5а представлен фрагмент рентгеновского медицинского изображения (опухоль легкого) крайне низкого качества. Чтобы попытаться рассмотреть структуру опухоли (является ли она гомогенной или нет), а также выделить ее детали, мы использовали набор весов (13) (апертура 25х25, Gl = 0.25; G2 = 10.0;

G3 = 0.4). Результат обработки представлен на Рис. 5Ь (неоднородная структура опухоли, ее детали достаточно отчетливо видны). Рис. 5с содержит для сравнения результат обработки исходного изображения с Рис. 5а. Этот результат - лучшее, чего можно было добиться линейным фильтром (10), однако детали на данном изображении не выделены настолько отчетливо, как на изображении с Рис. 5Ь, являющегося результатом МУР-коррекции.

3.3. Алгоритмы обработки, описываемые не пороговыми булевыми функциями и их CNN-UBN реализация

В [9, 13] были рассмотрены алгоритмы выделения контуров и фильтрации импульсных помех, а также их реализация на СМЫ-ИВМ Здесь хотелось бы развить идеи, представленные в указанных работах.

Булева непороговая функция, определяемая соотношением (16а) описывает процедуру выделения "восходящих" перепадов яркости и соответствующих им контуров. Алгоритм обучения (3), примененный к этой функции (т=4 в (2с) ) дает набор весов (16Ь) для реализации функции на СМЫ-иВК

Обработка полутонового изображения производится путем раздельной обработки битовых плоскостей и их последующего объединения в результирующее изображение. На Рис. 6Ь представлен результат выделения контуров при помощи функции (16а) на исходном изображении (Рис. 6а).

Для сравнения на Рис. 6с приводится результат выделения контуров на том же исходном изображении при помощи оператора Лапласа. Булева непороговая функция (17а) выделяет на бинарном изображении "нисходящие" перепады яркостей и соответствующие им контуры.

I- !\

Рис. 6 Выделение контуров: (а) оригинал; (Ь) обработка по функции (16а); (с) оператор Лапласа; (й) обработка по функции (17а); (е) контурное изображение (й) с усиленным контрастом

Хт Хл Х-э

Х4 Х5 Х6 =

х7 Х8 Х9

= X 5 & (X1 V X 2 V X з V X 4 V X 6 V X 7 V X 8 V X 9);

W = (6.0,17.0);

У

Алгоритм обучения (3) дает набор весов (17Ь) для реализации функции (17а) на клеточной сети из универсальных элементов.

= X 5 &(.*[ V X 2 V X 3 V X 4 V X 6 V X 7 V X 8 V X 9) ;

" = (-1.7,-15);

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

4.1. Распознавание изображений

Решение задачи распознавания изображений на нейросетях становится все более популярным в последние годы. В работах [8-10] были предложены различные сети из многозначных нейронов для решения подобной задачи. Общий недостаток предложенных в данных работах сетей и подходов к решению проблемы состоит в слишком тесной зависимости качества распознавания от обучающего множества, а также значительными трудностями при распознавании сдвинутых и повернутых изображений, а также изображений с измененным динамическим диапазоном яркостей. Эти недостатки вызваны тем, что обучение и распознавание происходит путем анализа изображений непосредственно в пространственной области. В то же самое время хорошо известен подход к распознаванию, основанный на анализе коэффициентов низкочастотной части ортогонального спектра [17]. Мы хотим предложить здесь новую нейросеть из МУЫ, ориентированную на решение задачи распознавания изображений путем анализа коэффициентов низкочастотной части ортогонального спектра. В качестве ортогонального преобразования использовалось преобразование Уолша, упорядоченное по Уолшу. Рассмотрим проблему распознавания портретов сорока людей (мы использовали в точности ту же базу данных, сто и в предшествующих работах [8-9]). Обучающее множество возьмем намеренно минимальной мощности - по одному представителю для каждого класса (лица). На Рис. 7 представлен фрагмент обучающего множества.

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

класса как "свои", объекты же из всех остальных классов - как "чужие".

"Игорь

"Наум"

"Дама 1" "Дама 2"

Рис. 7. Фрагмент обучающей выборки.

Наилучшие результаты были получены, когда первые к/4 (из к) секторов на комплексной плоскости (см. (2а), (2Ь) и Рис. 1) зарезервированы для "своих" для данного нейрона объектов, а остальные 3/4 секторов - для "чужих" объектов (Рис. 8). Таким образом, выходные значения 0...к/4-1 для 1-го нейрона соответствуют классификации объекта, как принадлежащем 1-му классу. Выходные значения к/4...к-1 соответствуют классификации объекта как "чужого" для данного нейрона. Для проверки эффективности предложенной сети и подхода к решению задачи мы намеренно создали экстремальную ситуацию, включив в обучающую выборку лишь по одному представителю каждого класса. Обучающее множество состояло соответственно из спектров Уолша изображений из обучающей выборки. Для поиска оптимального числа спектральных коэффициентов (входа нейрона), мы брали для анализа коэффициенты с первых нескольких диагоналей двумерной матрицы спектра (ибо на данной диагонали все коэффициенты соответствуют одинаковой частоте, каждая следующая диагональ соответствует более высокой частоте) за исключением нулевой диагонали (нулевого коэффициента), слишком тесно связанной с данным конкретным объектом. Оптимальные результаты были получены при к=512 в (2а-Ь) (соответственно при нормализации спектральных коэффициентов к диапазону [0...511]. Для обучения сети каждый нейрон обучался в соответствии с алгоритмом (4). Секторы 0...127 были зарезервированы для "своих", а секторы 128...511 - для "чужих" для данного нейрона образов. Сходимость обучения для каждого нейрона наступала примерно после 1000 итераций, что занимает несколько секунд на компьютере класса Реп1шт-133.

х. х

х

2

У

х

х

х

4

6

х

х

х

7

8

9

Секторы

k/4...k-1 -

'чужая" область

k/4-1 Секторы

0...k/4 -1 -

своя" область 1

0

k-1

Рис. 8. Распределение секторов для обучения и распознавания.

Для распознавания серия изображений, не представленных в обучающей выборке, но являющихся другими, либо искаженными портретами тех же людей, была предъявлена для распознавания. Результаты более, чем положительные. На Рис. 9 представлены 12 изображений из класса "Игорь", которые не были представлены в обучающей выборке, но были успешно распознаны. Таблица 2 показывает, что при распознавании имелся достаточный запас прочности, страхующий от ошибок.

Изображения, распознанные по 17 коэффициентам:

Щ -к^Ш'^М

d

Изображения, распознанные по 35 коэффициентам:

1 % %

_S__h__i_

Л г Q Q

я* m

k

i

Таблица 2.

Номера секторов, в которые попала взвешенная сумма при распознавании изображений (см. Рис. 9).

Image a b c d e f

Sector 60 62 62 64 65 75

Image g h i i k l

Sector 40 34 45 99 35 46

Рис. 9. Изображения, не представленные в обучающей выборке, но успешно распознанные.

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

Пусть задан сигнал f и его дискретные значения f1, f2, ..., f;, fj, ..., fN , взятые с некоторым шагом дискретизации. Задача состоит в вычислении значений f,+,, i = 1, ..., N; i+s <j; s = 1/p, 2/p,..., (p-1)/p; p e {2,4,8,16,...}. Например, n=4, и нужно получить

значения f, + 0.25, f, + 0.5, f, + 0.75 МеЖДу f, и fj . ТрадИционный подход к решению этой задачи - интерполяция в пространственно-временной области. Иной подход состоит в экстраполяции дискретного спектра сигнала в область более высоких частот с последующим вычислением обратного преобразования. Решение этой задачи обычно представляет весьма серьезную вычислительную проблему. Мы хотим предложить подход к ее решению, основанный на возможности экстраполировать временные ряды на единственном многозначном нейроне [8]. Таким образом, решение задачи сведется к следующему алгоритму: 1) Вычисление спектра (Фурье, косинусного, либо Уолша) сигнала f: Sf = (sj,..., sN); 2) Предполагая, что имеет

место зависимость s, = g(s,_q,...s,_j) (каждый спектральный коэффициент - есть функция от q ему предшествующих по частоте ), можно обучить MVN реализации функции g; 3) Экстраполяция спектра Sf = (Sj,..., sN+1,...,~pN) - предсказание с помощью

MVN коэффициентов, соответствующих более высоким частотам ; 4) Вычисление обратного преобразования размерности pN , что и позволяет получить необходимые значения сигнала f. Эффективность предложенного подхода иллюстрируется на Рис. 10. MVN был обучен по алгоритму (4) представлять каждый коэффициент косинусного спектра (нормализованного к диапазону [0, 8191]) изображения "Lena" как функцию от 63 предшествующих ему по частоте коэффициентов. Затем спектр был "увеличен" в 2 раза путем предсказания с помощью полученных весов значений коэффициентов в области более высоких частот. С помощью обратного преобразования было получено изображение, представленное на Рис. 10b. Для сравнения на Рис. 10c представлено изображение, полученное из того же оригинала путем билинейной интерпо-

c

e

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

Рис. 10 Экстраполяция спектра на MVN: (а) оригинал 256x256; (b) изображение 512x512, полученное из экстраполированного спектра оригинала; (с) изображение 512x512, полученное билинейной интерполяцией.

Благодарности

Данная работа частично поддержана грантом "Belgian program on interuniversity attraction poles (IUAP-02) initiated by the Belgian State, Prime Minister's Office for Science , Technology and Culture (DWTC)." Автор выражает также признательность

H.С. Мерзлякову за обсуждение вопросов, рассмотренных в статье.

Литература

I. L.O. Chua and L. Yang, "Cellular neural networks: Theory", IEEE Trans. on Circuits and Systems, vol. 35, pp.1257-1290, 1988.

2. S.Tan, J.Hao, J.Vandewalle "Cellular neural networks as a model of associative memories", Proc. of the 1990 IEEE International Workshop on CNN and their applications (CNNA-90), Budapest, pp. 23-26, 1990.

3. H. Harrer and J. A. Nossek "Discrete-time cellular neural networks", Int. J. Circuit Theory and Appli-cat., vol.20, pp. 453-467, 1992.

4. N.N. Aizenberg, I.N. Aizenberg "Fast converged learning algorithms for multi-level and universal binary neurons and solving of the some image processing problems", Lect. Notes in Computer Science, Ed.-J. Mira, J. Cabestany, vol. 686, Shpringer, pp. 230-236, 1993.

5. N.N. Aizenberg, I.N.Aizenberg "CNN-like networks based on multi-valued and universal binary neurons: learning and application to image processing", Proc. of the Third IEEE International Workshop on Cellular Neural Networks and their Applications, Rome, pp.153-158, 1994

6. C. Rekeczky, T. Roska and A. Ushida "CNN Based Self-Adjusting Nonlinear Filters" Proc. of the Fourth IEEE International Workshop on Cellular Neural Networks and their Applications, Seville, Spain, pp. 309-314, 1996.

7. Aizenberg I.N. "Multi-valued non-linear filters and their implementation on cellular neural networks", Frontiers in Artificial Intelligence and Applications, vol. 41 "Advances in Intelligent Systems" (F.C. Morabito - Ed.) IOS Press, Amsterdam-Berlin-OxfordTokyo-Washington DC, 1997, pp. 135-140.

8. N.N. Aizenberg, I.N. Aizenberg, G.A. Krivosheev "Multi-Valued Neurons: Mathematical model, Networks, Application to Pattern Recognition", Proc. of the 13 Int.Conf. on Pattern Recognition, Vienna, August 25-30, 1996, Track D, IEEE Computer Soc. Press, pp. 185-189, 1996.

9. Н.Н. Айзенберг, И.Н. Айзенберг, Г.А. Кривоше-ев. Нейросети на многозначных нейроэлементах: обучение и применение в обработке и распознавании изображений // Компьютерная оптика, 1995, Том 14-15, часть 1, стр. 179-186.

10. S.Jankowski, A.Lozowski, M.Zurada "Complex-Valued Multistate Neural Associative Memory", IEEE Trans. on Neural Networks, vol.7, No 6, November, pp.1491-1496, 1996.

11. Н.Н. Айзенберг, Ю.Л. Иваськив Многозначная пороговая логика, Киев: Наукова думка, 1977.

12. S.Haykin Neural networks. A comprehensive foundation. Macmillan College Publishing Company, New York, 1994.

13. I.N. Aizenberg "Processing of noisy and small-detailed gray-scale images using cellular neural networks" Journal of Electronic Imaging, 6(3), 1997, pp. 272- 285.

14. A C. Bovik , T.S. Huang, D C. Mudson A generalization of median filtering using linear combinations of order statistics', IEEE Trans. Accoust., Speech, Signal Proc. , vol.31, pp.1342-1349, 1983.

15. Т.П. Беликова. Моделирование линейных фильтров в задачах медицинской диагностики: в кн. "Цифровые методы обработки изображений и полей в экспериментальных исследованиях", Москва: Наука, 1990, стр. 130-152.

16. N.N. Aizenberg, I.N. Aizenberg, T.P. Belikova Extraction and localization of important features on gray-scale images: implementation on the CNN Proc. of the Third IEEE International Workshop on Cellular Neural Networks and their Applications (CNNA-94), Rome, pp. 207-212, 1994.

17. N. Ahmed, K.R. Rao Orthogonal Transforms for Digital Signal Processing, Springer 1975.

с