\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{7}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
+\citation{Caselles99topographicmaps}
+\citation{cutrona1990synthetic}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Le traitement des images bruit\IeC {\'e}es}{11}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
+\citation{mancuso2001introduction}
+\citation{theuwissen2001ccd}
+\citation{healey1994radiometric}
+\citation{kodakccd}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Mod\IeC {\`e}le d'image bruit\IeC {\'e}e}{12}{section.2.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Mod\IeC {\`e}les de bruit}{12}{section.2.2}}
+\newlabel{sec_bruits}{{2.2}{12}{Modèles de bruit\relax }{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Le bruit gaussien}{12}{subsection.2.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Le speckle}{12}{subsection.2.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Le bruit ``sel et poivre''}{13}{subsection.2.2.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Le bruit de Poisson}{13}{subsection.2.2.4}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Les techniques de r\IeC {\'e}duction de bruit}{13}{section.2.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {2.4}Les techniques de segmentation}{14}{section.2.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Analyse d'histogramme}{14}{subsection.2.4.1}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces Calcul du seuil de s\IeC {\'e}paration des segments de l'histogramme.}}{15}{algocfline.1}}
-\newlabel{algo-histo-cochon}{{1}{15}{Analyse d'histogramme\relax }{algocfline.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Analyse de graphe}{15}{subsection.2.4.2}}
-\newlabel{fig-histo-cochon-a}{{2.1(a)}{16}{Subfigure 2 2.1(a)\relax }{subfigure.2.1.1}{}}
-\newlabel{sub@fig-histo-cochon-a}{{(a)}{16}{Subfigure 2 2.1(a)\relax }{subfigure.2.1.1}{}}
-\newlabel{fig-histo-cochon-b}{{2.1(b)}{16}{Subfigure 2 2.1(b)\relax }{subfigure.2.1.2}{}}
-\newlabel{sub@fig-histo-cochon-b}{{(b)}{16}{Subfigure 2 2.1(b)\relax }{subfigure.2.1.2}{}}
-\newlabel{fig-histo-cochon-c}{{2.1(c)}{16}{Subfigure 2 2.1(c)\relax }{subfigure.2.1.3}{}}
-\newlabel{sub@fig-histo-cochon-c}{{(c)}{16}{Subfigure 2 2.1(c)\relax }{subfigure.2.1.3}{}}
-\newlabel{fig-histo-cochon-d}{{2.1(d)}{16}{Subfigure 2 2.1(d)\relax }{subfigure.2.1.4}{}}
-\newlabel{sub@fig-histo-cochon-d}{{(d)}{16}{Subfigure 2 2.1(d)\relax }{subfigure.2.1.4}{}}
-\newlabel{fig-histo-cochon-e}{{2.1(e)}{16}{Subfigure 2 2.1(e)\relax }{subfigure.2.1.5}{}}
-\newlabel{sub@fig-histo-cochon-e}{{(e)}{16}{Subfigure 2 2.1(e)\relax }{subfigure.2.1.5}{}}
-\newlabel{fig-histo-cochon-f}{{2.1(f)}{16}{Subfigure 2 2.1(f)\relax }{subfigure.2.1.6}{}}
-\newlabel{sub@fig-histo-cochon-f}{{(f)}{16}{Subfigure 2 2.1(f)\relax }{subfigure.2.1.6}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{16}{figure.2.1}}
-\newlabel{fig-histo-cochon}{{2.1}{16}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entrée. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : résultat de la segmentation}{figure.2.1}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{16}{figure.2.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{16}{figure.2.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{16}{figure.2.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{16}{figure.2.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{16}{figure.2.1}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{16}{figure.2.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}kernel-means, mean-shift et d\IeC {\'e}riv\IeC {\'e}s}{17}{subsection.2.4.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{18}{figure.2.2}}
-\newlabel{fig-graph-cochon}{{2.2}{18}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 à 5}{figure.2.2}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{18}{figure.2.2}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{18}{figure.2.2}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{18}{figure.2.2}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{18}{figure.2.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{19}{figure.2.3}}
-\newlabel{fig-kmeans-cochon}{{2.3}{19}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 à 5. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.3}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{19}{figure.2.3}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{19}{figure.2.3}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{19}{figure.2.3}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{19}{figure.2.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{20}{figure.2.4}}
-\newlabel{fig-meanshift-cochon}{{2.4}{20}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 à 5. Le volume minimal admis pour un segment est fixé à 100 pixels. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.4}{}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{20}{figure.2.4}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{20}{figure.2.4}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{20}{figure.2.4}}
-\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{20}{figure.2.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Les contours actifs, ou \textit {snakes}}{20}{subsection.2.4.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.5}M\IeC {\'e}thodes hybrides}{21}{subsection.2.4.5}}
-\@writefile{toc}{\contentsline {section}{\numberline {2.5}L'\IeC {\'e}tat de l'art des impl\IeC {\'e}mentations GPU}{22}{section.2.5}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {3}La segmentation orient\IeC {\'e}e r\IeC {\'e}gions dans les images bruit\IeC {\'e}es}{23}{chapter.3}}
+\citation{coil}
+\citation{Wang04imagequality}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Images 256$\times $256 en niveau de gris 8 bits utilis\IeC {\'e}es pour l'illustration des propri\IeC {\'e}t\IeC {\'e}s des filtres. a) l'image de r\IeC {\'e}f\IeC {\'e}rence non bruit\IeC {\'e}e. b) l'image corrompue par un bruit gaussien d'\IeC {\'e}cart type $\sigma =25$. c) l'image corrompue par un bruit impulsionnel \IeC {\`a} 25\%.}}{14}{figure.2.1}}
+\newlabel{fig-ny-noises}{{2.1}{14}{Images 256$\times $256 en niveau de gris 8 bits utilisées pour l'illustration des propriétés des filtres. a) l'image de référence non bruitée. b) l'image corrompue par un bruit gaussien d'écart type $\sigma =25$. c) l'image corrompue par un bruit impulsionnel à 25\%}{figure.2.1}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Sans bruit}}}{14}{figure.2.1}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Bruit gaussien $\sigma =25$, PSNR=22.3~dB MSSIM=0.16}}}{14}{figure.2.1}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Bruit impulsionnel 25\%, PSNR=9.48~dB MSSIM=0.04}}}{14}{figure.2.1}}
+\citation{tukey77}
+\citation{4287006}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Filtrage par convolution.}}{15}{figure.2.2}}
+\newlabel{fig-ny-convo}{{2.2}{15}{Filtrage par convolution}{figure.2.2}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Moyenneur 3$\times $3, PSNR=27.6dB MSSIM=0.34}}}{15}{figure.2.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Moyenneur 5$\times $5, PSNR=27.7dB MSSIM=0.38}}}{15}{figure.2.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Filtre gaussien 3$\times $3, PSNR=27.4dB MSSIM=0.33}}}{15}{figure.2.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Les op\IeC {\'e}rateurs de base}{15}{subsection.2.3.1}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.1}Le filtre de convolution}{15}{subsubsection.2.3.1.1}}
+\newlabel{convoDef}{{2.1}{15}{Le filtre de convolution\relax }{equation.2.3.1}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.2}Le filtre m\IeC {\'e}dian}{15}{subsubsection.2.3.1.2}}
+\citation{710815}
+\citation{1521458}
+\citation{4587843}
+\citation{BuadesCM06}
+\citation{bertaux2004speckle}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces R\IeC {\'e}duction du bruit impulsionnel par filtre m\IeC {\'e}dian.}}{16}{figure.2.3}}
+\newlabel{fig-ny-median}{{2.3}{16}{Réduction du bruit impulsionnel par filtre médian}{figure.2.3}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 une passe, PSNR=26.4~dB MSSIM=0.90}}}{16}{figure.2.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {M\IeC {\'e}dian 3$\times $3 deux passes, PSNR=34.4~dB MSSIM=0.98}}}{16}{figure.2.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {M\IeC {\'e}dian 5$\times $5 une passe, PSNR=35.1~dB MSSIM=0.98}}}{16}{figure.2.3}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.3}Le filtre bilat\IeC {\'e}ral}{16}{subsubsection.2.3.1.3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces R\IeC {\'e}duction de bruit gaussien par filtrage bilat\IeC {\'e}ral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les \IeC {\'e}carts type des fonctions gaussiennes de pond\IeC {\'e}ration spatiale et d'intensit\IeC {\'e}.}}{17}{figure.2.4}}
+\newlabel{fig-ny-bilat}{{2.4}{17}{Réduction de bruit gaussien par filtrage bilatéral de voisinage 5$\times $5. $\sigma _S$ et $\sigma _I$ sont les écarts type des fonctions gaussiennes de pondération spatiale et d'intensité}{figure.2.4}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.1$, PSNR=25.6~dB MSSIM=0.25}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=0.5$, PSNR=28.0~dB MSSIM=0.36}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$\sigma _S=1.0$ et $\sigma _I=1.0$, PSNR=27.9~dB MSSIM=0.36}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.1$, PSNR=26.7~dB MSSIM=0.29}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=0.5$, PSNR=27.9~dB MSSIM=0.39}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {$\sigma _S=2.0$ et $\sigma _I=1.0$, PSNR=27.5~dB MSSIM=0.38}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.1$, PSNR=26.8~dB MSSIM=0.29}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=0.5$, PSNR=26.8~dB MSSIM=0.37}}}{17}{figure.2.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(i)}{\ignorespaces {$\sigma _S=5.0$ et $\sigma _I=1.0$, PSNR=25.9~dB MSSIM=0.36}}}{17}{figure.2.4}}
+\citation{Mallat:2008:WTS:1525499}
+\citation{Daubechies:1992:TLW:130655}
+\citation{1093941}
+\citation{strang1999discrete}
+\citation{elad2006image}
+\citation{elad2006image}
+\citation{1467423}
+\citation{Dabov06imagedenoising}
+\citation{Dabov09bm3dimage}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Filtrage par d\IeC {\'e}composition en ondelettes et seuillage dur des coefficients inf\IeC {\'e}rieurs au seuil $T$.}}{18}{figure.2.5}}
+\newlabel{fig-ny-dwt}{{2.5}{18}{Filtrage par décomposition en ondelettes et seuillage dur des coefficients inférieurs au seuil $T$}{figure.2.5}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$T=20$, PSNR=26.9~dB MSSIM=0.30}}}{18}{figure.2.5}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$T=35$, PSNR=27.6~dB MSSIM=0.36}}}{18}{figure.2.5}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$T=70$, PSNR=26.7~dB MSSIM=0.37}}}{18}{figure.2.5}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1.4}Les algorithmes de filtrage par dictionnaire}{18}{subsubsection.2.3.1.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Les algorithmes de filtrage par patches}{18}{subsection.2.3.2}}
+\citation{cmla2009Kes}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces Filtrage par NL-means pour diff\IeC {\'e}rentes combinaisons des param\IeC {\`e}tres de similarit\IeC {\'e} $f$ et de non localit\IeC {\'e} $t$.}}{19}{figure.2.6}}
+\newlabel{fig-ny-nlm}{{2.6}{19}{Filtrage par NL-means pour différentes combinaisons des paramètres de similarité $f$ et de non localité $t$}{figure.2.6}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$f=2$ et $t=2$, PSNR=28.5~dB MSSIM=0.37}}}{19}{figure.2.6}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$f=2$ et $t=5$, PSNR=28.6~dB MSSIM=0.38}}}{19}{figure.2.6}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$f=5$ et $t=2$, PSNR=29.0~dB MSSIM=0.39}}}{19}{figure.2.6}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$f=5$ et $t=5$, PSNR=29.0~dB MSSIM=0.40}}}{19}{figure.2.6}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces Filtrage par BM3D, PSNR=29.3~dB MSSIM=0.41}}{19}{figure.2.7}}
+\newlabel{fig-ny-bm3d}{{2.7}{19}{Filtrage par BM3D, PSNR=29.3~dB MSSIM=0.41\relax }{figure.2.7}{}}
+\citation{convolutionsoup}
+\citation{4287006}
+\citation{6288187}
+\citation{5402362}
+\citation{chen09}
+\citation{5402362}
+\citation{sanchez2013highly}
+\@writefile{toc}{\contentsline {section}{\numberline {2.4}Les impl\IeC {\'e}mentations GPU des algorithmes de filtrage}{20}{section.2.4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Le filtrage par convolution}{20}{subsection.2.4.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Le filtre m\IeC {\'e}dian}{20}{subsection.2.4.2}}
+\citation{5402362}
+\citation{sanchez2013highly}
+\citation{aldinucci2012parallel}
+\citation{5206542}
+\newlabel{fig-compare-jacket-pcmf1}{{2.8(a)}{21}{Subfigure 2 2.8(a)\relax }{subfigure.2.8.1}{}}
+\newlabel{sub@fig-compare-jacket-pcmf1}{{(a)}{21}{Subfigure 2 2.8(a)\relax }{subfigure.2.8.1}{}}
+\newlabel{fig-compare-jacket-pcmf2}{{2.8(b)}{21}{Subfigure 2 2.8(b)\relax }{subfigure.2.8.2}{}}
+\newlabel{sub@fig-compare-jacket-pcmf2}{{(b)}{21}{Subfigure 2 2.8(b)\relax }{subfigure.2.8.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces Performances relatives des filtres m\IeC {\'e}dians impl\IeC {\'e}ment\IeC {\'e}s sur GPU dans libJacket/ArrayFire, PCMF et BVM et ex\IeC {\'e}cut\IeC {\'e}s sur deux mod\IeC {\`e}le de g\IeC {\'e}n\IeC {\'e}rations diff\IeC {\'e}rentes.}}{21}{figure.2.8}}
+\newlabel{fig-compare-jacket-pcmf}{{2.8}{21}{Performances relatives des filtres médians implémentés sur GPU dans libJacket/ArrayFire, PCMF et BVM et exécutés sur deux modèle de générations différentes}{figure.2.8}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Sur GPU GTX260. Courbe tir\IeC {\'e}e de \cite {5402362}}}}{21}{figure.2.8}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Sur GPU C2075. Courbe tir\IeC {\'e}e de \cite {sanchez2013highly}}}}{21}{figure.2.8}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Le filtre bilat\IeC {\'e}ral}{21}{subsection.2.4.3}}
+\citation{zheng2011performance}
+\citation{zheng2011performance}
+\citation{zheng2011performance}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces Illustration pr\IeC {\'e}-chargement en m\IeC {\'e}moire partag\IeC {\'e}e mise en \oe uvre dans \cite {zheng2011performance} pour l'impl\IeC {\'e}mentation, entre autres, du filtre bilat\IeC {\'e}ral. a) en vert le bloc de threads associ\IeC {\'e} aux pixels centraux. b-e) les blocs de pixels successivement pr\IeC {\'e}-charg\IeC {\'e}s en m\IeC {\'e}moire partag\IeC {\'e}e. f) la configuration finale de la ROI en m\IeC {\'e}moire partag\IeC {\'e}e.}}{22}{figure.2.9}}
+\newlabel{fig-prefetch-zheng}{{2.9}{22}{Illustration pré-chargement en mémoire partagée mise en \oe uvre dans \cite {zheng2011performance} pour l'implémentation, entre autres, du filtre bilatéral. a) en vert le bloc de threads associé aux pixels centraux. b-e) les blocs de pixels successivement pré-chargés en mémoire partagée. f) la configuration finale de la ROI en mémoire partagée}{figure.2.9}{}}
+\citation{PALHANOXAVIERDEFONTES}
+\citation{nlmeansgpubelge}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Les filtres par patches}{23}{subsection.2.4.4}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.5}Les techniques de segmentation}{23}{section.2.5}}
+\citation{humphrey1924psychology}
+\citation{4310076}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.1}Analyse d'histogramme}{24}{subsection.2.5.1}}
+\newlabel{sec-histo}{{2.5.1}{24}{Analyse d'histogramme\relax }{subsection.2.5.1}{}}
+\newlabel{fig-histo-cochon-a}{{2.10(a)}{25}{Subfigure 2 2.10(a)\relax }{subfigure.2.10.1}{}}
+\newlabel{sub@fig-histo-cochon-a}{{(a)}{25}{Subfigure 2 2.10(a)\relax }{subfigure.2.10.1}{}}
+\newlabel{fig-histo-cochon-b}{{2.10(b)}{25}{Subfigure 2 2.10(b)\relax }{subfigure.2.10.2}{}}
+\newlabel{sub@fig-histo-cochon-b}{{(b)}{25}{Subfigure 2 2.10(b)\relax }{subfigure.2.10.2}{}}
+\newlabel{fig-histo-cochon-c}{{2.10(c)}{25}{Subfigure 2 2.10(c)\relax }{subfigure.2.10.3}{}}
+\newlabel{sub@fig-histo-cochon-c}{{(c)}{25}{Subfigure 2 2.10(c)\relax }{subfigure.2.10.3}{}}
+\newlabel{fig-histo-cochon-d}{{2.10(d)}{25}{Subfigure 2 2.10(d)\relax }{subfigure.2.10.4}{}}
+\newlabel{sub@fig-histo-cochon-d}{{(d)}{25}{Subfigure 2 2.10(d)\relax }{subfigure.2.10.4}{}}
+\newlabel{fig-histo-cochon-e}{{2.10(e)}{25}{Subfigure 2 2.10(e)\relax }{subfigure.2.10.5}{}}
+\newlabel{sub@fig-histo-cochon-e}{{(e)}{25}{Subfigure 2 2.10(e)\relax }{subfigure.2.10.5}{}}
+\newlabel{fig-histo-cochon-f}{{2.10(f)}{25}{Subfigure 2 2.10(f)\relax }{subfigure.2.10.6}{}}
+\newlabel{sub@fig-histo-cochon-f}{{(f)}{25}{Subfigure 2 2.10(f)\relax }{subfigure.2.10.6}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entr\IeC {\'e}e. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : r\IeC {\'e}sultat de la segmentation.}}{25}{figure.2.10}}
+\newlabel{fig-histo-cochon}{{2.10}{25}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par analyse simple d'histogramme. Colonne de gauche : image d'entrée. Colonne centrale : histogramme des niveaux de gris. Colonne de droite : résultat de la segmentation}{figure.2.10}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image initiale comportant deux zones : le fond et le cochon (la cible)}}}{25}{figure.2.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Histogramme des niveaux de gris}}}{25}{figure.2.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 101 apr\IeC {\`e}s 4 it\IeC {\'e}rations.}}}{25}{figure.2.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {Image initiale bruit\IeC {\'e}e}}}{25}{figure.2.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {Histogramme des niveaux de gris}}}{25}{figure.2.10}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {Image binaire repr\IeC {\'e}sentant la segmentation. Seuil estim\IeC {\'e} \IeC {\`a} 99 apr\IeC {\`e}s 5 it\IeC {\'e}rations.}}}{25}{figure.2.10}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces Calcul du seuil de s\IeC {\'e}paration des segments de l'histogramme.}}{25}{algocfline.1}}
+\newlabel{algo-histo-cochon}{{1}{25}{Analyse d'histogramme\relax }{algocfline.1}{}}
+\citation{Zahn:1971:GMD:1309266.1309359}
+\citation{wu1993optimal}
+\citation{wang2001image}
+\citation{wang2003image}
+\citation{felzenszwalb2004efficient}
+\citation{shi2000normalized}
+\citation{shi2000normalized}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.2}Partitionnement de graphe}{26}{subsection.2.5.2}}
+\citation{ford1955simple}
+\citation{boykov2004experimental}
+\citation{chandran2009computational}
+\citation{cherkassky1997implementing}
+\citation{hochbaum2013simplifications}
+\citation{macqueen1967some}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.11}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5.}}{27}{figure.2.11}}
+\newlabel{fig-graph-cochon}{{2.11}{27}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par simplification de graphe de type \textit {Normalized cut} pour un nombre $s$ de segments variant de 2 à 5}{figure.2.11}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{27}{figure.2.11}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{27}{figure.2.11}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{27}{figure.2.11}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{27}{figure.2.11}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.3}kernel-means, mean-shift et apparent\IeC {\'e}s}{27}{subsection.2.5.3}}
+\citation{agarwal2002exact}
+\citation{arora1998approximation}
+\citation{pelleg2000x}
+\citation{fukunaga1975estimation}
+\citation{cheng1995mean}
+\citation{foley1994introduction}
+\citation{comaniciu1999mean}
+\citation{comaniciu2002mean}
+\citation{keselman1998extraction}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.12}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 \IeC {\`a} 5. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{28}{figure.2.12}}
+\newlabel{fig-kmeans-cochon}{{2.12}{28}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {k-means} pour un nombre $s$ de segments variant de 2 à 5. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.12}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$s = 2$}}}{28}{figure.2.12}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$s = 3$}}}{28}{figure.2.12}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$s = 4$}}}{28}{figure.2.12}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$s = 5$}}}{28}{figure.2.12}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.13}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 \IeC {\`a} 5. Le volume minimal admis pour un segment est fix\IeC {\'e} \IeC {\`a} 100 pixels. Chaque couleur est associ\IeC {\'e}e \IeC {\`a} un segment. Les couleurs sont choisies pour une meilleure visualisation des diff\IeC {\'e}rents segments.}}{29}{figure.2.13}}
+\newlabel{fig-meanshift-cochon}{{2.13}{29}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme \textit {mean-shift} pour un rayon de voisinage $r$ de 100, 50, 35 et 25 pixels permettant d'obtenir un nombre $s$ de segments variant respectivement de 2 à 5. Le volume minimal admis pour un segment est fixé à 100 pixels. Chaque couleur est associée à un segment. Les couleurs sont choisies pour une meilleure visualisation des différents segments}{figure.2.13}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$r=100 \Rightarrow s = 2$}}}{29}{figure.2.13}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$r=50 \Rightarrow s = 3$}}}{29}{figure.2.13}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$r=35 \Rightarrow s = 4$}}}{29}{figure.2.13}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$r=25 \Rightarrow s = 5$}}}{29}{figure.2.13}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.4}Les contours actifs, ou \textit {snakes}}{29}{subsection.2.5.4}}
+\citation{KassWT88}
+\citation{osher1988fronts}
+\citation{adalsteinsson1994fast}
+\citation{sethian1996fast}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.14}{\ignorespaces Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les param\IeC {\`e}tres d'\IeC {\'e}lasticit\IeC {\'e}, de raideur et d'attraction ont \IeC {\'e}t\IeC {\'e} fix\IeC {\'e}s respectivement aux valeurs 5, 0.1 et 5. }}{30}{figure.2.14}}
+\newlabel{fig-snake-tradi-cochon}{{2.14}{30}{Segmentation d'une image en niveaux de gris de 128 $\times $ 128 pixels par algorithme dit du \textit {snake}, dans sa version originale. Les paramètres d'élasticité, de raideur et d'attraction ont été fixés respectivement aux valeurs 5, 0.1 et 5. \relax }{figure.2.14}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Les \IeC {\'e}tats initial et suivant chacune des trois premi\IeC {\`e}res it\IeC {\'e}rations}}}{30}{figure.2.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la septi\IeC {\`e}me it\IeC {\'e}ration}}}{30}{figure.2.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la dixi\IeC {\`e}me it\IeC {\'e}ration}}}{30}{figure.2.14}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {L'\IeC {\'e}tat du contour apr\IeC {\`e}s la centi\IeC {\`e}me it\IeC {\'e}ration. C'est le contour final.}}}{30}{figure.2.14}}
+\citation{cohen1993surface}
+\citation{ronfard1994region}
+\citation{ChesnaudRB99}
+\citation{GallandBR03}
+\citation{GermainR01}
+\citation{arbelaez2011contour}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5.5}M\IeC {\'e}thodes hybrides}{31}{subsection.2.5.5}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.6}Les impl\IeC {\'e}mentations GPU des techniques de segmentation}{31}{section.2.6}}
+\citation{fluck2006gpu}
+\citation{lefohn2003interactive}
+\citation{Vineet:2009:FMS:1572769.1572796}
+\citation{dixit2005gpu}
+\citation{4563095}
+\citation{kohli2007dynamic}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6.1}Calcul d'histogramme}{32}{subsection.2.6.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6.2}Partitionnement de graphe}{32}{subsection.2.6.2}}
+\citation{graphcutscuda}
+\citation{graphcutscuda}
+\citation{4563095}
+\citation{graphcutscuda}
+\citation{graphcutscuda}
+\citation{che2008performance}
+\citation{kddcup99}
+\citation{5170921}
+\citation{che2008performance}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.15}{\ignorespaces \IeC {\'E}volution du nombre de pixels actifs pour les it\IeC {\'e}ration successives de l'impl\IeC {\'e}mentation de l'algorithme push-relabel de \cite {graphcutscuda}. Les petites images montrent la localisation des pixels actifs apr\IeC {\`e}s chaque it\IeC {\'e}ration, en blanc.}}{33}{figure.2.15}}
+\newlabel{fig-graphcutscuda}{{2.15}{33}{Évolution du nombre de pixels actifs pour les itération successives de l'implémentation de l'algorithme push-relabel de \cite {graphcutscuda}. Les petites images montrent la localisation des pixels actifs après chaque itération, en blanc}{figure.2.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6.3}K-means, mean-shift et apparent\IeC {\'e}s}{33}{subsection.2.6.3}}
+\citation{kmeansgpuopengl}
+\citation{li2009mean}
+\citation{vedaldi2008quick}
+\citation{fulkerson2012really}
+\citation{fulkerson2012really}
+\citation{fulkerson2012really}
+\citation{fulkerson2012really}
+\citation{xiao2010efficient}
+\citation{lefohn2003inter}
+\citation{lefohn2003interactive}
+\citation{rumpf2001level}
+\citation{rumpf2001level}
+\citation{lefohn2005streaming}
+\citation{cates2004gist}
+\citation{jeong2009scalable}
+\citation{jeong2009scalable}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.16}{\ignorespaces Segmentation d'une image couleur de 512$\times $512 pixels par l'impl\IeC {\'e}mentation GPU quick-shift de \cite {fulkerson2012really}.}}{35}{figure.2.16}}
+\newlabel{fig-quickshift-yo}{{2.16}{35}{Segmentation d'une image couleur de 512$\times $512 pixels par l'implémentation GPU quick-shift de \cite {fulkerson2012really}}{figure.2.16}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image originale}}}{35}{figure.2.16}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$\tau =10$ et $\sigma =2$}}}{35}{figure.2.16}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {$\tau =10$ et $\sigma =10$}}}{35}{figure.2.16}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {$\tau =20$ et $\sigma =10$}}}{35}{figure.2.16}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.17}{\ignorespaces Segmentation d'une image couleur de 2256$\times $3008 pixels.}}{35}{figure.2.17}}
+\newlabel{fig-meanshift-castle}{{2.17}{35}{Segmentation d'une image couleur de 2256$\times $3008 pixels}{figure.2.17}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Image originale}}}{35}{figure.2.17}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift standard}}}{35}{figure.2.17}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image segment\IeC {\'e}e par mean-shift kd-tree}}}{35}{figure.2.17}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6.4}Snakes et Level set}{35}{subsection.2.6.4}}
+\citation{Roberts:2010:WGA:1921479.1921499}
+\citation{lefohn2003inter}
+\citation{snakegvf06}
+\citation{bauer2009segmentation}
+\citation{li2011robust}
+\citation{snakegvfopencl12}
+\citation{snakegvf06}
+\citation{snakegvf06}
+\citation{snakegvf06}
+\citation{zheng2012fast}
+\citation{li2011robust}
+\newlabel{fig-l7-brain}{{2.18(a)}{37}{Subfigure 2 2.18(a)\relax }{subfigure.2.18.1}{}}
+\newlabel{sub@fig-l7-brain}{{(a)}{37}{Subfigure 2 2.18(a)\relax }{subfigure.2.18.1}{}}
+\newlabel{fig-l7-reins}{{2.18(b)}{37}{Subfigure 2 2.18(b)\relax }{subfigure.2.18.2}{}}
+\newlabel{sub@fig-l7-reins}{{(b)}{37}{Subfigure 2 2.18(b)\relax }{subfigure.2.18.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.18}{\ignorespaces Segmentation d'images issues d'examens IRM par la m\IeC {\'e}thode des level set \IeC {\`a} bande \IeC {\'e}troite.}}{37}{figure.2.18}}
+\newlabel{fig-l7-narrow}{{2.18}{37}{Segmentation d'images issues d'examens IRM par la méthode des level set à bande étroite}{figure.2.18}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Cerveau 256$\times $256$\times $256 en 7~s}}}{37}{figure.2.18}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Reins et aorte, 256$\times $256$\times $272 en 16~s}}}{37}{figure.2.18}}
+\newlabel{fig-epaule-init}{{2.19(a)}{37}{Subfigure 2 2.19(a)\relax }{subfigure.2.19.1}{}}
+\newlabel{sub@fig-epaule-init}{{(a)}{37}{Subfigure 2 2.19(a)\relax }{subfigure.2.19.1}{}}
+\newlabel{fig-epaule-fin}{{2.19(b)}{37}{Subfigure 2 2.19(b)\relax }{subfigure.2.19.2}{}}
+\newlabel{sub@fig-epaule-fin}{{(b)}{37}{Subfigure 2 2.19(b)\relax }{subfigure.2.19.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.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. }}{37}{figure.2.19}}
+\newlabel{fig-snakegvf}{{2.19}{37}{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.2.19}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Contour initial}}}{37}{figure.2.19}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Contour final}}}{37}{figure.2.19}}
+\citation{snakegvfopencl12}
+\citation{arbelaez2011contour}
+\citation{5459410}
+\citation{martin2001database}
+\citation{bresenham1965algorithm}
+\citation{martin2001database}
+\citation{martin2001database}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.20}{\ignorespaces Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite {martin2001database}}}{38}{figure.2.20}}
+\newlabel{fig-gPb}{{2.20}{38}{Extraction de contour par la version GPU de l'algorithme gPb. Les images sont issues de la base BSDS \cite {martin2001database}\relax }{figure.2.20}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6.5}Algorithmes hybrides}{38}{subsection.2.6.5}}
+\citation{volkov2010better}
+\@writefile{toc}{\contentsline {section}{\numberline {2.7}Conclusion}{39}{section.2.7}}
+\citation{ChesnaudRB99}
+\citation{ChesnaudRB99}
+\@writefile{toc}{\contentsline {chapter}{\numberline {3}La segmentation par snake polygonal orient\IeC {\'e} r\IeC {\'e}gions}{41}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {3.1}Pr\IeC {\'e}sentation - existant}{23}{section.3.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.2}La parall\IeC {\`e}lisation du snake polygonal}{23}{section.3.2}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {4}Le filtrage des images sur GPU}{25}{chapter.4}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.1}Pr\IeC {\'e}sentation de l'algorithme}{41}{section.3.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Formulation}{41}{subsection.3.1.1}}
+\newlabel{eq-lhprod1}{{3.2}{42}{Formulation\relax }{equation.3.1.2}{}}
+\newlabel{eq-pdfgauss}{{3.3}{42}{Formulation\relax }{equation.3.1.3}{}}
+\newlabel{eq-gl1}{{3.4}{42}{Formulation\relax }{equation.3.1.4}{}}
+\newlabel{eq-teta}{{3.5}{42}{Formulation\relax }{equation.3.1.5}{}}
+\newlabel{eq-gl}{{3.6}{42}{Formulation\relax }{equation.3.1.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Optimisation des calculs}{42}{subsection.3.1.2}}
+\newlabel{snake-formulation}{{3.1.2}{42}{Optimisation des calculs\relax }{subsection.3.1.2}{}}
+\newlabel{eq-sommes1}{{3.7}{42}{Optimisation des calculs\relax }{equation.3.1.7}{}}
+\newlabel{eq-sommes-gene}{{3.8}{43}{Optimisation des calculs\relax }{equation.3.1.8}{}}
+\newlabel{eq-cumuls1}{{3.9}{43}{Optimisation des calculs\relax }{equation.3.1.9}{}}
+\newlabel{eq-somme-cumuls2}{{3.10}{43}{Optimisation des calculs\relax }{equation.3.1.10}{}}
+\newlabel{eq-somme-contour}{{3.11}{43}{Optimisation des calculs\relax }{equation.3.1.11}{}}
+\newlabel{eq-coefC}{{3.12}{43}{Optimisation des calculs\relax }{equation.3.1.12}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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. }}{43}{figure.3.1}}
+\newlabel{fig-freeman}{{3.1}{43}{À 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.3.1}{}}
+\citation{ChesnaudRB99}
+\newlabel{li-img-cumul}{{2}{44}{}{AlgoLine3.2}{}}
+\newlabel{li-bresen}{{18}{44}{}{AlgoLine3.18}{}}
+\newlabel{li-contrib-seg-deb}{{19}{44}{}{AlgoLine3.19}{}}
+\newlabel{li-contrib-seg-fin}{{21}{44}{}{AlgoLine3.21}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$.}}{44}{table.3.1}}
+\newlabel{tab-freeman}{{3.1}{44}{Valeur du coefficient $C(i,j)$ en fonction des valeurs des codes de Freeman des vecteurs $f_{in}$ et $f_{out}$}{table.3.1}{}}
+\newlabel{eq-img-cumul}{{3.13}{44}{Optimisation des calculs\relax }{equation.3.1.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{44}{subsection.3.1.3}}
+\newlabel{snake-cpu-impl}{{3.1.3}{44}{Implémentation séquentielle\relax }{subsection.3.1.3}{}}
+\newlabel{algo-snake-cpu}{{2}{45}{Implémentation séquentielle\relax }{algocfline.2}{}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces Principe mis en \oe uvre pour la convergence du snake polygonal}}{45}{algocfline.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Performances}{45}{subsection.3.1.4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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.}}{46}{figure.3.2}}
+\newlabel{fig-snakecpu-cochon512}{{3.2}{46}{É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.3.2}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initialisation : 4 n\oe uds}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {It\IeC {\'e}ration 1 : 8 n\oe uds 3~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {It\IeC {\'e}ration 2 : 16 n\oe uds 1~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {It\IeC {\'e}ration 3, 32 n\oe uds 1~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {It\IeC {\'e}ration 7 : 223 n\oe uds 3~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {It\IeC {\'e}ration 10 : 244 n\oe uds 3~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {It\IeC {\'e}ration 13 : 256 n\oe uds 3~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {It\IeC {\'e}ration 14 : 256 n\oe uds 3~ms}}}{46}{figure.3.2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}.}}{46}{figure.3.3}}
+\newlabel{fig-snakecpu-compinit}{{3.3}{46}{Influence du contour initial sur la segmentation. Le contour final 1 est celui de la figure \ref {fig-snakecpu-cochon512}}{figure.3.3}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initialisation 2 }}}{46}{figure.3.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Contour final 2 : 273 n\oe uds 87~ms}}}{46}{figure.3.3}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Contour final 1 : 256 n\oe uds 44~ms}}}{46}{figure.3.3}}
+\newlabel{fig-snakecpu-cochon4ka}{{3.4(a)}{47}{Subfigure 3 3.4(a)\relax }{subfigure.3.4.1}{}}
+\newlabel{sub@fig-snakecpu-cochon4ka}{{(a)}{47}{Subfigure 3 3.4(a)\relax }{subfigure.3.4.1}{}}
+\newlabel{fig-snakecpu-cochon4kb}{{3.4(b)}{47}{Subfigure 3 3.4(b)\relax }{subfigure.3.4.2}{}}
+\newlabel{sub@fig-snakecpu-cochon4kb}{{(b)}{47}{Subfigure 3 3.4(b)\relax }{subfigure.3.4.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Segmentation de l'image de test en 4000$^2$ pixels.}}{47}{figure.3.4}}
+\newlabel{fig-snakecpu-cochon4k}{{3.4}{47}{Segmentation de l'image de test en 4000$^2$ pixels}{figure.3.4}{}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {$d_{max}=16$ et $l_{min}=8$, 1246 n\oe uds en 1.3~s}}}{47}{figure.3.4}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {$d_{max}=128$ et $l_{min}=32$, 447 n\oe uds en 0.7~s}}}{47}{figure.3.4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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}.}}{47}{figure.3.5}}
+\newlabel{fig-snakecpu-cochon4kc3}{{3.5}{47}{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.3.5}{}}
+\citation{BlellochTR90}
+\newlabel{fig-snakecpu-chronos1}{{3.2}{48}{Implémentation parallèle GPU du snake polygonal\relax }{section.3.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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.}}{48}{figure.3.6}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{48}{section.3.2}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{48}{subsection.3.2.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Calcul des contribution des segments}{49}{subsection.3.2.2}}
+\newlabel{fig-calcul-cumuls}{{3.2.1}{50}{pré-calculs des images cumulées\relax }{subfigure.3.7.3}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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.}}{50}{figure.3.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.}}}{50}{figure.3.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()}.}}}{50}{figure.3.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()}.}}}{50}{figure.3.7}}
+\newlabel{fig-structure-segment}{{3.2.2}{51}{Calcul des contribution des segments\relax }{subsection.3.2.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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.}}{51}{figure.3.8}}
+\newlabel{fig-cycle-contribs-segments}{{3.2.2}{52}{Calcul des contribution des segments\relax }{subfigure.3.9.6}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.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.}}{52}{figure.3.9}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Contour de r\IeC {\'e}f\IeC {\'e}rence.}}}{52}{figure.3.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}.}}}{52}{figure.3.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}.}}}{52}{figure.3.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}.}}}{52}{figure.3.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}.}}}{52}{figure.3.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}.}}}{52}{figure.3.9}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2.1}Cas particulier des segments dont la pente $k$ v\IeC {\'e}rifie $|k|\leq 1$}{53}{subsubsection.3.2.2.1}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {3}{\ignorespaces D\IeC {\'e}tail de l'impl\IeC {\'e}mentation du snake polygonal}}{54}{algocfline.3}}
+\newlabel{cpualgo}{{3}{54}{Implémentation séquentielle\relax }{algocfline.3}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {3.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.}}{55}{table.3.2}}
+\newlabel{tab-snakecpu-speed-size}{{3.2}{55}{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.3.2}{}}
+\@writefile{lot}{\contentsline {table}{\numberline {3.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.}}{55}{table.3.3}}
+\newlabel{tab-speedup-cumuls}{{3.3}{55}{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.3.3}{}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}Le filtrage des images sur GPU}{57}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}Algorithme de r\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{25}{section.4.1}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}Filtre m\IeC {\'e}dian}{25}{section.4.2}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}Filtres de convolution}{25}{section.4.3}}
-\bibdata{biblio.bib}
-\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{27}{chapter.5}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}Algorithme de r\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{57}{section.4.1}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Filtre m\IeC {\'e}dian}{57}{section.4.2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}Filtres de convolution}{57}{section.4.3}}
+\bibstyle{plain}
+\bibdata{biblio}
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{59}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
+\bibcite{kddcup99}{1}
+\bibcite{kodakccd}{2}
+\bibcite{adalsteinsson1994fast}{3}
+\bibcite{agarwal2002exact}{4}
+\bibcite{aldinucci2012parallel}{5}
+\bibcite{arbelaez2011contour}{6}
+\bibcite{arora1998approximation}{7}
+\bibcite{bauer2009segmentation}{8}
+\bibcite{bertaux2004speckle}{9}
+\bibcite{BlellochTR90}{10}
+\bibcite{boykov2004experimental}{11}
+\bibcite{bresenham1965algorithm}{12}
+\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{osher1988fronts}{64}
+\bibcite{4310076}{65}
+\bibcite{PALHANOXAVIERDEFONTES}{66}
+\bibcite{pelleg2000x}{67}
+\bibcite{4287006}{68}
+\bibcite{1521458}{69}
+\bibcite{4587843}{70}
+\bibcite{Roberts:2010:WGA:1921479.1921499}{71}
+\bibcite{ronfard1994region}{72}
+\bibcite{rumpf2001level}{73}
+\bibcite{6288187}{74}
+\bibcite{sethian1996fast}{75}
+\bibcite{kmeansgpuopengl}{76}
+\bibcite{shi2000normalized}{77}
+\bibcite{snakegvfopencl12}{78}
+\bibcite{convolutionsoup}{79}
+\bibcite{graphcutscuda}{80}
+\bibcite{strang1999discrete}{81}
+\bibcite{sanchez2013highly}{82}
+\bibcite{theuwissen2001ccd}{83}
+\bibcite{710815}{84}
+\bibcite{tukey77}{85}
+\bibcite{vedaldi2008quick}{86}
+\bibcite{4563095}{87}
+\bibcite{Vineet:2009:FMS:1572769.1572796}{88}
+\bibcite{volkov2010better}{89}
+\bibcite{wang2001image}{90}
+\bibcite{wang2003image}{91}
+\bibcite{Wang04imagequality}{92}
+\bibcite{wu1993optimal}{93}
+\bibcite{xiao2010efficient}{94}
+\bibcite{5206542}{95}
+\bibcite{Zahn:1971:GMD:1309266.1309359}{96}
+\bibcite{zheng2011performance}{97}
+\bibcite{zheng2012fast}{98}
+\citation{zheng2011performance}
+\citation{graphcutscuda}
+\citation{fulkerson2012really}
+\citation{snakegvf06}
+\citation{martin2001database}