icp.tex 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. \documentclass[a4paper,12pt]{article}
  2. \usepackage[french]{babel}
  3. \usepackage[T1]{fontenc}
  4. \usepackage[latin1]{inputenc}
  5. %\usepackage{amsmath}
  6. \author{Rémi Synave, Stefka Gueorguieva, Pascal Desbarats}
  7. \title{Manuel de la bibliothèque ICP}
  8. \date{}
  9. \begin{document}
  10. \maketitle
  11. \section{Utilisation}
  12. Les différentes variantes de l'ICP (Iterative Closest Point \cite{BK1992}) sont implémentées dans cette biliothèque.\\
  13. \section{Fonctions}
  14. \textbullet \texttt{void vf\_model\_trimmed\_icp(vf\_model *P, vf\_model *X,double recouvrement, double dkarret)}\\
  15. Trimmed Icp est une variante de l'ICP\cite{BK1992} introduit par Chetverikov \cite{CSK2002}. Pour fonctionner, la fonction a besoin d'un taux de recouvrement qui pourra être calculé avec l'une des fonctions de la bibliothèque \texttt{OVERLAP.SO}.\\
  16. \textbf{Algorithme :}\\
  17. 1)Mettre en correspondance tous les sommets de \texttt{P} avec le sommet le plus proche, suivant la distance euclidienne, de \texttt{X}.\\
  18. 2)Trier les couples par ordre croissant de distance et ne garder que le pourcentage correspondant au taux de recouvrement passé en paramètre.\\
  19. 3)Calcul de la transformation rigide (translation et rotation) minimisant l'erreur des moindres carrés (somme des distances au carré) sur les couples selectionnés : la méthode utilisée pour calculer la transformation rigide est celle des quaternions unités \cite{H1987,ELF1997}. Application de la transformation au modèle \texttt{P}.\\
  20. 4)Calcul de l'erreur des moindres carrés entre les deux modèles et réitération si le critère d'arrêt n'est pas satisfait.\\
  21. ~\\
  22. \underline{Paramètres et type de retour :}\\
  23. \texttt{P} : Modèle servant de base au recalage.\\
  24. \texttt{X} : Modèle à recaler.\\
  25. \texttt{recouvrement} : taux de recouvrement entre les deux modèles.\\
  26. \texttt{dkarret} : critère d'arret. L'algorithme s'arrete si l'erreur moyenne est inférieur à dkarret.\\
  27. \texttt{retour} : aucun.\\
  28. \textbullet \texttt{void vf\_model\_icp\_bb(vf\_model *P, vf\_model *X, double dkarret)}\\
  29. Variante de l'ICP. Application de l'algorithme ICP sur les sommets appartenant aux faces s'intersectant.\\
  30. \textbf{Algorithme :}\\
  31. 1)Trouver les faces du modèle \texttt{P} et \texttt{X} s'intersectant.
  32. 2)Extraire les sommets de ces deux listes de faces.
  33. 3)Mettre en correspondance tous les sommets trouvés de \texttt{P} avec le sommet le plus proche, suivant la distance euclidienne, de la liste de sommets de \texttt{X}.\\
  34. 4)Calcul de la transformation rigide (translation et rotation) minimisant l'erreur des moindres carrés (somme des distances au carré) : la méthode utilisée pour calculer la transformation rigide est celle des quaternions unités \cite{H1987,ELF1997}. Application de la transformation au modèle \texttt{P}.\\
  35. 5)Calcul de l'erreur des moindres carrés entre les deux modèles et réitération si le critère d'arrêt n'est pas satisfait.\\
  36. ~\\
  37. \underline{Paramètres et type de retour :}\\
  38. \texttt{P} : Modèle servant de base au recalage.\\
  39. \texttt{X} : Modèle à recaler.\\
  40. \texttt{dkarret} : critère d'arret. L'algorithme s'arrete si l'erreur moyenne est inférieur à dkarret.\\
  41. \texttt{retour} : aucun.\\
  42. \bibliographystyle{unsrt}
  43. \bibliography{manuel}
  44. \end{document}