Semantic search
Mercredi 20 juin 2012, 14h00-16h00, Amphi 3
GPU Computing : début d'une ère ou fin d'une époque ?
- Documents
- mahe.pdf
Eric Mahé, responsable du projet OpenGPU
L'arrivée des GPU (Graphics Processing Unit) a profondément changé la manière de concevoir la notion de coprocesseur. A moins de 500€, il est désormais possible d'avoir à sa disposition une puissance de calcul qui n'était réservée jusqu'à un passé récent qu'aux grands centres de calcul. La société Nvidia, en mettant au point l'environnement CUDA, a fourni à la communauté des développeurs des moyens simples et efficaces pour rendre cette puissance de calcul accessible au plus grand nombre. Depuis, sous l'impulsion de la société Apple, le standard OpenCL est venu ouvrir la voie d'une véritable parallélisation des applications sur l'ensemble des ressources processeur offertes aux développeurs.
Cet exposé décrira les différentes technologies permettant la programmation
parallèle des GPU en mettant l'accent sur les contraintes actuelles et les
progrès à venir des futures architectures comme le processeur Kepler. Des
démonstrations ainsi que des exemples de code viendront compléter cet
exposé.
Eric Mahé a été responsable des nouvelles technologies au sein de l'équipe marketing de Sun France pendant 20 ans après avoir occupé différents postes de chef de projet dans le domaine du nucléaire et de la défense. Son rôle fut d'évangéliser les choix technologiques et stratégiques de Sun auprès des communautés concernées par le langage Java, les développements du Logiciel Libre et les applications citoyennes de la fédération d'identité basées sur le projet Liberty Alliance. Diplômé de plusieurs troisièmes cycles en marketing, biologie et informatique, Eric Mahé est administrateur de l'association Silicon Sentier, expert auprès du pôle de compétitivité CAP Digital et professeur de communication à l'université René Descartes – Paris V.
Eric Mahé assure depuis 2009 la direction du projet OpenGPU dont l'objectif
est la mise au point de nouvelles chaînes de compilation à destination des
architectures hybrides GPU/CPU et a fondé la société MassiveRand spécialisée
dans les nombres aléatoires dans le domaine de la sécurité.
Mercredi 9 mai 2012, 14h00-17h30, Amphi 3
Un modèle générique de traitement et de représentation des images
- Documents
- manzanera.pdf, manzanera.zip
Antoine Manzanera
Concilier généricité et performance des systèmes de vision a toujours été au cœur des préoccupations scientifiques du laboratoire d'Électronique et Informatique d'ENSTA-ParisTech. Nous y avons abordé ce problème sous différents points de vue: électronique, algorithmique, et logiciel. Depuis nos travaux sur les rétines programmables et leur algorithmique exotique, nous avons progressivement intégré la multiplicité des modèles et structures de données, ainsi que l'emprise des architectures sur étagères, pour appréhender l'hétérogénéité des systèmes multi-plateformes.
Dans cette présentation à deux voix, on abordera le problème sous deux angles complémentaires, l'un touchant au modèle et aux algorithmes, l'autre au logiciel et aux plateformes de calcul.
Ce premier exposé présente un modèle générique de traitement et de
représentation des images fondé sur les espaces de caractéristiques
"local jets" (LJ, ou dérivées partielles multi-échelles), comme
exemple de cadre algorithmique unifié. Grâce à un espace où la
métrique naturelle est directement liée à la similarité visuelle, ce
cadre permet d'aborder un grand nombre d'opérateurs de traitement
d'images de bas niveau, qui correspondent généralement à la
rétro-projection dans l'espace image de points de l'espace des
caractéristiques transformé. Il permet aussi d'aborder des
représentations visuelles de plus haut niveau (modèles d'objet par
exemple) à partir de statistiques globales extraites de l'espace des
caractéristiques. On justifiera cette représentation et on
l'illustrera par diverses applications : Moyennes non locales
(NL-Means) par Convolution dans l'espace LJ pour le débruitage de
vidéos, Calcul du flux optique par recherche du plus proche voisin
dans l'espace LJ, Modélisation de fond statique par échantillonnage de
l'espace LJ, Détection d'objets par transformée de Hough dense...
Antoine Manzanera est diplômé de l'Université Claude Bernard à Lyon
(Licence de Maths 1991 et Master d'Informatique Fondamentale 1993), et
Docteur de Télécom-ParisTech en Signal et Images ("Vision artificielle
rétinienne", 2000). Depuis 2001 il est Enseignant-Chercheur à
l'ENSTA-ParisTech. Dans ses recherches, il s'intéresse au Traitement
d'Images et à la Vision de bas niveau, du modèle mathématique à
l'implantation parallèle sur un système embarqué. Il enseigne
principalement en 2ème et 3ème année du cycle Ingénieur ENSTA, et dans
le Master d'Informatique de l'UMPC (Paris 6), dans les spécialités
Imagerie et IAD.
http://www.ensta-paristech.fr/~manzaner
Analyse des mouvements apparents dans un flux vidéo
- Documents
- garrigues.pdf
Matthieu Garrigues
Dans ce second exposé, Matthieu Garrigues parlera de ses travaux sur
l'analyse des mouvements apparents dans un flux vidéo. La primitive de
base, présentée dans un séminaire précédent, permet le suivi temps
réel (supérieur à 30 images par seconde) de plusieurs milliers de
particules. Ces travaux nous ont permis de développer un cadre
générique facilitant l'analyse de scènes dynamiques prises de caméras
fixes ou mobiles. Nous montrerons comment cette brique logicielle a
été utilisée dans deux exemples d'applications : l'extraction des
plans principaux et l'estimation de la profondeur dans un système
mono-caméra. Le suivi de particules a été implémenté sur processeurs
graphiques avec le framework CUDA, et sur CPU-multicœurs avec
OpenMP. Nous expliquerons comment C++ a été utilisé pour factoriser un
maximum de code entre ces deux implémentations.
Matthieu Garrigues est diplômé de la promotion CSI 2009 de
l'EPITA. Depuis, il s'intéresse au développement et à l'implantation
d'applications de vision sur des architectures parallèles. Il est
actuellement ingénieur de recherche à l'unité d'électronique et
d'informatique de l'ENSTA, où il travaille sur l'analyse temps réel de
scènes acquises par des systèmes mobiles mono-caméra.
http://www.ensta-paristech.fr/~garrigues
Mercredi 21 mars 2012, 14h30-16h30, Amphi 3
Le point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images
- Documents
- najman.pdf
Laurent Najman
Une question fondamentale pour mes recherches est de savoir ce qu'est une image. Cela peut sembler à première vue une question trop simple : une image, c'est un ensemble de points. Mais ces points sont reliés entre eux, c'est ce qu'on appelle une structure, et ils ont des données de types multiples qui leur sont attachées. La bibliothèque Milena, développée au LRDE, est une bibliothèque générique dédiée au traitement d'images. Dans Milena, trois axes indépendants sont développés : l'axe des structures, l'axe des données, et celui des algorithmes, c'est-à-dire de ce qu'on peut faire avec une image.
Dans cet exposé, je vais développer plusieurs exemples dans lesquels je choisirai un algorithme et un type de données, en faisant varier la structure. Changer la structure, c'est penser les images d'une manière différente, et c'est quelque chose d'extrêmement porteur en recherche.
- Un premier exemple est celui d'un algorithme classique de
segmentation : la ligne de partage des eaux. Originellement pensé sur les pixels, sa traduction dans le cadre des arêtes donne le problème classique d'arbre couvrant de poids minimum. Si la ligne de partage des eaux est très connue en traitement d'images, les arbres de poids minimum sont très utilisés en classification. Un pont naturel est alors établi entre deux communautés différentes, et les idées provenant de ces deux communautés peuvent être combinées.
- Un deuxième exemple est celui de la représentation arborescente des
images. Pour illustrer, tant les lignes de niveaux que les composantes connexes des ensembles de niveaux (les coupes) des images sont naturellement structurées en arbre : deux lignes ou deux composantes sont soit disjointes soit emboîtées. On peut filtrer une image en éliminant de l'arbre tous les nœuds qui ne vérifient pas un critère. Mais on peut aussi considérer l'arbre lui-même comme une image, et appliquer sur cet arbre un algorithme de traitement d'images. C'est une idée récursive très riche.
D'autres exemples pourront être développés en fonction du temps : liens entre ligne de partage des eaux topologique et segmentation hiérarchique, topologie discrète dans divers cadres...
La bibliothèque Milena permet d’appliquer la plupart des algorithmes
existants à une nouvelle structure, ce qui est un gain de temps
incontestable. Cela permet de se concentrer sur ce qui fait le cœur
de mon métier: chercher un algorithme plus efficace, adapté à un type
de structure, ou encore chercher quelles sont les propriétés
mathématiques d’un algorithme sur une structure donnée.
Laurent Najman a reçu l’habilitation à diriger les recherches de l'université de la Marne-La-Vallée en 2006, un doctorat en mathématiques appliquées de l’université de Paris-Dauphine en 1994, et un diplôme d’ingénieur de l'École des Mines de Paris en 1991.
Il a travaillé chez Thomson-CSF sur la segmentation d'images infrarouges en utilisant la morphologie mathématique, chez Animation Science sur des systèmes de particules pour l'infographie et de la visualisation scientifique, puis chez OCÉ sur des problèmes d’analyse et de traitement d'images pour l'impression.
Depuis 2002, il est enseignant-chercheur à l’ESIEE, actuellement
professeur, membre du Laboratoire d’Informatique Gaspard-Monge
(Université Paris-Est). Ses recherches portent sur la morphologie
mathématique discrète et l’optimisation discrète.
Mercredi 14 mars 2012, 14h-16h, Amphi 3
Reusable Generic Look Ahead Multithreaded Cache - a case study for a high resolution player
- Documents
- chatelet.pdf
Guillaume Chatelet
L'industrie des effets spéciaux produit une grande quantité d'images
qu'il faut traiter et afficher. Dans le cadre de ses développements
internes, Mikros Image a développé et mis en Open Source un player
d'images temps réel : duke. Dans cet exposé je décrirai quels sont
les enjeux techniques d'un tel logiciel (allocation mémoire, accès
disque, multiplicité des formats, affichage, traitement...) puis
j'expliquerai plus en détails les étapes de la conception d'un
composant essentiel permettant de lire et décoder le plus rapidement
possible les images à afficher. Ce composant ayant pour but d'être
intégré dans d'autres outils, il doit être réutilisable.
Guillaume Chatelet est diplômé de l'ENSICaen et titulaire d'un DEA en
intelligence artificielle et algorithmique. Il travaille en qualité
d'ingénieur recherche et développement à Mikros Image depuis sept
ans. En 2007, il contribue à la bibliothèque Loki, initiée par Andrei
Alexandrescu, puis à la plate-forme Eclipse.
http://www.mikrosimage.eu/, https://github.com/mikrosimage/duke, https://github.com/mikrosimage/concurrent utils
Mercredi 15 février 2012, 14h-17h, Salle Master
Des performances dans les nuages avec la virtualisation des langages
Yann Régis-Gianas
«The effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer.» disait Dijsktra.
En effet, pour aborder la complexité d'un problème, l'explicitation des concepts utiles à sa formalisation et à sa résolution est bien souvent une étape clé. Lorsque que l'on étend ce processus à une classe de problèmes qui partagent les mêmes concepts, il est naturel de se doter d'un langage le plus approprié possible pour manipuler ces abstractions spécifiques à un domaine (en anglais, «Domain Specific Language»).
Comment implémenter ces DSLs? Une première approche classique reflète les constructions du DSL sous la forme d'un jeu de fonctions de bibliothèque. L'avantage de cette approche est d'utiliser directement son langage généraliste préféré, et sa chaîne de compilation optimisée, de façon à générer du code machine à moindre frais. Par contre, dans ce cadre, l'écriture de passe d'optimisations spécifiques au DSL - à moins d'utiliser des techniques pointues de méta-programmation - est a priori impossible.
Une seconde approche, opposée, consiste à écrire un compilateur pour le DSL à partir de zéro. Toute liberté est alors donnée à l'implémenteur d'intégrer à son compilateur des passes d'optimisation spécifiques… mais au prix d'une réimplémentation de passes de compilation déjà présentes, et certainement plus abouties, dans le compilateur de son langage généraliste favori.
Dans cet exposé, je présenterai les travaux de Martin Odersky et
son équipe sur la virtualisation de DSLs à l'intérieur du langage de
programmation Scala. La virtualisation de langage utilise
intensivement le polymorphisme et la composition mixin de Scala ainsi
que des techniques de génération de code à l'exécution pour embarquer
des langages spécifiques dans Scala dont la compilation peut
réutiliser des modules du compilateur mais aussi étendre ces derniers
par des optimisations spécifiques au domaine.
Yann Régis-Gianas est un ancien élève de l'EPITA, promo CSI 2003. À sa
sortie de l'école, il a poursuivi un troisième cycle en passant un DEA
à l'Université Paris Diderot et une thèse à l'INRIA Rocquencourt. Il
est aujourd'hui maître de conférence à Paris Diderot et travaille sur
le design des langages de programmation et de preuve.
http://www.pps.jussieu.fr/~yrg/
Certification d'annotations de coût dans les compilateurs
- Documents
- ayache_EPITA.pdf
Nicolas Ayache
Nous traitons du problème de la conception d'un compilateur où des
informations sur le coût à l'exécution du code objet sont retournées
en tant qu'annotations de coût sur le code source, et ce de façon
certifiée correcte. Pour cela, nous avons besoin d'une idée souple et
précise : (i) du sens donné aux annotations de coût, (ii) de la
méthode pour les prouver correctes et précises, et (iii) de la manière
d'en composer les preuves. Nous proposons ce que nous appelons une
approche par étiquetage pour répondre à ces trois questions. Dans un
premier temps, nous montrons son application sur un compilateur jouet.
L'étude formelle qui en découle suggère que l'approche par étiquetage
a de bonnes propriétés de compositionnalité et de passage à l'échelle.
Afin de s'en convaincre davantage, nous rapportons notre retour
d'expérience sur l'implémentation d'un compilateur prototype écrit en
ocaml pour un large sous-ensemble du langage C.
Nicolas Ayache, ancien doctorant Université Paris-Sud / CEA-LIST, est
actuellement Post-doc au laboratoire PPS (Preuves, Programmes et
Systèmes) à l'université Paris Diderot.
Mercredi 16 novembre 2011, 14h-16h, Amphi A4
Interactive 2D and 3D Segmentation with ilastik
Ullrich Köthe
The ilastik system developed by our group uses machine learning and
simple interaction techniques to empower users without special image
processing expertise to segment and analyze their 2- and 3-dimensional
image data on their own. It offers a number of easy-to-use workflows
for various common analysis tasks. The talk will present two of these
workflows (“interactive classification” and “region carving”), going
from an online demonstration of the high-level user experience down to
the algorithmic and software design details. Special emphasis will be
put on aspects of genericity and parallelization which facilitate
convenient adaptation of basic building blocks to different contexts
without loss of performance. Examples from challenging biological
applications will illustrate our system's capabilities.
Ullrich Köthe is a senior researcher in the Multidimensional Image Processing Group at the Interdisciplinary Centre for Scientific Computing of the University of Heidelberg, Germany, where he heads advanced research on image and data analysis for industry and the life sciences. Formerly, he was with the Cognitive Systems Group at the University of Hamburg (1999-2007) and with the Fraunhofer-Institute for Computer Graphics in Rostock (1992-1999).
Ullrich Köthe's main field of research is the development of
user-friendly image analysis methods. He is interested in all
techniques that facilitate genericity and re-usability, from machine
learning and probabilistic modeling to generic programming and
empirical performance evaluation. Dr. Köthe is the originator and
maintainer of the open-source image analysis library VIGRA and
co-developer of the interactive ilastik toolkit, which have been
designed to put these ideas into practice.
http://www.ilastik.org
Mercredi 26 octobre 2011, 14h-15h30, Amphi masters
Pourquoi Javascript est-il aussi rapide/lent ?
- Documents
- Javascript-Perf.pdf
Nicolas Pierron
Comment Javascript, un langage dynamique, interprété et non typé, parvient à être aussi rapide ? Quelles sont les avancées qu'il reste à faire pour obtenir des performances identiques au langage C ?
Pour illustrer cette présentation, on s’intéressera à l’évolution du
navigateur Mozilla Firefox et aux différentes approches pour résoudre
ce problème.
Diplômé de la promotion CSI 2008 de l'EPITA, Nicolas Pierron travaille
actuellement à Mozilla Paris sur le nouveau moteur Javascript
IonMonkey.
http://www.mozilla-europe.org/fr/
Mercredi 6 juillet 2011, 14h-15h, Amphi masters
Un algorithme rapide pour le Compressive Sensing sur architectures parallèles
- Documents
- borghi.pdf
Alexandre Borghi
Dans ce séminaire je présenterai un algorithme de résolution approchée
pour le problème du Compressive Sensing basé sur la programmation convexe.
Cet algorithme a la particularité d'avoir été pensé dès sa conception pour
tirer partie des architectures matérielles modernes, ce qui permet une
implémentation efficace et rapide sur celles-ci. Bien qu'une résolution
approchée soit en pratique suffisante pour obtenir rapidement une solution
de très bonne qualité, une variante exacte très rapide sera aussi
présentée. Cette dernière n'est toutefois utilisable que sous certaines
conditions. Trois types d'architectures parallèles sont ici envisagées :
des processeurs multi-cœurs avec unités de calcul vectoriel, des
processeurs graphiques (GPU) et le processeur Cell.
Alexandre Borghi est diplômé de la promotion CSI 2007 de l'EPITA et
effectue actuellement sa thèse au LRI de l'Université Paris-SUD XI. Il
s'intéresse principalement à l'adaptation de l'algorithmique aux
architectures parallèles.
http://www.lri.fr
Mercredi 15 juin 2011, 14h-17h, Amphi masters
Modèle basé-contexte pour l'annotation automatique du multimédia
Nicolas Ballas
Ces dernières années ont vu exploser le nombre de vidéos disponibles
sur internet. Pour permettre leur exploitation, il est nécessaire de
mettre en place des systèmes analysant automatiquement ces données
multimédia. De tels systèmes permettent notamment d'indexer
automatiquement des vidéos en fonction de leurs contenus. Durant
cette présentation, je m'intéresserai aux récentes avancées effectuées
dans ce domaine. Je présenterai des descripteurs vidéos, développés
dans le cadre de ma thèse, qui capturent le mouvement et l'apparence
d'une vidéo pour les résumer dans une courte signature. Ces
signatures peuvent être utilisées a posteriori pour détecter
différents évènements ou concepts dans les vidéos.
Nicolas Ballas effectue sa thèse entre le laboratoire LVIC du CEA/List
et le laboratoire CAOR de l'école des Mines de Paris. Il s'intéresse
principalement au problème de perception automatique à travers l'étude
d'algorithmes combinant vision par ordinateur et apprentissage
automatique.
http://www.kalisteo.fr/en/index.htm, http://caor.mines-paristech.fr/
Traitement d'images sur processeur graphique avec CUDA et C++
- Documents
- garrigues.pdf
Matthieu Garrigues
Conçus à l'origine pour le rendu 2D et 3D, les processeurs graphiques (GPU) peuvent aujourd'hui être considérés comme des processeurs génériques massivement parallèles. Mais ce parallélisme impose des contraintes sur les algorithmes implantés et les types de données utilisés. D'autre part, le bus de communication entre le processeur central (CPU) et le GPU peut être un goulot d'étranglement.
Ce séminaire débutera par un aperçu des avantages et inconvénients de
la programmation GPU, puis je présenterai l'implantation d'un
algorithme temps réel de suivi de points dans une vidéo. Je terminerai
par l’introduction de deux petites boîtes à outils : Cuimg et Dige.
Cuimg utilise C++ pour simplifier l'écriture d'algorithmes de
traitement d'images avec CUDA, tandis que Dige, basée sur le framework
Qt, permet le prototypage rapide d'interfaces graphiques.
Matthieu Garrigues est diplômé de la promotion CSI 2009 de
l'EPITA. Depuis, il s'intéresse au développement et l'implantation
d'applications de vision par ordinateur sur des architectures
parallèles. Il est actuellement ingénieur de recherche à l'unité
d'électronique et d'informatique de l'ENSTA.
http://uei.ensta-paristech.fr
Mercredi 18 mai 2011, 14h-16h, Amphi masters
Utilisation des distances tangentes pour la compensation de mouvement : Application au codec Theora
- Documents
- fabrizio.pdf
Jonathan Fabrizio
Pour encoder de manière efficace une séquence vidéo, la redondance
temporelle est souvent utilisée. Pour cela, le mouvement entre l'image
considérée et une image de référence est estimé. Cela permet de
générer une prédiction à partir de l'image de référence et seule la
différence entre la prédiction et l'image réelle est enregistrée. Pour
estimer ce mouvement, les codecs se contentent souvent de suivre
l'évolution spatiale de blocs dans l'image. Ils associent, pour chaque
bloc de l'image considérée, un bloc similaire dans un voisinage proche
dans l'image de référence. Nous présentons ici une méthode originale
pour réaliser cette prédiction par compensation de mouvement. Notre
méthode utilise les distances tangentes. Cela permet non seulement
d'estimer l'évolution de la position des blocs de l'image mais en
partie aussi l'évolution du bloc lui-même. Nos prédictions sont donc
de meilleure qualité. Utilisée dans l'encodage de séquences, on peut
espérer un gain de compression non négligeable. Pour valider
l'efficacité de la méthode, nous intégrons cette méthode dans le codec
Theora et mesurons son efficacité en comparant les résultats obtenus
avec notre méthode et ceux obtenus par une stratégie classique (le
block-matching).
Jonathan Fabrizio est enseignant-chercheur au LRDE depuis l'été
2009. Il travaille actuellement sur la localisation et l'extraction
automatique de texte dans les images.
Mercredi 16 mars 2011, 14h-16h, Amphi masters
Généricité en traitement des images : développement d’algorithmes complexes et localisés au sein d’une image.
Benoît Vandame
La plupart des bibliothèques génériques en traitement d’images mettent l’accent sur la généricité, la mise en pipeline d’opérations basiques, mais peu mettent l’accent sur la sélection d’un sous-ensemble de pixels concerné par un algorithme. En pratique de nombreux algorithmes ne s’appliquent que sur un sous-ensemble simple (rectangle) ou complexe (forme contiguë quelconque) de pixels qui ne sont qu’une petite fraction d’une image. La création d’un masque précisant les pixels concernés ne semble pas une solution optimale (contrainte mémoire et calculatoire). Dans le cadre de développement d’algorithmes en traitement d’images et vidéos, le laboratoire Canon Research Centre France (localisé à Rennes) développe une bibliothèque générique de traitement d’images qui ajoute la notion de forme à toute manipulation basique ou complexe d’une image. Une « arithmétique » des formes permet une sélection précise de pixels et une exécution efficace d’algorithme complexe. Les motivations, la mise en œuvre de cette bibliothèque, les outils template utilisés seront présentés et illustrés d’exemples concrets.
Benoît Vandame a obtenu sa thèse (2004) en traitement d’images appliqué à de grands relevés astronomiques au sein de l’European Southern Observatory (ESO-Munich). Depuis 2007, il travaille au laboratoire Canon Research Centre France (CRF-Rennes). Ses travaux portent sur le computational imaging (super-resolution, light-field imaging). Fort de son expérience en traitement automatique de larges données, il participe activement à la création d’une bibliothèque générique de traitement d’images pour les développements réalisés au sein du laboratoire CRF.
Mercredi 9 février 2011, 14h-16h, Amphi masters
Principes et Pratiques de la Programmation Concurrente en π-calcul
- Documents
- peschanski.pdf
Frédéric Peschanski
Nous étudions la problématique du mélange de paradigmes de programmation
variés plongés dans un environnement concurrent. Dans cette
perspective, nous poursuivons
un cheminement similaire à celui qui conduit du lambda-calcul aux
langages fonctionnels, mais
en prenant comme point de départ le π-calcul. Nous proposons la
machine abstraite des π-threads
dont la principale originalité est l’absence de pile d’exécution.
Cette caractéristique
permet de nous reposer dans nos implémentations sur des algorithmes
simples et naturellement
concurrents, notamment pour ce qui concerne l’ordonnancement et le
ramasse-miettes. Pour ce
dernier, nous proposons un algorithme permettant de récupérer très
simplement les cycles de
processus en interblocage et autres structures bloquantes.
Frédéric Peschanski est Maître de Conférences à l'Université Pierre
et Marie Curie. Il effectue ses recherches au sein du laboratoire
d'informatique de Paris 6, dans l'équipe APR (algo-prog). Il étudie
essentiellement les langages de programmation avec comme leitmotiv
la théorie mise en pratique (et vice-versa).
Mercredi 8 décembre 2010, 14h-16h30, Amphi 4
PHP.Reboot: un language de script utilisant la JSR 292
- Documents
- forax.pdf
Rémi Forax
Depuis 2000, on assiste à un regain d'intérêt pour les langages typés dynamiquement regroupés sous la bannière "langage de script". Pour les langages de script les plus populaires, comme PHP, Python ou Ruby, il existe, en plus des implantations écrites en C, des implantations plus récentes utilisant des environnements comme la machine virtuelle Java (JVM) ou la plateforme .Net. Ces implantations sont souvent plus efficaces que les implantations historiques, pourtant, ces environnements d'exécution utilisent des langages intermédiaires typés statiquement qui sont peu propices à l'implantation de langage typé dynamiquement. Partant de ce constat, le Java Community Process a créé la JSR 292 intitulée "Supporting Dynamically Typed Languages on the JavaTM Platform" dont le but est de proposer une API facilitant l'implantation et les performances des langages de script sur une machine virtuelle Java.
Mon exposé se compose de deux parties.
Dans un premier temps, en tant que membre du groupe d'experts, j'essaierai de restituer de façon didactique les concepts introduits par la JSR 292 en expliquant les tenants et les aboutissants.
La seconde partie, plus personnelle, montrera comment développer l'environnement
d'exécution d'un langage de script en utilisant les outils fournis par la JSR 292.
Je m'appuierai pour cela sur un prototype de langage que j'ai développé et nommé
PHP.reboot.
Rémi Forax est, depuis 2003, maître de conférence à l'université Paris Est Marne-la-Vallée
au sein du Laboratoire Informatique Gaspard Monge (LIGM). Ses travaux de recherche
sont centrés sur la conception de compilateurs et d'environnements d'exécution basée
sur des machines virtuelles.
Mercredi 10 novembre 2010, 14h-16h30, Amphi 4
Programmation par propriétés : application au traitement d'images
Vincent Tariel
L'idée d'une fonction est que la quantité d'entrée détermine complètement la quantité de sortie. En informatique, la quantité est une structure de données qui peut être simple, booléenne, entière, ou complexe, image, graphe, arbre. Dans ce domaine, un champ de recherche est de construire un ensemble de fonctions élémentaires, puis par composition d'en créer des plus compliquées. Pour cette dernière, une solution pratique est le langage Caméléon conçu par V. Tariel et O. Cugnon de Sevricourt, qui est un langage de flux de données génériques dont la sortie est prévue en janvier 2011. Générique signifie que tous les types de données peuvent être intégrés dans le langage. Pour cette première, ce séminaire couvrira quelques définitions de fonctions primaires reliées à l'image, incorporées à la bibliothèque standard de Caméléon. A la manière de l'implémentation de la bibliothèque standard du C++, il y aura l'utilisation d'un côté de l'algorithme générique for\_each en typage statique et de l'autre des opérateurs et des itérateurs organisés en programmation orientée objet. L'itérateur localise l'action suivant différents paradigmes : ensemble fini et dénombrable, voisinage, convolution, zone d'influence. L'opérateur agit suivant différents paradigmes : arithmétique, croissance de régions.
Ayant d'un côté un profile "informatique", ingénieur ESIEE avec un master en traitement d'images, et de l'autre côté un profile "science des matériaux", thèse en physique à l'école polytechnique avec un autre master en science des matériaux, le domaine de recherche de Vincent Tariel est axé sur l'image aussi bien expérimentalement, préparation de l'échantillon, microscopie, que numériquement, segmentation, caractérisation géométrique et physique, modélisation.
Il est rattaché au Department of Applied Mathematics, Australian National University
Mercredi 13 octobre 2010, 14h-16h, Amphi 4
Recherche d'images et indexation multimédia basées contenu
- Documents
- picard.pdf
David Picard
Dans la recherche multimédia basée contenu, on distingue trois champs d'applications différents : la recherche de cible dans laquelle on désire retrouver un document particulier ; la recherche interactive, dans laquelle l'utilisateur définit l'objet de la requête au fil de son interaction avec le système ; et la catégorisation, où il s'agit d'étiqueter les données en un certain nombre de classes prédéfinies.
Cette présentation fera le tour d'horizon de mes travaux de recherche dans deux de ces domaines. Une première partie concernera la recherche de cible, où je présenterai le cas particulier de la recherche de quasi-copies dans de très grands volumes de données, et en particulier une application à la recherche de scènes urbaines identiques dans le cadre du projet iTowns.
Dans la deuxième partie, je développerai mes travaux récents sur la classification d'images. L'accent y sera mis sur la fusion de descripteurs multimédias et les techniques d'apprentissage statistique permettant d'apprendre conjointement l'opération de fusion avec la fonction de classification.
David Picard est actuellement maître de conférences à l'ENSEA (Cergy-Pontoise) au sein du laboratoire ETIS. Ses travaux de recherche sont centrés sur la reconnaissance de forme, l'apprentissage statistique ainsi que l'indexation de documents multimédia et la recherche d'information dans un contexte distribué. Il a obtenu sa thèse en 2008 sur la recherche d'image basée contenu à l'aide d'un système multi-agents, dans le cadre de données distribuées sur un réseau. Il a effectué ensuite un stage post-doctoral au LIP6 de l'université Pierre et Marie Curie, financé par le projet iTowns en partenariat avec l'IGN, pour la conception d'un moteur de recherche multimédia dans un contexte à la StreetView des rues de Paris.
Mercredi 2 juin 2010, 14h-16h, Amphi 4
Généricité et topologie discrète en C++
- Documents
- lamy.pdf
Julien Lamy
Le traitement d'images est par nature un procédé discret, au cours duquel un signal continu est décomposé en un ensemble de pixels, ou de voxels pour des images tri-dimensionnelles. Au niveau géométrique, cette nature discrète pose peu de problèmes, car la plupart des opérations géométriques sont indépendantes de la grille sous-jacente ; au niveau topologique, le problème est tout autre. Deux des notions fondamentales de la topologie, le voisinage et la connexité, sont radicalement différentes entre un espace continu et un espace discret : il est entre autres impossible de subdiviser un voisinage discret de façon infinie comme c'est le cas dans un espace euclidien.
Bien que certaines bibliothèques de traitement d'images contiennent des algorithmes topologiques, notamment de squelettisation, le type de voisinage utilisé par ces algorithmes est généralement fixé par le code, ce qui empêche une adaptation facile à un autre type de connexité ou à un espace de dimension différente.
Ce séminaire présente une méthode générique pour intégrer les notions
discrètes de voisinage et de connexité à une bibliothèque de traitement
d'images programmée en C++. Je montrerai également comment obtenir de
façon simple un algorithme de squelettisation homotopique en utilisant
ces notions.
Julien Lamy est titulaire d'un doctorat de l'Université de Strasbourg.
De 2001 à 2006, il a travaillé au sein de l'équipe de R&D de l'IRCAD
(Institut de recherche contre les cancers de l'appareil digestif,
Strasbourg) au développement d'algorithmes de traitement d'images
médicales. Depuis 2008, il est ingénieur de recherche au Laboratoire
d'imagerie et de neurosciences cognitives de l'Université de Strasbourg.
http://www-ulpmed.u-strasbg.fr/ipb/
Interface générique pour la parallélisation d'applications de recherche en imagerie biomédicale
- Documents
- cointepas.pdf
Yann Cointepas
Le projet BrainVISA (http://brainvisa.info) est en train de
développer, avec le soutien du projet européen HiPiP
(http://hipip.eu), une architecture générique pour la parallélisation
des applications. Cette architecture fournira un accès à divers moyens
de calculs (fermes de stations de travail, clusters, centres de
calculs, etc.) en s'appuyant sur des solutions existantes pour la
gestion des ressources (Sun Grid Engine, Condor, LSF, etc.) Cette
architecture est développée pour répondre aux besoins croissants de
moyens de calcul dans le monde de la recherche en neuroimagerie.
Au cours de ce séminaire, j'aborderai rapidement le contexte de la
recherche en neuroimagerie en me focalisant sur les besoins en
parallélisation d'applications. Ensuite, je détaillerai la solution
que nous avons choisie pour répondre à ces besoins.
Yann Cointepas a obtenu un doctorat de Traitement du signal et des
images à l'Ecole Nationale des Télécommunications de Paris en
1999. Depuis 2003, il a un poste d'ingénieur-chercheur à la Direction
des Sciences du Vivant du CEA. Il travaille au sein du laboratoire
LNAO situé à NeuroSpin. Il fait également partie des personnels de
l'IFR 49. Il est un des architectes historiques du projet
BrainVISA. Ses activités de recherche concernent principalement
l'analyse structurelle du cerveau humain avec de l'imagerie par
résonance magnétique (IRM) et plus particulièrement l'étude de la
connectivité cérébrale à partir d'IRM de diffusion.
http://www.lnao.fr/
Mercredi 28 avril 2010, 14h-16h, Amphi Masters
Diagrammes de Décision à la Demande (DDoD)
- Documents
- linard.pdf
Alban Linard
Les Diagrammes de Décision (DDs) forment une vaste famille de structures de données, qui permettent de représenter et manipuler très efficacement de grandes quantités d'informations. Cependant, parmi les nombreux types de DDs, l'utilisateur est souvent désemparé pour choisir le bon. Souvent, aucun type ne répondant exactement à ce qu'il cherche, l'utilisateur doit faire adapter ses données au type de DDs choisi.
Le problème est que chaque type de DDs possède sa propre définition. Il n'existe aucun socle commun qui permette de définir n'importe quel type de DD. Ce problème se reflète au niveau des opérations manipulant les DDs. Celles-ci sont aussi spécifiques à chaque type.
Cet exposé présente les Polymorphic Decision Diagrams, un cadre assez
général permettant de spécifier de nombreux types de DDs
existants. L'utilisateur peut ainsi décrire simplement les DDs
correspondant le mieux aux données qu'il souhaite représenter. Ce
cadre permet de plus d'ajouter dans la spécification les informations
qui permettront de retrouver les performances des types définis
jusqu'à présent. Un exemple concret impliquant des loutres permettra
de montrer les possibilités offertes par ce cadre.
Alban Linard est post-doctorant à l'université de Genève, dans
l'équipe "Software Modeling and Verification". Sa thèse s'est déroulée
conjointement au LIP6, dans l'équipe Modélisation et Vérification et
au LRDE. Il s'intéresse aux Diagrammes de Décision et à leur
application dans le model checking.
http://smv.unige.ch
Architecture logicielle pour des outils génériques en traitement d'images
- Documents
- levillain.pdf
Roland Levillain
La plupart des frameworks de traitement d'images ne sont pas assez
génériques pour garantir une réutilisabilité effective des structures
de données et des algorithmes, tout en préservant performances et
facilité d'utilisation, et en restant proche de la théorie. Dans
cette présentation, nous proposons un cadre logiciel pour le
traitement d'images centré sur le paradigme de programmation
générique, cherchant à répondre tant aux besoins pratiques que
théoriques des scientifiques et des développeurs : la mise au point de
méthodes rapides et réutilisables, un niveau de généricité progressif,
la possibilité de traiter des ensembles de données volumineux, une
gestion de la mémoire automatique et efficace, la vérification
statique des types, l'orthogonalité des structures de données et des
algorithmes, etc. Cette approche permet aux utilisateurs de concevoir
et d'implémenter de nouvelles méthodes délivrées des contraintes
habituellement imposées pas les outils logiciels, de pratiquer des
expériences inter-domaines, de généraliser certains résultats et de
transformer facilement des prototypes en de vraies applications.
Roland Levillain est diplômé de l'EPITA (2003) et titulaire d'un
Mastère Spécialisé en Signal, Image et Reconnaissance des Formes
(SIRF) de l'ENST (2004). Depuis 2005, il travaille à l'EPITA et au
Laboratoire de Recherche et Développement de l'EPITA (LRDE) en tant
qu'enseignant-chercheur. Ses travaux portent sur le génie logiciel en
traitement d'images. Il participe au développement du projet Olena,
une plate-forme générique et performante pour le traitement d'images,
et poursuit une thèse sur le sujet depuis 2007.
http://www.lrde.epita.fr/cgi-bin/twiki/view/Main/RolandLevillain
Mercredi 31 mars 2010, 14h-16h, Amphi 4
Généricité en traitement d'images: niveau algorithmique et logiciel
- Documents
- fasquel.pdf
Jean-Baptiste Fasquel
Ce séminaire porte sur certains de mes travaux en matière de
généricité et réutilisation en traitement d'images. Ces travaux sont
présentés à une échelle algorithmique, bas-niveau, et à une échelle
logicielle, plutôt haut-niveau. À l'échelle de l'algorithme, nous
présentons une technique permettant d'étendre la généricité des
algorithmes de traitement d'images par rapport à la région d'intérêt
traitée, en complément de la généricité par rapport aux données
(1D, 2D, 3D, scalaires, couleurs, multi-spectrales, séquences,
etc.) Cette méthode repose sur une adaptation du patron de
conception « Iterator » et sur le polymorphisme de compilation en
C++. Au niveau logiciel, l'objectif de la généricité et de
réutilisation est de faciliter le couplage des algorithmes « purs »
avec des fonctionnalités supplémentaires telles que la visualisation,
l'interface homme-machine, les entrées-sorties... Dans ce cas, je
présente les principes d'une architecture flexible et évolutive
implémentée en C++, combinant la notion de (programmation par) rôle et
la notion de (programmation par) composants réutilisables. Ces travaux
sont illustrés par des applications dans le domaine médical.
Titulaire d'un diplôme d'ingénieur et d'un doctorat de l'université de
Strasbourg, Jean-Baptiste Fasquel a été, de 2002 à Septembre 2009,
chargé de recherche au sein de l'équipe informatique de l'IRCAD
(Institut de Recherche contre les Cancers de l'Appareil Digestif,
Strasbourg). Depuis Septembre 2009, il est enseignant-chercheur à
l'université d'Angers, rattaché au Laboratoire d'Ingénierie des
Systèmes Automatisés (LISA). Sa thématique de recherche concerne le
traitement des images, et couvre aussi bien l'aspect méthode que
l'aspect implémentation. Son domaine d'application principal est
l'aide au diagnostic médical.
http://www.istia.univ-angers.fr/LISA/PERSO/persoen.php4?nom=FASQUEL
Généricité et héritage en Eiffel
- Documents
- meyer.pdf
Bertrand Meyer
L'une des caractéristiques de la programmation objet est l'intégration
(introduite par Eiffel dans un article de la première conférence OOPSLA en
1986) entre les mécanismes d'héritage, permettant de structurer clairement
la description des systèmes, et de généricité, permettant le paramétrage de
ces descriptions. La combinaison de ces deux techniques d'architecture est
la clé de l'extensibilité et de la réutilisabilité permises par la
technologie objets. L'exposé montrera l'interaction entre la généricité et
l'héritage en Eiffel et l'application de ces concepts aux tâches d'analyse,
de conception et d'implémentation en génie logiciel. De nombreux exemples
illustreront l'application de ces idées, et compareront avec les solutions
adoptées dans des langages tels que Java et C\#.
Bertrand Meyer est professeur de génie logiciel à l'École Polytechnique
Fédérale de Zurich (ETH) et Chief Architect d'Eiffel Software (Santa
Barbara). Il est l'auteur de nombreux livres de génie logiciel et de
programmation par objets, en particulier "Object-Oriented Software
Construction") (version française chez Eyrolles, "Conception et
Programmation par Objets"), Jolt Award 1998 ; "Eiffel: Le Langage",
"Introduction à la Théorie des Langages de Programmation" (traductions
françaises chez InterEditions) ; et, récemment, "Touch of Class:
Introduction to Programming Well Using Objects and Contracts", un livre
d'initiation à la programmation (Springer). Il a reçu le System Award de
l'ACM pour son travail sur Eiffel et est membre de l'Académie des
Technologies.
http://se.ethz.ch/~meyer/
Mercredi 3 mars 2010, 14h-15h, Amphi 4
Yayi : Bibliothèque générique de traitement morphologique d'images
- Documents
- enficiaud.pdf
Raffi Enficiaud
Dans cet exposé, nous présenterons Yayi, une bibliothèque générique de
traitement morphologique d'image. Cette base logicielle, écrite en C++
et interfacée avec Python, fournit un nombre croissant de fonctions en
traitement d'image et en morphologie mathématique (distance,
segmentation, etc.). Nous discuterons de la mise en oeuvre générale,
des concepts génériques utilisés dans la bibliothèque, et de leurs
utilisations dans l'élaboration de nouveaux algorithmes. Enfin, nous
présenterons quelques pistes actuellement en développement dans Yayi
pour adresser certains des problèmes levés par la programmation
générique.
Raffi Enficiaud a soutenu sa thèse au Centre de Morphologie
Mathématique en 2007. Pendant sa thèse, il a participé au design et au
développement de Morph-M (anciennement Morphée) qui est une base
logicielle orientée recherche pour le traitement d'images et la
morphologie mathématique. Il s'est particulièrement intéressé à
l'extension multidimensionnelle et multispectrale des algorithmes
morphologiques, et a proposé de nouvelles méthodes de segmentation et
d'utilisation de la couleur. Après sa thèse, il travaillé à DxO sur le
thème de la quantification de défaut optique et capteur. Il travaille
depuis 2008 à l'INRIA Paris-Rocquencourt, équipe-projet IMEDIA en
qualité d'ingénieur expert, où il s'intéresse à l'indexation d'image
ainsi qu'à la visualisation de bases de donnée multimédia. Il
développe Yayi sur son temps libre.
http://raffi.enficiaud.free.fr/
Mercredi 2 décembre 2009, 14h-16h30, Amphi 4
Le processeur CELL : architecture et programmation
- Documents
- lamotte.pdf
Jean-Luc Lamotte
Le processeur CELL BE développé par le consortium IBM, Sony et Toshiba
a eu un impact important dans le monde du calcul scientifique mais
aussi dans le monde du jeu. Il est le processeur de base de la
première machine à avoir atteint 1 Pflops et aussi celui de la Play
Station 3 de Sony. Pour arriver à ce niveau de performance, il intègre
9 coeurs hétérogènes interconnectés par un bus. Le coeur principal
(PPE) appartient à la famille des PowerPC. Les 8 autres coeurs (SPE)
sont spécialisés pour le calcul. Après une présentation détaillée de
l'architecture du processeur, nous développerons son mode de la
programmation : lancement de threads de calcul sur les SPE, échange de
données, programmation SIMD.
Jean-Luc Lamotte est professeur à l'université P. et M. Curie
(UPMC). Ses travaux de recherche au sein du laboratoire d'informatique
de Paris 6 (LIP6) dans l'équipe PEQUAN (PErformance et QUalité des
Algorithmes Numériques) du département CALSCI (calcul scientifique)
portent sur le calcul haute performance en intégrant la vitesse de
calcul, mais aussi la qualité numérique des résultats obtenus. Il
enseigne notamment le parallélisme dans la spécialité SAR du master
d'informatique de l'UPMC.
http://www-pequan.lip6.fr/~lamotte/
La méthode multipôle rapide sur le processeur Cell : calcul du champ proche
- Documents
- fortin.pdf
Pierre Fortin
La méthode multipôle rapide (Fast Multipole Method, FMM) permet de
résoudre en temps linéaire le problème à N-corps, en astrophysique ou
en dynamique moléculaire par exemple. Nous présentons ici
l'implémentation sur le processeur Cell du calcul du champ proche de
la FMM, ce qui constitue un premier pas vers une implémentation
complète de la FMM sur ce processeur. Nous détaillerons les problèmes
rencontrés, au niveau de l'architecture comme au niveau de
l'algorithmique, ainsi que les diverses optimisations mises en
place. Notre implémentation permet de calculer jusqu'à 8,5 milliards
d'interactions par seconde (115,8 Gflop/s) sur un processeur Cell, et
jusqu'à 17 milliards d'interactions par seconde sur un IBM QS20 (230,4
Gflop/s), pour des distributions uniformes ou non uniformes de
particules.
Pierre Fortin est maître de conférences à l'Université Pierre et Marie
Curie dans l'équipe PEQUAN (LIP6) depuis deux ans. Ses travaux de
recherche portent sur le calcul scientifique parallèle haute
performance et sur les simulations numériques pour le problème à
N-corps. Depuis septembre 2009, il est responsable de l'option
"Calcul Intensif sur Nouvelles Architectures Parallèles" à
Polytech'Paris-UPMC.
http://www-pequan.lip6.fr/~fortin/