doc/Charges/projectManagement.tex

336 lines
15 KiB
TeX

\documentclass{article}
\usepackage[top=2cm,bottom=2cm,left=2cm,right=2cm]{geometry}
\usepackage{array}
\usepackage{colortbl}
\usepackage{supertabular}
\author{Thomas Forgione, Emilie Jalras, Marion Lenfant, Thierry Malon and Amandine Pailloux}
\date{\today}
\title{Project management}
\begin{document}
\maketitle
\begin{center}
Version 3
\end{center}
\section{Need description}
Our third year final project consists in producing a 3D skeleton, its casing, and its animation
from some images of an object.
This project is done in collaboration with Bastien Durix, whose thesis is about skeleton extraction.
The steps of the project development are as follow :
\begin{itemize}
\item segmentation of the image
\item skeleton extraction
\item points matching
\item camera calibration
\item skeleton branches matching
\item skeleton casing
\item animation (using rotation points)
\end{itemize}
\subsection{Expected deliverables and delivery delay}
We will deliver an archive containing:
\begin{itemize}
\item detailed documentation (commented code and a user manual)
\item source code : camera calibration and points matching, delivered on February 6th,
and then casing and animation on March 13th.
\end{itemize}
\subsection{Client supplies}
The client engages to supply the following elements :
\begin{itemize}
\item programs performing the skeleton extraction
\item mathematical formulas for skeleton casing
\item scientific articles concerning animation
\end{itemize}
\subsection{Imposed technical constraints}
Our technical constraints are as follow :
\begin{itemize}
\item C++ as programming language
\item it is suggested to use the openCV library
\item CMake is suggested as compilation utility
\item used libraries must be portable between Windows and Linux
\end{itemize}
\subsection{Project management constraints and quality follow-up}
The project management constraints are the following :
\begin{itemize}
\item programming is done by pair programming
\item at least one meeting a week with the client will be carried out
\item one meeting a week is set every Thursday from 3:30pm to 4:30pm with the industrial
\end{itemize}
\subsection{Client organisation}
Our clients are a team of researchers composed from :
\begin{itemize}
\item Bastien Durix, preparing a thesis at the IRIT
\item Sylvie Chambon, lecturer at the IRIT
\item Geraldine Morin, lecturer at the IRIT
\end{itemize}
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.
\section{Risks management}
\subsection{Risks table}
\bottomcaption{Risks table}
\begin{supertabular}{|p{0.5cm}|p{2cm}|p{2cm}|p{1cm}|p{2cm}|p{1.5cm}|p{2cm}|p{2cm}|p{2cm}|p{1.5cm}|}
\hline
Id & Description & risk cause & Proba (1-5) & Consequence & Seriousness (1-5) & Preventive actions & Corrective actions & Risk state \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{yellow} 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 \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{yellow} 4 & Binaries provided by the client are not compatible & Systems complexity & 4 & We can not carry on with the pipeline & 4 & Discuss with the client the provided binary & Emulate the system allowing the use of the binaries & Open \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{green} 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 & Closed \\
\hline
\cellcolor{green} 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 \\
\hline
\cellcolor{yellow} 10 & Pictures unadapted & Client not satisfied of the pictures & 4 & Wasting time & 2 & Defined the conditions of the shoot with the client more precisely & Be aware of client expectations and taking again the picture & Open \\
\hline
\cellcolor{green} 11 & New task to do & Client new needs & 4 & Late delivery & 4 & Add margin in planning & change planning and contact the client to negociate about this task & Closed \\
\hline
\cellcolor{green} 12 & Integration not cancelled & Client changes his mind and wants again the integration & 2 & Late delivery & 4 & discuss with the client & change planning & Open \\
\hline
\cellcolor{green} 13 & members of the group get remedial classes & bad results at the exams & 2 & member absent & 2 & add margin & change planning & Open \\
\hline
\end{supertabular}
\subsection{Specifications}
\subsubsection{Matching part}
\begin{itemize}
\item 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 :
\begin{itemize}
\item the light
\item the object position
\item the camera used
\end{itemize}
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.
\item Processing :
\begin{enumerate}
\item Apply SURF on every picture to get a group of interest points for each picture.
The SURF algorithm parameters will be defined later
\item Define the camera intrinsic parameters as a .xml file.
\item Define the camera extrinsic parameters using the chequerboard.
\item Matching of the interest points.
\end{enumerate}
\item Output : correspondence pairs of interest points between the reference image and the other image.
\end{itemize}
\subsubsection{Casing part}
\begin{itemize}
\item Input : a 3D skeleton (B-Splines) and a rayon function.
\item Processing : Use canal surfaces
\item Output : a 3D mesh (edges and vertices)
\end{itemize}
\subsubsection{Animation part}
\begin{itemize}
\item Input : a 3D mesh, articulation points on the skeleton and their associated degree of freedom
\item Processing : to do
\item Output : animation display
\end{itemize}
\subsubsection{Tasks definition}
\begin{table}[h]
\begin{center}
\begin{tabular}{|p{2.2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
\hline
& Keypoints detection & Matching & Camera intern calibration & Camera extern calibration & skeleton matching \\
\hline
Conception & Emilie and Amandine & Emilie and Amandine & Thomas & Thomas and Marion & Thierry and Thomas \\
\hline
Redaction of documentation & Emilie and Amandine & Emilie and Amandine & Thomas & Thomas and Marion & Thierry and Thomas \\
\hline
Tests & Emilie and Amandine & Emilie and Amandine & Thomas & Thomas, Marion and Thierry & Thierry and Thomas \\
\hline
Implementation & Emilie and Amandine & Emilie and Amandine & Thomas & Thomas and Marion & Thierry and Thomas \\
\hline
\end{tabular}
\caption{Tasks definition for part 1 : segmentation, camera calibration, skeletonization, matching}
\end{center}
\end{table}
\begin{table}[h]
\begin{center}
\begin{tabular}{|p{2.2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
\hline
& Function B-Splines from controll points given & Compute caracteristic circle & Matching points on the circles & Quadrangular mesh computing & Ends processing & junctions processing \\
\hline
Conception & Thomas and Thierry & Emilie and Thierry & Marion and Thomas & Amandine and Thierry & Emilie and Amandine & Marion and Thomas \\
\hline
Redaction of documentation & Thomas and Thierry & Emilie and Thierry & Marion and Thomas & Amandine and Thierry & Emilie and Amandine & Marion and Thomas \\
\hline
Tests & & Thierry & & & Emilie, Amandine and Thierry & \\
\hline
Implementation & Thomas and Thierry & Emilie and Thierry & Marion and Thomas & Amandine and Thierry & Emilie and Amandine & Marion and Thomas \\
\hline
\end{tabular}
\caption{Tasks definition for part 2.1 : meshing}
\end{center}
\end{table}
\begin{table}[h]
\begin{center}
\begin{tabular}{|p{2.2cm}|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
\hline
& clicks on joints & create branches & mesh and branches matching & renderer \\
\hline
Conception & & Emilie and Amandine & Thierry and Marion & Thomas\\
\hline
Redaction of documentation & & Emilie and Amandine & Thierry and Marion & Thomas\\
\hline
Tests & & & & \\
\hline
Implementation & & Emilie and Amandine &
Thierry and Marion & Thomas\\
\hline
\end{tabular}
\caption{Tasks definition for part 2.2 : animation}
\end{center}
\end{table}
\subsubsection{Matrix of responsibilities}
\begin{table}
\begin{tabular}{|p{2cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\hline
& Group 8 & Project leader & Quality service & Team 1 & Team 2 & Client & Régine Nigris \\
\hline
Pictures shooting & R & I & I & A-R & R & C & \\
\hline
Interest points detection & & C & I & A-R & & C & \\
\hline
Matching & & C & I & A-R & & C & \\
\hline
Camera intern calibration & & C & I & & A-R & C & \\
\hline
Camera extern calibration & & C & I & A-R & C & & \\
\hline
Skeleton 3D reconstruction & & C & I & R & A-R & C & \\
\hline
Casing & & C & I & & & C & \\
\hline
Animation & & C & I & & & C & \\
\hline
Project management & & A & R & R & R & & C \\
\hline
\end{tabular}
\caption{Matrix of responsibilities}
\end{table}
\subsubsection{Requirements}
\begin{enumerate}
\item The algorithm must evaluate extrinsic parameters using the chequerboar.
\item The algorithm must be able to evaluate intrinsic parameters.
\end{enumerate}
\subsubsection{Roles}
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 :
\begin{itemize}
\item Project leader : Thomas Forgione
\item Quality responsible : Amandine Pailloux
\item Tester : Thierry Malon
\item Task advancement responsible : Emilie Jalras
\item Integration responsible : Marion Lenfant
\end{itemize}
\subsubsection{Actions table}
\begin{table}
\begin{tabular}{|p{0.5cm}|p{3cm}|p{3cm}|p{2cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1cm}|}
\hline
Id & Origin & Description & Accountable & Target date & Realisation & State & Risk table\\
\hline
1 & Project management & Meeting with the industrial supervisor & Thomas & 15 Jan & 15 Jan & Closed & \\
\hline
2 & Need of specifications & Meeting with the client & Thierry & 22 Jan & 22 Jan & Closed & \\
\hline
3 & Lack of knowledge from the developer & C++ training & Thomas & 22 Jan & 23 Jan & Closed & \\
\hline
4 & Team work \& version management & Git repository creation & Thomas & 05 Feb & 05 Feb & Closed & \\
\hline
5 & Project management & Meeting with the industrial supervisor & Thierry & 21 Jan & 21 Jan & Closed & \\
\hline
6 & Input needed & Taking pictures & Thierry & 22 Jan & 22 Jan & Closed & \\
\hline
7 & Report to write in english & Specifications translation & Emilie & 22 Jan & 22 Jan & Closed & \\
\hline
8 & Set up the dev tools & Install Linux / OpenCV & Thomas & 01 Feb & 02 Feb & Closed & \\
\hline
9 & Need of specifications & Meeting with the client & Thierry & 04 Feb & 04 Feb & Closed & \\
\hline
10 & Remember stuff to do & Actions table writing & Marion & 05 Feb & 04 Feb & Closed & \\
\hline
11 & Project management & Meeting with the industrial supervisor & Marion & 5 Feb & 5 Feb & Closed & \\
\hline
12 & Git Repository not well organized & Git cleaning & Thomas & 05 Feb & 05 Feb & Closed & \\
\hline
13 & Compatibility with the other team & Defining subskeletons format & Thierry & 06 Feb & 09 Feb & CLosed & \\
\hline
14 & Need of specifications & Meeting with the client & Thierry & 11 Feb & 11 Feb & Closed & \\
\hline
15 & The other group did'nt deliver binaries in time & Reschedule planning & Marion & 11 Feb & 11 Feb & Closed & 2 \\
\hline
16 & Binaries provided by he client are not compatible & Speak with the client & Thomas & 11 Feb & & Open & 4 \\
\hline
17 & Client new need & Contact the client by mail to know what we need to do & Thierry & 12 Feb & 12 Feb & Closed & 11 \\
\hline
18 & Project management & Meeting with the industrial supervisor & Amandine & 12 Feb & 12 Feb & Closed & \\
\hline
19 & Integration to do again & discuss with the client & Thierry & 25 Feb & 25 Feb & Closed &\\
\hline
20 & Project management & Meeting with the industrial supervisor & Emilie & 24 Feb & 24 Feb & Closed & \\
\hline
21 & Need of specifications & Meeting with the client & Thierry & 25 Feb & 25 Feb & Closed & \\
\hline
22 & The client need CMake to compile the code & Use CMake compilation & Thomas & 27 Feb & 27 Feb & Closed & \\
\hline
\end{tabular}
\caption{Actions table}
\end{table}
\end{document}