К.А.Алексеев. Вейвлеты, аппроксимация и статистические приложения

Некоторые идеи теории вейвлетов появились очень давно. Например, уже в 1910 году А.Хаар опубликовал полную ортонормальную систему базисных функций с локальной областью определения (теперь они называются вейвлетами Хаара). Первое упоминание о вейвлетах появилось в литературе по цифровой обработке и анализу сейсмических сигналов (работы А.Гроссмана и Ж.Морле).

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

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

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

Вейвлеты и многомасштабный анализ

Рассмотрим задачу, которая очень часто встречается на практике: у нас есть сигнал (а сигналом может быть все, что угодно, начиная от записи показаний датчика и кончая оцифрованной речью или изображением). Идея многомасштабного анализа (multiscale analysis, multiresolutional analysis) заключается в том, чтобы взглянуть на сигнал сначала вплотную – под микроскопом, затем через лупу, потом отойти на пару шагов, потом посмотреть издалека (рис.1).

Что это нам дает? Во-первых, мы можем, путем последовательного огрубления (или уточнения) сигнала выявлять его локальные особенности (ударение в речи или характерные детали изображения) и подразделять их по интенсивности. Во-вторых, таким образом обнаруживается динамика изменения сигнала в зависимости от масштаба.

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

Идея применения вейвлетов для многомасштабного анализа заключается в том, что разложение сигнала производится по базису, образованному сдвигами и разномасштабными копиями функции-прототипа (то есть вейвлет-преобразование по своей сути является фрактальным). Такие базисные функции называются вейвлетами (wavelet ), если они определены на пространстве L 2 (R) (пространство комплекснозначных функций f(t) на прямой с ограниченной энергией), колеблются вокруг оси абсцисс и быстро сходятся к нулю по мере увеличения абсолютного значения аргумента (рис.2).

Оговоримся сразу, что это определение не претендует на полноту и точность, а дает лишь некий "словесный портрет" вейвлета. Таким образом, свертка сигнала с одним из вейвлетов позволяет выделить характерные особенности сигнала в области локализации этого вейвлета, причем чем больший масштаб имеет вейвлет, тем более широкая область сигнала будет оказывать влияние на результат свертки.

Согласно принципу неопределенности, чем лучше функция сконцентрирована во времени, тем больше она размазана в частотной области. При перемасштабировании функции произведение временного и частотного диапазонов остается постоянным и представляет собой площадь ячейки в частотно-временной (фазовой) плоскости.

Преимущество вейвлет-преобразования перед, например, преобразованием Габора заключается в том, что оно покрывает фазовую плоскость ячейками одинаковой площади, но разной формы (рис.3). Это позволяет хорошо локализовать низкочастотные детали сигнала в частотной области (преобладающие гармоники), а высокочастотные – во временной (резкие скачки, пики и т.п.).

Более того, вейвлет-анализ позволяет исследовать поведение фрактальных функций – то есть не имеющих производных ни в одной своей точке!

Ортогональное вейвлет-преобразование

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

Вообще говоря, для точного восстановления сигнала достаточно знать его вейвлет-преобразование на некоторой довольно редкой решетке в фазовой плоскости (например, только в центре каждой ячейки на рис.3). Следовательно, и вся информация о сигнале содержится в этом довольно небольшом наборе значений.

Идея здесь заключается в том, чтобы масштабировать вейвлет в некоторое постоянное (например, 2) число раз, и смещать его во времени на фиксированное расстояние, зависящее от масштаба. При этом все сдвиги одного масштаба должны быть попарно ортогональны – такие вейвлеты называются ортогональными.

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

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

Дискретное вейвлет-преобразование и другие направления вейвлет-анализа

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

К счастью, И.Добеши удалось найти метод, позволяющий построить (бесконечную) серию ортогональных вейвлетов, каждый из которых определяется конечным числом коэффициентов. Стало возможным построить алгоритм, реализующий быстрое вейвлет-преобразование на дискретных данных (алгоритм Малла). Достоинство этого алгоритма, помимо всего вышесказанного, заключается в его простоте и высокой скорости: и на разложение, и на восстановление требуется порядка cN операций, где с – число коэффициентов, а N – длина выборки.

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

Применение вейвлет-преобразования

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

  1. Обработка экспериментальных данных. Поскольку вейвлеты появились именно как механизм обработки экспериментальных данных, их применение для решения подобных задач представляется весьма привлекательным до сих пор. Вейвлет-преобразование дает наиболее наглядную и информативную картину результатов эксперимента, позволяет очистить исходные данные от шумов и случайных искажений, и даже "на глаз" подметить некоторые особенности данных и направление их дальнейшей обработки и анализа. Кроме того, вейвлеты хорошо подходят для анализа нестационарных сигналов, возникающих в медицине, анализе фондовых рынков и других областях.
  2. Обработка изображений. Наше зрение устроено так, что мы сосредотачиваем свое внимание на существенных деталях изображения, отсекая ненужное. Используя вейвлет-преобразование, мы можем сгладить или выделить некоторые детали изображения, увеличить или уменьшить его, выделить важные детали и даже повысить его качество!
  3. Сжатие данных. Особенностью ортогонального многомасштабного анализа является то, что для достаточно гладких данных полученные в результате преобразования детали в основном близки по величине к нулю и, следовательно, очень хорошо сжимаются обычными статистическими методами. Огромным достоинством вейвлет-преобразования является то, что оно не вносит дополнительной избыточности в исходные данные, и сигнал может быть полностью восстановлен с использованием тех же самых фильтров. Кроме того, отделение в результате преобразования деталей от основного сигнала позволяет очень просто реализовать сжатие с потерями – достаточно просто отбросить детали на тех масштабах, где они несущественны! Достаточно сказать, что изображение, обработанное вейвлетами, можно сжать в 3-10 раз без существенных потерь информации (а с допустимыми потерями – до 300 раз!). В качестве примера отметим, что вейвлет-преобразование положено в основу стандарта сжатия данных MPEG4.
  4. Нейросети и другие механизмы анализа данных. Большие трудности при обучении нейросетей (или настройке других механизмов анализа данных) создает сильная зашумленность данных или наличие большого числа "особых случаев" (случайные выбросы, пропуски, нелинейные искажения и т.п.). Такие помехи способны скрывать характерные особенности данных или выдавать себя за них и могут сильно ухудшить результаты обучения. Поэтому рекомендуется очистить данные, прежде чем анализировать их. По уже приведенным выше соображениям, а также благодаря наличию быстрых и эффективных алгоритмов реализации, вейвлеты представляются весьма удобным и перспективным механизмом очистки и предварительной обработки данных для использования их в статистических и бизнес-приложениях, системах искусственного интеллекта и т.п.
  5. Системы передачи данных и цифровой обработки сигналов. Благодаря высокой эффективности алгоритмов и устойчивости к воздействию помех, вейвлет-преобразование является мощным инструментом в тех областях, где традиционно использовались другие методы анализа данных, например, преобразование Фурье. Возможность применения уже существующих методов обработки результатов преобразования, а также характерные особенности поведения вейвлет-преобразования в частотно-временной области позволяют существенно расширить и дополнить возможности подобных систем.

