A la sortie de ma formation d'ingénieur à l'ESIR, j'ai obtenue une allocation du ministère pour financer ma thèse dans l'équipe SAGE (IRISA/INRIA).
Je suis actuellement membre de l'équipe IntuiDoc (IRISA/INSA) en tant qu'ingénieur de recherche.
Durant ma thèse et pendant mon contrat d'ingénieur j'ai encadré des TD et des TP.
Baptiste Poirriez
3 rue Mathurin Meheut
35160 Montfort-sur-Meu
+33 6 85 52 10 97
Ingénieur de recherche • Avril 2012 – Décembre 2014
Participation à un projet financé par Cassidian pour mettre en oeuvre une chaîne de traitements automatisée de documents : reconnaissance de la structure et des liens logiques entre éléments.
Soutien technique au dévelopement dans l'équipe
Doctorant • Octobre 2007 – Decembre 2011
Étude et mise en oeuvre d'une méthode de sous-domaines pour la modélisation de l'écoulement dans des réseaux de fractures en 3D. pdf
Vacataire (9h)• 2013 – 2014
Vacataire (24h)• 2012 – 2013
ATER (176h)• 2010 – 2011
Moniteur (64h / ans)• 2007 – 2010
Université de Rennes 1 • 2007 – 2011
Mention très honorable
ISTIC - Université de Rennes 1 • 2006 – 2007
Mention bien, deuxième sur 56 étudiants.
ESIR - Université de Rennes 1 • 2004 – 2007
Lycée Henri Wallon, Valenciennes • 2002 – 2004
Lycée L. Pasteur, Sommain • 2002
Mention bien
Suite à mes travaux de thèse, un CDD d'ingénieur de recherche m'a été proposé dans l'équipe IntuiDoc, de l'IRISA, dans le cadre d'un projet financé par un industriel. Ce poste n'est pas en lien direct avec la thématique de ma thèse, puisqu'il s'agit d'analyse automatisée de documents. Cette nouvelle thématique de recherche m'intéresse.
CASSIDIAN, une filiale d'EADS est maître d'œuvre d'un projet dont l'objectif est la mise en œuvre d'une chaîne automatique de traitement de documents numérisés. Cette chaîne de traitement est composée de différents modules, communiquant par l'intermédiaire de Web services, afin de les rendre interopérables. Les instituts de recherche et partenaires industriels participant au projet sont regroupés au sein d'un consortium. Les membres du consortium se réunissent régulièrement pour assurer un suivi de l'évolution du projet. La campagne d'évaluation finale, sous la forme d'une compétition ouverte à l'international, doit permettre d'évaluer les capacités actuelles des outils de traitements automatisés.
L'équipe INTUIDOC est partie prenante de ce consortium. Nous intervenons sur les modules concernants la reconnaissance de la structure du document (tableaux, images, blocs de texte,...), sur la segmentation du texte entre manuscrit et imprimé et sur l'analyse des liens logiques entre les différents éléments (champ/corps de formulaire, image/légende,...).
L'équipe INTUIDOC a développé la méthode générique de reconnaissance DMOS-P (Description avec MOdification de la Segmentation - vision Perceptive) pour des documents à forte structure dans lesquels des règles d'écriture peuvent être connues. Cette méthode est composée des éléments suivants :
Ma tâche dans ce projet comporte une partie d'ingénierie. J'ai mis en place l'architecture logicielle, à base de Web services, nécessaire à la communication des différents modules. J'ai intégré les reconnaisseurs aux Web services en assurant une conversion entre les formats de données utilisés par les différents éléments. Cette architecture nous a permis de participer aux premiers tests de validation. Il me revient d'assurer les livraisons requises en respectant le planning et le cahier des charges imposés par le maître d'œuvre. Je participe aux réunions du consortium, j'écris des documents techniques et scientifiques présentant les méthodes utilisées et l'avancement des travaux.
Les travaux passés, dans l'équipe INTUIDOC, ont permis de développer des grammaires efficaces pour décrire des documents homogènes (tableaux, courriers,...). Ces grammaires ne sont pas adaptées à la grande variabilité des documents à traiter dans le cadre de ce projet. La prise en compte de l'hétérogénéité des sources (type de documents, structure, qualité de numérisation) doit se faire dès la conception de la grammaire. Il me revient, dans les mois qui viennent, d'adapter et d'étendre les grammaires existantes pour décrire les différents éléments structurant les documents. Il m'est en outre nécessaire d'écrire de nouvelles grammaires pour gérer les éléments nouveaux (éléments graphiques, champs de formulaires) et décrire les relations logiques entre ces éléments.
J'ai réalisé mes travaux de recherche au sein de l'équipe SAGE. L'équipe SAGE est en lien avec une équipe de Géoscience Rennes pour étudier les phénomènes d'écoulement et de transport dans les milieux souterrains. La plate-forme logicielle H2OLab regroupe différents outils permettant de modéliser des transferts de fluides dans des milieux poreux et dans des réseaux de fractures. Les domaines d'applications des modèles étudiés sont, entre autres, la protection des nappes phréatiques, la gestion des ressources en eau souterraine et l'étude de stockage de déchets à longue durée de vie. Ces problèmes sont caractérisés par une forte hétérogénéité géologique et par la faible quantité de données précises sur la composition du domaine étudié.
Je me suis intéressé plus particulièrement au problème de la simulation de l'écoulement dans les fractures et à la résolution du système linéaire associé. La présence de fractures dans le milieu change radicalement la perméabilité du terrain, les fractures étant des chenaux où l'écoulement se fait en priorité. La distribution et le positionnement des fractures ne peuvent pas être déterminés exactement. De même, la répartition des flux dans les chenaux ne peut être déduite d'une observation simple du terrain. Ces difficultés conduisent à l'utilisation de modèles stochastiques, où les données incertaines sont remplacées par des variables aléatoires suivant des lois établies à partir des observations de terrain. Les résultats obtenus par les simulations sont validés par une confrontation avec des données issues de mesures expérimentales (captage, étude de puits, ... ). Ces simulations reposent sur des méthodes de quantification d'incertitudes, par exemple la méthode de Monte-Carlo. Il faut donc que les simulations puissent être réalisées de façon systématique, sans avoir à traiter des échecs liés à la génération du problème ou à sa résolution. Le nombre de simulations nécessaire pour une étude étant élevé, de l'ordre du millier, il faut que chaque simulation soit la plus rapide et la plus fiable possible. Un grand nombre d'échecs induisant une perte de temps et un gaspillage des ressources, ces derniers doivent donc être évités au maximum.
Les réseaux de fractures discrets générés aléatoirement présentent une géométrie complexe qu'il faut mailler pour utiliser un schéma de discrétisation. Afin de pouvoir étudier des domaines de plus grande taille qu'avec une approche purement 3D, les fractures sont maillées en 2D, en s'appuyant sur leurs frontières et sur les intersections. Or les intersections entre fractures peuvent créer des angles de faible ouverture et faire échouer un logiciel de génération de maillage. De plus, ces configurations dans les maillages pénalisent la résolution en rendant le système numériquement instable. Si aucune précaution n'est prise, la présence de ces angles fait ainsi échouer un grand nombre de simulations.
Une méthode originale de discrétisation géométrique a été mise au point dans l'équipe SAGE, permettant un maillage des fractures en 2D. Cette méthode utilise une discrétisation préliminaire en 3D. Les arêtes obtenues pour les frontières entre fractures sont ensuite projetées dans le plan des fractures, permettant de supprimer ces angles.
Cette étape doit être complétée par une phase de correction locale. En effet, la projection engendre, dans la majorité des cas, une géométrie 2D des fractures qui ne satisfait pas les conditions requises par le logiciel de maillage. J'ai mis en place une procédure afin de supprimer ces causes d'échecs. Une détection préalable des arêtes posant problème est réalisée, la géométrie est modifiée localement et le maillage est effectué.
Une fois cette méthode mise en place, nous l'avons validée numériquement. Nous avons vérifié, sur un grand nombre de cas tests, que la convergence du schéma n'était pas affectée par les corrections locales. Les étapes de discrétisation en 3D, de projection et de correction permettent de réaliser des simulations en grand nombre, malgré des conditions de maillage difficile. Ces résultats ont été publiés dans une revue internationale (SISC).
Nous avons ensuite étudié comment se comportent des solveurs directs et itératifs lorsque la taille du problème augmente. Le solveur direct, basé sur une factorisation LU, a une complexité qui suit une loi puissance. Il cesse rapidement d'être compétitif et échoue par manque de mémoire à partir d'environ un million d'inconnues. Le solveur multigrille algébrique (AMG), est efficace mais instable. Dans certains cas il a une convergence lente, n'arrivant parfois pas à converger dans le nombre d'itérations imparti. Ces systèmes, qui ne sont pas prévisibles simplement avec une étude préalable du réseau, représentent 30% des cas. Le solveur itératif utilisant la méthode du gradient conjugué préconditionné (PCG) est stable. Il a une complexité linéaire en fonction de la taille des systèmes, permettant de résoudre des problèmes à plusieur dizaine de millions d'inconnus mais c'est le plus lent des trois solveurs testés, lorsque AMG ou le solveur direct sont efficaces.
Afin de dépasser les limites des solveurs précédents, j'ai étudié une technique de décomposition en sous-domaines. Les fractures présentant naturellement des connexions de type interface, c'est une méthode du complément de Schur que j'ai choisie. Cette méthode consiste à résoudre le problème à l'interface des sous-domaines puis à étendre la solution sur le domaine complet. Elle utilise un solveur direct sur les problèmes internes aux sous-domaines, qui sont des problèmes de petite taille, et un algorithme itératif de gradient conjugué pour résoudre le problème à l'interface. Cette méthode permet ainsi de cumuler les atouts des deux approches, en alliant rapidité de la résolution sur les petits systèmes et stabilité de la convergence.
Le système à l'interface est préconditionné en utilisant le préconditionnement de Neumann-Neumann, qui utilise des données locales à chaque sous-domaine. Lorsque le nombre de sous-domaines augmente, le gradient conjugué converge plus lentement. L'augmentation du nombre de sous-domaines permet par contre de réduire la taille des systèmes locaux et d'augmenter le parallélisme. Il est donc nécessaire de pouvoir dépasser la limite inhérente à Neumann-Neumann, ce qui peut se faire avec un préconditionnement global. J'ai choisit une méthode de déflation basée sur un sous-espace que j'ai construit à partir de la définition des sous-domaines. Le solveur qui sert à effectuer les résolutions locales sur chaque sous-domaine utilise une factorisation de Cholesky du système local. Une approche originale de cette factorisation, exploitant la structure en bloc de la matrice associée au système local, permet de gagner en temps et en mémoire lorsque le nombre de sous-domaines augmente.
Ce choix a été validé durant mon année d'ATER par les résultats que j'ai obtenus. La méthode mise en œuvre résout tous les systèmes testés et est plus rapide que les solveurs existants lorsque la taille du problème augmente.
Le solveur est implémenté de façon à être indépendant de la plate-forme H2oLab. Il s'agit d'une bibliothèque en C/C++, utilisable sous Windows, Linux et Unix/AIX.
Licence 1, Université de Rennes 2
Contenu : Travail dans un environnement numérique, utilisation des outils bureautiques
pour produire des documents numériques.
3ème année, département informatique
Contenu des TP : Programmation x86, structure de pile, registres, assemblage, édition de liens
2ème année, département STPI
Contenu des TD et TP : Notions d'algèbre relationnelle, SQL, dépendance fonctionnelle, modèle conceptuel, interfaçage avec Java
1ère année, département STPI
Contenu des TD et TP : Programmation impérative, notion d'objets, d'héritage, application à des problèmes concrets
4ème année, département SRC
Contenu des TP : Notion de programmation objet, héritage, exceptions
Suivi de 2 étudiants en stage de fin d'étude chez Sopra Group
Réalisation d'un outil d'aide à la saisie et de validation de paramètres pour
les simulations numériques avec la plate-forme H2OLab
Utilisation de PHP, XML et JavaScript pour proposer un formulaire dynamique
s'appuyant sur des règles et des modèles de fichiers de paramètres
L3 miage, années 2008 – 2009 et 2009 – 2010
Contenu de l'enseignement : Eléments de programmation objet : classe,
objet, héritage, généricité, polymorphisme ; Listes ; Récursivité ; Arbres binaires ; Ensembles / Tables ; Partage de tables
2ème année, ESIR
L1, année 2007 – 2008
Contenus des TP : Découverte du calcul scientifique avec Mathematica
L1, année 2007 – 2008
Contenu des TD et TP : conception, écriture et exécution d’algorithmes
«impératifs», en pseudo-code et java; découverte de l'assembleur avec une
machine virtuelle simplifiée.