La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Université de Monastir Faculté des sciences de Monastir Réalisé par : Salim HENI Rehaussement d’images avec préservation de contours sur GPGPU Soutenance.

Présentations similaires


Présentation au sujet: "Université de Monastir Faculté des sciences de Monastir Réalisé par : Salim HENI Rehaussement d’images avec préservation de contours sur GPGPU Soutenance."— Transcription de la présentation:

1 Université de Monastir Faculté des sciences de Monastir Réalisé par : Salim HENI Rehaussement d’images avec préservation de contours sur GPGPU Soutenance de Mastère Pour l’obtention du DIPLÔME DE MASTERE en Micro et nanoélectronique Encadré par : Mme. Nabila FILALI 1 Soutenu le 24 décembre 2013

2 2 Algorithmes de rehaussement 2 Implémentation sous Matlab 3 Conclusions et perspectives 5 Contexte du projet 1 Implémentation sur GPGPU 4

3  Unité de recherche: Unité de Métrologie et des Systèmes Energétiques à l’ENIM 3 Image de tomographie laser d’un écoulement de type jet d’air rond

4  Système d’acquisition : caméra monochrome (pixel sur 8bits)  Diamètre de la buse d’injection = 12,4mm.  Champ d’observation est souvent petit (10 à 17 cm) 4

5  Exemples de traitement:  Extraction des contours  Suivi de structures spatio-temporel  Détection de formes  Dans le cadre d’une continuité d’un travail de recherche [Filali 2011 ] Accélération de l’algorithme de rehaussement sur GPGPU 5

6 6  Notion de rehaussement spatial d’images Contraste Zoom numérique (changement de résolution) + Filtrage Augmentation des structures à étudier avec préservation des contours et sans pertes d’information  Choix de deux algorithmes : Filtrage et Interpolation

7  Filtrage 7 Les images acquises sont le plus souvent entachées de bruits (gaussiens à cause de l’ensemencement).

8 Linéaires avec 8 Les filtres Non linéaires avec Le filtre gaussienLe filtre bilatéral

9  L'interpolation « au plus proche voisin »  L'interpolation bilinéaire 9  Interpolation

10  L’interpolation par Spline Catmull-Rom (CMR)  L’interpolation bicubique 10

11  Les environnements de programmation utilisés :  Matlab : Etude, mise au point et validation  C++ (Visual studio 2008 v9): Estimation temps CPU  GPU (CUDA) : Accélération et parallélisation des calculs 11

12 12 Chargement et affichage de l'image à traiter Calcul des poids gaussien de distance Extraction d'une région locale de (wxw) pixels Calcul des poids gaussien d'intensité Calcul de la réponse de filtre bilatéral  L’organigramme de l’algorithme du filtre bilatéral Sigma_d=2 Sigma_r=0,1

13 13 Image originale Avec Filtre bilatéral Image bruitée Avec Filtre gaussien

14 14 PSNR filtre bilatéral filtre gaussien 31,19 dB 29,03 dB  Le filtre bilatéral présente la valeur du PSNR la plus élevée donc il est plus efficace. Lequel qui préserve mieux les contours ?

15 15

16  L’organigramme de l’algorithme d’interpolation 16 Chargement et affichage de l'image à traiter Copie d'une ligne de l’image d’entrée Calcul des nouveaux pixels par interpolation Affichage de l’image interpolée

17 interpolation NN interpolation bilinéaire interpolation Spline CMR interpolation bicubique Image originale Image décimée 17

18 18 Image du jet NNbilinéairebicubiqueSpline PSNR26.18 dB33.26 dB35.26 dB35.74 dB Pour une image en niveaux de gris de 250x250 pixels.

19 19 interpolation NN interpolation bilinéaire interpolation Splineinterpolation bicubique Effet d’escalier Génération du flou Léger flou Aucun artefact

20  Bilan (suite aux études quantitative et qualitative)  Le filtre bilatéral est plus avantageux que le filtre gaussien  L’interpolation par Spline Catmull-Rom est la meilleure en termes de qualité de l’image obtenue. les deux algorithmes retenus 20  Portage sur GPGPU

21  Matériel utilisé  PC de bureau disposant d’une carte mère à base d’un CPU Pentium d’Intel (2.00 GHz)  Une carte graphique de type GeForce 9500 GT de NVIDIA (32 cores ) Ressource Mémoire globale totale Mémoire partagée par SM Nombre de registre par SM Taille du Warp Nombre de threads par bloc Dimension maximale de blocs Dimension maximale de la grille Taille1 Go16 Ko 32512512x512x64 65535x65535 x1 Contraintenon Partagée par tous les blocs Partagé par tous les threads Nonnon 21

