Кластеризация матриц с пропусками как метод восстановления мультимедийной информации

УДК 519.688

КЛАСТЕРИЗАЦИЯ МАТРИЦ С ПРОПУСКАМИ КАК МЕТОД ВОССТАНОВЛЕНИЯ МУЛЬТИМЕДИЙНОЙ ИНФОРМАЦИИ

И.Б. Ларионов

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

Введение

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

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

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

1. Сингулярное разложение матриц с пропусками

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

Copyright © 2009 И.Б. Ларионов.

Омский Государственный Университет им.Ф.М.Достоевского.

E-mail: igor@1. ws

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

Пусть задана прямоугольная матрица А = (аг-), клетки которой заполнены действительными числами или значком @, означающим отсутствие данных,

А

риц Рд.

А = £ Р

д

Таким образом, ставится задача поиска наилучшего приближения А матрицей вида, хгуз- методом наименьших квадратов:

ф = X](а-- жу-)2 ^ т1п-

г,3

<Ч]

Решение этой задачи дается последовательными итерациями по явным формулам, При фиксированном векторе уг значения хг, доставляющие минимум форме (1), однозначно и просто определяются из равенств ¿Ф/^хг:

¿Ф ^ .

= -2 2^ ^ ~ х^з)Уз = °>

г з

<Ч]

X аг-УП /

хг /

з ' ' ' з

аца,ц

Введем обобщенное на случай данных с пробелами определение скалярного произведения (•, ^)а и нормы || • ||а.

Определение 1. Скалярное произведение (у1, у2)а векторов у! и у2 называется

а

следующим образом:

(у1,у2)а = X у!гу2г.

г

аг=@

Определение 2. Норма ||у||а вектора у называется нормой по известным кома

Ы\а = \/(у,у)а =

\

у

г

аг=@

хг

ходятся как нормированное скалярное произведение вектора данных аг (г-ая Ау

_ (аг, у)сц

Х-т,

2

аг

где, напомним, скалярное произведение (•, ^)аг и норма || • ||аг вычисляются по

аг

данных с пробелами скалярным произведением и нормой,

хг уг

минимум форме (1), определяется явно из равенств ¿Ф/^уз- = 0:

хг

записать соответствующую проекцию ^’-го столбца а- матрицы А па вектор ж:

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

В качестве критерия остановки будем использовать малость относительного улучшения значения минимизируемого функционала на итерации, т.е. критерий остановки малость относительного улучшения ДФ/ф где ДФ - полученное за цикл уменьшение значения Ф, а Ф - само текущее значение. Естественно и

Ф

Таким образом, итерационная процедура останавливается, если ДФ/Ф < є или Ф < 6 для некоторых є 5 < 0.

В результате для матрицы А получили наилучшее приближение матрицей Р1 вида ЖгУу. Далее, го матрицы А вычитаем полученную матрицу Р1; и для полученной матрицы уклонений А — Р1 вновь ищем наилучшее приближение Р2

А

степени к нолю,

В результате получили опять же итерационную процедуру разложения матрицы А в виде суммы матриц ранга 1, т.е, А = Р1 + Р2 + • • • + Рд.

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

аі]

у — случайный, нормирован на 1 (т,е,||у||2 = уу2 = 1).

і

2. Описание наиболее распространенных повреждений графических файлов

В ходе эксперимента были предприняты попытки восстановить графические файлы формата BMP, Этот формат был выбран как наиболее простой и как один из форматов, в котором отсутствует сжатие, при котором изменение одного бита повлечет за собой изменение всех данных, идущих после этого бита (как это происходит в алгоритме JPEG), Также этот формат наиболее похож на формат RAW, который используют все профессиональные фотографы. Формат RAW отличается от BMP только заголовком, что позволяет рассматривать два этих формата как один и тот же. При стандартной потере одного блока (будь то блок на жестком диске или пакет в сети) данный формат теряет горизонтальный блок точек (пикселей) шириной в один пиксель. Это вызвано тем, что все 3 (а иногда и 4, если используется alpha-канал) канала изображения идут последовательно друг за другом, сгруппированные в блок из 3 (4) байт для одного пикселя,

