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

УДК 004.032.26

Ю.Л. ИВАСЬКИВ, В.В. ЛЕВЧЕНКО

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

Abstract: The experimental analysis of influence of some parameters of replicative neural net and training set for the speed and quality of training is executed; the formula for calculation of factor of the compression is offered; recommendations on formation of training set are given.

Key words: replicative neural net, method of decreasing dimensionality, neural net compression of images.

Анотація: Виконано експериментальний аналіз впливу деяких параметрів реплікативної нейронної мережі та навчальної множини на швидкість і якість навчання; запропонована формула для обчислення коефіцієнту стиснення, що реалізується на реплікативній нейронній мережі; подані рекомендації щодо формування навчальної множини.

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

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

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

1. Введение

В качестве возможного практического применения искусственных нейронных сетей (ИНС) авторами ряда работ [2-5] рассматривается сжатие изображений, для осуществления которого предлагается, в частности, метод понижения размерности, основанный на следующих предположениях:

1) источник сжимаемых данных рассматривается как генератор векторов в многомерном пространстве;

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

Для осуществления отображения исходных данных в пространство низкой размерности в [2] было предложено использовать ИНС, обобщенная структурная схема которой представлена на рис. 1.

N

входов

г \

Центральный

Входные Выходные •

< слои • слой • слои

• H нейронов, H < N X •

V. J

N

выходов

Рис. 1. Обобщенная структурная схема репликативной НС В зависимости от необходимости выделить архитектурную или функциональную особенность, ИНС подобного вида называют также репликативными [2] или ИНС с “узким горлом”. Термин “репликация” отражает следующую особенность функционирования ИНС: воспроизведение входного вектора на выходе сети с минимальным уровнем искажений. Термин “узкое горло” предполагает наличие в сети скрытого слоя, количество нейронов, предназначенных для получения компактного (сжатого) представления, данных в котором, меньше, чем в остальных

слоях.

Сжатие изображений на репликативных ИНС выполняется по следующему алгоритму [3]:

1) разбиение сжимаемого изображения на непересекающиеся прямоугольные блоки;

2) построчное разложение блоков: формирование векторов-строк (рис. 2);

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

4) обучение ИНС на множестве, полученном на шаге 3 по алгоритму обратного распространения ошибки;

5) результат сжатия - массив выходных значений нейронов сжимающего скрытого слоя.

wь  h6

> h

w

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

H

входов

N

выходов

Рис. 3. Обобщенная структурная схема восстанавливающей части репликативной НС Простейшая оценка коэффициента к сжатия, реализуемого на репликативной ИНС, имеет

вид

к=N

н

где N - размерность входных векторов сети (исходная размерность);

Н - размерность векторов выходных значений нейронов сжимающего слоя.

2. Постановка задачи

Несмотря на наличие сообщений [3, 4] об успешных экспериментах по сжатию изображений на репликативных ИНС, остаются недостаточно изученными влияние обучающего множества, а также отдельных параметров ИНС на степень сжатия и уровень искажений в восстановленном

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

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

3. Основные результаты

Определение величины коэффициента сжатия

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

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

Пусть Уи - размер исходного изображения в битах, Уа - размер сжатого изображения

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

к = у.

а

Предположим, что для осуществления сжатия исходное изображение было разбито на

V

блоки-векторы размерностью N . Количество векторов К при этом будет равно — .

N

При использовании трехслойной ИНС с Н нейронами в единственном скрытом слое размер архива составит

Vа = КН + NH .

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

Таким образом, на основе (2) и (3) получаем

КН+ш ^н+пн' <4)

N

При фиксированном количестве нейронов “узкого горла” (например, минимально

возможном, когда Н = 2), увеличение коэффициента сжатия возможно лишь за счет увеличения размерности исходных векторов - N. Однако из (4) видно, что при этом растет и объем массива синаптических коэффициентов восстанавливающей части ИНС [1].

Продифференцировав (4) по N , получим

1 - ^

^=V,. 1 N2

dN Н

и

+ N

\N у V

Выражение (5) обращается в нуль при —и. = 1, что соответствует максимуму функции (4) и,

N

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

N = #Г.

Таким образом, несмотря на то, что по мере увеличения размера блоков, составляющих

N

исходное изображение, отношение размерностей — возрастает, коэффициент сжатия, начиная с