22 Un exemple d'une grille de (3x2) blocs de (2x2) threads  Implémentation du kernel du filtre bilatéral 22 24 pixels

23 23 Chargement et affichage de l'image à traiter Calcul des poids gaussien de distance Extraction d'une région locale Calcul des poids gaussien d'intensité Calcul de la réponse de filtre bilatéral

24 Influence du nombre de threads par bloc en utilisant la mémoire globale 24  Implémentation du kernel du filtre bilatéral

25 Influence du nombre de threads par bloc en utilisant la mémoire texture 25  Implémentation du kernel du filtre bilatéral

26 26 Temps d’exécution (en ms) MatlabC++ GPU (mémoire texture) Speed-Up GPU/Matlab Speed-Up GPU/C++ Image 1 (128x128) pixels 97583121,534 4879156 Image 2 (256x256) pixels 3876712646,211 6461210 Image 3 (512x512) pixels 155485497724,901 6219199 Comparaison entre l'implémentation GPU (mémoire texture) et l'implémentation séquentielle sur CPU  Implémentation du kernel du filtre bilatéral

27 27 Temps d’exécution (en ms) C++ GPU (mémoire texture) Débit CPU (C++) (Mpix/s) Débit GPU (Mpix/s) Speed-Up GPU/C++ w=13742,7620,7 87135 w=3204410,9160,13 24187 w=54961 24,824 0,05 11199 w=7922045,0170,03 6205 Influence du choix de la taille de la fenêtre (w)  Implémentation du kernel du filtre bilatéral

28 Interpolation d’un pixel selon X (Zoom x2) 28  Implémentation du kernel d’interpolation par Spline CMR Principe de fonctionnement du kernel d'interpolation (zoom x2)

29 29 Temps d'exécution (en ms) 32 threads128 threads256 threads512 threads Image 1 (128x128) pixels 3,5323,2973,3893,382 Image 2 (256x256) pixels 13,32613,44914,10017,168 Image 3 (512x512) pixels 54,97569,08453,88453,185 Influence du nombre de threads par bloc en utilisant la mémoire globale pour un zoom x3  Implémentation du kernel d’interpolation par Spline CMR

30 30 Temps d’exécution (en ms) MatlabC++ GPU (mémoire globale) GPU (mémoire partagée) Image 1 (128x128) pixels 97583123,3892,476 Image 2 (256x256) pixels 38767126414,1007,084 Image 3 (512x512) pixels 155485497753,88437,210 Comparaison entre l'implémentation GPU (mémoire globale et partagée ) et l'implémentation séquentielle sur CPU  Des gains d’environ 2x en passant de l'implémentation utilisant la mémoire globale vers celle avec la mémoire partagée  Des gains d’environ 133x comparés au calcul séquentiel en C++.  Implémentation du kernel d’interpolation par Spline CMR

31 Temps d’exécution (en ms) x2x3x4x5x6x7x8 Image 1 (128x128) pixels 1,0722,4763,9965,7237,91010,21613,630 Image 2 (256x256) pixels 4,0397,08415,60922,15130,61539,84753.130 Image 3 (512x512) pixels 15,93737,21061,28887,199120,44157,103210,105 Temps d’exécution en ms du kernel de l'interpolation en fonction du zoom (mémoire partagée) Évolution non linéaire 31  Implémentation du kernel d’interpolation par Spline CMR

32 32 2- Accélération sur GPGPU (GeForce 9500 GT) : Programmation parallèle sous CUDA de l’algorithme d’interpolation par Spline CMR Temps d’ exécution 133x plus rapide que sur CPU (C++) Programmation parallèle sous CUDA de l’algorithme du filtre bilatéral Temps d’ exécution 205x plus rapide que sur CPU (C++) 1- Programmation sous Matlab et C++ de:  Différents algorithmes d’interpolation  Deux types de filtres (gaussien et bilatéral)

33 33  Le portage de l’algorithme complet de rehaussement sur FPGA pour offrir la possibilité du traitement en temps réel des images acquises avec des caméras rapides.  L’utilisation des nouvelles cartes graphiques NVIDIA qui seront sur marché en 2014. L’architecture de ces cartes offre la possibilité de faire un appel du kernel à partir d’un autre kernel. Cette nouveauté permet de faire tout le traitement (Filtrage et interpolation) sur GPU sans nécessité de retour au CPU, qui va augmenter le gain en temps d’exécution.  Portage sur GPGPU d’autres approches développées pour améliorer les performances du filtre bilatéral.  Rehaussement pour des traitements 3D.

34 34


Télécharger ppt "Université de Monastir Faculté des sciences de Monastir Réalisé par : Salim HENI Rehaussement d’images avec préservation de contours sur GPGPU Soutenance."

Présentations similaires


Annonces Google