exponenta event banner

2-D Вейвлет-анализ пакетов

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

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

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

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

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

Запуск средства 2-D пакета Wavelet

  1. В подсказке MATLAB ® введитеwaveletAnalyzer. Появится вейвлет-анализатор.

    Выберите пункт меню Wavelet Packet 2-D.

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

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

Намек

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

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

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

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

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