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
- Seminar/2014-02-05 + (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.)
- Seminar/2014-03-12 + (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.)
- Seminar/2016-02-17 + (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…)
- Seminar/2013-05-22 + (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.)
- Seminar/2008-11-05 + (Dans un intergiciel schizophrène, une repr … Dans un intergiciel schizophrène, une représentation intermédiaire</br>des interactions entre composants applicatifs est construite et</br>manipulée. Cette représentation est neutre vis-à-vis du choix d'une</br>personnalité application (interface entre les composants et</br>l'intergiciel) et d'une personnalité protocolaire (interface entre</br>intergiciels distants). Elle rend possible le découplage entre ces</br>deux aspects.</br></br>Cette représentation doit préserver la structure des données associées</br>aux interactions. Cependant, sa construction in extenso s'avère coûteuse</br>dans le cas de données composites complexes. Cette conversion peut être</br>économisée en remplaçant la réplication complète de la structure par la</br>définition d'un emballage « fantôme » autour de celle-ci (et de chacun</br>de ses composants) : il suffit que cet emballage fournisse les accesseurs</br>permettant de parcourir la structure et de construire un message la</br>représentant.</br></br>Après avoir présenté un exemple concret de représentation neutre</br>des données structurées, nous montrons comment cette optimisation</br>peut être mise en oeuvre pour réaliser de manière efficace la</br>fonction de représentation dans un intergiciel schirophrène. Nous</br>concluons cette discussion par une évaluation du gain de performance</br>ainsi obtenu.ation du gain de performance ainsi obtenu.)
- Seminar/2012-07-04 + ((Morphological Filtering in Shape Spaces: … (Morphological Filtering in Shape Spaces: Applications using Tree-Based Image</br>Representations)</br></br>Connected operators are filtering tools that act by merging elementary</br>regions of an image. A popular strategy is based on tree-based image</br>representations: for example, one can compute a shape-based attribute on</br>each node of the tree and keep only the nodes for which the attribute is</br>sufficiently strong. This operation can be seen as a thresholding of the</br>tree, seen as a graph whose nodes are weighted by the attribute. Rather than</br>being satisfied with a mere thresholding, we propose to expand on this idea,</br>and to apply connected filters on this latest graph. Consequently, the</br>filtering is done not in the image space, but in the space of shapes built</br>from the image. Such a processing is a generalization of the existing</br>tree-based connected operators. Indeed, the framework includes classical</br>existing connected operators by attributes. It also allows us to propose a</br>class of novel connected operators from the leveling family, based on shape</br>attributes. Finally, we also propose a novel class of self-dual connected</br>operators that we call morphological shapings.ators that we call morphological shapings.)
- Seminar/2009-12-02 + (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.)
- Seminar/2013-10-09 + (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.)
- Seminar/2010-06-02 + (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.)
- Seminar/2015-10-14 + (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.)
- Seminar/2010-04-28 + (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.)
- Seminar/2017-03-08 + (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...).)
- Seminar/2014-02-12 + (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.)
- Seminar/2008-09-14 + (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.)
- Seminar/2016-03-23 + (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.)
- Seminar/2017-12-13 + (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.)
- Seminar/2009-04-22 + (SmartEiffel, également connu sous le nom d … SmartEiffel, également connu sous le nom de GNU Eiffel, est à la fois</br>un langage et un ensemble d'outils de compilations, de documentation et</br>de validation.</br></br>Le langage SmartEiffel vise à favoriser la mise en pratique des</br>principales exigences liées au développement d'un gros logiciel par</br>une grande équipe. En plus d'exigences en terme de qualité, de</br>sécurité et de documentation, la définition de SmartEiffel est</br>également soucieuse de l'efficacité du programme à l'exécution. Ainsi,</br>le modèle des objets qui est à la base du langage intègre également</br>les types les plus élémentaires sans surcoût potentiel à l'exécution.</br>Pour sa part, le mécanisme de programmation par contrats qui est</br>essentiel en matière de documentation est également un bon moyen de</br>rechercher les meilleures performances à l'exécution.</br></br>Durant cet exposé, la visite guidée du langage présentera le modèle</br>d'objets, la programmation par contrats, la double forme d'héritage</br>multiple ainsi que le mécanisme des agents.ultiple ainsi que le mécanisme des agents.)
- Seminar/2015-02-18 + (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.)
- Seminar/2016-11-23 + (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.)
- Seminar/2017-06-14 + (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).)
- Seminar/2009-10-21 + (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.)
- Seminar/2015-03-11 + (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.)
- Seminar/2008-04-30 + (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.)
- Seminar/2019-04-10 + (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.)
- Seminar/2014-05-14 + (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.)
- Seminar/2009-09-30 + (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.)
- Seminar/2017-05-03 + (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.)
- Seminar/2008-05-28 + (L'algorithmique constructive permet, parta … L'algorithmique constructive permet, partant d'une spécification écrite</br>sous forme d'une combinaison non-efficace de fonctions, de dériver, sous</br>certaines conditions, des algorithmes parallèles efficaces. Cette dérivation</br>s'appuie sur des théorèmes d'équivalence de programmes et est formellement</br>correcte. Elle aide le programmeur à concevoir des programmes parallèles.</br>Toutefois les bibliothèques de squelettes proposées ne sont pas certifiées.</br>Dans le cadre d'une collaboration avec l'université de Tokyo, nous proposons</br>de cibler des squelettes algorithmiques développés en BSML et certifiés à</br>l'aide de l'assistant de preuve Coq.iés à l'aide de l'assistant de preuve Coq.)
- Seminar/2012-02-15 + («The effective exploitation of his powers … «The effective exploitation of his powers of abstraction must be</br>regarded as one of the most vital activities of a competent</br>programmer.» disait Dijsktra.</br></br>En effet, pour aborder la complexité d'un problème, l'explicitation</br>des concepts utiles à sa formalisation et à sa résolution est bien</br>souvent une étape clé. Lorsque que l'on étend ce processus à une</br>classe de problèmes qui partagent les mêmes concepts, il est naturel</br>de se doter d'un langage le plus approprié possible pour manipuler ces</br>abstractions spécifiques à un domaine (en anglais, «Domain Specific</br>Language»).</br></br>Comment implémenter ces DSLs? Une première approche classique reflète</br>les constructions du DSL sous la forme d'un jeu de fonctions de</br>bibliothèque. L'avantage de cette approche est d'utiliser directement</br>son langage généraliste préféré, et sa chaîne de compilation</br>optimisée, de façon à générer du code machine à moindre frais. Par</br>contre, dans ce cadre, l'écriture de passe d'optimisations spécifiques</br>au DSL - à moins d'utiliser des techniques pointues de</br>méta-programmation - est a priori impossible.</br></br>Une seconde approche, opposée, consiste à écrire un compilateur pour</br>le DSL à partir de zéro. Toute liberté est alors donnée à</br>l'implémenteur d'intégrer à son compilateur des passes d'optimisation</br>spécifiques… mais au prix d'une réimplémentation de passes de</br>compilation déjà présentes, et certainement plus abouties, dans le</br>compilateur de son langage généraliste favori.</br></br>Dans cet exposé, je présenterai les travaux de Martin Odersky et</br>son équipe sur la virtualisation de DSLs à l'intérieur du langage de</br>programmation Scala. La virtualisation de langage utilise</br>intensivement le polymorphisme et la composition mixin de Scala ainsi</br>que des techniques de génération de code à l'exécution pour embarquer</br>des langages spécifiques dans Scala dont la compilation peut</br>réutiliser des modules du compilateur mais aussi étendre ces derniers</br>par des optimisations spécifiques au domaine. des optimisations spécifiques au domaine.)
- Seminar/2011-02-09 + (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.)
- Seminar/2021-10-06 + (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.)
- Seminar/2011-05-18 + (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).)
- Seminar/2009-02-11 + (JoCaml est une extension d'Objective Caml … JoCaml est une extension d'Objective Caml pour la programmation</br>concurrente et distribuée, inspirée par le join-calcul. Nous avons</br>récemment publié une nouvelle version de JoCaml, dont la compatibilité</br>avec OCaml est meilleure que celle de la version initiale de F. Le</br>Fessant. La nouvelle version pourra facilement être mise à jour au</br>rythme d'OCaml et est binaire-compatible avec OCaml.</br></br>L'exposé s'attachera plus au langage JoCaml qu'au système JoCaml. Il</br>montrera comment, à partir d'un programme potentiellement</br>parallélisable écrit en OCaml (le ray tracer du concours ICFP 2001),</br>on peut facilement produire un programme distribué, dans le cas</br>abordé, très efficace. Ce sera l'occasion d'aborder la programmation</br>en JoCaml de la coordination de multiples agents coopérants, d'une</br>manière simple et concise dans l'esprit de la programmation</br>fonctionnelle.</br></br>JoCaml est disponible en http://jocaml.inria.fr/.est disponible en http://jocaml.inria.fr/.)
- Seminar/2018-12-14 + (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.)
- Seminar/2019-03-06 + (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.)
- Seminar/2013-03-27 + (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.)
- Seminar/2008-03-26 + (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.)
- Seminar/2009-03-25 + (Si une fonction φ promet de manipuler une … Si une fonction φ promet de manipuler une valeur de type α sans</br>l'observer, on peut utiliser son code sans risque pour toutes les</br>affectations possibles de α : que la valeur soit entière (α = int) ou</br>qu'elle soit un arbre (α = tree), la fonction se comportera</br>toujours de façon identique. Cette propriété s'appelle le polymorphisme</br>paramétrique, l'essence de la généricité.</br></br>Promettre de ne pas observer de trop près son argument est un fardeau</br>parfois insupportable pour une fonction, pour des raisons</br>algorithmiques (comment prendre une décision sans savoir ce que vaut</br>mon argument ?), ou encore pour des raisons de performances de</br>bas-niveau (si je sais que α = int, je peux utiliser une primitive</br>dédiée de mon processeur). Même si le type d'une valeur est caché</br>derrière un type plus abstrait α, on peut fournir des mécanismes pour</br>« le redécouvrir » grâce à des tests dynamiques ou à des raisonnements</br>purement statiques. La propriété qui permet de diriger son calcul par</br>la forme des types est appelée le polymorphisme intentionnel.</br></br>Dans cet exposé, nous présenterons plusieurs versions du</br>polymorphisme intentionnel offertes par différents systèmes de types</br>et de preuves sûrs (c'est-à-dire garantissant que les programmes</br>ne peuvent pas planter et sont corrects vis-à-vis de leur spécification).corrects vis-à-vis de leur spécification).)
- Seminar/2009-04-22 + (SmartEiffel, également connu sous le nom d … SmartEiffel, également connu sous le nom de GNU Eiffel, est à la fois</br>un langage et un ensemble d'outils de compilations, de documentation et</br>de validation.</br></br>Le langage SmartEiffel vise à favoriser la mise en pratique des</br>principales exigences liées au développement d'un gros logiciel par</br>une grande équipe. En plus d'exigences en terme de qualité, de</br>sécurité et de documentation, la définition de SmartEiffel est</br>également soucieuse de l'efficacité du programme à l'exécution. Ainsi,</br>le modèle des objets qui est à la base du langage intègre également</br>les types les plus élémentaires sans surcoût potentiel à l'exécution.</br>Pour sa part, le mécanisme de programmation par contrats qui est</br>essentiel en matière de documentation est également un bon moyen de</br>rechercher les meilleures performances à l'exécution.</br></br>Durant cet exposé, la visite guidée du langage présentera le modèle</br>d'objets, la programmation par contrats, la double forme d'héritage</br>multiple ainsi que le mécanisme des agents.ultiple ainsi que le mécanisme des agents.)
- Seminar/2019-10-01 + (The Loci Auto-Parallelizing framework prov … The Loci Auto-Parallelizing framework provides a Domain Specific</br>Language (DSL) for the creation of high performance numerical</br>models. The framework uses a logic-relation model to describe</br>irregular computations, provide guarantees of internal logical</br>consistency, and provides for automatic parallel execution. The</br>framework has been used to develop a number of advance computational</br>models used in production engineering processes. Currently Loci based</br>tools form the backbone of computational fluid dynamics tools used by</br>NASA Marshall and Loci based codes account for more than 20% of the</br>computational workload on NASA’s Pleiades supercomputer. This talk</br>will provide an overview of the framework, discuss its general</br>approach, and provide comparisons to other programming models through</br>a mini-app benchmark. In addition, future plans for developing</br>efficient schedules of fine-grained parallel and memory bandwidth</br>constrained computations will be discussed. Finally, some examples of</br>the range of engineering simulations enabled by the technology will be</br>introduced and briefly discussed. will be introduced and briefly discussed.)
- Seminar/2012-10-17 + (The Single-chip Cloud Computer (SCC) is a … The Single-chip Cloud Computer (SCC) is a 48-core experimental processor</br>created by Intel Labs targeting the many-core research community. The 6x4</br>mesh Network-on-Chip provides 24 tiles with 2 cores each. All cores are</br>independent and run their own instance of an operating system. It has</br>hardware support (local buffers on the tiles) for sending short messages</br>between cores, and allows for voltage and frequency control at 8 and 2 cores</br>respectively.</br></br>We have already modified the SVP runtime system to use these on-chip buffers</br>for the communication between threads executed on separate cores. We also</br>created a visual application for manual process migration and scheduling on</br>the SCC as well as a library for customized voltage and frequency scaling on</br>the chip.</br></br>Currently we focus on automated parallelization and mapping of one or</br>multiple sequential programs onto the 48 cores by modifying the daedalus</br>framework to target the SCC. The daedalus framework parallelizes sequential</br>C programs using Kahn Process Networks (KPNs) and generates code to run the</br>KPN on multiple hardware platforms like for example an FPGA, SMP CPU or</br>GPU. The SCC backend, which is work in progress, should result in a tool</br>that utilizes the SCC cores in an optimal way by means of performance and</br>energy consumption. It should also allow the system to dynamically adapt on</br>changes in the computational or communicational needs of the processes by</br>scaling frequency and migrating processes.scaling frequency and migrating processes.)
- Seminar/2011-11-16 + (The ilastik system developed by our group … The ilastik system developed by our group uses machine learning and</br>simple interaction techniques to empower users without special image</br>processing expertise to segment and analyze their 2- and 3-dimensional</br>image data on their own. It offers a number of easy-to-use workflows</br>for various common analysis tasks. The talk will present two of these</br>workflows (“interactive classification” and “region carving”), going</br>from an online demonstration of the high-level user experience down to</br>the algorithmic and software design details. Special emphasis will be</br>put on aspects of genericity and parallelization which facilitate</br>convenient adaptation of basic building blocks to different contexts</br>without loss of performance. Examples from challenging biological</br>applications will illustrate our system's capabilities.will illustrate our system's capabilities.)
- Seminar/2019-12-17 + (The relationship between neighboring pixel … The relationship between neighboring pixels plays an</br>important role in many vision applications. A typical example of a</br>relationship between neighboring pixels is the intensity order, which</br>gives rise to some morphological tree-based image representations</br>(e.g., Min/Max tree and tree of shapes). These trees have been shown</br>useful for many applications, ranging from image filtering to object</br>detection and segmentation. Yet, these intensity order based trees do</br>not always perform well for analyzing complex natural images. The</br>success of deep learning in many vision tasks motivates us to resort</br>to convolutional neural networks (CNNs) for learning such a</br>relationship instead of relying on the simple intensity order. As a</br>starting point, we propose the flux or direction field representation</br>that encodes the relationship between neighboring pixels. We then</br>leverage CNNs to learn such a representation and develop some</br>customized post-processings for several vision tasks, such as symmetry</br>detection, scene text detection, generic image segmentation, and crowd</br>counting by localization. This talk is based on [1] and [2], as well</br>as extension of those previous works that are currently under review.</br></br>[1] Xu, Y., Wang, Y., Zhou, W., Wang, Y., Yang, Z. and Bai, X.,</br>2019. Textfield: Learning a deep direction field for irregular scene</br>text detection. IEEE Transactions on Image Processing.</br>[2] Wang, Y., Xu, Y., Tsogkas, S., Bai, X., Dickinson, S. and Siddiqi,</br>K., 2019. DeepFlux for Skeletons in the Wild. In Proceedings of the</br>IEEE Conference on Computer Vision and Pattern Recognition.n Computer Vision and Pattern Recognition.)
- Seminar/2021-05-12 + (Topological Data Analysis (TDA) is a recen … Topological Data Analysis (TDA) is a recent area of computer science that focuses on discovering intrinsic structures hidden in data. Based on solid mathematical tools such as Morse theory and Persistent Homology, TDA enables the robust extraction of the main features of a data set into stable, concise, and multi-scale descriptors that facilitate data analysis and visualization. In this talk, I will give an intuitive overview of the main tools used in TDA (persistence diagrams, Reeb graphs, Morse-Smale complexes, etc.) with applications to concrete use cases in computational fluid dynamics, medical imaging, quantum chemistry, and climate modeling. This talk will be illustrated with results produced with the "Topology ToolKit" (TTK), an open-source library (BSD license) that we develop with collaborators to showcase our research. Tutorials for re-producing these experiments are available on the TTK website.eriments are available on the TTK website.)
- Seminar/2015-03-11 + (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.)
- Seminar/2016-09-28 + (Traditionnellement, la prospection commerc … Traditionnellement, la prospection commerciale B2B se fait grâce à des</br>listes d'entreprises classées manuellement, sur la base de données</br>administratives renseignées à la création des entreprises. Ces listes</br>sont donc souvent dépassées, très chères et peu qualifiées.</br></br>C-Radar, produit développé par la société Data Publica, veut</br>transformer la prospection commerciale en enrichissant ces données</br>administratives par des données issues du web. Ainsi, on obtient des</br>données fraîches, plus ciblées. Et grâce aux techniques de machine</br>learning et de clustering, on peut obtenir automatiquement des listes</br>d'entreprises pertinentes à faible coût.</br></br>Lors de cette présentation, nous aborderons les différentes techniques</br>de science des données mises en œuvre dans ce produit, en relation</br>avec les fonctionnalités du produit.ation avec les fonctionnalités du produit.)
- Seminar/2012-03-21 + (Une question fondamentale pour mes recherc … Une question fondamentale pour mes recherches est de savoir ce qu'est</br>une image. Cela peut sembler à première vue une question trop simple :</br>une image, c'est un ensemble de points. Mais ces points sont reliés</br>entre eux, c'est ce qu'on appelle une structure, et ils ont des</br>données de types multiples qui leur sont attachées. La bibliothèque</br>Milena, développée au LRDE, est une bibliothèque générique dédiée au</br>traitement d'images. Dans Milena, trois axes indépendants sont</br>développés : l'axe des structures, l'axe des données, et celui des</br>algorithmes, c'est-à-dire de ce qu'on peut faire avec une image.</br></br>Dans cet exposé, je vais développer plusieurs exemples dans lesquels</br>je choisirai un algorithme et un type de données, en faisant varier la</br>structure. Changer la structure, c'est penser les images d'une manière</br>différente, et c'est quelque chose d'extrêmement porteur en recherche.</br></br>- Un premier exemple est celui d'un algorithme classique de</br> segmentation : la ligne de partage des eaux. Originellement pensé sur</br> les pixels, sa traduction dans le cadre des arêtes donne le problème</br> classique d'arbre couvrant de poids minimum. Si la ligne de partage</br> des eaux est très connue en traitement d'images, les arbres de</br> poids minimum sont très utilisés en classification. Un pont naturel</br> est alors établi entre deux communautés différentes, et les idées</br> provenant de ces deux communautés peuvent être combinées.</br></br>- Un deuxième exemple est celui de la représentation arborescente des</br> images. Pour illustrer, tant les lignes de niveaux que les</br> composantes connexes des ensembles de niveaux (les coupes) des</br> images sont naturellement structurées en arbre : deux lignes ou deux</br> composantes sont soit disjointes soit emboîtées. On peut filtrer</br> une image en éliminant de l'arbre tous les nœuds qui ne vérifient</br> pas un critère. Mais on peut aussi considérer l'arbre lui-même comme</br> une image, et appliquer sur cet arbre un algorithme de traitement</br> d'images. C'est une idée récursive très riche.</br></br>D'autres exemples pourront être développés en fonction du temps : liens</br>entre ligne de partage des eaux topologique et segmentation</br>hiérarchique, topologie discrète dans divers cadres...</br></br>La bibliothèque Milena permet d’appliquer la plupart des algorithmes</br>existants à une nouvelle structure, ce qui est un gain de temps</br>incontestable. Cela permet de se concentrer sur ce qui fait le cœur</br>de mon métier: chercher un algorithme plus efficace, adapté à un type</br>de structure, ou encore chercher quelles sont les propriétés</br>mathématiques d’un algorithme sur une structure donnée. d’un algorithme sur une structure donnée.)
- Seminar/2017-02-08 + (Vcsn est une plateforme consacrée aux auto … Vcsn est une plateforme consacrée aux automates et aux expressions</br>rationnelles. Parce qu'elle traite une large variété de natures</br>d'automates, elle place en son coeur le concept de "contexte", qui</br>type les automates, les expressions rationnelles, etc. La plateforme</br>repose sur une bibliothèque C++14 "templatée" par des contextes, au</br>dessus de laquelle la couche "dyn" qui, grâce à de l'effacement de</br>type et de la compilation à la volée, offre à l'utilisateur le confort</br>d'une bibliothèque traditionnelle avec la généricité et les</br>performances d'une bibliothèque templatée. Ces bibliothèques sont</br>ensuite exposées au travers d'outils en ligne de commande, mais aussi</br>Python et surtout IPython, qui permettent une exploration interactive</br>simple d'algorithmes.</br>La bibliothèque Vcsn repose sur un ensemble d'objets - automates,</br>étiquettes, poids, polynômes, expressions rationnelles et</br>développements rationnels - sur lesquels sont fournis plus de trois</br>cents algorithmes. Dans certains cas, Vcsn offre des fonctionalités</br>inégalées, et certains de ces algorithmes ont des performances</br>supérieures à celles des projets comparables.</br></br>Nous ferons une présentation de l'architecture générale de Vcsn, sous</br>la forme d'une démonstration guidée par les questions, ainsi qu'un</br>exposé des objectifs de Vcsn 3.0.si qu'un exposé des objectifs de Vcsn 3.0.)
- Seminar/2021-02-10 + (We introduce iposets - posets with interfa … We introduce iposets - posets with interfaces - equipped with a novel gluing</br>composition along interfaces and the standard parallel composition. We study</br>their basic algebraic properties as well as the hierarchy of gluing-parallel</br>posets generated from singletons by finitary applications of the two</br>compositions. We show that not only series-parallel posets, but also</br>interval orders, which seem more interesting for modeling concurrent and</br>distributed systems, can be generated, but not all posets. Generating posets</br>is also important for constructing free algebras for concurrent semi-rings</br>and Kleene algebras that allow compositional reasoning about such systems.ompositional reasoning about such systems.)