Optimisation d’un algorithme n d’images en utilisant des ...

132
Promotion:2011/2012 En vue de l’obtention du Diplôme de Master en Informatique Proposé et dirigé par : M r R.MENNASSEL . Présenté par : Melle CHIBANI Hidaya REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université L’arbi Ben M’hidi d’Oum El Bouaghi Faculté d’Informatique Optimisation d’un algorithme de compression d’images en utilisant des métaheuristiques

Transcript of Optimisation d’un algorithme n d’images en utilisant des ...

Page 1: Optimisation d’un algorithme n d’images en utilisant des ...

Promotion:2011/2012

En vue de l’obtention du Diplôme de Master

en Informatique

Proposé et dirigé par :

Mr R.MENNASSEL.

Présenté par :

Melle CHIBANI Hidaya

REPUBLIQUE ALGERIENNE

DEMOCRATIQUE ET POPULAIRE

Ministère de l’Enseignement Supérieur et de la Recherche

Scientifique

Université L’arbi Ben M’hidi d’Oum El Bouaghi

Faculté d’Informatique

Optimisation d’un algorithme

de compression d’images en

utilisant des métaheuristiques

Page 2: Optimisation d’un algorithme n d’images en utilisant des ...

Abstract:

The basic question addressed in this thesis is the development of compression

methods, for easy archiving of images of any size with high compression ratio

and minimum distortions. To design techniques, we conducted a review of the

main techniques for image compression published in the literature. Among

these techniques, those using wavelets, the discrete cosine transform (DCT)

and fractals, appear to agree with this requirement and compression

techniques reversible.

An approach was then developed to compress images is fractal compression.

Applied to the image Lena, Fruit and a series of images of hand written

documents, this method allowed us to achieve compression ratios of 73.09 %

and a PSNR of 57,18 dB. Note that the method based on genetic algorithms has

reduced processing time by nearly two hundred times compared with fractal

methods using iterated function systems. We improved this method by genetic

algorithms as we have achieved compression ratios of 93,39 % and a PSNR of

51,31 whose images have been reproduced faithfully and memory space required

for storage.

Keywords:

Archiving old documents, reversible and irreversible compression.

Page 3: Optimisation d’un algorithme n d’images en utilisant des ...

Résumé :

La question fondamentale abordée dans ce mémoire est l’élaboration d’une

méthode de compression pour faciliter l’archivage des images de n’importe

quelle taille avec de forts taux de compression et le minimum de distorsions.

Pour concevoir une telle technique, nous avons procédé par un tour d’horizon

sur les principales méthodes de compression d’images publiées dans la

littérature des deux familles (réversibles et irréversibles). Parmi les techniques

irréversible, celles utilisant les ondelettes, la transformée discrète en cosinus

(DCT) et les fractales, semblent convenir à cette exigence. Et parmi les

techniques réversible, celles utilisant huffmun, l’arithmétique, la prédiction

linéaire.