И это еще далеко не все!

Заключение

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

Литература

  1. Добеши И. Десять лекций по вейвлетам. Москва, "РХД", 2001 г.
  2. Воробьев В.И., Грибунин В.Г. Теория и практика вейвлет-преобразования. С.-Петербург, ВУС, 1999 г.
  3. Mallat S. A theory for multiresolutional signal decomposition: the wavelet representation. IEEE Trans. Pattern Analysis and Machine Intelligence, 1989, N7, p.674-693.

Тема Вейвлет-преобразования.

Лекции 6-8

Масштабирующие функции. Ортогональное, непрерывное и дискретное вейвлет-преобразование.

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

Многомасштабное представление поверхностей для вейвлет-анализа. Вейвлет-сжатие сигналов, изображений, видеоизображений.

Вейвлетное преобразование сигналов является обобщением спектрального анализа, типичный представитель которого – классическое преобразование Фурье. Термин "вейвлет" (wavelet) в переводе с английского означает "маленькая (короткая) волна". Вейвлеты - это обобщенное название семейств математических функций определенной формы, которые локальны во времени и по частоте, и в которых все функции получаются из одной базовой (порождающей) посредством ее сдвигов и растяжений по оси времени. Вейвлет-преобразования рассматривают анализируемые временные функции в терминах колебаний, локализованных по времени и частоте. Как правило, вейвлет-преобразования (WT) подразделяют на дискретное (DWT) и непрерывное (CWT).

DWT используется для преобразований и кодирования сигналов, CWT - для анализа сигналов. Вейвлет-преобразования в настоящее время принимаются на вооружение для огромного числа разнообразных применений, нередко заменяя обычное преобразование Фурье. Это наблюдается во многих областях, включая молекулярную динамику, квантовую механику, астрофизику, геофизику, оптику, компьютерную графику и обработку изображений, анализ ДНК, исследования белков, исследования климата, общую обработку сигналов и распознавание речи.

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

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

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

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

История спектрального анализа восходит к И. Бернулли, Эйлеру и Фурье, который впервые построил теорию разложения функций в тригонометрические ряды. Однако это разложение долгое время применялось как математический прием и не связывалось с какими-либо физическими понятиями. Спектральные представления применялись и развивались сравнительно узким кругом физиков–теоретиков. Однако, начиная с 20-х годов прошлого века, в связи с бурным развитием радиотехники и акустики, спектральные разложения приобрели физический смысл и практическое применение. Основным средством анализа реальных физических процессов стал гармонический анализ, а математической основой анализа - преобразование Фурье. Преобразование Фурье разлагает произвольный процесс на элементарные гармонические колебания с различными частотами, а все необходимые свойства и формулы выражаются с помощью одной базисной функции exp(jt) или двух действительных функций sin(t) и cos(t). Гармонические колебания имеют широкое распространение в природе, и поэтому смысл преобразования Фурье интуитивно понятен независимо от математической аналитики.

Преобразование Фурье обладает рядом замечательных свойств. Областью определения преобразования является пространство L 2 интегрируемых с квадратом функций, и многие физические процессы в природе можно считать функциями, принадлежащими этому пространству. Для применения преобразования разработаны эффективные вычислительные процедуры типа быстрого преобразования Фурье (БПФ). Эти процедуры входят в состав всех пакетов прикладных математических программ и реализованы аппаратно в процессорах обработки сигналов.

Было также установлено, что функции можно разложить не только по синусам и косинусам, но и по другим ортогональным базисным системам, например, полиномам Лежандра и Чебышева, функциям Лагерра и Эрмита. Однако практическое применение они получили только в последние десятилетия ХХ века благодаря развитию вычислительной техники и методов синтеза цифровых линейных систем обработки данных. Непосредственно для целей спектрального анализа подобные ортогональные функции не нашли широкого применения из-за трудностей интерпретации получаемых результатов. По тем же причинам не получили развития в спектральном анализе функции типа "прямоугольной волны" Уолша, Радемахера, и пр.

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

Вейвлет-анализ является разновидностью спектрального анализа, в котором роль простых колебаний играют функции особого рода, называемые вейвлетами. Базисная функция вейвлет – это некоторое "короткое" колебание, но не только. Понятие частоты спектрального анализа здесь заменено масштабом, и, чтобы перекрыть "короткими волнами" всю временную ось, введен сдвиг функций во времени. Базис вейвлетов – это функции типа ((t-b)/a), гдеb- сдвиг, а – масштаб. Функция(t) должна иметь нулевую площадь и, еще лучше, равными нулю первый, второй и прочие моменты. Фурье-преобразование таких функций равно нулю при=0 и имеет вид полосового фильтра. При различных значениях масштабного параметра "a" это будет набор полосовых фильтров. Семейства вейвлетов во временной или частотной области используются для представления сигналов и функций в виде суперпозиций вейвлетов на разных масштабных уровнях декомпозиции (разложения) сигналов.

