Méthodologie de conception d’applications :

Application à une chaîne de segmentation d’images

 

Sujet proposé par : M. Akil (akilm@esiee.fr) et T. Grandpierre (t.grandpierre@esiee.fr)

 

1. Sujet :

 

L’implantation d’applications en traitement d’images a souvent pour objectif l’exécution en temps réel de cette application (traitement à la cadence vidéo par exemple). Cet objectif rend inévitable le recours à des machines composées de processeurs (partie logicielle) et/ou de circuits spécialisés (partie matérielle). Le développement d’applications pour de telles architectures passe par le recours à des environnements logiciels permettant : la spécification, l’évaluation et l’implantation. A l’aide d’un modèle : par exemples à base de graphes, de processus concurrents, la spécification permet de valider le comportement opératoire de l’application (c’est à dire son fonctionnement correct). L’étape d’évaluation permet d’analyser les performances (temps d’exécution, ressources utilisées) de l’application en considérant différents types d’implantations : logicielle, matérielle, logicielle matérielle. La dernière étape, consiste à partir d’un choix d’implantation (en générale celle qui respecte la contrainte de temps, tout en minimisant la consommation de ressources), de générer son implantation sur l’architecture cible. Ce projet a pour but la spécification et la validation en vue d’une implantation optimisée de chaînes de segmentation. Cette chaîne est composée de différentes étapes. Il s’agira de trouver le partionnement « optimale » de ces étapes pour respecter la contrainte temps réel (exécution en temps de l’application) tout en minimisant les ressources utilisées. Pour ce faire on utilisera et on évaluera deux environnements logiciel :

 

1. L’environnement « SynDEx » de l’INRIA, dans le lequel le modèle de spécification utilisé est un Graphe flot de données,

2. L’environnement de conception « Visual Elite » de la société Summit, dans cet environnement la spécification peut se faire entre autres à l’aide du langage System C (modélisation sous la forme de processus concurrents).

 

2. Objectifs :  Cette étude de cas comporte plusieurs objectifs :

 

2.1. Mise en œuvre de Méthodes de conception d’application :

 

-        l’étude algorithmique de méthodes de segmentation d’images et notamment les approches « contours » [1] et « topologie des images en niveau de gris » [2],

-        l’évaluation des performances (temps de calcul, espace mémoire) et des ressources requises par les différentes étapes de chacune des chaînes de segmentation,

-        étudier les différentes stratégies de partionnement de ces étapes, pour la conception et la validation des deux chaînes de segmentation, à l’aide de :

o       l’outil Visual Elite .

o       L’outil SynDEx

o       Le langage System C

 

2.2 Etude de la complémentarité des outils en vue de leur interfaçage.

 

3. Acquis : Traitement d’images, langage System C, outils de « profiling » sous unix/linux, outils logiciels de conception d’application

 

4. Références

 

[1] : segmentation « approche contours »

http://www.esiee.fr/~info/a2si/Architecture/aaaseg1.html

 

[2] segmentation « approche topologique »

http://www.esiee.fr/~coupriem/Sdi/topondg2.html

 

[3] System C

http://lasti.enssat.fr/bindocs/GroupeArchi/enseignements/Cao/TutorialSystemC.pdf

 

 

[4] Visual Elite

http://www.chl.chalmers.se/~steen/gemensamt02/viselite_tutorial_vhdl.pdf

 

[5] : SynDEx

http://www-rocq.inria.fr/syndex/

 

5. Moyens

 

5.1 Visual Elite : Dans cet environnement, on  peut mixer dans la même conception des blocs interconnectés écrits en C, en système C (Classe C permettant la description de  comportement matériel en C).

 

 

Visual Elite

 

5.2 SynDEx :

 

Spécification de l’algorithme :

 

 

 

spécification de l’architecture : architecture avec 2 processeurs

 

 

 

 

Evaluation de l’Implantation