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}
|