Difference between revisions of "Jobs/M2 2017 TG Modern Generic C ++ programming"
From LRDE
(Created page with "{{Job |Reference id=M2 2017 TG Modern Generic C ++ programming |Title=Programmation générique en C++ moderne pour le traitement d'images |Dates=5 - 6 mois en 2017 |Research ...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
|Reference id=M2 2017 TG Modern Generic C ++ programming |
|Reference id=M2 2017 TG Modern Generic C ++ programming |
||
|Title=Programmation générique en C++ moderne pour le traitement d'images |
|Title=Programmation générique en C++ moderne pour le traitement d'images |
||
− | |Dates=5 - 6 mois en |
+ | |Dates=5 - 6 mois en 2018 |
|Research field=Traitement d'Images |
|Research field=Traitement d'Images |
||
|Related project=Olena |
|Related project=Olena |
||
Line 19: | Line 19: | ||
2) Le sujet a une forte composante implémentatoire en C++ donc un prérequis attendu est une bonne connaissance de C++ (avoir lu Scott Meyers et |
2) Le sujet a une forte composante implémentatoire en C++ donc un prérequis attendu est une bonne connaissance de C++ (avoir lu Scott Meyers et |
||
savoir déjà ce que sont SFINAE, RVO, et autres joyeusetés est un très bon signe). |
savoir déjà ce que sont SFINAE, RVO, et autres joyeusetés est un très bon signe). |
||
− | |||
− | |||
|Objectives=Dans le cadre du calcul scientifique, on a besoin d'outils performants sachant que l'on dispose souvent de gros volumes de données. Les algorithmes qui traitent les données manipulent généralement des abstractions du domaine. En effet, derrière les notions de matrice, de graphe, d'image, etc. se cachent plusieurs implémentations de ces structures. On souhaite pouvoir conserver la forme intrinsèquement abstraite des algorithmes, tout en garantissant que cela n'induit pas |
|Objectives=Dans le cadre du calcul scientifique, on a besoin d'outils performants sachant que l'on dispose souvent de gros volumes de données. Les algorithmes qui traitent les données manipulent généralement des abstractions du domaine. En effet, derrière les notions de matrice, de graphe, d'image, etc. se cachent plusieurs implémentations de ces structures. On souhaite pouvoir conserver la forme intrinsèquement abstraite des algorithmes, tout en garantissant que cela n'induit pas |
||
de surcoût à l'exécution. Dit autrement, on veut que les algorithmes soient les plus rapides possibles, bien qu'ils aient à traiter des données de types différents. Pour cela, la programmation générique est une solution. |
de surcoût à l'exécution. Dit autrement, on veut que les algorithmes soient les plus rapides possibles, bien qu'ils aient à traiter des données de types différents. Pour cela, la programmation générique est une solution. |
||
Line 47: | Line 45: | ||
|Future work opportunities=Poursuite en thèse |
|Future work opportunities=Poursuite en thèse |
||
|Type=Master Internship |
|Type=Master Internship |
||
− | |Language= |
+ | |Language=en |
|Published=Yes |
|Published=Yes |
||
}} |
}} |
Latest revision as of 16:02, 12 April 2018
Programmation générique en C++ moderne pour le traitement d'images | |
---|---|
Reference id |
M2 2017 TG Modern Generic C ++ programming |
Dates |
5 - 6 mois en 2018 |
Research field |
Traitement d'Images |
Related project | |
Advisor |
Thierry Geraud |
General presentation of the field |
Mots-clefs :
|
Prerequisites |
Avant-propos important : 1) Ce stage de master est destiné à un étudiant qui souhaiterait poursuivre en thèse sur ce sujet. 2) Le sujet a une forte composante implémentatoire en C++ donc un prérequis attendu est une bonne connaissance de C++ (avoir lu Scott Meyers et savoir déjà ce que sont SFINAE, RVO, et autres joyeusetés est un très bon signe). |
Objectives |
Dans le cadre du calcul scientifique, on a besoin d'outils performants sachant que l'on dispose souvent de gros volumes de données. Les algorithmes qui traitent les données manipulent généralement des abstractions du domaine. En effet, derrière les notions de matrice, de graphe, d'image, etc. se cachent plusieurs implémentations de ces structures. On souhaite pouvoir conserver la forme intrinsèquement abstraite des algorithmes, tout en garantissant que cela n'induit pas de surcoût à l'exécution. Dit autrement, on veut que les algorithmes soient les plus rapides possibles, bien qu'ils aient à traiter des données de types différents. Pour cela, la programmation générique est une solution.
|
Benefit for the candidate |
La définition de structures de données (types d'images) et d'algorithmes génériques (traitements d'images) nécessite au préalable d'effectuer une taxonomie des entités de ce domaine. Cette tâche est en soi un défi car elle est véritablement inédite. Un second défi concerne la mise en oeuvre de modifications génériques de types, les "morpheurs" (par exemple, une image restreinte à un sous-domaine ou l'image de la composante rouge d'une image couleur). Ces modifications génériques de types augmentent l'expressivité (et la concision) des développements et décuplent les fonctionnalités offertes aux utilisateurs. En revanche, leur mise en oeuvre est un véritable challenge car elle est délicate par la combinatoire qu'ils entraînent. |
References |
- M. Garrigues and A. Manzanera, "Video++, a modern image and video processing C++ framework," In Proc. of the Conference on Design & Architectures for Signal & Image Processing (DASIP), 2014. https://hal.inria.fr/hal-01118322/document
|
Place | LRDE: How to get to us |
Compensation |
1000 euros bruts / mois |
Future work opportunities |
Poursuite en thèse |
Contact |
<thierry . geraud at lrde . epita . fr> <thierry . geraud at lrde . epita . fr> |