]> AND Private Git Repository - these_gilles.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final
authorzulu <zulu@zuludell.(none)>
Tue, 15 Apr 2014 17:54:15 +0000 (19:54 +0200)
committerzulu <zulu@zuludell.(none)>
Tue, 15 Apr 2014 17:54:15 +0000 (19:54 +0200)
69 files changed:
PRESENTATION (copie).tar.gz [new file with mode: 0644]
PRESENTATION/css/zulug5.css
PRESENTATION/diapos.rst
PRESENTATION/img/CPU-GPU-memcpy.png
PRESENTATION/img/airplane_sap25.png
PRESENTATION/img/airplane_sap25_med5.png
PRESENTATION/img/algosnake-3etages.png
PRESENTATION/img/algosnake1.png
PRESENTATION/img/approches.png
PRESENTATION/img/barre-blanche.png [new file with mode: 0644]
PRESENTATION/img/carreB.png [new file with mode: 0644]
PRESENTATION/img/halo.png [new file with mode: 0644]
PRESENTATION/img/median5-overlap.png
PRESENTATION/img/median_1.svg
PRESENTATION/img/perfs-snake-img.svg
PRESENTATION/img/pipd-detail.svg [new file with mode: 0644]
PRESENTATION/img/pipd-extension.png [new file with mode: 0644]
PRESENTATION/img/seg2.png [new file with mode: 0644]
PRESENTATION/img/shmem.png
PRESENTATION/img/snake_cpu_algo1.svg
PRESENTATION/img/snake_cpu_algo3.svg
PRESENTATION/img/transferts-mem.png
PRESENTATION/index.html
p1.pdf [new file with mode: 0644]
p10.pdf [new file with mode: 0644]
p11.pdf [new file with mode: 0644]
p12.pdf [new file with mode: 0644]
p13.pdf [new file with mode: 0644]
p14.pdf [new file with mode: 0644]
p15.pdf [new file with mode: 0644]
p16.pdf [new file with mode: 0644]
p17.pdf [new file with mode: 0644]
p18.pdf [new file with mode: 0644]
p19.pdf [new file with mode: 0644]
p2.pdf [new file with mode: 0644]
p20.pdf [new file with mode: 0644]
p21.pdf [new file with mode: 0644]
p22.pdf [new file with mode: 0644]
p23.pdf [new file with mode: 0644]
p24.pdf [new file with mode: 0644]
p25.pdf [new file with mode: 0644]
p26.pdf [new file with mode: 0644]
p27.pdf [new file with mode: 0644]
p28.pdf [new file with mode: 0644]
p29.pdf [new file with mode: 0644]
p3.pdf [new file with mode: 0644]
p30.pdf [new file with mode: 0644]
p31.pdf [new file with mode: 0644]
p32.pdf [new file with mode: 0644]
p33.pdf [new file with mode: 0644]
p34.pdf [new file with mode: 0644]
p35.pdf [new file with mode: 0644]
p36.pdf [new file with mode: 0644]
p37.pdf [new file with mode: 0644]
p38.pdf [new file with mode: 0644]
p39.pdf [new file with mode: 0644]
p4.pdf [new file with mode: 0644]
p40.pdf [new file with mode: 0644]
p41.pdf [new file with mode: 0644]
p42.pdf [new file with mode: 0644]
p43.pdf [new file with mode: 0644]
p44.pdf [new file with mode: 0644]
p45.pdf [new file with mode: 0644]
p5.pdf [new file with mode: 0644]
p6.pdf [new file with mode: 0644]
p7.pdf [new file with mode: 0644]
p8.pdf [new file with mode: 0644]
p9.pdf [new file with mode: 0644]
presentation-pdf.pdf [new file with mode: 0644]

diff --git a/PRESENTATION (copie).tar.gz b/PRESENTATION (copie).tar.gz
new file mode 100644 (file)
index 0000000..0a1810b
Binary files /dev/null and b/PRESENTATION (copie).tar.gz differ
index 5338d400e8a96c5210bb48ffaef31356d63de8da..0e94d42d11a7caab44691e3bd0afd138af0e5595 100644 (file)
@@ -40,6 +40,7 @@ header {
   font-size: 50px;
   text-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px;
 }
