From 553d4977e2a47d9509620fd10e868dc1f26c9c59 Mon Sep 17 00:00:00 2001 From: valorun Date: Mon, 27 Apr 2020 19:26:46 +0200 Subject: [PATCH] ajout algo segmentation --- .../Rapport_description_systeme_beta.tex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/rapport_description/Rapport_description_systeme_beta.tex b/doc/rapport_description/Rapport_description_systeme_beta.tex index af07640..74efdc5 100644 --- a/doc/rapport_description/Rapport_description_systeme_beta.tex +++ b/doc/rapport_description/Rapport_description_systeme_beta.tex @@ -233,7 +233,14 @@ Nous allons présenter ici les différents algorithmes qui nous avons pu dévelo Notre plugin contient un algorithme de filtrage des points amélioré grâce à une segmentation. 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 -Ainsi, pour chaque point, on regarde ses voisins en ne gardant que ses voisins les plus proches (en terme colorimétrique) afin de former une région. L'algorithme complet est décrit dans une publication de l'université de \cite{B01} Whuan. +Ainsi, pour chaque point, on regarde ses voisins en ne gardant que ses voisins les plus proches (en terme colorimétrique) afin de former une région. L'algorithme complet est décrit dans une publication de l'université de \cite{B01} Whuan. \newline + +La segmentation d'un nuage de points de plusieurs millions de points est un procédé coûteux en temps et en espace. En effet, une approche naïve consisterait à copier les points et les ajouter dans des listes correspondant à des régions. Cependant, la recopie d'une telle quantité de points est trop coûteuse. Il convient donc de travailler par référence en manipulant plutôt les index de ces points. +Afin de réaliser cela, nous utilisons une structure de données fournie par Cloud Compare: le nuage de point par référence (ReferenceCloud). Cette structure se base sur un nuage de point déjà existant et contient un index des points du nuage. On manipule ainsi deux index, un index local (les points du nuage par référence, ajoutés) et un index global (les points du nuage de base). \newline + +La recherche des plus proche voisins est également une étape couteuse en temps. Une autre structure de donnée fournie par CloudCompare fournit les méthodes de recherche du plus proche voisin optimisée pour de multiples appels enchainés. Il s'agit de la structure Octree. Dans cette structure, le nuage est découpé en cellules pouvant se subdiviser en plusieurs autres niveaux de cellules. L'implémentation de cette structure contient la méthode "findNearestNeighborsStartingFromCell", qui réalise la recherche des plus proches voisins dans le nuage à partir d'un point donné. \newline + +Bien qu'implémenté, cet algorithme n'a pas été suffisamment testé. Sa complexité étant en O(n²), le temps de calcul sur plusieurs millions de points est considérable. Ce problème est dû aux multiples recherches de voisinages de points. \subsubsection{Conversion RGB à l'espace colorimétrique CIELAB}