Mve: Anblick für dichten Punkt

Erstellt am 22. Apr. 2016  ·  8Kommentare  ·  Quelle: simonfuhrmann/mve

Ein weiteres dichtes Punktfilterschema basiert auf Sichtweite, d. h. es verwendet die Sichtweite jedes Punktes auf die zugehörige Kamera und zeigt ebenfalls ein hervorragendes Ergebnis. Aber ich habe diese Informationen nicht in der Ausgabepunktwolke von mve gesehen. Wird dies berücksichtigt und könnte das neue System zusammengeführt werden?

PS: Mehr verwendete Informationen implizieren mehr Potenzial für bessere Ergebnisse~

Referenz:
https://github.com/cdcseacave/openMVS

Vu HH, Labatut P, ​​Pons JP, et al. Hohe Genauigkeit und Sichtbarkeit – konsistentes, dichtes Multiview-Stereo[J]. Musteranalyse und maschinelle Intelligenz, IEEE Transactions on, 2012, 34(5): 889-901.

https://www.acute3d.com/

Hilfreichster Kommentar

Soweit ich weiß, sind die Unterschiede zwischen den Ansätzen gravierend.

1) Das Oberflächennetz wird aus der halbdünnen Punktwolke erstellt, während MVE (FSSR) es auf den ultradichten Punkten erstellt
2) Das eigentliche MVS wird auf dem Netz selbst mit Optimierung durchgeführt, während es in MVE unter Verwendung von Tiefenkarten erfolgt

Der erste Schritt erfordert die Tetraederisierung in einer globalen Optimierung, wie Pierre erwähnte. Die Tetraederisierung selbst ist sehr unangenehm, nicht einmal die Rede davon, eine Optimierung zur Bestimmung der Konnektivität einzubeziehen. Mir scheinen die Ansätze so unterschiedlich zu sein, dass ich gar nicht daran denken möchte, sie zu heiraten.

Und nun ja, sogar Open-Source-Code kann hässlich sein. Tatsächlich ist es der einzige Code, der hässlich sein kann, weil Sie die nahe Quelle nicht sehen können. ;-)

Alle 8 Kommentare

Die Arbeit, auf die verwiesen wird, verwendet eine grundlegend andere Rekonstruktionstechnik als MVE. Diese Arbeit ist mir bekannt. Die Sichtlinieninformationen werden hauptsächlich zur Oberflächenoptimierung verwendet, aber MVE führt in keiner Phase der Pipeline (außer natürlich BA) eine globale Optimierung durch. Ich bezweifle, dass diese Technik in MVE integriert wird oder werden kann. Ich weiß zumindest nicht wie.

Meines Wissens umfassen beide Techniken vier Phasen:

1 dichte Punktwolkenerzeugung durch Verschmelzen der Tiefenkarte in jeder Ansicht
2 Oberflächen-/Mesh-Rekonstruktion (Punktwolke -> Dreiecksflächen)
3 Oberflächen-/Mesh-Optimierung (global oder lokal)
4 Texturierung

Der Hauptunterschied zwischen zwei Techniken ist die Oberflächenrekonstruktion, fssr für mve, Flächenauswahl (Delaunay-Triangulation + st-Schnitt) für ihre Arbeit. Die Sichtlinie spielt für die Oberflächenrekonstruktion nicht nur für die Oberflächenoptimierung bei ihrer Arbeit eine wichtige Rolle. Das Ergebnis der fssr-Trends ist glatt, während die auf der Flächenauswahl basierende Methode die scharfe Kante beibehalten kann.

Meiner Meinung nach sollte die Sichtlinie optional nach der ersten Stufe exportiert werden, dann könnte die neue Oberflächenrekonstruktionsstufe entwickelt werden, zuletzt die gleiche Texturierung.

https://github.com/cdcseacave/openMVS/wiki/Modules

Eine zusätzliche Schwierigkeit besteht darin, dass es keine zulässige lizenzierte Delaunay- Tetraederisierungsbibliothek gibt.
http://doc.cgal.org/latest/Triangulation_3/index.html#Chapter_3D_Triangulations => GPL
http://wias-berlin.de/software/tetgen/ => AGPL
Beachten Sie, dass MVE eine freizügige Lizenz verwendet.