Первое упоминание о подобных функциях (которые вейвлетами не назывались) появилось в работах Хаара (Haar) еще в начале прошлого века. Вейвлет Хаара - это короткое прямоугольное колебание на интервале , показанное на рис. 1.1.1. Однако он интересен больше теоретически, так как не является непрерывно дифференцируемой функцией и имеет длинные "хвосты" в частотной области. В 30-е годы физик Пол Леви (Paul Levy), исследуя броуновское движение, обнаружил, что базис Хаара лучше, чем базис Фурье, подходит для изучения деталей броуновского движения.

Сам термин "вейвлет", как понятие, ввели в своей статье Дж. Морле и А. Гроссман (J. Morlet, A. Grossman), опубликованной в 1984 г. Они занимались исследованиями сейсмических сигналов с помощью базиса, который и назвали вейвлетом. Весомый вклад в теорию вейвлетов внесли Гуппилауд, Гроссман и Морле, сформулировавшие основы CWT, Ингрид Добеши, разработавшая ортогональные вейвлеты (1988), Натали Делпра, создавшая время-частотную интерпретацию CWT (1991), и многие другие. Математическая формализация вейвлетов в работах этих и других авторов привела к созданию теоретических основ вейвлет-анализа, названного мультиразрешающим (кратномасштабным) анализом.

В настоящее время специальные пакеты расширений по вейвлетам присутствуют в основных системах компьютерной математики (Matlab, Mathematica, Mathcad, и др.), а вейвлет-преобразования и вейвлетный анализ используются во многих областях науки и техники для самых различных задач. Многие исследователи называют вейвлет-анализ "математическим микроскопом" для точного изучения внутреннего состава и структур неоднородных сигналов и функций.

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

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

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

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

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

Определение вейвлета. К вейвлетам относятся локализованные функции, которые конструируются из одного материнского вейвлета (t) (или по любой другой независимой переменной) путем операций сдвига по аргументу (b) и масштабного изменения (а):

 ab (t) = (1/) ((t-b)/a), (a, b)R, (t)L 2 (R).

где множитель (1/) обеспечивает независимость нормы функций от масштабного числа "a".

Непрерывное вейвлет-преобразование сигнала s(t)L 2 (R), которое применяется для качественного частотно-временного анализа, по смыслу соответствует преобразованию Фурье с заменой гармонического базиса exp(-jt) на вейвлетный ((t-b)/a):

С(a, b) = s(t),  ab (t) = (1/)s(t)((t-b)/a) dt, (a, b)R, a0.

Вейвлетный масштабно-временной спектр С(a,b) в отличие от фурье-спектра является функцией двух аргументов: масштаба вейвлета "а" (в единицах, обратных частоте), и временного смещения вейвлета по сигналу "b" (в единицах времени), при этом параметры "а" и "b" могут принимать любые значения в пределах областей их определения.

Рис. 24.1.1. Вейвлеты Mhat и Wave.

На рис. 24.1.1 приведены примеры простейших неортогональных вейвлетов четного (Mhat) и нечетного (Wave) типов.

Для количественных методов анализа в качестве вейвлетных базисов можно использовать любые локализованные функции (t), если для них существуют функции-двойники  # (t), такие, что семейства { ab (t)} и {  ab (t)} могут образовывать парные базисы функционального пространства L 2 (R). Вейвлеты, определенные таким образом, позволяют представить любую произвольную функцию в пространстве L 2 (R) в виде ряда:

s(t) = С(a,b)  ab (t), (a, b)I,

где коэффициенты С(a,b) – проекции сигнала на вейвлетный базис пространства:

С(a,b) = s(t),  ab (t) =s(t) ab (t) dt.

Если вейвлет (t) обладает свойством ортогональности, то   (t) ≡ (t) и вейвлетный базис ортогонален. Вейвлет может быть неортогональным, однако если он имеет двойника, и пара ((t),   (t)) дает возможность сформировать семейства { mk (t)} и {  zp (t)}, удовлетворяющие условию биортогональности на целых числах I:

 mk (t),   zp (t) =  mz · kp , m,k,z,p Î I,

то возможно разложение сигналов на вейвлетные ряды с обратной формулой реконструкции.

Свойства вейвлета ,

    Локализация. Вейвлет должен быть непрерывным, интегрируемым, иметь компактный носитель и быть локализованным как во времени (в пространстве), так и по частоте. Если вейвлет в пространстве сужается, то его "средняя" частота повышается, спектр вейвлета перемещается в область более высоких частот и расширяется. Этот процесс должен быть линейным – сужение вейвлета вдвое должно повышать его "среднюю" частоту и ширину спектра также вдвое.

    Нулевое среднее значение , т.е. выполнение условия для нулевого момента:

что обеспечивает нулевое усиление постоянной составляющей сигналов, нулевое значение частотного спектра вейвлета при =0, и локализацию спектра вейвлета в виде полосового фильтра с центром на определенной (доминирующей) частоте  0 .

    Ограниченность. Необходимое и достаточное условие:

||(t)|| 2 =|(t)| 2 dt < 

    Автомодельность базиса или самоподобие. Форма всех базисных вейвлетов  ab (t) должна быть подобна материнскому вейвлету (t), т.е. должна оставаться одной и той же при сдвигах и масштабировании (растяжении/сжатии), иметь одно и то же число осцилляций.

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

Спектр C(a,b) одномерного сигнала представляет собой поверхность в трехмерном пространстве. Способы визуализации спектра могут быть самыми различными. Наиболее распространенный способ – проекция на плоскость ab с изолиниями (изоуровнями), что позволяет проследить изменения коэффициентов на разных масштабах во времени, а также выявить картину локальных экстремумов этих поверхностей ("холмов" и "впадин"), так называемый "скелет" (skeleton) структуры анализируемого процесса. При широком диапазоне масштабов применяются логарифмические координаты (log a , b ). Пример вейвлетного спектра простейшего сигнала при его разложении вейвлетом Mhat приведен на рис. 24.1.2.

Рис. 24.1.2. Сигнал, вейвлетный Mhat - спектр и масштабные сечения спектра.

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

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

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

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

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

 n (x) = (-1) n +1 d n /dx n , n ≥ 1, (24.1.1)

