Frage

Ich versuche, herauszufinden, was Algorithmen gibt es von Entfernungsdaten 3D-Oberflächenrekonstruktion zu tun. Auf den ersten Blick scheint es, dass die Kugelschwenk Algorithmus ( BPA ) und Poisson Oberflächenrekonstruktion sind die etablierten Methoden?

  • Was die etablierte, robuster Algorithmus in dem anderen Bereich als BPA und Poisson Oberfläche Rekonstruktionsalgorithmus werden?
  • Empfohlene Forschungspublikationen?
  • Sie haben verfügbare Quellcode?
War es hilfreich?

Lösung

Ich habe seit einigen Monaten dieses Dilemma wurde jetzt vor und machte erschöpfende Forschung.

Algorithmen

Vor allem gibt es zwei Kategorien von Algorithmen. Algorithmische Geometrie und auch implizite Oberflächen

Algorithmische Geometrie

Sie passen das Netz auf den vorhandenen Punkten.

Der wohl berühmteste Algorithmus dieser Gruppe ist powercrust , weil es theoretisch gut etabliert ist -. garantiert wasserdicht Mesh

Ball Verschwenkung wird von IBM patentiert. Auch ist es nicht geeignet für Punktwolken mit Punktdichte variiert.

Implizite Funktionen

Eine impliziten Funktionen auf der Punktwolke paßt, dann verwendet einen Aufmarsch quaderförmigen Algorithmus den Nullsatz der Funktion in ein Netz zu extrahieren.

Methoden in dieser Kategorie unterscheiden sich hauptsächlich durch die verschiedenen impliziten Funktionen verwendet.

Poisson , Hoppe und MPU sind die bekanntesten Algorithmen in dieser Kategorie. Wenn Sie mit dem Thema vertraut sind, empfehle ich Hoppe Arbeit zu lesen, ist es sehr erklärend.

Die Algorithmen dieser Kategorie können in der Regel umgesetzt werden, so dass sie große Eingänge sehr effizient zu verarbeiten, sind in der Lage, und man kann ihre Qualität skalieren <-> Geschwindigkeit trade-off. Sie werden nicht durch Lärm, variierende Punktdichte, Löcher gestört. Ein Nachteil ist, dass sie konsequent Flächennormalen an den Eingangspunkten orientiert erfordern.

Realisierungen

Sie werden kleine Anzahl von freien Implementierungen finden. Allerdings hängt es davon ab, ob Sie werden es in freie Software zu integrieren (in diesem Fall GPL-Lizenz für Sie akzeptabel ist) oder in eine kommerzielle Software (in diesem Fall benötigen Sie eine liberalere Lizenz). Letzteres ist sehr selten.

Eine davon ist in VTK . Ich vermute, dass es schwierig zu sein, zu integrieren (keine Dokumentation kostenlos zur Verfügung steht), hat es eine seltsame, zu komplizierte Architektur und ist nicht für Hochleistungsanwendungen. Auch hat einige Einschränkungen für die erlaubten Eingabepunktwolken.

Hier finden Sie aktuelle diese Poisson Implementierung und nach der Freigabe Ihre Erfahrungen darüber mit mir bitte.

Sie auch: hier sind ein paar High-Performance-Algorithmen, mit Oberflächenrekonstruktion unter ihnen.

CGAL ist eine berühmte 3D-Bibliothek, aber es ist für freie Projekte nur frei. Meshlab ist eine berühmte Anwendung mit GPL.

Auch (Added August 2013): Die Bibliothek PCL hat eine Modul gewidmet Rekonstruktion an der Oberfläche und ist in der aktiven Entwicklung (und einen Teil des Google Summer of Code ist). Das Oberflächenmodul enthält eine Anzahl von verschiedenen Algorithmen für die Rekonstruktion. PCL auch die Fähigkeit Flächennormalen zu schätzen hat, sofern Sie haben sie nicht zur Verfügung gestellt mit Ihrem Punktdaten, kann diese Funktionalität in den Merkmalen Modul . PCL ist unter den Bedingungen der BSD-Lizenz veröffentlicht und ist Open-Source-Software, ist es frei für die kommerzielle und Forschungszwecke.

Andere Tipps

Wenn Sie einige direkte Experimente mit verschiedenen Oberflächenrekonstruktionsalgorithmen machen Sie sollten versuchen, MeshLab , das Netz-Verarbeitungssystem ist es Open Source und es enthält Implementierungen von vielen der zuvor Algorithmen Oberflächenrekonstruktion zitiert, wie:

  • Poisson Oberfläche Recon
  • ein paar MLS basierten Ansatz,
  • eine Kugel Schwenk Implementierung
  • eine Variante des Curless volumenbasierten Ansatz
  • Delaunay basierte Techniken (Alpha Formen und Voronoi Filterung)
  • Werkzeuge für die Normalen von Streupunktmengen Berechnung
  • und viele andere Tools für den Vergleich / Mess- / Reinigung / Vereinfachung der resultierenden Maschen.

Die Quellen werden von GPL geschützt, so dass man konnte sich nicht in einem kommerziellen Closed-Source-Projekt verwenden, aber es ist sehr wichtig, die richtige Gefühl über die Eigenschaften der verschiedenen Oberflächenrekonstruktionsalgorithmen (wie lärmempfindlich sind sie zu bekommen, das Geschwindigkeit, die Robustheit gegenüber Ausreißern, wie sie vor dem Start feine Details etc etc) erhalten eine von ihnen zu implementieren.

Das könnte dir beginnen bei einigen neueren Arbeiten auf dem Gebiet suchen - derzeit so etwas wie Fast Low-Memory-Streaming MLS Rekonstruktion von Punkt-abgetastete Oberflächen von Gianmauro Cuccuru, Enrico Gobbetti, Fabio Marton, Renato Pajarola und Ruggero Pintus. Seine Zitate können Sie durch die Literatur erhalten wird ziemlich schnell.

Während nicht eine Gitterdarstellung, ein Ex-Kollege empfahl mir diesen Link In dem Quellcode für eine Thin Plate Spline-Methode:

Link-

Jeder versucht?

Nicht sicher, ob es genau das Richtige für Ihren Fall ist, da es seltsam scheint, dass Sie ausgelassen, aber Marsch Würfel häufig in solchen Fällen erwähnt wird.

Hier auf GitHub, ist ein Open-Source- Mesh Processing Library in C ++ von Dr. Hugues Hoppe , bei dem die Oberflächenwiederaufbauprogramm Recon ist eine gute Wahl für Ihr Problem ...

Es gibt 3D Delaunay-Tool von Geometric Werkzeuge . Dieses Tool wird DirecX und OpenGL verwendet. Leider kann man ein Buch kaufen muß tatsächlichen Beispiel-Code der Bibliothek zu sehen. Sie lesen noch den Code und herauszufinden.

Matlab führte auch eine Oberflächenrekonstruktion Tool Delaunay, Delaunay-Triangulation Klasse .

Als ich dieses Problem auch hatte, habe ich entwickeln und meine eigene Punktwolke Kruste Algorithmus zu implementieren. https://github.com/ricebean: Die Quellen sowie die Dokumentation auf github.com finden -net / PointCloudCrust . Der Algorithmus ist in Java implementiert.

Vielleicht, dies kann Ihnen helfen. Sie können auch einen kurzen Python-Skript auf der Seite finden, das zeigt, wie die Bibliothek benutzen. Viel Spaß!

Sie könnten in Alpha Shapes .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top