Н

момента N = , уменьшается за счет увеличения “размеров” восстанавливающей сети.

Пренебрежение данной закономерностью приводит к существенным ошибкам вычисления коэффициента сжатия. Так, например, в [3] приведены данные, касающиеся результатов сжатия нескольких изображений различного размера трехслойной ИНС с Н = 20 и разбиением на блоки размерностью N = 64.

Для одного из этих изображений V,-, = 256х256 = 65536 байт и К1 = Vй1 = 65536 = 1024 ,

и1 1 N 64

V 18432

для другого Vи2 = 128x144 = 18432 байт и К2 =^2 = —^— = 288. При этом предполагается,

N 64

что в обоих случаях коэффициент сжатия один и тот же: к = — = — = 3,2.

Н 20

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

V,. 65536

для первого изображения: к1 =--------------=----------------» 3,02 ;

1 К1Н + NH 1024 • 20 + 64 • 20

К, 2 18432

для второго изображения: к2 =--------------=----------------» 2,62 .

2 К 2 Н + NH 288 • 20 + 64 • 20

Как видно, во втором случае предполагаемый коэффициент сжатия был завышен не менее чем на 20 %.

Более существенная ошибка при вычислении коэффициента сжатия допускается в [4]. Для компрессии здесь предложено использовать пятислойную ИНС с 4096 входами и выходами, 40 нейронами в сжимающем слое и 410 нейронами в каждом промежуточном слое. При этом изображение размером 192 х 256 пикселей разбивается на блоки размерностью N = 64 х 64 = 4096

^ 192 х 256

пикселей общим количеством К =--------------= 12. Предполагаемый коэффициент сжатия, по

4096

, 4096 „

мнению авторов, составляет к =------»102,4, однако, поскольку

40

V

к =-----------и--------,

КНХ + Н1Н 2 + Н 2 N

где Н1 - количество нейронов в центральном скрытом слое;

Н2 - количество нейронов во втором промежуточном слое;

192•256

в действительности к =----------------------------» 0,03 (!), т.е. при указанных параметрах ИНС

12•40+40•410+410•4096

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

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

V Я

к =--------^-и-----------------------------------------,

КНЯа + NHЯнc

где Яи - разрядность элементов исходного изображения;

Яа - разрядность выходов нейронов сжимающего слоя (разрядность архива);

ЯНС - разрядность синаптических коэффициентов нейронной сети.

Как правило, все параметры ИНС имеют одну и ту же разрядность (например, 32 бита: вещественное число формата 1ЕЕЕ - 754). В случае сжатия полутоновых или монохромных изображений (8 и 1 бит/пиксель соответственно) уменьшение размерности исходных данных может частично или полностью компенсироваться увеличением разрядности архива, что приведет к

Я

снижению коэффициента сжатия в худшем случае в —- раз. При этом, несмотря на то, что

Яи

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

к =--------и------.

KH + NHRHC w

4. Использование перекрывающихся блоков

Для проведения эксперимента по сжатию полутонового изображения на репликативной ИНС нами была разработана и реализована в среде Borland CBuilder 6.0 программа, моделирующая работу многослойной ИНС со следующими регулируемыми параметрами сети:

- количество слоев сети (2 - 5);

- вид активационной функции нейронов каждого слоя (линейная или сигмоидная);

- коэффициент скорости обучения;

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

- максимальное количество эпох обучения;

- разрядность представления выходных данных (32, 16, 8 или 4 бита) и обучающего множества:

- ширина и высота блока изображения;

- наличие перекрытия блоков.

Было использовано полутоновое (Grayscale) изображение со следующими

характеристиками:

- ширина - 100 пикселей;

- высота - 114 пикселей;

- разрядность цвета - 8 бит/пиксель;

- размер блока - 4 х 3 = 12 пикселей.

Сжатие выполнялось на ИНС со следующими фиксированными параметрами:

- количество слоев сети - 3;

- вид активационной функции: сигмоидная (thx) для всех слоев;

- коэффициент скорости обучения - 0,1;

- разрядность выходов нейронов сжимающего слоя - 8 бит.

Для обучения ИНС использовался алгоритм обратного распространения ошибки.

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

Таблица 1. Результаты сжатия полутонового изображения с использованием

неперекрывающихся блоков