Le présent sujet s’intéresse { l’élaboration d’une approche de compression qui

soit l’hybridation entre la compression fractale et les algorithmes génétique.

Appliquée { l’image Lena, Fruit ainsi { une série d’images des documents

manuscrits, la compression fractale nous a permis d’atteindre des taux de

compression de 73.09 % et un PSNR (le rapport signal sur bruit crête) de

57,18 dB pour l’image de Lena. Notons que cette méthode basée sur les AGs a

permis de réduire la durée du traitement de prés de deux cents fois comparer

aux méthodes fractales utilisant les systèmes de fonctions itérées.

Nous avons amélioré cette méthode par les algorithmes génétiques, et on a

atteint un taux de compression de 93,39% et un PSNR de 51,31 dB dont les

images ont été reproduites fidèlement.

Mots clés : Archivage, documents anciens, compression réversible et irréversible.

Page 4: Optimisation d’un algorithme n d’images en utilisant des ...

ملخص

السؤال الرئيسي المطروح في هذه المذكرة هو كيفية تطبيق تقنية التقليص لهدف

تسهيل تخزين الصور مهما كان حجمها مع زيادة نسبة التقليص و التقليل من ضياع

من اجل تطبيق واحدة من هذه التقنيات تطرقنا الى التقنيات الرئيسية . المعلومات

ومن التقنيات مع الفقدان نستعمل (ع و دون فقدانم)الى قسمين بدورها المنقسمة

les ondelettes fractales, DCT ومن التقنيات دون فقدان نستعمل huffmun,

RLE, arithmétique dictionnaire, prédiction linéaire .

طبق , ة التقليص على اساس اللوغاريتم الوراثيالموضوع القائم يهتم بتطبيق تقني

لقديمة وحصلنا بتطبيق وسلسلة من صور الوثائق اLena , Fruit على صورة

PSNRعلى و % 73.07على نسبة تقليصLena على صورة Fractalتقليص

57.78 db حصل على اختصار علي هذه التقنية ن الوراثيعند تطبيق اللوغريتم و

صلنا على وفي سياق التحسين ح Fractal ـنظرا لتقنية التقليص بال % 2للوقت بــ

و منه الصور PSNR 57.37 dbعلى و %93.39نسبة التقليص لهذه الصورة على

.تقلص بحفظ مثالي وفي وقت قصير

:المفاتيح الكلمات

.تقليص يمكن عكس مساره و آخر لا رجعة فيه يمةالقد حفظ الوثائق

Page 5: Optimisation d’un algorithme n d’images en utilisant des ...

Table des Figures

Chapitre1 : Généralités sur le traitement et la compression fractale.

Figure 1.1 : Espace de couleur ........................................................................................................................... 7

Figure 1.2 : Représentation graphique du codage RGB ........................................................................ 8

Figure 1.3 : Représentation graphique du codage HSV ........................................................................ 8

Figure 1.4 : Schéma fonctionnel de la compression .............................................................................. 13

Figure 1.5 : l’arbre de Huffman pour ‚ABCDE‛ ........................................................................................15

Figure 1.6 : Linéarisation en ligne, en colonne et en zig-zag ............................................................ 16

Figure 1.7: Schéma de compression JPEG sans pertes ........................................................................20

Figure 1.8 : Organigramme de compression ............................................................................................. 21

Figure 1.9 : Fonctions sinusoïdales et la somme de celles-ci ............................................................23

Figure 1.10 : La compression JPEG............................................................................................................... 24

Figure 1.11 : Décomposition d’image en sous-bandes ........................................................................ 24

Figure 1.12 : Schéma de compression JPEG2000 avec pertes ..........................................................25

Chapitre2: Généralités sur les métaheuristiques.

Figure 2.1 : l’apprentissage par essai et erreur par un schéma à trois niveaux ...................... 28

Figure 2.2 : classification des metaheuristiques ......................................................................................32

Figure 2.3 : Un exemple de la stratégie des colonies de fourmis. ................................................... 40

Figure 2.4: présentation de types des algorithmes évolutionnaires .............................................. 43

Chapitre3 : Les AGs et la Compression fractale.

Figure 3.1 : Structure générale d’un algorithme génétique ................................................................51

Figure 3.2 : Schéma illustrant le code d’un gène sur 32bits ............................................................ 53

Figure 3.3: Exemple de croisement uni-point ......................................................................................... 56

Figure 3.4 : Exemple de croisement en deux points ............................................................................ 57

Figure 3.5 : Exemple de croisement uniforme ........................................................................................ 57

Figure 3.6 : Une mutation dans un chromosome. .................................................................................. 58

Figure 3.7 : Exemple d’autosimilarité statistique (côte rocheuse) ................................................... 60

Page 6: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 3.8 : Construction de la courbe de Von Koch .......................................................................... 61

Figure 3.9 : Triangle de Sierpinski .............................................................................................................. 65

Figure 3.10 : Les parties similaires dans l’image LENNA .................................................................. 68

Figure 3.11 : Blocs destination ri et blocs sources di ........................................................................... 70

Figure 3.12: Principe du codage par des fractales ............................................................................... 75

Chapitre4 : La méthode élaborée.

Figure 4.1: Schéma synoptique du compresseur ................................................................................... 80

Figure 4.2: Procédé de la représentation des blocs sources ............................................................. 80

Figure 4.3: Le résultat de la décimation d’un bloc 16 x 16 en un bloc de 8 x8 .......................... 81

Figure 4.4: L’organigramme de construction du code fractal .......................................................... 82

Figure 4.5: Le format d’image CIFG ........................................................................................................... 87

Figure 4.6: Compression d’image base sur le codage prédictif ....................................................... 88

Figure 4.7: Les six pixels de prédiction ou context................................................................................ 89

Figure 4.8: Le codage par prédiction linéaire. .......................................................................................... 89

Figure 4.9: Le schéma de compression prédictive par l’algorithme génétique. ....................... 94

Chapitre5 : Tests et Résultats.

Figure 5.1: Images tests originales. ............................................................................................................. 97

Figure 5.2: Image LENA restituée par CIFG ............................................................................................. 98

Figure 5.3: Image FRUIT restituée par CIFG ............................................................................................ 99

Figure 5.4: Variation du PSNR en fonction du nombre de blocs .................................................... 101

Figure 5.5: Variation du Tc en fonction du nombre de blocs .......................................................... 101

Figure 5.6: Image LENA restituée en variant le nombre de blocs.................................................. 102

Figure 5.7: Image FRUIT restituée en variant le nombre de blocs ............................................... 103

Figure 5.8: Variation du temps d’exécution en fonction du nombre de blocs ......................... 108

Figure 5.9: Variation du temps d’exécution en fonction du nombre des itérations ............... 105

Figure 5.10: La comparaison entre CIFG et le codage fractale standard ................................... 108

Figure 5.11: La comparaison entre CIFG et le codage fractale standard ................................... 109

Page 7: Optimisation d’un algorithme n d’images en utilisant des ...

Annexe.

Figure 6.1: Interface utilisateur ..................................................................................................................... 114

Figure 6.2: Le menu fichier ............................................................................................................................ 114

Figure 6.3: Le menu image. .............................................................................................................................. 115

Figure 6.4: Le sous menu filtrage ................................................................................................................ 115

Figure 6.5: Le sous menu gradiant .............................................................................................................. 115

Figure 6.6: Le menu compression ................................................................................................................ 116

Figure 6.7: Le sous menu codage fractal .................................................................................................. 116

Figure 6.8: Le menu Aide .............................................................................................................................. 117

Figure 6.9: La fenêtre A propos .................................................................................................................. 117

Figure 6.10: Figure10: Les barres d’outils ................................................................................................. 118

Figure 6.11: Boite de dialogue Binarisation ............................................................................................. 118

Page 8: Optimisation d’un algorithme n d’images en utilisant des ...

Liste des Tableaux

Chapitre1 : Généralités sur le traitement et la compression fractale.

Tableau 1.1 : Calculer l’entropie par le codage Huffman ................................................. 15

Tableau 1.2 : Probabilités d’apparition des symboles dans le message « BILL GATES ». ... 18

Tableau 1.3 : Association de domaines de probabilités aux symboles .............................. 19

Chapitre3 : Les AGs et la Compression fractale.

Tableau 3.1 : Les huit isométries utilisées ....................................................................... 73

Chapitre5 : Tests et Résultats.

Tableau 5.1: Résultats obtenus par la variation du nombre de blocs (image LENA) ....... 100

Tableau 5.2 : Résultats obtenus par la variation du nombre de blocs ........................... 100

Tableau 5.3 : Variation du temps d’exécution en fonction du nombre des itérations. ..... 105

Tableau 5.4: Résultats obtenus par CIFG et par le codage fractal standard effectués sur

l’image LENA .................................................................................................................... 106

Tableau 5.5 : Résultats obtenus par CIFG et par le codage fractal standard effectués sur

l’image FRUIT ................................................................................................................... 107

Tableau 5.6 : Résultats obtenus par CIFG et par le codage fractal standard effectués sur

l’image des documents manuscrits ................................................................................... 110

Page 9: Optimisation d’un algorithme n d’images en utilisant des ...

Sommaire

Introduction générale…………………………………………………………………………………………...1

Chapitre I : Généralités sur le traitement et la compression d’images

I. Introduction ........................................................................................................................ 4

I.1. Traitement d’image numérique ...................................................................................... 4

I.2. Analyse des images numériques....................................................................................... 4

I.3. Image .............................................................................................................................. 4

I.3.1. Définition de l’image numérique ..................................................................... 5

I.3.2. Format des images numériques ....................................................................... 5

I.3.2.1. Images matricielles .......................................................................... 5

I.3.2.1. Images vectorielles …………………………………………....5

I.3.3. Caractéristiques d’une image numérique .............................................................................................. 5

I.3.3.1. Pixel ................................................................................................................................... 5

I.3.3.2. Distance ........................................................................................................................... 6

I.3.3.3. Histogramme ................................................................................................................. 6

I.3.3.4. Espace de couleurs .................................................................................................... 6

1. Espace RGB(Red Green Blue)……………………………..7

2. Espace CMY(Synthése Soustractive)………………………7

3. Espace HSV(teinte/Saturation/Valeur)……………………..8

4. Espace YUV, YIQt et YCbCr (luminance/crominance)…..9

I.3.3.5. Dimension de l’imag………………………………………….10

I.3.3.6. Taille de fichier image………………………………………...10

I.3.3.7. Poids d’une image………………………………………….…10

Page 10: Optimisation d’un algorithme n d’images en utilisant des ...

I.3.4. Compression d’image……………………………………………………10

I.3.4.1. Mesure de performances……………………………………...11

1. Taux et Redondance……………………………………….11

1.1. Taux de compression (compression ratio)…………….11

1.2. Redondance…………………………………………...11

2. L’entropie…………………………………………………..12

I.3.4.2. Mesure de distorsion……………………….............................12

1. L’erreur quadratique moyenne MSE………………………12

2. Le rapport signal sur bruit crete PSNR…………………….12

I.3.5. Critères de comparaison entre les techniques de compression …………13

I.4. Principe général de la compression d’image……………………………………..13

I.4.1. Décorrélation…………………………………………………...13

I.4.2. Quantification…………………………………………………..14

I.4.3. Codage………………………………………………………….14

I.5. Les méthodes sans perte d’information………………………………………….14

I.5.1. Le codage Huffman (principe, exemple, avantages,

inconvénients)……………………………………..……………………………14

I.5.2. Le codage RLE ou plage (principe, exemple, avantages,

inconvénients)…………………………………………………………………..16

I.5.3. Le codage dictionnaire LZW, LZ77, LZ78 (principe, exemple, avantages,

inconvénients)………………………………………..…………......17

I.5.4. Le codage arithmétique (principe, exemple, avantages,

inconvénients)……………………………………………………..……………18

I.5.5. Le codage prédictif sans perte (principe, exemple, avantages,

inconvénients)…………………………………………………………………..19

I.5.6. Le codage JPEG sans perte (principe, exemple, avantages,

inconvénients)………………………………………………………………..…20

I.6. Les méthodes avec perte d’information…………………….……………………21

I.6.1. Compression JPEG (Joint Photographique Expert Group) (principe,

avantages, inconvénients)………………………………………………………21

I.6.2. Compression par ondelettes (principe, avantages,

inconvénients)…………………………………………………………..………24

Page 11: Optimisation d’un algorithme n d’images en utilisant des ...

I.6.3. Compression par fractale (principe, avantages, inconvénients)…26

I.7. La différence entre la compression sans et avec perte d’information……………26

I. Conclusion…………………………………………………………………….…….26

Chapitre II : Généralités sur les métaheuristiques

II. Introduction………………………………………………………………………...27

II.1. Définition d’un problème d’optimisation ………………………………………27

II.2. Définition des algorithmes d’optimisation………………………………………27

II.3. Essai et Erreur…………………………………………………………………...27

II.4. Fonction objectif et fonction d’adaptation………………………………………28

II.4.1. La fonction d’adaptation………………………………………………28

II.4.2. La fonction objectif…………………………………………………... 28

II.4.2.1. Objectif unique……………………………………………….28

II.4.2.2. Objectifs

multiples............................................................... ....29

II.5. Méthode d’optimisation………………………………………………………... 29

II.5.1. Méthodes déterministes………………………………………………..30

II.5.2. Méthodes non déterministes…………………………………………...30

II.6. L’optimisation globale et minimale……………………………………………..30

II.7. Les méthode de résolution………………………………………………………30

II.7.1. Les heuristiques………………………………………………………..37

II.7.2. Les métaheuristiques…………………………………………………..37

II.7.2.1. Les propriétés………………………………………………..31

II.7.2.2. La famille de la metéheuristique…………………………….32

II.7.2.2.1 A solution unique………………………………..33

1. Le GRASP (Greedy Randomized Adaptive Search)….33

Page 12: Optimisation d’un algorithme n d’images en utilisant des ...

7.7. La phase construction……………………….33

1.2. La recherche locale (Avantages, Inconvénients,

Algorithme)…………………………………………………………………………….33

2. Le récuit simulé (Avantages, Inconvénients,

Algorithme)……………………………………………………………………..34

3. La recherche avec tabous (Avantages, Inconvénients,

Algorithme)…………………………………………………………………….36

II.7.2.2.2 A solution multiple………………………………39

1. colonies de fourmis (Avantages, Inconvénients,

Algorithme)…………………………………………………………………………….41

2. Essaim particulaire (Avantages, Inconvénients,

Algorithme)…………………………………………………………………………….43

3. Les algorithmes évolutionnaires (Avantages, Inconvénients, Algorithme)43

3.1. Algorithme Génétique (AGs)………………………..44

3.2. Programmation Evolutionnaire (PE) (Avantages, Inconvénients,

Algorithme)…………………………………………………………….45

3.3. Stratégie d’évolution (Avantages, Inconvénients,

Algorithme)…………………………………………………………………………….46

3.4. Programmation Génétique (PG) (Avantages, Inconvénients,

Algorithme)…………………………………………………………….46

3.5. Estimation de distribution (Avantages, Inconvénients,

Algorithme)…………………………………………………..………………………...47

II.7.2.3. Avantages ET Inconvénients de métaheuristique……………48

II. Conclusion…………………………………………………………………………49

Chapitre III : Les algorithmes génétiques et la compression fractale

La partie1 : Les Algorithmes génétiques.

Page 13: Optimisation d’un algorithme n d’images en utilisant des ...

III. Introduction………………………………………………………………………..50

III.7. Terminologies…………………………………………………………………..50

III.2. Principe d’un algorithme génétique…………………………………………….57

III.3. Algorithme de base de s AGs…………………………………………………..52

III.4. Codage des individus…………………………………………………………..52

III.4.7. Codage binaire………………………..................................................53

III.4.2. Codage réel………………………...................................... .................53

III.5. Génération de la population initiale…………………………………………….54

III.6. Fonction d’évaluation (Fitness)………………………………………………...54

III.7. Opérateurs génétiques…………………………………………………………..54

III.7.7. Sélection………………………………………………………………54

III.7.7.7. Sélection déterministe 58………………………………....55

III.7.7.2. Sélection stochastique …58……………………………....55

a. Sélection par roulette biaisée (roulette de casino)……55

b. Sélection par tournoi………………………………….55 III.7.2. Reproduction (reconbinaison)………………………………………...56

III.7.2.7. Croisement ……………………………….........................56

a. Croisement uni-point……….………………………...56 b. Croisement multipoint………………………………..56 c. Croisement uniforme…………………………………57

III.7.2.2. Mutaion ………………………………..............................57

III.7.3. Choix des paramètres d’un AG……………………………………….58

III.8. Avantages et Inconvénients…………………………………………………….58

III. Conclusion………………………………………………………………………...58

La partie2 : Théorie des fractales.

III.7. Définition………………………………………………………………………59

Page 14: Optimisation d’un algorithme n d’images en utilisant des ...

III.2. L’auto-similarité………………………………………………………………..59

III.3. Dimension fractale……………………………………………………………..60

III.4. Théorie des IFS et compression fractale………………………………………..67

III.4.7. Définition des IFS (Iterated Function System)………………………62

III.4.2. IFS probabilité………………………………………………………..64

III.4.3. Attracheur d’un IFS………………......................................................64

III.4.4. Théorie de collage……………….........................................................66

III.4.5. Problème inverse………………...........................................................66

III.4.6. La limite des IFS………………...........................................................67

III.5. Compression d’image basée sur IFS…………………………………………...67

III.5.1. Auto-similarité dans les images ……………………………………...67

III.5.2. Transformation fractale ………………................................................68

III.5.3. Partitionnement de l’image …………………………………………..70

a. Partitionnement carré……….…………………………………….70 b. Partitionnement quadré…………………………………………..70 c. Partitionnement HV (Horizontal/Vertical)……………………….70 d. Partitionnement triangulaire……………………………………...77

III.5.4. La mesure de distorsion ……………….............................................77

III.6. Méthode de Jaquain……………………………………………………………72

III.6.7. Collage d’un bloc source sur un bloc déstination ………………........72

a. Transformation spatiale (géométrique)………………………….72 b. Transformation massique………………………………………..73

III.6.2. Classification des blocs ………………...............................................74

III.6.3. Codage de l’opération de collage…………………………………….74

III.6.4. Taux de compression ………………...................................................76

III.6.5. Reconstitution de l’image ………………............................................77

III.6.6. Algorithme de base de codage fractale d’image………………...........77

III.7. Avantage et Inconvénients……………………………………………………..78

III. Conclusion………………………………………………………………………...82

Page 15: Optimisation d’un algorithme n d’images en utilisant des ...

Chapitre IV : La méthode élaborée

IV. Introduction………………………………………………………………………79

L’adaptativité de la compression fractale les AGs

IV.7. Partitionnement de l’image…………………………………………………….80

IV.2. Construction du code fractal par les algorithmes génétiques………………….87

IV.3. Les paramètre de l’algorithme génétique………………………………………83

IV.3.7. Génération aléatoire de la population initiale………………………...83

IV.3.2. Fonction de fitness……………………………………………………83

IV.3.3. Sélection……………………………………………………………...84

IV.3.4. Croisement……………………………………………………………84

IV.3.5. Mutation………………………………………………………………85

IV.3.6. Remplacement………………………………………………………..85

IV.3.7. Critère d’arrêt………………………………………………………...85

IV.4. Stockage des paramètres fractals………………………………………………85

IV.5. Reconstitution de l’image……………………………………………………...85

IV.6. La mise sous fichier………………………………………………………….…86

L’adaptativité de la compression de prédiction linéaire par les AGs

IV.1. Le codage par prédiction linéaire………………………………………………88

IV.2. Les étapes de l’utilisation des AGs ………………………..…………………..90

Page 16: Optimisation d’un algorithme n d’images en utilisant des ...

IV.3. Les paramètre de l’algorithme génétique………………………………………97

IV.3.7. Codage des chromosomes ………………………………………...…97

IV.3.2. Génération aléatoire de la population initiale……………………...…97

IV.3.3. Fonction de fitness (objectif)…………………………………………97

IV.3.4. Sélection……………………………………………………………...92

IV.3.5. Critère d’arrêt……………………………………………………...…93

IV.4. Le principe de le compression prédictive par les algorithmes

génétiques……..94

IV. Conclusion…………………..………………………………………………………….95

Chapitre V : Tests et Résultats

V. Introduction………………………………………………………………………..96

V.7. Résultats expérimentaux et interprétations………………………………………..97

V.2. Les caractéristiques………………………………………………………………770

V. Conclusion………………………………………………………………………..777

Conclusion générale………………………………………………………………….112

Annexe

Bibliographie

Page 17: Optimisation d’un algorithme n d’images en utilisant des ...

Introduction :

Les méthodes de compression réduisent le nombre moyen de bits par pixel à

stocker ou à transmettre en exploitant la redondance des informations

contenues dans l’image. La compression peut être réalisée avec ou sans perte

d’informations. Ceci a conduit à deux catégories de méthodes à savoir les

méthodes dites réversibles (sans pertes) celle dites irréversibles (avec pertes).

Nous présentons dans ce chapitre d’une part une vue générale sur le traitement

d’images et d’autre part les principales méthodes de compression des images

fixes qui ont été publiées dans la littérature. Nous donnerons pour chacune

d’elles le principe général ainsi que les avantages et les inconvénients.

1. Traitement d’image numérique :

C’est l’ensemble des opérations de restauration qui sont appliquées à une

image acquise (Image naturelle) dans un but d’améliorer la lisibilité.

2. Analyse des images numériques :

C’est l’ensemble des transformations appliquées { une image traitée dans le but

d’extraire les informations significatives.

3. Image :

D’une façon la plus générale, on peut considérer qu’une image représente une

distribution spatiale d’une « information visuelle ». Une image est un ensemble

de pixels en largeur et en hauteur. [1]

Page 18: Optimisation d’un algorithme n d’images en utilisant des ...

3.1. Définition de l’image numérique :

Une image numérique est représentée par une matrice bidimensionnelle de

valeurs numériques f(x,y) où x et y sont coordonnées cartésiennes d’un point

de l’image et f(x, y) est le niveau de gris en ce point. [1]

3.2. Format des images numériques : Les images numériques se décomposent

en deux grandes parties :

3.2.1. Images matricielles :

Elles se composent d'un tableau de pixels, généralement rectangulaire, qui peut

se visualiser sur un moniteur d'ordinateur ou tout autre dispositif d'affichage

RVB. [2]

3.2.2. Images vectorielles :

Elles sont des représentations d'entités géométriques cercle, segment ...Celles-ci

sont représentées par des formules mathématiques (un cercle est défini par un

centre et un rayon, etc.) [2]

3.3. Caractéristiques d’une image numérique :

L’image est un ensemble structuré d’informations caractérisées par les

paramètres suivants:

3.3.1. Pixel : « Picture element» En anglais

Le pixel est le plus petit point de l’image (élément d’image).

Bit pour les images dites binaires (noir et blanc).

Dans le cas d’une image monochrome : chaque pixel est codé sur un

octet, et la taille mémoire nécessaire pour afficher une telle image est

directement liée { la taille de l’image (256 niveaux de gris).

Page 19: Optimisation d’un algorithme n d’images en utilisant des ...

Dans une image couleur (R.V.B.), un pixel peut être représenté sur trois

octets : un octet pour chacune des couleurs : Rouge (R), Vert (V) et

Bleu (B) ce qui correspond à plus de 16 million de couleurs.

3.3.2. Distance :

Tout pixel d'une image est caractérisé par un couple de coordonnées (x,y). On

peut donc calculer des distances entre pixels. Les distances les plus courantes

sont (pour deux pixels et ):

distance de Manhattan :

distance euclidienne :

distance de l'échiquier :

Ces distances sont reliées par la propriété :

3.3.3. Histogramme :

On appelle histogramme de l'image I, la fonction H définie sur l'ensemble des

entiers naturels par:

C'est à dire que H(x) traduit le nombre d'apparitions du niveau de gris x dans

l'image I. L'histogramme est un outil privilégié en analyse d'images car il

représente un résumé simple, mais souvent suffisant du contenu de l'image.

3.3.4. Espace de couleur :

Une couleur est généralement représentée par trois composantes. Ces

composantes définissent un espace des couleurs, l'espace de couleurs que l’on

choisit pour représenter les images de notre application est l'espace RVB.

1. L'espace RGB (Red Green Blue): [3,4]

Page 20: Optimisation d’un algorithme n d’images en utilisant des ...

La combinaison des trois couleurs de base pour les applications numériques : le

Rouge, le Vert et le Bleu comme le principe des écrans vidéo (ordinateurs,

télévision…). Une image RVB est composée de trois couches, codée chacune sur

8 bits.

Figure1 : Espace de couleur.

Une teinte θ est obtenue par une combinaison linéaire θ = α×R + β×G + γ×B

avec (α, β, γ) [0,1]3.Le noir et le blanc correspondent alors respectivement

aux triplets (0,0,0) et (255,255,255).

2. L’espace CMY : (synthèse soustractive) : [4]

Les trois couleurs cyan, magenta et jaune sont les primaires du mode Synthèse

soustractive, utiliser par les espaces CMY (Y pour yellow) et CMYK (K pour

black) pour les applications d’impression.

Page 21: Optimisation d’un algorithme n d’images en utilisant des ...

Vert Jaune

Cyan Blanc

Noir Rouge

Bleu Magenta

Figure2 : Représentation graphique du codage RGB.

3. L’espace HSV (Teinte/Saturation/valeur) : [4,5]

Pour obtenir le type HSV (Hue, Saturation, Value pour Teinte, Saturation,

Valeur) il faut passer du mode de base RGB aux modes HSV.

Figure 3: Représentation graphique du codage HSV.

Pour V définie comme valeur maximale du triplet R, G, B.

Blanc

noir

S Value (V)

H

G Y

C R

B M

Page 22: Optimisation d’un algorithme n d’images en utilisant des ...

4. L’espace YUV, YIQ et YCbCr (luminance/chrominance): [6]

Ils sont utilisés en compression, l’espace YUV a été utilisé pour les applications

vidéo analogiques en mode PAL. La conversion des valeurs RGB dans l’intervalle

réel [0,1] est donnée par :

RGB YUV:

L’espace YIQ Créé par le National Television Standards Commitee (NTSC) Pour

rendre plus efficace la transmission des signaux de télévision et Pour assurer la

compatibilité avec les écrans noir-blanc.

Cet espace utilisé par certains algorithmes de quantification de l’espace des

couleurs pour extraire une palette représentative des teintes de l’image, la

conversion donnée par :

RGB →

YIQ:

YIQ → RGB:

L’espace YCbCr a été utilisé par les normes JPEG et MPEG, ces relations de

conversion sont tirées des spécifications du format TIFF-6.0 pour la norme

JPEG :

YCbCr→ RGB:

Page 23: Optimisation d’un algorithme n d’images en utilisant des ...

3.3.5. Dimension de l’image :

L’image est représentée par une matrice I [nombre de lignes][nombre de

colonne]

Dimension = la taille de l’image = nombre de lignes * nombre de colonne

3.3.6. Taille du fichier image :

C’est le nombre de pixels multiplié par le nombre d'octets nécessaires au

codage d'un seul pixel.

3.3.7. Poids d’une image :

Pour connaître le poids (en octet) d’une image, il faut connaître le nombre de

pixels que contient l’image. Le poids est alors égal au nombre de pixels de

l’image que multiplie le poids de chacun de ces éléments.

Exemple :

Calcul pour une image 640 x 480 en couleur vraie.

Nombre de pixel : 640 x 480 = 307 200

8 bits = 1 octets 24 bits = 3 octets.

Le poids de l’image est ainsi égal { :

Kooctets 9001024

9216009216003200307

3.4. Compression d’images : [7]

On extrait l’essentiel d’informations de l’image du tableau et on le remplace par

un autre plus petit. Il suffit ensuite { la personne qui souhaite lire l’image de

savoir comment passer du petit tableau au gros cela varie selon le type d’image

compressée c’est la décompression.

3.4.1. Mesures de performances :

1. Taux de compression et redondance :

1.1 Taux de compression (compression ratio): [6]

Page 24: Optimisation d’un algorithme n d’images en utilisant des ...

Pour mesurer les résultats de la compression on utilise le rapport de

compression qui est représenté comme une formule ou un facteur :

RC

tel que :

Io : la taille de l'image originale en octet et Ic : la taille de l'image comprimée.

Si le rapport supérieur à 1, on dit qu’il y a eu compression, et plus cette

grandeur est importante, plus la méthode est efficace. Donc le taux de

compression est :

Lors que le taux de compression est maximal donc la qualité de compression

est idéale.

1.2 Redondance : [6,8]

La dépendance entre les pixels et ses voisins vue comme une redondance des

informations pertinentes.

Il y a plusieurs types de redondance en terme de corrélation peuvent être

considérés :

La redondance spatiale entre pixels ou blocs voisins dans l’image.

La redondance spectrale entre plans de couleur ou bandes

spectrale.

La redondance temporelle entre images successive dans une

séquence vidéo.

2. L’entropie : [10]

Page 25: Optimisation d’un algorithme n d’images en utilisant des ...

C’est une grandeur qui caractérise la quantité d’information où chaque pixel a

une valeur qui est redondante ou la probabilité d’apparition d’une valeur de

pixel.

Par exemple, plus une valeur V est rare plus sa probabilité p(V) d’apparition

est faible.

Les niveaux de gris que peut revêtir le point p.

: La probabilité d’apparition du niveau de grisin .

Les méthodes les plus connus de codage entropique sont le code de Shannon,

le code de Huffman appelé encore Code à Longueur Variable (VLC).

3.4.2. Mesures de distorsion :

L’erreur quadratique moyenne MSE (Mean Square Error) :

Elle introduite par le teste des performances des méthodes de compression

d'images lors que l’image reconstruite n’est pas exactement identique { l’image

originale. [11]

Cette grandeur est définie par la moyenne carrée entre le pixel (m,n) de l’image

originale I(m,n), et le pixel (m,n) de l’image reconstruite I’(m,n).

MSE =

Le rapport signal sur bruit crête (PSNR) en db:

Lorsque la reconstruction est parfaite, on a : MSE 0, PSNR .

Etant donné que, l’image reconstruite doit s’apprécier visuellement , on peut

l’améliorer en calculant l’image différence diffI entre l’image originale et l’image

reconstruite. [10]

Page 26: Optimisation d’un algorithme n d’images en utilisant des ...

3.5. Critères de comparaison entre les techniques de compression : [2]

Les techniques de compression peuvent être comparées selon les critères

suivants :

Efficacité (taux de compression) : tel que le taux de compression soumis

à une image est directement proportionnel à la quantité de redondance

d'information qu'elle possède.

Qualité de compression : Compression avec une perte d'un certain

pourcentage de la qualité ou compression sans perte.

Vitesse de compression/décompression : sur tout pour l’utilisation dans

une page web.

4. Principe général de la compression d’image:

La figure ci-dessous représente le schéma fonctionnel de la compression. [18]

5.

Figure4 : Schéma fonctionnel de la compression.

1. Décorrélation :

La dépendance existante entre chaque pixel et ces voisins traduit une

corrélation très forte dans l’image. On essaie donc de tirer parti de cette

corrélation, pour réduire le volume d’information, en effectuant une opération

de décorrélation des pixels. Cette décorrélation consiste à transformer les pixels

initiaux en un ensemble de coefficients moins corrélés, c’est une opération

réversible.

2. Quantification :

La quantification des coefficients obtenus a pour but de réduire le nombre de

bits nécessaires pour leurs représentations. Elle approxime chaque valeur d’un

signal par un multiple entier d’une quantité q appelée « pas de quantification ».

Image

originale Décorrélation Quantification Codage Image

compressé

e

Page 27: Optimisation d’un algorithme n d’images en utilisant des ...

3. Codage :

Un codeur doit satisfaire à priori les conditions suivantes :

Unicité : deux messages différents ne doivent pas être codés de la même façon.

Déchiffrabilité : deux mots de codes successifs doivent être distingués sans

ambiguïté.

5 Les méthodes sans perte d’information : [7,9]

Ce type de compression peut s’appliquer sur n’importe quel type de données,

certaines applications nécessitent une compression sans perte d'information

(domaine médical). Il est possible de diminuer le cout de codage d'une source

en regroupant les symboles qu'il faut coder.

1. Codage de Huffman :

Il permet de créer un arbre composé de nœuds qui va nous donner un mot

code binaire pour chaque lettre ou pixel à laquelle on associe un poids valant

son nombre d'occurrences. Le codage de Huffman est attribué de la manière

suivante:

Chercher la fréquence d’apparition de chaque caractère.

Trier les caractères par ordre décroissant de fréquence (poids).

Construire l’arbre binaire comme suit :

Relier deux à deux les caractères de fréquences les plus basses.

affecter { ce nœud la somme des fréquences des caractères.

Répéter l’opération jusqu’{ ce que l’arbre relie toutes les lettres.

L’arbre étant construit, on met un 1 sur la branche à droite du

nœud et un 0 sur celle de gauche. [7]

Page 28: Optimisation d’un algorithme n d’images en utilisant des ...

Figure5 : L’arbre de Huffman pour ‚ABCDE‛. Symbole Occurrences Log (1/pi) Code Total de bits A 15 1.38 0 15 B 7 2.48 100 21 C 6 2.70 101 18 D 6 2.70 110 18 E 5 2.96 111 15

Tableau1 : Calculer l’entropie par le codage Huffman

Origin.string (chars):« ABCDE ».

Origin.string length: 312bits (39*8 par character).

Com.string length: 87bits.

Tauxde compression : σ= 87/312= 0.27.

Entropie = (15 x 1.38 + 7 x 2.48 + 6 x 2.7 + 6 x 2.7 + 5 x 2.96) / 39= 2.19

tel que : 39 est le total d’occurrences des symboles.

Le gain = (312-87)/312=72%.

Ses avantages :

Calculs et implémentations simples.

Codage optimal pour les codes de longueur entière et pour un codage

par symbole.

un temps de compression assez rapide.

Taux de compression très élevé (50% en moyenne).

Les mêmes tables sont réutilisées pour la reconstruction. [12]

Page 29: Optimisation d’un algorithme n d’images en utilisant des ...

Ses inconvénients :

il est très sensible { la perte d’un bit entraîne une altération de toutes

les données qui suivent lors de la décompression. [13]

Il n’est pas optimal puisque la taille théorique du mot code d’un

symbole si donnée par n’est pas entière.

2. Codage par RLE (plage) :

Il est basé sur la répétition d'éléments consécutifs, dont à chaque répétition

d’un pixel est remplacée par un caractère spécial indiquant la compression suivi

par le nombre de répétitions du pixel et en fin sa valeur. Il est présenté dans de

nombreux formats : le BMP bien sûr, le TIFF, le PSD (Photo Shop), le JPEG. On

a par exemple :

La chaîne "AAAAAHHHHHHHHHHHHHH" compressée donne "5A14H".

Le taux de compression : (19-5)/19, C’est la méthode la plus simple et la plus

utilisée.

Son principe consiste à remplacer une séquence de n éléments v, par un couple

(n, v), en décelant des séquences redondantes selon les lignes, les colonnes, ou

même en zigzag : [14]

Figure6 : Linéarisation en ligne, en colonne et en zig-zag

Ses avantages :

Il est assez simple { mettre en œuvre et rapide.

Il peut coder le déplacement du « pointer » lors du traitement d’images.

Page 30: Optimisation d’un algorithme n d’images en utilisant des ...

Il est assez bon dans les images monochromes ou256 couleurs.

Ses inconvénients :

Il s’avère très coûteux pour des images dont la couleur est codée sur 16

ou 24 bits.

Il n’est réellement efficace que pour des images géométriques avec peu

de couleurs.

3. L’algorithme à dictionnaire (Substitutionnelle)LZW ou LZ77, LZ78:

Il est permet de créer des « mots-codes » à partir d'un dictionnaire, il est basé

sur l'étude de répétitions (repérer des séquences qui apparaissent plusieurs

fois) de symboles par exemple dans la méthode LZW le signal :

S = "CITRONTRESCONTRIT"

TR, ON : sont répétés 3 et 2 fois, ONTR est répété deux fois.

Admettons qu'on ait une liste de codes huffman préfixés déjà établis pour des

séquences de deux ou trois caractères comme : CI=10, TR=00, ON=01, ESC=110,

IT=111.

Le signal se code alors : « 100001001100100111 ». [12]

Ses avantages :

Il s'applique très bien sur les images de nombre réduit de couleurs

différentes puisque les motifs différents doivent être relativement faibles

pour être répétés.

Il est l'un des plus répandus algorithmes, et est très rapide aussi bien en

compression qu'en décompression.

La reconstruction du dictionnaire pendant la décompression, ce qui

permet de ne pas le coder dans le ficher.

Ses inconvénients :

qu’il faut disposer d’un dictionnaire exhaustif tel que la création de ce

dictionnaire se fais pendant le processus de compression.

Page 31: Optimisation d’un algorithme n d’images en utilisant des ...

4. Le codage arithmétique :

C’est un codage statistique entropique qui traite l'ensemble d'un message

comme une seule entité. Il consiste à découper l'intervalle des réels [0, 1[en

sous intervalles, les symboles successifs du message réduisent cet intervalle en

concordance avec la probabilité d'apparition du symbole.

On a par exemple le message « BILL GATES » sa distribution de probabilités à

l’allure suivante :

SPACE 0.1 A 0.1 B 0.1 E 0.1 G 0.1 I 0.1 L 0.2 S 0.1 T 0.1

Tableau2 : Probabilités d’apparition des symboles dans le message « BILL

GATES ».

On va maintenant associer { chaque symbole un domaine r { l’intérieur de

l’espace des probabilités compris entre 0 et 1. L’association de chaque symbole

avec un domaine particulier n’est pas critique, mais il est vital que le décodeur

et l’encodeur utilisent la même table d’associations. [15]

Page 32: Optimisation d’un algorithme n d’images en utilisant des ...

SPACE 0.1 0.00 <= r < 0.10

A 0.1 0.10 <= r < 0.20

B 0.1 0.20 <= r < 0.30

E 0.1 0.30 <= r < 0.40

G 0.1 0.40 <= r < 0.50

I 0.1 0.50 <= r < 0.60

L 0.2 0.60 <= r < 0.80

S 0.1 0.80 <= r < 0.90

T 0.1 0.90 <= r < 1.00

Tableau3 : Association de domaines de probabilités aux symboles.

Le premier caractère « B » se voit assigner un domaine entre 0.20 et 0.30. Le

message final aura donc une valeur comprise entre 0.2 et 0.3, ce qui devient

notre nouvel espace de probabilités pour le message. Le caractère « I » qui

obtient le domaine de 0.5 à 0.6, va utiliser le domaine compris entre 50% et

60% du nouvel espace de probabilités, ce qui amène le message à un nouveau

domaine compris entre 0.25 et 0.26.

Ses inconvénients :

Il est très long par rapport aux autres méthodes.

Le codage arithmétique est présent dans la norme JPEG (dans les modes

Extended DCT) et JPEG2000.

5. Le codage prédictif sans perte :

L’idée du codage prédictif s'agit de prédire la valeur d'un pixel en fonction de la

valeur des pixels voisins et de ne coder que l'erreur de prédiction.

Considérons un échantillon (pixel) u(n), La quantité (n), valeur prédite de

u(n) est calculée { partir des échantillons d’entrée précédents :

Page 33: Optimisation d’un algorithme n d’images en utilisant des ...

L’erreur de prédiction est la différence entre la valeur prédite et valeur pixel et

ensuite codée cette erreur. L’information est dans ce cas compressée à l’aide

d’un codeur entropique (Huffman ou arithmétique). [16]

Ses avantages :

Il est simple à réaliser.

6. JPEG sans perte : [17,18]

Il consiste à une précision p des échantillons varie de 2 à 16 bits tel qu’{ la

place de la DCT, le codage utilise un prédicateur P à trois échantillons.

Figure7 : Schéma de compression JPEG sans pertes.

Pour but de mesurer la redondance (les coefficients d'autocorrélation entre des

pixels distants). La prédiction J(x,y) est donnée usuellement par une expression

de la forme :

Où les coefficients réels sont des poids statistiques affectés aux pixels

précédents.

Une application simple de cette formule est le codage prédictif d'un pixel à

partir du pixel situé juste au-dessus par exemple : J(x,y) = I(x,y-1). [9]

Le traitement se fait sur l’image entière et non sur des blocs.

Image

originale Prédicteur Codeur

statistique

Image

compressée

Table

Page 34: Optimisation d’un algorithme n d’images en utilisant des ...

6. Les méthodes avec perte d’information:

Il permet de recoder des redondances et d’éliminer les informations les moins

perceptibles, les pertes sont généralement indécelables { l’œil nu.

1. Compression JPEG (Joint Photographic Expert Group):

JPEG peut désigner soit l'encodage d'une image, soit le format de fichier (aussi

appelé JIFF pour JPEG image file format).

En prenant par exemple la norme JPEG, on a pour la compression et la

décompression JPEG en six étapes en utilisant la méthode par transformée. [19]

Figure8 : Organigramme de compression

Découpage en blocs : découpage en blocs 64 (8 × 8) ou 256 (16 × 16) pixels.

Transformation des couleurs : JPEG est capable de coder les couleurs sous

n’importe quel.

Sous-échantillonnage :

Le sous échantillonnage consiste { ne conserver qu’une partie des données.

L’application de sous échantillonnage d’un bloc de l’image se fait par les deux

Image

brute

Découpage

en blocs de

pixels

Transformation

de couleurs

Sous-

échantionnage

DCT Quantification

Codage RLE ou

Huffmun

Image

compressée

Codage RLE ou

Huffmun

Quantification DCT

inverse

Image

restituée

Sous-

échantionnage

Transformation

de couleurs

Découpage

en blocs de

pixels

Compression JPEG

Décompression JPEG

Page 35: Optimisation d’un algorithme n d’images en utilisant des ...

étapes suivantes : On néglige une ligne sur deux de la matrice ou On néglige

une colonne sur deux.

Exemple :

222120

121110

020100

aaa

aaa

aaa

A

2220

0200'

aa

aaA

Dans le cas de la restitution, l’image sera obtenue par interpolation en

remplaçant chacun des pixels manquant par la moyenne des deux pixels

adjacents. Dans cette méthode, la division ne sera pas contrôlée.

DCT (Discrete Cosinus Transform):

La transformée DCT est une transformation numérique qui est appliquée à

chaque bloc et pour chaque couleur. La transformée DCT s’exprime

mathématiquement par :

À chaque bloc de pixels :

Figure9 : Fonctions sinusoïdales et la somme de celles-ci.

Et la transformée DCT inverse s’exprime par :

Après sous

échantillonnage

Page 36: Optimisation d’un algorithme n d’images en utilisant des ...

Dans les deux cas, la constante vaut :

Quantification : La quantification est l’étape clé qui provoque une dégradation

dans l'image reconstruite mais elle permet de gagner beaucoup de place et

d'obtenir des taux de compressions beaucoup plus importants que dans le cas

d'une compression sans perte si la quantification est trop forte alors le taux de

compression trop élevé. Voici le calcul permettant la quantification :

Et pour la quantification inverse :

Puis le codage : Le codage DCT quantifiée s’effectue en zigzag (RLE,

HUFFMAN), en commençant par les basses fréquences puis en traitant les

fréquences de plus en plus élevées tel que les valeurs non nulles seront codées

en utilisant une méthode statistique de type Huffman.

image initiale

JPEG très compressée

Page 37: Optimisation d’un algorithme n d’images en utilisant des ...

Figure10 : La compression JPEG.

Remarque : Il est à noter qu'il existe une forme de codage JPEG sans perte qui

peu utilisé par la communauté informatique, il sert pour la transmission

d'images médicales pour éviter de confondre des artefacts avec de réels signes

pathologiques.

2. Compression par ondelette : [20]

C’est une technique de traitement de signal qui consiste à décomposer une

image en sous-bandes, c'est à dire des images de résolution inférieure.

Figure 11: Décomposition d’image en sous-bandes.

La transformation en ondelettes discrète (DWT) bidimensionnelle repose sur la

notion d’analyse multi résolution d’une image. Celle-ci décomposée en un

ensemble de sous-bandes représentant l’information portée par l’image source {

différents niveaux de résolutions :

Le schéma de fonctionnement est le suivant :

Figure12 : Schéma de compression JPEG2000 avec pertes.

Image à

compresser DWT Quantification

Encodage Image

compressée

Page 38: Optimisation d’un algorithme n d’images en utilisant des ...

L’image d’approximation (LLn) est une version réduite et lissée de l’image

initiale tandis que les images de détails « horizontaux » (LHn), « verticaux »

(HLn), « diagonaux » (HHn) avec (1<= n<=N) contiennent uniquement des

informations relatives { la texture locale et aux contours des régions de l’image,

à une résolution n donnée et selon une direction donnée.

Puis grâce à la phase de quantification, les valeurs des images de détails

inférieures à un certain niveau sont éliminées en fonction de l'efficacité

recherchée, c'est à ce niveau qu'on perd de l'information. Enfin la matrice

quantifiée subit un encodage.

Avantages des ondelettes (JPEG 2000) par rapport à la DCT (JPEG) :

Les blocs JPEG 8 x 8 sont quantifiés indépendamment les uns des autres

ce qui ne permet pas de réduire les redondances au-delà d'un bloc. Au

contraire, la compression par ondelettes est une méthode globale sur

toute l'image. Cet avantage se traduit par une efficacité encore plus

importante sur les grosses images. Une image de 50 Mo peut être

réduite à 1 Mo.

Le ratio ou taux de compression est directement programmable dans la

compression par ondelettes en format JPEG 2000. Il est donc possible de

prévoir la taille du fichier compressé, quelle que soit l'image, ce qui n'est

pas faisable avec la méthode DCT du JPEG.

La compression par ondelettes est intrinsèquement progressive ce qui

permet de reconstruire facilement l'image à plusieurs résolutions.

3. La compression par fractale : On va voir cette méthode dans le 3eme

chapitre.

Page 39: Optimisation d’un algorithme n d’images en utilisant des ...

7. La différence entre la compression sans et avec perte d’information :

La différence se situe au niveau des valeurs des taux de compression, la

compression de distorsion permet d’atteindre des taux de compression bien

plus élevés, où le choix entre les deux types de méthodes dépend

essentiellement de l’application considère.

Ainsi la compression sans perte est primordiale dans plusieurs secteurs comme

l’imagerie médicale où la perte d’information n’est pas toujours tolérable ou

encore les bibliothèques numériques où la haute qualité est vitale pour la

préservation mais pas nécessaire pour l’affichage.

Conclusion :

La compression des données a un rôle plus important du développement des

réseaux et du multimédia surtout due au décalage qui existe entre les

possibilités matérielles des dispositifs que nous utilisons (débits sur Internet) et

les besoins qu'expriment les utilisateurs (visiophonie, vidéo plein écran),

l’utilisation de ces méthodes est efficace et sophistiquée.

Page 40: Optimisation d’un algorithme n d’images en utilisant des ...

Introduction :

Ce chapitre présente les différents algorithmes de Métaheuristiques

d’optimisation qui sont inspirés par des analogies avec la physique (recuit

simulé, recuit micro canonique), avec la biologie (algorithmes évolutionnaires)

ou avec l’éthologie (algorithme génétique, colonies de fourmis, essaims

particulaires…).

1. Définition d’un problème d'optimisation : [1]

Un problème d'optimisation au sens général est défini par un ensemble de

solutions possibles S, dont la qualité peut être décrite par une fonction objectif

f. On cherche alors à trouver la solution s’ possédant la meilleure qualité f(s’)

(par la suite, on peut chercher à minimiser ou à maximiser f(s)).

2. Définition des algorithmes d’optimisation: [1]

Ils cherchent { déterminer le jeu de paramètres d’entrée d’une fonction

donnant à cette fonction la valeur maximale ou minimale. Cette optimisation

peut se faire sans contrainte ou sous contrainte.

3. Essai et erreur : [1]

Il s’agit de tester un certain nombre de solutions potentielles jusqu’{ l’obtention

d’une solution adéquate.

Page 41: Optimisation d’un algorithme n d’images en utilisant des ...

Figure1 : L’apprentissage par essai et erreur par un schéma { trois niveaux.

4. Fonction objectif et fonction d’adaptation : [2]

a. La fonction d’adaptation :

Un algorithme d’optimisation nécessite généralement la définition d’une

fonction rendant compte de la pertinence des solutions potentielles à partir des

grandeurs à optimiser. Nous la nommerons fonction d’adaptation f (ou fitness

function).

b. La fonction objectif:

L’algorithme convergera vers un optimum de cette fonction, quelle que soit sa

définition. La pertinence de la solution dépendra donc de la pertinence de la

question posée { l’ordinateur.

Objectif unique : [2]

La définition de la fonction f ne pose généralement pas de problème. Par

exemple, si l’on se fixe l’objectif de trouver un dispositif dont le rendement est

maximum.

Dans le cas où l’on utilise un modèle numérique, on commence par évaluer les

caractéristiques des solutions potentielles en utilisant le modèle. Puis on calcule

la fonction d’adaptation { partir de ces caractéristiques.

Page 42: Optimisation d’un algorithme n d’images en utilisant des ...

Objectifs multiples :

Certains problèmes d’optimisation doivent satisfaire des objectifs multiples,

souvent concurrents, ce qui implique un compromis. La méthode classique

consiste à définir plusieurs fonctions objectif fi, traduisant chaque objectif à

atteindre et { les combiner au sein de la fonction d’adaptation.

La combinaison la plus simple est une somme pondérée des fonctions objectif.

tel que : les poids

Où la fonction d’adaptation reste bornée dans l’intervalle [0..1] et qu’un poids

peut être négatif donc il faut poser certaines contraintes du problème.

A la place d’une somme, on peut également utiliser un produit du type :

Ou des expressions plus complexes telles qu’une combinaison de sommes et de

produits. [2]

L’optimisation { objectifs multiples est uns domaine de recherche très actif car

les enjeux économiques et industriels sont énormes.

5. Méthodes d’optimisation :

Une fois définie la fonction { optimiser, il s’agit de choisir une méthode

adaptée au problème posé. Les méthodes d’optimisation peuvent être classées

de différentes manières : méthodes déterministes et méthodes non-

déterministes.

a. Méthodes déterministes : [1]

Page 43: Optimisation d’un algorithme n d’images en utilisant des ...

Les méthodes déterministes sont généralement efficaces quand l’évaluation de

la fonction est très rapide, ou quand la forme de la fonction est connue a

priori. Elle contribue d’une optimisation globale.

b. Méthodes non-déterministes :

Les cas plus complexes (temps de calcul important, nombreux optima locaux,

fonctions non-dérivables, fonctions fractales, fonctions bruitées…) seront

souvent traités plus efficacement par des méthodes non-déterministes qui font

appel { des tirages de nombres aléatoires. Elles permettent d’explorer l’espace

de recherche plus efficacement.

6. L’optimisation globale et minimale :

Soit S un ensemble de solutions { un problème d’optimisation et soit f une

fonction qui mesure la valeur f(s) de toute solution s dans S. On veut

déterminer une solution s appartient à S de valeur f(s) minimale. Le problème

à résoudre est donc le suivant : min f(s)

Une structure de voisinage est une fonction N qui associe un sous-ensemble de

S à toute solution s appartient à S. Une solution s’appartient à N(s) est dite

voisine de s.

Une solution s appartient à S est un minimum local relativement à la

structure de voisinage N si f(s) ≤ f(s’) pour tout s’ N(s).

Une solution s appartient à S est un minimum global si f(s) ≤ f(s’) pour

tout s’ S.

Les métaheuristiques sacrifient la garantie d’optimalité de trouver très

rapidement de bonnes solutions dans S.

7. Les méthodes de résolution :

On distingue deux grandes familles des méthodes d’optimisation :

Page 44: Optimisation d’un algorithme n d’images en utilisant des ...

7.1. Les heuristiques : [3]

Ces méthodes utilisées pour les problèmes où ne connait pas d’algorithmes de

résolution en temps polynomial et pour lesquels on cherche à obtenir une

«bonne » solution, sans aucune garantie qu’elle soit la meilleur. Donc, elles sont

très utiles pour pouvoir aborder des problèmes de taille plus importante.

7.2. Les métaheuristiques : [4]

Ce mot est composé en deux : heuristique qui signifie ‘trouver’ et méta est pris

au sens où les algorithmes peuvent être la combinaison de plusieurs

heuristiques.

Ils sont des algorithmes stochastiques itératifs donc ils ont besoins plus de

mémoire pour mémoriser les informations passées.

La différence fondamentale entre métaheuristiques et heuristiques, c'est que la

recherche métaheuristiques dans un espace de recherche de solutions aux

problèmes, alors que l’heuristiques toujours chercher dans un espace de

recherche d’heuristiques.

2.1.Ses propriétés :

Ils permettent de guider la recherche d’une solution optimale.

Leurs but est d’explorer l’espace de recherche efficacement afin de

déterminer des solutions (presque) optimales.

Ils sont en général non-déterministes et ne donnent aucune garantie

d’optimalité.

Certains de ses mécanismes permettent d’éviter d’être bloqués dans des

régions de l’espace de recherche.

Page 45: Optimisation d’un algorithme n d’images en utilisant des ...

2.2.La famille de la méthode metaheuristique : [4,5]

Ils peuvent être classés en deux grandes familles celles de voisinage qui sont

celles fondées sur la notion de parcours tel que l’algorithme fait évoluer une

seule solution sur l’espace de recherche { chaque itération et celles à base de

population qui manipulent un ensemble de solutions en parallèle à chaque

itération, ces deux familles sont coûteuses en temps de calcul :

Figure 2: Classification des metaheuristiques

1. A solution unique :

1.1. Le GRASP (Greedy Randomized Adaptive Search Procedure):

C’est une méthode multi-départ en deux phases : une phase de construction et

une phase de recherche locale.

Recherche

Tabou Recherche locale

A solution

multiple

A solution

unique

Metaheuristique

Recuit simulé

Algorithmes

évolutionnaires

Recherche par

dispersion Colonies de

fourmis

Essaims

particulaires

Page 46: Optimisation d’un algorithme n d’images en utilisant des ...

a. La phase de construction : [6]

A chaque itération de cette phase, on construit une liste restreinte de

candidats, cette liste est constituée par les meilleurs éléments qui ne font pas

encore partie de la solution partielle, selon une fonction d’évaluation qui

représente pour un élément l’augmentation de cout apportée par

l’incorporation de cet élément, puis on choisit au hasard d’un élément de cette

liste pour l’incorporer { la solution en construction.

b. La recherche locale : [7]

L’algorithme de recherche locale commence { partir d’une solution résultante

de la phase précédente et se déplacer itérativement des solutions aux solutions

voisines pour but d’améliorer la fonction objective f par la mesure de la qualité

des solutions dans l’espace de recherche et il s’arrête jusqu’{ atteindre un

optimum local.

L’opération principale de cet algorithme est de se déplacer d’une solution s {

un de ses voisines :

Le voisinage de s (N(s)) est l’ensemble des solutions voisines de s.

L’opération L(N(s),s) identifie les voisines légales de s.

La recherche locale choisit une de ses voisines légales et décide à se déplacer

vers cette solution ou rester { s par l’opération S.

L’algorithme est le suivant :

function LocalSearch{

s := GenerateInitialSolution() ; s* := s ; for k:=1 to MaxTrials do if satisfiable(s) f(s) < f(s*) then s* := s; s := S(L(N(s),s),s); return s*;}

Page 47: Optimisation d’un algorithme n d’images en utilisant des ...

Ses avantages :

Elle a été appliquée avec succès à un grand nombre de problèmes

d’optimisation comme des problèmes d’ordonnancement, de routage ou

encore des problèmes théoriques dans les graphes.

Elle réside dans sa grande simplicité et sa rapidité.

Ses inconvénients :

les solutions produites sont souvent de qualité parfaite et de coût très

supérieur au coût optimal.

1.2. Recuit simulé : [8,5]

Cette technique transpose { la résolution d’un problème d’optimisation. Tel que

la température (paramètre essentiel du recuit physique) est directement utilisée

dans la méthode du recuit simulé comme paramètre de contrôle.

Le principe de l’algorithme du recuit simulé est simple : partant d’un état initial

quelconque (configuration initiale), un nouvel état est créé { partir de l’état

précédent par une modification élémentaire de cet état. Il est accepté si son

énergie est plus faible (Si Zn Zc accepter la solution candidate), sinon Zn <

Zc accepter la solution candidate avec une certaine probabilité qui

varie en sens inverse de la température T=0,2*Zc.

Procédure GRASP :

Pour k allant de 1 à Max_Itération faire

Solution construction () ;

Solution Recherche_locale (Solution) ; Mise_à_jour_Solution (Solution, MeilleurSolution) ; Fin ; Retourner MeilleurSolution ; FinGRASP

Page 48: Optimisation d’un algorithme n d’images en utilisant des ...

La méthode du recuit simulé inclue des tirages aléatoires où la distribution de

probabilité (les meilleures solutions ayant une probabilité plus grande d’être

tirées).

Exemple de voyageur de commerce:

Solution initiale : 1-2-3-4-5-6-7-1 et Zc = 69.

Température initiale : T = 0,2*69 = 13,8

Modification choisie au hasard : inverser la sous séquence3-4 →

solution candidate : 1-2-4-3-5-6-7-1 et Zn = 65.

Puisque Zn ≤Zc, on accepte cette modification

Solution courante : 1-2-4-3-5-6-7-1 et Zc = 65.

Modification choisie au hasard : inverser la sousséquence3-5-6→

solution candidate 1-2-4-6-5-3-7-1 et Zn = 64

on l’accepte Solution courante : 1-2-4-6-5-3-7-1 et Zc = 64.

Modification choisie au hasard : inverser la sous séquence3-7 →

solution candidate 1-2-4-6-5-7-3-1 et Zn = 66.

Algorithme du recuit simulé : Procédure RECUITGÉNÉRIQUE(einit, Tmax, Tmin)

T Tmax

e einit

e* einit tant que T > Tmin faire // Boucle de décroissance de la température répète // Boucle de stabilisation

e’ modification élémentaire de e

e énergie(e’) - énergie(e) // Zn – Zc (sol_condidate - sol_courante)

si e 0alors // Règle d’acceptation de Metropolis

e e’

sinon si proba_Boltzmann( e) >nombre aléatoire x [0; 1] alors

e e’ fin si si énergie(e*) >énergie(e) alors

e* e fin si jusqu’{ ce que le système soit figé

T abaisser(T) fin tant que retourner e* fin Procédure

Page 49: Optimisation d’un algorithme n d’images en utilisant des ...

Puisque Zn > Zc, Prob(acceptation) = e(-2/13,8) = 0,865

On génère un nombre selon une loi U[0,1] : si ce nombre est < 0,865, on

accepte la modification, sinon, on la refuse.

Ses inconvénients : [9]

Le choix des nombreux paramètres tels que : la température initiale, la

loi de décroissance de la température, les critères d'arrêt ou la longueur

des paliers de température. Ces paramètres sont souvent choisis de

manière empirique.

1.3. La recherche avec tabous : [10]

Elle consiste { explorer itérativement l’espace des solutions d’un problème en se

déplaçant d’une solution courante { une nouvelle solution située dans son

voisinage.

Le principe de l’algorithme de tabou :

Toutefois, on choisira toujours la meilleure modification possible il faut changer

la définition de l’ensemble des modifications possibles pour interdire celles qui

nous ramènent à la solution précédente. Les opérations interdites sont alors

déclarées « tabou ». [6]

À cette fin, on conservera une liste des dernières modifications effectuées en

rendant taboue (en interdisant) la modification inverse. Cette liste taboue peut

être vue comme une mémoire à court terme permettant de guider la recherche.

A chaque itération, on choisit la meilleure modification possible (excluant celles

qui sont taboues), puis on met à jour cette liste en ajoutant la modification

inverse de celle effectuée.

Le critère d’arrêt est une combinaison des critères suivants :

Nombre maximum d’itérations.

Page 50: Optimisation d’un algorithme n d’images en utilisant des ...

Temps limite.

Nombre d’itérations successives sans amélioration.

Il n’y a plus de modification possible.

Adaptation de cette metaheuristique pour résoudre un problème

particulier : structure de voisinage +implantation de la liste taboue.

Voisinage: implique l’ajout de deux liens et l’élimination de deux liens

Liste taboue: les deux liens ajoutes sont insères dans la liste taboue; une

modification est taboue si les deux liens à éliminer sont dans la liste taboue.

On ne conservera dans la liste taboue que les liens ajoutent lors des deux

dernières itérations : on dit que la longueur de la liste taboue est 4.

On arrête l’algorithme lorsque trois itérations consécutives sans amélioration

ont été exécutées (ou lors qu’il n’y a plus de modification possible).

L’algorithme de tabou :

Construire une solution initiale s // solution initiale Calculer son cout z=f(s) z*=z // meilleur cout obtenu s*=s // meilleure solution connue Initialiser MaxIter

T= NIter=0 Repeter NIter= NIter+1

Z’=+ Por toute solution s’ de V(s)

Si s’ T et f(s’) z’ alors s’’=s’ z’=f(s’) finsi finpour

si z’ alors enlever solution en tete de T ajouter s en fin de T s=s’’ z=z’

si z z* alors s*=s z*=z finsi finsi

jusqu’{ (NIter=MaxIter)ou (z’= )

Page 51: Optimisation d’un algorithme n d’images en utilisant des ...

Exemple de voyageur de commerce :

Il gère également la liste taboue, Solution initiale : 1-2-3-4-5-6-7-1 (69)

Itération 1 :

Inversion de la sous-séquence 3-4 → ajout des liens 2-4 et3-5 →

Liste taboue = 2-4, 3-5

Nouvelle solution : 1-2-4-3-5-6-7-1 (65).

Itération 2 :

Inversion de la sous-séquence 3-5-6 →ajout des liens 4-6 et3-7 →

Liste taboue = 2-4, 3-5, 4-6, 3-7

Nouvelle solution : 1-2-4-6-5-3-7-1 (64).

À partir de la solution courante 1-2-4-6-5-3-7-1, il y a deux modifications :

Inversion de la sous-séquence 6-5-3 →élimination des liens4-6 et 3-7, mais les

deux sont dans la liste taboue, modification taboue :

Inversion de la sous-séquence 3-7 → ajout des liens 5-7 et3-1, élimination des

liens 5-3 et 7-1 →

Liste taboue = 4-6, 3-7, 5-7, 3-1

Nouvelle solution : 1-2-4-6-5-7-3-1 (66 > 64)

Ses avantages :

Elle est efficace pour la résolution de plusieurs problèmes difficiles.

Plus récente que des techniques comme le recuit simulé.

On obtient de meilleurs résultats.

De plus, sa paramétrisation est moins sensible aux différents réglages.

Ses inconvénients :

Elle reste difficile à adapter aux problèmes flexibles.

2. A solution multiple :

2.1. Colonies de fourmis :

Page 52: Optimisation d’un algorithme n d’images en utilisant des ...

Elle s’inspire du comportement des fourmis lorsque sont à la recherche de

nourriture, une fourmi en se déplaçant pose de la phéromone, substance

olfactive et volatile, sur son chemin de manière probabiliste en tenant compte

de la quantité de phéromone qui est autour d’elles et qui a été précédemment

déposée par les autres membres de la colonie.

Cependant, comme la phéromone s’évapore progressivement, le choix

probabiliste que prend une fourmi pour choisir son chemin évolue

continuellement.

Exemple :

(a) (b) (c)

Figure3 : Un exemple de la stratégie des colonies de fourmis.

D

C

B

H

D

C

B

H

D

C

B

H

32 fourmis 32 fourmis 32 fourmis

32 fourmis 32 fourmis 32 fourmis

E

A

E E

A A

T=0 T=1 T=2

d=1

d=1

d=0.5

d=0.5

16 qp

16 qp 16 qp

16 qp 8 qp

8 qp

8+16=24 qp

8+16=24 qp

8 24

8 24

16 16

16

16

Algorithme des colonies de fourmis :

Procédure COLONIESDEFOURMISGÉNÉRIQUE Répète //Boucle externe construction d’une solution par déplacement des fourmis évaporation de la phéromone affinage de la solution % étape optionnelle jusqu’{ ce que critère d’arrêt retourner Pk

fin Procédure

Page 53: Optimisation d’un algorithme n d’images en utilisant des ...

À T=0, 32 fourmis sont en D et 32 autres en B. Le choix du chemin à suivre

entre H et C est complètement aléatoire puisqu’il n’y a encore aucune

phéromone sur ce chemin. Chaque groupe de fourmis se divise donc en deux

parties égales qui déposent chacune 16 qp sur leur chemin.

À T=1, 32 nouvelles fourmis se présentent en D et 32 autres en B. Mais pendant

ce temps, les 16 fourmis parties de D en passant par C sont arrivées en B, de

même les 16 autres parties de B en passant par C sont en D. Il y a donc 16 +

16/2 = 24 qp qui indiquent le chemin en passant par C. Ces 16/2 = 8 qp sont

dues { l’évaporation. De l’autre côté, les 16 fourmis parties de D et les 16 autres

parties de B se retrouvent en H. Il n’y a donc que 16/2 = 8 qp qui indiquent en

D comme en B le chemin passant par H. Puisque le chemin passant par C est

signalé par 24qp et celui passant par D, par 8 qp, les nouvelles fourmis vont

majoritairement choisir le chemin passant par C.

C’est ce qui se passe { T=2. Dans cet exemple, quand la phéromone s’évapore,

la quantité de phéromone est divisée par deux. [11]

Ses avantages :

Ils sont très robustes (ils sont toujours performants, même en cas de

défaillance de certains individus).

Ils sont flexibles (une colonie peut s’adapter { un nouvel environnement)

Ils sont rapide de bonnes solutions ainsi le travail en parallèle et

l'utilisation des informations heuristiques, entre autres.

2.2. Essaims particulaires : [12]

Afin de simuler les mouvements d'un groupe d'oiseau (des similitudes avec

l'algorithme des colonies de fourmis) car il fait intervenir des agents pouvant

communiquer entre eux de manière très simple et permettant l'émergence de

comportements complexes.

Page 54: Optimisation d’un algorithme n d’images en utilisant des ...

Elle met en jeu de larges groupes de particules, chaque particule i est

caractérisée par sa position xi =(x1, …, xn) et un vecteur de changement de

position (appelé vélocité) vi = (v1, …,vn). A chaque itération, la particule se

déplace: xi(t) = xi(t-1)+vi(t-1)pour j=1,…, N.

L’algorithme d’essaims particulaires :

n =nombre d'individus

D =dimensions du problème

Tant que critère d'arrêt :

Pour i = 1 à n :

Pour d = 1,..,D :

// est donc le meilleur individu trouvé.

fin d

fin si

g = i

Pour j =index des voisins :

g = j // g est le meilleur individu du voisinage

fin sin j

Pour d = 1,..,D :

fin d

fin i

fin

Page 55: Optimisation d’un algorithme n d’images en utilisant des ...

2.3 Les algorithmes évolutionnaires :

La théorie de la sélection naturelle s’applique aux individus d’une population et

repose sur trois principes :

la variation : les individus diffèrent les uns des autres.

l’adaptation : les individus les mieux adaptés { leur environnement

vivent plus longtemps et procréent plus.

l’hérédité : les caractéristiques des individus sont héréditaires.

Figure 4 : Présentation de types des algorithmes évolutionnaires.

Le principe des algorithmes évolutionnaires :

1. Construction et évaluation d'une population initiale ;

2. Jusqu’{ atteindre un critère d'arrêt :

3.élection d'une partie de la population,

4. Reproduction des individus sélectionnés,

5. Mutation de la descendance,

6.Évaluation du degré d'adaptation de chaque individu,

7. Remplacement de la population initiale par une nouvelle population. [13]

Algorithme Evolutionnaire(AE)

Algorithme Génétique (AG)

La Programmation Evolutionnaire(PE)

Les Stratégies d’Evolution (SE)

La Programmation Génétique (PG)

Page 56: Optimisation d’un algorithme n d’images en utilisant des ...

Ces méthodes se différencient par leur manière de représenter les données et

par leur façon de faire évoluer la population d'une génération à l'autre.

2.3.1. Algorithme Génétique (AG) : On va voir cette méthode dans le 3eme

chapitre.

2.3.2. La Programmation Evolutionnaire (PE):

Elle n'utilisait que des opérateurs de mutation et de remplacement mais

n'utilise toujours pas d'opérateur de croisement. Tel que le cycle d'évolution

typique pour la programmation évolutive est le suivant : [10]

1. Chaque configuration de la population courante est copiée dans une nouvelle

population.

2. Les configurations sont ensuite mutées, conduisant à de nouvelles

configurations.

3. L’ensemble des configurations entre ensuite dans une étape de compétition

pour survivre dans la génération suivante.

L’algorithme évolutionnaire :

Procédure ALGOÉVO(population_initiale, nb_croisements, nb_mutations)

population population_initiale

nb_individus card(population) évaluation de l’adaptation des nb_individus éléments de population

nb_enfants nb_croisements + nb_mutations répète

parents sélection d’individus de population pour la reproduction

enfants 0; pour i = 1 à nb_croisements faire

enfant croisement de plusieurs individus de parents évaluation de l’adaptation de enfant

enfants {enfants} enfants fin pour pour i = 1 à nb_mutations faire

enfant mutation d’un individu de parents évaluation de l’adaptation de enfant

enfants {enfants} enfants fin pour

population remplacement par nb_individus venant de enfants et parents jusqu’{ ce que Critère d’arrêt retourner individu le mieux adapté de population fin Procédure

Page 57: Optimisation d’un algorithme n d’images en utilisant des ...

Les algorithmes de la programmation évolutionnaire diffèrent des stratégies

d'évolution en ce qu'ils privilégient des opérateurs de remplacement

stochastiques.

Ses avantages :

Il a produit des résultats intéressants pour certains problèmes

d'optimisation combinatoire.

2.3.3. Stratégies d’évolution :

Elle est pour but de résoudre des problèmes d'optimisation continus tel que les

individus sont des points (vecteurs de réels). Elle est comme la programmation

évolutive n'utilise que la mutation et la sélection.

L'algorithme le plus simple, noté (1+1)-ES où manipule un seul individu, à

chaque génération (itération) l'algorithme génère par mutation un individu

enfant à partir de l'individu parent et sélectionne l'un ou l'autre pour le

conserver dans la population selon l'adaptation de chaque individu.

Le processus s'arrête quand la condition d'arrêt est vérifiée, définie souvent par

le nombre d'itérations, le temps de calcul réalisé ou l'écart entre deux individus

de deux itérations successives.

L’algorithme générale est noté : (m+l)-ES qui signifie que m parents génèrent l

enfants à chaque génération et qu'une sélection ramène ensuite la population

de m+l individus à m individus. [14]

Une itération de l'algorithme général procède comme suit:[15]

1. À partir d'un ensemble de m parents,

2. produire une population de l enfants :

1. choisir ρ parents,

Page 58: Optimisation d’un algorithme n d’images en utilisant des ...

2. recombiner ces parents entre eux pour former un unique

individu,

3. faire muter cet individu,

3. sélectionner les m meilleurs individus.

Ses avantages :

Elles ont été adaptées à l'optimisation combinatoire et appliquées à de

nombreux problèmes de référence et pratiques,

2.3.4. La Programmation génétique (PG):

Elle n’utilisait que des opérateurs de mutation et de remplacement mais

n'utilise toujours pas d'opérateur de croisement. Ils diffèrent des stratégies

d'évolution en ce qu'ils privilégient des opérateurs de remplacement

stochastiques.

Le principe des phases de la programmation génétique :

1. Génération aléatoire de la population (1 individu = 1 programme)

2. Évaluation du fitness de chacun des individus de la population

3. Application des opérateurs de croisement, mutation, reproduction sur la

population afin de créer une nouvelle population .

4. Sélection des individus les mieux adaptés à leur environnement (cela

correspond aux programmes répondant le mieux au problème posé)

5. Répéter les étapes 2 et 3 un certain nombre de fois

Ses avantages :

la programmation génétique peut être appliquée à l'évolution du matériel.

Page 59: Optimisation d’un algorithme n d’images en utilisant des ...

Ses inconvénients : La programmation génétique est coûteuse en temps de calcul machine,

puisqu'elle met en concurrence de façon parallèle un grand nombre

d'algorithmes voisins.

2.3.5. Les algorithmes à estimation de distribution :

Elle consiste à estimer les relations entre les différentes variables d'un problème

d'optimisation grâce à l'estimation d'une distribution de probabilité associée à

chaque point de l'échantillon. Ils n'emploient donc pas d'opérateurs de

croisement ou de mutation, l'échantillon étant directement construit à partir

des paramètres de distribution estimés à l'itération précédente.

Le principe de l’algorithme { estimation de distribution :

1. tirage aléatoire d'un ensemble de points suivant une distribution de

probabilité donnée,

2. sélection des meilleurs points,

3. extraction des paramètres de la distribution de probabilité décrivant la

répartition de ces points.

L’algorithme procède comme suit :

Tirer au hasard M individus, pour former une population D0.

i = 0 ;

Tant qu'un critère d'arrêt n'est pas vérifié :

i = i + 1 ;

Sélectionner N individus (avec N < M) dans la population précédente (Di − 1),

pourformer la population : .

Estimer une distribution de probabilité Pi(x), décrivant la répartition de la

population .

Tirer au hasard M individus dans Pi(x).

Fin de la boucle.

Page 60: Optimisation d’un algorithme n d’images en utilisant des ...

Remarque : aucune métaheuristique n’est réellement meilleure qu’une autre.

2.3. Avantages et inconvénients de metaheuristique : [5]

Les métaheuristiques étant très généralistes, elles peuvent être adaptées

{ tout type de problème d’optimisation.

Elles sont souvent moins puissantes que des méthodes exactes sur

certains types de problèmes.

Elles ne garantissent pas non plus la découverte de l’optimum global en

un temps fini.

Cependant, un grand nombre de problèmes réels n’est pas optimisable

efficacement par des approches purement mathématiques, les

métaheuristiques peuvent alors être utilisées avec profit.

La notion d’efficacité se rapporte généralement { deux objectifs

contradictoires : La vitesse est souvent mesurée en nombre d’évaluations

de la fonction objectif qui est la plupart du temps la partie la plus

gourmande en temps de calcul, et la précision se rapporte à la distance

entre l’optimum trouvé par la métaheuristique et l’optimum réel, soit du

point de vue de la solution, soit de celui de la valeur.

Bien souvent, un algorithme rapide est peu précis, et inversement.

Il est possible de choisir des critères dépendants du comportement de

l’algorithme, comme une dispersion minimale de la population de points

ou un paramètre interne approprié. En tout état de cause, le choix du

critère d’arrêt influencera la qualité de l’optimisation.

L’utilisation de métaheuristiques peut paraître relativement simple, en

première approche, mais il est souvent nécessaire d’adapter l’algorithme

au problème optimisé.

Une métaheuristique ne peut prétendre être plus efficace sur tous les

problèmes, bien que peut être plus adapté sur certaines classes de

problèmes.

Page 61: Optimisation d’un algorithme n d’images en utilisant des ...

Conclusion :

Dans ce chapitre, on a tenté de dresser un l’état de l’art sur les méthodes

d’optimisation. On a parlé des méthodes de résolution existantes et des

problèmes résolus par ces méthodes et enfin on a parlé des avantages et des

inconvénients des métaheuristiques. On détaillera dans le chapitre suivant les

algorithmes génétiques on poursuivra la méthode fractale pour la compression

d’images avec distorsion.

Page 62: Optimisation d’un algorithme n d’images en utilisant des ...

Partie1 : Algorithmes Génétiques :

Introduction :

Les Algorithmes Génétiques (AGs) sont des algorithmes d’optimisation fondés

sur les mécanismes de la sélection naturelle et de la génétique [1]. Les champs

d’application sont variés. On les retrouve en théorie des graphes, en

programmation automatique, en reconnaissance de forme et compression

d’images numériques etc.

Les principes de base des AGs ont été développés par Holland [2]. Ces

algorithmes sont simples et très performants dans la recherche d’une solution

optimale [3]. Nous présentons dans cette partie leur principe de

fonctionnement ainsi que les opérateurs sur lesquels ils reposent.

1. Terminologies : [1,4] :

Les AGs utilisent un vocabulaire similaire à celui de la génétique, ils sont beaucoup plus

complexes. L'individu dans une population est composé d'un ou plusieurs chromosomes qui

sont eux-mêmes constitués de gènes qui contiennent les caractères héréditaires de

l'individu.

Les principes de sélection, de croisement, de mutation introduite dans ce cadre artificiel,

s'appuient sur les processus naturels du même nom.

Page 63: Optimisation d’un algorithme n d’images en utilisant des ...

2. Principe d’un algorithme génétique : [1,4]

Pour un problème d'optimisation un individu représente un point de l'espace d'état. On lui

associe la valeur du critère { optimiser. A partir d’une population initiale l'algorithme génère

de façon itérative des populations sur lesquelles on applique des processus de sélection, de

croisement et de mutation. La sélection a pour but de favoriser les meilleurs éléments de la

population, tandis que le croisement et la mutation assurent une exploration efficace de

l'espace d'état.

Figure1 : Structure générale d’un algorithme génétique.

Début

Génération de la

population initiale

Sélection

Evaluation

Croisement

Mutation

Extraction du meilleur

individu

Fin

Oui

Critère d’arrêt

vérifié ?

Non

Page 64: Optimisation d’un algorithme n d’images en utilisant des ...

3. L’algorithme de base des Algorithmes Génétiques : [13]

4. Codage des individus : [4]

L’utilisateur doit choisir un alphabet qui permet de représenter les solutions du

problème. Les codages binaires ont été les premiers à être utilisés. Le choix du

codage des données dépend du problème à traiter.

Plusieurs formes de codage peuvent être utilisés les plus courantes sont :

Initialize total number of iterations nrOfIterations N Initialize actual number of iterations i = 0 Initialize size of population |POP|

Initialize success ratio SuccRatio [0, 1]

Initialize maximum selection pressure MaxSelPress ]1,∞[

Initialize lower comparison factor bound LowerBound [0, 1]

Initialize upper comparison factor bound UpperBound [LowerBound, 1] Initialize comparison factor CompFactor = LowerBound Initialize actual selection pressure ActSelPress = 1 Produce an initial population POP0 of size |POP|

while (i <nrOfIterations) ∧(ActSelPress <MaxSelPress) do Initialize next population POPi+1 Initialize pool for bad children POOL

while (|POPi+1| <(|POP| · SuccRatio))∧((|POPi+1| + |POOL|) <(|POP| · MaxSelPress))do Generate a child from the members of POPi based on their fitnessvalues using crossover andmutation Compare the fitness of the child c to the fitness of its parents par1 and par2

if fc ≤(fpar2 + |fpar1 − fpar2 | · CompFactor) thenInsert child into POOL elseInsert child into POPi+1 end if end while Adapt CompFactor according to the given strategy i = i + 1 end while ActSelPress =|POPi+1|+|POOL| / |POP| Fill up the rest of POPi+1 with members from POOL

while |POPi+1| ≤ |POP| do Insert a randomly chosen child from POOL into POPi+1 end while

Page 65: Optimisation d’un algorithme n d’images en utilisant des ...

a) Codage binaire :

Dans ce codage, un gène correspond à une variable codé par un certain

nombre de bits. La figure 2 montre un exemple de codage d’un gène sur 32

bits.

Figure2 : Schéma illustrant le code d’un gène sur 32bits.

Le nombre entier x s’opère par la règle suivante :

Ainsi le chromosome 1,1,0,1A vaut

Un des avantages du codage binaire est que les individus peuvent être

facilement codés, ces individus peuvent être des nombres réels, des nombres

entiers ou des chaînes de caractères. Son utilisation nécessite l’usage de

fonction de codage et décodage pour passer d’une représentation { l’autre.

b) Codage réel :

La seule différence qui existe entre le codage réel et le codage binaire

réside dans la façon de représenter les gènes. Dans le codage binaire, les

gènes sont représentés par des valeurs binaires alors que dans le codage

Page 66: Optimisation d’un algorithme n d’images en utilisant des ...

réel, les gènes sont représentés par des valeurs réelles. L’avantage du

codage réel est qu’il permet d’éviter des opérations de conversion réel

vers binaire et vice versa.

5. Génération de la population initiale : [4]

La première étape de l’AG est la construction de la population ou le choix d’un

ensemble de solutions de départ que nous allons faire évoluer pour trouver la

solution optimale du problème.

Il est naturel de générer aléatoirement les individus, en veillant à ce que les

individus produits respectent les contraintes. Si par contre, des informations a

priori sur le problème sont disponibles, il parait naturel de générer les

individus dans un sous domaine particulier afin d'accélérer la convergence de

l’algorithme.

6. Fonction d’évaluation (fitness) :

Elle est appelée aussi fonction d’adaptation, elle mesure l’efficacité d’un

individu. Généralement, c’est une transformation de la fonction à optimiser.

Elle permet de lier le problème { résoudre avec l’AG. Le résultat de cette

fonction est utilisé dans le processus de sélection.

7. Opérateurs génétiques : [4]

1. Sélection

La sélection détermine les chromosomes d’une population parent ayant le droit

de participer { l’élaboration de la population enfants. La sélection ne crée pas

de nouveautés, elle se contente de choisir quels individus seront ou pas en

Page 67: Optimisation d’un algorithme n d’images en utilisant des ...

mesure de contribuer à la création de la population enfants, suivant une

stratégie particulière selon un critère d'adaptation au problème (fitness).

On distingue deux catégories de procédures de sélection à savoir les

procédures déterministes et les procédures stochastiques.

1.1. Sélection déterministe On sélectionne les meilleurs individus (au sens de la fonction de fitness). Les

individus les moins performants sont totalement éliminés de la population, et

le meilleur individu est toujours sélectionné, on parle alors d'élitisme.

1.2. Sélection stochastique

Il s'agit toujours de favoriser les meilleurs individus, mais de manière

stochastique. Ceci laisse une chance aux individus moins performants d’être

sélectionnés. Par contre, il peut arriver que le meilleur individu ne soit pas

sélectionné, et qu'aucun des enfants n'atteigne une performance aussi bonne

que celle du meilleur parent. Deux principales sélections sont présentées ci-

dessous:

a) Sélection par roulette biaisée (Roulette de casino) : La méthode RWS (Roulette Wheel Selection) consiste à associer à chaque

individu de la population un segment de la roulette. La largeur de ce segment

est proportionnelle à sa fitness ou à une probabilité d’être sélectionné. Chaque

individu x on lui associe une probabilité Ps(x) tel que :

Page 68: Optimisation d’un algorithme n d’images en utilisant des ...

tel que if x : La fitness de l’individu

ix .

b) Sélection par tournoi :

La sélection par tournoi consiste à choisir aléatoirement un certain nombre

d’individus, et à sélectionner pour la reproduction celui qui a la meilleure

adaptation (fitness). Cette étape est répétée jusqu'à ce que on aura N/2

individus de la génération. Chaque individu peut participer à plusieurs

tournois. [12]

2. Reproduction (Recombinaison) : Elle consiste à appliquer des opérateurs génétiques aux individus sélectionnés

pour engendrer de nouveaux individus. Elle a pour objectif de faire évoluer la

population vers l’optimum en propageant les caractéristiques des meilleurs

individus choisis lors de la sélection. On distingue deux opérateurs à savoir le

croisement et la mutation.

2.1 Croisement Le croisement est un opérateur génétique qui combine deux chromosomes

« parents » pour produire deux nouveaux chromosomes « enfant ». Il a pour

but d'enrichir la diversité de la population en manipulant les composantes des

individus. On distingue en général trois types de croisement à savoir le

croisement : uni-point, le croisement multi-point et le croisement uniforme.

a) Croisement uni-point : Pour chaque couple, le point de croisement est choisi au hasard :

Page 69: Optimisation d’un algorithme n d’images en utilisant des ...

Figure3 : Exemple de croisement uni-point b) Croisement multi-point :

Ce type de croisement est une généralisation du croisement uni-point. Les

chromosomes sont découpés en k sous-chaines.

Figure4 : Exemple de croisement en deux points

c) Croisement uniforme :

C’est un croisement multi-points dont le nombre de coupures est indéterminé

{ priori. Pratiquement, pour chaque couple d’individus un ‘masque de

croisement’ engendré aléatoirement est utilisé. Ce dernier est un mot binaire de

même longueur que les chromosomes. Un 0 pour la n-ième position du masque

laisse inchangé les symboles à la n-ième position des deux génotypes, un 1

déclenche un échange des symboles correspondants.

Page 70: Optimisation d’un algorithme n d’images en utilisant des ...

Figure5 : Exemple de croisement uniforme

2.2. Mutation :

Une mutation est définie comme étant l’inversion d’un bit dans un

chromosome. La probabilité de mutation Pm est en général faible (de l’ordre de

1%).

L’exercice de la mutation est basé sur un tirage aléatoire. Un nombre r est tiré

au hasard dans l’intervalle [0 ,1]

Si m

r P alors le chromosome subit une mutation

Si m

r P le chromosome ne subit pas de mutation.

Figure6 : Une mutation dans un chromosome.

1 1 0 0 1 0 1 1

S0 S1 S2 S3 S4 S5 S6 S7

t0 t1 t2 t3 t4 t5 t6 t7

t0 t1 S2 S3 t4 S5 t6 t7

Parent1

Parent2

Enfant

1 Enfant2 S0 S1 t2 t3 S4 t5 S6 S7

Masque

binaire

Page 71: Optimisation d’un algorithme n d’images en utilisant des ...

3. Choix des paramètres d’un algorithme génétique :

Pour lancer l’AG, il faut définir certains paramètres tels que : la taille de la

population, la probabilité de croisement, la probabilité de mutation et le

nombre de générations. Il est difficile de les fixer ou de trouver les meilleurs

paramètres avant l’exécution de l’algorithme [13].

8. Avantages et Inconvénients :

Ses avantages :

Les algorithmes génétiques ont été appliqués à de nombreuses

applications dans des domaines très variés.

Ses inconvénients :

Les algorithmes génétiques sont des résultats d’optimisation

combinatoire généralement faibles.

Conclusion : Les notions de base ainsi que le fonctionnement des algorithmes génétiques

ont été décrits. La simplicité de mise en œuvre et l’efficacité constituent deux

des caractéristiques les plus attirantes des algorithmes génétiques, cependant il

est ainsi un problème de grande taille et contient une grande divergence.

Afin d’accélérer l’optimisation des compressions d’images, tout en gardant les

taux de compression très élevés ce qu’on sera présentée dans le 4eme chapitre.

Page 72: Optimisation d’un algorithme n d’images en utilisant des ...

Partie2 : Théorie des fractale :

1. Définition :

Le terme fractal issu du mot latin « fractus » qui signifie brisé ou fragmenté et

irrégulier. Une fractale est un sous ensemble A d’un espace métrique X, tel que

A est extrêmement compliqué géométriquement.

Un objet fractal, se caractérise par [5, 6]:

Il a des détails similaires à des échelles arbitrairement petites ou

grandes.

Il est trop irrégulier pour être décrit efficacement en terme géométrique

traditionnel.

Il est exactement ou statistiquement auto similaire, c’est { dire que le

tout est semblable à une de ces parties.

Sa dimension de Hausdorff est plus grande que sa dimension

topologique.

2. L’autosimilarité :

Une approche intuitive consiste { considérer qu’une fractale est la

transformation récursive d’un objet par N copies de lui-même { l’échelle r (avec

r < 1) : cette propriété est appelée l’autosimilarité.

Page 73: Optimisation d’un algorithme n d’images en utilisant des ...

L’autosimilarité peut être exacte : dans ce cas en changeant l’échelle, on a un

objet agrandi identique { l’original (par exemple la courbe de Von koch). Mais

pour beaucoup d’objets naturels, l’autosimilarité n’est pas exacte, l’objet agrandi

ressemble { son image initiale mais ce n’est pas exactement le même. C’est le

cas par exemple d’une côte rocheuse. Dans ce cas l’autosimilarité est statistique.

En prenant en considération l’autosimilarité, on peut représenter les images par

un nombre restreint de paramètres tout en faisant appel à une fonction

relativement simple qui génère n’importe quel niveau de détails appelée

système de fonctions itérées.

Figure7 : Exemple d’autosimilarité statistique (côte rocheuse).

4. La dimension fractale : [7,6]

La dimension fractale caractérise la manière selon laquelle une fractale évolue

dans l’espace où elle est dessinée. C’est un nombre qui mesure le degré

d’irrégularité ou de fragmentation d’un objet ou qui mesure la rugosité d’une

surface.

Page 74: Optimisation d’un algorithme n d’images en utilisant des ...

La dimension fractale « D » est donnée par:

N : est le nombre de partie des segments générés lors de transformation d’un

segment.

r : longueur d’une division.

Exemple : la courbe de Von Koch (flocon de neige).

On l’obtient en remplaçant le tiers central d’un segment par un triangle

équilatéral sans base, puis en répétant l’opération pour chacun des segments.

En répétant cette opération, on obtient une courbe fractale dont la dimension

est fractionnaire : la courbe de Von Koch.

Figure 8 : Construction de la courbe de Von Koch

Page 75: Optimisation d’un algorithme n d’images en utilisant des ...

4. Théorie des IFS et compression fractale :

La compression fractale repose sur la détection de la récurrence des motifs, et

tend { éliminer la redondance d’informations dans l’image.

La théorie des IFS est basée sur la propriété d’invariance par changement

d’échelles. Elle permet de générer des objets fractals { l’aide d’un ensemble de

fonctions contractantes traduisant cette propriété.

4.1. Definition d’un IFS (Iterated Function System)[5]:

Un IFS (système de fonctions itérés) S facteur de contraction et W est un

ensemble fini de N transformations affines strictement contractantes.

(i=1,2,…, N) définit dans un espace métrique complet ( , d), Où :

: espace des images.

d : mesure de distance.

Avec : S =Max (Si : i= 1,2,…, N) Si : facteur de Lipschitz.

Soit A un sous ensemble d’un plan, considérons A comme une image, le collage

obtenu par l’application de N contractions de A, et l’assemblage des résultats

peut être exprimé par :

Page 76: Optimisation d’un algorithme n d’images en utilisant des ...

Les Wi peuvent être décrites comme une combinaison de rotation, de réduction

d’échelle et de transformations de coordonnées des axes dans un espace { n

dimensions.

f

e

y

x

dc

baWi

Où :

a, b, c, d, e et f représentent des nombres réels (paramètres de transformation).

On peut générer les valeurs des transformations comme suit :

a = r cos θ, b= -s sin φ, c= s sin θ, d= s cos φ.

Où : r : est le facteur de réduction sur x.

s : est le facteur de réduction sur y.

θ : est l’angle de rotation sur x.

φ : est l’angle de rotation sur y.

e : est la translation en x.

f : est la translation en y.

Voyons comment trouver la transformation affine qui transforme une grande

feuille en une petite, trouver les paramètres a, b, c, d, e, f pour lesquels la

transformation W a la propriété suivante : W (grande feuille) = petite feuille.

La procédure à suivre est la suivante [7] :

1. Introduire des axes x et y : Marquer trois points sur la grande feuille et

déterminer leur coordonnées (x1, y1), (x2, y2), (x3, y3).

Page 77: Optimisation d’un algorithme n d’images en utilisant des ...

2. Marquer les trois points correspondant sur la petite feuille et déterminer

leurs coordonnées (α1, β1), (α2, β2), (α3, β3) respectivement.

3. Déterminer les valeurs des coefficients a, b, et e par la résolution du

système à trois équations suivantes :

4. Déterminer les valeurs des coefficients c, d et f par la résolution des

équations suivantes :

Chacune des transformations Wi doit avoir une probabilité Ρi, avec une

importance relative aux autres relations.

4.2. IFS probabilisé : [7, 8] :

L’IFS est dit probabilisé si on munit d’une probabilité la transformation . Elle

est calculée par l’expression suivante :

Où :

Page 78: Optimisation d’un algorithme n d’images en utilisant des ...

f

e

y

x

dc

baWi

Pour i=1,2,..,N.

Si un des nombres est nul, il faudra le remplacer par une petite valeur positive.

Ces probabilités seront utilisées dans l’algorithme à itération aléatoire de

calcule des IFS.

4.3. Attracteur d’un IFS [5, 9] :

Soit un IFS { },et un opérateur W : H ( ) →H ( ) défini

par :

L’opérateur W est contractant et a pour facteur de contraction celui de l’IFS, il

a aussi un point fixe At tel que :

Avec onW : est la nième itération de W.

L’objet At est appelé Attracteur de l’IFS. Il est invariant sous la transformation

W et est égal { l’union des N copies de lui-même transformées par Wi, i=1, 2,…,

N.

Exemple [9]: l’IFS de triangle de Sierpinski.

Soit l’IFS { } composé des transformations affines suivantes :

Page 79: Optimisation d’un algorithme n d’images en utilisant des ...

2

0

2

10

02

1

01y

y

x

y

xW

2

2

2

10

02

1

0

0

2 y

x

y

x

y

xW

2

2

2

10

02

1

0

0

3 y

x

y

x

y

xW

Son facteur de contraction est égal à 0,25.

La figure ci-dessous présente l’attracteur codé par IFS : le triangle de Sierpinski.

Figure9: Triangle de Sierpinski

Page 80: Optimisation d’un algorithme n d’images en utilisant des ...

4.4. Théorie de collage :

Ce théorème fournit une borne supérieure à la distance de Hausdorff entre un

point A inclus dans H(x) et l’attracteur At d’un IFS.

Théorème [7,9] :

Soit l’espace métrique complet (R2,d), soit un point et un IFS

{ } avec le réel s, 0 s 1 pour facteur de contraction.

On vérifier la relation :

Le théorème indique que s’il est possible de transformer un objet A de manière

à vérifier A W (A) tout en s’assurant que W est contractante, alors le point

fixe At de l’opération W est proche de A. L’opérateur W caractérise pleinement

dans ce cas l’approximation At de l’objet, et code ce dernier de manière exacte

si A=W(A), le codage sera plus efficace que l’objet A est auto similaire.

4.5. Problème inverse : [14]

Les IFS permettent de générer des images totalement auto-similaires en

utilisant un nombre restreint de transformations. Uniquement dans le cadre de

la géométrie fractale pour la compression d’images, il est important de définir

le bon IFS de telle sorte que son attracteur est l’image { coder.

Page 81: Optimisation d’un algorithme n d’images en utilisant des ...

Barnsley a montré qu’on peut trouver cette IFS par le théorème de collage,

mais ce dernier ne fournit aucune méthode pour le trouver. La compression

par les IFS permet d’obtenir des taux de compression trop élevés, puisque la

mémorisation des cœfficients de la transformation fractale W nécessite moins

d’informations que la mémorisation de l’image originale. On dit alors que la

transformation fractale est une compression avec perte du fait que l’attracteur

ne constitue qu’une approximation de l’image originale.

4.6 La limite des IFS : [14]

Les images traitées sont des images naturelles ne sont pas auto similaire tel un

visage d’un homme, et sont { plusieurs niveaux de gris (images couleurs), d’où

on constate la limite et l’insuffisance des IFS.

Pour cela on fait appel aux PIFS (Partitianned Iterated Function System) qui

constituent une extension aux IFS et qui s’adaptent { n’importe quelle image.

5. Compression d’images basé sur les PIFS :

La méthode des PIFS est une méthode complémentaire à celle des IFS, elle

exploite les similarités entre les régions d’une image quelconque, et elle

introduit le partitionnement et la génération des niveaux de gris.

5.1. Auto similarité dans les images :

Les images ne sont pas autos similaires, mais elles sont constituées de copies

des parties d’elle-même. Sur l’image de LENNA, on voit clairement que

certaines régions sont similaires mais à différentes échelles, par exemple : la

Page 82: Optimisation d’un algorithme n d’images en utilisant des ...

portion de reflet de chapeau dans le miroir est similaire à une partie de son

chapeau [10, 11].

L’image codée est une approximation d’elle-même et non une copie identique.

La figure ci-dessous illustre les similarités dans l’image de LENNA.

Figure10: Les parties similaires dans l’image LENNA

5.2. Transformation fractale : [10,14]

La compression fractale des images repose une transformation fractale qui

transforme l’image { partir d’un opérateur finalement contractant de manière à

conserver toute sa qualité visuelle.

La transformation de l’image se compose de n sous transformations

élémentaires, chacune opérant sur un bloc de l’image de la façon suivante :

Page 83: Optimisation d’un algorithme n d’images en utilisant des ...

L’image A est partitionnée en n blocs rn appelés blocs destination R (ou

bloc range). Elle s’écrit :

Faire une correspondance entre chaque bloc destination et un autre bloc

transformé Wi (di) qui lui ressemble au sens d’une mesure d’erreur sur

les niveaux de gris.

Le bloc di appelé bloc source dont la surface est plus grande que celle de bloc

ri correspondant, est recherché au travers d’une librairie composée de Q blocs

appartenant { l’image. Les Q blocs ne forment pas nécessairement une portion

de l’image mais sont représentatifs de toute l’image.

Pour limiter le temps de calcul lors de la comparaison inter blocs, la géométrie

des blocs sources et destinations doit être proche.

L’image A transformée en utilisant la transformation W qui est régie par

l’équation suivante :

tel que :

Où est l’approximation du bloc destination obtenue en transformant le

bloc source di par Wi (l’opération permettant d’obtenir le bloc { partir du bloc

di est appelé opération de collage). [11]

Chaque transformation Wi s’écrit sous la forme :

i

i

i

i

ii

ii

i

l

f

e

z

y

x

s

dc

ba

z

y

x

W

00

0

0

Où i =1,…, n.

On peut l’écrit aussi :

Page 84: Optimisation d’un algorithme n d’images en utilisant des ...

Avec

f(x,y) : niveau de gris.

f(x,y) : constitue la 3eme dimension, si contrôle le contraste et li la

luminance.

Les conditions de base pour la conception d’un système de codage d’images

basé sur les fractales sont :

1. Le choix de partitionnement de l’image.

2. Le choix de la mesure de distorsion.

3. Le choix de transformations fractales.

Figure11: Blocs destination ri et blocs sources di

5.3. Partitionnement de l’image[6, 10, 7] :

a. Partitionnement carré :

Il consiste { diviser l’image en blocs carrés réguliers.

Page 85: Optimisation d’un algorithme n d’images en utilisant des ...

b. Partitionnement quadtré :

Sa constitution consiste à diviser récursivement tous les blocs en blocs carrés

(quatre quadrants de mêmes dimensions). Ce processus est représenté par un

arbre de degré quatre (chaque nœud interne correspond à 4 fils, la racine est

l’image entière).

c. Partitionnement HV (Horizontal, Vertical) :

L’image est subdivisée en deux nouveaux rectangles. Selon le type de rectangle,

Fisher propose deux méthodes pour procéder à cette division :

1- S’il y a une frontière diagonale, la droite de réparation doit faire en

sorte que cette frontière parcours diagonalement l’un des rectangles et l’autre

doit rester homogène. Et lorsque c’est un rectangle de grande taille qui est

traversé obliquement, il est redivisé de façon à ce que deux sous rectangles

disjoints soient traversées diagonalement par la frontière.

2- Si un rectangle inclut une frontière horizontale ou verticale, la

division se fera à la place de cette frontière et donnera deux rectangles

homogènes.

d. Partitionnement triangulaire :

Le partitionnement est souple car il s’adapte aux objets de l’image dans toute

les directions (exemple : triangulation de Delaunay)

5.4. La mesure de distorsion : [6, 7]

La distorsion aux distances est une mesure de degré de proximité ou de

ressemblance entre deux images. Les métriques les plus utilisés sont:

Page 86: Optimisation d’un algorithme n d’images en utilisant des ...

La métrique SUP :

Elle recherche la position (x,y) où les deux images f et g différent le plus et

considère celle-ci comme étant une différencier entre elles.

d(f, g) = Sup ),(),( yxgyxf , (x,y) I2…(13)

Avec les images f et g sont de taille carrée NxN. et

L2 (distance quadratique moyenne) :

d L2 (f, g) = L2 distance (f,g) =N

1

N

x 1

N

y 1

2,, yxgyxf …(14)

L1 distance :

d L1(f, g) = L1 distance (f,g) =N

2

1

N

x 1

N

y 1

),(),( yxgyxf …(15)

La distance RMS (Root Mean Squared):

RMS (f, g) = N

1

N

x

N

y

yxgyxf1 1

2,, …(16)

Les trois dernières distances sont très utilisées car elles sont faciles à calculer et

donnent une bonne indication sur le degré de ressemblance entre deux images.

Page 87: Optimisation d’un algorithme n d’images en utilisant des ...

6. Méthode de Jacquin [5, 7, 9] :

La méthode de Jacquin est fondée sur une partition R à géométrie carrée.

L’image est partitionnée en blocs destination (ou blocs parents) carrés de taille

fixe égale à BxB (B=8). L’algorithme recherche, pour chacun des blocs

destinations le bloc source de taille DxD (D=2B) minimise l’erreur ,

où est l’approximation de calculée à partir du bloc source La mesure

d’erreur d est donner par :

Où et sont respectivement les valeurs des pixels d’indice j { l’intérieur de

bloc original et de bloc collé .

6.1. Collage d’un bloc source sur un bloc destination :

L’opération de collage d’un bloc source sur un bloc destination réalisée

par la transformation se décompose en deux parties :

a. Transformation spatiale (géométrique) :

C’est une opération de décimation du bloc { l’aide d’une opération de

moyennage. Elle consiste également à appliquer des opérations de rotations

(Identité, rotation) ramène le bloc source de taille DxD { l’échelle et au-

dessus du bloc destination de taille BxB. Le bloc ainsi transformé note b2(i)

est donné par l’équation suivante :

Page 88: Optimisation d’un algorithme n d’images en utilisant des ...

b2(i)(xi,yi)=

4

1[ti(xk,yl) + ti(xk,yl+1) + ti (xk+1,yl) + (xk+1,yl+1)]…(18)

Dans laquelle (xk,yl) sont les coordonnées d’un pixel de niveau de gris noté à

l’intérieur de bloc .

b. La transformation massique :

La fonction de collage massique prend pour expression

Où facteur d’échelle ou Scale et facteur de décalage ou offset. Elle

contient un ajustement de contraste et un décalage de niveaux de gris afin

d’affiner l’approximation du bloc R.

Elles mélangent les valeurs des pixels ou les déplacent dans les blocs, elles sont

appelées les 8 isométries.

Opérations d’isométrie Application à un bloc Dm de taille T*T

Identité I1(Dm(i,j))=Dm(i,j)

Réflexion par rapport { l’axe vertical I2(Dm(i,j))=Dm(i,T-1-j)

Réflexion par rapport { l’axe horizontal I3{Dm(i,j)}=Dm(T-1-i,j)

Réflexion par rapport à la première diagonale I4{Dm(i,j)}=Dm(j,i)

Réflexion par rapport à la seconde diagonale I5{Dm(i,j)}=Dm(T-1-j,T-1-i)

Rotation de 90° I6{Dm(i,j)}=Dm(j,T-1-i)

Rotation de 180° I7{Dm(i,j)}=Dm(T-1-i,T-1-j)

Rotation de -90° I8{Dm(i,j)}=Dm(T-1-j,i)

Tableau1 : Les huit isométries utilisées

T : le nombre de ligne ou de colonne du bloc à traiter.

Page 89: Optimisation d’un algorithme n d’images en utilisant des ...

6.2. Classification des blocs: [14]

La complexité de la transformation massique dépend de la nature de bloc

considéré. Selon cette nature, on distingue trois classes qui regroupent :

Les blocs homogènes (bloc shode) : blocs presque uniforme, qui

présentent des variations de luminance négligeables.

Les blocs texturés (blocs midrange) : se caractérisent par des gradients

moyens, mais ne définissent aucun conteur.

Les blocs avec contours (blocs edge) : simples et divisés, ils présentent

une brusque variation de niveau de gris le long de la limite d’un objet.

Selon la classe à laquelle appartient le bloc destination ri, une transformation

plus au moins complexe lui est associée. Celle-ci dépend du bloc décimé b2(i)

et/ou d’un bloc constant b1(i) formé de pixels tous égaux à 1. Au bloc b2

(i) sera

associé un coefficient d’échelle noté β2(i) et au bloc b1

(i) un coefficient β1(i).Le

choix de la transformation est fonction de la procédure suivante :

Si le bloc est homogène : absorption des niveaux de gris de ri, aucune

recherche de bloc source di n’est effectuée. La transformation de ri codée

sur S bits, est donnée par :

ir = β 1(i) b1

(i)…(20)

Où l’entier β 1(i) est compris entre 0 et 255.

On obtiendra ainsi un ajustement du contraste et de brillance qui minimisera

la distance des moindres carrés des valeurs après la transformation affine aux

valeurs :

Page 90: Optimisation d’un algorithme n d’images en utilisant des ...

Si le bloc ri est texturé : recherche du bloc source di, puis modification

de contraste et décalage. La transformation de di, codée sur m bits est

donnée par :

ir β 2(i) b2

(i) + β 1(i) b1

(i) …(22)

Où : β2(i) appartient { l’ensemble {0.7, 0.8, 0.9, 1.0}.

β 1(i) est compris entre -255et 255.

Si le bloc ri contient des contours : recherche du bloc source di, puis

modification de contraste, décalage et isométrie discrète ISOi. La

transformation de di, codée sur e bits est donnée par :

ir = ISOi (β 2(i)b2

(i) + β 1(i) b1

(i)) …(23)

Où β2(i) appartient { l’ensemble{0.5, 0.6, 0.7, 0.8, 0.9, 1.0}.

β 1(i) compris entre -255 et 255.

Figure12 : Principe du codage par des fractales.

Page 91: Optimisation d’un algorithme n d’images en utilisant des ...

a) Similarités dans l’image « Lena ».

b) Collage d’un bloc source sur un bloc destination.

6.3. Codage de l’opération de collage :

La mémorisation du collage d’un bloc source (parent ou enfant) sur un bloc

distination comprend :

1. L’indice du bloc source retenu parmi les Q blocs de la librairie à

condition que ceux-ci soient rangés dans une liste de blocs et que

leur organisation sur le support de l’image soit connu. Sinon, il

est nécessaire de mémoriser les coordonnées (xk, yl) d’un pixel de

référence dans le bloc .

2. L’isométrie utilisée lors du collage (une parmi huit).

3. Les coefficients β1 et β2 de la transformation massique.

Cette information est associée à chacune des N blocs destinations de la

partition R. Elle est codée sur un nombre variable de bits puisque la

mémorisation de l’ensemble n’est pas nécessaire. Elle dépend de la

transformation massique utilisée.

6.4. Taux de compression [5] :

Le taux en bits par pixels est donné par l’expression suivante :

pixelsbits

BNNN

eNsNmNT

esm

esm

c /2

…(31)

Page 92: Optimisation d’un algorithme n d’images en utilisant des ...

Où Nm, Ns, Ne : désigne le nombre total des blocs destinations textures,

homogènes et avec contours dans l’image. Et B : est le côté du bloc destination.

6.5. Reconstitution de l’image :

La procédure de décodage consiste simplement à itérer la transformation W

sur n’importe quelle image A0, jusqu'à ce que la convergence vers une image

stable soit observée.

La séquence d’image An= Wn (A0) est appelée séquence de reconstruction

fractale.

La transformation d’une image d’après un code fractale est faite

séquentiellement. Chaque bloc destination de l’image Wn+1(A0) est obtenu en

appliquant la transformation Wi au bloc source correspondant de l’image

Wn(A0), avec n0.

Le processus de décodage s’arrête lorsque la distorsion entre deux images

successives devient inférieure à un seuil fixé.

6.6. L’algorithme de base de codage fractale d’image :

- Construire le dictionnaire D(P) de pas P.

- Fixer un seuil d’erreur T.

- Partitionner l’image en blocs cible Ri jusqu’{ une profondeur maximale.

Page 93: Optimisation d’un algorithme n d’images en utilisant des ...

- Pour chaque block Ri non traité faire:

- Pour chaque bloc Dj du dictionnaire D:

- Calculer les coefficients s et o de la transformation wi tel que la distance

rij=dL2(wi(Dj), Ri) soit minimale.

- Retenir le bloc Dj et les coefficients s et o tel que la distance

rij correspondante est minimale.

- Si cette distance est inférieure au seuil T:

- Encoder la référence du bloc source et les coefficients de la transformation.

- Stocker la référence du meilleur bloc source et les coefficients s et o correspondants.

7.Avantages et Inoconvénients :

Ses inconvénients :

la qualité des images reconstruites suite à une compression fractale est

mettant moindre que celles obtenue avec le standard JPEG.

les temps de calcul sont longs.

Perte obligatoire.

Ses avantages :

Malgré les inconvénients de la méthode de compression fractale, il y’a quelques

améliorations apportées:

Partition de l’image en blocs de taille différents (quadtree, HV).

Méthode de recherche rapide des blocs source.

approche très différente des méthodes classique de codage.

à partir de même fichier compressé possibilité de reconstruire l’image.

décompression extrêmement rapide.

Page 94: Optimisation d’un algorithme n d’images en utilisant des ...

Conclusion :

Nous avons introduits dans ce chapitre d’une part les différentes étapes de

l’algorithme génétique et d’autre part les bases mathématiques nécessaires à la

compréhension de la théorie des systèmes de fonctions itérées, ainsi que les

principaux algorithmes de compression des images naturelles selon l’approche

fractale.

Le calcul de la transformation fractale est basé sur un partitionnement carré

régulier, qui engendre un nombre de blocs réduits, ce qui améliore la qualité

visuelle de l’image reconstruite.

Page 95: Optimisation d’un algorithme n d’images en utilisant des ...

Introduction :

Grâce à la simplicité des algorithmes génétiques lors de leurs implémentations

et à cause de leurs performances et avantages vis-à-vis des méthodes classiques

d’optimisation, les AGs sont actuellement très utilisés dans plusieurs

applications, parmi elle la compression d’images.

Dans ce chapitre, nous proposons des nouvelles méthodes de compression

d’images par fractale et par prédiction linéaire en utilisant les algorithmes

génétiques.

L’adaptative de la compression fractale par les algorithmes génétiques.

Dans la compression fractale ces algorithmes seront utilisés pour trouver les

similarités entre les blocs de l’image a compressée. Cette image est divisée en

blocs sources et destinations en utilisant les PIFS (Partitionned Iterated

Function System). Les AGs sont employés pour trouver le bloc source

approprié ainsi que la transformation appropriée pour chaque bloc destination.

Pour réaliser cette méthode, nous avons pu concevoir l’algorithme de

Compression d’Images par Fractales en utilisant les algorithmes Génétiques,

noté « CIFG » dont le schéma synoptique est le suivant :

Page 96: Optimisation d’un algorithme n d’images en utilisant des ...

Figure1 : Schéma synoptique du compresseur.

1. Partitionnement de l’image : [3.6, 3.10]

Soit I une image donnée de taille W x W. L’image originale sera partitionnée en

deux types de blocs : les blocs destinations bD de taille BxB dont le nombre est

n =W/BxW/B, et les blocs sources bS de taille 2Bx2B dont le nombre est

m = (W/2B) x (W/2B).

Chaque 16 pixels

Fenêtre de 16 x 16

L’image originale

Figure2: Procédé de la représentation des blocs sources.

Image

originale

Décodage

fractal

Stockage des

paramètres fractals

( , (k, l), I)

Blocs destinations

Bd de taille B x B

Construction du

code Fractal par

les AGs

Décimation (Bs

de taille B x B)

Blocs sources Bs

de taille 2B x 2B

Image

approximée

Page 97: Optimisation d’un algorithme n d’images en utilisant des ...

Décimation :

La décimation consiste à ramener les blocs sources de taille 2B x 2B en blocs de

taille B x B.

Bs (0, 0) Bs (0, 7) Bs (0, 15)

Bs (7, 0)

Bs (15, 0) Bs (15, 15)

Figure3 : Le résultat de la décimation d’un bloc 16 x 16 en un bloc de 8 x8

2. Construction du code fractal par les algorithmes génétiques : [3.4]

L’aspect principal du codage d’image basé sur les fractales est de trouver un

bloc source approprié et une transformation pour chaque bloc destination.

Pour cela on introduit les AGs. La construction du code fractal est faite selon

l’organigramme suivant :

Résultat de la

décimation

Page 98: Optimisation d’un algorithme n d’images en utilisant des ...

Non Oui

Figure4 : L’organigramme de construction du code fractal

Génération aléatoire de la

population initiale

Calcul de la fonction

de fitness

Sélection

Critère d’arrêt

vérifié ?

Mutation

Croisement

Remplacement

Extraction du

code fractal

Fin

Début

Page 99: Optimisation d’un algorithme n d’images en utilisant des ...

3. Paramètres de l’AG :

a) Génération aléatoire de la population initiale :

La population initiale représente les individus de la première génération. Sa

taille notée S reste fixe à chaque génération.

Les éléments de la population initiale sont générés aléatoirement d’un ensemble

dit espace de recherche P tel que :

8,,2,12/,,2,12/,,2,1 BWBWP

Avec {1,2,…,8} représente les 8 isométries.

W: nombre de lignes ou colonnes de l’image.

B : la taille des blocs.

Les individus sont représentés par des chaînes binaires appelées chromosomes

de longueur l. Ils sont construits de telle manière que l’ensemble épuise l’espace

paramétrique de totalité (l’ensemble des chromosomes est 2l).

b) Fonction de fitness :

La fonction de fitness est définit sur l’ensemble des chromosomes. Le problème

ici est de trouver le chromosome qui fournit la valeur optimal de la fitness

parmi tous ceux existent.

La fonction de fitness doit minimiser au maximum l’erreur quadratique

moyenne (la distance d) entre le bloc destination original et le bloc source

approximé. La distance d est donnée par l’équation suivante :

Page 100: Optimisation d’un algorithme n d’images en utilisant des ...

Donc la fitness F(x) sera égale à :

Avec : Bd : bloc destination.

Bs : bloc source.

K : taille des blocs sources et destinations.

: facteur d’échelle.

I : l’une des 8 isométries.

Le facteur d’échelle , les blocs sources Bs (i, j) et le numéro de la fonction

d’isométrie I est choisi de telle sorte qu’ils minimisent la fonction d.

c) Sélection : [3.12]

Cette étape nous permet de choisir les individus aptes à la reproduction. On

produit une génération intermédiaire de taille S en opérant une sélection à

partir de la fonction de fitness. Seuls les meilleurs individus peuvent accéder à

la génération intermédiaire et s’y reproduire.

Pour effectuer cette étape, on choisit la sélection par tournoi. Cette sélection

consiste à choisir aléatoirement deux individus dans la génération intermédiaire

et on compare leurs fitness, puis on sélectionne le plus adapté. Cette étape est

répétée jusqu'{ ce qu’il reste P/2 individus.

Page 101: Optimisation d’un algorithme n d’images en utilisant des ...

d) Croisement : [3.4]

Pour effectuer cette opération, on choisit le croisement uni point. Dans la

génération intermédiaire, on forme S/2 paires de chromosomes aléatoirement,

et on génère un nombre aléatoire Ri compris dans l’intervalle [0, 1], puis on le

compare à la probabilité de croisement Pc qui est en générale 90 .

Si PcRi , le croisement est exécuté.

Si PcRi , le croisement n’est pas effectué.

e) Mutation : [3.4]

La mutation peut être définie comme étant l’inversion d’un bit dans un

chromosome (0 par 1 et 1 par 0), avec une probabilité Pm qui prend des

valeurs très petites en générale 1 et qui sera comparée un nombre r généré

aléatoirement compris entre 0 et 1 :

Si Pmr : muter le bit. Autrement, la mutation n’est pas effectuée.

Les valeurs de Pm peuvent se changer à chaque itération.

f) Remplacement : [3.4]

Pour réaliser le remplacement, on applique le modèle élitiste. Ce dernier

consiste à remplacer les mauvais individus de la population actuelle par les

meilleurs individus de la population précédente. Les meilleurs individus de deux

itérations successives seront toujours dans la génération intermédiaire de la

population courante.

Page 102: Optimisation d’un algorithme n d’images en utilisant des ...

g) Critère d’arrêt : [3.4]

Le critère d’arrêt est basé sur le nombre maximum d’itérations T. C’est-à-dire

de l’algorithme génétique s’arrête après un nombre de générations prédéfinies.

4. Stockage des paramètres fractals :

Durant la procédure du codage fractal, on cherche le bloc source le plus

similaire. Une fois celui-ci est trouvé, on doit sauvegarder ces paramètres

fractals, I, Bs (i, j) et .

5. Reconstitution de l’image :

La reconstitution d’une image r(i, j) se fait par le décodage des paramètres

fractals stockés, tel que un bloc rn(i, j) de l’image est donné par :

6. La mise sous fichier :

Après chaque traitement, on doit stocker les paramètres ressortant dans un

fichier pour pouvoir reconstruire l’image après décodage. Ceux-ci sont stockés

dans un fichier qui comportera :

1. Une entête (header) qui est composée de :

(wd, ht) : la taille de l’image originale,

(Bw,Bh) : la taille des blocs à utiliser,

Nrn : nombre de blocs destinations,

Npi : la taille de la population initiale,

Nq : le pas de quantification.

Page 103: Optimisation d’un algorithme n d’images en utilisant des ...

2. Les paramètres fractals qui sont :

a. L’adresse du bloc (i, j),

b. L’isométrie tn utilisée,

c. Le facteur d’échelle .

L’entête :

(wd, ht),

(Bw, Bh),

Nrn

Npi

nq

Les paramètres fractals :

bloc (i,j),

L’isométrie tn,

Le facteur d’échelle .

Pi

Figure 5 : Le format d’image CIFG.

Page 104: Optimisation d’un algorithme n d’images en utilisant des ...

L’adaptative de la compression de prédiction linéaire par les algorithmes

génétiques.

1. Le codage par prédiction linéaire :

Nous décrivons un algorithme génétique pour la compression d’image

réversible basé sur le codage par prédiction linéaire, l’image erreur peut être

codé par un codage entropie (Huffman ou arithmétique).

Figure6: Compression d’image base sur le codage prédictif.

Adaptative prédicteur :[1]

Chaque valeur de pixel sera prédire par la somme de leurs six pixels

voisins (prediction mask ou context) donc la valeur de prédiction de ce pixel

est définie comme suit :

Prédicteur

Codage

entropie

Image à

compresse

r

Model

Perdition

d’image

l’image

erreur

Codage

entropie

-

Page 105: Optimisation d’un algorithme n d’images en utilisant des ...

Tel que sont des poids tel que le masque est fixe et les poids seront

modifiés.

Figure7: Les six pixels de prédictio..

Dans chaque itération t d’optimisation, on calcul la différence entre l’erreur

précédente et l’erreur courent qui sera petite, les poids Wi de prédiction sont

changés par rapport à la distance et pourront prendre des valeurs réelles entre

0 et 1. [1]

L’erreur de prédiction E(i,j) est la différence entre la valeur de pixel et la valeur

de prédiction de pixel tel que :

Elle d’autant plus proche de 0 que le voisinage du pixel x(i,j) qui est

homogène, si proche de 0 donc on aura une plage de variations plus étroite

que celle des amplitudes absolues x(i,j).[2]

i-1,j i-1,j-1 i-1,j+1

i,j i,j-1 i,j-2

i-2,j

Page 106: Optimisation d’un algorithme n d’images en utilisant des ...

L’image erreur est coder par le codage entropie donc le décodage reconstruit

l’image erreur.

Figure8: Le codage par prédiction linéaire.

Model(i,j) est une fonction qui prend les coordonnées d’un pixel et donne la

valeur prédictive de pixel.

Image

initiale

Image

erreur

Codage

entropique

ENCODER(Model, Image)

for i = 0 to imax

for j = 0 to jmax

ERR(i,j) = Image(i,j) – Model(i,j)

DECODER(Model)

for i = 0 to imax

for j = 0 to jmax

Image(i,j) = Model(i,j) +ERR(i,j)

L’algorithme génétique:

Set initial iteration t = 0

Initialize P(t)

Evaluate P(t)

while (termination condition not satisfied) do

begin

t = t+1

Generate P(t+1) from P(t)

Recombine P(t+1)

Evaluate P(t+1)

Page 107: Optimisation d’un algorithme n d’images en utilisant des ...

2. Les étapes de l’utilisation des algorithmes génétiques:

1. Génération d’une population initiale

2. Evaluation de la population

3. Sélection des meilleurs individus

4. Reproduction (le croisement et la mutation)

5. Si le critère d’arrêt est vérifié on extrait le meilleur individu de la

population résultante, sinon on refait les étapes 2 à 5.

3. Paramètres de l’AG :

3.1. Codage des chromosomes :

Dans un algorithme génétique, un individu représente une solution du

problème à traiter. Chaque chromosome code un point de l'espace de

recherche. Un individu est représenté par les six poids des pixels voisins de

chaque pixel par une série de 0 à 1 de Q poids, dans notre cas, une solution est

une chaîne binaire de longueur L.

L'efficacité de l'algorithme génétique va donc dépendre du choix du codage

d'un chromosome.

On utilise les algorithmes génétiques pour déterminer les poids des valeurs

prédictives où chaque coefficient représente la distance euclidienne. [3]

3.2. La population initiale : [4]

La population initiale représente les individus de la première génération, sa

taille notée S reste fixe à chaque génération. Ses individus « P » sont générés

Page 108: Optimisation d’un algorithme n d’images en utilisant des ...

aléatoirement d’un ensemble dit espace de recherche Pop de deux dimensions :

Pop = P*Q tel que :

P : nombre des individus dans la population et chaque individu représente les

six poids Q de série de 0 et 1. Population créée aléatoirement dans les limites

de l’espace de recherche imposé. [5]

3.3.Fonction fitness : Elle est définie par :

On cherche les coefficients qui minimisent la puissance de l’erreur de

prédiction. [8].

La fonction objectif totale est égale à la somme des fonctions objectifs :

Tel que N : le nombre des individus dans la population.

Le problème est de trouver le poids optimal qui est formulé par la

minimisation de l’énergie tel que la fonction fitness sera petite (son rôle est de

remplacer l’erreur d’image.

3.4 La sélection :

On peut déterminer à partir de cette fonction la probabilité de sélectionner les

individus où la probabilité de chaque individu dépend des individus voisins et

sa valeur de fonction fitness.

Page 109: Optimisation d’un algorithme n d’images en utilisant des ...

La sélection des individus aptes à la reproduction est effectuée en utilisant la

sélection par roulette. On choisit aléatoirement un certain nombre d’individus

et on sélectionne celui qui a la plus grande valeur de fitness.

Chaque individu a une fonction fitness élevé, il a une grande probabilité de

sélectionné contrairement { l’individu a une fonction fitness diminué. Le

nombre des individus sélectionnés est dépend de la probabilité associée à

chaque pixel. [3]

Les meilleurs chromosomes peuvent ainsi être tirés plusieurs fois et les plus

mauvais ne jamais être sélectionnés. [6]

Lors de la phase de sélection, les individus sont sélectionnés aléatoirement en

respectant les probabilités pi associées pour former la population de la nouvelle

génération. [7]

Le croisement, la mutation, le remplacement : on effectue le même principe

que la compression fractale optimisée

3.5Critère d’arrêt :

Le critère d’arrêt est basé sur le nombre maximum d’itérations T. C’est-à-dire

de l’algorithme génétique s’arrête après un nombre de générations prédéfinies

ou selon les valeurs des meilleurs éléments de la population tel que s'il ne s'est

pas amélioré les x dernières générations ou selon la différence d’évaluation

Page 110: Optimisation d’un algorithme n d’images en utilisant des ...

entre 2 meilleurs individus si elle est inférieure à une certaine tolérance ou le

temps de calcul.

Page 111: Optimisation d’un algorithme n d’images en utilisant des ...

4. Le principe de la compression prédictive par les algorithmes génétiques :

Figure 9: Le schéma de compression prédictive par l’algorithme génétique.

Image

initiale

Population

initiale

Fonction

d’evaluation Sélection

Croisement

Mutation

Remplacement

Critère

d’arrête

Extraction du

meilleur individu

Codage entropie

Proche de

0

Oui Non

Oui Non

Choisir

aléatoirement

A la place

d’erreur

Sélection par

la probabilité

de roulette

Page 112: Optimisation d’un algorithme n d’images en utilisant des ...

Conclusion :

Nous avons expliqué dans ce chapitre le processus de compression

décompression par des fractales et par prédiction linéaire en utilisant les

algorithmes génétiques.

L’application de ces méthodes aux différents types d’image ainsi que les

résultats obtenues font l’objet du chapitre suivant.

Page 113: Optimisation d’un algorithme n d’images en utilisant des ...

Introduction :

L’analyse par tests est le mode le plus performant pour évaluer toute

application informatique. Elle permet d’estimer son aptitude { réaliser les

tâches désirées et à trouver les failles au cours de son implémentation.

L’algorithme de compression CIFG développé dans le chapitre précédent a été

mis en œuvre en utilisant le langage de programmation Delphi5 sous

l’environnement Windows. Le choix de ce langage réside dans sa caractéristique

la plus essentielle, qui est sa grande souplesse à manipuler les objets bitmaps,

les fichiers ainsi que l’accès rapide { plusieurs mémoires.

La réalisation du logiciel nous a permis d’effectuer plusieurs tests de

compression sur des images bitmaps en niveau de gris. Le choix des images à

traiter s’est imposé de lui-même par le fait que celles-ci sont très utilisées en

traitement d’images, afin d’étudier les effets que peut engendrer l’application de

cette méthode sur de telles images.

Dans le but d’interpréter les résultats obtenus par l’application de l’algorithme

CIFG, nous allons définir les deux critères d’évaluation des performances de

toute méthode de compression, qui sont :

Le calcul du rapport signal sur bruit crête (PSNR) en décibels (db). Ce

dernier mesure la distorsion de l’image traitée par rapport { l’image

originale. Le calcul de PSNR est donné par l’équation suivante :

MSEPSNR

2

10

255log10

Page 114: Optimisation d’un algorithme n d’images en utilisant des ...

MSE : est l’erreur quadratique moyenne entre l’image originale et l’image

restituée.

Le calcul du taux de compression donné par la formule suivante :

%1001

1

RcTc

Avec

esséeimagecomprtailledel

naleimageorigitailledelRc

'

'

Nous avons choisi pour nos tests deux images bitmaps de résolution codées sur

8 bits, représentées dans la figure ci-dessous.

Figure 1 : Images tests originales

(a): Image LENA

(b) : Image FRUIT

1. Résultats expérimentaux et interprétations :

Nous commençons nos tests par l’application de la compression CIFG sur

chaque image test. En variant le pas de quantifications nq. Nous avons eu un

(a) (b)

Page 115: Optimisation d’un algorithme n d’images en utilisant des ...

taux de compression de 93.39 pour l’image LENA, et de 88.97 pour l’image

FRUIT. Le PSNR varie proportionnellement au pas de quantification.

Les différents PSNR atteint par cette méthode sont illustrés par les images des

figures suivantes :

Figure 2 : Image LENA restituée par CIFG

(a)

nq=2 ; PSNR=10.13 ; Tc=93.39

(b)

nq=8 ; PSNR=21.31 ; Tc=93.39

(c)

nq=32 ; PSNR=33.30 ; Tc=93.39

(d)

nq=255 ; PSNR=51.31 ; Tc=93.39

Page 116: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 3 : Image FRUIT restituée par CIFG

Nous remarquons que les images reconstruites à des valeurs de nq plus petites,

sont nettement dégradées par rapport à celles reconstruites à des valeurs de nq

plus élevées. Cette dégradation est due { des pertes d’informations qui se

traduisent par l’effet de bloc. Cet effet est très visible dans les images { nq=2,

puis, il disparaisse et la qualité d’images s’améliore en augmentant le pas de

quantification. A partir de nq=32, les images restituées sont très proches de

l’image originale et le PSNR le plus élevé (contrairement à MSE) est atteint

avec nq=255.

(a)

nq=2 ; PSNR=14.02 ; Tc=88.97

(b)

nq=8 ; PSNR=26.45 ; Tc=88.97

(c)

nq=32 ; PSNR=38.49 ; Tc=88.97

(d)

nq=255 ; PSNR=56.46 ; Tc=88.97

Page 117: Optimisation d’un algorithme n d’images en utilisant des ...

Dans la compression CIFG, nous prenons seulement quelques blocs sources et

non la totalité. Pour cela nous étudierons l’effet du nombre de blocs sur le

PSNR, le taux de compression Tc et le temps d’exécution.

Nous fixons le pas de quantification nq à 16, puis, nous faisons varier le nombre

de blocs. Les résultats obtenus sont donnés dans les tableaux ci-dessous.

Nombre de

blocs

Temps

d’exécution Tc (%)

MSE PSNR (db)

6 00.00.02 93.39 122.64 27.24

12 00.00.03 92.97 78.83 29.16

24 00.00.07 92.44 21.78 34.75

32 00.00.09 92.87 67.29 29.85

255 00.01.26 87.05 3347.55 12.88

Tableau 1 : Résultats obtenus par la variation du nombre de blocs (image

LENA)

Nombre de

blocs

Temps

d’exécution Tc (%)

MSE PSNR (db)

6 00.00.00 88.97 40.04 32.10

12 00.00.01 88.06 33.98 32.81

24 00.00.02 85.95 30.24 33.32

32 00.00.03 83.99 34.48 32.75

255 00.00.26 32.53 36.25 32.53

Tableau 2 : Résultats obtenus par la variation du nombre de blocs (image

FRUIT)

Page 118: Optimisation d’un algorithme n d’images en utilisant des ...

A partir des résultats donnés par les deux tableaux, nous avons tracé les

courbes de la figure suivante où le rouge d’image de LENA et le bleu l’image

FRUIT:

Figure 4 : Variation du PSNR en fonction du nombre de blocs.

Page 119: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 5 : Variation du Tc en fonction du nombre de blocs.

A partir des tableaux et des courbes présentés ci-dessus, nous constatons que

le PSNR et le taux de compression sont inversement proportionnels au nombre

de blocs. Plus ce nombre augmente, plus le PSNR et le taux Tc diminue.

La diminution du PSNR est très importante dans l’image LENA mais très

constante dans l’image FRUIT, contrairement au taux de compression où nous

remarquons une diminution importante pour l’image FRUIT et une variation

constante pour l’image LENA.

Nous constatons alors qu’en augmentant le nombre de blocs, le taux de

compression devient moins important et la qualité d’images reconstruites se

dégrade. Pour restituer des images de bonne qualité avec un PSNR élevé et un

taux de compression important, nous choisissons un nombre minimal de blocs.

Ces figures illustrent l’influence du nombre de blocs sur la qualité d’images

reconstruites.

Page 120: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 6 : Image LENA restituée en variant le nombre de blocs.

Figure 7 : Image FRUIT restituée en variant le nombre de blocs.

Dans l’image LENA, la dégradation de l’image reconstruite avec un nombre de

blocs élevés est très visible, mais dans l’image FRUIT, n’est pas très clair de fait

que le PSNR avec 255 blocs est proche de celui avec 6 blocs.

(a)

nq=16 ; PSNR=27.24 ; Tc=93.39 ;

Nombre de blocs=6

(b)

nq=16 ; PSNR=12.88 ; Tc=87.05 ;

Nombre de blocs=255

(a)

nq=16 ; PSNR=32.46 ; Tc=79.54 ; Nombre de blocs=6

(b)

nq=16 ; PSNR=32.97 ; Tc=24.95 ; Nombre de blocs=255

Page 121: Optimisation d’un algorithme n d’images en utilisant des ...

Le nombre de blocs influe aussi sur le temps d’exécution. Plus le nombre de

blocs élevés, plus la compression CIFG s’exécute en un temps important.

La variation du temps d’exécution en fonction de nombre de blocs est donnée

par la figure suivante.

Figure 8 : Variation du temps d’exécution en fonction du nombre de blocs.

Le temps d’exécution est important lorsque le nombre de blocs est élevé, car

c’est plus rapide de coder un nombre minimal de blocs qu’un nombre élevé.

Le temps d’exécution peut varier aussi en fonction du nombre d’itérations

utilisées pour atteindre la solution optimale.

Page 122: Optimisation d’un algorithme n d’images en utilisant des ...

Dans le tableau suivant, nous calculons le temps d’exécution en faisons varier le

nombre d’itérations.

Nombre d’itérations Temps d’exécution

1 1 seconde

2 2 secondes

5 5 secondes

10 10 secondes

21 19 secondes

30 28 secondes

Tableau 3 : Variation du temps d’exécution en fonction du nombre des

itérations.

Les résultats du tableau sont représentés par la figure ci-dessous.

Page 123: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 9 : Variation du temps d’exécution en fonction du nombre des

itérations.

Le temps d’exécution est très élevé lorsque l’algorithme converge vers la

solution optimale après plusieurs itérations.

Pour mettre en valeurs nos résultats, nous avons effectué une comparaison par

rapport au codage fractal standard. Les résultats sont résumés dans les tableaux

suivants :

0 5 10 15 20 25 300

5

10

15

20

25

30

35

Nombre d'itération

Tem

ps d

'exécution (

s)

Page 124: Optimisation d’un algorithme n d’images en utilisant des ...

Nq

CIFG Codage fractal standard

Temps

d’exécution

MSE PSNR

(db)

Temps

d’exécution

MSE PSNR

(db)

2 2 secondes 6301.99

10.13 51

secondes

2642.82 13.91

4 2 secondes 2000.74 15.11 51 secondes 510.01 21.05

8 2 secondes 480.30 21.31 51 secondes 128.60 27.03

16 2 secondes 122.64 27.24 51 secondes 31.52 33.14

32 2 secondes 30.10 33.33 51 secondes 7.83 39.19

255 2 secondes 0.47 51.31 51 secondes 0.12 57.18

Tableau 4 : Résultats obtenus par CIFG et par le codage fractal standard

effectués sur l’image LENA

Nq

CIFG Codage fractal standard

Temps

d’exécution

MSE PSNR

(db)

Temps

d’exécution

MSE PSNR

(db)

2 0 secondes 2571.20 14.02 5 secondes 1383.46 16.72

4 0 secondes 603.25 20.32 5 secondes 367.24 22.48

8 0 secondes 146.95 26.45 5 secondes 89.59 28.60

16 0 secondes 40.04 32.46 5 secondes 22.37 34.63

32 0 secondes 9.20 38.49 5 secondes 5.66 40.59

255 0 secondes 0.14 56.46 5 secondes 0.08 58.63

Tableau 5 : Résultats obtenus par CIFG et par le codage fractal standard

effectués sur l’image FRUIT.

Page 125: Optimisation d’un algorithme n d’images en utilisant des ...

D’après les résultats donnés par les tableaux précédents, nous constatons que

les résultats obtenus par la CIFG sont meilleurs que ceux obtenus par le codage

fractal standard.

La compression CIFG a apporté une nette amélioration par rapport aux

résultats obtenus par la méthode fractale standard, en terme de qualité des

images reconstruites et du temps d’exécution. Donc, la compression CIFG nous

a permis de réaliser une meilleure reconstitution de l’image avec un taux de

compression important et dans un temps d’exécution plus minimal possible.

Ceci se remarque très clairement sur les images de la figure suivante.

(a)

nq=2 ; PSNR=10.13 ; Tc=93.39

Image LENA compressée selon CIFG

(b)

nq=2 ; PSNR=13.91 ; Tc=73.09

Image LENA compressée par le codage fractal standard

Page 126: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 10 : La comparaison entre CIFG et le codage fractale standard.

(c)

nq=255 ; PSNR=51.31 ; Tc=93.39

Image LENA compressée selon CIFG

(d)

nq=255 ; PSNR=57.18 ; Tc=73.09

Image LENA compressée par le codage fractal standard

(a)

nq=2 ; PSNR=14.02 ; Tc=88.97

Image FRUIT compressée selon CIFG

(b)

nq=2 ; PSNR=16.72 ; Tc=68.19

Image FRUIT compressée par le codage fractal standard

Page 127: Optimisation d’un algorithme n d’images en utilisant des ...

Figure 11 : La comparaison entre CIFG et le codage fractale standard.

En comparant la compression par CIFG et le codage fractal standard, nous

remarquant très clairement l’amélioration du CIFG par rapport au codage

fractale standard. La CIFG a permet d’accélérer la compression et d’obtenir des

meilleurs PSNR et taux de compression.

En appliquant ainsi cette comparaison sur les documents manuscrits on obtient

les mêmes résultats, nous fixons le pas de quantification nq à 16, le nombre de

blocs à 6 et le nombre des itérations est 2. Les résultats obtenus sont donnés

dans les tableaux ci-dessous :

(c)

nq=255 ; PSNR=56.46 ; Tc=88.97

Image FRUITE compressée selon CIFG

(d)

nq=255 ; PSNR=58.63; Tc=68.19

Image FRUIT compressée par le codage fractal standard

Page 128: Optimisation d’un algorithme n d’images en utilisant des ...

Image

CIFG Codage fractal standard

Temps

d’exécution

Secondes

MSE PSNR

(db)

TC

( )

Temps

d’exécution

secondes

MSE PSNR

(db)

TC

( )

Adrar1 00:02 0.21 54.75 93.70 01:21 0.14 56.58 74.20

koran 00 :01 0.35 52.60 93.28 00 :47 0.20 55.05 74.17

Livre-

latin

00 :04 0.29 53.41 94.35 03 :25 0.17 55.66 73.50

Feuilles 00 :01 0.17 55.58 92.7 00 :32 0.16 56.02 69.37

Tableau 6 : Résultats obtenus par CIFG et par le codage fractal standard

effectués sur l’image des documents manuscrits.

2. Les caractéristiques :

De ces études on constate les caractéristiques suivantes :

La méthode de compression par CIFG:

d’améliorer la qualité de l’image reconstruire.

de diminuer l’espace de recherche ainsi que le temps

d’exécution.

L’efficacité de cette technique dépend de trois facteurs qui sont :

le nombre de points dans l’espace de recherche,

la taille de population initiale,

et le nombre d’itérations.

des améliorations peuvent être apportées,

Appliquer le code fractal sur les blocs hétérogènes après

classifications blocs destinations.

Utilisation d’autres partitionnements comme le

partitionnement quadtré.

Page 129: Optimisation d’un algorithme n d’images en utilisant des ...

Conclusion :

Les résultats des tests que nous avons exposés dans ce chapitre, montrent

l’amélioration qu’a apportée la compression CIFG par rapport { la méthode

standard.

Nous pouvons conclure que l’association des algorithmes génétiques à la

compression fractale, nous a permis d’avoir des images reconstruites de qualité

appréciable { des taux de compression élevés, avec de temps d’exécution très

petit qui est dû { la réduction de l’espace de recherche.

Page 130: Optimisation d’un algorithme n d’images en utilisant des ...

Liste des Références :

1.1 : http://www.profil-couleur.com/ec/112-modele-cie-rgb.php .................................................................................... 16

1.2 : SYSTEMES MULTIMEDIA Master RSD & MIL.Prof. Slimane Larabi ............................................................ 55

1.3 : http://www.profil-couleur.com/ec/112-modele-cie-rgb.php ..................................................................................... 56

1.5: IFT2730Traitement d’image Cours#1.Caroline ROUGIER ...................................................................................... 80

1.4-6 : Chapitre1.menassel.................................................................................................................................................................... 83

1.7: SYSTEMES MULTIMEDIA Master RSD & MIL.Prof. Slimane Larabi ............................................................. 84

1.8 : Compression des images numériques fixes ................................................................................................................... 16

1.9 : Notions sur la compression des images .......................................................................................................................... 55

1.10 : Compression d'Images Fixes et de Séquences Vidéo cours ENSERG/INPG ........................................... 16

1.11-12 : TPE 2001 – 2002.SYNTHESE ..................................................................................................................................... 55

1.13 : http://Video and Audio Compression. Mark Nelson ............................................................................................. 16

1.14 : Institut Universitaire de Technologie de Tours Département Génie Électrique et Informatique

Industrielle ...................................................................................................................................................................................................... 55

1.15 : Compression de données sans pertes.MM. S.Maadi, Y. Peneveyre ............................................................... 16

1.16 : Adaptive Prediction for Lossless Image Compression ........................................................................................ 55

1.17 : Le format de compression JPEG. Elsa Angelini. Décembre 2004 ................................................................... 16

1.18 : http://Généralités Sur La Compression d'Images ................................................................................................... 55

1.19 : http:// JPEG ..................................................................................................................................................................................... 16

1.20 : Avec perte: la compression par ondelettes ................................................................................................................ 55

2.1 : L’optimisation vendredi 7 juillet 2006, par Vincent MAGNIN ........................................................................... 16

2.2 : CONTRIBUTION A L'OPTIMISATION GLOBALE. APPROCHEDÉTERMINISTE ET

STOCHASTIQUE ET APPLICATION. THÈSE EN COTUTELLE ..................................................................................... 16

2.3 : Support de cours – MCP4 : Heuristiques ....................................................................................................................... 16

2.4 : Introduction aux metaheuristique.Abdsselam.2009 ................................................................................... 16

2.5 : http://Métaheuristique ................................................................................................................................................................... 16

2.6 : Mémoire ............................................................................................................................................................................................... 16

2.7 : TPE 27 : Modèles Heuristiques et Metaheuristiquesen Comet pour le problème Bin Packing.LAI

HienPhuong ..................................................................................................................................................................................................... 16

Page 131: Optimisation d’un algorithme n d’images en utilisant des ...

2.8 : ÉLABORATION D’UNE NOUVELLE ÉTAHEURISTIQUE POUR LEPARTITIONNEMENT DE

GRAPHE : LA MÉTHODE DE FUSION-FISSION.APPLICATION AU DÉCOUPAGE DE L’ESPACE

AÉRIEN. 2007.Charles-Edmond BICHOT ..................................................................................................................................... 16

2.9 : http:// Wiki/Recuit simulé ......................................................................................................................................................... 16

2.10 : Optimisation combinatoireet metaheuristiques ...................................................................................................... 16

2.11 : ÉLABORATION D’UNE NOUVELLE MÉTAHEURISTIQUE POUR LEPARTITIONNEMENT DE

GRAPHE : LA MÉTHODE DE FUSION-FISSION.APPLICATION AU DÉCOUPAGE DE L’ESPACE

AÉRIEN .............................................................................................................................................................................................................. 16

2.12 : Recalage d'Image et Méthodes d'Optimisation. Vincent GARDEUX. 9 novembre 2008 ................. 16

2.13 : http://wiki/Algorithme évolutionniste ............................................................................................................................. 16

2.14 : Méthaheuristiques pour l’optimisation combinatoire et l’affectation sous contraintes ............... 16

2.15 : http://wiki. Stratégies d’évolution ..................................................................................................................................... 16

2.16 : Conception d'un module de tests de métaheuristiques. Jean-Philippe Aumasson ............................. 16

3.1 : Goldberg ,1989 .................................................................................................................................................................................. 16

3.2 : Holland, 1975 ...................................................................................................................................................................................... 16

3.3 : Man et al, 2000................................................................................................................................................................................. 16

3.4 : Algorithmes Génétiques. Jean-Sébastien LACROIX.2004 ........................................................................................ 16

3.5 : Compression d’images par fractales dans le domaine DCT, mémoire d’ingénieur d’état en

électronique, UMMTO, promotion 2003.L.Akrour. ................................................................................................................. 16

3.6 : http : //Fr.wikipedia.org/w/, Fractals ................................................................................................................................. 16

3.7 : Codage d’images en sous bandes par fractales appliquées aux images médicales , mémoire

d’ingénieur d’état en électronique, UMMTO, promotion 2005.N.Hamrene, D.Idir, L.Hamoudi ................ 16

3.8 : http://raphaello.univ-fcomte.Fr/IG/Fractales « Les fractales, les IFS ».............................................................. 16

3.9 : Compression d’images fixes par fractales basées sur la triangulation de Delaunay , Thèse de

doctorat 1995, Institut national polytechnique de Grenoble. Franck Davoine ...................................................... 16

3.10 : ChittiWatermarking d’images numériques par modification du code fractal, mémoire

d’ingénieur d’état en électronique, UMMTO, promotion 2004. N.Faci, W. ................................................... 16

3.11: Fractal image compression based on Delaunay triangulation and vector quantization , 1996

IEEE. F.Davoine, M.Antonini, J.M.Chassery, M.Barlaud ........................................................................................................ 16

3.12 : Sareni, 1997 ...................................................................................................................................................................................... 16

3.13 : Eiben et al, 1999 ........................................................................................................................................................................... 16

Page 132: Optimisation d’un algorithme n d’images en utilisant des ...

3.14 : Compression fractale d’Image. Yuval fisher. ................................................................................................................ 16

4.1 : Linear-Prediction-Based Multi-resolution Approach for Lossless Image Compression ...................... 16

4.2 : Principale normes de compression sans perte d’images fixes ............................................................................ 16

4.3 : Evolving Nonlinear Predictive Models for Lossless Image Compression with Genetic

Programming ................................................................................................................................................................................................. 16

4.4 : Linear chapitre4, fractale .......................................................................................................................................................... 16

4.5 : Approche hybride basée sur des algorithmes génétiques et des surfaces de réponse ....................... 16

4.6 : http://sis.univ-tln.fr/~tollari/TER/AlgoGen1/node5.html ............................................................................................ 16

4.7 : Analyse des performances des algorithmes génétiques utilisant différentes techniques

d’évolution de la population. Mémoire .......................................................................................................................................... 16

4.8 : Codage Audio Stéréo Sans Perte .......................................................................................................................................... 16