1 \select@language {french}
2 \contentsline {chapter}{\numberline {1}Introduction}{9}{chapter.1}
3 \contentsline {chapter}{\numberline {2}Les processeurs graphiques (GPU) NVidia\textregistered }{13}{chapter.2}
4 \contentsline {section}{\numberline {2.1}Pourquoi ?}{13}{section.2.1}
5 \contentsline {section}{\numberline {2.2}Comment ?}{15}{section.2.2}
6 \contentsline {subsection}{\numberline {2.2.1}Le mat\IeC {\'e}riel}{15}{subsection.2.2.1}
7 \contentsline {subsection}{\numberline {2.2.2}Le logiciel}{16}{subsection.2.2.2}
8 \contentsline {subsection}{\numberline {2.2.3}L'occupancy}{17}{subsection.2.2.3}
9 \contentsline {section}{\numberline {2.3}Synth\IeC {\`e}se des contraintes d'impl\IeC {\'e}mentation}{18}{section.2.3}
10 \contentsline {chapter}{\numberline {3}Mod\IeC {\`e}les d'image et de bruits - notations}{25}{chapter.3}
11 \contentsline {section}{\numberline {3.1}Mod\IeC {\`e}le d'image bruit\IeC {\'e}e}{25}{section.3.1}
12 \contentsline {section}{\numberline {3.2}Mod\IeC {\`e}les de bruit}{25}{section.3.2}
13 \contentsline {subsection}{\numberline {3.2.1}Le bruit gaussien}{25}{subsection.3.2.1}
14 \contentsline {subsection}{\numberline {3.2.2}Le speckle}{26}{subsection.3.2.2}
15 \contentsline {subsection}{\numberline {3.2.3}Le bruit \FB@og sel et poivre \FB@fg {}}{26}{subsection.3.2.3}
16 \contentsline {subsection}{\numberline {3.2.4}Le bruit de Poisson}{27}{subsection.3.2.4}
17 \contentsline {chapter}{\numberline {4}Les techniques de r\IeC {\'e}duction de bruit}{29}{chapter.4}
18 \contentsline {section}{\numberline {4.1}Les techniques de r\IeC {\'e}duction de bruit}{29}{section.4.1}
19 \contentsline {subsection}{\numberline {4.1.1}Les op\IeC {\'e}rateurs de base}{30}{subsection.4.1.1}
20 \contentsline {subsubsection}{\numberline {4.1.1.1}Le filtre de convolution}{30}{subsubsection.4.1.1.1}
21 \contentsline {subsubsection}{\numberline {4.1.1.2}Le filtre m\IeC {\'e}dian}{31}{subsubsection.4.1.1.2}
22 \contentsline {subsubsection}{\numberline {4.1.1.3}Le filtre bilat\IeC {\'e}ral}{32}{subsubsection.4.1.1.3}
23 \contentsline {subsubsection}{\numberline {4.1.1.4}Les algorithmes de filtrage par dictionnaire}{32}{subsubsection.4.1.1.4}
24 \contentsline {subsection}{\numberline {4.1.2}Les algorithmes de filtrage par patches}{34}{subsection.4.1.2}
25 \contentsline {section}{\numberline {4.2}Les impl\IeC {\'e}mentations sur GPU des algorithmes de filtrage}{35}{section.4.2}
26 \contentsline {subsection}{\numberline {4.2.1}Le filtrage par convolution}{35}{subsection.4.2.1}
27 \contentsline {subsection}{\numberline {4.2.2}Le filtre m\IeC {\'e}dian}{36}{subsection.4.2.2}
28 \contentsline {subsection}{\numberline {4.2.3}Le filtre bilat\IeC {\'e}ral}{37}{subsection.4.2.3}
29 \contentsline {subsection}{\numberline {4.2.4}Les filtres par patches}{39}{subsection.4.2.4}
30 \contentsline {chapter}{\numberline {5}Les techniques de segmentation des images}{41}{chapter.5}
31 \contentsline {section}{\numberline {5.1}Introduction}{41}{section.5.1}
32 \contentsline {section}{\numberline {5.2}Les techniques de segmentation orient\IeC {\'e}es r\IeC {\'e}gions}{41}{section.5.2}
33 \contentsline {subsection}{\numberline {5.2.1}Analyse d'histogramme}{42}{subsection.5.2.1}
34 \contentsline {subsection}{\numberline {5.2.2}Partitionnement de graphe}{42}{subsection.5.2.2}
35 \contentsline {subsection}{\numberline {5.2.3}kernel-means, mean-shift et apparent\IeC {\'e}s}{45}{subsection.5.2.3}
36 \contentsline {section}{\numberline {5.3}Les techniques de segmentation par contours actifs, ou snakes}{47}{section.5.3}
37 \contentsline {subsection}{\numberline {5.3.1}M\IeC {\'e}thodes hybrides}{49}{subsection.5.3.1}
38 \contentsline {section}{\numberline {5.4}Les impl\IeC {\'e}mentations des techniques de segmentation sur GPU}{49}{section.5.4}
39 \contentsline {subsection}{\numberline {5.4.1}Calcul d'histogramme}{50}{subsection.5.4.1}
40 \contentsline {subsection}{\numberline {5.4.2}Partitionnement de graphe}{50}{subsection.5.4.2}
41 \contentsline {subsection}{\numberline {5.4.3}K-means, mean-shift et apparent\IeC {\'e}s}{51}{subsection.5.4.3}
42 \contentsline {subsection}{\numberline {5.4.4}Level set et snakes}{54}{subsection.5.4.4}
43 \contentsline {subsection}{\numberline {5.4.5}Algorithmes hybrides}{56}{subsection.5.4.5}
44 \contentsline {section}{\numberline {5.5}Conclusion}{57}{section.5.5}
45 \contentsline {chapter}{\numberline {6}La segmentation par snake polygonal orient\IeC {\'e} r\IeC {\'e}gions}{61}{chapter.6}
46 \contentsline {section}{\numberline {6.1}Introduction}{61}{section.6.1}
47 \contentsline {section}{\numberline {6.2}Pr\IeC {\'e}sentation de l'algorithme}{61}{section.6.2}
48 \contentsline {subsection}{\numberline {6.2.1}Formulation}{61}{subsection.6.2.1}
49 \contentsline {subsection}{\numberline {6.2.2}Optimisation des calculs}{62}{subsection.6.2.2}
50 \contentsline {subsection}{\numberline {6.2.3}Impl\IeC {\'e}mentation s\IeC {\'e}quentielle}{64}{subsection.6.2.3}
51 \contentsline {subsection}{\numberline {6.2.4}Performances}{66}{subsection.6.2.4}
52 \contentsline {section}{\numberline {6.3}Impl\IeC {\'e}mentation parall\IeC {\`e}le GPU du snake polygonal}{68}{section.6.3}
53 \contentsline {subsection}{\numberline {6.3.1}Pr\IeC {\'e}-calculs des images cumul\IeC {\'e}es}{69}{subsection.6.3.1}
54 \contentsline {subsection}{\numberline {6.3.2}Calcul des contributions des segments}{70}{subsection.6.3.2}
55 \contentsline {subsubsection}{\numberline {6.3.2.1}Cas particulier des segments dont la pente $k$ v\IeC {\'e}rifie $|k|\leq 1$}{75}{subsubsection.6.3.2.1}
56 \contentsline {subsection}{\numberline {6.3.3}Performances}{76}{subsection.6.3.3}
57 \contentsline {subsection}{\numberline {6.3.4}D\IeC {\'e}termination intelligente du contour initial}{76}{subsection.6.3.4}
58 \contentsline {subsection}{\numberline {6.3.5}Conclusion}{78}{subsection.6.3.5}
59 \contentsline {chapter}{\numberline {7}R\IeC {\'e}duction de bruit par recherche des lignes de niveaux}{81}{chapter.7}
60 \contentsline {section}{\numberline {7.1}Introduction}{81}{section.7.1}
61 \contentsline {section}{\numberline {7.2}Pr\IeC {\'e}sentation de l'algorithme}{82}{section.7.2}
62 \contentsline {subsection}{\numberline {7.2.1}Formulation}{82}{subsection.7.2.1}
63 \contentsline {subsubsection}{\numberline {7.2.1.1}Isolines \IeC {\`a} un seul segment}{82}{subsubsection.7.2.1.1}
64 \contentsline {subsubsection}{\numberline {7.2.1.2}Isolines compos\IeC {\'e}es de plusieurs segments - crit\IeC {\`e}re d'allongement}{84}{subsubsection.7.2.1.2}
65 \contentsline {section}{\numberline {7.3}Mod\IeC {\'e}lisation des isolines pour l'impl\IeC {\'e}mentation parall\IeC {\`e}le sur GPU}{85}{section.7.3}
66 \contentsline {subsection}{\numberline {7.3.1}Isolines \IeC {\'e}valu\IeC {\'e}es semi-globalement}{86}{subsection.7.3.1}
67 \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}{88}{subsection.7.3.2}
68 \contentsline {subsection}{\numberline {7.3.3}Mod\IeC {\`e}le PI-PD hybride}{90}{subsection.7.3.3}
69 \contentsline {subsubsection}{\numberline {7.3.3.1}Le d\IeC {\'e}tecteur de zone \IeC {\`a} faible pente}{91}{subsubsection.7.3.3.1}
70 \contentsline {section}{\numberline {7.4}R\IeC {\'e}sultats}{94}{section.7.4}
71 \contentsline {section}{\numberline {7.5}Extension aux images couleurs}{96}{section.7.5}
72 \contentsline {subsection}{\numberline {7.5.1}Expression du crit\IeC {\`e}re}{96}{subsection.7.5.1}
73 \contentsline {subsection}{\numberline {7.5.2}R\IeC {\'e}sultats}{97}{subsection.7.5.2}
74 \contentsline {section}{\numberline {7.6}Conclusion}{99}{section.7.6}
75 \contentsline {chapter}{\numberline {8}Le filtre m\IeC {\'e}dian sur GPU}{103}{chapter.8}
76 \contentsline {section}{\numberline {8.1}Introduction}{103}{section.8.1}
77 \contentsline {section}{\numberline {8.2}Les transferts de donn\IeC {\'e}es}{103}{section.8.2}
78 \contentsline {section}{\numberline {8.3}Utilisation des registres}{104}{section.8.3}
79 \contentsline {subsection}{\numberline {8.3.1}La s\IeC {\'e}lection de la valeur m\IeC {\'e}diane}{105}{subsection.8.3.1}
80 \contentsline {subsection}{\numberline {8.3.2}Masquage des latences}{107}{subsection.8.3.2}
81 \contentsline {section}{\numberline {8.4}R\IeC {\'e}sultats}{109}{section.8.4}
82 \contentsline {section}{\numberline {8.5}Conclusion}{111}{section.8.5}
83 \contentsline {chapter}{\numberline {9}Les filtres de convolution sur GPU}{113}{chapter.9}
84 \contentsline {section}{\numberline {9.1}Introduction}{113}{section.9.1}
85 \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}{113}{section.9.2}
86 \contentsline {section}{\numberline {9.3}Impl\IeC {\'e}mentation optimis\IeC {\'e}e de la convolution non s\IeC {\'e}parable sur GPU}{115}{section.9.3}
87 \contentsline {section}{\numberline {9.4}Cas de la convolution s\IeC {\'e}parable}{119}{section.9.4}
88 \contentsline {section}{\numberline {9.5}Conclusion}{124}{section.9.5}
89 \contentsline {chapter}{\numberline {10}Conclusion g\IeC {\'e}n\IeC {\'e}rale}{127}{chapter.10}