Количество нейронов “узкого горла” Количество векторов Суммарное количество предъявлений векторов (23 эпохи) Достигнутая минимальная ошибка обучения, % Реализуемый коэффициент сжатия

6 950 21850 9,8 1,98

3 - - 15,8 3,95

2 - - 21,5 5,93

Для каждой моделируемой ИНС было проведено не менее пяти сжатий. Исходное изображение и типичные образцы восстановленных битовых карт приведены на рис. 4.

а) б) в) г)

Рис. 4. Результаты использования неперекрывающегося разбиения: а) исходное изображение; б), в), г) - изображения, восстановленные после сжатия с коэффициентом 1,98, 3,95 и 5,93 соответственно Анализ приведенных образцов изображений показывает, что при увеличении коэффициента сжатия происходит общее снижение качества восстановленного изображения. Кроме того, из рассмотрения рис. 4 (б, в, г) следует: помимо общего его снижения, возникают многочисленные дефекты, расположенные, в основном, на границах контрастных переходов, т.е. там, где аппроксимируемая ИНС функция изменяет свое значение весьма быстро. Для обеспечения более гладкого вида аппроксимируемой функции и, таким образом, устранения данного негативного эффекта, в настоящей работе предлагается обучающее множество сети формировать из перекрывающихся блоков (рис. 5).

Рис. 5. Схема разбиения изображения на перекрывающиеся блоки При разбиении с перекрытием количество блоков-векторов значительно возрастает, в связи с чем для обеспечения равноценных условий обучения ИНС количество обучающих эпох для блоков с перекрытием было уменьшено до двух. Количество предъявлений векторов сети при этом осталось приблизительно одинаковым.

Результаты обучения ИНС на множестве перекрывающихся блоков представлены в табл. 2. Таблица 2. Результаты сжатия полутонового изображения с использованием перекрывающихся блоков

Количество нейронов “узкого горла” Количество векторов Суммарное количество предъявлений векторов (2 эпохи) Достигнутая минимальная ошибка обучения,% Реализуемый коэффициент сжатия

6 10864 21728 12,5 1,98

3 - - 18,5 3,95

2 - - 19,6 5,93

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

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

а) б) в) г)

Рис. 6. Результаты использования перекрывающегося разбиения:

а) исходное изображение; б), в), г) - изображения, восстановленные после сжатия с коэффициентом 1,98, 3,95

и 5,93 соответственно

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

5. Разрядность сжатых данных

В процессе эксперимента были использованы следующие разрядности представления сжатых данных: 32, 16, 8 и 4 бита. Выбор требуемой разрядности осуществлялся в результате применения ступенчатой передаточной функции нейронов. При этом выходные значения нейронов округлялись применительно к соответствующей разрядной сетке. Визуальный анализ сжатых и восстановленных изображений показал, что по мере снижения разрядности до используемой для представления исходных данных (8 бит/пиксель) качество восстановленных изображений остается практически неизменным. Дальнейшее снижение разрядности, однако, приводит к появлению значительной текстуризации (рис. 7).

а) б) в) г)

Рис. 7. Образцы изображений, восстановленных после сжатия с коэффициентом 1,98 и разрядностью выходных значений: а) 32 бита; б) 16 бит; в) 8 бит; г) 4 бита

6. Выводы

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

Формирование обучающего множества из перекрывающихся блоков изображения приводит к ускорению процесса обучения ИНС и улучшению качества восстановленного изображения.

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

1. Осовский С. Нейронные сети для обработки информации: Пер. с польск. Н.Д. Рудинского. - М.: Финансы и статистика, 2004. - 344 с.

2. Роберт Хехт-Нильсен. Нейрокомпьютинг: история, состояние, перспективы // Открытые системы. - 1998. -№ 4. - С. 10-14.

3. Verma В., Blumenstein М., Kulkarni S. A New Compression Technique Using an Atificial Neural Network // Journal

of Intelligent Systems. - 1999. - Vol. 9. - P. 39-53.

4. Cottrell G.W., Munro P., Zipser D. Image compression by back propagation: An example of extentional

programming // Proc. 9th Annual Conf., Cognitive Soc. - 1987. - P. 461-473.

5. Jiang J. Image compression with neural networks - A survey. Signal Processing: Image Commun. - 1999. - N 14.

- P. 737-760.