
Stage: Développement d'une bibliothèque unifiée pour la vision par ordinateur (wrapper C/C++)
- Sur site
- 16000 Angoulême, Nouvelle-Aquitaine, France
- Stage/Alternance
Description de l'offre d'emploi
Nous recherchons un(e) stagiaire pour intervenir au sein de notre division Land & Sea à partir du 1er trimestre 2026. Ce stage a pour vocation de développer une bibliothèque afin d’unifiée la vision par ordinateur sur notre site de Angoulême.
Contexte :
Les solutions de vision par ordinateur utilisent aujourd’hui une grande diversité de bibliothèques (OpenCV, CUDA/NVIDIA, etc.), chacune ayant ses avantages en termes de performances, de compatibilité matérielle et de fonctionnalités. Cependant, leur intégration conjointe dans un même projet est souvent complexe à cause des différences d’interfaces, de structures de données et de dépendances.
🎯 Objectif du stage
Développer une bibliothèque C++ modulaire unifiant les opérations courantes de vision, avec :
Une interface simple et cohérente ;
Le support de différents backends : CPU (OpenCV) et GPU (CUDA/NPP), avec sélection explicite ;
Une validation sur des projets existants ;
La rédaction de la documentation associée.
🧩 Missions principales
1.Audit et conception :
Définir un ensemble d’interfaces C/C++ unifiées (structures de données, API, etc.) ;
Concevoir une architecture modulaire et évolutive.
2. Implémentation des modules :
Préprocessing : filtrage, normalisation, etc.
Processing : segmentation, détection, tracking, …
Postprocessing : extraction, filtrage, export des résultats.
Pipeline orchestrator :
Gestion dynamique des backends (CPU/GPU) ;
Chaînage des modules (ex. : preprocess → segment → filtre Kalman → output).
3. Optimisation et validation :
Gestion mémoire efficace, notamment réutilisation des buffers GPU ;
Profiling intégré (mesure de la latence par étape) ;
Validation et benchmarking sur cas d’usage réels.
4. Documentation :
Rédaction de la documentation technique et d’utilisation.
🎓 Formation
Étudiant(e) en dernière année de :
École d’ingénieurs ou Master 2 spécialisé(e) en :
Informatique / Génie logiciel,
Vision par ordinateur,
Informatique embarquée,
Intelligence artificielle ou traitement d’image.
🧠 Compétences techniques attendues
Maîtrise du C++ (C++11/14/17 minimum) : classes, templates, pointeurs intelligents, conception orientée objet.
Connaissances en traitement d’image / vision par ordinateur (idéalement avec OpenCV).
Notions de calcul parallèle :
CUDA / NPP pour l’accélération GPU ;
éventuellement OpenCL ou frameworks similaires.
Compréhension des structures de données et de la gestion mémoire (buffers, pointeurs, optimisation).
Connaissances de base en profiling (analyse de performance, latence, etc.).
Bon niveau en algorithmique et esprit d’optimisation.
💡 Qualités personnelles
Curiosité technique et goût pour la performance logicielle.
Esprit analytique et rigoureux.
Autonomie, sens du détail et capacité à documenter proprement son travail.
Bon relationnel et capacité à collaborer avec une équipe R&D.
ou
C'est fait !
Votre candidature a été envoyée avec succès !
