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

Slides:



Advertisements
Présentations similaires
Imotep : un circuit intégré pour l’imagerie TEP du petit animal V. BEKAERT, N. CHEVILLON, X. FANG, C. FUCHS, J. SAHR, R. SEFRI, J. WURTZ, D. BRASSE.
Advertisements

Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Visualisation dynamique d'arbres hiérarchiques de très grande taille Par Rémi Fusade TER encadré par Thomas Hurtut et Thierry Stein.
Pour comprendre comment la créativité et l’innovation sont les moteurs de l’évolution technologique La commande par la pensée ? La commande par le mouvement.
Portage d'une application sur GPU CreditCruncher.
Traitement d’images 420-D78-SW A16 Semaine 02 Plan de leçon  Images : définition  Mat : définition  Filtres de lissage  Les fonctions et méthodes.
1 Estimation temps réel du flot optique Julien MARZAT 3A – ISA CPDS Tuteur ENSEM:Didier WOLF Tuteur INRIA :André DUCROT.
J.-L. QUEMARD, S.G.C.B SGCB Echanges d’informations en vue d’une mise en œuvre efficace de Bâle II Groupe des Superviseurs Bancaires Francophones, 7 mars.
NF04 - Automne - UTC1 Version 09/2006 (E.L.) Cours 5-a Problèmes scalaires instationnaires d’ordre 1 en temps Domaines d’application Notions de schémas.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
Sommaire : I.Introduction II.Fibre optique (pr é sentation g é n é ral de la fibre) III.Les techniques de transmissions -Multiplexage temporelle (TDM)
Université Hassan 1er Faculté des sciences et techniques MST Génie biomedical instrumentation et maintenance.
Acquisition Rapide Multivoies
L'OBJECTIVITE DANS LE TRAITEMENT DES IMAGES PLANETAIRES
La technologie des mémoires
Maciej ORKISZ Jean-Christophe RICHARD
CEMTEC Comment scénariser l’éclairage d’un escalier ?
Utilisation de Windows
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Présenté par: Salhi Amina
Ecriture collaborative d’une dissertation en classe
Adéquation de la prise en charge des grands prématurés selon la distance du domicile à la maternité de type III la plus proche en Ile-de-France Catherine.
ICMS’2014 Modélisation de la machine asynchrone double étoile
Contribution: Revue des études, enquêtes et systèmes d’informations disponibles au niveau de l’INS, pour alimenter la méthode d’analyse et la cartographie.
Analyse Performance Chaine Energie + Problématique
Soutenance de Mémoire de Master En vue de l’obtention du diplôme de master En Physique des fluides et des transferts THEME Etude des champs dynamique.
Réussir l'épreuve composée
Plans d’expériences: Plans factoriels
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Cyber-Sphinx Séance 2.
Mesure de température par radiométrie photothermique
Semaine #4 INF130 par Frédérick Henri.
Installation des OS par réseaux (PXE)
Piloter un robot mbot à distance avec retour vidéo
SIF-1033 Traitement d’image
Laboratoire de Géodynamique Géologie de l’Ingénieur
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Regroupement contextuel de cimes dans les images aéroportées
Présentation de la carte graphique
Sfaihi Yassine Rabai Fatma Aissaoui Walid
Mosaïques d’images Dyanne Williams
Méthodologie scientifique
Réseaux de neurones appliqués à la reconnaissance de caractères
Chapitre 3 : Caractéristiques de tendance centrale
L1 Technique informatique
Programme financé par l’Union européenne
Modélisation objet avec UML
Transformation linéaires
Architecture matérielle des ordinateurs
Un ordinateur avec un œil !!
Langages de programmation TP11
SIF1033 TRAITEMENT D’IMAGE
Un enseignement complexe
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
et de la Recherche Scientifique
Reconnaissance de formes: lettres/chiffres
PRO1026 Programmation et enseignement
Extraction de caractéristiques pour la classification d’images
Présenté par: Souleymane MOUSSA Encadré par: M’hammed SAHNOUN
Design, innovation et créativité
Etude de l’ascension d’un glaçon sphérique au sein d’une colonne d’eau
Référentiel des activités professionnelles (RAP)
Enseignement de Spécialité (EdS) classes de Première et Terminale
Pour en moduler l’ouverture et la complexité
I. Aouichak, I. Elfeki, Y. Raingeaud, J.-C. Le Bunetel
NUMÉRISATION 3D D’UNE USINE UN INVESTISSEMENT RENTABLE!
Les données structurées et leur traitement
Introduction à la vision par ordinateur
Transcription de la présentation:

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 Algorithmes de rehaussement 2 Implémentation sous Matlab 3 Conclusions et perspectives 5 Contexte du projet 1 Implémentation sur GPGPU 4

 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

 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

 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  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

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

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

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

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

 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 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 Image originale Avec Filtre bilatéral Image bruitée Avec Filtre gaussien

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

 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

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

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 interpolation NN interpolation bilinéaire interpolation Splineinterpolation bicubique Effet d’escalier Génération du flou Léger flou Aucun artefact

 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

 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 x512x x65535 x1 Contraintenon Partagée par tous les blocs Partagé par tous les threads Nonnon 21

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

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

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

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

26 Temps d’exécution (en ms) MatlabC++ GPU (mémoire texture) Speed-Up GPU/Matlab Speed-Up GPU/C++ Image 1 (128x128) pixels , Image 2 (256x256) pixels , Image 3 (512x512) pixels , 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 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, w= ,9160, w= ,824 0, w= ,0170, Influence du choix de la taille de la fenêtre (w)  Implémentation du kernel du filtre bilatéral

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 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 Temps d’exécution (en ms) MatlabC++ GPU (mémoire globale) GPU (mémoire partagée) Image 1 (128x128) pixels ,3892,476 Image 2 (256x256) pixels ,1007,084 Image 3 (512x512) pixels ,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

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, 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 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  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 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