-\contentsline {section}{\numberline {3.3}Les techniques de r\IeC {\'e}duction de bruit}{22}{section.3.3}
-\contentsline {subsection}{\numberline {3.3.1}Les op\IeC {\'e}rateurs de base}{23}{subsection.3.3.1}
-\contentsline {subsubsection}{\numberline {3.3.1.1}Le filtre de convolution}{23}{subsubsection.3.3.1.1}
-\contentsline {subsubsection}{\numberline {3.3.1.2}Le filtre m\IeC {\'e}dian}{24}{subsubsection.3.3.1.2}
-\contentsline {subsubsection}{\numberline {3.3.1.3}Le filtre bilat\IeC {\'e}ral}{24}{subsubsection.3.3.1.3}
-\contentsline {subsubsection}{\numberline {3.3.1.4}Les algorithmes de filtrage par dictionnaire}{25}{subsubsection.3.3.1.4}
-\contentsline {subsection}{\numberline {3.3.2}Les algorithmes de filtrage par patches}{25}{subsection.3.3.2}
-\contentsline {section}{\numberline {3.4}Les impl\IeC {\'e}mentations sur GPU des algorithmes de filtrage}{27}{section.3.4}
-\contentsline {subsection}{\numberline {3.4.1}Le filtrage par convolution}{28}{subsection.3.4.1}
-\contentsline {subsection}{\numberline {3.4.2}Le filtre m\IeC {\'e}dian}{28}{subsection.3.4.2}
-\contentsline {subsection}{\numberline {3.4.3}Le filtre bilat\IeC {\'e}ral}{30}{subsection.3.4.3}
-\contentsline {subsection}{\numberline {3.4.4}Les filtres par patches}{31}{subsection.3.4.4}
-\contentsline {section}{\numberline {3.5}Les techniques de segmentation}{31}{section.3.5}
-\contentsline {subsection}{\numberline {3.5.1}Analyse d'histogramme}{32}{subsection.3.5.1}
-\contentsline {subsection}{\numberline {3.5.2}Partitionnement de graphe}{33}{subsection.3.5.2}
-\contentsline {subsection}{\numberline {3.5.3}kernel-means, mean-shift et apparent\IeC {\'e}s}{35}{subsection.3.5.3}
-\contentsline {subsection}{\numberline {3.5.4}Les contours actifs, ou \textit {snakes}}{37}{subsection.3.5.4}
-\contentsline {subsection}{\numberline {3.5.5}M\IeC {\'e}thodes hybrides}{39}{subsection.3.5.5}
-\contentsline {section}{\numberline {3.6}Les impl\IeC {\'e}mentations sur GPU des techniques de segmentation}{40}{section.3.6}
-\contentsline {subsection}{\numberline {3.6.1}Calcul d'histogramme}{40}{subsection.3.6.1}
-\contentsline {subsection}{\numberline {3.6.2}Partitionnement de graphe}{40}{subsection.3.6.2}
-\contentsline {subsection}{\numberline {3.6.3}K-means, mean-shift et apparent\IeC {\'e}s}{42}{subsection.3.6.3}
-\contentsline {subsection}{\numberline {3.6.4}Snakes et Level set}{43}{subsection.3.6.4}
-\contentsline {subsection}{\numberline {3.6.5}Algorithmes hybrides}{46}{subsection.3.6.5}
-\contentsline {section}{\numberline {3.7}Conclusion}{47}{section.3.7}
-\contentsline {chapter}{\numberline {4}La segmentation par snake polygonal orient\IeC {\'e} r\IeC {\'e}gions}{49}{chapter.4}
-\contentsline {section}{\numberline {4.1}Introduction}{49}{section.4.1}
-\contentsline {section}{\numberline {4.2}Pr\IeC {\'e}sentation de l'algorithme}{49}{section.4.2}
-\contentsline {subsection}{\numberline {4.2.1}Formulation}{49}{subsection.4.2.1}
-\contentsline {subsection}{\numberline {4.2.2}Optimisation des calculs}{50}{subsection.4.2.2}
-\contentsline {subsection}{\numberline {4.2.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{52}{subsection.4.2.3}
-\contentsline {subsection}{\numberline {4.2.4}Performances}{54}{subsection.4.2.4}
-\contentsline {section}{\numberline {4.3}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{56}{section.4.3}
-\contentsline {subsection}{\numberline {4.3.1}Pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{57}{subsection.4.3.1}
-\contentsline {subsection}{\numberline {4.3.2}Calcul des contributions des segments}{58}{subsection.4.3.2}
-\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}
-\contentsline {subsection}{\numberline {4.3.3}Performances}{63}{subsection.4.3.3}
-\contentsline {subsection}{\numberline {4.3.4}D\IeC {\'e}termination intelligente du contour initial}{64}{subsection.4.3.4}
-\contentsline {subsection}{\numberline {4.3.5}Conclusion}{66}{subsection.4.3.5}
-\contentsline {chapter}{\numberline {5}R\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{71}{chapter.5}
-\contentsline {section}{\numberline {5.1}Introduction}{71}{section.5.1}
-\contentsline {section}{\numberline {5.2}Pr\IeC {\'e}sentation de l'algorithme}{72}{section.5.2}
-\contentsline {subsection}{\numberline {5.2.1}Formulation}{72}{subsection.5.2.1}
-\contentsline {subsubsection}{\numberline {5.2.1.1}Isolines \IeC {\`a} un seul segment}{72}{subsubsection.5.2.1.1}
-\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}
-\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}
-\contentsline {subsection}{\numberline {5.3.1}Isolines \IeC {\'e}valu\IeC {\'e}es semi-globalement}{76}{subsection.5.3.1}
-\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}
-\contentsline {subsection}{\numberline {5.3.3}Mod\IeC {\`e}le PI-PD hybride}{80}{subsection.5.3.3}
-\contentsline {subsubsection}{\numberline {5.3.3.1}Le d\IeC {\'e}tecteur de zone \IeC {\`a} faible pente}{82}{subsubsection.5.3.3.1}
-\contentsline {section}{\numberline {5.4}R\IeC {\'e}sultats}{84}{section.5.4}
-\contentsline {section}{\numberline {5.5}Extension aux images couleurs}{86}{section.5.5}
-\contentsline {subsection}{\numberline {5.5.1}Expression du crit\IeC {\`e}re}{86}{subsection.5.5.1}
-\contentsline {subsection}{\numberline {5.5.2}R\IeC {\'e}sultats}{87}{subsection.5.5.2}
-\contentsline {section}{\numberline {5.6}Conclusion}{88}{section.5.6}
-\contentsline {chapter}{\numberline {6}Le filtre m\IeC {\'e}dian sur GPU}{93}{chapter.6}
-\contentsline {section}{\numberline {6.1}Introduction}{93}{section.6.1}
-\contentsline {section}{\numberline {6.2}Les transferts de donn\IeC {\'e}es}{93}{section.6.2}
-\contentsline {section}{\numberline {6.3}Utilisation des registres}{94}{section.6.3}
-\contentsline {subsection}{\numberline {6.3.1}La s\IeC {\'e}lection de la valeur m\IeC {\'e}diane}{95}{subsection.6.3.1}
-\contentsline {subsection}{\numberline {6.3.2}Masquage des latences}{97}{subsection.6.3.2}
-\contentsline {section}{\numberline {6.4}R\IeC {\'e}sultats}{99}{section.6.4}
-\contentsline {section}{\numberline {6.5}Conclusion}{101}{section.6.5}
-\contentsline {chapter}{\numberline {7}Les filtres de convolution sur GPU}{103}{chapter.7}
-\contentsline {section}{\numberline {7.1}Introduction}{103}{section.7.1}
-\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}
-\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}
-\contentsline {section}{\numberline {7.4}Cas de la convolution s\IeC {\'e}parable}{108}{section.7.4}
-\contentsline {section}{\numberline {7.5}Conclusion}{111}{section.7.5}
-\contentsline {chapter}{\numberline {8}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{113}{chapter.8}
+\contentsline {chapter}{\numberline {4}Les techniques de r\IeC {\'e}duction de bruit}{23}{chapter.4}
+\contentsline {section}{\numberline {4.1}Les techniques de r\IeC {\'e}duction de bruit}{23}{section.4.1}
+\contentsline {subsection}{\numberline {4.1.1}Les op\IeC {\'e}rateurs de base}{24}{subsection.4.1.1}
+\contentsline {subsubsection}{\numberline {4.1.1.1}Le filtre de convolution}{24}{subsubsection.4.1.1.1}
+\contentsline {subsubsection}{\numberline {4.1.1.2}Le filtre m\IeC {\'e}dian}{25}{subsubsection.4.1.1.2}
+\contentsline {subsubsection}{\numberline {4.1.1.3}Le filtre bilat\IeC {\'e}ral}{26}{subsubsection.4.1.1.3}
+\contentsline {subsubsection}{\numberline {4.1.1.4}Les algorithmes de filtrage par dictionnaire}{26}{subsubsection.4.1.1.4}
+\contentsline {subsection}{\numberline {4.1.2}Les algorithmes de filtrage par patches}{28}{subsection.4.1.2}
+\contentsline {section}{\numberline {4.2}Les impl\IeC {\'e}mentations sur GPU des algorithmes de filtrage}{29}{section.4.2}
+\contentsline {subsection}{\numberline {4.2.1}Le filtrage par convolution}{29}{subsection.4.2.1}
+\contentsline {subsection}{\numberline {4.2.2}Le filtre m\IeC {\'e}dian}{30}{subsection.4.2.2}
+\contentsline {subsection}{\numberline {4.2.3}Le filtre bilat\IeC {\'e}ral}{31}{subsection.4.2.3}
+\contentsline {subsection}{\numberline {4.2.4}Les filtres par patches}{33}{subsection.4.2.4}
+\contentsline {chapter}{\numberline {5}Les techniques de segmentation des images}{35}{chapter.5}
+\contentsline {section}{\numberline {5.1}Introduction}{35}{section.5.1}
+\contentsline {section}{\numberline {5.2}Les techniques de segmentation orient\IeC {\'e}es r\IeC {\'e}gions}{35}{section.5.2}
+\contentsline {subsection}{\numberline {5.2.1}Analyse d'histogramme}{36}{subsection.5.2.1}
+\contentsline {subsection}{\numberline {5.2.2}Partitionnement de graphe}{36}{subsection.5.2.2}
+\contentsline {subsection}{\numberline {5.2.3}kernel-means, mean-shift et apparent\IeC {\'e}s}{39}{subsection.5.2.3}
+\contentsline {section}{\numberline {5.3}Les techniques de segmentation par contours actifs, ou snakes}{41}{section.5.3}
+\contentsline {subsection}{\numberline {5.3.1}M\IeC {\'e}thodes hybrides}{43}{subsection.5.3.1}
+\contentsline {section}{\numberline {5.4}Les impl\IeC {\'e}mentations des techniques de segmentation sur GPU}{43}{section.5.4}
+\contentsline {subsection}{\numberline {5.4.1}Calcul d'histogramme}{44}{subsection.5.4.1}
+\contentsline {subsection}{\numberline {5.4.2}Partitionnement de graphe}{44}{subsection.5.4.2}
+\contentsline {subsection}{\numberline {5.4.3}K-means, mean-shift et apparent\IeC {\'e}s}{45}{subsection.5.4.3}
+\contentsline {subsection}{\numberline {5.4.4}Level set et snakes}{48}{subsection.5.4.4}
+\contentsline {subsection}{\numberline {5.4.5}Algorithmes hybrides}{50}{subsection.5.4.5}
+\contentsline {section}{\numberline {5.5}Conclusion}{51}{section.5.5}
+\contentsline {part}{III\hspace {1em}Algorithmes GPU rapides pour la r\IeC {\'e}duction de bruit et la segmentation}{53}{part.3}
+\contentsline {chapter}{\numberline {6}La segmentation par snake polygonal orient\IeC {\'e} r\IeC {\'e}gions}{55}{chapter.6}
+\contentsline {section}{\numberline {6.1}Introduction}{55}{section.6.1}
+\contentsline {section}{\numberline {6.2}Pr\IeC {\'e}sentation de l'algorithme}{55}{section.6.2}
+\contentsline {subsection}{\numberline {6.2.1}Formulation}{55}{subsection.6.2.1}
+\contentsline {subsection}{\numberline {6.2.2}Optimisation des calculs}{56}{subsection.6.2.2}
+\contentsline {subsection}{\numberline {6.2.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{59}{subsection.6.2.3}
+\contentsline {subsection}{\numberline {6.2.4}Performances}{60}{subsection.6.2.4}
+\contentsline {section}{\numberline {6.3}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{63}{section.6.3}
+\contentsline {subsection}{\numberline {6.3.1}Pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{64}{subsection.6.3.1}
+\contentsline {subsection}{\numberline {6.3.2}Calcul des contributions des segments}{66}{subsection.6.3.2}
+\contentsline {subsubsection}{\numberline {6.3.2.1}Cas particulier des segments dont la pente $k$ v\IeC {\'e}rifie $|k|\leq 1$}{70}{subsubsection.6.3.2.1}
+\contentsline {subsection}{\numberline {6.3.3}Performances}{71}{subsection.6.3.3}
+\contentsline {subsection}{\numberline {6.3.4}D\IeC {\'e}termination du contour initial au sens du maximum de vraisemblance}{71}{subsection.6.3.4}
+\contentsline {subsection}{\numberline {6.3.5}Conclusion}{73}{subsection.6.3.5}
+\contentsline {chapter}{\numberline {7}R\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{75}{chapter.7}
+\contentsline {section}{\numberline {7.1}Introduction}{75}{section.7.1}
+\contentsline {section}{\numberline {7.2}Pr\IeC {\'e}sentation de l'algorithme}{77}{section.7.2}
+\contentsline {subsection}{\numberline {7.2.1}Formulation}{77}{subsection.7.2.1}
+\contentsline {subsubsection}{\numberline {7.2.1.1}D\IeC {\'e}termination du premier segment}{77}{subsubsection.7.2.1.1}
+\contentsline {subsubsection}{\numberline {7.2.1.2}Isolines compos\IeC {\'e}es de plusieurs segments - crit\IeC {\`e}re d'allongement}{79}{subsubsection.7.2.1.2}
+\contentsline {section}{\numberline {7.3}Mod\IeC {\'e}lisation des isolines pour l'impl\IeC {\'e}mentation parall\IeC {\`e}le sur GPU}{80}{section.7.3}
+\contentsline {subsection}{\numberline {7.3.1}Isolines \IeC {\'e}valu\IeC {\'e}es semi-globalement}{81}{subsection.7.3.1}
+\contentsline {subsection}{\numberline {7.3.2}Isolines \IeC {\`a} segments pr\IeC {\'e}-\IeC {\'e}valu\IeC {\'e}s - mod\IeC {\`e}le PI-PD}{83}{subsection.7.3.2}
+\contentsline {subsection}{\numberline {7.3.3}Mod\IeC {\`e}le PI-PD hybride}{85}{subsection.7.3.3}
+\contentsline {subsubsection}{\numberline {7.3.3.1}Le d\IeC {\'e}tecteur de bords}{86}{subsubsection.7.3.3.1}
+\contentsline {section}{\numberline {7.4}R\IeC {\'e}sultats}{89}{section.7.4}
+\contentsline {section}{\numberline {7.5}Extension aux images couleurs}{91}{section.7.5}
+\contentsline {subsection}{\numberline {7.5.1}Expression du crit\IeC {\`e}re}{91}{subsection.7.5.1}
+\contentsline {subsection}{\numberline {7.5.2}R\IeC {\'e}sultats - analyse}{92}{subsection.7.5.2}
+\contentsline {section}{\numberline {7.6}Conclusion}{95}{section.7.6}
+\contentsline {chapter}{\numberline {8}Le filtre m\IeC {\'e}dian sur GPU}{99}{chapter.8}
+\contentsline {section}{\numberline {8.1}Introduction}{99}{section.8.1}
+\contentsline {section}{\numberline {8.2}Les transferts de donn\IeC {\'e}es}{99}{section.8.2}
+\contentsline {section}{\numberline {8.3}Utilisation des registres}{101}{section.8.3}
+\contentsline {subsection}{\numberline {8.3.1}La s\IeC {\'e}lection de la valeur m\IeC {\'e}diane}{101}{subsection.8.3.1}
+\contentsline {subsection}{\numberline {8.3.2}Masquage des latences}{102}{subsection.8.3.2}
+\contentsline {section}{\numberline {8.4}R\IeC {\'e}sultats}{106}{section.8.4}
+\contentsline {section}{\numberline {8.5}Conclusion}{108}{section.8.5}
+\contentsline {chapter}{\numberline {9}Les filtres de convolution sur GPU}{109}{chapter.9}
+\contentsline {section}{\numberline {9.1}Introduction}{109}{section.9.1}
+\contentsline {section}{\numberline {9.2}Impl\IeC {\'e}mentation g\IeC {\'e}n\IeC {\'e}rique de la convolution non s\IeC {\'e}parable sur GPU}{109}{section.9.2}
+\contentsline {section}{\numberline {9.3}Impl\IeC {\'e}mentation optimis\IeC {\'e}e de la convolution non s\IeC {\'e}parable sur GPU}{111}{section.9.3}
+\contentsline {section}{\numberline {9.4}Cas de la convolution s\IeC {\'e}parable}{115}{section.9.4}
+\contentsline {section}{\numberline {9.5}Conclusion}{120}{section.9.5}
+\contentsline {chapter}{\numberline {10}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{123}{chapter.10}