9-я Международная Конференция по Компьютерной Графике и Машинному Зрению ГрафиКон’99 Москва, 26 августа - 1 сентября 1999 г. Учебный курс Введение в вейвлет-анализ Леонид Левкович-Маслюк, Антон Переберин, ИПМ РАН, Москва, ИПМ РАН, Москва, [email protected] [email protected] ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Лекция 1 Вейвлет-преобразование и кратномасштабный анализ. Что такое вейвлет-преобразование? Кратномасштабный анализ и ортогональные вейвлеты. Быстрый алгоритм вычисления ортогонального вейвлет-преобразования. Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 2 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Что такое вейвлет-преобразование? Еще 10 лет назад основным способом анализа сигналов (например, временных рядов) было изучение «спектра Фурье». В основе любого из множества разработанных для этой цели методов лежит вычисление некоторого количества коэффициентов ряда Фурье периодической функции f(t) : f(t) cn e itn (1) n Эта функция получается из исходного сигнала путем сглаживания, усреднения по определенным образом выбираемым сегментам, и тому подобными операциями. Характер изменения коэффициентов позволяет получить ценную информацию о свойствах сигнала – например, выявить скрытые периоды. Для вычисления коэффициентов существует быстрый алгоритм, требующий N log N операций, где N – длина сигнала. Важнейшим свойством коэффициентов Фурье является то, что каждый из них отражает поведение f(t) в целом. Спектр Фурье наглядно демонстрирует лишь глобальные свойства сигналов, но из него трудно извлечь информацию о локальных особенностях – резких скачках, узких пиках, и т.п. Причина этого в строении базисных функций eitn . Каждая из них «размазана» по всему интервалу изменения функции, поэтому коэффициенты, имеющие вид 1 cn 2 2 f (t )e itn dt (2) 0 зависят от значений функции на всем интервале. Вейвлет-анализ – это исследование сигнала f(t) при помощи вычисления величин, аналогичных (2), но с другими «пробными функциями». Сигнал f(t) интерпретируется, как функция из L2 (R) , а вместо гармоник eitn используется bt система функций a , b (t ) , занумерованных не целыми числами, а двумя a непрерывными параметрами. Эта система получается из фиксированной функции (t ) всевозможными сдвигами и растяжениями. Функция (t ) называется вейвлетом (поанглийски – wavelet; в русской математической литературе используется также термин всплеск), если: A. (t ) непрерывна; B. (t ) интегрируема на всей прямой; C. (t ) dt 0 Вейвлет-преобразованием f(t) называется функция двух переменных 1 bt Wf (b, a ) f (t ) (3) dt a a Итак, в отличие от преобразования Фурье, вейвлет-преобразование определено неоднозначно: каждому вейвлету соответствует свое преобразование. Условие С означает, что Фурье-образ ( ) вейвлета обращается в 0 при 0 ; это нужно для того, чтобы в Фурье-области вейвлет был локализован вокруг некоторой ненулевой Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 3 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 частоты 0 . В качестве анализирующих вейвлетов обычно выбираются функции, хорошо локализованные также и в «пространственной области» (т.е. по t). На рис.1 изображен типичный график график вейвлета и его Фурье-образа. Рис. 1. Вейвлет в пространственной и частотной областях. Следующие рисунки показывают, какую информацию о сигнале можно получить при помощи вейвлет-преобразования. Вертикальная ось отвечает «масштабной» переменной a (на рисунках указаны значения log 2 (a ) , так что внизу находятся точки, отвечающие малым масштабам, а вверху – большим). По горизонтальной оси – переменная b (совпадающая с t). Условными цветами показано распределение абсолютных значениий Wf (b, a ) . Рассмотрим сначала простейшие сигналы. «Чистым гармоникам» вида e i t соответствуют яркие горизонтальные полосы, где модуль Wf (b, a ) велик. Локальным особенностям (нарушениям гладкости) отвечают вертикальные полосы, выходящие из точки, где находится особенность. Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 4 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Рис. 2. График суммы двух гармоник (внизу); его вейвлет-преобразование (вверху). Рис. 3. Изолированная гельдерова сингулярность (внизу); ее вейвлет-преобразование (вверху). Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 5 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Вейвлет-преобразование позволяет определить характер изменения частоты сигнала во времени. Рис. 4. (a) Сигнал: «визг» (chirp) с квадратичным нарастанием частоты мгновенно сменяется чистой гармоникой (b) Вейвлет-преобразование (c) Спектр Фурье На рис.4 видно, как по вейвлет-преобразованию сразу можно точно локализовать точка перехода с квадратичного «визга» (chirp) вида ei t на чистую гармонику e i t . Для сравнения приведен спектр Фурье, на котором вся эта динамика совершенно не отражена. 3 На рис.5 приведен другой пример сегментации различных частотных компонент с помощью вейвлет-преобразования (здесь по вертикальной оси отложены значения нормированной частоты). Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 6 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Рис. 5. Сигнал (вверху) состоит из 2-х модулированных гауссианов. Вейвлет-преобразование (справа) четко показывает их пространственную и частотную локализацию. Слева – спектр Фурье, дающий только частотную локализацию. Кратномасштабный анализ и ортогональные вейвлеты. Вейвлет-преобразование, рассмотренное в предыдущем пункте, называют непрерывным. Его выполнение требует больших вычислительных затрат. Желательно было бы иметь аналог разложения (1) с вейвлетами в качестве ортогональных базисных функций. Такие вейвлеты существуют, и очень полезны в задачах сжатия информации и подавления шумов. В этом разделе мы набросаем схему их построения. Она связана с исчерпанием пространства сигналов системой вложенных подпространств, отличающихся друг от друга только перемасштабированием независимой переменной. Такая система называется кратномасштабным анализом (multiresolution analysis). В качестве пространства сигналов будем рассматривать L2 (R ) – пространство комплекснозначных функций f (t ) на прямой, для которых пространстве f,g определено скалярное f (t ) g (t )dt . Число произведение 2 f (t ) dt < . В этом функций по формуле f = < f, f > называется нормой функции f (t ) . Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 7 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Базисом в пространстве V L2 (R) называется такая система функций {v i (t )} , что любая функция v(t ) V единственным образом записывается в виде v(t ) = ci vi (t ) . Базис называется ортонормированным, если v i (t ), v j (t ) ij . В этом случае c i v(t ), v i (t ) . Популярный пример ортобазиса в пространстве периодических функций – базис Фурье v n (t ) e int . В пространстве L2 (R) также есть много классических базисов – Эрмита, Лаггера и др. Определение. Ортогональным кратномасштабным анализом (ОКА) в 2 пространстве L (R ) называется система подпространств V j L2 ( R ), j 0, 1, ... , удовлетворяющая следующим условиям. 1. V j V j 1 , 2. v(t ) V j v(2t ) V j 1 , 3. v(t ) V0 v(t 1) V0 , 4. V j L2 ( R ), V j 0 , 5. существует (t ) V0 такая, что функции { (t m)}, m = 0, 1, ... образуют ортонормированный базис пространства V0 . Функция (t ) называется скейлинг-функцией (scaling function). Пример 1. Пусть (t ) 1 на интервале [0,1) и (t ) 0 вне этого интервала. Целочисленные сдвиги этой функции попарно ортогональны. V0 состоит из функций, постоянных на интервалах вида [n, n 1) , V1 – из функций, постоянных на интервалах n n 1 вида , , V1 – из функций, постоянных на интервалах вида [2n,2n 2) , и т.д. 2 2 Любую функцию из L2 (R ) можно приблизить функциями такого вида. В современной терминологии (t ) называется скейлинг-функцией Хаара (Haar). Будем считать, что пространство V0 состоит из сигналов, заданных «с разрешением 1». Тогда пространство V j – сигналы, заданные с разрешением 2 j . Любое V j отличается от V0 только перемасштабированием. Поэтому пространство порождено ортобазисом 1 вида 2 t 2 j / 2 2 j t m . m . Т.к. V1 V0 , функция 2 Vj Например, V1 порождено функциями t 2 2 1 обязана линейно выражаться через сдвиги ( t ) . Значит, существуют такие коэффициенты {hk } , что t (4) 2 Это – важнейшее в теории вейвлетов уравнение (уравнение масштабирования, уравнение рескейлинга, refinement equation, two-scale equation). Во многих практически важных случаях скейлинг-функция строится именно как решение этого функционального уравнения, в отличие от классических спецфункций, возникающих 2 k hk (t k ). Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 8 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 как решения дифференциальных уравнений. Неформально говоря, это связано с тем, что вейвлетный базис отслеживает изменение сигнала не только по времени, но и «по масштабу». Для функции Хаара коэффициенты h1 h2 1 / 2 . 2 здесь возникает из-за нормировки, а уравнение рескейлинга в этом случае выражает тот простой факт, что растянутая вдвое «ступенька» составлена из двух экземпляров исходной «ступеньки». Итак, мы знаем что хотя бы один ОКА существует. Покажем, как по произвольному ОКА построить ортогональный базис пространства L2 (R ) , состоящий из вейвлетов. Этот базис будет порожден единственным вейвлетом (t ) , а базисные функции будут иметь вид 2 j / 2 2 j t m . Дадим набросок конструкции (t ) . Рассмотрим разложение V0 = V1 W1 в сумму двух ортогональных подпространств: пространство функций W1 состоит из всех функций r (t ) V0 таких, что для любой функции s(t ) V1 выполнено r (t ), s(t ) = 0 . Пространство V0 порождено сдвигами скейлинг-функции, т.е. состоит из линейных комбинаций вида an (t n) . Пространство V1 порождено n сдвигами растянутой вдвое скейлинг-функции, т.е. состоит из линейных комбинаций вида bn (t / 2 n) . Мы хотим найти такую функцию (t ) , что W1 состоит из n линейных комбинаций cn (t / 2 n) . Для этого удобно перейти в частотную n область. Беря преобразования Фурье соответствующих линейных комбинаций, получаем, что фурье-образ любой функции из V0 имеет вид A( )ˆ ( ) , а фурье-образ A( ), B ( ) любой функции из V1 имеет вид B(2 )ˆ (2 ) . Здесь тригонометрические полиномы. Посмотрим, как устроено преобразование Фурье скейлинг-функции, т.е. функция ˆ ( ) . Используем простой математический факт: последовательность функций (t n ) является ортонормированной тогда и только тогда, когда ˆ ( 2n) 2 1. (5) n Это означает, что модуль ˆ ( ) имеет вид «шапочки», локализованной в некоторой окрестности нуля U. Можно сказать, что это «низкочастотный фильтр». Стало быть, фурье-образы всех функций из V0 локализованы в той же окрестности. С другой стороны, фурье-образы функций из V1 локализованы во вдвое более узкой окрестности, которую можно обозначить U/2. Значит, модуль фурье-образа искомой функции (t / 2) должен быть «мал» в U/2, и «велик» в дополнении к U/2 в U (т.е. быть «высокочастотным фильтром»). Это подсказывает способ построения ˆ ( ) . Возьмем преобразование Фурье от обеих частей уравнения рескейлинга (4). Получим: ˆ ( 2 ) H ( )ˆ ( ) . Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 (6) 9 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 H ( ) - тоже низкочастотный фильтр. Превратим его в высокочастотный следующим образом: G( ) e i H ( ) Теперь мы можем написать формулу для фурье-образа искомого вейвлета: ˆ (2 ) G ( )ˆ ( ) . В пространственной области это эквивалентно выражению t 2 k g k (t k ). 2 Эта конструкция схематически изображена на рис. 6. (7) (8) Рис. 6. Фурье-образы скейлинг-функции и вейвлета. Все эти рассуждения можно строго математически обосновать. А в силу того, что подпространства Vj вложены друг в друга и отличаются лишь масштабом независимой переменной, система 2 j / 2 2 j t m будет ортобазисом во всем пространстве L2 (R ) . 1 1 -1 , g0 , g1 . Другими 2 2 2 словами, с точностью до нормировки коэффициенты проекции на V1 являются суммами значений кусочно-постоянной функции на соседних единичных интервалах, а коэффициенты проекции на пространство деталей W1 – разностями этих значений. Продолжение примера . В данном случае h0 h1 Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 10 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Функция ( t ) равна 1 на интервале 0, , –1 на интервале , 1 , и нулю во всех 2 2 1 остальных точках. Множество 1 функций 2 j / 2 2 j t m образует ортонормированный базис всего пространства L2 (R ) . Это классический базис Хаара. Пространства кусочно-постоянных функций, образующие ОКА, скейлинг-функция и вейвлет изображены на рис. 7. Рис. 7. ОКА, порожденный функциями Хаара. Упражнение. Базис Хаара состоит из функций с нулевым интегралом. Выше утверждалось, что в ряд по этому базису можно разложить любую функцию из L2 (R ) . В том числе и, например, (t ) , которая равна 1 на интервале [0,1) и нулю вне этого интервала. Однако интеграл (t ) равен 1. Противоречие?... Указание. Коэффициенты разложения любой функции x(t) по вейвлетному базису 1 t имеют вид d jr = x(t), j / 2 j r , где скалярное произведение < , > было 2 2 определено в начале этого раздела. Выписать несколько первых коэффициентов разложения (t ) , и нарисовать график частичных сумм. Быстрый алгоритм вычисления ортогонального вейвлетпреобразования. Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 11 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 Можно предположить, что изначально заданный сигнал x (t ) известен с разрешением 1. Другими словами, пусть x(t ) V0 , и нам даны коэффициенты x n его разложения по сдвигам скейлинг-функции: x(t ) = xn (t n) n Естественно считать версией масштаба 2 ортогональную проекцию x (t ) на подпространство V1 . Она задается набором скалярных произведений x (t ) с функциями из ортобазиса V1 , то есть величинами cr = x(t), t 2 2 1 r . Из уравнения (4) и условий ортогональности (5) имеем: cr = h s x2 r s (9) s Другими словами, проекция осуществляется путем свертки с фильтром h * и прореживания вдвое. Заметим, что прореживание вдвое «встроено» в эту формулу (через индекс 2r s ). Разумеется, это следствие выбора базиса в V1 . В качестве деталей сигнала x (t ) , исчезающих при переходе к масштабу 2, следует взять компоненту x (t ) , ортогональную к сигналам масштаба 2, т.е. к пространству V1 . Мы видели, что имеет место разложение V0 = V1 W1 , где для любых функций a(t ) V1, b(t ) W1 выполнено a (t ), b(t ) = 0 , и ортобазисом W1 1 будет набор функций 2 t 2 m , где ( t ) задается формулой (8). Коэффициенты g k имеют вид g k = (-1) k h1 k . Искомая проекция задается набором скалярных произведений x (t ) с функциями из ортобазиса W1 , то есть величинами dr = x(t), 1 2 t 2 r . Совершенно аналогично (9) получаем d r = g s x2 r s , (9’) s что равносильно свертке с фильтром g * и прореживанию вдвое. Та же схема действует на любом масштабе. При любом j V j = V j 1 W j 1 , ортобазисом W j 1 будет 2( j 1) / 2 2 j 1t m и разложение сигнала из V j на сглаженную часть и детали (т.е. его проекции на V j 1 и W j 1 ) находятся по формулам (9) и (9’). Совокупность же функций 2 j / 2 2 j t m , где j и m пробегают все целые значения, будет базисом всего пространства L2 (R ) . Введем матрицы H и G : H ... ... ... ... ... ... h 2 ... ... ... ... h1 ... ... ... ... h0 h 2 ... ... ... h1 h1 ... ... ... h2 h0 h2 ... ... ... h1 h1 ... ... ... h2 h0 ... ... ... ... h1 ... ... ... ... h2 ... ... ... ... ... ... Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 12 ГрафиКон’99 G ... ... ... ... ... Москва, 26 августа – 1 сентября 1999 ... g 2 ... ... ... ... g 1 ... ... ... ... g0 g 2 ... ... ... g1 g 1 ... ... ... g2 g0 g 2 ... ... ... g1 g 1 ... ... ... g2 g0 ... ... ... ... g1 ... ... ... ... g2 ... ... ... ... ... ... Тогда условия ортогональности используемых базисов в V0 , V1 , W1 дают условие на матрицы H и G : (10) H * H G *G 1 Обозначив вектор исходных коэффициентов через x, можно записать его разложение в сумму огрубленной версии и серии векторов деталей: H H H H H x Hx H 2 x ... H N 1 x H N x G G G G (11) Gx GHx GH 2 x ... GH N 1 x Эту процедуру иногда называют быстрым вейвлет-преобразованием (Fast Wavelet Transform), а иногда – алгоритмом Малла (Mallat algorithm). Число итераций N может быть произвольным. Если вектор x конечен, его надо продолжить «на бесконечность»; проще всего это сделать периодическим образом. Каждое применение операторов H и G сокращает длину вектора вдвое, поэтому общее число операций линейно по длине входа. Результатом преобразования является набор векторов 2 N 1 N Gx, GHx, GH x, .... GH x, H x . Обратное преобразование делается по такой схеме: H* H* H* H* H* x Hx H 2 x ... H N 1 x H N x G* G* G* G* (12) GH 2 x ... GH N 1 x шаге восстанавливается по формуле H N 1 x N 1 * N * N 1 H x H ( H x) G (GH x) , которая верна в силу (10). Затем вычисляется Gx На GHx первом H N 2 x H * ( H N 1 x) G* (GH N 2 x) , и т.д. Литература [1] I. Daubechies, Ten Lectures on Wavelets. SIAM, 1992. [2] И.Я.Новиков, С.Б.Стечкин, Основные конструкции всплесков, Фундаментальная и прикладная математика, т. 3, вып. 4, стр.999-1028, 1997. [3] S. G. Mallat, A Wavelet Tour of Signal Processing, 1998. [4] B.Jawerth, W.Sweldens, An overview of wavelet based multiresolution analyses, SIAM Review, v. 36, p. 377-412, 1994. Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 13 ГрафиКон’99 Москва, 26 августа – 1 сентября 1999 [5] “Всплеск” (подборка популярных статей о теории и приложениях вейвлетанализа), Компьютерра, №8 (236), 2 марта 1998, стр. 28-53 (http://www.computerra.ru/1998/8/). [6] http://www.mathsoft.com/ - электронная библиотека по теории и приложениям вейвлетов. [7] http://www.wavelet.org/ выходит с 1992 года. - электронный вейвлет-дайджест (Wavelet Digest), [8] http://playfair.stanford.edu/~wavelab – вейвлетных программ на языке Matlab. WAVELAB, бесплатная библиотека Л. Левкович-Маслюк, А. Переберин. Введение в вейвлет-анализ. Лекция 1 14