From 521cbdcc85a0bcfe1faaad8b4bd4b04cf8683b1f Mon Sep 17 00:00:00 2001 From: Tri-Thien Truong Date: Sat, 14 Mar 2020 16:56:12 +0100 Subject: [PATCH] ajout filtrage rgb --- .../iteration_4/Rapport_iteration_4.tex | 34 ++++++++++++------ .../iteration_4/img/ui_filter_rgb.PNG | Bin 0 -> 7567 bytes 2 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 doc/rapports_iterations/iteration_4/img/ui_filter_rgb.PNG diff --git a/doc/rapports_iterations/iteration_4/Rapport_iteration_4.tex b/doc/rapports_iterations/iteration_4/Rapport_iteration_4.tex index 9d600ae..8662e57 100644 --- a/doc/rapports_iterations/iteration_4/Rapport_iteration_4.tex +++ b/doc/rapports_iterations/iteration_4/Rapport_iteration_4.tex @@ -179,6 +179,17 @@ Temps d'exécution pour ce nuage (plus de 2 millions de points) : 800 milisecond \subsection{Revoir la marge d'erreur du filtrage RGB} +Suite aux retours du client, nous avons revu le filtrage RGB. En effet, nous avons ajouté un deuxième point à sélectionner, afin de définir les bornes des points à filtrer. + +\begin{figure}[H] + \caption{\label{} Interface filtre RGB} + \begin{center} + \includegraphics[width=0.9\textwidth]{./img/ui_filter_rgb.PNG} + \end{center} +\end{figure} + +Dans le point à sélectionner dans la partie gauche, il faut prendre le point le plus sombre, qui servira de borne inférieure. Les valeurs devront donc être inférieures aux valeurs de la partie droite. Il est également possible d'ajouter une marge pour agrandir les bornes, afin de réduire l'erreur de l'utilisateur lorsqu'il choisira ses points, et d'obtenir de meilleurs résultats. + \subsection{Terminer la nouvelle méthode de segmentation} Un algorithme de segmentation était prévu pour être achevé à l'itération précédente. Cependant, des problèmes techniques ne nous ont pas permit d'en arriver à bout. Nous avons donc poursuivit son implémentation. Cet algorithme est séparé en deux étapes. Une première consistant à parcourir le nuage de point afin de créer des régions de couleurs similaires, et une seconde étape dite de "raffinement" afin de réunir les régions similaires. \newline @@ -189,15 +200,15 @@ L'algorithme est à l'heure actuelle pratiquement implémenté. Cependant, des e \subsection{Toon mapping} -Lors du sprint review de l'itération précédente, le client offrit la suggestion d'apporter une plus value dans notre solution. -L'implémentation d'un process de "Toon mapping", ce processus a pour but de restreindre le nombre de variations de couleurs au sein du nuage de points. -Ainsi, le nuage apparaitrait de manière "cartoonesque", cela permettrait de mieux visualiser les éléments par leur couleur et pallier les variations d'intensité d'un même élément. -Ce besoin formulé dans l'itération 3, n'avait pas été prévu ni étudié en amont. Il a donc fallu réaliser des recherches sur ce domaines. +Lors du sprint review de l'itération précédente, le client offrit la suggestion d'apporter une plus-value dans notre solution. +L'implémentation d'un process de "Toon mapping", ce processus a pour but de restreindre le nombre de variations de couleurs au sein du nuage de points. \newline + +Ainsi, le nuage apparaîtrait de manière "cartoonesque", cela permettrait de mieux visualiser les éléments par leur couleur et pallier les variations d'intensité d'un même élément. +Ce besoin formulé dans l'itération 3, n'avait pas été prévu ni étudié en amont. Il a donc fallu réaliser des recherches sur ce domaine. \newline + +Il y a très peu de documentation sur le toon mapping appliqué sur les nuages de points en 3D. Il a donc fallu faire des recherches sur des méthodes analogues dans le domaine de l'image. +Dans l'imagerie couleur ou en nuance de gris, il existe différentes méthodes de quantification qui correspondent au principe du "toon mapping". \newline -Il y a très peu de docummentation sur le toon mapping appliqué sur les nuages de points en 3D. -Il a donc fallu faire des recherches sur des méthodes analogues dans le domaines de l'image. -Dans l'imagerie couleur ou en nuance de gris, il existe différentes méthodes de quantification qui correspondent au principe du "toon mapping". -\newline \begin{itemize} \item Octree : partition en arbre avec des branches regroupées ou abandonnées. \item Median-Cute : partition en "boîtes". @@ -205,11 +216,11 @@ Dans l'imagerie couleur ou en nuance de gris, il existe différentes méthodes d \item Segmentation de l'histogramme. \end{itemize} -Octree n'a pas été retenu car il demande beaucoup de mémoire et ça complexité augmente considérablement en fonction de la taille de l'image (d'autant plus que les "petits" scan compte plus d'un millions de points). Celui des k-moyenne nécessite énormément d'itérations et sa complexité fait partie des NP problème. +Octree n'a pas été retenu, car il demande beaucoup de mémoire et ça complexité augmente considérablement en fonction de la taille de l'image (d'autant plus que les "petits" scans comptent plus d'un millions de points). Celui des k-moyenne nécessite énormément d'itérations et sa complexité fait partie des NP problème. Ainsi, pour une première implémentation, nous avons décidé de réaliser un algorithme "simple" celui de segmentation de l'histogramme. Le fonctionnement de cet algorithme est le suivant : \begin{itemize} - \item On scinde l'histogramme en autant de groupe qu'on souhaite par composante + \item On scinde l'histogramme en autant de groupes qu'on souhaite par composante (dans le cas du RGB, si on veut 3 sous-groupes par composante, on obtient 27 sous-espaces au sein de l'espace) \item On affecte chaque point du nuage à son cluster @@ -217,7 +228,8 @@ Ainsi, pour une première implémentation, nous avons décidé de réaliser un a \item Et on affecte cette couleur à tous les points du cluster \end{itemize} -Actuellement, l'implémentation est terminé mais la solution est en phase de débuggage pour quelle soit totalement opérationnelle. +Actuellement, l'implémentation est terminé, mais la solution est en phase de débuggage pour quelle soit totalement opérationnelle. + \section{Risques éliminés durant l'itération} diff --git a/doc/rapports_iterations/iteration_4/img/ui_filter_rgb.PNG b/doc/rapports_iterations/iteration_4/img/ui_filter_rgb.PNG new file mode 100644 index 0000000000000000000000000000000000000000..bdda45d328a9de129a48d2f1c0f9185f668b404f GIT binary patch literal 7567 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