#LyX 2.0 created this file. For more info see http://www.lyx.org/ \lyxformat 413 \begin_document \begin_header \textclass book \use_default_options false \maintain_unincluded_children false \language french \language_package default \inputencoding latin9 \fontencoding T1 \font_roman default \font_sans helvet \font_typewriter default \font_default_family sfdefault \use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \default_output_format default \output_sync 0 \bibtex_command default \index_command default \paperfontsize 10 \spacing single \use_hyperref true \pdf_bookmarks true \pdf_bookmarksnumbered false \pdf_bookmarksopen false \pdf_bookmarksopenlevel 1 \pdf_breaklinks false \pdf_pdfborder false \pdf_colorlinks true \pdf_backref false \pdf_pdfusetitle true \pdf_quoted_options "linkcolor=blue" \papersize a4paper \use_geometry true \use_amsmath 1 \use_esint 1 \use_mhchem 0 \use_mathdots 0 \cite_engine basic \use_bibtopic false \use_indices false \paperorientation portrait \suppress_date true \use_refstyle 0 \index Index \shortcut idx \color #008000 \end_index \leftmargin 1.5cm \topmargin 3cm \rightmargin 1.5cm \bottommargin 3cm \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default \quotes_language french \papercolumns 1 \papersides 2 \paperpagestyle fancy \tracking_changes false \output_changes false \html_math_output 0 \html_css_as_file 0 \html_be_strict false \end_header \begin_body \begin_layout Subsection Tools > Registration > Register \end_layout \begin_layout Standard \begin_inset CommandInset label LatexCommand label name "subsection:register" \end_inset \end_layout \begin_layout Standard \begin_inset Float figure placement !htb wide false sideways false status open \begin_layout Plain Layout \align center \begin_inset Graphics filename ../images/Partie3_Fonctions/registrationDlg.png width 50text% \end_inset \begin_inset Caption \begin_layout Plain Layout \begin_inset CommandInset label LatexCommand label name "fig:registrationDlg" \end_inset Interface de paramètrage pour l'outil de recalage de deux entités \end_layout \end_inset \end_layout \end_inset \end_layout \begin_layout Standard \begin_inset Index idx status collapsed \begin_layout Plain Layout recalage \end_layout \end_inset Cette fonction permet de recaler deux nuages de points (algorithme \emph on "Iterative Closest Point" \emph default de Besl et McKay, IEEE Trans. PAMI 1992). \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard \begin_inset ERT status open \begin_layout Plain Layout \backslash textcolor{red} \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout { \end_layout \end_inset Attention : pour que ce recalage fonctionne, il est nécessaire que les deux nuages soit approximativement alignés (vous pouvez utiliser l'outil de recalage manuel par rotation / translation - voir section \begin_inset space ~ \end_inset \begin_inset CommandInset ref LatexCommand ref reference "subsection:graphicalTransformation" \end_inset ). \begin_inset Newline newline \end_inset \begin_inset ERT status open \begin_layout Plain Layout } \end_layout \end_inset \end_layout \begin_layout Standard Cette fonction ne permet pas d'aligner des nuages positionnés et orientés de manière quelconque. Son rôle est essentiellement d'affiner le recalage initial entre deux nuages de points. \begin_inset Newline newline \end_inset \end_layout \begin_layout Standard La boite de dialogue de l'outil \shape italic Register \shape default contient plusieurs parties : \end_layout \begin_layout Itemize La partie supérieure ( \emph on Role assignation \emph default ) permet à l'utilisateur d'attribuer interactivement le rôle \begin_inset Index idx status collapsed \begin_layout Plain Layout role@rôle \end_layout \end_inset de chaque entité. Le \emph on Model \emph default est le nuage de référence (qui ne bouge pas) et \emph on Data \emph default désigne le nuage à recaler (il pourra bouger si nécessaire). Pour aider l'utilisateur, \emph on CloudCompare \emph default force la coloration des entités et leur affichage ( \emph on model \emph default en rouge et \emph on data \emph default en jaune). Un bouton permet d'intervertir ces roles si besoin ( \emph on swap \emph default ). \end_layout \begin_layout Itemize La partie centrale ( \emph on Stop criterion \emph default ) permet de définir le critère d'arrêt : l'utilisateur choisit soit un nombre d'itérations fixe (ceci permet d'éviter un temps de calcul trop long, mais ne garantit pas la qualité du recalage) ou au contraire une diminution minimale de l'erreur de recalage entre deux itérations (si la diminution de l'erreur de recalage est inférieure, le gain en qualité de recalage est considéré comme insuffisant et l'algorithme s'arrête (ceci garantit une meilleure qualité de recalage mais peut prendre potentiellement beaucoup plus de temps). \end_layout \begin_layout Itemize Enfin la partie inférieure de définir des options \begin_inset Quotes fld \end_inset recherche \begin_inset Quotes frd \end_inset (elles ne devraient pas être utilisées lors d'une utilisation classique) : \end_layout \begin_deeper \begin_layout Itemize \emph on Random sampling limit \emph default : comme suggéré par différents auteur, l'algorithme ICP peut-être fortement accéléré sans perdre trop de précision si on sélectionne un nombre limité de points au hasard à chaque itération. CloudCompare utilise cet heuristique (avec comme valeur seuil par défaut 20,000 points - en dessous de cette limite les nuages ne sont pas sous-échantil lonnés). Si l'utilisateur a besoin d'une précision très forte ou qu'un comportement étrange du au sous-échantillonnage est suspecté, il est possible d'augmenter cette valeur seuil) \end_layout \begin_layout Itemize \emph on use displayed model scalar field as weights \emph default : pondération du rôle de chaque point du nuage de référence ( \shape italic model \shape default ) dans le recalage global en fonction de leur valeur scalaire associée \end_layout \begin_layout Itemize \emph on use displayed data scalar field as weights \emph default : pondération du rôle de chaque point du nuage recalé ( \shape italic data \shape default ) dans le recalage global en fonction de leur valeur scalaire associée \end_layout \begin_layout Itemize \emph on Enable furthest point removal \emph default : heuristique adaptée au recalage d'entités légèrement différentes (puisque \emph on CloudCompare \emph default est justement fait pour comparer des nuages potentiellement différents, alors que l'algorithme ICP est pensé pour recaler des nuages représentant les mêmes formes). Cet heuristique consiste à écarter les points trop éloignés à chaque itération, pour éviter que les différences entre les nuages ne faussent la position finale. La suppression des points à chaque itération étant difficile à gérer, cet heuristique en est encore à l'état d'ébauche ... \begin_inset ERT status open \begin_layout Plain Layout \backslash textcolor{red} \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Plain Layout { \end_layout \end_inset en particulier, cette option ne doit pas être cochée si les deux nuages représentent les mêmes objets. \begin_inset ERT status collapsed \begin_layout Plain Layout } \end_layout \end_inset \end_layout \end_deeper \begin_layout Standard Remarques : \end_layout \begin_layout Itemize cette fonction applique directement la transformation à l'entité \shape italic data \shape default . Il peut donc être nécessaire de cloner cette entité avant d'appliquer la fonction. Autrement si la mémoire disponible est limitée, la transformation étant aussi affichée sous forme de matrice dans la console (voir section \begin_inset space ~ \end_inset \begin_inset CommandInset ref LatexCommand ref reference "section:mainWindow" \end_inset ), il est possible de l'annuler en copiant cette transformation puis en appliquant la transformation inverse avec l'outil 'Apply transformation' (voir section \begin_inset space ~ \end_inset \begin_inset CommandInset ref LatexCommand ref reference "subsection:applyTransformation" \end_inset ). \end_layout \begin_layout Itemize si l'entité \shape italic data \shape default est un maillage dont les sommets sont vérouillés, la transformation sera affichée dans la console mais l'entité ne sera par modifiée. Il faut là encore copier la transformation depuis la console puis l'appliquer directement aux sommets du maillage (toujours avec l'outil 'Apply transformatio n'). \end_layout \end_body \end_document