Analyse et génération automatique de code pour la vision et l'intelligence artificielle
Stage FRANCE Études / Statistiques / Data
Description de l'offre
Détail de l'offre
Informations générales
Entité de rattachement
Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).
Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.
Référence
2019-10835Description du poste
Domaine
Mathématiques, information scientifique, logiciel
Contrat
Stage
Intitulé de l'offre
Analyse et génération automatique de code pour la vision et l'intelligence artificielle
Sujet de stage
Analyse et génération automatique de code pour la vision et l'intelligence artificielle.
Durée du contrat (en mois)
6
Description de l'offre
Contexte du stage
Le laboratoire LVML dispose d’un outil de prototypage pour le code C++ de type data flow, dans lequel les fonctions, variables et autres constructs C++ sont représentés par des blocs qu’il est possible de connecter les uns aux autres pour réaliser des fonctions complexes (dans l’essence similaire à Simulink, labview ou l’éditeur de nœuds du logiciel Blender).
Cette approche permet notamment de tester et de modifier des chaînes algorithmiques qui pourront ensuite être implémentées « en dur ».
Le laboratoire cherche à augmenter le nombre de blocs disponibles pour les utilisateurs de l’outil en intégrant les fonctionnalités de bibliothèques existantes sous forme de nouveaux blocs.
Objectifs
Ce stage a pour objectif de créer un ou plusieurs outils automatiques capables d’analyser les structures de données et fonctions de bibliothèques comme : OpenCV (vision par ordinateur), TensorFlow (deep learning), PCL (manipulation de nuages de points) ou ROS 2 (interactions avec des composants matériels et/ou des robots) et d’en extraire l’information utile. Ces outils devront ensuite générer des blocs à partir de l’information extraite pour usage dans l’outil de prototypage data flow.
Vous pourrez également être amené à proposer des améliorations (visuelles, fonctionnelles, …) pour l’outil de prototypage data flow.
Compétences développées au cours du stage :
Ce stage permettra au candidat ou à la candidate de développer ses compétences en algorithmique en général (notamment analyse de texte) et en C++ en particulier (chaîne de compilation, design patterns, …), ainsi que sa connaissance des bibliothèques analysées (OpenCV, TensorFlow, PCL, ROS 2, …). Vous allez présenter ses travaux au personnel du laboratoire et développerez vos capacités didactiques (montrer comment fonctionnent ses développements et convaincre les personnels de les utiliser).
Votre objectif sera également d'intégrer les bonnes pratiques du développement logiciel sur un projet de grande taille : contrôle de version, tests et cycle de vie du logiciel.
Moyens / Méthodes / Logiciels
C++
Profil recherché
Profil du candidat
Le profil de base recherché est un stagiaire de fin d'études master ou ingénieur, mais d'autres profils pourront également être considérés.
Le candidat devra impérativement disposer de connaissances en C++, ainsi que d'une bonne maîtrise (et expérience) d'au moins un langage de programmation compatible linux et windows (préférablement C++). Une expérience préalable des expressions régulières est souhaitable mais non obligatoire.
Le candidat devra être autonome dans sa démarche de résolution et dans le choix des approches, langages et outils les plus adaptées.