В рассматриваемом формате данные хранятся в формате (a)RGB, т.е, хранятся отдельные составляющие для красного, зеленого и синего цветов (так же прозрачность alpha-канала). При моделировании восстановления данных было принято решение об использовании цветовой модели YUV, т.к. эта модель наиболее распространена (современное аналоговое телевидение, MPEG-подобные кодеки),

В модели YUV есть три составляющие: Y - яркость и две цветоразностных

- U и V, Преобразование из RGB в YUV происходит по следующим формулам:

Y = 0.299R + 0.587G + 0.114B,

U = -0.14713R - 0.28886G + 0.436B,

V = 0.615R - 0.51499G - 0.10001B.

Из YUV в RGB:

R = Y + 1.13983V,

G = Y - 0.39465U - 0.58060,

B = Y + 2.03211U.

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

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

3. Интерполяция бикубическими сплайнами

Пусть на отрезке а < £ < Ь задана сетка ш = (жг : ж0 = а < ж1 <

• • • < жг < хп = Ь} и в её узлах заданы значения функции у (ж), равные

у(ж0) = у0, ••• , у(жг) = уг, ••• ,у(жп) = уп. Требуется построить интерполянту

— функцию / (ж), совпадающую с функцией у(ж) в узлах сетки:

/

Основная цель интерполяции — получить быстрый (экономичный) алгоритм

/(ж) ж

/

комбинаций некоторых элементарных функций:

N

/(ж) = X °кФк (жг)’ к=0

где (Фк (ж)} — фиксированный линейно независимые функции, С0, С1, • • • , Сп — не определенные пока коэффициенты. Из условия (2) получаем систему из п +1 уравнений относительно коэффициентов (ск}:

N

У Ск Фк (жг) = Уг, * = 0, 1, • • • , п. к=0

Предположим, что система функций Фк (ж) такова, что при любом выборе узлов а < ж1 < • • • < жг < • • • < жп = Ь отличен от нуля определитель системы:

Ф0

Д

Ф0

Тогда по заданным уг(* = 1, ••• , п) однозначно определяются коэффициенты Ск (к =1, • • • , п),

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

/г = Уг, /(жг - 0) = /(жг + 0), //(жг - 0) = //(жг + 0), * = 1, 2, • • • , п - 1.

Кроме того, па границе при ж = ж0 и ж = жп ставятся условия

///

Будем искать кубический полином в виде

/

/г = уг

