40b3cafdc92fd144af5358153aa4dab8.ppt
- Количество слайдов: 23
Городская математическая школа Отдел образования администрации Центрального района Муниципальное общеобразовательное учреждение Экономический лицей № 95 Секция математики НЕЙРОСЕТЕВЫЕ МЕТОДЫ СЖАТИЯ ИЗОБРАЖЕНИЙ Альмира Файзулина 10 класс Научный руководитель: Дедок Василий Александрович Аспирант ИМ СО РАН Новосибирск - 2010
Алгоритмы сжатия изображений С потерями JPEG – перевод в цветовое пространство яркости, цветности синего и красного (RGB>YCb. Cr) и отбрасывание части информации l Без потерь: l GIF – ограничение палитры 256 цветами
Недостатки метода сжатия с потерями JPEG Фотография заката в формате JPEG с уменьшением степени сжатия слева направо 800 × 600 пикселов, размер файла: 182 КБ, MIME-тип: image/jpeg
Монохромные (бинарные) изображения l l 2 цвета (черный и белый) Изображение представляется в виде растра (таблицы) со значениями яркости 0 (черный) и 1 (белый)
Нейронная сеть Цао-Ена (Гроссберга-Кохонена) Количество входов: размер обучаемого сегмента изображения (16=4 x 4) Количество выходов: размер выходного сегмента изображения (16) Количество нейронов промежуточного слоя: регулирует степень сжатия (8)
Отличия сети Цао-Ена от многослойного персептрона l Функция состояния l l l Персептрон Сеть Цао-Ена Функция активации l Персептрон l Сеть Цао-Ена На первый взгляд разница между сетями несущественна, но при рассмотрении процесса обучения будут видны принципиальные преимущества
Классификация изображений. 1 этап сжатия l l l Задача классификации заключается в разбиении объектов на классы (формирующиеся динамически), причем основой разбиения служит вектор параметров объекта. Назовём прототипом класса объект, наиболее типичный для своего класса. Один из самых простых подходов к классификации состоит в том, чтобы предложить существование определённого числа классов и произвольным образом выбрать координаты прототипов. В качестве меры близости двух векторов обычно выбирается евклидово расстояние:
Алгоритм обучения сети Цао. Ена. Шаги инициализации l Шаг 1. Нормализация входов l Единичная нормировка всех векторов (X, Y) обучающего множества l Шаг 2. Инициализация весов и нормализация столбцов матрицы весов l Весовым коэффициентам сети Wij, Vji, i=1, n, j=1, m присвоить случайные значения и произвести единичную нормировку матриц W. V по столбцам l Инициализация констант α и β
Алгоритм обучения сети Цао. Ена. Шаги инициализации l Шаг 1. Нормализация входов val: =0; for i: =1 to n do val: =val + sqr(inp[i]); val: =sqrt(val); for i: =1 to n do inp[i]: =inp[i]/val; l Шаг 2. Инициализация весов и нормализация столбцов матрицы весов alpha: =0. 7; betta: =0. 1; Randomize; for i: =1 to n do for j: =1 to m do begin w[i, j]: =Random; v[j, i]: =Random; end; for j: =1 to m do begin val: =0; for i: =1 to n do val: =val + sqr(w[i, j]); val: =sqrt(val); for i: =1 to n do w[i, j]: =w[i, j]/val; end; for i: =1 to n do begin val: =0; for j: =1 to m do val: =val + sqr(v[j, i]); val: =sqrt(val); for j: =1 to m do v[j, i]: =v[j, i]/val; end;
Алгоритм обучения сети Цао. Ена. Обучение слоя Кохонена При обучении сети самоорганизация происходит следующим образом. Для каждого j-го нейрона определяется расстояние от него до вектора X: Далее выбирается нейрон с номером k для которого это расстояние минимально (то есть сеть отнесла входной вектор к классу с номером k). На текущем шаге обучения N будут модифицироваться только веса нейронов и окрестности нейрона k:
Алгоритм обучения сети Цао. Ена. Обучение слоя Кохонена // Обучение слоя Кохонена for j: =1 to m do begin wo[j]: =0; for i: =1 to n do wo[j]: =wo[j] + inp[i] * w[i, j]; end; mx: =-1000000; mk: =0; for j: =1 to m do begin if wo[j] > mx then begin mx: =wo[j]; mk: =j; end; for j: =1 to m do wo[j]: =0; wo[mk]: =1; // Корректировка весов Кохонена for i: =1 to n do begin w[i, mk]: =w[i, mk] + alpha * (inp[i] - w[i, mk]); end;
Замечание по обучению Проведем предварительную единичную нормировку входных векторов: В таком случае, вычисление расстояния будет выглядеть как вычисление скалярного произведения: Таким образом, наименьшим будет расстояние до того нейрона, скалярное произведение с весами которого у входного вектора максимально.
Обучение слоя Гроссберга. 2 этап сжатия l Шаг 4 Корректировка весов нейрона v. N+1 kj = v Nkj + βN (zi - v. Nkj) l (k-номер выигравшего нейрона, весовой вектор которого даёт максимальное скалярное произведение с входным вектором)
Алгоритм обучения сети Цао. Ена. Обучение слоя Гроссберга // Обучение слоя Гроссберга for i: =1 to n do begin vo[i]: =0; for j: =1 to m do vo[i]: =vo[i] + wo[j] * v[j, i]; end; // Корректировка слоя Гроссберга for i: =1 to n do begin v[mk, i]: =v[mk, i] + betta * (inp[i] - v[mk, i]); end;
Алгоритм обучения сети Цао. Ена. Итерации l Шаг 5 l l Уменьшение значений αN, βN Шаг 6 l Повтор шагов 3 -5 Общее количество итераций должно быть достаточно большим. Все образы обучающей выборки желательно предъявить сети несколько десятков или даже сотен раз.
Алгоритм обучения сети Цао. Ена. Итерации l Шаг 5 l Уменьшение значений αN, βN // Корректировка констант alpha: =alpha * 0. 99; betta: =betta * 0. 99; // Результат обучения for i: =1 to n do begin r[i]: =vo[i]; end; Result: =r;
Сравнение с JPEG l Исходное изображение l Сжатие JPEG l Сжатие Цао-Ена
Крупный масштаб l Исходное изображение
Крупный масштаб l Сжатие JPEG
Крупный масштаб l Сжатие Цао-Ена
Алгоритм работы программы на Borland Delphi l l Построение сети Обучение сети Оптимизация сети Сжатие стандартными алгоритмами сжатия без потерь (RAR, ZIP…)
Основные этапы работы программы: «Построение сети» - это подготовка данных для обучения, l преобразование и занесение всех точек изображения в качестве базовых точек. «Обучение Сети» - содержит несколько вариантов алгоритмов , исключающих все точки, без которых можно восстановить изображение с заданной точностью. «Преобразование сети Цао-Ена» - содержит несколько вариантов алгоритмов, преобразующих сеть в более экономичный (внутренний) формат. «Сжатие» - дополнительно сжимает данные без потерь стандартными алгоритмами сжатия. При обучении нейронной сети используется более итераций обучения. 1 000
Результаты и направления продолжения работы Сравнение с алгоритмом JPEG: увеличение качества сжатия, уменьшение цветовых помех. l l Дальнейшая модификация нейронной сети: оптимизация для работы с полноцветными изображениями.
40b3cafdc92fd144af5358153aa4dab8.ppt