Finishing translation

This commit is contained in:
emiliie 2015-01-22 18:15:02 +01:00
parent ca8575b429
commit adca8448ac
1 changed files with 89 additions and 95 deletions

View File

@ -32,128 +32,122 @@ The client engages to supply the following elements :
## Contraintes techniques imposées
## Imposed technical constraints
Les contraintes techniques sont les suivantes :
- le langage de programmation sera le C++
- il est suggéré de s'appuyer sur la librairie OpenCV
- l'utilitaire de compilation suggéré est CMake
- les librairies utilisées doivent toutes être portables entre Windows et
Linux
Our technical constraints are as follow :
- C++ as programming language
- it is suggested to use the openCV library
- CMake is suggested as compilation utility
- used libraries must be portable between Windows and Linux
## Contraintes de gestion de projet et de suivi qualité
## Project management constraints and quality follow-up
Les contraintes de gestion de projet sont les suivantes :
- la programmation sera effectuée par pair programming
- au moins une réunion par semaine sera effectuée avec le client
- une réunion par semaine est programmée chaque jeudi après-midi de 15h30 à
16h30 avec l'industrielle
The project management constraints are the following :
- programming is done by pair programming
- at least one meeting a week with the client will be carried out
- one meeting a week is set every Thursday from 3:30pm to 4:30pm with the industrial
## Organisation client
Les clients sont une équipe de chercheurs composée de :
- Bastien Durix, en thèse à l'IRIT
- Sylvie Chambon, maître de conférence à l'IRIT
- Géraldine Morin, maître de conférence à l'IRIT
## Client organisation
Au moins une réunion par semaine sera effectuée avec le client, deux en début
de projet pour la rédaction du cahier des charges.
Our clients are a team of researchers composed from :
- Bastien Durix, preparing a thesis at the IRIT
- Sylvie Chambon, lecturer at the IRIT
- Geraldine Morin, lecturer at the IRIT
# Gestion des risques
At least one meeting a week with the client will be carried out, and two meetings a week
at the beginning of the project to write the specifications.
## Tableau des risques
# Risks management
| Id | Description | Cause du risque | Proba(1-5) | Conséquence | Gravité(1-5) | Actions préventives | Actions correctives | Etat du risque |
## Risks table
| Id | Description | risk cause | Proba(1-5) | Consequence | Seriousness(1-5) | Preventive actions | Corrective actions | Risk state |
| --- | --- | --- | :---: | --- | :---: | --- | --- | --- |
| 1 | Mauvaise estimation du temps | Sous-estimation de la difficulté du problème | 3 | Livraison en retard | 4 | Prendre de la marge sur le planning, nommer un responsable de l'avancement des différentes tâches | Augmenter la charge de travail, revoir le planning | Ouvert |
| 2 | L'autre groupe ne livre pas à temps | Sous-estimation de la difficulté de leur problème, augmentation de la charge de travail au dernier moment | 2 | Retard pour les tests de la partie mise en 3D du squelette | 3 | Envisager une autre méthode pour pouvoir tester sur des cas simples | Implémenter soi-même une méthode de segmentation plus simple se basant sur un simple seuil | Ouvert |
| 3 | L'autre groupe ne livre pas les bonnes sorties | Mauvaise compréhension des termes du sujet | 3 | Les tests ne fonctionneront pas correctement | 1 | Se mettre d'accord sur le format | Développement d'une fonction de transition | Ouvert |
| 4 | Les binaires fournis par le client ne sont pas compatibles | Complexité des systèmes | 2 | On ne peut pas continuer le pipeline | 3 | Discuter avec le client à propos du binaire fourni | Emuler le système permettant d'utiliser les binaires | Ouvert |
| 5 | L'entente au sein du groupe est fragile | Différentes habitudes de gestion de projet, de programmation | 1 | Tensions, ambiance accablante, stress intense | 5 | Nommer un responsable de la cohésion | Organiser une médiation entre les deux partis | Ouvert |
| 6 | L'entente avec l'autre groupe est périlleuse | Le découpage un peu bancal du projet pourrait amener des tensions | 2 | Difficultés à gérer les parties communes | 3 | Apporter une offrande en gage de bonne entente | Faire des compromis | Ouvert |
| 7 | L'un des membres est absent pendant une période donnée | Maladie, évènement | 5 | Absence d'une personne | 1 | Mettre en place des solutions de télétravail | Adaptation du planning | Ouvert |
| 8 | Production de code non fiable, non maintenable et non lisible | Manque de maîtrise des technologies utilisées | 4 | Pertes de temps, mauvaise qualité, devoir refaire des programmes | 3 | Formation au C++ par un expert technique | Appel de l'expert | Ouvert |
| 9 | Besoin d'accéder à une ressource supprimée de manière urgente | Utilisation d'une commande de suppression, crash du matériel | 2 | Pertes de temps, devoir refaire des programmes | 5 | Utiliser git | Utilisation de techniques de récupération de fichiers, longues et compliquées | Ouvert |
| 1 | Bad time estimation | Under estimation of the problem difficulty | 3 | Late delivery | 4 | Time margin of the planning, name a task advancement responsible | Raise the work amount, revise the planning | Open |
| 2 | The other group does not deliver the deliverables on time | Under estimation of their problem difficulty, last time augmentation of the work amount | 2 | Delay for tests on the 3D part of the skeleton | 3 | Contemplate an other method to test on simple case | Implement ourselves a segmentation method based on simple threshold | Open |
| 3 | The other group delivers wrong outputs | Bad comprehension of the subject | 3 | Tests do not work correctly | 1 | Find en agreement on the format | Develop a transition function | Open |
| 4 | Binaries provided by the client are not compatible | Systems complexity | 2 | We can not carry on with the pipeline | 3 | Discuss with the client the provided binary | Emulate the system allowing the use of the binaries | Open |
| 5 | Fragile harmony inside the group | Different uses for project management and programmation | 1 | Tensions, bad ambiance, intense stress | 5 | Name a cohesion responsible | Organize a mediation beetween the two parties | Open |
| 6 | Bad understanding with the other group | A bancal division of the project might bring tensions | 2 | Difficulty to manage shared parts | 3 | Bring a present as a sign of sympathy | Come to a compromise | Open |
| 7 | A group member is absent during a certain period of time | Illness, event | 5 | Someone's absence | 1 | Put in place teleworking solutions | Planning adaptation | Open |
| 8 | Production of unreliable, unmaintainable and illegible code | Lack of skills with the used technology | 4 | Lack of time, bad quality, need to reprogram | 3 | C++ formation by a technical expert | Call of the expert | Open |
| 9 | Need to access urgently to a deleted resource | Utilization of a suppression command, material crash | 2 | Lack of time, need to reprogram | 5 | Use github | Use of recuperation technology on long and complicated files | Open |
## Spécifications
## Specifications
### Partie appariement
### Matching part
- En entrée : $n$ images d'un même objet photographiées selon $n$ points de vue
différents sur un fond unis de même couleur (vert, rouge ou bleu) dont une
sera l'image de référence. Pour un même objet, les conditions de prises de
vue (éclairage, appareil photo, position de l'objet) doivent être les mêmes :
entre deux photos, l'objet ne doit pas bouger, c'est l'utilisateur qui se
déplace. Si le temps le permet, on pourra envisager de suspendre l'objet pour
les prises de vue. On définira une résolution minimale. Un marqueur (croix)
servant à calibrer par la suite la caméra sera visible sur le papier. On
définira précisément la façon dont ces marqueurs seront présents : un damier
risque de géner la segmentation. Des croix espacées régulièrement seraient
plus discrètes mais pourraient aussi géner. On se demande s'il serait
possible de n'afficher que 4 croix pour définir 4 coins.
- Input : $n$ images from the same object photographed on a plain green background within $n$ different points of view
of which one will be the reference image. For the same object the shooting conditions must be the same :
- the light
- the object position
- the camera used
A minimum resolution will be defined.
A target has to be printed and put on the image for calibration : we chose to use a chequerboard.
- Processing :
1. Apply SIFT on every picture to get a group of interest points for each picture.
The SIFT algorithm parameters will be defined later.
1. Define the camera intrinsic parameters as a .xml file.
1. Define the camera extrinsic parameters using the chequerboard.
1. Matching of the interest points.
- Output : correspondence pairs of interest points between the reference image and the other image.
- Traitement :
1. Appliquer SIFT sur chaque photo pour récupérer un ensemble de points
d'intérêt par photo. Les paramètres de l'algorithme SIFT seront à définir.
1. Définir les paramètres intrinsèques de la caméra sous la forme d'un fichier
au format xml (matK).
1. Définir les paramètres extrinsèques de la caméra à l'aide des marqueurs :
les détecter puis calculer l'homographie.
1. Appariement des points d'intérêt.
### Casing part
- En sortie : Des paires de correspondances de points d'intérêt entre l'image
de référence et une autre image.
- Input : a 3D skeleton (B-Splines) and a rayon function.
- Processing : Use canal surfaces
- Output : a 3D mesh (edges and vertices)
### Partie habillage
### Animation part
- En entrée : un squelette 3D (B-Splines) et une fonction de rayon.
- Input : a 3D mesh, articulation points on the skeleton and their associated degree of freedom
- Traitement : Utilise les surfaces canales.
- Processing : to do
- Output : animation display
- En sortie : Un maillage 3D (points et faces).
### Partie animation
- En entrée : le maillage 3D, les points d'articulations sur le squelette
et leur degré de liberté associé.
- Traitement: à élucider ?
- En sortie : l'affichage d'une animation.
### Définition des tâches
| | Détection des points d'intérêts | Appariement | Calibrage interne de la caméra | Calibrage externe de la caméra | Reconstruction 3D du squelette | Habillage | Animation |
### Tasks definition
| | Interest points detection | Matching | Camera intern calibration | Camera extern calibration | skeleton 3D reconstruction | Casing | Animation |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Conception | | | | | | | |
| Rédaction de la documentation | | | | | | | |
| Préparation des tests | | | | | | | |
| Implémentation | | | | | | | |
| Redaction of documentation | | | | | | | |
| Tests preparation | | | | | | | |
| Implementation | | | | | | | |
### Matrice de Rasci
| | Groupe 8 | Chef de projet | Service qualité | Equipe 1 | Equipe 2 | Client | Régine Nigris|
### Rasci matrix
| | Group 8 | Project leader | Quality service | Team 1 | Team 2 | Client | Régine Nigris|
| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Prise des photos | R | I | I | A-R | R | C | |
| Détection des points d'intérêts | | C | I | A-R | | C | |
| Appariement | | C | I | A-R | | C | |
| Calibrage interne de la caméra | | C | I | | A-R | C | |
| Calibrage externe de la caméra | | C | I | | A-R | C | |
| Reconstruction 3D du squelette | | C | I | R | A-R | C | |
| Habillage | | C | I | | | C | |
| Pictures shooting | R | I | I | A-R | R | C | |
| Interest points detection | | C | I | A-R | | C | |
| Matching | | C | I | A-R | | C | |
| Camera intern calibration | | C | I | | A-R | C | |
| Camera extern calibration | | C | I | | A-R | C | |
| Skeleton 3D reconstruction | | C | I | R | A-R | C | |
| Casing | | C | I | | | C | |
| Animation | | C | I | | | C | |
| Gestion de projet | | A | R | R | R | | C |
| Project management | | A | R | R | R | | C |
### Exigences
### Requirements
1. L'algorithme doit pouvoir évaluer les paramètres extrinsèques à partir des
marqueurs.
1. L'algorithme doit pouvoir évaluer les paramètres intrinsèques de la caméra.
1. The algorithm must evaluate extrinsic parameters using the chequerboar.
1. The algorithm must be able to evaluate intrinsic parameters.
### Rôles
### Roles
Afin de réaliser le projet dans de bonnes conditions, nous avons choisis de développer notre prototype en travaillant par *pair-programming*, c'est à dire travailler en parallèle par groupe de deux. La cinquième personne serait quand à elle mobile et servirait de support aux deux groupes en cas de blocage sur un aspect technique. Le poste de *support technique* pourra éventuellement être tournant.
We decided to develop our prototype working in "pair programming", meaning we will work in parallel in teams of two.
The fifth person would be mobile and support the other groups in case of blockage on a technical aspect.
These "technical support" post would be moving.
The initial role repartition is the following :
- Project leader : Thomas Forgione
- Quality responsible : Amandine Pailloux
La répartition initiale des rôles est la suivante :
- Le chef de projet : Thomas Forgione
- Responsable qualité : Amandine Pailloux
- Expert algorithmique : Thierry Malon
- Gestion des ressources humaines : Marion Lenfant