+
 h1 {
     color: #0054AB ;
     font-size: 200%;
@@ -160,6 +161,13 @@ img:hover {
   margin-left: 780px;
 }
 
+body{counter-reset: h1;}
+h1:after {
+  content: " (" counter(h1) ") ";
+  counter-increment: h1;
+  text-align: right ;
+  font-size: 40% ;
+}
 
 
 body {
index 8a0274d9f42c8805790ec20474b31422b22ebfe1..f4a6af8fd44b45d5ba7509730cfc4310f3c06855 100644 (file)
@@ -67,10 +67,10 @@ Réduire le bruit.
 SEGMENTATION
 ============
 
-Distinguer les zones homogènes d'une image.
+Distinguer les zones statistiquement homogènes d'une image bruitée.
 
-.. image:: img/seg1.png
-   :width: 700px
+.. image:: img/seg2.png
+   :width: 800px
 
 .. note::
 
@@ -78,27 +78,16 @@ Distinguer les zones homogènes d'une image.
  * La segmentation intervient dans beaucoup d'applications : du tracking à la détection ou à l'extraction de caractéristiques diverses.
  * Mais aujourd'hui encore, une bonne segmentation est celle qui permet d'extraire ce que l'on attend => l'algorithme dépend du problème. 
 
-
 ----
 
 SEGMENTATION
 ============
 Deux approches
+--------------
 
 .. image:: img/approches.png
    :width: 800px
 
-.. note::
-
- *  **Pré-traiter** et effectuer les traitements de haut niveau sur des images *améliorées*. 
-
-   * réduction, *a priori*, du coût des traitements de haut niveau.
-   * les prétraitements ont eux aussi un coût, en temps de calcul et potentiellement en information.
- * **Ne pas pré-traiter** et effectuer les traitements de haut niveau sur les images bruitées.
-
-   * pas de perte d'information due au pré-traitement. 
-
 ----
 
 PLAN DE LA PRÉSENTATION
@@ -107,7 +96,7 @@ PLAN DE LA PRÉSENTATION
 #. Introduction 
 
    - Les GPUs ou *Graphical Processing Units*.
-   - Le filtrage et la segmentation d'images.
+   - Objectifs.
 
 #. La segmentation des images
 
@@ -156,31 +145,6 @@ Les GPUs ou *Processeurs graphiques*.
  * L'architecture parallèle particulière des GPUs a permis d'améliorer considérablement les performances de certaines classes d'algorithme et fait espérer par ailleurs des accélérations importantes.
 
 
-
-----   
-
-INTRODUCTION
-============
-Le traitement des images
-------------------------
-
-**Le filtrage (du bruit)**
-
- * Les capteurs et les conditions d'acquisition induisent du bruit.
- * *Résolution élevée* n'implique pas *bruit réduit*. 
-
-**La segmentation**
-
- * Enjeu important.
- * Aucun algorithme universel.
-
-.. note:: 
-
- * les bruits dégradent l'image de la scène idéale et peuvent en fausser ou compliquer l'interprétation.
- * on recense plus de 4000 algorithmes de segmentation
- * La segmentation intervient dans beaucoup d'applications : du tracking à la détection ou à l'extraction de caractéristiques diverses.
- * Mais aujourd'hui encore, une bonne segmentation est celle qui permet d'extraire ce que l'on attend => l'algorithme dépend du problème. 
-
 ----
 
 INTRODUCTION
@@ -189,31 +153,28 @@ INTRODUCTION
 Ojectif : accélérer
 -------------------
 
-
 **Segmentation**
  
  * Algorithme par contours actifs, classe des  *snakes*.
  * Implémentation CPU optimisée existante. 
  * Conception de l'implémentation GPU.
- * Adaptations mineures de l'algorithme. 
 
 **Filtrage**
 
-     * Filtre par lignes de niveaux 
-        
-         - Algorithme original,
-         - Conceptions conjointes algorithme et implémentation.
-
      * Filtres médians, filtres de convolution
 
           - Opérateurs mathématiques,
           - Conception d'une implémentation optimisée.
-  
 
+     * Filtre par lignes de niveaux 
+        
+         - Conception d'un algorithme dédié GPU.
+         
+  
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
-==============================
+SEGMENTATION 
+============
 Travaux de référence
 --------------------
 
@@ -241,7 +202,7 @@ Travaux de référence
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 *Snake* polygonal orienté région (principe)
 -------------------------------------------
@@ -263,7 +224,7 @@ SEGMENTATION PAR CONTOUR ACTIF
        
 * Calcul des variances :math:`\(\sigma^2\)` pour chaque contour :
 
- * Méthode de Chesnaud *et el.* (1999) en :math:`\(\mathcal{O}(n^2)\)`
+ * Méthode de Chesnaud *et al.* (1999) : sommes sur le **contour**
  * Implique le **pré-calcul** de 3 images cumulées.
 
 .. note::
@@ -272,7 +233,7 @@ SEGMENTATION PAR CONTOUR ACTIF
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 *Snake* polygonal orienté région (algo CPU)
 --------------------------------------------
@@ -280,15 +241,14 @@ SEGMENTATION PAR CONTOUR ACTIF
 .. image:: img/cochons-it0-it1.png
    :height: 300px
 
-**Itération 1**
 
- #. Le contour initial est rectangulaire ( 4 n |oe| uds )
- #. On déplace successivement les 4 n |oe| uds jusqu'à ce que plus aucun nouveau déplacement ne provoque l'amélioration du critère.
+#. Le contour initial est rectangulaire ( 4 n |oe| uds )
+#. On déplace successivement les 4 n |oe| uds jusqu'à ce que plus aucun nouveau déplacement ne provoque l'amélioration du critère.
 
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 *Snake* polygonal orienté région (algo CPU)
 --------------------------------------------
@@ -296,6 +256,9 @@ SEGMENTATION PAR CONTOUR ACTIF
 .. image:: img/cochons-it21-it22.png
    :height: 300px
 
+.. image:: img/barre-blanche.png
+   :height: 10px
+
 .. image:: img/cochons-it4-it5.png
    :height: 300px
 
@@ -303,25 +266,10 @@ SEGMENTATION PAR CONTOUR ACTIF
 
  * CONVERGENCE RAPIDE
 
-----
-
-SEGMENTATION PAR CONTOUR ACTIF 
-===============================
-*Snake* polygonal orienté région (algo CPU)
---------------------------------------------
-
-Exemples de résultats 
-
-.. figure:: img/snake-exs.png
-   :width: 700px
-
-.. note ::
-
- * Les résultats de segmentation dépendent des paramètres de la séquence d'optimisation (pas des déplacements, contour initial, seuil d'ajout des n |oe| uds)
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
@@ -332,11 +280,11 @@ Identification des fonctions coûteuses
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
-Calcul du critère GL
+Calcul du critère GL (1 pixel/thread)
 
 .. image:: img/algosnake-3etages.png
    :width: 800px
@@ -344,7 +292,7 @@ Calcul du critère GL
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
@@ -362,15 +310,20 @@ Parallélisation du *Snake* polygonal sur GPU
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
 
 * 1 thread par pixel.
-* Concaténation de tous les pixels composant l'ensemble des contours évalués. 
-* Réductions en mémoire partagée. 
-* Une seule taille de segment : la taille du plus long. 
+* Concaténation dans un vecteur de tous les pixels composant l'ensemble des contours évalués. 
+
+  - ex : 2x 256000 éléments à l'étape 1 de l'image 100 MP. 
+
+* Sommes des contributions des pixels : opérations de **réduction**.
+  - opérations mal adaptées à l'architecture  GPU,
+  - en mémoire partagée : accélération par rapport au CPU.
 
 .. note::
 
@@ -378,7 +331,7 @@ Parallélisation du *Snake* polygonal sur GPU
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
@@ -386,15 +339,17 @@ Parallélisation du *Snake* polygonal sur GPU
 Points positifs :
 
  * Conservation des données en mémoire GPU. 
- * Images cumulées calculées en parallèle. 
- * Discretisation des segments en parallèle (1 thread/pixel). 
+ * Images cumulées (pré-calculs) effectuées en parallèle. 
+ * Discrétisation des segments en parallèle (1 thread/pixel). 
  * Respect de l'algorithme original.
 
 Points négatifs :
 
  * Trop peu de calculs à effectuer.
- * Motifs d'accès à la mémoire globale trop irréguliers.
- * Emploi de la mémoire partagée.    
+ * Segments de tailles et orientations variables : 
+
+   - motifs d'accès à la mémoire globale irréguliers,
+   - nombreux threads inactifs.
  
 .. note::
 
@@ -407,7 +362,7 @@ Points négatifs :
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
@@ -424,24 +379,27 @@ Parallélisation du *Snake* polygonal sur GPU
 
 ----
 
-SEGMENTATION PAR CONTOUR ACTIF 
+SEGMENTATION 
 ===============================
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
 
 **Conclusion**
 
-* Première et seule implémentation à ce jour.
+* Première et seule implémentation connue à ce jour.
 * Performances intéressantes pour les grandes images.
 * Image 10000x10000 en moins de 0,6 seconde.  
 * Emploi non optimal du GPU : réductions, irrégularités.
-* Premières itérations GPU rapides : grands segments.
-* Temps de calcul très dépendant du contenu de l'image :
-
-  - Proposition d'une méthode d'initialisation alternative.
-  - Recherche du contour rectangle le plus vraisemblable.  
-  - Accélération jusqu'à x15 avec de petites cibles.
+* Temps de calcul très dépendant du contenu de l'image.
+* Proposition d'une méthode d'initialisation alternative :
   
+     - Recherche du contour rectangle le plus vraisemblable.  
+     - Accélération jusqu'à x15 avec de petites cibles.
+
+**Publication**  
+
+ * *G. Perrot, S. Domas, R. Couturier, and N. Bertaux*. **Gpu implementation of a region based algorithm for large images segmentation.** *In Computer and Information Technology (CIT), 2011 IEEE 11th International Conference on, pages 291–298.*
+
 ----
 
 LE FILTRAGE DES IMAGES
@@ -449,7 +407,7 @@ LE FILTRAGE DES IMAGES
 
   * Filtre médian, 
   * Filtres de convolution, 
-  * Filtre par recherche des lignes de niveaux (PIPD).
+  * Filtre par recherche des lignes de niveaux.
 
 ----
 
@@ -463,38 +421,38 @@ Filtre médian : principe
 
 La valeur de sortie d'un pixel est la **médiane** des valeurs de son voisinage. 
 
-* Bonne réduction de bruits gaussien et *poivre & sel*
-* Valeurs de sortie appartenant au voisinage.
-* Opération de sélection coûteuse (tri).
+* Bonne réduction du bruit *poivre & sel*.
+* Assez bonne préservation des contours. 
 * Usages fréquents avec des petites fenêtres (de 3x3 à 7x7).
 * Quelques applications avec de grandes fenêtres.
+* Opération de sélection coûteuse (tri).
 
 ----
 
 LE FILTRAGE DES IMAGES
 ======================
-Filtre médian : usage
----------------------
+Filtre médian : exemple
+-----------------------
 
 .. table:: 
 
-   =================================== ======================================== ============================================  
-   .. image:: img/airplane_sap25.png    .. image:: img/airplane_sap25_med5.png   .. image:: img/airplane_sap25_med3_it2.png
-   =================================== ======================================== ============================================   
-   Bruit *poivre & sel* 25%            Médian 5x5                               Médian 3x3 - 2 passes
-   =================================== ======================================== ============================================
+   =================================== ========================================   
+   .. image:: img/airplane_sap25.png    .. image:: img/airplane_sap25_med5.png  
+   =================================== ======================================== 
+   Bruit *poivre & sel* 25%            Médian 5x5                              
+   =================================== ========================================
 
 ----
 
 LE FILTRAGE DES IMAGES
 ======================
-Filtre médian GPU : Travaux de référence
+Filtre médian GPU : travaux de référence
 ----------------------------------------
 
 Comparaison des implémentations GPU de référence :
 
  - **PCMF**, Sanchez *et al.* (2013), débit max. **80 MP/s**,
- - **ArrayFire**, bibliothèque commerciale, débit max. **185 MP/s**,
+ - **ArrayFire**, commerciale (2013), débit max. **185 MP/s**,
  - **BVM** parallélisé par Chen *et al.* (2009), débit max. **110 MP/s**. 
 
 .. image:: img/compar-median2.png
@@ -514,9 +472,13 @@ Filtre médian GPU : Travaux de référence
 
 Emploi de la **mémoire partagée** (exemple médian 5x5)
 
-.. image:: img/shmemhalo.png   
-   :width: 800px
+.. table:: 
+
+   =================================== ========================== ========================================   
+   .. image:: img/shmem.png            .. image:: img/carreB.png  .. image:: img/halo.png  
+   =================================== ========================== ======================================== 
+  
+
 .. note:: 
 
  - recouvrement pose problème à cause accès concurrents à la mémoire partagée.
@@ -616,7 +578,9 @@ Optimisation du filtre médian GPU
 .. image:: img/recouvrement5.png
      :width: 800px
 
-À 4 pixels/thread, zone commune = 10 pixels < 14 : **pas performant**.
+* **7+2x5 = 17** étapes de sélection au lieu de **2x12 = 24**.
+* Les plus coûteuses sont communes.
+* À 4 pixels/thread, zone commune = 10 pixels < 14.
 
 .. note:: 
 
@@ -633,6 +597,11 @@ Performances du médian GPU proposé (PRMF)
 .. image:: img/perf-median.png
    :width: 650px
 
+**Rappels :** 
+
+  - débit crête de la plateforme = 2444 MP/s.
+  - débit maximum des implémentations de référence = 185 MP/s.
+
 ----
 
 LE FILTRAGE DES IMAGES
@@ -669,17 +638,20 @@ Le filtre médian GPU
  * Débit de calcul max. **5,3 GP/s**. 
  * Médian jusqu'au 11x11 sur C2070, 21x21 sur K40. 
  * Création d'une application web générant les codes sources.
- * Utilisé sur images de cristallographie au synchrotron **SPring-8**.
-.. image:: img/spring82.png
-    :height: 200px 
+ * Utilisé sur images de cristallographie au synchrotron SPring-8. 
+
+**Publications**
+
+ * *Gilles Perrot. Image processing. In* **Designing Scientific Applications on GPUs**, *pages 28-70. CRC Press, 2013.*
+ * *Gilles Perrot, Stéphane Domas, and Raphaël Couturier.* **Fine-tuned high-speed implementation of a gpu-based median filter.** *Journal of Signal Processing Systems, pages 1–6, 2013.*
+
 
 ----
 
 LE FILTRAGE DES IMAGES
 ======================
-Les filtres de convolution : généralités  
------------------------------------------
+Les filtres de convolution
+--------------------------
 
 **Principe**
 
@@ -690,7 +662,7 @@ Les filtres de convolution : généralités
 **Selon les valeurs du masque h**
 
  * Réduction de bruit, détection de bords,...
- * Opération **séparable** en deux convolutions 1D.
+ * Potentiellement **séparable** en deux convolutions 1D.
  
 
 ----
@@ -701,39 +673,16 @@ LE FILTRAGE DES IMAGES
 Les filtres de convolution GPU
 ------------------------------
 
-Exploitation des recouvrements :
-
- * un seul accès mémoire par pixel, mémorisation en registre.
- * Optimum à 8 pixels/thread :
- * Exemple médian 5x5, pour un thread :
-
-    - 60 pixels dans le halo : 60 lectures.
-    - 200 lectures + préchargement si utilisation mémoire partagée.
-
-Nvidia propose les implémentations les plus rapides (séparable ou non) :
-
-     * Traitement de référence : 2048x2048 pixels, 5x5, 8bits.
-
-.. image:: img/debit-calcul-convoNS.png
-   :width: 600px
-
-----
-
-LE FILTRAGE DES IMAGES
-======================
-Les filtres de convolution GPU 
-------------------------------
+Extension des méthodes appliquées au filtre médian :
 
-**Résultats (suite)**
+ * Un seul accès mémoire par pixel.
+ * Mémorisation et calculs en registre.
+ * Optimum à 8 pixels/thread.
 
-.. image:: img/debit-calcul-convoS.png
-   :width: 600px
+Implémentations de référence (C2070) :
 
-Convolution séparable :
+ * Nvidia atteint un débit de calcul maximum de **6,00 GP/s**.  
 
-* Une convolution verticale en mémoire partagée, suivie d'une convolution horizontale en registres.
-* Copie intermédiaire en mémoire globale (cache 1D rapide).
-* L'accélération est due à la seule convolution en registres (54%).
 
 ----
 
@@ -742,12 +691,14 @@ LE FILTRAGE DES IMAGES
 Les filtres de convolution GPU 
 ------------------------------
 
-**Conclusion**
+**Résultats**
 
- * Amélioration sensible sur les débits de calcul (de 17 à 33 %).
- * Le traitement 1D est jusqu'à 54% plus rapide. 
+ * Amélioration sensible des débits de calcul en 2D : 16 à 35 %.
+ * Débit de la convolution 1D horizontale jusqu'à 54% plus élevé. 
+ * Débit maximum de **8,54 GP/s**.
  * Application à d'autres familles de signaux 1D (audio,...).
 
+
 ----
 
 LE FILTRAGE DES IMAGES
@@ -770,14 +721,17 @@ Filtre par recherche des lignes de niveaux
 
 **Principe - modèle**
 
- * Estimation locale, par maximum de vraisemblance, des lignes de niveaux.
+ * Estimation locale, par maximum de vraisemblance.
  * Réduction de bruit par moyennage le long de la ligne estimée.
- * Les lignes de niveaux estimées sont modélisées par des lignes brisées nommées **isolines**.  
- * Les segments des lignes brisées sont choisis parmi des motifs pré-établis (32 motifs).
+ * Modèle de ligne de niveaux retenu : **isoline**
+
+    = ligne brisée composée de **segments**.  
 
+ * Segments choisis parmi 32 motifs pré-calculés.
+ * Les 8 premiers motifs pour des segments de 6 pixels :
    .. image:: img/P5Q1.png
-      :width: 500px 
+      :width: 450px 
 
 
 ----
@@ -787,18 +741,20 @@ LE FILTRAGE DES IMAGES
 Filtre par recherche des lignes de niveaux 
 ------------------------------------------
 
-**Principe (étape 1)**
+**Étape 1** (1 pixel/thread)
 
- * En chaque pixel, recherche du motif maximisant la log-vraisemblance ( :math:`\(n=6, \sigma^2 =\)` variance )
+ * En chaque pixel, recherche du motif maximisant la log-vraisemblance ( exemple :math:`\(n=6\)`)
 
  .. math:: 
 
    $$-\frac{n}{2}log\left(2\pi\right) - \frac{n}{2}log\left(\sigma^2\right) - \frac{n}{2}$$
 
- * Mémorisation des paramètres des motifs sélectionnés dans deux matrices :math:`\(I_{\Theta}\)` et :math:`\(I_{\Sigma}\)`. 
-
  .. image:: img/lniv-mv.png
-    :width: 500px
+    :width: 400px
+
+
+ * Mémorisation des paramètres du motif sélectionné dans deux matrices :math:`\(I_{\Theta}\)` (indice) et :math:`\(I_{\Sigma}\)` (moyenne, variance). 
 
 ----
 
@@ -807,16 +763,19 @@ LE FILTRAGE DES IMAGES
 Filtre par recherche des lignes de niveaux 
 ------------------------------------------
 
-**Principe (étape 2)**
-
- * Allongement itératif des segments sous condition GLRT.
+**Étape 2** (1 pixel/thread)
 
+ * Isoline validée de :math:`\(n_{prec}\)` pixels. 
+ * Segment candidat de :math:`\(n_s\)` pixels.
+ * Allongement de l'isoline sous condition GLRT ?
  .. math::
     
-    $$(n_{s_1s_2}+n_{s_3})\left[log\left(\widehat{\sigma_{s_1s_2}}^2\right) - log\left(\widehat{\sigma_{s_3}}^2\right) \right]$$
+    $$GLRT=T-\scriptstyle (n_{prec}+n_s)\left[log\left(\widehat{\sigma_{prec+s}}^2\right) - log\left(\widehat{\sigma_{prec}}^2\right) - log\left(\widehat{\sigma_{s}}^2\right) \right]$$
  
- .. image:: img/pipd-detail.png
-    :width: 900px   
+ .. image:: img/pipd-extension.png
+    :width: 500px   
 
 ----
 
@@ -825,16 +784,14 @@ LE FILTRAGE DES IMAGES
 Filtre par recherche des lignes de niveaux 
 ------------------------------------------
 
-**Principe (étape 3)**
+**Étape 3** (optionnelle)
 
  Compensation de la non robustesse de sélection des motifs dans les zones homogènes.
  
-  * identification des zones homogènes avec un détecteur de bords.
-  * Application d'un filtre moyenneur dans ces zones.  
+  * Conception d'un détecteur de zones homogènes.
+  * Identification des zones homogènes avec ce détecteur.
+  * Application d'un filtre moyenneur dans les zones identifiées comme homogènes (convolution).  
  
- .. image:: img/detecteur.png
-    :width: 400px   
-
 .. note::
 
  * Sous-ensembles de pixels n'ayant pas d'intersection --> MV
@@ -849,18 +806,22 @@ Filtre par recherche des lignes de niveaux
 
 **Résultats**
 
Sur l'ensemble d'images de S. Lansel (DenoiseLab, Université Stanford), filtre proposé (PI-PD)
Ensemble d'images de S. Lansel (DenoiseLab, Université Stanford), filtre proposé (PI-PD)
 
- * Amélioration moyenne du rapport Signal sur bruit: **+7,1 dB**
- * Indice de similarité structurelle : **+30%**
- * Temps de calcul : **7 ms**
+ * Amélioration moyenne du rapport Signal sur bruit: **+7,1 dB**,
+ * Indice de similarité structurelle : **+30%**,
+ * Temps de calcul (C2070, **avec** détecteur) : **7 ms**.
  
Comparaison avec BM3D
Algorithme de référence BM3D
  
- * Amélioration moyenne du rapport Signal sur bruit: **+9,5 dB**
- * Indice de similarité structurelle : **+36%**
- * Temps de calcul : **4300 ms**
+ * Amélioration moyenne du rapport Signal sur bruit: **+9,5 dB**,
+ * Indice de similarité structurelle : **+36%**,
+ * Temps de calcul : **4300 ms**.
  
+.. note::
+
+ * 2,4 dB d'écart, soit réduction de 43% de la puissance de bruit
+
 --------
 
 LE FILTRAGE DES IMAGES
@@ -891,31 +852,56 @@ Filtre par recherche des lignes de niveaux
 
  * Rapport qualité/temps élevé.
  * Traitement d'images HD à 20 fps.
- * Artefacts en marche d'escalier. Réduits par la méthode de Buades *et al.* (+1 dB, +0,2 ms pour 512x512).
- * Extension aux images couleurs et autres types de bruits (multiplicatif). 
- * Algorithme original sans implémentation séquentielle de référence. 
+ * Artefacts en marche d'escalier.
+ * Parallélisation de la méthode de Buades *et al.* (2006) : 
+
+     - gain +1 dB en +0,2 ms pour 512x512.
+
+ * Algorithme dédié GPU, sans implémentation séquentielle de référence. 
+
+**Publication**
+
+ * *Gilles Perrot, Stéphane Domas, Raphaël Couturier, and Nicolas Bertaux.* **Fast gpu-based denoising filter using isoline levels.** *Journal of Real-Time Image Processing, pages 1–12, 2013.*
+
 
 ----
 
-CONCLUSION GÉNÉRALE - PERSPECTIVES
-==================================
+CONCLUSION GÉNÉRALE
+===================
+
+* Trois types de conception mis en |~oe| uvre :
 
-* Trois types de conception mis en |~oe| uvre.  
-* Le portage efficace d'algorithme peut s'avérer très complexe, voire sans intérêt.
+    - Parallélisation GPU d'une implémentation CPU (*snake*).
+    - Implémentations optimisées pour GPU d'opérateurs mathématiques (médian, convolution).
+    - Algorithme dédié GPU et son implémentation (isolines). 
+
+* Le portage **efficace** d'algorithme sur GPU s'avère très complexe.
+* Certains algorithmes ne se prêtent pas à la parallélisation GPU.
 * L'emploi de la mémoire partagée n'apporte pas les meilleures performances en cas de recouvrements.
-* Filtres utilisables par tout programmeur grâce à un générateur de code.
-* Beaucoup de traitements et domaines peuvent bénéficier des techniques proposées.
-* Les évolutions de l'architecture laissent entrevoir de nouvelles possibilités.
+* Filtrage à des débits inégalés, proches des performances crête.
+* Filtres utilisables par tout programmeur grâce au générateur de code.
+
+
+----
+
+PERSPECTIVES
+============
+
+ * Extension des filtres aux images couleurs et autres types de bruits (multiplicatif).
+ * Extension aux pseudo-médians de grandes tailles (microscopie).
+ * Beaucoup de traitements et domaines peuvent bénéficier des techniques proposées (audio, imagerie 3D, BM3D). 
+ * Les évolutions de l'architecture laissent entrevoir de nouvelles possibilités (parallélisme dynamique, kernels concurrents).
 
 
 .. note::
 
  * certaines ardeurs ont été refroidies 
 
+
 ----
 
-ANNEXE 
-======
+ANNEXE 
+========
 Parallélisation du *Snake* polygonal sur GPU
 --------------------------------------------
 
@@ -928,6 +914,27 @@ Parallélisation du *Snake* polygonal sur GPU
 
   * règle 1 thread par pixel
 
+----
+
+ANNEXE 2 (médian)
+=================
+Image cristallographie SPring-8
+-------------------------------
+
+.. image:: img/spring82.png
+    :width: 400px
+
+----
+
+ANNEXE 3 (lniv)
+===============
+Détecteur de bords
+------------------
+
+ .. image:: img/detecteur.png
+    :width: 400px   
+
+
 
 .. |oe| unicode:: U+0153
    :trim:
index 0bc640215d21363b57f61e0f06c0beb0fd4f8448..56fbd0f309cb96eb920a3663904a7cb0dff1f8e7 100644 (file)
Binary files a/PRESENTATION/img/CPU-GPU-memcpy.png and b/PRESENTATION/img/CPU-GPU-memcpy.png differ
index 3fa40041fe493b7e1bc7325e05c3c4561e292334..22856c20ccbdf1bc1da8380222418a83cbf45136 100755 (executable)
Binary files a/PRESENTATION/img/airplane_sap25.png and b/PRESENTATION/img/airplane_sap25.png differ
index 03c9a04ee81432e784fbc41e2845b17fdc91a8a0..5316feae2f5c8dda9afd51a56484b7948d3cbfff 100755 (executable)
Binary files a/PRESENTATION/img/airplane_sap25_med5.png and b/PRESENTATION/img/airplane_sap25_med5.png differ
index af82ac7dcbe5e184b24049bf3e4bf3cb5c09e07a..1d5329ca5df0781b77315993bcbdefca2f3a085b 100644 (file)
Binary files a/PRESENTATION/img/algosnake-3etages.png and b/PRESENTATION/img/algosnake-3etages.png differ
index 944d1e3b5237c8d43971b22096b3f9d8d7566933..ef86662989fffe2a8b034a2f0daafb551bc0dae4 100644 (file)
Binary files a/PRESENTATION/img/algosnake1.png and b/PRESENTATION/img/algosnake1.png differ
index 6485f85129736df46ebbdeaf5e577b5a0ce1e79b..e4ec70d0c8d47a4a3775b2ad123e4294e7740f81 100644 (file)
Binary files a/PRESENTATION/img/approches.png and b/PRESENTATION/img/approches.png differ
diff --git a/PRESENTATION/img/barre-blanche.png b/PRESENTATION/img/barre-blanche.png
new file mode 100644 (file)
index 0000000..33d9792
Binary files /dev/null and b/PRESENTATION/img/barre-blanche.png differ
diff --git a/PRESENTATION/img/carreB.png b/PRESENTATION/img/carreB.png
new file mode 100644 (file)
index 0000000..1d6a010
Binary files /dev/null and b/PRESENTATION/img/carreB.png differ
diff --git a/PRESENTATION/img/halo.png b/PRESENTATION/img/halo.png
new file mode 100644 (file)
index 0000000..b8b79a7
Binary files /dev/null and b/PRESENTATION/img/halo.png differ
index 59d495a248f27b8f5bbc950e4bdf80def508bcd4..d10dd8effd324b078b4a8cc8e87353a3e3c0ae85 100644 (file)
Binary files a/PRESENTATION/img/median5-overlap.png and b/PRESENTATION/img/median5-overlap.png differ
index 154efd5136122fdc24e631bdf05e8b7114640f58..8df5305cca57076c49aa2fd7657aca258df4e6c4 100644 (file)
     <filter
        color-interpolation-filters="sRGB"
        inkscape:collect="always"
-       id="filter8375-3">
+       id="filter8375-5-9-5">
       <feGaussianBlur
          inkscape:collect="always"
          stdDeviation="1.7459295"
-         id="feGaussianBlur8377-6" />
+         id="feGaussianBlur8377-0-4-7" />
+    </filter>
+    <marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-4"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path10650-19"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker4675"
+       style="overflow:visible">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4677"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
+    </marker>
+    <filter
+       color-interpolation-filters="sRGB"
+       inkscape:collect="always"
+       id="filter8375-5-0">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.7459295"
+         id="feGaussianBlur8377-0-3" />
     </filter>
   </defs>
   <sodipodi:namedview
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="1.16"
-     inkscape:cx="297.27902"
-     inkscape:cy="976.09715"
+     inkscape:zoom="2.32"
+     inkscape:cx="210.86416"
+     inkscape:cy="549.92603"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="false"
-     inkscape:window-width="1855"
-     inkscape:window-height="1175"
+     inkscape:window-width="1375"
+     inkscape:window-height="875"
      inkscape:window-x="65"
      inkscape:window-y="24"
      inkscape:window-maximized="1" />
          id="tspan10727-6"
          x="320.10553"
          y="237.87029">Fenêtre d'évaluation</tspan></text>
+    <rect
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect3022-2-5"
+       width="13.967434"
+       height="13.967434"
+       x="72.093025"
+       y="414.44794"
+       inkscape:tile-cx="101.23672"
+       inkscape:tile-cy="86.006315"
+       inkscape:tile-w="13.967434"
+       inkscape:tile-h="13.967434"
+       inkscape:tile-x0="94.253006"
+       inkscape:tile-y0="79.022598"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5842-4-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5844-27-88"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5846-7-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5848-0-1"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5850-8-3"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5852-2-5"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="72.093025"
+       height="13.967434"
+       width="13.967434"
+       id="use5854-2-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5904-4-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5906-0-3"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5908-7-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5910-4-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5912-2-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5914-1-6"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5916-81-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="86.060463"
+       height="13.967434"
+       width="13.967434"
+       id="use5918-0-41"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5968-3-1"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5970-0-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5972-8-3"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5974-5-8"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5976-32-1"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5978-7-5"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5980-94-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="100.02789"
+       height="13.967434"
+       width="13.967434"
+       id="use5982-2-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6032-8-0"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6034-6-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6036-9-5"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6038-36-1"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52899998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6040-9-2"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6042-6-8"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6044-7-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="113.99532"
+       height="13.967434"
+       width="13.967434"
+       id="use6046-84-34"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6096-8-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6098-74-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6100-4-0"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6102-27-6"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6104-61-30"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6106-3-1"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6108-7-6"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="127.96277"
+       height="13.967434"
+       width="13.967434"
+       id="use6110-6-0"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6160-7-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6162-97-5"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6164-2-8"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6166-8-9"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52899998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6168-4-2"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6170-3-8"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6172-1-14"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="141.93019"
+       height="13.967434"
+       width="13.967434"
+       id="use6174-3-5"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6224-8-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6226-1-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6228-99-7"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6230-5-0"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6232-1-2"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6234-3-2"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6236-0-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="155.89763"
+       height="13.967434"
+       width="13.967434"
+       id="use6238-1-6"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6288-3-3"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6290-4-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6292-6-1"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6294-9-9"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.52899998;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6296-4-1"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6298-7-4"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6300-4-5"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="169.86507"
+       height="13.967434"
+       width="13.967434"
+       id="use6302-0-1"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6352-1-01"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6354-9-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6356-8-95"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6358-24-4"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6360-25-2"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6362-4-91"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6364-3-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="183.83249"
+       height="13.967434"
+       width="13.967434"
+       id="use6366-8-43"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6416-9-3"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6418-6-76"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6420-2-9"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6422-9-5"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6424-4-6"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6426-9-4"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6428-2-0"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="197.79994"
+       height="13.967434"
+       width="13.967434"
+       id="use6430-5-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6480-6-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6482-7-0"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6484-6-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6486-3-1"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6488-7-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6490-2-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6492-6-2"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="211.76736"
+       height="13.967434"
+       width="13.967434"
+       id="use6494-2-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="414.44794"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6544-8-6"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="428.41537"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6546-9-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="442.38281"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6548-7-8"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="456.35025"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6550-3-7"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="470.31769"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6552-2-5"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="484.28513"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6554-7-6"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="498.25253"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6556-22-4"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="512.21997"
+       x="225.7348"
+       height="13.967434"
+       width="13.967434"
+       id="use6558-7-0"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <g
+       id="g14020-5"
+       transform="translate(26.334528,-62.236524)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path13697-4-12"
+         d="m 45.778168,475.57224 0,28.51374"
+         style="fill:none;stroke:#000000;stroke-width:3.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path13697-7-8-12"
+         d="m 44.213935,476.98862 27.464791,0"
+         style="fill:none;stroke:#000000;stroke-width:3.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)" />
+      <text
+         sodipodi:linespacing="2%"
+         id="text13911-1-35"
+         y="506.85364"
+         x="30.437874"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:1.99999996%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans"
+         xml:space="preserve"><tspan
+           y="506.85364"
+           x="30.437874"
+           id="tspan13913-5-67"
+           sodipodi:role="line">i</tspan></text>
+      <text
+         sodipodi:linespacing="2%"
+         id="text13911-6-2-1"
+         y="466.91113"
+         x="71.151222"
+         style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:1.99999996%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans;-inkscape-font-specification:FreeSans"
+         xml:space="preserve"><tspan
+           y="466.91113"
+           x="71.151222"
+           id="tspan13913-0-3-1"
+           sodipodi:role="line">j</tspan></text>
+    </g>
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="534.17157"
+       x="71.464561"
+       height="13.967434"
+       width="13.967434"
+       id="use5978-7-5-9"
+       style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:1.02900004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <rect
+       inkscape:export-ydpi="160"
+       inkscape:export-xdpi="160"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:tile-y0="79.022598"
+       inkscape:tile-x0="94.253006"
+       y="551.41296"
+       x="71.464561"
+       height="13.967434"
+       width="13.967434"
+       id="use5982-2-2-9"
+       style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:0.52912939;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="91.534485"
+       y="545.18976"
+       id="text6729"
+       sodipodi:linespacing="125%"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
+         sodipodi:role="line"
+         id="tspan6731"
+         x="91.534485"
+         y="545.18976"
+         style="font-size:10px">pixel central - thread du bloc</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="91.484093"
+       y="561.052"
+       id="text6729-2"
+       sodipodi:linespacing="125%"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/halo.png"
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
+         sodipodi:role="line"
+         id="tspan6731-3"
+         x="91.484093"
+         y="561.052"
+         style="font-size:10px">pixel du halo</tspan></text>
   </g>
 </svg>
index 35d441d4418089f18a41b421674b89c983d85728..ba2f51c152a1908b6faa77f999d8937433feae22 100644 (file)
      showgrid="false"
      inkscape:zoom="0.22"
      inkscape:cx="2415.9462"
-     inkscape:cy="2888.9367"
-     inkscape:window-x="65"
-     inkscape:window-y="24"
+     inkscape:cy="1979.8458"
+     inkscape:window-x="139"
+     inkscape:window-y="156"
      inkscape:window-maximized="0"
      inkscape:current-layer="svg4803" />
   <image
-     width="1114.7781"
-     height="1114.7781"
-     xlink:href="file:///home/zulu/Documents/these_gilles/PRESENTATION/img/snakegpu1.png"
-     id="image4811"
-     x="-36"
-     y="-11.151687"
-     inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
-     inkscape:export-xdpi="160"
-     inkscape:export-ydpi="160" />
-  <image
-     y="-16.502728"
+     y="659.77258"
      x="1106.0505"
      id="image4891"
      xlink:href="file:///home/zulu/Documents/these_gilles/PRESENTATION/img/snakegpu3.pgm"
-     height="1127.8405"
-     width="1127.8405"
+     height="508.62411"
+     width="508.62411"
      inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
      inkscape:export-xdpi="160"
      inkscape:export-ydpi="160" />
   <g
      id="g4963"
-     transform="matrix(0.28253626,0,0,0.28253626,2246.558,-15.51571)"
+     transform="matrix(0.12741586,0,0,0.12741586,1620.3871,660.21768)"
      inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
      inkscape:export-xdpi="160"
      inkscape:export-ydpi="160">
   </g>
   <text
      xml:space="preserve"
-     style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="30.307693"
-     y="1206.6154"
-     id="text4990"
-     sodipodi:linespacing="125%"
-     inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
-     inkscape:export-xdpi="160"
-     inkscape:export-ydpi="160"><tspan
-       sodipodi:role="line"
-       id="tspan4992"
-       x="30.307693"
-       y="1206.6154"
-       style="font-size:64px">100 Mpixels - Segments &gt; 128</tspan></text>
-  <text
-     xml:space="preserve"
-     style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="1210.8473"
-     y="1198.8339"
+     style="font-size:18.03886795px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="1268.1036"
+     y="1208.5109"
      id="text4990-4"
      sodipodi:linespacing="125%"
      inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
      inkscape:export-xdpi="160"
      inkscape:export-ydpi="160"><tspan
        sodipodi:role="line"
-       id="tspan4992-8"
-       x="1210.8473"
-       y="1198.8339"
-       style="font-size:64px">100 Mpixels - Segments &gt;32</tspan></text>
+       x="1268.1036"
+       y="1208.5109"
+       style="font-size:32.46996307px"
+       id="tspan4880">100 Mpixels</tspan></text>
   <text
      xml:space="preserve"
-     style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-     x="2380.6846"
-     y="1198.9877"
+     style="font-size:18.03886795px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+     x="1783.6959"
+     y="1207.9243"
      id="text4990-4-2"
      sodipodi:linespacing="125%"
      inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/perfs-snake-img.png"
      inkscape:export-ydpi="160"><tspan
        sodipodi:role="line"
        id="tspan4992-8-5"
-       x="2380.6846"
-       y="1198.9877"
-       style="font-size:64px">100 Mpixels - Segments &gt;32</tspan></text>
+       x="1783.6959"
+       y="1207.9243"
+       style="font-size:32.46996307px">100 Mpixels</tspan></text>
 </svg>
diff --git a/PRESENTATION/img/pipd-detail.svg b/PRESENTATION/img/pipd-detail.svg
new file mode 100644 (file)
index 0000000..a56f46c
--- /dev/null
@@ -0,0 +1,930 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   width="159.11333"
+   height="108.2423"
+   xml:space="preserve"
+   sodipodi:docname="pipd-detail.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1299"
+     inkscape:window-height="715"
+     id="namedview4"
+     showgrid="true"
+     inkscape:zoom="4.05"
+     inkscape:cx="100.40005"
+     inkscape:cy="49.413782"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g10"
+     inkscape:snap-grids="false"
+     inkscape:snap-to-guides="false"><inkscape:grid
+       type="xygrid"
+       id="grid4257" /></sodipodi:namedview><metadata
+     id="metadata8"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs6"><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Send"
+       style="overflow:visible;"><path
+         id="path12633"
+         style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.3) rotate(180) translate(-2.3,0)" /></marker><marker
+       inkscape:stockid="TriangleOutM"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="TriangleOutM"
+       style="overflow:visible"><path
+         id="path23707"
+         d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+         transform="scale(0.4)" /></marker><marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mend"
+       style="overflow:visible;"><path
+         id="path23588"
+         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" /></marker><marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;"><path
+         id="path23570"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.4) rotate(180) translate(10,0)" /></marker><marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Send"
+       style="overflow:visible;"><path
+         id="path23576"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.2) rotate(180) translate(6,0)" /></marker><marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"><path
+         id="path23564"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" /></marker><linearGradient
+       osb:paint="gradient"
+       id="linearGradient9158"><stop
+         id="stop9160"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" /><stop
+         id="stop9162"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" /></linearGradient><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-3"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-9"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-0"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-3"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="marker13121"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path13123"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-35"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-6"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-9"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-31"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-2"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-4"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-1"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-7"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-6"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-42"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker><marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Send-8"
+       style="overflow:visible"><path
+         inkscape:connector-curvature="0"
+         id="path12633-63"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-0.3,0,0,-0.3,0.69,0)" /></marker></defs><g
+     id="g10"
+     inkscape:groupmode="layer"
+     inkscape:label="PI-LD_1"
+     transform="matrix(1.25,0,0,-1.25,0,108.2423)"><g
+       id="g4873-2"
+       transform="matrix(0.48131939,0,0,-0.48131939,-7.5878312,135.05553)"
+       ns0:preamble="/home/zulu/Bureau/paper_lniv_gpu/img/inklatex.tex"
+       ns0:text="$\\Delta d_{max}=2$"><defs
+         id="defs4875-6"><g
+           id="g4877-9"><symbol
+             id="textext-9a595fa5-0-4"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4880-4"
+               d=""
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-1-6"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4883-0"
+               d="m 4.40625,-6.953125 c -0.0625,-0.140625 -0.09375,-0.1875 -0.265625,-0.1875 -0.15625,0 -0.1875,0.046875 -0.25,0.1875 l -3.375,6.75 C 0.46875,-0.109375 0.46875,-0.09375 0.46875,-0.078125 0.46875,0 0.53125,0 0.6875,0 l 6.921875,0 c 0.15625,0 0.21875,0 0.21875,-0.078125 0,-0.015625 0,-0.03125 -0.046875,-0.125 l -3.375,-6.75 z m -0.578125,0.8125 2.6875,5.390625 -5.375,0 2.6875,-5.390625 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-2-7"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4886-4"
+               d="m 6.84375,-3.265625 c 0.15625,0 0.34375,0 0.34375,-0.1875 C 7.1875,-3.65625 7,-3.65625 6.859375,-3.65625 l -5.96875,0 c -0.140625,0 -0.328125,0 -0.328125,0.203125 0,0.1875 0.1875,0.1875 0.328125,0.1875 l 5.953125,0 z m 0.015625,1.9375 c 0.140625,0 0.328125,0 0.328125,-0.203125 0,-0.1875 -0.1875,-0.1875 -0.34375,-0.1875 l -5.953125,0 c -0.140625,0 -0.328125,0 -0.328125,0.1875 0,0.203125 0.1875,0.203125 0.328125,0.203125 l 5.96875,0 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-3-3"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4889-7"
+               d="m 4.46875,-1.734375 -0.234375,0 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 l -1.796875,0 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 L 4.203125,0 4.46875,-1.734375 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-4-9"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4892-0"
+               d=""
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-5-0"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4895-2"
+               d="m 5.140625,-6.8125 c 0,0 0,-0.109375 -0.125,-0.109375 -0.15625,0 -1.09375,0.09375 -1.265625,0.109375 -0.078125,0.015625 -0.140625,0.0625 -0.140625,0.1875 0,0.125 0.09375,0.125 0.234375,0.125 0.484375,0 0.5,0.0625 0.5,0.171875 L 4.3125,-6.125 3.71875,-3.765625 C 3.53125,-4.140625 3.25,-4.40625 2.796875,-4.40625 c -1.15625,0 -2.390625,1.46875 -2.390625,2.921875 0,0.9375 0.546875,1.59375 1.3125,1.59375 0.203125,0 0.703125,-0.046875 1.296875,-0.75 0.078125,0.421875 0.4375,0.75 0.90625,0.75 0.359375,0 0.578125,-0.234375 0.75,-0.546875 0.15625,-0.359375 0.296875,-0.96875 0.296875,-0.984375 0,-0.109375 -0.09375,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.046875 -0.140625,0.1875 -0.171875,0.640625 -0.34375,1.234375 -0.75,1.234375 -0.28125,0 -0.296875,-0.265625 -0.296875,-0.453125 0,-0.25 0.015625,-0.3125 0.046875,-0.484375 l 1.4375,-5.765625 z m -2.0625,5.625 C 3.015625,-1 3.015625,-0.984375 2.875,-0.8125 2.4375,-0.265625 2.03125,-0.109375 1.75,-0.109375 c -0.5,0 -0.640625,-0.546875 -0.640625,-0.9375 0,-0.5 0.3125,-1.71875 0.546875,-2.1875 0.3125,-0.578125 0.75,-0.953125 1.15625,-0.953125 0.640625,0 0.78125,0.8125 0.78125,0.875 0,0.0625 -0.015625,0.125 -0.03125,0.171875 L 3.078125,-1.1875 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-6-2"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4898-6"
+               d=""
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-7-9"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4901-0"
+               d="m 3.03125,-0.5625 c -0.046875,0.140625 -0.109375,0.375 -0.109375,0.40625 0,0.15625 0.125,0.21875 0.234375,0.21875 0.140625,0 0.25,-0.078125 0.28125,-0.140625 0.03125,-0.0625 0.09375,-0.296875 0.125,-0.4375 0.03125,-0.125 0.109375,-0.453125 0.15625,-0.625 0.03125,-0.15625 0.078125,-0.3125 0.109375,-0.46875 0.078125,-0.296875 0.078125,-0.3125 0.21875,-0.53125 C 4.265625,-2.484375 4.625,-2.875 5.15625,-2.875 c 0.390625,0 0.421875,0.3125 0.421875,0.484375 0,0.421875 -0.296875,1.1875 -0.421875,1.484375 -0.0625,0.203125 -0.09375,0.265625 -0.09375,0.375 0,0.375 0.296875,0.59375 0.65625,0.59375 0.703125,0 1,-0.953125 1,-1.0625 0,-0.09375 -0.078125,-0.09375 -0.109375,-0.09375 -0.09375,0 -0.09375,0.046875 -0.125,0.125 C 6.328125,-0.40625 6.015625,-0.125 5.75,-0.125 c -0.15625,0 -0.1875,-0.09375 -0.1875,-0.25 0,-0.15625 0.046875,-0.25 0.171875,-0.5625 0.078125,-0.21875 0.359375,-0.953125 0.359375,-1.34375 0,-0.109375 0,-0.40625 -0.25,-0.609375 -0.125,-0.078125 -0.328125,-0.1875 -0.65625,-0.1875 -0.625,0 -1,0.421875 -1.234375,0.703125 C 3.90625,-2.96875 3.40625,-3.078125 3.046875,-3.078125 2.46875,-3.078125 2.078125,-2.71875 1.875,-2.4375 1.828125,-2.921875 1.421875,-3.078125 1.125,-3.078125 c -0.296875,0 -0.453125,0.21875 -0.546875,0.375 -0.15625,0.265625 -0.25,0.65625 -0.25,0.703125 0,0.078125 0.09375,0.078125 0.125,0.078125 0.09375,0 0.09375,-0.015625 0.140625,-0.203125 0.109375,-0.40625 0.25,-0.75 0.515625,-0.75 0.1875,0 0.234375,0.15625 0.234375,0.34375 0,0.125 -0.0625,0.390625 -0.125,0.578125 -0.046875,0.1875 -0.109375,0.46875 -0.140625,0.625 L 0.84375,-0.4375 c -0.015625,0.09375 -0.0625,0.265625 -0.0625,0.28125 0,0.15625 0.125,0.21875 0.234375,0.21875 0.125,0 0.234375,-0.078125 0.28125,-0.140625 0.03125,-0.0625 0.078125,-0.296875 0.125,-0.4375 0.03125,-0.125 0.109375,-0.453125 0.140625,-0.625 0.046875,-0.15625 0.09375,-0.3125 0.125,-0.46875 0.078125,-0.28125 0.09375,-0.34375 0.296875,-0.625 C 2.171875,-2.515625 2.5,-2.875 3.03125,-2.875 c 0.390625,0 0.40625,0.359375 0.40625,0.484375 0,0.171875 -0.015625,0.265625 -0.125,0.65625 L 3.03125,-0.5625 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-8-3"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4904-5"
+               d="m 2.9375,-2.65625 c -0.140625,-0.234375 -0.375,-0.421875 -0.71875,-0.421875 -0.890625,0 -1.796875,0.984375 -1.796875,1.984375 0,0.6875 0.453125,1.15625 1.0625,1.15625 0.375,0 0.703125,-0.203125 0.984375,-0.484375 C 2.59375,0 3,0.0625 3.1875,0.0625 c 0.25,0 0.421875,-0.140625 0.546875,-0.359375 0.15625,-0.28125 0.25,-0.671875 0.25,-0.703125 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.109375,0 -0.109375,0.03125 -0.15625,0.21875 C 3.625,-0.53125 3.5,-0.125 3.203125,-0.125 3.03125,-0.125 2.96875,-0.28125 2.96875,-0.46875 c 0,-0.109375 0.0625,-0.375 0.109375,-0.546875 0.046875,-0.1875 0.125,-0.46875 0.15625,-0.625 C 3.296875,-1.90625 3.3125,-1.9375 3.375,-2.171875 3.421875,-2.359375 3.5,-2.6875 3.5,-2.71875 3.5,-2.875 3.375,-2.9375 3.265625,-2.9375 c -0.125,0 -0.28125,0.078125 -0.328125,0.28125 z M 2.5,-0.875 C 2.453125,-0.671875 2.296875,-0.53125 2.140625,-0.40625 2.078125,-0.34375 1.796875,-0.125 1.5,-0.125 c -0.265625,0 -0.515625,-0.1875 -0.515625,-0.671875 0,-0.375 0.203125,-1.140625 0.375,-1.421875 0.3125,-0.5625 0.671875,-0.65625 0.859375,-0.65625 0.484375,0 0.625,0.53125 0.625,0.609375 0,0.015625 -0.015625,0.078125 -0.015625,0.09375 L 2.5,-0.875 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol><symbol
+             id="textext-9a595fa5-9-5"
+             overflow="visible"
+             style="overflow:visible"><path
+               id="path4907-8"
+               d="M 1.734375,-0.734375 C 1.671875,-0.5 1.4375,-0.125 1.078125,-0.125 c -0.015625,0 -0.234375,0 -0.375,-0.09375 0.28125,-0.09375 0.3125,-0.34375 0.3125,-0.390625 0,-0.15625 -0.125,-0.25 -0.28125,-0.25 -0.203125,0 -0.40625,0.15625 -0.40625,0.421875 0,0.34375 0.390625,0.5 0.734375,0.5 0.328125,0 0.609375,-0.1875 0.78125,-0.484375 C 2.015625,-0.0625 2.390625,0.0625 2.671875,0.0625 c 0.8125,0 1.234375,-0.859375 1.234375,-1.0625 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.109375,0 -0.109375,0.046875 -0.140625,0.125 -0.140625,0.484375 -0.5625,0.84375 -0.953125,0.84375 -0.28125,0 -0.421875,-0.1875 -0.421875,-0.453125 0,-0.1875 0.171875,-0.8125 0.359375,-1.59375 C 2.78125,-2.703125 3.09375,-2.875 3.328125,-2.875 c 0.015625,0 0.21875,0 0.375,0.09375 -0.21875,0.0625 -0.3125,0.265625 -0.3125,0.390625 0,0.140625 0.125,0.25 0.28125,0.25 0.15625,0 0.390625,-0.125 0.390625,-0.421875 0,-0.390625 -0.453125,-0.515625 -0.71875,-0.515625 -0.359375,0 -0.640625,0.234375 -0.78125,0.5 -0.125,-0.28125 -0.453125,-0.5 -0.84375,-0.5 C 0.9375,-3.078125 0.5,-2.21875 0.5,-2 c 0,0.078125 0.09375,0.078125 0.109375,0.078125 0.09375,0 0.09375,-0.015625 0.140625,-0.109375 C 0.921875,-2.578125 1.359375,-2.875 1.703125,-2.875 1.9375,-2.875 2.125,-2.75 2.125,-2.421875 2.125,-2.28125 2.03125,-1.9375 1.96875,-1.6875 l -0.234375,0.953125 z m 0,0"
+               style="stroke:none"
+               inkscape:connector-curvature="0" /></symbol></g></defs></g><path
+       inkscape:connector-curvature="0"
+       id="path34"
+       style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05200004999999996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299960999999954;stroke-opacity:1;stroke-dasharray:none"
+       d="m 23.414,20.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path36"
+       style="fill:#000000;fill-opacity:0.2348485;fill-rule:nonzero;stroke:none"
+       d="m 27.414,24.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path38"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 27.414,24.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#000000;fill-opacity:0.23529412;fill-rule:nonzero;stroke:none"
+       d="m 31.414,28.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path42"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 31.414,28.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path44"
+       style="fill:#000000;fill-opacity:0.2348485;fill-rule:nonzero;stroke:none"
+       d="m 35.414,32.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path46"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 35.414,32.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path48"
+       style="fill:#000000;fill-opacity:0.23529406;fill-rule:nonzero;stroke:none"
+       d="m 39.414,36.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path50"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 39.414,36.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path52"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 43.414,40.141 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><g
+       id="g3926"
+       transform="matrix(0.55670897,0,0,-0.55675423,-87.826205,124.85687)"
+       ns0:preamble="/home/zulu/Bureau/paper_lniv_gpu/img/inklatex.tex"
+       ns0:text="$(i_2,j_2)$"><defs
+   id="defs3928">
+<g
+   id="g3930">
+<symbol
+   id="textext-ecf84b3e-0"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3933"
+   d=""
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-1"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3936"
+   d="m 3.296875,2.390625 c 0,-0.03125 0,-0.046875 -0.171875,-0.21875 C 1.890625,0.921875 1.5625,-0.96875 1.5625,-2.5 c 0,-1.734375 0.375,-3.46875 1.609375,-4.703125 0.125,-0.125 0.125,-0.140625 0.125,-0.171875 0,-0.078125 -0.03125,-0.109375 -0.09375,-0.109375 -0.109375,0 -1,0.6875 -1.59375,1.953125 -0.5,1.09375 -0.625,2.203125 -0.625,3.03125 0,0.78125 0.109375,1.984375 0.65625,3.125 C 2.25,1.84375 3.09375,2.5 3.203125,2.5 c 0.0625,0 0.09375,-0.03125 0.09375,-0.109375 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-2"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3939"
+   d="m 2.875,-2.5 c 0,-0.765625 -0.109375,-1.96875 -0.65625,-3.109375 -0.59375,-1.21875 -1.453125,-1.875 -1.546875,-1.875 -0.0625,0 -0.109375,0.046875 -0.109375,0.109375 0,0.03125 0,0.046875 0.1875,0.234375 0.984375,0.984375 1.546875,2.5625 1.546875,4.640625 0,1.71875 -0.359375,3.46875 -1.59375,4.71875 C 0.5625,2.34375 0.5625,2.359375 0.5625,2.390625 0.5625,2.453125 0.609375,2.5 0.671875,2.5 0.765625,2.5 1.671875,1.8125 2.25,0.546875 2.765625,-0.546875 2.875,-1.65625 2.875,-2.5 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-3"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3942"
+   d=""
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-4"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3945"
+   d="m 2.828125,-6.234375 c 0,-0.203125 -0.140625,-0.359375 -0.359375,-0.359375 -0.28125,0 -0.546875,0.265625 -0.546875,0.53125 0,0.1875 0.140625,0.359375 0.375,0.359375 0.234375,0 0.53125,-0.234375 0.53125,-0.53125 z m -0.75,3.75 c 0.109375,-0.28125 0.109375,-0.3125 0.21875,-0.578125 0.078125,-0.203125 0.125,-0.34375 0.125,-0.53125 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.9375,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.21875 -0.078125,0.421875 -0.109375,0.53125 -0.078125,0.25 -0.53125,1.40625 -0.6875,1.84375 -0.109375,0.25 -0.234375,0.578125 -0.234375,0.796875 0,0.46875 0.34375,0.8125 0.8125,0.8125 0.9375,0 1.3125,-1.4375 1.3125,-1.53125 0,-0.109375 -0.09375,-0.109375 -0.125,-0.109375 -0.09375,0 -0.09375,0.03125 -0.140625,0.1875 -0.1875,0.625 -0.515625,1.234375 -1.015625,1.234375 -0.171875,0 -0.25,-0.09375 -0.25,-0.328125 0,-0.25 0.0625,-0.390625 0.296875,-1 l 0.390625,-1.046875 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-5"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3948"
+   d="m 2.03125,-0.015625 c 0,-0.65625 -0.25,-1.046875 -0.640625,-1.046875 -0.328125,0 -0.53125,0.25 -0.53125,0.53125 C 0.859375,-0.265625 1.0625,0 1.390625,0 1.5,0 1.640625,-0.046875 1.734375,-0.125 1.765625,-0.15625 1.78125,-0.15625 1.78125,-0.15625 c 0.015625,0 0.015625,0 0.015625,0.140625 0,0.75 -0.34375,1.34375 -0.671875,1.671875 -0.109375,0.109375 -0.109375,0.125 -0.109375,0.15625 0,0.078125 0.046875,0.109375 0.09375,0.109375 0.109375,0 0.921875,-0.765625 0.921875,-1.9375 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-6"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3951"
+   d="m 3.953125,-6.234375 c 0,-0.1875 -0.140625,-0.359375 -0.375,-0.359375 -0.234375,0 -0.53125,0.234375 -0.53125,0.53125 0,0.203125 0.140625,0.359375 0.375,0.359375 0.265625,0 0.53125,-0.265625 0.53125,-0.53125 z m -2,6.734375 c -0.1875,0.75 -0.671875,1.328125 -1.21875,1.328125 -0.0625,0 -0.21875,0 -0.390625,-0.09375 0.296875,-0.0625 0.4375,-0.328125 0.4375,-0.53125 0,-0.15625 -0.109375,-0.34375 -0.375,-0.34375 -0.25,0 -0.53125,0.203125 -0.53125,0.5625 0,0.40625 0.390625,0.625 0.875,0.625 0.703125,0 1.625,-0.53125 1.875,-1.515625 L 3.53125,-3.125 c 0.0625,-0.1875 0.0625,-0.328125 0.0625,-0.359375 0,-0.578125 -0.421875,-0.921875 -0.921875,-0.921875 -1.015625,0 -1.578125,1.453125 -1.578125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.09375,0 0.109375,-0.015625 0.1875,-0.203125 0.25,-0.609375 0.703125,-1.21875 1.25,-1.21875 0.140625,0 0.3125,0.046875 0.3125,0.453125 0,0.234375 -0.015625,0.34375 -0.0625,0.515625 L 1.953125,0.5 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-7"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3954"
+   d=""
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+<symbol
+   id="textext-ecf84b3e-8"
+   overflow="visible"
+   style="overflow:visible">
+<path
+   id="path3957"
+   d="m 3.515625,-1.265625 -0.234375,0 c -0.015625,0.15625 -0.09375,0.5625 -0.1875,0.625 -0.046875,0.046875 -0.578125,0.046875 -0.6875,0.046875 l -1.28125,0 c 0.734375,-0.640625 0.984375,-0.84375 1.390625,-1.171875 0.515625,-0.40625 1,-0.84375 1,-1.5 0,-0.84375 -0.734375,-1.359375 -1.625,-1.359375 -0.859375,0 -1.453125,0.609375 -1.453125,1.25 0,0.34375 0.296875,0.390625 0.375,0.390625 0.15625,0 0.359375,-0.125 0.359375,-0.375 0,-0.125 -0.046875,-0.375 -0.40625,-0.375 C 0.984375,-4.21875 1.453125,-4.375 1.78125,-4.375 c 0.703125,0 1.0625,0.546875 1.0625,1.109375 0,0.609375 -0.4375,1.078125 -0.65625,1.328125 L 0.515625,-0.265625 C 0.4375,-0.203125 0.4375,-0.1875 0.4375,0 l 2.875,0 0.203125,-1.265625 z m 0,0"
+   style="stroke:none"
+   inkscape:connector-curvature="0" />
+</symbol>
+</g>
+</defs>
+<g
+   id="textext-ecf84b3e-9">
+
+
+
+
+
+<g
+   id="g3980"
+   style="fill:#000000;fill-opacity:1">
+  
+</g>
+
+</g>
+</g><path
+       inkscape:connector-curvature="0"
+       id="path78-8"
+       style="fill:#000000;fill-opacity:0.78431373;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 116,39.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path78-8-1"
+       style="fill:#000000;fill-opacity:0.78431373;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 120,35.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path78-8-9"
+       style="fill:#000000;fill-opacity:0.78431373;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 124,35.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path78-8-6"
+       style="fill:#000000;fill-opacity:0.78431373;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 128,31.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path78-8-4"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 132,31.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><g
+       transform="matrix(1,0,0,-1,-20.66728,168.266)"
+       id="g20358"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><path
+         inkscape:connector-curvature="0"
+         id="path19240"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,92.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19242"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,88.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19244"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,84.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19246"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,80.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19248"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,76.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19250"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,72.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19252"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,92.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19254"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,88.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19256"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,84.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19258"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19260"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19262"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19264"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,92.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19266"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,88.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19268"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,84.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19270"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19272"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19274"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19276"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,92.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19278"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,88.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19280"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,84.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19282"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19284"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19286"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19288"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,92.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19290"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,88.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19292"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,84.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19294"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19296"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19298"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19300"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,92.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19302"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,88.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19304"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,84.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19306"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19308"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19310"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19312"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 97.467275,72.265997 4.000005,0 0,-4 -4.000005,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19704"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 101.46728,72.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19706"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 105.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19708"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 109.46728,76.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19710"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 113.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /><path
+         inkscape:connector-curvature="0"
+         id="path19712"
+         style="fill:#505050;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.51590598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 117.46728,80.265997 4,0 0,-4 -4,0 0,4 z" /></g><text
+       xml:space="preserve"
+       style="font-size:4.80000019px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="0.80000055"
+       y="-16.799999"
+       id="text12375"
+       sodipodi:linespacing="125%"
+       transform="scale(1,-1)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><tspan
+         sodipodi:role="line"
+         id="tspan12377"
+         x="0.80000055"
+         y="-16.799999"
+         style="font-size:8px">(i,j)</tspan></text>
+<text
+       xml:space="preserve"
+       style="font-size:4.80000019px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="37.599995"
+       y="-57.599983"
+       id="text12375-9"
+       sodipodi:linespacing="125%"
+       transform="scale(1,-1)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><tspan
+         sodipodi:role="line"
+         id="tspan12377-7"
+         x="37.599995"
+         y="-57.599983"
+         style="font-size:8px">(i<tspan
+   style="font-size:52.00042725%;baseline-shift:sub"
+   id="tspan12400">1</tspan>,j<tspan
+   style="font-size:52.00042725%;baseline-shift:sub"
+   id="tspan12402">1</tspan>)</tspan></text>
+<path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 18,86.242302 9,0"
+       id="path12404"
+       inkscape:connector-curvature="0"
+       transform="matrix(0.8,0,0,-0.8,0,86.59384)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 44.4,43.999998 0,8"
+       id="path12404-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><text
+       xml:space="preserve"
+       x="31.802473"
+       y="-80.888878"
+       id="text13074"
+       transform="scale(1,-1)"
+       style="font-size:9.60000038px"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><tspan
+         sodipodi:role="line"
+         id="tspan13076"
+         x="31.802473"
+         y="-80.888878"
+         style="font-size:8px">I<tspan
+   style="font-size:52%;baseline-shift:sub"
+   id="tspan13392">Θ</tspan>(i<tspan
+   style="font-size:52%;baseline-shift:sub"
+   id="tspan13376">1</tspan>,j<tspan
+   style="font-size:52%;baseline-shift:sub"
+   id="tspan13380">1</tspan>)</tspan></text>
+<path
+       inkscape:connector-curvature="0"
+       id="path34-2"
+       style="fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 92,19.999998 4,0 0,-4.000001 -4,0 0,4.000001 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path36-3"
+       style="fill:#000000;fill-opacity:0.2348485;fill-rule:nonzero;stroke:none"
+       d="m 96,23.999998 4,0 0,-4.000001 -4,0 0,4.000001 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path38-5"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 96,23.999998 4,0 0,-4.000001 -4,0 0,4.000001 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path40-5"
+       style="fill:#000000;fill-opacity:0.23529412;fill-rule:nonzero;stroke:none"
+       d="m 100,27.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path42-5"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 100,27.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path44-8"
+       style="fill:#000000;fill-opacity:0.2348485;fill-rule:nonzero;stroke:none"
+       d="m 104,31.999998 4,0 0,-4.000001 -4,0 0,4.000001 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path46-5"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 104,31.999998 4,0 0,-4.000001 -4,0 0,4.000001 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path48-2"
+       style="fill:#000000;fill-opacity:0.23529406;fill-rule:nonzero;stroke:none"
+       d="m 108,35.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path50-9"
+       style="fill:none;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 108,35.999998 4,0 0,-4 -4,0 0,4 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       inkscape:connector-curvature="0"
+       id="path52-3"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05200005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none"
+       d="m 112,39.999997 4,0 0,-3.999999 -4,0 0,3.999999 z"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 66.4,83.207685 7.2,0"
+       id="path12404-5"
+       inkscape:connector-curvature="0"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 44.4,67.199998 0,8"
+       id="path12404-4-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 106.4,58.399998 8.04938,0"
+       id="path12404-4-4-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><text
+       xml:space="preserve"
+       x="75.199997"
+       y="-56"
+       id="text13074-4"
+       style="font-size:9.60000038px"
+       transform="scale(1,-1)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><tspan
+         sodipodi:role="line"
+         id="tspan13076-9"
+         x="75.199997"
+         y="-56"
+         style="font-size:8px">I<tspan
+   style="font-size:52.00042725%;baseline-shift:sub"
+   id="tspan13294">Σ</tspan>(i<tspan
+   style="font-size:52%;baseline-shift:sub"
+   id="tspan13384">1</tspan>,j<tspan
+   style="font-size:52%;baseline-shift:sub"
+   id="tspan13388">1</tspan>)</tspan></text>
+<path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 60,59.207685 12,0"
+       id="path12404-5-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 104.59259,83.209875 22.61728,0 c 0,0 0.19753,-12.133536 0.19753,-17.481481"
+       id="path12404-4-9"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><text
+       xml:space="preserve"
+       style="font-size:4.80000019px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="129.46538"
+       y="-59.476543"
+       id="text13344"
+       sodipodi:linespacing="125%"
+       transform="scale(1,-1)"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300"><tspan
+         sodipodi:role="line"
+         id="tspan13346"
+         x="117.92593"
+         y="-59.476543"
+         style="text-anchor:middle;text-align:center">validation</tspan><tspan
+         sodipodi:role="line"
+         x="117.92593"
+         y="-53.476543"
+         id="tspan13348"
+         style="text-anchor:middle;text-align:center">GLRT</tspan></text>
+<path
+       style="fill:none;stroke:#000000;stroke-width:0.80000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Send)"
+       d="m 127.60109,49.377909 0,-9.777778"
+       id="path12404-4-4-92"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/pipd-extension.png"
+       inkscape:export-xdpi="300"
+       inkscape:export-ydpi="300" /><text
+       xml:space="preserve"
+       style="font-size:6px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="50.617283"
+       y="83.797859"
+       id="text13394"
+       sodipodi:linespacing="125%"
+       transform="matrix(0.8,0,0,-0.8,0,86.59384)"><tspan
+         sodipodi:role="line"
+         id="tspan13396"
+         x="50.617283"
+         y="83.797859" /></text>
+</g></svg>
\ No newline at end of file
diff --git a/PRESENTATION/img/pipd-extension.png b/PRESENTATION/img/pipd-extension.png
new file mode 100644 (file)
index 0000000..9c8ad5d
Binary files /dev/null and b/PRESENTATION/img/pipd-extension.png differ
diff --git a/PRESENTATION/img/seg2.png b/PRESENTATION/img/seg2.png
new file mode 100644 (file)
index 0000000..51a8948
Binary files /dev/null and b/PRESENTATION/img/seg2.png differ
index c7e3788a80fe4b89ee4fef0f5f5699f9ff781a21..ce873dbcc99a3dcda33406a3e36226c4280dd36a 100644 (file)
Binary files a/PRESENTATION/img/shmem.png and b/PRESENTATION/img/shmem.png differ
index 5bae8275aa22e30a83beeaf2d51151464a5a909d..85a7805941ef00e814e04fe4a42d8bf8ef9e41cf 100644 (file)
      objecttolerance="10"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="0.48083261"
