Дискретные вейвлет-преобразования. Вейвлет-сжатие «на пальцах

Скачать Viber 01.08.2019
Скачать Viber

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

Что такое цифровое изображение

Визуальная информация в компьютере представляется в виде чисел. Говоря простым языком, фото, сделанное цифровым аппаратом, представляет собой таблицу, в ячейки которой вписаны значения цвета каждого из его пикселей. Если речь идет о монохромном изображении, то их заменяют значениями яркости из отрезка , где 0 используют для обозначения черного цвета, а 1 — белого. Остальные оттенки задаются дробными числами, но с ними неудобно работать, поэтому диапазон расширяют и значения выбирают из отрезка между 0 и 255. Почему именно из этого? Все просто! При таком выборе в двоичном представлении для кодирования яркости каждого пикселя требуется ровно 1 байт. Очевидно, что для хранения даже небольшого изображения требуется довольно много памяти. Например, фотография размером 256 х 256 пикселей займет 8 кБайт.

Несколько слов о методах сжатия изображений

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

К с потерями относятся:

  • JPEG. На данный момент это один из наиболее популярных алгоритмов. Он основан на применении дискретного косинусного преобразования. Справедливости ради нужно отметить, что существуют варианты JPEG, осуществляющие сжатие без потерь. К ним относятся Lossless JPEG и JPEG-LS.
  • JPEG 2000. Алгоритм используется на мобильных платформах и основан на применении дискретного вейвлет-преобразования.
  • Алгоритм фрактального сжатия. В некоторых случаях он позволяет получать изображения превосходного качества даже при сильном сжатии. Однако из-за проблем с патентованием этот метод продолжает оставаться экзотикой.

Без потерь сжатие осуществляют посредством алгоритмов:

  • RLE (используется в качестве основного метода в форматах TIFF, BMP, TGA).
  • LZW (применяется в формате GIF).
  • LZ-Huffman (используется для формата PNG).

Преобразование Фурье

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

Оно выглядит так:

Формула обращения записывается следующим образом:

Что такое вейвлет

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

Спектрограммы Wavelet отличаются от обычных спектров Фурье, так как связывают спектр различных особенностей сигналов с их временной компонентой.

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

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

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

  • Если для некой функции ψ (t) Фурье-преобразование имеет вид

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

Кроме того:

  • вейвлет должен обладать конечной энергией;
  • он должен быть интегрируемым, непрерывным и иметь компактный носитель;
  • вейвлет должен быть локализованным как по частоте, так и во времени (в пространстве).

Виды

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

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

Вайвлет Хаара

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

Сначала нужно вспомнить, что у фотографий яркость соседних пикселей, как правило, отличается на небольшую величину. Если даже на реальных изображениях присутствуют участки с резкими, контрастными перепадами яркости, то они занимают только малую часть изображения. В качестве примера возьмем всем известное тестовое изображение Lenna в градациях серого. Если взять матрицу яркости его пикселей, то часть первой строки будет выглядеть как последовательность чисел 154, 155, 156, 157, 157, 157, 158, 156.

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

В результате получится последовательность: 154,1,1,1,0,0,1,-2.

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

Для преодоления этого недостатка числа делят на пары и для каждой находят полусумму (об. a) и полуразность (об. d), т. е. для (154,155),(156,157),(157,157),(158,156) имеем (154.5,0.5),(156.5,0.5),(157,0.0),(157,-1.0). В таком случае в любой момент можно найти значение обоих чисел в паре.

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

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

Сжатие

Как уже было сказано, одной из сфер применения вейвлет-преобразования является алгоритм JPEG 2000. Сжатие с использованием метода Хаара основано на переводе вектора из двух пикселей X и Y в вектор (X + Y)/2 и (X - Y)/2. Для этого достаточно умножить исходный вектор на матрицу, представленную ниже.

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

Фильтры

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

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

Даже из приведенного выше хааровского вейвлет-преобразование для «чайников» становится очевидно, что оно представляет собой пару фильтров, которые разделяют сигнал на две составляющие: высокочастотную и низкочастотную. Для получения исходного сигнала достаточно просто вновь объединить эти составляющие.

