Search by property
This page provides a simple browsing interface for finding entities described by a property and a named value. Other available search interfaces include the page property search, and the ask query builder.
List of results
- L'une des caractéristiques de la programma … L'une des caractéristiques de la programmation objet est l'intégration</br>(introduite par Eiffel dans un article de la première conférence OOPSLA en</br>1986) entre les mécanismes d'héritage, permettant de structurer clairement</br>la description des systèmes, et de généricité, permettant le paramétrage de</br>ces descriptions. La combinaison de ces deux techniques d'architecture est</br>la clé de l'extensibilité et de la réutilisabilité permises par la</br>technologie objets. L'exposé montrera l'interaction entre la généricité et</br>l'héritage en Eiffel et l'application de ces concepts aux tâches d'analyse,</br>de conception et d'implémentation en génie logiciel. De nombreux exemples</br>illustreront l'application de ces idées, et compareront avec les solutions</br>adoptées dans des langages tels que Java et C\#.es dans des langages tels que Java et C\#. +
- La Low-Level Virtual Machine (LLVM) est un … La Low-Level Virtual Machine (LLVM) est un ensemble de bibliothèques</br>et d'outils qui facilitent le développement et l'optimisation de</br>compilateurs, de générateurs de code et de machines virtuelles. Clang</br>et VMKit utilisent LLVM pour leur générateur de code à différents</br>niveaux: l'un pour la compilation statique de langages de la famille C</br>(C/C++/ObjectiveC), et l'autre pour la compilation dynamique</br>d'applications Java ou .Net.</br></br>Dans cet exposé, je présenterai ces trois projets, et rentrerai dans</br>les détails de VMKit, que j'ai développée dans le cadre de ma</br>thèse. Je finirai par montrer les exemples de recherche auxquels</br>nous nous adressons avec l'aide de VMKit, au sein de l'équipe de</br>recherche INRIA/Regal.sein de l'équipe de recherche INRIA/Regal. +
- La cryptographie joue un rôle clé dans la … La cryptographie joue un rôle clé dans la sécurité des infrastructures</br>de communication. Il est donc d'une importance capitale de construire</br>des système cryptographiques apportant de fortes garanties de</br>sécurité. C'est dans ce but que les constructions cryptographiques</br>sont étudiées scrupuleusement et viennent avec une preuve de sécurité</br>bornant la probabilité qu'un adversaire casse le crypto-système.</br></br>La majorité des preuves de sécurité sont réductionnistes: elles</br>construisent, à partir d'un adversaire PPT (Probabilistic</br>Polynomial-Time) violant avec une probabilité écrasante la sécurité de</br>la construction cryptographique, un second adversaire PPT cassant une</br>hypothèse de sécurité. Cette approche, connue sous le nom de</br>"sécurité formelle", permet sur le principe de fournir des preuves</br>mathématiques rigoureuses et détaillées de sécurité.</br></br>Les récentes constructions cryptographiques (et donc leur analyse de</br>sécurité) sont de plus en plus complexes, et il n'est pas rare</br>qu'elles incluent maintenant la preuve sécurité de l'implémentation du</br>crypto-système, ou de sa résistance aux canaux cachés. En conséquence,</br>les preuves de sécurité de ces algorithmes présentent un niveau de</br>complexité tel qu'un grand nombre d'entre elles sont fausses -</br>prouvant la sécurité d'une construction qui ne l'est pas.</br></br>Une solution prometteuse pour pallier ce problème est de développer</br>des outils formels d'aide à la construction et vérification de</br>crypto-systèmes. Bien que de nombreux outils existent pour la</br>cryptographie symbolique, peu d'effort a été fait pour la</br>cryptographie calculatoire - pourtant utilisée largement parmi les</br>cryptographes.</br></br>Après avoir introduit le domaine de la preuve formelle et de la</br>sécurité formelle, je présenterai EasyCrypt, un outil d'aide à la</br>preuve des constructions cryptographiques dans le modèle</br>calculatoire. EasyCrypt adopte une approche reposant sur la</br>formalisation de constructions cryptographiques à partir de code</br>concret, dans laquelle la sécurité et les hypothèses de sécurité sont</br>modélisées à partir de programmes probabilistes et où les adversaires</br>sont représentés par du code non spécifié. Une telle approche permet</br>l'utilisation d'outils existants pour la vérification de programmes.</br></br>EasyCrypt est développé conjointement entre l'IMDEA Software</br>Institute et Inria.entre l'IMDEA Software Institute et Inria. +
- La lecture des lignes de la main est une a … La lecture des lignes de la main est une activité ancestrale sans</br>fondement scientifique, même si certains motifs sont associés à des</br>malformations congénitales comme la trisomie 21. Cette conférence</br>décrira l’émergence d’une véritable science de la lecture des « lignes</br>du cerveau humain », qu’il s’agisse des plissements de son cortex ou</br>de la trajectoire des faisceaux de fibres qui constituent son câblage</br>à longue distance. Des formes inhabituelles de ces plissements ou de</br>ces faisceaux sont parfois la trace d’anomalies développementales</br>susceptibles d’augmenter le risque de développer certaines</br>pathologies.isque de développer certaines pathologies. +
- La multiplication des architectures HPC (C … La multiplication des architectures HPC (CPU multi-coeurs, GPU, Cell,..)</br>implique autant de spécialisations des codes de calcul intensif. Dans un</br>contexte industriel, les codes de calcul multi-cibles posent alors des</br>problèmes de maintenance et d'évolutivité importants. La génération</br>automatique des spécialisations est une réponse à ces problématiques. Pour</br>le domaine de l'algèbre linéaire, nous étudions les possibilités offertes</br>par la programmation générique. La mise au point d'une bibliothèque</br>générique multi-cible et performante constitue le sujet de départ d'une</br>thèse dédiée aux méthodes de développement HPC qui minimisent l'adhérence</br>aux machines cibles.inimisent l'adhérence aux machines cibles. +
- La méthode multipôle rapide (Fast Multipol … La méthode multipôle rapide (Fast Multipole Method, FMM) permet de</br>résoudre en temps linéaire le problème à N-corps, en astrophysique ou</br>en dynamique moléculaire par exemple. Nous présentons ici</br>l'implémentation sur le processeur Cell du calcul du champ proche de</br>la FMM, ce qui constitue un premier pas vers une implémentation</br>complète de la FMM sur ce processeur. Nous détaillerons les problèmes</br>rencontrés, au niveau de l'architecture comme au niveau de</br>l'algorithmique, ainsi que les diverses optimisations mises en</br>place. Notre implémentation permet de calculer jusqu'à 8,5 milliards</br>d'interactions par seconde (115,8 Gflop/s) sur un processeur Cell, et</br>jusqu'à 17 milliards d'interactions par seconde sur un IBM QS20 (230,4</br>Gflop/s), pour des distributions uniformes ou non uniformes de</br>particules. uniformes ou non uniformes de particules. +
- La plupart des bibliothèques génériques en … 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.résentés et illustrés d’exemples concrets. +
- La plupart des frameworks de traitement d' … La plupart des frameworks de traitement d'images ne sont pas assez</br>génériques pour garantir une réutilisabilité effective des structures</br>de données et des algorithmes, tout en préservant performances et</br>facilité d'utilisation, et en restant proche de la théorie. Dans</br>cette présentation, nous proposons un cadre logiciel pour le</br>traitement d'images centré sur le paradigme de programmation</br>générique, cherchant à répondre tant aux besoins pratiques que</br>théoriques des scientifiques et des développeurs : la mise au point de</br>méthodes rapides et réutilisables, un niveau de généricité progressif,</br>la possibilité de traiter des ensembles de données volumineux, une</br>gestion de la mémoire automatique et efficace, la vérification</br>statique des types, l'orthogonalité des structures de données et des</br>algorithmes, etc. Cette approche permet aux utilisateurs de concevoir</br>et d'implémenter de nouvelles méthodes délivrées des contraintes</br>habituellement imposées pas les outils logiciels, de pratiquer des</br>expériences inter-domaines, de généraliser certains résultats et de</br>transformer facilement des prototypes en de vraies applications. des prototypes en de vraies applications. +
- La ville est un système complexe façonné p … La ville est un système complexe façonné par des dynamiques opérant à des</br>échelles différentes.</br>En tant que chercheur en sciences de l'information géographique travaillant</br>dans l'interdisciplinarité, je travaille en collaboration avec des</br>spécialistes du transport, des géographes, des urbanistes, des historiens,</br>des démographes, et des physiciens, afin de proposer de meilleurs outils,</br>modèles et données pour l'étude multi-échelle des dynamiques urbaines.</br></br>Je présente mes contributions dans un ordre correspondant à l'échelle</br>spatiale, de la plus large à la plus fine : la très grande échelle pour les</br>questions liées à la mobilité, la grande échelle pour celles liées à</br>l'urbanisme et la petite échelle pour les questions liées à l'évolution du</br>territoire sur le long terme.</br></br>Pour chaque partie, je vais m'attacher à proposer un cheminement commun :</br>tout d'abord la question des sources d'information, des connaissances</br>manipulées, leur représentation, leur stockage ; ensuite, la question de</br>l'analyse de ces données, de leur enrichissement, de leur croisement ;</br>enfin, l'interaction avec ces données, leur visualisation, leur</br>interprétation, leur validation, leur correction par des utilisateurs.ion, leur correction par des utilisateurs. +
- La visualisation scientifique est un domai … La visualisation scientifique est un domaine qui vise à aider les utilisateurs </br>à (i) représenter, (ii) explorer et (iii) analyser des données géométriques </br>acquises ou simulées, à des fins d'interprétation, de validation ou de </br>communication. Parmi les techniques existantes, les algorithmes inspirés par </br>la théorie de Morse ont démontré leur utilité dans ce contexte pour </br>l'extraction efficace et robuste de structures d'intérêts, et ce, à plusieurs </br>échelles d'importance.</br></br>Dans cette présentation, je donnerai un bref tutoriel sur l'analyse </br>topologique de champs scalaires, en introduisant quelques concepts clés comme </br>celui de graphe de Reeb, de complexe de Morse-Smale ou de diagramme de </br>persistance. Par ailleurs, j'illustrerai ces notions par des cas </br>d'applications concrets en astrophysique, chimie moléculaire ou </br>encore en combustion.</br>Ensuite, je discuterai certaines problématiques pratiques ayant récemment </br>émergé avec le développement des ressources de calcul haute-performance. Ces </br>problématiques induisent non seulement des jeux de données d'une taille </br>inédite, mais également des types nouveaux de données, comme les champs </br>scalaires multivariés ou incertains. Ces difficultés ne sont pas uniquement </br>intéressantes pour la communauté de recherche à cause de leur forte importance </br>pratique, mais aussi parce qu'elles nécessitent un redémarrage complet de </br>l'effort de recherche entrepris dans ce domaine ces vingt dernières années. En </br>particulier, je présenterai de nouvelles directions de recherche, étayées par </br>des résultats préliminaires récents concernant l'analyse topologique dans un </br>contexte de calcul haute-performance, ainsi que l'analyse topologique de </br>champs scalaires incertains ou bivariés. champs scalaires incertains ou bivariés. +
- Large distributed systems on the Internet … Large distributed systems on the Internet are subject to hostile</br>environmental conditions such as node failures, erratic communications, and</br>partitioning, and global problems such as hotspots, attacks, multicast</br>storms, chaotic behavior, and cascading failures. How can we build these</br>systems to function in predictable fashion in such situations as well as</br>being easy to understand and maintain? In our work on building</br>self-managing systems in the SELFMAN project, we have discovered a useful</br>design pattern for building complex systems, namely as a set of Weakly</br>Interacting Feedback Structures (WIFS). A feedback structure consists of a</br>graph of interacting feedback loops that together maintain one global system</br>property. We give examples of biological and computing systems that use</br>WIFS, such as the human respiratory system and the TCP family of network</br>protocols. We then show the usefulness of the design pattern by applying it</br>to the Scalaris key/value store from SELFMAN. Scalaris is based on a</br>structured peer-to-peer network with extensions for data replication and</br>transactions. Scalaris achieves high performance: from 4000 to 14000</br>read-modify-write transactions per second on a cluster with 1 to 15 nodes</br>each containing two dual-core Intel Xeon processors at 2.66 GHz. Scalaris</br>is a self-managing system that consists of five WIFS, for connectivity,</br>routing, load balancing, replication, and transactions. We conclude by</br>explaining why WIFS are an important design pattern for building complex</br>systems and we outline how to extend the WIFS approach to allow proving</br>global properties of these systems.roving global properties of these systems. +
- Le C++ est très impopulaire dans la commun … Le C++ est très impopulaire dans la communauté des développeurs web et ce</br>n'est pas sans raison. Le langage n'offre aucune introspection, ce qui</br>complique la sérialisation automatique de messages. De plus, l'injection de</br>dépendances, un design pattern très utile dans les frameworks web issus</br>d'autres langages, est complexe voire quasi impossible à implémenter en</br>C++98.</br></br>Nous verrons comment l'introspection statique et l'injection de dépendance</br>ont été implémentés en C++14 grâce à un concept innovant: les symboles de la</br>bibliothèque IOD (1). Nous verrons ensuite comment Silicon (2), un jeune</br>framework web, tire parti de ces abstractions et aide les développeurs à</br>construire des APIs web aussi simplement qu'ils le feraient en Go ou</br>JavaScript.nt qu'ils le feraient en Go ou JavaScript. +
- Le Web a subi en quelques années une évolu … Le Web a subi en quelques années une évolution radicale, passant d'une</br>plateforme de données à une plateforme d'applications. Mais la plupart des</br>outils de programmation n'ont pas été conçus pour cette nouvelle vision du</br>Web.</br></br>Le projet Ocsigen a pour but d'inventer de nouvelles techniques de</br>programmation adaptées aux besoins des sites Web modernes et des</br>applications Web distribuées. Il permet de programmer les parties client et</br>serveur dans le même langage, et même, comme une seule et même</br>application. La puissance expressive du langage OCaml permet d'introduire</br>une abstraction des technologies sous-jacentes dans le but de simplifier la</br>programmation d'interactions Web complexes. Le système de types très avancé</br>du langage permet d'améliorer la fiabilité des programmes et le respect des</br>standards. Cela permet aussi de réduire beaucoup le temps de</br>développement.</br></br>Cet exposé donnera un aperçu global du projet et montrera comment écrire un</br>exemple d'application simple.nt écrire un exemple d'application simple. +
- Le cloud computing donne accès à des resso … Le cloud computing donne accès à des ressources de stockage et de</br>calcul quasiment illimitées, pour un coût toujours plus bas. Devant</br>l’explosion de la quantité des données générées et le besoin de réagir</br>toujours plus vite, il n’a jamais été aussi facile d’accéder aux</br>technologies de traitement massif.</br></br>Nous illustrerons de nombreux cas d’usage du cloud : Hadoop,</br>dataware-house de plusieurs Po, traitement temps réel de millions</br>d’événements par seconde, IOT, Machine Learning…</br></br>En particulier, l’utilisation d’algorithmes massivement parallèles</br>prend toute son importance et permet de tirer pleinement parti de</br>l’élasticité du cloud, par exemple: Monte-Carlo dans le domaine</br>financier, modélisation de protéines en 3D pour du screening, analyse</br>génomique, analyse de logs…ening, analyse génomique, analyse de logs… +
- Le compilateur GCC est extensible via des … Le compilateur GCC est extensible via des greffons (plugins) depuis</br>plusieurs années. Mais c'est un logiciel libre complexe (de 10MLOC) et</br>encore en évolution, dont on décrira grossièrement l'architecture. Écrire</br>des greffons en C est fastidieux.</br></br>Le language d'extension MELT (domain specific language) permet d'étendre</br>moins péniblement le compilateur GCC. Il offre une syntaxe régulière et</br>simple, inspirée de LISP. MELT est traduit en du code C (ou C++) adapté aux</br>internes de GCC et son implémentation (en logiciel libre) est</br>auto-amorcée. Il offre des traits permettant des styles de programmation de</br>haut niveau (styles fonctionnel, objet, réflexif).</br></br></br>On décrira un peu l'implémentation de MELT, sa syntaxe et ses traits</br>caractéristiques, et les exemples d'extensions.téristiques, et les exemples d'extensions. +
- Le langage Ada est connu pour sa sûreté in … Le langage Ada est connu pour sa sûreté intrinsèque : son typage fort,</br>ses mécanismes de contrôle de valeurs et son système d'exceptions notamment</br>permettent d'avoir une grande confiance en les programmes. Comme dit</br>le vieux proverbe, « En Ada, quand ça compile, ça marche ».</br></br>Cependant, une des puissances d'Ada provient également de ses systèmes</br>de vérification lors de l'exécution du programme. Par exemple, si une</br>valeur se trouve en dehors de l'intervalle qui lui était autorisé, une</br>exception, rattrapable par le langage, sera automatiquement levée. Ce</br>système de vérification dynamique a bien évidemment un coût. Nous verrons</br>comment le système de compilation GNAT mélange analyse statique et</br>vérification lors de l'exécution pour fournir la totalité des</br>garanties définies par le langage tout en minimisant les surcoûts et</br>la perte de performance.t les surcoûts et la perte de performance. +
- Le model checking est une technique de vér … Le model checking est une technique de vérification formelle</br>automatique. Prenant en entrée un modèle décrivant toutes les exécutions</br>possibles du système et une propriété exprimée sous la forme d'une formule</br>de logique temporelle, un algorithme de model checking répond si le modèle</br>satisfait ou non la formule. Le problème principal du model-checking est</br>l'explosion combinatoire de l'espace d'états décrivant le système.</br></br>Afin d'améliorer les performances, on a apporté les contributions suivantes</br>à l'approche automate du model checking. D'abord l'amélioration de</br>l'algorithme de vérification en deux passes de l'approche basée sur les</br>automates Testeur TA (Testing Automaton). Ensuite la proposition d'une</br>méthode permettant de transformer un automate TA en un automate vérifiable</br>en une seule passe, qu'on a appelé STA (Single-pass Testing</br>Automaton). Enfin, la contribution la plus significative est un nouveau type</br>d'automate baptisé TGTA (Transition-based Generalized Testing</br>Automaton). L'apport principal de cette nouvelle approche consiste à</br>proposer une méthode permettant de supprimer les transitions bégayantes dans</br>un TGTA sans avoir besoin, ni d'ajouter une seconde passe comme dans</br>l'approche TA, ni d'ajouter un état artificiel comme dans l'approche STA.état artificiel comme dans l'approche STA. +
- Le model checking est une technique qui pe … Le model checking est une technique qui permet de s'assurer qu'un système</br>vérifie un ensemble de caratéristiques appelées propriétés. Le système et la</br>négation de la formule sont ensuite représentés de manière abstraite (ici un</br>automate) pour pouvoir détecter des comportements incohérents. Ces</br>propriétés ont été classifiées et possèdent des particularités qui peuvent</br>être exploitées afin de réduire la complexité du processus de</br>vérification. Nous montrerons ici comment tirer parti dynamiquement des</br>différentes classes de formules.ement des différentes classes de formules. +
- Le processeur CELL BE développé par le con … Le processeur CELL BE développé par le consortium IBM, Sony et Toshiba</br>a eu un impact important dans le monde du calcul scientifique mais</br>aussi dans le monde du jeu. Il est le processeur de base de la</br>première machine à avoir atteint 1 Pflops et aussi celui de la Play</br>Station 3 de Sony. Pour arriver à ce niveau de performance, il intègre</br>9 coeurs hétérogènes interconnectés par un bus. Le coeur principal</br>(PPE) appartient à la famille des PowerPC. Les 8 autres coeurs (SPE)</br>sont spécialisés pour le calcul. Après une présentation détaillée de</br>l'architecture du processeur, nous développerons son mode de la</br>programmation : lancement de threads de calcul sur les SPE, échange de</br>données, programmation SIMD.E, échange de données, programmation SIMD. +
- Le projet BrainVISA (http://brainvisa.info … Le projet BrainVISA (http://brainvisa.info) est en train de</br>développer, avec le soutien du projet européen HiPiP</br>(http://hipip.eu), une architecture générique pour la parallélisation</br>des applications. Cette architecture fournira un accès à divers moyens</br>de calculs (fermes de stations de travail, clusters, centres de</br>calculs, etc.) en s'appuyant sur des solutions existantes pour la</br>gestion des ressources (Sun Grid Engine, Condor, LSF, etc.) Cette</br>architecture est développée pour répondre aux besoins croissants de</br>moyens de calcul dans le monde de la recherche en neuroimagerie.</br>Au cours de ce séminaire, j'aborderai rapidement le contexte de la</br>recherche en neuroimagerie en me focalisant sur les besoins en</br>parallélisation d'applications. Ensuite, je détaillerai la solution</br>que nous avons choisie pour répondre à ces besoins.avons choisie pour répondre à ces besoins. +
- Le réductionnisme est une technique réalis … Le réductionnisme est une technique réaliste de conception et implantation</br>de vrais langages de programmation, et conduit à des solutions plus faciles</br>à étendre, expérimenter et analyser. Je vais décrire la conception et</br>l'implantation de GNU epsilon, un langage de programmation extensible, basé</br>sur un langage-noyau minimaliste impératif du premier ordre, équipé de</br>mécanismes d'abstraction forts et avec des possibilités de réflexion et</br>auto-modification. Le langage peut être étendu à des niveaux très hauts: en</br>utilisant des macros à la Lisp et des transformations de code à code</br>réécrivant les expressions étendues en expressions-noyau, on arrive à</br>ajouter les clôtures et les continuations de première classe au dessus du</br>noyau.</br></br>Les programmes qui ne s'auto-modifient pas peuvent être analysés</br>formellement, grâce à la simplicité de la sémantique. Je vais parler</br>rapidement d'une analyse statique dont j'ai prouvé une propriété de</br>«soundness» par rapport à la sémantique dynamique. Le langage se prête à une</br>implantation efficace: je vais montrer un prototype de compilateur natif</br>particulièrement simple.compilateur natif particulièrement simple. +
- Le traitement d'images est par nature un p … Le traitement d'images est par nature un procédé discret, au cours</br>duquel un signal continu est décomposé en un ensemble de pixels, ou de</br>voxels pour des images tri-dimensionnelles. Au niveau géométrique, cette</br>nature discrète pose peu de problèmes, car la plupart des opérations</br>géométriques sont indépendantes de la grille sous-jacente ; au niveau</br>topologique, le problème est tout autre. Deux des notions fondamentales</br>de la topologie, le voisinage et la connexité, sont radicalement</br>différentes entre un espace continu et un espace discret : il est entre</br>autres impossible de subdiviser un voisinage discret de façon infinie</br>comme c'est le cas dans un espace euclidien.</br></br>Bien que certaines bibliothèques de traitement d'images contiennent des</br>algorithmes topologiques, notamment de squelettisation, le type de</br>voisinage utilisé par ces algorithmes est généralement fixé par le code,</br>ce qui empêche une adaptation facile à un autre type de connexité ou à</br>un espace de dimension différente.</br></br>Ce séminaire présente une méthode générique pour intégrer les notions</br>discrètes de voisinage et de connexité à une bibliothèque de traitement</br>d'images programmée en C++. Je montrerai également comment obtenir de</br>façon simple un algorithme de squelettisation homotopique en utilisant</br>ces notions.tion homotopique en utilisant ces notions. +
- Le traitement géométrique 3D temps-réel a … Le traitement géométrique 3D temps-réel a progressivement atteint un niveau</br>de performance rendant un grand nombre de primitives inspirées du traitement</br>du signal compatible avec les applications interactives. Cela a souvent été</br>rendu possible grâce à la co-conception des opérateurs, des structures de</br>données et du support matériel d’exécution. Parmi les principales classes</br>d'opérateurs géométriques, le filtrage et le sur-échantillonnage (par</br>raffinement) ont été exprimés sous des contraintes temps-réel avec</br>succès. Cependant, l'opérateur de sous-échantillonnage - la simplification</br>adaptative - demeure un cas problématique pour les données non</br>triviales.</br></br>Dans ce contexte, nous proposons un nouvel algorithme de simplification</br>géométrique rapide basé sur un nouveau concept : les intégrales de</br>Morton. En sommant les quadriques d'erreurs associées aux échantillons</br>géométriques selon leur ordre de Morton, notre approche permet d'extraire de</br>manière concurrente les nœuds correspondants à une coupe adaptative dans la</br>hiérarchie implicite ainsi définie, et d'optimiser la position des sommets</br>du maillage simplifié en parallèle. Cette méthode est inspirée des images</br>intégrales et exploite les avancées récentes en construction et parcours</br>haute performance de hiérarchies spatiales.</br></br>L'implémentation GPU de notre approche peut simplifier des maillages</br>composés de plusieurs millions d'éléments à un taux de rafraîchissement</br>interactif, tout en fournissant une géométrie simplifiée de qualité</br>supérieure aux méthodes uniformes et en préservant notamment les structures</br>géométriques saillantes. Notre algorithme est compatible avec les maillages</br>indexés, les soupes polygonales et les nuages de points, et peut prendre en</br>compte des attributs de surfaces (normal ou couleur par exemple) et des</br>métriques d'erreurs alternatives.) et des métriques d'erreurs alternatives. +
- Les Diagrammes de Décision (DDs) forment u … Les Diagrammes de Décision (DDs) forment une vaste famille de</br>structures de données, qui permettent de représenter et manipuler très</br>efficacement de grandes quantités d'informations. Cependant, parmi les</br>nombreux types de DDs, l'utilisateur est souvent désemparé pour</br>choisir le bon. Souvent, aucun type ne répondant exactement à ce qu'il</br>cherche, l'utilisateur doit faire adapter ses données au type de DDs</br>choisi.</br></br>Le problème est que chaque type de DDs possède sa propre</br>définition. Il n'existe aucun socle commun qui permette de définir</br>n'importe quel type de DD. Ce problème se reflète au niveau des</br>opérations manipulant les DDs. Celles-ci sont aussi spécifiques à</br>chaque type.</br></br>Cet exposé présente les Polymorphic Decision Diagrams, un cadre assez</br>général permettant de spécifier de nombreux types de DDs</br>existants. L'utilisateur peut ainsi décrire simplement les DDs</br>correspondant le mieux aux données qu'il souhaite représenter. Ce</br>cadre permet de plus d'ajouter dans la spécification les informations</br>qui permettront de retrouver les performances des types définis</br>jusqu'à présent. Un exemple concret impliquant des loutres permettra</br>de montrer les possibilités offertes par ce cadre.er les possibilités offertes par ce cadre. +
- Les algorithmes itératifs utilisés lors de … Les algorithmes itératifs utilisés lors de la résolution de problèmes inverses portant sur des gros volumes de données requièrent</br>une accélération significative pour être utilisés en pratique. Sur des exemples d'applications en tomographie X et</br>en déconvolution de signaux 1D (enregistrement sur plusieurs années de données spectrales de Mars) ou 2D (flux vidéo d'une webcam),</br>nous présenterons notre recherche de solutions permettant la parallélisation des calculs la plus efficace possible</br>sur les processeurs de type "many cores" que sont les GPUs. Nous exposerons ainsi la triple adéquation entre</br>l'architecture des processeurs GPUs (CUDA de Nvidia), la (re)formulation des algorithmes et la (re)structuration</br>des données que nous avons mises en oeuvre sur différents types d'opérateurs utilisés dans les algorithmes</br>itératifs (projecteur, rétroprojecteur, convolution nD). Par ailleurs, nous montrerons l'attention particulière</br>qui doit être apportée au goulot d'étranglement lié au temps de transfert entre le PC et les cartes GPUs.</br>Enfin, nous présenterons le découpage des données que nous avons effectué afin de bénéficier pleinement</br>d'un serveur multi-GPUs et apporterons quelques éléments de réponse sur l'utilisation des GPUs couplés à Matlab</br>et des bibliothèques déjà existantes (CUBLAS, NVPP...).thèques déjà existantes (CUBLAS, NVPP...). +
- Les automates acycliques sont utilisés dan … Les automates acycliques sont utilisés dans tous les logiciels de traitement</br>de la langue naturelle essentiellement pour la représentation des lexiques,</br>des dictionnaires et des interprétations morpho-syntaxiques des textes.</br></br>Nous présenterons des résultats sur les stratégies de construction, de</br>manipulation et de stockage de ces automates. En particulier un algorithme</br>de construction dynamique.r un algorithme de construction dynamique. +
- Les besoins croissants en puissance de cal … Les besoins croissants en puissance de calcul exprimés par de nombreux</br>domaines scientifiques exercent une pression très forte sur les</br>architectures émergentes, les rendant toujours plus performantes mais</br>toujours plus complexes à maîtriser. Dans ce cadre, le développement</br>d'outils tirant parti des spécificités de ces architectures (quadri-</br>et bientôt octo-coeurs, processeurs Cell ou GPU par exemple) devient</br>une gageure car allier expressivité et efficacité est une tâche</br>ardue. Les travaux exposés ici montrent comment l'utilisation de la</br>programmation générative, et en particulier de la méta-programmation</br>template, permet de répondre au problème de performances et</br>d'abstractions.</br></br>Nous montrerons comment ces techniques ont permis de développer Quaff,</br>un outil de placement automatique d'applications data-flow sur des</br>cibles variées comme les clusters, les multi-coeurs ou le processeur</br>Cell.s, les multi-coeurs ou le processeur Cell. +
- Les extensions multimédia (SSE, AVX, NEON) … Les extensions multimédia (SSE, AVX, NEON) sont une composante majeure des</br>processeurs d'aujourd'hui qui restent plus que sous-utilisées. Les</br>principales raisons de cette sous-utilisation sont la relative obscurité des</br>jeux d'instructions, leur variété entre et même au sein des différentes</br>familles de puces et surtout, une méconnaissance de la disponibilité des ces</br>unités de calculs.</br></br>Boost.SIMD est une bibliothèque permettant d'exploiter ces extensions de</br>manière efficace et expressive, facilitant l'utilisation, la diffusion et la</br>portabilité de tels codes, ouvrant la porte à des accélérations de l'ordre</br>de 4 à 10 sur un simple cœur.</br></br>Cet exposé présentera les fonctionnalités de Boost.SIMD, les challenges</br>posés par son implémentation, comment le C++ moderne répond à plusieurs de</br>ces problèmes et les éléments bloquants qu'il reste à résoudre.éléments bloquants qu'il reste à résoudre. +
- Les réseaux de neurones convolutifs connai … Les réseaux de neurones convolutifs connaissent depuis quelques années</br>un franc succès dans de nombreuses applications de reconnaissance</br>visuelle. Nous reviendrons sur les premiers travaux en la matière en</br>segmentation sémantique (étiquetage de chaque pixel des images par une</br>catégorie sémantique). Nous explorerons ensuite une piste</br>d'amélioration visant à réduire la quantité de données labelisées</br>utilisée, à base d'entraînement de réseaux adversaires.</br></br>Dans un second temps, nous nous intéresserons au problème de la</br>prédiction d'images suivantes dans les vidéos: s'il nous parait</br>simple d'anticiper ce qu'il va se passer dans un futur très proche,</br>c'est un problème difficile à modéliser mathématiquement étant données</br>les multiples sources d'incertitude. Nous présenterons nos travaux de</br>prédiction dans le domaine des images naturelles, puis dans l'espace</br>plus haut niveau des segmentations sémantiques, nous permettant de</br>prédire plus loin dans le futur.ettant de prédire plus loin dans le futur. +
- Lisaac est un petit langage basé sur la te … Lisaac est un petit langage basé sur la technologie objet à base de</br>prototype. Plus flexible que l'objet à base de classe, elle permet un</br>dynamisme et un degré d'expressivité encore inégalés. Lisaac est</br>inspiré du langage Self pour les concepts d'objets à prototypes et du</br>langage Eiffel, pour les aspects d'ingénierie logicielle et notamment</br>pour la programmation par contrat. Enfin, l'objectif étant de</br>réaliser de la programmation de bas niveau à l'aide d'un langage de</br>haut niveau, un ensemble de concepts utiles à la programmation système</br>a été ajouté.</br></br>Le langage Lisaac utilise un nombre particulièrement restreint</br>d'idiomes orthogonaux rendant difficile l'élaboration d'un compilateur</br>efficace. Son compilateur en fait aujourd'hui l'unique langage à</br>prototype compilé. Les performances atteintes sont proche des</br>compilateurs C, voire même au-delà...</br></br>Pour étayer, approfondir et illustrer nos propos, nous ferons un</br>rapide tour d'horizon du développement du système d'exploitation</br>IsaacOS entièrement écrit en Lisaac. </br></br>Durant cet exposé, nous aborderons les thèmes suivants: concept à</br>prototype versus concept à classe; héritage multiple et dynamique et</br>autres particuliarité du Lisaac; technique de compilation et résultat</br>de performance; validation des concepts avec une brève présentation du</br>système d'exploitation IsaacOS.ntation du système d'exploitation IsaacOS. +
- L’accroissement exponentiel de la complexi … L’accroissement exponentiel de la complexité technique des logiciels métiers</br>a du mal à être compensée par les progrès du génie logiciel : les coûts et</br>les délais augmentent jusqu’à ce que l’intérêt de l’informatique soit</br>fondamentalement remis en cause dans certains cas, arguments rationnels et</br>légitimes à l’appui. Cette anomalie épistémologique s’explique pourtant par</br>des erreurs technologiques récurrentes dans l’histoire, des pièges et des</br>culs-de-sac ralentissant le progrès scientifique. Parmi ces freins : la</br>dette technique, l’utilisation de trop de technologies, trop élitistes pour</br>être correctement utilisées en général, et le niveau maximal de</br>compréhension et d’analyse de chaque humain, qui est fortement variable mais</br>toujours plafonné.</br></br>La technologie Faveod sert à éviter ces freins par la formalisation</br>structurée et factorisée des besoins métiers, applicatifs et techniques dans</br>un modèle générique et exhaustif. L’analyse continue des évolutions</br>collaboratives de ce modèle permet la production totalement automatisée et</br>instantanée de sa traduction technique : l’application cible en cohérence et</br>en qualité. La gestion de la complexité des facteurs influant sur la qualité</br>logicielle étant déléguée à la technologie, il devient possible d’augmenter</br>son niveau par accumulation linéaire sans dépendre des facteurs humains</br>limitants.s dépendre des facteurs humains limitants. +
- L’analyse du mouvement, ou l’analyse d’une … L’analyse du mouvement, ou l’analyse d’une séquence d’images, est</br>l’extension naturelle de l’analyse d’images à l’analyse de séries temporelles d’images.</br>De nombreuses méthodes d’analyse de mouvement ont été développées dans le</br>contexe de vision par ordinateur, comprenant le suivi de caractéristiques, le flot</br>optique, l’analyse de points-clefs, le recalage d’image, etc.</br></br>Dans cet exposé, nous présenterons les outils que nous avons</br>développés pour l'analyse de mouvement adaptés à l’analyse de séquences</br>biomédicales, et en particulier pour les cellules ciliées. Ces cellules,</br>couvertes de cils qui battent, sont présentes chez l’homme dans les zones</br>nécessitant des mouvements de fluide. Dans les poumons et les voies</br>respiratoires supérieures par exemple, les cils sont responsables de l’épuration</br>muco-ciliaire, qui permet d’évacuer des poumons la poussière et autres</br>impuretés inhalées. Les altérations de l’épuration muco-ciliaire peuvent</br>être liées à des maladies génétiques ou acquises. Ces maladies, touchant les cils,</br>sont potentiellement handicapantes. Elles peuvent cependant être</br>caractérisées par l’analyse du mouvement des cils sous un microscope, avec</br>une résolution temporelle importante. Nous avons développé plusieurs outils</br>et techniques pour réaliser ces analyses de manière automatique et avec</br>une haute précision.e automatique et avec une haute précision. +
- MAQAO (Modular Assembly Quality Analyzer a … MAQAO (Modular Assembly Quality Analyzer and Optimizer) est une suite d'outils d'analyse et d'optimisation des performances</br>à destination d'applications binaires. Le but principal de MAQAO est d'analyser des codes binaires puis de proposer aux</br>développeurs d'applications des rapports synthétiques les aidant à comprendre et optimiser les performances de leur application.</br>MAQAO combine des analyses statiques (évaluation de la qualité du code) et dynamiques (profiling) basées sur la capacité</br>à reconstruire des structures aussi bien bas niveau (basic blocks, instructions, etc.) que haut niveau (fonctions et boucles). </br>Un autre aspect important de MAQAO est son extensibilité. En effet les utilisateurs peuvent écrire leur propre plugin</br>grâce à un langage de script simple intégré (Lua).un langage de script simple intégré (Lua). +
- Malgré la grande variété des types de donn … Malgré la grande variété des types de données que l'on rencontre dans</br>le domaine du traitement d'images (1D,2D,3D, scalaires, couleurs,</br>multi-spectrales, séquences, etc...), nous sommes souvent amenés à</br>appliquer des algorithmes très classiques, ou des variations de ces</br>algorithmes, pour le pré-traitement, l'analyse ou la visualisation de</br>ces données images. Par conséquent, les logiciels et les bibliothèques</br>que nous utilisons dans notre recherche quotidienne, devraient</br>également être génériques, afin de s'adapter le mieux possible aux</br>données à traiter. Dans ce séminaire, je présenterai quelques outils</br>développés dans cette optique (au laboratoire GREYC, équipe IMAGE),</br>qui possèdent différents niveaux d'utilisations. Je commencerai tout</br>d'abord par présenter CImg, une bibliothèque C++ "template" (donc</br>générique par nature), qui a pour but de faciliter l'implémentation</br>d'algorithmes de traitements d'images personnalisés. Puis,</br>j'introduirais G'MIC, un langage de script reprenant la plupart des</br>éléments de CImg, qui est dédié au traitement et à l'analyse d'images</br>"de tous les jours". J'essaierai de montrer comment ces différents</br>outils indépendants sont organisés et comment ils cherchent à aider le</br>chercheur ou le programmeur en traitement d'images, autant d'un point</br>de vue programmation pure que d'un point de vue plus haut niveau.re que d'un point de vue plus haut niveau. +
- Motivé par de nombreuses applications, all … Motivé par de nombreuses applications, allant de la cryptographie au</br>calcul mathématique, le calcul formel s'est fortement développé ces</br>dernières années tant au niveau des algorithmes que des implantations</br>efficaces. L'efficacité des calculs repose sur celle de bibliothèques</br>dédiées, pour certaines opérations de base, comme l'algèbre linéaire</br>dans un corps fini ou avec des entiers multi-précision. Devant la</br>multiplicité des domaines de calcul et des variantes algorithmiques</br>disponibles, la conception de ces bibliothèques doit concilier une</br>forte généricité avec l'efficacité.</br></br>Nous allons présenter comment cette problématique est abordée dans les</br>bibliothèques d'algèbre linéaire exacte FFLAS-FFPACK (2) et LinBox</br>(3). Après une présentation générale de ces projets, nous focaliserons</br>la présentation sur trois aspects représentatifs:</br></br>- l'exploitation des diverses arithmétiques de base (entière,</br>flottante, booléenne), de routines numériques optimisées et leur</br>intégration au sein d'algorithmes génériques haut niveau ;</br></br>- l'approche boîte-noire de la bibliothèque LinBox, proposant un</br>modèle algorithmique spécifique, particulièrement performant pour les</br>matrices creuses ou structurées ;</br></br>- La parallélisation de code dans FFLAS-FFPACK, basée sur un langage</br>spécifique (DSL) permettant d'utiliser de façon interchangeable</br>différents langages et moteurs exécutifs, et de tirer parti du</br>parallélisme de tâche avec dépendance par flot de données.tâche avec dépendance par flot de données. +
- Mouldable programming is about looking at … Mouldable programming is about looking at programs as mouldable</br>fragments of code, not as the static, brittle syntax software often</br>turns out to be. Some simple examples follow. The notation for calling</br>a method "push" which adds an element "E" to a stack "S" can be OO or</br>static method style, it can modify "S" or return the new stack</br>etc. Can we simplify usage to just one form, and mould it to the</br>actual call? A function which breaks down for some input can signal</br>this using return flags, special return values, or exceptions, to name</br>some common ways. Can we abstract over this, and mould to the relevant</br>error handling technique? Often we need to do run-time checking of</br>arguments, e.g., array indexing bounds, forcing us to introduce lots</br>of code to deal with the unwanted cases. Can we use mouldable ideas to</br>simplify the code? In the presentation, we will elaborate on such</br>examples, discussing how we can free us from awkward syntactic</br>constraints.ree us from awkward syntactic constraints. +
- Neural networks have been producing impres … Neural networks have been producing impressive results in computer vision these last years, in image classification or</br>segmentation in particular. To be transferred to remote sensing, this tool needs adaptation to its specifics: large</br>images, many small objects per image, keeping high-resolution output, unreliable ground truth (usually</br>mis-registered). We will review the work done in our group for remote sensing semantic segmentation, explaining the</br>evolution of our neural net architecture design to face these challenges, and finally training a network to register</br>binary cadaster maps to RGB images while detecting new buildings if any, in a multi-scale approach. We will show in</br>particular that it is possible to train on noisy datasets, and to make predictions at an accuracy much better than the</br>variance of the original noise. To explain this phenomenon, we build theoretical tools to express input similarity from</br>the neural network point of view, and use them to quantify data redundancy and associated expected denoising effects.</br>If time permits, we might also present work on hurricane track forecast from reanalysis data (2-3D coverage of the</br>Earth's surface with temperature/pressure/etc. fields) using deep learning.pressure/etc. fields) using deep learning. +
- Nife est un langage de programmation ``For … Nife est un langage de programmation ``Forth-like'': basé sur les principes du</br>langage Forth, défini par Charles H. Moore dans les années 1960, il n'en</br>reprend pas la totalité des fonctionnalités. Son ambition est d'offrir</br>aux non-informaticiens qui ont besoin de faire des mesures, de contrôler des</br>appareils distants, de surveiller des processus industriels, de manipuler</br>des grandes collections de données, de faire des calculs, des filtrages, des</br>statistiques, de pouvoir le réaliser facilement, dans un environnement Linux</br>à faible coût.</br></br>Simple, n'importe qui peut comprendre le fonctionnement de ce langage en</br>quelques minutes, et le maîtriser totalement en quelques heures - une</br>semaine tout au plus. Il peut aussi être utilisé plus modestement comme une</br>super calculatrice, pour faire ses comptes ou des calculs d'inversion de</br>matrice. Le public concerné est donc très large.</br></br>Une extension de Nife pour les systèmes embarqués lui permet de pouvoir être</br>directement chargé sur de petites ou moyennes unités de calcul. Pour cela,</br>on lui associe un noyau ``bootable'' et il devient Knife : Kernelable Nife.</br>Dans ce cas, il devient un outil puissant pour coder dans des environnements</br>où la mémoire est denrée rare, et où le côté ``langage dynamique'' va</br>permettre de résoudre des problèmes là où d'autres langages vont échouer.èmes là où d'autres langages vont échouer. +
- Nous décrirons brièvement l'état de l'art … Nous décrirons brièvement l'état de l'art de l'utilisation des processeurs graphiques grand public (GPU) pour accélérer le traitement d'image, et nous en discuterons les limites. Puis, nous décrirons GpuCV, une bibliothèque logicielle libre et multi-plateforme pour accélérer par GPU les opérateurs de traitement d'image et de vision artificielle. GpuCV a été conçue pour être compatible avec la bibliothèque OpenCV et permettre d'intégrer facilement des opérateurs accélérés sur GPU dans des applications développées sur CPU. L'environnement GpuCV gère de façon transparente les caractéristiques du matériel, la synchronisation des données, l'activation à bas niveau des procédures GLSL ou CUDA, l'étalonnage et l'aiguillage vers la mise en oeuvre la plus performante et finalement offre un ensemble d'opérateurs de traiement accélérés par GPU.opérateurs de traiement accélérés par GPU. +
- Nous proposons une approche auto-supervisé … Nous proposons une approche auto-supervisée pour l’apprentissage de</br>représentations à partir de vidéos non supervisées, enregistrées à de</br>multiples points de vue. Cette approche est particulièrement pertinente en</br>robotique pour l’apprentissage par l’imitation, qui nécessite une</br>compréhension invariante par rapport au point de vue des relations</br>entre les humains et leur environnement (telles que les interactions</br>entre objets, les attributs et les poses corporelles). Nous entraînons</br>nos représentations à l’aide d’une stratégie de type triplet loss,</br>où les multiples points de vue simultanés de la même observation</br>sont attirés dans l’espace d’intégration, tout en étant repoussés</br>des voisins temporels qui sont souvent visuellement similaires mais</br>fonctionnellement différents. Ce signal encourage notre modèle à</br>découvrir des attributs invariants vis-à-vis du point de vue, mais</br>qui varient dans le temps, tout en ignorant les potentielles nuisances</br>telles que les occlusions, le flou de mouvement, l’éclairage et</br>l’arrière-plan. Nos expériences démontrent qu’une telle représentation</br>acquiert même un certain degré d’invariance vis-à-vis de l’instance</br>d’objet. Nous montrons que notre modèle peut correctement identifier</br>les étapes correspondantes dans les interactions complexes d’objets,</br>à travers différentes vidéos avec différentes instances. Nous montrons</br>également les premiers résultats, à notre connaissance, d’apprentissage</br>intégralement auto-supervisé pour l’imitation de mouvements humains</br>par un robot réel.n de mouvements humains par un robot réel. +
- Nous présenterons BSML (Bulk Synchronous P … Nous présenterons BSML (Bulk Synchronous Parallel ML), un langage de</br>programmation de haut-niveau pour machines parallèles, ainsi que des</br>exemples classiques de parallélisme implémentés dans ce langage. Nous</br>complèterons cette présentation par une étude comparative des coûts</br>théoriques de ces algorithmes réalisée sur la grappe de PC du LACL.hmes réalisée sur la grappe de PC du LACL. +
- Nous traitons du problème de la conception … Nous traitons du problème de la conception d'un compilateur où des</br>informations sur le coût à l'exécution du code objet sont retournées</br>en tant qu'annotations de coût sur le code source, et ce de façon</br>certifiée correcte. Pour cela, nous avons besoin d'une idée souple et</br>précise : (i) du sens donné aux annotations de coût, (ii) de la</br>méthode pour les prouver correctes et précises, et (iii) de la manière</br>d'en composer les preuves. Nous proposons ce que nous appelons une</br>approche par étiquetage pour répondre à ces trois questions. Dans un</br>premier temps, nous montrons son application sur un compilateur jouet.</br>L'étude formelle qui en découle suggère que l'approche par étiquetage</br>a de bonnes propriétés de compositionnalité et de passage à l'échelle.</br>Afin de s'en convaincre davantage, nous rapportons notre retour</br>d'expérience sur l'implémentation d'un compilateur prototype écrit en</br>ocaml pour un large sous-ensemble du langage C. pour un large sous-ensemble du langage C. +
- Nous étudions la problématique du mélange … Nous étudions la problématique du mélange de paradigmes de programmation</br>variés plongés dans un environnement concurrent. Dans cette</br>perspective, nous poursuivons</br>un cheminement similaire à celui qui conduit du lambda-calcul aux</br>langages fonctionnels, mais</br>en prenant comme point de départ le π-calcul. Nous proposons la</br>machine abstraite des π-threads</br>dont la principale originalité est l’absence de pile d’exécution.</br>Cette caractéristique</br>permet de nous reposer dans nos implémentations sur des algorithmes</br>simples et naturellement</br>concurrents, notamment pour ce qui concerne l’ordonnancement et le</br>ramasse-miettes. Pour ce</br>dernier, nous proposons un algorithme permettant de récupérer très</br>simplement les cycles de</br>processus en interblocage et autres structures bloquantes.erblocage et autres structures bloquantes. +
- Optimal transport (OT) has recently gained … Optimal transport (OT) has recently gained a lot of interest in machine learning. It is a natural tool to compare in a geometrically faithful way probability distributions. It finds applications in both supervised learning (using geometric loss functions) and unsupervised learning (to perform generative model fitting). OT is however plagued by the curse of dimensionality, since it might require a number of samples which grows exponentially with the dimension. In this talk, I will review entropic regularization methods which define geometric loss functions approximating OT with a better sample complexity.mating OT with a better sample complexity. +
- Pour encoder de manière efficace une séque … Pour encoder de manière efficace une séquence vidéo, la redondance</br>temporelle est souvent utilisée. Pour cela, le mouvement entre l'image</br>considérée et une image de référence est estimé. Cela permet de</br>générer une prédiction à partir de l'image de référence et seule la</br>différence entre la prédiction et l'image réelle est enregistrée. Pour</br>estimer ce mouvement, les codecs se contentent souvent de suivre</br>l'évolution spatiale de blocs dans l'image. Ils associent, pour chaque</br>bloc de l'image considérée, un bloc similaire dans un voisinage proche</br>dans l'image de référence. Nous présentons ici une méthode originale</br>pour réaliser cette prédiction par compensation de mouvement. Notre</br>méthode utilise les distances tangentes. Cela permet non seulement</br>d'estimer l'évolution de la position des blocs de l'image mais en</br>partie aussi l'évolution du bloc lui-même. Nos prédictions sont donc</br>de meilleure qualité. Utilisée dans l'encodage de séquences, on peut</br>espérer un gain de compression non négligeable. Pour valider</br>l'efficacité de la méthode, nous intégrons cette méthode dans le codec</br>Theora et mesurons son efficacité en comparant les résultats obtenus</br>avec notre méthode et ceux obtenus par une stratégie classique (le</br>block-matching).e stratégie classique (le block-matching). +
- ReactiveML est une extension d'OCaml basée … ReactiveML est une extension d'OCaml basée sur le modèle réactif</br>synchrone introduit par F. Boussinot au début des années 90. Il permet</br>la programmation de systèmes tels que les jeux vidéo ou les</br>simulateurs.</br></br>Dans cet exposé, je présenterai ReactiveML à travers l'utilisation et</br>la programmation de rmltop, le pendant ReactiveML du toplevel</br>d'OCaml. Ce toplevel permet au programmeur d'écrire interactivement</br>des programmes ReactiveML qui sont typés, compilés et exécutés à la</br>volée. Toute expression ReactiveML valide peut être chargée dans le</br>toplevel et a la même sémantique et la même efficacité que sa version</br>compilée.a même efficacité que sa version compilée. +
- Recent advances in medical image computing … Recent advances in medical image computing have resulted in automated systems that closely assist physicians in patient</br>therapy. Computational and personalized patient models benefit diagnosis, prognosis and treatment planning, with a</br>decreased risk for the patient, as well as potentially lower cost. HeartFlow Inc. is a successful example of a company</br>providing such a service in the cardiovascular context. Based on patient-specific vascular model extracted from X-ray CT</br>images, they identify functionally significant disease in large coronary arteries. Their combined anatomical and</br>functional analysis is nonetheless limited by the image resolution. At the downstream scale, a functional exam called</br>Myocardium Perfusion Imaging (MPI) highlights myocardium regions with blood flow deficit. However, MPI does not</br>functionally relate perfusion to the upstream coronary disease. The goal of our project is to build the functional</br>bridge between coronary and myocardium. To this aim we propose an anatomical and functional extrapolation. We produce an</br>innovative vascular network generation method extending the coronary model down to the microvasculature. In the</br>resulting vascular model, we compute a functional analysis pipeline to simulate flow from large coronaries to the</br>myocardium, and to enable comparison with MPI ground-truth data.ble comparison with MPI ground-truth data. +
- Rendre la vue à ceux qui l’ont perdue a lo … Rendre la vue à ceux qui l’ont perdue a longtemps été considéré comme un sujet réservé à la science-fiction. Cependant,</br>sur les vingt dernières années les efforts intensifiés dans le domaine des prothèses visuelles ont abouti à des avancées</br>significatives, et plusieurs centaines de patients dans le monde ont reçu de tels dispositifs. Ce séminaire présentera</br>brièvement le domaine des prothèses rétiniennes avec une focalisation particulière sur les aspects de traitement</br>d’image. Nous exposerons les principales approches, les limitations connues et les résultats. les limitations connues et les résultats. +
- SMIL est une bibliothèque de traitement d' … SMIL est une bibliothèque de traitement d'images 2D/3D. Elle a été</br>développée pour répondre à une demande de plus en plus forte (en</br>particulier dans le cas de projets industriels) en termes de</br>performances : taille d'images (2D ou 3D) et temps d'exécution.</br>Développée en C++ et utilisant les templates, elle peut être utilisée</br>avec n'importe quel type standard de données. Un effort important a</br>été porté sur la factorisation du code (par le biais de functors),</br>d'une part, pour faciliter l'intégration de nouvelles fonctions, et</br>d'autre part pour concentrer les parties du code permettant</br>l'optimisation. Ces "briques" communes optimisées utilisent le code</br>SIMD généré par l'auto-vectorisation de gcc et sont également</br>parallélisées grâce à l'utilisation d'OpenMP.allélisées grâce à l'utilisation d'OpenMP. +
- Separation of concerns is the idea of brea … Separation of concerns is the idea of breaking down a program into</br>encapsulated pieces that overlap in functionality as little as</br>possible. Encapsulated entities, such as classes, methods or modules,</br>are more manageable, easier to test and maintain, and may be reused</br>more easily than a large, entangled program. A cross-cutting concern</br>is something that cannot be encapsulated using normal abstraction</br>mechanisms, thus defeating separation of concerns. A classical example</br>of this is logging (e.g., logging calls and returns to a file while</br>the program is running) - the logging code needs to be added to every</br>applicable method in the program. The logging code for each method may</br>be almost identical, creating an undesirable overlap in</br>functionality. Aspects let a programmer implement a cross-cutting</br>concern as a separate entity, through advice (how a concern should be</br>implemented) and join points (where it should be implemented). I will</br>give an introduction to aspect-orientation and aspect languages, and</br>also talk a bit about domain-specific aspect languages.it about domain-specific aspect languages. +