/(жг-1) = аг = Уг-1,/(ж*) = аг+Ь(^г+ Сг^2+^г^3 = у*, Л = ж-ж*-! ,* = 1, 2, • • • ,п-1.

гг

Вычислим производные:

/(ж) = Ьг + 2Сг(ж - ж*-1 ) + 3^(ж - ж*—1 )2, /"(ж) = 2с* + 6^г(ж - ж*—1 ),ж*-1 < £ < ж*, и потребуем их непрерывности при ж = жг:

Ьг+1 = Ьг + 2Сг^г + З^Л,2, С*+1 = С* + З^Л-г, * =1, 2, • • • , п - 1.

Общее число неизвестных коэффициентов, очевидно, равно 4п, число уравнений (5) и (6) равно 4п - 2, Недостающие два уравнения получаем из условия (3) при ж = ж0 и ж = жп:

С1 = 0, сп + заплп = о.

Выражение из (6) = СгНз^~Сг; подставляя это выражение в (5) и исключая

аг = уг-1, получим

Ьг

Уг - Уг-1 Лг

д (^1+1 “Ь2Сг) , 2 1, 2, • • • ,7?. 1,^г;

Уп Уп—1

Лп

2

7^ПСП-

Подставив теперь выражения для Ьг, Ьг+1 и аг в первую формулу (6), после

Сг

второго порядка

НгСг + 2{11г + кг+1)Сг+1 + кг+1Сг+2 = 3

Лг

г+1

Л.

г+1

С краевыми условиями

С1 0,Сп+1 0*

Условие сп+1 = 0 эквивалентно условию сп + 3апЛп =0 и уравнению сг+1 = сг + агЛг, Разностное уравнение (8) с условиями (9) можно решить методом прогонки, представив в виде системы линейных алгебраических уравнений вида, А * ж = Р, где вектор ж соответствует вектору (сг}, вектор Р поэлементно равен правой части уравнения (8), а матрица А имеет следующий вид;

(Сх в 0 0

А2 С*2 В 0

0 А3 С3 В3

А

0

0

0

0 0 0

• • • Вп—1

Ап Сп /

0000

где Аг = Лг, г = 2, • • • , п, Вг = Лг+1, г =1, • • • , п-1 и Сг = 2(Лг + Лг+1), г =1, • • • , п.

4. Метрики сравнений изображений

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

4.1. Метрика Минковского

Норма разницы между изображениями может быть посчитана путем взятия Минковского среднего разниц пикселей сначала пространственно, а затем хроматически (т.е. по зонам):

Для значения 7 = 2 мы получаем формулу для вычееления среднеквадратической ошибки, которая описана ниже,

В ходе работы использовалось значение 7 = то:

4.3. Метрика разницы с соседями

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

где ^(^, •) - некая функция расстояния, В данной работе рассматривается Евклидово расстояние.

Нетрудно заметить, что данная метрика при т = 1 сводится к среднеквадратической ошибке, описанной выше.

где Ck(i, j) - значение цветосоставляющей пикселя восстановленного изображения.

4.2. Среднеквадратическая ошибка

Данная метрика является частным случаем метрики Минковского:

4.4. Метрика многомерного расстояния

Данная метрика основывается на том, что большинство изображений хранятся в больших разрешениях (2000 пикселей в каждом измерении и более):

где, для примера, - среднее значение серой составляющей г^'-того блока красной составляющей, а г - относительное разрешение метрики,

5. Сравнение методов восстановления

В ходе работы было принято правило, что существует некая карта утраченных пикселов. Это было сделано для упрощения алгоритмов. На практике определение таковых потерь не является сложным, однако в контексте рассматриваемой темы, данный вопрос не является критичным.

Были реализованы два метода восстановления потерь и 4 метода сравнения восстановленных изображений с эталонным. Для упрощения вычислений метрики вычислялись только по карте потерь.

Было проведено 100 испытаний на каждом из 20 изображений различных типов:

1, Высококачественные фотографии МАБ А,

2, Высококачественные фотографии пейзажей,

3, Фотографии групп людей,

4, Различные искусственные изображения - логотипы, векторная графика, фрактальные изображения, которые были преобразованы в формат ВМР,

Данные типы изображений были выбраны из соображений наиболее полного охвата возможных входных наборов данных.

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

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

Таблица разбита на 4 группы по 2 столбца в каждой. Каждая группа отображает результаты соответствующей метрики: ММ - метрика Минковского; МБЕ

*,і=1

Таблица 1. Результаты испытаний

Метрика ММ MSE DON MDM

Метод Класт, Спл, Класт, Спл, Класт, Спл, Класт, Спл,

Высокока- чественные фотографии \ЛЯЛ 246,51 12,14 6345,20 276,58 876,45 23,48 758,45 90,23

Высокока- чественные фотографии пейзажей 645,02 34,58 9437,69 234,76 589,32 64,75 923,47 65,89

Фотографии групп людей 234,76 59,23 4753,29 347,60 289,34 75,98 234,76 59,82

Искусственные изображения 96,45 88,23 87,65 62,37 85,23 56,56 96,27 98,43

- среднеквадратическая ошибка; DON - метрика разницы с соседями; MDM -метрика многомерного расстояния.

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

Выводы

В ходе работы были реализованы два метода восстановления потерянной графической информации - кластеризация матриц с пропусками (линейная одномерная модель) и интерполяция бикубическими сплайнами. Было проведено сравнение этих методов метриками оценки качества восстановления, основанных на разнице значений пикселов.

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

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

Литература

1. Горбань, А.Н. Итерационный метод главных компонент для таблиц с пробелами / А.Н. Горбань, С.В. Макаров, A.A. Госсиев // Третий сибирский конгресс по прикладной и индустриальной математике (ИНПРИМ-98), 22-27 июня 1998. - Тезисы докладов. Ч. 5. - Новосибирск: Изд-во Института математики СО РАН, 1998.

2. Самарский, A.A. Введение в численные методы / A.A. Самарский. - М.: Наука, 1982.

3. Avcibas, I. Image Quality Statistics and Their Use in Steganalvsis and Compression / Ismail Avcibas, Bulent Sankur, Tale Akarun, Emin Anarim, Nasir Memon, Yucel Yemez. - 2001.