• Aucun résultat trouvé

3.3 Compression adaptative d’images basée sur les ondelettes

3.3.2 Méthodes

Concept de la compression adaptative

Le concept de la compression adaptative proposé s’inscrit directement dans le processus d’échange de données. Ce processus d’échanges peut être représenté fonctionnellement par la figure ci-dessous. Il consiste en :

– Une analyse préliminaire des données, par l’émetteur, afin de déterminer celles qui sont pertinentes : les zones qualifiés d’intérêt,

– Une sélection manuelle ou semi - automatique des zones d’intérêt,

– Une compression adaptative des donnés à transmettre ou à stocker de manière à ne pas trop dégrader les zones d’intérêt.

On retrouve ainsi l’idée même du concept de généralisation cartographique dans laquelle on sélectionne les objets pertinents avant de les modifier et ce dans le but de les conserver après changement d’échelle [48].

Fig. 3.12 – Processus d’échange des données entre deux niveaux.

Après la transmission ou le stockage, il y’a synthèse ou reconstruction des données et analyse des données. La synthèse consiste à reconstruire les données transmises ou stockées, qui est

une étape correspondant à la décompression des données [67]. L’analyse consiste à examiner les données transmises (zones d’intérêt dans un contexte dégradé).

Les images à très haute résolution offrent, de par leur finesse de détails, de nombreux avan- tages pour l’analyse d’image. En revanche, elles ne permettent pas d’appréhender une scène dans son ensemble, de connaître l’environnement général et de sélectionner rapidement des zones d’in- térêt. Pour produire de telles images, à partir d’images haute résolution, on se borne bien souvent à sous-échantillonner l’image haute résolution. Que l’on fasse un sous-échantillonnage brutal (on prélève un point sur N) ou plus conforme aux exigences de la théorie du signal (on commence par filtrer l’image avant de conserver qu’un point sur N) , le résultat obtenu est très peu apte à supporter une exploration d’ensemble de la scène : les structures ponctuelles et linéaires sont gommées et les structures surfaciques sont modifiées, alors que ce sont précisément ces éléments qui sont utiles à l’utilisateur pour se repérer dans l’image [38].

Dans une image avec zones d’intérêt, le contexte de l’image doit permettre à l’utilisateur d’appréhender la scène dans son ensemble. Il n’a donc pas besoin d’être représenté à pleine résolution [69]. Aussi, il est possible de choisir de le compresser très fortement en fonction de l’intérêt que lui porte l’utilisateur. La méthode JPEG avec pertes permet d’obtenir des taux de compression importants après lissage et décimation effectués au préalable [72].

Compression des zones d’intérêt : Extraction des zones d’intérêt

