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.

Contact


Baptiste Poirriez
3 rue Mathurin Meheut
35160 Montfort-sur-Meu



+33 6 85 52 10 97

CV

Recherche

Équipe IntuiDoc, IRISA/INSA

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.

Thèmes de recherche
Analyse d'images de documents, reconnaissance de structure, modélisation grammaticale
Réalisations
Modélisation grammaticale de la structure de documents hétérogènes, création d'une base d'apprentissage pour reconnaisseur, lien entre briques logicielles multi-language (Python, C/C++, Java, $\lambda$-Prolog), publication sous forme de web-service

Soutien technique au dévelopement dans l'équipe

Réalisations
Mise en place et maintenance de GitLab pour la gestion des sources, réalisation d'un outil de soumissions de jobs sur une grille de calcul, conseils techniques

Équipe SAGE, IRISA/INRIA

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

Jury
Jean Roberts (Présidente), Frédéric Nataf (Rapporteur), Patrick Amestoy (Rapporteur), Jean-Raynald de Dreuzy (Examinateur), Christian Perez (Examinateur), Jocelyne Erhel (Directrice)
Thèmes de recherche
Décomposition de domaines, calcul haute performance, calcul scientifique, modélisation, solveurs linéaires, algorithmique parallèle
Réalisation
Prototypage d'algorithmes avec Matlab, bibliothèque multi-plateforme (Windows, Linux, Unix/AIX) parallèle en C/C++

Enseignement

INSA

Vacataire (9h) 2013 – 2014

Université de Rennes 2

Vacataire (24h) 2012 – 2013

INSA

ATER (176h) 2010 – 2011

ISTIC - Université de Rennes 1

Moniteur (64h / ans) 2007 – 2010

Matières enseignées

  • Initiation à la programmation objet en Java à l'INSA et ISTIC
  • Base de données à l'INSA
  • Programmation orientée objet en C++ à l'INSA
  • Assembleur x86 à l'INSA
  • Méthodologie informatique à l'Université de Rennes 2

Formation

Doctorat en Informatique

Université de Rennes 1 2007 – 2011

Mention très honorable

Master Recherche en Informatique

ISTIC - Université de Rennes 1 2006 – 2007

Mention bien, deuxième sur 56 étudiants.

Diplôme d'ingénieur en Informatique

ESIR - Université de Rennes 1 2004 – 2007

Classes préparatoire MPSI et MP

Lycée Henri Wallon, Valenciennes 2002 – 2004

Baccalauréat général scientifique

Lycée L. Pasteur, Sommain 2002

Mention bien

Ingénieur de recherche

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.

Projet avec un industriel

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,...).

Contexte scientifique

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 :

  • un langage grammatical de description de documents, EPF (Enhanced Position Formalism), qui permet de modéliser la connaissance a priori ;
  • l'analyseur associé autorisant une modification en cours d'analyse de la structure analysée pour introduire le contexte (niveau symbolique) dans la phase de segmentation (niveau numérique), afin d'améliorer la reconnaissance.
  • l'équivalent d'analyseurs lexicaux, afin de reconnaître les terminaux du langage présents dans l'image: segments de droite et symboles pouvant être assimilés à des caractères.
  • des mécanismes de coopération entre différents niveaux de perception d'une même image, basés notamment sur l'analyse en multi-résolution, ainsi que sur des propriétés de la vision perceptive.

Travaux d'ingénierie et de recherche

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.

Doctorat

Contexte scientifique

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.

Travaux de thèse

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.

Enseignement

Vacations (2012 – 2013)

TP et tutorat de méthodologie informatique (24h TD)

Licence 1, Université de Rennes 2
Contenu : Travail dans un environnement numérique, utilisation des outils bureautiques pour produire des documents numériques.

ATER à l'INSA (2010 – 2011)

TP d'assembleur (36h)

3ème année, département informatique
Contenu des TP : Programmation x86, structure de pile, registres, assemblage, édition de liens

Cours-TD et TP de base de données (14h TD, 20h TP)

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

Cours-TD d'initiation à la programmation objet en java (56h TD, 56h TP)

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

TP de C++ (14h)

4ème année, département SRC
Contenu des TP : Notion de programmation objet, héritage, exceptions

Projet de Fin d'Etudes

Suivi de 2 étudiants en stage de fin d'étude chez Sopra Group

Moniteur en informatique à l'Ifsic (2007 – 2010)

Encadrement d'un stagiaire de L3 miage

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

Cours-TD et TP de Programmation 1 (34h TD, 54h TP)

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

TP de Méthodes Numériques et Optimisation (2h)

2ème année, ESIR

TP d'initiation à l'informatique scientifique (40h)

L1, année 2007 – 2008
Contenus des TP : Découverte du calcul scientifique avec Mathematica

TD et TP de Fonctionnement des Ordinateurs (20h TD, 20h TP)

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.