• Aucun résultat trouvé

3.3 Une décomposition optimale et non-uniforme

3.3.4 Complexité et extension 2D

La projection sélectionnée est alors non uniforme et minimale4 pour une fonction de coût".

3.3.4 Complexité et extension 2D

La complexité algorithmique est l'un des problèmes majeurs lorsque l'on construit des décom-positions invariantes par translation. En eet, l'invariance nous oblige, en général, à calculer un certain nombre de combinaisons qui peuvent vite faire exploser l'algorithme. Nous allons étudier le cas de la décomposition en ondelettes de Malvar non-uniforme, mais un raisonnement analogue peut être eectué pour toutes bases' fenêtrées non-uniformes.

L'algorithme classique de décomposition en ondelettes de Malvar va requérir, pour le calcul de l'échelle l, 2l?1 applications de l'opérateur U, et 2l transformées trigonométriques locales, chacune sur un intervalle de N

2l points (si N est la longueur du signal traité). La réalisation numérique de l'opérateur U est d'une complexité négligeable. Seules les transformées trigonométriques sont prises en compte dans le calcul de la complexité de l'algorithme. Le calcul d'une échelle a donc une complexité égale à (2l

N

2llog2

N

2l 

, que l'on approxime généralement par (Nlog2N). Une décomposition en ondelettes de Malvar surL échelles a donc une complexité vériant

Malvar=(LNlog2N):

Maintenant, si l'on désire calculer une transformée en ondelettes de Malvar sur L échelles qui étudie toutes les partitions possibles sans aucune restriction (ni astuce) et qui soit minimale, nous devons tout d'abord décomposer le signal original, puis décomposer son translaté de 2NL points, etc, jusqu'à décomposer son translaté de N ? N

2L points. 2L décompositions sont calculées, entraînant alors une complexité inva telle que

inva =(2LLNlog2N):

Cette complexité va croître d'une façon alarmante lorsque N et L augmentent, ce qui élimine cette méthode. La solution proposée par Cohen est invariante par translation, et sélectionne à chaque échelle la meilleure translation. En utilisant un algorithme qui débute par l'échelle L, comme il le propose, cela permet de ne multiplier que par 2 la complexité par rapport à l'algorithme classique

cohen =(2LNlog2N):

Toutefois, comme nous l'avons dit, cet algorithme peut ne pas être pleinement satisfaisant car il n'est pas optimal et n'étudie pas l'ensemble des segmentations possibles.

L'algorithme que nous proposons permet d'étudier toutes les combinaisons de partitions. D'après la proposition (6), chaque échelle l est constituée de 2L?l ensembles. Si, dans un premier temps, on ne se limite pas aux partitions respectant la structure temporelle du signal, le calcul de chaque

échelle requiert 2L?lNlog2N opérations. Nous avons donc une complexité MNU1 (MNU pour Malvar Non Uniforme) dénie par:

MNU1= XL

l=1

2L?lNlog2N+Nlog2N

!

:

La version nale de notre algorithme ne prend en compte que les intervalles qui sont adjacents dans le signal. Donc, à chaque échelle, un certain nombre d'intervalles, symbolisés par Rl;s, ne sont plus modiés et peuvent être retirés des ensemblesSl;s. Or nous avons vu que card(Rl;s) = N2l pour

8s 2 h N 2L;N 2l? N 2L i

. Le calcul de chaque échelle requiert donc Nlog2N opérations pour Sl;0 plus (2L?l?1)(N?N

2l)log2(N?N

2l) opérations pour les 2L?l?1 ensemblesSl;s, avecs >0. La complexité totale de notre algorithme est alors égale à

MNU2= XL l=1  (2L?l ?1)(N ? N 2l)log2(N ? N 2l) +LNlog2N ! :

Nous pouvons voir que le fait de se limiter aux partitions respectant la structure temporelle du signal réduit d'une façon signicative la complexité algorithmique. Nous illustrons ces diérentes complexités sur la gure 3.11.

Fig. 3.11  Evolution en fonction du nombre d'échelles de la complexité des diérents algorithmes avec un signal de 2048 points: Malvar Complexité de la décomposition en ondelettes de Malvar,

inva Complexité de la décomposition en ondelettes de Malvar invariante par translation calculée par décompositions successives du signal translaté,MNU1 Complexité de la décomposition en ondelettes de Malvar non uniforme calculée à partir de la dernière échelle sans contrainte,MNU2 Complexité de la décomposition en ondelettes de Malvar non uniforme avec la contrainte de non fusion sur les intervalles non adjacents

On constate sur cette gure que le calcul d'une décomposition en ondelettes de Malvar non uniforme sans restriction temporelle sur les intervalles (MNU1) présente une complexité qui évo-lue d'une façon sensiblement identique à celle de l'algorithme basé sur le calcul de la totalité des translations (inva). Alors que si l'on se limite à l'étude des partitions respectant la structure du si-gnal original, l'accroissement de la complexité est beaucoup plus raisonnable, permettant d'utiliser l'algorithme sur des grands signaux.

Comme nous l'avons indiqué, Xiong [98] a proposé récemment un algorithme permettant d'ef-fectuer une segmentation exible de l'axe temporel. La méthodologie est diérente et est basée sur la programmation dynamique. Nous illustrons le principe de cet algorithme sur la gure 3.12.

Fig.3.12  Principe de l'algorithme de segmentation exible de Xiong L'algorithme débute en se focalisant sur les deux premiers petits intervalles de h

0;N2?L+1 ?1i

du signal. Il y a deux segmentations possibles dans ce cas, et celle qui présente le coût le plus faible est choisie. Ensuite l'algorithme étudie les trois premiers petits intervalles deh

0;N2?L+1+N2?L?1i

:

En utilisant le gagnant de la première comparaison, cet algorithme basé sur la programmation dynamique n'a besoin de faire que trois comparaisons pour trouver les meilleurs intervalles sur

h

0;N2?L+1+N2?L?1i

. Et l'algorithme se poursuit ainsi jusqu'à avoir étudié la totalité du signal. On constate que le nombre de coupures à calculer, ainsi que le nombre de transformations à eectuer sont identiques à notre algorithme: c'est-à-dire qu'un intervalle n'est jamais calculé deux fois ou plus. Donc la complexité algorithmique est identique pour la méthode de Xiong et la nôtre. Une première diérence pourrait apparaître si l'on mesure le coût de stockage. En eet, dans l'algorithme de Xiong, la comparaison ls-père est eectuée au fur et à mesure de la décomposition, ce qui évite de conserver en mémoire toutes les segmentations. Mais, puisque notre méthode débute à l'échelle la plus ne, on peut aussi appliquer simultanément la division et l'algorithme de recherche de meilleure base modié, ce qui nous permet ainsi d'avoir un coût de stockage identique. La seule diérence entre ces deux algorithmes est dans leur dénition. Cette diérence de conception a plusieurs conséquences, dont les deux principales sont:

 Nous présentons notre méthode non-uniforme avec des coûts additifs , mais puisque la totalité des arbres est construite, on peut envisager d'autres coûts plus adaptés. L'algorithme de Xiong nécessite forcément un coût additif.

 Notre méthode permet une formalisation générale récursive. Ceci se traduit notamment par un coût de programmation très réduit. Ce n'est pas le cas avec l'algorithme de Xiong. L'adaptation des algorithmes non-uniformes à la dimension 2 est dicile car la complexité va exploser . En eet le nombre de combinaisons va vite devenir incontrôlable lorsque le nombre d'échelles augmente. Nous avons représenté sur la gure 3.13 toutes les translations qu'il faudrait eectuer pour calculer l'échelle 2 à partir de l'échelle 3, en considérant que L = 3. On constate que même ce premier calcul, qui dans le cas 1D présente une complexité de 2Nlog2N, entraîne un nombre de combinaisons très et trop important. Donc, lorsqueLaugmente l'algorithme ne peut plus être utilisé dans des temps raisonnables, même en n'étudiant que les partitions qui respectent la structure spatiale de l'image d'origine. Pour ces raisons, nous n'avons pas généralisé l'algorithme aux dimensions supérieures à un. Cependant, une généralisation à la dimension 2 des décompositions

non-uniformes est possible si on relâche la contrainte de recherche de base minimale absolue, en ne cherchant plus qu'une base qui correspond à un minimum local de la fonction de coût. Nous reviendrons sur cette solution dans le dernier chapitre consacré aux décompositions non-uniformes.

Fig. 3.13  Translations à calculer pour exprimer l'échelle 2 à partir de l'échelle 3 dans une décom-position 2D en ondelettes de Malvar non uniforme