Le but, est de présenter une méthode permettant de générer une image basse résolution préservant une zone qualifiée d’intérêt par l’utilisateur. Pour cela, une étape préalable consiste à la détecter puis l’extraire. Les algorithmes d’extraction ne sont pas encore vraiment fiables et nécessitent d’être implémentés et testés. D’autre part les zones d’intérêt retenues dans une image peuvent être variés ce qui nécessite d’étudier et de mettre en œuvre un divers algorithmes d’extraction. On préfère aussi se placer dans un contexte supervisé (interactif). Dans ce contexte, l’opérateur peut définir lui-même les pixels qu’il considère comme appartenant à des zones qua- lifiées d’intérêt. Le principal avantage offert par cette approche est que certains pixels peuvent appartenir simultanément à plusieurs thèmes d’intérêt. L’opérateur peut également définir sim- plement des " Zones génériques " qu’il qualifie d’intérêt. Ces zones peuvent être de différentes natures : bandes, carrés, ronds,....Pour ces raisons, nous n’avons pas cherché à étudier des al- gorithmes d’extraction existants dans la littérature. Des méthodes manuelles sont utilisées. Il s’agit de saisir directement sur l’image, les objets qui intéressent l’utilisateur à l’aide de la sou- ris (l’image est une image binaire (zone d’intérêt et contexte)[46]. Ces objets peuvent être de

différents types :

– Les objets linéiques (exemple en médecine : cellules anormales enchaînées,...) – Les objets surfaciques (exemple en médecine : ensemble de cellules infectées,...) – Les objets ponctuels (exemple en médecine : une cellule infectée,...)

Dans le cas d’une saisie manuelle d’objets linéiques, à partir de l’image binaire de référence, on peut construire un ensemble de masques de plus en plus larges. Ainsi, si on dispose par exemple d’une référence définie par des linéiques de m pixels d’épaisseur, les masques choisis auront une épaisseur de m+2, m+4,...,m+2n (cela ayant pour effet de fournir un lissage progressif en échelle entre un pixel de contexte et un pixel appartenant au thème retenu)[40]. Dans le cas des ponctuelles et des surfaciques, cela revient à générer des masques autour des zones d’intérêt définis par des carrés (Figure ci-dessous).

Fig. 3.13 – Génération des masques.

Dans cette étude, nous avons choisi d’extraire manuellement les zones d’intérêt sur la base de sélection surfacique qui consiste à sélectionner des carrés représenté chacun par trois paramètres :

les deux premiers permettent de le localiser dans l’image initiale (cordonnées du centre (xi, yi)

et le côté ai), le troisième paramètre correspond à sa valeur intrinsèque dans l’image c’est à dire

Fig. 3.14 – Sélection des Zones d’Intérêt.

Compression par la méthode des ondelettes de Haar :

Cette technique repose sur un principe de décomposition en sous-bandes et de transformation mathématique par projection sur des bases orthogonales [50]. La compression par ondelettes présente de nombreux avantages par rapport à ses concurrentes [37] :

– Fort taux de compression : Jusqu’à des taux de compression de 20, JPEG et les onde- lettes donnent des résultats voisins. Au-delà, on observe un phénomène de décrochage avec JPEG. En revanche, les ondelettes continuent à donner de bons résultats avec des taux de compression de 30 à 50. Et comme le traitement s’effectue sur l’image toute entière, plus la taille de celle-ci est grande et plus le taux de compression maximal sera élevé [103]. – Contrôle de la compression : On peut paramétrer le compresseur afin de privilégier le taux

de compression ou la qualité de l’image.

– Traitement progressif : Lorsque l’image a été découpée en sous- bandes (voir illustration sur la figure 3.11), le fichier contient les informations relatives à toutes les étapes. Lors de la reconstruction, on peut donc extraire plusieurs images intermédiaires de qualités différentes [103].

Une image en noir et blanc peut être considérée comme un ensemble de pixels, chaque pixel représentant un niveau de gris. On peut modéliser cette image par une matrice carrée de taille égale à la résolution de l’image [41]. Pour une image en couleur, il suffit de considérer trois images, chacune représentant le niveau de rouge, de vert et de bleu de l’image originale [106].

Pour mettre en application la méthode de Haar on pourrait considérer la matrice comme un échantillonnage en mettant ses lignes bout à bout. Cependant on perd le lien avec les colonnes. Il est donc plus efficace d’appliquer l’algorithme de Haar aux lignes de la matrice puis à ses colonnes. Cet algorithme de différentiation et sommation se traduit par la multiplication matricielle à l’aide d’une matrice contenant beaucoup de 0 [116].

Prenons l’exemple d’une matrice 4 × 4 :

On l’appelle matrice A. en effet on remarque que si on prend une matrice M, soit (a, b, c, d) sa première ligne. Alors le produit de M par A nous donne la ligne suivante : ((a+b)/2, (c+d)/2, (a-b)/2, (c-d))/2.

Dans le cas d’une matrice 8 × 8 la matrice creuse aura l’allure suivante :

Et ainsi de suite, en fait c’est le principe déjà exposé dans la compression de signal, c’est à dire que la première moitié des colonnes de la matrice représente l’échantillon principal et la seconde les détails [116].

Quelque soit le rang de la matrice, on peut définir ses cœfficients de la façon suivante [116] : Soit n le nombre de colonne de la matrice, n est pair, i et j des entiers positifs.

– On a Ai,j = 1/2 si j ≤ n/2 et i = 2j − 1 ou 2j

– On a Ai,j = 1/2 si j > n/2 et i = 2(j − n/2)

– On a Ai,j = −1/2 si j > n/2 et i = 2(j − n/2) − 1

– Sinon Ai,j = 0

Ainsi quelque soit le rang de la matrice représentant l’image on peut facilement définir un algorithme et ainsi bâtir un programme permettant d’obtenir la matrice creuse de compression [116].

Pour effectuer l’opération sur les colonnes, il suffit de multiplier à gauche par la transposée de

A. Nous obtenons donc une matrice N=t(A)M A. Ensuite on choisit une précision e, et on enlève

de la matrice N les cœfficients de valeur absolue inférieure à e. on obtient donc une nouvelle

matrice N’. On réobtient la matrice M en posant M’= t(A−1)N0A−1 avec A−1 est la matrice

inverse de A [70].

On peut réduire les calculs en rendant la Matrice A comme produit de matrices orthogonales. Ainsi l’inverse de la matrice A se calculera facilement. Les vecteurs de A sont déjà orthogonaux par rapport au produit scalaire euclidien. Il suffit donc de les normer. Ici il suffit donc de remplacer

1/2 par 1/√2 [33].

On peut donc écrire la matrice A comme le produit de matrices orthogonales en prenant :

On a donc A = A1 × A2 × A3 , de ce fait on peut dire que A−1=tA1 ×tA2 ×tA3 [106].

Fig. 3.15 – Principe de la compression d’images par ondelettes.

Principe

On procède à une décomposition de l’image fréquentielle et spatiale, par projections suc- cessives (de manière récursive en fait) sur deux sous-espaces orthogonaux, l’un donnant l’allure générale de l’image (il s’agit de l’image en résolution moitié) et l’autre les détails. Les sous-espaces sont définis par une base orthonormée de vecteur, dont j’explique la construction plus loin. La projection se fait très simplement, étant donné que l’on a une base orthonormée. Il ne s’agit que de calculer des produits scalaires [50].

Intérêt

– Les détails sont presque nuls (pour des images suffisamment régulières, comme c’est le cas pour des photos)

– Ces détails peuvent être négligés en dessous d’un certain seuil (modifications indécelables). – Le traitement de l’image n’est pas uniforme (dans l’espace), puisque on conserve une in-

formation spatiale. Décomposition

On note Ep l’ensemble des images de taille 2p × 2p. On décompose donc Ep de la manière

suivante : Ep = Ep−1L Fp−1.

Il est alors possible de décomposer Ep−1 de la même manière. Concrètement, on connait les

vecteurs d’une base orthogonale de Ep−1et Fp−1et on projette en calculant les produits scalaires.

Le produit scalaire adopté est : hf |gi = Intégrale ( fg , I ) où I est un segment borné qui est le support du signal [taille du signal finie] [53].

Construction de la base

On se place dans le cas d’un signal à une dimension pour simplifier l’étude. (les images sont des signaux à deux dimensions). On choisit une fonction dite " ondelette mère ". Cette fonction doit être d’intégrale nulle et tendre rapidement vers 0 à ses extrémités [53].

Fig. 3.16 – Ondelette de Haar.

Pour former une base de Fp−1, on procède par dilatation / translation de l’ondelette mère. La

base de Ep est la base canonique. Par le processus suivant, on remplace deux à deux les vecteurs

de la base de Ep par un vecteur de Ep−1et son complémentaire qui est dans Fp−1 [53] :

Fig. 3.17 – Construction de la base canonique de l’espace Ep à partir des vecteurs de

sous-espaces Ep−1 et Fp−1.

Les deux nouveaux vecteurs sont orthogonaux entre eux [intégrale de la fonction d’ondelette nulle] ainsi qu’à tous les autres vecteurs de la base [car tous les vecteurs sont nuls en dehors de leur support]. Concrètement, lorsqu’on calcule les cœfficients d’ondelettes, un cœfficient élevé signifie qu’au voisinage du support du vecteur d’ondelette, le signal oscille à une fréquence proche de celle du vecteur de la base [53].

Fig. 3.18 – Décomposition en 2D par ondelettes.

On travaille d’abord sur les colonnes, en appliquant ce qu’on a vu en une dimension à chacune des lignes [traitée indépendamment], puis on travaille sur les lignes du résultat obtenu. Ce principe est plus facile lorsqu’on regarde le cas particulier des ondelettes de Haar (Figure ci-dessous) [103] :

Fig. 3.19 – Schéma d’algorithme de la compression par ondelettes de Haar.

Le traitement est effectué suivant chaque axe de l’image par filtrages successifs suivis d’une décimation (on ne garde qu’un point sur deux)(voir la figure ci-dessous).

Fig. 3.20 – Traitement de deux couches d’ondelettes.

L’intérêt du traitement réside dans les caractéristiques des images " detail " qui permettent d’employer des algorithmes de quantification performants. L’analyse de ces images montre qu’elles sont constituées d’une grande quantité de points de faible valeur qui, une fois forcés à zéro par quantification, permettront un fort taux de compression. L’image " smooth " quant à elle ne subit aucune altération (il n’y a pas de quantification), il faudra donc limiter sa taille pour réduire le volume de données ; 5 couches de traitement donnent une image " smooth " 1024 fois plus petite que l’image originale [47].

La quantification peut être scalaire, comme dans le système de compression des archives d’empreintes digitales du FBI ; dans ce cas, on ne profite pas des similitudes entre les couches (un motif se retrouve souvent d’une couche à une autre) ; ce type de quantification présente l’intérêt d’être très simple à mettre en œuvre [55].

Une approche plus performante est la quantification vectorielle qui tire profit des similitudes entre les couches (d’où la notion de vecteur) pour offrir de meilleures performances ; il existe plusieurs approches de réalisation, comme l’arbre de zéro ou le codage en treillis [63]. Outre les bonnes performances obtenues en terme de taux de compression, ce sont des approches qui offrent de nouvelles possibilités d’exploitation des images compressées [65] :

– Progressivité en résolution spatiale : avec peu de volume de données, on peut obtenir l’image " smooth ", l’image affichée sera alors petite ou floue si elle est agrandie ; en récupérant les images " detail " on pourra alors affiner la résolution spatiale de l’image. – Progressivité en qualité : le principe est de commencer à afficher une image de qualité

modeste, avec peu de données, et passer ensuite à une meilleure qualité en chargeant plus de données ; par exemple afficher en monochrome et passer à la couleur .

– Accès sélectif à une zone : la quantification vectorielle permet d’extraire les données de reconstruction d’une zone de l’image, sans avoir à charger toute l’image ; un exemple d’uti-

lisation de cette fonctionnalité est une carte routière que l’on affiche dans sa totalité en faible résolution, l’utilisateur pouvant ensuite demander un zoom sur sa zone d’intérêt. Ces notions de progressivité et d’accès sélectif sont particulièrement intéressantes pour la transmission des images sur des supports à bande passante limitée, tels que le web ou la téléphonie portable ; elles facilitent également la constitution de banques d’images, celles-ci étant stockées à forte résolution et diffusées en tenant compte des conditions d’utilisation (par exemple, consulter une carte routière sur l’écran d’un téléphone portable) [103].

Description générale de la méthode

La figure ci-dessous décrit la méthodologie proposée. Le taux de compression que l’on va atteindre en utilisant cette méthodologie va dépendre d’une part de la taille des zones d’intérêt par rapport à la taille de l’image et d’autre part du facteur de réduction appliqué au support. La méthode proposée consiste à traiter chaque donnée de façon optimale par rapport à son type.

Fig. 3.21 – Schéma général de la méthode proposée.