WАVE-вейвлет вычисляется по первой производной (n=1) и приведен на рис. 24.1.3 во временной и частотной области для трех значений масштабных коэффициентов "а". Форма вейвлета относится к нечетным функциям и, соответственно, спектр вейвлета является мнимым. Уравнение вейвлета по (24.1.1) с единичной нормой:

Рис. 24.1.3. Вейвлет Wave.

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

МНАТ-вейвлет (Mexican hat – мексиканская шляпа) вычисляется по второй производной (n=2) и приведен на рис. 24.1.5. Вейвлет симметричен, спектр вейвлета представлен только действительной частью и хорошо локализован по частоте, нулевой и первый моменты вейвлета равны нулю. Применяется для анализа сложных сигналов. Уравнение вейвлета по (24.1.1):

Рис. 24.1.5. Вейвлет MHAT.

На рис. 24.1.6 приведен пример использования вейвлета для анализа сложного сигнала y(t). Модель сигнала образована суммой сигналов разной структуры. Сигналы у1-у2 представляют собой функции Гаусса разного масштабного уровня, сигнал у3 - прямоугольный импульс, сигнал у4 задан в виде тренда с постоянным значением дифференциала. На контурном графике вейвлет-коэффициентов можно видеть выделение всех трех основных структур сигнала при полном исключении тренда. Особенно четко выделяются границы скачков прямоугольной структуры. Справа на рисунке приведена полная трехмерная картина вейвлет-преобразования.

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

Рис. 24.1.7.

При повышении номера производной функции (24.1.1) временная область определения вейвлета несколько увеличивается при существенном повышении доминирующей частоты вейвлета и степени его локализации в частотной области. Вейвлеты n-го порядка позволяют анализировать более тонкие высокочастотные структуры сигналов, подавляя низкочастотные компоненты. Пример вейвлета по восьмой производной приведен на рис. 24.1.7.

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

Свойства вейвлет-преобразования

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

Линейность .

TW[·s 1 (t)+·s 2 (t)] = ·TW+·TW. (24.2.1)

Инвариантность относительно сдвига . Сдвиг сигнала во времени на t 0 приводит к сдвигу вейвлет-спектра также на t 0:

TW = C(a, b-t o). (24.2.2)

Инвариантность относительно масштабирования . Растяжение (сжатие) сигнала приводит к сжатию (растяжению) вейвлет-спектра сигнала:

TW = (1/а о)·C(a/а о,b/а o). (24.2.3)

Дифференцирование .

d n {TW}/dt n = TW. (24.2.4)

TW = (-1) n s(t) dt. (24.2.5)

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

Аналог теоремы Парсеваля для ортогональных и биортогональных вейвлетов.

s 1 (t)·s 2 *(t) = C   a -2 С(a,b) С*(a,b) da db. (24.2.6)

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

Определения и свойства одномерного непрерывного вейвлет-преобразования обобщаются на многомерный и на дискретный случаи.

24.3. Вейвлет-преобразование простых сигналов.

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

с(a,b) =s(t)(t,a,b), (24.3.1)

где суммирование выполняется в растворе угла влияния (по области достоверности) с шагом t = b = a = 1. Так как при непрерывном разложении скейлинг-функция не используется, отсчет значений "а" начинается с 1, а ряд коэффициентов c(0,b) оставляется нулевым и определяет нулевой фон контурных графиков спектра.

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

Рис. 24.3.1. Преобразование импульсов Кронекера.

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

Рис. 24.3.2. Преобразование функций Лапласа.

Аналогичный характер спектра сохраняется и для любых локальных неоднородностей на сигналах в форме пиков (рис. 24.3.2) со смещением максимумов (минимумов) коэффициентов с(a,b) со значений а=1 в область больших значений "а" (в зависимости от эффективной ширины пиков).

Рис. 24.3.3. Преобразование функций Гаусса.

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

Рис. 24.3.4. Преобразование перепада постоянного значения функций.

На рис. 24.3.4 приведены спектры двух разных по крутизне перепадов постоянных значений функции. Центры перепадов фиксируются по переходу через нуль значений коэффициентов c(a,b), а крутизна перепадов отражается, в основном, на значениях функции c(a,b) при малых значениях параметра "а".

При изломах функций спектрограммы уверенно фиксируют место изломов максимумами (минимумами) значений коэффициентов c(a,b), как это показано на рис. 24.3.5. При наложении на такие функции шумов точное определение места изломов по масштабным сечениям на малых значениях параметра "а" становится невозможным, однако на больших значениях параметра "а" такая возможность сохраняется, естественно, с уменьшением точности локализации.

Рис. 24.3.5. Преобразование изломов функций.

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

Рис. 24.3.6. Преобразование гармонических функций.

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

Рис. 24.3.7. Изменение фазы гармонического сигнала.

На рис. 24.3.7 приведен пример еще одной характерной особенности гармонического сигнала – изменение его фазы на 180 о, которое хорошо фиксируется на всех масштабах вейвлета, а, следовательно, достаточно легко определяется даже в присутствии сильных шумовых сигналов.

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

Рис. 24.3.8. Преобразование суммы трех сигналов.

Форма вейвлета (четность или нечетность), доминирующая частота и степень ее локализации существенно влияют на вейвлет-спектры анализируемых сигналов и на возможности выделения его локальных особенностей. На нижеследующих рисунках приведены сравнительные спектры простых сигналов при использовании вейвлетов Wave (нечетный, рис. 24.1.3), Mhat (четный, рис. 24.1.5) и вейвлета по 8-й производной Гаусса (рис. 24.3.9-24.3.16), который также является четным, и имеет в 4 раза более высокую доминирующую частоту, чем вейвлет Mhat.

Рис. 24.3.9. Импульсы Кронекера.

Рис. 24.3.10. Пики Лапласа.

Рис. 24.3.11. Функции Гаусса.

Рис. 24.3.12. Крутые скачки.

Рис. 24.3.13. Сглаженные скачки.

Рис. 24.3.14. Изломы функций

Рис. 24.3.15. Фазовые скачки гармоник.

