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

Private GIT Repository
7 dec
[these_gilles.git] / THESE / these.aux
index 6fb04123f58836394f34ee50b8dc29b7f4d8b9c0..8a62896bdff0d320b045c80eb8260995af5b2c4e 100644 (file)
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$f=2$ et $t=5$, PSNR=28.6~dB MSSIM=0.38}}}{27}{figure.3.6}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$f=5$ et $t=2$, PSNR=29.0~dB MSSIM=0.39}}}{27}{figure.3.6}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$f=5$ et $t=5$, PSNR=29.0~dB MSSIM=0.40}}}{27}{figure.3.6}}
+\newlabel{sec-filtresgpu}{{3.4}{27}{Les implémentations sur GPU des algorithmes de filtrage\label {sec-filtresgpu}\relax }{section.3.4}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {3.4}Les impl\IeC {\'e}mentations sur GPU des algorithmes de filtrage}{27}{section.3.4}}
 \citation{convolutionsoup}
 \citation{4287006}
 \newlabel{sub@fig-epaule-init}{{(a)}{46}{Subfigure 3 3.19(a)\relax }{subfigure.3.19.1}{}}
 \newlabel{fig-epaule-fin}{{3.19(b)}{46}{Subfigure 3 3.19(b)\relax }{subfigure.3.19.2}{}}
 \newlabel{sub@fig-epaule-fin}{{(b)}{46}{Subfigure 3 3.19(b)\relax }{subfigure.3.19.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3.19}{\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 rougeet le contour final est obtenu en 11~s. }}{46}{figure.3.19}}
-\newlabel{fig-snakegvf}{{3.19}{46}{Segmentation d'une image d'épaule en 1024$^2$ pixels issue d'un examen IRM par l'implémentation du snake GVF de \cite {snakegvf06}. Le contour est représenté en rougeet le contour final est obtenu en 11~s. \relax }{figure.3.19}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.19}{\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 rougeet 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'imppression}}{46}{figure.3.19}}
+\newlabel{fig-snakegvf}{{3.19}{46}{Segmentation d'une image d'épaule en 1024$^2$ pixels issue d'un examen IRM par l'implémentation du snake GVF de \cite {snakegvf06}. Le contour est représenté en rougeet le contour final est obtenu en 11~s. Le tracé initial du contour a été artificiellement épaissi pour le rendre visible à l'échelle de l'imppression\relax }{figure.3.19}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Contour initial}}}{46}{figure.3.19}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Contour final}}}{46}{figure.3.19}}
+\newlabel{sec-seg-hybride}{{3.6.5}{46}{Algorithmes hybrides\label {sec-seg-hybride}\relax }{subsection.3.6.5}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {3.6.5}Algorithmes hybrides}{46}{subsection.3.6.5}}
 \@writefile{lof}{\contentsline {figure}{\numberline {3.20}{\ignorespaces Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite  {martin2001database}}}{47}{figure.3.20}}
 \newlabel{fig-gPb}{{3.20}{47}{Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite {martin2001database}\relax }{figure.3.20}{}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {4}La segmentation par snake polygonal orient\IeC {\'e} r\IeC {\'e}gions}{49}{chapter.4}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}Pr\IeC {\'e}sentation de l'algorithme}{49}{section.4.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Formulation}{49}{subsection.4.1.1}}
-\newlabel{eq-lhprod1}{{4.2}{50}{Formulation\relax }{equation.4.1.2}{}}
-\newlabel{eq-pdfgauss}{{4.3}{50}{Formulation\relax }{equation.4.1.3}{}}
-\newlabel{eq-gl1}{{4.4}{50}{Formulation\relax }{equation.4.1.4}{}}
-\newlabel{eq-teta}{{4.5}{50}{Formulation\relax }{equation.4.1.5}{}}
-\newlabel{eq-gl}{{4.6}{50}{Formulation\relax }{equation.4.1.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Optimisation des calculs}{50}{subsection.4.1.2}}
-\newlabel{snake-formulation}{{4.1.2}{50}{Optimisation des calculs\relax }{subsection.4.1.2}{}}
-\newlabel{eq-sommes1}{{4.7}{50}{Optimisation des calculs\relax }{equation.4.1.7}{}}
+\newlabel{ch-snake}{{4}{49}{La segmentation par snake polygonal orienté régions\label {ch-snake}\relax }{chapter.4}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}Introduction}{49}{section.4.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Pr\IeC {\'e}sentation de l'algorithme}{49}{section.4.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Formulation}{49}{subsection.4.2.1}}
+\newlabel{eq-lhprod1}{{4.2}{50}{Formulation\relax }{equation.4.2.2}{}}
+\newlabel{eq-pdfgauss}{{4.3}{50}{Formulation\relax }{equation.4.2.3}{}}
+\newlabel{eq-gl1}{{4.4}{50}{Formulation\relax }{equation.4.2.4}{}}
+\newlabel{eq-teta}{{4.5}{50}{Formulation\relax }{equation.4.2.5}{}}
+\newlabel{eq-gl}{{4.6}{50}{Formulation\relax }{equation.4.2.6}{}}
+\newlabel{snake-formulation}{{4.2.2}{50}{Optimisation des calculs\label {snake-formulation}\relax }{subsection.4.2.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Optimisation des calculs}{50}{subsection.4.2.2}}
+\newlabel{eq-sommes1}{{4.7}{50}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.7}{}}
 \citation{ChesnaudRB99}
-\newlabel{eq-sommes-gene}{{4.8}{51}{Optimisation des calculs\relax }{equation.4.1.8}{}}
-\newlabel{eq-cumuls1}{{4.9}{51}{Optimisation des calculs\relax }{equation.4.1.9}{}}
-\newlabel{eq-somme-cumuls2}{{4.10}{51}{Optimisation des calculs\relax }{equation.4.1.10}{}}
-\newlabel{eq-somme-contour}{{4.11}{51}{Optimisation des calculs\relax }{equation.4.1.11}{}}
-\newlabel{eq-coefC}{{4.12}{51}{Optimisation des calculs\relax }{equation.4.1.12}{}}
+\newlabel{eq-sommes-gene}{{4.8}{51}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.8}{}}
+\newlabel{eq-cumuls1}{{4.9}{51}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.9}{}}
+\newlabel{eq-somme-cumuls2}{{4.10}{51}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.10}{}}
+\newlabel{eq-somme-contour}{{4.11}{51}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.11}{}}
+\newlabel{eq-coefC}{{4.12}{51}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.12}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.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. }}{51}{figure.4.1}}
 \newlabel{fig-freeman}{{4.1}{51}{À gauche : détermination des vecteurs $f_{in}$ et $f_{out}$. À droite : code de Freeman d'un vecteur en fonction de sa direction, l'origine étant supposée au pixel central, en noir. \relax }{figure.4.1}{}}
 \citation{ChesnaudRB99}
 \newlabel{li-contrib-seg-fin}{{21}{52}{}{AlgoLine3.21}{}}
 \@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$.}}{52}{table.4.1}}
 \newlabel{tab-freeman}{{4.1}{52}{Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$}{table.4.1}{}}
