]> AND Private Git Repository - these_gilles.git/blobdiff - THESE/these.lof
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
relecture vlad de 0 a 70
[these_gilles.git] / THESE / these.lof
index 424dc8c7ab82f0e602fff7aaf7b9d85f269a5cc6..4785d1b7bd528250663f0b4badb9ab41dae6a069 100644 (file)
@@ -5,96 +5,96 @@
 \contentsline {figure}{\numberline {2.2}{\ignorespaces Comparaison des performances des GPUs Nvidia et des CPU Intel (d'apr\IeC {\`e}s \cite {CUDAPG}).}}{14}{figure.2.2}
 \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Nombre maximum th\IeC {\'e}orique d'op\IeC {\'e}rations en virgule flottante par seconde en fonction de l'ann\IeC {\'e}e et de l'architecture.}}}{14}{figure.2.2}
 \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Bande passante th\IeC {\'e}orique maximale des diverses architectures.}}}{14}{figure.2.2}
-\contentsline {figure}{\numberline {2.3}{\ignorespaces Organisation des GPUs d'architecture Fermi, comme le C2070 (d'apr\IeC {\`e}s www.hpcresearch.nl).}}{15}{figure.2.3}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Organisation en groupes de SMs }}}{15}{figure.2.3}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Constitution d'un SM.}}}{15}{figure.2.3}
-\contentsline {figure}{\numberline {2.4}{\ignorespaces Repr\IeC {\'e}sentation d'une grille de calcul en 2D et des blocs de threads, \IeC {\`a} 2 dimensions, qui la composent.}}{16}{figure.2.4}
+\contentsline {figure}{\numberline {2.3}{\ignorespaces Organisation des GPUs d'architecture Fermi, comme le C2070 (d'apr\IeC {\`e}s www.hpcresearch.nl).}}{16}{figure.2.3}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Organisation en groupes de SMs }}}{16}{figure.2.3}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Constitution d'un SM.}}}{16}{figure.2.3}
+\contentsline {figure}{\numberline {2.4}{\ignorespaces Repr\IeC {\'e}sentation d'une grille de calcul en 2D et des blocs de threads, \IeC {\`a} 2 dimensions, qui la composent.}}{17}{figure.2.4}
 \addvspace {10\p@ }
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {4.1}{\ignorespaces Images 256$\times $256 en niveau de gris 8 bits utilis\IeC {\'e}es pour l'illustration des propri\IeC {\'e}t\IeC {\'e}s des filtres. a) l'image de r\IeC {\'e}f\IeC {\'e}rence non bruit\IeC {\'e}e. b) l'image corrompue par un bruit gaussien d'\IeC {\'e}cart type $\sigma =25$. c) l'image corrompue par un bruit impulsionnel \IeC {\`a} 25\%.}}{28}{figure.4.1}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Sans bruit}}}{28}{figure.4.1}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Bruit gaussien $\sigma =25$, PSNR=22.3~dB MSSIM=0.16}}}{28}{figure.4.1}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Bruit impulsionnel 25\%, PSNR=9.48~dB MSSIM=0.04}}}{28}{figure.4.1}
-\contentsline {figure}{\numberline {4.2}{\ignorespaces Filtrage par convolution.}}{29}{figure.4.2}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Moyenneur 3$\times $3, PSNR=27.6dB MSSIM=0.34}}}{29}{figure.4.2}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Moyenneur 5$\times $5, PSNR=27.7dB MSSIM=0.38}}}{29}{figure.4.2}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Filtre gaussien 3$\times $3, PSNR=27.4dB MSSIM=0.33}}}{29}{figure.4.2}
-\contentsline {figure}{\numberline {4.3}{\ignorespaces R\IeC {\'e}duction du bruit impulsionnel par filtre m\IeC {\'e}dian.}}{29}{figure.4.3}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 une passe, PSNR=26.4~dB MSSIM=0.90}}}{29}{figure.4.3}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 deux passes, PSNR=34.4~dB MSSIM=0.98}}}{29}{figure.4.3}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {M\IeC {\'e}dian 5$\times $5 une passe, PSNR=35.1~dB MSSIM=0.98}}}{29}{figure.4.3}
-\contentsline {figure}{\numberline {4.4}{\ignorespaces R\IeC {\'e}duction de bruit gaussien par filtrage bilat\IeC {\'e}ral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les \IeC {\'e}carts type des fonctions gaussiennes de pond\IeC {\'e}ration spatiale et d'intensit\IeC {\'e}.}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.1$, PSNR=25.6~dB MSSIM=0.25}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.5$, PSNR=28.0~dB MSSIM=0.36}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=1.0$, PSNR=27.9~dB MSSIM=0.36}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.1$, PSNR=26.7~dB MSSIM=0.29}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.5$, PSNR=27.9~dB MSSIM=0.39}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=1.0$, PSNR=27.5~dB MSSIM=0.38}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.1$, PSNR=26.8~dB MSSIM=0.29}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(h)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.5$, PSNR=26.8~dB MSSIM=0.37}}}{31}{figure.4.4}
-\contentsline {subfigure}{\numberline {(i)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=1.0$, PSNR=25.9~dB MSSIM=0.36}}}{31}{figure.4.4}
-\contentsline {figure}{\numberline {4.5}{\ignorespaces Filtrage par d\IeC {\'e}composition en ondelettes et seuillage dur des coefficients inf\IeC {\'e}rieurs au seuil $T$.}}{32}{figure.4.5}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$T=20$, PSNR=26.9~dB MSSIM=0.30}}}{32}{figure.4.5}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$T=35$, PSNR=27.6~dB MSSIM=0.36}}}{32}{figure.4.5}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$T=70$, PSNR=26.7~dB MSSIM=0.37}}}{32}{figure.4.5}
-\contentsline {figure}{\numberline {4.6}{\ignorespaces Filtrage par NL-means pour diff\IeC {\'e}rentes combinaisons des param\IeC {\`e}tres de similarit\IeC {\'e} $f$ et de non localit\IeC {\'e} $t$.}}{33}{figure.4.6}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$f=2$ et $t=2$, PSNR=28.5~dB MSSIM=0.37}}}{33}{figure.4.6}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$f=2$ et $t=5$, PSNR=28.6~dB MSSIM=0.38}}}{33}{figure.4.6}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$f=5$ et $t=2$, PSNR=29.0~dB MSSIM=0.39}}}{33}{figure.4.6}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$f=5$ et $t=5$, PSNR=29.0~dB MSSIM=0.40}}}{33}{figure.4.6}
-\contentsline {figure}{\numberline {4.7}{\ignorespaces Filtrage par BM3D, PSNR=29.3~dB MSSIM=0.41}}{33}{figure.4.7}
-\contentsline {figure}{\numberline {4.8}{\ignorespaces Performances relatives des filtres m\IeC {\'e}dians impl\IeC {\'e}ment\IeC {\'e}s sur GPU dans libJacket/ArrayFire, PCMF et BVM et ex\IeC {\'e}cut\IeC {\'e}s sur deux mod\IeC {\`e}les de g\IeC {\'e}n\IeC {\'e}rations diff\IeC {\'e}rentes.}}{34}{figure.4.8}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Sur GPU GTX260. Courbe tir\IeC {\'e}e de \cite {5402362}}}}{34}{figure.4.8}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Sur GPU C2075. Courbe tir\IeC {\'e}e de \cite {sanchez2013highly}}}}{34}{figure.4.8}
-\contentsline {figure}{\numberline {4.9}{\ignorespaces Illustration du pr\IeC {\'e}-chargement en m\IeC {\'e}moire partag\IeC {\'e}e mis en \oe uvre dans \cite {zheng2011performance} pour l'impl\IeC {\'e}mentation, entre autres, du filtre bilat\IeC {\'e}ral. a) en vert le bloc de threads associ\IeC {\'e} aux pixels centraux. b-e) les blocs de pixels successivement pr\IeC {\'e}-charg\IeC {\'e}s en m\IeC {\'e}moire partag\IeC {\'e}e. f) la configuration finale de la ROI en m\IeC {\'e}moire partag\IeC {\'e}e.}}{36}{figure.4.9}
+\contentsline {figure}{\numberline {4.1}{\ignorespaces Images 256$\times $256 en niveau de gris 8 bits utilis\IeC {\'e}es pour l'illustration des propri\IeC {\'e}t\IeC {\'e}s des filtres. (a) l'image de r\IeC {\'e}f\IeC {\'e}rence non bruit\IeC {\'e}e. (b) l'image corrompue par un bruit gaussien d'\IeC {\'e}cart type $\sigma =25$. (c) l'image corrompue par un bruit impulsionnel \IeC {\`a} 25\%.}}{30}{figure.4.1}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Sans bruit}}}{30}{figure.4.1}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Bruit gaussien $\sigma =25$, PSNR=22.3~dB MSSIM=0.16}}}{30}{figure.4.1}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Bruit impulsionnel 25\%, PSNR=9.48~dB MSSIM=0.04}}}{30}{figure.4.1}
+\contentsline {figure}{\numberline {4.2}{\ignorespaces Filtrage par convolution.}}{31}{figure.4.2}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Moyenneur 3$\times $3, PSNR=27.6dB MSSIM=0.34}}}{31}{figure.4.2}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Moyenneur 5$\times $5, PSNR=27.7dB MSSIM=0.38}}}{31}{figure.4.2}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Filtre gaussien 3$\times $3, PSNR=27.4dB MSSIM=0.33}}}{31}{figure.4.2}
+\contentsline {figure}{\numberline {4.3}{\ignorespaces R\IeC {\'e}duction du bruit impulsionnel par filtre m\IeC {\'e}dian.}}{31}{figure.4.3}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 une passe, PSNR=26.4~dB MSSIM=0.90}}}{31}{figure.4.3}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 deux passes, PSNR=34.4~dB MSSIM=0.98}}}{31}{figure.4.3}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {M\IeC {\'e}dian 5$\times $5 une passe, PSNR=35.1~dB MSSIM=0.98}}}{31}{figure.4.3}
+\contentsline {figure}{\numberline {4.4}{\ignorespaces R\IeC {\'e}duction de bruit gaussien par filtrage bilat\IeC {\'e}ral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les \IeC {\'e}carts type des fonctions gaussiennes de pond\IeC {\'e}ration spatiale et d'intensit\IeC {\'e}.}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.1$, PSNR=25.6~dB MSSIM=0.25}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.5$, PSNR=28.0~dB MSSIM=0.36}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=1.0$, PSNR=27.9~dB MSSIM=0.36}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.1$, PSNR=26.7~dB MSSIM=0.29}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.5$, PSNR=27.9~dB MSSIM=0.39}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=1.0$, PSNR=27.5~dB MSSIM=0.38}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(g)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.1$, PSNR=26.8~dB MSSIM=0.29}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(h)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.5$, PSNR=26.8~dB MSSIM=0.37}}}{33}{figure.4.4}
+\contentsline {subfigure}{\numberline {(i)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=1.0$, PSNR=25.9~dB MSSIM=0.36}}}{33}{figure.4.4}
+\contentsline {figure}{\numberline {4.5}{\ignorespaces Filtrage par d\IeC {\'e}composition en ondelettes et seuillage dur des coefficients inf\IeC {\'e}rieurs au seuil $T$.}}{34}{figure.4.5}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$T=20$, PSNR=26.9~dB MSSIM=0.30}}}{34}{figure.4.5}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$T=35$, PSNR=27.6~dB MSSIM=0.36}}}{34}{figure.4.5}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$T=70$, PSNR=26.7~dB MSSIM=0.37}}}{34}{figure.4.5}
+\contentsline {figure}{\numberline {4.6}{\ignorespaces Filtrage par NL-means pour diff\IeC {\'e}rentes combinaisons des param\IeC {\`e}tres de similarit\IeC {\'e} $f$ et de non localit\IeC {\'e} $t$.}}{35}{figure.4.6}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$f=2$ et $t=2$, PSNR=28.5~dB MSSIM=0.37}}}{35}{figure.4.6}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$f=2$ et $t=5$, PSNR=28.6~dB MSSIM=0.38}}}{35}{figure.4.6}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$f=5$ et $t=2$, PSNR=29.0~dB MSSIM=0.39}}}{35}{figure.4.6}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$f=5$ et $t=5$, PSNR=29.0~dB MSSIM=0.40}}}{35}{figure.4.6}
+\contentsline {figure}{\numberline {4.7}{\ignorespaces Filtrage par BM3D, PSNR=29.3~dB MSSIM=0.41}}{35}{figure.4.7}
+\contentsline {figure}{\numberline {4.8}{\ignorespaces Performances relatives des filtres m\IeC {\'e}dians impl\IeC {\'e}ment\IeC {\'e}s sur GPU dans libJacket/ArrayFire, PCMF et BVM et ex\IeC {\'e}cut\IeC {\'e}s sur deux mod\IeC {\`e}les de g\IeC {\'e}n\IeC {\'e}rations diff\IeC {\'e}rentes.}}{37}{figure.4.8}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Sur GPU GTX260. Courbe tir\IeC {\'e}e de \cite {5402362}}}}{37}{figure.4.8}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Sur GPU C2075. Courbe tir\IeC {\'e}e de \cite {sanchez2013highly}}}}{37}{figure.4.8}
+\contentsline {figure}{\numberline {4.9}{\ignorespaces Illustration du pr\IeC {\'e}-chargement en m\IeC {\'e}moire partag\IeC {\'e}e mis en \oe uvre dans \cite {zheng2011performance} pour l'impl\IeC {\'e}mentation, entre autres, du filtre bilat\IeC {\'e}ral. a) en vert le bloc de threads associ\IeC {\'e} aux pixels centraux. b-e) les blocs de pixels successivement pr\IeC {\'e}-charg\IeC {\'e}s en m\IeC {\'e}moire partag\IeC {\'e}e. f) la configuration finale de la ROI en m\IeC {\'e}moire partag\IeC {\'e}e.}}{38}{figure.4.9}
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {5.1}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{41}{figure.5.1}
-\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{41}{figure.5.1}
-\contentsline {figure}{\numberline {5.2}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{43}{figure.5.2}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{43}{figure.5.2}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{43}{figure.5.2}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{43}{figure.5.2}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{43}{figure.5.2}
-\contentsline {figure}{\numberline {5.3}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{44}{figure.5.3}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{44}{figure.5.3}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{44}{figure.5.3}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{44}{figure.5.3}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{44}{figure.5.3}
-\contentsline {figure}{\numberline {5.4}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{44}{figure.5.4}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{44}{figure.5.4}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{44}{figure.5.4}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{44}{figure.5.4}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{44}{figure.5.4}
-\contentsline {figure}{\numberline {5.5}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticit\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{46}{figure.5.5}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{46}{figure.5.5}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{46}{figure.5.5}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{46}{figure.5.5}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{46}{figure.5.5}
-\contentsline {figure}{\numberline {5.6}{\ignorespaces \IeC {\'E}volution du nombre de pixels actifs pour les it\IeC {\'e}rations successives de l'impl\IeC {\'e}mentation de l'algorithme push-relabel de \cite {graphcutscuda}. Les petites images montrent la localisation des pixels actifs apr\IeC {\`e}s chaque it\IeC {\'e}ration, en blanc.}}{49}{figure.5.6}
-\contentsline {figure}{\numberline {5.7}{\ignorespaces Segmentation d'une image couleur de 512$\times $512 pixels par l'impl\IeC {\'e}mentation GPU quick-shift de \cite {fulkerson2012really}.}}{51}{figure.5.7}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image originale}}}{51}{figure.5.7}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$\tau =10$ et $\sigma =2$}}}{51}{figure.5.7}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$\tau =10$ et $\sigma =10$}}}{51}{figure.5.7}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$\tau =20$ et $\sigma =10$}}}{51}{figure.5.7}
-\contentsline {figure}{\numberline {5.8}{\ignorespaces Comparaison des segmentations d'une image couleur de 2256$\times $3008 pixels r\IeC {\'e}alis\IeC {\'e}es par \textit {mean-shift} standard et par le \textit {mean-shift kd tree} de \cite {xiao2010efficient}.}}{51}{figure.5.8}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image originale}}}{51}{figure.5.8}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift standard}}}{51}{figure.5.8}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift kd-tree}}}{51}{figure.5.8}
-\contentsline {figure}{\numberline {5.9}{\ignorespaces Segmentation d'images issues d'examens IRM par la m\IeC {\'e}thode des level set \IeC {\`a} bande \IeC {\'e}troite.}}{53}{figure.5.9}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Cerveau 256$\times $256$\times $256 en 7~s}}}{53}{figure.5.9}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Reins et aorte, 256$\times $256$\times $272 en 16~s}}}{53}{figure.5.9}
-\contentsline {figure}{\numberline {5.10}{\ignorespaces Segmentation d'une image d'\IeC {\'e}paule en 1024$^2$ pixels issue d'un examen IRM par l'impl\IeC {\'e}mentation du snake GVF de \cite {snakegvf06}. Le contour est repr\IeC {\'e}sent\IeC {\'e} en rouge et le contour final est obtenu en 11~s. Le trac\IeC {\'e} initial du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{53}{figure.5.10}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour initial}}}{53}{figure.5.10}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final}}}{53}{figure.5.10}
-\contentsline {figure}{\numberline {5.11}{\ignorespaces Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite {martin2001database}}}{55}{figure.5.11}
+\contentsline {figure}{\numberline {5.1}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et la peluche (la cible)}}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{43}{figure.5.1}
+\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{43}{figure.5.1}
+\contentsline {figure}{\numberline {5.2}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{45}{figure.5.2}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$s = 2$}}}{45}{figure.5.2}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$s = 3$}}}{45}{figure.5.2}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$s = 4$}}}{45}{figure.5.2}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$s = 5$}}}{45}{figure.5.2}
+\contentsline {figure}{\numberline {5.3}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $K$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{46}{figure.5.3}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$K = 2$}}}{46}{figure.5.3}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$K = 3$}}}{46}{figure.5.3}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$K = 4$}}}{46}{figure.5.3}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$K = 5$}}}{46}{figure.5.3}
+\contentsline {figure}{\numberline {5.4}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $K$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{47}{figure.5.4}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$r=100 \Rightarrow K = 2$}}}{47}{figure.5.4}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$r=50 \Rightarrow K = 3$}}}{47}{figure.5.4}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$r=35 \Rightarrow K = 4$}}}{47}{figure.5.4}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$r=25 \Rightarrow K = 5$}}}{47}{figure.5.4}
+\contentsline {figure}{\numberline {5.5}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticit\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{48}{figure.5.5}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{48}{figure.5.5}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{48}{figure.5.5}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{48}{figure.5.5}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{48}{figure.5.5}
+\contentsline {figure}{\numberline {5.6}{\ignorespaces \IeC {\'E}volution du nombre de pixels actifs pour les it\IeC {\'e}rations successives de l'impl\IeC {\'e}mentation de l'algorithme push-relabel de \cite {graphcutscuda}. Les petites images montrent la localisation des pixels actifs apr\IeC {\`e}s chaque it\IeC {\'e}ration, en blanc.}}{51}{figure.5.6}
+\contentsline {figure}{\numberline {5.7}{\ignorespaces Segmentation d'une image couleur de 512$\times $512 pixels par l'impl\IeC {\'e}mentation GPU quick-shift de \cite {fulkerson2012really}.}}{53}{figure.5.7}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image originale}}}{53}{figure.5.7}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$\tau =10$ et $\sigma =2$}}}{53}{figure.5.7}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {$\tau =10$ et $\sigma =10$}}}{53}{figure.5.7}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {$\tau =20$ et $\sigma =10$}}}{53}{figure.5.7}
+\contentsline {figure}{\numberline {5.8}{\ignorespaces Comparaison des segmentations d'une image couleur de 2256$\times $3008 pixels r\IeC {\'e}alis\IeC {\'e}es par \textit {mean-shift} standard et par le \textit {mean-shift kd tree} de \cite {xiao2010efficient}.}}{53}{figure.5.8}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image originale}}}{53}{figure.5.8}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift standard}}}{53}{figure.5.8}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift kd-tree}}}{53}{figure.5.8}
+\contentsline {figure}{\numberline {5.9}{\ignorespaces Segmentation d'images issues d'examens IRM par la m\IeC {\'e}thode des level set \IeC {\`a} bande \IeC {\'e}troite.}}{55}{figure.5.9}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Cerveau 256$\times $256$\times $256 en 7~s}}}{55}{figure.5.9}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Reins et aorte, 256$\times $256$\times $272 en 16~s}}}{55}{figure.5.9}
+\contentsline {figure}{\numberline {5.10}{\ignorespaces Segmentation d'une image d'\IeC {\'e}paule en 1024$\times $1024 pixels issue d'un examen IRM par l'impl\IeC {\'e}mentation du snake GVF de \cite {snakegvf06}. Le contour est repr\IeC {\'e}sent\IeC {\'e} en rouge et son \IeC {\'e}tat final est obtenu en 11~s. Le trac\IeC {\'e} initial du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{55}{figure.5.10}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour initial}}}{55}{figure.5.10}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final}}}{55}{figure.5.10}
+\contentsline {figure}{\numberline {5.11}{\ignorespaces Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite {martin2001database}}}{57}{figure.5.11}
 \addvspace {10\p@ }
-\contentsline {figure}{\numberline {6.1}{\ignorespaces \IeC {\`A} gauche : d\IeC {\'e}termination des vecteurs $f_{in}$ et $f_{out}$. \IeC {\`A} droite : code de Freeman d'un vecteur en fonction de sa direction, l'origine \IeC {\'e}tant suppos\IeC {\'e}e au pixel central, en noir. }}{62}{figure.6.1}
-\contentsline {figure}{\numberline {6.2}{\ignorespaces \IeC {\'E}volution du contour lors de la segmentation d'une image de 512$^2$ pixels. La convergence est obtenue \IeC {\`a} l'it\IeC {\'e}ration 14 apr\IeC {\`e}s 44~ms pour un total de 256 n\oe uds.}}{66}{figure.6.2}
+\contentsline {figure}{\numberline {6.1}{\ignorespaces \IeC {\`A} gauche : d\IeC {\'e}termination des vecteurs $f_{in}$ et $f_{out}$. \IeC {\`A} droite : code de Freeman d'un vecteur en fonction de sa direction, l'origine \IeC {\'e}tant suppos\IeC {\'e}e au pixel central, en noir. }}{63}{figure.6.1}
+\contentsline {figure}{\numberline {6.2}{\ignorespaces \IeC {\'E}volution du contour lors de la segmentation d'une image de 512$\times $512 pixels. La convergence est obtenue \IeC {\`a} l'it\IeC {\'e}ration 14 apr\IeC {\`e}s 44~ms pour un total de 256 n\oe uds.}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Initialisation : 4 n\oe uds}}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {It\IeC {\'e}ration 1 : 8 n\oe uds 3~ms}}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(c)}{\ignorespaces {It\IeC {\'e}ration 2 : 16 n\oe uds 1~ms}}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(f)}{\ignorespaces {It\IeC {\'e}ration 10 : 244 n\oe uds 3~ms}}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(g)}{\ignorespaces {It\IeC {\'e}ration 13 : 256 n\oe uds 3~ms}}}{66}{figure.6.2}
 \contentsline {subfigure}{\numberline {(h)}{\ignorespaces {It\IeC {\'e}ration 14 : 256 n\oe uds 3~ms}}}{66}{figure.6.2}
-\contentsline {figure}{\numberline {6.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}.}}{66}{figure.6.3}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Initialisation 2 }}}{66}{figure.6.3}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{66}{figure.6.3}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{66}{figure.6.3}
-\contentsline {figure}{\numberline {6.4}{\ignorespaces Segmentation de l'image de test en 4000$\times $4000 pixels. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{67}{figure.6.4}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{67}{figure.6.4}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{67}{figure.6.4}
-\contentsline {figure}{\numberline {6.5}{\ignorespaces Segmentation de l'image de test en 4000$\times $4000 pixels avec une cible de petite taille. Le contour initial est la transcription de celui utilis\IeC {\'e} \IeC {\`a} la figure \ref {fig-snakecpu-cochon512}. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{67}{figure.6.5}
-\contentsline {figure}{\numberline {6.6}{\ignorespaces \IeC {\'E}volution du co\IeC {\^u}t relatif des trois fonctions les plus consommatrices en temps de calcul en fonction de la taille de l'image \IeC {\`a} traiter.}}{68}{figure.6.6}
-\contentsline {figure}{\numberline {6.7}{\ignorespaces Calcul des images cumul\IeC {\'e}es $S_x$ et $S_x^2$ en trois \IeC {\'e}tapes successives. a) cumul partiel bloc par bloc et m\IeC {\'e}morisation de la somme de chaque bloc. b) cumul sur le vecteur des sommes partielles. c) ajout des sommes partielles \IeC {\`a} chaque \IeC {\'e}l\IeC {\'e}ment des blocs cumul\IeC {\'e}s.}}{70}{figure.6.7}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {compute\_block\_prefixes()}. La valeur $bs$ correspond au nombre de pixels de chaque bloc, qui est aussi le nombre de threads ex\IeC {\'e}cut\IeC {\'e} par chaque bloc de la grille de calcul.}}}{70}{figure.6.7}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {scan\_blocksums()}.}}}{70}{figure.6.7}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {add\_sums2prefixes()}.}}}{70}{figure.6.7}
-\contentsline {figure}{\numberline {6.8}{\ignorespaces Structuration des donn\IeC {\'e}es en m\IeC {\'e}moire du GPU pour l'\IeC {\'e}valuation en parall\IeC {\`e}le de l'ensemble des \IeC {\'e}volutions possibles du contour.}}{72}{figure.6.8}
-\contentsline {figure}{\numberline {6.9}{\ignorespaces Comparaison des cycles de d\IeC {\'e}placement des n\oe uds. Ligne du haut : version s\IeC {\'e}quentielle. Ligne du bas : version parall\IeC {\`e}le. Les segments en rouge sont des segments du contour non \IeC {\'e}valu\IeC {\'e}s, alors que ceux en pointill\IeC {\'e}s sont les paires ayant re\IeC {\c c}u les meilleures \IeC {\'e}valuations parmi les 8 d\IeC {\'e}placements possibles des n\oe uds correspondant.}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_1$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_2$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le de tous les n\oe uds. Les segments du contour n'ont pas \IeC {\'e}t\IeC {\'e} valid\IeC {\'e}s. On doit recalculer le crit\IeC {\`e}re apr\IeC {\`e}s les d\IeC {\'e}placements pour savoir s'il a \IeC {\'e}t\IeC {\'e} am\IeC {\'e}lior\IeC {\'e}.}}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds impairs. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{73}{figure.6.9}
-\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds pairs. Un seul segment n'a pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}.}}}{73}{figure.6.9}
+\contentsline {figure}{\numberline {6.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}.}}{67}{figure.6.3}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Initialisation 2 }}}{67}{figure.6.3}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{67}{figure.6.3}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{67}{figure.6.3}
+\contentsline {figure}{\numberline {6.4}{\ignorespaces Segmentation de l'image de test en 4000$\times $4000 pixels. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{68}{figure.6.4}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{68}{figure.6.4}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{68}{figure.6.4}
+\contentsline {figure}{\numberline {6.5}{\ignorespaces Segmentation de l'image de test en 4000$\times $4000 pixels avec une cible de petite taille. Le contour initial est la transcription de celui utilis\IeC {\'e} \IeC {\`a} la figure \ref {fig-snakecpu-cochon512}. Le trac\IeC {\'e} du contour a \IeC {\'e}t\IeC {\'e} artificiellement \IeC {\'e}paissi pour le rendre visible \IeC {\`a} l'\IeC {\'e}chelle de l'impression.}}{68}{figure.6.5}
+\contentsline {figure}{\numberline {6.6}{\ignorespaces \IeC {\'E}volution du co\IeC {\^u}t relatif des trois fonctions les plus consommatrices en temps de calcul en fonction de la taille de l'image \IeC {\`a} traiter.}}{69}{figure.6.6}
+\contentsline {figure}{\numberline {6.7}{\ignorespaces Calcul des images cumul\IeC {\'e}es $S_I$ et $S_{I^2}$ en trois \IeC {\'e}tapes successives. a) cumul partiel bloc par bloc et m\IeC {\'e}morisation de la somme de chaque bloc. b) cumul sur le vecteur des sommes partielles. c) ajout des sommes partielles \IeC {\`a} chaque \IeC {\'e}l\IeC {\'e}ment des blocs cumul\IeC {\'e}s.}}{71}{figure.6.7}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {compute\_block\_prefixes()}. La valeur $bs$ correspond au nombre de pixels de chaque bloc, qui est aussi le nombre de threads ex\IeC {\'e}cut\IeC {\'e} par chaque bloc de la grille de calcul.}}}{71}{figure.6.7}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {scan\_blocksums()}.}}}{71}{figure.6.7}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}tail des op\IeC {\'e}rations effectu\IeC {\'e}es par le \textit {kernel} \texttt {add\_sums2prefixes()}.}}}{71}{figure.6.7}
+\contentsline {figure}{\numberline {6.8}{\ignorespaces Structuration des donn\IeC {\'e}es en m\IeC {\'e}moire du GPU pour l'\IeC {\'e}valuation en parall\IeC {\`e}le de l'ensemble des \IeC {\'e}volutions possibles du contour.}}{73}{figure.6.8}
+\contentsline {figure}{\numberline {6.9}{\ignorespaces Comparaison des cycles de d\IeC {\'e}placement des n\oe uds. Ligne du haut : version s\IeC {\'e}quentielle. Ligne du bas : version parall\IeC {\`e}le. Les segments en rouge sont des segments du contour non \IeC {\'e}valu\IeC {\'e}s, alors que ceux en pointill\IeC {\'e}s sont les paires ayant re\IeC {\c c}u les meilleures \IeC {\'e}valuations parmi les 8 d\IeC {\'e}placements possibles des n\oe uds correspondant.}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_1$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(c)}{\ignorespaces {D\IeC {\'e}placement du n\oe ud $N_2$. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(d)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le de tous les n\oe uds. Les segments du contour n'ont pas \IeC {\'e}t\IeC {\'e} valid\IeC {\'e}s. On doit recalculer le crit\IeC {\`e}re apr\IeC {\`e}s les d\IeC {\'e}placements pour savoir s'il a \IeC {\'e}t\IeC {\'e} am\IeC {\'e}lior\IeC {\'e}.}}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(e)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds impairs. Le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{74}{figure.6.9}
+\contentsline {subfigure}{\numberline {(f)}{\ignorespaces {D\IeC {\'e}placement en parall\IeC {\`e}le des n\oe uds pairs. Un seul segment n'a pas \IeC {\'e}t\IeC {\'e} \IeC {\'e}valu\IeC {\'e}.}}}{74}{figure.6.9}
 \contentsline {figure}{\numberline {6.10}{\ignorespaces D\IeC {\'e}termination des coefficients $C(i,j)$ des pixels du contour.}}{75}{figure.6.10}
 \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Quadrants 1 et 4}}}{75}{figure.6.10}
 \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Quadrants 2 et 3}}}{75}{figure.6.10}
-\contentsline {figure}{\numberline {6.11}{\ignorespaces Segmentations d'une image de 100~MP en 0,59~s pour 5 it\IeC {\'e}rations. Le contour initial conserve les proportions de celui de la figure \ref {fig-snakecpu-cochon512}. }}{76}{figure.6.11}
-\contentsline {figure}{\numberline {6.12}{\ignorespaces D\IeC {\'e}termination intelligente du contour initial en deux phases successives. a) La premi\IeC {\`e}re \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage horizontal. b) La seconde \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage vertical.}}{77}{figure.6.12}
-\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{77}{figure.6.12}
-\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{77}{figure.6.12}
+\contentsline {figure}{\numberline {6.11}{\ignorespaces Segmentations d'une image de 100~MP en 0,59~s pour 5 it\IeC {\'e}rations. Le contour initial conserve les proportions de celui de la figure \ref {fig-snakecpu-cochon512}. }}{77}{figure.6.11}
+\contentsline {figure}{\numberline {6.12}{\ignorespaces D\IeC {\'e}termination intelligente du contour initial en deux phases successives. (a) La premi\IeC {\`e}re \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage horizontal. (b) La seconde \IeC {\'e}tape repose sur un \IeC {\'e}chantillonnage vertical.}}{78}{figure.6.12}
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{78}{figure.6.12}
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{78}{figure.6.12}
 \addvspace {10\p@ }
 \contentsline {figure}{\numberline {7.1}{\ignorespaces D\IeC {\'e}tail des motifs et de leur repr\IeC {\'e}sentation interne, pour la taille $a=5$. }}{82}{figure.7.1}
 \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Les 8 premi\IeC {\`e}res lignes de la table $P_5$. Les \IeC {\'e}l\IeC {\'e}ments sont les positions relatives des pixels de chaque motif par rapport au pixel central.}}}{82}{figure.7.1}
 \contentsline {subfigure}{\numberline {(d)}{\ignorespaces {Directions d\IeC {\'e}termin\IeC {\'e}es par le PI-PD pour le tirage $n^{\circ }1$}}}{93}{figure.7.10}
 \contentsline {subfigure}{\numberline {(e)}{\ignorespaces {Directions d\IeC {\'e}termin\IeC {\'e}e par le PI-PD pour le tirage $n^{\circ }2$}}}{93}{figure.7.10}
 \contentsline {figure}{\numberline {7.11}{\ignorespaces Motif de d\IeC {\'e}tection des zones \IeC {\`a} faible pente, pour le cas $\Theta =\Theta _4=45^{\circ }$. L'\IeC {\'e}l\IeC {\'e}vation des pixels permet juste de les distinguer selon 3 classes : l'\IeC {\'e}l\IeC {\'e}vation 1 est associ\IeC {\'e}e aux pixels de la r\IeC {\'e}gion $T$, l'\IeC {\'e}l\IeC {\'e}vation 0.5 est associ\IeC {\'e}e \IeC {\`a} ceux de la r\IeC {\'e}gion $B$ et l'\IeC {\'e}l\IeC {\'e}vation 0 d\IeC {\'e}signe les pixels n'intervenant pas dans la d\IeC {\'e}tection.}}{94}{figure.7.11}
-\contentsline {figure}{\numberline {7.12}{\ignorespaces Classification des pixels d'une image bruit\IeC {\'e}e, pour une valeur de seuil $T2=2$ du d\IeC {\'e}tecteur. b) Les pixels en noir sont ceux \IeC {\`a} qui le PI-PD sera appliqu\IeC {\'e}. Les pixels en blancs se verront appliquer une moyenne sur tout ou partie du voisinage.}}{94}{figure.7.12}
+\contentsline {figure}{\numberline {7.12}{\ignorespaces Classification des pixels d'une image bruit\IeC {\'e}e, pour une valeur de seuil $T2=2$ du d\IeC {\'e}tecteur. (b) Les pixels en noir sont ceux \IeC {\`a} qui le PI-PD sera appliqu\IeC {\'e}. Les pixels en blancs se verront appliquer une moyenne sur tout ou partie du voisinage.}}{94}{figure.7.12}
 \contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Image bruit\IeC {\'e}e}}}{94}{figure.7.12}
 \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Classification des pixels. }}}{94}{figure.7.12}
 \contentsline {figure}{\numberline {7.13}{\ignorespaces Comparaison des rendus des traitements compar\IeC {\'e}s. Rang\IeC {\'e}e du haut : les images compl\IeC {\`e}tes. Rang\IeC {\'e}e du bas : Zooms sur une zone de l'\IeC {\'\i }mage au dessus.}}{95}{figure.7.13}