+     inkscape:zoom="1.03"
      inkscape:cx="704.47765"
      inkscape:cy="552.11681"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      inkscape:window-width="1299"
      inkscape:window-height="715"
-     inkscape:window-x="99"
-     inkscape:window-y="38"
+     inkscape:window-x="65"
+     inkscape:window-y="24"
      showgrid="false"
      inkscape:window-maximized="0"
      showguides="true"
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
     <path
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
-       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10,5;stroke-dashoffset:0"
        d="m 291.06455,336.52264 63.98546,-58.42736"
        id="path5098-90"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake-3etages.png"
          y="616.19849"
          id="tspan4567">pixels </tspan></text>
     <rect
-       style="opacity:0.17562724;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       style="opacity:0.15053763;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
        id="rect4587"
        width="176.47058"
        height="241.17647"
     <path
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
-       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10,5;stroke-dashoffset:0"
        d="M 521.07843,334.3187 690.68627,277.28802"
        id="path5098-90-4"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake-3etages.png"
        inkscape:export-xdpi="160"
        inkscape:export-ydpi="160" />
     <rect
-       style="opacity:0.20071686;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.68643236;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       style="opacity:0.10752688;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.68643235999999996;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
        id="rect4587-6"
        width="176.47058"
        height="364.17065"
     <path
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
-       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10,5;stroke-dashoffset:0"
        d="m 521.07844,336.75987 168.04805,310.7948"
        id="path5098-90-4-0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake-3etages.png"
     <path
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
-       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#664444;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:10,5;stroke-dashoffset:0"
        d="m 291.66667,333.8187 65.19608,187.08697"
        id="path5098-90-2"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake-3etages.png"
