Mve: Koordinatensystem der Szene

Erstellt am 27. Okt. 2017  ·  12Kommentare  ·  Quelle: simonfuhrmann/mve

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

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.

Alle 12 Kommentare

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.
screenshot from 2017-10-27 21 29 44

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

  1. args.add_option('0', "fixed-intrinsics", false, "Intrinsische Eigenschaften der Kamera nicht optimieren");

    1. args.add_option('0', "shared-intrinsics", false, "Intrinsics zwischen allen Kameras teilen");

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 ,

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

GustavoCamargoRL picture GustavoCamargoRL  ·  13Kommentare

Jus80687 picture Jus80687  ·  11Kommentare

daleydeng picture daleydeng  ·  8Kommentare

MaxDidIt picture MaxDidIt  ·  30Kommentare

HelliceSaouli picture HelliceSaouli  ·  14Kommentare