X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/these_gilles.git/blobdiff_plain/1bdc5bd76352d829a51e2d6407ad331af7164113..7a1f7981654e75ea330b58c7f93620ce69bf13b2:/THESE/these.tex?ds=inline diff --git a/THESE/these.tex b/THESE/these.tex index c807ad0..600f52a 100644 --- a/THESE/these.tex +++ b/THESE/these.tex @@ -1,5 +1,6 @@ \documentclass[french]{spimufcphdthesis} \usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{color, xcolor} @@ -71,8 +72,11 @@ %%-------------------- %% Set the English abstract -\thesisabstract[english]{This is the abstract in English} - +\thesisabstract[english]{ +%Recent graphical processing units (GPU), bring parallel computing capabilities to almost every developper, +In theory, modern graphical processing units (GPUs) make parallel programming accessible to all, and have triggered widespread interest among researchers or developers of all disciplines, with the hope of dramatically increasing processing speeds. Nevertheless, obtaining such performances cannot be done without considerable designing efforts : as an answer, we propose two GPU-based methods leading to fast implementations of several algorithms targeted to processing noisy images. One of them consists in porting the segmentation algorithm named \textit{snake}, with the effect of extending its processing capacity and performance. A second involves a innovative GPU-specific algorithm, based on searching for level lines within gray-level or color images to reduce gaussian noise, whose quality-to-speed ratio is particularly interesting. +Through extremely fine-tuned management of the different memory types available on GPUs, we have also conferred unprecedent flow rates to the median filter, making it able to process over 5 billion pixels per second. Eventually, we extended the above methods to the more generic convolution filter, and showed they out-perform the fastest implementations known to date, with over 7 billion pixels per second. In addition, we provide an on-line application that enables any developer to automatically generate operational source code of our filters. +} %%-------------------- %% Set the English keywords. They only appear if %% there is an English abstract @@ -80,7 +84,11 @@ %% -------------------- %% Set the French abstract -\thesisabstract[french]{Ceci est le résumé en français} +\thesisabstract[french]{ + Les cartes graphiques modernes (GPU) mettent, en théorie, la programmation parallèle à la portée de tous. Ces facilités ont éveillé l'intérêt des chercheurs et développeurs de toutes disciplines, qui ont tenté de tirer parti des performances élevées de ces matériels. Cependant, d'importants efforts de conception sont souvent nécessaires à l'obtention des vitesses de traitement espérées. +Dans cette thèse, nous proposons des méthodes conduisant à des implémentations rapides de plusieurs algorithmes destinés au traitement des images fortement bruitées. La première est une transposition sur GPU d'un algorithme de segmentation dit du \textit{snake} dont la capacité de traitement a été étendue et les performances améliorées. La seconde décrit un algorithme original, basé sur la recherche des lignes de niveaux et conçu spécifiquement pour les GPUs, qui réduit le bruit gaussien dans les images en niveaux de gris ou en couleur et dont le rapport qualité/vitesse est particulièrement intéressant. En concevant une gestion fine des mémoires du GPU, nous avons également conféré un débit de traitement inégalé au filtre médian, pouvant dépasser les 5 milliards de pixels à la seconde. Enfin nous avons étendu l'application de ces techniques à un opérateur beaucoup plus générique, le filtre de convolution, et montré qu'elles permettaient de surpasser les implémentations les plus rapides connues jusqu'alors, avec un maximum au delà des 7 milliards de pixels à la seconde. Nous mettons aussi à disposition une application en ligne permettant à tout développeur de générer les codes sources opérationnels des filtres que nous avons décrits. +} + %%-------------------- %% Set the French keywords. They only appear if @@ -113,8 +121,12 @@ %\declareupmtheorem{rq}{Remarque}{Liste des remarques} + \newcommand{\kl}{\includegraphics[scale=0.7]{kernLeft.png}~} \newcommand{\kr}{\includegraphics[scale=0.7]{kernRight.png}} +\usepackage{bbold} +\def\indentit{\mbox{l\hspace{-0.55em}1}} + \begin{document} @@ -128,34 +140,39 @@ \input{Chapters/chapter1/chapter1.tex} \chapter{Les processeurs graphiques (GPU) NVidia\textregistered}\label{ch-GPU} \input{Chapters/chapter1b/chapter1b.tex} -\chapter{Le traitement des images bruitées} +\part*{Le traitement des images} +\section*{Introduction} \input{Chapters/chapter2/chapter2.tex} -% généraliéts -%classes d'algo, outils ( histo, PDF, gauss, speckle, etc..) -%\section{L'état de l'art des implémentations GPU} -% segmentation -% filtrage : réduction de bruit, convolutions -% tracking -% pattern recognition -\chapter{La segmentation par snake polygonal orienté régions} +\chapter{Modèles d'image et de bruits - notations} +\input{Chapters/chapter2/chapter2b.tex} +\chapter{Les techniques de réduction de bruit\label{ch-filtrage}} +\input{Chapters/chapter2/chapter2c.tex} +\chapter{Les techniques de segmentation des images} +\input{Chapters/chapter2/chapter2d.tex} + +\part*{Algorithmes GPU rapides pour la réduction de bruit et la segmentation} +\chapter{La segmentation par snake polygonal orienté régions\label{ch-snake}} \input{Chapters/chapter3/chapter3.tex} - -\part*{Le filtrage des images sur GPU} -\chapter{Réduction de bruit par recherche des lignes de niveaux} + +\chapter{Réduction de bruit par recherche des lignes de niveaux\label{ch-lniv}} \input{Chapters/chapter4/chapter4.tex} -\chapter{Le filtre médian sur GPU} +\chapter{Le filtre médian sur GPU\label{ch-median}} \input{Chapters/chapter5/chapter5.tex} -\chapter{Les filtres de convolution sur GPU} +\chapter{Les filtres de convolution sur GPU\label{ch-convo}} \input{Chapters/chapter6/chapter6.tex} % présentation, rôle % détails : convo NON SEP, convo SEP, discussion Shared mem % résultats, conclusion % intégrer logiciels dans sections \chapter{Conclusion générale} - \input{Chapters/chapter7/chapter7.tex} - +\input{Chapters/chapter1/conclusion.tex} + +%\pagebreak +%\section*{Remerciements} +%\input{Chapters/chapter1/rem.tex} + %-------------------- % Bibliography, indexes... \bibliographystyle{plain}