index 4537c18063764531e67c1e93ccdb2c284ef87b55..76b56fbf741bb39b936f868cf8144038e3fc908a 100644 (file)
      inkscape:pageshadow="2"
      inkscape:zoom="0.67882251"
      inkscape:cx="763.82718"
-     inkscape:cy="669.80496"
+     inkscape:cy="445.83067"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
-     inkscape:window-width="1373"
-     inkscape:window-height="847"
+     inkscape:window-width="1299"
+     inkscape:window-height="715"
      inkscape:window-x="65"
      inkscape:window-y="24"
      showgrid="false"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,898.8316,287.4543)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12524);enable-background:accumulate"
        id="rect12535"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter12524);enable-background:accumulate"
        id="rect11509"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="arc"
        style="opacity:0.63888891;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.50692391;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter3641);enable-background:accumulate"
        d="m 397.14287,150.93361 a 71.428574,41.42857 0 1 1 -142.85715,0 71.428574,41.42857 0 1 1 142.85715,0 z"
        transform="matrix(1.030001,0,0,0.9655173,-201.41097,-47.791722)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="arc"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.50692391;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m 397.14287,150.93361 a 71.428574,41.42857 0 1 1 -142.85715,0 71.428574,41.42857 0 1 1 142.85715,0 z"
        transform="matrix(1.030001,0,0,0.9655173,-203.66042,-54.79786)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4105"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ff3d3b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.50000000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4109"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,896.69814,285.08644)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m -150.1089,286.77013 16.33955,-7.02984 -0.0187,14.84279 -16.32087,-7.81295 z"
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 254.22402,92.507684 -16.33955,7.02984 0.0187,-14.84279 16.32087,7.81295 z"
        id="path6101"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <g
        id="g33523"
        transform="translate(-86,-388)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098"
          d="m 614.97796,562.44101 0,-36.11564"
        id="path5106"
        sodipodi:nodetypes="cccc"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 1136.4793,348.25851 6.8714,16.3395 -14.5082,-0.019 7.6368,-16.3208 z"
        id="path6107"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:none;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        id="path5110"
        sodipodi:nodetypes="ccc"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 608.29153,222.20073 16.33955,7.37101 -0.0187,-15.56313 -16.32087,8.19212 z"
        id="path6109"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Arial"
        y="96.493973"
        id="text6189"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="131.00378"
          y="96.493973"
        y="50.681732"
        id="text17919"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="332.28668"
          y="50.681732"
        y="217.22949"
        id="text17925"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="535.46967"
          y="217.22949"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4109-7"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        style="fill:none;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 405.40862,92.03404 35.54786,0"
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 453.06984,92.68107 -16.33955,7.02984 0.0187,-14.84279 16.32087,7.81295 z"
        id="path6101-4"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="63.855118"
        id="text17919-3"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="531.07391"
          y="63.855118"
        id="g33523-6"
        transform="translate(-83.593672,-140.70254)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-8"
          d="m 614.97796,562.44101 0,-36.11564"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ff3d3b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.50000000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4105-4"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffb13b;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="337.31766"
        id="text17925-9"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="536.99683"
          y="337.31766"
        id="g33523-68"
        transform="translate(-85.45082,-263.46445)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-9"
          d="m 614.97796,562.44101 0,-36.11564"
        y="436.52344"
        id="text17925-9-6"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="535.62433"
          y="436.52344"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4105-8"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="598.79382"
        id="text17925-7"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="534.28943"
          y="598.79382"
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <g
        id="g38481-2"
        transform="translate(-50.45967,-208.54008)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <rect
          ry="0"
          rx="18.571426"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4105-8-5"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="459.651"
        id="text17925-7-9"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="756.05573"
          y="459.651"
        d="m 756.44337,504.82216 -7.02984,16.33955 14.84279,-0.0187 -7.81295,-16.32087 z"
        id="path5112-7-9"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:none;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        id="path5110-1"
        sodipodi:nodetypes="ccc"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 680.12215,462.68491 -16.33955,-7.02984 0.0187,14.84279 16.32087,-7.81295 z"
        id="path5112-7"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter13574-7-2);enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1121.1743,44.466475)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1119.0408,42.098615)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        inkscape:transform-center-x="159.52381"
        inkscape:transform-center-y="46.428571"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="757.96704"
          y="189.5356"
        sodipodi:nodetypes="cc"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <g
        id="g33523-9"
        transform="matrix(1,0,0,-1,140.50156,829.9031)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-6"
          d="m 614.97796,562.44101 0,-154.59602"
        d="m 531.67,554.07928 0,-48.70418"
        id="path5098-9-0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 531.7513,560.38722 -7.02984,-14.22903 14.84279,0.0163 -7.81295,14.21276 z"
        id="path6103-2-4"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter13574-7-2-6);enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1354.2708,41.942014)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1352.1373,39.574154)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        inkscape:transform-center-x="159.52381"
        inkscape:transform-center-y="46.428571"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="991.0636"
          y="211.01114"
        id="g32548-17"
        transform="matrix(0,-1,1,0,468.7764,836.60753)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5094-8"
          d="m 616.58688,360.12659 0,69.56321"
        id="g38468-7"
        transform="translate(674.42332,42.607911)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <rect
          ry="0"
          rx="18.571428"
        id="path5112-5"
        inkscape:connector-curvature="0"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="151.31863"
        id="text38462-5"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="1010.1223"
          y="151.31863"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <rect
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        id="rect4105-8-5-8-1"
        rx="18.571428"
        ry="17.142859"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="457.401"
        id="text17925-7-9-4-8"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="987.1405"
          y="457.401"
        d="m 1062.1102,600.74462 69.5632,0"
        id="path5094-8-3"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        style="fill:#664444;fill-opacity:1;fill-rule:evenodd;stroke:#664444;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        d="m 985.75299,108.04784 -7.0298,16.33955 14.8428,-0.0187 -7.813,-16.32087 z"
        id="path6085-8"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <g
        id="g33523-68-9"
        transform="translate(373.6603,-142.54381)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-9-7"
          d="m 614.97796,562.44101 0,-157.22675"
        id="g38481-2-8"
        transform="translate(297.29232,-364.66707)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <text
          id="text38453-6-0"
          y="664.62543"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1357.1901,423.84132)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="star"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:5.26808691;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m -566.05,626.79178 c -19.39936,0.46745 -116.59885,-92.15794 -117.0663,-111.5573 -0.46746,-19.39935 92.15794,-116.59884 111.55729,-117.0663 19.39936,-0.46745 116.59885,92.15794 117.0663,111.5573 0.46746,19.39935 -92.15794,116.59884 -111.55729,117.0663 z"
        transform="matrix(0.6435938,0,0,0.3499147,1355.0566,421.47346)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        inkscape:transform-center-x="159.52381"
        inkscape:transform-center-y="46.428571"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="991.98303"
          y="570.9104"
        d="m 397.14287,150.93361 a 71.428574,41.42857 0 1 1 -142.85715,0 71.428574,41.42857 0 1 1 142.85715,0 z"
        transform="matrix(1.030001,0,0,0.9655173,652.06951,633.29984)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        sodipodi:type="arc"
        style="color:#000000;fill:#ffb13b;fill-opacity:1;fill-rule:nonzero;stroke:#ff9015;stroke-width:2.50692391;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
        d="m 397.14287,150.93361 a 71.428574,41.42857 0 1 1 -142.85715,0 71.428574,41.42857 0 1 1 142.85715,0 z"
        transform="matrix(1.030001,0,0,0.9655173,649.82006,626.29371)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Arial"
        y="777.58551"
        id="text6189-2"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="984.48425"
          y="777.58551"
        id="g33523-68-9-4"
        transform="translate(373.43808,-6.8771422)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-9-7-7"
          d="m 614.97796,562.44101 0,-50.56008"
        id="g33523-68-9-4-5"
        transform="translate(373.43807,165.34508)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <path
          id="path5098-9-7-7-4"
          d="m 614.97796,562.44101 0,-85.00452"
        id="g38481-2-8-5"
        transform="translate(300.21168,17.232231)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <text
          id="text38453-6-0-0"
          y="662.62543"
        id="g38481-1-1"
        transform="translate(407.22068,-60.222623)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <text
          id="text38453-9-8"
          y="652.62543"
        d="m 302,334.90625 0,11.28125 5.625,0 118.1875,0 5.65625,0 0,-11.28125 -5.65625,0 -118.1875,0 -5.625,0 z"
        style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff3d3b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:11.27480316;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        id="path9684"
        d="m 446.8293,340.544 -19.50541,11.2748 0,-22.5496 19.50541,11.2748 z"
        style="fill:#ff3d3b;fill-opacity:1;fill-rule:evenodd;stroke:#ff3d3b;stroke-width:2.25496063pt;stroke-opacity:1;marker-start:none"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:35.76747894px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="331.5961"
        id="text17925-91"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="194.88116"
          y="331.5961"
        d="m 323.23885,232.60945 11.28064,-0.0654 -0.0583,-3.14696 -0.63254,-34.14154 -0.59247,-31.97946 -0.0586,-3.16444 -11.28065,0.0654 0.0586,3.16444 1.22501,66.121 z"
        style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff3d3b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:11.27480316;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        id="path9684-4"
        d="m 327.38544,145.73831 11.47637,19.10733 -22.54839,0.23035 11.07202,-19.33768 z"
        style="fill:#ff3d3b;fill-opacity:1;fill-rule:evenodd;stroke:#ff3d3b;stroke-width:2.23860779pt;stroke-opacity:1;marker-start:none"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <path
        inkscape:connector-curvature="0"
        id="path8858-6"
        d="m 231.09896,222.76322 0,11.28125 4.44832,0 93.46406,0 4.47303,0 0,-11.28125 -4.47303,0 -93.46406,0 -4.44832,0 z"
        style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff3d3b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:11.27480316;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
     <text
        xml:space="preserve"
        style="font-size:35.76747894px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#664444;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
        y="219.21672"
        id="text17925-91-9"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="146.66568"
          y="219.21672"
        id="g38481-2-0"
        transform="translate(-36.316805,-450.73056)"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160">
       <rect
          ry="0"
          rx="18.571426"
        y="531.93414"
        id="text38462-5-8"
        inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90"><tspan
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160"><tspan
          sodipodi:role="line"
          x="553.99011"
          y="531.93414"
          id="tspan38464-3-1">Oui</tspan></text>
+    <path
+       style="fill:none;stroke:#ff0000;stroke-width:6.4000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:12.8, 6.4;stroke-dashoffset:0"
+       d="m 418.57604,32.949906 0,636.396104 443.41488,0 0,-393.32815 229.80968,0 0,-241.594814 z"
+       id="path11860"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccc"
+       inkscape:export-filename="/home/zulu/Documents/these_gilles/PRESENTATION/img/algosnake1.png"
+       inkscape:export-xdpi="160"
+       inkscape:export-ydpi="160" />
   </g>
 </svg>