-\newlabel{eq-img-cumul}{{4.13}{52}{Optimisation des calculs\relax }{equation.4.1.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{52}{subsection.4.1.3}}
-\newlabel{snake-cpu-impl}{{4.1.3}{52}{Implémentation séquentielle\relax }{subsection.4.1.3}{}}
-\newlabel{algo-snake-cpu}{{2}{53}{Implémentation séquentielle\relax }{algocfline.2}{}}
+\newlabel{eq-img-cumul}{{4.13}{52}{Optimisation des calculs\label {snake-formulation}\relax }{equation.4.2.13}{}}
+\newlabel{snake-cpu-impl}{{4.2.3}{52}{Implémentation séquentielle\label {snake-cpu-impl}\relax }{subsection.4.2.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{52}{subsection.4.2.3}}
+\newlabel{algo-snake-cpu1}{{2}{53}{Implémentation séquentielle\label {snake-cpu-impl}\relax }{algocfline.2}{}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces Principe mis en \oe uvre pour la convergence du snake polygonal}}{53}{algocfline.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}Performances}{53}{subsection.4.1.4}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {3}{\ignorespaces D\IeC {\'e}tail de l'impl\IeC {\'e}mentation du snake polygonal}}{53}{algocfline.3}}
+\newlabel{algo-snake-cpu2}{{3}{53}{Implémentation séquentielle\label {snake-cpu-impl}\relax }{algocfline.3}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{54}{figure.4.2}}
 \newlabel{fig-snakecpu-cochon512}{{4.2}{54}{Évolution du contour lors de la segmentation d'une image de 512$^2$ pixels. La convergence est obtenue à l'itération 14 après 44~ms pour un total de 256 n\oe uds}{figure.4.2}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initialisation : 4 n\oe uds}}}{54}{figure.4.2}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {It\IeC {\'e}ration 10 : 244 n\oe uds 3~ms}}}{54}{figure.4.2}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {It\IeC {\'e}ration 13 : 256 n\oe uds 3~ms}}}{54}{figure.4.2}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {It\IeC {\'e}ration 14 : 256 n\oe uds 3~ms}}}{54}{figure.4.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref  {fig-snakecpu-cochon512}.}}{54}{figure.4.3}}
-\newlabel{fig-snakecpu-compinit}{{4.3}{54}{Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}}{figure.4.3}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initialisation 2 }}}{54}{figure.4.3}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{54}{figure.4.3}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{54}{figure.4.3}}
-\newlabel{fig-snakecpu-cochon4ka}{{4.4(a)}{55}{Subfigure 4 4.4(a)\relax }{subfigure.4.4.1}{}}
-\newlabel{sub@fig-snakecpu-cochon4ka}{{(a)}{55}{Subfigure 4 4.4(a)\relax }{subfigure.4.4.1}{}}
-\newlabel{fig-snakecpu-cochon4kb}{{4.4(b)}{55}{Subfigure 4 4.4(b)\relax }{subfigure.4.4.2}{}}
-\newlabel{sub@fig-snakecpu-cochon4kb}{{(b)}{55}{Subfigure 4 4.4(b)\relax }{subfigure.4.4.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels.}}{55}{figure.4.4}}
-\newlabel{fig-snakecpu-cochon4k}{{4.4}{55}{Segmentation de l'image de test en 4000$^2$ pixels}{figure.4.4}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{55}{figure.4.4}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{55}{figure.4.4}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est celui utilis\IeC {\'e} \IeC {\`a} la figure \ref  {fig-snakecpu-cochon4k}.}}{55}{figure.4.5}}
-\newlabel{fig-snakecpu-cochon4kc3}{{4.5}{55}{Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est celui utilisé à la figure \ref {fig-snakecpu-cochon4k}}{figure.4.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Performances}{54}{subsection.4.2.4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref  {fig-snakecpu-cochon512}.}}{55}{figure.4.3}}
+\newlabel{fig-snakecpu-compinit}{{4.3}{55}{Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}}{figure.4.3}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initialisation 2 }}}{55}{figure.4.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{55}{figure.4.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{55}{figure.4.3}}
+\newlabel{fig-snakecpu-cochon4ka}{{4.4(a)}{56}{Subfigure 4 4.4(a)\relax }{subfigure.4.4.1}{}}
+\newlabel{sub@fig-snakecpu-cochon4ka}{{(a)}{56}{Subfigure 4 4.4(a)\relax }{subfigure.4.4.1}{}}
+\newlabel{fig-snakecpu-cochon4kb}{{4.4(b)}{56}{Subfigure 4 4.4(b)\relax }{subfigure.4.4.2}{}}
+\newlabel{sub@fig-snakecpu-cochon4kb}{{(b)}{56}{Subfigure 4 4.4(b)\relax }{subfigure.4.4.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Segmentation de l'image de test en 4000$^2$ 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.}}{56}{figure.4.4}}
+\newlabel{fig-snakecpu-cochon4k}{{4.4}{56}{Segmentation de l'image de test en 4000$^2$ pixels. Le tracé du contour a été artificiellement épaissi pour le rendre visible à l'échelle de l'impression}{figure.4.4}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{56}{figure.4.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{56}{figure.4.4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est la transcription 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.}}{56}{figure.4.5}}
+\newlabel{fig-snakecpu-cochon4kc3}{{4.5}{56}{Segmentation de l'image de test en 4000$^2$ pixels avec une cible de petite taille. Le contour initial est la transcription celui utilisé à la figure \ref {fig-snakecpu-cochon512}. Le tracé du contour a été artificiellement épaissi pour le rendre visible à l'échelle de l'impression}{figure.4.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{56}{section.4.3}}
 \citation{BlellochTR90}
-\newlabel{fig-snakecpu-chronos1}{{4.2}{56}{Implémentation parallèle GPU du snake polygonal\relax }{section.4.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{56}{figure.4.6}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{56}{section.4.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{56}{subsection.4.2.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Calcul des contribution des segments}{57}{subsection.4.2.2}}
-\newlabel{fig-calcul-cumuls}{{4.2.1}{58}{pré-calculs des images cumulées\relax }{subfigure.4.7.3}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{58}{figure.4.7}}
-\@writefile{lof}{\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.}}}{58}{figure.4.7}}
-\@writefile{lof}{\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()}.}}}{58}{figure.4.7}}
-\@writefile{lof}{\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()}.}}}{58}{figure.4.7}}
-\newlabel{fig-structure-segment}{{4.2.2}{59}{Calcul des contribution des segments\relax }{subsection.4.2.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{59}{figure.4.8}}
-\newlabel{fig-cycle-contribs-segments}{{4.2.2}{60}{Calcul des contribution des segments\relax }{subfigure.4.9.6}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{60}{figure.4.9}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{60}{figure.4.9}}
-\@writefile{lof}{\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}.}}}{60}{figure.4.9}}
-\@writefile{lof}{\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}.}}}{60}{figure.4.9}}
-\@writefile{lof}{\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} \IeC {\'e}valu\IeC {\'e}s. On ne peut pas dire, a priori si le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{60}{figure.4.9}}
-\@writefile{lof}{\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}.}}}{60}{figure.4.9}}
-\@writefile{lof}{\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}.}}}{60}{figure.4.9}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2.1}Cas particulier des segments dont la pente $k$ v\IeC {\'e}rifie $|k|\leq 1$}{61}{subsubsection.4.2.2.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Performances}{61}{subsection.4.2.3}}
-\newlabel{fig-segment-k<1}{{4.2.2.1}{62}{Cas particulier des segments dont la pente $k$ vérifie $|k|\leq 1$\relax }{subfigure.4.10.3}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.10}{\ignorespaces D\IeC {\'e}termination des coefficients $C(i,j)$ des pixels du contour.}}{62}{figure.4.10}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Quadrants 1 et 4}}}{62}{figure.4.10}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Quadrants 2 et 3}}}{62}{figure.4.10}}
-\newlabel{fig-snakegpu-result}{{4.2.3}{63}{Performances\relax }{subfigure.4.11.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.11}{\ignorespaces Segmentations de grandes images, avec le contour intial transpos\IeC {\'e} de celui de la figure \ref  {fig-snakecpu-cochon512}. a) image de 100~MP. b) image de 150~MP.}}{63}{figure.4.11}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {5 it\IeC {\'e}rations en 0,59~s}}}{63}{figure.4.11}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {3 it\IeC {\'e}rations en 0,35~s}}}{63}{figure.4.11}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Discussion sur l'initialisation}{63}{subsection.4.2.4}}
-\newlabel{fig-smart-init}{{4.2.4}{64}{Discussion sur l'initialisation\relax }{subfigure.4.12.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.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. }}{64}{figure.4.12}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{64}{figure.4.12}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{64}{figure.4.12}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.5}Conclusion}{64}{subsection.4.2.5}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {3}{\ignorespaces D\IeC {\'e}tail de l'impl\IeC {\'e}mentation du snake polygonal}}{66}{algocfline.3}}
-\newlabel{cpualgo}{{3}{66}{Implémentation séquentielle\relax }{algocfline.3}{}}
-\@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image \IeC {\`a} traiter. Le temps sont obtenus avec la m\IeC {\^e}me image de test dilat\IeC {\'e}e et bruit\IeC {\'e}e et un contour initial carr\IeC {\'e} dont la distance aux bords est proportionnelle \IeC {\`a} la taille de l'image. Seule l'image en 15~MP a pu \IeC {\^e}tre trait\IeC {\'e}e par une impl\IeC {\'e}mentation utilisant SSE2.}}{67}{table.4.2}}
-\newlabel{tab-snakecpu-speed-size}{{4.2}{67}{Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image à traiter. Le temps sont obtenus avec la même image de test dilatée et bruitée et un contour initial carré dont la distance aux bords est proportionnelle à la taille de l'image. Seule l'image en 15~MP a pu être traitée par une implémentation utilisant SSE2}{table.4.2}{}}
-\@writefile{lot}{\contentsline {table}{\numberline {4.3}{\ignorespaces Acc\IeC {\'e}l\IeC {\'e}ration constat\IeC {\'e}e, pour le calcul des images cumul\IeC {\'e}es, de l'impl\IeC {\'e}mentation GPU par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence.}}{67}{table.4.3}}
-\newlabel{tab-speedup-cumuls}{{4.3}{67}{Accélération constatée, pour le calcul des images cumulées, de l'implémentation GPU par rapport à l'implémentation CPU de référence}{table.4.3}{}}
-\@writefile{lot}{\contentsline {table}{\numberline {4.4}{\ignorespaces Comparaison des temps d'ex\IeC {\'e}cution de l'impl\IeC {\'e}mentation GPU par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence, appliqu\IeC {\'e}s \IeC {\`a} une m\IeC {\^e}me image dilat\IeC {\'e}e pour en adapter la taille.}}{67}{table.4.4}}
-\newlabel{tab-snake-results}{{4.4}{67}{Comparaison des temps d'exécution de l'implémentation GPU par rapport à l'implémentation CPU de référence, appliqués à une même image dilatée pour en adapter la taille}{table.4.4}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image \IeC {\`a} traiter. Les temps sont obtenus avec la m\IeC {\^e}me image de test dilat\IeC {\'e}e et bruit\IeC {\'e}e et un contour initial carr\IeC {\'e} dont la distance aux bords est proportionnelle \IeC {\`a} la taille de l'image. Seule l'image en 15~MP a pu \IeC {\^e}tre trait\IeC {\'e}e par une impl\IeC {\'e}mentation utilisant SSE2.}}{57}{table.4.2}}
+\newlabel{tab-snakecpu-speed-size}{{4.2}{57}{Performances (en secondes) de la segmentation par snake polygonal sur CPU en fonction de la taille de l'image à traiter. Les temps sont obtenus avec la même image de test dilatée et bruitée et un contour initial carré dont la distance aux bords est proportionnelle à la taille de l'image. Seule l'image en 15~MP a pu être traitée par une implémentation utilisant SSE2}{table.4.2}{}}
+\newlabel{fig-snakecpu-chronos1}{{4.3}{57}{Implémentation parallèle GPU du snake polygonal\relax }{section.4.3}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{57}{figure.4.6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{57}{subsection.4.3.1}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.3}{\ignorespaces Acc\IeC {\'e}l\IeC {\'e}ration constat\IeC {\'e}e, pour le calcul des images cumul\IeC {\'e}es, de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence.}}{58}{table.4.3}}
+\newlabel{tab-speedup-cumuls}{{4.3}{58}{Accélération constatée, pour le calcul des images cumulées, de l'implémentation GPU (C2070) par rapport à l'implémentation CPU de référence}{table.4.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Calcul des contributions des segments}{58}{subsection.4.3.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{59}{figure.4.7}}
+\newlabel{fig-calcul-cumuls}{{4.7}{59}{Calcul des images cumulées $S_x$ et $S_x^2$ en trois étapes successives. a) cumul partiel bloc par bloc et mémorisation de la somme de chaque bloc. b) cumul sur le vecteur des sommes partielles. c) ajout des sommes partielles à chaque élément des blocs cumulés}{figure.4.7}{}}
+\@writefile{lof}{\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.}}}{59}{figure.4.7}}
+\@writefile{lof}{\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()}.}}}{59}{figure.4.7}}
+\@writefile{lof}{\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()}.}}}{59}{figure.4.7}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{60}{figure.4.8}}
+\newlabel{fig-structure-segment}{{4.8}{60}{Structuration des données en mémoire du GPU pour l'évaluation en parallèle de l'ensemble des évolutions possibles du contour}{figure.4.8}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.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.}}{61}{figure.4.9}}
+\newlabel{fig-cycle-contribs-segments}{{4.9}{61}{Comparaison des cycles de déplacement des n\oe uds. Ligne du haut : version séquentielle. Ligne du bas : version parallèle. Les segments en rouge sont des segments du contour non évalués, alors que ceux en pointillés sont les paires ayant reçu les meilleures évaluations parmi les 8 déplacements possibles des n\oe uds correspondant}{figure.4.9}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{61}{figure.4.9}}
+\@writefile{lof}{\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}.}}}{61}{figure.4.9}}
+\@writefile{lof}{\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}.}}}{61}{figure.4.9}}
+\@writefile{lof}{\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} \IeC {\'e}valu\IeC {\'e}s. On ne peut pas dire, a priori si le crit\IeC {\`e}re est am\IeC {\'e}lior\IeC {\'e}.}}}{61}{figure.4.9}}
+\@writefile{lof}{\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}.}}}{61}{figure.4.9}}
+\@writefile{lof}{\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}.}}}{61}{figure.4.9}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2.1}Cas particulier des segments dont la pente $k$ v\IeC {\'e}rifie $|k|\leq 1$}{62}{subsubsection.4.3.2.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.10}{\ignorespaces D\IeC {\'e}termination des coefficients $C(i,j)$ des pixels du contour.}}{63}{figure.4.10}}
+\newlabel{fig-segment-k<1}{{4.10}{63}{Détermination des coefficients $C(i,j)$ des pixels du contour}{figure.4.10}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Quadrants 1 et 4}}}{63}{figure.4.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Quadrants 2 et 3}}}{63}{figure.4.10}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Performances}{63}{subsection.4.3.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.11}{\ignorespaces Segmentations de grandes images, avec le contour intial transpos\IeC {\'e} de celui de la figure \ref  {fig-snakecpu-cochon512}. a) image du cochon en 100~MP. b) image satellite de l'\IeC {\^\i }le de Montserrat en 150~MP.}}{64}{figure.4.11}}
+\newlabel{fig-snakegpu-result}{{4.11}{64}{Segmentations de grandes images, avec le contour intial transposé de celui de la figure \ref {fig-snakecpu-cochon512}. a) image du cochon en 100~MP. b) image satellite de l'île de Montserrat en 150~MP}{figure.4.11}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {5 it\IeC {\'e}rations en 0,59~s}}}{64}{figure.4.11}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {3 it\IeC {\'e}rations en 0,35~s}}}{64}{figure.4.11}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.4}{\ignorespaces Comparaison des temps d'ex\IeC {\'e}cution de l'impl\IeC {\'e}mentation GPU (C2070) par rapport \IeC {\`a} l'impl\IeC {\'e}mentation CPU de r\IeC {\'e}f\IeC {\'e}rence, appliqu\IeC {\'e}s \IeC {\`a} une m\IeC {\^e}me image dilat\IeC {\'e}e pour en adapter la taille.}}{64}{table.4.4}}
+\newlabel{tab-snake-results}{{4.4}{64}{Comparaison des temps d'exécution de l'implémentation GPU (C2070) par rapport à l'implémentation CPU de référence, appliqués à une même image dilatée pour en adapter la taille}{table.4.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.4}D\IeC {\'e}termination intelligente du contour initial}{64}{subsection.4.3.4}}
+\citation{6036776}
+\newlabel{fig-smart-init}{{4.3.4}{65}{Détermination intelligente du contour initial\relax }{subfigure.4.12.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.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. }}{65}{figure.4.12}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {D\IeC {\'e}termination de $j_L$ et $j_H$.}}}{65}{figure.4.12}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {D\IeC {\'e}termination de $i_L$ et $i_H$.}}}{65}{figure.4.12}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.5}Conclusion}{66}{subsection.4.3.5}}
+\citation{matheron75}
+\citation{caselles97}
 \citation{bertaux2004speckle}
 \@writefile{toc}{\contentsline {chapter}{\numberline {5}R\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{71}{chapter.5}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}Pr\IeC {\'e}sentation de l'algorithme}{71}{section.5.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Formulation}{71}{subsection.5.1.1}}
+\newlabel{ch-lniv}{{5}{71}{Réduction de bruit par recherche des lignes de niveaux\label {ch-lniv}\relax }{chapter.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Introduction}{71}{section.5.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Pr\IeC {\'e}sentation de l'algorithme}{72}{section.5.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Formulation}{72}{subsection.5.2.1}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces D\IeC {\'e}tail des motifs et de leur repr\IeC {\'e}sentation interne, pour la taille $d=5$. }}{72}{figure.5.1}}
 \newlabel{fig-lniv-p5q1}{{5.1}{72}{\label {fig-lniv-p5q1}Détail des motifs et de leur représentation interne, pour la taille $d=5$. \relax }{figure.5.1}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Les 8 premi\IeC {\`e}res lignes de la table $P_5$ dont les \IeC {\'e}l\IeC {\'e}ments sont les positions relatives des pixels de chaque motif par rapport au pixel central.}}}{72}{figure.5.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Motifs des 8 premier segments candidats pour. Les pixels noirs representent le pixel trait\IeC {\'e} (ou pixel central), qui n'appartient pas au motif. Les pixels gris sont ceux qui constituent le motif.}}}{72}{figure.5.1}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.1}Isolines \IeC {\`a} un seul segment}{72}{subsubsection.5.1.1.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces . Exemple de la r\IeC {\'e}partition des pixels dans la r\IeC {\'e}gion $\omega $ pour le calcul de la vraisemblance, pour $n=6$.}}{72}{figure.5.2}}
-\newlabel{fig-lniv-regions}{{5.2}{72}{\label {fig-lniv-regions}. Exemple de la répartition des pixels dans la région $\omega $ pour le calcul de la vraisemblance, pour $n=6$}{figure.5.2}{}}
-\newlabel{LL2}{{5.1}{72}{Isolines à un seul segment\relax }{equation.5.1.1}{}}
-\newlabel{GL}{{5.3}{73}{Isolines à un seul segment\relax }{equation.5.1.3}{}}
-\newlabel{GL2}{{5.4}{73}{Isolines à un seul segment\relax }{equation.5.1.4}{}}
-\newlabel{LL1}{{5.5}{73}{Isolines à un seul segment\relax }{equation.5.1.5}{}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1.2}Isolines compos\IeC {\'e}es de plusieurs segments - crit\IeC {\`e}re d'allongement}{73}{subsubsection.5.1.1.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Motifs des 8 premiers segments candidats de longueur 5 pixels. Les pixels noirs repr\IeC {\'e}sentent le pixel trait\IeC {\'e} (ou pixel central), qui n'appartient pas au motif. Les pixels gris sont ceux qui constituent le motif.}}}{72}{figure.5.1}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.1}Isolines \IeC {\`a} un seul segment}{72}{subsubsection.5.2.1.1}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Exemple de la r\IeC {\'e}partition des pixels dans la r\IeC {\'e}gion $\omega $ pour le calcul de la vraisemblance, pour $n=6$.}}{73}{figure.5.2}}
+\newlabel{fig-lniv-regions}{{5.2}{73}{\label {fig-lniv-regions}Exemple de la répartition des pixels dans la région $\omega $ pour le calcul de la vraisemblance, pour $n=6$}{figure.5.2}{}}
+\newlabel{LL2}{{5.1}{73}{Isolines à un seul segment\relax }{equation.5.2.1}{}}
+\newlabel{GL}{{5.3}{73}{Isolines à un seul segment\relax }{equation.5.2.3}{}}
+\newlabel{GL2}{{5.4}{73}{Isolines à un seul segment\relax }{equation.5.2.4}{}}
+\newlabel{LL1}{{5.5}{73}{Isolines à un seul segment\relax }{equation.5.2.5}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1.2}Isolines compos\IeC {\'e}es de plusieurs segments - crit\IeC {\`e}re d'allongement}{74}{subsubsection.5.2.1.2}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Allongement du segment $S^n$. Deux candidats $S^{p'}$ et $S^{p''}$ sont \IeC {\'e}valu\IeC {\'e}s au travers du crit\IeC {\`e}re GLRT de l'\IeC {\'e}quation \textup  {\hbox {\mathsurround \z@ \normalfont  (\ignorespaces \ref  {GLRT}\unskip \@@italiccorr )}} que seul $S^{p''}$ s'av\IeC {\`e}re satisfaire. a) Repr\IeC {\'e}sentation dans le plan de l'image. b) \IeC {\'E}volution des niveaux de gris en fonction de la position des pixels dans les lignes bris\IeC {\'e}es ainsi form\IeC {\'e}es.}}{74}{figure.5.3}}
 \newlabel{fig-lniv-allongement}{{5.3}{74}{\label {fig-lniv-allongement}Allongement du segment $S^n$. Deux candidats $S^{p'}$ et $S^{p''}$ sont évalués au travers du critère GLRT de l'équation \eqref {GLRT} que seul $S^{p''}$ s'avère satisfaire. a) Représentation dans le plan de l'image. b) Évolution des niveaux de gris en fonction de la position des pixels dans les lignes brisées ainsi formées}{figure.5.3}{}}
-\newlabel{LLNP}{{5.6}{74}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.1.6}{}}
-\newlabel{LLNP2}{{5.7}{74}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.1.7}{}}
-\newlabel{GLRT}{{5.8}{74}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.1.8}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}Impl\IeC {\'e}mentation parall\IeC {\`e}le}{75}{section.5.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}Isolines \IeC {\'e}valu\IeC {\'e}es semi-globalement}{75}{subsection.5.2.1}}
+\newlabel{LLNP}{{5.6}{74}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.2.6}{}}
+\newlabel{LLNP2}{{5.7}{75}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.2.7}{}}
+\newlabel{GLRT}{{5.8}{75}{Isolines composées de plusieurs segments - critère d'allongement\relax }{equation.5.2.8}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}Mod\IeC {\'e}lisation des isolines pour l'impl\IeC {\'e}mentation parall\IeC {\`e}le sur GPU}{75}{section.5.3}}
+\citation{Dabov06imagedenoising}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Isolines \IeC {\'e}valu\IeC {\'e}es semi-globalement}{76}{subsection.5.3.1}}
 \newlabel{pild:debut}{{5.4(a)}{76}{Subfigure 5 5.4(a)\relax }{subfigure.5.4.1}{}}
 \newlabel{sub@pild:debut}{{(a)}{76}{Subfigure 5 5.4(a)\relax }{subfigure.5.4.1}{}}
 \newlabel{pild:sub1}{{5.4(b)}{76}{Subfigure 5 5.4(b)\relax }{subfigure.5.4.2}{}}
 \newlabel{sub@pild:sub4}{{(e)}{76}{Subfigure 5 5.4(e)\relax }{subfigure.5.4.5}{}}
 \newlabel{pild:sub5}{{5.4(f)}{76}{Subfigure 5 5.4(f)\relax }{subfigure.5.4.6}{}}
 \newlabel{sub@pild:sub5}{{(f)}{76}{Subfigure 5 5.4(f)\relax }{subfigure.5.4.6}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Processus de s\IeC {\'e}lection lors de l'allongement d'une \textit  {isoline} comportant initialement deux segment $s_1$ et $s_2$. Dans cet exemple $d=5$ et $\Delta d_{max}=2$. Chaque segment \IeC {\'e}valu\IeC {\'e} est soumis au crit\IeC {\`e}re GLRT. Si au moins un des segments pr\IeC {\'e}sente un test GLRT positif, alors l'allongement est r\IeC {\'e}alis\IeC {\'e} avec le segment qui forme l'\textit  {isoline} la plus vraisemblable.}}{76}{figure.5.4}}
-\newlabel{fig-lniv-pild}{{5.4}{76}{Processus de sélection lors de l'allongement d'une \textit {isoline} comportant initialement deux segment $s_1$ et $s_2$. Dans cet exemple $d=5$ et $\Delta d_{max}=2$. Chaque segment évalué est soumis au critère GLRT. Si au moins un des segments présente un test GLRT positif, alors l'allongement est réalisé avec le segment qui forme l'\textit {isoline} la plus vraisemblable}{figure.5.4}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Processus de s\IeC {\'e}lection lors de l'allongement d'une isoline comportant initialement deux segment $s_1$ et $s_2$. Dans cet exemple $d=5$ et $\Delta d_{max}=2$. Chaque segment \IeC {\'e}valu\IeC {\'e} est soumis au crit\IeC {\`e}re GLRT. Si au moins un des segments pr\IeC {\'e}sente un test GLRT positif, alors l'allongement est r\IeC {\'e}alis\IeC {\'e} avec le segment qui forme l'isoline la plus vraisemblable.}}{76}{figure.5.4}}
+\newlabel{fig-lniv-pild}{{5.4}{76}{Processus de sélection lors de l'allongement d'une isoline comportant initialement deux segment $s_1$ et $s_2$. Dans cet exemple $d=5$ et $\Delta d_{max}=2$. Chaque segment évalué est soumis au critère GLRT. Si au moins un des segments présente un test GLRT positif, alors l'allongement est réalisé avec le segment qui forme l'isoline la plus vraisemblable}{figure.5.4}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Isoline comprenant deux segments $s_1$ et $s_2$.}}}{76}{figure.5.4}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Premier segment \IeC {\'e}valu\IeC {\'e}, associ\IeC {\'e} au motif $p_{5,0}$.}}}{76}{figure.5.4}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Deuxi\IeC {\`e}me segment \IeC {\'e}valu\IeC {\'e}, associ\IeC {\'e} au motif $p_{5,1}$.}}}{76}{figure.5.4}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Troisi\IeC {\`e}me segment \IeC {\'e}valu\IeC {\'e}, associ\IeC {\'e} au motif $p_{5,2}$.}}}{76}{figure.5.4}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Quatri\IeC {\`e}me segment \IeC {\'e}valu\IeC {\'e}, associ\IeC {\'e} au motif $p_{5,3}$.}}}{76}{figure.5.4}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Cinqui\IeC {\`e}me segment \IeC {\'e}valu\IeC {\'e}, associ\IeC {\'e} au motif $p_{5,4}$.}}}{76}{figure.5.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Isolines \IeC {\`a} segments pre-\IeC {\'e}valu\IeC {\'e}s - mod\IeC {\`e}le PI-PD}{76}{subsection.5.2.2}}
-\newlabel{subsection-pipd-intro}{{5.2.2}{76}{Isolines à segments pre-évalués - modèle PI-PD\relax }{subsection.5.2.2}{}}
-\newlabel{fig-lniv-imgslansel}{{5.2.1}{77}{Isolines évaluées semi-globalement\relax }{subfigure.5.5.13}{}}
+\newlabel{fig-lniv-imgslansel}{{5.3.1}{77}{Isolines évaluées semi-globalement\relax }{subfigure.5.5.13}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Images non bruit\IeC {\'e}es de la base d'images en niveaux de gris de S. Lansel.}}{77}{figure.5.5}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {airplane}}}{77}{figure.5.5}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {boat}}}{77}{figure.5.5}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {peppers}}}{77}{figure.5.5}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(l)}{\ignorespaces {stream}}}{77}{figure.5.5}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(m)}{\ignorespaces {zelda}}}{77}{figure.5.5}}
-\newlabel{cx}{{5.9}{77}{Isolines à segments pre-évalués - modèle PI-PD\relax }{equation.5.2.9}{}}
-\newlabel{cx2}{{5.10}{77}{Isolines à segments pre-évalués - modèle PI-PD\relax }{equation.5.2.10}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Histogramme des \IeC {\'e}carts angulaires entre la direction primaire de l'\textit  {isoline} optimale et celle de l'\textit  {isoline} s\IeC {\'e}lectionn\IeC {\'e}e, pour l'image du singe (Mandrill). Pour la tr\IeC {\`e}s grande majorit\IeC {\'e} des pixels, le mode de s\IeC {\'e}lection de l'\textit  {isoline} ne g\IeC {\'e}n\IeC {\'e}re pas d'erreur sur la direction du premier segment.}}{78}{figure.5.6}}
-\newlabel{fig-lniv-histo-singe}{{5.6}{78}{Histogramme des écarts angulaires entre la direction primaire de l'\textit {isoline} optimale et celle de l'\textit {isoline} sélectionnée, pour l'image du singe (Mandrill). Pour la très grande majorité des pixels, le mode de sélection de l'\textit {isoline} ne génére pas d'erreur sur la direction du premier segment}{figure.5.6}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Histogrammes des \IeC {\'e}carts angulaires entre la direction primaire de l'\textit  {isoline} optimale et celle de l'\textit  {isoline} s\IeC {\'e}lectionn\IeC {\'e}e, pour les images de l'ensemble de test de S. Lansel. La r\IeC {\'e}partition des erreurs est semblable dans toutes ces images naturelles.}}{78}{figure.5.7}}
-\newlabel{fig-lniv-histo-autres}{{5.7}{78}{Histogrammes des écarts angulaires entre la direction primaire de l'\textit {isoline} optimale et celle de l'\textit {isoline} sélectionnée, pour les images de l'ensemble de test de S. Lansel. La répartition des erreurs est semblable dans toutes ces images naturelles}{figure.5.7}{}}
+\newlabel{subsection-pipd-intro}{{5.3.2}{77}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{subsection.5.3.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Isolines \IeC {\`a} segments pr\IeC {\'e}-\IeC {\'e}valu\IeC {\'e}s - mod\IeC {\`e}le PI-PD}{77}{subsection.5.3.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Histogramme des \IeC {\'e}carts angulaires entre la direction primaire de l'isoline optimale et celle de l'isoline s\IeC {\'e}lectionn\IeC {\'e}e, pour l'image du singe (Mandrill). Pour la tr\IeC {\`e}s grande majorit\IeC {\'e} des pixels, le mode de s\IeC {\'e}lection de l'isoline ne g\IeC {\'e}n\IeC {\`e}re pas d'erreur sur la direction du premier segment.}}{78}{figure.5.6}}
+\newlabel{fig-lniv-histo-singe}{{5.6}{78}{Histogramme des écarts angulaires entre la direction primaire de l'isoline optimale et celle de l'isoline sélectionnée, pour l'image du singe (Mandrill). Pour la très grande majorité des pixels, le mode de sélection de l'isoline ne génère pas d'erreur sur la direction du premier segment}{figure.5.6}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Histogrammes des \IeC {\'e}carts angulaires entre la direction primaire de l'isoline optimale et celle de l'isoline s\IeC {\'e}lectionn\IeC {\'e}e, pour les images de l'ensemble de test de S. Lansel. La r\IeC {\'e}partition des erreurs est semblable dans toutes ces images, mais \IeC {\'e}galement dans toute image naturelle.}}{78}{figure.5.7}}
+\newlabel{fig-lniv-histo-autres}{{5.7}{78}{Histogrammes des écarts angulaires entre la direction primaire de l'isoline optimale et celle de l'isoline sélectionnée, pour les images de l'ensemble de test de S. Lansel. La répartition des erreurs est semblable dans toutes ces images, mais également dans toute image naturelle}{figure.5.7}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Airplane}}}{78}{figure.5.7}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Barbara}}}{78}{figure.5.7}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Boat}}}{78}{figure.5.7}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(j)}{\ignorespaces {Peppers}}}{78}{figure.5.7}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {Stream}}}{78}{figure.5.7}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(l)}{\ignorespaces {Zelda}}}{78}{figure.5.7}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Exemple d'application du proc\IeC {\'e}d\IeC {\'e} d'allongement \IeC {\`a} une \textit  {isoline} comprenant initialement 2 segments. la longueur des segments est $d=5$. Le proc\IeC {\'e}d\IeC {\'e} se r\IeC {\'e}p\IeC {\`e}te jusqu'\IeC {\`a} ce que le test GLRT \IeC {\'e}choue.}}{79}{figure.5.8}}
-\newlabel{fig-lniv-pipd}{{5.8}{79}{Exemple d'application du procédé d'allongement à une \textit {isoline} comprenant initialement 2 segments. la longueur des segments est $d=5$. Le procédé se répète jusqu'à ce que le test GLRT échoue}{figure.5.8}{}}
+\newlabel{cx}{{5.9}{78}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{equation.5.3.9}{}}
+\newlabel{cx2}{{5.10}{78}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{equation.5.3.10}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Exemple d'application du proc\IeC {\'e}d\IeC {\'e} d'allongement \IeC {\`a} une isoline comprenant initialement 2 segments. la longueur des segments est $d=5$. Le proc\IeC {\'e}d\IeC {\'e} se r\IeC {\'e}p\IeC {\`e}te jusqu'\IeC {\`a} ce que le test GLRT \IeC {\'e}choue.}}{79}{figure.5.8}}
+\newlabel{fig-lniv-pipd}{{5.8}{79}{Exemple d'application du procédé d'allongement à une isoline comprenant initialement 2 segments. la longueur des segments est $d=5$. Le procédé se répète jusqu'à ce que le test GLRT échoue}{figure.5.8}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Isoline avec 2 segments $s_1$ et $s_2$ d\IeC {\'e}j\IeC {\`a} valid\IeC {\'e}s.}}}{79}{figure.5.8}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {La direction de $s_3$ est l'\IeC {\'e}l\IeC {\'e}ment $(i_2,j_2)$ de $I_{\Theta }$.}}}{79}{figure.5.8}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Le motif de $s_3$ est lu dans $p_5$ et appliqu\IeC {\'e} en $(i_2,j_2)$. $C_x$ et $C_{x^2}$ sont donn\IeC {\'e}es par $I_{\Sigma }(i_2,j_2)$ et le test GLRT est effectu\IeC {\'e}.}}}{79}{figure.5.8}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Si l'allongement est valid\IeC {\'e}, $s_3$ est d\IeC {\'e}finitivement int\IeC {\'e}gr\IeC {\'e}.}}}{79}{figure.5.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}Mod\IeC {\`e}le PI-PD hybride}{79}{subsection.5.2.3}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {4}{\ignorespaces Initialisations du mod\IeC {\`e}le PI-PD, en m\IeC {\'e}moire du GPU.}}{79}{algocfline.4}}
-\newlabel{algo-lniv-init}{{4}{79}{Isolines à segments pre-évalués - modèle PI-PD\relax }{algocfline.4}{}}
+\newlabel{algo-lniv-init}{{4}{79}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{algocfline.4}{}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {5}{\ignorespaces \texttt  {kernel\_precomp()} : g\IeC {\'e}n\IeC {\'e}ration des matrices $I_{\Theta }$ et $I_{\Sigma }$.}}{80}{algocfline.5}}
-\newlabel{algo-lniv-precomp}{{5}{80}{Isolines à segments pre-évalués - modèle PI-PD\relax }{algocfline.5}{}}
+\newlabel{algo-lniv-precomp}{{5}{80}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{algocfline.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Mod\IeC {\`e}le PI-PD hybride}{80}{subsection.5.3.3}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {6}{\ignorespaces \texttt  {kernel\_PIPD()} : gestion du processus d'allongement.}}{81}{algocfline.6}}
-\newlabel{algo-lniv-pipd}{{6}{81}{Isolines à segments pre-évalués - modèle PI-PD\relax }{algocfline.6}{}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3.1}Le d\IeC {\'e}tecteur de zone \IeC {\`a} faible pente}{81}{subsubsection.5.2.3.1}}
+\newlabel{algo-lniv-pipd}{{6}{81}{Isolines à segments pré-évalués - modèle PI-PD\label {subsection-pipd-intro}\relax }{algocfline.6}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Situation de la r\IeC {\'e}gion servant \IeC {\`a} illustrer le comportant du mod\IeC {\`e}le PI-PD dans les zones \IeC {\`a} faible pente (LSR).}}{82}{figure.5.9}}
 \newlabel{fig-lniv-lsr1}{{5.9}{82}{Situation de la région servant à illustrer le comportant du modèle PI-PD dans les zones à faible pente (LSR)}{figure.5.9}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image de r\IeC {\'e}f\IeC {\'e}rence non bruit\IeC {\'e}e.}}}{82}{figure.5.9}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {La r\IeC {\'e}gion de 11$\times $11 pixels \IeC {\'e}tudi\IeC {\'e}e.}}}{82}{figure.5.9}}
-\newlabel{GLRT2}{{5.11}{82}{Le détecteur de zone à faible pente\relax }{equation.5.2.11}{}}
-\citation{BuadesCM06}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3.1}Le d\IeC {\'e}tecteur de zone \IeC {\`a} faible pente}{82}{subsubsection.5.3.3.1}}
+\newlabel{GLRT2}{{5.11}{82}{Le détecteur de zone à faible pente\relax }{equation.5.3.11}{}}
 \newlabel{fig-lniv-lsr-tirages-a}{{5.10(a)}{83}{Subfigure 5 5.10(a)\relax }{subfigure.5.10.1}{}}
 \newlabel{sub@fig-lniv-lsr-tirages-a}{{(a)}{83}{Subfigure 5 5.10(a)\relax }{subfigure.5.10.1}{}}
 \newlabel{fig-lniv-lsr-tirages-b}{{5.10(b)}{83}{Subfigure 5 5.10(b)\relax }{subfigure.5.10.2}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image corrompue par le tirage de bruit $n^{\circ }2$}}}{83}{figure.5.10}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Directions d\IeC {\'e}termin\IeC {\'e}es par le PI-PD pour le tirage $n^{\circ }1$}}}{83}{figure.5.10}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Directions d\IeC {\'e}termin\IeC {\'e}e par le PI-PD pour le tirage $n^{\circ }2$}}}{83}{figure.5.10}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.3}R\IeC {\'e}sultats}{83}{section.5.3}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.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 $H$, l'\IeC {\'e}l\IeC {\'e}vation 0.5 est associ\IeC {\'e}e \IeC {\`a} ceux de la r\IeC {\'e}gion $L$ et l'\IeC {\'e}l\IeC {\'e}vation 0 d\IeC {\'e}signe les pixels n\IeC {\'\i }ntervnant pas dans la d\IeC {\'e}tection.}}{84}{figure.5.11}}
 \newlabel{fig-lniv-detecteur}{{5.11}{84}{Motif de détection des zones à faible pente, pour le cas $\Theta =\Theta _4=45^{\circ }$. L'élévation des pixels permet juste de les distinguer selon 3 classes : l'élévation 1 est associée aux pixels de la région $H$, l'élévation 0.5 est associée à ceux de la région $L$ et l'élévation 0 désigne les pixels níntervnant pas dans la détection}{figure.5.11}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.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.}}{84}{figure.5.12}}
 \newlabel{fig-lniv-classification}{{5.12}{84}{Classification des pixels d'une image bruitée, pour une valeur de seuil $T2=2$ du détecteur. b) Les pixels en noir sont ceux à qui le PI-PD sera appliqué. Les pixels en blancs se verront appliquer une moyenne sur tout ou partie du voisinage}{figure.5.12}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image bruit\IeC {\'e}e}}}{84}{figure.5.12}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Classification des pixels. }}}{84}{figure.5.12}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}R\IeC {\'e}sultats}{84}{section.5.4}}
+\citation{BuadesCM06}
 \@writefile{lof}{\contentsline {figure}{\numberline {5.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.}}{85}{figure.5.13}}
 \newlabel{fig-lniv-exempleresultat}{{5.13}{85}{Comparaison des rendus des traitements comparés. Rangée du haut : les images complètes. Rangée du bas : Zooms sur une zone de l'ímage au dessus}{figure.5.13}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image \textit {airplane} bruit\IeC {\'e}e.}}}{85}{figure.5.13}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image \textit {airplane} filtr\IeC {\'e}e par moyenneur 5$\times $5.}}}{85}{figure.5.13}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image \textit {airplane} filtr\IeC {\'e}e par PI-PD hybride avec $l=5$, $n=25$, $T_{max}=2$ et $T2_{max}=2$.}}}{85}{figure.5.13}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image \textit {airplane} filtr\IeC {\'e}e par PI-PD hybride.}}}{85}{figure.5.13}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.4}Extension aux images couleurs}{85}{section.5.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Expression du crit\IeC {\`e}re}{85}{subsection.5.4.1}}
-\newlabel{eqlv0rgb}{{5.12}{85}{Expression du critère\relax }{equation.5.4.12}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Extension aux images couleurs}{86}{section.5.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.1}Expression du crit\IeC {\`e}re}{86}{subsection.5.5.1}}
+\newlabel{eqlv0rgb}{{5.12}{86}{Expression du critère\relax }{equation.5.5.12}{}}
+\newlabel{eqlv1rgb}{{5.16}{86}{Expression du critère\relax }{equation.5.5.16}{}}
 \citation{tid2008a}
 \citation{psnrhvsm}
 \citation{tid2008a}
-\newlabel{eqlv1rgb}{{5.16}{86}{Expression du critère\relax }{equation.5.4.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}R\IeC {\'e}sultats}{86}{subsection.5.4.2}}
-\newlabel{fig-lniv-tid2008ref}{{5.4.2}{87}{Résultats\relax }{subfigure.5.14.25}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces Images non bruit\IeC {\'e}es de la base tid2008.}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {I01}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {I02}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {I03}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {I04}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {I05}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {I06}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {I07}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {I08}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(i)}{\ignorespaces {I09}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(j)}{\ignorespaces {I10}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {I11}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(l)}{\ignorespaces {I12}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(m)}{\ignorespaces {I13}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(n)}{\ignorespaces {I14}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(o)}{\ignorespaces {I15}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(p)}{\ignorespaces {I16}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(q)}{\ignorespaces {I17}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(r)}{\ignorespaces {I18}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(s)}{\ignorespaces {I19}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(t)}{\ignorespaces {I20}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(u)}{\ignorespaces {I21}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(v)}{\ignorespaces {I22}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(w)}{\ignorespaces {I23}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(x)}{\ignorespaces {I24}}}{87}{figure.5.14}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(y)}{\ignorespaces {I25}}}{87}{figure.5.14}}
-\newlabel{fig-lnivrgb-ex}{{5.4.2}{88}{Résultats\relax }{figure.5.14}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5.15}{\ignorespaces Exemples de r\IeC {\'e}sultat de traitement par PI-PD RVB et par CBM3D pour deux images de la base tid2008 (une image naturelle et l'image de synth\IeC {\`e}se). Il peut \IeC {\^e}tre n\IeC {\'e}cessaire de zoomer sur le document num\IeC {\'e}rique pour visualiser les d\IeC {\'e}tails.}}{88}{figure.5.15}}
-\newlabel{fig-lnivgrb-ex}{{5.15}{88}{Exemples de résultat de traitement par PI-PD RVB et par CBM3D pour deux images de la base tid2008 (une image naturelle et l'image de synthèse). Il peut être nécessaire de zoomer sur le document numérique pour visualiser les détails}{figure.5.15}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image I09 bruit\IeC {\'e}e, PSNR-HVS-M=23,70~dB.}}}{88}{figure.5.15}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image I09 filtr\IeC {\'e}e par PI-PD, PSNR-HVS-M=27,62~dB.}}}{88}{figure.5.15}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image I09 filtr\IeC {\'e}e par CBM3D, PSNR-HVS-M=33,26~dB.}}}{88}{figure.5.15}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image I25 bruit\IeC {\'e}e, PSNR-HVS-M=24,46~dB.}}}{88}{figure.5.15}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Image I25 filtr\IeC {\'e}e par PI-PD, PSNR-HVS-M=24,62~dB.}}}{88}{figure.5.15}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image I25 filtr\IeC {\'e}e par CBM3D, PSNR-HVS-M=31,09~dB.}}}{88}{figure.5.15}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.5}Conclusion}{88}{section.5.5}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.2}R\IeC {\'e}sultats}{87}{subsection.5.5.2}}
+\newlabel{fig-lniv-tid2008ref}{{5.5.2}{88}{Résultats\relax }{subfigure.5.14.25}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces Images non bruit\IeC {\'e}es de la base tid2008.}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {I01}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {I02}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {I03}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {I04}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {I05}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {I06}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {I07}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {I08}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(i)}{\ignorespaces {I09}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(j)}{\ignorespaces {I10}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {I11}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(l)}{\ignorespaces {I12}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(m)}{\ignorespaces {I13}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(n)}{\ignorespaces {I14}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(o)}{\ignorespaces {I15}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(p)}{\ignorespaces {I16}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(q)}{\ignorespaces {I17}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(r)}{\ignorespaces {I18}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(s)}{\ignorespaces {I19}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(t)}{\ignorespaces {I20}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(u)}{\ignorespaces {I21}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(v)}{\ignorespaces {I22}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(w)}{\ignorespaces {I23}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(x)}{\ignorespaces {I24}}}{88}{figure.5.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(y)}{\ignorespaces {I25}}}{88}{figure.5.14}}
+\newlabel{fig-lnivrgb-ex}{{5.5.2}{88}{Résultats\relax }{figure.5.14}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.6}Conclusion}{88}{section.5.6}}
+\citation{perrotlniv}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.15}{\ignorespaces Exemples de r\IeC {\'e}sultat de traitement par PI-PD RVB et par CBM3D pour deux images de la base tid2008 (une image naturelle et l'image de synth\IeC {\`e}se). Il peut \IeC {\^e}tre n\IeC {\'e}cessaire de zoomer sur le document num\IeC {\'e}rique pour visualiser les d\IeC {\'e}tails.}}{89}{figure.5.15}}
+\newlabel{fig-lnivgrb-ex}{{5.15}{89}{Exemples de résultat de traitement par PI-PD RVB et par CBM3D pour deux images de la base tid2008 (une image naturelle et l'image de synthèse). Il peut être nécessaire de zoomer sur le document numérique pour visualiser les détails}{figure.5.15}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image I09 bruit\IeC {\'e}e, PSNR-HVS-M=23,70~dB.}}}{89}{figure.5.15}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image I09 filtr\IeC {\'e}e par PI-PD, PSNR-HVS-M=27,62~dB.}}}{89}{figure.5.15}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image I09 filtr\IeC {\'e}e par CBM3D, PSNR-HVS-M=33,26~dB.}}}{89}{figure.5.15}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image I25 bruit\IeC {\'e}e, PSNR-HVS-M=24,46~dB.}}}{89}{figure.5.15}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Image I25 filtr\IeC {\'e}e par PI-PD, PSNR-HVS-M=24,62~dB.}}}{89}{figure.5.15}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image I25 filtr\IeC {\'e}e par CBM3D, PSNR-HVS-M=31,09~dB.}}}{89}{figure.5.15}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {7}{\ignorespaces D\IeC {\'e}tecteur de zones \IeC {\`a} faible pente (LSR) \texttt  {kernel\_LSR\_detector()}}}{90}{algocfline.7}}
 \newlabel{algo-lniv-detecteur}{{7}{90}{Le détecteur de zone à faible pente\relax }{algocfline.7}{}}
 \@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Temps de calcul et de transfert des impl\IeC {\'e}mentations compar\IeC {\'e}es. }}{91}{table.5.1}}
 \newlabel{tab-lniv-chronos}{{5.1}{91}{Temps de calcul et de transfert des implémentations comparées. \relax }{table.5.1}{}}
-\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage du filtre PI-PD hybride propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e} et \IeC {\`a} un moyenneur GPU 5$\times $5 pris comme r\IeC {\'e}f\IeC {\'e}rence de rapidit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'noisy' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par un bruit gaussien de moyenne nulle et d'\IeC {\'e}cart type $\sigma =25$.}}{91}{table.5.2}}
-\newlabel{tab-lniv-results}{{5.2}{91}{Comparaison image par image de la qualité de débruitage du filtre PI-PD hybride proposé par rapport à BM3D pris comme référence de qualité et à un moyenneur GPU 5$\times $5 pris comme référence de rapidité. Les paramètres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'noisy' donne les mesures relatives à l'image d'entrée corrompue par un bruit gaussien de moyenne nulle et d'écart type $\sigma =25$}{table.5.2}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage des filtres PI-LD et PI-PD hybride propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e} et \IeC {\`a} un moyenneur GPU 5$\times $5 pris comme r\IeC {\'e}f\IeC {\'e}rence de rapidit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'Bruit\IeC {\'e}e' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par un bruit gaussien de moyenne nulle et d'\IeC {\'e}cart type $\sigma =25$.}}{91}{table.5.2}}
+\newlabel{tab-lniv-results}{{5.2}{91}{Comparaison image par image de la qualité de débruitage des filtres PI-LD et PI-PD hybride proposé par rapport à BM3D pris comme référence de qualité et à un moyenneur GPU 5$\times $5 pris comme référence de rapidité. Les paramètres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'Bruitée' donne les mesures relatives à l'image d'entrée corrompue par un bruit gaussien de moyenne nulle et d'écart type $\sigma =25$}{table.5.2}{}}
 \@writefile{lot}{\contentsline {table}{\numberline {5.3}{\ignorespaces Comparaison image par image de la qualit\IeC {\'e} de d\IeC {\'e}bruitage du filtre PI-PD RVB propos\IeC {\'e} par rapport \IeC {\`a} BM3D pris comme r\IeC {\'e}f\IeC {\'e}rence de qualit\IeC {\'e}. Les param\IeC {\`e}tres du PI-PD sont $l=4$, $n=50$, $T_{rvb-max}=5$. La colonne 'noisy' donne les mesures relatives \IeC {\`a} l'image d'entr\IeC {\'e}e corrompue par tirage de bruit gaussien sur chaque canal ( moyenne nulle, \IeC {\'e}cart type $\sigma =25$).}}{92}{table.5.3}}
 \newlabel{tab-lniv-rvb}{{5.3}{92}{Comparaison image par image de la qualité de débruitage du filtre PI-PD RVB proposé par rapport à BM3D pris comme référence de qualité. Les paramètres du PI-PD sont $l=4$, $n=50$, $T_{rvb-max}=5$. La colonne 'noisy' donne les mesures relatives à l'image d'entrée corrompue par tirage de bruit gaussien sur chaque canal ( moyenne nulle, écart type $\sigma =25$)}{table.5.3}{}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {6}Le filtre m\IeC {\'e}dian sur GPU}{93}{chapter.6}}
 \@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Temps de transfert vers et depuis le GPU, en fonction de la dimension de l'image et de la profondeur de niveaux de gris. La colonne ``M\IeC {\'e}moire globale'' donne les temps mesur\IeC {\'e}s lorsque cette seule m\IeC {\'e}moire est employ\IeC {\'e}e.}}{94}{table.6.1}}
 \newlabel{tab-median-memcpy}{{6.1}{94}{Temps de transfert vers et depuis le GPU, en fonction de la dimension de l'image et de la profondeur de niveaux de gris. La colonne ``Mémoire globale'' donne les temps mesurés lorsque cette seule mémoire est employée}{table.6.1}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {6.3}Utilisation des registres}{94}{section.6.3}}
+\citation{medianggems5}
 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}La s\IeC {\'e}lection de la valeur m\IeC {\'e}diane}{95}{subsection.6.3.1}}
 \newlabel{fig-median-ffs3-a}{{6.1(a)}{96}{Subfigure 6 6.1(a)\relax }{subfigure.6.1.1}{}}
 \newlabel{sub@fig-median-ffs3-a}{{(a)}{96}{Subfigure 6 6.1(a)\relax }{subfigure.6.1.1}{}}
 \newlabel{fig-median-ffs3-b}{{6.1(b)}{96}{Subfigure 6 6.1(b)\relax }{subfigure.6.1.2}{}}
 \newlabel{sub@fig-median-ffs3-b}{{(b)}{96}{Subfigure 6 6.1(b)\relax }{subfigure.6.1.2}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Application de la s\IeC {\'e}lection de m\IeC {\'e}diane par oubli. a) \IeC {\`a} une fen\IeC {\^e}tre de $3\times 3$ pixels. b) Maximisation de l'ILP pour l'identification des extrema. }}{96}{figure.6.1}}
-\newlabel{fig-median-ffs3}{{6.1}{96}{Application de la sélection de médiane par oubli. a) à une fenêtre de $3\times 3$ pixels. b) Maximisation de l'ILP pour l'identification des extrema. \relax }{figure.6.1}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Application de la s\IeC {\'e}lection de m\IeC {\'e}diane par oubli. a) \IeC {\`a} une fen\IeC {\^e}tre de $3\times 3$ pixels. b) Maximisation de l'ILP (Instruction Level Parallelism) pour l'identification des extrema. }}{96}{figure.6.1}}
+\newlabel{fig-median-ffs3}{{6.1}{96}{Application de la sélection de médiane par oubli. a) à une fenêtre de $3\times 3$ pixels. b) Maximisation de l'ILP (Instruction Level Parallelism) pour l'identification des extrema. \relax }{figure.6.1}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {\IeC {\'E}tapes de la s\IeC {\'e}lection par oubli pour un filtre 3$\times $3.}}}{96}{figure.6.1}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Premi\IeC {\`e}re \IeC {\'e}tape d'identification des extrema pour un filtre 5$\times $5.}}}{96}{figure.6.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Masquage des latences}{96}{subsection.6.3.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Masquage des latences}{97}{subsection.6.3.2}}
 \@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Gestion des \IeC {\'e}l\IeC {\'e}ments communs aux fen\IeC {\^e}tres de deux pixels centraux voisins dans un filtre m\IeC {\'e}dian 5$\times $5. La liste initiale comprend les 14 premiers \IeC {\'e}l\IeC {\'e}ments communs, puis les 7 premi\IeC {\`e}res \IeC {\'e}tapes de s\IeC {\'e}lection sont conduites en commun avant que les 5 derni\IeC {\`e}res le soient en parall\IeC {\`e}le, mais de mani\IeC {\`e}re disjointe.}}{98}{figure.6.2}}
 \newlabel{fig-median-overlap}{{6.2}{98}{Gestion des éléments communs aux fenêtres de deux pixels centraux voisins dans un filtre médian 5$\times $5. La liste initiale comprend les 14 premiers éléments communs, puis les 7 premières étapes de sélection sont conduites en commun avant que les 5 dernières le soient en parallèle, mais de manière disjointe}{figure.6.2}{}}
 \newlabel{lst-median3}{{6.1}{98}{Kernel réalisant un filtre médian 3$\times $3 en registres}{lstlisting.6.1}{}}
 \newlabel{fig-median-comp}{{6.3}{99}{Comparaison des débits (MP/s) atteints par notre implémentation notée PRMF, avec les principales solutions de référence. De gauche à droite : PCMF, BVM, PRMF, ArrayFire (impossible en 4096$\times $4096)\relax }{figure.6.3}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {image 512$\times $512 pixels.}}}{99}{figure.6.3}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {image 4096$\times $4096 pixels.}}}{99}{figure.6.3}}
-\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Pourcentage du temps d'ex\IeC {\'e}cution pris par les transferts de donn\IeC {\'e}es en fonction de la taille de fen\IeC {\^e}tre du filtre, pour les profondeurs 8 and 16 bit sur GPU C2070.}}{100}{table.6.2}}
-\newlabel{tab-median-coutcpy}{{6.2}{100}{Pourcentage du temps d'exécution pris par les transferts de données en fonction de la taille de fenêtre du filtre, pour les profondeurs 8 and 16 bit sur GPU C2070}{table.6.2}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Pourcentage du temps d'ex\IeC {\'e}cution pris par les transferts de donn\IeC {\'e}es en fonction de la taille de fen\IeC {\^e}tre du filtre, pour les profondeurs 8 et 16 bits sur GPU C2070.}}{100}{table.6.2}}
+\newlabel{tab-median-coutcpy}{{6.2}{100}{Pourcentage du temps d'exécution pris par les transferts de données en fonction de la taille de fenêtre du filtre, pour les profondeurs 8 et 16 bits sur GPU C2070}{table.6.2}{}}
 \@writefile{lot}{\contentsline {table}{\numberline {6.3}{\ignorespaces D\IeC {\'e}bits maximum effectifs $T_8$ and $T_{16}$ (en MP/s), respectivement pour les variantes 8 et 16 bits sur C2070.}}{100}{table.6.3}}
 \newlabel{tab-median-debitmax}{{6.3}{100}{Débits maximum effectifs $T_8$ and $T_{16}$ (en MP/s), respectivement pour les variantes 8 et 16 bits sur C2070}{table.6.3}{}}
 \citation{sanchezICASSP12}
+\citation{perrot2013fine}
+\citation{perrotbookgpu}
 \@writefile{lot}{\contentsline {table}{\numberline {6.4}{\ignorespaces Performances des filtres m\IeC {\'e}dians rapides en fonction des tailles d'image et de fen\IeC {\^e}tre du filtre, en variantes 8 et 16 bits de profondeursur GPU C2070.}}{101}{table.6.4}}
 \newlabel{tab-median-chronos}{{6.4}{101}{Performances des filtres médians rapides en fonction des tailles d'image et de fenêtre du filtre, en variantes 8 et 16 bits de profondeursur GPU C2070}{table.6.4}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {6.5}Conclusion}{101}{section.6.5}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
 \@writefile{toc}{\contentsline {section}{\numberline {7.1}Introduction}{103}{section.7.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.2}Impl\IeC {\'e}mentation g\IeC {\'e}n\IeC {\'e}rique de la convolution non s\IeC {\'e}parable}{103}{section.7.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.2}Impl\IeC {\'e}mentation g\IeC {\'e}n\IeC {\'e}rique de la convolution non s\IeC {\'e}parable sur GPU}{103}{section.7.2}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {9}{\ignorespaces Convolution g\IeC {\'e}n\IeC {\'e}rique sur GPU}}{104}{algocfline.9}}
-\newlabel{algo-convo-gene}{{9}{104}{Implémentation générique de la convolution non séparable\relax }{algocfline.9}{}}
+\newlabel{algo-convo-gene}{{9}{104}{Implémentation générique de la convolution non séparable sur GPU\relax }{algocfline.9}{}}
 \newlabel{lst-convo-gene3reg8}{{7.1}{104}{Kernel réalisant la convolution par un masque moyenneur 3$\times $3 dont les coefficients normalisés sont codés \textit {en dur}, dans les registres du GPU}{lstlisting.7.1}{}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {7.1}Kernel r\IeC {\'e}alisant la convolution par un masque moyenneur 3$\times $3 dont les coefficients normalis\IeC {\'e}s sont cod\IeC {\'e}s \textit  {en dur}, dans les registres du GPU.}{104}{lstlisting.7.1}}
 \@writefile{lot}{\contentsline {table}{\numberline {7.1}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref  {lst-convo-gene3reg8}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{105}{table.7.1}}
 \newlabel{tab-convo-gene3reg8-2070}{{7.1}{105}{Performances des kernels effectuant la convolution non-séparable sur le modèle du listing \ref {lst-convo-gene3reg8}, sur GPU C2070. Le temps d'exécution correspond à la seule exécution du kernel. Le débit global intègre les temps de transfert. Les valeurs en gras correspondent au traitement de référence}{table.7.1}{}}
 \@writefile{lot}{\contentsline {table}{\numberline {7.2}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref  {lst-convo-gene3reg8}, sur GPU GTX280. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence.}}{105}{table.7.2}}
 \newlabel{tab-convo-gene3reg8-480}{{7.2}{105}{Performances des kernels effectuant la convolution non-séparable sur le modèle du listing \ref {lst-convo-gene3reg8}, sur GPU GTX280. Le temps d'exécution correspond à la seule exécution du kernel. Le débit global intègre les temps de transfert. Les valeurs en gras correspondent au traitement de référence}{table.7.2}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.3}Impl\IeC {\'e}mentation optimis\IeC {\'e}e de la convolution non s\IeC {\'e}parable}{105}{section.7.3}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.3}Impl\IeC {\'e}mentation optimis\IeC {\'e}e de la convolution non s\IeC {\'e}parable sur GPU}{105}{section.7.3}}
 \@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Multiplicit\IeC {\'e} des implications des pixels de la zone d'int\IeC {\'e}r\IeC {\^e}t d'un thread dans les calculs de convolution. Le nombre de calculs dans lequel est impliqu\IeC {\'e} un pixel est inscrit en son centre. Le premier pixel du paquet, ou pixel de base, est rep\IeC {\'e}r\IeC {\'e} par ses coordonn\IeC {\'e}es $(x, y)$ ; le dernier a pour coordonn\IeC {\'e}es $(x+7,y)$}}{106}{figure.7.1}}
 \newlabel{fig-convo-overlap}{{7.1}{106}{Multiplicité des implications des pixels de la zone d'intérêt d'un thread dans les calculs de convolution. Le nombre de calculs dans lequel est impliqué un pixel est inscrit en son centre. Le premier pixel du paquet, ou pixel de base, est repéré par ses coordonnées $(x, y)$ ; le dernier a pour coordonnées $(x+7,y)$\relax }{figure.7.1}{}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Cas d'un masque de taille 3$\times $3 ($k=1$) o\IeC {\`u} l'on d\IeC {\'e}nombre 6 colonnes centrales, soit 18 pixels de multiplicit\IeC {\'e} maximale 3.}}}{106}{figure.7.1}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Cas d'un masque de taille 5$\times $5 ($k=2$) o\IeC {\`u} l'on d\IeC {\'e}nombre 4 colonnes centrales, soit 20 pixels de multiplicit\IeC {\'e} maximale 5.}}}{106}{figure.7.1}}
-\@writefile{lot}{\contentsline {table}{\numberline {7.3}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref  {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence }}{107}{table.7.3}}
-\newlabel{tab-convo-8x8p}{{7.3}{107}{Performances des kernels effectuant la convolution non-séparable sur le modèle du listing \ref {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'exécution correspond à la seule exécution du kernel. Le débit global intègre les temps de transfert. Les valeurs en gras correspondent au traitement de référence \relax }{table.7.3}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.3}{\ignorespaces Performances des kernels effectuant la convolution non-s\IeC {\'e}parable sur le mod\IeC {\`e}le du listing \ref  {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} la seule ex\IeC {\'e}cution du kernel. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert. Les valeurs en gras correspondent au traitement de r\IeC {\'e}f\IeC {\'e}rence. }}{107}{table.7.3}}
+\newlabel{tab-convo-8x8p}{{7.3}{107}{Performances des kernels effectuant la convolution non-séparable sur le modèle du listing \ref {lst-convo-8x8pL3}, sur GPU C2070. Le temps d'exécution correspond à la seule exécution du kernel. Le débit global intègre les temps de transfert. Les valeurs en gras correspondent au traitement de référence. \relax }{table.7.3}{}}
 \newlabel{lst-convo-8x8pL3}{{7.2}{107}{Kernel réalisant la convolution par un masque 3$\times $3 dont les coefficients normalisés sont en mémoire constante}{lstlisting.7.2}{}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {7.2}Kernel r\IeC {\'e}alisant la convolution par un masque 3$\times $3 dont les coefficients normalis\IeC {\'e}s sont en m\IeC {\'e}moire constante.}{107}{lstlisting.7.2}}
 \@writefile{toc}{\contentsline {section}{\numberline {7.4}Cas de la convolution s\IeC {\'e}parable}{108}{section.7.4}}
 \newlabel{lst-convo-1Dh}{{7.4}{110}{Kernel réalisant la convolution horizontale 1$\times $3}{lstlisting.7.4}{}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {7.4}Kernel r\IeC {\'e}alisant la convolution horizontale 1$\times $3.}{110}{lstlisting.7.4}}
 \@writefile{toc}{\contentsline {section}{\numberline {7.5}Conclusion}{111}{section.7.5}}
-\@writefile{lot}{\contentsline {table}{\numberline {7.5}{\ignorespaces Performances des kernels effectuant la convolution s\IeC {\'e}parable sur le mod\IeC {\`e}le des listings \ref  {lst-convo-1Dv} et \ref  {lst-convo-1Dh}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} l'ex\IeC {\'e}cution des 2 kernels et de la copie int\IeC {\'e}rm\IeC {\'e}diaire. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert.}}{112}{table.7.5}}
-\newlabel{tab-convo-sep}{{7.5}{112}{Performances des kernels effectuant la convolution séparable sur le modèle des listings \ref {lst-convo-1Dv} et \ref {lst-convo-1Dh}, sur GPU C2070. Le temps d'exécution correspond à l'exécution des 2 kernels et de la copie intérmédiaire. Le débit global intègre les temps de transfert}{table.7.5}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.5}{\ignorespaces Performances des kernels effectuant la convolution s\IeC {\'e}parable sur le mod\IeC {\`e}le des listings \ref  {lst-convo-1Dv} et \ref  {lst-convo-1Dh}, sur GPU C2070. Le temps d'ex\IeC {\'e}cution correspond \IeC {\`a} l'ex\IeC {\'e}cution des 2 kernels et de la copie interm\IeC {\'e}diaire. Le d\IeC {\'e}bit global int\IeC {\`e}gre les temps de transfert.}}{112}{table.7.5}}
+\newlabel{tab-convo-sep}{{7.5}{112}{Performances des kernels effectuant la convolution séparable sur le modèle des listings \ref {lst-convo-1Dv} et \ref {lst-convo-1Dh}, sur GPU C2070. Le temps d'exécution correspond à l'exécution des 2 kernels et de la copie intermédiaire. Le débit global intègre les temps de transfert}{table.7.5}{}}
 \bibstyle{plain}
 \bibdata{biblio}
 \@writefile{toc}{\contentsline {chapter}{\numberline {8}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{113}{chapter.8}}
 \bibcite{1467423}{13}
 \bibcite{BuadesCM06}{14}
 \bibcite{Caselles99topographicmaps}{15}
-\bibcite{5459410}{16}
-\bibcite{cates2004gist}{17}
-\bibcite{chandran2009computational}{18}
-\bibcite{che2008performance}{19}
-\bibcite{chen09}{20}
-\bibcite{1093941}{21}
-\bibcite{cheng1995mean}{22}
-\bibcite{cherkassky1997implementing}{23}
-\bibcite{ChesnaudRB99}{24}
-\bibcite{cohen1993surface}{25}
-\bibcite{comaniciu1999mean}{26}
-\bibcite{comaniciu2002mean}{27}
-\bibcite{cutrona1990synthetic}{28}
-\bibcite{Dabov06imagedenoising}{29}
-\bibcite{Dabov09bm3dimage}{30}
-\bibcite{Daubechies:1992:TLW:130655}{31}
-\bibcite{dixit2005gpu}{32}
-\bibcite{elad2006image}{33}
-\bibcite{felzenszwalb2004efficient}{34}
-\bibcite{fluck2006gpu}{35}
-\bibcite{foley1994introduction}{36}
-\bibcite{ford1955simple}{37}
-\bibcite{fukunaga1975estimation}{38}
-\bibcite{fulkerson2012really}{39}
-\bibcite{GallandBR03}{40}
-\bibcite{GermainR01}{41}
-\bibcite{nlmeansgpubelge}{42}
-\bibcite{snakegvf06}{43}
-\bibcite{healey1994radiometric}{44}
-\bibcite{hochbaum2013simplifications}{45}
-\bibcite{5170921}{46}
-\bibcite{humphrey1924psychology}{47}
-\bibcite{jeong2009scalable}{48}
-\bibcite{5402362}{49}
-\bibcite{KassWT88}{50}
-\bibcite{keselman1998extraction}{51}
-\bibcite{cmla2009Kes}{52}
-\bibcite{kohli2007dynamic}{53}
-\bibcite{lefohn2003inter}{54}
-\bibcite{lefohn2003interactive}{55}
-\bibcite{lefohn2005streaming}{56}
-\bibcite{li2009mean}{57}
-\bibcite{li2011robust}{58}
-\bibcite{macqueen1967some}{59}
-\bibcite{Mallat:2008:WTS:1525499}{60}
-\bibcite{mancuso2001introduction}{61}
-\bibcite{martin2001database}{62}
-\bibcite{coil}{63}
-\bibcite{CUDAPG}{64}
-\bibcite{osher1988fronts}{65}
-\bibcite{4310076}{66}
-\bibcite{PALHANOXAVIERDEFONTES}{67}
-\bibcite{pelleg2000x}{68}
-\bibcite{4287006}{69}
-\bibcite{1521458}{70}
-\bibcite{tid2008a}{71}
-\bibcite{psnrhvsm}{72}
-\bibcite{4587843}{73}
-\bibcite{Roberts:2010:WGA:1921479.1921499}{74}
-\bibcite{ronfard1994region}{75}
-\bibcite{rumpf2001level}{76}
-\bibcite{sanchezICASSP12}{77}
-\bibcite{6288187}{78}
-\bibcite{sethian1996fast}{79}
-\bibcite{kmeansgpuopengl}{80}
-\bibcite{shi2000normalized}{81}
-\bibcite{snakegvfopencl12}{82}
-\bibcite{convolutionsoup}{83}
-\bibcite{graphcutscuda}{84}
-\bibcite{strang1999discrete}{85}
-\bibcite{sanchez2013highly}{86}
-\bibcite{theuwissen2001ccd}{87}
-\bibcite{710815}{88}
-\bibcite{tukey77}{89}
-\bibcite{vedaldi2008quick}{90}
-\bibcite{4563095}{91}
-\bibcite{Vineet:2009:FMS:1572769.1572796}{92}
-\bibcite{volkov2010better}{93}
-\bibcite{wang2001image}{94}
-\bibcite{wang2003image}{95}
-\bibcite{Wang04imagequality}{96}
-\bibcite{wong2010demystifying}{97}
-\bibcite{wu1993optimal}{98}
-\bibcite{xiao2010efficient}{99}
-\bibcite{5206542}{100}
-\bibcite{Zahn:1971:GMD:1309266.1309359}{101}
-\bibcite{zheng2011performance}{102}
-\bibcite{zheng2012fast}{103}
+\bibcite{caselles97}{16}
+\bibcite{5459410}{17}
+\bibcite{cates2004gist}{18}
+\bibcite{chandran2009computational}{19}
+\bibcite{che2008performance}{20}
+\bibcite{chen09}{21}
+\bibcite{1093941}{22}
+\bibcite{cheng1995mean}{23}
+\bibcite{cherkassky1997implementing}{24}
+\bibcite{ChesnaudRB99}{25}
+\bibcite{cohen1993surface}{26}
+\bibcite{comaniciu1999mean}{27}
+\bibcite{comaniciu2002mean}{28}
+\bibcite{cutrona1990synthetic}{29}
+\bibcite{Dabov06imagedenoising}{30}
+\bibcite{Dabov09bm3dimage}{31}
+\bibcite{Daubechies:1992:TLW:130655}{32}
+\bibcite{dixit2005gpu}{33}
+\bibcite{elad2006image}{34}
+\bibcite{felzenszwalb2004efficient}{35}
+\bibcite{fluck2006gpu}{36}
+\bibcite{foley1994introduction}{37}
+\bibcite{ford1955simple}{38}
+\bibcite{fukunaga1975estimation}{39}
+\bibcite{fulkerson2012really}{40}
+\bibcite{GallandBR03}{41}
+\bibcite{GermainR01}{42}
+\bibcite{nlmeansgpubelge}{43}
+\bibcite{snakegvf06}{44}
+\bibcite{healey1994radiometric}{45}
+\bibcite{hochbaum2013simplifications}{46}
+\bibcite{5170921}{47}
+\bibcite{humphrey1924psychology}{48}
+\bibcite{jeong2009scalable}{49}
+\bibcite{5402362}{50}
+\bibcite{KassWT88}{51}
+\bibcite{keselman1998extraction}{52}
+\bibcite{cmla2009Kes}{53}
+\bibcite{kohli2007dynamic}{54}
+\bibcite{lefohn2003inter}{55}
+\bibcite{lefohn2003interactive}{56}
+\bibcite{lefohn2005streaming}{57}
+\bibcite{li2009mean}{58}
+\bibcite{li2011robust}{59}
+\bibcite{macqueen1967some}{60}
+\bibcite{Mallat:2008:WTS:1525499}{61}
+\bibcite{mancuso2001introduction}{62}
+\bibcite{martin2001database}{63}
+\bibcite{matheron75}{64}
+\bibcite{coil}{65}
+\bibcite{CUDAPG}{66}
+\bibcite{osher1988fronts}{67}
+\bibcite{4310076}{68}
+\bibcite{medianggems5}{69}
+\bibcite{PALHANOXAVIERDEFONTES}{70}
+\bibcite{pelleg2000x}{71}
+\bibcite{4287006}{72}
+\bibcite{6036776}{73}
+\bibcite{perrotbookgpu}{74}
+\bibcite{perrot2013fine}{75}
+\bibcite{perrotlniv}{76}
+\bibcite{1521458}{77}
+\bibcite{tid2008a}{78}
+\bibcite{psnrhvsm}{79}
+\bibcite{4587843}{80}
+\bibcite{Roberts:2010:WGA:1921479.1921499}{81}
+\bibcite{ronfard1994region}{82}
+\bibcite{rumpf2001level}{83}
+\bibcite{sanchezICASSP12}{84}
+\bibcite{6288187}{85}
+\bibcite{sethian1996fast}{86}
+\bibcite{kmeansgpuopengl}{87}
+\bibcite{shi2000normalized}{88}
+\bibcite{snakegvfopencl12}{89}
+\bibcite{convolutionsoup}{90}
+\bibcite{graphcutscuda}{91}
+\bibcite{strang1999discrete}{92}
+\bibcite{sanchez2013highly}{93}
+\bibcite{theuwissen2001ccd}{94}
+\bibcite{710815}{95}
+\bibcite{tukey77}{96}
+\bibcite{vedaldi2008quick}{97}
+\bibcite{4563095}{98}
+\bibcite{Vineet:2009:FMS:1572769.1572796}{99}
+\bibcite{volkov2010better}{100}
+\bibcite{wang2001image}{101}
+\bibcite{wang2003image}{102}
+\bibcite{Wang04imagequality}{103}
+\bibcite{wong2010demystifying}{104}
+\bibcite{wu1993optimal}{105}
+\bibcite{xiao2010efficient}{106}
+\bibcite{5206542}{107}
+\bibcite{Zahn:1971:GMD:1309266.1309359}{108}
+\bibcite{zheng2011performance}{109}
+\bibcite{zheng2012fast}{110}
 \citation{CUDAPG}
 \citation{CUDAPG}
 \citation{zheng2011performance}