Рис. 24.3.16. Сумма двух модулированных синусоид.

При анализе произвольных сигналов использование разнотипных вейвлетов позволяет повысить достоверность выделения локальных особенностей сигналов.

Принцип вейвлет-преобразования. Гармонические базисные функции преобразования Фурье предельно локализованы в частотной области (до импульсных функций Дирака при Т) и не локализованы во временной (определены во всем временном интервале от -до). Их противоположностью являются импульсные базисные функции типа импульсов Кронекера, которые предельно локализованы во временной области и "размыты" по всему частотному диапазону. Вейвлеты по локализации в этих двух представлениях можно рассматривать как функции, занимающие промежуточное положение между гармоническими и импульсными функциями. Они должны быть локализованными как во временной, так и в частотной области представления. Однако при проектировании таких функций мы неминуемо столкнемся с принципом неопределенности, связывающим эффективные значения длительности функций и ширины их спектра. Чем точнее мы будем осуществлять локализацию временного положения функции, тем шире будет становиться ее спектр, и наоборот, что наглядно видно на рис. 1.1.5.

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

Вейвлетный базис пространства L 2 (R), R(-,), целесообразно конструировать из финитных функций, принадлежащих этому же пространству, которые должны стремиться к нулю на бесконечности. Чем быстрее эти функции стремятся к нулю, тем удобнее использовать их в качестве базиса преобразования при анализе реальных сигналов. Допустим, что такой функцией является psi - функцияt, равная нулю за пределами некоторого конечного интервала и имеющая нулевое среднее значение по интервалу задания. Последнее необходимо для задания локализации спектра вейвлета в частотной области. На основе этой функции сконструируем базис в пространстве L 2 (R) с помощью масштабных преобразований независимой переменной.

Функция изменения частотной независимой переменной в спектральном представлении сигналов отображается во временном представлении растяжением/сжатием сигнала. Для вейвлетного базиса это можно выполнить функцией типа (t) =>(a m t), a = const, m = 0, 1, … , M, т.е. путем линейной операции растяжения/сжатия, обеспечивающей самоподобие функции на разных масштабах представления. Однако локальность функции(t) на временной оси требует дополнительной независимой переменной последовательных сдвигов функции(t) вдоль оси, типа(t) =>(t+k), для перекрытия всей числовой оси пространства R(-,). C учетом обеих условий одновременно структура базисной функции может быть принята следующей:

(t) => (a m t+k). (1.1.10)

Для упрощения дальнейших выкладок значения переменных m и kпримем целочисленными. При приведении функции (1.1.10) к единичной норме, получаем:

 mk (t) = a m/2 (a m t+k). (1.1.11)

Если для семейства функций  mk (t) выполняется условие ортогональности:

 nk (t), lm (t)= nk (t)·* lm (t) dt = nl · km , (1.1.12)

то семейство  mk (t) можно использовать в качестве ортонормированного базиса пространства L 2 (R). Произвольную функцию этого пространства можно разложить в ряд по базису mk (t):

s(t) =S mk  mk (t), (1.1.13)

где коэффициенты S m k – проекции сигнала на новый ортогональный базис функций, как и в преобразовании Фурье, определяются скалярным произведением

S mk = s(t),  mk (t) =s(t) mk (t) dt, (1.1.14)

при этом ряд равномерно сходиться:

||s(t) –S mk  mk (t),|| = 0.

При выполнении этих условий базисная функция преобразования (t) называется ортогональным вейвлетом.

Простейшим примером ортогональной системы функций такого типа являются функции Хаара. Базисная функция Хаара определяется соотношением

(t) =(1.1.15)

Легко проверить, что при а = 2, m = 0, 1, 2, ..., k = 0, 1,2, … две любые функции, полученные с помощью этого базисного вейвлета путем масштабных преобразований и переносов, имеют единичную норму и ортогональны. На рис. 1.1.6 приведены примеры функций для первых трех значений m и b при различных их комбинациях, где ортогональность функций видна наглядно.

Рис. 1.1.6. Функции Хаара

Вейвлетный спектр , в отличие от преобразования Фурье, является двумерным и определяет двумерную поверхность в пространстве переменныхmиk. При графическом представлении параметр растяжения/сжатия спектра m откладывается по оси абсцисс, параметр локализации k по оси ординат – оси независимой переменной сигнала. Математику процесса вейвлетного разложения сигнала в упрощенной форме рассмотрим на примере разложения сигнала s(t) вейвлетом Хаара с тремя последовательными по масштабу m вейвлетными функциями с параметром а=2, при этом сам сигнал s(t) образуем суммированием этих же вейвлетных функций с одинаковой амплитудой с разным сдвигом от нуля, как это показано на рис. 1.1.7.

Рис. 1.1.7. Скалярные произведения сигнала с вейвлетами.

Для начального значения масштабного коэффициента сжатия m определяется функция вейвлета (1(t) на рис. 1.1.7), и вычисляется скалярное произведение сигнала с вейвлетом1(t), s(t+k)с аргументом по сдвигу k. Для наглядности результаты вычисления скалярных произведений на рис. 1.1.7 построены по центрам вейвлетных функций (т.е. по аргументу k от нуля со сдвигом на половину длины вейвлетной функции). Как и следовало ожидать, максимальные значения скалярного произведения отмечаются там, где локализована эта же вейвлетная функция.

После построения первой масштабной строки разложения, меняется масштаб вейвлетной функции (2 на рис. 1.1.7) и выполняется вычисление второй масштабной строки спектра, и т.д.

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

На рис. 1.1.8 приведен пример графического отображения вейвлетной поверхности реального физического процесса /4/. Вид поверхности определяет изменения во времени спектральных компонент различного масштаба и называется частотно-временным спектром. Поверхность изображается на рисунках, как правило, в виде изолиний или условными цветами. Для расширения диапазона масштабов может применяться логарифмическая шкала.

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

где * - символ комплексной сопряженности и функция ψ - некоторая функция. Функция может быть выбрана произвольным образом, но она должна удовлетворять определённым правилам.

