78 votes

algorithme robuste pour la reconstruction de surface à partir d'un nuage de points 3D?

J'essaie de comprendre quels sont les algorithmes permettant de reconstituer la surface à partir de données de distance 3D. À première vue, il semble que l’ algorithme de pivotement du ballon (BPA) et la reconstruction de surface de Poisson soient les méthodes les plus établies.

  • Quel est l'algorithme établi, le plus robuste sur le terrain?
  • Publications de recherche recommandées?
  • Le code source est-il disponible?

111voto

Zoli Points 856

J'ai été confronté à ce dilemme depuis quelques mois maintenant, et faites une recherche exhaustive.

Les algorithmes de

Principalement, il existe 2 catégories d'algorithmes: calcul de la géométrie, et de surfaces implicites.

Le Calcul De La Géométrie

Ils répondent à la maille sur les points existants.

Probablement le plus célèbre algorithme de ce groupe est powercrust, parce qu'il est en théorie bien établie - il des garanties étanches maillage.

Boule Pivotante brevetée par IBM. Aussi, il n'est pas adapté pour pointclouds, avec des variations de densité de points.

Fonctions implicites

On s'inscrit fonctions implicites sur la pointcloud, puis utilise un marching-cube-comme algorithme pour extraire le zéro de la fonction dans une maille.

Les méthodes de cette catégorie diffèrent principalement par les différentes fonctions implicites utilisés.

Poisson, Hoppe est, et MPU sont les plus célèbres algorithmes dans cette catégorie. Si vous êtes nouveau sur le sujet, je vous recommande de lire Hoppe de la thèse, il est très explicatif.

Les algorithmes de cette catégorie peuvent généralement être mis en œuvre de sorte qu'ils sont en mesure de traiter d'énormes entrées de manière très efficace, et on peut l'échelle de leur qualité<->vitesse de compromis. Ils ne sont pas dérangés par le bruit, en variant le point de densité de trous. Un inconvénient est qu'ils nécessitent systématiquement orientés vers les normales de la surface à l'entrée des points.

Implémentations

Vous trouverez un petit nombre d'implémentations libres. Cependant, il dépend de savoir si Vous allez l'intégrer dans un logiciel libre (dans ce cas la licence GPL est acceptable pour Vous) ou dans un logiciel commercial (dans ce cas, Vous avez besoin d'un plus libérale de licence). Ce dernier est très rare.

On est dans VTK. Je la soupçonne d'être difficile à intégrer (aucune documentation n'est disponible pour libre), il a une étrange compliqué architecture, et n'est pas conçu pour des applications de haute performance. Comporte également certaines limites pour le permis d'entrée pointclouds.

Jetez un oeil à ce Poisson de mise en œuvre, et après que partager votre expérience avec moi s'il vous plaît.

Aussi: ici sont quelques algorithmes de haute performance, avec reconstruction de la surface d'entre eux.

CGAL est une célèbre librairie 3d, mais il est gratuit uniquement pour les projets libres. Meshlab est un célèbre application avec la GPL.

Aussi (Ajouté Août 2013): La bibliothèque PCL a un module dédié à la reconstruction de la surface et est en cours de développement (et qui fait partie de Google Summer of Code). Le module de surface contient un certain nombre de différents algorithmes pour la reconstruction. PCL aussi a la capacité d'estimer les normales de la surface, au cas où vous ne les avez pas fourni avec votre point de données, cette fonctionnalité peut être trouvé dans les fonctionnalités du module. PCL est publié sous les termes de la licence BSD et est un logiciel open source, il est gratuit pour un usage commercial et à usage de recherche.

14voto

ALoopingIcon Points 361

Si vous voulez faire des expériences avec divers surface des algorithmes de reconstruction, vous devriez essayer de MeshLab, le maillage système de traitement, il est open source et il contient des implémentations de nombreuses cités précédemment surface des algorithmes de reconstruction, comme:

  • Poisson De Surface Recon
  • un couple de MLS approche fondée sur les
  • une boule de pivotement de la mise en œuvre
  • une variante de la Curless volume de l'approche fondée sur les
  • Delaunay à base de techniques (Alpha de formes et de Voronoi de filtrage).
  • outils pour le calcul des normales de éparpillés point fixe
  • et de nombreux autres outils de comparaison mesure//nettoyage/simplification de l'résultant de mailles.

Les Sources sont protégées par la licence GPL, de sorte que vous ne pouvait pas les utiliser à des fins commerciales fermé source du projet, mais il est très important pour obtenir une bonne impression sur les propriétés des différents de la surface des algorithmes de reconstruction (degré de sensibilité au bruit qu'ils sont, la vitesse, la robustesse des valeurs aberrantes, comment ils préservent la finesse des détails, etc, etc) avant de commencer à mettre en œuvre l'un d'eux.

5voto

Paul Lalonde Points 21

Vous pouvez commencer à regarder des travaux récents sur le terrain - actuellement quelque chose comme une reconstruction MLS rapide en streaming à faible mémoire avec des surfaces échantillonnées par Gianmauro Cuccuru, Enrico Gobbetti, Fabio Marton, Renato Pajarola et Ruggero Pintus. Ses citations peuvent vous aider à parcourir la littérature assez rapidement.

4voto

Fredriku73 Points 906

Bien que ce ne soit pas une représentation de maillage, un ancien collègue m'a recommandé ce lien vers le code source d'une méthode Spline Plate Spline:

Lien

Quelqu'un a essayé?

3voto

unwind Points 181987

Je ne suis pas sûr que cela convienne parfaitement à votre cas, car il semble étrange que vous l'ayez omis, mais les cubes de défilement sont souvent mentionnés dans de tels cas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X