Двумерное вейвлет-преобразование и мультифракталы

Я работаю над проектом Matlab, в котором используется двумерное вейвлет-преобразование. Я работаю над методом Максимум модуля преобразования вейвлета (WTMM). Я работаю с набором инструментов для вейвлетов Matlab. У меня есть несколько вопросов о вейвлетах и ​​методе WTMM: - Я использую двумерное дискретное вейвлет-преобразование (также dwt2 и wavedec2), но я не очень понимаю роль выходных данных dwt2 Approximation/Vertical/Horizontal/Diagonal. Я видел, что они были результатом фильтров нижних и верхних частот (https://www.clear.rice.edu/elec301/Projects02/artSpy/dwt.html), но какой вывод следует использовать для поиска локальных максимумов на изображении?

[A,H,V,D] = dwt2(X,'wname')
  • Я также использую мультифрактальный формализм в своем проекте. Чтобы построить масштабную функцию, я должен сначала построить функцию распределения (согласно этой статье http://www.scholarpedia.org/article/Wavelet-based_multifractal_analysis, в разделе «Метод WTMM»). Однако я не знаю, как правильно это построить; вот мой код:

     [A,H,D,V] = dwt2(im,'haar');         
     im_max = imregionalmax(abs(A)); % Modulus Maxima of the wavelet 
                                     Transform, using the Approximation 
                                     wavelet
     figure, imshow(im_max);
    
     %% Partition Function Z
    
     Z = 0; % Initialization of the partition function
    
     for q = -5:5
    
     Z = Z + abs(im_max).^q ;% Definition of the partition function.
     %Certainly wrong, I think q can't be the variable for the loop and 
     % im_max is not the correct input in abs.
    
     end
    
    a = 2; % scale factor. It is supposed to vary, I put it to 2 just for
           %  tests
    
    tau =  log(z)/log(a); % scaling function, in function of q according to
                          % the article
    
    plot(tau,q);
    

Заранее спасибо за помощь


person Whatzat    schedule 05.05.2015    source источник


Ответы (1)


Просто краткое обновление вашего вопроса, на которое я случайно наткнулся, подчеркнув несколько основных вещей: WTMM требует от вас вычисления непрерывных вейвлетов, он не будет работать с дискретной основой. Вы можете использовать, например, простую мексиканскую шляпу или третью производную вейвлета Гаусса и убедиться, что результаты существенно не различаются. Что касается статистической суммы, вы могли бы выбрать просто сумму модуля вейвлета по всей области. Однако было показано, что этот выбор менее стабилен, чем вычисление суммы максимумов, особенно при отрицательном q. Итак, вам нужно взять весь диапазон шкал «а», от обратной частоты Найквиста, скажем, до одной стотысячной размера домена, найти локальные максимумы для каждой и отбросить те, которые нельзя соединить линиями по шкалам. . Это сложный момент, который делает вычисления довольно громоздкими. По мере того, как вы достигаете все более мелких масштабов, появляется все больше и больше линий. Вы повторяете это для каждого q в пределах разумного диапазона, такого как q в [-1:6], меньшее q обычно дает ненадежные результаты. Как только вы получили Z(a, q) таким образом, вы проверяете, есть ли хорошее поведение масштабирования для поддиапазона масштабов. Показатель степенной зависимости обычно обозначается как tau(q): Z ~ a^tau. Это термодинамический аналог свободной энергии. Если тау(q) близка к прямой, у вас есть фрактал, если она ближе к параболе, у вас есть мультифрактал. Если это что-то еще, вы должны пройти предыдущие шаги дважды. Для получения спектра D (h) (или f (альфа)) необходимо провести больше анализа, чем преобразование Лежандра, которое также может быть нестабильным в вычислительном отношении. Надеюсь, это поможет после того, как вы спросили.

person Willy O    schedule 28.04.2020