Как видно, вейвлет-преобразование на самом деле является бесконечным множеством различных преобразований в зависимости от оценочной функции, использованной для его расчёта. Это является основной причиной, почему термин «вейвлет-преобразование » используется в весьма различных ситуациях и для различных применений. Также существует множество типов классификации вариантов вейвлет-преобразования. Здесь мы покажем только деление, основанное на ортогональности вейвлетов. Можно использовать ортогональные вейвлеты для дискретного вейвлет-преобразования и неортогональные вейвлеты для непрерывного. Эти два вида преобразования обладают следующими свойствами:

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

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

В библиотеке обработки данных Gwyddion реализованы оба этих преобразования и использующие вейвлет-преобразование модули доступны в меню Обработка данных Интегральные преобразования .

Дискретное вейвлет-преобразование

Дискретное вейвлет-преобразование (DWT) - реализация вейвлет-преобразования с использованием дискретного набора масштабов и переносов вейвлета, подчиняющихся некоторым определённым правилам. Другими словами, это преобразование раскладывает сигнал на взаимно ортогональный набор вейвлетов, что является основным отличием от непрерывного вейвлет-преобразования (CWT), или его реализации для дискретных временных рядов, иногда называемой непрерывным вейвлет-преобразованием дискретного времени (DT-CWT).

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

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

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

На следующем рисунке показаны некоторые масштабирующие функции и вейвлеты. Наиболее известным семейством ортонормированных вейвлетов явлется семейство Добеши. Её вейвлеты обычно обозначаются числом ненулевых коэффициентов a k , таким образом, мы обычно говорим о вейвлетах Добеши 4, Добеши 6, и т.п. Грубо говоря, с увеличением числа коэффициентов вейвлета функции становятся более гладкими. Это явно видно при сравнении вейвлетов Добеши 4 и 20, представленных ниже. Другой из упомянутых вейвлетов - простейший вейвлет Хаара, который использует прямоугольный импульс как масштабирующую функцию.

Функция масштабирования Хаара и вейвлет (слева) и их частотные составляющие (справа).

Функция масштабирования Добеши 4 и вейвлет (слева) и их частотные составляющие (справа).

Функция масштабирования Добеши 20 и вейвлет (слева) и их частотные составляющие (справа).

Существует несколько видов реализации алгоритма дискретного вейвлет-преобразования. Самый старый и наиболее известный – алгоритм Малла (пирамидальный). В этом алгоритме два фильтра – сглаживающий и несглаживающий составляются из коэффициентов вейвлета и эти фильтры рекуррентно применяются для получения данных для всех доступных масштабов. Если используется полный набор данных D = 2 N и длина сигнала равна L , сначала рассчитываются данные D /2 для масштаба L /2 N - 1 , затем данные (D /2)/2 для масштаба L /2 N - 2 , … пока в конце не получится 2 элемента данных для масштаба L /2 . Результатом работы этого алгоритма будет массив той же длины, что и входной, где данные обычно сортируются от наиболее крупных масштабов к наиболее мелким.

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

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

где Y ij соответствует всем коэффициентам наиболее высокого поддиапазона масштаба разложения (где, как предполагается, должна присутствовать большая часть шума). Или же дисперсия шума может быть получена независимым путём, например, как дисперсия сигнала АСМ, когда сканирование не идёт. Для наиболее высокого поддиапазона частот (универсальный порог) или для каждого поддиапазона (для адаптивного по масштабу порога) или для окружения каждого пикселя в поддиапазоне (для адаптивного по масштабу и пространству порога) дисперсия рассчитывается как

Значение порога считается в конечном виде как

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

Удаление шума DWT доступно в меню Обработка данных Интегральные преобразования → Удаление шума DWT .

Непрерывное вейвлет-преобразование

Непрерывное вейвлет-преобразование (CWT) - реализация вейвлет-преобразования с использованием произвольных масштабов и практически произвольных вейвлетов. Используемые вейвлеты не ортогональны и данные, полученные в ходе этого преобразования высоко коррелированы. Для дискретных временных последовательностей также можно использовать это преобразование, с ограничением что наименьшие переносы вейвлета должны быть равны дискретизации данных. Это иногда называется непрерывным вейвлет-преобразованием дискретного времени (DT-CWT) и это наиболее часто используемый метод расчёта CWT в реальных применениях.

В принципеЮ непрерывное вейвлет-преобразование работает используя напрямую определение вейвлет-преобразования, т.е. мы рассчитываем свёртку сигнала с масштабированным вейвлетом. Для каждого масштаба мы получаем этим способом набор той же длины N , что и входной сигнал. Используя M произвольно выбранных масштабов мы получаем поле N×M , которое напрямую представляет плоскость время-частота. Алгоритм, используемый для этого расчёта может быть основан на прямой свёртке или на свёртке посредством умножения в Фурье-пространстве (это иногда называется быстрым вейвлет-преобразованием).

Выбор вейвлета для использования в разложении на время-частоту является наиболее важной вещью. Этим выбором мы можем влиять на разрешение результата по времени и по частоте.Нельзя изменить этим путём основные характеристики вейвлет-преобразования (низкие частоты имеют хорошее разрешение по частотам и плохое по времени; высокие имеют плохое разрешение по частотам и хорошее по времени), но можно несколько увеличить общее разрешение по частотам или по времени. Это напрямую пропорционально ширине используемого вейвлета в реальном и Фурье-пространстве. Если, например, использовать вейвлет Морле (реальная часть – затухающая функция косинуса), то можно ожидать высокого разрешения по частотам, поскольку такой вейвлет очень хорошо локализован по частоте. наоборот, используя вейвлет Производная Гауссиана (DOG) мы получим хорошую локализацию по времени, но плохую по частоте.

Непрерывное вейвлет-преобразование реализовано в модуле CWT, который доступен в меню Обработка данных Интегральные преобразования → CWT .

Источники

A. Bultheel: Bull. Belg. Math. Soc.: (1995) 2

S. G. Chang, B. Yu, M. Vetterli: IEEE Trans. Image Processing, (2000) 9 p. 1532

S. G. Chang, B. Yu, M. Vetterli: IEEE Trans. Image Processing, (2000) 9 p. 1522