index 5784b3a5aae1e90cdd1e75404dad7b04bf47228e..370563525f8c3d8b5ac01392cdde376beecc37b3 100644 (file)
Binary files a/PRESENTATION/img/transferts-mem.png and b/PRESENTATION/img/transferts-mem.png differ
index 91b91df8b120a754175648d409ff3272a111fb50..59e6efad43fa44573ec510711bcd44e636308485 100644 (file)
@@ -1 +1 @@
-<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Algorithmes rapides sur GPU</title><meta name="generator" content="Hovercraft! 1.0 http://regebro.github.com/hovercraft"></meta><meta name="author" content="Gilles Perrot"></meta><link rel="stylesheet" href="css/hovercraft.css" media="all"></link><link rel="stylesheet" href="css/impressConsole.css" media="all"></link><link rel="stylesheet" href="css/highlight.css" media="all"></link><link rel="stylesheet" href="css/zulug5.css" media="all"></link><script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></head><body class="impress-not-supported"><div id="impress"><div class="step" step="0" id="titre" data-x="0" data-y="0"><h1 id="traitement-d-images-sur-gpu">TRAITEMENT D'IMAGES SUR GPU</h1><h2 id="algorithmes-rapides-pour-le-filtrage-et-la-segmentation-des-images-bruitees-sur-gpu">Algorithmes rapides pour le filtrage et la segmentation des images bruit&#xE9;es sur GPU.</h2><h3 id="gilles-perrot">Gilles Perrot</h3><h3 id="avril-2014">17 avril 2014</h3><h3 id="universite-de-franche-comte-institut-femto-st">Universit&#xE9; de Franche-Comt&#xE9;, Institut FEMTO-ST</h3><h3 id="departement-disc-equipe-and">D&#xE9;partement DISC - &#xE9;quipe AND</h3><h3 id="direction-r-couturier-s-domas">Direction  : R. Couturier &amp; S. Domas</h3></div><div class="step" step="1" data-x="1600" data-y="0"><h1 id="filtrage">FILTRAGE</h1><p>R&#xE9;duire le bruit.</p><img src="img/ex-filtrage.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>les bruits d&#xE9;gradent l'image de la sc&#xE8;ne id&#xE9;ale et peuvent en fausser ou compliquer l'interpr&#xE9;tation.</li><li>Les capteurs num&#xE9;riques et les conditions d'acquisition sont &#xE0; l'origine de perturbations (bruits).</li><li>Les hautes r&#xE9;solutions sont souvent obtenues &#xE0; faible flux de photons, dont les variations engendrent du bruit.</li></ul></div></div><div class="step" step="2" data-x="3200" data-y="0"><h1 id="segmentation">SEGMENTATION</h1><p>Distinguer les zones homog&#xE8;nes d'une image.</p><img src="img/seg1.png" alt="" width="700px" height=""></img><div class="notes"><ul><li>on recense plus de 4000 algorithmes de segmentation</li><li>La segmentation intervient dans beaucoup d'applications : du tracking &#xE0; la d&#xE9;tection ou &#xE0; l'extraction de caract&#xE9;ristiques diverses.</li><li>Mais aujourd'hui encore, une bonne segmentation est celle qui permet d'extraire ce que l'on attend =&gt; l'algorithme d&#xE9;pend du probl&#xE8;me.</li></ul></div></div><div class="step" step="3" data-x="4800" data-y="0"><h1 id="id1">SEGMENTATION</h1><p>Deux approches</p><img src="img/approches.png" alt="" width="800px" height=""></img><div class="notes"><ul><li><strong>Pr&#xE9;-traiter</strong> et effectuer les traitements de haut niveau sur des images <em>am&#xE9;lior&#xE9;es</em>.</li></ul><blockquote><ul><li>r&#xE9;duction, <em>a priori</em>, du co&#xFB;t des traitements de haut niveau.</li><li>les pr&#xE9;traitements ont eux aussi un co&#xFB;t, en temps de calcul et potentiellement en information.</li></ul></blockquote><ul><li><strong>Ne pas pr&#xE9;-traiter</strong> et effectuer les traitements de haut niveau sur les images bruit&#xE9;es.<ul><li>pas de perte d'information due au pr&#xE9;-traitement.</li></ul></li></ul></div></div><div class="step" step="4" data-x="6400" data-y="0"><h1 id="plan-de-la-presentation">PLAN DE LA PR&#xC9;SENTATION</h1><ol><li>Introduction<ul><li>Les GPUs ou <em>Graphical Processing Units</em>.</li><li>Le filtrage et la segmentation d'images.</li></ul></li><li>La segmentation des images<ul><li>Travaux de r&#xE9;f&#xE9;rence.</li><li>Parall&#xE9;lisation GPU d'un algorithme de segmentation de type <em>snake</em>.</li></ul></li><li>Le filtrage des images<ul><li>Travaux de r&#xE9;f&#xE9;rence.</li><li>Optimisation GPU des filtres m&#xE9;dian et de convolution.</li><li>Conception d'un algorithme GPU de d&#xE9;bruitage par recherche des lignes de niveaux.</li></ul></li><li>Conclusion et perspectives</li></ol></div><div class="step" step="5" data-x="8000" data-y="0"><h1 id="introduction">INTRODUCTION</h1><h2 id="les-gpus-ou-processeurs-graphiques">Les GPUs ou <em>Processeurs graphiques</em>.</h2><img src="img/gpucpu1.png" alt="" width="800px" height=""></img><ul><li>Processeurs <em>classiques</em> <strong>CPU</strong> : ex&#xE9;cution <strong>s&#xE9;quentielle</strong><ul><li>Quelques unit&#xE9;s de calcul ( les c&#x153;urs).</li></ul></li><li>Processeurs <em>graphiques</em> <strong>GPU</strong> : ex&#xE9;cution <strong>massivement parall&#xE8;le</strong><ul><li>Des centaines, voire milliers, d'unit&#xE9;s de calcul, regroup&#xE9;es en SMs (<em>Streaming Multiprocessors</em>).</li></ul></li></ul><div class="notes"><ul><li>La multiplication des c&#x153;urs dans les GPUs se fait au d&#xE9;triment des fonctions de contr&#xF4;le et de cache.</li><li>Seule la m&#xE9;moire <em>globale</em> est accessible par l'ensemble des fils d'ex&#xE9;cution (les <em>threads</em>) et ses performances sont faibles.</li><li>AU sein de la RAM il y a diff&#xE9;rents canaux vers diff&#xE9;rents types de m&#xE9;moires.</li><li>L'acc&#xE8;s efficace aux m&#xE9;moires  est contraignant.</li><li>Les &#xE9;changes de donn&#xE9;es entre le GPU et son h&#xF4;te CPU sont p&#xE9;nalisants.</li><li>Il est important de concevoir un partage &#xE9;quilibr&#xE9; des ressources au sein de chaque SM, pour permettre un niveau de parall&#xE9;lisme  &#xE9;lev&#xE9;, et donc d'envisager de bonnes performances.</li><li>La mise au point n'est pas ais&#xE9;e lorsque des centaines de milliers de threads concourent &#xE0; l'ex&#xE9;cution d'une t&#xE2;che.</li><li>L'accroissement des capacit&#xE9;s de calcul a suivi l'augmentation des r&#xE9;solutions d'images.</li><li>Les traitements envisag&#xE9;s sur les images sont de plus en plus &#xE9;volu&#xE9;s ( traitements de haut niveau ) et requi&#xE8;rent souvent un temps de calcul accru.</li><li>L'architecture parall&#xE8;le particuli&#xE8;re des GPUs a permis d'am&#xE9;liorer consid&#xE9;rablement les performances de certaines classes d'algorithme et fait esp&#xE9;rer par ailleurs des acc&#xE9;l&#xE9;rations importantes.</li></ul></div></div><div class="step" step="6" data-x="9600" data-y="0"><h1 id="id2">INTRODUCTION</h1><h2 id="le-traitement-des-images">Le traitement des images</h2><p><strong>Le filtrage (du bruit)</strong></p><blockquote><ul><li>Les capteurs et les conditions d'acquisition induisent du bruit.</li><li><em>R&#xE9;solution &#xE9;lev&#xE9;e</em> n'implique pas <em>bruit r&#xE9;duit</em>.</li></ul></blockquote><p><strong>La segmentation</strong></p><blockquote><ul><li>Enjeu important.</li><li>Aucun algorithme universel.</li></ul></blockquote><div class="notes"><ul><li>les bruits d&#xE9;gradent l'image de la sc&#xE8;ne id&#xE9;ale et peuvent en fausser ou compliquer l'interpr&#xE9;tation.</li><li>on recense plus de 4000 algorithmes de segmentation</li><li>La segmentation intervient dans beaucoup d'applications : du tracking &#xE0; la d&#xE9;tection ou &#xE0; l'extraction de caract&#xE9;ristiques diverses.</li><li>Mais aujourd'hui encore, une bonne segmentation est celle qui permet d'extraire ce que l'on attend =&gt; l'algorithme d&#xE9;pend du probl&#xE8;me.</li></ul></div></div><div class="step" step="7" data-x="11200" data-y="0"><h1 id="id3">INTRODUCTION</h1><h2 id="ojectif-accelerer">Ojectif : acc&#xE9;l&#xE9;rer</h2><p><strong>Segmentation</strong></p><blockquote><ul><li>Algorithme par contours actifs, classe des  <em>snakes</em>.</li><li>Impl&#xE9;mentation CPU optimis&#xE9;e existante.</li><li>Conception de l'impl&#xE9;mentation GPU.</li><li>Adaptations mineures de l'algorithme.</li></ul></blockquote><p><strong>Filtrage</strong></p><blockquote><ul><li>Filtre par lignes de niveaux<blockquote><ul><li>Algorithme original,</li><li>Conceptions conjointes algorithme et impl&#xE9;mentation.</li></ul></blockquote></li><li>Filtres m&#xE9;dians, filtres de convolution<blockquote><ul><li>Op&#xE9;rateurs math&#xE9;matiques,</li><li>Conception d'une impl&#xE9;mentation optimis&#xE9;e.</li></ul></blockquote></li></ul></blockquote></div><div class="step" step="8" data-x="12800" data-y="0"><h1 id="segmentation-par-contour-actif">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="travaux-de-reference">Travaux de r&#xE9;f&#xE9;rence</h2><p><strong>Level-set</strong> ( Roberts <em>et al.</em>, 2010)</p><blockquote><ul><li>Images d'IRM de 256x256x256 pixels (16 millions),</li><li>Temps sur GTX280 : <strong>11 s</strong>.</li></ul></blockquote><p><strong>Snake GVF</strong> (Smistad <em>et al.</em>, 2012)</p><blockquote><ul><li>Images d'IRM de 256x256x256 pixels (16 millions),</li><li>Temps sur C2070 : <strong>7 s</strong>.</li></ul></blockquote><img src="img/brain3D-gvf.png" alt="" width="600px" height=""></img><div class="notes"><ul><li>Le domaine m&#xE9;dical rec&#xE8;le la quasi totalit&#xE9; des impl&#xE9;mentations GPU d'algorithmes de segmentation.</li><li>Nombre d'entre elles concernent des traitements effectu&#xE9;s en 3D par n&#xE9;cessit&#xE9;, o&#xF9; l'emploi du GPU s'impose assez naturellement.</li><li>Les algorithmes <strong>level-set</strong> sont les plus impl&#xE9;ment&#xE9;s sur GPU :</li><li>Les algorithmes <strong>snakes</strong> sont tr&#xE8;s peu impl&#xE9;ment&#xE9;e sur GPU :</li></ul></div></div><div class="step" step="9" data-x="14400" data-y="0"><h1 id="id4">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="snake-polygonal-oriente-region-principe"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (principe)</h2><table cellpadding="0" cellspacing="0" class="columns"><tbody><tr><td><img src="img/snake-modele.png" alt="" width="350px" height=""></img></td><td><ul><li>Objectif : d&#xE9;terminer le contour le plus <em>vraisemblable</em>.</li><li>Le crit&#xE8;re de vraisemblance g&#xE9;n&#xE9;ralis&#xE9;e est, dans le cas gaussien :$$GL = \frac{1}{2}\left[ n_B.log\left(\sigma_B^2\right) + n_T.log\left(\sigma_T^2\right)\right]$$</li></ul></td></tr></tbody></table><ul><li>Calcul des variances \(\sigma^2\) pour chaque contour :</li></ul><blockquote><ul><li>M&#xE9;thode de Chesnaud <em>et el.</em> (1999) en \(\mathcal{O}(n^2)\).</li><li>Implique le <strong>pr&#xE9;-calcul</strong> de 3 images cumul&#xE9;es.</li></ul></blockquote><div class="notes"><ul><li>Cela permet d'extraire des formes aux contours mal d&#xE9;finis, en raison d'un fort niveau de bruit par exemple.</li></ul></div></div><div class="step" step="10" data-x="16000" data-y="0"><h1 id="id5">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="snake-polygonal-oriente-region-algo-cpu"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (algo CPU)</h2><img src="img/cochons-it0-it1.png" alt="" width="" height="300px"></img><p><strong>It&#xE9;ration 1</strong></p><blockquote><ol><li>Le contour initial est rectangulaire ( 4 n&#x153;uds )</li><li>On d&#xE9;place successivement les 4 n&#x153;uds jusqu'&#xE0; ce que plus aucun nouveau d&#xE9;placement ne provoque l'am&#xE9;lioration du crit&#xE8;re.</li></ol></blockquote></div><div class="step" step="11" data-x="17600" data-y="0"><h1 id="id6">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id7"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (algo CPU)</h2><img src="img/cochons-it21-it22.png" alt="" width="" height="300px"></img><img src="img/cochons-it4-it5.png" alt="" width="" height="300px"></img><div class="notes"><ul><li>CONVERGENCE RAPIDE</li></ul></div></div><div class="step" step="12" data-x="19200" data-y="0"><h1 id="id8">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id9"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (algo CPU)</h2><p>Exemples de r&#xE9;sultats</p><img src="img/snake-exs.png" alt="" width="700px" height=""></img><div class="notes"><ul><li>Les r&#xE9;sultats de segmentation d&#xE9;pendent des param&#xE8;tres de la s&#xE9;quence d'optimisation (pas des d&#xE9;placements, contour initial, seuil d'ajout des n&#x153;uds)</li></ul></div></div><div class="step" step="13" data-x="20800" data-y="0"><h1 id="id10">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="parallelisation-du-snake-polygonal-sur-gpu">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Identification des fonctions co&#xFB;teuses</p><img src="img/algosnake1.png" alt="" width="" height="500px"></img></div><div class="step" step="14" data-x="22400" data-y="0"><h1 id="id11">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id12">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Calcul du crit&#xE8;re GL</p><img src="img/algosnake-3etages.png" alt="" width="800px" height=""></img></div><div class="step" step="15" data-x="24000" data-y="0"><h1 id="id13">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id14">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><img src="img/snake-pairimpair.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>Pour un n&#x153;ud et un pas de d&#xE9;placement donn&#xE9;s, on &#xE9;value <strong>en parall&#xE8;le</strong> 8 positions voisines, soit 16 segments distincts.</li><li>Pour &#xE9;viter les oscillations et <em>coller</em> &#xE0; l'algorithme s&#xE9;quentiel, on distingue les n&#x153;uds d'indices pairs et impairs.</li><li>On &#xE9;value <strong>en parall&#xE8;le</strong> l'ensemble des d&#xE9;placements &#xE9;ventuels de tous les n&#x153;uds de m&#xEA;me parit&#xE9;.</li></ul></div></div><div class="step" step="16" data-x="25600" data-y="0"><h1 id="id15">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id16">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><ul><li>1 thread par pixel.</li><li>Concat&#xE9;nation de tous les pixels composant l'ensemble des contours &#xE9;valu&#xE9;s.</li><li>R&#xE9;ductions en m&#xE9;moire partag&#xE9;e.</li><li>Une seule taille de segment : la taille du plus long.</li></ul><div class="notes"><ul><li>les r&#xE9;duction consistent &#xE0; sommer, pour chaque segment les contributions partielles par bloc calcul&#xE9;es au 1</li></ul></div></div><div class="step" step="17" data-x="27200" data-y="0"><h1 id="id17">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id18">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Points positifs :</p><blockquote><ul><li>Conservation des donn&#xE9;es en m&#xE9;moire GPU.</li><li>Images cumul&#xE9;es calcul&#xE9;es en parall&#xE8;le.</li><li>Discretisation des segments en parall&#xE8;le (1 thread/pixel).</li><li>Respect de l'algorithme original.</li></ul></blockquote><p>Points n&#xE9;gatifs :</p><blockquote><ul><li>Trop peu de calculs &#xE0; effectuer.</li><li>Motifs d'acc&#xE8;s &#xE0; la m&#xE9;moire globale trop irr&#xE9;guliers.</li><li>Emploi de la m&#xE9;moire partag&#xE9;e.</li></ul></blockquote><div class="notes"><ul><li>Un seul entier est &#xE9;chang&#xE9; entre le CPU et le GPU &#xE0; chaque it&#xE9;ration.</li><li>image cumul&#xE9;es par une adaptation de la m&#xE9;thode des sommes de pr&#xE9;fixes.</li><li>Abandon  Bresenham Possible car parcours unidirectionnel du contour.</li><li>Trop peu de calculs ne permet pas de masquer les latences.</li><li>Pas de coalescence possible dans les acc&#xE8;s &#xE0; la m&#xE9;moire globale car la g&#xE9;om&#xE9;trie des segments varie.</li><li>m&#xE9;moire partag&#xE9;e &#xE0; cause des r&#xE9;ductions.</li></ul></div></div><div class="step" step="18" data-x="28800" data-y="0"><h1 id="id19">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id20">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Performances de l'impl&#xE9;mentation</strong></p><img src="img/perfs-snake.png" alt="" width="600px" height=""></img><img src="img/perfs-snake-img.png" alt="" width="400px" height=""></img></div><div class="step" step="19" data-x="30400" data-y="0"><h1 id="id21">SEGMENTATION PAR CONTOUR ACTIF</h1><h2 id="id22">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Conclusion</strong></p><ul><li>Premi&#xE8;re et seule impl&#xE9;mentation &#xE0; ce jour.</li><li>Performances int&#xE9;ressantes pour les grandes images.</li><li>Image 10000x10000 en moins de 0,6 seconde.</li><li>Emploi non optimal du GPU : r&#xE9;ductions, irr&#xE9;gularit&#xE9;s.</li><li>Premi&#xE8;res it&#xE9;rations GPU rapides : grands segments.</li><li>Temps de calcul tr&#xE8;s d&#xE9;pendant du contenu de l'image :<ul><li>Proposition d'une m&#xE9;thode d'initialisation alternative.</li><li>Recherche du contour rectangle le plus vraisemblable.</li><li>Acc&#xE9;l&#xE9;ration jusqu'&#xE0; x15 avec de petites cibles.</li></ul></li></ul></div><div class="step" step="20" data-x="32000" data-y="0"><h1 id="le-filtrage-des-images">LE FILTRAGE DES IMAGES</h1><blockquote><ul><li>Filtre m&#xE9;dian,</li><li>Filtres de convolution,</li><li>Filtre par recherche des lignes de niveaux (PIPD).</li></ul></blockquote></div><div class="step" step="21" data-x="33600" data-y="0"><h1 id="id23">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-principe">Filtre m&#xE9;dian : principe</h2><img src="img/median-principe.png" alt="" width="600px" height=""></img><p>La valeur de sortie d'un pixel est la <strong>m&#xE9;diane</strong> des valeurs de son voisinage.</p><ul><li>Bonne r&#xE9;duction de bruits gaussien et <em>poivre &amp; sel</em></li><li>Valeurs de sortie appartenant au voisinage.</li><li>Op&#xE9;ration de s&#xE9;lection co&#xFB;teuse (tri).</li><li>Usages fr&#xE9;quents avec des petites fen&#xEA;tres (de 3x3 &#xE0; 7x7).</li><li>Quelques applications avec de grandes fen&#xEA;tres.</li></ul></div><div class="step" step="22" data-x="35200" data-y="0"><h1 id="id24">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-usage">Filtre m&#xE9;dian : usage</h2><table cellpadding="0" cellspacing="0"><thead><tr><th><img src="img/airplane_sap25.png" alt="" width="" height=""></img></th><th><img src="img/airplane_sap25_med5.png" alt="" width="" height=""></img></th><th><img src="img/airplane_sap25_med3_it2.png" alt="" width="" height=""></img></th></tr></thead><tbody><tr><td><p>Bruit <em>poivre &amp; sel</em> 25%</p></td><td><p>M&#xE9;dian 5x5</p></td><td><p>M&#xE9;dian 3x3 - 2 passes</p></td></tr></tbody></table></div><div class="step" step="23" data-x="36800" data-y="0"><h1 id="id25">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-gpu-travaux-de-reference">Filtre m&#xE9;dian GPU : Travaux de r&#xE9;f&#xE9;rence</h2><p>Comparaison des impl&#xE9;mentations GPU de r&#xE9;f&#xE9;rence :</p><blockquote><ul><li><strong>PCMF</strong>, Sanchez <em>et al.</em> (2013), d&#xE9;bit max. <strong>80 MP/s</strong>,</li><li><strong>ArrayFire</strong>, biblioth&#xE8;que commerciale, d&#xE9;bit max. <strong>185 MP/s</strong>,</li><li><strong>BVM</strong> parall&#xE9;lis&#xE9; par Chen <em>et al.</em> (2009), d&#xE9;bit max. <strong>110 MP/s</strong>.</li></ul></blockquote><img src="img/compar-median2.png" alt="" width="500px" height=""></img><div class="notes"><ul><li>PCMF : Parallel (Complementary Cumulative Derivative Function) Median Filter (histogrammes cumulatifs)</li><li>CTMF : CPU &#xE0; temps constant</li></ul></div></div><div class="step" step="24" data-x="38400" data-y="0"><h1 id="id26">LE FILTRAGE DES IMAGES</h1><h2 id="id27">Filtre m&#xE9;dian GPU : Travaux de r&#xE9;f&#xE9;rence</h2><p>Emploi de la <strong>m&#xE9;moire partag&#xE9;e</strong> (exemple m&#xE9;dian 5x5)</p><img src="img/shmemhalo.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>recouvrement pose probl&#xE8;me &#xE0; cause acc&#xE8;s concurrents &#xE0; la m&#xE9;moire partag&#xE9;e.</li></ul></div></div><div class="step" step="25" data-x="40000" data-y="0"><h1 id="id28">LE FILTRAGE DES IMAGES</h1><h2 id="optimisation-du-filtre-median-gpu">Optimisation du filtre m&#xE9;dian GPU</h2><img src="img/CPU-GPU-memcpy.png" alt="" width="650px" height=""></img><img src="img/transferts-mem.png" alt="" width="" height="300px"></img><div class="notes"><p>On gagne de 13 &#xE0; 43 % sur les temps de transfert.</p></div></div><div class="step" step="26" data-x="41600" data-y="0"><h1 id="id29">LE FILTRAGE DES IMAGES</h1><h2 id="id30">Optimisation du filtre m&#xE9;dian GPU</h2><img src="img/CPU-GPU-memcpy-dummykernel.png" alt="" width="750px" height=""></img><p>D&#xE9;bits maximums effectifs, en MP/s, sur C2070.</p><blockquote><img src="img/debit-max-2070.png" alt="" width="300px" height=""></img></blockquote><p><strong>Rappel :</strong> PCMF : 80 MP/s - BVM : 110 MP/s - ArrayFire : 185 MP/s</p><div class="notes"><p>&#xE7;a laisse environ 80ms pour faire un tri de 9 valeurs sur une image de 4096x4096</p></div></div><div class="step" step="27" data-x="43200" data-y="0"><h1 id="id31">LE FILTRAGE DES IMAGES</h1><h2 id="id32">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>S&#xE9;lection de la m&#xE9;diane</strong></p><blockquote><ul><li>Emploi exclusif des <strong>registres</strong> pour charger les valeurs utiles<blockquote><ul><li>m&#xE9;moires individuelles au c&#x153;ur du GPU,</li><li>non indexables dans un tableau.</li><li>maximum de 63 registres par thread et 32 K par bloc de threads.</li></ul></blockquote></li><li>Pour les petites tailles : max. 7x7 avec 1 pixel/thread.</li><li>Exploitation des recouvrements entre fen&#xEA;tres voisines.</li></ul></blockquote></div><div class="step" step="28" data-x="44800" data-y="0"><h1 id="id33">LE FILTRAGE DES IMAGES</h1><h2 id="id34">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>S&#xE9;lection de la m&#xE9;diane</strong> (par oubli)</p><table cellpadding="0" cellspacing="0" class="columns"><tbody><tr><td><p>Avantages :</p><ul><li>&#xC9;vite le tri complet : performances en hausse,</li><li>&#xC9;conomie de registres : \(\lceil \frac{n}{2}\rceil +1\) au lieu de \(n\),</li><li>Permet de plus grandes tailles : max 11x11.</li></ul></td><td><img src="img/forgetful_selection.png" alt="" width="" height="500px"></img></td></tr></tbody></table></div><div class="step" step="29" data-x="46400" data-y="0"><h1 id="id35">LE FILTRAGE DES IMAGES</h1><h2 id="id36">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>Exploitation des recouvrements</strong> : 2 pixels par thread (m&#xE9;dian 5x5).</p><img src="img/recouvrement5.png" alt="" width="800px" height=""></img><p>&#xC0; 4 pixels/thread, zone commune = 10 pixels &lt; 14 : <strong>pas performant</strong>.</p><div class="notes"><ul><li>chaque thread utilise plus de registres</li><li>mais sur un bloc, en adaptant la taille du bloc, on &#xE9;conomise k+1 registres par paire de pixels.</li></ul></div></div><div class="step" step="30" data-x="48000" data-y="0"><h1 id="id37">LE FILTRAGE DES IMAGES</h1><h2 id="performances-du-median-gpu-propose-prmf">Performances du m&#xE9;dian GPU propos&#xE9; (PRMF)</h2><img src="img/perf-median.png" alt="" width="650px" height=""></img></div><div class="step" step="31" data-x="49600" data-y="0"><h1 id="id38">LE FILTRAGE DES IMAGES</h1><h2 id="performances-du-filtre-median-gpu-propose-prmf">Performances du filtre m&#xE9;dian GPU propos&#xE9; (PRMF)</h2><p>Image 512x512</p><blockquote><img src="img/comp512.png" alt="" width="" height="200px"></img></blockquote><p>Image 4096x4096</p><blockquote><img src="img/comp4k.png" alt="" width="" height="200px"></img></blockquote><div class="notes"><ul><li>d&#xE9;bit d&#xE9;croit lin&#xE9;airement en fonction de <strong>n</strong></li></ul></div></div><div class="step" step="32" data-x="51200" data-y="0"><h1 id="id39">LE FILTRAGE DES IMAGES</h1><h2 id="le-filtre-median-gpu">Le filtre m&#xE9;dian GPU</h2><p><strong>Conclusion</strong></p><blockquote><ul><li>Pas d'utilisation de la m&#xE9;moire partag&#xE9;e.</li><li>Acc&#xE8;s optimaux : 1 lecture par pixel.</li><li>D&#xE9;bit global am&#xE9;lior&#xE9; de <strong>x7</strong> &#xE0; <strong>x10</strong>, proche du maximum.</li><li>D&#xE9;bit de calcul max. <strong>5,3 GP/s</strong>.</li><li>M&#xE9;dian jusqu'au 11x11 sur C2070, 21x21 sur K40.</li><li>Cr&#xE9;ation d'une application web g&#xE9;n&#xE9;rant les codes sources.</li><li>Utilis&#xE9; sur images de cristallographie au synchrotron <strong>SPring-8</strong>.</li></ul></blockquote><img src="img/spring82.png" alt="" width="" height="200px"></img></div><div class="step" step="33" data-x="52800" data-y="0"><h1 id="id40">LE FILTRAGE DES IMAGES</h1><h2 id="les-filtres-de-convolution-generalites">Les filtres de convolution : g&#xE9;n&#xE9;ralit&#xE9;s</h2><p><strong>Principe</strong></p><blockquote>$$I_{out}(x, y) = \left(I_{in} * h\right) = \sum_{(i &lt; H)} \sum_{(j &lt; L)}I_{in}(x-j, y-i)h(j,i)$$</blockquote><p><strong>Selon les valeurs du masque h</strong></p><blockquote><ul><li>R&#xE9;duction de bruit, d&#xE9;tection de bords,...</li><li>Op&#xE9;ration <strong>s&#xE9;parable</strong> en deux convolutions 1D.</li></ul></blockquote></div><div class="step" step="34" data-x="54400" data-y="0"><h1 id="id41">LE FILTRAGE DES IMAGES</h1><h2 id="les-filtres-de-convolution-gpu">Les filtres de convolution GPU</h2><p>Exploitation des recouvrements :</p><blockquote><ul><li>un seul acc&#xE8;s m&#xE9;moire par pixel, m&#xE9;morisation en registre.</li><li>Optimum &#xE0; 8 pixels/thread :</li><li>Exemple m&#xE9;dian 5x5, pour un thread :<blockquote><ul><li>60 pixels dans le halo : 60 lectures.</li><li>200 lectures + pr&#xE9;chargement si utilisation m&#xE9;moire partag&#xE9;e.</li></ul></blockquote></li></ul></blockquote><p>Nvidia propose les impl&#xE9;mentations les plus rapides (s&#xE9;parable ou non) :</p><blockquote><ul><li>Traitement de r&#xE9;f&#xE9;rence : 2048x2048 pixels, 5x5, 8bits.</li></ul></blockquote><img src="img/debit-calcul-convoNS.png" alt="" width="600px" height=""></img></div><div class="step" step="35" data-x="56000" data-y="0"><h1 id="id42">LE FILTRAGE DES IMAGES</h1><h2 id="id43">Les filtres de convolution GPU</h2><p><strong>R&#xE9;sultats (suite)</strong></p><img src="img/debit-calcul-convoS.png" alt="" width="600px" height=""></img><p>Convolution s&#xE9;parable :</p><ul><li>Une convolution verticale en m&#xE9;moire partag&#xE9;e, suivie d'une convolution horizontale en registres.</li><li>Copie interm&#xE9;diaire en m&#xE9;moire globale (cache 1D rapide).</li><li>L'acc&#xE9;l&#xE9;ration est due &#xE0; la seule convolution en registres (54%).</li></ul></div><div class="step" step="36" data-x="57600" data-y="0"><h1 id="id44">LE FILTRAGE DES IMAGES</h1><h2 id="id45">Les filtres de convolution GPU</h2><p><strong>Conclusion</strong></p><blockquote><ul><li>Am&#xE9;lioration sensible sur les d&#xE9;bits de calcul (de 17 &#xE0; 33 %).</li><li>Le traitement 1D est jusqu'&#xE0; 54% plus rapide.</li><li>Application &#xE0; d'autres familles de signaux 1D (audio,...).</li></ul></blockquote></div><div class="step" step="37" data-x="59200" data-y="0"><h1 id="id46">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-par-recherche-des-lignes-de-niveaux">Filtre par recherche des lignes de niveaux</h2><p><strong>Motivations :</strong></p><blockquote><ul><li>Les algorithmes qui d&#xE9;bruitent le mieux sont lents (BM3D).</li><li>Les images naturelles sont d&#xE9;composables en un ensemble de lignes de niveaux ( iso-niveau de gris ).</li><li>Concevoir un algorithme GPU original et son impl&#xE9;mentation.</li></ul></blockquote></div><div class="step" step="38" data-x="60800" data-y="0"><h1 id="id47">LE FILTRAGE DES IMAGES</h1><h2 id="id48">Filtre par recherche des lignes de niveaux</h2><p><strong>Principe - mod&#xE8;le</strong></p><blockquote><ul><li>Estimation locale, par maximum de vraisemblance, des lignes de niveaux.</li><li>R&#xE9;duction de bruit par moyennage le long de la ligne estim&#xE9;e.</li><li>Les lignes de niveaux estim&#xE9;es sont mod&#xE9;lis&#xE9;es par des lignes bris&#xE9;es nomm&#xE9;es <strong>isolines</strong>.</li><li>Les segments des lignes bris&#xE9;es sont choisis parmi des motifs pr&#xE9;-&#xE9;tablis (32 motifs).<img src="img/P5Q1.png" alt="" width="500px" height=""></img></li></ul></blockquote></div><div class="step" step="39" data-x="62400" data-y="0"><h1 id="id49">LE FILTRAGE DES IMAGES</h1><h2 id="id50">Filtre par recherche des lignes de niveaux</h2><p><strong>Principe (&#xE9;tape 1)</strong></p><blockquote><ul><li>En chaque pixel, recherche du motif maximisant la log-vraisemblance ( \(n=6, \sigma^2 =\) variance )</li></ul>$$-\frac{n}{2}log\left(2\pi\right) - \frac{n}{2}log\left(\sigma^2\right) - \frac{n}{2}$$<ul><li>M&#xE9;morisation des param&#xE8;tres des motifs s&#xE9;lectionn&#xE9;s dans deux matrices \(I_{\Theta}\) et \(I_{\Sigma}\).</li></ul><img src="img/lniv-mv.png" alt="" width="500px" height=""></img></blockquote></div><div class="step" step="40" data-x="64000" data-y="0"><h1 id="id51">LE FILTRAGE DES IMAGES</h1><h2 id="id52">Filtre par recherche des lignes de niveaux</h2><p><strong>Principe (&#xE9;tape 2)</strong></p><blockquote><ul><li>Allongement it&#xE9;ratif des segments sous condition GLRT.</li></ul>$$(n_{s_1s_2}+n_{s_3})\left[log\left(\widehat{\sigma_{s_1s_2}}^2\right) - log\left(\widehat{\sigma_{s_3}}^2\right) \right]$$<img src="img/pipd-detail.png" alt="" width="900px" height=""></img></blockquote></div><div class="step" step="41" data-x="65600" data-y="0"><h1 id="id53">LE FILTRAGE DES IMAGES</h1><h2 id="id54">Filtre par recherche des lignes de niveaux</h2><p><strong>Principe (&#xE9;tape 3)</strong></p><blockquote><p>Compensation de la non robustesse de s&#xE9;lection des motifs dans les zones homog&#xE8;nes.</p><blockquote><ul><li>identification des zones homog&#xE8;nes avec un d&#xE9;tecteur de bords.</li><li>Application d'un filtre moyenneur dans ces zones.</li></ul></blockquote><img src="img/detecteur.png" alt="" width="400px" height=""></img></blockquote><div class="notes"><ul><li>Sous-ensembles de pixels n'ayant pas d'intersection --&gt; MV</li><li>Utilisation des motifs des segments pour gain de temps.</li></ul></div></div><div class="step" step="42" data-x="67200" data-y="0"><h1 id="id55">LE FILTRAGE DES IMAGES</h1><h2 id="id56">Filtre par recherche des lignes de niveaux</h2><p><strong>R&#xE9;sultats</strong></p><blockquote><p>Sur l'ensemble d'images de S. Lansel (DenoiseLab, Universit&#xE9; Stanford), filtre propos&#xE9; (PI-PD)</p><ul><li>Am&#xE9;lioration moyenne du rapport Signal sur bruit: <strong>+7,1 dB</strong></li><li>Indice de similarit&#xE9; structurelle : <strong>+30%</strong></li><li>Temps de calcul : <strong>7 ms</strong></li></ul><p>Comparaison avec BM3D</p><ul><li>Am&#xE9;lioration moyenne du rapport Signal sur bruit: <strong>+9,5 dB</strong></li><li>Indice de similarit&#xE9; structurelle : <strong>+36%</strong></li><li>Temps de calcul : <strong>4300 ms</strong></li></ul></blockquote></div><div class="step" step="43" data-x="68800" data-y="0"><h1 id="id57">LE FILTRAGE DES IMAGES</h1><h2 id="id58">Filtre par recherche des lignes de niveaux</h2><table cellpadding="0" cellspacing="0"><tbody><tr><td><img src="img/zoom_noisy.png" alt="" width="" height=""></img></td><td></td><td><img src="img/zoom_mean5.png" alt="" width="" height=""></img></td></tr><tr><td><p>Bruit gaussien \(\sigma=25\)</p></td><td></td><td><p>Moyennage 5x5</p></td></tr><tr><td><img src="img/zoom_pipdh.png" alt="" width="" height=""></img></td><td></td><td><img src="img/zoom_bm3d.png" alt="" width="" height=""></img></td></tr><tr><td><p>PI-PD</p></td><td></td><td><p>BM3D</p></td></tr></tbody></table></div><div class="step" step="44" data-x="70400" data-y="0"><h1 id="id59">LE FILTRAGE DES IMAGES</h1><h2 id="id60">Filtre par recherche des lignes de niveaux</h2><p><strong>Synth&#xE8;se - conclusion</strong></p><blockquote><ul><li>Rapport qualit&#xE9;/temps &#xE9;lev&#xE9;.</li><li>Traitement d'images HD &#xE0; 20 fps.</li><li>Artefacts en marche d'escalier. R&#xE9;duits par la m&#xE9;thode de Buades <em>et al.</em> (+1 dB, +0,2 ms pour 512x512).</li><li>Extension aux images couleurs et autres types de bruits (multiplicatif).</li><li>Algorithme original sans impl&#xE9;mentation s&#xE9;quentielle de r&#xE9;f&#xE9;rence.</li></ul></blockquote></div><div class="step" step="45" data-x="72000" data-y="0"><h1 id="conclusion-generale-perspectives">CONCLUSION G&#xC9;N&#xC9;RALE - PERSPECTIVES</h1><ul><li>Trois types de conception mis en &#x153;uvre.</li><li>Le portage efficace d'algorithme peut s'av&#xE9;rer tr&#xE8;s complexe, voire sans int&#xE9;r&#xEA;t.</li><li>L'emploi de la m&#xE9;moire partag&#xE9;e n'apporte pas les meilleures performances en cas de recouvrements.</li><li>Filtres utilisables par tout programmeur gr&#xE2;ce &#xE0; un g&#xE9;n&#xE9;rateur de code.</li><li>Beaucoup de traitements et domaines peuvent b&#xE9;n&#xE9;ficier des techniques propos&#xE9;es.</li><li>Les &#xE9;volutions de l'architecture laissent entrevoir de nouvelles possibilit&#xE9;s.</li></ul><div class="notes"><ul><li>certaines ardeurs ont &#xE9;t&#xE9; refroidies</li></ul></div></div><div class="step" step="46" data-x="73600" data-y="0"><h1 id="annexe">ANNEXE</h1><h2 id="id61">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Structure des donn&#xE9;es</strong> (n&#x153;uds pairs)</p><img src="img/16segments.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>r&#xE8;gle 1 thread par pixel</li></ul></div></div></div><div id="hovercraft-help"><table><tr><th>Space</th><td>Forward</td></tr><tr><th>Left, Down, Page Down</th><td>Next slide</td></tr><tr><th>Right, Up, Page Up</th><td>Previous slide</td></tr><tr><th>P</th><td>Open presenter console</td></tr><tr><th>H</th><td>Toggle this help</td></tr></table></div><script type="text/javascript" src="js/impress.js"></script><script type="text/javascript" src="js/impressConsole.js"></script><script type="text/javascript" src="js/hovercraft.js"></script></body></html>
\ No newline at end of file
+<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Algorithmes rapides sur GPU</title><meta name="generator" content="Hovercraft! 1.0 http://regebro.github.com/hovercraft"></meta><meta name="author" content="Gilles Perrot"></meta><link rel="stylesheet" href="css/hovercraft.css" media="all"></link><link rel="stylesheet" href="css/impressConsole.css" media="all"></link><link rel="stylesheet" href="css/highlight.css" media="all"></link><link rel="stylesheet" href="css/zulug5.css" media="all"></link><script type="text/javascript" src="http://localhost/MATHJAX/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></head><body class="impress-not-supported"><div id="impress"><div class="step" step="0" id="titre" data-x="0" data-y="0"><h1 id="traitement-d-images-sur-gpu">TRAITEMENT D'IMAGES SUR GPU</h1><h2 id="algorithmes-rapides-pour-le-filtrage-et-la-segmentation-des-images-bruitees-sur-gpu">Algorithmes rapides pour le filtrage et la segmentation des images bruit&#xE9;es sur GPU.</h2><h3 id="gilles-perrot">Gilles Perrot</h3><h3 id="avril-2014">17 avril 2014</h3><h3 id="universite-de-franche-comte-institut-femto-st">Universit&#xE9; de Franche-Comt&#xE9;, Institut FEMTO-ST</h3><h3 id="departement-disc-equipe-and">D&#xE9;partement DISC - &#xE9;quipe AND</h3><h3 id="direction-r-couturier-s-domas">Direction  : R. Couturier &amp; S. Domas</h3></div><div class="step" step="1" data-x="1600" data-y="0"><h1 id="filtrage">FILTRAGE</h1><p>R&#xE9;duire le bruit.</p><img src="img/ex-filtrage.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>les bruits d&#xE9;gradent l'image de la sc&#xE8;ne id&#xE9;ale et peuvent en fausser ou compliquer l'interpr&#xE9;tation.</li><li>Les capteurs num&#xE9;riques et les conditions d'acquisition sont &#xE0; l'origine de perturbations (bruits).</li><li>Les hautes r&#xE9;solutions sont souvent obtenues &#xE0; faible flux de photons, dont les variations engendrent du bruit.</li></ul></div></div><div class="step" step="2" data-x="3200" data-y="0"><h1 id="segmentation">SEGMENTATION</h1><p>Distinguer les zones statistiquement homog&#xE8;nes d'une image bruit&#xE9;e.</p><img src="img/seg2.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>on recense plus de 4000 algorithmes de segmentation</li><li>La segmentation intervient dans beaucoup d'applications : du tracking &#xE0; la d&#xE9;tection ou &#xE0; l'extraction de caract&#xE9;ristiques diverses.</li><li>Mais aujourd'hui encore, une bonne segmentation est celle qui permet d'extraire ce que l'on attend =&gt; l'algorithme d&#xE9;pend du probl&#xE8;me.</li></ul></div></div><div class="step" step="3" data-x="4800" data-y="0"><h1 id="id1">SEGMENTATION</h1><h2 id="deux-approches">Deux approches</h2><img src="img/approches.png" alt="" width="800px" height=""></img></div><div class="step" step="4" data-x="6400" data-y="0"><h1 id="plan-de-la-presentation">PLAN DE LA PR&#xC9;SENTATION</h1><ol><li>Introduction<ul><li>Les GPUs ou <em>Graphical Processing Units</em>.</li><li>Objectifs.</li></ul></li><li>La segmentation des images<ul><li>Travaux de r&#xE9;f&#xE9;rence.</li><li>Parall&#xE9;lisation GPU d'un algorithme de segmentation de type <em>snake</em>.</li></ul></li><li>Le filtrage des images<ul><li>Travaux de r&#xE9;f&#xE9;rence.</li><li>Optimisation GPU des filtres m&#xE9;dian et de convolution.</li><li>Conception d'un algorithme GPU de d&#xE9;bruitage par recherche des lignes de niveaux.</li></ul></li><li>Conclusion et perspectives</li></ol></div><div class="step" step="5" data-x="8000" data-y="0"><h1 id="introduction">INTRODUCTION</h1><h2 id="les-gpus-ou-processeurs-graphiques">Les GPUs ou <em>Processeurs graphiques</em>.</h2><img src="img/gpucpu1.png" alt="" width="800px" height=""></img><ul><li>Processeurs <em>classiques</em> <strong>CPU</strong> : ex&#xE9;cution <strong>s&#xE9;quentielle</strong><ul><li>Quelques unit&#xE9;s de calcul ( les c&#x153;urs).</li></ul></li><li>Processeurs <em>graphiques</em> <strong>GPU</strong> : ex&#xE9;cution <strong>massivement parall&#xE8;le</strong><ul><li>Des centaines, voire milliers, d'unit&#xE9;s de calcul, regroup&#xE9;es en SMs (<em>Streaming Multiprocessors</em>).</li></ul></li></ul><div class="notes"><ul><li>La multiplication des c&#x153;urs dans les GPUs se fait au d&#xE9;triment des fonctions de contr&#xF4;le et de cache.</li><li>Seule la m&#xE9;moire <em>globale</em> est accessible par l'ensemble des fils d'ex&#xE9;cution (les <em>threads</em>) et ses performances sont faibles.</li><li>AU sein de la RAM il y a diff&#xE9;rents canaux vers diff&#xE9;rents types de m&#xE9;moires.</li><li>L'acc&#xE8;s efficace aux m&#xE9;moires  est contraignant.</li><li>Les &#xE9;changes de donn&#xE9;es entre le GPU et son h&#xF4;te CPU sont p&#xE9;nalisants.</li><li>Il est important de concevoir un partage &#xE9;quilibr&#xE9; des ressources au sein de chaque SM, pour permettre un niveau de parall&#xE9;lisme  &#xE9;lev&#xE9;, et donc d'envisager de bonnes performances.</li><li>La mise au point n'est pas ais&#xE9;e lorsque des centaines de milliers de threads concourent &#xE0; l'ex&#xE9;cution d'une t&#xE2;che.</li><li>L'accroissement des capacit&#xE9;s de calcul a suivi l'augmentation des r&#xE9;solutions d'images.</li><li>Les traitements envisag&#xE9;s sur les images sont de plus en plus &#xE9;volu&#xE9;s ( traitements de haut niveau ) et requi&#xE8;rent souvent un temps de calcul accru.</li><li>L'architecture parall&#xE8;le particuli&#xE8;re des GPUs a permis d'am&#xE9;liorer consid&#xE9;rablement les performances de certaines classes d'algorithme et fait esp&#xE9;rer par ailleurs des acc&#xE9;l&#xE9;rations importantes.</li></ul></div></div><div class="step" step="6" data-x="9600" data-y="0"><h1 id="id2">INTRODUCTION</h1><h2 id="ojectif-accelerer">Ojectif : acc&#xE9;l&#xE9;rer</h2><p><strong>Segmentation</strong></p><blockquote><ul><li>Algorithme par contours actifs, classe des  <em>snakes</em>.</li><li>Impl&#xE9;mentation CPU optimis&#xE9;e existante.</li><li>Conception de l'impl&#xE9;mentation GPU.</li></ul></blockquote><p><strong>Filtrage</strong></p><blockquote><ul><li>Filtres m&#xE9;dians, filtres de convolution<blockquote><ul><li>Op&#xE9;rateurs math&#xE9;matiques,</li><li>Conception d'une impl&#xE9;mentation optimis&#xE9;e.</li></ul></blockquote></li><li>Filtre par lignes de niveaux<blockquote><ul><li>Conception d'un algorithme d&#xE9;di&#xE9; GPU.</li></ul></blockquote></li></ul></blockquote></div><div class="step" step="7" data-x="11200" data-y="0"><h1 id="id3">SEGMENTATION</h1><h2 id="travaux-de-reference">Travaux de r&#xE9;f&#xE9;rence</h2><p><strong>Level-set</strong> ( Roberts <em>et al.</em>, 2010)</p><blockquote><ul><li>Images d'IRM de 256x256x256 pixels (16 millions),</li><li>Temps sur GTX280 : <strong>11 s</strong>.</li></ul></blockquote><p><strong>Snake GVF</strong> (Smistad <em>et al.</em>, 2012)</p><blockquote><ul><li>Images d'IRM de 256x256x256 pixels (16 millions),</li><li>Temps sur C2070 : <strong>7 s</strong>.</li></ul></blockquote><img src="img/brain3D-gvf.png" alt="" width="600px" height=""></img><div class="notes"><ul><li>Le domaine m&#xE9;dical rec&#xE8;le la quasi totalit&#xE9; des impl&#xE9;mentations GPU d'algorithmes de segmentation.</li><li>Nombre d'entre elles concernent des traitements effectu&#xE9;s en 3D par n&#xE9;cessit&#xE9;, o&#xF9; l'emploi du GPU s'impose assez naturellement.</li><li>Les algorithmes <strong>level-set</strong> sont les plus impl&#xE9;ment&#xE9;s sur GPU :</li><li>Les algorithmes <strong>snakes</strong> sont tr&#xE8;s peu impl&#xE9;ment&#xE9;e sur GPU :</li></ul></div></div><div class="step" step="8" data-x="12800" data-y="0"><h1 id="id4">SEGMENTATION</h1><h2 id="snake-polygonal-oriente-region-principe"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (principe)</h2><table cellpadding="0" cellspacing="0" class="columns"><tbody><tr><td><img src="img/snake-modele.png" alt="" width="350px" height=""></img></td><td><ul><li>Objectif : d&#xE9;terminer le contour le plus <em>vraisemblable</em>.</li><li>Le crit&#xE8;re de vraisemblance g&#xE9;n&#xE9;ralis&#xE9;e est, dans le cas gaussien :$$GL = \frac{1}{2}\left[ n_B.log\left(\sigma_B^2\right) + n_T.log\left(\sigma_T^2\right)\right]$$</li></ul></td></tr></tbody></table><ul><li>Calcul des variances \(\sigma^2\) pour chaque contour :</li></ul><blockquote><ul><li>M&#xE9;thode de Chesnaud <em>et al.</em> (1999) : sommes sur le <strong>contour</strong>.</li><li>Implique le <strong>pr&#xE9;-calcul</strong> de 3 images cumul&#xE9;es.</li></ul></blockquote><div class="notes"><ul><li>Cela permet d'extraire des formes aux contours mal d&#xE9;finis, en raison d'un fort niveau de bruit par exemple.</li></ul></div></div><div class="step" step="9" data-x="14400" data-y="0"><h1 id="id5">SEGMENTATION</h1><h2 id="snake-polygonal-oriente-region-algo-cpu"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (algo CPU)</h2><img src="img/cochons-it0-it1.png" alt="" width="" height="300px"></img><ol><li>Le contour initial est rectangulaire ( 4 n&#x153;uds )</li><li>On d&#xE9;place successivement les 4 n&#x153;uds jusqu'&#xE0; ce que plus aucun nouveau d&#xE9;placement ne provoque l'am&#xE9;lioration du crit&#xE8;re.</li></ol></div><div class="step" step="10" data-x="16000" data-y="0"><h1 id="id6">SEGMENTATION</h1><h2 id="id7"><em>Snake</em> polygonal orient&#xE9; r&#xE9;gion (algo CPU)</h2><img src="img/cochons-it21-it22.png" alt="" width="" height="300px"></img><img src="img/barre-blanche.png" alt="" width="" height="10px"></img><img src="img/cochons-it4-it5.png" alt="" width="" height="300px"></img><div class="notes"><ul><li>CONVERGENCE RAPIDE</li></ul></div></div><div class="step" step="11" data-x="17600" data-y="0"><h1 id="id8">SEGMENTATION</h1><h2 id="parallelisation-du-snake-polygonal-sur-gpu">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Identification des fonctions co&#xFB;teuses</p><img src="img/algosnake1.png" alt="" width="" height="500px"></img></div><div class="step" step="12" data-x="19200" data-y="0"><h1 id="id9">SEGMENTATION</h1><h2 id="id10">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Calcul du crit&#xE8;re GL (1 pixel/thread)</p><img src="img/algosnake-3etages.png" alt="" width="800px" height=""></img></div><div class="step" step="13" data-x="20800" data-y="0"><h1 id="id11">SEGMENTATION</h1><h2 id="id12">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><img src="img/snake-pairimpair.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>Pour un n&#x153;ud et un pas de d&#xE9;placement donn&#xE9;s, on &#xE9;value <strong>en parall&#xE8;le</strong> 8 positions voisines, soit 16 segments distincts.</li><li>Pour &#xE9;viter les oscillations et <em>coller</em> &#xE0; l'algorithme s&#xE9;quentiel, on distingue les n&#x153;uds d'indices pairs et impairs.</li><li>On &#xE9;value <strong>en parall&#xE8;le</strong> l'ensemble des d&#xE9;placements &#xE9;ventuels de tous les n&#x153;uds de m&#xEA;me parit&#xE9;.</li></ul></div></div><div class="step" step="14" data-x="22400" data-y="0"><h1 id="id13">SEGMENTATION</h1><h2 id="id14">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><ul><li>1 thread par pixel.</li><li>Concat&#xE9;nation dans un vecteur de tous les pixels composant l'ensemble des contours &#xE9;valu&#xE9;s.<ul><li>ex : 2x 256000 &#xE9;l&#xE9;ments &#xE0; l'&#xE9;tape 1 de l'image 100 MP.</li></ul></li><li>Sommes des contributions des pixels : op&#xE9;rations de <strong>r&#xE9;duction</strong>.<ul><li>op&#xE9;rations mal adapt&#xE9;es &#xE0; l'architecture  GPU,</li><li>en m&#xE9;moire partag&#xE9;e : acc&#xE9;l&#xE9;ration par rapport au CPU.</li></ul></li></ul><div class="notes"><ul><li>les r&#xE9;duction consistent &#xE0; sommer, pour chaque segment les contributions partielles par bloc calcul&#xE9;es au 1</li></ul></div></div><div class="step" step="15" data-x="24000" data-y="0"><h1 id="id15">SEGMENTATION</h1><h2 id="id16">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p>Points positifs :</p><blockquote><ul><li>Conservation des donn&#xE9;es en m&#xE9;moire GPU.</li><li>Images cumul&#xE9;es (pr&#xE9;-calculs) effectu&#xE9;es en parall&#xE8;le.</li><li>Discr&#xE9;tisation des segments en parall&#xE8;le (1 thread/pixel).</li><li>Respect de l'algorithme original.</li></ul></blockquote><p>Points n&#xE9;gatifs :</p><blockquote><ul><li>Trop peu de calculs &#xE0; effectuer.</li><li>Segments de tailles et orientations variables :<ul><li>motifs d'acc&#xE8;s &#xE0; la m&#xE9;moire globale irr&#xE9;guliers,</li><li>nombreux threads inactifs.</li></ul></li></ul></blockquote><div class="notes"><ul><li>Un seul entier est &#xE9;chang&#xE9; entre le CPU et le GPU &#xE0; chaque it&#xE9;ration.</li><li>image cumul&#xE9;es par une adaptation de la m&#xE9;thode des sommes de pr&#xE9;fixes.</li><li>Abandon  Bresenham Possible car parcours unidirectionnel du contour.</li><li>Trop peu de calculs ne permet pas de masquer les latences.</li><li>Pas de coalescence possible dans les acc&#xE8;s &#xE0; la m&#xE9;moire globale car la g&#xE9;om&#xE9;trie des segments varie.</li><li>m&#xE9;moire partag&#xE9;e &#xE0; cause des r&#xE9;ductions.</li></ul></div></div><div class="step" step="16" data-x="25600" data-y="0"><h1 id="id17">SEGMENTATION</h1><h2 id="id18">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Performances de l'impl&#xE9;mentation</strong></p><img src="img/perfs-snake.png" alt="" width="600px" height=""></img><img src="img/perfs-snake-img.png" alt="" width="400px" height=""></img></div><div class="step" step="17" data-x="27200" data-y="0"><h1 id="id19">SEGMENTATION</h1><h2 id="id20">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Conclusion</strong></p><ul><li>Premi&#xE8;re et seule impl&#xE9;mentation connue &#xE0; ce jour.</li><li>Performances int&#xE9;ressantes pour les grandes images.</li><li>Image 10000x10000 en moins de 0,6 seconde.</li><li>Emploi non optimal du GPU : r&#xE9;ductions, irr&#xE9;gularit&#xE9;s.</li><li>Temps de calcul tr&#xE8;s d&#xE9;pendant du contenu de l'image.</li><li>Proposition d'une m&#xE9;thode d'initialisation alternative :<blockquote><ul><li>Recherche du contour rectangle le plus vraisemblable.</li><li>Acc&#xE9;l&#xE9;ration jusqu'&#xE0; x15 avec de petites cibles.</li></ul></blockquote></li></ul><p><strong>Publication</strong></p><blockquote><ul><li><em>G. Perrot, S. Domas, R. Couturier, and N. Bertaux</em>. <strong>Gpu implementation of a region based algorithm for large images segmentation.</strong> <em>In Computer and Information Technology (CIT), 2011 IEEE 11th International Conference on, pages 291&#x2013;298.</em></li></ul></blockquote></div><div class="step" step="18" data-x="28800" data-y="0"><h1 id="le-filtrage-des-images">LE FILTRAGE DES IMAGES</h1><blockquote><ul><li>Filtre m&#xE9;dian,</li><li>Filtres de convolution,</li><li>Filtre par recherche des lignes de niveaux.</li></ul></blockquote></div><div class="step" step="19" data-x="30400" data-y="0"><h1 id="id21">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-principe">Filtre m&#xE9;dian : principe</h2><img src="img/median-principe.png" alt="" width="600px" height=""></img><p>La valeur de sortie d'un pixel est la <strong>m&#xE9;diane</strong> des valeurs de son voisinage.</p><ul><li>Bonne r&#xE9;duction du bruit <em>poivre &amp; sel</em>.</li><li>Assez bonne pr&#xE9;servation des contours.</li><li>Usages fr&#xE9;quents avec des petites fen&#xEA;tres (de 3x3 &#xE0; 7x7).</li><li>Quelques applications avec de grandes fen&#xEA;tres.</li><li>Op&#xE9;ration de s&#xE9;lection co&#xFB;teuse (tri).</li></ul></div><div class="step" step="20" data-x="32000" data-y="0"><h1 id="id22">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-exemple">Filtre m&#xE9;dian : exemple</h2><table cellpadding="0" cellspacing="0"><thead><tr><th><img src="img/airplane_sap25.png" alt="" width="" height=""></img></th><th><img src="img/airplane_sap25_med5.png" alt="" width="" height=""></img></th></tr></thead><tbody><tr><td><p>Bruit <em>poivre &amp; sel</em> 25%</p></td><td><p>M&#xE9;dian 5x5</p></td></tr></tbody></table></div><div class="step" step="21" data-x="33600" data-y="0"><h1 id="id23">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-median-gpu-travaux-de-reference">Filtre m&#xE9;dian GPU : travaux de r&#xE9;f&#xE9;rence</h2><p>Comparaison des impl&#xE9;mentations GPU de r&#xE9;f&#xE9;rence :</p><blockquote><ul><li><strong>PCMF</strong>, Sanchez <em>et al.</em> (2013), d&#xE9;bit max. <strong>80 MP/s</strong>,</li><li><strong>ArrayFire</strong>, commerciale (2013), d&#xE9;bit max. <strong>185 MP/s</strong>,</li><li><strong>BVM</strong> parall&#xE9;lis&#xE9; par Chen <em>et al.</em> (2009), d&#xE9;bit max. <strong>110 MP/s</strong>.</li></ul></blockquote><img src="img/compar-median2.png" alt="" width="500px" height=""></img><div class="notes"><ul><li>PCMF : Parallel (Complementary Cumulative Derivative Function) Median Filter (histogrammes cumulatifs)</li><li>CTMF : CPU &#xE0; temps constant</li></ul></div></div><div class="step" step="22" data-x="35200" data-y="0"><h1 id="id24">LE FILTRAGE DES IMAGES</h1><h2 id="id25">Filtre m&#xE9;dian GPU : Travaux de r&#xE9;f&#xE9;rence</h2><p>Emploi de la <strong>m&#xE9;moire partag&#xE9;e</strong> (exemple m&#xE9;dian 5x5)</p><table cellpadding="0" cellspacing="0"><tbody><tr><td><img src="img/shmem.png" alt="" width="" height=""></img></td><td><img src="img/carreB.png" alt="" width="" height=""></img></td><td><img src="img/halo.png" alt="" width="" height=""></img></td></tr></tbody></table><div class="notes"><ul><li>recouvrement pose probl&#xE8;me &#xE0; cause acc&#xE8;s concurrents &#xE0; la m&#xE9;moire partag&#xE9;e.</li></ul></div></div><div class="step" step="23" data-x="36800" data-y="0"><h1 id="id26">LE FILTRAGE DES IMAGES</h1><h2 id="optimisation-du-filtre-median-gpu">Optimisation du filtre m&#xE9;dian GPU</h2><img src="img/CPU-GPU-memcpy.png" alt="" width="650px" height=""></img><img src="img/transferts-mem.png" alt="" width="" height="300px"></img><div class="notes"><p>On gagne de 13 &#xE0; 43 % sur les temps de transfert.</p></div></div><div class="step" step="24" data-x="38400" data-y="0"><h1 id="id27">LE FILTRAGE DES IMAGES</h1><h2 id="id28">Optimisation du filtre m&#xE9;dian GPU</h2><img src="img/CPU-GPU-memcpy-dummykernel.png" alt="" width="750px" height=""></img><p>D&#xE9;bits maximums effectifs, en MP/s, sur C2070.</p><blockquote><img src="img/debit-max-2070.png" alt="" width="300px" height=""></img></blockquote><p><strong>Rappel :</strong> PCMF : 80 MP/s - BVM : 110 MP/s - ArrayFire : 185 MP/s</p><div class="notes"><p>&#xE7;a laisse environ 80ms pour faire un tri de 9 valeurs sur une image de 4096x4096</p></div></div><div class="step" step="25" data-x="40000" data-y="0"><h1 id="id29">LE FILTRAGE DES IMAGES</h1><h2 id="id30">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>S&#xE9;lection de la m&#xE9;diane</strong></p><blockquote><ul><li>Emploi exclusif des <strong>registres</strong> pour charger les valeurs utiles<blockquote><ul><li>m&#xE9;moires individuelles au c&#x153;ur du GPU,</li><li>non indexables dans un tableau.</li><li>maximum de 63 registres par thread et 32 K par bloc de threads.</li></ul></blockquote></li><li>Pour les petites tailles : max. 7x7 avec 1 pixel/thread.</li><li>Exploitation des recouvrements entre fen&#xEA;tres voisines.</li></ul></blockquote></div><div class="step" step="26" data-x="41600" data-y="0"><h1 id="id31">LE FILTRAGE DES IMAGES</h1><h2 id="id32">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>S&#xE9;lection de la m&#xE9;diane</strong> (par oubli)</p><table cellpadding="0" cellspacing="0" class="columns"><tbody><tr><td><p>Avantages :</p><ul><li>&#xC9;vite le tri complet : performances en hausse,</li><li>&#xC9;conomie de registres : \(\lceil \frac{n}{2}\rceil +1\) au lieu de \(n\),</li><li>Permet de plus grandes tailles : max 11x11.</li></ul></td><td><img src="img/forgetful_selection.png" alt="" width="" height="500px"></img></td></tr></tbody></table></div><div class="step" step="27" data-x="43200" data-y="0"><h1 id="id33">LE FILTRAGE DES IMAGES</h1><h2 id="id34">Optimisation du filtre m&#xE9;dian GPU</h2><p><strong>Exploitation des recouvrements</strong> : 2 pixels par thread (m&#xE9;dian 5x5).</p><img src="img/recouvrement5.png" alt="" width="800px" height=""></img><ul><li><strong>7+2x5 = 17</strong> &#xE9;tapes de s&#xE9;lection au lieu de <strong>2x12 = 24</strong>.</li><li>Les plus co&#xFB;teuses sont communes.</li><li>&#xC0; 4 pixels/thread, zone commune = 10 pixels &lt; 14.</li></ul><div class="notes"><ul><li>chaque thread utilise plus de registres</li><li>mais sur un bloc, en adaptant la taille du bloc, on &#xE9;conomise k+1 registres par paire de pixels.</li></ul></div></div><div class="step" step="28" data-x="44800" data-y="0"><h1 id="id35">LE FILTRAGE DES IMAGES</h1><h2 id="performances-du-median-gpu-propose-prmf">Performances du m&#xE9;dian GPU propos&#xE9; (PRMF)</h2><img src="img/perf-median.png" alt="" width="650px" height=""></img><p><strong>Rappels :</strong></p><blockquote><ul><li>d&#xE9;bit cr&#xEA;te de la plateforme = 2444 MP/s.</li><li>d&#xE9;bit maximum des impl&#xE9;mentations de r&#xE9;f&#xE9;rence = 185 MP/s.</li></ul></blockquote></div><div class="step" step="29" data-x="46400" data-y="0"><h1 id="id36">LE FILTRAGE DES IMAGES</h1><h2 id="performances-du-filtre-median-gpu-propose-prmf">Performances du filtre m&#xE9;dian GPU propos&#xE9; (PRMF)</h2><p>Image 512x512</p><blockquote><img src="img/comp512.png" alt="" width="" height="200px"></img></blockquote><p>Image 4096x4096</p><blockquote><img src="img/comp4k.png" alt="" width="" height="200px"></img></blockquote><div class="notes"><ul><li>d&#xE9;bit d&#xE9;croit lin&#xE9;airement en fonction de <strong>n</strong></li></ul></div></div><div class="step" step="30" data-x="48000" data-y="0"><h1 id="id37">LE FILTRAGE DES IMAGES</h1><h2 id="le-filtre-median-gpu">Le filtre m&#xE9;dian GPU</h2><p><strong>Conclusion</strong></p><blockquote><ul><li>Pas d'utilisation de la m&#xE9;moire partag&#xE9;e.</li><li>Acc&#xE8;s optimaux : 1 lecture par pixel.</li><li>D&#xE9;bit global am&#xE9;lior&#xE9; de <strong>x7</strong> &#xE0; <strong>x10</strong>, proche du maximum.</li><li>D&#xE9;bit de calcul max. <strong>5,3 GP/s</strong>.</li><li>M&#xE9;dian jusqu'au 11x11 sur C2070, 21x21 sur K40.</li><li>Cr&#xE9;ation d'une application web g&#xE9;n&#xE9;rant les codes sources.</li><li>Utilis&#xE9; sur images de cristallographie au synchrotron SPring-8.</li></ul></blockquote><p><strong>Publications</strong></p><blockquote><ul><li><em>Gilles Perrot. Image processing. In</em> <strong>Designing Scientific Applications on GPUs</strong>, <em>pages 28-70. CRC Press, 2013.</em></li><li><em>Gilles Perrot, St&#xE9;phane Domas, and Rapha&#xEB;l Couturier.</em> <strong>Fine-tuned high-speed implementation of a gpu-based median filter.</strong> <em>Journal of Signal Processing Systems, pages 1&#x2013;6, 2013.</em></li></ul></blockquote></div><div class="step" step="31" data-x="49600" data-y="0"><h1 id="id38">LE FILTRAGE DES IMAGES</h1><h2 id="les-filtres-de-convolution">Les filtres de convolution</h2><p><strong>Principe</strong></p><blockquote>$$I_{out}(x, y) = \left(I_{in} * h\right) = \sum_{(i &lt; H)} \sum_{(j &lt; L)}I_{in}(x-j, y-i)h(j,i)$$</blockquote><p><strong>Selon les valeurs du masque h</strong></p><blockquote><ul><li>R&#xE9;duction de bruit, d&#xE9;tection de bords,...</li><li>Potentiellement <strong>s&#xE9;parable</strong> en deux convolutions 1D.</li></ul></blockquote></div><div class="step" step="32" data-x="51200" data-y="0"><h1 id="id39">LE FILTRAGE DES IMAGES</h1><h2 id="les-filtres-de-convolution-gpu">Les filtres de convolution GPU</h2><p>Extension des m&#xE9;thodes appliqu&#xE9;es au filtre m&#xE9;dian :</p><blockquote><ul><li>Un seul acc&#xE8;s m&#xE9;moire par pixel.</li><li>M&#xE9;morisation et calculs en registre.</li><li>Optimum &#xE0; 8 pixels/thread.</li></ul></blockquote><p>Impl&#xE9;mentations de r&#xE9;f&#xE9;rence (C2070) :</p><blockquote><ul><li>Nvidia atteint un d&#xE9;bit de calcul maximum de <strong>6,00 GP/s</strong>.</li></ul></blockquote></div><div class="step" step="33" data-x="52800" data-y="0"><h1 id="id40">LE FILTRAGE DES IMAGES</h1><h2 id="id41">Les filtres de convolution GPU</h2><p><strong>R&#xE9;sultats</strong></p><blockquote><ul><li>Am&#xE9;lioration sensible des d&#xE9;bits de calcul en 2D : 16 &#xE0; 35 %.</li><li>D&#xE9;bit de la convolution 1D horizontale jusqu'&#xE0; 54% plus &#xE9;lev&#xE9;.</li><li>D&#xE9;bit maximum de <strong>8,54 GP/s</strong>.</li><li>Application &#xE0; d'autres familles de signaux 1D (audio,...).</li></ul></blockquote></div><div class="step" step="34" data-x="54400" data-y="0"><h1 id="id42">LE FILTRAGE DES IMAGES</h1><h2 id="filtre-par-recherche-des-lignes-de-niveaux">Filtre par recherche des lignes de niveaux</h2><p><strong>Motivations :</strong></p><blockquote><ul><li>Les algorithmes qui d&#xE9;bruitent le mieux sont lents (BM3D).</li><li>Les images naturelles sont d&#xE9;composables en un ensemble de lignes de niveaux ( iso-niveau de gris ).</li><li>Concevoir un algorithme GPU original et son impl&#xE9;mentation.</li></ul></blockquote></div><div class="step" step="35" data-x="56000" data-y="0"><h1 id="id43">LE FILTRAGE DES IMAGES</h1><h2 id="id44">Filtre par recherche des lignes de niveaux</h2><p><strong>Principe - mod&#xE8;le</strong></p><blockquote><ul><li>Estimation locale, par maximum de vraisemblance.</li><li>R&#xE9;duction de bruit par moyennage le long de la ligne estim&#xE9;e.</li><li>Mod&#xE8;le de ligne de niveaux retenu : <strong>isoline</strong><blockquote><p>= ligne bris&#xE9;e compos&#xE9;e de <strong>segments</strong>.</p></blockquote></li><li>Segments choisis parmi 32 motifs pr&#xE9;-calcul&#xE9;s.</li><li>Les 8 premiers motifs pour des segments de 6 pixels :<img src="img/P5Q1.png" alt="" width="450px" height=""></img></li></ul></blockquote></div><div class="step" step="36" data-x="57600" data-y="0"><h1 id="id45">LE FILTRAGE DES IMAGES</h1><h2 id="id46">Filtre par recherche des lignes de niveaux</h2><p><strong>&#xC9;tape 1</strong> (1 pixel/thread)</p><blockquote><ul><li>En chaque pixel, recherche du motif maximisant la log-vraisemblance ( exemple \(n=6\))</li></ul>$$-\frac{n}{2}log\left(2\pi\right) - \frac{n}{2}log\left(\sigma^2\right) - \frac{n}{2}$$<img src="img/lniv-mv.png" alt="" width="400px" height=""></img><ul><li>M&#xE9;morisation des param&#xE8;tres du motif s&#xE9;lectionn&#xE9; dans deux matrices \(I_{\Theta}\) (indice) et \(I_{\Sigma}\) (moyenne, variance).</li></ul></blockquote></div><div class="step" step="37" data-x="59200" data-y="0"><h1 id="id47">LE FILTRAGE DES IMAGES</h1><h2 id="id48">Filtre par recherche des lignes de niveaux</h2><p><strong>&#xC9;tape 2</strong> (1 pixel/thread)</p><blockquote><ul><li>Isoline valid&#xE9;e de \(n_{prec}\) pixels.</li><li>Segment candidat de \(n_s\) pixels.</li><li>Allongement de l'isoline sous condition GLRT ?</li></ul>$$GLRT=T-\scriptstyle (n_{prec}+n_s)\left[log\left(\widehat{\sigma_{prec+s}}^2\right) - log\left(\widehat{\sigma_{prec}}^2\right) - log\left(\widehat{\sigma_{s}}^2\right) \right]$$<img src="img/pipd-extension.png" alt="" width="500px" height=""></img></blockquote></div><div class="step" step="38" data-x="60800" data-y="0"><h1 id="id49">LE FILTRAGE DES IMAGES</h1><h2 id="id50">Filtre par recherche des lignes de niveaux</h2><p><strong>&#xC9;tape 3</strong> (optionnelle)</p><blockquote><p>Compensation de la non robustesse de s&#xE9;lection des motifs dans les zones homog&#xE8;nes.</p><blockquote><ul><li>Conception d'un d&#xE9;tecteur de zones homog&#xE8;nes.</li><li>Identification des zones homog&#xE8;nes avec ce d&#xE9;tecteur.</li><li>Application d'un filtre moyenneur dans les zones identifi&#xE9;es comme homog&#xE8;nes (convolution).</li></ul></blockquote></blockquote><div class="notes"><ul><li>Sous-ensembles de pixels n'ayant pas d'intersection --&gt; MV</li><li>Utilisation des motifs des segments pour gain de temps.</li></ul></div></div><div class="step" step="39" data-x="62400" data-y="0"><h1 id="id51">LE FILTRAGE DES IMAGES</h1><h2 id="id52">Filtre par recherche des lignes de niveaux</h2><p><strong>R&#xE9;sultats</strong></p><blockquote><p>Ensemble d'images de S. Lansel (DenoiseLab, Universit&#xE9; Stanford), filtre propos&#xE9; (PI-PD)</p><ul><li>Am&#xE9;lioration moyenne du rapport Signal sur bruit: <strong>+7,1 dB</strong>,</li><li>Indice de similarit&#xE9; structurelle : <strong>+30%</strong>,</li><li>Temps de calcul (C2070, <strong>avec</strong> d&#xE9;tecteur) : <strong>7 ms</strong>.</li></ul><p>Algorithme de r&#xE9;f&#xE9;rence BM3D</p><ul><li>Am&#xE9;lioration moyenne du rapport Signal sur bruit: <strong>+9,5 dB</strong>,</li><li>Indice de similarit&#xE9; structurelle : <strong>+36%</strong>,</li><li>Temps de calcul : <strong>4300 ms</strong>.</li></ul></blockquote><div class="notes"><ul><li>2,4 dB d'&#xE9;cart, soit r&#xE9;duction de 43% de la puissance de bruit</li></ul></div></div><div class="step" step="40" data-x="64000" data-y="0"><h1 id="id53">LE FILTRAGE DES IMAGES</h1><h2 id="id54">Filtre par recherche des lignes de niveaux</h2><table cellpadding="0" cellspacing="0"><tbody><tr><td><img src="img/zoom_noisy.png" alt="" width="" height=""></img></td><td></td><td><img src="img/zoom_mean5.png" alt="" width="" height=""></img></td></tr><tr><td><p>Bruit gaussien \(\sigma=25\)</p></td><td></td><td><p>Moyennage 5x5</p></td></tr><tr><td><img src="img/zoom_pipdh.png" alt="" width="" height=""></img></td><td></td><td><img src="img/zoom_bm3d.png" alt="" width="" height=""></img></td></tr><tr><td><p>PI-PD</p></td><td></td><td><p>BM3D</p></td></tr></tbody></table></div><div class="step" step="41" data-x="65600" data-y="0"><h1 id="id55">LE FILTRAGE DES IMAGES</h1><h2 id="id56">Filtre par recherche des lignes de niveaux</h2><p><strong>Synth&#xE8;se - conclusion</strong></p><blockquote><ul><li>Rapport qualit&#xE9;/temps &#xE9;lev&#xE9;.</li><li>Traitement d'images HD &#xE0; 20 fps.</li><li>Artefacts en marche d'escalier.</li><li>Parall&#xE9;lisation de la m&#xE9;thode de Buades <em>et al.</em> (2006) :<blockquote><ul><li>gain +1 dB en +0,2 ms pour 512x512.</li></ul></blockquote></li><li>Algorithme d&#xE9;di&#xE9; GPU, sans impl&#xE9;mentation s&#xE9;quentielle de r&#xE9;f&#xE9;rence.</li></ul></blockquote><p><strong>Publication</strong></p><blockquote><ul><li><em>Gilles Perrot, St&#xE9;phane Domas, Rapha&#xEB;l Couturier, and Nicolas Bertaux.</em> <strong>Fast gpu-based denoising filter using isoline levels.</strong> <em>Journal of Real-Time Image Processing, pages 1&#x2013;12, 2013.</em></li></ul></blockquote></div><div class="step" step="42" data-x="67200" data-y="0"><h1 id="conclusion-generale">CONCLUSION G&#xC9;N&#xC9;RALE</h1><ul><li>Trois types de conception mis en &#x153;uvre :<blockquote><ul><li>Parall&#xE9;lisation GPU d'une impl&#xE9;mentation CPU (<em>snake</em>).</li><li>Impl&#xE9;mentations optimis&#xE9;es pour GPU d'op&#xE9;rateurs math&#xE9;matiques (m&#xE9;dian, convolution).</li><li>Algorithme d&#xE9;di&#xE9; GPU et son impl&#xE9;mentation (isolines).</li></ul></blockquote></li><li>Le portage <strong>efficace</strong> d'algorithme sur GPU s'av&#xE8;re tr&#xE8;s complexe.</li><li>Certains algorithmes ne se pr&#xEA;tent pas &#xE0; la parall&#xE9;lisation GPU.</li><li>L'emploi de la m&#xE9;moire partag&#xE9;e n'apporte pas les meilleures performances en cas de recouvrements.</li><li>Filtrage &#xE0; des d&#xE9;bits in&#xE9;gal&#xE9;s, proches des performances cr&#xEA;te.</li><li>Filtres utilisables par tout programmeur gr&#xE2;ce au g&#xE9;n&#xE9;rateur de code.</li></ul></div><div class="step" step="43" data-x="68800" data-y="0"><h1 id="perspectives">PERSPECTIVES</h1><blockquote><ul><li>Extension des filtres aux images couleurs et autres types de bruits (multiplicatif).</li><li>Extension aux pseudo-m&#xE9;dians de grandes tailles (microscopie).</li><li>Beaucoup de traitements et domaines peuvent b&#xE9;n&#xE9;ficier des techniques propos&#xE9;es (audio, imagerie 3D, BM3D).</li><li>Les &#xE9;volutions de l'architecture laissent entrevoir de nouvelles possibilit&#xE9;s (parall&#xE9;lisme dynamique, kernels concurrents).</li></ul></blockquote><div class="notes"><ul><li>certaines ardeurs ont &#xE9;t&#xE9; refroidies</li></ul></div></div><div class="step" step="44" data-x="70400" data-y="0"><h1 id="annexe-1">ANNEXE 1</h1><h2 id="id57">Parall&#xE9;lisation du <em>Snake</em> polygonal sur GPU</h2><p><strong>Structure des donn&#xE9;es</strong> (n&#x153;uds pairs)</p><img src="img/16segments.png" alt="" width="800px" height=""></img><div class="notes"><ul><li>r&#xE8;gle 1 thread par pixel</li></ul></div></div><div class="step" step="45" data-x="72000" data-y="0"><h1 id="annexe-2-median">ANNEXE 2 (m&#xE9;dian)</h1><h2 id="image-cristallographie-spring-8">Image cristallographie SPring-8</h2><img src="img/spring82.png" alt="" width="400px" height=""></img></div><div class="step" step="46" data-x="73600" data-y="0"><h1 id="annexe-3-lniv">ANNEXE 3 (lniv)</h1><h2 id="detecteur-de-bords">D&#xE9;tecteur de bords</h2><blockquote><img src="img/detecteur.png" alt="" width="400px" height=""></img></blockquote></div></div><div id="hovercraft-help"><table><tr><th>Space</th><td>Forward</td></tr><tr><th>Left, Down, Page Down</th><td>Next slide</td></tr><tr><th>Right, Up, Page Up</th><td>Previous slide</td></tr><tr><th>P</th><td>Open presenter console</td></tr><tr><th>H</th><td>Toggle this help</td></tr></table></div><script type="text/javascript" src="js/impress.js"></script><script type="text/javascript" src="js/impressConsole.js"></script><script type="text/javascript" src="js/hovercraft.js"></script></body></html>
\ No newline at end of file
diff --git a/p1.pdf b/p1.pdf
new file mode 100644 (file)
index 0000000..45d27ac
Binary files /dev/null and b/p1.pdf differ
diff --git a/p10.pdf b/p10.pdf
new file mode 100644 (file)
index 0000000..4a055d9
Binary files /dev/null and b/p10.pdf differ
diff --git a/p11.pdf b/p11.pdf
new file mode 100644 (file)
index 0000000..0c695ae
Binary files /dev/null and b/p11.pdf differ
diff --git a/p12.pdf b/p12.pdf
new file mode 100644 (file)
index 0000000..4459eba
Binary files /dev/null and b/p12.pdf differ
diff --git a/p13.pdf b/p13.pdf
new file mode 100644 (file)
index 0000000..9edc8e6
Binary files /dev/null and b/p13.pdf differ
diff --git a/p14.pdf b/p14.pdf
new file mode 100644 (file)
index 0000000..75995d5
Binary files /dev/null and b/p14.pdf differ
diff --git a/p15.pdf b/p15.pdf
new file mode 100644 (file)
index 0000000..746509f
Binary files /dev/null and b/p15.pdf differ
diff --git a/p16.pdf b/p16.pdf
new file mode 100644 (file)
index 0000000..3230c87
Binary files /dev/null and b/p16.pdf differ
diff --git a/p17.pdf b/p17.pdf
new file mode 100644 (file)
index 0000000..e651d01
Binary files /dev/null and b/p17.pdf differ
diff --git a/p18.pdf b/p18.pdf
new file mode 100644 (file)
index 0000000..4442fe2
Binary files /dev/null and b/p18.pdf differ
diff --git a/p19.pdf b/p19.pdf
new file mode 100644 (file)
index 0000000..2bedc93
Binary files /dev/null and b/p19.pdf differ
diff --git a/p2.pdf b/p2.pdf
new file mode 100644 (file)
index 0000000..69e2869
Binary files /dev/null and b/p2.pdf differ
diff --git a/p20.pdf b/p20.pdf
new file mode 100644 (file)
index 0000000..aa512c1
Binary files /dev/null and b/p20.pdf differ
diff --git a/p21.pdf b/p21.pdf
new file mode 100644 (file)
index 0000000..412c972
Binary files /dev/null and b/p21.pdf differ
diff --git a/p22.pdf b/p22.pdf
new file mode 100644 (file)
index 0000000..efbed9d
Binary files /dev/null and b/p22.pdf differ
diff --git a/p23.pdf b/p23.pdf
new file mode 100644 (file)
index 0000000..82eac68
Binary files /dev/null and b/p23.pdf differ
diff --git a/p24.pdf b/p24.pdf
new file mode 100644 (file)
index 0000000..6a7df6a
Binary files /dev/null and b/p24.pdf differ
diff --git a/p25.pdf b/p25.pdf
new file mode 100644 (file)
index 0000000..58b0afc
Binary files /dev/null and b/p25.pdf differ
diff --git a/p26.pdf b/p26.pdf
new file mode 100644 (file)
index 0000000..aa67870
Binary files /dev/null and b/p26.pdf differ
diff --git a/p27.pdf b/p27.pdf
new file mode 100644 (file)
index 0000000..b1f8e32
Binary files /dev/null and b/p27.pdf differ
diff --git a/p28.pdf b/p28.pdf
new file mode 100644 (file)
index 0000000..1f0b36c
Binary files /dev/null and b/p28.pdf differ
diff --git a/p29.pdf b/p29.pdf
new file mode 100644 (file)
index 0000000..d417f8c
Binary files /dev/null and b/p29.pdf differ
diff --git a/p3.pdf b/p3.pdf
new file mode 100644 (file)
index 0000000..5a08088
Binary files /dev/null and b/p3.pdf differ
diff --git a/p30.pdf b/p30.pdf
new file mode 100644 (file)
index 0000000..9732260
Binary files /dev/null and b/p30.pdf differ
diff --git a/p31.pdf b/p31.pdf
new file mode 100644 (file)
index 0000000..a2da435
Binary files /dev/null and b/p31.pdf differ
diff --git a/p32.pdf b/p32.pdf
new file mode 100644 (file)
index 0000000..1f0f52d
Binary files /dev/null and b/p32.pdf differ
diff --git a/p33.pdf b/p33.pdf
new file mode 100644 (file)
index 0000000..62a1f14
Binary files /dev/null and b/p33.pdf differ
diff --git a/p34.pdf b/p34.pdf
new file mode 100644 (file)
index 0000000..41e706e
Binary files /dev/null and b/p34.pdf differ
diff --git a/p35.pdf b/p35.pdf
new file mode 100644 (file)
index 0000000..ca80fa2
Binary files /dev/null and b/p35.pdf differ
diff --git a/p36.pdf b/p36.pdf
new file mode 100644 (file)
index 0000000..267ac0d
Binary files /dev/null and b/p36.pdf differ
diff --git a/p37.pdf b/p37.pdf
new file mode 100644 (file)
index 0000000..efc56dd
Binary files /dev/null and b/p37.pdf differ
diff --git a/p38.pdf b/p38.pdf
new file mode 100644 (file)
index 0000000..5099171
Binary files /dev/null and b/p38.pdf differ
diff --git a/p39.pdf b/p39.pdf
new file mode 100644 (file)
index 0000000..a77caac
Binary files /dev/null and b/p39.pdf differ
diff --git a/p4.pdf b/p4.pdf
new file mode 100644 (file)
index 0000000..8d053e8
Binary files /dev/null and b/p4.pdf differ
diff --git a/p40.pdf b/p40.pdf
new file mode 100644 (file)
index 0000000..b99f8b6
Binary files /dev/null and b/p40.pdf differ
diff --git a/p41.pdf b/p41.pdf
new file mode 100644 (file)
index 0000000..902bcd4
Binary files /dev/null and b/p41.pdf differ
diff --git a/p42.pdf b/p42.pdf
new file mode 100644 (file)
index 0000000..d8871be
Binary files /dev/null and b/p42.pdf differ
diff --git a/p43.pdf b/p43.pdf
new file mode 100644 (file)
index 0000000..8ce2344
Binary files /dev/null and b/p43.pdf differ
diff --git a/p44.pdf b/p44.pdf
new file mode 100644 (file)
index 0000000..8fd825c
Binary files /dev/null and b/p44.pdf differ
diff --git a/p45.pdf b/p45.pdf
new file mode 100644 (file)
index 0000000..e3f21fc
Binary files /dev/null and b/p45.pdf differ
diff --git a/p5.pdf b/p5.pdf
new file mode 100644 (file)
index 0000000..6956217
Binary files /dev/null and b/p5.pdf differ
diff --git a/p6.pdf b/p6.pdf
new file mode 100644 (file)
index 0000000..2da9268
Binary files /dev/null and b/p6.pdf differ
diff --git a/p7.pdf b/p7.pdf
new file mode 100644 (file)
index 0000000..10309f9
Binary files /dev/null and b/p7.pdf differ
diff --git a/p8.pdf b/p8.pdf
new file mode 100644 (file)
index 0000000..38e5be0
Binary files /dev/null and b/p8.pdf differ
diff --git a/p9.pdf b/p9.pdf
new file mode 100644 (file)
index 0000000..7ca179c
Binary files /dev/null and b/p9.pdf differ
diff --git a/presentation-pdf.pdf b/presentation-pdf.pdf
new file mode 100644 (file)
index 0000000..07ee5f1
Binary files /dev/null and b/presentation-pdf.pdf differ