2-D вейвлеты вейвлет-пакетов

В этом разделе мы используем инструмент Wavelet Packet 2-D для анализа и сжатия изображения отпечатка пальца. Это проблема реального мира: Федеральное бюро расследований (ФБР) ведет большую базу отпечатков пальцев - их около 30 миллионов наборов. Стоимость хранения всех этих данных исчисляется сотнями миллионов долларов.

«ФБР использует восемь биты на пиксель, чтобы задать оттенок серого и хранить 500 пикселей на дюйм, что работает примерно до 700 000 пикселей и 0,7 мегабайт на палец, чтобы хранить отпечатки пальцев в электронном виде». (Wickerhauser, см. ссылку [Wic94] p. 387, перечисленная в ссылки).

«Этот метод включает 2-D DWT, равномерное скалярное квантование (процесс, который обрезает или квантует точность выхода DWT с плавающей точкой) и энтропийное кодирование Хаффмана (т.е. кодирование квантованного выхода DWT с минимальным количеством бит)». (Brislawn, см. ссылку [Bris95] p. 1278, перечисленная в ссылки).

Обратившись к вейвлетам, ФБР достигло степени сжатия 15:1. В этой заявке вейвлета сжатие лучше, чем более традиционное сжатие JPEG, поскольку оно избегает небольших квадратных программных продуктов и особенно хорошо подходит для обнаружения разрывов (линий) в отпечатке пальца.

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

Запуск инструмента Wavelet Packet 2-D Tool

  1. Из MATLAB® приглашение, тип waveletAnalyzer. Появится Wavelet Analyzer.

    Выберите меню Вейвлета Packet 2-D элемента.

    Импорт изображения

    В командной строке MATLAB введите

    load detfingr;
    В инструменте Wavelet Packet 2-D выберите File > Import from Workspace > Import Image. Когда появится диалоговое окно Импорт из рабочей области (Import from Workspace), выберите X переменная. Нажмите кнопку ОК, чтобы импортировать изображение отпечатка пальца.

    Анализ изображения

  2. Установите соответствующие настройки для анализа. Выберите haar вейвлет, уровень 3, и тип энтропии shannon. Нажмите кнопку Analyze.

    Примечание

    Многие возможности доступны с помощью области команды справа от окна Вейвлета Packet 2-D.

  3. Нажмите кнопку «Лучшее дерево», чтобы вычислить лучшее дерево перед сжатием изображения.

Сжатие изображения с помощью пакетов Wavelet

  1. Нажмите кнопку Compress, чтобы открыть окно Wavelet Packet 2-D Compression. Выберите Bal. sparsity-norm (sqrt) опции из меню Select thresholding method.

    Заметьте, что порог по умолчанию (7,125) обеспечивает сжатие около 64% с сохранением практически всей энергии оригинального изображения. В зависимости от ваших критериев, может быть целесообразно экспериментировать с более агрессивными порогами, чтобы достичь более высокой степени сжатия. Напомним, что мы не делаем никакого квантования изображения, просто устанавливая конкретные коэффициенты в нуль. Это может рассматриваться как шаг предварительной сжатия в более широкой системе сжатия.

  2. Измените порог: введите число 30 в текстовом поле напротив порогового ползунка, расположенного на правой стороне окна Wavelet Packet 2-D Compression. Затем нажмите клавишу Enter.

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

  3. Нажмите кнопку «Сжатие», чтобы начать сжатие.

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

  4. Нажмите кнопку Close, расположенную в нижней части окна Wavelet Packet 2-D Compression. Обновите синтезированное изображение нажатием кнопки Да при появлении диалогового окна.

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

Намек

The bior6.8 вейвлет лучше подходит для этого анализа, чем haar, и может привести к лучшему коэффициенту сжатия. Когда используется биортогональный вейвлет, то вместо «Сохраненной энергии» отображается информация «Отношение энергии». Для получения дополнительной информации см. Раздел «Счета сжатия».

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

Этот график показан на нижней правой стороне инструмента Wavelet Packet 2-D. График показывает нам, какие детали были разложены и какие не имеют. Большие квадраты представляют детали, которые не были разбиты до такого количества уровней, как меньшие квадраты. Рассмотрим, например, этот шаблон разложения уровня 2:

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

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