336 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			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}       
 |