Пример

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

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

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

Применение к двумерным массивам

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

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

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

Декодирование

Обратное преобразование в изображение производится по следующему алгоритму:

  • архив распаковывается;
  • применяется обратное преобразование Хаара;
  • декодированная матрица преобразуется в изображение.

Преимущества по сравнению с JPEG

При рассмотрении алгоритма Joint Photographic Experts Group было сказано, что он основан на ДКП. Такое преобразование осуществляется поблочно (8 х 8 пикселей). В результате, если сжатие сильное, то на восстановленном изображении становится заметной блочная структура. При сжатии с использованием вейвлетов такая проблема отсутствует. Однако могут появиться искажения другого типа, которые имеют вид ряби около резких границ. Считается, что подобные артефакты в среднем менее заметны, чем «квадратики», которые создаются при применении алгоритма JPEG.

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

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

Вначале опишем DWT в матричном виде, а затем – на основе банков фильтров, что наиболее часто используется при обработке сигналов.

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

      1. Матричное описание dwt

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

. (2.52)

Обратное преобразование есть умножение
на обратную матрицу
:

. (2.53)

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

В четвертой и восьмой строках матрицы (2.51) последовательность циркулярно сдвинута: коэффициенты, выходящие за пределы матрицы справа, помещены в ту же строку слева. Это означает, чтоDWT есть точно один период длины N DTWS сигнала , получаемого путем бесконечного периодического продолжения. Так чтоDWT, будучи определенным таким образом, использует периодичность сигнала, как и в случае с DFT.

Матричное описание DWT кратко и ясно. Однако при обработке сигналов DWT чаще всего описывается посредством блок-диаграммы, аналогичной диаграмме системы анализа-синтеза (см. рис.1.1).

      1. Описание dwt посредством блоков фильтров

Рассматривая в главе 1 субполосные преобразования, мы интерпретировали равенства, аналогичные (2.45) и (2.46), как фильтрацию с последующим прореживанием в два раза. Так как в данном случае имеется два фильтра и, то банк фильтров – двухполосный и может быть изображен, как показано на рис.2.5.

Фильтры F и E означают фильтрацию фильтрами и
, соответственно. В нижней ветви схемы выполняется низкочастотная фильтрация. В результате получается некоторая аппроксимация сигнала, лишенная деталей низкочастотная (НЧ) субполоса. В верхней части схемы выделяется высокочастотная (ВЧ) субполоса. Отметим, что при обработке сигналов константа
всегда выносится из банка фильтров и сигнал домножается на 2 (см. рис.3.2, глава 3).

Итак, схема рис.2.5 делит сигнал уровня
на два сигнала уровня
. Далее, вейвлет-преобразование получается путем рекурсивного применения данной схемы к НЧ части. При осуществлении вейвлет-преобразования изображения каждая итерация алгоритма выполняется вначале к строкам, затем – к столбцам изображения (строится так называемая пирамида Маллата). В видеокодеках ADV6xx применена модифицированная пирамида Маллата, когда на каждой итерации не обязательно выполняется преобразование и по строкам, и по столбцам. Это сделано для более полного учета зрительного восприятия человека.

Получившееся преобразование аналогично (2.51). Однако существуют некоторые различия. При фильтрации сигнала конечной длины мы сталкиваемся с проблемой его продолжения на границе. Матричное выполнение DWT эквивалентно периодическому продолжению сигнала на границе. Этот тип продолжения является обязательным для ортогональных фильтров. В случае применения биортогональных фильтров появляются некоторые другие возможности в силу симметричности их характеристик. Подробнее этот вопрос будет рассматриваться в главе 3.

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

  • 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), квантует результат, а потом сохраняет результат в файл. Попробуйте сжать этот файл своим любимым архиватором. Хорошо сжимается?

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

Заключение

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

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

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

6.3.3.1. Общие сведения о вейвлет-преобразованиях.

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

