1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
\subsection{Tools > Registration > Align}
\label{subsection:align}
\begin{figure}[!htb]
\begin{center}
\includegraphics[width=0.6\textwidth]{Partie3_Fonctions/alignDlg.png}
\caption{\label{fig:alignDlg}Interface de paramtrage pour l'outil de recalage grossier de deux entits}
\end{center}
\end{figure}
Cette fonction permet de recaler\index{recalage}\index{aligner des nuages|see{recalage}} grossirement deux nuages de points (algorithme \emph{"4 points Congruent Sets For Robust
Registration"} de Aiger, Mitra et Cohen-Or, Siggraph 2008).
\\
\par
Une premire zone de saisie (en haut gauche) permet d'indiquer les 2 nuages recaler et leurs rles\index{role@rle}
respectifs (\emph{Model and Data} : le \emph{Model} est le nuage de rfrence (qui ne bouge pas) sur lequel viendra s'aligner (si possible)
le nuage \emph{Data}.
Comme le recalage calcul est un recalage rigide, seules des translations et des rotations peuvent tre appliques
l'ensemble du nuage \emph{Data}.
Plusieurs autres paramtres doivent tre renseigns par l'utilisateur pour une utilisation optimale de cette mthode.
\\
\par
\emph{Sampling} : cette zone concerne l'tape pralable de sous-chantillonnage\index{echantillonner@chantillonner!sous-echantillonner@sous-chantillonner}
des nuages de points. Cela permet d'amliorer sensiblement l'efficacit de l'algorithme.
En effet, quelques dizaines de milliers de points suffisent gnralement obtenir un bon
recalage, alors que la complexit de l'algorithme augmente rapidement en fonction du nombre de points. L'utilisateur devrait toujours
chercher minimiser le nombre de points pris en compte, quitte relancer l'algorithme avec plus de points si besoin.
Voici les paramtres du sous-chantillonnage :
\begin{itemize}
\item \emph{Method} : mthode de sous-chantillonnage (voir section~\ref{subsection:subsample}). Slectionnez \emph{None} pour ne pas sous-chantillonner
\item \emph{Model} : un slider et/ou un champ avec variateur permet de choisir le nombre de points conserv pour le nuage de rfrence
\item \emph{Data} : idem, un slider et/ou un champ avec variateur permet de choisir le nombre de points conserv pour le nuage recal\\
\end{itemize}
\par
\emph{Registration parameters} : cette zone correspond aux paramtres de l'algorithme de recalage en tant que tel.
Nous expliquons en dtail ces paramtres :
\begin{itemize}
\item \emph{Number of trials} : l'algorithme procde par essais successifs et ne retient que celui ayant fourni le meilleur rsultat.
Ce champ permet de choisir le nombre d'essais effectuer. Plus la valeur saisie est grande, plus le calcul sera long, mais plus la
probabilit d'obtenir de bons rsultats sera leve. Il peut donc tre ncessaire d'adapter ce paramtre en fonction du nombre de points
composant les nuages pour obtenir un bon alignement dans un temps raisonnable. Pour donner un ordre d'ide, une cinquantaine d'essais
pour recaler deux nuages de 5000 points chacun permet d'obtenir un rsultat convenable en quelques minutes (de l'ordre de 2 5 minutes,
tout dpend de l'ordinateur sur lequel le programme s'excute).
\item \emph{Overlap} : ce paramtre, compris entre 0.0 et 1.0, correspond une estimation du taux de recouvrement entre les deux nuages
lorsqu'ils sont correctement aligns. Un taux de recouvrement de 1 signifie que les deux nuages se recouvrent quasiment entirement, 0
signifiant que les nuages sont disjoints (dans ce cas, le recalage n'a pas beaucoup de sens). Une estimation trs approximative
du recouvrement est en gnral suffisante, il ne s'agit en aucun cas de renseigner avec prcision la valeur effective.
\item \emph{Delta} : ce paramtre correspond une estimation a priori de la distance moyenne qui existera entre les points des deux nuages
aprs qu'ils aient t recals. Il sert de critre d'arrt et agit comme une tolrance l'erreur : plus il est proche de 0, plus on contraint
les nuages tre proches, mais plus la probabilit de trouver une bonne solution est faible. En principe, si \emph{Delta} vaut zro, le
programme ne pourra pas trouver d'alignement entre les deux nuages. En rgle gnrale, pour obtenir de bons rsultats, \emph{Delta} doit
correspondre la rsolution (inverse de la densit) du nuage de rfrence. L'interface propose un bouton \emph{Estimate} qui permet
d'estimer de manire automatique ce paramtre en se basant sur un calcul de la densit moyenne du nuage de rfrence.
\item \emph{Limit max. number of candidates} : lorsque ce champ est activ (pour cel, cocher la case qui y est associ), il est possible de fixer
le nombre maximal de candidats que le programme est autoris traiter pour chaque essai. En effet, lors d'un essai, le processus recherche
dans le nuage servant de donnes des ensembles de points pouvant mener un bon recalage. Ces ensembles sont calculs en fonction des paramtres cits
prcdemment, et le programmme peut tre amen trouver un nombre norme de candidats (quelques centaines de milliers d'ensembles). Ce paramtre permet
de ne slectionner parmi ces candidats que ceux qui sont considrs comme tant les meilleurs, et donc de raccourcir considrablement le temps de
traitement de chaque essai. En contrepartie, on se prive potentiellement de trouver le meilleur recalage cause de l'heuristique utilise pour retenir
les meilleurs candidats. Lorsque ce champ est dsactiv, le nombre maximal de candidats est illimit, ce qui peut conduire de trs grands temps de calcul.
\end{itemize}
\begin{figure}[!htb]
\begin{center}
\includegraphics[width=0.8\textwidth]{Partie3_Fonctions/alignExample}
\caption{\label{fig:alignExample}Alignement de deux nuages se recouvrant partiellement.
A gauche la configuration initiale, droite le rsultat du recalage avec un recouvrement estim 90\%
(\emph{Overlap}~$=\:0,9$) et une vingtaine d'essais (\emph{Number of trials}).}
\end{center}
\end{figure}
\par
Les paramtres \emph{Delta} et \emph{Overlap} ncessitent donc que l'utilisateur ait une ide a priori de ce que seront les nuages aprs avoir
t aligns.
\\
\par
La figure \ref{fig:alignExample} prsente le rsultat obtenu en alignant deux scans d'une peluche relevs sous deux angles sensiblement
diffrents. En thorie, la fonction \emph{Align} est capable de traiter des nuages avec des taux de recouvrement beaucoup plus faibles que ceux
prsents en exemple.
\\
\par
Les alignement calculs via cette fonctionnalit dpendent grandement de la configuration des nuages traiter. En effet, leur gomtrie
ainsi que le degr de ressemblance les rendent plus ou moins facilement comparables. De ce fait, il se peut que les rsultats fournis dans
certains cas semblent relativement mauvais. Dans ces situations, vous pouvez alors utiliser la fonction de recalage fin dcrite en
section~\ref{subsection:register}. Il est mme conseill, de manire gnrale, d'avoir recours au recalage fin aprs utilisation de cette
fonctionnalit.
\\
\par
\textcolor[rgb]{1.0,0.0,0.0}{Cette fonction cre une copie du nuage \emph{Data} align sur le nuage \emph{Model}.
Il n'est donc pas ncessaire de cloner les nuages avant, puisqu'ils ne sont pas modifis directement.}
|