Непрерывное вейвлет-преобразование

Свойства вейвлет преобразования

Требования к вейвлетам

Для осуществления вейвлет-преобразования вейвлет-функции должны удовлетворять следующим критериям:

1. Вейвлет должен обладать конечной энергией:

2. Если фурье-преобразование для, то есть

тогда должно выполняться следующее условие:

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

3. Дополнительный критерий предъявляется для комплексных вейвлетов, а именно, что для них Фурье-преобразование должно быть одновременно вещественным и должно убывать для отрицательных частот.

4. Локализация: вейвлет должен быть непрерывным, интегрируемым, иметь компактный носитель и быть локализованным как во времени (в пространстве), так и по частоте. Если вейвлет в пространстве сужается, то его средняя частота повышается, спектр вейвлета перемещается в область более высоких частот и расширяется. Этот процесс должен быть линейным – сужение вейвлета вдвое должно повышать его среднюю частоту и ширину спектра также вдвое.

1. Линейность

2. Инвариантность относительно сдвига

Сдвиг сигнала во времени на t0 приводит к сдвигу вейвлет-спектра также на t0.

3. Инвариантность относительно масштабирования

Растяжение (сжатие) сигнала приводит к сжатию (растяжению) вейвлет-спектра сигнала.

4. Дифференцирование

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

Вейвлет преобразование для непрерывного сигнала относительно вейвлет функции определяется следующим образом:

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

Весовая функция.

Мы можем определить нормированную функцию следующим образом

что означает временной сдвиг на b и масштабирование по времени на a. Тогда формула вейлет-преобразования изменится на

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

В дискретном случае, параметры масштабирования a и сдвига b представлены дискретными величинами:

Тогда анализирующий вейвлет имеет следующий вид:

где m и n - целые числа.

В таком случае для непрерывного сигнала дискретное вейвлет-преобразование и его обратное преобразование запишутся следующими формулами:

Величины также известны как вейвлет-коэффициенты.

есть постоянная нормировки.

  • Tutorial

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

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

Сжатие изображений

Упрощённо, изображение представляют собой таблицу, в ячейках которой хранятся цвета каждого пикселя. Если мы работаем с чёрно-белым (или, точнее, серым) изображением, то вместо цвета в ячейки помещают значения яркости из отрезка . При этом 0 соответствует чёрному цвету, 1 - белому. Но с дробями работать неудобно, поэтому часто значения яркости берут целыми из диапазона от 0 до 255. Тогда каждое значение будет занимать ровно 1 байт.

Даже небольшие изображения требуют много памяти для хранения. Так, если мы кодируем яркость каждого пикселя одним байтом, то изображение одного кадра формата FullHD (1920×1080) займёт почти два мегабайта. Представьте, сколько памяти потребуется для хранения полуторачасового фильма!

Поэтому изображения стремятся сжать. То есть закодировать таким образом, чтобы памяти для хранения требовалось меньше. А во время просмотра мы декодируем записанные в память данные и получаем исходный кадр. Но это лишь в идеале.

Существует много алгоритмов сжатия данных. О их количестве можно судить по форматам, поддерживаемым современными архиваторами: ZIP, 7Z, RAR, ACE, GZIP, HA, BZ2 и так далее. Неудивительно, что благодаря активной работе учёных и программистов в настоящее время степень сжатия данных вплотную подошла к теоретическому пределу.

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

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

Алгоритмы сжатия «любят», когда в данных есть закономерность. Лучше всего сжимаются длинные последовательности нулей (закономерность тут очевидна). В самом деле, вместо того, чтобы записывать в память 100 нулей, можно записать просто число 100 (конечно, с пометкой, что это именно количество нулей). Декодирующая программа «поймёт», что имелись в виду нули и воспроизведёт их.

Однако если в нашей последовательности в середине вдруг окажется единица, то одним числом 100 ограничится не удастся.

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

Преобразование Хаара

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

У «реальных» изображений, таких как фотографии, есть одна особенность - яркость соседних пикселей обычно отличается на небольшую величину. В самом деле, в мире редко можно увидеть резкие, контрастные перепады яркости. А если они и есть, то занимают лишь малую часть изображения.

Рассмотрим фрагмент первой строки яркостей из известного изображения «Lenna» (на рисунке).

154, 155, 156, 157, 157, 157, 158, 156

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

Получаем:

154, 1, 1, 1, 0, 0, 1, -2.

Уже лучше! Такой метод в самом деле используется и называется дельта-кодированием. Но у него есть серьёзные недостаток - он нелокальный. То есть нельзя взять кусочек последовательности и узнать, какие именно яркости в нём закодированы без декодирования всех значений перед этим кусочком.

Попробуем поступить иначе. Не будем пытаться сразу получить хорошую последовательность, попробуем улучшить её хотя бы немного.

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

(154, 155), (156, 157), (157, 157), (158, 156)
(154.5, 0.5), (156.5, 0.5), (157, 0.0), (157, -1.0)

Почему именно полусуммы и полуразности? А всё очень просто! Полусумма - это среднее значение яркости пары пикселей. А полуразность несёт в себе информацию об отличиях между значениями в паре. Очевидно, зная полусумму a и полуразность d можно найти и сами значения:
первое значение в паре = a - d,
второе значение в паре = a + d.

Это преобразование было предложено в 1909 году Альфредом Хааром и носит его имя.

А где же сжатие?

Полученные числа можно перегруппировать по принципу «мухи отдельно, котлеты отдельно», разделив полусуммы и полуразности:

154.5, 156.5, 157, 157; 0.5, 0.5, 0.0, -1.0.

Числа во второй половине последовательности как правило будут небольшими (то, что они не целые, пусть пока не смущает). Почему так?

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

В самом деле, рассмотрим первые 2000 пар соседних пикселей и каждую пару представим на графике точкой.

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

А теперь рассмотрим график, точками в котором будут полусуммы и полуразности.

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

Применим математику!

Попробуем записать математические выражения, описывающие преобразование Хаара.

Итак, у нас была пара пикселей (вектор) , а мы хотим получить пару .