cgal ist das, was openmvs verwendet hat, das openmvs versucht, das Gesichtsauswahlschema zu implementieren, aber ihr Code ist sehr, sehr hässlich~

Ich würde niemals sagen, dass ein Open-Source-Code hässlich ist, das ist nicht sehr freundlich zu den Autoren
Etwas als Open Source anzubieten und es von jedermann nutzbar zu machen, ist eine nette Sache.
PS: Sie sollten beachten, dass es da draußen keine andere "Sichtverbindung"-Open-Source-Implementierung gibt.
OpenMVS implementiert den Graph-Schnitt der Delaunay-Tetraeder-Triangulation auf generische Weise (ermöglicht die Verwendung verschiedener Graph-Cut-Algorithmen) und mit und ohne schwache Oberflächensichtbarkeit.

Soweit ich weiß, sind die Unterschiede zwischen den Ansätzen gravierend.

1) Das Oberflächennetz wird aus der halbdünnen Punktwolke erstellt, während MVE (FSSR) es auf den ultradichten Punkten erstellt
2) Das eigentliche MVS wird auf dem Netz selbst mit Optimierung durchgeführt, während es in MVE unter Verwendung von Tiefenkarten erfolgt

Der erste Schritt erfordert die Tetraederisierung in einer globalen Optimierung, wie Pierre erwähnte. Die Tetraederisierung selbst ist sehr unangenehm, nicht einmal die Rede davon, eine Optimierung zur Bestimmung der Konnektivität einzubeziehen. Mir scheinen die Ansätze so unterschiedlich zu sein, dass ich gar nicht daran denken möchte, sie zu heiraten.

Und nun ja, sogar Open-Source-Code kann hässlich sein. Tatsächlich ist es der einzige Code, der hässlich sein kann, weil Sie die nahe Quelle nicht sehen können. ;-)

Ja, meine Schuld, das Opensource sollte respektiert werden. Nur weil ich einige Zeit damit verbracht habe, es zu studieren und fand, dass es ein bisschen schwer zu verstehen und fehlerhaft ist, was nicht so elegant ist wie MVE, trotzdem danke ~

Ich habe ziemlich viel mit Theia und OpenMVS gespielt. @daleydeng Ich würde zustimmen, dass es einige Fehler in OpenMVS gibt, die Ihren Rekonstruktionsprozess vollständig blockieren und ein Debugging erfordern.

Ich habe festgestellt, dass OpenMVS ziemlich gute Modelle erzeugt, wenn der Verdichtungsprozess übersprungen und direkt zur Rekonstruktion der spärlichen Eingabe und dann zur Verfeinerung übergegangen wird. Ich würde WIRKLICH gerne die CUDA-Implementierung von Refine zum Laufen bringen, hatte aber Verknüpfungsprobleme, die ich noch nicht lösen konnte. Dieser Prozess ist ziemlich schnell, da die spärliche Wolke deutlich weniger Punkte enthält und im Allgemeinen zu einem endgültigen Netz führt, das auch eine tolerierbare Polygonzahl hat.

Das Ausführen von Densify+Reconstruct+Refine dauert VIEL länger und erzeugt ein sehr großes Netz. Die Qualität ist jedoch besser, wenn Bereiche ausgefüllt werden, die von Sparse nicht abgedeckt werden.

Die Texturierung ist auch sehr gut, und ich schätze, dass OpenMVS ein komplettes Paket anbietet und Open Source ist.

Ich interessiere mich jetzt für MVE und freue mich darauf, mehr zu lernen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

HelliceSaouli picture HelliceSaouli  ·  14Kommentare

MaxDidIt picture MaxDidIt  ·  30Kommentare

GustavoCamargoRL picture GustavoCamargoRL  ·  13Kommentare

HelliceSaouli picture HelliceSaouli  ·  12Kommentare

Jus80687 picture Jus80687  ·  11Kommentare