Вейвлет-преобразования (WT) подразделяют на дискретное (DWT) и непрерывное (CWT). DWT используется для преобразований и кодирования сигналов, CWT – для анализа сигналов.

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

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

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

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

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

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

Рисунок

Рисунок 3.1 – вейвлет-преобразование сигнала

6.3.3.2. Базисные функции вейвлет-преобразований.

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

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

, (3.1)

где b – сдвиг;

а – масштаб.

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

Следующая функция

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

.

На практике, в качестве базовой функции часто используют функцию

называемую мексиканской шляпой.

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

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

. (3.2)

Если базисная функция описывается выражением:

,

то в результате имеется обычное преобразование Фурье (в этом случае параметр не используется).

Для перекрытия функцией вейвлета всей временной оси пространства используется операция сдвига (смещения по временной оси): , где значение b для НВП является величиной непрерывной. Для перекрытия всего частотного диапазона используется операция временного масштабирования вейвлета с непрерывным изменением независимой переменной: . Таким образом, путем сдвига по независимой переменной (t-b) вейвлет имеет возможность перемещаться по всей числовой оси произвольного сигнала, а путем изменения масштабной переменной "а" (в фиксированной точке (t-b) оси) «просматривать» частотный спектр сигнала по определенному интервалу окрестностей этой точки.

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

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

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



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

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

,

,

где ;

Целые числа;

Параметр масштаба;

Параметр сдвига.

Базис пространства в дискретном представлении:

Вейвлет-коэффициенты прямого преобразования:

. (3.5)

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

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

. (3.6)

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

6.3.3.5. Частотно-временная локализация вейвлет-анализа.

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

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

. (3.8)

Если считать, что каждый вейвлет имеет определенную «ширину» своего временного окна, которому соответствует определенная «средняя» частота спектрального образа вейвлета, обратная его масштабному коэффициенту а , то семейства масштабных коэффициентов вейвлет-преобразования можно считать аналогичными семействам частотных спектров оконного преобразования Фурье, но с одним принципиальным отличием. Масштабные коэффициенты изменяют «ширину» вейвлетов и, соответственно, «среднюю» частоту их фурье-образов, а, следовательно, каждой частоте соответствует своя длительность временного окна анализа, и наоборот. Так малые значения параметра а , характеризующие быстрые составляющие в сигналах, соответствуют высоким частотам, а большие значения – низким частотам. За счёт изменения масштаба вейвлеты способны выявлять различия на разных частотах, а за счёт сдвига (параметр b ) проанализировать свойства сигнала в разных точках на всём исследуемом временном интервале. Многоразмерное временное окно вейвлет-преобразования адаптировано для оптимального выявления и низкочастотных, и высокочастотных характеристики сигналов.

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

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

6.3.3.6. Достоинства и недостатки вейвлет-анализа.

К достоинствам вейвлет-анализа можно отнести:

Вейвлетные преобразования обладают всеми достоинствами преобразований Фурье;

Вейвлетные базисы могут быть хорошо локализованными как по частоте, так и по времени;

При выделении в сигналах хорошо локализованных разномасштабных процессов можно рассматривать только те масштабные уровни разложения, которые представляют интерес;

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

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

6.3.3.7. Свойства вейвлет-анализа.

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

Линейность .

TW[α·x 1 (t)+β·x 2 (t)] = α·TW+β·TW.

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

TW = X(a, b-t o).

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

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

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

D n {TW}/dt n = TW.

TW = (-1) n x(t) dt.

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

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

X 1 (t)·x 2 *(t) = X ψ -1 a -2 X(a,b) X*(a,b) da db.

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

Основы цифровой обработки сигналов: учебное пособие / Ю.А. Брюханов, А.А. Приоров, В.И. Джиган, В.В. Хрящев; Яросл. Гос. ун-т им. П.Г. Демидова. – Ярославль: ЯрГУ, 2013. – 344 с. (с. 270)

Некоторые идеи теории вейвлетов появились очень давно. Например, уже в 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.


Рекомендуем почитать

Наверх