Такое преобразование описывается матрицей .

В самом деле , что нам и требовалось.

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

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

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

Для того, чтобы определитель стал равен единице достаточно умножить каждый элемент матрицы на . На угол поворота (а значит, и на «сжимающую способность» преобразования) это не повлияет.

Получаем в итоге матрицу

А как декодировать?

Как известно, если у матрицы определитель не равен нулю, то для неё существует обратная матрица, «отменяющая» её действие. Если мы найдём обратную матрицу для H, то декодирование будет заключаться просто в умножении векторов с полусуммами и полуразностями на неё.

Вообще говоря, поиск обратной матрицы - не такая простая задача. Но, может, удастся как-то эту задачу упростить?

Рассмотрим поближе нашу матрицу. Она состоит из двух вектор-строк: и . Назовём их v 1 и v 2 .

Они обладают интересными свойствами.

Во-первых, их длины равны 1, то есть . Здесь буква T означает транспонирование. Умножение вектор-строки на транспонированный вектор-строку - это скалярное произведение.

Во-вторых, они ортогональны, то есть .

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

В справедливости этого выражения можно убедиться умножив H обратную матрицу. На диагонали мы получим скалярные произведения вектор-строк на самих себя, то есть 1. А вне диагоналей - скалярные произведения вектор-строк друг на друга, то есть 0. В итоге произведение будет равно единичной матрице.

Мы любим ортогональные матрицы!

Увеличиваем число точек

Всё сказанное хорошо работает для двух точек. Но что делать, если точек больше?

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

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

Фильтры

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

Полученные «полусуммы» (из-за того, что делим не на 2, приходится использовать кавычки) - это, как мы уже выяснили, средние значения в парах пикселей. То есть, фактически, значения полусумм - это уменьшенная копия исходного изображения! Уменьшенная потому, что полусумм в два раза меньше, чем исходных пикселей.

Но что такое разности?

Полусуммы усредняют значения яркостей, то есть «отфильтровывают» случайные всплески значений. Можно считать, что это некоторый частотный фильтр.

Аналогично, разности «выделяют» среди значений межпиксельные «всплески» и устраняют константную составляющую. То есть, они «отфильтровывают» низкие частоты.

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

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

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

Степень сжатия можно увеличить, применяя преобразование Хаара многократно. В самом деле, высокочастотная составляющая - это всего лишь половина от всего набора чисел. Но что мешает применить нашу процедуру ещё раз к низкочастотным данным? После повторного применения, высокачастотная информация будет занимать уже 75%.

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

После многократного применения к, например, фотографии замка Лихтенштейн, получим следующий рисунок.

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

Этот процесс называется квантованием. И именно на этом этапе происходит потеря части информации. (К слову, такой же подход используется в JPEG, только там вместо преобразования Хаара используется дискретное косинус-преобразование.) Меняя число обнуляемых коэффициентов, можно регулировать степень сжатия!

Конечно, если обнулить слишком много, то искажения станут видны на глаз. Во всём нужна мера!

После всех этих действий у нас останется матрица, содержащая много нулей. Её можно записать построчно в файл и сжать каким-то архиватором. Например, тем же 7Z. Результат будет неплох.

Декодирование производится в обратном порядке: распаковывем архив, применяем обратное преобразование Хаара и записываем декодированную картинку в файл. Вуаля!

Где эффективно преобразование Хаара?

Когда преобразование Хаара будет давать наилучший результат? Очевидно, когда мы получим много нулей, то есть, когда изображение содержит длинные участки одинаковых значений яркости. Тогда все разности обнулятся. Это может быть, например, рентгеновский снимок, отсканированный документ.

Говорят, что преобразование Хаара устраняет константную составляющую (она же - момент нулевого порядка), то есть переводит константы в нули.

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

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

Преобразование Добеши

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

То есть, если исходная последовательность - 1, 2, 3, 4, 5, 6,…, N-1, N, то будем брать четвёрки (1, 2, 3, 4), (3, 4, 5, 6) и т. д. Последняя четвёрка «кусает последовательность за хвост»: (N-1, N, 1, 2).

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

Пусть значения яркостей в четвёрке равны x, y, z, t. Тогда первый фильтр запишем в виде

Четыре коэффициента, образующих вектор-строку матрицы преобразования, пока нам неизвестны.

Чтобы вектор-строка коэффициентов второго фильтра был ортогонален первому, возьмём те же коэффициенты но переставим их и поменяем знаки:

Матрица преобразования будет иметь вид.

Требование ортогональности выполняется для первой и второй строк автоматически. Потребуем, чтобы строки 1 и 3 тоже были ортогональны:

Векторы должны иметь единичную длину (иначе определитель будет не единичным):

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

Преобразование должно обнулять цепочку линейно растущих значений (например, (1, 2, 3, 4)):

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

Получили 4 уравнения, связывающие коэффициенты. Решая их, получаем:

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

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

Это преобразование получило название вейвлета D4 (читателю предлагается самостоятельно разгадать тайну этого буквенно-цифрового названия).

Другие вейвлеты

Мы, конечно, можем не остановиться на этом, и потребовать устранения параболической составляющей (момент 2-го порядка) и так далее. В результате получим вейвлеты D6, D8 и другие.

Чтобы не считать всё вручную, коэффициенты можно посмотреть в википедии .

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

Домашнее задание

Чтобы окончательно разобраться с основами, предлагаю написать на вашем любимом языке программу, которая открывает изображение, выполняет преобразование Хаара (или даже D4), квантует результат, а потом сохраняет результат в файл. Попробуйте сжать этот файл своим любимым архиватором. Хорошо сжимается?

Попробуйте выполнить обратное преобразование. Как вы объясните характер артефактов на изображении?

Заключение

Итак, мы кратко рассмотрели основные идеи дискретного вейвлет-преобразования.

Конечно, в этой статье не были рассмотрены очень многие интересные математические детали и практические применения вейвлет-преобразований. Но нельзя объять необъятное. Да и многое сложно объяснить не повышая градус матана. Надеюсь, что и написанное оказалось кому-то полезным. Добавить метки



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: