Hallo
Gibt es in MVE eine einfache Möglichkeit, die Punktwolke von scene2pset in das Szenenkoordinatensystem zu transformieren?
Ich entwickle einen Tiefenkartenrekonstruktionsalgorithmus und füttere diese Karten mit MVE, um eine Punktwolke zu erstellen. Ich habe den Dino-Datensatz zum Testen der Rekonstruktion verwendet, ist in Ordnung, aber nicht in Szenenkoordinaten. Wenn ich Bounding Box arg mit scene2pset verwende, erhalte ich eine leere Ply-Datei. Andernfalls bekomme ich meine Punkte, was bedeutet, dass meine Wolke nicht in der Szenenkoordinate ist. Wie behebe ich das?
Hinweis: Auch wenn ich dmrecon verwendet habe, passiert dasselbe
Danke
Die scene2pset
-App exportiert die Punktwolke in das Szenenkoordinatensystem. Es werden keine Transformationen angewendet. Sie können dies überprüfen, indem Sie die Punktwolke und die Szene in UMVE auf der Registerkarte "Scene Inspect" laden.
Nein, ich glaube nicht. Ich habe UMVE im Moment nicht eingebaut, werde ich später überprüfen. aber das ist die Ausgabe von scene2pset.
Dies bedeutet, dass alle Punkte nicht in BB sind, also nicht in Szenenkoordinaten
Ihr Begrenzungsrahmen oder wie Sie den Begrenzungsrahmen angeben, muss falsch sein. scene2pset
gibt im Szenenkoordinatensystem aus, das ist eine Tatsache. UMVE hat auch einen Bounding Box Creator, der Ihnen helfen kann, die richtigen Parameter zu finden.
Der Begrenzungsrahmen ist nicht von mir. es ist eigentlich von Vision.Middelburry, und der Grund, warum ich das anspreche, ist, dass ich mein Ergebnis zur Bewertung an Middlebury geschickt habe und sie sagten, meine Punkte seien nicht in der richtigen Koordinate, und sie baten mich, eine Plausibilitätsprüfung mit ihrem Begrenzungsrahmen und dem durchzuführen Bild oben ist das Ergebnis.
Auch gemäß Ihrer Antwort zu Frage 358: "Alle Ergebnisse sind in dem von SfM vorgegebenen Koordinatensystem. Wenn Sie ein bestimmtes Szenenkoordinatensystem wünschen, müssen Sie es selbst transformieren." Die Punkte befinden sich nicht im Szenenkoordinatensystem
Führen Sie SfM auf den Middleburry-Datensätzen aus? Dadurch wird im Grunde ein willkürliches Szenenkoordinatensystem erstellt, das nichts mit dem zu tun hat, das Middleburry erwartet. Wenn Sie dies richtig tun möchten, müssen Sie Folgendes tun:
1) Verwenden Sie die intrinsischen und extrinsischen Eigenschaften der Kamera, wie im Middleburry-Datensatz angegeben, und verwenden Sie diese für die Ansichten, dh fügen Sie die Parameter in die meta.ini
-Dateien ein.
2) Erstellen Sie SfM-Funktionen, ohne SfM tatsächlich auszuführen. Das ist der knifflige Teil, weil Sie Merkmale erkennen, abgleichen, triangulieren und dann eine Optimierung ausführen möchten, die die Kameraparameter nicht ändert. Ich glaube nicht, dass wir im Moment Code für genau dieses Szenario haben.
3) Führen Sie Ihren Code in der resultierenden Szene aus, die sich im Kordinatsystem von Middleburry befindet.
oh ok, es ist komisch und ich verstehe die Logik dahinter nicht XD. Ich werde tun, was du gesagt hast, aber Schritt 2 wird schwer -__-
letzte Frage und ich gehe schlafen x'): wenn ich sfmrecon mit diesem 2 arg = true starte
wird es funktionieren?
Nein. Weil Sie auch die Extrinsik reparieren müssen. Und die Behebung der Extrinsik wird durch die Natur des inkrementellen SfM-Ansatzes nicht unterstützt.
Was ist an diesen Schritten komisch? Schritt 1 sollte ziemlich selbsterklärend sein, Sie müssen die von Middleburry bereitgestellten Parameter verwenden, da diese „Ground Truth“-Kameraparameter besser sind als das, was jedes SfM produzieren kann. Schritt 2 ist erforderlich, da unser MVS SfM-Punkte benötigt, um zu funktionieren. Wenn Sie einen MVS-Algorithmus haben, der keine SfM-Punkte erfordert, können Sie diesen Schritt wahrscheinlich auslassen.
Vielen Dank für alle Antworten, die Sie gegeben haben. es ist wirklich hilfreich.
Es sind nicht die Schritte, die seltsam sind. aber warum sfm-parameter weit von der grundwahrheit entfernt sind. und nein, ich kann den zweiten Schritt nicht auslassen, da meine Arbeit auf Ihrer Arbeit basiert, ein spezieller _dmrecon_, ich verwende auch Merkmale als Ausgangswert, um Tiefe und Normalen zu schätzen. Aus diesem Grund poste ich viele Probleme und stelle so viele Fragen ^__^
Die SfM-Rekonstruktion hat eine 7-dimensionale Mehrdeutigkeit, das heißt Position, Ausrichtung und Maßstab in Bezug auf das ursprüngliche Objekt der realen Welt. Diese Unklarheit wird in den ersten SfM-Schritten durch einige willkürliche Entscheidungen aufgelöst.
Die Rekonstruktion ist also nicht "weit weg", nur anders in Bezug auf diese Mehrdeutigkeit.
Ich habe ein einfaches Tool hinzugefügt, das tut, was Sie wollen. Bitte lesen Sie diese Seite.
https://github.com/simonfuhrmann/mve/wiki/Middlebury-Datensätze
Ich danke dir sehr ,
Hilfreichster Kommentar
Die SfM-Rekonstruktion hat eine 7-dimensionale Mehrdeutigkeit, das heißt Position, Ausrichtung und Maßstab in Bezug auf das ursprüngliche Objekt der realen Welt. Diese Unklarheit wird in den ersten SfM-Schritten durch einige willkürliche Entscheidungen aufgelöst.
Die Rekonstruktion ist also nicht "weit weg", nur anders in Bezug auf diese Mehrdeutigkeit.